@font-face{font-family:"Anton";src:url(../fonts/anton-latin.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --ink:#04131B; --ocean:#072636; --ocean-2:#0B3C49; --teal:#1E7F8C;
  --orange:#FF5A1F; --orange-2:#FF8A3D; --sand:#E9D8BD; --bone:#F5F0E6;
  --muted:#A9BFC4; --orange-ink:#C2410C; --rust:#9E3210; --muted-dark:#4A5A5E;
  --display:"Anton","Bebas Neue","Impact","Arial Narrow Bold",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --pad:clamp(20px,5vw,72px); --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--bone);font:400 17px/1.6 var(--body);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--orange);color:var(--ink);padding:12px 18px;font-weight:800;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}
.o{color:var(--orange)}
.i{width:1.25em;height:1.25em;flex:none}
.eyebrow{font:800 13px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:3px;background:currentColor}
.h-xl{font:400 clamp(56px,8.4vw,150px)/.86 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.h-mega{font:400 clamp(72px,15vw,260px)/.82 var(--display);text-transform:uppercase}

/* ---------- buttons ---------- */
.btn{--bg:var(--orange);--fg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:14px 26px;background:var(--bg);color:var(--fg);font:800 15px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--bg);border-radius:999px;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{--bg:var(--bone)}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(5px)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:13px}
.btn-lg{font-size:17px;padding:18px 32px}
.btn-xl{font-size:clamp(15px,1.25vw,19px);padding:22px 34px;min-height:64px}
.btn-xxl{font-size:clamp(17px,2vw,28px);padding:clamp(22px,2.4vw,34px) clamp(30px,3.6vw,56px);min-height:72px}
.btn-ghost{--bg:transparent;--fg:var(--bone);border-color:rgba(245,240,230,.55)}
.btn-ghost:hover{--bg:var(--bone);--fg:var(--ink);border-color:var(--bone)}
.btn-line{--bg:transparent;--fg:var(--bone);border-color:rgba(245,240,230,.4);width:100%}
.btn-line:hover{--bg:var(--orange);--fg:var(--ink);border-color:var(--orange)}
.btn-dark{--bg:var(--ink);--fg:var(--bone);width:100%}
.btn-dark:hover{--bg:var(--bone);--fg:var(--ink);border-color:var(--bone)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);transition:background .35s var(--ease),padding .35s var(--ease)}
.nav.scrolled{background:rgba(4,19,27,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;background:var(--orange);color:var(--ink);font:400 18px/1 var(--display);letter-spacing:.02em;transform:skewX(-8deg)}
.brand-word{font:800 12px/1.15 var(--body);letter-spacing:.18em;text-transform:uppercase}
.nav-links{display:flex;gap:30px}
.nav-links a{font:600 13px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:12px 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.menu-btn{display:none}
@media (max-width:960px){
  .nav-main{margin-left:auto}
  .menu-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:2px solid rgba(245,240,230,.55);border-radius:999px;font:800 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--bone)}
  .menu-btn:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
  .menu-ico{position:relative;width:16px;height:2px;background:currentColor;transition:background .2s}
  .menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;transition:transform .25s var(--ease)}
  .menu-ico::before{top:-5px}.menu-ico::after{top:5px}
  .menu-btn[aria-expanded=true] .menu-ico{background:transparent}
  .menu-btn[aria-expanded=true] .menu-ico::before{transform:translateY(5px) rotate(45deg)}
  .menu-btn[aria-expanded=true] .menu-ico::after{transform:translateY(-5px) rotate(-45deg)}
  .nav-links{display:none;position:fixed;left:0;right:0;top:var(--nav-h,72px);flex-direction:column;gap:0;padding:8px var(--pad) 20px;background:rgba(4,19,27,.97);border-bottom:2px solid var(--orange)}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:16px 0;font-size:15px;border-bottom:1px solid rgba(245,240,230,.12)}
  .no-js .nav-main{display:none}
}
@media (max-width:520px){.menu-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.menu-btn{padding:0 14px}}
.brand-mark::before{content:attr(data-mark)}
@media (max-width:520px){.hide-s{display:none}.brand-word{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;overflow:hidden;isolation:isolate;background:var(--ink)}
.hero-fallback{position:absolute;inset:0;z-index:-3;background:
  radial-gradient(60% 40% at 68% 52%,rgba(255,170,90,.85),rgba(255,90,31,.45) 35%,transparent 70%),
  linear-gradient(180deg,#161a45 0%,#5b2a52 34%,#e8603a 52%,#0b3c49 53%,#04131B 100%)}
.hero-fallback::after{content:"";position:absolute;inset:52% 0 0;background:url(../img/06-ocean-wave-1600.webp) center 70%/cover no-repeat;mix-blend-mode:luminosity;opacity:.35}
.hero-canvas{position:absolute;inset:0;z-index:-2;opacity:0;transition:opacity 1.4s var(--ease)}
.hero-canvas.ready{opacity:1}
.hero-canvas canvas{display:block;width:100%!important;height:100%!important;touch-action:pan-y}
.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(4,19,27,.55) 0%,rgba(4,19,27,0) 22%,rgba(4,19,27,0) 52%,rgba(4,19,27,.72) 100%)}
.hero-inner{position:relative;width:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) clamp(28px,5vh,56px);pointer-events:none}
.hero-inner a,.hero-inner .cta-row{pointer-events:auto}
.hero-meta{position:absolute;top:96px;right:var(--pad);text-align:right;display:flex;flex-direction:column;gap:6px;font:600 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:rgba(245,240,230,.75)}
.kicker{display:flex;align-items:center;gap:14px;font:800 clamp(13px,1.15vw,17px)/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;margin-bottom:clamp(18px,3vh,32px);text-shadow:0 1px 12px rgba(4,19,27,.6)}
.tick{width:34px;height:4px;background:var(--orange);flex:none}
.mega{font:400 clamp(84px,17.2vw,330px)/.8 var(--display);text-transform:uppercase;letter-spacing:-.01em;margin-left:-.04em}
.mega-vis{display:block;filter:drop-shadow(0 6px 24px rgba(4,19,27,.45))}
.mega .line{display:block;overflow:hidden;padding-top:.04em;margin-top:-.04em}
.mega .l1{color:transparent;-webkit-text-stroke:2px var(--bone)}
.mega .l2{padding-left:8vw}
.mega .dot{color:var(--orange);-webkit-text-stroke:0}
.mega .char{display:inline-block;will-change:transform}
.hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-top:clamp(18px,3vh,36px)}
.lead{max-width:520px;font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--bone);text-shadow:0 1px 14px rgba(4,19,27,.8)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;font:600 11px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:rgba(245,240,230,.7);white-space:nowrap}
.hint-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,90,31,.6);animation:ping 2s infinite}
.scroll-cue{padding-left:10px;border-left:1px solid rgba(245,240,230,.4)}
@keyframes ping{70%{box-shadow:0 0 0 12px rgba(255,90,31,0)}100%{box-shadow:0 0 0 0 rgba(255,90,31,0)}}
.no-webgl .hint-txt{display:none}
@media (max-width:720px){
  .hero-meta{display:none}
  .mega{font-size:clamp(84px,23.5vw,170px)}
  .mega .l2{padding-left:0}.mega .l1{-webkit-text-stroke-width:1.5px}
  .hero-inner{padding-bottom:88px}
  .cta-row{width:100%}
  .cta-row .btn{flex:1 1 100%}
  .hint{bottom:auto;top:84px;left:var(--pad);transform:none}
}

