/* ╔══════════════════════════════════════════════════════════╗
   ║  VIDSDEAL · BENTO — full landing styles                    ║
   ╚══════════════════════════════════════════════════════════╝ */
:root{
  --bg:#0a0a0b;
  --bg-2:#0e0d0f;
  --panel:#151417;
  --panel-2:#1b191e;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --bone:#f4f1ec;
  --dim:#a4a09a;
  --mute:#6c6962;
  --acid:#ff7a2f;
  --acid-soft:#ff9d5c;
  --acid-deep:#ff5a1f;
  --glow:255,122,47;
  --cool:#6f93b0;
  --cool-soft:#8fb3cf;
  --glow-cool:111,147,176;
  --font:"Hanken Grotesk",system-ui,sans-serif;
  --disp:"Gabarito","Hanken Grotesk",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --radius-tile:14px;
  --sec-air:24px;
  --cta-scale:1.15;
  --gap-mult:1;
  --stagger:1;
  --drift:1;
  --float:1;
}

/* ── FILM GRAIN — fine animated grain on the background only ── */
.grain{position:fixed;inset:-40%;width:180%;height:180%;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:300px 300px;opacity:.11;mix-blend-mode:screen;
  animation:grainJitter .7s steps(6) infinite;}
@keyframes grainJitter{
  0%{transform:translate(0,0);}16.6%{transform:translate(-2%,1.4%);}33.3%{transform:translate(1.6%,-2.2%);}
  50%{transform:translate(-1.6%,-1.6%);}66.6%{transform:translate(2.2%,1.6%);}83.3%{transform:translate(-2.2%,.6%);}
  100%{transform:translate(0,0);}}
/* faint static scanlines on the background */
.grain::after{content:"";position:absolute;inset:0;opacity:.35;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0,rgba(0,0,0,.22) 1px,transparent 2px,transparent 4px);}
/* subtle vignette — lens edge falloff */
.vignette{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(120% 100% at 50% 42%,transparent 62%,rgba(0,0,0,.34) 100%);}
html[data-grain="off"] .grain,html[data-grain="off"] .vignette{display:none;}

/* ── VHS GLITCH — one-time entrance on headings, then clean ── */
@keyframes vhsIn{
  0%{opacity:0;transform:translateX(-9px) skewX(7deg);clip-path:inset(42% 0 40% 0);
     text-shadow:-4px 0 rgba(255,0,80,.75),4px 0 rgba(0,220,255,.75);}
  22%{opacity:1;transform:translateX(7px) skewX(-3deg);clip-path:inset(4% 0 62% 0);
     text-shadow:4px 0 rgba(255,0,80,.7),-4px 0 rgba(0,220,255,.7);}
  40%{transform:translateX(-5px);clip-path:inset(54% 0 8% 0);
     text-shadow:-3px 0 rgba(255,0,80,.6),3px 0 rgba(0,220,255,.6);}
  60%{transform:translateX(3px);clip-path:inset(12% 0 34% 0);
     text-shadow:2px 0 rgba(255,0,80,.45),-2px 0 rgba(0,220,255,.45);}
  80%{transform:translateX(-1px);clip-path:inset(0 0 0 0);
     text-shadow:-1px 0 rgba(255,0,80,.25),1px 0 rgba(0,220,255,.25);}
  100%{opacity:1;transform:none;clip-path:inset(0 0 0 0);text-shadow:none;}}
.reveal.is-in .h1,
.reveal.is-in .shead h2,
.reveal.is-in .beat__copy h3,
.hero.is-in .h1{animation:vhsIn .62s steps(4,end) both;}
@media(prefers-reduced-motion:reduce){
  .reveal.is-in .h1,.reveal.is-in .shead h2,.reveal.is-in .beat__copy h3,.hero.is-in .h1{animation:none;}}
/* subtle vignette — lens edge falloff */
.vignette{position:fixed;inset:0;pointer-events:none;z-index:2147482999;
  background:radial-gradient(120% 100% at 50% 42%,transparent 62%,rgba(0,0,0,.32) 100%);}
html[data-grain="off"] .grain,html[data-grain="off"] .vignette,html[data-grain="off"] .vhs{display:none;}
@media(prefers-reduced-motion:reduce){.grain{animation:none;}}

/* ── expressive tweak presets (reshape multiple properties at once) ── */
html[data-mood="zwarty"]{--radius-tile:8px;--sec-air:-16px;--gap-mult:.7;--stagger:0;}
html[data-mood="swobodny"]{--radius-tile:14px;--sec-air:24px;--gap-mult:1;--stagger:1;}
html[data-mood="edytorialny"]{--radius-tile:4px;--sec-air:64px;--gap-mult:1.5;--stagger:1.7;}
html[data-mood="edytorialny"] .case,html[data-mood="edytorialny"] .step,html[data-mood="edytorialny"] .proof__cell,
html[data-mood="edytorialny"] .tier,html[data-mood="edytorialny"] .qa,html[data-mood="edytorialny"] .rev-card,
html[data-mood="edytorialny"] .logowall,html[data-mood="edytorialny"] .panel{
  border-color:rgba(255,255,255,.045);background:rgba(255,255,255,.015);}
html[data-hero-energy="off"] .hero::before,html[data-hero-energy="off"] .vplayer,
html[data-hero-energy="off"] .proof-float,html[data-hero-energy="off"] .btn--cta{animation:none!important;}
html[data-hero-energy="subtle"]{--drift:1;--float:1;}
html[data-hero-energy="dynamic"]{--drift:1.8;--float:1.7;}
html[data-cta="standard"]{--cta-scale:1;}
html[data-cta="wyrozniony"]{--cta-scale:1.15;}
html[data-cta="dominujacy"]{--cta-scale:1.32;}
html[data-cta="dominujacy"] .btn--ghost{opacity:.5;border-color:var(--line);}
html[data-cta="dominujacy"] .btn--ghost:hover{opacity:1;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--bone);}
body{font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer;}
.mono{font-family:var(--mono);}
.acc{color:var(--acid);}

/* ambient glows + faint grid */
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;}
.bgfx::before{content:"";position:absolute;top:-16%;left:50%;width:1100px;height:640px;
  transform:translateX(-50%);
  background:radial-gradient(60% 60% at 50% 40%,rgba(var(--glow),.15),transparent 70%);filter:blur(8px);}
.bgfx::after{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(120% 60% at 50% 0%,#000,transparent 72%);}
.wrap{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0 32px;}

/* ── eyebrow / labels ──────────────────────────────────────── */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acid-soft);}
.eyebrow b{color:var(--mute);font-weight:400;}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--acid);opacity:.7;}

/* ── buttons ───────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;
  font-size:16px;border-radius:999px;padding:16px 30px;transition:transform .18s ease,background .18s,box-shadow .18s,border-color .18s,color .18s;}
.btn--cta{padding:calc(22px*var(--cta-scale)) calc(42px*var(--cta-scale));font-size:calc(18px*var(--cta-scale));
  box-shadow:0 20px 50px -14px rgba(var(--glow),.55);animation:ctaGlow 3.4s ease-in-out infinite;}
.btn--cta:hover{box-shadow:0 26px 62px -14px rgba(var(--glow),.75);}
@keyframes ctaGlow{0%,100%{box-shadow:0 20px 50px -14px rgba(var(--glow),.55);}50%{box-shadow:0 20px 60px -10px rgba(var(--glow),.82);}}
body.no-hero-anim .btn--cta{animation:none;}
.btn--fill{background:var(--acid);color:#250d02;box-shadow:0 14px 34px -12px rgba(var(--glow),.6);}
.btn--fill:hover{transform:translateY(-2px);box-shadow:0 20px 44px -12px rgba(var(--glow),.75);}
.btn--ghost{border:1px solid var(--line-2);color:var(--bone);}
.btn--ghost:hover{border-color:var(--acid);color:var(--acid-soft);transform:translateY(-2px);}
.btn .arr{transition:transform .18s ease;}
.btn:hover .arr{transform:translateX(3px);}
.play-dot{width:22px;height:22px;border-radius:50%;background:var(--acid);color:#250d02;display:grid;place-items:center;}

/* ── NAV ───────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:40;}
.nav__inner{display:flex;align-items:center;justify-content:space-between;
  margin:16px auto;max-width:1180px;padding:11px 14px 11px 22px;
  border:1px solid var(--line);border-radius:999px;
  background:rgba(14,13,15,.72);backdrop-filter:blur(16px) saturate(1.3);}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.02em;}
.brand i{width:13px;height:13px;border-radius:4px;background:var(--acid);display:block;box-shadow:0 0 0 4px rgba(var(--glow),.16);}
.nav__links{display:flex;gap:26px;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--dim);}
.nav__links a:hover{color:var(--bone);}
.nav__cta{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:700;font-size:14px;
  background:var(--acid);color:#250d02;border-radius:999px;padding:10px 18px;transition:transform .18s,box-shadow .18s;}
.nav__cta:hover{transform:translateY(-1px);box-shadow:0 10px 26px -10px rgba(var(--glow),.6);}
.nav__cta .pulse{width:7px;height:7px;border-radius:50%;background:#250d02;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* ── SECTION SCAFFOLD ──────────────────────────────────────── */
.sec{padding:calc(96px + var(--sec-air)) 0;}
.shead{margin:0 0 44px;max-width:760px;}
.shead.center{margin-left:auto;margin-right:auto;text-align:center;}
.shead h2{font-family:var(--disp);font-weight:800;font-size:clamp(32px,4.4vw,58px);line-height:1.04;
  letter-spacing:-.03em;margin:18px 0 0;text-wrap:balance;}
.shead h2 em{font-style:normal;color:var(--acid);}
.shead p{color:var(--dim);font-size:17px;margin:16px 0 0;max-width:54ch;}
.shead.center p{margin-left:auto;margin-right:auto;}
.shead-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:40px;}
.shead-row .shead{margin:0;}

/* ── HERO ──────────────────────────────────────────────────── */
.hero{padding:46px 0 30px;position:relative;}
.hero::before{content:"";position:absolute;top:-140px;left:4%;width:640px;height:640px;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,rgba(var(--glow),.16),transparent 70%);filter:blur(30px);
  animation:heroDrift 22s ease-in-out infinite alternate;}
@keyframes heroDrift{0%{transform:translate(0,0) scale(1);}100%{transform:translate(calc(70px*var(--drift)),calc(44px*var(--drift))) scale(calc(1 + .1*var(--drift)));}}
.hero__grid{position:relative;z-index:1;}
body.no-hero-anim .hero::before{animation:none;}
.hero__pills,.h1,.hero__lead,.hero__cta,.hero__trust{opacity:0;transform:translateY(16px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.hero.is-in .hero__pills{opacity:1;transform:none;}
.hero.is-in .h1{opacity:1;transform:none;transition-delay:.08s;}
.hero.is-in .hero__lead{opacity:1;transform:none;transition-delay:.16s;}
.hero.is-in .hero__cta{opacity:1;transform:none;transition-delay:.24s;}
.hero.is-in .hero__trust{opacity:1;transform:none;transition-delay:.32s;}
.hero__media{opacity:0;transform:translateY(20px) scale(.98);
  transition:opacity .9s ease .2s,transform .9s cubic-bezier(.2,.7,.2,1) .2s;}
.hero.is-in .hero__media{opacity:1;transform:none;}
.hero.is-in .vplayer{animation:heroFloat 7s ease-in-out .9s infinite;}
.hero.is-in .proof-float{animation:heroFloat2 8s ease-in-out 1.1s infinite;}
@keyframes heroFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(calc(-10px*var(--float)));}}
@keyframes heroFloat2{0%,100%{transform:translateY(0);}50%{transform:translateY(calc(8px*var(--float)));}}
body.no-hero-anim .vplayer,body.no-hero-anim .proof-float{animation:none!important;}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero__pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;}
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:rgba(255,255,255,.02);}
.pill svg{width:13px;height:13px;color:var(--acid);}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 3px rgba(var(--glow),.2);}
.h1{font-family:var(--disp);font-weight:800;font-size:clamp(40px,4.8vw,68px);line-height:1.03;
  letter-spacing:-.03em;margin:0;text-wrap:balance;}
.h1 .u{position:relative;color:var(--acid);white-space:nowrap;}
.h1 .u svg{position:absolute;left:-2%;right:-2%;width:104%;bottom:-.16em;height:.32em;color:var(--acid);overflow:visible;}
.h1 .u svg path{stroke-dasharray:340;stroke-dashoffset:340;}
.hero.is-in .h1 .u svg path{animation:draw 1s .5s ease forwards;}
/* wrapping hand-drawn marker underline (multi-line phrase) */
.h1 .uw{color:var(--acid);}
@keyframes draw{to{stroke-dashoffset:0;}}
.hero__lead{color:var(--dim);font-size:17.5px;line-height:1.72;max-width:48ch;margin:26px 0 0;}
.hero__lead b{color:var(--bone);font-weight:600;}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.hero__trust{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px;padding-top:30px;border-top:1px solid var(--line);}
.hero__trust .n{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1;}
.hero__trust .n span{color:var(--acid);}
.hero__trust .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:6px;}

/* hero media — founder / VSL */
.hero__media{position:relative;}
.vplayer{position:relative;border-radius:22px;overflow:hidden;
  background:var(--panel);aspect-ratio:4/5;cursor:pointer;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);}
.vplayer img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;}
.vplayer__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 26%,transparent 55%,rgba(0,0,0,.82));}
.vplayer__chrome{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;z-index:3;}
.vplayer__rec{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:#fff;}
.vplayer__rec i{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);animation:pulse 1.5s infinite;}
.vplayer__ratio{font-family:var(--mono);font-size:11px;color:#fff;background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:4px 9px;backdrop-filter:blur(4px);}
.vplayer__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;
  background:var(--acid);color:#250d02;display:grid;place-items:center;animation:ring 2.6s infinite;z-index:3;}
.vplayer__play svg{margin-left:3px;}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(var(--glow),.45);}70%{box-shadow:0 0 0 22px rgba(var(--glow),0);}100%{box-shadow:0 0 0 0 rgba(var(--glow),0);}}
.vplayer__cap{position:absolute;left:18px;bottom:18px;right:18px;z-index:3;}
.vplayer__cap .role{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acid-soft);}
.vplayer__cap .nm{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.01em;margin-top:3px;}
/* floating proof chip */
.proof-float{position:absolute;right:-18px;bottom:38px;z-index:5;
  background:rgba(20,19,23,.9);backdrop-filter:blur(14px);border:1px solid var(--line-2);
  border-radius:16px;padding:14px 16px;width:192px;box-shadow:0 24px 50px -20px rgba(0,0,0,.85);}
