@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/anton-400.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/barlow-400.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/barlow-500.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/barlow-600.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/barlow-condensed-500.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/barlow-condensed-600.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/barlow-condensed-700.woff2') format('woff2')}
@font-face{font-family:'Yellowtail';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/yellowtail-400.woff2') format('woff2')}

:root{
  --ink:#0d0720; --night:#140b3a; --violet:#4a1d7a; --pink:#ff3d8b; --coral:#ff6a5c; --orange:#ff9a3d;
  --sun:#ffd27a; --teal:#2fd6c9; --gold:#d9b45a; --paper:#fff5e6; --mute:#c9b8de;
  --display:'Anton','Arial Narrow',Impact,sans-serif; --cond:'Barlow Condensed','Arial Narrow',sans-serif; --body:'Barlow',system-ui,sans-serif;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px); --safe-l:env(safe-area-inset-left,0px); --safe-r:env(safe-area-inset-right,0px);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--night);color:var(--paper);font-family:var(--body);font-size:17px;line-height:1.55;overflow:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.skip{position:fixed;left:12px;top:-60px;z-index:99;background:var(--sun);color:var(--ink);padding:10px 14px;font-weight:600}
.skip:focus{top:12px}
[hidden]{display:none!important}

/* ---------- cena ---------- */
#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline-offset:-4px}
#scene.grabbing{cursor:grabbing}
#scene.hot{cursor:pointer}
#fx-grain,#fx-vignette,#fx-flash{position:fixed;inset:0;pointer-events:none}
#fx-grain{z-index:2;opacity:.11;mix-blend-mode:overlay;background-size:220px 220px;animation:grain .9s steps(6) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-60px 40px}40%{background-position:90px -30px}60%{background-position:-20px -80px}80%{background-position:50px 70px}100%{background-position:0 0}}
#fx-vignette{z-index:2;background:radial-gradient(120% 90% at 50% 46%,transparent 52%,rgba(13,7,32,.62) 100%)}
#fx-flash{z-index:6;background:#fff;opacity:0}
#fx-flash.go{animation:flash .5s ease-out}
@keyframes flash{0%{opacity:.95}100%{opacity:0}}
.bars i{position:fixed;left:0;right:0;height:0;background:#05020c;z-index:5;transition:height .9s cubic-bezier(.7,0,.2,1)}
.bars i:first-child{top:0}.bars i:last-child{bottom:0}
body.cine .bars i{height:11vh}

/* ---------- HUD ---------- */
.hud{position:fixed;z-index:4;transition:opacity .5s,transform .5s}
body.is-loading .hud,body.cine .hud,body.in-view .hud{opacity:0;pointer-events:none}
#hud-top{top:calc(14px + var(--safe-t));left:calc(18px + var(--safe-l));right:calc(18px + var(--safe-r));display:flex;align-items:center;gap:14px}
.hud-logo{height:54px;width:auto;filter:drop-shadow(0 2px 10px rgba(13,7,32,.7))}
#hud-top nav{margin-left:auto;display:flex;gap:8px;align-items:center}
#hud-top nav button,#hud-top nav a{font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 16px;background:rgba(13,7,32,.72);border:1px solid rgba(255,245,230,.22);transform:skewX(-9deg);transition:background .2s,color .2s,border-color .2s}
#hud-top nav button:hover,#hud-top nav a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
#hud-top nav .cta{background:var(--pink);border-color:var(--pink);color:#fff}
#hud-top nav .cta:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;font-family:var(--cond);font-weight:700;font-size:24px;line-height:1;background:rgba(13,7,32,.72);border:1px solid rgba(255,245,230,.22);transition:background .2s,color .2s}
.icon-btn:hover{background:var(--paper);color:var(--ink)}
#btn-sound[aria-pressed="false"] span{opacity:.35;text-decoration:line-through}

#hud-road{top:calc(92px + var(--safe-t));left:calc(18px + var(--safe-l));max-width:300px;padding:12px 14px 10px;background:linear-gradient(90deg,rgba(13,7,32,.78),rgba(13,7,32,.35) 80%,transparent);border-left:3px solid var(--pink)}
.hud-kicker{margin:0 0 4px;font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--sun)}
#road-list{margin:0;padding:0;list-style:none;counter-reset:r}
#road-list li{counter-increment:r}
#road-list button{display:flex;gap:9px;align-items:baseline;text-align:left;font-family:var(--cond);font-weight:600;font-size:17px;line-height:1.25;padding:3px 0;color:var(--paper)}
#road-list button::before{content:counter(r,decimal-leading-zero);font-family:var(--display);font-size:14px;color:var(--pink);min-width:20px}
#road-list button:hover{color:var(--sun)}
#road-list li.done button{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--teal)}
#road-list li.done button::before{content:'✓';color:var(--teal)}

