
html{overflow-x:clip}
:root{
  --ink:#0A0C11;--ink-2:#22252F;--muted:#595F6E;--faint:#9499A6;
  --bg:#FFFFFF;--bg-2:#F6F7F9;--bg-3:#ECEEF2;--line:#E7E9EE;--line-2:#D8DBE3;
  --blue:#1454E4;--purple:#7A5CF4;--magenta:#C154D3;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'JetBrains Mono',monospace;
  --rad:20px;--shadow:0 1px 2px rgba(10,12,17,.04),0 12px 40px rgba(10,12,17,.07);
  --shadow-lg:0 40px 90px rgba(10,12,17,.16);--wrap:1380px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
h1,h2,h3,h4{letter-spacing:-.03em;font-weight:700;line-height:1.04;color:var(--ink)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.muted{color:var(--muted)}
::selection{background:var(--ink);color:#fff}

/* grain overlay */
.grain{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* progress */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ink);z-index:400}

/* section rail */
.rail{position:fixed;top:50%;right:22px;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:11px}
.rail a{position:relative;width:9px;height:9px;border-radius:50%;background:var(--line-2);transition:.25s}
.rail a .lab{position:absolute;right:18px;top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#fff;border:1px solid var(--line);padding:4px 9px;border-radius:7px;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow)}
.rail a:hover .lab{opacity:1;transform:translateY(-50%) translateX(0)}
.rail a:hover{background:var(--muted)}
.rail a.on{background:var(--ink);transform:scale(1.35)}
@media(max-width:1340px){.rail{display:none}}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.scrolled{border-color:var(--line);box-shadow:0 1px 24px rgba(10,12,17,.05)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{font-size:20px;font-weight:800;letter-spacing:-.045em}
.brand .pre{color:var(--muted);font-weight:500}.brand .tm{font-size:10px;vertical-align:super}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-links>a,.navtrig{position:relative;font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--muted);padding:8px 13px;border-radius:9px;transition:color .15s;background:none;border:0;cursor:pointer}.nav-links>a{padding-right:28px}
.nav-links>a:hover,.navitem:hover .navtrig,.navitem:focus-within .navtrig{color:var(--ink)}
.nav-links>a::after{content:'';position:absolute;left:13px;right:13px;bottom:4px;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links>a:hover::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:14px}
.signin{font-size:14.5px;font-weight:500;color:var(--muted)}.signin:hover{color:var(--ink)}
.burger{display:none;flex-direction:column;gap:4px;cursor:pointer}.burger span{width:22px;height:2px;background:var(--ink);border-radius:2px}
/* ===== mega menu ===== */
.navitem{position:relative;display:flex;align-items:center}
.navtrig{display:inline-flex;align-items:center;gap:5px}
.navtrig .cv{width:10px;height:10px;opacity:.65;transition:transform .25s}
.navitem:hover .navtrig .cv,.navitem:focus-within .navtrig .cv{transform:rotate(180deg)}
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(9px);padding-top:13px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .24s cubic-bezier(.22,.61,.36,1);z-index:120}
.navitem:hover .mega,.navitem:focus-within .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-in{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow-lg);padding:16px;overflow:hidden}
.mega-in::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--line-2),transparent)}
.mega.wide .mega-in{width:700px;display:grid;grid-template-columns:1.55fr 1fr;gap:12px}
.mega.sm .mega-in{width:330px;padding:12px}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mlink{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:13px;transition:background .15s,transform .15s}
.mlink:hover{background:var(--bg-2)}
.mlink .mi{--bp:rgba(20,20,45,.13);position:relative;overflow:hidden;width:38px;height:38px;flex-shrink:0;border-radius:11px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.mlink .mi::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--bp),var(--bp)) center/100% 1px no-repeat,linear-gradient(var(--bp),var(--bp)) center/1px 100% no-repeat}
.mlink .mi::after{content:"";position:absolute;inset:5px;border:1px dashed var(--bp);border-radius:6px;pointer-events:none}
.mlink .mi svg{position:relative;z-index:1}
.mlink:hover .mi{transform:scale(1.06)}
.mlink .mi svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.6}
.mlink b{display:block;font-size:14px;color:var(--ink);font-weight:600;margin-bottom:2px}
.mlink span{display:block;font-size:12.3px;color:var(--muted);line-height:1.4}
.mega.sm .mlink .mi{width:32px;height:32px;border-radius:9px}.mega.sm .mlink .mi svg{width:17px;height:17px}
.mega.sm .mlink{padding:10px 12px;align-items:center}
.mega-feat{position:relative;border-radius:15px;padding:18px;background:radial-gradient(120% 110% at 100% 0,#181B23,#0A0C11);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:172px}
.mega-feat .fobj{position:absolute;right:-22px;bottom:-22px;width:128px;opacity:.6;filter:saturate(1.15) brightness(1.05);pointer-events:none}
.mega-feat .fe{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);position:relative}
.mega-feat b{font-size:16.5px;font-weight:600;line-height:1.25;margin-top:8px;position:relative;letter-spacing:-.02em}
.mega-feat .fcta{font-size:13px;font-weight:600;color:#fff;display:inline-flex;gap:6px;align-items:center;margin-top:16px;position:relative}
.mega-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:11px 12px 3px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.mega-foot a{color:var(--ink);font-weight:600}
.mh{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:4px 12px 10px}
.mh-lead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:4px 12px 12px;font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--ink);position:relative;z-index:4;transition:color .15s}
.mh-lead span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:500}
.mh-lead:hover,.mh-lead:hover span{color:#1454E4}
.mega.platform{left:0;right:auto;transform:translateX(0) translateY(9px)}
.navitem:hover .mega.platform,.navitem:focus-within .mega.platform{transform:translateX(0) translateY(0)}
.mega.platform .mega-in{width:920px;max-width:calc(100vw - 360px);padding:18px}
.pf-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-radius:14px;background:transparent;border:1px solid var(--line-2);position:relative;z-index:4;margin-bottom:12px;transition:box-shadow .2s,transform .2s}
.pf-hero:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.pf-hero .pf-h b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.pf-hero .pf-h em{font-style:normal;font-size:12.5px;color:var(--muted)}
.pf-arr{width:22px;height:22px;color:var(--ink);flex:0 0 auto}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 12px;position:relative;z-index:4}
.pf-col{display:flex;flex-direction:column;min-width:0}
.pf-cat{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);padding:8px 12px 6px}
.pf-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-top:12px;padding:10px 4px 2px;border-top:1px solid var(--line);position:relative;z-index:4}
.pf-foot .pf-links{display:flex;flex-wrap:wrap}
.pf-foot a{font-size:12.5px;color:var(--muted);padding:7px 11px;border-radius:8px;font-weight:500;transition:background .15s,color .15s}
.pf-foot a:hover{background:#fff;color:var(--ink)}
.pf-foot .pf-cta{color:var(--ink);font-weight:600;white-space:nowrap}
.pf-foot .pf-cta:hover{background:#fff}
.mega.split .mega-in{width:720px;display:grid;grid-template-columns:226px 1fr;gap:10px}
.mcol-tint{background:transparent;border:1px solid var(--line);border-radius:14px;padding:10px 6px}
.mtext{display:block;padding:9px 14px;border-radius:10px;font-size:14px;color:var(--ink-2);font-weight:500;transition:background .15s,color .15s,box-shadow .15s}
.mtext:hover{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.mcards2{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.mega.sol .mega-in{width:790px;display:grid;grid-template-columns:1fr 1.3fr;gap:12px}
.mega.svc .mega-in{width:720px;display:grid;grid-template-columns:1.55fr 1fr;gap:12px}
.mgrid2{display:grid;grid-template-columns:1fr 1fr;gap:1px}
.mind{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:500;color:var(--ink-2);transition:background .15s,color .15s}
.mind:hover{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.mind svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--faint);stroke-width:1.6}
.mind:hover svg{stroke:var(--ink)}
/* unique hover: sliding pill + cursor spotlight */
.nav-links{position:relative}
.navpill{position:absolute;top:50%;left:0;height:34px;border-radius:10px;background:var(--bg-2);opacity:0;transform:translateY(-50%);transition:transform .32s cubic-bezier(.4,.8,.3,1),width .32s cubic-bezier(.4,.8,.3,1),opacity .2s;z-index:0;pointer-events:none}
.nav-links>a,.navtrig{position:relative;z-index:1}
.mega-in::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(210px 210px at var(--mx,50%) var(--my,-40px),rgba(10,12,17,.06),transparent 72%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:3}
.mega-in:hover::after{opacity:1}
.mlink,.mind,.mtext{position:relative;z-index:4}
/* prominent card hover */
.mlink:hover{background:#fff;box-shadow:0 8px 24px rgba(10,12,17,.13);transform:translateY(-1px)}
.mlink:hover .mi{background:var(--ink);border-color:transparent;--bp:rgba(255,255,255,.28)}
.mlink:hover .mi svg{stroke:#fff}
.mind:hover{background:#fff;box-shadow:0 8px 24px rgba(10,12,17,.13)}
.mtext:hover{box-shadow:0 8px 24px rgba(10,12,17,.13)}
/* dark feature panel in more menus */
.mega.duo .mega-in{width:560px;display:grid;grid-template-columns:1fr .8fr;gap:12px}
.mega.sol{left:0;right:auto;transform:translateX(-105px) translateY(9px)}
.navitem:hover .mega.sol,.navitem:focus-within .mega.sol{transform:translateX(-105px) translateY(0)}
.mega.sol .mega-in{width:880px;max-width:calc(100vw - 360px);grid-template-columns:1fr 1.1fr .82fr}
.mega-feat.mini{min-height:0;padding:15px;margin-top:10px}
.mega-feat.mini b{font-size:13.5px;margin-top:6px}.mega-feat.mini .fcta{margin-top:12px}
.mega.r{left:auto;right:0;transform:translateX(0) translateY(9px)}
.navitem:hover .mega.r,.navitem:focus-within .mega.r{transform:translateX(0) translateY(0)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:600;padding:11px 19px;border-radius:11px;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;cursor:pointer;border:1px solid transparent;white-space:nowrap;will-change:transform}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{box-shadow:0 12px 30px rgba(10,12,17,.26)}
.btn-line{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn-line:hover{border-color:var(--ink);background:var(--bg-2)}
.btn-arrow{font-size:14.5px;font-weight:600;color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.btn-arrow:hover{gap:11px}

/* announce */
.announce{background:var(--ink);color:#fff;text-align:center;font-size:13px;padding:9px 20px}
.announce a{text-decoration:underline;text-underline-offset:2px;opacity:.85}.announce b{font-weight:600}

/* hero */
.hero{position:relative;padding:84px 0 40px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(40% 50% at 14% 22%,rgba(20,84,228,.14),transparent 70%),radial-gradient(44% 54% at 86% 14%,rgba(193,84,211,.13),transparent 70%),radial-gradient(50% 60% at 62% 100%,rgba(122,92,244,.14),transparent 72%),#fff}
.hero-bg .drift{position:absolute;inset:-25%;background:radial-gradient(30% 40% at 28% 30%,rgba(20,84,228,.18),transparent 60%),radial-gradient(34% 44% at 74% 50%,rgba(193,84,211,.15),transparent 62%),radial-gradient(30% 40% at 55% 82%,rgba(122,92,244,.15),transparent 62%);filter:blur(42px);animation:meshdrift 22s ease-in-out infinite}
.hero-bg .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(20,20,45,.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(85% 75% at 50% 8%,#000,transparent 82%);mask-image:radial-gradient(85% 75% at 50% 8%,#000,transparent 82%)}
.hero-bg .herofx{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:radial-gradient(80% 78% at 50% 42%,#000 55%,transparent 88%);mask-image:radial-gradient(80% 78% at 50% 42%,#000 55%,transparent 88%)}
@keyframes meshdrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,-3%) scale(1.07)}}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(42px,5.8vw,76px);font-weight:800;letter-spacing:-.045em;max-width:13ch}
.hero .lead{font-size:clamp(17px,1.5vw,20.5px);color:var(--muted);max-width:46ch;margin-top:24px;line-height:1.5}
.hero .lead strong{color:var(--ink);font-weight:600}
.hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero-note{margin-top:18px;font-size:13px;color:var(--faint);display:flex;align-items:center;gap:9px}
.hero-note .live{width:7px;height:7px;border-radius:50%;background:#11c26d;box-shadow:0 0 0 4px rgba(17,194,109,.16);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
/* staggered intro */
.intro>*{opacity:0;transform:translateY(16px);animation:rise .8s cubic-bezier(.2,.8,.2,1) forwards}
.intro>*:nth-child(1){animation-delay:.05s}.intro>*:nth-child(2){animation-delay:.13s}.intro>*:nth-child(3){animation-delay:.21s}.intro>*:nth-child(4){animation-delay:.29s}.intro>*:nth-child(5){animation-delay:.37s}
@keyframes rise{to{opacity:1;transform:none}}

/* screenshot placeholder (the ONLY color) */
.tiltwrap{perspective:1100px;position:relative}
.tiltwrap:has(> .shot)::before{content:'';position:absolute;inset:-9% -6%;z-index:0;background:radial-gradient(42% 60% at 24% 30%,rgba(20,84,228,.55),transparent 60%),radial-gradient(46% 64% at 80% 72%,rgba(193,84,211,.5),transparent 62%),radial-gradient(52% 60% at 60% 14%,rgba(122,92,244,.42),transparent 60%);filter:blur(62px);opacity:.6;animation:glowdrift 15s ease-in-out infinite}
.tiltwrap > .shot{position:relative;z-index:1}
@keyframes glowdrift{0%,100%{transform:translate(-2%,-1%) scale(1.02)}50%{transform:translate(2%,2%) scale(1.1)}}
/* colorful aura halos behind data/diagram cards (for variety) */
.reason .r-media:has(.gcard.cglow)::before{content:'';position:absolute;inset:-8% -6%;pointer-events:none;z-index:-1;background:radial-gradient(42% 60% at 24% 30%,rgba(20,84,228,.5),transparent 60%),radial-gradient(46% 64% at 80% 72%,rgba(193,84,211,.45),transparent 62%),radial-gradient(52% 60% at 60% 14%,rgba(122,92,244,.4),transparent 60%);filter:blur(58px);opacity:.5;animation:glowdrift 16s ease-in-out infinite}
.reason .r-media:has(.gcard.cglow-warm)::before{background:radial-gradient(44% 60% at 26% 28%,rgba(255,142,78,.5),transparent 60%),radial-gradient(46% 64% at 82% 74%,rgba(214,84,180,.46),transparent 62%),radial-gradient(50% 60% at 60% 16%,rgba(124,92,244,.34),transparent 60%)}
.reason .r-media:has(.gcard.cglow-cool)::before{background:radial-gradient(44% 60% at 24% 30%,rgba(38,196,196,.46),transparent 60%),radial-gradient(46% 64% at 80% 72%,rgba(20,84,228,.5),transparent 62%),radial-gradient(50% 60% at 62% 14%,rgba(96,140,255,.4),transparent 60%)}
.shot{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);transition:transform .18s ease;will-change:transform}
.shot::after{content:'';position:absolute;inset:0;border-radius:18px;border:1px solid rgba(255,255,255,.28);pointer-events:none}
.shot.r1610{aspect-ratio:16/10}.shot.r43{aspect-ratio:4/3}.shot.r169{aspect-ratio:16/9}.shot.r11{aspect-ratio:1/1}.shot.r45{aspect-ratio:4/5}
.shot .canvas{position:absolute;inset:0;background:linear-gradient(135deg,#1454E4 0%,#7A5CF4 50%,#C154D3 100%)}
.shot .canvas::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 85% at 16% 10%,rgba(255,255,255,.4),transparent 52%);mix-blend-mode:screen}
.shot .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:34px 34px;mix-blend-mode:overlay}
.shot .glints{position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.26) 48%,transparent 64%);transform:translateX(-70%);animation:sweep 6s ease-in-out infinite}
@keyframes sweep{0%,55%{transform:translateX(-75%)}88%,100%{transform:translateX(75%)}}
.shot .chrome{position:absolute;top:0;left:0;right:0;height:38px;background:rgba(8,10,22,.32);backdrop-filter:blur(6px);display:flex;align-items:center;gap:7px;padding:0 14px;z-index:4}
.shot .chrome i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5)}
.shot .chrome .tt{margin-left:10px;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.82)}
.shot .ph{position:absolute;inset:38px 16px 16px;border:1.5px dashed rgba(255,255,255,.5);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-align:center;z-index:3}
.shot .ph .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.shot .ph .ic svg{width:23px;height:23px;stroke:#fff;fill:none;stroke-width:1.7}
.shot .ph b{font-size:15px;font-weight:600}.shot .ph span{font-size:12.5px;color:rgba(255,255,255,.82)}
/* live waveform inside a colored shot */
.wave{position:absolute;left:24px;right:24px;bottom:26px;height:48px;display:flex;align-items:center;gap:4px;z-index:3}
.wave i{flex:1;background:rgba(255,255,255,.92);border-radius:3px;height:26%;animation:wv 1.1s ease-in-out infinite}
@keyframes wv{0%,100%{height:16%}50%{height:94%}}
/* floating metric chips over shot */
.chip{position:absolute;z-index:5;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:13px;padding:11px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1px}
.chip .v{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.chip .l{font-size:10.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.04em}
.chip.a{top:18%;left:-26px;animation:floaty 6s ease-in-out infinite}
.chip.b{bottom:14%;right:-22px;animation:floaty 6s ease-in-out infinite 1.4s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* logo strip */
.logos{padding:40px 0 6px;border-top:1px solid var(--line);margin-top:54px}
.logos .lab{text-align:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:24px}
.lmask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ltrack{display:flex;align-items:center;gap:66px;width:max-content;animation:marq 38s linear infinite}
.lmask:hover .ltrack{animation-play-state:paused}
.ltrack img{height:27px;width:auto;filter:saturate(0) brightness(0);opacity:.38;transition:.2s}
.ltrack img:hover{opacity:.75}
@keyframes marq{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:92px 0;position:relative;border-top:1px solid var(--line)}
.sec-head{max-width:780px}
.sec-head h2{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.035em;margin-top:14px}
.sec-head p{color:var(--muted);font-size:18.5px;margin-top:16px;line-height:1.5}

/* reasons */
.reasons{padding:26px 0 0}
.reason{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:68px 0;border-top:1px solid var(--line)}
.reason:nth-child(even) .r-media{order:-1}
.r-num{font-family:var(--mono);font-size:13px;color:var(--faint);letter-spacing:.05em;display:flex;align-items:center;gap:10px}
.r-num::before{content:'';width:24px;height:1.5px;background:var(--line-2)}
.r-text h3{font-size:clamp(25px,3vw,37px);font-weight:800;letter-spacing:-.035em;margin:14px 0 18px;max-width:17ch}
.r-text p{color:var(--muted);font-size:16.5px;line-height:1.64;margin-bottom:14px;max-width:52ch}
.r-text p strong{color:var(--ink);font-weight:600}
.r-stats{display:flex;gap:40px;margin-top:26px;flex-wrap:wrap}
.r-stat .v{font-size:32px;font-weight:800;letter-spacing:-.035em}
.r-stat .l{font-size:12.5px;color:var(--muted);margin-top:3px}
.r-link{margin-top:24px}

/* graph cards */
.gcard{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--rad);padding:28px;position:relative;transition:transform .18s ease,box-shadow .25s;will-change:transform}
.gcard:hover{box-shadow:var(--shadow)}
.gcard .glab{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
.chartwrap{position:relative}
.chartwrap .grid{position:absolute;inset:0 0 26px 0;background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% 25%;opacity:.6}
.chart{position:relative;width:100%;height:210px;display:block;overflow:visible}
.chart .axis{stroke:var(--line-2);stroke-width:1}
.chart .area{opacity:0;transition:opacity 1.1s ease .3s}
.chart.in .area{opacity:1}
.chart .line{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2s cubic-bezier(.3,.9,.3,1)}
.chart.in .line{stroke-dashoffset:0}
.chart .dot{fill:#fff;stroke:var(--ink);stroke-width:2.5;opacity:0;transition:opacity .3s ease 1.7s}
.chart.in .dot{opacity:1;animation:ping 2.4s ease-in-out 2s infinite}
@keyframes ping{0%,100%{r:5}50%{r:7}}
.chart-cap{display:flex;justify-content:space-between;margin-top:14px;font-family:var(--mono);font-size:11px;color:var(--faint)}
.bars{display:flex;flex-direction:column;gap:17px}
.bar-row{display:flex;align-items:center;gap:14px}
.bar-row .bm{width:150px;font-size:13.5px;color:var(--muted);flex-shrink:0}
.btrack{flex:1;height:10px;background:var(--bg-3);border-radius:6px;overflow:hidden}
.bfill{height:100%;width:0;background:var(--ink);border-radius:6px;transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.bfill.lite{background:var(--faint)}
.bar-row .bv{font-family:var(--mono);font-size:12.5px;color:var(--ink);width:60px;text-align:right;flex-shrink:0;font-weight:500}
.ring{position:relative;width:152px;height:152px;margin:6px auto}
.ring svg{transform:rotate(-90deg)}
.ring .bg{fill:none;stroke:var(--bg-3);stroke-width:12}
.ring .fg{fill:none;stroke:var(--ink);stroke-width:12;stroke-linecap:round;stroke-dasharray:408;stroke-dashoffset:408;transition:stroke-dashoffset 2s cubic-bezier(.3,.9,.3,1)}
.ring.in .fg{stroke-dashoffset:53}
.ring .rt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .rt .n{font-size:33px;font-weight:800;letter-spacing:-.03em}.ring .rt .l{font-size:11px;color:var(--muted)}
.loop{position:relative;width:300px;height:300px;margin:6px auto}
.loop .rng{position:absolute;inset:18px;border:1.5px dashed var(--line-2);border-radius:50%;animation:spin 32s linear infinite}
.loop .dot{position:absolute;top:9px;left:50%;width:12px;height:12px;border-radius:50%;background:var(--ink);transform-origin:6px 141px;animation:spin 32s linear infinite}
.loop .core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.loop .nd{position:absolute;font-size:13px;font-weight:600;background:#fff;border:1px solid var(--line-2);border-radius:9px;padding:7px 13px;box-shadow:var(--shadow)}
.loop .t{top:-2px;left:50%;transform:translateX(-50%)}.loop .r{top:50%;right:-6px;transform:translateY(-50%)}
.loop .b{bottom:-2px;left:50%;transform:translateX(-50%)}.loop .l{top:50%;left:-6px;transform:translateY(-50%)}
@keyframes spin{to{transform:rotate(360deg)}}
.lat{display:flex;height:48px;border-radius:12px;overflow:hidden;border:1px solid var(--line-2)}
.lat .seg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;width:0;white-space:nowrap;overflow:hidden;transition:width 1.5s cubic-bezier(.2,.8,.2,1)}
.lat .s1{background:#2A2D3A}.lat .s2{background:#0A0C11}.lat .s3{background:#494E5E}
.lat-leg{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.lat-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.hub{position:relative;height:340px}
.hub svg{position:absolute;inset:0;width:100%;height:100%}
.hub .ln{stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 6;animation:flow 1.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-18}}
.hub .core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:11px 18px;border-radius:11px;z-index:2;white-space:nowrap}
.hub .nd{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--line-2);border-radius:9px;padding:7px 13px;font-size:12.5px;color:var(--ink);box-shadow:var(--shadow);white-space:nowrap}
.code{background:#0A0C11;border:1px solid #1c1f2b;border-radius:var(--rad);overflow:hidden}
.code .ch{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #1c1f2b;font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.5)}
.code .ch .s{color:#69d39a}
.code .cb{padding:20px;font-family:var(--mono);font-size:13px;line-height:1.9;color:rgba(255,255,255,.82)}
.code .cb .k{color:#fff;font-weight:600}.code .cb .d{color:rgba(255,255,255,.35)}.code .cb .y{color:#9db4ff}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:transform .18s ease,box-shadow .25s,border-color .2s;will-change:transform}
.card:hover{box-shadow:var(--shadow);border-color:var(--line-2)}
.card .ci{width:44px;height:44px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ci svg{width:21px;height:21px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card h4{font-size:16px;font-weight:600;margin-bottom:7px}.card p{font-size:14px;color:var(--muted);line-height:1.55}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.statband>div{background:#fff;padding:38px 22px;text-align:center}
.statband .v{font-size:clamp(34px,4vw,54px);font-weight:800;letter-spacing:-.045em}
.statband .l{font-size:13px;color:var(--muted);margin-top:8px}

/* compliance */
.badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.badge{flex:1;min-width:120px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:center}
.badge img{height:40px;width:auto;object-fit:contain;filter:saturate(0);opacity:.74}
.cpills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cpill{font-size:13px;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);padding:8px 14px;border-radius:30px}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.quote{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;padding:30px}
.quote .q{font-size:15.5px;line-height:1.6}
.quote .by{display:flex;align-items:center;gap:11px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.quote .av{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.quote .by b{font-size:13.5px;font-weight:600;display:block}.quote .by span{font-size:12px;color:var(--muted)}

/* faq */
.faq{max-width:820px;margin-top:30px}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;text-align:left;font-family:var(--sans);font-size:17.5px;font-weight:600;color:var(--ink);padding:22px 0;cursor:pointer}
.qa .ic{font-size:25px;color:var(--muted);transition:.25s;flex-shrink:0;line-height:1}
.qa.open .ic{transform:rotate(45deg)}
.qa .a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.qa .a p{font-size:15.5px;color:var(--muted);line-height:1.65;padding-bottom:22px}

/* closing */
.closing{padding:120px 0;text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden}
.closing .heromesh{opacity:.4}
.closing .inner{position:relative;z-index:1}
.closing h2{font-size:clamp(36px,5.6vw,72px);font-weight:800;letter-spacing:-.045em}
.closing .shotwrap{margin:44px auto}
.closing .hero-cta{justify-content:center}

/* footer */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding:66px 0 36px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;margin-bottom:46px}
.fbrand p{color:var(--muted);font-size:14px;max-width:30ch;margin-top:14px;line-height:1.55}
.fcol h5{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.fcol a{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}.fcol a:hover{color:var(--ink)}
.fbot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;border-top:1px solid var(--line);font-size:13px;color:var(--faint);flex-wrap:wrap;gap:12px}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* giant hero + full-width screenshot showcases */
.tw-line{font-size:clamp(20px,2.7vw,31px);font-weight:600;letter-spacing:-.02em;margin-top:16px;color:var(--ink);min-height:1.5em;display:flex;align-items:center;flex-wrap:wrap}
.hero-center .tw-line{justify-content:center}
.tw-line .pre{color:var(--muted)}
.tw{color:var(--ink);white-space:pre}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--ink);margin-left:3px;transform:translateY(3px);border-radius:1px;animation:twblink 1.05s steps(1) infinite}
@keyframes twblink{50%{opacity:0}}
.hero-center{text-align:center;max-width:900px;margin:0 auto}
.hero-center h1{max-width:17ch;margin:16px auto 0}
.hero-center .lead{margin:24px auto 0}
.hero-center .hero-cta{justify-content:center}
.hero-center .hero-note{justify-content:center}
.hero-stage{margin-top:56px}
.bigshot .ph b{font-size:19px}.bigshot .ph .ic{width:56px;height:56px}.bigshot .ph .ic svg{width:28px;height:28px}.bigshot .ph span{font-size:14px}.bigshot .wave{height:62px}
.reason.wide{grid-template-columns:1fr;gap:36px}
.reason.wide .r-text{order:0;max-width:780px}
.reason.wide .r-media{order:1}
.reason.wide .shot{aspect-ratio:16/9}
/* full-bleed media (edge to edge) */
.fullbleed{width:100vw;margin-left:calc(50% - 50vw);padding:0 24px;box-sizing:border-box}
.fullbleed .tiltwrap{max-width:1800px;margin:0 auto}
.reason.wide .r-media{width:100vw;margin-left:calc(50% - 50vw);padding:0 24px;box-sizing:border-box}
.reason.wide .r-media .tiltwrap{max-width:1800px;margin:0 auto}
.reason.wide .ph b{font-size:19px}.reason.wide .ph .ic{width:56px;height:56px}.reason.wide .ph .ic svg{width:28px;height:28px}.reason.wide .ph span{font-size:14px}
/* ============ agent-network signature band ============ */
.agents{position:relative;background:#08090E;color:#fff;padding:100px 0;overflow:hidden}
.agents-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:center}
.agents .eyebrow{color:rgba(255,255,255,.5)}
.agents h2{color:#fff;font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;margin-top:14px}
.agents p{color:rgba(255,255,255,.66);font-size:18px;margin-top:18px;max-width:46ch;line-height:1.55}
.agents .achips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.agents .achips span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:7px 13px}
.agentcanvas{width:100%;height:500px;display:block}
@media(max-width:900px){.agents-grid{grid-template-columns:1fr;gap:24px}.agentcanvas{height:400px}}
/* logo mark (recolored to ink) */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand .mark{width:25px;height:25px;flex-shrink:0;color:var(--ink)}
.brand .mark path{fill:currentColor}
.brand .brandlogo{height:33px;width:auto;display:block;color:var(--ink)}
.brand .mark2{width:30px;height:30px;flex-shrink:0;color:var(--ink)}.brand .mark2 path{fill:currentColor}
.footer .fbrand{display:flex;flex-direction:column;align-items:flex-start}
.footer .footlockup{order:-1;height:44px;width:auto;display:block;margin:0 0 18px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.brand .bcol{display:flex;flex-direction:column;gap:1px;line-height:1.05}
.brand .endorse{font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
/* section depth + banding + large bleeding objects */
#product{background:radial-gradient(1300px 680px at 84% -6%,#F0F1F5,#FFFFFF 62%)}
.band{background:var(--bg-2)}
.robj{position:absolute;pointer-events:none;z-index:0;filter:saturate(1.1) drop-shadow(0 28px 48px rgba(70,46,130,.20));opacity:.92;animation:bob 9.5s ease-in-out infinite}
.robj.right{right:-110px;top:0;width:270px}
.robj.left{left:-110px;top:50px;width:250px}
.reason .r-text,.reason .r-media{position:relative;z-index:1}
@media(max-width:1200px){.robj{display:none}}
/* ============ 3D object signature ============ */
.obj{position:absolute;z-index:1;pointer-events:none;filter:saturate(1.12) drop-shadow(0 26px 44px rgba(70,46,130,.22));opacity:1;animation:bob 7s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-13px) rotate(3deg)}}
.hero-objs{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-objs .o1{top:86px;left:5%;width:104px}
.hero-objs .o2{top:70px;right:6%;width:82px;animation-delay:1.1s}
.hero-objs .o3{top:344px;right:13%;width:56px;animation-delay:2.1s}
.hero-objs .o4{top:322px;left:10%;width:50px;animation-delay:1.6s}
.hero-objs .o5{top:150px;left:21%;width:44px;animation-delay:.6s}
.hero-objs .o6{top:430px;right:23%;width:62px;animation-delay:2.6s}
.sec{position:relative}
.sec-obj{position:absolute;top:54px;right:40px;width:68px;z-index:1;pointer-events:none;filter:saturate(1.1) drop-shadow(0 12px 22px rgba(70,46,130,.18));opacity:.92;animation:bob 8.5s ease-in-out infinite}
@media(max-width:1000px){.hero-objs .o3,.hero-objs .o4,.hero-objs .o5,.hero-objs .o6,.sec-obj{display:none}.hero-objs .o1{width:78px;top:26px;left:2%}.hero-objs .o2{width:62px;top:20px;right:3%}}
/* ============ story extras: comparison, timeline, clusters ============ */
.reason .r-num{text-transform:none}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vs .col{border:1px solid var(--line);border-radius:14px;padding:18px 18px 12px;background:#fff}
.vs .col.old{background:transparent;border-style:dashed}
.vs h6{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:0 0 10px;font-weight:700}
.vs ul{list-style:none}
.vs li{font-size:13.5px;line-height:1.45;color:var(--muted);padding:5px 0;display:flex;gap:8px}
.vs .old li::before{content:'✕';color:var(--faint);font-weight:700}
.vs .new li::before{content:'✓';color:var(--ink);font-weight:800}
.tl{display:flex;flex-direction:column}
.tl .ev{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line)}
.tl .ev:first-child{border-top:0}
.tl .yr{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);width:62px;flex-shrink:0}
.tl .ev p{font-size:13.5px;color:var(--muted);margin:0}.tl .ev b{color:var(--ink);font-weight:600}
.cpills.left{justify-content:flex-start}
.gbignum{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.045em;line-height:1}
.proof{margin-top:24px;border:1px solid var(--line);border-radius:16px;background:var(--bg-2);padding:18px 20px}
.proof .pe{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:9px}
.proof p{font-size:14px;color:var(--ink-2);margin:0 0 13px;line-height:1.55}
.exhibit{position:relative;margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-2);box-shadow:var(--shadow-lg)}
.yeartag{position:absolute;top:14px;left:14px;z-index:5;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.06em;color:#fff;background:rgba(10,12,17,.8);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:7px 14px}
.exhibit img{display:block;width:100%;height:auto}
.exhibit .ph2{aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--faint);background:radial-gradient(120% 120% at 50% 0,var(--bg-3),var(--bg-2))}
.exhibit .ph2 .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);margin-bottom:4px}
.exhibit .ph2 .ic svg{width:21px;height:21px;fill:none;stroke:var(--faint);stroke-width:1.6}
.exhibit .ph2 b{color:var(--ink-2);font-size:14px}.exhibit .ph2 span{font-size:12.5px}
.exhibit .cap{padding:13px 16px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);background:#fff;line-height:1.45}
.exhibit .cap b{color:var(--ink);font-weight:600}
.lightbox{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(8,10,18,.88);backdrop-filter:blur(6px);padding:4vh 4vw;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:94vw;max-height:92vh;border-radius:14px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.lightbox .lbx{position:absolute;top:20px;right:26px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:22px;line-height:37px;text-align:center;cursor:pointer}
.exhibit{cursor:zoom-in}.exhibit .cap{cursor:auto}
/* ============ ROI calculator ============ */
.roi{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink);margin-top:46px}
.roi-in{padding:38px 46px 38px 0;border-right:1px solid var(--line)}
.roi-out{padding:38px 0 38px 46px;display:flex;flex-direction:column}
.roi-field{display:block;margin-bottom:24px}
.roi-field span{display:block;font-size:13px;color:var(--muted);margin-bottom:9px}
.roi-field input{width:100%;font-family:var(--sans);font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);border:1px solid var(--line-2);border-radius:12px;padding:13px 15px;background:#fff;transition:border-color .15s}
.roi-field input:focus{outline:none;border-color:var(--ink)}
.roi-field select{width:100%;font-family:var(--sans);font-size:18px;font-weight:600;color:var(--ink);border:1px solid var(--line-2);border-radius:12px;padding:13px 15px;background:#fff;cursor:pointer}
.roi-slider{display:block;margin-bottom:24px}
.roi-slider span{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:11px}
.roi-slider b{color:var(--ink);font-weight:700}
.roi-slider input[type=range]{width:100%;accent-color:var(--ink);cursor:pointer}
.roi-note{font-size:12.5px;color:var(--faint);margin-top:6px}
.roi-big .v{font-size:clamp(42px,5.4vw,68px);font-weight:800;letter-spacing:-.045em;line-height:1}
.roi-big .l{font-size:13px;color:var(--muted);margin:8px 0 26px}
.roi-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:14.5px}
.roi-row span{color:var(--muted)}.roi-row b{font-family:var(--mono);font-weight:500;color:var(--ink)}
.roi-out .btn{margin-top:26px;align-self:flex-start}
@media(max-width:820px){.roi{grid-template-columns:1fr}.roi-in{border-right:0;border-bottom:1px solid var(--line);padding:32px 0}.roi-out{padding:32px 0 0}}
/* ============ editorial pass ============ */
.sec{padding:104px 0}
.hero h1{font-size:clamp(46px,6.4vw,84px)}
.r-text h3{font-size:clamp(27px,3.4vw,42px)}
/* asymmetric, full-width section headers */
.sec-head{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;max-width:none;align-items:end}
.sec-head>.eyebrow{grid-column:1;grid-row:1}
.sec-head>h2{grid-column:1;grid-row:2;margin-top:16px;font-size:clamp(34px,4.6vw,58px);letter-spacing:-.04em}
.sec-head>p{grid-column:2;grid-row:2;align-self:end;margin:0 0 8px;font-size:17px}
/* reasons section header, distinct chapter title */
#product .sec-head>h2{font-size:clamp(42px,6.4vw,84px);letter-spacing:-.05em;line-height:.96}
#product .sec-head>.eyebrow{display:inline-flex;align-items:center;gap:11px}
#product .sec-head>.eyebrow::before{content:'';width:26px;height:2px;background:linear-gradient(90deg,var(--blue),var(--magenta))}
#product .rbadge{grid-column:2;grid-row:1;justify-self:end;align-self:start;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:30px;padding:8px 15px;box-shadow:var(--shadow);white-space:nowrap}
/* reasons: big ghost index numbers */
.reasons{counter-reset:r}
.reason{counter-increment:r;position:relative}
.reason .r-text{position:relative}
.reason .r-num{font-size:12.5px;color:var(--faint);letter-spacing:.06em}
.reason .r-text::before{content:counter(r,decimal-leading-zero);display:block;font-size:clamp(40px,4vw,58px);font-weight:800;letter-spacing:-.04em;color:var(--bg-3);line-height:1;margin-bottom:6px}
/* channels: flat hairline grid (no boxes) */
.cards{grid-template-columns:repeat(3,1fr);gap:0;column-gap:36px;border-top:1px solid var(--ink);margin-top:46px}
.card{background:transparent!important;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:32px 0 30px;box-shadow:none!important}
.card:hover{transform:none}
.card .ci{background:transparent;border:0;width:auto;height:auto;margin-bottom:18px}
.card .ci svg{width:27px;height:27px}
.card h4{font-size:19px;letter-spacing:-.02em}
.card p{font-size:14.5px}
/* stats: editorial hairline row */
.statband{grid-template-columns:repeat(4,1fr);gap:0;border:0;border-top:1px solid var(--ink);border-radius:0;overflow:visible}
.statband>div{background:transparent;border-left:1px solid var(--line);padding:34px 26px;text-align:left}
.statband>div:first-child{border-left:0;padding-left:0}
.statband .v{font-size:clamp(40px,4.8vw,66px)}
.statband .l{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:10px}
/* quotes: editorial, hairline */
.quotes{grid-template-columns:repeat(3,1fr);gap:0;column-gap:40px;border-top:1px solid var(--ink);margin-top:46px}
.quote{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:34px 0 30px}
.quote .q{font-size:19px;line-height:1.5;letter-spacing:-.012em;color:var(--ink)}
/* logo wall */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;margin-top:42px}
.wall div{background:#fff;aspect-ratio:21/9;display:flex;align-items:center;justify-content:center;padding:22px}
.wall img{height:30px;width:auto;filter:saturate(0) brightness(0);opacity:.4}
@media(max-width:820px){
  .sec-head{grid-template-columns:1fr;gap:14px}.sec-head>p{grid-column:1;grid-row:auto}
  .cards,.quotes{grid-template-columns:1fr}
}
/* ============ animated aurora CTA (Decagon-style) ============ */
.finale{position:relative;background:#08090E;overflow:hidden}
.finale .aura{position:absolute;inset:0;z-index:0}
.finale .aura span{top:33%}
.finale .sig{z-index:1}
.closing{position:relative;z-index:2;color:#fff;padding:150px 0 90px;text-align:center}
.closing .inner{position:relative;z-index:2}
.closing h2{color:#fff;font-size:clamp(40px,6vw,86px);letter-spacing:-.045em}
.cta-eye{color:rgba(255,255,255,.55)!important;justify-content:center;display:flex}
.cta-sub{color:rgba(255,255,255,.64);font-size:18.5px;max-width:48ch;margin:22px auto 0;line-height:1.5}
.closing .hero-cta{justify-content:center;margin-top:36px}
.sig{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.auraband{position:relative;overflow:hidden;background:#08090E;color:#fff;padding:118px 0;text-align:left}
.auraband .inner{position:relative;z-index:2;max-width:840px}
.auraband .cta-eye{color:rgba(255,255,255,.5);display:flex;justify-content:flex-start}
.auraband h2{color:#fff;font-size:clamp(34px,5vw,64px);letter-spacing:-.045em;margin-top:16px}
.auraband .cta-sub{color:rgba(255,255,255,.62);font-size:18px;max-width:56ch;margin:20px 0 0;line-height:1.5}
.auraband .gradn{background:linear-gradient(100deg,#6f9bff,#c08cff 55%,#e58cd6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ribbons{position:absolute;inset:0;z-index:0;overflow:hidden}
.ribbons span{position:absolute;left:-25%;width:150%;height:160px;border-radius:50%;filter:blur(56px);opacity:.42;mix-blend-mode:screen}
.ribbons .r1{top:12%;background:linear-gradient(90deg,transparent,#1B5BE0 45%,transparent);animation:rib 17s ease-in-out infinite}
.ribbons .r2{top:44%;background:linear-gradient(90deg,transparent,#7A5CF4 50%,transparent);animation:rib 23s ease-in-out infinite reverse}
.ribbons .r3{top:72%;background:linear-gradient(90deg,transparent,#C154D3 55%,transparent);animation:rib 29s ease-in-out infinite}
@keyframes rib{0%,100%{transform:translateX(-9%) rotate(-7deg)}50%{transform:translateX(9%) rotate(-7deg)}}
/* dark footer merged with closing into one block */
.footer{position:relative;z-index:2;background:transparent;border-top:0;color:rgba(255,255,255,.6);padding-top:30px}
.footer .brand{color:#fff}
.footer .brand .pre{color:rgba(255,255,255,.5)}
.footer .fbrand p{color:rgba(255,255,255,.5)}
.footer .fcol h5{color:rgba(255,255,255,.4)}
.footer .fcol a{color:rgba(255,255,255,.58)}
.footer .fcol a:hover{color:#fff}
.footer .fbot{border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4)}
.footer .parentco{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:9px 14px;border:1px solid rgba(255,255,255,.16);border-radius:30px;font-size:12.5px;color:rgba(255,255,255,.62)}
.footer .parentco .pmark{width:18px;height:18px;color:#fff;flex-shrink:0}.footer .parentco .pmark path{fill:currentColor}
.footer .parentco b{color:#fff;font-weight:600}
.aura{position:absolute;inset:0;z-index:0;overflow:hidden}
.aura span{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border-radius:50%;display:block}
.aura .neb{width:1300px;height:1300px;max-width:140vw;background:conic-gradient(from 0deg,rgba(20,84,228,.20),rgba(122,92,244,.26),rgba(193,84,211,.20),rgba(20,84,228,.20));filter:blur(130px);opacity:.7;animation:auraspin 46s linear infinite}
.aura .halo{width:640px;height:640px;max-width:92vw;background:radial-gradient(circle,rgba(150,130,255,0) 36%,rgba(122,92,244,.55) 47%,rgba(193,84,211,.3) 58%,rgba(20,84,228,.12) 66%,transparent 74%);filter:blur(6px);animation:breathe 7.5s ease-in-out infinite}
.aura .ring{width:560px;height:560px;max-width:88vw;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.65),transparent 26%);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67.5%,#000 70%,transparent 71.5%);mask:radial-gradient(circle,transparent 66%,#000 67.5%,#000 70%,transparent 71.5%);opacity:.4;animation:auraspin 14s linear infinite}
.aura .core{width:300px;height:300px;max-width:64vw;background:radial-gradient(circle,#07070F 26%,rgba(48,32,96,.7) 52%,transparent 72%)}
@keyframes auraspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.82}50%{transform:translate(-50%,-50%) scale(1.09);opacity:1}}
.btn-aurora{position:relative;background:rgba(255,255,255,.07);color:#fff;border:0}
.btn-aurora::before{content:'';position:absolute;inset:0;border-radius:11px;padding:1.4px;background:linear-gradient(120deg,#F9700B,#C154D3 50%,#1B5BE0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.btn-aurora:hover{background:rgba(255,255,255,.14)}
.btn-ghostlight{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.24)}
.btn-ghostlight:hover{border-color:#fff;background:rgba(255,255,255,.07)}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}}
@media(max-width:900px){
  .nav-links,.signin{display:none}.burger{display:flex}
  .navitem{width:100%}
  .nav-links{align-items:stretch;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 24px 44px rgba(10,12,17,.14);padding:8px 20px 16px;max-height:calc(100vh - 66px);overflow:auto}.navtrig,.nav-links>a{display:flex;align-items:center;width:100%;box-sizing:border-box;font-size:16px;font-weight:600;color:var(--ink);padding:15px 4px;border-bottom:1px solid var(--line);border-radius:0}.navtrig{justify-content:space-between}.nav-links>a::after{display:none}
  .mega{position:static;transform:none!important;padding-top:0;width:100%}
  .mega-in,.mega.wide .mega-in,.mega.sm .mega-in{width:auto;box-shadow:none;border:0;background:transparent;padding:6px 0}
  .mega-in::before,.mega-in::after{display:none}.mega .mega-in{display:block;grid-template-columns:1fr;width:auto!important;max-width:none!important}.mega-grid,.mcards2,.mgrid2,.pf-grid{grid-template-columns:1fr}.mega-feat{display:none}.mega.r{right:auto}.mega.platform .mega-in{width:auto;max-width:none;padding:6px 0}.pf-hero{margin-bottom:8px}.pf-foot{flex-direction:column;align-items:flex-start;gap:2px}
  .hero{padding:54px 0 30px}.hero-grid{grid-template-columns:1fr;gap:38px}
  .chip{display:none}
  .reason{grid-template-columns:1fr;gap:32px;padding:50px 0}
  .reason:nth-child(even) .r-media{order:0}
  .cards,.quotes{grid-template-columns:1fr}
  .statband{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
}

/* ===== colorful mockup stages (match home-page .shot look), added v1.85 ===== */
.stage{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);isolation:isolate}
.stage .s-canvas{position:absolute;inset:0;z-index:0;background-size:230% 230%;animation:bgflow 26s ease-in-out infinite}
.stage .s-canvas::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 85% at 16% 8%,rgba(255,255,255,.40),transparent 52%);mix-blend-mode:screen}
.stage .s-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:34px 34px;mix-blend-mode:overlay;pointer-events:none}
.stage .s-glint{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,transparent 42%,rgba(255,255,255,.16) 52%,transparent 64%);opacity:.5;pointer-events:none}
.stage>.panel{position:relative;z-index:2;margin:34px}
@media(max-width:600px){.stage>.panel{margin:18px}}
.stage.bg1 .s-canvas{background-image:linear-gradient(130deg,#1454E4,#5B4BE0,#7A5CF4,#C154D3)}
.stage.bg2 .s-canvas{background-image:linear-gradient(150deg,#2A2F9E,#7A5CF4,#C154D3,#E06AC0);animation-duration:30s}
.stage.bg3 .s-canvas{background-image:linear-gradient(120deg,#0B2FB0,#1E7BE8,#6E5CF2);animation-duration:24s}
.stage.bg4 .s-canvas{background-image:linear-gradient(140deg,#5B3FD6,#A24AD6,#C154D3,#F8930D);animation-duration:28s}
.stage.bg5 .s-canvas{background-image:linear-gradient(135deg,#0B1E6B,#1454E4,#7A5CF4);animation-duration:23s}
.stage.bg6 .s-canvas{background-image:linear-gradient(160deg,#6A4BE6,#C154D3,#8E54D8);animation-duration:27s}
/* zoomed-in partial crop: panel bleeds off the bottom-right, clipped by the stage */
.stage.crop>.panel{margin:30px 0 0 30px;border-radius:14px 0 0 0}
.stage.crop.br>.panel{margin:30px 30px 0 0;border-radius:0 14px 0 0}
@keyframes bgflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.stage .s-canvas{animation:none}}

/* ===== real-logo images, people-photo & video placeholders (v1.91) ===== */
.logoimg{height:26px;width:auto;vertical-align:middle;filter:grayscale(1) opacity(.6);transition:filter .2s,opacity .2s}
.logoimg:hover{filter:none;opacity:1}
/* placeholder for a real person photo (headshot/team/customer) */
.photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:linear-gradient(135deg,var(--bg-3),var(--bg-2));aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.photo svg{width:54px;height:54px;stroke:var(--faint);fill:none;stroke-width:1.4}
.photo .tag{position:absolute;left:12px;bottom:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:8px;padding:4px 9px}
.photo.round{aspect-ratio:1/1;border-radius:50%;max-width:120px}
/* placeholder for a real video / embed */
.videoph{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(135deg,#0B1E6B,#1454E4,#7A5CF4);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center}
.videoph::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.16) 52%,transparent 66%)}
.videoph .play{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 36px rgba(10,12,17,.3)}
.videoph .play::before{content:'';width:0;height:0;border-left:18px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.videoph .vlabel{position:absolute;z-index:2;left:14px;bottom:13px;font-family:var(--mono);font-size:11px;color:#fff;background:rgba(8,10,22,.45);border-radius:8px;padding:5px 10px}
.videoph.dark{background:#0b0d12;border:1px solid rgba(255,255,255,.12)}
/* ===== reusable signature product orb (per-page hue via CSS vars) ===== */
.orb{position:relative;isolation:isolate;border-radius:24px;overflow:hidden;min-height:clamp(360px,42vw,500px);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-lg);
  --oc1:#c3c8ff;--oc2:#7a5cf4;--oc3:#2a2f9e;--obg1:#141636;--obg2:#08090E;--oglow:rgba(122,92,244,.55);--ohalo:rgba(122,92,244,.5);
  background:radial-gradient(120% 120% at 50% 24%,var(--obg1),var(--obg2) 72%)}
.orb .og{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;-webkit-mask:radial-gradient(72% 72% at 50% 46%,#000,transparent 80%);mask:radial-gradient(72% 72% at 50% 46%,#000,transparent 80%)}
.orb .ohalo{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:440px;height:440px;max-width:94%;border-radius:50%;background:radial-gradient(circle,transparent 40%,var(--ohalo) 52%,transparent 72%);filter:blur(9px);z-index:1;animation:breathe 8s ease-in-out infinite}
.orb .opulse{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--ohalo);z-index:2;animation:orbpulse 4.6s ease-out infinite}
.orb .opulse:nth-of-type(2){animation-delay:1.5s}.orb .opulse:nth-of-type(3){animation-delay:3s}
@keyframes orbpulse{0%{width:150px;height:150px;opacity:.5}80%{opacity:.05}100%{width:520px;height:520px;opacity:0}}
.orb .ocore{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:clamp(112px,14vw,142px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,var(--oc1) 20%,var(--oc2) 52%,var(--oc3) 78%,#0c0c2e);box-shadow:0 0 68px var(--oglow),inset 0 -8px 26px rgba(10,10,40,.6),inset 0 8px 24px rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;z-index:3;animation:breathe 7.5s ease-in-out infinite}
.orb .ocore svg{width:47%;height:47%;stroke:rgba(255,255,255,.96);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.orb .ocap{position:absolute;left:0;right:0;bottom:16px;z-index:4;text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.52)}
@media(prefers-reduced-motion:reduce){.orb .ocore,.orb .ohalo,.orb .opulse{animation:none}.orb .opulse{opacity:.12}}
/* ===== solid hero figures, one shape+color per page; base color via --fc ===== */
.fig{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(360px,42vw,500px);overflow:hidden;perspective:1000px;--fc:#805CF4}
.fig::before{content:'';position:absolute;width:66%;height:66%;top:13%;left:17%;border-radius:50%;filter:blur(48px);opacity:.6;background:radial-gradient(circle,color-mix(in srgb,var(--fc) 60%,transparent),transparent 62%);pointer-events:none}
.fig .fsh{position:absolute;bottom:12%;width:44%;max-width:200px;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(24,20,45,.22),transparent 70%);filter:blur(9px)}
.fig .fbody{position:relative;display:flex;align-items:center;justify-content:center;animation:ffloat 7s ease-in-out infinite}
@keyframes ffloat{0%,100%{transform:translateY(-9px)}50%{transform:translateY(9px)}}
.fig .fring{position:absolute;bottom:19%;left:50%;transform:translateX(-50%) rotateX(70deg);width:56%;max-width:270px;aspect-ratio:2.6/1;border-radius:50%;border:12px solid color-mix(in srgb,var(--fc) 32%,transparent);filter:blur(4px);pointer-events:none}
.fig-sphere{position:relative;width:clamp(220px,28vw,300px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 27%,#fff,color-mix(in srgb,var(--fc),white 36%) 15%,var(--fc) 58%,color-mix(in srgb,var(--fc),black 46%));box-shadow:0 30px 60px color-mix(in srgb,var(--fc) 28%,transparent),0 0 58px color-mix(in srgb,var(--fc) 24%,transparent),inset 0 -12px 30px rgba(10,8,36,.4),inset 0 12px 24px rgba(255,255,255,.5)}
.fig-sphere::after{content:'';position:absolute;left:20%;top:13%;width:30%;height:22%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),transparent 72%);filter:blur(1px)}
.fig-cap{position:relative;width:clamp(112px,14vw,150px);height:clamp(232px,30vw,300px);border-radius:999px;transform:rotate(-18deg);background:linear-gradient(112deg,color-mix(in srgb,var(--fc),white 44%),var(--fc) 46%,color-mix(in srgb,var(--fc),black 42%));box-shadow:0 34px 60px color-mix(in srgb,var(--fc) 24%,transparent),0 0 54px color-mix(in srgb,var(--fc) 22%,transparent),inset 0 0 40px rgba(255,255,255,.12),inset -10px 0 26px rgba(10,8,36,.32)}
.fig-cap::after{content:'';position:absolute;left:24%;top:7%;width:24%;height:18%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 72%);filter:blur(2px)}
.fig-cube{position:relative;width:200px;height:200px;transform-style:preserve-3d}
.fig-cube .fcube{position:absolute;inset:0;transform-style:preserve-3d;animation:fcubespin 22s linear infinite}
@keyframes fcubespin{from{transform:rotateX(-24deg) rotateY(0deg)}to{transform:rotateX(-24deg) rotateY(360deg)}}
.fig-cube .cf{position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 46px rgba(255,255,255,.08)}
.fig-cube .fr{transform:translateZ(100px);background:linear-gradient(145deg,color-mix(in srgb,var(--fc),white 20%),var(--fc))}
.fig-cube .bk{transform:rotateY(180deg) translateZ(100px);background:linear-gradient(145deg,color-mix(in srgb,var(--fc),black 22%),color-mix(in srgb,var(--fc),black 40%))}
.fig-cube .rt{transform:rotateY(90deg) translateZ(100px);background:linear-gradient(145deg,color-mix(in srgb,var(--fc),black 6%),color-mix(in srgb,var(--fc),black 30%))}
.fig-cube .lf{transform:rotateY(-90deg) translateZ(100px);background:linear-gradient(145deg,color-mix(in srgb,var(--fc),white 8%),color-mix(in srgb,var(--fc),black 22%))}
.fig-cube .tp{transform:rotateX(90deg) translateZ(100px);background:linear-gradient(145deg,color-mix(in srgb,var(--fc),white 40%),color-mix(in srgb,var(--fc),white 12%))}
.fig-cube .bt{transform:rotateX(-90deg) translateZ(100px);background:color-mix(in srgb,var(--fc),black 46%)}
@media(prefers-reduced-motion:reduce){.fig .fbody{animation:none}.fig-cube .fcube{animation:none;transform:rotateX(-24deg) rotateY(34deg)}}
/* ===== path-art hero, glowing shape with a dot traveling the path; color via --pc ===== */
.pathart{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(360px,42vw,500px);--pc:#805CF4}
.pathart::before{content:'';position:absolute;width:58%;height:58%;top:18%;left:21%;border-radius:50%;filter:blur(52px);opacity:.42;background:radial-gradient(circle,color-mix(in srgb,var(--pc) 48%,transparent),transparent 66%);pointer-events:none}
.pathart svg{position:relative;width:min(500px,100%);height:auto;overflow:visible}
.pathart .pa-glow{fill:none;stroke:var(--pc);stroke-width:16;opacity:.28;filter:blur(7px);stroke-linecap:round;stroke-linejoin:round}
.pathart .pa-main{fill:none;stroke:var(--pc);stroke-width:11;stroke-linecap:round;stroke-linejoin:round}
.pathart .pa-sheen{fill:none;stroke:#fff;stroke-width:2.4;opacity:.5;stroke-linecap:round;stroke-linejoin:round}
.pathart .pa-node2{fill:color-mix(in srgb,var(--pc),white 34%);filter:blur(5px);opacity:.85}
.pathart .pa-node{fill:#fff}
@media(prefers-reduced-motion:reduce){.pathart .pa-node,.pathart .pa-node2{display:none}}
/* ===== people media gallery (shared with industry pages) ===== */
.ms-sec{padding:84px 0;border-top:1px solid var(--line);background:var(--bg-2);overflow:hidden}
.ms-head{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end;margin-bottom:30px}
@media(max-width:820px){.ms-head{grid-template-columns:1fr;gap:12px}}
.ms-head h2{font-size:clamp(28px,3.6vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.04}
.ms-head p{font-size:17px;color:var(--muted);line-height:1.55}
.ms-row{display:flex;gap:16px;align-items:stretch}
.mcard{position:relative;border-radius:22px;overflow:hidden;height:clamp(380px,44vw,520px);flex:0 0 auto;box-shadow:var(--shadow-lg);background:#e7e2da}
.mcard img,.mcard video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.05) brightness(1.03) sepia(.08)}.mcard img{filter:saturate(.9) contrast(1.05) brightness(1.03) sepia(.08) url(#filmgrain)}
.mcard::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(28,26,32,.14),rgba(28,26,32,0) 30%,rgba(16,14,20,.36))}
.mcard::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:overlay;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}
.mcard.feat{flex:1 1 auto;min-width:0}
.mcard.c2{width:22%}.mcard.c3{width:15%}.mcard.c4{width:11%}
@media(max-width:900px){.ms-row{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.mcard{height:460px;scroll-snap-align:start}.mcard.feat{flex:0 0 86%}.mcard.c2{width:62%}.mcard.c3,.mcard.c4{width:52%}}
.ms-tag{position:absolute;top:18px;left:18px;z-index:3;color:#fff}
.ms-tag b{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}
.ms-tag em{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.82);margin-top:2px}
.ms-play{position:absolute;left:18px;bottom:18px;z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.ms-play::before{content:'';width:0;height:0;border-left:11px solid var(--ink);border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
/* gallery arrangement variants (desktop only; mobile keeps the scroll row) */
@media(min-width:901px){
  .ms-row.ar-rightbig{flex-direction:row-reverse}
  .ms-row.ar-even .mcard.feat{flex:0 0 36%}
  .ms-row.ar-even .mcard.c2{width:26%}.ms-row.ar-even .mcard.c3{width:22%}.ms-row.ar-even .mcard.c4{width:16%}
  .ms-row.ar-righteven{flex-direction:row-reverse}
  .ms-row.ar-righteven .mcard.feat{flex:0 0 40%}
  .ms-row.ar-righteven .mcard.c2{width:26%}.ms-row.ar-righteven .mcard.c3{width:20%}.ms-row.ar-righteven .mcard.c4{width:14%}
}
/* testimonial / quote with headshot */
.testi{border:1px solid var(--line-2);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:34px}
.testi .q{font-size:clamp(19px,2.2vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--ink)}
.testi .who{display:flex;align-items:center;gap:12px;margin-top:22px}
.testi .who .photo{width:48px;height:48px;aspect-ratio:1/1;border-radius:50%;flex:none}
.testi .who .photo svg{width:24px;height:24px}
.testi .who .nm{font-weight:700;font-size:14px}.testi .who .rl{font-size:12.5px;color:var(--muted)}
/* layout variety helpers */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:860px){.trio{grid-template-columns:1fr}}
.feat-wide{display:grid;grid-template-columns:1fr;gap:30px;text-align:center;max-width:900px;margin:0 auto}
.feat-wide .stage,.feat-wide .videoph{margin-top:8px}
.split2{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
@media(max-width:860px){.split2{grid-template-columns:1fr;gap:28px}}

/* ===== blog index + article prose (v1.96) ===== */
.bloghero{padding-top:118px;padding-bottom:26px}
.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px 0 50px}
@media(max-width:900px){.bloggrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bloggrid{grid-template-columns:1fr}}
.bcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .25s,border-color .2s;text-decoration:none;color:inherit}
.bcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2)}
.bcard .bimg{aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-3),var(--bg-2));overflow:hidden}
.bcard .bimg img{width:100%;height:100%;object-fit:cover;display:block}
.bcard .bbody{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1}
.bcard .bmeta{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.bcard h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.bcard p{font-size:14px;color:var(--muted);line-height:1.55;flex:1}
.bcard .bread{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
.post{max-width:920px;margin:0 auto;padding:118px 28px 40px}
.post .pmeta{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.post h1{font-size:clamp(30px,4.4vw,50px);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:14px 0 0}
.post .pby{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--muted);font-size:14px}
.post .phero{margin:28px 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.post .phero img{width:100%;display:block}
.prose{margin-top:26px;font-size:17px;line-height:1.7;color:var(--ink-2)}
.prose h1{font-size:28px;font-weight:800;margin:34px 0 12px;color:var(--ink)}
.prose h2{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:36px 0 12px;color:var(--ink)}
.prose h3{font-size:19px;font-weight:700;margin:26px 0 10px;color:var(--ink)}
.prose p{margin:15px 0}
.prose ul,.prose ol{margin:15px 0;padding-left:22px}.prose li{margin:6px 0}
.prose a{color:var(--blue);text-decoration:underline}
.prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:6px 0}
.prose figure{margin:22px 0}.prose figure img{margin:0}
.prose blockquote{border-left:3px solid var(--line-2);padding-left:18px;color:var(--muted);margin:20px 0}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.prose pre{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px;overflow:auto;font-family:var(--mono);font-size:13px;margin:18px 0}
.prose pre code{background:none;border:0;padding:0}
.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:9px 11px;text-align:left}
.prose th{background:var(--bg-2);font-weight:700}
.post-back{display:inline-block;margin:34px 0 0;font-family:var(--mono);font-size:13px;color:var(--ink);text-decoration:none}

/* ---- mobile safety net (v2.1) ---- */
img{max-width:100%;height:auto}
@media(max-width:600px){.wrap{padding:0 20px}}
/* ---- mockup node default fill (v2.4): product mockups never use black ---- */
.nbox rect:not([class]){fill:#fff;stroke:var(--line-2);stroke-width:1.4}

/* ===== shared customer logo wall (partials/logowall.html) ===== */
.logos{padding:46px 0 50px;border-top:1px solid var(--line);margin-top:0}
.logos .lab{text-align:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:24px}
.lmask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ltrack{display:flex;align-items:center;gap:66px;width:max-content;animation:marq 38s linear infinite}
.lmask:hover .ltrack{animation-play-state:paused}
.ltrack img{height:26px;width:auto;filter:grayscale(1);opacity:.55;transition:.2s}
.ltrack img:hover{opacity:.75}
.ltrack .wm{font-family:var(--sans);font-weight:700;font-size:17px;letter-spacing:-.02em;color:#0A0C11;opacity:.4;white-space:nowrap}.ltrack .wm:hover{opacity:.72}
.ltrack img[alt="Atento"]{height:17px}
.ltrack img[alt="Kohl’s"]{height:18px}
@keyframes marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ltrack{animation:none}}

/* ===== brand photo treatment: film grain on STOCK photos only (v12.17) =====
   Targets Unsplash images so real/owned photos (roundtable, timeline JPGs, logos) are never touched. */
img[src*="images.unsplash.com"]{filter:url(#filmgrain)}
/* Photo bands that apply their own grayscale/tone treatment override the rule above at equal specificity.
   Re-add the grain on top of each treatment, GATED to Unsplash src so real/owned photos stay untouched (v12.22). */
.photoband img[src*="images.unsplash.com"]{filter:grayscale(1) contrast(1.03) url(#filmgrain)}
.stockband img[src*="images.unsplash.com"]{filter:grayscale(.15) url(#filmgrain)}
.pband img[src*="images.unsplash.com"]{filter:grayscale(1) contrast(1.03) url(#filmgrain)}
.pimg img[src*="images.unsplash.com"]{filter:saturate(.97) contrast(1.03) brightness(1.02) url(#filmgrain)}
