/* ---------- TOKENS ---------- */
:root{
  --bg:#FFFFFF; --ink:#000000; --text:#000000; --text-invert:#FFFFFF;
  --surface:#FFFFFF; --surface-2:#F5F5F5; --muted:#E4E4E4;
  --accent:#F0B429; --accent-2:#E29A0A; --accent-ink:#000000; --accent-soft:rgba(240,180,41,.16);
  --text-muted:rgba(0,0,0,.58); --text-invert-muted:rgba(255,255,255,.62);
  --text-on-dark:#FFFFFF; --nav-glass:rgba(255,255,255,.74); --grid-line:rgba(0,0,0,.07);
  --r-pill:200px; --r-header:50px; --r-card:15px; --r-media:10px; --r-block:20px;
  --container:1360px; --gutter:40px;
  --ease-out:cubic-bezier(.3,1,.3,1); --ease-reveal:cubic-bezier(.25,1,.33,1); --ease-text:cubic-bezier(.25,1,.5,1); --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --font-display:'Fraunces',serif; --font-ui:'Public Sans',sans-serif;
  color-scheme:light;
}
html.dark{
  --bg:#111111; --ink:#FFFFFF; --text:#FFFFFF; --text-invert:#111111;
  --surface:#181818; --surface-2:#1F1F1F; --muted:#333333;
  --text-muted:rgba(255,255,255,.62); --text-invert-muted:rgba(17,17,17,.62);
  --nav-glass:rgba(17,17,17,.74); --grid-line:rgba(255,255,255,.075);
  color-scheme:dark;
}
*{box-sizing:border-box;}
html{scroll-behavior:scroll;scroll-padding-top:104px;}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .4s var(--ease-out),color .4s var(--ease-out);}
/* ambient grid backdrop */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(ellipse 120% 80% at 50% 0%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 120% 80% at 50% 0%,#000 30%,transparent 78%);}
body > *{position:relative;z-index:1;}
@media(max-width:690px){body::before{background-size:22px 22px;}}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--text-invert);padding:12px 20px;border-radius:0 0 10px 0;z-index:2000;}
.skip-link:focus{left:0;}

/* ---------- custom cursor ---------- */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s var(--ease-out);}
.cursor-dot{width:7px;height:7px;background:var(--ink);margin:-3.5px 0 0 -3.5px;}
.cursor-ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid var(--ink);transition:opacity .3s var(--ease-out),width .3s var(--ease-out),height .3s var(--ease-out),margin .3s var(--ease-out),background-color .3s var(--ease-out),border-color .3s var(--ease-out);}
html.cursor-on .cursor-dot,html.cursor-on .cursor-ring{opacity:1;}
html.cursor-on.cursor-hidden .cursor-dot,html.cursor-on.cursor-hidden .cursor-ring,
html.cursor-on.mag-hover .cursor-dot,html.cursor-on.mag-hover .cursor-ring{opacity:0;}
html.cursor-on .cursor-ring.is-hover{width:64px;height:64px;margin:-32px 0 0 -32px;background:var(--accent-soft);border-color:var(--accent-2);}
html.cursor-on .cursor-dot.is-hover{opacity:0;}
html.cursor-on .cursor-ring.is-down{width:30px;height:30px;margin:-15px 0 0 -15px;}
@media(hover:hover) and (pointer:fine){
  html.cursor-on,html.cursor-on a,html.cursor-on button,html.cursor-on summary,html.cursor-on .ticker-track{cursor:none;}
}
@media(prefers-reduced-motion:reduce){.cursor-dot,.cursor-ring{display:none;}}

/* ---------- magnetic invert text ---------- */
.mag{position:relative;display:block;}
.mag__circle{position:absolute;top:0;left:0;width:0;height:0;border-radius:50%;background:var(--ink);overflow:hidden;pointer-events:none;opacity:0;
  transition:width .5s cubic-bezier(.33,1,.68,1),height .5s cubic-bezier(.33,1,.68,1),opacity .3s var(--ease-out);will-change:transform,width,height;}
.mag.is-active .mag__circle{width:170px;height:170px;opacity:1;}
.mag__inner{position:absolute;top:50%;left:50%;color:var(--bg);white-space:normal;will-change:transform;}
@media(max-width:820px){.mag.is-active .mag__circle{width:120px;height:120px;}}
@media(prefers-reduced-motion:reduce){.mag__circle{display:none;}}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
@media(max-width:690px){.container{padding-inline:20px;}}
section{padding-block:clamp(40px,5vw,90px);}
section.hero,section.final-cta{padding-block:clamp(64px,10vw,150px);}
@media(max-width:690px){section{padding-block:24px;}section.hero,section.final-cta{padding-block:40px;}}
section.hero{padding-top:clamp(120px,12vw,172px);}
@media(max-width:690px){section.hero{padding-top:104px;}}
h1,h2,h3,h4{margin:0;color:var(--ink);font-weight:400;}
p{margin:0;}
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em;line-height:1.1;font-size:clamp(44px,6vw,76px);text-align:center;}
.section-display{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em;line-height:1.2;font-size:clamp(30px,4vw,44px);}
h2.feature-title{font-family:var(--font-ui);font-weight:400;font-size:clamp(26px,2.4vw,29px);line-height:1.3;letter-spacing:-.01em;margin:0 0 12px;}
.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;opacity:.7;margin:0 0 16px;}
.body-copy{font-size:16px;line-height:1.6;opacity:.75;max-width:46ch;}
.meta{font-size:14px;font-weight:500;opacity:.6;}

/* ---------- text-roll (the one hover) ---------- */
.reveal{display:block;overflow:hidden;line-height:1.3;}
.reveal__text{display:block;position:relative;transition:transform .5s var(--ease-spring);}
.reveal__text::after{content:attr(data-text);position:absolute;left:0;bottom:-120%;color:var(--accent-2);transition:transform .5s var(--ease-spring);}
a:hover .reveal__text,button:hover .reveal__text,a:focus-visible .reveal__text,button:focus-visible .reveal__text{transform:translateY(-100%);}
a:hover .reveal__text::after,button:hover .reveal__text::after,a:focus-visible .reveal__text::after,button:focus-visible .reveal__text::after{transform:translateY(-20%);}
.btn:hover .reveal__text::after,.btn:focus-visible .reveal__text::after{color:inherit;}

