/* ==========================================================================
   Quicklight Media — site stylesheet
   Built from the Quicklight Media Design System (2026 repositioning).
   Tokens are copied verbatim from design_system/tokens/*.css.
   ========================================================================== */

/* ---------- Tokens ------------------------------------------------------- */
:root{
  --ink-900:#231f20;--ink-800:#2e2c2c;--ink-700:#414141;--ink-600:#565656;--ink-500:#6b6b6b;
  --ink-400:#8c8c8c;--ink-300:#a8a8a8;--ink-200:#cfcfcf;--ink-100:#e7e7e6;--ink-050:#f4f4f3;--white:#ffffff;
  --spark-700:#b87400;--spark-600:#e09400;--spark-500:#ffb000;--spark-400:#ffc53d;--spark-200:#ffe3a8;--spark-100:#fff1d1;
  --success-600:#2e7d5b;--danger-600:#c4372b;

  --text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-subtle:var(--ink-400);
  --text-accent:var(--spark-700);--surface-page:var(--white);--surface-sunken:var(--ink-050);--surface-inverse:var(--ink-900);
  --surface-spark:var(--spark-500);--border-hairline:var(--ink-100);--border-default:var(--ink-200);--border-inverse:rgba(255,255,255,.24);
  --glass-inverse:rgba(35,31,32,.72);--scrim-protect:linear-gradient(180deg,rgba(35,31,32,0) 0%,rgba(35,31,32,.72) 100%);

  --font-display:"Oswald",-apple-system,"Segoe UI",sans-serif;
  --font-sans:"Archivo",-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;

  --space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--space-10:96px;
  --page-max:1200px;--page-max-wide:1440px;--measure:64ch;--section-y:96px;--section-y-tight:64px;--header-h:76px;
  --radius-sm:3px;--radius-md:6px;--rule-w:3px;--rule-w-bold:6px;
  --shadow-2:0 4px 16px rgba(35,31,32,.10);--shadow-3:0 18px 48px rgba(35,31,32,.16);--shadow-focus:0 0 0 3px rgba(255,176,0,.45);
  --dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:600ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);--ease-standard:cubic-bezier(.4,0,.2,1);
  --transition-control:background-color var(--dur-2) var(--ease-standard),color var(--dur-2) var(--ease-standard),border-color var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard);
  --gutter-x:32px;
}
@media (max-width:640px){:root{--section-y:64px;--section-y-tight:48px;--gutter-x:20px}}