.proof-float .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);}
.proof-float .big{font-family:var(--disp);font-weight:800;font-size:32px;line-height:1;margin:5px 0 4px;color:var(--acid-soft);}
.proof-float .sub{font-size:12.5px;color:var(--dim);}
.proof-float .spark{position:absolute;top:12px;right:14px;color:var(--acid);}

/* ── PROOF STRIP ───────────────────────────────────────────── */
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(18px*var(--gap-mult));}
.proof__cell{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:28px 26px;
  position:relative;overflow:hidden;transition:border-color .25s,transform .25s;}
.proof__cell:hover{border-color:rgba(var(--glow),.4);transform:translateY(-3px);}
.proof__cell::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 0% 0%,rgba(var(--glow),.07),transparent 60%);pointer-events:none;}
.proof__n{font-family:var(--disp);font-weight:800;font-size:clamp(32px,3.4vw,46px);letter-spacing:-.03em;line-height:1;}
.proof__n span{color:var(--acid);}
.proof__l{font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:9px;}

/* ── CASE STUDIES — uniform grid ───────────────────────────── */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px*var(--gap-mult));}
.cases .case:nth-child(3n+2){margin-top:calc(32px*var(--stagger));}
.case{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:28px;
  display:flex;flex-direction:column;min-height:300px;position:relative;overflow:hidden;
  transition:border-color .25s,transform .25s;}
.case:hover{border-color:rgba(var(--glow),.35);transform:translateY(-3px);}
.case__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 80% at 100% 0%,rgba(var(--glow),.07),transparent 55%);}
.case__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.case__brand{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:.01em;}
.case__year{font-family:var(--mono);font-size:11px;color:var(--mute);}
.case__kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--acid-soft);margin-bottom:12px;}
.case__txt{color:var(--dim);font-size:14.5px;line-height:1.6;margin:0 0 22px;}
.case__metric{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);}
.case__metric .v{font-family:var(--disp);font-weight:800;font-size:clamp(30px,2.8vw,42px);letter-spacing:-.03em;line-height:1;color:var(--acid);}
.case__metric .v span{color:var(--acid);}
.case__metric .l{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:8px;}

/* ── VIMEO embed (portfolio / reels / testimonials) ────────── */
.vimeo-embed{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .45s ease;z-index:8;}
.is-loaded .vimeo-embed{opacity:1;}
.has-poster{background-size:cover !important;background-position:center !important;}

/* ── PORTFOLIO 16:9 ────────────────────────────────────────── */
.filters{display:flex;gap:8px;flex-wrap:wrap;}
.filters .f{font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:.2s;}
.filters .f:hover{color:var(--bone);border-color:var(--line-2);}
.filters .f.is-active{background:var(--acid);color:#250d02;border-color:var(--acid);}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(22px*var(--gap-mult));}
.work{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-2);
  transition:border-color .25s,transform .25s,opacity .3s;}
.work:hover{border-color:rgba(var(--glow),.35);transform:translateY(-3px);}
.work.is-hidden{display:none;}
.work__media{position:relative;aspect-ratio:16/9;cursor:pointer;}
.work__chrome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:13px;z-index:4;
  background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 40%,rgba(0,0,0,.45));transition:opacity .3s;}
.is-loaded .work__chrome,.is-loaded .work__play{opacity:0;pointer-events:none;}
.work__chrome .top{display:flex;justify-content:flex-end;}
.work__chrome .bot{display:flex;justify-content:space-between;align-items:flex-end;}
.tagm{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:4px 8px;backdrop-filter:blur(4px);}
.work__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);
  display:grid;place-items:center;color:#fff;transition:.2s;z-index:5;}
.work:hover .work__play{background:var(--acid);color:#250d02;border-color:var(--acid);}
.work__body{padding:16px 18px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.work__title{font-family:var(--disp);font-weight:700;font-size:16px;}
.work__sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);margin-top:3px;}
.work__price{font-family:var(--mono);font-size:11px;color:var(--dim);white-space:nowrap;}
/* CTA tile */
.work--cta{display:flex;align-items:center;justify-content:center;text-align:center;min-height:100%;
  background:linear-gradient(160deg,#1a120c,#0e0d0f 70%);padding:28px;}
.work--cta .t{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.02em;margin-bottom:8px;}
.work--cta .s{color:var(--dim);font-size:14px;margin-bottom:18px;}

/* ── PORTFOLIO 9:16 — rail ─────────────────────────────────── */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:210px;gap:16px;overflow-x:auto;
  padding:4px 0 18px;scroll-snap-type:x mandatory;}
.rail::-webkit-scrollbar{height:8px;}
.rail::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;}
.reel{scroll-snap-align:start;}
.reel__media{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;border:1px solid var(--line);cursor:pointer;
  transition:border-color .25s,transform .25s;}
.reel:hover .reel__media{border-color:rgba(var(--glow),.4);transform:translateY(-3px);}
.reel__chrome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px;z-index:4;
  background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 38%,rgba(0,0,0,.5));transition:opacity .3s;}
.is-loaded .reel__chrome,.is-loaded .reel__play{opacity:0;pointer-events:none;}
.reel__chrome .top{display:flex;justify-content:space-between;}
.reel__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;transition:.2s;z-index:5;}
.reel:hover .reel__play{background:var(--acid);color:#250d02;border-color:var(--acid);}
.reel__meta{margin-top:12px;}
.reel__cl{font-family:var(--disp);font-weight:700;font-size:14px;}
.reel__pr{font-family:var(--mono);font-size:10.5px;color:var(--dim);margin-top:3px;}

/* ── VIDEO TESTIMONIALS ────────────────────────────────────── */
.vtest{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(22px*var(--gap-mult));}
.vt{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;border:1px solid var(--line);cursor:pointer;
  transition:border-color .25s,transform .25s;}
.vt:hover{border-color:rgba(var(--glow),.4);transform:translateY(-3px);}
.vt__chrome{position:absolute;inset:0;z-index:4;transition:opacity .3s;
  background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 32%,transparent 52%,rgba(0,0,0,.86));}
.is-loaded .vt__chrome,.is-loaded .vt__play{opacity:0;pointer-events:none;}
.vt__badge{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#fff;
  background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:4px 8px;backdrop-filter:blur(4px);}
.vt__metric{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:11px;color:#fff;
  background:rgba(var(--glow),.18);border:1px solid rgba(var(--glow),.45);border-radius:7px;padding:5px 9px;backdrop-filter:blur(4px);}
.vt__metric b{font-family:var(--disp);font-weight:800;color:var(--acid-soft);}
.vt__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;transition:.2s;z-index:5;}
.vt:hover .vt__play{background:var(--acid);color:#250d02;border-color:var(--acid);}
.vt__cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:5;transition:opacity .3s;}
.is-loaded .vt__cap{opacity:0;pointer-events:none;}
.vt__cap .meta{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--acid-soft);}
.vt__cap .nm{font-family:var(--disp);font-weight:800;font-size:18px;margin-top:4px;}
.vt__cap .role{font-family:var(--mono);font-size:10.5px;color:var(--dim);margin-top:2px;}
.vt__foot{margin-top:20px;font-family:var(--mono);font-size:11.5px;color:var(--mute);}
.vt__foot .acc{color:var(--acid-soft);}

/* ── CLIENT REVIEWS — marquee ──────────────────────────────── */
.rev-wrap{position:relative;overflow:hidden;}
.rev-wrap::before,.rev-wrap::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:3;pointer-events:none;}
.rev-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.rev-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.rev-row{display:flex;gap:16px;width:max-content;}
.rev-row + .rev-row{margin-top:16px;}
.rev-track{animation:scrollX 70s linear infinite;}
.rev-track.rev-rev{animation-direction:reverse;animation-duration:84s;}
.rev-wrap:hover .rev-track{animation-play-state:paused;}
@keyframes scrollX{to{transform:translateX(-50%);}}
.rev-card{flex:0 0 340px;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:20px 22px;}
.rev-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.rev-card__who{display:flex;align-items:center;gap:10px;}
.rev-card__av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--disp);font-weight:800;
  font-size:14px;color:#250d02;background:var(--acid-soft);}
.rev-card__u{font-family:var(--disp);font-weight:700;font-size:14px;}
.rev-card__c{font-family:var(--mono);font-size:10.5px;color:var(--mute);margin-top:1px;}
.rev-card__stars{font-size:12px;color:var(--acid);letter-spacing:1px;white-space:nowrap;}
.rev-card__t{color:var(--dim);font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.rev-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.rev-score{display:flex;align-items:baseline;gap:8px;}
.rev-score b{font-family:var(--disp);font-weight:800;font-size:40px;letter-spacing:-.03em;color:var(--acid);}
.rev-score .st{color:var(--acid);font-size:16px;letter-spacing:2px;}

/* ── LOGO WALL ─────────────────────────────────────────────── */
.logowall{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:34px 36px;
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 44px;position:relative;overflow:hidden;}
.logowall::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 50% 0%,rgba(var(--glow),.06),transparent 60%);pointer-events:none;}
.logowall span{font-family:var(--disp);font-weight:700;font-size:18px;letter-spacing:.02em;color:var(--mute);opacity:.85;transition:.2s;}
.logowall span:hover{color:var(--bone);opacity:1;}

/* ── PRICING ───────────────────────────────────────────────── */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px*var(--gap-mult));align-items:start;}
.tier--pop{margin-top:calc(-16px*var(--stagger));}
.tier{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:34px;display:flex;flex-direction:column;
  position:relative;overflow:hidden;transition:border-color .25s,transform .25s;}
.tier:hover{border-color:rgba(var(--glow),.3);transform:translateY(-3px);}
.tier--pop{border-color:rgba(var(--glow),.5);background:linear-gradient(180deg,rgba(var(--glow),.08),var(--bg-2) 32%);}
.tier__flag{position:absolute;top:0;right:0;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--acid);color:#250d02;font-weight:700;padding:6px 12px;border-radius:0 22px 0 12px;}
.tier__name{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.01em;margin:0 0 14px;max-width:14ch;}
.tier__price{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.tier__price .from{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);}
.tier__price .amt{font-family:var(--disp);font-weight:800;font-size:36px;letter-spacing:-.03em;}
.tier__price .per{font-family:var(--mono);font-size:11px;color:var(--mute);}
.tier__who{color:var(--dim);font-size:14px;line-height:1.55;margin:6px 0 20px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.tier__list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:11px;}
.tier__list li{display:flex;gap:11px;font-size:14px;color:var(--bone);line-height:1.45;}
.tier__list li svg{flex:0 0 auto;margin-top:3px;color:var(--acid);}
.tier .btn{margin-top:auto;justify-content:center;}
.pricing__note{text-align:center;color:var(--dim);font-size:14.5px;margin:26px auto 0;max-width:60ch;}
.pricing__note b{color:var(--acid-soft);font-weight:600;}

/* pricing — distinct violet band (teammate: Maks) */
#pricing{
  --acid:#a78bfa;--acid-soft:#c4b5fd;--acid-deep:#8b5cf6;--glow:167,139,250;
  position:relative;isolation:isolate;}
#pricing::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;
  left:calc(50% - 50vw);width:100vw;pointer-events:none;
  background:
    radial-gradient(72% 60% at 50% 0%,rgba(167,139,250,.15),transparent 62%),
    linear-gradient(180deg,rgba(167,139,250,.055),rgba(167,139,250,.02));
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);}
#pricing .btn--fill{color:#170b26;}

/* ── LEAD MAGNET ───────────────────────────────────────────── */
.lead{border:1px solid var(--line);border-radius:24px;overflow:hidden;
  background:linear-gradient(150deg,#1a120c,#0e0d0f 65%);display:grid;grid-template-columns:1fr .8fr;gap:0;}
.lead__copy{padding:48px;}
.lead__copy h2{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.03em;line-height:1.08;margin:16px 0 0;}
.lead__copy h2 em{font-style:normal;color:var(--acid);}
.lead__copy p{color:var(--dim);font-size:16px;line-height:1.65;margin:16px 0 0;max-width:46ch;}
.lead__form{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.lead__form input{flex:1;min-width:200px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;
  padding:13px 20px;color:var(--bone);font-family:var(--font);font-size:15px;}
.lead__form input::placeholder{color:var(--mute);}
.lead__form input:focus{outline:none;border-color:var(--acid);}
.lead__rate{margin-top:16px;font-family:var(--mono);font-size:11.5px;color:var(--mute);}
.lead__visual{position:relative;display:grid;place-items:center;padding:30px;border-left:1px solid var(--line);}
.lead__pdf{width:200px;aspect-ratio:3/4;border-radius:14px;border:1px solid var(--line-2);
  background:linear-gradient(160deg,#2a1810,#140d0a);box-shadow:0 30px 60px -24px rgba(0,0,0,.85);
  transform:rotate(-5deg);padding:24px;display:flex;flex-direction:column;justify-content:space-between;}
.lead__pdf .big{font-family:var(--disp);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1;color:var(--acid);}
.lead__pdf .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}

/* ── ABOUT ─────────────────────────────────────────────────── */
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;}
.about__media{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:4/5;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85);}
.about__media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;}
.about__tape{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:5px 10px;backdrop-filter:blur(4px);}
.about__h{font-family:var(--disp);font-weight:800;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1.06;margin:18px 0 0;}
.about__lead{font-size:18px;line-height:1.72;color:var(--dim);margin:22px 0 0;}
.about__lead b{color:var(--bone);font-weight:600;}
.about__chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0;}
.chipx{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;padding:8px 14px;}
.about__quote{margin:30px 0 0;padding:20px 24px;border-left:3px solid var(--acid);
  background:rgba(var(--glow),.05);border-radius:0 14px 14px 0;}
.about__quote p{font-family:var(--disp);font-weight:600;font-size:19px;line-height:1.4;margin:0;color:var(--bone);}

/* ── PROCESS — timeline ────────────────────────────────────── */
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(18px*var(--gap-mult));}
.proc .step:nth-child(2n){margin-top:calc(26px*var(--stagger));}
.step{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:24px 22px;
  position:relative;overflow:hidden;transition:border-color .25s,transform .25s;}