.btn{display:inline-flex;align-items:center;gap:.6em;border:0;cursor:pointer;min-height:48px;padding:14px 28px;border-radius:var(--r-pill);font:500 16px/1 var(--font-ui);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background-color .35s var(--ease-out);}
.btn--accent{background:var(--accent);color:var(--accent-ink);}
.btn--accent:hover{background:var(--accent-2);box-shadow:0 12px 26px rgba(226,154,10,.35);}
.btn--dark{background:var(--ink);color:var(--text-invert);}
.btn--dark:hover{box-shadow:0 12px 26px rgba(0,0,0,.3);}
.btn--light{background:var(--surface);color:var(--text);border:1px solid var(--muted);}
.btn--light:hover{border-color:var(--ink);box-shadow:0 10px 22px rgba(0,0,0,.12);}
.btn:hover{transform:translateY(-3px);}
.btn:active{transform:translateY(-1px);}
@media(hover:none){.btn:hover{transform:none;}}
.btn--sm{padding:9px 22px;min-height:40px;font-size:14px;}
.btn--block{width:100%;justify-content:center;}
.pill-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--text-muted);border:1px solid var(--muted);padding:8px 16px;border-radius:var(--r-pill);}
.outline-pill{display:inline-flex;align-items:center;border:1px solid var(--muted);border-radius:var(--r-pill);padding:12px 24px;font-size:14px;font-weight:500;color:var(--text-muted);transition:border-color .3s,color .3s;}
.outline-pill:hover{border-color:var(--ink);color:var(--text);}

/* ---------- word reveal ---------- */
.word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em;}
.word-inner{display:inline-block;transform:translateY(1.3em);opacity:0;transition:transform 1.2s var(--ease-text),opacity 1.2s var(--ease-text);}
.word-reveal.in .word-inner{transform:translateY(0);opacity:1;}

/* ---------- entrance stagger ---------- */
.stagger-el{opacity:0;transform:translateY(50px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.stagger-el.in{opacity:1;transform:translateY(0);}
.stagger > *:nth-child(1){transition-delay:0ms;} .stagger > *:nth-child(2){transition-delay:110ms;}
.stagger > *:nth-child(3){transition-delay:220ms;} .stagger > *:nth-child(4){transition-delay:330ms;}
.stagger > *:nth-child(5){transition-delay:440ms;} .stagger > *:nth-child(6){transition-delay:550ms;}
.stagger > *:nth-child(n+7){transition-delay:660ms;}
@media(prefers-reduced-motion:reduce){.stagger-el,.word-inner{opacity:1;transform:none;transition:none;}}

/* ---------- header ---------- */
.floatnav{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;align-items:center;gap:8px;height:68px;padding:9px 9px 9px 18px;width:min(1120px,calc(100vw - 48px));
  background:var(--nav-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.07);transition:box-shadow .35s,background-color .4s var(--ease-out);
  opacity:0;animation:navIn .6s var(--ease-out) .1s forwards;}
@keyframes navIn{to{opacity:1;}}
@media(prefers-reduced-motion:reduce){.floatnav{opacity:1;animation:none;}}
.floatnav.scrolled{box-shadow:0 12px 34px rgba(0,0,0,.14);}
.floatnav .brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-size:18px;color:var(--ink);white-space:nowrap;}
.brand-dot{width:36px;height:36px;border-radius:50%;flex:none;background:linear-gradient(140deg,var(--accent),var(--accent-2));}
.navlinks{display:flex;align-items:center;flex:1;justify-content:center;}
.navlinks a{position:relative;padding:0 20px;font:500 15.5px/1.3 var(--font-ui);color:var(--ink);border-radius:var(--r-pill);}
.navlinks a::before{content:'';position:absolute;inset:-10px 6px;background:var(--surface-2);border-radius:var(--r-pill);opacity:0;transform:scale(.85);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);z-index:-1;}
.navlinks a:hover::before,.navlinks a:focus-visible::before{opacity:1;transform:scale(1);}
.floatnav .btn{height:50px;padding:0 26px;font-size:15px;flex:none;}
.floatnav .btn:hover{transform:translateY(-1px);}
.hamburger{display:none;width:44px;height:44px;border-radius:50%;border:0;background:transparent;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s var(--ease-out);}
.hamburger:hover{background:var(--surface-2);}
.hamburger span{display:block;width:18px;height:2px;background:var(--ink);position:relative;transition:background-color .25s var(--ease-out) .1s;}
.hamburger span::before,.hamburger span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .35s var(--ease-spring),top .35s var(--ease-out);}
.hamburger span::before{top:-6px;} .hamburger span::after{top:6px;}
.hamburger[aria-expanded="true"] span{background:transparent;}
.hamburger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.hamburger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}
@media(max-width:999px){.floatnav{left:10px;right:10px;transform:none;width:auto;height:64px;padding:9px 9px 9px 16px;justify-content:space-between;}.navlinks{display:none;}.hamburger{display:flex;}}
@media(max-width:480px){.floatnav .btn{display:none;}}
.mobile-menu{position:fixed;inset:0;background:#161514;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;z-index:1500;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out);}
.mobile-menu.open{opacity:1;pointer-events:auto;}
.mobile-menu__links{display:flex;flex-direction:column;}
.mobile-menu a{color:var(--text-on-dark);font:400 32px/1.6 var(--font-ui);padding:6px 0;opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);}
.mobile-menu.open a{opacity:1;transform:translateY(0);}
.mobile-menu__links a:nth-child(1){transition-delay:.08s;}
.mobile-menu__links a:nth-child(2){transition-delay:.15s;}
.mobile-menu__links a:nth-child(3){transition-delay:.22s;}
.mobile-menu__links a:nth-child(4){transition-delay:.29s;}
.mobile-menu__cta{margin-top:22px;font-size:16px!important;font-weight:500!important;line-height:1!important;padding:14px 34px;transition-delay:.36s;}
.mobile-close{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:var(--text-on-dark);font-size:22px;cursor:pointer;transition:background-color .3s var(--ease-out),transform .4s var(--ease-spring);}
.mobile-close:hover{background:rgba(255,255,255,.16);transform:rotate(90deg);}
@media(max-width:999px) and (min-width:701px){
  .mobile-menu{left:auto;width:420px;max-width:82vw;align-items:flex-start;justify-content:flex-start;padding:120px 46px 46px;opacity:1;transform:translateX(100%);transition:transform .5s var(--ease-out);box-shadow:-24px 0 70px rgba(0,0,0,.3);}
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{font-size:25px;text-align:left;}
}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu a,.hamburger span,.hamburger span::before,.hamburger span::after{transition:none!important;}}