/* ---------- Base --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
[id]{scroll-margin-top:var(--header-h)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:400 16px/1.62 var(--font-sans);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
body.body-ink{background:var(--ink-900);color:#fff}
h1,h2,h3,h4{margin:0;color:var(--text-strong);font-family:var(--font-display)}
p{margin:0}
a{color:var(--ink-900);text-decoration:none;transition:color var(--dur-2) var(--ease-standard)}
a:hover{color:var(--spark-700)}
img,video,svg{max-width:100%;display:block}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--spark-500);outline-offset:2px}
::selection{background:var(--spark-200);color:var(--ink-900)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--spark-500);color:var(--ink-900);padding:10px 14px;border-radius:3px;font:600 13px/1 var(--font-sans);text-transform:uppercase;letter-spacing:.08em}
.skip:focus{top:8px}
code{font:400 .92em var(--font-mono)}

/* ---------- Layout ------------------------------------------------------- */
.page{display:block}
body.header-default .page{padding-top:var(--header-h)}
.wrap{max-width:var(--page-max);margin:0 auto}
.wrap--wide{max-width:var(--page-max-wide)}
.section{padding:var(--section-y) var(--gutter-x)}
.section--tight{padding:var(--section-y-tight) var(--gutter-x)}
.section--stack{padding:var(--section-y) var(--gutter-x) 0}
.section--stack:last-of-type{padding-bottom:var(--section-y)}
.tone-paper{background:#fff;color:var(--text-body)}
.tone-sunken{background:var(--ink-050);color:var(--text-body)}
.tone-ink{background:var(--ink-900);color:#fff}
.tone-ink h1,.tone-ink h2,.tone-ink h3{color:#fff}
.tone-spark{background:var(--spark-500);color:var(--ink-900)}
.stack{display:grid;gap:20px;justify-items:start}
.stack--center{justify-items:center;text-align:center}
.stack--tight{gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
.split--media-first{grid-template-columns:.95fr 1.05fr}
.split__copy{display:grid;gap:24px}
@media (max-width:900px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .split,.split--media-first{grid-template-columns:1fr;gap:32px}
  .split--media-first .split__copy{order:-1}
}
@media (max-width:560px){.grid-3,.grid-2{grid-template-columns:1fr}}

/* ---------- Type roles --------------------------------------------------- */
.eyebrow{font:600 12px/1.2 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.eyebrow--accent{color:var(--spark-700)}
.eyebrow--spark{color:var(--spark-500)}
.eyebrow--ink{color:var(--ink-900)}
.statement{font:700 clamp(44px,5.5vw,96px)/.98 var(--font-display);letter-spacing:0;max-width:14ch;text-wrap:balance;color:var(--ink-900)}
.statement--xl{font-size:clamp(56px,7vw,120px)}
.statement--sm{font-size:clamp(40px,4.6vw,64px);letter-spacing:.005em}
.statement--teaser{font-size:clamp(32px,3.4vw,44px);letter-spacing:.005em}
.statement--light,.tone-ink .statement{color:#fff}
.tone-spark .statement{color:var(--ink-900)}
.statement .accent{color:var(--spark-500)}
.statement .light{font-weight:300}
.rule{width:120px;height:var(--rule-w-bold);background:var(--spark-500)}
.rule--ink{background:var(--ink-900)}
.rule--white{background:#fff}
.lede{font:300 18px/1.62 var(--font-sans);color:var(--text-muted);max-width:52ch}
.lede--light{color:rgba(255,255,255,.78)}
.lede--on-spark{color:rgba(35,31,32,.82)}
.thesis{font:600 18px/1.62 var(--font-sans);color:var(--ink-900);max-width:56ch}
.thesis--light{color:#fff}
.prose-lg{font:400 18px/1.7 var(--font-sans);color:var(--ink-700);max-width:var(--measure)}
.mono{font:400 12px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.textlink{font:600 13px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-900);box-shadow:inset 0 -3px 0 0 var(--spark-500);padding:6px 0;white-space:nowrap}
.textlink:hover{color:var(--spark-700)}
.textlink--light{color:#fff}
.draft-flag{display:inline-block;font:500 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--spark-500);border:1px dashed rgba(255,176,0,.6);padding:6px 10px;border-radius:3px}

/* ---------- Buttons ------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;
  height:44px;padding:0 24px;border-radius:var(--radius-sm);border:1px solid var(--ink-900);background:var(--ink-900);color:#fff;cursor:pointer;white-space:nowrap;text-decoration:none;
  transition:var(--transition-control),transform var(--dur-1) var(--ease-standard)}
.btn:hover{background:var(--ink-700);border-color:var(--ink-700);color:#fff}
.btn:active{transform:translateY(1px)}
.btn--lg{height:56px;padding:0 32px;font-size:16px}
.btn--sm{height:32px;padding:0 12px;font-size:12px}
.btn--accent{background:var(--spark-500);border-color:var(--spark-500);color:var(--ink-900)}
.btn--accent:hover{background:var(--spark-600);border-color:var(--spark-600);color:var(--ink-900)}
.btn--inverse{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn--inverse:hover{background:#fff;border-color:#fff;color:var(--ink-900)}
.btn--secondary{background:transparent;border-color:var(--ink-900);color:var(--ink-900)}
.btn--secondary:hover{background:var(--ink-900);color:#fff}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.iconbtn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.4);color:#fff;transition:var(--transition-control)}
.iconbtn:hover{background:rgba(255,255,255,.14);color:#fff}

/* ---------- Header ------------------------------------------------------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:var(--glass-inverse);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-inverse)}
.site-header__inner{max-width:var(--page-max-wide);margin:0 auto;height:var(--header-h);padding:0 var(--gutter-x);display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-header__logo{display:flex;align-items:center;border:0}
.site-header__logo img{height:26px;width:auto}
.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.nav__link{display:inline-block;font:600 13px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68);padding:6px 0;white-space:nowrap;transition:var(--transition-control)}
.nav__link:hover{color:#fff}
.nav__link.is-active{color:#fff;box-shadow:inset 0 -3px 0 0 var(--spark-500)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.nav-toggle span{display:block;width:20px;height:2px;background:#fff;transition:transform var(--dur-3) var(--ease-out),opacity var(--dur-2)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{display:none;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;height:calc(100dvh - var(--header-h));background:var(--ink-900);padding:32px var(--gutter-x) 48px;overflow-y:auto;overscroll-behavior:contain;z-index:39}
.drawer[data-open]{display:block}
.drawer__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.drawer__list .nav__link{font:700 32px/1.1 var(--font-display);letter-spacing:0;text-transform:uppercase;color:rgba(255,255,255,.8);padding:8px 0;box-shadow:none}
.drawer__list .nav__link.is-active{color:var(--spark-500)}
.drawer__foot{margin-top:40px;font:400 13px/1.8 var(--font-mono);color:rgba(255,255,255,.5)}
@media (max-width:1023px){
  .nav{display:none}
  .nav-toggle{display:flex}
}
.landing-header .site-header__inner{justify-content:space-between}

/* ---------- Footer ------------------------------------------------------- */
.site-footer{background:var(--ink-900);color:rgba(255,255,255,.72);padding:64px var(--gutter-x) 24px;border-top:1px solid var(--border-inverse)}
.site-footer__grid{max-width:var(--page-max);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr auto;gap:64px;align-items:start}
.site-footer__brand{display:grid;gap:16px;justify-items:start}
.site-footer__brand img{height:30px;width:auto}
.site-footer__addr{font:400 14px/1.8 var(--font-sans)}
.site-footer__links{display:grid;gap:8px}
.site-footer__links a{font:600 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.site-footer__links a:hover{color:#fff}
.site-footer__social{display:flex;gap:12px}
.site-footer__bottom{max-width:var(--page-max);margin:48px auto 0;padding-top:16px;border-top:1px solid var(--border-inverse);font:400 12px/1.6 var(--font-sans);color:rgba(255,255,255,.5);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer__bottom a{color:rgba(255,255,255,.5)}
.site-footer__bottom a:hover{color:#fff}
.site-footer--minimal{padding:32px var(--gutter-x)}
.site-footer--minimal .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer--minimal img{height:22px;width:auto}
.site-footer--minimal .mono{color:rgba(255,255,255,.5);text-transform:none;letter-spacing:0;font-size:12px}
@media (max-width:900px){.site-footer__grid{grid-template-columns:1fr;gap:40px}}

/* ---------- Image slots -------------------------------------------------- */
.slot{position:relative;margin:0;overflow:hidden;background:var(--ink-050);border:1px solid var(--ink-100);width:100%}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot--contain img{object-fit:contain}
.slot--dark,.tone-ink .slot,.tile .slot{background:var(--ink-800);border-color:rgba(255,255,255,.16)}
.slot__empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:24px}
.slot__empty::before{content:"";position:absolute;inset:12px;border:1px dashed var(--ink-200);pointer-events:none}
.slot__tag{font:500 11px/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-400)}
.slot__label{font:500 clamp(16px,1.6vw,22px)/1.2 var(--font-display);color:var(--ink-500);text-transform:uppercase;letter-spacing:.02em}
.slot__hint{font:400 11px/1.5 var(--font-mono);color:var(--ink-400);max-width:34ch}
.slot__hint code{color:var(--ink-600)}
.slot__empty--dark::before{border-color:rgba(255,255,255,.25)}
.slot__empty--dark .slot__tag,.slot__empty--dark .slot__hint{color:rgba(255,255,255,.45)}
.slot__empty--dark .slot__label{color:rgba(255,255,255,.7)}
.slot__empty--dark .slot__hint code{color:rgba(255,255,255,.7)}
.tile .slot__hint,.team-card .slot__hint{display:none}

/* ---------- Reveal ------------------------------------------------------- */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}

/* ---------- Expandable copy ("more strategy ↓") -------------------------- */
.expand{display:grid;gap:12px;justify-items:start;max-width:var(--measure)}
.expand__btn{display:inline-flex;align-items:center;gap:8px;border:0;background:none;cursor:pointer;padding:0;font:600 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-900)}
.expand__btn .plus{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--ink-300);font-size:14px;line-height:1;transition:transform var(--dur-3) var(--ease-out)}
.expand__btn[aria-expanded="true"] .plus{transform:rotate(45deg)}
.expand__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-4) var(--ease-out);overflow:hidden}
.expand__panel>div{min-height:0;opacity:0;transition:opacity var(--dur-3) var(--ease-out)}
.expand__panel.is-open{grid-template-rows:1fr}
.expand__panel.is-open>div{opacity:1}
.expand__panel p{font:400 16px/1.62 var(--font-sans);color:var(--ink-500);max-width:var(--measure);margin:0 0 16px}
.expand__panel p:last-child{margin:0;font-weight:600;color:var(--ink-900)}
.expand--light .expand__btn{color:#fff}
.expand--light .expand__btn .plus{border-color:rgba(255,255,255,.6)}
.expand--light .expand__panel p{color:rgba(255,255,255,.75)}
.expand--light .expand__panel p:last-child{color:#fff}
.no-js .expand__panel{grid-template-rows:1fr}
.no-js .expand__panel>div{opacity:1}

/* ---------- Home hero (Spotlight) --------------------------------------- */
.hero{position:relative;height:100vh;min-height:660px;overflow:hidden;display:grid;place-items:center;padding-top:var(--header-h);background:#1e1a1b;--mx:62%;--my:42%;--r:clamp(150px,30vw,340px)}
.hero__glow{position:absolute;inset:0;background:radial-gradient(circle calc(var(--r) + 40px) at var(--mx) var(--my),rgba(255,176,0,.12),rgba(255,176,0,0) 70%)}
.hero__inner{position:relative;z-index:2;display:grid;justify-items:center;text-align:center;gap:28px;padding:0 var(--gutter-x);animation:qlmUp 600ms var(--ease-out)}
.hero__title-wrap{position:relative}
.hero__title{font:700 clamp(52px,11.5vw,168px)/.98 var(--font-display);letter-spacing:.005em;text-transform:uppercase;color:#2f2a2b}
.hero__title--lit{position:absolute;inset:0;color:#fff;-webkit-mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0%,#000 32%,rgba(0,0,0,0) 74%);mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0%,#000 32%,rgba(0,0,0,0) 74%)}
.hero__title:not(.hero__title--lit) .accent{color:inherit}
.hero__title--lit .accent{color:var(--spark-500)}
.hero__hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font:400 12px/1 var(--font-mono);color:rgba(255,255,255,.38);white-space:nowrap}
@keyframes qlmUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .hero__inner{animation:none}
  .hero__title{color:#fff}
  .hero__title--lit{display:none}
  .hero__hint{display:none}
}
@media (max-width:640px){
  /* phones: eyebrow + headline sit in the upper part of the screen, the buttons drop to the bottom */
  .hero{display:flex;flex-direction:column;align-items:stretch;height:100vh;height:100svh;min-height:540px}
  .hero__inner{flex:1;display:flex;flex-direction:column;align-items:center;gap:22px;padding:clamp(40px,9svh,96px) var(--gutter-x) clamp(36px,7svh,64px)}
  .hero__inner .btn-row{margin-top:auto;flex-direction:column;align-items:center;gap:12px;width:100%}
  .hero__inner .btn-row .btn{width:min(100%,300px)}
  .hero__hint{display:none}
}

/* ---------- Statement panels -------------------------------------------- */
.panel{padding:var(--section-y) var(--gutter-x)}
.panel--right .wrap{display:grid;justify-items:end}
.panel--right .stack{max-width:56ch;text-align:left}

/* ---------- Pillars (What drives conversion) ----------------------------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.pillar{border-top:1px solid rgba(255,255,255,.2);padding-top:24px;display:grid;gap:12px;align-content:start}
.pillar__num{font:500 14px/1 var(--font-mono);color:var(--spark-500)}
.pillar__title{font:700 24px/1.1 var(--font-display);text-transform:uppercase;color:#fff}
.pillar p{font:400 16px/1.62 var(--font-sans);color:rgba(255,255,255,.75)}
.pillars--paper .pillar{border-top-color:var(--ink-100)}
.pillars--paper .pillar__num{color:var(--spark-700)}
.pillars--paper .pillar__title{color:var(--ink-900)}
.pillars--paper .pillar p{color:var(--ink-500)}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}

/* ---------- Media frame (home split sections) --------------------------- */
.media-frame{position:relative;aspect-ratio:16/11;background:var(--ink-050);border:1px solid var(--ink-100)}
.media-frame .slot{position:absolute;inset:0;border:0;height:100%;aspect-ratio:auto}
.tone-ink .media-frame{background:var(--ink-800);border-color:rgba(255,255,255,.16)}
.media-frame--square{aspect-ratio:1/1;max-width:560px}
@media (max-width:900px){.media-frame--square{max-width:none}}


/* ---------- Home pillar sections: full-bleed image, choosable text + overlay ---------- */
.pillar-sec{position:relative;min-height:640px;display:grid;align-items:center;padding:var(--section-y) var(--gutter-x);overflow:hidden;background:var(--ink-050);isolation:isolate}
.pillar-sec__bg{position:absolute!important;inset:0;height:100%;aspect-ratio:auto!important;border:0;z-index:0}
.pillar-sec__bg img{object-fit:cover}
.pillar-sec__bg .slot__empty{place-content:end start;text-align:left;padding:20px 24px}
.pillar-sec__bg .slot__empty::before{inset:16px}
.pillar-sec__overlay{position:absolute;inset:0;z-index:1;pointer-events:none}
.pillar-sec__grid{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pillar-sec__head{display:grid;gap:14px;justify-items:start}
.pillar-sec__more{display:grid;justify-items:start;align-self:center}
.pillar-sec.more-bottom .pillar-sec__grid,.pillar-sec.more-top .pillar-sec__grid{align-self:stretch}
.pillar-sec.more-bottom .pillar-sec__more{align-self:end;padding-bottom:8px}
.pillar-sec.more-top .pillar-sec__more{align-self:start;padding-top:8px}
@media (max-width:900px){.pillar-sec.more-bottom .pillar-sec__grid,.pillar-sec.more-top .pillar-sec__grid{align-self:auto}}
.pillar-sec.head-right .pillar-sec__head{order:2}
.pillar-sec.head-right .pillar-sec__more{order:1}
/* overlays: lighten for dark text, darken for light text; the stronger end sits under the headline */
.pillar-sec.text-dark.overlay-soft .pillar-sec__overlay{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.42) 100%)}
.pillar-sec.text-dark.overlay-strong .pillar-sec__overlay{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.7) 100%)}
.pillar-sec.text-light.overlay-soft .pillar-sec__overlay{background:linear-gradient(90deg,rgba(35,31,32,.9) 0%,rgba(35,31,32,.62) 42%,rgba(35,31,32,.3) 100%)}
.pillar-sec.text-light.overlay-strong .pillar-sec__overlay{background:linear-gradient(90deg,rgba(35,31,32,.95) 0%,rgba(35,31,32,.85) 50%,rgba(35,31,32,.6) 100%)}
.pillar-sec.head-right.text-dark.overlay-soft .pillar-sec__overlay{background:linear-gradient(270deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.42) 100%)}
.pillar-sec.head-right.text-dark.overlay-strong .pillar-sec__overlay{background:linear-gradient(270deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.7) 100%)}
.pillar-sec.head-right.text-light.overlay-soft .pillar-sec__overlay{background:linear-gradient(270deg,rgba(35,31,32,.9) 0%,rgba(35,31,32,.62) 42%,rgba(35,31,32,.3) 100%)}
.pillar-sec.head-right.text-light.overlay-strong .pillar-sec__overlay{background:linear-gradient(270deg,rgba(35,31,32,.95) 0%,rgba(35,31,32,.85) 50%,rgba(35,31,32,.6) 100%)}
.pillar-sec.overlay-none .pillar-sec__overlay{background:none}
/* text modes */
.pillar-sec.text-dark .eyebrow{color:var(--spark-700)}
.pillar-sec.text-dark .statement,.pillar-sec.text-dark .thesis{color:var(--ink-900)}
.pillar-sec.text-light{background:var(--ink-900)}
.pillar-sec.text-light .eyebrow{color:var(--spark-500)}
.pillar-sec.text-light .statement,.pillar-sec.text-light .thesis{color:#fff}
.pillar-sec.text-light .expand__btn{color:#fff}
.pillar-sec.text-light .expand__btn .plus{border-color:rgba(255,255,255,.6)}
.pillar-sec.text-light .expand__panel p{color:rgba(255,255,255,.85)}
.pillar-sec.text-light .expand__panel p:last-child{color:#fff}
/* the opened argument sits on a glass plate so it reads over any photo */
.pillar-sec .expand{max-width:none;width:100%}
.pillar-sec .expand__btn{font-size:15px}
.pillar-sec .expand__panel>div{border-radius:6px;transition:opacity var(--dur-3) var(--ease-out),padding var(--dur-3) var(--ease-out)}
.pillar-sec .expand__panel.is-open>div{padding:24px 28px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 48px rgba(35,31,32,.10)}
.pillar-sec.text-light .expand__panel.is-open>div{background:rgba(35,31,32,.62)}
.pillar-sec .expand__panel p{max-width:56ch}
@media (max-width:900px){
  .pillar-sec{min-height:460px;padding:var(--section-y) var(--gutter-x)}
  .pillar-sec__grid{grid-template-columns:1fr;gap:32px}
  .pillar-sec.head-right .pillar-sec__head{order:1}
  .pillar-sec.head-right .pillar-sec__more{order:2}
  .pillar-sec.text-dark .pillar-sec__overlay,.pillar-sec.head-right.text-dark .pillar-sec__overlay{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.8) 60%,rgba(255,255,255,.6) 100%)!important}
  .pillar-sec.text-light .pillar-sec__overlay,.pillar-sec.head-right.text-light .pillar-sec__overlay{background:linear-gradient(180deg,rgba(35,31,32,.9) 0%,rgba(35,31,32,.72) 60%,rgba(35,31,32,.55) 100%)!important}
  .pillar-sec.overlay-none .pillar-sec__overlay{background:none!important}
}

/* ---------- Portfolio tiles --------------------------------------------- */
.tile{position:relative;display:block;aspect-ratio:4/3;background:var(--ink-900);overflow:hidden;color:#fff}
.tile .slot{position:absolute;inset:0;height:100%;aspect-ratio:auto;border:0;background:var(--ink-800)}
.tile img{transition:transform var(--dur-4) var(--ease-out)}
.tile:hover img{transform:scale(1.03)}
.tile__plate{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 14px;background:linear-gradient(180deg,rgba(35,31,32,0),rgba(35,31,32,.88));pointer-events:none}
.tile__client{font:700 22px/1.1 var(--font-display);text-transform:uppercase;color:#fff}
.tile__disc{font:400 11px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.tile__cta{display:inline-block;margin-top:8px;font:600 12px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--spark-500)}
.tile__soon{display:inline-block;margin-top:8px;font:600 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--spark-500)}
a.tile:hover{color:#fff}
.tile.is-hidden{display:none}
.teaser-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}

/* ---------- Tabs -------------------------------------------------------- */
.tabs{display:flex;gap:32px;border-bottom:1px solid var(--ink-100);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:0;background:none;cursor:pointer;padding:0 0 12px;font:600 14px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);box-shadow:none;transition:var(--transition-control)}
.tab:hover{color:var(--ink-900)}
.tab.is-active{color:var(--ink-900);box-shadow:inset 0 -3px 0 0 var(--spark-500)}
a.tab{display:inline-block}
@media (max-width:640px){.tabs{flex-wrap:wrap;gap:14px 24px;overflow:visible}}

/* ---------- Team -------------------------------------------------------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.team-card{display:grid;gap:12px;align-content:start}
.team-card__portrait{position:relative;aspect-ratio:3/4;background:var(--ink-100);overflow:hidden;filter:grayscale(1);transition:filter .3s linear}
.team-card:hover .team-card__portrait{filter:grayscale(0)}
.team-card__portrait .slot{position:absolute;inset:0;height:100%;aspect-ratio:auto;border:0}
.team-card__name{font:700 22px/1.1 var(--font-display);color:var(--ink-900)}
.team-card__role{font:600 12px/1.6 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--spark-700)}
.team-card__since{font:400 12px/1.6 var(--font-mono);color:var(--ink-500)}
@media (max-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- Blog -------------------------------------------------------- */
.blog-list{display:grid;gap:0}
.blog-card{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--ink-100)}
.blog-card:first-child{padding-top:0}
.blog-card__media{display:block;aspect-ratio:4/3;background:var(--ink-100);overflow:hidden;position:relative}
.blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-4) var(--ease-out)}
.blog-card:hover .blog-card__media img{transform:scale(1.03)}
.blog-card__pattern{width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--ink-050),var(--ink-050) 8px,var(--ink-100) 8px,var(--ink-100) 16px)}
.blog-card__body{display:grid;gap:8px;align-content:start}
.blog-card__meta{font:400 11px/1.5 var(--font-mono);color:var(--ink-400)}
.blog-card__title{font:600 24px/1.35 var(--font-display);color:var(--ink-900)}
.blog-card__title a{color:inherit}
.blog-card:hover .blog-card__title a{color:var(--spark-700)}
.blog-card__cats{font:600 12px/1.2 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500)}
.blog-card__excerpt{font:400 16px/1.62 var(--font-sans);color:var(--ink-700);max-width:68ch}
.blog-card.is-hidden{display:none}
.blog-empty{font:400 16px/1.62 var(--font-sans);color:var(--ink-500);padding:24px 0}
@media (max-width:700px){.blog-card{grid-template-columns:1fr}.blog-card__media{aspect-ratio:16/9}}
/* single post (WordPress) */
.post-hero{padding:var(--section-y) var(--gutter-x) 48px}
.post-title{font:700 clamp(36px,5vw,72px)/.98 var(--font-display);color:#fff;max-width:20ch;text-wrap:balance}
.prose{font:400 18px/1.7 var(--font-sans);color:var(--ink-700);max-width:var(--measure)}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure{margin:0 0 1.4em}
.prose h2,.prose h3,.prose h4{margin:1.6em 0 .6em;color:var(--ink-900)}
.prose h2{font:700 32px/1.14 var(--font-display)}
.prose h3{font:600 24px/1.35 var(--font-display)}
.prose img{height:auto}
.prose a{color:var(--ink-900);border-bottom:1px solid var(--spark-500)}
.prose a:hover{color:var(--spark-700)}
.prose blockquote{border-left:6px solid var(--spark-500);padding-left:20px;font:300 22px/1.5 var(--font-sans);color:var(--ink-900)}
.post-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:48px;border-top:1px solid var(--ink-100);margin-top:48px}

