
/* Layout: dark studio sheet, full-bleed bands, oversized condensed display type over a technical mono layer. Single committed dark look. */
:root{
  --bg:#1B1B1B; --bg-2:#141414; --card:#222222; --line:#2E2E2E;
  --ink:#D0D0D0; --ink-hi:#EDE8DF; --ink-mid:#BDBDBD; --ink-lo:#8E8E8E;
  --cream:#EDE8DF; --cream-line:#CFC8BC; --cream-ink:#1B1B1B; --cream-lo:#5E5A54;
  --f-disp:'Six Caps',Impact,'Arial Narrow',sans-serif;
  --f-body:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --gut-l:max(clamp(16px,4vw,56px), env(safe-area-inset-left,0px));
  --gut-r:max(clamp(16px,4vw,56px), env(safe-area-inset-right,0px));
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--f-body);margin:0;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink-hi);outline-offset:3px}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.disp{font-family:var(--f-disp);font-weight:400;text-transform:uppercase;line-height:.86;letter-spacing:.01em;margin:0;text-wrap:balance}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.lo{color:var(--ink-lo)} .mid{color:var(--ink-mid)} .hi{color:var(--ink-hi)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--ink);font:12px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;background:transparent;color:var(--ink);cursor:pointer;transition:background .3s,color .3s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--ink);color:var(--bg)}
.btn.solid:hover{background:#fff}
.btn svg{transition:transform .3s var(--ease)} .btn:hover svg{transform:translateX(4px)}
.h2{font-size:clamp(90px,11vw,170px);color:var(--ink-hi)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.sec-head p{margin:0;max-width:420px;color:var(--ink-mid)}
section{position:relative}

/* split-letter rise */
.split .ch{display:inline-block;transform:translateY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--i) * 28ms)}
.split .ln{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:top;padding-top:.04em}
.split.pre .ch{transform:translateY(105%)}
/* generic reveal */
.rv{transition:transform 1s var(--ease),opacity 1s var(--ease)}
.rv.pre{transform:translateY(40px);opacity:0}

/* INTRO */
#intro{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transition:transform 1.15s cubic-bezier(.76,0,.24,1);box-shadow:0 30px 80px rgba(0,0,0,.6)}
#intro.out{transform:translateY(-100%)}
#intro .count{position:absolute;left:var(--gut-l);bottom:calc(24px + env(safe-area-inset-bottom,0px));font-size:clamp(64px,9vw,120px);color:var(--ink-hi);font-variant-numeric:tabular-nums}
#intro .count small{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--ink-lo);margin-left:10px}
main,header.nav{transition:transform 1.25s cubic-bezier(.76,0,.24,1)}
body.loading main,body.loading header.nav{transform:translateY(22vh)}
#intro .stage{width:min(80vw,760px)}
#intro svg{width:100%;height:auto;overflow:visible}
#intro .skip{position:absolute;right:calc(var(--gut-r));bottom:calc(24px + env(safe-area-inset-bottom,0px))}
#intro .body{fill:#1B1B1B;opacity:0;animation:fade .7s ease-out .85s forwards}
#intro .pieces{fill:#D0D0D0}
#intro .outline{fill:none;stroke:#D0D0D0;stroke-width:8;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s cubic-bezier(.65,0,.35,1) forwards}
#intro .mp{fill:#fff;transform-box:fill-box;transform-origin:center;transform:scale(0) rotate(-40deg);animation:grow 1.1s var(--ease) calc(1.05s + var(--d)) forwards}
#intro .sp{fill:none;stroke:#D0D0D0;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:burst 1.4s var(--ease) var(--d) forwards}
#intro .word{fill:#D0D0D0}
#intro .l{transform:translateY(105%);animation:rise .8s var(--ease) calc(1.7s + var(--i)*45ms) forwards}
@keyframes draw{to{stroke-dashoffset:0}} @keyframes fade{to{opacity:1}} @keyframes grow{to{transform:scale(1) rotate(0)}} @keyframes rise{to{transform:none}}
@keyframes burst{0%{opacity:0;transform:none}25%{opacity:.55}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.4)}}

