
/* Layout: architectural editorial. Full-bleed photography, wide-set Archivo display, quiet concrete ground,
   one amber "container marking" accent. Motion: hero mask reveal, parallax frames, pinned delivery journey, cursor-peek index. */
:root{
  --paper:#ECEEEB;      /* poured concrete */
  --paper-2:#E2E5E1;
  --card:#F7F8F6;
  --ink:#0F171D;        /* blued steel */
  --ink-2:#55616A;
  --ink-3:#8A949B;
  --rule:#CDD2CE;
  --night:#0C1216;
  --night-2:#151E24;
  --night-ink:#E9ECE8;
  --night-ink-2:#8F9BA2;
  --night-rule:#26323A;
  --amber:#E9A21A;      /* ISO marking amber */
  --amber-ink:#0F171D;
  --sun:#E9A21A;--grid:#6E9BEA;--batt:#3FB27F;
  --wa:#1E9E50;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --wrap:1320px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0F1518;--paper-2:#141B1F;--card:#182126;--ink:#E7EAE6;--ink-2:#9AA5AB;--ink-3:#6E7A81;--rule:#26313A;
  --night:#080C0F;--night-2:#10171B;--night-ink:#E7EAE6;--night-ink-2:#8D99A0;--night-rule:#222D34;
  --amber:#F0AE2C;--amber-ink:#0C1216;--sun:#F0AE2C;--grid:#86AEF2;--batt:#52C690;--wa:#25B35D;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0F1518;--paper-2:#141B1F;--card:#182126;--ink:#E7EAE6;--ink-2:#9AA5AB;--ink-3:#6E7A81;--rule:#26313A;
  --night:#080C0F;--night-2:#10171B;--night-ink:#E7EAE6;--night-ink-2:#8D99A0;--night-rule:#222D34;
  --amber:#F0AE2C;--amber-ink:#0C1216;--sun:#F0AE2C;--grid:#86AEF2;--batt:#52C690;--wa:#25B35D;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
a{color:inherit}
::selection{background:var(--amber);color:var(--amber-ink)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:900px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;font-weight:700}
.d{font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;line-height:.92}
h2.d{font-size:clamp(2.1rem,4.3vw,3.9rem)}
h3{font-size:1.25rem;font-stretch:112%;letter-spacing:-.005em;line-height:1.1}
p{margin:0}
.lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.lbl.tick::before{content:"";display:inline-block;width:7px;height:7px;background:var(--amber);margin-right:10px;vertical-align:1px}
.lede{font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--ink-2);max-width:56ch;line-height:1.55}
section{padding-block:clamp(88px,11vw,160px)}
.head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.head>div{display:grid;gap:22px}
@media (max-width:900px){.head{grid-template-columns:1fr;gap:20px}}
.night{background:var(--night);color:var(--night-ink)}
.night .lbl,.night .lede{color:var(--night-ink-2)}

