@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-800-italic.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --ink:#0b0c10; --ink-2:#14161d; --ink-3:#1d2029; --line-d:#2a2d38;
  --cream:#f3f2ea; --cream-2:#e6e5da; --paper:#fbfbf6;
  --yellow:#ebea64; --yellow-d:#d9d846; --blue:#3041cb; --blue-l:#5c6cf0;
  --t-light:#f4f4ef; --t-muted-d:#c2c3cc; --t-dark:#0f1014; --t-muted-l:#43444b;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --sans:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,monospace;
  --pad:clamp(20px,4vw,64px);
  --sec:clamp(64px,7vw,112px);
  --max:1320px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink);overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--t-light);font-family:var(--sans);font-size:clamp(18px,1.25vw,20px);line-height:1.6;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--yellow);color:var(--ink);padding:10px 16px;font-weight:700;border-radius:8px}
.skip:focus{top:12px}
.mono,.kicker{font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--yellow)}
.kicker::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.kicker.center{display:flex;justify-content:center}
[data-theme=light] .kicker,[data-theme=yellow] .kicker{color:var(--blue)}
[data-theme=yellow] .kicker{color:var(--ink)}
[data-theme=blue] .kicker{color:var(--yellow)}
.h2{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(46px,6.2vw,112px);line-height:.9;letter-spacing:-.005em;margin:0 0 24px;text-wrap:balance}
.line{display:block;overflow:hidden;padding-bottom:.04em}
.line>.li{display:block}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 28px;border-radius:999px;font:700 18px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background .25s,color .25s,transform .25s var(--ease)}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover{background:#f6f58a}
.btn-dark{background:var(--ink);color:var(--t-light)}
.btn-dark:hover{background:var(--blue)}
.btn-sm{min-height:46px;padding:0 20px;font-size:16px}
.link-arrow{display:inline-flex;gap:10px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--yellow);padding:6px 0;font-size:18px}
.link-arrow span{transition:transform .3s var(--ease)}
.link-arrow:hover span{transform:translateX(5px)}

/* Nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);transition:color .4s,transform .6s var(--ease)}
.nav-logo{display:inline-flex;align-items:center;min-height:44px}
.nav-logo img{width:clamp(118px,10vw,150px);height:auto}
.nav-links{display:flex;gap:30px}
.nav-links a{text-decoration:none;font-weight:600;font-size:16px;position:relative;display:inline-flex;align-items:center;min-height:44px}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}
.menu-lines,.menu-lines::before{display:block;width:20px;height:2px;background:currentColor;position:relative;transition:transform .35s var(--ease)}
.menu-lines::before{content:"";position:absolute;top:6px}
.menu-lines{transform:translateY(-3px)}
.menu-open .menu-lines{transform:rotate(45deg)}
.menu-open .menu-lines::before{transform:translate(0,-6px) rotate(-90deg)}
.nav.on-light{color:var(--t-dark)}
.nav.on-light .nav-logo img{filter:none}
.nav-logo .l-dark{display:none}
.nav.hide{transform:translateY(-110%)}
.menu{position:fixed;inset:0;z-index:55;background:var(--yellow);color:var(--ink);padding:120px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between}
.menu[hidden]{display:none}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font:800 italic clamp(46px,8vw,110px)/.95 var(--display);text-transform:uppercase;text-decoration:none}
.menu nav a:hover{color:var(--blue)}
.menu-foot{display:flex;gap:48px;flex-wrap:wrap;font-weight:600}
.menu-foot a{text-decoration:none}

/* Stage (fixed 3D canvas) */
.stage{position:fixed;inset:0;width:100%;height:100vh;z-index:0;display:block;pointer-events:none;opacity:0}
html.full .stage{opacity:1}
.stage-lite{display:none}