.step:hover{border-color:rgba(var(--glow),.35);transform:translateY(-3px);}
.step__no{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.step__no b{font-family:var(--disp);font-weight:800;font-size:30px;color:var(--acid);letter-spacing:-.02em;}
.step__day{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);
  border:1px solid var(--line);border-radius:6px;padding:4px 8px;}
.step h3{font-family:var(--disp);font-weight:700;font-size:17px;letter-spacing:-.01em;margin:0 0 8px;}
.step p{color:var(--dim);font-size:13.5px;line-height:1.55;margin:0;}

/* ── FAQ ───────────────────────────────────────────────────── */
.faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.qa{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);overflow:hidden;transition:border-color .25s;}
.qa[open]{border-color:rgba(var(--glow),.3);}
.qa summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--disp);font-weight:700;font-size:18px;letter-spacing:-.01em;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary .ic{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;
  color:var(--acid);transition:transform .25s,background .25s,color .25s;}
.qa[open] summary .ic{transform:rotate(45deg);background:var(--acid);color:#250d02;border-color:var(--acid);}
.qa__body{padding:0 26px 24px;color:var(--dim);font-size:15px;line-height:1.7;}
.faq__foot{text-align:center;margin-top:26px;color:var(--mute);font-size:14px;}
.faq__foot a{color:var(--acid-soft);}

/* ── END CTA ───────────────────────────────────────────────── */
.endcta{text-align:center;padding:110px 0 90px;}
.endcta h2{font-family:var(--disp);font-weight:800;font-size:clamp(36px,5vw,72px);letter-spacing:-.03em;
  line-height:1.03;margin:0 auto 16px;max-width:16ch;text-wrap:balance;}
.endcta h2 em{font-style:normal;color:var(--acid);}
.endcta p{color:var(--dim);font-size:17px;max-width:48ch;margin:0 auto 32px;}
.endcta .row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.endcta .meta{margin-top:30px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--mute);}

/* ── FOOTER ────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--line);padding:60px 0 40px;}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;}
.foot__brand .brand{margin-bottom:16px;}
.foot__brand p{color:var(--dim);font-size:14.5px;line-height:1.6;max-width:34ch;}
.foot__col h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 16px;}
.foot__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.foot__col a{color:var(--dim);font-size:14.5px;}
.foot__col a:hover{color:var(--bone);}
.foot__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:46px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--mute);}

/* ── STORY / EDITORIAL ─────────────────────────────────────── */
.story{position:relative;}
.story__chapter{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);}
.story__kicker{font-family:var(--disp);font-weight:700;font-size:clamp(20px,2.2vw,26px);color:var(--acid-soft);letter-spacing:-.01em;margin:14px 0 0;}
.story__title{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.2vw,56px);line-height:1.05;letter-spacing:-.03em;margin:14px 0 0;max-width:20ch;text-wrap:balance;}
.story__layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:48px;margin-top:0;align-items:start;}
.story__aside{order:1;}
.story__main{order:2;}
.story__head{margin:0 0 30px;}
.story__article{position:relative;font-size:17px;line-height:1.78;color:var(--dim);}
.story__article p{margin:0 0 18px;}
.story__lead{font-size:19px;line-height:1.7;color:var(--bone);}
.story__article strong{color:var(--bone);font-weight:600;}
.story__rule{border:0;border-top:1px solid var(--line);margin:26px 0;}
.story__highlight{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--acid);letter-spacing:-.01em;}
.story__quote{margin:26px 0;padding:0;border:0;background:none;border-radius:0;}
.story__quote p{font-family:var(--font);font-weight:600;font-size:20px;line-height:1.55;color:var(--acid);margin:0;}
/* collapsible */
.story__more{position:relative;overflow:hidden;max-height:0;transition:max-height .6s cubic-bezier(.4,0,.2,1);}
.story.is-open .story__more{max-height:1600px;}
.story__fade{position:relative;}
.story__fade::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;
  background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none;transition:opacity .4s;}
.story.is-open .story__fade::after{opacity:0;}
.story__toggle{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-family:var(--disp);font-weight:700;font-size:15px;
  color:var(--acid);border:1px solid var(--line-2);border-radius:999px;padding:11px 20px;transition:.2s;}
.story__toggle:hover{border-color:var(--acid);background:rgba(var(--glow),.07);}
.story__toggle .chev{transition:transform .3s;}
.story.is-open .story__toggle .chev{transform:rotate(180deg);}
.story.is-open .story__toggle .lbl-more{display:none;}
.story__toggle .lbl-less{display:none;}
.story.is-open .story__toggle .lbl-less{display:inline;}
.story__sign{display:flex;flex-direction:column;gap:2px;margin:28px 0 0;}
.story__sign strong{font-family:var(--disp);font-weight:800;font-size:18px;color:var(--bone);letter-spacing:-.01em;}
.story__sign span{font-family:var(--mono);font-size:11.5px;color:var(--mute);}
.story__aside{position:sticky;top:96px;}
.story__figure{margin:0;border-radius:20px 20px 20px 90px;overflow:hidden;border:1px solid var(--line-2);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85);}
.story__figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;}
.story__figcap{padding:16px 18px;background:var(--bg-2);font-size:13px;line-height:1.5;color:var(--dim);}
.story__figcap em{color:var(--acid-soft);font-style:normal;font-family:var(--disp);font-weight:600;}
.story__statbar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;}
.story__statbar .s{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);padding:16px;text-align:center;}
.story__statbar .s .v{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--acid);}
.story__statbar .s .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin-top:4px;}

/* ── MARKETS — ambient breather ────────────────────────────── */
.breather{position:relative;padding:118px 0 124px;overflow:hidden;text-align:center;}
.breather__map{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:0;}
.breather__map svg{width:118%;max-width:1500px;height:auto;opacity:.9;
  -webkit-mask-image:radial-gradient(75% 90% at 50% 48%,#000 35%,transparent 78%);
          mask-image:radial-gradient(75% 90% at 50% 48%,#000 35%,transparent 78%);}
.breather::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 80% at 50% 46%,rgba(var(--glow),.10),transparent 62%);}
.breather__inner{position:relative;z-index:2;}
.breather__eyebrow{justify-content:center;}
.breather__num{font-family:var(--disp);font-weight:800;font-size:clamp(56px,8vw,116px);letter-spacing:-.04em;line-height:.92;
  margin:18px 0 0;background:linear-gradient(180deg,var(--bone),rgba(244,241,236,.35));-webkit-background-clip:text;background-clip:text;color:transparent;}
.breather__num span{color:var(--acid);-webkit-text-fill-color:var(--acid);}
.breather__title{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.4vw,44px);letter-spacing:-.03em;line-height:1.08;
  margin:14px auto 0;max-width:22ch;text-wrap:balance;}
.breather__title em{font-style:normal;color:var(--acid);}
.breather__sub{color:var(--dim);font-size:16.5px;line-height:1.7;max-width:50ch;margin:18px auto 0;}
.map-dot{fill:rgba(255,255,255,.085);}
.map-mk{fill:var(--acid);}
.map-halo{fill:none;stroke:var(--acid);}

/* ── ABOUT quote — editorial pull-quote, no boxed card ─────── */
.about__quote{position:relative;margin:40px 0 0;padding:6px 0 6px 40px;border:0;background:none;box-shadow:none;overflow:visible;}
.about__quote::before{content:"\201C";position:absolute;left:-4px;top:-30px;font-family:Georgia,serif;font-size:100px;
  line-height:1;color:var(--acid);opacity:.32;}
.about__quote::after{content:"";position:absolute;left:2px;top:8px;bottom:8px;width:2px;
  background:var(--acid);opacity:.55;}
.about__quote p{font-family:var(--disp);font-weight:700;font-size:clamp(20px,2.1vw,26px);line-height:1.34;
  letter-spacing:-.015em;margin:0;color:var(--bone);text-wrap:balance;}
.about__quote .sig{display:flex;align-items:center;gap:11px;margin-top:18px;}
.about__quote .sig i{width:30px;height:2px;background:var(--acid);display:block;}
.about__quote .sig b{font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:-.01em;color:var(--bone);}
.about__quote .sig span{font-family:var(--mono);font-size:11px;color:var(--mute);}

/* ── PORTFOLIO expand-down ─────────────────────────────────── */
.work-collapse{position:relative;overflow:hidden;max-height:760px;transition:max-height .7s cubic-bezier(.4,0,.2,1);}
.work-collapse.is-open{max-height:4000px;}
.work-collapse__fade{position:absolute;left:0;right:0;bottom:0;height:300px;z-index:6;pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--bg) 86%);transition:opacity .5s;}
.work-collapse.is-open .work-collapse__fade{opacity:0;}
.work-more{display:flex;justify-content:center;margin-top:-46px;position:relative;z-index:7;}
.work-more .count{font-family:var(--mono);font-size:11.5px;color:var(--mute);margin-left:2px;}
.work-collapse.is-open ~ .work-more{margin-top:28px;}

/* ── REVIEW FLAGS (avatar) ─────────────────────────────────── */
.rev-card__av{position:relative;}
.rev-card__flag{position:absolute;bottom:-3px;right:-5px;font-size:13px;line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));}
.rev-card__c .flag{margin-right:5px;}

/* ── CASE LOGO (real svg) ──────────────────────────────────── */
.case__logo{height:28px;display:flex;align-items:center;}
.case__logo img{height:100%;width:auto;max-width:150px;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.82;transition:opacity .25s;}
.case:hover .case__logo img{opacity:1;}
.case__logo--word{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:.01em;color:var(--bone);opacity:.9;}

/* logo wall — real svg */
.logowall img{height:26px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .25s;}
.logowall img:hover{opacity:.95;}

/* stronger caption gradient on video testimonials */
.vt__cap{text-shadow:0 1px 10px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.9);}
.vt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64%;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(8,7,9,.5) 42%,rgba(8,7,9,.94));transition:opacity .3s;}
.vt.is-loaded::after{opacity:0;}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}.rev-track{animation:none;}
  .hero::before,.vplayer,.proof-float,.btn--cta{animation:none!important;}
  .hero__pills,.h1,.hero__lead,.hero__cta,.hero__trust,.hero__media{opacity:1!important;transform:none!important;}}

/* ── responsive ────────────────────────────────────────────── */
@media(max-width:960px){
  .cases .case:nth-child(3n+2),.proc .step:nth-child(2n){margin-top:0;}
  .hero__grid{grid-template-columns:1fr;gap:40px;}
  .hero__media{max-width:440px;}
  .about__grid{grid-template-columns:1fr;gap:32px;}
  .about__media{max-width:420px;}
  .proof,.work-grid,.cases,.vtest,.pricing{grid-template-columns:repeat(2,1fr);}
  .proc{grid-template-columns:repeat(2,1fr);}
  .lead{grid-template-columns:1fr;}
  .lead__visual{display:none;}
  .story__layout{grid-template-columns:1fr;gap:30px;}
  .story__aside{position:static;max-width:420px;}
  .foot__grid{grid-template-columns:1fr 1fr;}
  .nav__links{display:none;}
  .proof-float{right:6px;}
}
@media(max-width:560px){
  .proof,.work-grid,.cases,.vtest,.proc,.pricing{grid-template-columns:1fr;}
  .hero__trust{gap:22px;}
  .rev-card{flex-basis:280px;}
  .foot__grid{grid-template-columns:1fr;}
  .lead__copy{padding:32px;}
}

/* ╔═══════════════════════════════════════════════════════════╗
   ║  WHY VIDEO SELLS — perception & decision chapter           ║
   ╚═══════════════════════════════════════════════════════════╝ */
.why{position:relative;}
.why h3{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;line-height:1.07;margin:14px 0 0;}
.panel{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg-2);position:relative;overflow:hidden;}
.panel__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 90% at 100% 0%,rgba(var(--glow),.07),transparent 55%);}
.psmall{font-size:clamp(21px,2.3vw,28px);}
.psub{color:var(--dim);font-size:15px;line-height:1.6;margin:12px 0 22px;max-width:46ch;}

/* shared data-viz panel head */
.dataviz__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;}
.dataviz__t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.dataviz__leg{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--mute);}
.lg{width:14px;height:3px;border-radius:2px;display:inline-block;}
.lg--vid{background:var(--acid);}
.lg--base{background:var(--cool-soft);margin-left:8px;}

/* beats — minimal alternating */
.beat{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;margin-top:104px;}
.beat--rev{grid-template-columns:1.18fr .82fr;}
.beat--rev .beat__copy{order:2;}
.beat__ix{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);}
.beat__copy h3{font-family:var(--disp);font-weight:800;font-size:clamp(32px,4.4vw,56px);letter-spacing:-.03em;line-height:1.02;margin:18px 0 0;}
.beat__copy p{color:var(--dim);font-size:17px;line-height:1.6;margin:20px 0 0;max-width:32ch;}
.hl{position:relative;z-index:0;color:var(--bone);white-space:nowrap;padding:0 .04em;}
.hl::after{content:"";position:absolute;left:-.06em;right:-.06em;top:.14em;bottom:.1em;z-index:-1;border-radius:7px;
  background:linear-gradient(90deg,var(--acid-deep),var(--acid));transform:scaleX(0);transform-origin:left;
  transition:transform .7s cubic-bezier(.2,.7,.2,1) .3s;}
.reveal.is-in .hl::after{transform:scaleX(1);}
.attn__chart{padding:24px 26px 18px;}
.dvchart{width:100%;height:auto;display:block;margin-top:10px;}
.ch-grid{stroke:rgba(255,255,255,.05);stroke-width:1;}
.ch-axis{stroke:rgba(255,255,255,.16);stroke-width:1.4;}
.ch-base{fill:none;stroke:var(--cool-soft);stroke-width:3;stroke-dasharray:1.5 7;stroke-linecap:round;opacity:.85;}
.ch-vid{fill:none;stroke:var(--acid);stroke-width:3.4;stroke-dasharray:1.5 7;stroke-linecap:round;}
.ch-peak{fill:var(--acid);}
.ch-halo{fill:rgba(var(--glow),.16);}
.ch-halo2{fill:rgba(var(--glow),.30);}
.ch-lab{font-family:var(--mono);font-size:11px;fill:var(--mute);letter-spacing:.08em;text-anchor:middle;}
.ch-lab--cool{fill:var(--cool-soft);}
.ch-lab--vid{fill:var(--acid-soft);}
.ch-cap{font-family:var(--mono);font-size:10px;fill:var(--mute);letter-spacing:.12em;text-anchor:middle;}