/* ---------- hero ---------- */
.hero .container{max-width:900px;text-align:center;}
.hero .eyebrow{text-align:center;}
.hero .body-copy{margin:22px auto 0;max-width:52ch;font-size:18px;text-align:center;}
.hero-ctas{display:flex;justify-content:center;gap:14px;margin-top:30px;}
@media(max-width:690px){.hero-ctas .btn--light{display:none;}}
.founders-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;flex-wrap:wrap;}
.founder-avatars{display:flex;}
.fav{position:relative;display:inline-flex;align-items:center;height:36px;padding:2px;border-radius:var(--r-pill);background:var(--ink);color:var(--text-invert);border:2px solid var(--bg);margin-left:-12px;cursor:pointer;
  transition:background-color .4s var(--ease-out),transform .35s var(--ease-spring);}
.fav:first-child{margin-left:0;}
.fav__mark{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--text-invert);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:12px;transition:background-color .4s var(--ease-out),color .4s var(--ease-out);}
.fav__name{display:block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:0;
  transition:max-width .45s var(--ease-out),opacity .3s var(--ease-out),padding .45s var(--ease-out);}
.fav.is-open,.fav:hover,.fav:focus-visible{z-index:4;transform:translateY(-2px);}
.fav.is-open .fav__name,.fav:hover .fav__name,.fav:focus-visible .fav__name{max-width:220px;opacity:1;padding:0 14px 0 9px;}
@media(prefers-reduced-motion:reduce){.fav,.fav__name{transition:none;}}
.hero-cards{max-width:var(--container);margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-inline:var(--gutter);}
@media(max-width:1000px){.hero-cards{gap:24px;}}
@media(max-width:900px) and (min-width:691px){.hero-cards{grid-template-columns:1fr 1fr;}.hero-cards .hcard--media{grid-column:span 2;}}
@media(max-width:690px){.hero-cards{grid-template-columns:1fr;gap:16px;padding-inline:20px;}}
.hcard{border-radius:var(--r-card);min-height:280px;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;}
@media(max-width:690px){.hcard{padding:24px;min-height:200px;}}
.hcard--dark{background:var(--ink);color:var(--text-invert);}
.hcard--dark .stmt{font-family:var(--font-display);font-size:21px;line-height:1.3;margin-bottom:20px;}
.hcard--dark .tags{display:flex;flex-direction:column;gap:8px;}
.hcard--dark .tags span{font-size:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:var(--text-invert);padding:7px 14px;border-radius:var(--r-pill);width:fit-content;}
.hcard--accent{background:var(--accent);color:var(--accent-ink);}
.hcard--accent .label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;opacity:.7;}
.hcard--accent .ladder-mini{display:flex;flex-direction:column;gap:9px;}
.hcard--accent .rung{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;}
.hcard--accent .rung .n{width:22px;height:22px;border-radius:50%;background:var(--accent-ink);color:var(--accent);font-size:11px;display:flex;align-items:center;justify-content:center;flex:none;}
.hcard--media{background:var(--surface);border:1px solid var(--muted);justify-content:flex-start;padding:0;}
.hcard--media .chrome{display:flex;gap:6px;padding:14px 18px;border-bottom:1px solid var(--muted);}
.hcard--media .chrome span{width:8px;height:8px;border-radius:50%;background:var(--muted);}
.hcard--media .body{padding:24px;display:grid;gap:11px;}
.wire{height:10px;border-radius:5px;background:var(--muted);}
.wire.w-40{width:40%;} .wire.w-60{width:60%;} .wire.w-80{width:80%;} .wire.w-100{width:100%;}
.wire-block{height:60px;border-radius:9px;background:var(--muted);margin-top:4px;}

/* ---------- ticker (tools strip + commitments) ---------- */
.ticker-viewport{overflow:hidden;}
.ticker-viewport.masked{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ticker-track{display:flex;gap:56px;width:max-content;cursor:grab;touch-action:pan-y;padding-inline:var(--gutter);align-items:center;}
.ticker-track:active{cursor:grabbing;}
.commit-track{gap:20px;align-items:stretch;}
.commit-card{width:340px;flex:none;background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:28px;min-height:200px;display:flex;flex-direction:column;justify-content:center;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.commit-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.12);}
.commit-card h3,.commit-card h4{font-size:16px;font-weight:600;margin-bottom:8px;}
.commit-card p{font-size:14px;color:var(--text-muted);}
.commit-accent{background:var(--accent);color:var(--accent-ink);}
.commit-accent h3,.commit-accent h4{color:var(--accent-ink);}
.commit-accent p{color:var(--accent-ink);font-family:var(--font-display);font-size:19px;line-height:1.4;}
.commit-accent .attrib{font-size:12px;opacity:.7;margin-top:14px;display:block;font-family:var(--font-ui);}

/* ---------- rating row ---------- */
.rating-row{padding-block:0!important;margin-top:8px;text-align:center;}