/* PAGE SWEEP */
#sweep{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden;visibility:hidden}
#sweep.on,#sweep.lift{visibility:visible}
#sweep .pg{position:absolute;left:var(--x,50vw);top:var(--y,50vh);width:320vmax;height:320vmax;margin:-160vmax 0 0 -160vmax;transform:scale(0) rotate(-90deg);transition:transform .85s cubic-bezier(.76,0,.24,1)}
#sweep .pg polygon{fill:var(--cream)}
#sweep.on .pg,#sweep.lift .pg{transform:scale(1) rotate(0)}
#sweep .lab{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--cream-ink)}
#sweep .lab .disp{font-size:clamp(110px,18vw,260px);display:flex;overflow:hidden;padding-top:.04em}
#sweep .lab .disp span{display:inline-block;transform:translateY(105%);transition:transform .7s var(--ease);transition-delay:calc(.45s + var(--i)*35ms)}
#sweep.on .lab .disp span{transform:none}
#sweep .lab .mono{color:var(--cream-lo);opacity:0;transition:opacity .4s .7s}
#sweep.on .lab .mono{opacity:1}
#sweep .bar{width:min(320px,60vw);height:1px;background:var(--cream-line);position:relative;overflow:hidden}
#sweep .bar i{position:absolute;inset:0;background:var(--cream-ink);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.65,0,.35,1) .5s}
#sweep.on .bar i{transform:scaleX(1)}
#sweep.lift{transform:translateY(-100%);transition:transform 1.05s cubic-bezier(.76,0,.24,1)}
#sweep.reset,#sweep.reset *{transition:none!important}

/* NAV */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(27,27,27,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:transform .5s var(--ease)}
header.nav.hide{transform:translateY(-100%)}
header nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:72px}
header .links{display:flex;align-items:center;gap:clamp(14px,3vw,36px);flex-wrap:wrap}
header .links a.mono{position:relative;padding:6px 0}
header .links a.mono::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink-hi);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
header .links a.mono:hover::after,header .links a.mono[aria-current]::after{transform:scaleX(1)}
@media (max-width:760px){.hide-sm{display:none!important}}

/* HERO */
.hero{border-bottom:1px solid var(--line);overflow:hidden}
.pent-field{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pent-field svg{position:absolute;fill:var(--ink);will-change:transform}
.hero-grid{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding-block:48px 64px}
.hero h1{white-space:nowrap;font-size:clamp(96px,16vw,290px);color:var(--ink-hi)}
.hero-copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:36px}
.hero-copy p{margin:0;max-width:560px;font-size:clamp(17px,1.6vw,20px);color:var(--ink-mid)}
.hero-fig{flex:1.25 1 460px;margin:0;position:relative;min-width:0;max-width:720px}
.hero-fig img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path 1.4s var(--ease)}
.hero-fig.in img{clip-path:polygon(50% 0%,100% 34%,88% 100%,12% 100%,0% 34%)}
.hero-fig .hud{position:absolute;right:0;top:18px;font-size:11px;text-align:right;line-height:1.8}
.hero-fig figcaption{position:absolute;left:0;bottom:-28px;font-size:11px}
.statband{border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding-block:12px}
.stats div{padding:26px 0;display:flex;flex-direction:column;gap:4px}
.stats .disp{font-size:64px;color:var(--ink-hi);font-variant-numeric:tabular-nums}

/* MARQUEE */
.marquee{background:var(--cream);color:var(--cream-ink);padding:18px 0;overflow:hidden}
.marquee .track{display:flex;gap:48px;white-space:nowrap;font-size:56px;line-height:1;will-change:transform}