/* buttons */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--h);padding:0 24px;font:600 .95rem/1 var(--body);text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .4s var(--ease),border-color .4s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .45s var(--ease)}
.btn:hover::before{transform:none}
.btn .arr{width:16px;height:16px;transition:transform .45s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-amber{background:var(--amber);color:var(--amber-ink)}
.btn-amber::before{background:var(--ink)}
.btn-amber:hover{color:var(--paper)}
.night .btn-amber::before,.hero .btn-amber::before{background:#fff}
.night .btn-amber:hover,.hero .btn-amber:hover{color:#0C1216}
.btn-line{border-color:currentColor;background:transparent}
.btn-line::before{background:currentColor}
.btn-line:hover{color:var(--night)}
.hero .btn-line:hover,.night .btn-line:hover{color:#0C1216}
.btn-line:not(.hero .btn-line):not(.night .btn-line):hover{color:var(--paper)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa::before{background:#0C1216}
.btn svg.ic{width:18px;height:18px}
.link{font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;transition:background-size .45s var(--ease)}
.link:hover{background-size:0 1px;background-position:100% 100%}

/* ---------- NAV ---------- */
.nav{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);z-index:50;color:#F2F3F0;transition:background .45s var(--ease),transform .5s var(--ease),color .45s}
.nav.solid{background:color-mix(in srgb,var(--night) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--night-ink)}
.nav.hide{transform:translateY(-110%)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo svg{width:34px;height:24px;flex:none}
.logo span{font:700 1.06rem/1 var(--display);font-stretch:125%;letter-spacing:.02em;text-transform:uppercase}
.logo span em{font-style:normal;color:var(--amber)}
.menu{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.9rem}
.menu a{text-decoration:none;opacity:.78;transition:opacity .2s;position:relative;padding-block:6px}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.menu a:hover{opacity:1}
.menu a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-r{display:flex;gap:10px;align-items:center}
.nav .btn{--h:42px;padding:0 18px;font-size:.88rem}
.burger{display:none;width:44px;height:42px;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.burger i:first-child{top:16px}.burger i:last-child{top:24px}
.burger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:45;background:var(--night);color:var(--night-ink);padding:calc(96px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 32px max(20px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease);visibility:hidden}
.drawer.open{clip-path:inset(0);visibility:visible}
.drawer ul{list-style:none;margin:0;padding:0;display:grid}
.drawer a{display:flex;justify-content:space-between;align-items:baseline;text-decoration:none;font:700 clamp(1.9rem,8vw,3rem)/1.15 var(--display);font-stretch:118%;text-transform:uppercase;padding:8px 0;border-bottom:1px solid var(--night-rule)}
.drawer a small{font:500 .7rem var(--mono);letter-spacing:.12em;color:var(--night-ink-2)}
@media (max-width:1080px){.menu{display:none}.burger{display:block}.nav-r .btn-wa{display:none}}
@media (max-width:520px){.nav-r .btn-amber{display:none}}

/* ---------- HERO ---------- */
.hero{position:relative;padding:0;color:#F2F3F0;background:#0C1216;overflow:hidden}
.hero-media{position:relative;height:clamp(600px,88vh,920px);overflow:hidden}
.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 50%}
.hero-media img{animation:heroZoom 2.6s var(--ease) both;transform-origin:60% 55%}
@keyframes heroZoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,15,.55) 0%,rgba(8,12,15,0) 26%,rgba(8,12,15,0) 42%,rgba(8,12,15,.82) 100%),linear-gradient(90deg,rgba(8,12,15,.5),rgba(8,12,15,0) 60%)}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:clamp(36px,5vw,64px)}
.hero-copy .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
@media (max-width:900px){.hero-copy .wrap{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.7rem,8vw,8.2rem);font-stretch:125%;text-transform:uppercase;letter-spacing:-.025em;line-height:.86;font-weight:800}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .ln>span{display:block;animation:rise 1.2s var(--ease) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s;color:var(--amber)}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero-sub{display:grid;gap:26px;margin-top:28px;max-width:560px;animation:fadeUp 1s .45s var(--ease) both}
.hero-sub p{font-size:clamp(1rem,1.25vw,1.15rem);color:rgba(242,243,240,.82);line-height:1.55}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-plate{border:1px solid rgba(242,243,240,.35);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;min-width:260px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(8,12,15,.25);animation:fadeUp 1s .7s var(--ease) both}
.hero-plate div{display:flex;justify-content:space-between;gap:20px;padding:9px 14px;border-top:1px solid rgba(242,243,240,.18)}
.hero-plate div:first-child{border-top:0;color:var(--amber)}
.hero-plate span:first-child{color:rgba(242,243,240,.6)}
@media (max-width:900px){.hero-plate{display:none}}
.scrollcue{position:absolute;right:max(40px,env(safe-area-inset-right,0px));top:50%;z-index:2;writing-mode:vertical-rl;font:500 .68rem var(--mono);letter-spacing:.2em;color:rgba(242,243,240,.7);display:flex;align-items:center;gap:14px}
.scrollcue::after{content:"";width:1px;height:64px;background:linear-gradient(rgba(242,243,240,.8),transparent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:900px){.scrollcue{display:none}}
.facts{background:var(--night);color:var(--night-ink);border-top:1px solid var(--night-rule)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.facts .wrap>div{padding:26px 24px 28px;border-left:1px solid var(--night-rule);display:grid;gap:6px}
.facts .wrap>div:first-child{border-left:0;padding-left:0}
.facts b{font:700 1.05rem/1.2 var(--display);font-stretch:112%;text-transform:uppercase;letter-spacing:.01em}
.facts span{font-size:.86rem;color:var(--night-ink-2)}
@media (max-width:860px){.facts .wrap{grid-template-columns:1fr 1fr}.facts .wrap>div:nth-child(3){border-left:0;padding-left:0}.facts .wrap>div:nth-child(n+3){border-top:1px solid var(--night-rule)}.facts .wrap>div{padding:20px 16px}.facts .wrap>div:nth-child(odd){padding-left:0}}

/* ---------- INTRO / TERRAINS ---------- */
.intro .statement{font:400 clamp(1.6rem,3.4vw,3rem)/1.18 var(--display);font-stretch:100%;letter-spacing:-.015em;max-width:24ch;text-wrap:balance}
.intro .statement em{font-style:normal;color:var(--ink-3)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:end}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr}}
.terrains{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,20px);margin-top:clamp(56px,7vw,96px);align-items:start}
.terrain{margin:0;display:grid;gap:14px}
.terrain:nth-child(2){margin-top:clamp(40px,8vw,120px)}
.terrain:nth-child(3){margin-top:clamp(20px,4vw,60px)}
.frame{overflow:hidden;position:relative;background:var(--paper-2)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.terrain .frame{aspect-ratio:4/5}
.terrain:hover .frame img{transform:scale(1.04)}
.terrain figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.terrain figcaption b{font:700 1rem var(--display);font-stretch:112%;text-transform:uppercase}

/* parallax frames (scroll-driven where supported; static elsewhere) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .px img{animation:px linear both;animation-timeline:view();scale:1.14}
    @keyframes px{from{translate:0 -6%}to{translate:0 6%}}
    .rise{animation:riseIn linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
    @keyframes riseIn{from{transform:translateY(48px)}to{transform:none}}
  }
}

/* marquee */
.marquee{border-block:1px solid var(--rule);overflow:hidden;padding-block:22px;background:var(--paper)}
.marquee-track{display:flex;width:max-content;animation:marq 48s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font:700 clamp(1.6rem,3.2vw,2.6rem)/1 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;padding-right:44px;display:flex;align-items:center;gap:44px;white-space:nowrap}
.marquee span::after{content:"";width:12px;height:12px;background:var(--amber);flex:none}
.marquee span:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--ink)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- HOMES EXPLORER ---------- */
.plans-nav{display:flex;gap:0;border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none;position:relative}
.plans-nav::-webkit-scrollbar{display:none}
.plans-nav button{flex:1 0 auto;background:none;border:0;color:var(--ink-3);cursor:pointer;padding:16px 20px 18px 0;text-align:left;display:grid;gap:4px;transition:color .3s;font-family:var(--body);min-width:150px}
.plans-nav button b{font:700 1.1rem/1 var(--display);font-stretch:118%;text-transform:uppercase;letter-spacing:-.005em}
.plans-nav button small{font:500 .68rem var(--mono);letter-spacing:.1em}
.plans-nav button[aria-selected="true"],.plans-nav button:hover{color:var(--ink)}
.plans-ind{position:absolute;bottom:-1px;left:0;height:3px;background:var(--amber);transition:transform .6s var(--ease),width .6s var(--ease)}
.explorer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:40px}
@media (max-width:960px){.explorer{grid-template-columns:1fr}}
.ex-stage{position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--paper-2)}
.ex-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.ex-stage img.on{opacity:1;transform:none}
.ex-stage .tag{position:absolute;left:16px;top:16px;background:var(--amber);color:var(--amber-ink);font:500 .68rem var(--mono);letter-spacing:.12em;padding:6px 10px;z-index:2}
.ex-info{display:flex;flex-direction:column;gap:26px;min-width:0}
.ex-swap{transition:opacity .35s var(--ease),transform .5s var(--ease)}
.ex-swap.out{opacity:0;transform:translateY(10px)}
.ex-title{font-size:clamp(2.4rem,4vw,3.6rem)}
.ex-plan{background:#fff;border:1px solid var(--rule);padding:14px}
.ex-plan img{width:100%}
.spec{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.spec div{padding:14px 12px 14px 0;display:grid;gap:4px}
.spec div+div{padding-left:12px;border-left:1px solid var(--rule)}
.spec dt{font:500 .66rem var(--mono);letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase}
.spec dd{margin:0;font:700 1.05rem/1.1 var(--display);font-stretch:110%;font-variant-numeric:tabular-nums}
@media (max-width:520px){.spec{grid-template-columns:1fr 1fr}.spec div:nth-child(3){border-left:0;padding-left:0}.spec div:nth-child(n+3){border-top:1px solid var(--rule)}}
.ex-best{display:flex;gap:8px;flex-wrap:wrap}
.ex-best span{font-size:.82rem;padding:5px 11px;border:1px solid var(--rule);border-radius:99px;color:var(--ink-2)}
.ex-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:24px;border-top:1px solid var(--rule)}
.price small{display:block;font:500 .66rem var(--mono);letter-spacing:.12em;color:var(--ink-2);margin-bottom:6px}
.price b{font:800 clamp(2rem,3vw,2.6rem)/1 var(--display);font-stretch:118%;letter-spacing:-.01em}
.ex-count{font:500 .72rem var(--mono);letter-spacing:.1em;color:var(--ink-3)}

/* ---------- INTERIORS ---------- */
.interiors{background:var(--paper-2)}
.gal{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,30vw,420px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:22px;scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent;cursor:grab}
.gal.drag{cursor:grabbing;scroll-snap-type:none}
.gal figure{margin:0;scroll-snap-align:start;display:grid;gap:12px}
.gal .frame{aspect-ratio:4/5}
.gal figure.w{grid-column:span 1}
.gal figcaption{display:flex;justify-content:space-between;gap:10px}
.gal figcaption b{font:700 .95rem var(--display);font-stretch:112%;text-transform:uppercase}
.gal-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}
.gal-btns{display:flex;gap:8px}
.gal-btns button{width:48px;height:48px;border:1px solid var(--ink);background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s}
.gal-btns button:hover{background:var(--ink);color:var(--paper)}
.gal-btns svg{width:18px;height:18px}
.incl{margin-top:clamp(64px,8vw,110px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px}
@media (max-width:900px){.incl{grid-template-columns:1fr;gap:24px}}
.incl-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
@media (max-width:640px){.incl-list{grid-template-columns:1fr}}
.incl-list div{padding:18px 20px 20px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:28px 1fr;gap:4px 14px}
.incl-list div:nth-child(even){padding-left:20px;border-left:1px solid var(--rule)}
@media (max-width:640px){.incl-list div:nth-child(even){padding-left:0;border-left:0}}
.incl-list i{font:500 .68rem var(--mono);color:var(--ink-3);padding-top:4px;font-style:normal;grid-row:span 2}
.incl-list b{font-weight:600}
.incl-list span{font-size:.9rem;color:var(--ink-2)}
.incl-list span em{font-style:normal;color:var(--ink-3)}

/* ---------- ENERGY ---------- */
.en-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:center}
@media (max-width:960px){.en-grid{grid-template-columns:1fr}}
.modes{display:grid;gap:0;margin-top:36px;border-top:1px solid var(--night-rule)}
.modes button{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--night-rule);color:var(--night-ink-2);padding:18px 0;cursor:pointer;font-family:var(--body);transition:color .3s}
.modes button i{font:500 .7rem var(--mono);font-style:normal}
.modes button b{font:700 1.3rem/1 var(--display);font-stretch:118%;text-transform:uppercase}
.modes button span{font-size:.85rem}
.modes button[aria-pressed="true"]{color:var(--night-ink)}
.modes button[aria-pressed="true"] i{color:var(--amber)}
.modes button:hover{color:var(--night-ink)}
.mode-desc{margin-top:22px;color:var(--night-ink-2);min-height:4.8em;max-width:46ch}
.diagram{position:relative;border:1px solid var(--night-rule);background:radial-gradient(120% 90% at 50% 0%,var(--night-2),var(--night));padding:clamp(14px,2.4vw,28px)}
.diagram svg{width:100%;height:auto;display:block}
.diagram .gridbg line{stroke:var(--night-rule);stroke-width:1}
.node rect{fill:var(--night);stroke:var(--night-ink-2);stroke-width:1.2}
.node text{fill:var(--night-ink);font:500 12px var(--mono);letter-spacing:.1em}
.node .sub{fill:var(--night-ink-2);font-size:10.5px;letter-spacing:.04em}
.node{transition:opacity .5s var(--ease)}
.node.off{opacity:.22}
.flow{fill:none;stroke-width:2.5;stroke-dasharray:3 9;stroke-linecap:round;opacity:.12;transition:opacity .5s}
.flow.on{opacity:1;animation:dash 1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.f-sun{stroke:var(--sun)}.f-grid{stroke:var(--grid)}.f-batt{stroke:var(--batt)}.f-load{stroke:var(--night-ink)}
.legend{display:flex;gap:18px;flex-wrap:wrap;font:500 .66rem var(--mono);letter-spacing:.1em;color:var(--night-ink-2);margin-top:14px;text-transform:uppercase}
.legend i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:7px}
.layers-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center;margin-top:clamp(88px,10vw,150px)}
@media (max-width:960px){.layers-row{grid-template-columns:1fr}}
.layers-img{background:#F4F5F3;padding:clamp(10px,2vw,24px)}
.layers{list-style:none;margin:30px 0 0;padding:0;counter-reset:l}
.layers li{display:grid;grid-template-columns:44px 140px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--night-rule);counter-increment:l;align-items:baseline}
.layers li::before{content:counter(l,decimal-leading-zero);font:500 .7rem var(--mono);color:var(--amber)}
.layers b{font:600 .95rem var(--body)}
.layers span{font-size:.9rem;color:var(--night-ink-2)}
@media (max-width:560px){.layers li{grid-template-columns:36px 1fr}.layers span{grid-column:2}}