/* 2 · UNDERSTANDING — flow */
.psell{margin-top:64px;}
.psell__head{max-width:700px;margin:0 0 26px;}
.psell__head h3{font-size:clamp(26px,3vw,40px);}
.psell__head p{color:var(--dim);font-size:16.5px;line-height:1.7;margin:14px 0 0;}
.flow3{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;padding:26px;}
.flow3 .node{flex:1 1 200px;border:1px solid var(--line);border-radius:var(--radius-tile);background:rgba(255,255,255,.02);padding:22px;}
.node__step{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--acid-soft);}
.node__t{font-family:var(--disp);font-weight:800;font-size:24px;letter-spacing:-.02em;margin:8px 0 6px;}
.node__d{color:var(--dim);font-size:14px;line-height:1.55;margin:0;}
.flow3__arr{align-self:center;font-family:var(--disp);font-weight:700;font-size:22px;color:var(--mute);}

/* 3 + 4 · CERTAINTY + MEMORY */
.psell-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:60px;}
.objx,.recall{padding:28px;}
.objx__list{display:flex;flex-direction:column;margin-top:2px;}
.objx__row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line);}
.objx__row:last-child{border-bottom:1px solid var(--line);}
.objx__q{flex:1;color:var(--bone);font-size:15px;}
.objx__badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--acid-soft);white-space:nowrap;}
.objx__badge svg{width:15px;height:15px;color:var(--acid);}
.recall__cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2px;}
.recall__col{border:1px solid var(--line);border-radius:var(--radius-tile);background:rgba(255,255,255,.02);padding:16px 16px 14px;}
.recall__lab{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:14px;line-height:1.5;}
.recall__lab b{color:var(--bone);font-weight:700;display:block;font-size:12px;margin-bottom:3px;letter-spacing:.02em;}
.recall__bars{display:flex;align-items:flex-end;gap:5px;height:86px;}
.recall__bars i{flex:1;border-radius:3px 3px 0 0;display:block;min-height:6px;}
.recall__col--base .recall__bars i{background:linear-gradient(180deg,var(--cool-soft),rgba(var(--glow-cool),.22));}
.recall__col--vid .recall__bars i{background:linear-gradient(180deg,var(--acid-soft),var(--acid-deep));}
.recall__foot{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:10px;display:flex;justify-content:space-between;}

/* 5 · DECISION TIMELINE */
.dtl-wrap{margin-top:66px;}
.dtl{padding:30px 30px 34px;}
.dtl__lane{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.dtl__lane::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--acid);}
.dtl__track,.dtl__states{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.dtl__seg{border:1px solid var(--line);border-radius:var(--radius-tile);background:rgba(255,255,255,.02);padding:16px 15px;position:relative;overflow:hidden;}
.dtl__seg .tc{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--mute);}
.dtl__seg .ph{font-family:var(--disp);font-weight:800;font-size:16px;letter-spacing:-.01em;margin:6px 0 8px;color:var(--bone);}
.dtl__seg .fn{color:var(--dim);font-size:12.5px;line-height:1.5;margin:0;}
.dtl__seg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acid);}
.dtl__seg:nth-child(1)::before{opacity:.32;}
.dtl__seg:nth-child(2)::before{opacity:.46;}
.dtl__seg:nth-child(3)::before{opacity:.60;}
.dtl__seg:nth-child(4)::before{opacity:.74;}
.dtl__seg:nth-child(5)::before{opacity:.88;}
.dtl__seg:nth-child(6)::before{opacity:1;}
.dtl__flow{position:relative;height:42px;margin:18px 0;}
.dtl__flow .bar{position:absolute;left:0;right:0;top:18px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--cool-soft),var(--acid-soft) 55%,var(--acid));}
.dtl__flow .dots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);}
.dtl__flow .dot{justify-self:center;align-self:center;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--acid);box-shadow:0 0 0 4px rgba(var(--glow),.12);}
.dtl__state{border:1px solid var(--line);border-radius:var(--radius-tile);padding:15px;position:relative;overflow:hidden;}
.dtl__state .ix{font-family:var(--mono);font-size:10px;color:var(--mute);}
.dtl__state .st{font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:-.005em;margin-top:8px;color:var(--bone);}
.dtl__state:nth-child(1){background:rgba(var(--glow),.035);border-color:rgba(var(--glow),.12);}
.dtl__state:nth-child(2){background:rgba(var(--glow),.05);border-color:rgba(var(--glow),.16);}
.dtl__state:nth-child(3){background:rgba(var(--glow),.07);border-color:rgba(var(--glow),.2);}
.dtl__state:nth-child(4){background:rgba(var(--glow),.09);border-color:rgba(var(--glow),.26);}
.dtl__state:nth-child(5){background:rgba(var(--glow),.12);border-color:rgba(var(--glow),.34);}
.dtl__state:nth-child(6){background:rgba(var(--glow),.16);border-color:rgba(var(--glow),.5);}
.dtl__state:nth-child(6) .st{color:var(--acid-soft);}

/* 6 · DELIVERABLES */
.deliv{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;}
.deliv__copy{padding:42px;border-right:1px solid var(--line);}
.deliv__h{font-family:var(--disp);font-weight:800;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.06;margin:16px 0 0;}
.deliv__h em{font-style:normal;color:var(--acid);}
.deliv__lead{color:var(--dim);font-size:16px;line-height:1.65;margin:16px 0 0;max-width:40ch;}
.deliv__close{margin-top:34px;padding:2px 0 2px 24px;border-left:2px solid var(--acid);background:none;}
.deliv__close p{font-family:var(--disp);font-weight:600;font-size:17px;line-height:1.45;margin:0;color:var(--bone);text-wrap:balance;}
.deliv__grid{padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:13px 26px;align-content:center;}
.deliv__item{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--bone);line-height:1.4;}
.deliv__item svg{flex:0 0 auto;margin-top:3px;color:var(--acid);width:16px;height:16px;}
.deliv__item .opt{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);border-radius:5px;padding:2px 6px;margin-left:6px;align-self:center;}

/* flow nodes — minimal (no body copy) */
.flow3{justify-content:center;}
.flow3 .node{flex:0 1 200px;text-align:center;padding:26px 22px;}
.node__t{font-size:26px;margin:10px 0 0;}
.recall__foot{margin-top:14px;}

/* ── scroll-in animations (gated on .reveal.is-in) ── */
.beat__viz{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.is-in .beat__viz{opacity:1;transform:none;}
.attn__chart .dvchart{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.4,0,.2,1) .25s;}
.reveal.is-in .attn__chart .dvchart{clip-path:inset(0 0 0 0);}
.flow3 .node{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);}
.reveal.is-in .flow3 .node{opacity:1;transform:none;}
.reveal.is-in .flow3 .node:nth-child(3){transition-delay:.14s;}
.reveal.is-in .flow3 .node:nth-child(5){transition-delay:.28s;}
.flow3__arr{opacity:0;transition:opacity .5s ease .2s;}
.reveal.is-in .flow3__arr{opacity:1;}
.objx__row{opacity:0;transform:translateX(-12px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
.reveal.is-in .objx__row{opacity:1;transform:none;}
.reveal.is-in .objx__row:nth-child(2){transition-delay:.1s;}
.reveal.is-in .objx__row:nth-child(3){transition-delay:.2s;}
.reveal.is-in .objx__row:nth-child(4){transition-delay:.3s;}
.objx__badge{opacity:0;transform:scale(.7);transition:opacity .4s ease,transform .45s cubic-bezier(.2,.9,.3,1);}
.reveal.is-in .objx__badge{opacity:1;transform:none;}
.reveal.is-in .objx__row:nth-child(1) .objx__badge{transition-delay:.4s;}
.reveal.is-in .objx__row:nth-child(2) .objx__badge{transition-delay:.55s;}
.reveal.is-in .objx__row:nth-child(3) .objx__badge{transition-delay:.7s;}
.reveal.is-in .objx__row:nth-child(4) .objx__badge{transition-delay:.85s;}
.recall__bars i{transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.3,.8,.3,1);}
.reveal.is-in .recall__bars i{transform:scaleY(1);}
.reveal.is-in .recall__bars i:nth-child(2){transition-delay:.07s;}
.reveal.is-in .recall__bars i:nth-child(3){transition-delay:.14s;}
.reveal.is-in .recall__bars i:nth-child(4){transition-delay:.21s;}
.reveal.is-in .recall__bars i:nth-child(5){transition-delay:.28s;}
.reveal.is-in .recall__bars i:nth-child(6){transition-delay:.35s;}
.dtl__seg,.dtl__state{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
.reveal.is-in .dtl__seg,.reveal.is-in .dtl__state{opacity:1;transform:none;}
.reveal.is-in .dtl__seg:nth-child(2),.reveal.is-in .dtl__state:nth-child(2){transition-delay:.07s;}
.reveal.is-in .dtl__seg:nth-child(3),.reveal.is-in .dtl__state:nth-child(3){transition-delay:.14s;}
.reveal.is-in .dtl__seg:nth-child(4),.reveal.is-in .dtl__state:nth-child(4){transition-delay:.21s;}
.reveal.is-in .dtl__seg:nth-child(5),.reveal.is-in .dtl__state:nth-child(5){transition-delay:.28s;}
.reveal.is-in .dtl__seg:nth-child(6),.reveal.is-in .dtl__state:nth-child(6){transition-delay:.35s;}
/* timeline playhead + bar fill */
.dtl__flow .bar{transform:scaleX(0);transform-origin:left;transition:transform 2.2s cubic-bezier(.4,0,.2,1) .3s;}
.reveal.is-in .dtl__flow .bar{transform:scaleX(1);}
.dtl__flow .dot{transform:scale(0);transition:transform .4s cubic-bezier(.2,.9,.3,1);}
.reveal.is-in .dtl__flow .dot{transform:scale(1);}
.dtl__flow .dots .dot:nth-child(1){transition-delay:.4s;}
.dtl__flow .dots .dot:nth-child(2){transition-delay:.72s;}
.dtl__flow .dots .dot:nth-child(3){transition-delay:1.04s;}
.dtl__flow .dots .dot:nth-child(4){transition-delay:1.36s;}
.dtl__flow .dots .dot:nth-child(5){transition-delay:1.68s;}
.dtl__flow .dots .dot:nth-child(6){transition-delay:2s;}
.dtl__flow .head{position:absolute;top:13px;left:0;width:15px;height:15px;border-radius:50%;background:var(--acid);
  box-shadow:0 0 16px 2px rgba(var(--glow),.7);transform:translateX(-50%);opacity:0;}
.reveal.is-in .dtl__flow .head{animation:playhead 2.4s cubic-bezier(.4,0,.2,1) .3s forwards;}
@keyframes playhead{0%{left:0;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{left:100%;opacity:0;}}

/* why — responsive */
@media(max-width:860px){
  .beat,.beat--rev{grid-template-columns:1fr;gap:30px;}
  .beat--rev .beat__copy{order:0;}
  .beat__copy p{max-width:46ch;}
}
@media(max-width:960px){
  .flow3__arr{transform:rotate(90deg);width:100%;text-align:center;}
  .dtl__track,.dtl__states{grid-template-columns:repeat(3,1fr);}
  .dtl__flow .dots{display:none;}
  .deliv{grid-template-columns:1fr;}
  .deliv__copy{border-right:0;border-bottom:1px solid var(--line);}
}
@media(max-width:560px){
  .dtl__track,.dtl__states{grid-template-columns:repeat(2,1fr);}
  .deliv__grid{grid-template-columns:1fr;}
  .recall__cmp{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .beat__viz,.flow3 .node,.flow3__arr,.objx__row,.objx__badge,.dtl__seg,.dtl__state{opacity:1!important;transform:none!important;}
  .recall__bars i,.dtl__flow .bar,.dtl__flow .dot{transform:none!important;}
  .attn__chart .dvchart{clip-path:none!important;}
  .hl::after{transform:scaleX(1)!important;}
  .dtl__flow .head{display:none;}
}

/* ╔═══════════════════════════════════════════════════════════╗
   ║  COMMENT FIXES v2                                           ║
   ╚═══════════════════════════════════════════════════════════╝ */

/* interludes — "why" beats scattered through the page */
.sec--interlude{padding:calc(56px + var(--sec-air)*.6) 0;}

/* deliverables — plain text, no boxes */
.deliv-text{max-width:760px;margin:0 auto;}
.deliv-text h2{font-family:var(--disp);font-weight:800;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.06;margin:16px 0 0;}
.deliv-text h2 em{font-style:normal;color:var(--acid);}
.deliv-text__lead{color:var(--dim);font-size:17px;line-height:1.6;margin:18px 0 0;max-width:56ch;}
.deliv-text__list{font-size:18px;line-height:1.9;color:var(--bone);margin:16px 0 0;max-width:64ch;}
.deliv-text__close{margin-top:30px;padding:2px 0 2px 22px;border-left:2px solid var(--acid);
  font-family:var(--disp);font-weight:600;font-size:18px;line-height:1.5;color:var(--bone);max-width:56ch;}

/* about quote — plain statement, no box/glyph */
.about__quote{margin:36px 0 0 !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important;}
.about__quote::before,.about__quote::after{display:none !important;content:none !important;}
.about__quote p{font-family:var(--disp);font-weight:600;font-style:italic;font-size:clamp(19px,2vw,23px);line-height:1.5;color:var(--bone);margin:0;}
.about__quote .sig{margin-top:16px;}

/* review card — single flag (on avatar), no duplicate */
.rev-card__av{font-size:17px;}
.rev-card__flag{display:none;}
.rev-card__c .flag{display:none;}

/* logowall — full width, multiple rows, fades into next section */
.logowall--wide{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  border-radius:0;border-left:0;border-right:0;background:transparent;padding:36px 24px 0;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 96%);
  mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 96%);}
.logowall--wide::after{display:none;}
.logowall__row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 46px;padding-bottom:36px;}
.logowall__row img{height:24px;width:auto;filter:brightness(0) invert(1);opacity:.42;}
.logowall__row span{font-family:var(--disp);font-weight:700;font-size:17px;letter-spacing:.02em;color:var(--mute);opacity:.7;}

/* work-more button — bigger, more visible */
.work-more__btn{padding:20px 40px;font-size:17px;border-width:1.5px;border-color:var(--line-2);}

/* decision timeline — minimalist: bare clips + stage labels, no frame */
.vedit{position:relative;max-width:820px;margin:0 auto;}
.vedit__labels{position:relative;height:30px;margin-bottom:14px;}
.vmark{position:absolute;left:var(--x);bottom:0;transform:translateX(-50%);white-space:nowrap;}
.vmark__ph{font-family:var(--disp);font-weight:800;font-size:clamp(17px,2vw,22px);letter-spacing:-.01em;color:var(--c);}

.vedit__field{position:relative;display:flex;flex-direction:column;gap:10px;}
.vtrack{position:relative;height:22px;}
.vclip{position:absolute;top:0;bottom:0;left:var(--l);width:var(--w);border-radius:4px;
  background:var(--acid);}

.vedit__lines{position:absolute;inset:0;pointer-events:none;}
.vline{position:absolute;left:var(--x);top:-14px;bottom:-6px;width:2px;transform:translateX(-50%);
  background:var(--c);border-radius:2px;}

@media(max-width:760px){
  .vmark__ph{font-size:14px;}
}

/* proof strip + hero trust — cohesive number/label pairing */
.proof__cell{display:flex;align-items:center;gap:16px;}
.proof__n{font-size:clamp(24px,2.4vw,32px);}
.proof__l{margin-top:0;max-width:13ch;line-height:1.32;}
.hero__trust{gap:0;}
.hero__trust > div{display:flex;flex-direction:column;gap:4px;padding:0 22px;border-left:1px solid var(--line-2);}
.hero__trust > div:first-child{padding-left:0;border-left:0;}
.hero__trust .n{font-size:21px;}
.hero__trust .l{margin-top:0;}

/* video testimonials — coverflow carousel: one centered, sides dimmed */
.vtest{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:20px calc(50% - 168px) 30px;-ms-overflow-style:none;scrollbar-width:none;}
.vtest::-webkit-scrollbar{display:none;}
.vtest .vt{flex:0 0 336px;aspect-ratio:4/5;scroll-snap-align:center;
  transform:scale(.8);opacity:.4;filter:grayscale(.55) brightness(.7);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s,filter .5s;}
.vtest .vt.is-active{transform:scale(1);opacity:1;filter:none;z-index:3;}
.vtest .vt:hover{transform:scale(.83);}
.vtest .vt.is-active:hover{transform:scale(1.02);}
/* declutter overlays: drop the corner badge + metric, keep play + caption */
.vt__badge,.vt__metric{display:none;}
.vt .vt__cap,.vt .vt__play{opacity:0;transition:opacity .4s;}
.vt.is-active .vt__cap{opacity:1;}
.vt.is-active .vt__play{opacity:1;}
.vt.is-loaded .vt__cap,.vt.is-loaded .vt__play{opacity:0;}
.vtest-wrap{position:relative;}
.vtest-nav{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);z-index:6;
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:var(--bg-2);border:1px solid var(--line-2);color:var(--bone);
  transition:background .2s,color .2s,border-color .2s;}
