/* VL Studio v4 — "From chaos to clarity": editorial luxury over a living landscape */
@font-face{font-family:'Instrument Serif';src:url(../fonts/InstrumentSerif-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url(../fonts/InstrumentSerif-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-300.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-600.woff2) format('woff2');font-weight:600;font-display:swap}

:root{
  --bg:#0a0c0f; --ink:#f1efe9; --ink2:#d3d1ca; --muted:#a3a7ad; --dim:#7f858d;
  --line:rgba(241,239,233,.14); --line2:rgba(241,239,233,.26);
  --gold:#d9bf8c; --gold2:#ecd8ae; --glass:rgba(12,14,18,.58);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif; --sans:'Switzer',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --pad:clamp(20px,5vw,72px); --maxw:1280px; --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;overflow-x:clip}
body{font:400 16.5px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip;background:var(--bg)}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:rgba(217,191,140,.35)}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:var(--bg);padding:8px 14px}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);position:relative}
.narrow{max-width:900px;margin-left:max(0px,calc((100% - var(--maxw))/2))}
.nw{white-space:nowrap}

/* ---------- scene ---------- */
.scene{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#07090b}
.plates{position:absolute;inset:-3%;will-change:transform}
.plate{position:absolute;inset:0;opacity:0}
.plate img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.plate.p0{opacity:1}
.mist{position:absolute;inset:-20% -40%;pointer-events:none;opacity:0;mix-blend-mode:screen;
  background:radial-gradient(40% 30% at 30% 60%,rgba(210,220,230,.18),transparent 70%),radial-gradient(35% 25% at 70% 40%,rgba(210,220,230,.14),transparent 70%)}
html.motion .mist.m1{animation:drift 38s linear infinite}
html.motion .mist.m2{animation:drift 56s linear infinite reverse;transform:scale(1.3)}
@keyframes drift{from{translate:-6% 0}to{translate:6% 0}}
#fx{position:absolute;inset:0;width:100%;height:100%}
.flash{position:absolute;inset:0;background:radial-gradient(60% 50% at 60% 18%,rgba(220,230,255,.55),rgba(160,180,220,.12) 50%,transparent 75%);opacity:0;mix-blend-mode:screen}
/* readability: darker on the left (text column), lighter on the right where the waterfall lives */
.scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.86) 0%,rgba(8,10,13,.6) 36%,rgba(8,10,13,.1) 64%,rgba(8,10,13,.25) 100%),linear-gradient(0deg,rgba(8,10,13,.7) 0%,transparent 30%)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:34px;padding:22px max(var(--pad),calc((100% - var(--maxw))/2 + var(--pad)));transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(10,12,15,.64);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--line);padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:baseline;gap:9px;text-decoration:none;margin-right:auto}
.logo-vl{font:400 30px/1 var(--serif);letter-spacing:-.01em}
.logo-st{font:500 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.links{display:flex;gap:30px}
.links a{text-decoration:none;font:400 14px/1 var(--sans);letter-spacing:.04em;color:var(--ink2);transition:color .2s}
.links a:hover{color:var(--gold2)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:var(--ink);transition:transform .3s}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:45;background:rgba(10,12,15,.96);backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 var(--pad)}
.mnav[hidden]{display:none}
.mnav a{font:400 40px/1.35 var(--serif);text-decoration:none}
.mnav .btn{margin-top:26px;align-self:flex-start;font-size:15px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font:500 14.5px/1 var(--sans);letter-spacing:.03em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold2);color:#17130b}
.btn-gold:hover{background:#f5e6c6}
.btn-line{border-color:var(--line2);color:var(--ink);background:rgba(10,12,15,.25);backdrop-filter:blur(6px)}
.btn-line:hover{border-color:var(--ink)}
.nav-cta{min-height:42px;padding:0 20px;font-size:13.5px}

/* ---------- type ---------- */
.kicker,.num{font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.display{font:400 clamp(58px,9.4vw,152px)/.92 var(--serif);letter-spacing:-.025em;margin:26px 0 0}
.display em,.title em{font-style:italic;color:var(--gold2)}
.lede{font:300 clamp(18px,1.5vw,22px)/1.55 var(--sans);color:var(--ink2);max-width:40ch;margin-top:30px}
.title{font:400 clamp(38px,5vw,76px)/1.0 var(--serif);letter-spacing:-.02em;margin-top:22px;max-width:18ch;text-wrap:balance}
.title.big{font-size:clamp(44px,6.4vw,104px)}
.text{color:var(--ink2);font-size:17px;max-width:56ch;margin-top:24px;text-wrap:pretty}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding:120px 0 90px;position:relative}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.offer{margin-top:24px;font-size:13.5px;color:var(--muted);letter-spacing:.02em}
.scroll-cue{position:absolute;left:50%;bottom:28px;translate:-50% 0;width:26px;height:42px;border:1px solid var(--line2);border-radius:20px}
.scroll-cue span{position:absolute;left:50%;top:9px;width:2px;height:8px;margin-left:-1px;border-radius:2px;background:var(--gold2)}
html.motion .scroll-cue span{animation:cue 2s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:0;transform:translateY(14px)}100%{opacity:0}}