/* ---------- SOLUTIONS INDEX ---------- */
.idx-group+.idx-group{margin-top:clamp(56px,7vw,96px)}
.idx-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--ink);flex-wrap:wrap}
.idx-head h3{font-size:clamp(1.4rem,2.2vw,1.9rem);font-stretch:125%;text-transform:uppercase}
.idx-row{display:grid;grid-template-columns:56px minmax(0,1.1fr) minmax(0,1.4fr) 40px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none;position:relative;transition:padding .5s var(--ease)}
.idx-row::before{content:"";position:absolute;inset:0;background:var(--paper-2);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.idx-row:hover::before{transform:none}
.idx-row:hover{padding-left:14px;padding-right:14px}
.idx-row i{font:500 .7rem var(--mono);font-style:normal;color:var(--ink-3)}
.idx-row b{font:700 clamp(1.3rem,2.4vw,2rem)/1 var(--display);font-stretch:118%;text-transform:uppercase;letter-spacing:-.01em}
.idx-row span{color:var(--ink-2);font-size:.95rem}
.idx-row svg{width:22px;height:22px;justify-self:end;transition:transform .5s var(--ease)}
.idx-row:hover svg{transform:rotate(-45deg)}
.idx-row .thumb{display:none}
.idx-list{isolation:isolate}
@media (max-width:760px){
  .idx-row{grid-template-columns:96px minmax(0,1fr);gap:8px 16px;align-items:start}
  .idx-row .thumb{display:block;grid-row:span 3;width:96px;aspect-ratio:4/5;object-fit:cover}
  .idx-row i,.idx-row svg{display:none}
}
.peek{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/5;pointer-events:none;z-index:40;overflow:hidden;opacity:0;transform:translate3d(-50%,-50%,0) scale(.85);transition:opacity .35s var(--ease),transform .5s var(--ease);will-change:transform}
.peek.on{opacity:1}
.peek img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (hover:none),(max-width:760px){.peek{display:none}}

.camp{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);margin-top:clamp(56px,7vw,96px);align-items:end}
@media (max-width:960px){.camp{grid-template-columns:1fr}}
.camp .frame{aspect-ratio:3/2}
.camp-side{display:grid;gap:22px}
.camp-side .plan{background:#fff;border:1px solid var(--rule);padding:10px}

/* ---------- JOURNEY (pinned) ---------- */
.journey{background:var(--night);color:var(--night-ink);padding:0}
.j-track{height:calc(var(--steps,5) * 85vh)}
.j-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);overflow:hidden}
.j-text{padding:calc(110px + env(safe-area-inset-top,0px)) clamp(24px,4vw,64px) 48px max(40px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;justify-content:space-between;gap:24px;max-width:640px;margin-left:auto;width:100%}
.j-steps{position:relative;min-height:240px}
.j-step{position:absolute;inset:0;display:grid;align-content:start;gap:18px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .8s var(--ease);pointer-events:none}
.j-step.on{opacity:1;transform:none;pointer-events:auto}
.j-step .n{font:800 clamp(4rem,8vw,7rem)/.8 var(--display);font-stretch:125%;color:var(--amber);letter-spacing:-.03em}
.j-step h3{font-size:clamp(1.8rem,3vw,2.6rem);font-stretch:125%;text-transform:uppercase}
.j-step p{color:var(--night-ink-2);max-width:42ch;font-size:1.05rem}
.j-prog{display:grid;grid-template-columns:repeat(var(--steps,5),1fr);gap:6px}
.j-prog button{height:30px;background:none;border:0;padding:0;cursor:pointer;display:grid;gap:8px;align-content:end;text-align:left;color:var(--night-ink-2);font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.j-prog button::after{content:"";height:2px;background:var(--night-rule);background-image:linear-gradient(var(--amber),var(--amber));background-size:var(--p,0%) 100%;background-repeat:no-repeat}
.j-prog button.on{color:var(--night-ink)}
.j-media{position:relative;overflow:hidden;background:#0C1216}
.j-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1s var(--ease),transform 2.2s var(--ease)}
.j-media img.contain{object-fit:contain;background:#F4F5F3;padding:4% 8%}
.j-media img.on{opacity:1;transform:none}
@media (max-width:860px),(prefers-reduced-motion:reduce){
  .j-track{height:auto}
  .j-pin{position:static;height:auto;grid-template-columns:1fr}
  .j-media{display:none}
  .j-text{padding:clamp(88px,11vw,160px) max(20px,env(safe-area-inset-right,0px)) clamp(88px,11vw,160px) max(20px,env(safe-area-inset-left,0px));max-width:none}
  .j-steps{min-height:0;display:grid;gap:40px}
  .j-step{position:static;opacity:1;transform:none;grid-template-columns:auto 1fr;gap:6px 18px;padding-top:28px;border-top:1px solid var(--night-rule)}
  .j-step .n{font-size:2.6rem;grid-row:span 2}
  .j-step .mimg{display:block;grid-column:1/-1;margin-top:10px;aspect-ratio:16/10;object-fit:cover;width:100%}
  .j-prog{display:none}
}
.j-step .mimg{display:none}

/* ---------- FACTORY + SIZES ---------- */
.fac{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
@media (max-width:960px){.fac{grid-template-columns:1fr}}
.fac .frame{aspect-ratio:3/2}
.fac-points{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border-top:1px solid var(--rule)}
.fac-points div{padding:16px 16px 16px 0;border-bottom:1px solid var(--rule);font-size:.92rem;color:var(--ink-2)}
.fac-points div:nth-child(even){padding-left:16px;border-left:1px solid var(--rule)}
.fac-points b{display:block;color:var(--ink);font-weight:600}
.tour{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px 32px;background:var(--ink);color:var(--paper)}
.tour .live{display:flex;align-items:center;gap:10px;font:500 .72rem var(--mono);letter-spacing:.14em;color:var(--amber)}
.tour .live::before{content:"";width:9px;height:9px;border-radius:50%;background:#E5483A;box-shadow:0 0 0 0 rgba(229,72,58,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(229,72,58,0)}100%{box-shadow:0 0 0 0 rgba(229,72,58,0)}}
.tour p{font-size:1.05rem}
.tour p span{color:color-mix(in srgb,var(--paper) 65%,transparent)}
.tour .btn-amber::before{background:var(--paper)}
.tour .btn-amber:hover{color:var(--ink)}
@media (max-width:860px){.tour{grid-template-columns:1fr;padding:24px}}

.sizes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:960px){.sizes{grid-template-columns:1fr}}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.93rem}
th,td{text-align:left;padding:16px 14px 16px 0;border-bottom:1px solid var(--rule);vertical-align:top}
th{font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--ink)}
td{font-variant-numeric:tabular-nums;color:var(--ink-2)}
td:first-child{font:700 1rem var(--display);font-stretch:112%;color:var(--ink);text-transform:uppercase;white-space:nowrap}
.configs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px;border-top:1px solid var(--rule)}
@media (max-width:560px){.configs{grid-template-columns:1fr 1fr}}
.configs figure{margin:0;padding:18px 10px 4px 0;display:grid;gap:12px}
.configs svg{width:100%;max-width:110px;height:60px}
.configs rect{fill:none;stroke:var(--ink);stroke-width:1.5}
.configs rect.a{fill:color-mix(in srgb,var(--amber) 40%,transparent)}
.configs figcaption{font:500 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(40px,6vw,96px)}
@media (max-width:900px){.faq{grid-template-columns:1fr}}
.faq-l{display:grid;gap:22px;align-content:start}
details{border-top:1px solid var(--rule)}
details:last-child{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:44px 1fr 24px;gap:10px;align-items:center;padding:22px 0;font-weight:600;font-size:1.06rem}
summary::-webkit-details-marker{display:none}
summary i{font:500 .68rem var(--mono);font-style:normal;color:var(--ink-3)}
summary .pm{width:14px;height:14px;position:relative;justify-self:end}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
summary .pm::after{transform:rotate(90deg)}
details[open] summary .pm::after{transform:rotate(0)}
.ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
details[open] .ans{grid-template-rows:1fr}
.ans>div{overflow:hidden}
.ans p{padding:0 0 24px 54px;color:var(--ink-2);max-width:62ch}

/* ---------- QUOTE ---------- */
.quote{background:var(--amber);color:var(--amber-ink)}
.quote .lbl{color:var(--amber-ink)}
.quote .lbl.tick::before{background:var(--amber-ink)}
.q-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:960px){.q-grid{grid-template-columns:1fr}}
.quote h2{font-size:clamp(2.6rem,6vw,5.4rem)}
.q-steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;border-top:1px solid color-mix(in srgb,var(--amber-ink) 30%,transparent)}
.q-steps li{display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--amber-ink) 30%,transparent)}
.q-steps i{font:500 .7rem var(--mono);font-style:normal;padding-top:3px}
.q-contact{margin-top:36px;display:grid;gap:6px}
.q-contact b{font:700 clamp(1.4rem,2.6vw,2rem)/1.1 var(--display);font-stretch:112%;user-select:all}
form{background:var(--card);color:var(--ink);padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;box-shadow:0 30px 60px -30px rgba(15,23,29,.45)}
@media (max-width:560px){form{grid-template-columns:1fr}}
.f{display:grid;gap:8px;min-width:0;align-content:start}
.f.full,fieldset.full{grid-column:1/-1}
label,legend{font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{margin-bottom:10px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{font:500 .9rem var(--body);text-transform:none;letter-spacing:0;color:var(--ink);border:1px solid var(--rule);padding:9px 14px;cursor:pointer;transition:all .25s var(--ease);position:relative}
.chips label:hover{border-color:var(--ink)}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label:has(input:checked){background:var(--ink);color:var(--card);border-color:var(--ink)}
.chips label:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{font:inherit;font-size:1rem;padding:12px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);border-radius:0;width:100%;transition:border-color .3s}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--ink)}
select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--ink) 50%) calc(100% - 10px) 55%/5px 5px no-repeat,linear-gradient(-45deg,transparent 50%,var(--ink) 50%) calc(100% - 5px) 55%/5px 5px no-repeat}
select option{background:var(--card);color:var(--ink)}
textarea{min-height:84px;resize:vertical}
.chk{display:flex;gap:10px;align-items:center;font:400 .9rem var(--body);text-transform:none;letter-spacing:0;color:var(--ink);grid-column:1/-1}
.chk input{width:18px;height:18px;accent-color:var(--ink)}
.f-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:460px){.f-actions{grid-template-columns:1fr}}
.msg{grid-column:1/-1;padding:14px 16px;border-left:3px solid var(--batt);background:color-mix(in srgb,var(--batt) 10%,var(--card));display:grid;gap:6px;font-size:.95rem}
.msg.err{border-color:#D0452F;background:color-mix(in srgb,#D0452F 8%,var(--card))}
.msg small{color:var(--ink-2)}

/* ---------- FOOTER ---------- */
footer{background:var(--night);color:var(--night-ink-2);font-size:.9rem;overflow:hidden}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-block:72px 48px}
@media (max-width:860px){.f-top{grid-template-columns:1fr 1fr}.f-top>div:first-child{grid-column:1/-1}}
footer h4{font:500 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-ink);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a{text-decoration:none;transition:color .2s}
footer a:hover{color:var(--night-ink)}
.wordmark{display:inline-block;font:800 11vw/.8 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em;color:var(--night-ink);white-space:nowrap;padding-block:12px 0;margin-bottom:-.1em;user-select:none}
.wordmark em{font-style:normal;color:var(--amber)}
.f-legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--night-rule);font:400 .7rem var(--mono);letter-spacing:.06em}
.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:transform .4s var(--ease)}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:28px;height:28px}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ring 2.6s var(--ease) infinite}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .marquee-track{transform:none}
}