.vtest-nav:hover{background:var(--acid);color:#250d02;border-color:var(--acid);}
.vtest-nav--prev{left:8px;}
.vtest-nav--next{right:8px;}
.vtest-nav svg{width:18px;height:18px;}
@media(max-width:760px){.vtest .vt{flex-basis:250px;}.vtest{padding:20px calc(50% - 125px) 30px;}
  .vtest-nav{display:none;}}

/* ══ UNIFIED PROSE ══ one body size + one emphasis (+ heading), bigger & even ══ */
.story__article,.about__lead,.deliv-text__lead,.deliv-text__list{
  font-family:var(--font);font-size:18.5px;line-height:1.8;color:var(--dim);letter-spacing:0;}
.story__article p{margin:0 0 20px;}
/* emphasis — same size & family, brighter bone */
.story__lead,.deliv-text__list,
.story__article strong,.about__lead b{color:var(--bone);font-weight:600;}
.story__lead{font-weight:400;}
/* accent line — body font, one accent treatment (story punch + deliverables close) */
.story__highlight{font-family:var(--font);font-weight:700;font-size:18.5px;color:var(--acid);letter-spacing:0;line-height:1.6;}
.deliv-text__close{font-family:var(--font);font-weight:600;font-size:18.5px;line-height:1.7;color:var(--bone);}
.qa__body{font-size:16.5px;line-height:1.75;}

/* ── DELIVERABLES checklist — checkboxes tick in sequentially ── */
.deliv-check{list-style:none;margin:22px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:12px 34px;max-width:64ch;}
.deliv-check li{display:flex;align-items:center;gap:14px;
  font-family:var(--font);font-size:18.5px;line-height:1.4;color:var(--bone);}
.deliv-check li.is-opt{color:var(--dim);}
.deliv-check li em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--mute);margin-left:2px;}
.deliv-check__box{flex:0 0 auto;width:26px;height:26px;border-radius:7px;
  border:1.5px solid var(--line-2);background:rgba(255,255,255,.02);
  display:grid;place-items:center;color:#250d02;transition:background .3s,border-color .3s;}
.deliv-check__box svg{width:16px;height:16px;
  stroke-dasharray:34;stroke-dashoffset:34;}
/* checked state (added per-item by JS, staggered) */
.deliv-check li.is-checked .deliv-check__box{background:var(--acid);border-color:var(--acid);
  animation:checkPop .32s cubic-bezier(.34,1.56,.64,1);}
.deliv-check li.is-checked .deliv-check__box svg{
  animation:checkDraw .4s ease forwards .06s;}
@keyframes checkDraw{to{stroke-dashoffset:0;}}
@keyframes checkPop{0%{transform:scale(1);}45%{transform:scale(1.22);}100%{transform:scale(1);}}
@media(max-width:640px){.deliv-check{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){
  .deliv-check__box svg{stroke-dashoffset:0;}
  .deliv-check li .deliv-check__box{background:var(--acid);border-color:var(--acid);}}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  VIDSDEAL · MOBILE UX LAYER                                    ║
   ║  Loaded AFTER bento.css. Desktop (>960px) is untouched.        ║
   ║  Priorities: readability, spacing, tap targets, smooth scroll. ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* toggle hidden by default; nav__right is transparent to desktop layout */
.nav__toggle{display:none;}
.nav__right{display:contents;}

/* ─────────────────────────  NAV / MENU  ───────────────────────── */
@media(max-width:960px){
  .nav__inner{position:relative;margin:10px auto;padding:8px 8px 8px 16px;}
  .brand{font-size:19px;}
  .nav__right{display:flex;align-items:center;gap:8px;}
  .nav__cta{padding:11px 16px;font-size:13px;}

  .nav__toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;padding:0 11px;border:1px solid var(--line-2);border-radius:12px;
    background:rgba(255,255,255,.02);}
  .nav__toggle span{display:block;height:2px;width:100%;background:var(--bone);border-radius:2px;
    transition:transform .25s ease,opacity .2s ease;}
  .nav.is-open .nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav.is-open .nav__toggle span:nth-child(2){opacity:0;}
  .nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav__links{position:absolute;top:calc(100% + 8px);left:0;right:0;
    flex-direction:column;gap:4px;display:none;
    background:rgba(12,11,14,.97);backdrop-filter:blur(16px) saturate(1.3);
    border:1px solid var(--line);border-radius:18px;padding:10px;
    box-shadow:0 26px 54px -22px rgba(0,0,0,.85);}
  .nav.is-open .nav__links{display:flex;}
  .nav__links a{display:block;padding:14px 16px;font-size:16px;border-radius:12px;color:var(--bone);}
  .nav__links a:active{background:rgba(255,255,255,.06);}
}
@media(max-width:380px){
  .brand{font-size:17px;}
  .nav__cta{padding:10px 13px;font-size:12.5px;}
}

/* ───────────────────────  PHONE LAYOUT  ───────────────────────── */
@media(max-width:768px){
  html,body{overflow-x:hidden;}

  /* rhythm: generous side gutters (shorthand on .sec/.hero would zero these
     out, so the horizontal value must live here too), centered heads */
  .wrap{padding:0 22px;}
  .sec{padding:60px 22px;}
  .shead{margin:0 auto 28px;text-align:center;}
  .shead .eyebrow{justify-content:center;}
  .shead h2{font-size:clamp(26px,6.6vw,34px);line-height:1.08;}
  .shead p{font-size:15.5px;margin:12px auto 0;}
  .shead-row{flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:26px;}

  /* buttons: full-width, thumb-friendly */
  .btn{padding:15px 22px;font-size:15.5px;}
  .btn--cta{padding:17px 24px;font-size:16px;}

  /* ── HERO ── */
  .hero{padding:20px 22px 8px;}
  .hero::before{animation:none;opacity:.55;}
  .hero__grid{gap:30px;}
  .hero__copy{text-align:center;}
  .hero__pills{justify-content:center;}
  .hero .h1{width:auto!important;height:auto!important;line-height:1.07!important;
    font-size:clamp(29px,7.7vw,38px);}
  .hero__lead{font-size:16px;line-height:1.68;margin:16px auto 0;max-width:38ch;}
  .hero__cta{flex-direction:column;align-items:center;gap:10px;margin-top:24px;}
  .hero__cta .btn{width:100%;justify-content:center;}
  .hero__media{max-width:360px;margin:0 auto;width:100%;}
  .hero.is-in .vplayer,.hero.is-in .proof-float{animation:none;}
  .vplayer__cap .nm{font-size:19px;}
  .proof-float{right:8px;bottom:10px;width:158px;padding:12px 13px;}
  .proof-float .big{font-size:26px;}
  .proof-float .sub{font-size:11.5px;}

  /* ── PROOF STRIP ── 2×2 keeps it compact */
  .proof{grid-template-columns:1fr 1fr;gap:10px;}
  .proof__cell{padding:22px 16px;flex-direction:column;align-items:center;text-align:center;gap:8px;}
  .proof__n{font-size:clamp(26px,7vw,32px);}
  .proof__l{font-size:12px;max-width:none;}

  /* ── FILTERS ── horizontal scroll, no cramped wrap */
  .filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    gap:8px;padding-bottom:4px;scrollbar-width:none;}
  .filters::-webkit-scrollbar{display:none;}
  .filters .f{flex:0 0 auto;padding:11px 17px;font-size:14px;}

  /* ── PORTFOLIO 16:9 ── */
  .work-grid{grid-template-columns:1fr;gap:16px;}
  .work__title{font-size:17px;}
  .work__body{padding:14px 16px 16px;}
  .work-collapse{max-height:1180px;}
  .work-collapse__fade{height:200px;}

  /* ── PORTFOLIO 9:16 rail ── smaller cards, more per view */
  .rail{grid-auto-columns:150px;gap:12px;}
  .reel__cl{font-size:13px;}

  /* ── VIDEO TESTIMONIALS ── one big card, swipe */
  .vtest{padding:16px calc(50% - 140px) 24px;}
  .vtest .vt{flex-basis:280px;}

  /* ── REVIEWS marquee ── */
  .rev-card{flex:0 0 270px;padding:18px 20px;}
  .rev-wrap::before,.rev-wrap::after{width:44px;}
  .rev-head{justify-content:center;}
  .rev-score b{font-size:34px;}

  /* ── LOGO WALL ── contained, not full-bleed, so logos keep side margins */
  .logowall--wide{width:auto;left:auto;right:auto;margin-left:0;margin-right:0;
    -webkit-mask-image:none;mask-image:none;padding:24px 0 0;}
  .logowall__row{gap:14px 30px;padding-bottom:22px;}
  .logowall__row span{font-size:15px;}
  .logowall__row img{height:20px;}

  /* ── MARKETS breather ── */
  .breather{padding:70px 0 76px;}
  .breather__sub{font-size:15.5px;margin-top:14px;}

  /* ── ABOUT ── centered, photo as a framed element */
  .about__grid{gap:28px;}
  .about__media{max-width:330px;margin:0 auto;}
  .about__copy{text-align:center;}
  .about__copy .eyebrow{justify-content:center;}
  .about__lead{font-size:16.5px;line-height:1.68;margin:18px auto 0;}
  .about__chips{justify-content:center;}
  .about__quote{text-align:left;padding-left:30px;margin-left:auto;margin-right:auto;max-width:460px;}

  /* ── STORY ── photo first (framed), centered head, readable body */
  .story__layout{gap:30px;}
  .story__aside{max-width:360px;margin:0 auto;}
  .story__head{text-align:center;}
  .story__title{font-size:clamp(26px,7vw,34px);max-width:none;}
  .story__article{font-size:16.5px;line-height:1.78;max-width:60ch;margin:0 auto;}
  .story__article p{margin:0 0 16px;}
  .story__figure{border-radius:16px 16px 16px 48px;}

  /* ── PROCESS ── capped, centered stack */
  .proc{grid-template-columns:1fr;gap:12px;max-width:460px;margin:0 auto;}
  .step{padding:22px 20px;}
  .step__no b{font-size:26px;}
  .step h3{font-size:17px;}
  .step p{font-size:14.5px;}

  /* ── DELIVERABLES ── centered intro, contained checklist */
  .deliv-text{text-align:center;}
  .deliv-text .eyebrow{justify-content:center;}
  .deliv-text__lead{font-size:16px;margin-left:auto;margin-right:auto;}
  .deliv-check{text-align:left;max-width:330px;margin-left:auto;margin-right:auto;}
  .deliv-check li{font-size:15px;}
  .deliv-text__close{margin-left:auto;margin-right:auto;}

  /* ── PRICING ── single column, capped so cards aren't stretched */
  .pricing{grid-template-columns:1fr;gap:16px;max-width:440px;margin:0 auto;}
  .tier{padding:26px 24px;}
  .tier--pop{margin-top:0;}
  .tier__list li{font-size:14.5px;}
  .tier .btn{width:100%;}
  .pricing__note{font-size:14px;}

  /* ── LEAD MAGNET ── stacked form, full-width fields, capped card */
  .lead{max-width:460px;margin:0 auto;}
  .lead__copy{padding:28px 24px;}
  .lead__form{flex-direction:column;gap:10px;}
  .lead__form input{width:100%;min-width:0;}
  .lead__form .btn{width:100%;justify-content:center;}

  /* ── FAQ ── */
  .qa summary{padding:18px 18px;font-size:16px;gap:12px;}
  .qa__body{padding:0 18px 20px;font-size:15.5px;}

  /* ── END CTA ── */
  .endcta{padding:64px 22px 60px;}
  .endcta h2{font-size:clamp(28px,7.4vw,40px);}
  .endcta p{font-size:16px;margin-bottom:26px;}
  .endcta .row{flex-direction:column;gap:12px;}
  .endcta .row .btn{width:100%;justify-content:center;}
  .endcta .meta{font-size:11px;line-height:1.7;}

  /* ── FOOTER ── comfy tap targets */
  .foot{padding:48px 0 32px;}
  .foot__grid{grid-template-columns:1fr;gap:26px;}
  .foot__col a{display:inline-block;padding:4px 0;font-size:15px;}
  .foot__bar{margin-top:32px;gap:8px;}
}