/* ---------- pinned stack ---------- */
.stack-section{padding-block:clamp(40px,5vw,90px);}
.stack-track{position:relative;height:calc(6 * 88vh);}
.stack-panel{position:sticky;height:66vh;min-height:430px;border-radius:var(--r-card);overflow:hidden;padding:38px 40px;}
.stack-panel .panel-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;height:100%;max-width:1240px;margin-inline:auto;}
.panel-1{background:var(--surface);top:calc(18vh - 30px);z-index:1;}
.panel-2{background:var(--surface-2);top:calc(18vh - 6px);z-index:2;}
.panel-3{background:var(--surface);top:calc(18vh + 18px);z-index:3;}
.panel-4{background:var(--accent);color:var(--accent-ink);top:calc(18vh + 42px);z-index:4;}
.panel-5{background:var(--surface);top:calc(18vh + 66px);z-index:5;}
.panel-6{background:var(--ink);color:var(--text-invert);top:calc(18vh + 90px);z-index:6;}
.panel-6 .panel-copy h3,.panel-6 .eyebrow{color:var(--text-invert);}
.panel-6 .panel-copy p,.panel-6 .meta{color:var(--text-invert-muted);}
.panel-4 .body-copy{color:var(--accent-ink);}
.panel-media{position:relative;height:100%;border-radius:var(--r-media);overflow:hidden;display:flex;align-items:flex-end;padding:24px;min-height:220px;}
.panel-media.m1{background:linear-gradient(0deg,rgba(22,21,20,.06),rgba(22,21,20,.06)),url('/images/stock/workspace.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.06),rgba(22,21,20,.06)),image-set(url('/images/stock/workspace.webp') type('image/webp'),url('/images/stock/workspace.jpg') type('image/jpeg'));}
.panel-media.m2{background:linear-gradient(0deg,rgba(22,21,20,.15),rgba(22,21,20,.15)),url('/images/stock/meeting.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.15),rgba(22,21,20,.15)),image-set(url('/images/stock/meeting.webp') type('image/webp'),url('/images/stock/meeting.jpg') type('image/jpeg'));}
.panel-media.m3{background:linear-gradient(0deg,rgba(22,21,20,.06),rgba(22,21,20,.06)),url('/images/stock/screens.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.06),rgba(22,21,20,.06)),image-set(url('/images/stock/screens.webp') type('image/webp'),url('/images/stock/screens.jpg') type('image/jpeg'));}
.panel-media.m4{background:linear-gradient(0deg,rgba(22,21,20,.18),rgba(22,21,20,.18)),url('/images/stock/desk.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.18),rgba(22,21,20,.18)),image-set(url('/images/stock/desk.webp') type('image/webp'),url('/images/stock/desk.jpg') type('image/jpeg'));}
.panel-media.m5{background:linear-gradient(0deg,rgba(22,21,20,.10),rgba(22,21,20,.10)),url('/images/stock/studio.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.10),rgba(22,21,20,.10)),image-set(url('/images/stock/studio.webp') type('image/webp'),url('/images/stock/studio.jpg') type('image/jpeg'));}
.panel-media.m6{background:linear-gradient(0deg,rgba(22,21,20,.20),rgba(22,21,20,.20)),url('/images/stock/analytics.jpg') center/cover;background-image:linear-gradient(0deg,rgba(22,21,20,.20),rgba(22,21,20,.20)),image-set(url('/images/stock/analytics.webp') type('image/webp'),url('/images/stock/analytics.jpg') type('image/jpeg'));}
.float-ui{background:rgba(255,253,248,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r-card);padding:24px;width:100%;}
.float-ui .fu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.float-ui .fu-chip{font-size:11px;background:#161514;color:#F9F4E9;padding:3px 10px;border-radius:var(--r-pill);}
.float-ui .fu-title{font-size:15px;font-weight:700;color:#161514;margin-bottom:3px;}
.float-ui .fu-meta{font-size:13px;color:#161514;opacity:.6;}
.float-ui .fu-bars{display:flex;gap:5px;margin-top:14px;}
.float-ui .fu-bars span{height:5px;flex:1;border-radius:3px;background:#F6F4F0;}
.float-ui .fu-bars span.on{background:#161514;opacity:.7;}
@media(max-width:1000px) and (min-width:691px){.panel-1{top:calc(25vh - 80px);}.panel-2{top:calc(25vh - 52px);}.panel-3{top:calc(25vh - 24px);}.panel-4{top:calc(25vh + 4px);}.panel-5{top:calc(25vh + 32px);}.panel-6{top:calc(25vh + 60px);}}
@media(max-width:690px){.stack-track{height:auto;display:flex;flex-direction:column;gap:16px;}.stack-panel{position:static;height:auto;top:auto;z-index:auto;padding:24px;}.stack-panel .panel-inner{grid-template-columns:1fr;gap:20px;}.panel-media{order:-1;min-height:180px;}}
html.no-motion .stack-track{height:auto;display:flex;flex-direction:column;gap:16px;}
html.no-motion .stack-panel{position:static;height:auto;top:auto;z-index:auto;}
html.no-motion .stack-panel .panel-inner{grid-template-columns:1fr 1fr;}

/* ---------- results intro ---------- */
.results-intro .container{max-width:760px;text-align:center;}

/* ---------- bento ---------- */
.bento-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto;gap:20px;}
.bento-card{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:32px;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.bento-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(0,0,0,.12);}
.bento-large{grid-row:span 2;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;}
.bento-large .eyebrow{color:var(--text-invert);opacity:.55;margin-bottom:10px;}
.bento-large h3{color:var(--text-invert);font-family:var(--font-display);font-size:22px;margin-bottom:22px;}
.mini-process{display:flex;gap:12px;flex-wrap:wrap;}
.mp-step{color:var(--text-invert);font-size:12px;opacity:.8;display:flex;align-items:center;gap:6px;}
.mp-step span{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:10px;flex:none;}
.bento-card h3,.bento-card h4{font-size:15px;font-weight:600;margin-bottom:8px;}
.bento-stat .stat-num{font-family:var(--font-display);font-size:50px;line-height:1;color:var(--ink);margin-bottom:10px;}
.bento-accent{background:var(--accent);color:var(--accent-ink);display:flex;flex-direction:column;justify-content:space-between;}
.bento-accent .float-ui{margin-bottom:16px;}
@media(max-width:900px){.bento-grid{grid-template-columns:1fr 1fr;}.bento-large{grid-column:span 2;grid-row:auto;}.bento-accent{grid-column:span 2;}}
@media(max-width:560px){.bento-grid{grid-template-columns:1fr;}.bento-large,.bento-accent{grid-column:auto;}}

/* ---------- redesign (inversion circle) ---------- */
.redesign-invert{padding-block:0;}
.ri-track{position:relative;}
.ri-sticky{position:relative;display:flex;align-items:center;justify-content:center;padding-block:clamp(60px,9vw,120px);overflow:hidden;}
.ri-layer{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.ri-layer h2{font-family:var(--font-display);font-size:clamp(38px,7vw,86px);line-height:1.05;letter-spacing:-.02em;max-width:15ch;margin-bottom:34px;}
.ri-dark h2{color:var(--ink);} .ri-dark p{color:var(--text-muted);}
.ri-light h2{color:var(--text-invert);} .ri-light p{color:var(--text-invert-muted);}
.ri-light .eyebrow{color:var(--text-invert);opacity:.8;}
.ri-layer .ri-list{font-size:clamp(14px,1.5vw,17px);line-height:1.7;max-width:44ch;margin-bottom:26px;}
.ri-dark .ri-list{color:var(--text-muted);} .ri-light .ri-list{color:var(--text-invert-muted);}
.btn--invert{background:var(--text-invert);color:var(--ink);}
.ri-ball,.ri-light{display:none;}
/* JS-enabled scroll state */
.ri-track.ri-on{height:420vh;}
.ri-on .ri-sticky{position:sticky;top:0;height:100vh;padding-block:0;}
.ri-on .ri-layer{position:absolute;inset:0;pointer-events:none;}
.ri-on .ri-layer .btn{pointer-events:auto;}
.ri-on .ri-dark{z-index:1;}
.ri-on .ri-light{display:flex;z-index:3;pointer-events:none;will-change:clip-path;}
.ri-on .ri-ball{display:block;position:absolute;top:50%;left:50%;border-radius:50%;background:var(--ink);z-index:2;will-change:transform,width,height;}

/* ---------- pricing ---------- */
.pricing{background:var(--surface-2);border-radius:var(--r-block);padding:clamp(34px,4.5vw,58px) clamp(18px,3vw,40px);}
.pricing-head{text-align:center;max-width:600px;margin:0 auto;}
.pricing-head .body-copy{margin:12px auto 0;text-align:center;}
.pricing-head .pill-chip{margin-top:22px;background:var(--surface);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;align-items:stretch;max-width:1060px;margin-inline:auto;}
.price-card{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:30px 24px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s var(--ease-out);}
.price-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--muted);transition:background-color .4s var(--ease-out);}
.price-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.14);border-color:var(--ink);}
.price-card:hover::before{background:var(--accent);}
.price-card.featured{background:var(--ink);border-color:var(--ink);color:var(--text-invert);margin-top:-16px;padding-top:46px;padding-bottom:46px;box-shadow:0 24px 48px rgba(0,0,0,.22);}
.price-card.featured::before{background:var(--accent);}
.price-card.featured:hover{transform:translateY(-10px);box-shadow:0 28px 56px rgba(226,154,10,.28);border-color:var(--ink);}
.price-card.featured .price-amt,.price-card.featured .price-sym,.price-card.featured h3{color:var(--text-invert);}
.price-card.featured .tagline,.price-card.featured .price-unit{color:var(--text-invert);opacity:.6;}
.price-card.featured .price-feats li{border-color:rgba(255,255,255,.14);color:var(--text-invert);opacity:.85;}
.price-card.featured .check-dot{background:rgba(240,180,41,.18);color:var(--accent);}
.price-card .badge{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--accent-ink);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-pill);white-space:nowrap;}
.price-card h3{font-family:var(--font-display);font-size:21px;margin-bottom:4px;}
.price-card .tagline{font-size:13px;color:var(--text-muted);margin-bottom:8px;min-height:32px;}
.price-card .best-for{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:18px;}
.price-card.featured .best-for{color:var(--text-invert-muted);}
.price-amt-row{display:flex;align-items:baseline;gap:5px;}
.price-sym{font-size:19px;font-weight:600;}
.price-amt{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-display);}
.price-unit{font-size:12px;color:var(--text-muted);margin-bottom:22px;}
.price-card.featured .price-unit{color:var(--text-invert-muted);}
.price-feats{list-style:none;margin:0 0 22px;padding:0;flex:1;}
.price-feats li{font-size:13.5px;opacity:.85;padding:9px 0;border-top:1px solid var(--muted);display:flex;gap:10px;align-items:center;}
.price-feats li:first-child{border-top:none;}
.check-dot{flex:none;width:20px;height:20px;border-radius:50%;background:var(--surface-2);color:var(--ink);display:flex;align-items:center;justify-content:center;}
.check-dot svg{margin:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:900px){.price-grid{grid-template-columns:1fr;max-width:440px;gap:20px;}.price-card.featured{margin-top:0;order:-1;padding-top:32px;padding-bottom:32px;}}
.care-row{margin-top:46px;max-width:1060px;margin-inline:auto;}
.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;}
.care-card{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.care-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.10);}
.care-card h3,.care-card h4{font-size:14px;font-weight:600;margin-bottom:2px;}
.care-card p{font-size:12px;color:var(--text-muted);}
.care-price{font-weight:600;font-size:17px;white-space:nowrap;}
@media(max-width:1000px) and (min-width:761px){.care-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:760px){.care-grid{grid-template-columns:1fr;}}
.quote-banner{margin-top:40px;max-width:1060px;margin-inline:auto;background:var(--ink);border-radius:var(--r-card);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.quote-banner h3{color:var(--text-invert);font-family:var(--font-display);font-size:18px;}
.quote-banner p{color:var(--text-invert);opacity:.65;font-size:14px;}

/* ---------- FAQ (two-column) ---------- */
.faq-grid{max-width:1160px;margin-inline:auto;}
.faq-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:52px;}
.faq-head__copy{max-width:60ch;}
.faq-head h2{font-family:var(--font-display);font-size:clamp(34px,5.2vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 0 20px;}
.faq-head .body-copy{max-width:52ch;}
.faq-head .btn{flex:none;}
@media(max-width:820px){.faq-head{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:34px;}}
.faq-item{position:relative;background:var(--surface);border:1px solid var(--muted);border-radius:26px;padding:0 14px;margin-bottom:18px;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),background-color .4s var(--ease-out),border-color .4s var(--ease-out);}
.faq-item:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.10);}
.faq-item::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out);background:radial-gradient(220px circle at var(--faq-x,50%) var(--faq-y,50%),var(--accent-soft),transparent 70%);}
.faq-item:hover::before,.faq-item[open]::before{opacity:1;}
.faq-item summary{position:relative;list-style:none;cursor:pointer;padding:30px 24px;display:flex;align-items:center;gap:22px;font-weight:600;font-size:clamp(16px,1.5vw,19px);min-height:56px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{position:relative;flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--muted);background:var(--surface-2);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease-out),background-color .4s var(--ease-out),border-color .4s var(--ease-out);}
.faq-item[open] .faq-icon{background:var(--ink);border-color:var(--ink);}
.faq-item[open] .faq-icon svg{color:var(--text-invert);}
.plusminus{width:17px;height:17px;position:relative;flex:none;color:var(--ink);transition:transform .4s var(--ease-spring),color .4s var(--ease-out);}
.plusminus::before,.plusminus::after{content:'';position:absolute;background:currentColor;border-radius:2px;}
.plusminus::before{top:50%;left:0;width:100%;height:1.6px;transform:translateY(-50%);}
.plusminus::after{left:50%;top:0;height:100%;width:1.6px;transform:translateX(-50%);}
.faq-item[open] .plusminus{transform:rotate(45deg);}
.faq-item summary .q-text{flex:1;}
.faq-meta{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--muted);border-radius:var(--r-pill);padding:7px 16px;white-space:nowrap;}
.faq-item .a{padding:0 24px 32px 98px;font-size:15.5px;line-height:1.65;color:var(--text-muted);max-width:74ch;}
@media(max-width:600px){.faq-item summary{padding:22px 14px;gap:14px;}.faq-icon{width:42px;height:42px;}.faq-item .a{padding:0 14px 24px 70px;font-size:14.5px;}.faq-meta{display:none;}}