/* Loader + build HUD */
.loader,.build-hud{display:none}
html.intro .loader{display:grid;position:fixed;inset:0;z-index:90;place-items:center;pointer-events:none}
.loader-plate{position:absolute;inset:0;background:var(--blue);display:grid;place-items:center;align-content:center;gap:26px}
.loader-logo{width:min(56vw,360px)}
.loader-count{margin:0;font:800 italic 22px/1 var(--display);color:var(--yellow);letter-spacing:.06em}
html.intro .build-hud{display:block;position:fixed;left:var(--pad);bottom:clamp(24px,5vh,56px);z-index:70;opacity:0;pointer-events:none}
.hud-kicker{font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow);margin:0 0 12px}
.hud-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:18px;flex-wrap:wrap;font:700 18px/1 var(--sans);color:#6b6d78}
.hud-steps li{transition:color .3s}
.hud-steps li.on{color:var(--t-light)}
.hud-steps li.now{color:var(--yellow)}
.hud-bar{width:min(520px,80vw);height:3px;background:#2a2d38;overflow:hidden}
.hud-bar span{display:block;height:100%;width:100%;background:var(--yellow);transform-origin:left;transform:scaleX(0)}
html.intro-done .loader,html.intro-done .build-hud{display:none}

/* HERO */
.hero{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:grid;align-content:end;padding:140px var(--pad) clamp(40px,8vh,90px);overflow:hidden}
.hero-contours{position:absolute;inset:-10%;background:url(../img/contours.svg) center/cover no-repeat;opacity:.07;z-index:-1;pointer-events:none}
.hero-photo{position:absolute;inset:0;z-index:-2}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,.35),rgba(11,12,16,.2) 40%,rgba(11,12,16,.92))}
html.full .hero-photo{display:none}
.hero-inner{max-width:900px;position:relative}
.hero-title{font:800 italic clamp(68px,10.6vw,196px)/.84 var(--display);text-transform:uppercase;margin:0 0 28px;letter-spacing:-.01em}
.hero-title em{font-style:italic;color:var(--yellow)}
.hero-sub{max-width:38ch;font-size:clamp(19px,1.45vw,23px);color:var(--t-light);margin:0 0 30px}
.hero-card{position:absolute;right:var(--pad);bottom:clamp(40px,8vh,90px);width:260px;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(11,12,16,.55);backdrop-filter:blur(10px)}
.hero-card p{margin:0}
.hero-card .mono{color:var(--yellow)}
.hero-card-big{font:800 italic 44px/1 var(--display);text-transform:uppercase;margin:6px 0 8px!important}
.hero-card-small{font-size:16px;color:var(--t-muted-d);line-height:1.45}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);margin:0;color:var(--t-muted-d);display:flex;gap:10px;align-items:center;font-size:12px}
.scroll-cue span{width:1px;height:28px;background:var(--yellow);animation:cue 1.8s 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}}
html.intro:not(.intro-done) .hero-inner,html.intro:not(.intro-done) .hero-card,html.intro:not(.intro-done) .scroll-cue,html.intro:not(.intro-done) .nav{opacity:0}


/* Shared section rhythm */
.sec-head{max-width:var(--max);margin:0 auto 44px}
.sec-head.center{text-align:center}
.sec-head.center .kicker{justify-content:center}

/* STORY */
.story{position:relative;z-index:1;background:var(--cream);color:var(--t-dark);padding:0 var(--pad);border-radius:28px 28px 0 0;isolation:isolate}
.story-pin{position:relative;max-width:var(--max);margin:0 auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:var(--sec) 0}
.story-text{font:800 italic clamp(38px,5vw,88px)/1 var(--display);text-transform:uppercase;margin:0;max-width:22ch;text-wrap:balance}
.story-text .w{display:inline-block;white-space:pre}
.story-text mark{background:none;color:inherit;position:relative;white-space:nowrap;z-index:0}
.story-text mark .hl{position:absolute;left:-.08em;right:-.08em;top:.06em;bottom:.02em;background:var(--yellow);z-index:-1;transform-origin:left}
.story-sign{font:800 italic clamp(28px,3vw,48px)/1 var(--display);color:var(--blue);margin:36px 0 0;text-transform:uppercase;transform:rotate(-4deg);transform-origin:left}
.story-arc{position:absolute;inset:0 calc(var(--pad)*-1);width:calc(100% + var(--pad)*2);height:100%;overflow:visible;pointer-events:none;z-index:-1}
.story-arc path{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-dasharray:2 10;stroke-linecap:round;opacity:.45}
.story-arc circle{fill:var(--yellow);stroke:var(--t-dark);stroke-width:2}