/* ================= MULTI-PAGE ADDITIONS ================= */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .35s var(--ease) both}
::view-transition-new(root){animation:vtIn .6s var(--ease) both}
@keyframes vtOut{to{opacity:0;transform:translateY(-12px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(16px)}}
.menu a[aria-current="page"]{opacity:1}
.menu a[aria-current="page"]::after{transform:scaleX(1)}
.drawer a[aria-current="page"]{color:var(--amber)}

/* page head (sub-pages) */
.phead{background:var(--night);color:var(--night-ink);padding:calc(150px + env(safe-area-inset-top,0px)) 0 clamp(48px,6vw,88px)}
.phead .wrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:end}
@media (max-width:900px){.phead .wrap{grid-template-columns:1fr;gap:22px}.phead{padding-top:calc(118px + env(safe-area-inset-top,0px))}}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-ink-2);margin-bottom:26px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--night-ink)}
.crumbs span[aria-hidden]{color:var(--amber)}
.phead h1{font-size:clamp(2.5rem,5.8vw,5.6rem);font-stretch:125%;text-transform:uppercase;letter-spacing:-.025em;line-height:.88;font-weight:800}
.phead h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.phead h1 .ln>span{display:block;animation:rise 1.1s var(--ease) both}
.phead h1 .ln:nth-child(2)>span{animation-delay:.1s}
.phead h1 em{font-style:normal;color:var(--amber)}
.phead .lede{color:var(--night-ink-2);animation:fadeUp 1s .35s var(--ease) both}
.pband{background:var(--night);padding:0}
.pband .frame{height:clamp(300px,58vh,640px);clip-path:inset(0 0 0 0);animation:unclip 1.6s .15s var(--ease) both}
.pband .frame img{height:100%}
@keyframes unclip{from{clip-path:inset(12% 6% 0 6%)}to{clip-path:inset(0)}}

.subnav{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);transition:top .5s var(--ease)}
.nav.hide~main .subnav,body.navhidden .subnav{top:env(safe-area-inset-top,0px)}
.subnav .wrap{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none;height:56px;align-items:center}
.subnav a{font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);white-space:nowrap;position:relative;padding-block:6px}
.subnav a.on{color:var(--ink)}
.subnav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--amber)}