#hud-map{left:calc(18px + var(--safe-l));bottom:calc(18px + var(--safe-b));width:min(300px,56vw)}
.map-road{position:relative;height:34px;background:rgba(13,7,32,.78);border:1px solid rgba(255,245,230,.22);overflow:hidden}
.map-road::before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,rgba(255,210,122,.75) 0 8px,transparent 8px 16px)}
#map-win{position:absolute;top:0;bottom:0;border:2px solid var(--paper);background:rgba(255,245,230,.12);left:0;width:20%}
.blip{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;display:grid;place-items:center}
.blip::after{content:'';width:12px;height:12px;transform:rotate(45deg);background:var(--pink);box-shadow:0 0 10px var(--pink);animation:blip 1.6s ease-in-out infinite}
.b-sobre::after{background:var(--teal);box-shadow:0 0 10px var(--teal)}
.b-contato::after{background:var(--sun);box-shadow:0 0 10px var(--sun)}
@keyframes blip{50%{transform:rotate(45deg) scale(1.35)}}
#map-loc{margin:6px 0 0;font-family:var(--cond);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 6px rgba(13,7,32,.9)}

#hud-zoom{right:calc(18px + var(--safe-r));bottom:calc(18px + var(--safe-b));display:flex;flex-direction:column;gap:6px}
#hud-hint{left:50%;bottom:calc(22px + var(--safe-b));transform:translateX(-50%);margin:0;padding:8px 16px;max-width:min(560px,calc(100vw - 420px));text-align:center;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.06em;background:rgba(13,7,32,.72);opacity:0}
#hud-hint.on{opacity:1}
#toast{position:fixed;z-index:4;left:50%;top:calc(96px + var(--safe-t));transform:translate(-50%,-12px);margin:0;padding:9px 18px;font-family:var(--cond);font-weight:700;font-size:18px;letter-spacing:.08em;text-transform:uppercase;background:var(--sun);color:var(--ink);opacity:0;transition:opacity .35s,transform .35s;pointer-events:none;white-space:nowrap}
#toast.on{opacity:1;transform:translate(-50%,0)}

#title-card{position:fixed;z-index:5;left:calc(6vw + var(--safe-l));bottom:16vh;opacity:0;transform:translateY(14px);transition:opacity 1s,transform 1s;pointer-events:none}
#title-card.on{opacity:1;transform:none}
.tc-place{margin:0;font-family:var(--display);font-size:clamp(54px,9vw,128px);line-height:.95;text-transform:uppercase;color:var(--paper);text-shadow:4px 4px 0 var(--pink),0 0 40px rgba(13,7,32,.5)}
.tc-sub{margin:8px 0 0;font-family:var(--cond);font-weight:600;font-size:clamp(16px,2vw,24px);letter-spacing:.26em;text-transform:uppercase;color:var(--sun)}