/* ---------- ticker ---------- */
.ticker{background:var(--orange);color:var(--ink);overflow:hidden;border-block:2px solid var(--ink)}
.ticker-track{display:flex;width:max-content;gap:28px;padding:14px 0;font:400 clamp(26px,3.2vw,46px)/1 var(--display);text-transform:uppercase;animation:tick 26s linear infinite}
.ticker .x{opacity:.45}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- duotone ---------- */
.duo{position:relative;overflow:hidden;background:var(--ink);isolation:isolate}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(1.05)}
.duo::before,.duo::after{content:"";position:absolute;inset:0;pointer-events:none}
.duo::before{background:var(--hi,#FF8A3D);mix-blend-mode:multiply;z-index:1}
.duo::after{background:var(--lo,#04131B);mix-blend-mode:lighten;z-index:2}
.duo-orange{--hi:#FFB37A;--lo:#0B3C49}
.duo-sand{--hi:#F5E6CC;--lo:#B53A12}
.duo-ocean{--hi:#9FE3E8;--lo:#04131B}
.duo-dark{--hi:#3C6E78;--lo:#04131B}
.duo-sunset{--hi:#FF9A55;--lo:#1A1240}

/* ---------- manifesto ---------- */
.manifesto{position:relative;min-height:100vh;display:grid;align-items:center;overflow:hidden}
.manifesto-bg{position:absolute;inset:0;opacity:.55}
.manifesto-bg::after{background:linear-gradient(90deg,#04131B 10%,rgba(4,19,27,.4))}
.manifesto-inner{position:relative;z-index:3;max-width:1360px;margin:0 auto;padding:120px var(--pad)}
.manifesto-text{font:400 clamp(44px,6.6vw,118px)/.98 var(--display);text-transform:uppercase;max-width:15ch}
.manifesto-text em{font-style:normal;color:var(--orange)}
.js .manifesto-text .w{opacity:.18;transition:none}
.manifesto-text .w{display:inline-block}

/* ---------- levels ---------- */
.levels{background:var(--bone);color:var(--ink);overflow:hidden}
.levels-pin{padding:clamp(80px,12vh,140px) 0 clamp(60px,8vh,100px)}
.levels-head{padding:0 var(--pad);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(32px,5vh,56px)}
.levels-head .eyebrow{width:100%;color:var(--rust)}
.levels .levels-head .o{color:var(--orange-ink)}
.levels-swipe{display:flex;gap:8px;align-items:center;font:800 13px/1 var(--body);letter-spacing:.2em;text-transform:uppercase}
.levels-track{display:flex;gap:clamp(16px,2vw,32px);padding:0 var(--pad) 12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.level{flex:0 0 min(86vw,720px);scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr;background:var(--ink);color:var(--bone);position:relative}
.level-img{aspect-ratio:4/3}
.level-body{position:relative;padding:clamp(22px,2.6vw,40px)}
.level-num{position:absolute;right:clamp(16px,2vw,32px);top:-.62em;font:400 clamp(90px,10vw,170px)/1 var(--display);color:var(--orange);z-index:4}
.level h3{font:400 clamp(40px,4.4vw,76px)/.92 var(--display);text-transform:uppercase;margin-bottom:14px;max-width:80%}
.level h3 .sub{display:block;font:800 14px/1.3 var(--body);letter-spacing:.16em;color:var(--orange);margin-top:10px}
.level p{color:#D5E0E2;max-width:52ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips li{font:600 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(245,240,230,.35);border-radius:999px;padding:9px 13px}
.level-end{background:var(--orange);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:32px;padding:clamp(28px,3vw,48px);flex-basis:min(80vw,520px)}
.level-end .h-xl{color:var(--ink);max-width:none}
.level-end .btn{--bg:var(--ink);--fg:var(--bone)}
.level-end .btn:hover{--bg:var(--bone);--fg:var(--ink)}
@media (min-width:900px){.level{grid-template-columns:1fr 1fr;grid-template-rows:none;flex-basis:min(78vw,1100px)}.level-img{aspect-ratio:auto;min-height:56vh}.level-body{display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px}.level-num{top:24px}.level-end{flex-basis:min(44vw,560px)}}
.is-pinned .levels-track{overflow:visible;scroll-snap-type:none;width:max-content}
@media (min-width:900px){
  .is-pinned .levels-pin{height:100vh;height:100svh;display:flex;flex-direction:column;padding:clamp(76px,11vh,120px) 0 clamp(20px,4vh,48px);box-sizing:border-box}
  .is-pinned .levels-head{margin-bottom:clamp(16px,3vh,40px);flex:none}
  .is-pinned .levels-head .h-xl{font-size:clamp(48px,min(8.4vw,10.5vh),150px)}
  .is-pinned .levels-track{flex:1 1 auto;min-height:0;padding-bottom:0}
  .is-pinned .level{height:100%}
  .is-pinned .level-img{min-height:0;height:100%}
  .is-pinned .level-body{padding-top:clamp(24px,4vh,48px);overflow:hidden}
  .is-pinned .level-num{font-size:clamp(70px,min(10vw,15vh),170px);top:clamp(12px,2vh,24px)}
  .is-pinned .level h3{font-size:clamp(34px,min(4.4vw,7.5vh),76px)}
  .is-pinned .level-body p{font-size:clamp(15px,2.1vh,17px)}
  .is-pinned .level-end .h-xl{font-size:clamp(48px,min(6.4vw,11vh),130px)}
}
.is-pinned .levels-swipe{visibility:hidden}

/* ---------- prices ---------- */
.prices{position:relative;padding:clamp(100px,14vh,170px) 0;overflow:hidden}
.prices-bg{position:absolute;inset:0;opacity:.35}
.prices .wrap{position:relative;z-index:3}
.h-mega .char{display:inline-block}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,22px);margin-top:clamp(48px,7vh,90px)}
.price{position:relative;display:flex;flex-direction:column;gap:6px;padding:clamp(22px,2vw,32px);background:rgba(7,38,54,.72);border:1px solid rgba(245,240,230,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:translate .4s var(--ease),border-color .3s}
.price:hover{translate:0 -6px;border-color:var(--orange)}
.price h3{font:800 15px/1.2 var(--body);letter-spacing:.18em;text-transform:uppercase}
.dur{font-size:14px;color:var(--muted)}
.amount{display:flex;align-items:flex-start;font:400 clamp(84px,8.6vw,150px)/.9 var(--display);margin:22px 0 26px;letter-spacing:-.01em}
.amount .cur{font-size:.42em;margin-top:.12em;margin-right:.05em;color:var(--orange)}
.amount .per{font:600 14px/1 var(--body);align-self:flex-end;margin:0 0 .9em .5em;color:var(--muted)}
.price .btn{margin-top:auto}
.price.best{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.price.best .dur,.price.best .amount .cur{color:var(--ink)}
.badge{position:absolute;top:-14px;right:16px;background:var(--bone);color:var(--ink);font:800 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px;transform:rotate(3deg)}
.included{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(245,240,230,.2)}
.inc-title{font:400 30px/1 var(--display);text-transform:uppercase;color:var(--orange)}
.included ul{display:flex;flex-wrap:wrap;gap:14px 32px}
.included li{display:flex;align-items:center;gap:10px;font-weight:600}
.included .i{color:var(--orange)}
@media (max-width:1080px){.price-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.price-grid{grid-template-columns:1fr}.amount{margin:12px 0 16px}}

/* ---------- home break ---------- */
.home{background:var(--sand);color:var(--ink);padding:clamp(100px,14vh,170px) 0;overflow:hidden}
.home .eyebrow{color:var(--rust)}
.h-clip{font:400 clamp(64px,13.5vw,240px)/.88 var(--display);text-transform:uppercase;color:var(--ink);background:linear-gradient(rgba(4,19,27,.62),rgba(4,19,27,.62)),url(../img/04-taghazout-boats-1600.webp) center/cover;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:contrast(1.1) saturate(1.1)}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.h-clip{-webkit-text-fill-color:var(--ink)}}
.home-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,90px);margin-top:clamp(40px,7vh,90px);align-items:start}
.home-photo{aspect-ratio:4/5;position:sticky;top:100px}
.home-lead{font:600 clamp(19px,1.6vw,24px)/1.45 var(--body);margin-bottom:40px;max-width:40ch}
.reasons li{display:grid;grid-template-columns:auto 1fr;gap:20px 28px;padding:26px 0;border-top:2px solid var(--ink)}
.reasons li:last-child{border-bottom:2px solid var(--ink)}
.r-n{font:400 44px/1 var(--display);color:var(--rust)}
.reasons h3{font:400 clamp(28px,2.6vw,42px)/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.reasons p{color:#2c3a3e}
@media (max-width:900px){.home-grid{grid-template-columns:1fr}.home-photo{position:relative;top:0;aspect-ratio:16/10}}

/* ---------- spots ---------- */
.spots{background:var(--ocean);padding:clamp(100px,14vh,170px) 0;overflow:hidden}
.spots-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,90px);align-items:center}
.spot-list{margin-top:40px}
.spot-list li{border-top:1px solid rgba(245,240,230,.2)}
.spot-list li:last-child{border-bottom:1px solid rgba(245,240,230,.2)}
.spot-btn{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0 6px;cursor:pointer}
.spot-btn:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.s-name{font:400 clamp(36px,3.6vw,60px)/1 var(--display);text-transform:uppercase;transition:color .25s,transform .35s var(--ease)}
.s-tag{font:800 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--orange);white-space:nowrap}
.spot-list p{padding-bottom:18px;color:var(--muted);max-width:46ch}
.spot-btn[aria-pressed=true] .s-name,.spot-btn:hover .s-name{color:var(--orange);transform:translateX(10px)}
.map{margin:0;position:relative;background:var(--ink);border:1px solid rgba(245,240,230,.14)}
.map svg{display:block;width:100%;height:auto;max-height:82vh}
.map figcaption{position:absolute;left:16px;bottom:12px;font-size:12px;color:var(--muted)}
.map-ocean{font:400 34px/1 var(--display);letter-spacing:.3em;fill:rgba(245,240,230,.12);writing-mode:vertical-rl}
.pin text{font:800 13px/1 var(--body);letter-spacing:.16em;fill:var(--bone);transition:fill .25s}
.pin .core{fill:var(--bone);stroke:var(--ink);stroke-width:3;transition:fill .25s}
.pin .halo{fill:rgba(255,90,31,.0);stroke:var(--orange);stroke-width:2;opacity:0;transform-origin:center;transform-box:fill-box;transition:opacity .25s}
.pin{cursor:pointer}
.pin.is-active .core{fill:var(--orange)}
.pin.is-active text{fill:var(--orange)}
.pin.is-active .halo{opacity:1;animation:halo 1.8s var(--ease) infinite}
@keyframes halo{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.compass text{font:800 12px var(--body);fill:var(--ink)}
@media (max-width:900px){.spots-grid{grid-template-columns:1fr}.map svg{max-height:none}}

/* ---------- faq ---------- */
.faq{background:var(--bone);color:var(--ink);padding:clamp(100px,14vh,170px) 0}
.faq .eyebrow{color:var(--rust)}
.faq-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,90px)}
.faq-list details{border-top:2px solid var(--ink)}
.faq-list details:last-child{border-bottom:2px solid var(--ink)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;cursor:pointer;font:400 clamp(26px,2.6vw,40px)/1.05 var(--display);text-transform:uppercase}
.faq-list summary::-webkit-details-marker{display:none}
.pm{position:relative;width:34px;height:34px;flex:none;border-radius:50%;background:var(--ink);transition:background .25s,transform .4s var(--ease)}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--bone);transform:translate(-50%,-50%)}
.pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease)}
details[open] .pm{background:var(--orange);transform:rotate(180deg)}
details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list details p{padding:0 0 26px;max-width:56ch;font-size:18px;color:#2c3a3e}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* ---------- final ---------- */
.final{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:120px var(--pad)}
.final-bg{position:absolute;inset:0}
.final-bg img{transform:scale(1.15)}
.final-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}
.final .eyebrow{color:var(--bone)}
.h-final{font:400 clamp(110px,24vw,440px)/.78 var(--display);text-transform:uppercase;display:flex;flex-direction:column;align-items:center}
.h-final .f2{color:var(--orange)}
.final-sub{font:600 clamp(17px,1.6vw,22px)/1.4 var(--body);margin:28px 0 36px;text-shadow:0 1px 14px rgba(4,19,27,.7)}

/* ---------- footer ---------- */
.foot{background:var(--ink);padding:80px 0 64px;border-top:2px solid var(--orange);overflow:hidden}
@media (max-width:720px){.foot{padding-bottom:110px}}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.foot-big{grid-column:1/-1;font:400 clamp(70px,16vw,280px)/.8 var(--display);text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(245,240,230,.25);margin-bottom:30px}
.foot-h{font:800 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.foot a{text-underline-offset:4px;display:inline-block;padding:6px 0}
.foot a:hover{color:var(--orange)}
.credit{grid-column:1/-1;font-size:13px;color:var(--muted);margin-top:24px}
@media (max-width:720px){.foot-grid{grid-template-columns:1fr}}

/* ---------- sticky mobile CTA ---------- */
.sticky-wa{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;align-items:center;justify-content:center;gap:10px;min-height:56px;background:var(--orange);color:var(--ink);font:800 16px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.4);transform:translateY(0);transition:transform .35s var(--ease)}
@media (max-width:720px){.sticky-wa{display:flex}.js .sticky-wa.is-hidden{transform:translateY(140%)}}

/* ---------- cursor ---------- */
.cursor{display:none}
.has-cursor .cursor{display:grid;place-items:center;position:fixed;left:0;top:0;z-index:90;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--orange);pointer-events:none;mix-blend-mode:difference;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease)}
.has-cursor .cursor.big{width:96px;height:96px;margin:-48px 0 0 -48px;mix-blend-mode:normal}
.cursor-label{font:800 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}
.cursor.big .cursor-label{opacity:1}

/* ---------- grain ---------- */
.grain{position:fixed;inset:-50%;z-index:80;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .ticker-track{animation:none}
  .hero-canvas{display:none}
  .js .manifesto-text .w{opacity:1}
  .hint{display:none}
}