/* ---------- Forms ------------------------------------------------------- */
.form{display:grid;gap:16px;align-content:start}
.field{display:grid;gap:4px}
.field__label{font:600 12px/1.2 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.field__input{width:100%;font:400 16px/1.4 var(--font-sans);color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--border-inverse);border-radius:var(--radius-sm);height:44px;padding:0 12px;outline:none;transition:var(--transition-control)}
textarea.field__input{height:auto;padding:12px;resize:vertical;min-height:96px}
.field__input::placeholder{color:rgba(255,255,255,.4)}
.field__input:focus{border-color:var(--spark-500);box-shadow:var(--shadow-focus)}
.field__input[aria-invalid="true"]{border-color:var(--danger-600)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form__captcha:not(:empty){margin:-4px 0 4px}
.form__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.form__note{font:400 12px/1.5 var(--font-sans);color:rgba(255,255,255,.6)}
.form__status{font:400 14px/1.5 var(--font-sans);color:rgba(255,255,255,.8);min-height:1.5em}
.form__status.is-error{color:#ffb4ab}
.form.is-sent .field,.form.is-sent .form__actions{display:none}
.form__thanks{display:none;grid-template-columns:1fr;gap:12px}
.form.is-sent .form__thanks{display:grid}
.form__thanks h3{font:700 32px/1.1 var(--font-display);color:#fff}
.form__thanks p{color:rgba(255,255,255,.78);font:300 18px/1.62 var(--font-sans)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}

/* ---------- Contact hero: white header, the chair comes in from the right ---------- */
.contact-hero{position:relative;overflow:hidden;background:#fff;padding:calc(var(--header-h) + 72px) var(--gutter-x) 56px;min-height:520px;display:grid;align-items:center}
body.header-default .page .contact-hero{margin-top:calc(var(--header-h) * -1)}
.contact-hero__grid{width:100%}
.contact-hero__copy{position:relative;z-index:2;max-width:min(60%,720px)}
.contact-hero__chair{position:absolute!important;right:0;bottom:0;top:auto;left:auto;width:min(44vw,520px);height:calc(100% - var(--header-h));aspect-ratio:auto!important;border:0;background:transparent;z-index:1}
.contact-hero__chair img{object-fit:contain;object-position:right bottom}
.contact-hero__chair .slot__empty{display:none}
@media (max-width:760px){
  .contact-hero{display:block;min-height:0;padding-bottom:0}
  .contact-hero__copy{max-width:none}
  .contact-hero__chair{position:relative!important;display:block;width:62%;height:auto;aspect-ratio:1/1!important;margin:24px 0 0 auto}
}

/* ---------- Case pages -------------------------------------------------- */
.case-intro__title{font:700 clamp(56px,10vw,140px)/.98 var(--font-display);letter-spacing:.005em;text-transform:uppercase;color:#fff}
.case-intro__sub{font:300 clamp(22px,2.6vw,32px)/1.1 var(--font-display);color:rgba(255,255,255,.7);margin-top:-8px}
.case-intro__disc{font:400 12px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.case-block .wrap{display:grid;gap:24px}
.case-block__head{display:grid;gap:8px}
.case-block__title{font:700 40px/1 var(--font-display);text-transform:uppercase;color:var(--ink-900)}
.case-block__note{font:400 13px/1.6 var(--font-mono);color:var(--ink-400)}
.case-media{aspect-ratio:16/9}
.case-grid{display:grid;gap:16px}
.case-grid--3{grid-template-columns:repeat(3,1fr)}
.case-grid--2{grid-template-columns:repeat(2,1fr)}
.case-foot{background:var(--ink-050);padding:64px var(--gutter-x)}
.case-foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.case-foot__links{display:flex;gap:32px;flex-wrap:wrap}
@media (max-width:640px){.case-grid--3,.case-grid--2{grid-template-columns:1fr}.case-block__title{font-size:32px}}
/* slideshow: stacked slots cross-fading */
.slideshow{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink-050);border:1px solid var(--ink-100)}
.slideshow .slot{position:absolute;inset:0;height:100%;aspect-ratio:auto;border:0;opacity:0;transition:opacity 900ms var(--ease-standard)}
.slideshow .slot.is-current{opacity:1}
.slideshow__dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:2}
.slideshow__dot{width:28px;height:4px;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer;border-radius:2px;transition:background var(--dur-2)}
.slideshow__dot.is-active{background:var(--spark-500)}
.no-js .slideshow .slot:first-child{opacity:1}
/* phones composition */
.phones{position:relative;aspect-ratio:16/9;background:#ececec center/cover no-repeat;border:1px solid var(--ink-100);overflow:hidden}
.phones__inner{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:6%;padding:6% 10%}
.phones__phone{height:100%;width:auto;aspect-ratio:443/811;background:transparent;border:0;flex:0 1 auto;max-width:44%}
.phones__phone img{object-fit:contain}

/* ---------- Just Video -------------------------------------------------- */
.video-features{display:grid;grid-template-columns:1fr 1fr;gap:48px 16px}
.video-feature{display:grid;gap:16px}
.video-feature__caption{display:grid;gap:4px}
.video-feature__title{font:700 28px/1 var(--font-display);text-transform:uppercase;color:var(--ink-900)}
.video-feature__sub{font:400 12px/1.6 var(--font-mono);color:var(--ink-500)}
.video-card{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:1px solid var(--ink-100);background:var(--ink-900);cursor:pointer;overflow:hidden;text-align:left}
.video-card .slot{position:absolute;inset:0;height:100%;aspect-ratio:auto;border:0}
.video-card__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-4) var(--ease-out)}
.video-card:hover .video-card__poster,.video-card:hover .slot img{transform:scale(1.03)}
.video-card__poster--blank{display:grid;align-items:end;justify-items:start;background:linear-gradient(140deg,var(--ink-700),var(--ink-900));color:rgba(255,255,255,.82);font:700 clamp(18px,1.8vw,24px)/1.1 var(--font-display);text-transform:uppercase;padding:18px 20px;text-align:left;box-shadow:inset 0 -3px 0 var(--spark-500)}
.video-card::after{content:"";position:absolute;inset:0;background:rgba(35,31,32,.18);transition:background var(--dur-3)}
.video-card:hover::after{background:rgba(35,31,32,.05)}
.video-card__play{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);border-radius:50%;background:var(--spark-500);z-index:2;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform var(--dur-3) var(--ease-out),background var(--dur-2)}
.video-card__play::after{content:"";position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--ink-900)}
.video-card:hover .video-card__play{transform:translate(-50%,-50%) scale(1.06);background:var(--spark-400)}
.video-card--lg .video-card__play{width:76px;height:76px}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 16px}
.video-item{display:grid;gap:10px}
.video-item .video-card__play{width:48px;height:48px}
.video-item .video-card__play::after{border-width:8px 0 8px 13px}
.video-item__title{font:600 12px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-700)}
a.tab.tab--jump{color:var(--spark-700)}
a.tab.tab--jump:hover{color:var(--ink-900)}
.video-grid--3{grid-template-columns:repeat(3,1fr);gap:32px 16px}
.video-card__dur{position:absolute;right:10px;bottom:10px;z-index:2;font:500 11px/1 var(--font-mono);letter-spacing:.04em;color:#fff;background:rgba(35,31,32,.78);padding:6px 7px;border-radius:3px}
.video-item__label{display:block;margin-top:2px;font:400 11px/1.4 var(--font-mono);letter-spacing:.06em;color:var(--ink-500)}
.video-grid--3 .video-item__title{font-size:13px}
@media (max-width:900px){.video-grid,.video-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.video-features{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.video-grid--3{grid-template-columns:1fr;gap:24px}}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1120px,88vw);width:min(1120px,88vw);overflow:visible}
.lightbox::backdrop{background:rgba(35,31,32,.92);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.lightbox__inner{position:relative}
.lightbox__frame{position:relative;aspect-ratio:16/9;background:#000;box-shadow:var(--shadow-3);border:1px solid rgba(255,255,255,.12)}
.lightbox__frame video,.lightbox__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.lightbox__close{position:absolute;top:-22px;right:-22px;z-index:6;width:52px;height:52px;border-radius:50%;border:0;padding:0;background:#fff;color:var(--ink-900);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 3px rgba(35,31,32,.9);transition:background var(--dur-2) var(--ease-standard),transform var(--dur-2) var(--ease-out)}
.lightbox__close:hover{background:var(--spark-500);transform:scale(1.06)}
.lightbox__close:focus-visible{outline:3px solid var(--spark-500);outline-offset:3px}
.lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 2px 0;color:rgba(255,255,255,.8);flex-wrap:wrap}
.lightbox__title{font:700 18px/1.1 var(--font-display);text-transform:uppercase;color:#fff}
.lightbox__hint{font:400 12px/1.4 var(--font-sans);color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px}
.lightbox__key{display:inline-block;font:500 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:4px;padding:4px 6px}
@media (max-width:640px){
  .lightbox{max-width:96vw;width:96vw}
  .lightbox__close{top:8px;right:8px;width:44px;height:44px}
}


/* ---------- minimal MP4 player (lightbox) ---------- */
.vc{position:absolute;inset:0;z-index:3;cursor:pointer;-webkit-tap-highlight-color:transparent}
.vc:not(.is-shown){cursor:none}
.vc__big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:76px;height:76px;border-radius:50%;border:0;padding:0;background:var(--spark-500);color:var(--ink-900);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-standard),transform .2s var(--ease-out)}
.vc__big svg{margin-left:3px}
.vc.is-paused .vc__big{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.vc.is-paused:not(.is-ended) .vc__big svg{margin-left:3px}
.vc__bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:26px 12px 10px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62));color:#fff;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-standard)}
.vc.is-shown .vc__bar{opacity:1;pointer-events:auto}
.vc__btn{flex:none;width:36px;height:36px;border:0;padding:0;border-radius:50%;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.vc__btn:hover{background:rgba(255,255,255,.14)}
.vc__btn:focus-visible,.vc__big:focus-visible{outline:2px solid var(--spark-500);outline-offset:2px}
.vc__track{position:relative;flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.3)}
.vc__fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:var(--spark-500)}
.vc__seek{position:absolute;left:0;right:0;top:50%;width:100%;height:28px;margin:0;transform:translateY(-50%);opacity:0;cursor:pointer}
.vc__time{flex:none;font:500 12px/1 var(--font-mono);color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums}
@media (max-width:640px){.vc__big{width:62px;height:62px}.vc__time{display:none}}