/* CTA band */
.cta{background:var(--amber);color:var(--amber-ink);padding-block:clamp(72px,9vw,128px)}
.cta .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:40px;align-items:end}
@media (max-width:860px){.cta .wrap{grid-template-columns:1fr}}
.cta h2{font-size:clamp(2.6rem,6.4vw,5.8rem)}
.cta .lbl{color:var(--amber-ink)}
.cta .lbl.tick::before{background:var(--amber-ink)}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.cta .btn-dark{background:var(--amber-ink);color:var(--amber)}
.cta .btn-dark::before{background:#fff}
.cta .btn-dark:hover{color:#0C1216}

/* home: featured homes rail */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,27vw,400px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent}
.mcard{scroll-snap-align:start;text-decoration:none;display:grid;gap:16px;align-content:start}
.mcard .frame{aspect-ratio:4/5}
.mcard:hover .frame img{transform:scale(1.05)}
.mcard .frame .tag{position:absolute;left:14px;top:14px;background:var(--amber);color:var(--amber-ink);font:500 .64rem var(--mono);letter-spacing:.12em;padding:5px 9px;z-index:2}
.mcard .frame .go{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;transform:scale(0) rotate(-45deg);transition:transform .5s var(--ease);z-index:2}
.mcard:hover .frame .go{transform:none}
.mcard .go svg{width:16px;height:16px}
.mcard-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--ink);padding-top:12px}
.mcard-meta b{font:700 1.35rem/1 var(--display);font-stretch:118%;text-transform:uppercase}
.mcard-meta span{font:500 .7rem var(--mono);letter-spacing:.08em;color:var(--ink-2)}
.mcard-sub{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;color:var(--ink-2)}
.mcard-sub b{color:var(--ink);font-weight:600}
.rail-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}

/* home: tri tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,20px)}
@media (max-width:860px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;text-decoration:none;color:#F2F3F0;overflow:hidden;display:block}
.tile .frame{aspect-ratio:3/4}
@media (max-width:860px){.tile .frame{aspect-ratio:16/10}}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,15,0) 35%,rgba(8,12,15,.82));pointer-events:none;transition:opacity .5s}
.tile-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,30px);display:grid;gap:10px}
.tile-copy i{font:500 .68rem var(--mono);font-style:normal;letter-spacing:.14em;color:var(--amber)}
.tile-copy b{font:800 clamp(1.6rem,2.6vw,2.4rem)/.95 var(--display);font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em}
.tile-copy span{font-size:.92rem;color:rgba(242,243,240,.8);max-width:34ch;display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.tile-copy span>span{overflow:hidden}
.tile:hover .tile-copy span,.tile:focus-visible .tile-copy span{grid-template-rows:1fr}
@media (hover:none){.tile-copy span{grid-template-rows:1fr}}
.tile:hover .frame img{transform:scale(1.05)}

/* split feature */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.split .frame{aspect-ratio:4/3}
.split-copy{display:grid;gap:22px;align-content:start}
.steps-mini{list-style:none;margin:8px 0 0;padding:0;display:grid;border-top:1px solid var(--night-rule)}
.steps-mini li{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--night-rule)}
.steps-mini i{font:500 .7rem var(--mono);font-style:normal;color:var(--amber)}
.steps-mini b{font:700 1.15rem/1 var(--display);font-stretch:118%;text-transform:uppercase}
.steps-mini span{font-size:.85rem;color:var(--night-ink-2)}
.night .link{color:var(--night-ink)}

/* homes listing */
.hgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(28px,3vw,44px) clamp(14px,1.6vw,24px)}
.hgrid .mcard{grid-column:span 2}
.hgrid .mcard:nth-child(1),.hgrid .mcard:nth-child(2){grid-column:span 3}
.hgrid .mcard:nth-child(1) .frame,.hgrid .mcard:nth-child(2) .frame{aspect-ratio:5/4}
@media (max-width:900px){.hgrid{grid-template-columns:1fr 1fr}.hgrid .mcard,.hgrid .mcard:nth-child(-n+2){grid-column:span 1}.hgrid .mcard:nth-child(1){grid-column:1/-1}}
@media (max-width:560px){.hgrid{grid-template-columns:1fr}.hgrid .mcard{grid-column:1/-1!important}}
.cmp th:first-child,.cmp td:first-child{position:sticky;left:0;background:var(--paper-2);z-index:1}
.cmp td{color:var(--ink)}
.cmp td:first-child{font:500 .66rem var(--mono);letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase}
.cmp th a{font:700 1rem var(--display);font-stretch:118%;color:var(--ink);text-decoration:none;letter-spacing:0}
.cmp th a:hover{color:var(--amber)}
.cmp table{min-width:760px}

/* model detail */
.mhead-plate{border:1px solid var(--night-rule);font:500 .72rem var(--mono);letter-spacing:.08em;animation:fadeUp 1s .5s var(--ease) both}
.mhead-plate div{display:flex;justify-content:space-between;gap:20px;padding:11px 14px;border-top:1px solid var(--night-rule)}
.mhead-plate div:first-child{border-top:0}
.mhead-plate span:first-child{color:var(--night-ink-2)}
.mhead-plate span:last-child{color:var(--night-ink)}
.mhead-plate .pr span:last-child{color:var(--amber);font-size:.95rem}
.overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:900px){.overview{grid-template-columns:1fr}}
.overview .statement{font:400 clamp(1.5rem,2.8vw,2.5rem)/1.2 var(--display);letter-spacing:-.015em;text-wrap:balance}
.overview .statement em{font-style:normal;color:var(--ink-3)}
.feat{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.feat li{display:grid;grid-template-columns:44px 1fr;padding:15px 0;border-bottom:1px solid var(--rule)}
.feat i{font:500 .7rem var(--mono);font-style:normal;color:var(--ink-3);padding-top:4px}
.sticky-buy{position:sticky;top:110px;display:grid;gap:24px}
.planbig{background:#fff;border:1px solid var(--rule);padding:clamp(14px,3vw,40px)}
.planbig img{width:100%}
.rooms{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:20px}
.rooms span{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);display:flex;gap:8px;align-items:center}
.rooms span::before{content:"";width:8px;height:8px;background:var(--amber)}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
@media (max-width:860px){.opts{grid-template-columns:1fr}}
.opts>div{padding:24px 24px 26px 0;display:grid;gap:12px;align-content:start;border-bottom:1px solid var(--rule)}
.opts>div+div{padding-left:24px;border-left:1px solid var(--rule)}
@media (max-width:860px){.opts>div+div{padding-left:0;border-left:0}}
.opts h3{font-size:1.15rem;text-transform:uppercase}
.opts p{color:var(--ink-2);font-size:.92rem}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatches button{width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);cursor:pointer;padding:0;position:relative}
.swatches button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:3px}
.sw-name{font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pills span{font-size:.84rem;padding:6px 12px;border:1px solid var(--rule);border-radius:99px;color:var(--ink-2)}
.nextprev{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.nextprev a{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:28px 0;text-decoration:none;transition:background .4s}
.nextprev a+a{border-left:1px solid var(--rule);padding-left:28px;grid-template-columns:1fr 120px;text-align:right}
.nextprev a+a img{order:2}
.nextprev img{width:120px;aspect-ratio:4/3;object-fit:cover}
.nextprev small{font:500 .66rem var(--mono);letter-spacing:.14em;color:var(--ink-2);display:block;margin-bottom:6px}
.nextprev b{font:800 clamp(1.3rem,2.4vw,2rem)/1 var(--display);font-stretch:125%;text-transform:uppercase}
.nextprev a:hover b{color:var(--amber)}
@media (max-width:700px){.nextprev{grid-template-columns:1fr}.nextprev a+a{border-left:0;border-top:1px solid var(--rule);padding-left:0}.nextprev a,.nextprev a+a{grid-template-columns:80px 1fr}.nextprev a+a img{order:0}.nextprev a+a{text-align:left}.nextprev img{width:80px}}

/* terms cards */
.terms3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
@media (max-width:860px){.terms3{grid-template-columns:1fr}}
.terms3>div{padding:28px 28px 30px 0;display:grid;gap:12px;align-content:start;border-bottom:1px solid var(--rule)}
.terms3>div+div{padding-left:28px;border-left:1px solid var(--rule)}
@media (max-width:860px){.terms3>div+div{padding-left:0;border-left:0}}
.terms3 b{font:800 clamp(2.2rem,3.6vw,3.2rem)/1 var(--display);font-stretch:125%}
.terms3 p{color:var(--ink-2)}
.terms3 .lbl{color:var(--ink-3)}
.route-line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;font:500 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.route-line span{position:relative;padding-top:22px}
.route-line span::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);z-index:1}
.route-line span::after{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--ink)}
.route-line span:last-child::after{display:none}
.route-line[data-t="fob"] span:nth-child(-n+1)::before,.route-line[data-t="cif"] span:nth-child(-n+3)::before,.route-line[data-t="ddp"] span::before{background:var(--amber);border-color:var(--amber)}