/* PROJECTS */
.work{position:relative;z-index:1;background:var(--cream);color:var(--t-dark);padding:0 var(--pad) var(--sec)}
.work-head{max-width:var(--max);margin:0 auto 40px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:end}
.work-head .h2{margin:0}
.work-head .kicker{grid-column:1/-1;margin:0}
.work-lead{margin:0;font-size:clamp(18px,1.3vw,21px);font-weight:600;color:var(--t-muted-l);max-width:32ch}
.collage{position:relative;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(0,auto);gap:clamp(14px,1.6vw,24px);align-items:start}
.ph{margin:0;position:relative}
.ph img{width:100%;border-radius:14px;object-fit:cover;aspect-ratio:4/3;box-shadow:0 24px 50px -30px rgba(0,0,0,.45);background:#dcdbd0}
.ph figcaption{font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-top:10px;color:var(--t-muted-l)}
.ph-1{grid-column:1/6}
.ph-2{grid-column:6/10;margin-top:60px}
.ph-3{grid-column:10/13;margin-top:-10px}.ph-3 img{aspect-ratio:3/4}
.ph-4{grid-column:2/6}
.ph-5{grid-column:6/9}.ph-5 img{aspect-ratio:3/4}
.ph-6{grid-column:9/13;margin-top:40px}
.work-more{max-width:var(--max);margin:40px auto 0}
.link-arrow{color:inherit}
[data-theme=light] .link-arrow{border-color:var(--blue)}

/* COURTS */
.courts{position:relative;z-index:1;background:var(--ink);padding:var(--sec) var(--pad)}
.courts-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,36px);max-width:var(--max);margin:0 auto}
.court-card{position:relative;padding:clamp(18px,1.8vw,26px);border-radius:24px;background:var(--ink-2);overflow:hidden;display:flex;flex-direction:column;gap:16px;border:1px solid #232633}
.cc-img{border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:#141a3d}
.cc-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--ease)}
.court-card:hover .cc-img img{transform:scale(1)}
.cc-diagram svg{width:100%;height:100%;display:block}
.cc-title{font:800 italic clamp(52px,6vw,108px)/.85 var(--display);text-transform:uppercase;margin:6px 0 0}
.court-card:nth-child(2) .cc-title{color:var(--yellow)}
.cc-text{font-size:clamp(18px,1.25vw,20px);color:var(--t-muted-d);margin:0;max-width:44ch;flex:1}
.cc-text strong{color:var(--t-light)}
.courts-note{text-align:center;font-size:clamp(18px,1.4vw,22px);font-weight:600;margin:40px auto 0;max-width:52ch;line-height:1.55}
.courts-note a{color:var(--yellow)}

/* BUILD */
.build{position:relative;z-index:1;background:transparent}
.build-pin{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(340px,480px) 1fr;align-items:center;padding:96px var(--pad) 48px;max-width:1600px;margin:0 auto}
.build .h2{font-size:clamp(44px,5vw,88px);margin-bottom:22px}
.layers{list-style:none;margin:0;padding:0;display:grid}
.layers li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:11px 0;border-top:1px solid var(--line-d);transition:opacity .4s}
.layers li:last-child{border-bottom:1px solid var(--line-d)}
.layers h3{margin:0;font:800 italic 28px/1.05 var(--display);text-transform:uppercase}
.layers p{margin:6px 0 0;font-size:17px;color:var(--t-muted-d);line-height:1.5}
.layers .mono{color:var(--yellow);padding-top:5px}
html.full .layers li{opacity:.55}
html.full .layers li.on{opacity:1}
html.full .layers li.on h3{color:var(--yellow)}
html.full .layers li p{max-height:0;overflow:hidden;margin:0;transition:max-height .5s var(--ease),margin .5s var(--ease)}
html.full .layers li.on p{max-height:6em;margin-top:6px}
.build-note{font-size:15px;color:#a3a4ae;margin:18px 0 0;max-width:42ch}
.build-stack{display:none}

/* WARRANTY */
.warranty{position:relative;z-index:1;background:var(--yellow);color:var(--ink);padding:var(--sec) var(--pad);border-radius:28px}
.w-wrap{max-width:var(--max);margin:0 auto}
.w-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:10px}
.w-title{font:700 clamp(24px,2.2vw,34px)/1.2 var(--sans);margin:0;letter-spacing:-.01em}
.w-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px)}
.w-num{font:800 italic clamp(120px,16vw,260px)/.82 var(--display);margin:0;display:flex;align-items:flex-end;gap:14px;letter-spacing:-.02em}
.w-num small{font-size:clamp(30px,3vw,52px);line-height:1;padding-bottom:.3em;text-transform:uppercase}
.w-text{font-size:clamp(18px,1.4vw,22px);font-weight:600;max-width:30ch;margin:14px 0 0}
.w-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:2px solid var(--ink);padding-top:24px;margin-top:44px}
.w-stamp{font-size:clamp(18px,1.4vw,22px);font-weight:700;margin:0;max-width:46ch}