/* ---------- Landing (Buyer intent) -------------------------------------- */
.intent-stage{position:relative;background:var(--ink-900);overflow:hidden}
.intent-stage__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.intent-stage__scrim{position:absolute;inset:0;background:linear-gradient(75deg,rgba(35,31,32,.9) 0%,rgba(35,31,32,.5) 44%,rgba(35,31,32,.04) 72%)}
.intent-hero{position:relative;height:100vh;min-height:660px}
.intent-hero__inner{position:relative;z-index:2;height:100%;max-width:var(--page-max-wide);margin:0 auto;padding:var(--header-h) 48px 0;display:grid;align-content:center;justify-items:start;gap:24px;animation:qlmUp 600ms var(--ease-out)}
.intent-hero__title{font:700 clamp(52px,8.8vw,136px)/.98 var(--font-display);letter-spacing:.005em;color:#fff}
.intent-hero__title .accent{color:var(--spark-500)}
.intent-stage .panel{position:relative}
.intent-stage--right .intent-stage__scrim{background:linear-gradient(255deg,rgba(35,31,32,.92) 0%,rgba(35,31,32,.55) 44%,rgba(35,31,32,.04) 72%)}
.intent-stage--right .panel{padding-top:calc(var(--section-y) + 24px);padding-bottom:calc(var(--section-y) + 24px)}
@media (max-width:640px){.intent-stage--right .intent-stage__scrim{background:linear-gradient(180deg,rgba(35,31,32,.6),rgba(35,31,32,.86))}}
.clients-inline{font:400 13px/2.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-600);max-width:960px}
@media (max-width:640px){.intent-hero__inner{padding:var(--header-h) var(--gutter-x) 0}.intent-hero{min-height:560px}}