/* ---------- final CTA (let's work together) ---------- */
.final-cta{padding-block:clamp(80px,12vw,160px);}
.lw{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;}
.lw-status{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);}
.lw-dot{position:relative;display:flex;width:9px;height:9px;flex:none;}
.lw-dot i{position:absolute;inset:0;border-radius:50%;background:var(--accent);}
.lw-dot i:first-child{animation:lwPing 1.9s cubic-bezier(0,0,.2,1) infinite;}
@keyframes lwPing{75%,100%{transform:scale(2.4);opacity:0;}}
@media(prefers-reduced-motion:reduce){.lw-dot i:first-child{animation:none;}}
.lw-link{display:flex;flex-direction:column;align-items:center;gap:22px;position:relative;}
.lw-title{font-family:var(--font-display);font-size:clamp(46px,9vw,112px);line-height:.98;letter-spacing:-.03em;margin:0;}
.lw-title .l2{display:block;color:var(--text-muted);transition:color .5s var(--ease-out);}
.lw-link:hover .lw-title .l2{color:var(--ink);}
.lw-arrow{position:relative;width:74px;height:74px;display:flex;align-items:center;justify-content:center;}
.lw-arrow::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid var(--muted);background:transparent;transition:transform .5s var(--ease-out),background-color .5s var(--ease-out),border-color .5s var(--ease-out);}
.lw-link:hover .lw-arrow::before{transform:scale(1.12);background:var(--ink);border-color:var(--ink);}
.lw-arrow svg{position:relative;color:var(--ink);transition:transform .5s var(--ease-out),color .5s var(--ease-out);}
.lw-link:hover .lw-arrow svg{color:var(--bg);transform:translate(3px,-3px);}
.lw-rule{position:absolute;top:38%;width:clamp(30px,7vw,80px);height:1px;background:var(--muted);transition:transform .5s var(--ease-out),opacity .5s var(--ease-out);opacity:.7;}
.lw-rule.l{right:calc(100% + 26px);} .lw-rule.r{left:calc(100% + 26px);}
.lw-link:hover .lw-rule{transform:scaleX(1.45);opacity:1;}
.lw-foot{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:6px;}
.lw-foot p{font-size:15px;color:var(--text-muted);max-width:46ch;}
.lw-mail{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);transition:color .3s var(--ease-out);}
.lw-mail:hover{color:var(--ink);}
@media(max-width:690px){.lw-rule{display:none;}.lw-arrow{width:60px;height:60px;}}

