:root{
  --ink:#14060b;--deep:#1c0910;--wine:#2b0d17;--maroon:#4e192b;--plum:#3a1220;
  --gold:#f6c453;--coral:#f2876d;--red:#e0262e;--cream:#fff4ec;--sand:#e2c6ba;
  --mut:rgba(255,244,236,.66);--line:rgba(255,244,236,.12);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--pad:clamp(20px,5vw,72px);
}
@font-face{font-family:"Fraunces";src:url(fonts/Fraunces-normal.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/Fraunces-italic.woff2) format("woff2");font-weight:300 600;font-style:italic;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-normal.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--ink)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--cream);font:400 17px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
em{font-style:italic;color:var(--gold)}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600}
.skip:focus{top:12px}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.cursor-light{position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(closest-side,rgba(246,196,83,.10),rgba(242,135,109,.05) 50%,transparent);opacity:0;transition:opacity .6s;will-change:transform}
body.has-cursor .cursor-light{opacity:1}

.eyebrow{font:600 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.eyebrow.sm{margin:34px 0 14px}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);transition:background .5s var(--ease),backdrop-filter .5s,padding .5s var(--ease),transform .6s var(--ease)}
.hdr.solid{background:rgba(20,6,11,.72);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}
.hdr.hide{transform:translateY(-100%)}
.logo{display:flex;align-items:center;gap:9px}
.logo svg{width:30px;height:25px;filter:drop-shadow(0 0 10px rgba(224,38,46,.45))}
.logo b{font-weight:800;font-size:1.08rem;letter-spacing:-.02em}
.logo span{font-weight:500;font-size:1.08rem;color:var(--mut);letter-spacing:-.02em}
.nav{display:flex;align-items:center;gap:30px}
.nav-links{display:none;gap:28px;font-size:.9rem;font-weight:500;color:var(--mut)}
.nav-links a{position:relative;padding:4px 0;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover{color:var(--cream)}.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(246,196,83,.35);font-weight:600;font-size:.92rem;background:rgba(246,196,83,.06);transition:background .3s,border-color .3s}
.pill:hover{background:rgba(246,196,83,.14);border-color:var(--gold)}
.pill-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:pulse 2.4s infinite}
@keyframes pulse{50%{opacity:.35}}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media picture,.hero-img{width:100%;height:100%}
.hero-img{object-fit:cover;object-position:50% 40%;transform-origin:50% 45%;animation:kenburns 26s var(--ease) both;filter:saturate(.68) contrast(1.08) brightness(.7)}
@keyframes kenburns{from{transform:scale(1.22)}to{transform:scale(1.02)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(20,6,11,.55) 0%,rgba(20,6,11,.05) 28%,rgba(28,9,16,.35) 52%,rgba(20,6,11,.96) 92%),
  radial-gradient(120% 70% at 50% 110%,rgba(78,25,43,.9),transparent 60%);mix-blend-mode:normal}