/* ---------- abertura ---------- */
#intro{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:linear-gradient(180deg,#140b3a 0%,#4a1d7a 38%,#b0307f 66%,#ff6a5c 86%,#ffb05c 100%);transition:opacity .9s,visibility .9s}
#intro.gone{opacity:0;visibility:hidden}
.intro-art{position:absolute;inset:0;overflow:hidden}
.intro-art::before{content:'';position:absolute;left:50%;bottom:-18vmin;width:86vmin;height:86vmin;margin-left:-43vmin;border-radius:50%;background:radial-gradient(circle,#ff9a52 0%,#ff7a59 30%,rgba(255,95,109,.5) 56%,transparent 72%)}
.intro-art::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24vh;background:linear-gradient(180deg,transparent,rgba(13,7,32,.9));clip-path:polygon(0 62%,6% 40%,9% 40%,9% 22%,14% 22%,14% 48%,22% 48%,22% 12%,27% 12%,27% 56%,36% 56%,36% 30%,41% 30%,41% 60%,52% 60%,52% 18%,56% 18%,56% 44%,64% 44%,64% 28%,70% 28%,70% 58%,80% 58%,80% 8%,84% 8%,84% 50%,92% 50%,92% 34%,100% 34%,100% 100%,0 100%);background-color:#1a0c36}
.intro-box{position:relative;width:min(560px,88vw);text-align:center;padding:10px 0 4vh}
.intro-box img{width:min(220px,48vw);height:auto;filter:drop-shadow(0 4px 18px rgba(13,7,32,.6))}
.intro-kicker{margin:2px 0 6px;font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.42em;text-transform:uppercase;color:var(--sun)}
#intro h1{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(64px,13vw,150px);line-height:.92;text-transform:uppercase;text-shadow:5px 5px 0 var(--pink),10px 10px 0 rgba(13,7,32,.55)}
.intro-lead{margin:22px auto 22px;max-width:30em;font-weight:500;font-size:18px;text-shadow:0 1px 10px rgba(13,7,32,.6)}
.intro-load{height:8px;background:rgba(13,7,32,.5);overflow:hidden;transform:skewX(-20deg)}
.intro-load i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sun),#fff);transition:width .3s}
.intro-tip{min-height:1.5em;margin:10px 0 18px;font-family:var(--cond);font-weight:600;font-size:16px;letter-spacing:.08em;color:var(--paper)}
.intro-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
#btn-enter,#btn-enter-mute{font-family:var(--display);font-size:24px;letter-spacing:.04em;text-transform:uppercase;padding:14px 30px 12px;background:var(--paper);color:var(--ink);transform:skewX(-9deg);box-shadow:6px 6px 0 var(--ink);transition:transform .15s,box-shadow .15s,opacity .3s}
#btn-enter:not(:disabled):hover{transform:skewX(-9deg) translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
#btn-enter-mute{font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.1em;background:transparent;color:var(--paper);box-shadow:none;border:1px solid rgba(255,245,230,.6);padding:14px 20px}
#btn-enter:disabled,#btn-enter-mute:disabled{opacity:.35;cursor:progress}

/* ---------- transição ---------- */
#wipe{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden;visibility:hidden}
#wipe.on{visibility:visible;pointer-events:auto}
#wipe i{position:absolute;top:-10%;bottom:-10%;left:-30%;width:160%;transform:translateX(-120%) skewX(-16deg);transition:transform .55s cubic-bezier(.76,0,.24,1)}
#wipe i:nth-child(1){background:var(--pink)}
#wipe i:nth-child(2){background:var(--sun);transition-delay:.07s}
#wipe i:nth-child(3){background:var(--ink);transition-delay:.14s}
#wipe.in i{transform:translateX(0) skewX(-16deg)}
#wipe.out i{transform:translateX(120%) skewX(-16deg)}
#wipe.out i:nth-child(1){transition-delay:.14s}#wipe.out i:nth-child(3){transition-delay:0s}
#wipe p{position:absolute;inset:0;margin:0;display:grid;place-content:center;text-align:center;opacity:0;transform:scale(1.12);transition:opacity .25s .2s,transform .5s .2s}
#wipe.in p{opacity:1;transform:none}
#wipe.out p{opacity:0;transition-delay:0s}
#wipe span{font-family:var(--cond);font-weight:600;font-size:clamp(13px,1.6vw,18px);letter-spacing:.4em;text-transform:uppercase;color:var(--sun)}
#wipe strong{font-family:var(--display);font-weight:400;font-size:clamp(64px,15vw,210px);line-height:.95;text-transform:uppercase;color:var(--paper);text-shadow:5px 5px 0 var(--pink)}

/* ---------- telas ---------- */
.view{position:fixed;inset:0;z-index:10;overflow-y:auto;background:var(--ink);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.view-head{position:relative;z-index:2;min-height:62vh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px clamp(20px,6vw,90px) 44px;background:#1a0c36 center 30%/cover no-repeat;isolation:isolate}
.view-head::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,7,32,.5) 0%,rgba(74,29,122,.18) 40%,rgba(13,7,32,.96) 100%)}
.back{position:fixed;z-index:12;top:calc(16px + var(--safe-t));left:calc(18px + var(--safe-l));font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;background:var(--paper);color:var(--ink);transform:skewX(-9deg);box-shadow:4px 4px 0 var(--pink);transition:transform .15s,box-shadow .15s}
.back:hover{transform:skewX(-9deg) translate(-2px,-2px);box-shadow:6px 6px 0 var(--pink)}
.kicker{margin:0 0 6px;font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.3em;text-transform:uppercase;color:var(--sun)}
.view h1{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(60px,12vw,170px);line-height:.92;text-transform:uppercase;text-shadow:5px 5px 0 var(--pink)}
.view h2{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,64px);line-height:1.02;text-transform:uppercase}
.view h3{margin:0 0 6px;font-family:var(--cond);font-weight:700;font-size:24px;line-height:1.15;text-transform:uppercase;letter-spacing:.03em}
.lead{margin:18px 0 0;max-width:34em;font-size:clamp(18px,1.6vw,22px);font-weight:500}
.view p{max-width:38em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chips button{font-family:var(--cond);font-weight:700;font-size:16px;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;border:1px solid rgba(255,245,230,.4);transform:skewX(-9deg);transition:background .2s,color .2s}
.chips button:hover{border-color:var(--paper)}
.chips button[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;padding:26px clamp(14px,4vw,60px) 40px}
.card{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#1a0c36;text-align:left}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(13,7,32,.9));transition:opacity .3s}
.card:hover img,.card:focus-visible img{transform:scale(1.07)}
.card span{position:absolute;z-index:1;left:16px;right:16px}
.card-t{bottom:34px;font-family:var(--display);font-size:26px;line-height:1.05;text-transform:uppercase}
.card-c{bottom:14px;font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}
.card.hide{display:none}
.view-cta{padding:56px clamp(20px,6vw,90px) calc(70px + var(--safe-b));background:linear-gradient(180deg,var(--ink),#2a0f4a)}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn{display:inline-block;font-family:var(--cond);font-weight:700;font-size:18px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:13px 24px;border:1px solid var(--paper);color:var(--paper);transform:skewX(-9deg);transition:background .2s,color .2s,transform .15s}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn.gold{background:var(--pink);border-color:var(--pink);color:#fff}
.btn.gold:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.btn.wa{background:#1fae54;border-color:#1fae54;color:#fff}
.btn.wa:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}

.sec{padding:clamp(48px,8vw,110px) clamp(20px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,70px);align-items:center}
.sec.flip>.sec-media{order:-1}
.sec.wide{display:block}
.sec-media{position:relative;margin:0}
.sec-media img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}
.sec-media::after{content:'';position:absolute;right:-12px;bottom:-12px;width:46%;height:46%;border-right:4px solid var(--pink);border-bottom:4px solid var(--pink);pointer-events:none}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#2a0f4a;padding:0}
.stats div{padding:34px clamp(16px,3vw,40px);background:var(--ink)}
.stats strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(40px,6vw,84px);line-height:1;color:var(--sun)}
.stats span{font-family:var(--cond);font-weight:600;font-size:17px;letter-spacing:.14em;text-transform:uppercase}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:30px;padding:0;list-style:none}
.timeline li{padding-top:16px;border-top:3px solid var(--pink)}
.timeline li:nth-child(2){border-color:var(--orange)}.timeline li:nth-child(3){border-color:var(--sun)}.timeline li:nth-child(4){border-color:var(--teal)}
.timeline small{font-family:var(--cond);font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--sun)}
.note{margin-top:22px;padding:18px 20px;border-left:3px solid var(--teal);background:rgba(47,214,201,.07)}
.ticks{margin:18px 0 0;padding:0;list-style:none}
.ticks li{padding:9px 0 9px 30px;border-bottom:1px solid rgba(255,245,230,.14);position:relative;font-weight:500}
.ticks li::before{content:'';position:absolute;left:4px;top:17px;width:11px;height:11px;transform:rotate(45deg);background:var(--pink)}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.strip img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin-top:26px}
.quotes blockquote{margin:0;padding:22px 22px 18px;background:#1a0c36;border-top:3px solid var(--sun)}
.quotes p{margin:0 0 12px;font-size:19px;font-weight:500}
.quotes cite{font-family:var(--cond);font-weight:700;font-style:normal;letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:var(--sun)}
.facts{display:flex;flex-wrap:wrap;gap:30px;margin-top:34px;font-family:var(--cond);font-size:18px}
.facts small{display:block;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--sun)}