/* ---------- footer ---------- */
footer{padding-block:64px 30px;}
.foot-top{display:grid;grid-template-columns:1.3fr 0.9fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.foot-newsletter{position:relative;}
.foot-newsletter h2{font-family:var(--font-display);font-size:clamp(24px,2.6vw,30px);margin-bottom:10px;}
.foot-newsletter .body-copy{margin-bottom:20px;max-width:34ch;}
.foot-newsletter__glow{position:absolute;top:-20px;right:-10px;width:110px;height:110px;border-radius:50%;background:var(--accent-soft);filter:blur(28px);pointer-events:none;}
.newsletter-form{position:relative;max-width:360px;}
.newsletter-input{width:100%;height:48px;padding:0 54px 0 18px;border-radius:var(--r-pill);border:1px solid var(--muted);background:var(--surface);color:var(--text);font:15px/1 var(--font-ui);transition:border-color .3s var(--ease-out),background-color .4s var(--ease-out),color .4s var(--ease-out);}
.newsletter-input::placeholder{color:var(--text-muted);}
.newsletter-input:focus-visible{outline:none;border-color:var(--ink);}
.newsletter-submit{position:absolute;top:4px;right:4px;width:40px;height:40px;border:0;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s var(--ease-spring),background-color .3s var(--ease-out);}
.newsletter-submit:hover{background:var(--accent-2);transform:scale(1.08);}
.newsletter-note{font-size:13px;color:var(--text-muted);margin-top:12px;min-height:18px;}
.foot-brand{font-family:var(--font-display);font-size:20px;color:var(--ink);margin-bottom:10px;line-height:1.4;}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;}
.foot-col h5{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;}
.foot-link{display:inline-block;font-size:14px;color:var(--text);padding:5px 0;background-image:linear-gradient(var(--ink),var(--ink));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .55s ease,color .4s var(--ease-out);}
.foot-link:hover{background-size:100% 1px;}
.foot-address{font-style:normal;font-size:14px;color:var(--text-muted);line-height:1.9;}
.foot-follow .social-row{margin-bottom:22px;}
.theme-toggle-row{display:flex;align-items:center;gap:10px;color:var(--text-muted);}
.switch-toggle{position:relative;display:inline-flex;width:42px;height:24px;flex:none;}
.switch-toggle input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1;}
.switch-track{position:absolute;inset:0;background:var(--muted);border-radius:999px;transition:background-color .3s var(--ease-out);}
.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .35s var(--ease-spring);}
.switch-toggle input:checked ~ .switch-track{background:var(--ink);}
.switch-toggle input:checked ~ .switch-track .switch-thumb{transform:translateX(18px);}
.switch-toggle input:focus-visible ~ .switch-track{outline:3px solid var(--ink);outline-offset:3px;}
.foot-bottom{border-top:1px solid var(--muted);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.foot-bottom .legal{font-size:12px;color:var(--text-muted);}
.foot-bottom nav{display:flex;gap:20px;}
.foot-bottom nav a{font-size:13px;color:var(--text-muted);transition:color .3s var(--ease-out);}
.foot-bottom nav a:hover{color:var(--ink);}
.social-row{display:flex;gap:8px;}
.social-row a{position:relative;width:44px;height:44px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text);transition:background-color .3s var(--ease-out),transform .3s var(--ease-out),color .3s var(--ease-out);}
.social-row a:hover{background:var(--accent);color:var(--accent-ink);transform:translateY(-3px);}
.social-row a::after{content:attr(data-tip);position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(4px);background:var(--ink);color:var(--text-invert);font-size:11px;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);}
.social-row a:hover::after,.social-row a:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:1000px){.foot-top{grid-template-columns:1fr 1fr;}.foot-newsletter{grid-column:span 2;}}
@media(max-width:600px){.foot-top{grid-template-columns:1fr;}.foot-newsletter{grid-column:auto;}.foot-bottom{flex-direction:column;align-items:flex-start;}}