.hero-shade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(110,32,58,.55),rgba(78,25,43,.25));mix-blend-mode:multiply}
.hero-in{width:100%;padding:0 var(--pad) clamp(84px,12vh,120px)}
.kicker{font:600 .74rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;overflow:hidden}
.kicker span{display:inline-block}
h1{font-family:var(--serif);font-weight:350;font-size:clamp(3.05rem,13.4vw,9.6rem);line-height:.94;letter-spacing:-.035em;font-variation-settings:"opsz" 144}
h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
h1 .ln>span{display:inline-block}
h1 em{font-weight:300}
.lede{max-width:34ch;margin-top:24px;font-size:1.08rem;color:var(--mut)}
.hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:32px}
.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid rgba(255,244,236,.28);font-weight:600;font-size:.98rem;transition:border-color .3s,background .3s}
.ghost:hover{border-color:var(--cream);background:rgba(255,244,236,.06)}
.scroll-cue{position:absolute;right:var(--pad);bottom:36px;display:none;align-items:center;gap:12px;font:600 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mut);writing-mode:vertical-rl}
.scroll-cue span{width:1px;height:56px;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* $300M button — dark luxe edition */
.mb{--mx:50%;--my:50%;position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;height:72px;padding:0 9px 0 26px;border-radius:999px;background:linear-gradient(180deg,#2a1219,#170810);color:var(--cream);font-size:1.02rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;
  box-shadow:0 0 0 1px rgba(246,196,83,.38) inset,0 1px 0 rgba(255,255,255,.12) inset,0 0 34px -6px rgba(246,196,83,.45),0 20px 50px -20px rgba(246,196,83,.5);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);will-change:transform;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mb-halo{position:absolute;inset:-2px;z-index:-2;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 60%,rgba(246,196,83,.95) 75%,rgba(242,135,109,.9) 82%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 4.5s linear infinite}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spin{to{--a:360deg}}
.mb-glow{position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;background:radial-gradient(150px circle at var(--mx) var(--my),rgba(246,196,83,.32),rgba(246,196,83,.06) 45%,transparent 70%);opacity:0;transition:opacity .4s var(--ease)}
.mb:hover .mb-glow{opacity:1}
.mb:hover{box-shadow:0 0 0 1px rgba(246,196,83,.7) inset,0 1px 0 rgba(255,255,255,.14) inset,0 0 54px -4px rgba(246,196,83,.6),0 24px 60px -18px rgba(246,196,83,.6)}
.mb-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(224,38,46,.2),0 0 14px rgba(224,38,46,.9);flex:none}
.mb-t{position:relative;margin-right:auto}
.mb-ar{width:54px;height:54px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;flex:none;margin-left:8px;box-shadow:0 0 24px rgba(246,196,83,.55);transition:transform .6s var(--ease)}
.mb-ar svg{width:22px;height:22px;transform:rotate(-45deg);transition:transform .6s var(--ease)}
.mb:hover .mb-ar svg{transform:rotate(0)}
.mb:hover .mb-ar{transform:scale(1.05)}
.mb:active{transform:scale(.965)!important;transition-duration:.15s}

/* manifesto */
.manifesto{padding:clamp(110px,18vw,220px) var(--pad);position:relative}
.mf{font-family:var(--serif);font-weight:350;font-size:clamp(2.3rem,8.4vw,6.6rem);line-height:1.02;letter-spacing:-.03em;max-width:15ch;font-variation-settings:"opsz" 144}
.mf-l{display:inline}
.mf .w{display:inline-block;color:rgba(255,244,236,.14);transition:color .2s}
.mf .w.on{color:var(--cream)}
.mf em .w.on,.mf em .w{font-style:italic}
.mf em .w.on{color:var(--gold)}

/* horizontal services */
.hs{position:relative;padding:20px 0 clamp(90px,12vw,140px)}
.hs-head{padding:0 var(--pad);display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px 20px}
.hs-head .eyebrow{grid-column:1/-1}
.hs-head h2,.sec-head h2,.how-side h2,.free h2,.sit h2,.contact h2{font-family:var(--serif);font-weight:350;letter-spacing:-.03em;line-height:.98;font-variation-settings:"opsz" 144}
.hs-head h2{font-size:clamp(2.8rem,11vw,7rem);margin-top:14px}
.hs-count{font:500 .9rem/1 var(--sans);color:var(--mut);font-variant-numeric:tabular-nums;padding-bottom:12px}
.hs-cur{color:var(--gold)}
.hs-bar{grid-column:1/-1;height:1px;background:var(--line);margin-top:22px;position:relative;overflow:hidden}
.hs-bar span{position:absolute;inset:0;background:linear-gradient(90deg,var(--coral),var(--gold));transform-origin:left;transform:scaleX(.25)}
.hs-track{display:flex;gap:14px;padding:30px var(--pad) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-padding-left:var(--pad)}
.hs-track::-webkit-scrollbar{display:none}
.hs-card{flex:0 0 82%;scroll-snap-align:start;position:relative;border-radius:22px;overflow:hidden;background:var(--wine);border:1px solid var(--line);min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.hs-fig{position:absolute;inset:0;margin:0;z-index:-1}
.hs-fig img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.72) contrast(1.05);transform:scale(1.06);transition:transform 1.2s var(--ease),filter .8s}
.hs-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,9,16,.1) 20%,rgba(28,9,16,.92) 82%),linear-gradient(0deg,rgba(78,25,43,.35),rgba(78,25,43,.35));}
.hs-card:hover .hs-fig img{transform:scale(1);filter:saturate(.95) brightness(.8)}
.hs-body{padding:26px 24px 28px}
.hs-n{font:600 .76rem/1 var(--sans);letter-spacing:.2em;color:var(--gold)}
.hs-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,6.6vw,2.6rem);line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.hs-card p{color:var(--mut);max-width:30ch}