/* ---------- Exits page -------------------------------------------------- */
.exits-hero{position:relative;background:#1e1a1b;padding:calc(var(--header-h) + 64px) var(--gutter-x) 80px;overflow:hidden}
.exits-hero .wrap{display:grid;gap:40px}
.exits-hero__copy{display:grid;gap:20px;justify-items:start}
.exits-hero__title{font:700 clamp(52px,8vw,132px)/.98 var(--font-display);text-transform:uppercase;letter-spacing:.005em;color:#fff;max-width:12ch}
.exits-hero__title .accent{color:var(--spark-500)}
.confetti{position:absolute;inset:0;pointer-events:none;z-index:3}
/* split-flap departures board */
.board{--flap-w:18px;--flap-gap:3px;--col-brand:calc(15 * var(--flap-w) + 14 * var(--flap-gap));--col-buyer:calc(20 * var(--flap-w) + 19 * var(--flap-gap));--col-year:calc(4 * var(--flap-w) + 3 * var(--flap-gap));--col-status:calc(8 * var(--flap-w) + 7 * var(--flap-gap));background:#121011;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:20px 24px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);overflow-x:auto;overscroll-behavior-x:contain}
.board__head,.board__row{display:grid;grid-template-columns:var(--col-brand) var(--col-buyer) var(--col-year) var(--col-status);justify-content:start;gap:8px 24px;align-items:center}
.board__head{font:500 11px/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}
.board__row{padding:6px 0}
.board__row--you .flap{color:rgba(255,255,255,.55)}
.board__cell{display:flex;gap:var(--flap-gap)}
.flap{position:relative;display:inline-grid;place-items:center;width:var(--flap-w);height:32px;background:#2b2627;color:#fff;font:500 22px/1 var(--font-display);text-transform:uppercase;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06);transform-style:preserve-3d;backface-visibility:hidden}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)}
.flap.is-flipping{animation:flapTick 90ms linear}
@keyframes flapTick{0%{transform:scaleY(1)}50%{transform:scaleY(.08)}100%{transform:scaleY(1)}}
.board__cell--status .flap.is-landed{color:var(--spark-500);background:#3a2e12}
.board__row--you .board__cell--status .flap.is-landed{color:#fff;background:#2b2627}
.board__cell--year .flap{color:rgba(255,255,255,.8)}
.board__foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font:400 11px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.board__blink{animation:blink 1.6s steps(2,start) infinite;color:var(--spark-500)}
@keyframes blink{to{visibility:hidden}}
@media (max-width:720px){
  .board{--flap-w:9px;--flap-gap:2px}
  .flap{height:22px;font-size:12px;border-radius:2px}
  .board__head,.board__row{grid-template-columns:var(--col-brand) var(--col-year) var(--col-status);gap:6px 12px}
  .board__cell--buyer,.board__head .board__col--buyer{display:none}
  .board{padding:12px 14px 14px}
}
@media (prefers-reduced-motion:reduce){.flap.is-flipping{animation:none}.board__blink{animation:none}}
/* climb (valuation line) */
.climb{position:relative}
.climb__svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;opacity:.6}
.climb__line{fill:none;stroke:var(--spark-500);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1600;stroke-dashoffset:1600}
.climb__area{fill:url(#climbFill);opacity:0;transition:opacity 1.2s ease 1s}
.climb__dot{fill:var(--spark-500);opacity:0;transform-origin:center;transform-box:fill-box;transform:scale(0)}
.climb.is-in .climb__line{animation:climbDraw 1.8s var(--ease-out) forwards}
.climb.is-in .climb__area{opacity:1}
.climb.is-in .climb__dot{animation:dotPop .4s var(--ease-out) forwards}
.climb.is-in .climb__dot:nth-of-type(1){animation-delay:.5s}
.climb.is-in .climb__dot:nth-of-type(2){animation-delay:1.05s}
.climb.is-in .climb__dot:nth-of-type(3){animation-delay:1.6s}
@keyframes climbDraw{to{stroke-dashoffset:0}}
@keyframes dotPop{to{opacity:1;transform:scale(1)}}
.climb .pillars{position:relative}
@media (prefers-reduced-motion:reduce){.climb__line{stroke-dashoffset:0;animation:none}.climb__dot{opacity:1;transform:none}.climb__area{opacity:1}}
/* roster (on paper) */
.exits-roster{display:grid;gap:72px}
.exit{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.exit:nth-child(even) .exit__media{order:2}
.exit__media{aspect-ratio:16/10;background:var(--ink-050);border-color:var(--ink-100)}
.exit__body{display:grid;gap:12px;align-content:start;padding-top:8px}
.exit__num{font:500 14px/1 var(--font-mono);color:var(--spark-700)}
.exit__brand{font:700 clamp(36px,4.6vw,64px)/.98 var(--font-display);letter-spacing:.005em;text-transform:uppercase;color:var(--ink-900)}
.exit__deal{font:600 18px/1.4 var(--font-sans);color:var(--spark-700)}
.exit__flag{display:inline-block;justify-self:start;font:500 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);border:1px dashed var(--ink-300);padding:5px 10px;border-radius:3px}
.exit__meta{font:400 12px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.exit__copy{font:400 17px/1.62 var(--font-sans);color:var(--ink-700);max-width:56ch}
.exit__copy.is-placeholder{color:var(--ink-400);font-style:italic}
.exit__stamp{position:absolute;right:-6px;top:-18px;z-index:3;transform:rotate(-12deg) scale(1.5);opacity:0;pointer-events:none;transition:transform .32s var(--ease-out),opacity .2s linear;transition-delay:.35s}
.exit__stamp span{display:inline-block;font:700 clamp(18px,2.2vw,28px)/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--spark-600);border:3px solid var(--spark-600);border-radius:6px;padding:8px 16px;background:rgba(255,255,255,.85)}
.exit.is-in .exit__stamp{transform:rotate(-12deg) scale(1);opacity:1}
@media (prefers-reduced-motion:reduce){.exit__stamp{transition:none;transform:rotate(-12deg);opacity:1}}
@media (max-width:900px){.exit{grid-template-columns:1fr;gap:20px}.exit:nth-child(even) .exit__media{order:0}.exit__stamp{right:8px;top:-12px}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat{border-top:1px solid rgba(35,31,32,.25);padding-top:20px;display:grid;gap:6px}
.stat__num{font:700 clamp(56px,7vw,96px)/.98 var(--font-display);color:var(--ink-900);font-variant-numeric:tabular-nums}
.stat__label{font:600 12px/1.2 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-900)}
@media (max-width:640px){.stats{grid-template-columns:1fr}}


/* ---------- Our Story --------------------------------------------------- */
.js [data-reveal]{transition-delay:var(--d,0ms)}
.story-title{padding-bottom:.06em;margin-bottom:-.06em;max-width:none}
.story-title .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.story-title .ltr{display:inline-block;transform:translateY(110%);opacity:0;animation:ltrUp .7s var(--ease-out) forwards;animation-delay:calc(var(--i) * 45ms + 120ms)}
@keyframes ltrUp{to{transform:none;opacity:1}}
.rule--draw{transform-origin:left;transform:scaleX(0);animation:ruleDraw .8s var(--ease-out) forwards;animation-delay:.6s}
@keyframes ruleDraw{to{transform:scaleX(1)}}
.milestones{list-style:none;margin:0;padding:28px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}
.milestones::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ink-200)}
.milestones::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--spark-500);transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--ease-out)}
.milestones.is-in::after{transform:scaleX(1)}
.milestone{position:relative;display:grid;gap:8px;align-content:start}
.milestone__dot{position:absolute;top:-36px;left:0;width:14px;height:14px;border-radius:50%;background:var(--spark-500);box-shadow:0 0 0 4px var(--ink-050);transform:scale(0);transition:transform .4s var(--ease-out)}
.milestones.is-in .milestone:nth-child(1) .milestone__dot{transition-delay:.15s;transform:scale(1)}
.milestones.is-in .milestone:nth-child(2) .milestone__dot{transition-delay:.55s;transform:scale(1)}
.milestones.is-in .milestone:nth-child(3) .milestone__dot{transition-delay:.95s;transform:scale(1)}
.milestones.is-in .milestone:nth-child(4) .milestone__dot{transition-delay:1.35s;transform:scale(1)}
.milestone__year{font:700 clamp(40px,5vw,72px)/.98 var(--font-display);color:var(--ink-900);font-variant-numeric:tabular-nums}
.milestone--now .milestone__year{color:var(--spark-700)}
.milestone--now .milestone__dot{animation:none}
.milestones.is-in .milestone--now .milestone__dot{animation:pulseDot 1.8s ease-in-out 1.8s infinite}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 4px var(--ink-050),0 0 0 4px rgba(255,176,0,0)}50%{box-shadow:0 0 0 4px var(--ink-050),0 0 0 12px rgba(255,176,0,.25)}}
.milestone__cap{font:400 15px/1.5 var(--font-sans);color:var(--ink-500);max-width:26ch}
@media (max-width:760px){
  .milestones{grid-template-columns:1fr;padding:0 0 0 28px;gap:28px}
  .milestones::before,.milestones::after{left:5px;right:auto;top:0;bottom:0;width:3px;height:100%}
  .milestones::after{transform-origin:top;transform:scaleY(0);transition:transform 1.6s var(--ease-out)}
  .milestones.is-in::after{transform:scaleY(1)}
  .milestone__dot{top:6px;left:-28px}
}
.quote .qword{display:inline-block;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i) * 90ms)}
.quote.is-in .qword{opacity:1;transform:none}
.no-js .quote .qword,.no-js .story-title .ltr{opacity:1;transform:none}
.team-section{position:relative;overflow:hidden;padding-bottom:calc(var(--section-y) + 40px)}
.footprints{position:absolute;inset:0;pointer-events:none;z-index:0}
.fp{position:absolute;width:20px;height:38px;opacity:0;transition:opacity .6s var(--ease-out);color:var(--ink-500)}
.fp svg{width:100%;height:100%;fill:currentColor}
.fp.is-on{opacity:.16}
.team-note{font:400 13px/1.6 var(--font-mono);color:var(--ink-500);max-width:34ch}
.team-grid{position:relative;z-index:1}
.js .team-grid .team-card{opacity:0}
.js .team-grid.is-in .team-card{animation:walkIn .75s var(--ease-out) both;animation-delay:calc(var(--i) * 150ms)}
@keyframes walkIn{0%{opacity:0;transform:translateX(-64px) rotate(-6deg)}65%{opacity:1;transform:translateX(8px) rotate(2deg)}100%{opacity:1;transform:none}}
.shoe-stage{position:relative;aspect-ratio:1/1;background:#fff;border:1px solid var(--ink-100);overflow:hidden}
.shoe-stage::after{content:"";position:absolute;left:16%;right:16%;bottom:17%;height:12px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(35,31,32,.22),rgba(35,31,32,0) 70%);transition:transform .32s var(--ease-out),opacity .32s}
.shoe-stage .slot{position:absolute;inset:0;height:100%;aspect-ratio:auto;border:0;background:transparent}
.shoe-stage .slot--shoe img{inset:14% 12% 24%;width:auto;height:auto;max-width:76%;max-height:62%;margin:auto;object-fit:contain;filter:drop-shadow(0 14px 10px rgba(35,31,32,.16));transition:transform .32s var(--ease-out)}
.team-card:hover .shoe-stage .slot--shoe img{transform:translateY(-10px) rotate(-6deg)}
.team-card:hover .shoe-stage::after{transform:scaleX(.8);opacity:.6}
.shoe-stage .slot__hint{display:none}
.year-board{display:inline-flex;gap:4px;margin:4px 0}
.year-board .flap{width:34px;height:52px;font-size:36px;border-radius:4px}
.year-board .flap.is-landed{color:var(--spark-500)}
@media (prefers-reduced-motion:reduce){
  .story-title .ltr,.rule--draw{animation:none;transform:none;opacity:1}
  .js .team-grid .team-card{opacity:1;animation:none}
  .milestones::after{transition:none}.milestone__dot{transition:none}
}

/* ---------- WordPress pagination ---------------------------------------- */
.pagination{margin-top:40px}
.pagination .nav-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.page-numbers{font:600 13px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);padding:8px 0}
.page-numbers.current{color:var(--ink-900);box-shadow:inset 0 -3px 0 0 var(--spark-500)}
a.page-numbers:hover{color:var(--ink-900)}

/* ---------- Misc -------------------------------------------------------- */
.wp-preview-note{font:400 12px/1.5 var(--font-mono);color:rgba(255,255,255,.4)}
.hidden{display:none!important}