/* checks list (factory) */
.qc{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--night-rule)}
@media (max-width:700px){.qc{grid-template-columns:1fr}}
.qc>div{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:16px 16px 16px 0;border-bottom:1px solid var(--night-rule)}
.qc>div:nth-child(even){padding-left:16px;border-left:1px solid var(--night-rule)}
@media (max-width:700px){.qc>div:nth-child(even){padding-left:0;border-left:0}}
.qc svg{width:18px;height:18px;color:var(--amber);margin-top:3px}
.qc b{display:block;font-weight:600}
.qc span{font-size:.9rem;color:var(--night-ink-2)}

/* cold */
.cold2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.4vw,20px)}
.cold2 .frame{aspect-ratio:4/5}
.temps{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);margin-top:10px}
.temps div{padding:18px 18px 18px 0;border-bottom:1px solid var(--rule);display:grid;gap:6px}
.temps div:nth-child(even){padding-left:18px;border-left:1px solid var(--rule)}
.temps b{font:700 1.15rem var(--display);font-stretch:118%;text-transform:uppercase}
.temps span{font-size:.9rem;color:var(--ink-2)}

/* contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
.contact-side{display:grid;gap:34px;align-content:start}
.cline{display:grid;gap:6px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.cline b{font:700 clamp(1.4rem,2.4vw,2rem)/1.1 var(--display);font-stretch:112%;user-select:all}
.cline small{color:var(--ink-2)}
.contact-grid form{box-shadow:none;border:1px solid var(--rule)}
.copy{background:none;border:1px solid var(--rule);color:var(--ink);font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;cursor:pointer;justify-self:start;transition:background .3s,color .3s}
.copy:hover{background:var(--ink);color:var(--paper)}

/* night-section overrides for shared bits */
.night .spec{border-top-color:var(--night-ink)}

.g4{grid-template-columns:repeat(4,1fr)!important}
.g4>*{padding:18px 18px 20px 0!important;border-left:0!important}
.g4>*+*{padding-left:18px!important;border-left:1px solid var(--rule)!important}
@media (max-width:860px){.g4{grid-template-columns:1fr 1fr!important}.g4>*:nth-child(odd){padding-left:0!important;border-left:0!important}}
@media (max-width:460px){.g4{grid-template-columns:1fr!important}.g4>*{padding-left:0!important;border-left:0!important}}
.opts.g4>div{padding-block:24px 26px!important}

@media (max-width:860px){.facts b{font-size:.92rem;font-stretch:100%}.facts span{font-size:.8rem}}

/* ================= v5: IA + image system ================= */
/* fixed-ratio frames: image files are pre-cropped to the same ratio, so CSS never crops */
.ar{position:relative;overflow:hidden;background:var(--paper-2);aspect-ratio:var(--ar,3/2)}
.ar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ar.contain{background:#F4F5F3}
.ar.contain>img{object-fit:contain;padding:4%}
.night .ar.contain{background:#F4F5F3}

/* hero: aspect-driven so the photo is never cut to a sliver */
.hero-media{height:auto!important;aspect-ratio:2.2/1;min-height:560px;max-height:90vh}
@media (max-width:700px){.hero-media{aspect-ratio:3/4;min-height:0;max-height:none}}

/* mega menu */
.menu{align-items:center}
.menu>li{position:static}
.menu .has-mega>a::before{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:30px}
.menu .has-mega>a span.caret{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin-left:8px;transition:transform .35s var(--ease)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--night);color:var(--night-ink);border-top:1px solid var(--night-rule);border-bottom:1px solid var(--night-rule);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .45s var(--ease),visibility 0s .35s;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .45s var(--ease)}
.has-mega:hover>a span.caret,.has-mega:focus-within>a span.caret{transform:rotate(225deg) translate(-2px,-2px)}
.nav:has(.has-mega:hover),.nav:has(.has-mega:focus-within){background:var(--night);color:var(--night-ink)}
.mega-in{display:grid;grid-template-columns:240px 1fr;gap:40px;padding-block:32px 36px}
.mega-side{display:grid;gap:12px;align-content:start;border-right:1px solid var(--night-rule);padding-right:32px}
.mega-side b{font:800 1.6rem/1 var(--display);font-stretch:125%;text-transform:uppercase}
.mega-side p{font-size:.88rem;color:var(--night-ink-2)}
.mega-side a{font-size:.88rem}
.mega-cards{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:16px}
.mega-cards a{display:grid;gap:10px;text-decoration:none;opacity:1!important}
.mega-cards a::after{display:none!important}
.mega-cards .ar{--ar:3/2}
.mega-cards a:hover .ar img{transform:scale(1.05)}
.mega-cards b{font:700 .95rem var(--display);font-stretch:118%;text-transform:uppercase;display:flex;justify-content:space-between;gap:8px}
.mega-cards b small{font:500 .64rem var(--mono);letter-spacing:.08em;color:var(--night-ink-2);font-stretch:100%}
.mega-cards span{font-size:.82rem;color:var(--night-ink-2)}
.mega-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--night-rule)}
.mega-links a{display:grid;gap:6px;padding:18px 20px 18px 0;text-decoration:none;opacity:1!important;border-bottom:1px solid var(--night-rule)}
.mega-links a+a{padding-left:20px;border-left:1px solid var(--night-rule)}
.mega-links a::after{display:none!important}
.mega-links b{font:700 1.1rem var(--display);font-stretch:118%;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.mega-links b svg{width:14px;height:14px;transition:transform .4s var(--ease)}
.mega-links a:hover b svg{transform:translateX(4px)}
.mega-links span{font-size:.85rem;color:var(--night-ink-2)}

/* drawer groups */
.drawer{overflow-y:auto}
.drawer .dgrp{display:grid;gap:0;margin-bottom:6px}
.drawer .dgrp>a{font-size:clamp(1.6rem,7vw,2.4rem)}
.drawer .dsub{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 0 14px;border-bottom:1px solid var(--night-rule)}
.drawer .dsub a{font:500 .8rem var(--body);text-transform:none;letter-spacing:0;border:0;padding:4px 0;color:var(--night-ink-2);display:inline}

/* page head: split with image */
.phead.psplit .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,5vw,80px)}
.phead.psplit .ph-copy{display:grid;gap:24px}
.phead.psplit h1{font-size:clamp(2.5rem,5vw,5rem)}
.phead.psplit .ar{animation:unclip 1.6s .15s var(--ease) both}
.phead .ph-actions{display:flex;gap:10px;flex-wrap:wrap;animation:fadeUp 1s .5s var(--ease) both}
@media (max-width:900px){.phead.psplit .wrap{grid-template-columns:1fr}}
.phead.plain{padding-bottom:clamp(56px,7vw,100px)}

/* model hero image */
.mhero{background:var(--night);padding:0 0 clamp(40px,5vw,72px)}
.mhero .ar{margin-inline:auto;width:min(100%,calc(80vh * var(--arn,1.5)));animation:unclip 1.6s .15s var(--ease) both}
.mhero figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px auto 0;width:min(100%,calc(80vh * var(--arn,1.5)));font:500 .68rem var(--mono);letter-spacing:.12em;color:var(--night-ink-2);text-transform:uppercase}