/* ---------- galeria ---------- */
#lightbox{position:fixed;inset:0;z-index:40;background:rgba(8,4,20,.96);display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;align-items:center}
#lightbox figure{margin:0;grid-column:2;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(56px + var(--safe-t)) 0 8px}
#lb-img{max-width:100%;max-height:calc(100vh - 190px);object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.6)}
#lightbox figcaption{display:flex;gap:16px;align-items:baseline;margin-top:12px}
#lb-title{font-family:var(--display);font-weight:400;font-size:24px;text-transform:uppercase}
#lb-count{font-family:var(--cond);font-weight:700;letter-spacing:.2em;color:var(--sun)}
.lb-nav{width:64px;height:100%;font-size:54px;line-height:1;color:var(--paper);opacity:.75}
.lb-nav:hover{opacity:1;color:var(--sun)}
.lb-close{position:absolute;top:calc(12px + var(--safe-t));right:calc(14px + var(--safe-r));width:46px;height:46px;font-size:34px;line-height:1;background:var(--paper);color:var(--ink);z-index:2}
.lb-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:8px 16px calc(18px + var(--safe-b))}

.noscript{position:fixed;inset:0;z-index:50;display:grid;place-content:center;text-align:center;padding:24px;background:var(--night)}

/* ---------- telas pequenas ---------- */
@media (max-width:820px){
  body{font-size:16px}
  .hud-logo{height:42px}
  #hud-top nav a,#hud-top nav button:not(.cta){display:none}
  #hud-top nav button{font-size:15px;padding:9px 13px}
  #hud-road{top:calc(74px + var(--safe-t));max-width:240px;padding:9px 12px 7px}
  #road-list button{font-size:15px}
  #hud-hint{bottom:calc(104px + var(--safe-b));width:max-content;max-width:calc(100vw - 36px);font-size:14px}
  #map-loc{font-size:12px;letter-spacing:.1em;white-space:nowrap}
  #hud-map{width:min(220px,54vw)}
  .sec{grid-template-columns:1fr}
  .sec.flip>.sec-media{order:0}
  .stats{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .strip{grid-template-columns:1fr 1fr}
  .view-head{min-height:56vh;padding-top:96px}
  #lightbox{grid-template-columns:1fr}
  #lightbox figure{grid-column:1;padding-top:calc(64px + var(--safe-t))}
  #lb-img{max-height:calc(100vh - 230px)}
  .lb-nav{position:absolute;z-index:2;top:50%;width:44px;height:76px;margin-top:-80px;font-size:40px;background:rgba(13,7,32,.6);opacity:1}
  .lb-prev{left:0}.lb-next{right:0}
  .lb-actions{gap:8px}.lb-actions .btn{font-size:15px;padding:11px 14px}
  #toast{top:auto;bottom:calc(168px + var(--safe-b));font-size:16px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card-t{font-size:19px;bottom:30px;left:10px;right:10px}.card-c{font-size:12px;bottom:11px;left:10px}
}
@media (prefers-reduced-motion:reduce){
  #fx-grain{animation:none}
  #wipe i,#wipe p,.bars i,.card img{transition-duration:.01s!important;transition-delay:0s!important}
  .blip::after{animation:none}
}