/* ---------- service pillar / feature grids ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;}
.svc-card{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:26px 24px;display:flex;flex-direction:column;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out);}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.10);border-color:var(--ink);}
.svc-card h3,.svc-card h4{font-family:var(--font-display);font-size:18px;margin-bottom:8px;}
.svc-card p{font-size:14px;color:var(--text-muted);margin-bottom:16px;}
.svc-card ul{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:7px;}
.svc-card li{font-size:13px;color:var(--text-muted);display:flex;gap:8px;align-items:flex-start;}
.svc-card li::before{content:'';flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:8px;}
@media(max-width:1000px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr;}}

/* four-up package grid */
.price-grid--4{grid-template-columns:repeat(4,1fr);max-width:1160px;}
@media(max-width:1100px) and (min-width:901px){.price-grid--4{grid-template-columns:1fr 1fr;}}

/* ---------- individual services chips ---------- */
.chip-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;}
.chip{font-size:14px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-pill);padding:10px 18px;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out),border-color .3s var(--ease-out);}
.chip:hover{background:var(--ink);color:var(--text-invert);border-color:var(--ink);transform:translateY(-3px);}

/* ---------- process ---------- */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;counter-reset:step;}
.process-step{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:26px 24px;position:relative;overflow:hidden;transition:transform .35s var(--ease-out),border-color .35s var(--ease-out);}
.process-step:hover{transform:translateY(-5px);border-color:var(--ink);}
.process-step .step-n{font-family:var(--font-display);font-size:13px;color:var(--accent-2);letter-spacing:.1em;display:block;margin-bottom:12px;}
.process-step h3,.process-step h4{font-family:var(--font-display);font-size:19px;margin-bottom:7px;}
.process-step p{font-size:14px;color:var(--text-muted);}
@media(max-width:900px){.process-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr;}}

/* ---------- why us ---------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;}
.why-item{border-top:2px solid var(--ink);padding-top:20px;}
.why-item h3,.why-item h4{font-family:var(--font-display);font-size:20px;margin-bottom:6px;}
.why-item p{font-size:14px;color:var(--text-muted);}
.why-line{margin-top:40px;font-family:var(--font-display);font-size:clamp(22px,3vw,34px);line-height:1.25;text-align:center;}
@media(max-width:820px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr;}}

/* ---------- trust block ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.trust-item{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:20px 22px;font-size:15px;font-weight:500;transition:transform .3s var(--ease-out),border-color .3s var(--ease-out);}
.trust-item:hover{transform:translateY(-4px);border-color:var(--ink);}
.trust-item .tick{flex:none;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-2);display:flex;align-items:center;justify-content:center;}
@media(max-width:820px){.trust-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.trust-grid{grid-template-columns:1fr;}}

/* ---------- pricing matrix ---------- */
.matrix-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px;max-width:1060px;margin-inline:auto;}
.matrix-item{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:22px 20px;transition:transform .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .35s var(--ease-out);}
.matrix-item:hover{transform:translateY(-5px);border-color:var(--ink);box-shadow:0 16px 32px rgba(0,0,0,.10);}
.matrix-item h3,.matrix-item h4{font-size:14px;font-weight:600;margin-bottom:10px;}
.matrix-item .from{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);display:block;margin-bottom:3px;}
.matrix-item .amt{font-family:var(--font-display);font-size:26px;font-variant-numeric:tabular-nums;}
@media(max-width:980px){.matrix-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.matrix-grid{grid-template-columns:1fr;}}
.scope-note{text-align:center;margin-top:30px;font-size:14px;color:var(--text-muted);}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out);}
.post-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.12);border-color:var(--ink);}
.post-thumb{aspect-ratio:16/10;background:var(--surface-2);border-bottom:1px solid var(--muted);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:34px;color:var(--muted);}
.post-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.post-meta{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:12px;display:flex;gap:10px;align-items:center;}
.post-card h2,.post-card h3{font-family:var(--font-display);font-size:20px;line-height:1.25;margin-bottom:10px;}
.post-card p{font-size:14px;color:var(--text-muted);margin-bottom:18px;}
.post-more{margin-top:auto;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr;}}

/* ---------- page hero (inner pages) ---------- */
.page-hero{padding-top:clamp(130px,14vw,190px);padding-bottom:clamp(30px,4vw,54px);}
.page-hero h1{font-family:var(--font-display);font-size:clamp(38px,6vw,80px);line-height:1.02;letter-spacing:-.025em;margin:0 0 20px;max-width:18ch;}
.page-hero .body-copy{max-width:56ch;}