/* cards: landscape everywhere */
.mcard .frame{aspect-ratio:3/2!important}
.hgrid .mcard:nth-child(1) .frame,.hgrid .mcard:nth-child(2) .frame{aspect-ratio:3/2!important}
.rail{grid-auto-columns:clamp(280px,31vw,460px)}

/* interiors: fixed row height, each photo at its own ratio (no cropping) */
.gal{grid-auto-columns:max-content!important}
.gal figure .frame{height:clamp(260px,34vw,480px);aspect-ratio:var(--ar)!important;width:auto}
.gal figure .frame img{height:100%;width:100%}

/* tiles square everywhere */
.tile .frame{aspect-ratio:1/1!important}

/* plans: never enlarge beyond source */
.planbig{display:grid;justify-items:center}
.planbig img{width:100%;max-width:880px}
.ex-plan img,.camp-side .plan img{max-width:100%}

/* solution cards */
.scards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(32px,4vw,56px) clamp(16px,2vw,28px)}
@media (max-width:760px){.scards{grid-template-columns:1fr}}
.scard{display:grid;gap:16px;align-content:start}
.scard .ar{--ar:4/3}
.scard-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--ink);padding-top:14px}
.scard-h b{font:800 clamp(1.4rem,2.2vw,1.9rem)/1 var(--display);font-stretch:125%;text-transform:uppercase}
.scard-h i{font:500 .68rem var(--mono);font-style:normal;color:var(--ink-3)}
.scard p{color:var(--ink-2)}
.scard ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.scard li{font-size:.82rem;padding:5px 11px;border:1px solid var(--rule);border-radius:99px;color:var(--ink-2)}
.hubs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}
@media (max-width:860px){.hubs{grid-template-columns:1fr}}
.hub{text-decoration:none;display:grid;gap:16px;align-content:start}
.hub .ar{--ar:4/5}
@media (max-width:860px){.hub .ar{--ar:3/2}}
.hub:hover .ar img{transform:scale(1.05)}
.hub b{font:800 clamp(1.5rem,2.4vw,2.1rem)/1 var(--display);font-stretch:125%;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--ink);padding-top:14px}
.hub b svg{width:20px;height:20px;transition:transform .45s var(--ease)}
.hub:hover b svg{transform:translateX(6px)}
.hub p{color:var(--ink-2)}
.why{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--night-rule)}
@media (max-width:860px){.why{grid-template-columns:1fr}}
.why>div{padding:26px 26px 28px 0;display:grid;gap:10px;align-content:start;border-bottom:1px solid var(--night-rule)}
.why>div+div{padding-left:26px;border-left:1px solid var(--night-rule)}
@media (max-width:860px){.why>div+div{padding-left:0;border-left:0}}
.why i{font:500 .7rem var(--mono);font-style:normal;color:var(--amber)}
.why b{font:700 1.3rem/1.1 var(--display);font-stretch:118%;text-transform:uppercase}
.why p{color:var(--night-ink-2);font-size:.95rem}

