@font-face{font-family:Fraunces;src:url('./fraunces-medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{color-scheme:dark;--bg:#061617;--text:#eef7f4;--mint:#67efc1;--line:#466361}
html{overflow:clip}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:3vh}body.kiosk{cursor:none}[hidden]{display:none!important}
.display>*{min-width:0}
.display{min-height:100svh;padding:3vh 3.5vw;display:grid;grid-template-columns:minmax(0,1fr) 28%;grid-template-rows:auto auto 1fr auto auto;gap:2vh 3vw;position:relative;isolation:isolate;transform:translate(var(--shift-x,0px),var(--shift-y,0px))}
header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:2vw;border-bottom:1px solid var(--line);padding-bottom:1.3vh;font-size:2.6vh}.brand{display:flex;align-items:center;gap:1vw;font-family:Fraunces,Georgia,serif;font-size:3.5vh;white-space:nowrap}.brand img{width:4.5vh;height:4.5vh}.hotel{max-width:35%;font-size:2.6vh;text-align:center}.hotel img{max-height:5vh;max-width:100%;object-fit:contain}.place{display:flex;gap:1.5vw;white-space:nowrap}time{font-variant-numeric:tabular-nums}
p,h1,h2,figure{margin:0}.eyebrow{font-size:2.6vh;letter-spacing:.13em;font-weight:700;color:var(--mint);margin-bottom:1vh}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.03;letter-spacing:-.035em}h1{font-size:10vh}h1.compact{font-size:8.2vh}h1 span{display:block;white-space:nowrap}h1.single span{white-space:normal;text-wrap:balance}.verdict{grid-column:1;padding-top:1vh}.regional{font-size:3vh;margin-top:1.3vh}.regional strong{color:var(--mint);font-weight:600}.verdict>p:last-child:not(.eyebrow){margin-top:1vh}.spot{grid-column:1;align-self:center;border-top:1px solid var(--line);padding-top:1.6vh}.spot:has(> :not([hidden])){min-height:0}.spot:not(:has(> :not([hidden]))){border:0}.spot h2{font-size:5.5vh;text-wrap:balance}.spot>p:not(.eyebrow){font-size:3vh;line-height:1.25;margin-top:.7vh}.spot .spot-rating{color:var(--mint);font-size:4vh}.conditions{grid-column:1;display:grid;grid-template-columns:1fr 1fr 1.65fr;gap:1.5vw;border-top:1px solid var(--line);padding-top:1.5vh;align-items:center}.conditions>strong{font-size:4vh;font-weight:500;line-height:1.1}.activity-label{font-size:2.2vh;display:block;margin-bottom:.8vh}#activity-scale{display:flex;gap:.7vw;justify-content:space-between}#activity-scale span{font-size:2.2vh;line-height:1.2;border-top:3px solid var(--line);padding-top:.6vh}.lit{color:var(--mint);border-color:var(--mint)!important;font-weight:700}
.app-plug{grid-column:2;grid-row:2/5;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:3vh;border-left:1px solid var(--line);padding-left:3vw}.app-plug h2{font-size:5.5vh;line-height:1.07}.app-copy p{font-size:3vh;line-height:1.3;margin-top:2vh}.app-copy .short-url{font-size:2.6vh}.app-plug figure{width:100%}.app-plug figure img{display:block;width:24vh;height:24vh;background:#fff;max-width:100%;object-fit:contain}.app-plug figcaption{font-size:2.6vh;line-height:1.25;margin-top:1.5vh;max-width:20ch}
footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:1vw;font-size:2.2vh;line-height:1.2;border-top:1px solid var(--line);padding-top:1.5vh}.display.changing .verdict,.display.changing .spot,.display.changing .conditions{opacity:0}.verdict,.spot,.conditions{transition:opacity 300ms ease}.no-script{position:fixed;bottom:0;background:var(--bg);padding:2vh;font-size:3vh}.demo-label{position:fixed;top:0;left:0;background:#6c301b;color:#fff;font-size:2.2vh;z-index:2}
/* A portrait composition, not a squeezed landscape layout. */
 body[data-layout=portrait] .display{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr auto;padding:1.8vh 5vw;gap:.7vh}
 body[data-layout=portrait] header{font-size:2.2vh;gap:2vw}
 body[data-layout=portrait] .brand{font-size:2.8vh;gap:1vw}body[data-layout=portrait] .brand img{width:3.2vh;height:3.2vh}
 body[data-layout=portrait] .hotel{font-size:2.2vh;max-width:30%}body[data-layout=portrait] .place{font-size:2.2vh;gap:2vw;text-align:right}
 body[data-layout=portrait] h1{font-size:5.2vh}body[data-layout=portrait] h1.compact{font-size:3.85vh}
 body[data-layout=portrait] .eyebrow{font-size:2.2vh}body[data-layout=portrait] .regional{font-size:2.4vh}
 body[data-layout=portrait] #support{font-size:2.2vh}
 body[data-layout=portrait] .spot h2{font-size:3.5vh}body[data-layout=portrait] .spot>p:not(.eyebrow){font-size:2.2vh}body[data-layout=portrait] .spot .spot-rating{font-size:2.6vh}
 body[data-layout=portrait] .conditions{grid-template-columns:1fr 1fr;gap:1vh}body[data-layout=portrait] .conditions>strong{font-size:3.3vh}body[data-layout=portrait] .activity{grid-column:1/-1;display:flex;gap:2vw;align-items:center}body[data-layout=portrait] .activity-label{margin:0;font-size:2.2vh}body[data-layout=portrait] #activity-scale{flex:1}
 body[data-layout=portrait] .app-plug{grid-column:1;grid-row:5;display:grid;grid-template-columns:minmax(0,1fr) 24vh;gap:3vw;border-left:0;border-top:1px solid var(--line);padding:2vh 0 0;align-items:center;align-self:stretch}
 body[data-layout=portrait] .app-plug h2{font-size:3.8vh}body[data-layout=portrait] .app-copy p{font-size:2.2vh;margin-top:1.5vh}body[data-layout=portrait] .app-copy .short-url{font-size:2.2vh;overflow-wrap:anywhere}body[data-layout=portrait] .app-plug figcaption{font-size:2.2vh;margin-top:1vh}
 body[data-layout=portrait] footer{flex-wrap:wrap;gap:.6vh 2vw;font-size:2.2vh}body[data-layout=portrait] footer time{flex-basis:100%}
@media(prefers-reduced-motion:reduce){.verdict,.spot,.conditions{transition:none}}