/* free band */
.free{position:relative;margin:0 var(--pad);padding:clamp(70px,12vw,150px) clamp(22px,6vw,90px);border-radius:28px;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#3a1220,#20090f 70%);border:1px solid rgba(246,196,83,.18)}
.free-glow{position:absolute;z-index:-1;width:120%;aspect-ratio:1;left:-10%;top:30%;border-radius:50%;background:radial-gradient(closest-side,rgba(246,196,83,.32),rgba(242,135,109,.16) 45%,transparent 72%);filter:blur(10px)}
.free h2{font-size:clamp(2.6rem,10vw,7.4rem);margin-top:22px;max-width:12ch}
.free-sub{margin-top:24px;max-width:36ch;color:var(--mut);font-size:1.06rem}

/* promise */
.promise{padding:clamp(100px,14vw,180px) var(--pad) 40px}
.sec-head h2{font-size:clamp(2.6rem,10vw,6.4rem);margin-top:14px;max-width:11ch}
.pr-list{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--line)}
.pr{display:grid;grid-template-columns:52px 1fr;gap:6px 14px;padding:28px 0;border-bottom:1px solid var(--line);position:relative}
.pr::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--gold),transparent);transform-origin:left;transform:scaleX(var(--s,0))}
.pr-n{font:500 .85rem/1.9 var(--sans);color:var(--gold);grid-row:span 2}
.pr h3{font-family:var(--serif);font-size:clamp(1.6rem,5.6vw,2.6rem);line-height:1.08;letter-spacing:-.02em}
.pr p{color:var(--mut)}

/* how */
.how{padding:clamp(90px,12vw,160px) var(--pad)}
.how-side h2{font-size:clamp(2.6rem,10vw,6.4rem);margin-top:14px}
.how-steps{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:14px}
.st{display:flex;gap:20px;align-items:flex-start;padding:28px 24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,244,236,.05),rgba(255,244,236,.015));border:1px solid var(--line)}
.st-n{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.4rem;color:var(--ink);background:var(--gold);box-shadow:0 0 26px rgba(246,196,83,.4)}
.st h3{font-family:var(--serif);font-size:1.7rem;line-height:1.1;letter-spacing:-.015em}
.st p{color:var(--mut);margin-top:6px}