/* responsibilities */
.resp{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
@media (max-width:760px){.resp{grid-template-columns:1fr}}
.resp>div{padding:26px 28px 10px 0}
.resp>div+div{padding-left:28px;border-left:1px solid var(--rule)}
@media (max-width:760px){.resp>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.resp h3{font-size:1.3rem;text-transform:uppercase;margin-bottom:14px;display:flex;gap:12px;align-items:center}
.resp h3 i{width:10px;height:10px;background:var(--amber);display:inline-block}
.resp>div+div h3 i{background:var(--ink)}
.resp ul{list-style:none;margin:0;padding:0}
.resp li{padding:12px 0;border-top:1px solid var(--rule);color:var(--ink-2);display:grid;grid-template-columns:1fr auto;gap:10px}
.resp li b{color:var(--ink);font-weight:600}

/* wide band (natural ratio) */
.wband{background:var(--night);padding:0}
.wband .ar{animation:unclip 1.6s .15s var(--ease) both}

/* faq categories */
.faq-cat+.faq-cat{margin-top:clamp(56px,7vw,96px)}
.faq-cat h2{font-size:clamp(1.6rem,2.6vw,2.2rem)!important;margin-bottom:18px}

/* legal page */
.prose{max-width:68ch;display:grid;gap:18px}
.prose h2{font:700 1.3rem var(--display);font-stretch:112%;text-transform:uppercase;margin-top:22px}
.prose p,.prose li{color:var(--ink-2)}

/* related links */
.related{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
@media (max-width:760px){.related{grid-template-columns:1fr}}
.related a{display:grid;gap:8px;padding:24px 24px 26px 0;text-decoration:none;border-bottom:1px solid var(--rule);transition:background .4s}
.related a+a{padding-left:24px;border-left:1px solid var(--rule)}
@media (max-width:760px){.related a+a{padding-left:0;border-left:0}}
.related small{font:500 .66rem var(--mono);letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase}
.related b{font:800 1.35rem/1 var(--display);font-stretch:125%;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;align-items:center}
.related b svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.related a:hover b svg{transform:translateX(6px)}
.related span{color:var(--ink-2);font-size:.92rem}

/* journey: frame each photo instead of cropping it */
.j-media{display:grid;place-items:center;background:var(--night-2)}
.j-media img{inset:clamp(48px,7vh,90px) clamp(32px,4vw,64px)!important;width:calc(100% - 2*clamp(32px,4vw,64px))!important;height:calc(100% - 2*clamp(48px,7vh,90px))!important;object-fit:contain!important;padding:0!important;background:none!important;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.j-cap{position:absolute;left:clamp(32px,4vw,64px);bottom:22px;font:500 .66rem var(--mono);letter-spacing:.14em;color:var(--night-ink-2);text-transform:uppercase;z-index:2}

.peek{aspect-ratio:4/3!important;width:320px!important}
.idx-row .thumb{aspect-ratio:4/3!important}

.nextprev img{aspect-ratio:3/2!important}
@media (max-width:520px){.btn{white-space:normal;height:auto;min-height:var(--h);padding-block:12px;text-align:center;line-height:1.25}}

.nav .mega .mega-in{display:grid;height:auto;align-items:start;justify-content:stretch}
.mega-cards b{display:grid!important;gap:4px;font-stretch:105%!important;white-space:nowrap}
.f-top.f5{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}
@media (max-width:960px){.f-top.f5{grid-template-columns:1fr 1fr}.f-top.f5>div:first-child{grid-column:1/-1}}
@media (max-width:700px){.hero-media::after{background:linear-gradient(180deg,rgba(8,12,15,.55) 0%,rgba(8,12,15,.1) 22%,rgba(8,12,15,.35) 45%,rgba(8,12,15,.9) 78%)}}

/* ================= v6: bright + green palette, split hero ================= */
:root{
  --paper:#F5F6F2; --paper-2:#EBEEE6; --card:#FFFFFF;
  --ink:#18232C; --ink-2:#56616A; --ink-3:#8C969C; --rule:#D8DDD3;
  --night:#1B3124; --night-2:#22392B; --night-ink:#F1F5EE; --night-ink-2:#AFC2AE; --night-rule:#30493A;
  --amber:#8EC441; --amber-ink:#15200F; --green-d:#5E8A2A; --green-l:#E4F1D2;
  --sun:#F2B33D; --grid:#4F86E0; --batt:#3E9F67; --wa:#1E9E50;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#111813;--paper-2:#162019;--card:#1B261F;--ink:#E8EEE6;--ink-2:#A3B0A6;--ink-3:#748178;--rule:#2A372E;
  --night:#0C150F;--night-2:#132018;--night-ink:#E8EEE6;--night-ink-2:#93A797;--night-rule:#24342A;
  --amber:#9BD14C;--amber-ink:#0E160A;--green-d:#9BD14C;--green-l:#213520;--sun:#F2B33D;--grid:#7CA6F0;--batt:#58C287;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#111813;--paper-2:#162019;--card:#1B261F;--ink:#E8EEE6;--ink-2:#A3B0A6;--ink-3:#748178;--rule:#2A372E;
  --night:#0C150F;--night-2:#132018;--night-ink:#E8EEE6;--night-ink-2:#93A797;--night-rule:#24342A;
  --amber:#9BD14C;--amber-ink:#0E160A;--green-d:#9BD14C;--green-l:#213520;--sun:#F2B33D;--grid:#7CA6F0;--batt:#58C287;color-scheme:dark}
body::before{background:var(--card)}

/* light header everywhere */
.nav,.nav.solid{background:color-mix(in srgb,var(--card) 94%,transparent);color:var(--ink);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.nav:has(.has-mega:hover),.nav:has(.has-mega:focus-within){background:var(--card);color:var(--ink)}
.menu a{opacity:.82}
.logo span em{color:var(--green-d)}
.mega{background:var(--card);color:var(--ink);border-color:var(--rule);--night-ink:var(--ink);--night-ink-2:var(--ink-2);--night-rule:var(--rule);box-shadow:0 30px 60px -30px rgba(24,35,44,.25)}
.btn-line{color:var(--ink)}
.btn-amber::before{background:var(--ink)}
.btn-amber:hover{color:var(--card)}

/* light page heads */
.phead,.mhero,.pband,.wband{background:var(--paper-2);color:var(--ink);--night-ink:var(--ink);--night-ink-2:var(--ink-2);--night-rule:var(--rule)}
.phead h1 em,.lbl.tick::before{color:var(--green-d)}
.phead h1 em{color:var(--green-d)}
.lbl.tick::before{background:var(--amber)}
.mhead-plate .pr span:last-child{color:var(--green-d)}
.crumbs span[aria-hidden]{color:var(--green-d)}

/* green accents in dark sections */
.night .lbl.tick::before{background:var(--amber)}
.steps-mini i,.why i,.layers li::before{color:var(--green-d)}
.night .steps-mini i,.night .why i,.night .layers li::before,.modes button[aria-pressed="true"] i,.j-step .n{color:var(--amber)}
.j-prog button::after{background-image:linear-gradient(var(--amber),var(--amber))}

/* CTA in green */
.cta{background:var(--amber);color:var(--amber-ink)}

/* ---------- split hero with slideshow ---------- */
.h2x{background:linear-gradient(180deg,var(--card) 0%,var(--paper) 100%);padding:calc(120px + env(safe-area-inset-top,0px)) 0 clamp(24px,3vw,40px);overflow:hidden}
.h2x .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:960px){.h2x .wrap{grid-template-columns:1fr}.h2x{padding-top:calc(104px + env(safe-area-inset-top,0px))}}
.h2x-copy{display:grid;gap:26px;align-content:center}
.h2x h1{font-size:clamp(2.6rem,4.4vw,4.6rem);font-stretch:125%;text-transform:uppercase;letter-spacing:-.025em;line-height:.9;font-weight:800}
.h2x h1 .ln{display:block;overflow:hidden;padding-bottom:.05em}
.h2x h1 .ln>span{display:block;animation:rise 1.1s var(--ease) both}
.h2x h1 .ln:nth-child(2)>span{animation-delay:.1s;color:var(--green-d)}
.h2x .lede{animation:fadeUp 1s .3s var(--ease) both}
.h2x .hero-actions{animation:fadeUp 1s .45s var(--ease) both}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;animation:fadeUp 1s .6s var(--ease) both}
.trust span{display:flex;align-items:center;gap:8px;font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.trust svg{width:16px;height:16px;color:var(--green-d)}

.show{position:relative;display:grid;gap:14px;animation:fadeUp 1.1s .2s var(--ease) both}
.show-stage{position:relative;aspect-ratio:5/4;overflow:hidden;background:var(--paper-2);border-radius:2px}
.show-stage figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1s var(--ease)}
.show-stage figure.on{opacity:1;z-index:1}
.show-stage img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 6s linear}
.show-stage figure.on img{transform:scale(1)}
.show-stage figcaption{position:absolute;left:16px;bottom:16px;display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--ink);padding:9px 14px;font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(12px);opacity:0;transition:transform .7s .3s var(--ease),opacity .7s .3s var(--ease)}
.show-stage figure.on figcaption{transform:none;opacity:1}
.show-stage figcaption i{width:8px;height:8px;background:var(--amber);border-radius:50%}
.show-badge{position:absolute;right:16px;top:16px;z-index:3;background:var(--amber);color:var(--amber-ink);font:600 .72rem var(--mono);letter-spacing:.1em;padding:7px 11px;display:flex;align-items:center;gap:8px}
.show-badge svg{width:15px;height:15px}
.show-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.show-tabs button{background:none;border:0;padding:0;cursor:pointer;display:grid;gap:8px;text-align:left;color:var(--ink-3);font-family:var(--body)}
.show-tabs button::before{content:"";height:3px;background:var(--rule);background-image:linear-gradient(var(--amber),var(--amber));background-size:var(--p,0%) 100%;background-repeat:no-repeat}
.show-tabs button b{font:700 .9rem/1.1 var(--display);font-stretch:112%;text-transform:uppercase;color:inherit}
.show-tabs button small{font:500 .64rem var(--mono);letter-spacing:.12em}
.show-tabs button.on,.show-tabs button:hover{color:var(--ink)}
@media (max-width:520px){.show-tabs button b{font-size:.78rem}}

/* ---------- uses (3) ---------- */
.uses{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px)}
@media (max-width:860px){.uses{grid-template-columns:1fr}}
.use{position:relative;display:grid;gap:0;text-decoration:none;background:var(--card);border:1px solid var(--rule);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.use:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(24,35,44,.35)}
.use .ar{--ar:4/3}
.use:hover .ar img{transform:scale(1.05)}
.use-b{padding:22px 22px 24px;display:grid;gap:10px}
.use-b i{font:500 .7rem var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.14em;color:var(--green-d)}
.use-b b{white-space:nowrap;font:800 clamp(1.3rem,1.9vw,1.75rem)/1 var(--display);font-stretch:125%;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:10px}
.use-b b svg{width:20px;height:20px;transition:transform .45s var(--ease)}
.use:hover .use-b b svg{transform:translateX(6px)}
.use-b p{color:var(--ink-2);font-size:.95rem}
.use-b ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.use-b li{font-size:.78rem;padding:4px 10px;background:var(--green-l);color:var(--ink);border-radius:99px}

/* ---------- solar feature ---------- */
.solar{background:var(--night);color:var(--night-ink);position:relative;overflow:hidden}
.solar::before{content:"";position:absolute;right:-20vw;top:-30vw;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(242,179,61,.22),rgba(142,196,65,.08) 45%,transparent 70%);pointer-events:none}
.solar .lbl,.solar .lede{color:var(--night-ink-2)}
.sol-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center;position:relative}
@media (max-width:960px){.sol-top{grid-template-columns:1fr}}
.sol-top .ar{--ar:4/5}
.sol-head h2{font-size:clamp(2.4rem,5.2vw,4.8rem)}
.sol-head h2 em{font-style:normal;color:var(--sun)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--night-rule);margin-top:34px}
@media (max-width:520px){.kpis{grid-template-columns:1fr}}
.kpis div{padding:20px 16px 20px 0;display:grid;gap:6px}
.kpis div+div{padding-left:16px;border-left:1px solid var(--night-rule)}
@media (max-width:520px){.kpis div+div{padding-left:0;border-left:0;border-top:1px solid var(--night-rule)}}
.kpis b{font:800 clamp(1.3rem,2vw,1.8rem)/1.05 var(--display);font-stretch:110%;white-space:nowrap;color:var(--sun)}
.kpis span{font-size:.86rem;color:var(--night-ink-2)}
.sun-chip{display:inline-flex;align-items:center;gap:10px;font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.sun-chip svg{width:22px;height:22px;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sol-bottom{margin-top:clamp(64px,8vw,110px);position:relative}
.diagram{background:radial-gradient(120% 90% at 50% 0%,var(--night-2),var(--night))}
.node rect{fill:var(--night)}