/* ---------- chapters ---------- */
.chapter{padding:clamp(110px,16vh,180px) 0;position:relative}
#chaos{min-height:90svh;display:flex;align-items:center}
.head{margin-bottom:56px}

/* services — an editorial index, not cards */
.svc-list{border-top:1px solid var(--line2)}
.svc{display:grid;grid-template-columns:80px minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s,padding .3s}
.svc:hover{background:linear-gradient(90deg,rgba(217,191,140,.07),transparent 70%)}
.svc .i{font:400 15px/1 var(--serif);font-style:italic;color:var(--gold)}
.svc h3{font:400 clamp(24px,2.3vw,34px)/1.1 var(--serif)}
.svc p{color:var(--muted);font-size:15px}
.svc .from{font:500 14px/1 var(--sans);color:var(--gold2);white-space:nowrap}

/* approach */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line2)}
.steps li{padding:30px 26px 10px 0;border-right:1px solid var(--line);margin-right:26px}
.steps li:last-child{border-right:0;margin-right:0}
.steps span{font:400 italic 22px/1 var(--serif);color:var(--gold)}
.steps h3{font:400 28px/1.1 var(--serif);margin:18px 0 12px}
.steps p{color:var(--ink2);font-size:15px}

/* work */
.work{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:18px}
.case{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.case figure{overflow:hidden}
.case.big{grid-row:span 2}
.case.big figure img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:scale 1.2s cubic-bezier(.2,.7,.2,1)}
.case:hover figure img{scale:1.04}
.case .phones{display:flex;gap:12px;justify-content:center;padding:24px 20px 0;height:280px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.case .phones img{height:100%;width:auto;border-radius:14px 14px 0 0;box-shadow:0 20px 40px -14px #000}
.case>div{padding:24px 26px 28px}
.case.text{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.case.text>div+div{border-left:1px solid var(--line)}
.tag{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.case h3{font:400 30px/1.1 var(--serif);margin:12px 0 10px}
.case p{color:var(--ink2);font-size:15px}

/* studio facts */
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:20px 56px;margin-top:40px;padding-top:30px;border-top:1px solid var(--line2)}
.facts b{display:block;font:400 48px/1 var(--serif);color:var(--gold2)}
.facts span{display:block;margin-top:8px;font-size:13.5px;color:var(--muted);letter-spacing:.04em}

/* pricing */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab{background:rgba(10,12,15,.4);border:1px solid var(--line2);color:var(--ink2);font:500 13.5px/1 var(--sans);letter-spacing:.03em;padding:12px 18px;border-radius:999px;cursor:pointer;min-height:44px;backdrop-filter:blur(8px)}
.tab[aria-selected="true"]{background:var(--gold2);border-color:var(--gold2);color:#17130b}
.plist{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.prow{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow h3{font:400 24px/1.15 var(--serif)}
.prow p{color:var(--muted);font-size:14.5px;margin-top:4px}
.prow .pr{text-align:right;white-space:nowrap}
.prow .pr small{color:var(--muted);font-size:13px}
.prow .pr b{font:400 28px/1.1 var(--serif)}
.prow .pr em{display:block;font-style:normal;font-size:12.5px;color:var(--gold2);margin-top:4px}
.bundles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.bundle{position:relative;padding:30px 26px;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column}
.bundle.hot{border-color:rgba(236,216,174,.55)}
.bundle .badge{position:absolute;top:-12px;left:24px;background:var(--gold2);color:#17130b;font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:7px 11px;border-radius:999px}
.bundle h3{font:400 32px/1.05 var(--serif)}
.bundle .for{color:var(--gold);font-size:13.5px;margin:8px 0 16px}
.bundle ul{list-style:none;flex:1;margin-bottom:20px}
.bundle li{padding:7px 0 7px 22px;position:relative;color:var(--ink2);font-size:14.5px;border-top:1px solid var(--line)}
.bundle li::before{content:"—";position:absolute;left:0;color:var(--gold)}
.bundle .p{font:400 28px/1.1 var(--serif)}.bundle .p small{font:400 14px var(--sans);color:var(--muted)}
.bundle .n{font-size:12.5px;color:var(--gold2);margin:6px 0 20px}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.faq-list{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:6px 28px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.faq-list details+details{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font:400 22px/1.3 var(--serif);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:2px;top:18px;font:300 28px/1 var(--sans);color:var(--gold);transition:transform .3s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list p{color:var(--ink2);padding:0 0 22px;max-width:62ch}

/* contact */
.contact{min-height:100svh;display:flex;align-items:center}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;width:100%}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px;background:rgba(10,12,15,.6);border:1px solid var(--line2);border-radius:20px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.form label{display:grid;gap:8px;font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.form .wide{grid-column:1/-1}
.form input,.form select,.form textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:10px;color:var(--ink);font:400 16px/1.4 var(--sans);padding:13px 14px;min-height:48px;letter-spacing:0;text-transform:none}
.form select option{background:#14171c}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold2);outline-offset:0;border-color:transparent}
.form input[aria-invalid=true]{border-color:#e39a7a}
.note{font-size:13px;color:var(--muted);text-align:center}
.note.err{color:#f0a986}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.footer{position:relative;background:rgba(10,12,15,.8);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:36px 0 calc(36px + env(safe-area-inset-bottom))}
.foot{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;justify-content:space-between;color:var(--muted);font-size:13.5px}

/* reveals */
html.motion .reveal{opacity:0;transform:translateY(24px)}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .links,.nav-cta{display:none}.burger{display:block}
  .steps{grid-template-columns:1fr 1fr;row-gap:10px}.steps li:nth-child(2){border-right:0;margin-right:0}
  .work{grid-template-columns:1fr}.case.big{grid-row:auto}.case.text{grid-template-columns:1fr}.case.text>div+div{border-left:0;border-top:1px solid var(--line)}
  .bundles{grid-template-columns:1fr}
  .faq,.contact-grid{grid-template-columns:1fr;gap:34px}
  .svc{grid-template-columns:44px 1fr auto;gap:8px 16px}
  .svc p{grid-column:2/-1;grid-row:2}
}
@media (max-width:640px){
  /* phones: the waterfall (right side of the photo) becomes the centre of the frame; text sits on a stronger bottom-up scrim */
  .plate img{object-position:74% 50%}
  .scrim{background:linear-gradient(0deg,rgba(8,10,13,.92) 0%,rgba(8,10,13,.62) 50%,rgba(8,10,13,.35) 100%)}
  .hero{align-items:flex-end;padding-bottom:110px}
  .display{font-size:clamp(52px,15vw,76px)}
  .ctas .btn{flex:1 1 100%}
  .steps{grid-template-columns:1fr}.steps li{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-bottom:22px}
  .prow{grid-template-columns:1fr;gap:8px}.prow .pr{text-align:left}
  .form{grid-template-columns:1fr;padding:20px 16px}
  .faq-list{padding:4px 18px}.faq-list summary{font-size:19px}
  .chapter{padding:90px 0}
  .facts b{font-size:38px}
}
@media (prefers-reduced-motion:reduce){.mist,.scroll-cue span{animation:none!important}}
/* scene sits under content: body must not paint over it */
body{background:transparent}
.scene{z-index:0}
.nav{z-index:50} main,.footer{position:relative;z-index:1}

/* chaos → clarity notifications (decorative; the story of what we do) */
.toasts{position:absolute;right:max(24px,4vw);bottom:12vh;display:grid;gap:10px;width:min(320px,42vw);pointer-events:none}
.toast{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;font:500 13.5px/1.3 var(--sans);
  background:rgba(12,14,18,.62);border:1px solid var(--line2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;color:var(--ink)}
.toast i{flex:none;width:9px;height:9px;border-radius:50%;background:#e0735a;box-shadow:0 0 12px #e0735a}
.toast .good{display:none}
.toast.ok i{background:#5ccf98;box-shadow:0 0 12px #5ccf98}
.toast.ok .bad{display:none}.toast.ok .good{display:inline}
/* sound toggle */
.sound{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,12,15,.3);cursor:pointer;display:grid;place-items:center}
.sound span{width:16px;height:14px;background:var(--ink2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M1 5h3l4-4v12L4 9H1z'/%3E%3Cpath d='M11 4c1.3 1.6 1.3 4.4 0 6M13 2c2.5 2.7 2.5 7.3 0 10' stroke='%23000' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M1 5h3l4-4v12L4 9H1z'/%3E%3Cpath d='M11 4c1.3 1.6 1.3 4.4 0 6M13 2c2.5 2.7 2.5 7.3 0 10' stroke='%23000' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.45}
.sound[aria-pressed="true"] span{background:var(--gold2);opacity:1}
@media (max-width:640px){.toasts{top:84px;bottom:auto;right:16px;width:62vw;gap:7px}.toast{font-size:12px;padding:9px 11px}.toast:nth-child(n+3){display:none}}
.plates{inset:0!important;transform:none!important}
.plate{will-change:transform,opacity;backface-visibility:hidden}
/* film layer: covers the plates once it is ready */
.film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:0;transition:opacity 1.2s ease}
html.film-on .film{opacity:1}
html.film-on .plates{visibility:hidden}
@media (max-width:640px){.film{object-position:66% 50%}}

/* ---------- work: scroll-driven 3D coverflow (all sizes) ---------- */
.rail-box{position:relative;overflow:hidden;padding:30px 0 70px;margin:0 calc(-1*var(--pad));perspective:1300px}
.rail{display:flex;gap:28px;width:max-content;transform-style:preserve-3d;padding:0 50vw}
.wcard{flex:0 0 clamp(270px,30vw,400px);background:rgba(12,14,18,.7);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);will-change:transform,opacity;backface-visibility:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.wcard figure{height:clamp(150px,13vw,200px);overflow:hidden;background:#0d1016}
.wcard figure img{width:100%;height:100%;object-fit:cover}
.wcard figure.phones{display:flex;gap:10px;justify-content:center;padding:16px 16px 0;background:radial-gradient(circle at 50% 30%,#232a3a,#0b0e14)}
.wcard figure.phones img{width:auto;height:100%;border-radius:10px 10px 0 0}
.wcard figure.art{background:var(--a) center 35%/cover no-repeat;filter:saturate(.75) brightness(.8)}
.wcard>div{padding:20px 22px 24px}
.wcard h3{font:400 26px/1.1 var(--serif);margin:10px 0 8px}
.wcard p{color:var(--ink2);font-size:14px;line-height:1.55}
.rail-hud{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;align-items:center;gap:16px;font:500 11px/1 var(--sans);letter-spacing:.2em;color:var(--muted)}
.rh-dots{display:flex;gap:7px}.rh-dots i{width:5px;height:5px;border-radius:50%;background:var(--line2);transition:background .3s,transform .3s}
.rh-dots i.on{background:var(--gold2);transform:scale(1.5)}
html.reduce .rail-box{overflow-x:auto}html.reduce .rail{padding:0 var(--pad)}
/* footer guides */
.guides{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.guides a{font-size:13.5px;color:var(--ink2);text-decoration:none}.guides a:hover{color:var(--gold2)}
.hp{display:none!important}

/* ================= r1 review pass (art + UX) ================= */
.hero>.wrap{width:100%}
.display,.title{margin-left:-.04em}
.price-line{margin-top:18px;font:500 14px/1.5 var(--sans);color:var(--gold2);letter-spacing:.02em}
.display{font-size:clamp(52px,7.6vw,128px)}
/* carousel: full width, centred, soft edges */
.rail-box{margin:0;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
.wcard figure{position:relative}
.wcard figure img,.wcard figure.art{filter:saturate(.62) sepia(.16) contrast(1.05) brightness(.84)}
.wcard figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,14,18,.85));pointer-events:none}
/* services: aligned columns + readable over the waterfall */
@media (min-width:1021px){.svc{grid-template-columns:56px minmax(0,1fr) minmax(0,1.25fr) 190px}.svc .from{text-align:right}}
.svc p{color:var(--ink2)}
#services .svc-list{background:linear-gradient(90deg,rgba(8,10,13,.6),rgba(8,10,13,.38));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:var(--r);padding:0 24px}
/* toasts on the page grid */
.toasts{right:max(24px,calc((100% - 1280px)/2 + 72px))}
@media (max-width:1020px) and (min-width:641px){.toasts{top:96px;bottom:auto}}
@media (max-width:640px){.toasts{display:none}}
/* form */
.form{background:rgba(10,12,15,.8);backdrop-filter:blur(28px) saturate(.6);-webkit-backdrop-filter:blur(28px) saturate(.6)}
.form select{appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d9bf8c' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") right 16px center/12px no-repeat;padding-right:40px}
/* footer brand moment + logo rule */
.foot-hero{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end;padding-bottom:40px;border-bottom:1px solid var(--line);margin-bottom:28px}
.foot-word{font:400 clamp(64px,13vw,210px)/.85 var(--serif);letter-spacing:-.04em}
.foot-word em{color:var(--gold2)}
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.guides a,.foot a{display:inline-block;padding:10px 0}
.logo-st{padding-left:10px;border-left:1px solid rgba(217,191,140,.5)}
/* readability minimums */
.prow .pr em,.bundle .n{font-size:13.5px}.offer{font-size:14.5px}
/* motion toggle */
.calm{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,12,15,.3);cursor:pointer;display:grid;place-items:center}
.calm span{width:14px;height:14px;border:1.5px solid var(--ink2);border-radius:50%;opacity:.5;position:relative}
.calm span::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ink2)}
.calm[aria-pressed="true"] span{border-color:var(--gold2);opacity:1}.calm[aria-pressed="true"] span::after{background:var(--gold2)}
/* phones: lighter scrim (waterfall visible), sticky quick bar, swipe carousel */
.mbar{display:none}
@media (max-width:640px){
  .scrim{background:linear-gradient(0deg,rgba(8,10,13,.92) 0%,rgba(8,10,13,.58) 45%,rgba(8,10,13,.1) 75%,rgba(8,10,13,.32) 100%)}
  .display{font-size:clamp(46px,13.5vw,66px);text-shadow:0 2px 30px rgba(0,0,0,.5)}
  .kicker{text-wrap:balance}
  .mbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;gap:6px;padding:6px;border-radius:16px;
    background:rgba(10,12,15,.82);border:1px solid var(--line2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateY(140%);transition:transform .4s}
  .mbar.show{transform:none}
  .mbar a{flex:1;min-height:46px;display:grid;place-items:center;border-radius:11px;text-decoration:none;font:500 13.5px/1 var(--sans);color:var(--ink2)}
  .mbar a.go{flex:1.8;background:var(--gold2);color:#17130b}
  .rail-box{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-mask-image:none;mask-image:none;padding-bottom:64px}
  .rail{padding:0 9vw}
  .wcard{scroll-snap-align:center;flex-basis:82vw}
  .footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}
html.calm-mode .mist{animation:none}
html.calm-mode .reveal{transition:none}

@media (max-width:640px){#services .svc-list{padding:0 14px}.svc .from{grid-column:2/-1;grid-row:3}}
/* engine pass: contrast over bright scenes, lenis lock, coarse-pointer blur cost */
.chapter .text,.facts,.chapter .head,.hero .offer,.hero .lede{text-shadow:0 1px 18px rgba(0,0,0,.65)}
#work .head,#studio .narrow,#chaos .narrow{background:radial-gradient(closest-side,rgba(8,10,13,.55),transparent)}
.facts span,.rh-count,.offer{color:var(--ink2)}
html.lenis.lenis-stopped{overflow:hidden}
@media (pointer:coarse){.case,.plist,.bundle,.faq-list,.form,.wcard,#services .svc-list{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(12,14,18,.85)!important}}

/* "How should we reply?" chips */
.reply-via{border:0;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.reply-via legend{letter-spacing:.14em;text-transform:uppercase;color:#a3a7ad;margin-bottom:10px;width:100%}
.reply-via label{position:relative;display:inline-block;cursor:pointer}
.reply-via input{position:absolute;opacity:0;width:1px;height:1px}
.reply-via span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(241,239,233,.26);color:#d3d1ca;letter-spacing:.02em;text-transform:none}
.reply-via input:checked+span{background:#ecd8ae;border-color:#ecd8ae;color:#17130b}
.reply-via input:focus-visible+span{outline:2px solid #ecd8ae;outline-offset:2px}
.handle[hidden]{display:none!important}
label em{font-style:normal;text-transform:none;letter-spacing:0;color:#8b95aa;font-weight:400}

.reply-via legend{font-family:inherit;font-size:11.5px;font-weight:500;line-height:1}
.reply-via span{font-family:inherit;font-size:14px;font-weight:500;line-height:1}