/* sitters */
.sit{padding:clamp(90px,12vw,160px) var(--pad);background:linear-gradient(180deg,var(--ink),var(--deep) 30%,var(--deep));border-top:1px solid var(--line)}
.new{display:inline-block;background:var(--gold);color:var(--ink);padding:5px 9px;border-radius:999px;letter-spacing:.12em;font-size:.66rem}
.sit .eyebrow::before{display:none}
.sit h2{font-size:clamp(2.4rem,9vw,5.6rem);margin-top:22px;max-width:16ch}
.sit-lede{margin-top:22px;color:var(--mut);max-width:44ch;font-size:1.06rem}
.sit-badge{display:inline-flex;gap:10px;align-items:center;margin-top:22px;padding:12px 18px;border-radius:16px;background:rgba(246,196,83,.08);border:1px solid rgba(246,196,83,.3);color:var(--cream);font-weight:600;font-size:.95rem}
.sit-badge span{color:var(--gold)}
.sit-grid{display:grid;gap:44px;margin-top:56px}
.sit-pts{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.sit-pts li{padding:20px 0;border-bottom:1px solid var(--line)}
.sit-pts h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.01em}
.sit-pts p{color:var(--mut);margin-top:4px;font-size:.98rem}
.sit-steps{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.sit-steps li{display:flex;align-items:center;gap:14px;font-weight:500}
.sit-steps span{width:32px;height:32px;border-radius:50%;border:1px solid rgba(246,196,83,.5);color:var(--gold);display:grid;place-items:center;font-size:.85rem;flex:none}

/* form */
.sit-form{position:relative;padding:30px 20px 26px;border-radius:26px;background:linear-gradient(180deg,rgba(255,244,236,.06),rgba(255,244,236,.02));border:1px solid rgba(246,196,83,.22);box-shadow:0 40px 90px -50px rgba(246,196,83,.35)}
.sit-form h3{font-family:var(--serif);font-size:2rem;letter-spacing:-.02em}
.sit-fsub{color:var(--mut);margin:6px 0 22px;font-size:.96rem}
.sf-grid{display:grid;gap:14px}
.sf{display:grid;gap:7px;font-size:.84rem;font-weight:600;color:var(--sand)}
.sf small{font-weight:400;color:var(--mut)}
.sf input,.sf select{width:100%;min-height:52px;padding:12px 15px;border-radius:14px;border:1px solid rgba(255,244,236,.16);background:rgba(10,3,6,.55);color:var(--cream);font:500 16px/1.3 var(--sans);transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.sf select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.sf select option{background:#1c0910;color:var(--cream)}
.sf input:focus,.sf select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(246,196,83,.15)}
.sf input.bad,.sf select.bad{border-color:#ff8a86;box-shadow:0 0 0 4px rgba(255,138,134,.15)}
.sf-days{border:0;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.sf-days legend{font-size:.84rem;font-weight:600;color:var(--sand);margin-bottom:10px;padding:0}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,244,236,.2);font-size:.92rem;font-weight:500;transition:all .25s}
.chip input:checked+span{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.sf-ins{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.sf-ins h4{margin:0 0 14px;font:600 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.sf-file{position:relative;display:flex;gap:14px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:16px;border:1px dashed rgba(246,196,83,.35);cursor:pointer;transition:background .25s}
.sf-file:hover{background:rgba(246,196,83,.05)}
.sf-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.sf-fi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(246,196,83,.12);color:var(--gold);flex:none}
.sf-fi svg{width:20px;height:20px}
.sf-ft{display:grid;gap:2px;min-width:0}
.sf-ft b{font-size:.9rem;font-weight:600}
.sf-ft small{color:var(--mut);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-err{margin-top:14px;color:#ff8a86;font-weight:600;font-size:.92rem}
.sf-send{margin-top:22px;width:100%;min-height:58px;border:0;border-radius:999px;background:var(--gold);color:var(--ink);font:700 1rem/1 var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 0 34px -6px rgba(246,196,83,.6);transition:transform .3s var(--ease),box-shadow .3s}
.sf-send svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.sf-send:hover{box-shadow:0 0 50px -4px rgba(246,196,83,.8)}.sf-send:hover svg{transform:translateX(4px)}
.sf-send:active{transform:scale(.97)}
.sf-done{margin-top:20px;padding:20px;border-radius:18px;background:rgba(246,196,83,.08);border:1px solid rgba(246,196,83,.3)}
.sf-done .sit-ico{display:none}
.sf-done h3{font-size:1.4rem}.sf-done p{color:var(--mut);margin-top:8px}
.sit-form.sent .sf-grid,.sit-form.sent .sf-days,.sit-form.sent .sf-ins,.sit-form.sent .sf-file,.sit-form.sent .sf-send{display:none}

/* contact */
.contact{position:relative;padding:clamp(110px,16vw,200px) var(--pad) clamp(80px,10vw,120px);overflow:hidden;isolation:isolate;text-align:left}
.contact-glow{position:absolute;z-index:-1;width:900px;max-width:160vw;aspect-ratio:1;left:50%;top:60%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(224,38,46,.22),rgba(78,25,43,.35) 50%,transparent 75%)}
.contact h2{font-size:clamp(4.2rem,22vw,15rem);line-height:.9;margin-top:18px}
.contact-cta{margin-top:40px;display:flex}
.contact-cta .mb{width:100%}
.contact-rows{margin-top:48px;display:grid;border-top:1px solid var(--line)}
.contact-rows a{display:flex;flex-direction:column;gap:4px;padding:22px 0;border-bottom:1px solid var(--line);transition:color .3s}
.contact-rows small{font:600 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.contact-rows span{font-family:var(--serif);font-size:clamp(1.5rem,6.4vw,3rem);letter-spacing:-.02em;overflow-wrap:anywhere}
.contact-rows a:hover span{color:var(--gold)}
.ftr{padding:30px var(--pad) calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);color:var(--mut);font-size:.86rem}

/* reveal base (JS adds .js) */
.js .fade-in{opacity:0;transform:translateY(18px)}
.js h1 .ln>span{transform:translateY(105%)}
.js .kicker span{transform:translateY(110%)}

@media (max-width:380px){.mb{font-size:.94rem;padding-left:20px;gap:10px}.mb-ar{width:48px;height:48px}}
@media (min-width:761px){
  body{font-size:18px}
  .hero-in{padding-bottom:110px;max-width:1500px}
  .hero-cta{flex-direction:row;align-items:center;gap:22px}
  .mb{height:80px;padding-left:32px;font-size:1.1rem}
  .mb-ar{width:62px;height:62px}
  .scroll-cue{display:flex}
  .lede{font-size:1.2rem}
  .free-sub{font-size:1.2rem}
  .sf-grid{grid-template-columns:1fr 1fr}
  .sit-form{padding:44px 40px 36px}
  .contact-rows{grid-template-columns:1fr 1fr;gap:0 40px}
  .contact-cta .mb{width:auto}
  .ftr{flex-direction:row;justify-content:space-between;align-items:center}
  .st{padding:34px 32px}
}
@media (min-width:1000px){
  .nav-links{display:flex}
  .hs{padding-bottom:0}
  .hs.is-pinned .hs-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
  .hs.is-pinned .hs-track{overflow:visible;scroll-snap-type:none;width:max-content;padding-top:44px;gap:24px}
  .hs-card{flex:0 0 min(44vw,640px);min-height:min(62vh,600px)}
  .hs-head{grid-template-columns:1fr auto}
  .promise{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:start}
  .pr-list{margin-top:0}
  .how{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:start}
  .how-side{position:sticky;top:130px}
  .how-steps{margin-top:0}
  .sit-grid{grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
  .sit-info{position:sticky;top:120px}
  .contact h2{font-size:clamp(8rem,16vw,15rem)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-img{transform:none}
  .js .fade-in,.js h1 .ln>span,.js .kicker span{opacity:1;transform:none}
  .mf .w{color:var(--cream)}
}