/* PROCESS */
.process{position:relative;z-index:1;background:var(--ink);padding:var(--sec) var(--pad)}
.process-track{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.4vw,20px);max-width:var(--max);margin:0 auto}
.step{background:var(--ink-2);border:1px solid #232633;border-radius:18px;padding:12px 12px 22px;display:flex;flex-direction:column}
.step img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:16px}
.step .mono{color:var(--yellow);margin:0 6px}
.step h3{font:800 italic clamp(30px,2.4vw,40px)/1 var(--display);text-transform:uppercase;margin:6px 6px 8px}
.step p{margin:0 6px;color:var(--t-muted-d);font-size:17px;line-height:1.5}

/* REACH (Bounce blue) */
.reach{position:relative;z-index:1;background:var(--blue);color:#fff;padding:0 0 var(--sec);overflow:hidden}
.marquee{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.25);padding:20px 0;margin-bottom:clamp(48px,6vw,80px)}
.marquee-row{display:flex;width:max-content;animation:marq 40s linear infinite}
.marquee-row span{font:800 italic clamp(40px,5vw,84px)/1 var(--display);text-transform:uppercase;padding:0 .4em;white-space:nowrap}
.marquee-row span::after{content:"";display:inline-block;width:.32em;height:.32em;border-radius:50%;background:var(--yellow);vertical-align:middle;margin-left:.8em}
@keyframes marq{to{transform:translateX(-50%)}}
.reach-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(24px,5vw,80px);align-items:end;padding:0 var(--pad);max-width:calc(var(--max) + var(--pad)*2);margin:0 auto}
.reach-lead{font:700 clamp(28px,3vw,48px)/1.18 var(--sans);letter-spacing:-.02em;margin:0;text-wrap:balance}
.reach-places{margin:0;font-size:clamp(17px,1.2vw,19px);color:#e3e6ff}

/* FAQ */
.faq{position:relative;z-index:1;background:var(--cream);color:var(--t-dark);padding:var(--sec) var(--pad) 0}
.faq-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,90px);align-items:start}
.faq .sec-head{margin:0}
.faq-lead{font-size:clamp(18px,1.3vw,21px);color:var(--t-muted-l);margin:0}
.faq-lead a{color:var(--blue);font-weight:700}
.faq-list details{border-top:1px solid #cfcdc0}
.faq-list details:last-child{border-bottom:1px solid #cfcdc0}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;font-weight:700;font-size:clamp(18px,1.35vw,21px)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--t-dark);display:grid;place-items:center;font-weight:600;font-size:22px;line-height:1;transition:transform .3s var(--ease),background .3s}
.faq-list details[open] summary::after{transform:rotate(45deg);background:var(--yellow);border-color:var(--yellow)}
.faq-list details p{margin:0 0 18px;max-width:60ch;color:var(--t-muted-l);font-size:18px}
.faq-list details a{color:var(--blue);font-weight:700}

/* QUOTE */
.quote{position:relative;z-index:1;background:var(--cream);color:var(--t-dark);padding:var(--sec) var(--pad)}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);max-width:var(--max);margin:0 auto;padding:clamp(24px,3vw,48px);background:var(--paper);border-radius:28px;border:1px solid #e2e1d6}
.quote-lead{font-size:clamp(18px,1.3vw,21px);max-width:40ch;margin:0 0 24px;color:var(--t-muted-l)}
.contact-list{list-style:none;margin:0;padding:0}
.contact-list li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid #dddcd0;align-items:baseline}
.contact-list .mono{color:var(--t-muted-l);font-size:13px}
.contact-list a{font-weight:700;font-size:clamp(18px,1.25vw,20px);text-decoration:none;border-bottom:2px solid var(--yellow-d);display:inline-block;padding:9px 0 7px}
.contact-list a:hover{color:var(--blue)}
.form{display:grid;gap:16px;align-content:start}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:8px;font-weight:700;font-size:17px}
.form input,.form textarea{font:500 18px/1.4 var(--sans);padding:14px 16px;min-height:52px;border:1.5px solid #b5b4a8;border-radius:12px;background:#fff;color:var(--t-dark);width:100%}
.form input:focus,.form textarea:focus{outline:3px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.form legend{font-weight:700;font-size:17px;margin-bottom:8px;width:100%;padding:0}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer;min-height:0}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1.5px solid #b5b4a8;border-radius:999px;font-weight:700;font-size:16px;background:#fff}
.chip input:checked+span{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.chip input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.form .btn{justify-self:start}
.form-status{margin:0;font-weight:600;color:var(--blue);min-height:1.6em}

/* FOOTER */
.foot{position:relative;z-index:1;background:var(--ink);padding:var(--sec) var(--pad) 36px;overflow:hidden}
.foot>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.foot-cta{display:grid;gap:12px;justify-items:start;padding-bottom:56px;margin-bottom:48px;border-bottom:1px solid var(--line-d)}
.foot-cta-title{font:700 clamp(30px,3.2vw,54px)/1.1 var(--sans);letter-spacing:-.02em;margin:0}
.foot-cta-phone{margin:0 0 10px;font:800 italic clamp(44px,5.6vw,96px)/1 var(--display)}
.foot-cta-phone a{text-decoration:none;color:var(--yellow)}
.foot-big{font:800 italic clamp(96px,17vw,300px)/.8 var(--display);text-transform:uppercase;margin-bottom:56px;display:flex;flex-wrap:wrap;gap:0 .2em}
.foot-big span:last-child{color:var(--yellow)}
.foot-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr 1fr;gap:28px;border-top:1px solid var(--line-d);padding-top:36px}
.foot-grid p{margin:0 0 6px;line-height:1.7}
.foot-grid .mono{color:var(--yellow);font-size:13px}
.foot-grid a{text-decoration:none;display:inline-block;padding:2px 0}
.foot-grid a:hover{color:var(--yellow)}
.foot-logo{width:160px}
.foot-legal{margin-top:40px;font-size:15px;color:#a3a4ae}

/* Cursor */
.cursor{display:none;transition:opacity .3s}
@media (hover:hover) and (pointer:fine){
  html.full .cursor{display:block;position:fixed;inset:0;pointer-events:none;z-index:120}
  .cursor-dot,.cursor-ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
  .cursor-dot{width:8px;height:8px;background:var(--yellow);mix-blend-mode:difference}
  .cursor-ring{width:40px;height:40px;border:1.5px solid var(--yellow);transition:width .3s var(--ease),height .3s var(--ease),background .3s;opacity:.7}
  .cursor.big .cursor-ring{width:84px;height:84px;background:rgba(235,234,100,.15)}
}

/* Small laptop / tablet */
@media (max-width:1180px){
  .nav-links{gap:22px}
  .process-track{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr 1fr}
  .foot-grid>div:first-child{grid-column:1/-1}
}
@media (min-width:800px) and (max-width:1100px){
  .nav-links{display:none}
  .build-pin{grid-template-columns:minmax(300px,400px) 1fr}
  .hero-card{display:none}
}

/* ---------- PHONE / LITE (<800px) ---------- */
@media (max-width:799px){
  :root{--sec:72px;--pad:20px}
  body{font-size:18px}
  .nav{padding:12px 16px}
  .nav-links{display:none}
  .nav .btn-sm{min-height:44px;padding:0 16px;font-size:15px}
  .menu-btn{width:46px;height:46px}
  .hero{padding:110px 20px 56px}
  .hero-title{font-size:clamp(54px,16vw,88px)}
  .hero-card{position:relative;right:auto;bottom:auto;width:auto;margin-top:28px}
  .hero-photo::after{background:linear-gradient(180deg,rgba(11,12,16,.55),rgba(11,12,16,.45) 35%,rgba(11,12,16,.95))}
  .scroll-cue{display:none}
  html.lite .stage-lite{display:grid;position:fixed;inset:0;z-index:80;place-items:center;background:var(--ink);pointer-events:none}
  html.intro-done .stage-lite{display:none}
  .plan{width:min(60vw,240px);height:auto;overflow:visible}
  .plan *{fill:none;stroke-linecap:round}
  .pl-wire{stroke:var(--yellow);stroke-width:1.5;stroke-dasharray:1200;stroke-dashoffset:1200}
  .pl-turf{fill:#173fa8!important;stroke:none;opacity:0}
  .pl-lines path{stroke:#fff;stroke-width:2;opacity:0}
  .pl-steel{stroke:#5c6cf0;stroke-width:4;opacity:0}.pl-steel circle{fill:#5c6cf0}
  .pl-glass path{stroke:#cfe4ff;stroke-width:3;opacity:0}
  .pl-mesh path{stroke:#9aa2b8;stroke-width:3;stroke-dasharray:3 4;opacity:0}
  .pl-net path{stroke:#fff;stroke-width:2;opacity:0}
  .pl-lights circle{fill:#fff6d8!important;opacity:0;filter:drop-shadow(0 0 10px #fff3c4)}
  html.lite .build-hud{left:20px;right:20px;bottom:28px}
  .hud-steps{gap:8px 14px;font-size:16px}
  .story-pin{min-height:0;padding:var(--sec) 0}
  .story-text{font-size:clamp(30px,9vw,46px);max-width:none}
  .story-arc{display:none}
  .work-head{grid-template-columns:1fr;gap:14px}
  .collage{grid-template-columns:1fr 1fr;gap:14px}
  .ph{grid-column:auto!important;margin-top:0!important}
  .ph-1,.ph-6{grid-column:1/-1!important}
  .ph-3 img,.ph-5 img{aspect-ratio:3/4}
  .ph-2 img,.ph-4 img{aspect-ratio:3/4}
  .ph figcaption{font-size:13px}
  .courts-grid{grid-template-columns:1fr}
  .cc-title{font-size:clamp(52px,15vw,72px)}
  .build-pin{grid-template-columns:1fr;padding:var(--sec) 20px;background:var(--ink);min-height:0}
  .build-stack{display:grid;gap:8px;margin-top:28px;perspective:900px}
  .stack-layer{height:52px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 16px;font:800 italic 22px/1 var(--display);text-transform:uppercase;transform:rotateX(28deg);border:1px solid #33374a;color:#fff}
  .stack-layer span{font:500 13px/1 var(--mono);font-style:normal;color:var(--yellow)}
  .sl-1{background:#173fa8}.sl-2{background:#2434b8}.sl-3{background:rgba(207,228,255,.16);border-color:#cfe4ff}
  .sl-4{background:repeating-linear-gradient(90deg,#3a3f55 0 2px,transparent 2px 10px),#14161d}.sl-5{background:#2a2a18;color:var(--yellow);box-shadow:0 0 28px -6px rgba(235,234,100,.5)}.sl-6{background:#1d2029}
  .warranty{border-radius:22px}
  .w-grid{grid-template-columns:1fr 1fr;gap:16px}
  .w-num{font-size:clamp(96px,30vw,150px);gap:6px}
  .w-num small{font-size:26px}
  .w-text{font-size:17px}
  .w-foot{margin-top:32px}
  .process-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .process-track::-webkit-scrollbar{display:none}
  .step{flex:none;width:78vw;scroll-snap-align:start}
  .reach-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr;padding:20px;border-radius:20px}
  .form-row{grid-template-columns:1fr}
  .contact-list li{grid-template-columns:1fr;gap:2px}
  .contact-list a{font-size:19px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>div:first-child{grid-column:1/-1}
  .foot-grid a{word-break:normal}
  .foot-grid>div:nth-child(3){grid-column:1/-1}
}
@media (max-width:380px){
  .w-grid{grid-template-columns:1fr}
  .nav .btn-sm{padding:0 12px}
  .hero-title{font-size:clamp(50px,15.5vw,60px)}
}
/* Reduced motion: everything static and visible */
html.reduced .stage{opacity:0!important}
html.reduced .hero-photo{display:block!important}
html.reduced .marquee-row{animation:none;flex-wrap:wrap;width:auto}
html.reduced .layers li{opacity:1!important}
html.reduced .layers li p{max-height:none!important;margin-top:6px!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
html.no-js .hero-photo{display:block}
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.wm>.w{display:inline-block}
.nav-logo{display:block;border-radius:12px;transition:background .4s,padding .4s}
.nav.on-light .nav-logo{background:var(--ink);padding:8px 12px}
.nav.on-yellow .btn-yellow,.nav.on-blue .btn-yellow{background:var(--ink);color:var(--yellow)}
.nav.on-blue{color:#fff}