/* SERVICES */
.svc{padding-block:120px;display:flex;flex-direction:column;gap:56px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.grid3 article{background:var(--bg);padding:36px;display:flex;flex-direction:column;gap:18px}
.grid3 h3{font-size:72px;color:var(--ink-hi)}
.grid3 p{margin:0;color:var(--ink-mid)}
.pmask{overflow:hidden;margin-top:auto;position:relative;background:#202020}
.pmask img{width:100%;aspect-ratio:16/10;object-fit:cover;clip-path:polygon(50% -70%,170% 22%,128% 170%,-28% 170%,-70% 22%);transform:scale(1);filter:none;
  transition:clip-path 1.7s cubic-bezier(.16,1,.3,1) var(--d,0s),transform 2s cubic-bezier(.16,1,.3,1) var(--d,0s),filter 1.4s ease var(--d,0s)}
.pmask.pre img{clip-path:polygon(50% 44%,55.7% 48.1%,53.5% 54.9%,46.5% 54.9%,44.3% 48.1%);transform:scale(1.35) rotate(-6deg);filter:grayscale(1) blur(8px) brightness(.6)}
.pmask .ring{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;translate:-50% -50%;pointer-events:none;opacity:0;fill:none;stroke:var(--ink-hi);stroke-width:1.2;vector-effect:non-scaling-stroke}
.pmask.go .ring{animation:ring 1.5s cubic-bezier(.16,1,.3,1) var(--d,0s) both}
@keyframes ring{0%{opacity:0;transform:scale(.1) rotate(-30deg)}15%{opacity:.9}100%{opacity:0;transform:scale(3.2) rotate(0)}}
.pmask .scan{position:absolute;left:12px;bottom:10px;font-size:10px;color:var(--ink-hi);opacity:0;pointer-events:none}
.pmask.go .scan{animation:scan 1.6s ease var(--d,0s) both}
@keyframes scan{0%,10%{opacity:0}25%,70%{opacity:.9}100%{opacity:0}}
article:hover .pmask img,a:hover .pmask img{transform:scale(1.05);transition-delay:0s}

/* PROCESS */
.process{background:var(--bg-2);border-block:1px solid var(--line)}
.proc-scroll{height:420vh;position:relative}
.proc-sticky{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));height:calc(100vh - 72px - env(safe-area-inset-top,0px));display:flex;flex-direction:column;justify-content:center;padding-block:24px}
.proc-row{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch;min-height:0}
.proc-view{flex:999 1 520px;min-width:0;position:relative;border:1px solid var(--line);background:var(--bg);height:min(68vh,720px)}
.proc-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease}
.proc-view img.on{opacity:1}
.proc-view .tag{position:absolute;font-size:11px;line-height:1.8;z-index:2}
.proc-view .bar{position:absolute;left:20px;right:20px;bottom:20px;height:2px;background:var(--line);z-index:2}
.proc-view .bar i{display:block;height:2px;background:var(--ink-hi);width:0}
.proc-view .viewer{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;transition:opacity .6s;z-index:3;background:radial-gradient(circle at 50% 45%,#2a2a2a,var(--bg) 70%)}
.proc-view .viewer.on{opacity:1}
.proc-view .viewer .ring{width:220px;height:220px;border:1px dashed #555;border-radius:50%;display:grid;place-items:center;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.proc-list{flex:1 1 300px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);align-self:center}
.proc-list li{background:var(--bg-2);padding:20px 24px;display:flex;gap:16px;align-items:center;transition:background .4s}
.proc-list li .disp{font-size:44px;color:var(--ink-lo);transition:color .4s}
.proc-list li.on{background:#1F1F1F}
.proc-list li.on .disp,.proc-list li.on .mono{color:var(--ink-hi)}
.proc-list .num{width:28px}
.proc-intro{padding-block:120px 40px}

/* WORK */
.work{padding-block:120px;display:flex;flex-direction:column;gap:48px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:40px 24px}
.tile{display:flex;flex-direction:column;gap:12px}
.tile .pmask img{aspect-ratio:4/3}
.tile .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.tile h3{font-size:48px;color:var(--ink-hi)}
.tile p{margin:0;font-size:14px;color:#A8A8A8}
.tile .path{font-size:11px;transition:color .3s}
.tile:hover .path{color:var(--ink-hi)}

/* PACKAGES */
.cream{background:var(--cream);color:var(--cream-ink)}
.pk{padding-block:120px;display:flex;flex-direction:column;gap:40px}
.pk .sec-head p{color:#4A4640}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{min-height:48px;padding:0 22px;border:1px solid var(--cream-ink);background:transparent;color:var(--cream-ink);font:12px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.tabs button[aria-selected="true"]{background:var(--cream-ink);color:var(--cream)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1px;background:var(--cream-line);border:1px solid var(--cream-line)}
.tier{background:var(--cream);padding:36px;display:flex;flex-direction:column;gap:18px;transition:opacity .35s,transform .35s var(--ease)}
.tiers.swap .tier{opacity:0;transform:translateY(14px)}
.tier h3{font-size:64px}
.tier .price{display:flex;align-items:baseline;gap:8px}
.tier .price .disp{font-size:72px}
.tier p{margin:0;color:#4A4640;min-height:78px}
.tier ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14px}
.tier li{display:flex;gap:10px;align-items:baseline}
.tier .btn{color:var(--cream-ink);border-color:var(--cream-ink);justify-content:center;margin-top:auto}
.tier .btn:hover{background:var(--cream-ink);color:var(--cream)}
.custom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--cream-ink);padding:24px 28px}

/* REVIEWS */
.rev{padding-block:120px;display:flex;flex-direction:column;gap:48px}
.feat{margin:0;border:1px solid var(--line);padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;gap:28px;position:relative;overflow:hidden}
.feat blockquote{margin:0;position:relative;font-size:clamp(22px,2.6vw,34px);line-height:1.35;color:var(--ink-hi);max-width:980px}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px}
.rgrid figure{margin:0;background:var(--card);padding:28px;display:flex;flex-direction:column;gap:18px}
.rgrid blockquote{margin:0}
.rgrid figcaption{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:11px}

/* ABOUT */
.about{background:var(--bg-2);border-top:1px solid var(--line)}
.about .wrap{padding-block:120px;display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.about .pic{flex:1 1 420px;min-width:0;position:relative;max-width:560px;aspect-ratio:1/1.08}
.about .big{position:absolute;left:0;right:0;top:2%;text-align:center;font-size:clamp(200px,26vw,380px);color:#262626;line-height:.8;will-change:transform}
.about .pent-bg{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;fill:var(--ink);transform-origin:50% 60%}
.about .pent-o{position:absolute;fill:none;stroke:var(--ink-lo);stroke-width:2;will-change:transform}
.about .pic img{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;filter:contrast(1.05)}
.about .pic.pre .pent-bg{transform:scale(.2) rotate(-50deg);opacity:0}
.about .pent-bg{transition:transform 1.4s var(--ease),opacity .6s}
.about .txt{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:24px}
.about .txt p{margin:0;font-size:18px;color:var(--ink-mid);max-width:620px}
.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.tools div{background:var(--bg-2);padding:20px;display:flex;flex-direction:column;gap:6px}

/* STEPS */
.steps{padding-block:120px;display:flex;flex-direction:column;gap:48px}
.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:32px}
.steps li{display:flex;flex-direction:column;gap:12px;padding-top:20px;position:relative}
.steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left;transition:transform 1.2s var(--ease);transition-delay:calc(var(--i)*120ms)}
.steps ol.pre li::before{transform:scaleX(0)}
.steps h3{font-size:52px;color:var(--ink-hi)}
.steps p{margin:0;color:#A8A8A8}

/* FOOTER */
footer .wrap{padding-top:110px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:56px}
.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1px;background:var(--cream-line);border:1px solid var(--cream-line)}
.contacts a{background:var(--cream);padding:28px;display:flex;flex-direction:column;gap:8px;transition:background .3s}
.contacts a:hover{background:#E3DDD2}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--cream-line);padding-top:24px}

.view[hidden]{display:none!important}
.pf-head{padding-block:72px 32px;display:flex;flex-direction:column;gap:28px}
.urlbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--line);padding:8px 8px 8px 18px;justify-content:space-between}
.pf-bar{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));z-index:20;background:rgba(27,27,27,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-block:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:44px;padding:0 16px;cursor:pointer;font:12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid #3A3A3A;background:transparent;color:var(--ink-mid);transition:background .3s,color .3s,border-color .3s}
.chips button:hover{border-color:var(--ink)}
.chips button[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.subs{display:flex;flex-wrap:wrap;gap:18px}
.subs:empty{display:none}
.subs span{font:11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-lo);padding-bottom:4px}
.subs span:first-child{color:var(--ink-hi);border-bottom:1px solid var(--ink-hi)}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:44px 24px;transition:opacity .3s}
.pf-grid.swap{opacity:0}
.pf-card{display:flex;flex-direction:column;gap:12px}
.pf-card .pmask{margin-top:0}
.pf-card .pmask img{aspect-ratio:4/5}
.pf-card .tag{position:absolute;left:12px;top:12px;font-size:10px;background:rgba(27,27,27,.82);color:var(--ink);padding:6px 8px;z-index:2}
.pf-card .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pf-card h2{font-size:44px;color:var(--ink-hi)}
.pf-card p{margin:0;font-size:15px;color:#A8A8A8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-row{padding-bottom:120px;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.ct-cards{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.ct-card{background:var(--bg);padding:28px;display:flex;flex-direction:column;gap:10px;transition:background .3s}
a.ct-card:hover{background:#222}
.ct-card .disp{font-size:56px;color:var(--ink-hi)}
.ct-form{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px;border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.f2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field .mono{color:#A8A8A8}
.field input,.field select,.field textarea{font:inherit;color:var(--ink-hi);background:#222;border:1px solid #3A3A3A;padding:14px 16px;min-height:50px;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink-hi);outline-offset:1px}
.field.drop{border:1px dashed #4A4A4A;padding:22px}
.field.drop input{background:transparent;border:0;padding:0;min-height:44px;color:var(--ink-mid)}
.faq{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--cream-ink)}
.faq details{border-bottom:1px solid var(--cream-line);padding:22px 0}
.faq summary{cursor:pointer;list-style:none;font-size:40px}
.faq summary::-webkit-details-marker{display:none}
.faq p{margin:14px 0 0;color:#4A4640}
.pmask img:not(.bgfill),.tile .pmask img:not(.bgfill),.pf-card .pmask img:not(.bgfill){position:relative;z-index:1;width:100%;height:auto;aspect-ratio:auto;object-fit:initial;display:block}
.pmask .bgfill{display:none}
.tiles,.pf-grid{display:block;columns:3 280px;column-gap:24px}
.tiles>*,.pf-grid>*{break-inside:avoid;margin-bottom:44px}
.pmask .ring,.pmask .scan{z-index:2}

/* ---- v2: wide screens + readable subheads ---- */
:root{--f-sub:'Bebas Neue','Arial Narrow',Impact,sans-serif}
.wrap{max-width:none;padding-left:max(clamp(16px,4.5vw,140px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4.5vw,140px),env(safe-area-inset-right,0px))}
body{font-size:clamp(16px,calc(.45vw + 9px),22px)}
.mono{font-size:clamp(12px,calc(.3vw + 7.5px),16px)}
.btn{min-height:clamp(48px,2.6vw,60px);padding:0 clamp(22px,1.4vw,32px)}
.field input,.field select,.field textarea{font-size:inherit}
@media (min-width:1800px){.ct-cards{flex-basis:520px}}
.h2{font-size:clamp(90px,10vw,230px)}
.sec-head p{max-width:clamp(420px,28vw,620px)}
.hero h1{font-size:clamp(96px,16vw,380px)}
.hero-fig{max-width:min(1000px,50vw)}
@media (min-width:1600px){.tiles,.pf-grid{columns:4 300px}}
@media (min-width:2300px){.tiles,.pf-grid{columns:5 300px}}
.faq summary,.ct-card .disp,.pf-card h2,.tile h3,.proc-list li .disp,.steps h3,.tier h3,.custom .disp{font-family:var(--f-sub);letter-spacing:.02em;line-height:1}
.faq summary{font-size:clamp(26px,1.6vw,36px)}
.faq p{font-size:clamp(16px,calc(.35vw + 10px),20px);line-height:1.55}
.ct-card .disp{font-size:clamp(34px,2vw,46px)}
.pf-card h2{font-size:clamp(28px,1.5vw,36px)}
.tile h3{font-size:clamp(30px,1.6vw,38px)}
.proc-list li .disp{font-size:clamp(28px,1.6vw,38px)}
.steps h3{font-size:clamp(32px,1.9vw,44px)}
.tier h3{font-size:clamp(36px,2.2vw,50px)}
.custom .disp{font-size:clamp(28px,1.6vw,38px)!important}
.pf-card p,.tile p,.grid3 p,.tier p,.steps p{font-size:inherit}

/* ---- v3: hero trio ---- */
.hero-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(28px,3vw,56px);padding-block:clamp(32px,4vw,80px) clamp(48px,5vw,96px)}
.hero .hero-bg{position:absolute;left:0;right:0;top:46%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;font-size:clamp(130px,21vw,620px);line-height:.8;color:#2E2E2E;white-space:nowrap;pointer-events:none;margin:0;letter-spacing:.02em;z-index:0}
.hero .hero-bg span{display:block;transition:transform 1.4s var(--ease),opacity 1.2s ease}
html.intro-on .hero-bg span,html.arrive .hero .hero-bg span{transform:translateY(30%);opacity:0}
.hero-trio{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:center;width:100%;max-width:1900px}
.hpc{margin:0;position:relative}
.hp-l{width:31%;max-width:600px;margin-top:1vw;margin-right:-4%;z-index:2;--pg:polygon(42.2% 0.6%,94.6% 27.3%,85.4% 85.4%,27.3% 94.6%,0.6% 42.2%)}
.hp-m{width:41%;max-width:800px;margin-top:6vw;z-index:1;--pg:polygon(53.5% 0.1%,98.5% 37.9%,76.5% 92.4%,17.9% 88.3%,3.6% 31.3%)}
.hp-r{width:26%;max-width:500px;margin-top:-1vw;margin-left:-5%;z-index:3;--pg:polygon(62.1% 1.5%,99.9% 46.5%,68.7% 96.4%,11.7% 82.1%,7.6% 23.5%)}
.hp-bl{position:absolute;left:2%;top:58%;width:19%;max-width:380px;z-index:2;--pg:polygon(31.3% 3.6%,88.3% 17.9%,92.4% 76.5%,37.9% 98.5%,0.1% 53.5%)}
.hp-br{position:absolute;right:1.5%;top:50%;width:21%;max-width:420px;z-index:2;--pg:polygon(57.8% 0.6%,99.4% 42.2%,72.7% 94.6%,14.6% 85.4%,5.4% 27.3%)}
.hpc img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path 1.4s var(--ease) var(--hd,0s)}
#heroFig.in .hpc img{clip-path:var(--pg)}
.pent-field .po{fill:none;stroke:var(--ink);stroke-width:3;opacity:.12}
.hero-tag{position:relative;z-index:4;margin:clamp(-20px,-1vw,0px) 0 0;text-align:center;font-size:clamp(64px,8.5vw,220px);color:var(--ink-hi);line-height:.9;text-wrap:balance}
.hero-floats{position:absolute;inset:0;pointer-events:none;z-index:1}
.fl{position:absolute;display:block;will-change:transform;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.fl svg{display:block;width:100%;height:auto;overflow:visible;animation:bob var(--dur) ease-in-out var(--dl) infinite;transform:rotate(var(--r))}
.fl-b polygon{fill:#0B0B0B;stroke:#333;stroke-width:3}
.fl-w polygon{fill:#EDE8DF}
.fl-wo polygon{fill:none;stroke:#EDE8DF;stroke-width:3}
.fl-bo polygon{fill:none;stroke:#0B0B0B;stroke-width:6}
@keyframes bob{0%,100%{transform:translate(0,0) rotate(var(--r))}50%{transform:translate(0,-18px) rotate(calc(var(--r) + 8deg))}}
@media (prefers-reduced-motion:reduce){.fl svg{animation:none}}

.hpc{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.hpc img{animation:bobi var(--dur,8s) ease-in-out var(--dl,0s) infinite}
@keyframes bobi{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@media (prefers-reduced-motion:reduce){.hpc img{animation:none}}
.hero-cta{position:relative;z-index:4;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.rate{display:inline-flex;align-items:center;gap:12px}
.stars{color:#F5B400;font-size:clamp(22px,1.5vw,30px);letter-spacing:3px;line-height:1}
.tile .pmask img.alt{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--bg);opacity:0;z-index:1;transition:opacity .6s ease,clip-path 1.7s cubic-bezier(.16,1,.3,1) var(--d,0s)}
.tile:hover .pmask img.alt,.tile:focus-visible .pmask img.alt{opacity:1}

@media (prefers-reduced-motion:reduce){
  body:not(.loading) *,body:not(.loading) *::before,body:not(.loading) *::after{animation-duration:1ms!important;animation-delay:0s!important;transition-duration:1ms!important;transition-delay:0s!important}
  .proc-scroll{height:auto} .proc-sticky{position:static;height:auto}
}

/* ---- live-site additions ---- */
#intro{display:none}
html.intro-on #intro{display:grid}
html.arrive #sweep{visibility:visible}
html.arrive #sweep .pg{transform:scale(1);transition:none}
html.arrive main,html.arrive header.nav{transform:translateY(22vh)}
html.intro-on main,html.intro-on header.nav{transform:translateY(22vh)}
.ct-note.ok{color:var(--ink-hi)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.upload{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #4A4A4A;padding:18px 20px}
.btn[disabled]{opacity:.6;cursor:wait}
.e404{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:28px;padding-block:80px}