/* Lighten ambient GPU load on phones regardless of motion pref */
@media(max-width:768px){
  .bgfx::before{opacity:.5;}
}

/* ╔══════════════════════════════════════════════════════════════╗
   ║  VIDSDEAL · CINEMATIC / EDITORIAL LAYER                        ║
   ║  Loaded last. Calms glows, unifies radii, editorial cards,     ║
   ║  depth-of-field blur, film grain. #pricing is left untouched.  ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ── radii system: cards 6 · media 12 · labels 4 ── */
html,html[data-mood]{--radius-tile:6px;--r-media:12px;--r-label:4px;}
#pricing{--radius-tile:14px;}
.nav__inner{border-radius:10px;}
.brand i{box-shadow:none;border-radius:3px;}
.nav__cta{border-radius:7px;background:var(--bone);color:#111;}
.nav__cta .pulse{background:#111;animation:none;opacity:.55;}
.nav__cta:hover{box-shadow:none;transform:none;background:#fff;}
.pill,.chipx{border-radius:var(--r-label);background:transparent;}
.filters .f{border-radius:6px;}
.vplayer,.work,.reel__media,.vt,.about__media,.story__figure,.lead__pdf{border-radius:var(--r-media);}
.lead{border-radius:var(--r-media);background:transparent;border:0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.lead__form input{border-radius:6px;background:transparent;}
.vtest .vt{border-radius:var(--r-media);}
.tagm,.vt__badge,.vt__metric,.about__tape,.vplayer__chrome{display:none!important;}

/* ── ambient glows: hero, map, end CTA only ── */
.bgfx::before{display:none;}
.bgfx::after{opacity:.5;}
.hero::before{background:radial-gradient(closest-side,rgba(var(--glow),.11),transparent 70%);}
.breather::before{background:radial-gradient(60% 80% at 50% 46%,rgba(var(--glow),.075),transparent 62%);}
.endcta{position:relative;}
.endcta::before{content:"";position:absolute;left:50%;bottom:-40px;width:900px;height:380px;transform:translateX(-50%);
  pointer-events:none;z-index:0;background:radial-gradient(60% 60% at 50% 100%,rgba(var(--glow),.13),transparent 70%);filter:blur(20px);}
.endcta>*:not(.fg){position:relative;z-index:1;}
.case__glow,.panel__glow,.logowall::after,.proof__cell::after{display:none;}
.vplayer{box-shadow:0 30px 60px -34px rgba(0,0,0,.8);}
.about__media,.story__figure{box-shadow:none;border-color:var(--line);}
.proof-float{border-radius:6px;background:rgba(14,13,15,.92);backdrop-filter:none;box-shadow:none;border-color:var(--line-2);}
.proof-float .big{color:var(--bone);}
.proof-float .spark{color:var(--dim);}
.vplayer__play{animation:none;box-shadow:none;}
.vplayer__cap .role{color:var(--dim);}

/* ── buttons (outside #pricing): 7px radius, no neon, calm hover ── */
.btn:not(#pricing .btn){border-radius:7px;box-shadow:none!important;animation:none!important;transition:background .18s,border-color .18s,color .18s;}
.btn:not(#pricing .btn):hover{transform:none;}
.btn--fill:not(#pricing .btn){background:var(--acid);color:#250d02;}
.btn--fill:not(.btn--cta):not(#pricing .btn){background:var(--bone);color:#111;}
.btn--fill:not(.btn--cta):not(#pricing .btn):hover{background:#fff;}
.btn--fill.btn--cta:hover{background:var(--acid-soft);}
.btn--ghost:not(#pricing .btn){border-color:var(--line-2);color:var(--bone);}
.btn--ghost:not(#pricing .btn):hover{border-color:rgba(255,255,255,.4);color:var(--bone);}
.play-dot{background:var(--bone);color:#111;}
.work-more__btn{border-width:1px;}
.filters .f.is-active{background:var(--bone);color:#111;border-color:var(--bone);}
.work:hover .work__play,.reel:hover .reel__play,.vt:hover .vt__play{background:#fff;color:#111;border-color:#fff;}
.vtest-nav:hover{background:var(--bone);color:#111;border-color:var(--bone);}
.vtest-nav{border-radius:50%;}

/* ── less orange: kickers & numbers to bone/dim ── */
.story__kicker{color:var(--dim);margin-top:0;}
.case__kicker{color:var(--mute);}
.step__no b{color:var(--bone);}
.story__statbar .s .v{color:var(--bone);}
.story__figcap em{color:var(--bone);}
.vt__cap .meta{color:var(--dim);}
.vt__foot .acc{color:var(--dim);}
.qa summary .ic{color:var(--bone);}
.qa[open] summary .ic{background:var(--bone);color:#111;border-color:var(--bone);}
.qa[open]{border-color:var(--line-2);}
.faq__foot a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;}
.pill svg{color:var(--dim);}
.about__quote .sig i{background:var(--dim);}
.breather__num span{color:var(--acid);}
.rev-card__av{background:var(--panel-2);color:var(--bone);}

/* ── heading spacing after eyebrow removal ── */
.shead h2,.about__h,.deliv-text h2,.lead__copy h2{margin-top:0;}
.breather__num{margin-top:0;}
.story__title{margin-top:12px;}
.rev-head{margin-top:26px!important;margin-bottom:0;}

/* ── editorial cards: no fill, no full border — top rule only ── */
.proof__cell,.case,.step,.rev-card,.qa,.story__statbar .s,.logowall{
  background:transparent;border:0;border-top:1px solid var(--line-2);border-radius:0;overflow:visible;}
.proof__cell{padding:22px 0 0;}
.case{padding:24px 0 0;min-height:280px;}
.case__metric{border-top:1px solid var(--line);}
.step{padding:20px 0 0;}
.step__day{border-radius:var(--r-label);border-color:var(--line);}
.rev-card{padding:18px 0 0;}
.qa{border-top:1px solid var(--line-2);}
.qa:last-child{border-bottom:1px solid var(--line-2);}
.qa summary{padding:22px 4px;}
.qa__body{padding:0 4px 24px;}
.story__statbar .s{padding:14px 0 0;text-align:left;}
.faq{gap:0;}
.proof__cell:hover,.case:hover,.step:hover,.work:hover,.reel:hover .reel__media,.vt:hover,.qa:hover{transform:none;border-color:var(--line-2);}
.case:hover,.step:hover,.proof__cell:hover{border-top-color:rgba(255,255,255,.3);}
.work{background:transparent;border:0;}
.work__media{border-radius:var(--r-media);overflow:hidden;border:1px solid var(--line);}
.work__body{padding:14px 2px 0;}
.work:hover .work__media{border-color:var(--line-2);}
.reel__media,.vt{border-color:var(--line);}
/* hierarchy: result › name › description */
.proof__n{font-size:clamp(30px,3vw,42px);color:var(--bone);}
.proof__l{color:var(--mute);font-size:12.5px;}
.case__metric .v{font-size:clamp(32px,3vw,44px);}
.case__metric .l{color:var(--mute);}
.case__txt{color:var(--dim);}
.step h3{font-size:18px;color:var(--bone);}
.step p{color:var(--mute);}
.rev-card__t{color:var(--dim);}
.lead__copy{padding:48px 0;}
.lead__visual{border-left:1px solid var(--line);}
.lead__pdf{background:var(--panel);box-shadow:none;transform:rotate(-3deg);}
.lead__pdf .big{color:var(--bone);}
.story__figcap{background:transparent;padding:14px 0 0;}
.story__figure{border:0;border-radius:var(--r-media);}
.story__figure img{border-radius:var(--r-media);}
.about__media{border:0;}
.logowall--wide{border:0;}

/* ── timeline clips: quieter ── */
.vclip{background:rgba(var(--glow),.75);}

/* ── map: fewer/quieter rings, smaller dots ── */
.map-dot{fill:rgba(255,255,255,.07);}
.map-mk{fill:var(--acid-soft);}
.map-halo{stroke:var(--acid-soft);}
.breather__map svg{opacity:.8;}

/* ── kill VHS glitch entrance ── */
.reveal.is-in .h1,.reveal.is-in .shead h2,.hero.is-in .h1{animation:none!important;}

/* ══ CINEMATIC BLUR ══ */
/* A · out-of-focus foreground (one per view, partially off-screen) */
.fg{position:absolute!important;pointer-events:none;z-index:0;will-change:transform;}
.fg--1{top:-160px;right:-220px;width:560px;height:300px;transform:rotate(-16deg);
  background:radial-gradient(60% 60% at 40% 50%,#ffb27a,#ff7a2f 60%,transparent 100%);
  border-radius:62% 38% 55% 45%/48% 60% 40% 52%;filter:blur(70px);opacity:.09;}
.fg--2{left:-260px;bottom:-140px;width:640px;height:420px;transform:rotate(12deg);
  background:radial-gradient(55% 55% at 55% 45%,#000,rgba(0,0,0,.6) 60%,transparent 100%);
  border-radius:44% 56% 62% 38%/58% 42% 58% 42%;filter:blur(60px);opacity:.55;}
.fg--3{top:38%;right:-320px;width:820px;height:70px;transform:rotate(-9deg);
  background:linear-gradient(90deg,transparent,rgba(255,157,92,.9) 30%,rgba(255,220,190,.9) 55%,transparent);
  border-radius:50%;filter:blur(46px);opacity:.10;}
.fg--4{left:-380px;top:-160px;width:520px;height:480px;transform:rotate(24deg);
  background:radial-gradient(50% 50% at 50% 50%,#ff9d5c,transparent 100%);
  border-radius:38% 62% 46% 54%/56% 40% 60% 44%;filter:blur(90px);opacity:.08;}
.hero,.endcta{position:relative;}
.hero__grid,.endcta>*:not(.fg){position:relative;z-index:1;}

/* B · focus falloff on 3 headings — the outermost edge of the line drifts
   slightly out of focus. Sharp text never disappears; a soft copy blends over
   the last sliver so it reads as softness, not a cut. */
/* B · per-heading text blur — replaced by the global lens overlay below */
.fx-h{position:relative;}
.fx-ghost{display:none!important;}
.fx-bloom::after{display:none!important;}
.fx-h .uw{color:var(--acid);}
.fx-h .uw{color:var(--acid);}

/* C · carousel depth: center sharp, neighbours soft */
.vtest .vt{filter:blur(2.5px) brightness(.55);opacity:.6;transform:scale(.84);}
.vtest .vt.is-active{filter:none;opacity:1;transform:scale(1);}
.vtest .vt:hover{transform:scale(.86);}
.vtest .vt.is-active:hover{transform:scale(1.01);}

/* D · blur-in reveal for headings, images, larger modules */
.reveal{transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;}
.reveal .shead h2,.reveal .story__title,.reveal .about__h,.reveal .deliv-text h2,.reveal .breather__title,.reveal .breather__num,
.reveal .story__figure,.reveal .about__media,.reveal .work__media,.reveal .reel__media,.reveal .lead__pdf,.reveal .case,.reveal .step,.reveal .proof__cell,
.endcta.reveal h2,.reveal .vedit{
  filter:blur(8px);opacity:0;transform:translateY(10px);
  transition:filter .6s ease,opacity .6s ease,transform .6s ease;}
.reveal.is-in .shead h2,.reveal.is-in .story__title,.reveal.is-in .about__h,.reveal.is-in .deliv-text h2,.reveal.is-in .breather__title,.reveal.is-in .breather__num,
.reveal.is-in .story__figure,.reveal.is-in .about__media,.reveal.is-in .work__media,.reveal.is-in .reel__media,.reveal.is-in .lead__pdf,.reveal.is-in .case,.reveal.is-in .step,.reveal.is-in .proof__cell,
.endcta.reveal.is-in h2,.reveal.is-in .vedit{filter:blur(0);opacity:1;transform:none;}
.reveal.is-in .case:nth-child(2),.reveal.is-in .step:nth-child(2),.reveal.is-in .proof__cell:nth-child(2),.reveal.is-in .work:nth-child(2) .work__media{transition-delay:.08s;}
.reveal.is-in .case:nth-child(3),.reveal.is-in .step:nth-child(3),.reveal.is-in .proof__cell:nth-child(3),.reveal.is-in .work:nth-child(3) .work__media{transition-delay:.16s;}
.reveal.is-in .step:nth-child(4),.reveal.is-in .proof__cell:nth-child(4){transition-delay:.24s;}
.reveal.is-in .step:nth-child(5){transition-delay:.32s;}
/* blur(0) still creates a containing block — release after transition so sticky/z-index behave */
.reveal.is-in.fx-done .story__figure,.reveal.is-in.fx-done .about__media,.reveal.is-in.fx-done .work__media,.reveal.is-in.fx-done .vedit{filter:none;}
.h1,.hero__lead,.hero__pills{filter:blur(8px);transition:opacity .65s ease,transform .65s ease,filter .65s ease;}
.hero.is-in .h1,.hero.is-in .hero__lead,.hero.is-in .hero__pills{filter:blur(0);}
.hero__media{filter:blur(10px);transition:opacity .9s ease .2s,transform .9s ease .2s,filter .9s ease .2s;}
.hero.is-in .hero__media{filter:blur(0);}
.hero.is-in.fx-done .hero__media,.hero.is-in.fx-done .h1{filter:none;}

/* ══ FILM GRAIN — background dither. Must be `screen`: `overlay` preserves pure
   black, so it added no dither exactly where the gradient steps show. ══ */
.grain{opacity:.055;z-index:37;animation:grainJitter 1.6s steps(4) infinite;mix-blend-mode:screen;}
.grain::after{display:none;}
.nav,.wrap,.breather__inner,.endcta{position:relative;z-index:1;}
.nav{z-index:40;}

/* ══ GLOBAL LENS APERTURE ══
   The whole page is seen through a cinema lens: only the middle of the
   viewport is in focus, everything toward the edges falls off. Fixed, so it
   stays put while the page scrolls. The nav sits above it and stays sharp. */
.lens{position:fixed;inset:0;pointer-events:none;z-index:35;}
/* focus falloff — two GPU passes. Gaussian blur alone reads as milky haze because
   it flattens contrast, so each pass restores a little contrast and pulls
   brightness back. Saturation is left alone (boosting it made colours garish).
   Kept to two layers + one vignette for cheap compositing. */
.lens{position:fixed;inset:0;pointer-events:none;z-index:35;}
.lens::before,.lens::after{content:"";position:absolute;inset:0;pointer-events:none;will-change:backdrop-filter;}
.lens::before{backdrop-filter:blur(11px) saturate(.55) contrast(1.06) brightness(.86);
  -webkit-backdrop-filter:blur(11px) saturate(.55) contrast(1.06) brightness(.86);
  -webkit-mask-image:radial-gradient(92% 70% at 50% 48%,rgba(0,0,0,0) 6%,rgba(0,0,0,.01) 10%,rgba(0,0,0,.02) 13%,rgba(0,0,0,.03) 16%,rgba(0,0,0,.04) 18%,rgba(0,0,0,.05) 20%,rgba(0,0,0,.07) 22%,rgba(0,0,0,.09) 24%,rgba(0,0,0,.11) 26%,rgba(0,0,0,.13) 28%,rgba(0,0,0,.16) 30%,rgba(0,0,0,.19) 32%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.25) 36%,rgba(0,0,0,.29) 38%,rgba(0,0,0,.33) 40%,rgba(0,0,0,.37) 42%,rgba(0,0,0,.41) 44%,rgba(0,0,0,.45) 46%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.54) 50%,rgba(0,0,0,.58) 53%,rgba(0,0,0,.62) 55%,rgba(0,0,0,.66) 58%,rgba(0,0,0,.7) 60%,rgba(0,0,0,.74) 63%,rgba(0,0,0,.78) 66%,rgba(0,0,0,.82) 69%,rgba(0,0,0,.86) 72%,rgba(0,0,0,.89) 75%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.95) 83%,rgba(0,0,0,.97) 87%,rgba(0,0,0,.99) 90%,rgba(0,0,0,1) 94%);
          mask-image:radial-gradient(92% 70% at 50% 48%,rgba(0,0,0,0) 6%,rgba(0,0,0,.01) 10%,rgba(0,0,0,.02) 13%,rgba(0,0,0,.03) 16%,rgba(0,0,0,.04) 18%,rgba(0,0,0,.05) 20%,rgba(0,0,0,.07) 22%,rgba(0,0,0,.09) 24%,rgba(0,0,0,.11) 26%,rgba(0,0,0,.13) 28%,rgba(0,0,0,.16) 30%,rgba(0,0,0,.19) 32%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.25) 36%,rgba(0,0,0,.29) 38%,rgba(0,0,0,.33) 40%,rgba(0,0,0,.37) 42%,rgba(0,0,0,.41) 44%,rgba(0,0,0,.45) 46%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.54) 50%,rgba(0,0,0,.58) 53%,rgba(0,0,0,.62) 55%,rgba(0,0,0,.66) 58%,rgba(0,0,0,.7) 60%,rgba(0,0,0,.74) 63%,rgba(0,0,0,.78) 66%,rgba(0,0,0,.82) 69%,rgba(0,0,0,.86) 72%,rgba(0,0,0,.89) 75%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.95) 83%,rgba(0,0,0,.97) 87%,rgba(0,0,0,.99) 90%,rgba(0,0,0,1) 94%);}
.lens::after{backdrop-filter:blur(32px) saturate(.28) contrast(1.1) brightness(.74);
  -webkit-backdrop-filter:blur(32px) saturate(.28) contrast(1.1) brightness(.74);
  -webkit-mask-image:radial-gradient(88% 66% at 50% 48%,rgba(0,0,0,0) 20%,rgba(0,0,0,.01) 24%,rgba(0,0,0,.02) 27%,rgba(0,0,0,.03) 29%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.07) 34%,rgba(0,0,0,.09) 36%,rgba(0,0,0,.12) 39%,rgba(0,0,0,.15) 41%,rgba(0,0,0,.18) 43%,rgba(0,0,0,.22) 46%,rgba(0,0,0,.26) 48%,rgba(0,0,0,.3) 51%,rgba(0,0,0,.34) 53%,rgba(0,0,0,.38) 56%,rgba(0,0,0,.43) 58%,rgba(0,0,0,.47) 61%,rgba(0,0,0,.52) 63%,rgba(0,0,0,.57) 66%,rgba(0,0,0,.61) 68%,rgba(0,0,0,.66) 71%,rgba(0,0,0,.7) 74%,rgba(0,0,0,.75) 77%,rgba(0,0,0,.79) 80%,rgba(0,0,0,.83) 83%,rgba(0,0,0,.87) 86%,rgba(0,0,0,.9) 89%,rgba(0,0,0,.93) 92%,rgba(0,0,0,.96) 95%,rgba(0,0,0,.98) 98%,rgba(0,0,0,1) 100%);
          mask-image:radial-gradient(88% 66% at 50% 48%,rgba(0,0,0,0) 20%,rgba(0,0,0,.01) 24%,rgba(0,0,0,.02) 27%,rgba(0,0,0,.03) 29%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.07) 34%,rgba(0,0,0,.09) 36%,rgba(0,0,0,.12) 39%,rgba(0,0,0,.15) 41%,rgba(0,0,0,.18) 43%,rgba(0,0,0,.22) 46%,rgba(0,0,0,.26) 48%,rgba(0,0,0,.3) 51%,rgba(0,0,0,.34) 53%,rgba(0,0,0,.38) 56%,rgba(0,0,0,.43) 58%,rgba(0,0,0,.47) 61%,rgba(0,0,0,.52) 63%,rgba(0,0,0,.57) 66%,rgba(0,0,0,.61) 68%,rgba(0,0,0,.66) 71%,rgba(0,0,0,.7) 74%,rgba(0,0,0,.75) 77%,rgba(0,0,0,.79) 80%,rgba(0,0,0,.83) 83%,rgba(0,0,0,.87) 86%,rgba(0,0,0,.9) 89%,rgba(0,0,0,.93) 92%,rgba(0,0,0,.96) 95%,rgba(0,0,0,.98) 98%,rgba(0,0,0,1) 100%);}
/* lens edge falloff — many stops so the ramp doesn't band into visible rings */
.vignette{display:block!important;position:fixed;inset:0;pointer-events:none;z-index:36;
  background:radial-gradient(100% 78% at 50% 48%,rgba(3,3,4,0) 16%,rgba(3,3,4,.01) 21%,rgba(3,3,4,.02) 25%,rgba(3,3,4,.03) 28%,rgba(3,3,4,.04) 31%,rgba(3,3,4,.06) 34%,rgba(3,3,4,.08) 37%,rgba(3,3,4,.1) 40%,rgba(3,3,4,.12) 43%,rgba(3,3,4,.15) 46%,rgba(3,3,4,.18) 49%,rgba(3,3,4,.21) 52%,rgba(3,3,4,.24) 55%,rgba(3,3,4,.28) 58%,rgba(3,3,4,.31) 61%,rgba(3,3,4,.35) 64%,rgba(3,3,4,.39) 67%,rgba(3,3,4,.43) 70%,rgba(3,3,4,.47) 73%,rgba(3,3,4,.51) 76%,rgba(3,3,4,.56) 79%,rgba(3,3,4,.6) 82%,rgba(2,2,3,.64) 85%,rgba(2,2,3,.68) 88%,rgba(2,2,3,.72) 91%,rgba(2,2,3,.76) 94%,rgba(2,2,3,.8) 97%,rgba(2,2,3,.84) 100%);}
html[data-grain="off"] .vignette{display:block!important;}
/* nav, tweaks panel and the grain stay above the aperture — always sharp */
.nav{z-index:60;}
.grain{z-index:37;}
@media(max-width:768px){
  /* one cheap pass on phones */
  .lens::before{backdrop-filter:none;-webkit-backdrop-filter:none;}
  .lens__mid{display:none;}
  .lens::after{backdrop-filter:blur(17px) saturate(.4) contrast(1.06) brightness(.82);
    -webkit-backdrop-filter:blur(17px) saturate(.4) contrast(1.06) brightness(.82);
    -webkit-mask-image:radial-gradient(96% 74% at 50% 48%,rgba(0,0,0,0) 24%,rgba(0,0,0,.03) 31%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.15) 44%,rgba(0,0,0,.24) 51%,rgba(0,0,0,.34) 58%,rgba(0,0,0,.45) 65%,rgba(0,0,0,.57) 72%,rgba(0,0,0,.69) 79%,rgba(0,0,0,.8) 86%,rgba(0,0,0,.91) 93%,rgba(0,0,0,1) 100%);
            mask-image:radial-gradient(96% 74% at 50% 48%,rgba(0,0,0,0) 24%,rgba(0,0,0,.03) 31%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.15) 44%,rgba(0,0,0,.24) 51%,rgba(0,0,0,.34) 58%,rgba(0,0,0,.45) 65%,rgba(0,0,0,.57) 72%,rgba(0,0,0,.69) 79%,rgba(0,0,0,.8) 86%,rgba(0,0,0,.91) 93%,rgba(0,0,0,1) 100%);}
  .vignette{background:radial-gradient(106% 82% at 50% 48%,rgba(3,3,4,0) 26%,rgba(3,3,4,.03) 35%,rgba(3,3,4,.07) 44%,rgba(3,3,4,.13) 53%,rgba(3,3,4,.2) 62%,rgba(3,3,4,.28) 71%,rgba(3,3,4,.38) 80%,rgba(2,2,3,.48) 87%,rgba(2,2,3,.58) 94%,rgba(2,2,3,.66) 100%);}
}

/* ══ CASE / TILE CLARITY ══
   Cards were staggered (bento.css offsets every 2nd/3rd child), so their 1px top
   rules never lined up and read as stray frame fragments. Align every card to the
   same baseline and separate columns with real dividers instead. */
.cases .case:nth-child(3n+2),.proc .step:nth-child(2n),.tier--pop{margin-top:0;}
.cases{grid-template-columns:repeat(3,1fr);gap:0;}
.case{border-top:0;padding:34px 34px 30px;
  border-left:1px solid var(--line-2);}
.cases .case:nth-child(3n+1){border-left:0;padding-left:0;}
.cases .case:nth-child(n+4){border-top:1px solid var(--line-2);margin-top:0;padding-top:34px;}
.case__top{margin-bottom:14px;}
.case__metric{padding-top:20px;}
/* metric: smaller, no glow — it was shouting louder than the brand name */
.case__metric .v{font-size:clamp(21px,1.7vw,27px);letter-spacing:-.02em;text-shadow:none;}
.case__metric .l{font-size:11.5px;margin-top:7px;}
.proof__n,.story__statbar .s .v{text-shadow:none;}
.h1{text-shadow:none;}
.breather__num.fx-bloom::after{display:none!important;}

/* proof strip + process: same treatment — column dividers, aligned tops */
.proof{gap:0;grid-template-columns:repeat(4,1fr);}
.proof__cell{border-top:0;border-left:1px solid var(--line-2);padding:6px 28px;}
.proof .proof__cell:first-child{border-left:0;padding-left:0;}
.proc{gap:0;}
.step{border-top:0;border-left:1px solid var(--line-2);padding:6px 24px 0;}
.proc .step:first-child{border-left:0;padding-left:0;}

/* media: drop the 1px outline — on dark grounds it read as a stray frame */
.work__media,.reel__media,.vt,.vtest .vt{border:0;}
.logowall{border-top:0;}
.story__statbar .s{border-top:0;border-left:1px solid var(--line-2);padding:2px 14px;}
.story__statbar .s:first-child{border-left:0;padding-left:0;}

@media(max-width:960px){
  .cases{grid-template-columns:repeat(2,1fr);}
  .cases .case:nth-child(3n+1){border-left:1px solid var(--line-2);padding-left:34px;}
  .cases .case:nth-child(2n+1){border-left:0;padding-left:0;}
  .cases .case:nth-child(n+3){border-top:1px solid var(--line-2);}
  .proof{grid-template-columns:repeat(2,1fr);}
  .proof__cell:nth-child(2n+1){border-left:0;padding-left:0;}
  .proof__cell:nth-child(n+3){border-top:1px solid var(--line-2);padding-top:24px;}
  .proc{grid-template-columns:repeat(2,1fr);}
  .step:nth-child(2n+1){border-left:0;padding-left:0;}
  .step:nth-child(n+3){border-top:1px solid var(--line-2);padding-top:24px;}
}
@media(max-width:640px){
  .cases,.proof,.proc{grid-template-columns:1fr;}
  .case,.proof__cell,.step{border-left:0!important;padding-left:0!important;padding-right:0;}
  .case:not(:first-child),.proof__cell:not(:first-child),.step:not(:first-child){
    border-top:1px solid var(--line-2);padding-top:26px;}
  .case{padding-bottom:26px;}
}

/* mid stage — splits the ramp so each layer's alpha step is smaller (less banding) */
.lens__mid{position:fixed;inset:0;pointer-events:none;z-index:35;will-change:backdrop-filter;
  backdrop-filter:blur(19px) saturate(.4) contrast(1.08) brightness(.8);
  -webkit-backdrop-filter:blur(19px) saturate(.4) contrast(1.08) brightness(.8);
  -webkit-mask-image:radial-gradient(90% 68% at 50% 48%,rgba(0,0,0,0) 14%,rgba(0,0,0,.01) 19%,rgba(0,0,0,.02) 23%,rgba(0,0,0,.04) 27%,rgba(0,0,0,.06) 30%,rgba(0,0,0,.08) 33%,rgba(0,0,0,.11) 36%,rgba(0,0,0,.14) 39%,rgba(0,0,0,.17) 42%,rgba(0,0,0,.21) 45%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.29) 51%,rgba(0,0,0,.33) 54%,rgba(0,0,0,.38) 57%,rgba(0,0,0,.43) 60%,rgba(0,0,0,.48) 63%,rgba(0,0,0,.53) 66%,rgba(0,0,0,.58) 69%,rgba(0,0,0,.63) 72%,rgba(0,0,0,.68) 75%,rgba(0,0,0,.73) 78%,rgba(0,0,0,.78) 81%,rgba(0,0,0,.83) 84%,rgba(0,0,0,.87) 87%,rgba(0,0,0,.91) 90%,rgba(0,0,0,.94) 93%,rgba(0,0,0,.97) 96%,rgba(0,0,0,1) 100%);
          mask-image:radial-gradient(90% 68% at 50% 48%,rgba(0,0,0,0) 14%,rgba(0,0,0,.01) 19%,rgba(0,0,0,.02) 23%,rgba(0,0,0,.04) 27%,rgba(0,0,0,.06) 30%,rgba(0,0,0,.08) 33%,rgba(0,0,0,.11) 36%,rgba(0,0,0,.14) 39%,rgba(0,0,0,.17) 42%,rgba(0,0,0,.21) 45%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.29) 51%,rgba(0,0,0,.33) 54%,rgba(0,0,0,.38) 57%,rgba(0,0,0,.43) 60%,rgba(0,0,0,.48) 63%,rgba(0,0,0,.53) 66%,rgba(0,0,0,.58) 69%,rgba(0,0,0,.63) 72%,rgba(0,0,0,.68) 75%,rgba(0,0,0,.73) 78%,rgba(0,0,0,.78) 81%,rgba(0,0,0,.83) 84%,rgba(0,0,0,.87) 87%,rgba(0,0,0,.91) 90%,rgba(0,0,0,.94) 93%,rgba(0,0,0,.97) 96%,rgba(0,0,0,1) 100%);}

/* ══ AIR & SCALE — less "wall of text" ══ */
.hero__cta,.endcta .row{align-items:center;}
.sec{padding:calc(128px + var(--sec-air)) 0;}
.sec--interlude{padding:calc(80px + var(--sec-air)*.6) 0;}
.shead{margin-bottom:56px;}
.shead h2{font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.025em;}
.shead p{font-size:16px;margin-top:14px;max-width:50ch;}
.story__title{font-size:clamp(28px,3.4vw,44px);max-width:22ch;}
.story__kicker{font-size:clamp(17px,1.6vw,20px);}
.story__head{margin-bottom:40px;}
.about__h{font-size:clamp(28px,3.2vw,42px);}
.deliv-text h2{font-size:clamp(28px,3.2vw,40px);}
.lead__copy h2{font-size:clamp(26px,2.8vw,36px);}
.breather__title{font-size:clamp(24px,3vw,38px);}
.story__article,.about__lead,.deliv-text__lead{font-size:17px;line-height:1.85;}
.story__article p{margin:0 0 24px;}
.story__article{max-width:58ch;}
.about__lead{font-size:17px;margin-top:26px;}
.deliv-check li{font-size:16.5px;}
.deliv-check{gap:14px 40px;margin-top:30px;}
.deliv-text__close{margin-top:40px;font-size:17px;}
.cases{gap:0;}
.case{min-height:0;}
.case__txt{font-size:14px;margin-bottom:28px;}
.proof{gap:0;}
.proc{gap:0;}
.step h3{margin:0 0 10px;}
.faq .qa summary{padding:26px 4px;}
.work-grid{gap:calc(30px*var(--gap-mult)) calc(26px*var(--gap-mult));}
.rail{gap:20px;}
.hero{padding:70px 0 40px;}
.endcta{padding:140px 0 110px;}
.endcta h2{font-size:clamp(34px,4.4vw,62px);}
.qa summary{font-size:17px;}
.story__figcap{font-size:13px;}

/* ══ CINEMATIC BLOOM — soft focus glow on large type over imagery ══ */
/* large type over imagery — handled by the global lens now */
.fx-bloom{position:relative;}
.breather__num.fx-bloom::after{color:var(--bone);opacity:.45;filter:blur(14px);
  -webkit-mask-image:none;mask-image:none;}
.vplayer__cap .nm,.vt__cap .nm{text-shadow:0 1px 10px rgba(0,0,0,.85);}
.proof__n,.case__metric .v,.story__statbar .s .v,.h1{text-shadow:none;}

/* soft-focus lens edge on portraits — removed; the global lens covers this */
.vplayer::after,.about__media::after,.story__figure::after{content:none;}
.story__figure{position:relative;}
.story__figure img{display:block;}
.vplayer::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  box-shadow:inset 0 0 90px 24px rgba(10,10,11,.55);border-radius:inherit;}
.about__media::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  box-shadow:inset 0 0 80px 20px rgba(10,10,11,.5);border-radius:inherit;}

@media(max-width:768px){
  .sec{padding:72px 22px;}
  .shead{margin-bottom:34px;}
  .shead h2{font-size:clamp(24px,6vw,30px);}
  .story__title{font-size:clamp(24px,6.2vw,30px);}
  .about__h{font-size:clamp(24px,6vw,30px);}
  .story__article,.about__lead,.deliv-text__lead{font-size:16px;line-height:1.8;}
  .proof{gap:0;}
  .cases{gap:0;}
  .hero{padding:24px 22px 8px;}
  .endcta{padding:80px 22px 64px;}
  .vplayer::after,.about__media::after,.story__figure::after{content:none;}
  .grain{animation:none;}
  .fg{filter:blur(50px);}
  .fg--1{right:-260px;width:420px;}
  .fg--3{display:none;}
  .case{padding-left:0;padding-right:0;}
  .qa summary{padding-left:0;padding-right:0;}
  .qa__body{padding-left:0;padding-right:0;}
  .story__statbar .s{text-align:left;}
  .lead__copy{padding:32px 0;}
}
@media(prefers-reduced-motion:reduce){
  .grain{animation:none;}
  .reveal *,.h1,.hero__lead,.hero__pills,.hero__media{filter:none!important;opacity:1!important;transform:none!important;transition:none!important;}
  .vtest .vt{filter:none;}
}
/* skip the aperture entirely where compositing it would be expensive or unsupported */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .lens{display:none;}
}
@media(prefers-reduced-transparency:reduce),(update:slow){
  .lens{display:none;}
}

/* ══ APERTURE v2 — no blur. Only a strong vignette that also drains colour
   from its own field, so edges go dark AND grey while the centre stays clean. ══ */
.lens::before,.lens::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;display:none!important;}
.lens__mid{display:none!important;}
.lens{display:block!important;z-index:35;}
/* desaturation pass, masked to the vignette field */
.lens{backdrop-filter:saturate(.32) contrast(1.05);-webkit-backdrop-filter:saturate(.32) contrast(1.05);
  -webkit-mask-image:radial-gradient(114% 88% at 50% 48%,rgba(0,0,0,0) 42%,rgba(0,0,0,.02) 50%,rgba(0,0,0,.06) 57%,rgba(0,0,0,.13) 63%,rgba(0,0,0,.24) 69%,rgba(0,0,0,.38) 75%,rgba(0,0,0,.54) 81%,rgba(0,0,0,.7) 87%,rgba(0,0,0,.83) 93%,rgba(0,0,0,.92) 100%);
          mask-image:radial-gradient(114% 88% at 50% 48%,rgba(0,0,0,0) 42%,rgba(0,0,0,.02) 50%,rgba(0,0,0,.06) 57%,rgba(0,0,0,.13) 63%,rgba(0,0,0,.24) 69%,rgba(0,0,0,.38) 75%,rgba(0,0,0,.54) 81%,rgba(0,0,0,.7) 87%,rgba(0,0,0,.83) 93%,rgba(0,0,0,.92) 100%);}
/* darkening pass — wyraźniejsza niż wcześniej */
.vignette{background:radial-gradient(112% 86% at 50% 48%,rgba(3,3,4,0) 40%,rgba(3,3,4,.02) 47%,rgba(3,3,4,.05) 53%,rgba(3,3,4,.09) 58%,rgba(3,3,4,.15) 63%,rgba(3,3,4,.22) 68%,rgba(3,3,4,.31) 72%,rgba(2,2,3,.41) 76%,rgba(2,2,3,.51) 80%,rgba(2,2,3,.6) 84%,rgba(2,2,3,.68) 88%,rgba(2,2,3,.75) 92%,rgba(1,1,2,.81) 96%,rgba(1,1,2,.86) 100%)!important;}
@media(max-width:768px){
  .lens{backdrop-filter:saturate(.38);-webkit-backdrop-filter:saturate(.38);}
  .vignette{background:radial-gradient(120% 92% at 50% 48%,rgba(3,3,4,0) 44%,rgba(3,3,4,.05) 56%,rgba(3,3,4,.14) 66%,rgba(3,3,4,.28) 75%,rgba(2,2,3,.45) 83%,rgba(2,2,3,.62) 91%,rgba(1,1,2,.76) 100%)!important;}
}
/* hero no longer needs the focus-pull blur */
.hero .hero__media,.hero .h1{filter:none!important;}

/* ══ DITHER — the banding is the 8-bit vignette ramp itself, not the blur.
   A noise layer masked to the vignette field breaks the flat bands up. It sits
   above the vignette and is strongest exactly where the ramp is steepest. ══ */
.vignette::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.11;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
  -webkit-mask-image:radial-gradient(112% 86% at 50% 48%,rgba(0,0,0,0) 38%,rgba(0,0,0,.55) 58%,rgba(0,0,0,1) 74%,rgba(0,0,0,1) 92%,rgba(0,0,0,.7) 100%);
          mask-image:radial-gradient(112% 86% at 50% 48%,rgba(0,0,0,0) 38%,rgba(0,0,0,.55) 58%,rgba(0,0,0,1) 74%,rgba(0,0,0,1) 92%,rgba(0,0,0,.7) 100%);}
/* the global grain also needs to reach the dark ramp — screen blend, a touch up */
.grain{opacity:.075;mix-blend-mode:screen;}

/* ══ BACKGROUND DITHER — must live in the TOP overlay, not under the content.
   Painted below content it gets sampled and hard-clipped by every
   backdrop-filter card (work cards, reviews), which showed as cut rectangles. ══ */
.vignette::before{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.13;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23b)'/%3E%3C/svg%3E");background-size:200px 200px;}
/* keep brand colour and contrast on interactive elements regardless of position in the field */
.lens{}
.btn,.btn--primary,a.btn,.hero .btn{isolation:isolate;}

/* ══ NOISE ON THE GROUND — the grain/dither layers live UNDER all content, so
   photos, video and cards simply cover them; no masking needed. Card-level
   backdrop-filters are dropped because a blurred backdrop would smooth the
   noise inside the card box and show as a cut rectangle. ══ */
.grain{position:fixed;inset:-10%;width:120%;height:120%;z-index:0!important;opacity:.13;mix-blend-mode:screen;pointer-events:none;}
.vignette::before,.vignette::after{content:none!important;display:none!important;}
.bgnoise{position:fixed;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.15;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23b)'/%3E%3C/svg%3E");
  background-size:200px 200px;}