/* ---------- tools slide ---------- */
.tool-word{font-family:var(--font-display);font-size:clamp(18px,2.2vw,26px);color:var(--text);opacity:.42;white-space:nowrap;transition:opacity .3s var(--ease-out);}
.ticker-track:hover .tool-word{opacity:.62;}

/* ---------- hero brand-system mock ---------- */
.hcard--system{background:var(--surface);border:1px solid var(--muted);justify-content:flex-start;padding:0;}
.sysmock{padding:24px;display:flex;flex-direction:column;gap:16px;height:100%;}
.sysmock__row{display:flex;align-items:center;gap:10px;}
.sysmock__logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(140deg,var(--accent),var(--accent-2));flex:none;}
.sysmock__name{font-family:var(--font-display);font-size:17px;}
.sysmock__sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);}
.sysmock__swatches{display:flex;gap:7px;}
.sysmock__sw{width:100%;height:30px;border-radius:8px;}
.sysmock__type{border-top:1px solid var(--muted);padding-top:13px;display:flex;flex-direction:column;gap:5px;}
.sysmock__type b{font-family:var(--font-display);font-size:20px;font-weight:400;}
.sysmock__type span{font-size:12px;color:var(--text-muted);}
.sysmock__foot{margin-top:auto;display:flex;gap:7px;flex-wrap:wrap;}
.sysmock__tag{font-size:11px;border:1px solid var(--muted);border-radius:var(--r-pill);padding:5px 11px;color:var(--text-muted);}

/* ---------- trust bento ---------- */
.trust-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,auto);gap:16px;margin-top:38px;}
.tb{background:var(--surface);border:1px solid var(--muted);border-radius:var(--r-card);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out);}
.tb:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,0,0,.11);border-color:var(--ink);}
.tb h3,.tb h4{font-size:16px;font-weight:600;margin-bottom:6px;}
.tb p{font-size:13.5px;color:var(--text-muted);}
.tb--wide{grid-column:span 2;}
.tb--dark{background:var(--ink);color:var(--text-invert);border-color:var(--ink);}
.tb--dark h3,.tb--dark h4{color:var(--text-invert);}
.tb--dark p{color:var(--text-invert-muted);}
.tb--accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);}
.tb--accent h3,.tb--accent h4{color:var(--accent-ink);}
.tb--accent p{color:rgba(0,0,0,.66);}
.tb--dark .tb-num{color:var(--text-invert);}
.tb-num{font-family:var(--font-display);font-size:clamp(34px,4vw,54px);line-height:1;margin-bottom:10px;}
.tb-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.tb-steps span{font-size:12px;font-weight:600;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:var(--r-pill);}
@media(max-width:900px){.trust-bento{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.trust-bento{grid-template-columns:1fr;}.tb--wide{grid-column:auto;}}

/* ---------- why us (rebuilt) ---------- */
.why-stack{margin-top:40px;border-top:1px solid var(--muted);}
.why-row{display:grid;grid-template-columns:70px 1.1fr 1.4fr;gap:26px;align-items:center;padding:28px 10px;border-bottom:1px solid var(--muted);position:relative;transition:padding-left .4s var(--ease-out),background-color .4s var(--ease-out);}
.why-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease-out);}
.why-row:hover{padding-left:24px;background:var(--surface-2);}
.why-row:hover::before{transform:scaleY(1);}
.why-row .idx{font-family:var(--font-display);font-size:14px;color:var(--text-muted);letter-spacing:.08em;}
.why-row h3,.why-row h4{font-family:var(--font-display);font-size:clamp(22px,2.6vw,30px);line-height:1.15;}
.why-row p{font-size:15px;color:var(--text-muted);}
@media(max-width:760px){.why-row{grid-template-columns:46px 1fr;gap:14px;row-gap:6px;padding:22px 8px;}.why-row p{grid-column:2;}}


/* ---------- homepage testimonials ---------- */
.tm-sec{overflow:hidden;}
.tm-wrap{position:relative;max-width:1120px;margin-inline:auto;}
.tm-number{position:absolute;left:-20px;top:44%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(150px,24vw,320px);line-height:.8;color:var(--ink);opacity:.045;pointer-events:none;user-select:none;z-index:0;}
.tm-body{position:relative;z-index:1;display:flex;}
.tm-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:44px;border-right:1px solid var(--muted);}
.tm-vertical{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);}
.tm-progress{position:relative;height:120px;width:1px;background:var(--muted);margin-top:26px;}
.tm-progress span{position:absolute;top:0;left:0;width:100%;background:var(--ink);transition:height .5s var(--ease-out);}
.tm-content{flex:1;min-width:0;padding-left:48px;padding-block:30px;}
.tm-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);border:1px solid var(--muted);border-radius:var(--r-pill);padding:6px 14px;margin-bottom:24px;}
.tm-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.tm-quote{font-family:var(--font-display);font-size:clamp(22px,3vw,38px);font-weight:400;line-height:1.24;letter-spacing:-.02em;color:var(--ink);margin:0 0 34px;min-height:2.2em;}
.tm-quote .w{display:inline-block;margin-right:.26em;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);}
.tm-quote.in .w{opacity:1;transform:none;}
.tm-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;}
.tm-author{display:flex;align-items:center;gap:14px;}
.tm-line{width:32px;height:1px;background:var(--ink);flex:none;}
.tm-name{font-size:15px;font-weight:600;}
.tm-role{font-size:13px;color:var(--text-muted);}
.tm-nav{display:flex;gap:12px;}
.tm-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--muted);background:transparent;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out);}
.tm-nav button:hover{background:var(--ink);color:var(--text-invert);transform:translateY(-2px);}
.tm-demo{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);border:1px dashed var(--muted);border-radius:var(--r-pill);padding:7px 15px;margin-top:30px;}
@media(max-width:820px){.tm-rail{display:none;}.tm-content{padding-left:0;}.tm-number{left:-10px;top:36%;}}







































/* ==========================================================
   RESPONSIVE + POLISH LAYER
   Appended last on purpose — every rule here intentionally
   overrides the base sheet above.
   ========================================================== */