.nav,.wrap,.breather__inner,.endcta,section,footer,main,.hero{position:relative;z-index:1;}
.nav{z-index:60;}
.review,.review--peek,.work-card,.reel-card,.vt,.svc-card,.lw-partner-badge,.btn--glass,.vtest__more{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
/* ══ COLLAPSE FADE — transparency mask instead of a dark scrim, so the cut
   doesn't read as a painted rectangle the width of the container. ══ */
.work-collapse__fade{display:none!important;}
.story__fade::after{display:none!important;}
.story__fade{-webkit-mask-image:linear-gradient(180deg,#000 72%,rgba(0,0,0,.5) 90%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,#000 72%,rgba(0,0,0,.5) 90%,rgba(0,0,0,0) 100%);}
.story.is-open .story__fade{-webkit-mask-image:none;mask-image:none;}
.work-collapse{-webkit-mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.45) 88%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.45) 88%,rgba(0,0,0,0) 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:max-height .7s cubic-bezier(.4,0,.2,1),-webkit-mask-image .5s,mask-image .5s;}
.work-collapse.is-open{-webkit-mask-image:linear-gradient(180deg,#000 100%,#000 100%);mask-image:linear-gradient(180deg,#000 100%,#000 100%);}
/* edge fades: transparency masks, never painted --bg scrims */
.rev-wrap::before,.rev-wrap::after{display:none!important;}
.rev-wrap{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}


/* ---- dostosowanie do hostingu: czcionki lokalne zamiast Google Fonts ---- */
:root{--font:"Albert Sans",system-ui,sans-serif;--disp:"Albert Sans",system-ui,sans-serif;--mono:"Space Mono",ui-monospace,monospace;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.about__lead a,.foot__brand p a,.foot__col a.inl,.mform .finfo a,.faq__foot a,.about__quote .sig a{color:var(--acid);text-decoration:underline;text-underline-offset:3px;}
.work-more{display:flex;justify-content:center;margin-top:32px;}
/* ---- formularz ---- */
.mform{max-width:780px;margin:0 auto;background:var(--panel);border:1px solid var(--line-2);border-radius:20px;padding:clamp(22px,3vw,38px);position:relative;}
.mform .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin:18px 0 8px;}
.mform .field.full{grid-column:1/-1;}
.mform label{display:block;font-weight:600;font-size:14.5px;color:var(--bone);margin-bottom:7px;}
.mform .opt{font-weight:400;color:var(--dim);}
.mform input[type="text"],.mform input[type="email"],.mform input[type="tel"],.mform select,.mform textarea{width:100%;font:inherit;font-size:16px;color:var(--bone);background:#0e0d0f;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;min-height:48px;}
.mform textarea{min-height:140px;resize:vertical;}
.mform select{appearance:auto;}
.mform input:focus-visible,.mform select:focus-visible,.mform textarea:focus-visible{outline:2px solid var(--acid);outline-offset:2px;}
.mform .finfo{font-size:13.5px;line-height:1.6;color:var(--dim);margin:14px 0;}
.mform .btn{margin-top:6px;}
.mform .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
#humanBox{border:1px solid #b58ad3;border-radius:14px;padding:14px 16px 16px;background:rgba(181,138,211,.07);}
#humanBox label{color:#d4b3ea;font-weight:600;font-size:15px;line-height:1.5;}
#humanBox input[type="text"]{border:1px solid #b58ad3;}
@media(max-width:640px){.mform .fgrid{grid-template-columns:1fr;}}
