@keyframes float{50%{transform:translate3d(18px,-24px,0) scale(1.06)}}@keyframes pulse{70%{box-shadow:0 0 0 46px transparent}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes labOrbit{0%{transform:rotate(0deg) translateX(138px) rotate(0deg)}to{transform:rotate(360deg) translateX(138px) rotate(-360deg)}}@keyframes orchestratorSweep{to{transform:rotate(360deg)}}@keyframes signalRun{0%{transform:translateX(-30%);opacity:0}35%,65%{opacity:1}to{transform:translateX(240px);opacity:0}}@keyframes statusPulse{50%{opacity:.55;transform:scaleX(.72)}}@keyframes premiumSettle{0%{filter:blur(7px);transform:translateY(22px)}to{filter:blur(0);transform:translateY(0)}}@keyframes premiumSettleAlt{0%{filter:blur(7px);transform:translateY(22px) translateX(-8px)}to{filter:blur(0);transform:translateY(0) translateX(0)}}:root{color-scheme:light;--bg:#fff;--bg-soft:#f4f4f4;--bg-alt:#e8eef7;--ink:#161616;--muted:#525252;--subtle:#6f6f6f;--line:#d0d7de;--blue:#0f62fe;--blue-2:#0043ce;--teal:#007d79;--cyan:#08bdba;--dark:#0b0f19;--dark-2:#161b26;--good:#198038;--bad:#da1e28;--font:"IBM Plex Sans",Inter,system-ui,sans-serif;--max:1220px;--r:0;--shadow:0 24px 80px rgba(0,0,0,.12)}*{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,p{margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.55;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(900px 520px at 82% -8%,rgba(47,107,255,.15),transparent 60%),radial-gradient(760px 520px at 8% 4%,rgba(8,189,186,.10),transparent 60%),radial-gradient(720px 520px at 48% -10%,rgba(124,77,255,.12),transparent 62%)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}p{color:var(--muted)}h1,h2,h3{margin:0;letter-spacing:-.045em;line-height:.96}h1,h2{font-size:clamp(3.2rem,8.6vw,7.8rem);max-width:12ch;font-weight:450}h2{font-size:clamp(2.4rem,5.4vw,5.8rem)}h3{font-size:clamp(1.35rem,2.2vw,2rem);font-weight:500}.skip-link{position:fixed;z-index:99;top:12px;left:12px;transform:translateY(-140%);background:var(--blue);color:#fff;padding:10px 14px}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.site-header{position:fixed;z-index:50;left:50%;top:0;transform:translateX(-50%);width:100%;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(22,22,22,.12);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);transition:box-shadow .2s,background .2s}.menu-open .site-header,.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 32px rgba(0,0,0,.08)}.brand,.footer-brand{display:inline-flex;align-items:center;min-width:0}.footer-brand{gap:12px}.brand img,.footer-brand img{flex:0 0 auto}.brand span{display:grid;line-height:1.22}.brand strong{font-weight:650;white-space:nowrap}.brand small{margin-top:3px;color:var(--subtle);font-weight:700;text-transform:uppercase}.nav{display:flex;align-items:center;gap:2px}.nav a{color:var(--muted)}.footer-link,.nav a{font-size:.9rem;border:0;background:0 0;font:inherit;cursor:pointer}.footer-link:hover,.nav a:hover{color:var(--blue)}.nav-cta{margin-left:8px;background:var(--blue)!important;color:#fff!important}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);background:var(--ink);color:#fff}.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:.18s}.menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}.hero{display:grid;align-items:center;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:128px 0 80px}.eyebrow{margin-bottom:18px;color:var(--blue);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-lede{margin-top:26px;font-size:clamp(1.08rem,2vw,1.35rem);color:#393939}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border:1px solid transparent;font-weight:650;cursor:pointer;transition:transform .18s,background .18s,border-color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-2)}.button-secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button-ghost{background:0 0;color:var(--blue);border-color:transparent}.arrow-card span,.insight-card span,.steps span{display:block;margin-bottom:12px;color:var(--blue);font-weight:700}.section,.ticker{width:min(var(--max),calc(100% - 48px))}.ticker{margin:0 auto 80px;display:flex;gap:0;overflow:auto;border-block:1px solid var(--line);scrollbar-width:none}.ticker span{flex:0 0 auto;padding:22px 28px;border-right:1px solid var(--line);font-weight:650;color:var(--muted)}.section{margin:0 auto;padding:110px 0}.approach,.assessment-section,.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}.lead-copy{display:grid;gap:22px;font-size:1.16rem}.section-head{display:grid;gap:18px;margin-bottom:42px}.section-head p{max-width:760px}.industry-grid,.insight-grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}.insight-grid{grid-template-columns:repeat(4,1fr)}.arrow-card,.industry-grid article,.insight-card{min-height:330px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s,transform .2s}.industry-grid article{padding:0;overflow:hidden}.arrow-card:hover,.insight-card:hover{background:var(--bg-soft);transform:translateY(-3px)}.arrow-card p,.insight-card p{margin:18px 0}.arrow-card a,.insight-card a{color:var(--blue);font-weight:650}.industry-grid,.steps{grid-template-columns:repeat(4,1fr)}.industry-grid img{width:100%;height:210px;object-fit:cover;filter:saturate(.9)}.industry-grid h3,.industry-grid p{padding-inline:24px}.industry-grid h3{margin-top:22px}.industry-grid p{padding-bottom:28px}.steps{counter-reset:item;display:grid;gap:1px;padding:0;margin:0;background:var(--line);list-style:none}.steps li{background:#fff;padding:26px;min-height:260px}.contact-section h2{color:#fff}.contact-form,.quiz-card{display:grid;gap:16px;padding:28px;background:var(--bg-soft);border:1px solid var(--line);color:var(--ink)}.contact-form a,.contact-form p{color:var(--muted)}label{font-weight:600;color:var(--ink)}input,select,textarea{width:100%;border:1px solid #8d8d8d;background:#fff;padding:14px;font:inherit;border-radius:0;color:var(--ink)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)}small{min-height:18px;color:var(--bad);font-size:.8rem}output{display:grid;gap:5px;padding:20px;background:#eaf2ff;border-left:4px solid var(--blue)}output strong{font-size:4rem;line-height:1}.contact-section{width:min(var(--max),calc(100% - 48px));margin:90px auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:48px;background:var(--dark);color:#fff}.contact-section p{color:#c6c6c6}.contact-section a{color:#fff;text-decoration:underline}.mini-proof,label{display:grid;gap:8px}.mini-proof{margin-top:28px;padding:18px;background:rgba(255,255,255,.08);border-left:4px solid var(--cyan)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hp-field,.spinner{display:none}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.is-submitting .spinner{display:inline-block}.form-success{padding:24px;background:#defbe6;color:var(--ink);border-left:4px solid var(--good)}.site-footer{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:70px 0 34px;display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:44px;border-top:1px solid var(--line)}.site-footer nav,.site-footer>div{display:grid;align-content:start;gap:10px}.footer-link,.site-footer a{color:var(--muted);text-align:left;padding:0}.site-footer address{font-style:normal;color:var(--subtle)}.copyright,.disclaimer{grid-column:1/-1;font-size:.86rem;color:var(--subtle)}.legal-card summary{display:flex;justify-content:space-between}.legal-card details{border-bottom:1px solid var(--line)}.legal-card details:last-of-type{border-bottom:0}.legal-page{width:min(930px,calc(100% - 48px));padding:76px 0 92px}.legal-page .lede{font-size:1.22rem;color:#393939;margin:24px 0 38px}.legal-card{border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(20,40,90,.07);padding:clamp(12px,1.9vw,18px) clamp(20px,3.6vw,36px) clamp(8px,1.6vw,16px);margin:32px 0}.legal-card details{padding:0;background:transparent}.legal-card summary{cursor:pointer;list-style:none;padding:24px 0;font-size:1.25rem;font-weight:650}.legal-card summary::after{content:"+";color:var(--blue)}.legal-card details[open] summary::after{content:"–"}.legal-card div{padding:0 0 26px;color:var(--muted)}.legal-page a:not(.button){color:var(--blue);text-decoration:underline}.meta{color:var(--subtle)}.meta{margin-top:34px;font-size:.92rem}.cookie-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(0,0,0,.52)}.cookie-card{position:relative;width:min(720px,100%);max-height:min(760px,calc(100svh - 40px));background:#fff;box-shadow:var(--shadow)}.cookie-close{position:absolute;border:1px solid var(--line);background:#fff;font-size:26px}.cookie-preferences{display:grid;gap:10px}.cookie-preferences label{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line)}.cookie-preferences small{display:block;color:var(--muted);min-height:auto}.cookie-preferences input{width:auto;transform:scale(1.2)}.cookie-note{font-size:.9rem}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease}.js .reveal.is-visible{opacity:1;transform:none;filter:none}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}@media (max-width:1040px){.menu-toggle{display:grid;place-content:center}.site-header{height:68px;padding-inline:16px}.nav{position:absolute;left:12px;right:12px;top:76px;display:grid;gap:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s}.menu-open .nav{opacity:1;transform:none;pointer-events:auto}.nav a{min-height:48px;padding:13px 14px;border-bottom:1px solid var(--line)}.nav a:last-child{border-bottom:0}.nav-cta{margin-left:0;text-align:center}.approach,.assessment-section,.contact-section,.hero,.split{grid-template-columns:1fr}.hero{padding-top:116px;gap:36px}.industry-grid,.insight-grid,.steps{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr 1fr}}@media (max-width:640px){body{font-size:16px}h1,h2{font-size:3.05rem;max-width:10.5ch}h2{font-size:2.55rem}.brand img{width:36px;height:36px}.brand strong{font-size:.88rem}.brand small{font-size:.56rem;letter-spacing:.1em}.contact-section,.hero,.legal-page,.section,.site-footer,.ticker{width:calc(100% - 24px)}.hero{min-height:auto;padding-top:104px;padding-bottom:44px}.form-grid,.hero-actions,.industry-grid,.insight-grid,.site-footer,.steps{grid-template-columns:1fr;display:grid}.button{width:100%;min-height:50px}.ticker{margin-bottom:42px}.section{padding:72px 0}.contact-section{margin:54px auto;padding:24px}.legal-page{padding:48px 0 60px}.cookie-card{padding:26px 18px}.cookie-actions{display:grid}.cookie-preferences label{align-items:flex-start}.site-footer{gap:28px;padding-top:48px}}.site-header{height:68px;padding-block:0}.brand{gap:11px}.brand img{width:40px;height:40px}.brand strong{font-size:.96rem;letter-spacing:-.015em}.brand small{font-size:.62rem;letter-spacing:.13em}.nav a{padding:10px 12px}.nav-cta{padding-inline:16px}.hero{grid-template-columns:minmax(0,1.02fr) minmax(340px,.72fr);gap:56px;padding-top:116px}.ticker{margin-top:-24px}.cookie-card{border-radius:0}.cookie-card p{max-width:64ch}.cookie-preferences label{color:var(--ink)}@media (max-width:1040px){.site-header{height:64px}.nav{top:72px;left:10px;right:10px;border-radius:0}.hero{padding-top:96px}.ticker{margin-top:0}.cookie-card{max-height:calc(100svh - 28px)}}@media (max-width:640px){body{font-size:15.8px}.site-header{height:62px;padding-inline:12px}.brand{gap:9px}.brand img{width:34px;height:34px}.brand strong{font-size:.82rem;max-width:158px;overflow:hidden;text-overflow:ellipsis}.brand small{font-size:.52rem;letter-spacing:.095em}.menu-toggle{width:44px;height:44px}.nav{top:68px;left:8px;right:8px;max-height:calc(100svh - 84px);overflow:auto}.nav a{min-height:46px}.hero{width:calc(100% - 28px);padding-top:92px;padding-bottom:34px;gap:28px}.hero h1,h1{font-size:clamp(2.56rem,12vw,3.02rem);line-height:1.01;max-width:12ch;letter-spacing:-.055em}.hero-lede{font-size:1rem;line-height:1.55;margin-top:18px}.hero-actions{gap:10px;margin-top:24px}.button{min-height:48px;padding:12px 16px}.ticker{width:100%;margin-bottom:28px;border-left:0;border-right:0}.ticker span{padding:16px 20px}.section{padding:58px 0}h2{font-size:clamp(2.18rem,10vw,2.56rem);line-height:1.02;max-width:12ch}.lead-copy{font-size:1rem;gap:16px}.industry-grid img{height:188px}.arrow-card,.industry-grid article,.insight-card,.steps li{min-height:auto}.contact-form,.quiz-card{padding:20px}.contact-section{gap:24px}.cookie-modal{align-items:end;padding:10px}.cookie-card{width:100%;max-height:min(82svh,720px);padding:22px 16px 18px}.cookie-card h2{font-size:2.08rem;max-width:12ch}.cookie-actions{gap:8px;margin:18px 0}.cookie-actions .button{min-width:0}.cookie-preferences label{padding:13px;gap:12px}.legal-page h1{font-size:2.75rem}.legal-page .lede{font-size:1.05rem}}@media (max-width:380px){.brand strong{max-width:132px}.brand small{display:none}.hero h1,h1{font-size:2.38rem}.cookie-card h2{font-size:1.88rem}}.industry-page{padding-top:138px}.industry-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:52px}.funding-note,.industry-detail-grid article,.industry-page-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.06)}.industry-detail-grid span,.industry-page-card span{display:block;color:var(--blue);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:18px}.industry-page-card h2{font-size:clamp(1.7rem,2.5vw,2.5rem);max-width:13ch;margin-bottom:18px}.industry-page-card p{min-height:92px}.card-link{display:inline-flex;margin-top:22px;color:var(--blue);font-weight:700}.section-link{margin-top:28px}.industry-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.industry-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:58px}.industry-detail-grid h2,.industry-outcomes h2{font-size:clamp(2rem,3.6vw,4rem);max-width:12ch;margin-bottom:22px}.funding-note h2{max-width:12ch;margin-bottom:22px}.industry-detail-grid ul{margin:0;padding-left:1.15rem;color:var(--muted)}.industry-detail-grid li+li{margin-top:10px}.fine-print{font-size:.88rem;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.industry-outcomes{margin-top:18px;background:var(--dark);color:#fff;padding:34px}.industry-outcomes p{color:#c6ccd6}.industry-outcomes h2{color:#fff}.industry-outcomes>div{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.industry-outcomes>div p{border-top:2px solid var(--blue);padding-top:14px}.funding-note{margin-top:18px;background:var(--bg-soft)}.funding-note h2{font-size:clamp(1.8rem,3vw,3rem)}.related-industries{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center}.related-industries strong{margin-right:8px}.related-industries a{border:1px solid var(--line);padding:9px 12px;background:#fff;color:var(--muted);font-size:.9rem}.related-industries a:hover{color:var(--ink);border-color:var(--blue)}@media (max-width:780px){.industry-page{padding-top:116px}.industry-card-grid,.industry-detail-grid,.industry-outcomes>div{grid-template-columns:1fr}.industry-page-card p{min-height:0}.industry-outcomes{padding:24px}.industry-hero-actions .button{width:100%;justify-content:center}}.announcement-strip{width:min(var(--max),calc(100% - 48px));margin:92px auto -76px;min-height:48px;display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(15,98,254,.18);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(15,23,42,.08);position:relative;z-index:3}.announcement-strip>span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;background:var(--dark);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.announcement-strip strong{font-size:.95rem;font-weight:650;color:var(--ink)}.announcement-strip a{margin-left:auto;color:var(--blue);font-weight:700}.hero-cinematic{padding-top:150px}.hero-proofline{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.hero-proofline span{padding:8px 11px;border:1px solid rgba(15,98,254,.18);background:rgba(255,255,255,.76);font-size:.78rem;font-weight:700;color:#334155;letter-spacing:.02em}.service-lab{width:100%;max-width:none;background:linear-gradient(180deg,#fff 0,#f6f8fb 100%);padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:0;overflow:hidden}.service-lab-head{width:min(760px,calc(100% - 48px));margin-left:0}.aicg-slider{margin-top:44px}.slider-toolbar{width:min(var(--max),calc(100vw - 48px));display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.slider-toolbar p{font-weight:650;color:#334155}.slider-controls{display:flex;gap:8px}.slider-controls button{color:var(--ink)}.slider-controls button,.slider-pagination button{border:1px solid var(--line);background:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.slider-controls button{width:48px;height:48px;font-size:1.1rem}.slider-controls button:hover,.slider-pagination button:hover{transform:translateY(-1px);border-color:var(--blue)}.slider-controls button:disabled{opacity:.38;cursor:not-allowed;transform:none}.slider-viewport{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding:8px max(24px,calc((100vw - var(--max))/2)) 24px 0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.slider-viewport::-webkit-scrollbar{height:10px}.slider-viewport::-webkit-scrollbar-thumb{background:#cbd5e1}.service-slide{flex:0 0 clamp(320px,31vw,430px);min-height:390px;display:grid;align-content:space-between;gap:24px;padding:30px;border:1px solid var(--line);background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.08);scroll-snap-align:start;transition:transform .22s,box-shadow .22s,border-color .22s}.service-slide:hover{transform:translateY(-4px);border-color:rgba(15,98,254,.35);box-shadow:0 36px 110px rgba(15,23,42,.13)}.service-slide span{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.service-slide p{font-size:1.02rem}.service-slide a{color:var(--blue);font-weight:750}.service-slide-dark{background:var(--dark);color:#fff}.service-slide-dark p{color:#cbd5e1}.service-slide-dark a,.service-slide-dark span{color:#8ab4ff}.slider-pagination{display:flex;gap:8px;flex-wrap:wrap;width:min(var(--max),calc(100vw - 48px));padding-bottom:8px}.slider-pagination button{min-width:48px;height:36px;font-size:.78rem;color:var(--muted)}.slider-pagination button.is-active{background:var(--blue);border-color:var(--blue);color:#fff}.cookie-modal{align-items:flex-end;justify-content:center;padding:18px;pointer-events:none;background:linear-gradient(180deg,rgba(11,15,25,0),rgba(11,15,25,.08))}.cookie-modal[hidden]{display:none!important}.cookie-card{pointer-events:auto;width:min(760px,calc(100vw - 28px));max-height:min(62svh,520px);overflow:auto;padding:22px 24px 18px;border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 70px rgba(15,23,42,.18);background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.cookie-card .eyebrow{margin-bottom:8px}.cookie-card h2{font-size:clamp(1.45rem,3vw,2.2rem);max-width:none;line-height:1.05}.cookie-card p{font-size:.96rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.cookie-actions .button{min-height:44px;padding:10px 14px;min-width:0}.cookie-preferences[hidden]{display:none!important}.cookie-preferences{margin-top:12px}.cookie-preferences label{padding:11px 12px}.cookie-close{top:10px;right:10px;width:34px;height:34px}@media (max-width:1040px){.announcement-strip{margin-top:82px;margin-bottom:-62px}.hero-cinematic{padding-top:128px}.service-lab{padding-left:16px}.slider-toolbar{width:calc(100vw - 32px)}.service-slide{flex-basis:clamp(300px,43vw,390px)}}@media (max-width:640px){.announcement-strip{width:calc(100% - 24px);margin-top:76px;margin-bottom:-58px;align-items:center;gap:8px;flex-wrap:nowrap;padding:8px 12px;min-height:40px}.announcement-strip strong{font-size:.86rem;line-height:1.25;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.announcement-strip a{margin-left:auto;width:auto;font-size:.85rem;white-space:nowrap;flex:0 0 auto}.hero-cinematic{padding-top:126px}.hero-proofline{gap:7px}.hero-proofline span{font-size:.72rem;padding:7px 9px}.service-lab{padding:58px 0 58px 14px}.service-lab-head{width:calc(100% - 28px)}.slider-toolbar{width:calc(100vw - 28px);align-items:flex-end}.slider-toolbar p{font-size:.92rem}.slider-controls button{width:42px;height:42px}.slider-viewport{gap:14px;padding-right:14px}.service-slide{flex:0 0 min(84vw,330px);min-height:360px;padding:22px}.service-slide h3{font-size:1.7rem}.service-slide p{font-size:.96rem}.slider-pagination{width:calc(100vw - 28px)}.cookie-modal{padding:8px;align-items:flex-end}.cookie-card{width:100%;max-height:48svh;padding:18px 14px 14px}.cookie-card h2{font-size:1.45rem;max-width:17ch}.cookie-card p{font-size:.88rem;line-height:1.42}.cookie-actions{gap:7px;margin:10px 0}.cookie-actions .button{width:auto;flex:1 1 145px;min-height:42px;font-size:.88rem}.cookie-preferences label{padding:9px 10px}.cookie-note{font-size:.82rem}}.cookie-modal:not([hidden]){position:fixed!important;inset:auto 0 0 0!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:auto!important;min-height:0!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0 18px 18px!important;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(15,23,42,.07))!important;pointer-events:none!important;z-index:80!important}.cookie-modal:not([hidden]) .cookie-card{pointer-events:auto!important;margin:0!important;transform:none!important;width:min(760px,calc(100vw - 36px))!important;max-height:min(48svh,420px)!important;border:1px solid rgba(15,23,42,.14)!important}.cookie-modal:not([hidden]) .cookie-card h2{font-size:clamp(1.34rem,2.4vw,1.9rem)!important}.cookie-modal:not([hidden]) .cookie-card p{font-size:.9rem!important}.cookie-modal:not([hidden]) .cookie-actions{margin:12px 0 8px!important}.cookie-modal:not([hidden]) .cookie-actions .button{min-height:40px!important;padding:9px 12px!important;font-size:.86rem!important}.cookie-modal:not([hidden]) .cookie-note{font-size:.82rem!important}@media (max-width:640px){.cookie-modal:not([hidden]){padding:0 8px 8px!important}.cookie-modal:not([hidden]) .cookie-card{width:100%!important;max-height:42svh!important;padding:14px 12px 12px!important}.cookie-modal:not([hidden]) .cookie-card h2{font-size:1.28rem!important}.cookie-modal:not([hidden]) .cookie-card p{font-size:.84rem!important}.cookie-modal:not([hidden]) .cookie-actions .button{flex:1 1 132px!important;min-height:38px!important;padding:8px 10px!important}.hero,.hero-cinematic{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;width:calc(100% - 28px)!important}.hero .eyebrow{width:auto!important;letter-spacing:.12em!important;line-height:1.35!important}.hero h1{max-width:11.5ch!important}.hero .eyebrow,.hero-lede{max-width:100%!important}}:root{--content:860px;--article:780px;--page-gutter:clamp(24px,5vw,72px)}.hero-lede{max-width:650px}.service-slide h3{font-size:clamp(1.45rem,2.1vw,2.05rem)!important;line-height:1.05!important;max-width:13ch!important}.article-page,.legal-page{width:min(var(--content),calc(100% - (var(--page-gutter)*2)))!important;margin:0 auto!important;padding:clamp(56px,8vw,96px)0 clamp(72px,10vw,120px)!important}.article-page{--content:840px}.article-page>*{max-width:var(--article)}.article-page h1{letter-spacing:-.047em!important;font-weight:460!important;margin:0 0 18px!important}.article-page .eyebrow{margin-bottom:18px!important}.article-meta{font-size:.98rem!important;color:var(--subtle)!important;margin:0 0 28px!important}.article-page .lede{font-size:clamp(1.1rem,1.7vw,1.28rem)!important;line-height:1.62!important;color:#393939!important;max-width:800px!important;margin:0 0 46px!important}.article-page li,.article-page p{font-size:1.065rem;line-height:1.72;color:#414141}.article-page p{margin:0 0 20px}.article-page h2{letter-spacing:-.035em!important;font-weight:520!important;max-width:720px!important;margin:52px 0 16px!important}.article-page ul{max-width:800px;margin:12px 0 28px;padding-left:1.25rem}.article-page li+li{margin-top:9px}.article-page a:not(.button){color:var(--blue);text-decoration:underline;text-underline-offset:3px}.article-cta{max-width:840px!important;margin:64px 0 28px!important;padding:34px!important;border:1px solid var(--line);background:linear-gradient(135deg,#f8fafc,#fff);box-shadow:0 20px 70px rgba(15,23,42,.07)}.article-cta h2{max-width:620px!important;margin:0 0 16px!important}.article-cta p{max-width:720px}.article-cta .button{text-decoration:none!important}.industry-page h1,.legal-page h1{line-height:1.02!important;letter-spacing:-.047em!important}.industry-page .lede,.legal-page .lede{font-size:clamp(1.08rem,1.7vw,1.28rem)!important;line-height:1.62!important;max-width:820px!important}.legal-page .insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:42px!important}.legal-page .insight-grid article{min-height:300px}.legal-page .insight-grid h3{line-height:1.12!important;letter-spacing:-.025em!important;font-size:clamp(1.22rem,1.6vw,1.55rem)!important}@media (max-width:900px){.legal-page .insight-grid{grid-template-columns:1fr!important}.legal-page .insight-grid article{min-height:auto}.article-page,.legal-page{width:min(100% - 40px,var(--content))!important}}@media (max-width:640px){.hero h1{font-size:clamp(2.32rem,10.2vw,2.82rem)!important;line-height:1.02!important;max-width:12.3ch!important}.section h2{font-size:clamp(1.95rem,8.6vw,2.35rem)!important;max-width:13ch}.article-page,.legal-page{width:calc(100% - 36px)!important;padding-top:42px!important}.article-page h1,.industry-page h1,.legal-page h1{font-size:clamp(2.05rem,9.2vw,2.65rem)!important;line-height:1.06!important;letter-spacing:-.04em!important}.article-page h2{font-size:clamp(1.45rem,6.8vw,1.9rem)!important;line-height:1.14!important;margin-top:38px!important}.article-page li,.article-page p{font-size:1rem;line-height:1.68}.article-page .lede{font-size:1.04rem!important;line-height:1.58!important;margin-bottom:36px!important}.article-cta{padding:22px!important;margin-top:46px!important}.article-cta h2{font-size:clamp(1.7rem,7.5vw,2.15rem)!important}}.hero h1{font-size:clamp(2.85rem,5.25vw,4.25rem)!important;line-height:1.01!important;max-width:15ch!important;letter-spacing:-.048em!important}.hero{min-height:auto!important;padding-bottom:70px!important}.article-page h1,.section h2{font-size:clamp(2rem,3.55vw,3.55rem)!important;line-height:1.05!important;max-width:15ch!important}.article-page h1{font-size:clamp(2.45rem,4.2vw,3.65rem)!important;max-width:860px!important}.article-page h2{font-size:clamp(1.62rem,2.25vw,2.15rem)!important;line-height:1.16!important}.article-cta h2{font-size:clamp(1.9rem,2.8vw,2.65rem)!important}.industry-page h1,.legal-page h1{font-size:clamp(2.45rem,4.25vw,3.9rem)!important;max-width:880px!important}.service-lab-head h2{max-width:720px!important}@media (max-width:640px){.hero h1{font-size:clamp(2.08rem,8.8vw,2.48rem)!important;max-width:none!important}.section h2{font-size:clamp(1.75rem,7.4vw,2.15rem)!important;max-width:14ch!important}.article-page h1,.industry-page h1,.legal-page h1{font-size:clamp(1.9rem,8vw,2.32rem)!important;line-height:1.08!important}.article-page h2{font-size:clamp(1.35rem,5.8vw,1.72rem)!important}.article-cta h2{font-size:clamp(1.55rem,6.4vw,1.95rem)!important}}.proof-panel{width:min(var(--max),calc(100% - 48px));margin:20px auto 90px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:64px;align-items:start;padding:72px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-statement h2{font-size:clamp(2.2rem,3.8vw,3.75rem)!important;line-height:1.04!important;max-width:780px!important}.proof-statement p:not(.eyebrow){max-width:760px;font-size:1.12rem;line-height:1.65;margin-top:18px}.proof-tabs{border-left:1px solid var(--line);padding-left:40px}.proof-tabs .experience-grid{margin-bottom:30px;box-shadow:none}.proof-tabs .experience-grid strong{font-size:clamp(1.9rem,2.6vw,2.7rem)}.proof-tabs .experience-grid span{font-size:.82rem}.insight-grid-editorial{grid-template-columns:repeat(3,minmax(0,1fr))!important}.insight-grid-editorial .insight-card{min-height:360px;display:grid;align-content:space-between}.insight-grid-editorial .insight-card h3{font-size:clamp(1.28rem,1.85vw,1.75rem)!important;line-height:1.12!important;max-width:13ch}.insight-grid-editorial .insight-card span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}@media (max-width:1040px){.proof-panel{grid-template-columns:1fr;gap:34px}.proof-tabs{border-left:0;padding-left:0}}@media (max-width:640px){.proof-panel{width:calc(100% - 28px);margin:10px auto 52px;padding:48px 0;gap:28px}.proof-statement h2{font-size:clamp(1.85rem,7.4vw,2.25rem)!important}.proof-statement p:not(.eyebrow){font-size:1rem}.insight-grid-editorial{grid-template-columns:1fr!important}.insight-grid-editorial .insight-card{min-height:auto}}.capability-cloud{width:min(var(--max),calc(100% - 48px));margin:30px auto 78px;padding:70px 0;border-top:1px solid rgba(15,23,42,.12)}.capability-cloud-head{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:end;margin-bottom:28px}.capability-cloud-head h2{font-size:clamp(2rem,3.45vw,3.45rem)!important;line-height:1.04!important;max-width:700px!important}.capability-cloud-head p:not(.eyebrow){max-width:620px;font-size:1.06rem;line-height:1.65}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:0 22px 80px rgba(15,23,42,.08)}.capability-grid article{min-height:264px;background:linear-gradient(180deg,#fff,#f8fafc);padding:28px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;overflow:hidden;transition:transform .24s ease,background .24s ease}.capability-grid article::before{content:"";position:absolute;inset:18px 18px auto auto;width:84px;height:84px;border:1px solid rgba(15,98,254,.16);background:radial-gradient(circle at 35% 35%,rgba(8,189,186,.22),transparent 48%),linear-gradient(135deg,rgba(15,98,254,.12),transparent);transform:rotate(45deg);transition:transform .28s ease}.capability-grid article:hover{transform:translateY(-8px);background:#fff}.capability-grid article:hover::before{transform:rotate(45deg) scale(1.18)}.capability-grid span{font-size:.78rem;font-weight:800;letter-spacing:.14em;color:var(--blue);margin-bottom:22px}.capability-grid h3{font-size:clamp(1.22rem,1.75vw,1.68rem)!important;line-height:1.08!important;max-width:12ch!important;margin-bottom:14px}.capability-grid p{font-size:.98rem;line-height:1.58;color:#4b5563}@media (max-width:1040px){.capability-cloud-head{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.capability-cloud{width:calc(100% - 28px);margin:14px auto 52px;padding:46px 0}.capability-cloud-head{gap:18px}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:0;padding:20px 22px}0%{transform:rotate(0deg) translateX(88px) rotate(0deg)}to{transform:rotate(360deg) translateX(88px) rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.capability-grid article{transition:none!important}}.site-header{will-change:transform}.menu-open .site-header,.site-header:focus-within{transform:translateX(-50%)}.page-shell{padding-top:92px}.page-hero{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:86px 0 64px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.65rem,5.6vw,5.25rem)!important;line-height:1.02!important;max-width:950px!important}.page-hero .lede{font-size:clamp(1.08rem,1.75vw,1.32rem);line-height:1.62;color:#374151;max-width:820px;margin-top:24px}.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.page-split{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:88px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;border-bottom:1px solid var(--line)}.page-split h2{font-size:clamp(2rem,3.6vw,3.55rem)!important;line-height:1.05!important;max-width:760px!important}.page-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);box-shadow:0 22px 80px rgba(15,23,42,.07)}.page-band,.page-card-grid,.partner-grid{width:min(var(--max),calc(100% - 48px));margin:0 auto 90px;border:1px solid var(--line)}.partner-grid{display:grid;gap:1px;background:var(--line);box-shadow:0 22px 80px rgba(15,23,42,.07);grid-template-columns:repeat(3,minmax(0,1fr))}.page-card-grid article,.partner-grid article{min-height:286px;background:#fff;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.page-card-grid article::before,.partner-grid article::before{content:"";position:absolute;right:22px;top:22px;width:54px;height:54px;border:1px solid rgba(15,98,254,.18);background:linear-gradient(135deg,rgba(15,98,254,.1),rgba(8,189,186,.12));transform:rotate(45deg)}.page-card-grid span,.partner-grid span,.resource-rail span,.solution-matrix span,.tool-showcase span{color:var(--blue);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:16px}.page-card-grid h3,.partner-grid h3{font-size:clamp(1.25rem,1.7vw,1.65rem)!important;line-height:1.08!important;max-width:14ch!important;margin-bottom:14px}.page-card-grid p,.partner-grid p{font-size:.98rem;line-height:1.58}.page-band{padding:54px;background:#f8fafc}.page-band.dark{background:var(--dark);color:#fff;border-color:var(--dark)}.page-band.dark h2,.page-band.dark p:not(.eyebrow){color:#fff}.page-band h2{font-size:clamp(2rem,3.4vw,3.35rem)!important;max-width:820px!important}.page-band p:not(.eyebrow){max-width:760px;font-size:1.08rem;line-height:1.65;margin-top:18px}.stack-list{display:grid;gap:18px}.stack-list p{font-size:1.08rem;line-height:1.66;padding-bottom:18px;border-bottom:1px solid var(--line)}.resource-rail,.solution-matrix,.tool-showcase{width:min(var(--max),calc(100% - 48px));margin:0 auto 90px;display:grid}.solution-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.solution-matrix article{min-height:360px;padding:34px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}.solution-matrix h2{font-size:clamp(1.7rem,2.6vw,2.65rem)!important;max-width:13ch!important;margin-bottom:18px}.resource-rail,.tool-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-rail article,.tool-showcase article{padding:28px;border:1px solid var(--line);display:flex;flex-direction:column}.tool-showcase article{min-height:360px;background:linear-gradient(180deg,#fff,#f8fafc)}.resource-rail h2,.tool-showcase h2{font-size:clamp(1.55rem,2.2vw,2.2rem)!important;line-height:1.06!important;max-width:12ch!important;margin-bottom:16px}.tool-showcase p{line-height:1.62}.resource-rail a,.tool-showcase a{margin-top:auto;padding-top:22px;color:var(--blue);font-weight:750}.resource-rail article{min-height:330px;background:#fff}.resource-rail h2{font-size:clamp(1.5rem,2.1vw,2.1rem)!important;line-height:1.08!important}@media (max-width:1040px){.page-split,.solution-matrix{grid-template-columns:1fr}.page-card-grid,.partner-grid,.resource-rail,.tool-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.page-shell{padding-top:78px}}@media (max-width:640px){.site-header.is-hidden{transform:translate(-50%,-112%)}.page-shell{padding-top:68px}.page-band,.page-card-grid,.page-hero,.page-split,.partner-grid,.resource-rail,.solution-matrix,.tool-showcase{width:calc(100% - 28px)}.page-hero{padding:54px 0 44px}.page-hero h1{font-size:clamp(2.05rem,8.8vw,2.65rem)!important}.page-hero .lede{font-size:1.02rem}.page-actions{display:grid}.page-split{padding:54px 0;gap:22px}.page-card-grid,.partner-grid,.resource-rail,.solution-matrix,.tool-showcase{grid-template-columns:1fr;margin-bottom:58px}.page-card-grid article,.partner-grid article{min-height:220px}.resource-rail article,.solution-matrix article,.tool-showcase article{min-height:auto}.page-band{padding:26px;margin-bottom:58px}}.compact-header{height:62px!important;min-height:62px!important;padding-block:0!important}.compact-header .brand img{width:36px!important;height:36px!important}.compact-header .brand strong{font-size:.9rem!important}.compact-header .brand small{font-size:.55rem!important}.nav-compact{gap:0!important}.nav-compact a{padding:8px 10px!important;font-size:.86rem!important;line-height:1!important;white-space:nowrap}.nav-compact .nav-cta{padding:10px 13px!important;margin-left:6px!important}.site-header.is-hidden{transform:translate(-50%,-110%)!important}@media (max-width:1040px){.compact-header{height:60px!important;padding-inline:12px!important}.compact-header .brand{gap:8px!important}.compact-header .brand img{width:32px!important;height:32px!important}.compact-header .brand strong{font-size:.8rem!important;max-width:152px;overflow:hidden;text-overflow:ellipsis}.compact-header .brand small{display:none}.nav-compact{top:66px!important;left:8px!important;right:8px!important;display:grid!important;gap:0!important;max-height:none!important;overflow:visible!important;padding:8px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 18px 58px rgba(15,23,42,.14)!important;opacity:0!important;transform:translateY(-8px)!important;pointer-events:none!important}.menu-open .nav-compact{opacity:1!important;transform:none!important;pointer-events:auto!important}.nav-compact a{display:flex!important;align-items:center!important;min-height:42px!important;padding:10px 12px!important;border-bottom:1px solid var(--line)!important;font-size:.95rem!important;line-height:1.2!important}.nav-compact a:last-child{border-bottom:0!important}.nav-compact .nav-cta{margin-left:0!important;justify-content:center!important;min-height:44px!important;margin-top:6px!important}.menu-toggle{width:42px!important;height:42px!important}}@media (max-width:640px){.compact-header{height:58px!important}.nav-compact{top:64px!important}.site-header.is-hidden{transform:translate(-50%,-108%)!important}}@media (max-width:1040px){.nav-compact{transition:none!important;background:#fff!important;backdrop-filter:none!important}.menu-open .nav-compact{opacity:1!important;background:#fff!important}.menu-open main{filter:none!important}}.motion-paused,.motion-paused *{animation-play-state:paused!important}.scroll-progress{height:3px;background:linear-gradient(90deg,var(--cyan),var(--blue))}.premium-motion .capability-grid article,.premium-motion .industry-grid article,.premium-motion .insight-card,.premium-motion .page-card-grid article,.premium-motion .partner-grid article,.premium-motion .resource-rail article,.premium-motion .solution-matrix article,.premium-motion .tool-showcase article{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,background .32s ease,filter .32s ease}.premium-motion .capability-grid article:hover,.premium-motion .industry-grid article:hover,.premium-motion .insight-card:hover,.premium-motion .page-card-grid article:hover,.premium-motion .partner-grid article:hover,.premium-motion .resource-rail article:hover,.premium-motion .solution-matrix article:hover,.premium-motion .tool-showcase article:hover{transform:translateY(-10px);box-shadow:0 28px 90px rgba(15,23,42,.13);filter:saturate(1.05)}.premium-motion .button{position:relative;overflow:hidden}.premium-motion .button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.36),transparent 80%);transform:translateX(-120%);transition:transform .55s ease}.premium-motion .button:hover::after{transform:translateX(120%)}.ticker span{animation:none}.scroll-progress{position:fixed;left:0;top:0;width:calc(var(--scroll-progress,0)*100%);z-index:99;box-shadow:0 0 24px rgba(15,98,254,.55);pointer-events:none}.js .reveal{will-change:transform,opacity}.js .reveal.is-visible{animation:premiumSettle .72s cubic-bezier(.2,.8,.2,1) both}.js .reveal:nth-of-type(odd).is-visible{animation-name:premiumSettleAlt}@media (max-width:640px){.premium-motion .capability-grid article:hover,.premium-motion .industry-grid article:hover,.premium-motion .insight-card:hover,.premium-motion .page-card-grid article:hover,.premium-motion .partner-grid article:hover,.premium-motion .resource-rail article:hover,.premium-motion .solution-matrix article:hover,.premium-motion .tool-showcase article:hover{transform:none}}@media (prefers-reduced-motion:reduce){.js .reveal.is-visible,.ticker span{animation:none!important}.premium-motion .button::after{display:none}}.site-header.is-hidden{pointer-events:none}.site-header:not(.is-hidden){pointer-events:auto}.contact-form .privacy-copy,.contact-form .privacy-copy a{color:#393939}.contact-form .privacy-copy a{text-decoration:underline;text-underline-offset:3px}:root{--font:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;--warm:#f7f3eb;--bronze:#9f6b2f;--navy:#172033}.experience-copy h2{font-size:clamp(2rem,3.35vw,3.35rem)!important;line-height:1.05!important;max-width:760px!important}.experience-copy p:not(.eyebrow){max-width:670px;font-size:1.06rem;line-height:1.64}.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:0;background:0 0;border:1px solid var(--line);box-shadow:0 22px 76px rgba(15,23,42,.07)}.experience-grid article{min-height:166px;background:linear-gradient(180deg,#fff,#f8fafc);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-grid strong{font-size:clamp(2.2rem,4.2vw,4.2rem);line-height:.9;color:var(--teal);font-weight:460;letter-spacing:-.06em}.experience-grid span{font-size:.88rem;font-weight:700;line-height:1.3;color:#334155}@media (max-width:1040px){.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.experience-copy h2{font-size:clamp(1.85rem,7.4vw,2.24rem)!important}.experience-copy p:not(.eyebrow){font-size:1rem}.experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:auto;padding:18px}.experience-grid strong{font-size:3.25rem}}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-500.woff2)format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-600.woff2)format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-700.woff2)format("woff2")}.founder{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;margin-top:8px}.founder-body h3{margin-bottom:4px}.founder-role{color:var(--blue);font-weight:700;font-size:.92rem;margin:0 0 14px}.founder-body p{margin-bottom:14px}.team-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px}.team-roster article{background:#fff;padding:22px}.team-roster h3{font-size:1.05rem;margin-bottom:8px}.team-roster p{font-size:.95rem;line-height:1.55;color:var(--muted)}@media (max-width:640px){.founder{gap:18px}.founder,.team-roster{grid-template-columns:1fr}}.founder-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 auto}.founder-links{margin-top:6px}.founder-links a{color:var(--blue);font-weight:700}:target{scroll-margin-top:92px}::selection{background:var(--blue);color:#fff}.article-hero,.insight-grid article img{display:block;width:100%;object-fit:cover;border:1px solid var(--line)}.article-hero{aspect-ratio:16/7;margin:6px 0 34px}.insight-grid article img{height:180px;margin-bottom:18px}@media (max-width:640px){.article-hero{aspect-ratio:16/9;margin-bottom:24px}}
/* ===== UI fixes pass (2026-06-09): screenshots batch ===== */
/* #1 smoother reveals — drop the janky blur filter from reveal animations */
@keyframes premiumSettle{from{transform:translateY(20px);opacity:.001}to{transform:translateY(0);opacity:1}}
@keyframes premiumSettleAlt{from{transform:translateY(20px) translateX(-6px);opacity:.001}to{transform:translateY(0) translateX(0);opacity:1}}
/* #2 reduce the big gap between the readiness assessment and insights sections */
#assessment{padding-bottom:44px}
#insights{padding-top:44px}
/* #3 stop "Fortune" overflowing its stat cell at mid widths */
.experience-grid strong{font-size:clamp(1.9rem,3vw,2.7rem)!important;letter-spacing:-.03em!important;line-height:1.04!important;overflow-wrap:break-word}
.experience-grid article{min-width:0;overflow:hidden}
/* #4 sector chips are now links — chip styling + hover */
.sector-links{gap:9px}
.sector-links a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(15,98,254,.2);background:rgba(255,255,255,.78);font-size:.78rem;font-weight:700;color:#334155;letter-spacing:.02em;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}
.sector-links a:hover,.sector-links a:focus-visible{border-color:var(--blue);color:var(--blue);background:#fff;transform:translateY(-2px)}
/* #5 clear hover animation on capability cards (works even where JS tilt doesn't) */
.capability-grid article{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,background .28s ease}
.capability-grid article:hover{box-shadow:0 26px 72px rgba(15,23,42,.16);background:#fff}
.capability-grid article:hover::before{transform:rotate(45deg) scale(1.28)}
/* #6 themes ticker — news-style auto-scroll marquee */
.ticker{overflow:hidden!important}
.ticker-track{display:flex;flex:0 0 auto;width:max-content;animation:tickerScroll 48s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* #8 industries — pin the "Explore →" links to the bottom so they line up */
.industry-grid article{display:flex;flex-direction:column}
.industry-grid article p{padding-bottom:16px}
.industry-grid article .card-link{margin-top:auto;padding:0 24px 26px}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* page-shell readability (2026-06-09): intro prose + FAQ width were stretching full-width */
.page-shell>p{width:min(760px,calc(100% - 48px));margin:0 auto 8px}
.page-shell .legal-card{width:min(var(--content),calc(100% - 48px));margin:44px auto 0}
.page-shell .legal-card h2{font-size:clamp(1.7rem,2.6vw,2.35rem)!important;line-height:1.12!important;max-width:24ch!important;margin-bottom:6px}
.page-shell .legal-card summary{padding:20px 0}
.tool-showcase article,.resource-rail article,.solution-matrix article{display:flex;flex-direction:column}
.tool-showcase a,.resource-rail a,.solution-matrix a{margin-top:auto}



/* ===== industry pages: hero image + even typography & spacing (2026-06-10) ===== */
.industry-hero-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);box-shadow:0 24px 80px rgba(15,23,42,.10);margin:10px 0 44px}
/* one consistent heading scale across every section (kills giant fall-through h2s) */
.industry-page h2{font-size:clamp(1.7rem,2.7vw,2.4rem)!important;line-height:1.14!important;letter-spacing:-.03em!important;max-width:24ch}
.industry-page .industry-detail-grid h2,.industry-page .industry-outcomes h2,.industry-page .funding-note h2{max-width:18ch!important}
.industry-page .legal-card h2{max-width:32ch!important;margin-bottom:6px}
/* even paragraph rhythm — plain <p> had margin:0 so the intro paragraphs were touching */
.industry-page>p:not(.eyebrow):not(.lede){max-width:72ch;margin:0 0 22px;font-size:1.06rem;line-height:1.7;color:#334155}
.industry-page>section>p{margin:0 0 16px;line-height:1.7}
.industry-page>section>p:last-child{margin-bottom:0}
.industry-page .lede{max-width:60ch}
/* even, consistent vertical rhythm between sections */
.industry-page>section{margin-top:62px}
.industry-page .industry-detail-grid{margin-top:56px;grid-template-columns:1fr 1fr;gap:22px}
.industry-page .industry-outcomes,.industry-page .funding-note{margin-top:62px}
/* industries hub now uses the standard full-width page-shell (was a narrow legal-page column);
   constrain its funding-note to the content width so it doesn't full-bleed. Scoped to page-shell,
   so the industry DETAIL pages (still legal-page) are unaffected. */
.page-shell .funding-note{width:min(var(--max),calc(100% - 48px));margin:52px auto 0}
.industry-page .related-industries{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}
@media (max-width:760px){
  .industry-hero-photo{margin:6px 0 30px}
  .industry-page .industry-detail-grid{grid-template-columns:1fr;gap:16px}
  .industry-page>section{margin-top:46px}}
.experience-grid{grid-template-columns:1fr!important;grid-auto-rows:1fr!important}
.experience-grid article{min-height:0!important;border-right:none!important}
.experience-grid article:last-child{border-bottom:none!important}
@media (max-width:1040px){
  .experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important}
  .experience-grid article{border-right:1px solid var(--line)!important;border-bottom:none!important}
  .experience-grid article:last-child{border-right:none!important}}
@media (max-width:560px){
  .experience-grid{grid-template-columns:1fr!important}
  .experience-grid article{border-right:none!important;border-bottom:1px solid var(--line)!important}
  .experience-grid article:last-child{border-bottom:none!important}}

/* ===== hero efficiency cards: even centered stack{justify-self:center!important;width:min(76%,440px)!important;max-width:min(76%,440px)!important}


/* ===== services carousel: even card spacing, CTA pinned to bottom (2026-06-10) ===== */
.service-slide{display:flex!important;flex-direction:column;align-content:normal;gap:14px}
.service-slide h3{margin:2px 0 0}
.service-slide p{margin:0}
.service-slide a{margin-top:auto;padding-top:8px}


/* ===== fix: scroll-progress glow showing as a blue blob top-left at 0 scroll (2026-06-10) ===== */
.scroll-progress{box-shadow:none!important}


/* ===== unified fixed header (2026-06-10): content pages now use the sticky site-header, so clear it ===== */
.legal-page,.article-page{padding-top:clamp(84px,8vw,108px)!important}
:target{scroll-margin-top:88px}
#main{scroll-margin-top:88px}

/* 2026-06-10 polish pass 2: purposeful corner diamonds (number sits in the mark), deeper image-band scrim for headline contrast, wider pattern-rail titles, industry hub photos */
.capability-grid article::before{width:54px;height:54px;inset:22px 22px auto auto;border:1.5px solid rgba(15,98,254,.32);background:linear-gradient(135deg,rgba(15,98,254,.10),rgba(8,189,186,.18))}
.capability-grid article::after{content:"";position:absolute;top:15px;right:15px;width:68px;height:68px;border:1px solid rgba(15,98,254,.14);transform:rotate(45deg);pointer-events:none;transition:transform .28s ease}
.capability-grid article:hover::after{transform:rotate(45deg) scale(1.12)}
.partner-grid article::before{width:44px;height:44px;right:24px;top:24px;border:1.5px solid rgba(15,98,254,.28);background:linear-gradient(135deg,rgba(15,98,254,.08),rgba(8,189,186,.16))}
.partner-grid article::after{content:"";position:absolute;right:17px;top:17px;width:58px;height:58px;border:1px solid rgba(15,98,254,.12);transform:rotate(45deg);pointer-events:none}
@media (max-width:760px){.industry-card-grid{grid-template-columns:1fr}}

/* ===== Hero orchestrator (efficiency sequence) — clean rebuild 2026-06-10 =====
   Replaces 6 strata of layered !important overrides. Motion rules:
   - transitions touch only compositor-friendly properties (opacity, background,
     border-color, box-shadow) — never width/min-height/display;
   - the one structural reveal (card detail) uses the cross-browser
     grid-template-rows 0fr -> 1fr accordion technique with an inner fade;
   - constant card width + align-content:start so the stack only ever pushes
     downward, and the panel's own height never changes -> zero page-level CLS. */
.hero-cinema{position:relative;background:linear-gradient(145deg,var(--dark),#111827 58%,#07152a);overflow:hidden;box-shadow:var(--shadow);isolation:isolate;min-height:580px}
@media (max-width:640px){
  .hero-cinema{box-shadow:0 18px 54px rgba(0,0,0,.18)}}

/* ===== Pinned operating-model stage — Apple-style scroll scrub (2026-06-10) =====
   Tall wrapper (460vh) + sticky 100dvh viewport: the page scrollbar keeps moving while
   the stage stays pinned; scroll progress (set as --stage-p by script.js) scrubs the
   phase. All per-frame motion is transform/opacity only; the progress bar is a scaleX. */
.pin-stage{position:relative;height:460vh}
.pin-viewport{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:30px}
.domo-scroll-lab .pin-viewport{background:linear-gradient(160deg,#060d18,#0b1830 55%,#07152a);color:#e2e8f0}
.scroll-lab-kicker{width:min(var(--max),calc(100% - 48px));margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px}
.scroll-lab-kicker span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9bd8ff;font-weight:800}
.scroll-lab-kicker a{color:#fff;font-weight:600;font-size:.92rem}
.scroll-lab-layout{width:min(var(--max),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:58px;align-items:center}
.scroll-lab-copy .eyebrow{color:#9bd8ff}
.scroll-lab-copy h2{font-size:clamp(1.7rem,2.7vw,2.4rem);line-height:1.08;letter-spacing:-.025em;color:#fff;margin:10px 0 14px}
.lab-intro{color:#94a3b8;font-size:.95rem;max-width:52ch}
.scroll-lab-tabs{display:grid;gap:9px;margin-top:26px}
.scroll-lab-tabs button{appearance:none;display:flex;align-items:baseline;gap:14px;padding:11px 14px;border:1px solid rgba(255,255,255,.13);border-left:3px solid rgba(255,255,255,.13);border-radius:0;background:rgba(255,255,255,.04);color:#cbd5e1;text-align:left;font:inherit;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,opacity .3s ease;opacity:.85}
.scroll-lab-tabs button strong{color:#9bd8ff;font-size:.78rem;letter-spacing:.08em}
.scroll-lab-tabs button span{font-size:.96rem;font-weight:600}
.scroll-lab-tabs button:hover{opacity:1;border-color:rgba(8,189,186,.4)}
.scroll-lab-tabs button.is-active{background:rgba(8,189,186,.12);border-color:rgba(8,189,186,.45);border-left-color:var(--cyan);color:#fff;opacity:1}
.pin-progress{display:flex;align-items:center;gap:14px;margin-top:24px}
.pin-count{font-size:.72rem;letter-spacing:.14em;color:#9bd8ff;font-weight:800;min-width:58px}
.pin-bar{position:relative;flex:1;height:2px;background:rgba(255,255,255,.14)}
.pin-bar b{position:absolute;inset:0;background:linear-gradient(90deg,var(--cyan),var(--blue));transform-origin:left center;transform:scaleX(var(--stage-p,0))}
.scroll-lab-right{display:grid;gap:26px}
.pin-scenes{position:relative;min-height:225px}
.pin-scenes .scene{position:absolute;inset:0;display:grid;align-content:start;gap:10px;opacity:0;transform:translateY(36px) scale(.965);transition:opacity .16s ease-out,transform .16s ease-out;pointer-events:none}
.pin-scenes .scene .eyebrow{color:#9bd8ff}
.pin-scenes .scene h3{font-size:clamp(1.35rem,2.1vw,1.95rem);line-height:1.12;letter-spacing:-.02em;color:#fff;margin:0}
.pin-scenes .scene p:not(.eyebrow){color:#cbd5e1;font-size:.98rem;line-height:1.55;max-width:50ch}
.pin-scenes .scene.is-current{opacity:1;transform:none;pointer-events:auto;transition:opacity .42s cubic-bezier(.2,.8,.2,1) .1s,transform .42s cubic-bezier(.2,.8,.2,1) .1s}
.pin-scenes .scene.is-past{opacity:0;transform:translateY(-28px) scale(1.03)}
.scroll-lab-visual .lab-screen{position:relative;height:280px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(160deg,rgba(10,20,38,.92),rgba(7,15,28,.96));box-shadow:0 30px 90px rgba(0,0,0,.4);overflow:hidden;transform:translateY(calc((1 - var(--stage-p,0))*16px))}
.lab-screen-top{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.lab-screen-top span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22)}
.lab-orbit{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:190px;height:190px}
.lab-orbit i{position:absolute;inset:0;border:1px dashed rgba(8,189,186,.35);border-radius:50%;animation:labOrbit 16s linear infinite}
.lab-orbit i:nth-child(2){inset:24px;animation-duration:11s;animation-direction:reverse}
.lab-orbit i:nth-child(3){inset:48px;animation-duration:8s;border-color:rgba(15,98,254,.4)}
@media (max-width:1040px){
  .scroll-lab-layout{grid-template-columns:1fr;gap:30px;align-items:start}
  .pin-viewport{justify-content:flex-start;padding:64px 0 40px;gap:22px}
  .scroll-lab-copy h2{font-size:clamp(1.4rem,4.6vw,1.9rem)}
  .lab-intro{display:none}
  .scroll-lab-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
  .scroll-lab-tabs button{padding:9px 11px;gap:9px}
  .scroll-lab-tabs button span{font-size:.84rem}
  .scroll-lab-visual{display:none}
  .pin-scenes{min-height:205px}
}
@media (max-width:640px){
  .pin-stage{height:420vh}
  .pin-viewport{padding:54px 0 34px}
  .scroll-lab-kicker a{display:none}
}
@media (max-height:560px){
  .scroll-lab-visual{display:none}
  .lab-intro{display:none}
}
/* Static fallback: no JS or reduced motion -> unpinned, scenes stacked and readable */
@media (prefers-reduced-motion:reduce){
  .pin-stage{height:auto}
  .pin-viewport{position:static;height:auto;padding:84px 0}
  .pin-scenes{min-height:0;display:grid;gap:26px}
  .pin-scenes .scene{position:static;opacity:1;transform:none;pointer-events:auto;transition:none}
  .pin-progress{display:none}
}
html:not(.js) .pin-stage{height:auto}
html:not(.js) .pin-viewport{position:static;height:auto;padding:84px 0}
html:not(.js) .pin-scenes{min-height:0;display:grid;gap:26px}
html:not(.js) .pin-scenes .scene{position:static;opacity:1;transform:none;pointer-events:auto}
html:not(.js) .pin-progress{display:none}

/* Per-phase lab panels (2026-06-10): each phase gets a distinct visual that zooms
   through with the scrub. Visibility driven purely by [data-stage] set in script.js;
   transitions are opacity/transform only. */
.lab-panel{position:absolute;inset:42px 0 0;opacity:0;transform:scale(.92) translateY(18px);transition:opacity .16s ease-out,transform .2s ease-out;pointer-events:none}
.lab-screen[data-stage="0"] .lab-panel[data-stage-panel="0"],.lab-screen[data-stage="1"] .lab-panel[data-stage-panel="1"],.lab-screen[data-stage="2"] .lab-panel[data-stage-panel="2"],.lab-screen[data-stage="3"] .lab-panel[data-stage-panel="3"],.lab-screen:not([data-stage]) .lab-panel[data-stage-panel="0"]{opacity:1;transform:none;transition:opacity .4s cubic-bezier(.2,.8,.2,1) .08s,transform .45s cubic-bezier(.2,.8,.2,1) .08s}
.lab-viz{position:absolute;inset:0 0 34px;display:grid;place-items:center}
.lab-viz svg{width:min(76%,330px);height:auto}
.lab-chip{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:#9bd8ff;border:1px solid rgba(8,189,186,.32);padding:5px 11px;background:rgba(3,7,18,.55);white-space:nowrap}
/* compact visual on tall phones (otherwise hidden by the 1040px rule above) */
@media (max-width:1040px) and (min-height:800px){
  .scroll-lab-visual{display:block}
  .scroll-lab-visual .lab-screen{height:200px}
  .lab-viz svg{width:min(70%,260px)}
  .lab-bars{height:64px}
  .lab-bars i{width:20px}
  .lab-mini{padding:6px 9px}
  .lab-mini strong{font-size:.84rem}
  .lab-gauge{width:78px;height:78px}
  .lab-gauge b{width:56px;height:56px;font-size:.85rem}
  .lab-chip{display:none}
}
@media (prefers-reduced-motion:reduce){.lab-panel{transition:none}}

/* Pinned horizontal services slider (2026-06-10): vertical scroll scrubs the carousel
   horizontally while the section is pinned; releases when the rail is fully traversed.
   Arrows/dots hide in pin mode (scroll does the traversal); they return for
   reduced-motion / no-JS users{height:330vh}
.pin-slider-active .slider-controls,.pin-slider-active .slider-pagination{display:none!important}
.pin-slider-active .slider-viewport{scroll-snap-type:none!important;overflow-x:hidden!important}

/* ===== Lead capture: footer newsletter, quiz capture, contact founder card (2026-06-11) ===== */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.footer-news{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:22px 24px;border:1px solid var(--line);background:linear-gradient(135deg,#f8fafc,#fff);margin:8px 0 18px}
.footer-news-copy strong{display:block;font-size:1.02rem;letter-spacing:-.01em}
.footer-news-copy p{margin:4px 0 0;color:#64748b;font-size:.86rem}
.news-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.news-form input[type=email]{padding:11px 14px;border:1px solid var(--line);background:#fff;font:inherit;min-width:230px}
.news-form input[type=email]:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.news-status{flex-basis:100%;font-size:.8rem;color:#64748b;min-height:1em}
.news-done{margin:0;font-weight:600;color:var(--teal,#007d79)}
.quiz-capture{margin-top:18px;padding:18px 20px;border:1px solid var(--line);background:#fff}
.quiz-capture p{margin:0 0 12px;font-size:.88rem;color:#475569}
.quiz-capture-row{display:flex;gap:10px;flex-wrap:wrap}
.quiz-capture-row input[type=email]{flex:1;min-width:200px;padding:11px 14px;border:1px solid var(--line);font:inherit}
.quiz-capture-row input[type=email]:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.capture-status{display:block;margin-top:8px;font-size:.8rem;color:#64748b;min-height:1em}
.contact-founder{display:flex;gap:14px;align-items:center;margin-top:22px;padding:16px 18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.contact-founder img{border-radius:50%;width:56px;height:56px;object-fit:cover}
.contact-founder strong{display:block;color:#fff;font-size:.98rem}
.contact-founder span{display:block;color:#9bd8ff;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.contact-founder em{display:block;color:#cbd5e1;font-size:.82rem;font-style:normal;margin-top:5px}
@media (max-width:760px){
  .footer-news{flex-direction:column;align-items:stretch}
  .news-form input[type=email]{min-width:0;flex:1}
}
@media (min-width:761px){.assessment-section .quiz-capture{grid-column:2}}

/* ===== Vertical-rhythm normalization (2026-06-11) — from the site-wide spacing audit =====
   Hub intro paragraphs were flush (8px) against hero/grid; grids left 178px before the
   next band; security/responsible-ai prose had zero heading margins; homepage and About
   had 232-272px outliers vs the ~200px section norm. */
.page-intro{width:min(760px,calc(100% - 48px));margin:60px auto 64px;display:grid;gap:14px}
.page-intro p{margin:0;width:100%}
.page-shell .tool-showcase,.page-shell .solution-matrix,.page-shell .resource-rail,.page-shell .partner-grid{margin-bottom:48px}
.legal-page > h2{margin:40px 0 12px}
.legal-page > p:not(.lede):not(.meta){margin:0 0 16px}
.contact-section{margin-top:40px}
.page-shell .page-band.dark{margin-bottom:34px}
.industry-hero-photo{margin-top:26px}
@media (max-width:760px){.page-intro{margin:40px auto 44px}}

/* polish layer 2026-06-11: footer grid, newsletter form, approach width, capability head, stat rows, insight titles */
.site-footer{grid-template-columns:1.45fr .7fr .85fr 1fr 1.15fr;gap:38px}
.site-footer .footer-brand{margin-bottom:2px}
@media (max-width:1100px){.site-footer{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:640px){.site-footer{grid-template-columns:1fr}}
.news-form{flex-wrap:nowrap}
.news-form input[type=email]{width:auto;flex:1 1 240px;max-width:340px}
@media (max-width:760px){.news-form{flex-wrap:wrap}.news-form input[type=email]{max-width:none;flex:1 1 100%}}
.approach{grid-template-columns:1fr;gap:46px}
.steps li{min-height:0;padding:26px 26px 32px}
.capability-cloud-head{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:end}
.capability-cloud-head>p:not(.eyebrow){margin-bottom:4px}
@media (max-width:1040px){.capability-cloud-head{grid-template-columns:1fr}}
.experience-grid article{flex-direction:row;align-items:center;justify-content:space-between;gap:22px;min-height:0;padding:24px 28px}
.experience-grid strong{font-size:clamp(2.3rem,3.4vw,3.4rem)}
.experience-grid span{text-align:right;max-width:24ch}
@media (max-width:1040px){.experience-grid article{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:150px;padding:20px}.experience-grid span{text-align:left}}
.insight-grid-editorial .insight-card h3{max-width:18ch}


/* === Real-results impact band (dark{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b0f19,#10182b 55%,#0a1622);color:#fff;padding:84px 0;margin:0 0 90px}
@keyframes impactGlow{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(0,-14px,0) scale(1.07)}}


/* === Immersive 3D particle hero (drives .hero-immersive in enhance.js) — added 2026-06-16 === */
.hero-immersive{position:relative;overflow:hidden;min-height:min(900px,94vh);display:grid;place-items:center;background:radial-gradient(1200px 720px at 50% -8%,#15223e,#0a0e18 58%),linear-gradient(180deg,#0a0e18,#0a141c);margin-bottom:90px}
.hero-immersive .fx-canvas{display:block!important;z-index:0}
.hero-immersive::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 44%,transparent 0,transparent 30%,rgba(10,14,24,.5) 78%,rgba(10,14,24,.82) 100%)}
.hero-immersive .eyebrow{color:var(--cyan)}
.hero-immersive h1{color:#fff!important;font-size:clamp(2.55rem,6vw,4.9rem)!important;line-height:1.03!important;letter-spacing:-.04em!important;margin:16px auto 0!important;max-width:18ch!important}
.hero-immersive .hero-lede{color:#c7d1e0;font-size:clamp(1.06rem,1.6vw,1.3rem);line-height:1.6;margin:24px auto 0;max-width:60ch}
.hero-immersive .hero-proofline{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.hero-immersive .hero-proofline span{padding:7px 14px;border:1px solid rgba(255,255,255,.2);color:#cdd6e4;font-size:.82rem;font-weight:650;background:rgba(255,255,255,.03)}
.hero-immersive .hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:34px}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}
@media (max-width:760px){.hero-immersive{min-height:auto}}
/* hero quote-tool (premium dark hero + interactive demo) — added 2026-06-24 */
.hero-tool{position:relative;overflow:hidden;background:#070b18;color:#fff;margin-bottom:90px}
.hero-tool-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
@keyframes htFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(38px,-28px) scale(1.12)}}
.hero-tool-wrap{position:relative;z-index:2;width:min(1240px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1fr 1.04fr;gap:52px;align-items:center;padding:clamp(150px,17vh,186px) 0 100px}
.hero-tool-copy .eyebrow{color:#80e9e4}
.hero-tool h1{font-size:clamp(2.45rem,4.6vw,3.95rem)!important;line-height:1.04!important;letter-spacing:-.04em!important;color:#fff!important;max-width:15ch!important;margin:14px 0 0!important}
.hero-tool .hero-lede{color:#aeb8cf!important;max-width:50ch!important;margin:22px 0 28px!important}
.hero-tool .hero-lede strong{color:#fff;font-weight:650}
.hero-tool .button-secondary{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.22)}
.hero-tool .button-secondary:hover{background:rgba(255,255,255,.13)}
.ht-trust{margin-top:26px;display:flex;gap:22px;flex-wrap:wrap;color:#8794b1;font-size:.83rem;font-weight:600}
.ht-trust b{color:#fff;font-weight:750}
.hero-tool-demo{position:relative;perspective:1500px}
.hero-tool-demo::before{content:"";position:absolute;inset:-26px;z-index:0;background:radial-gradient(closest-side,rgba(39,230,200,.22),transparent 70%),radial-gradient(closest-side,rgba(47,107,255,.26),transparent 70%);background-position:82% 8%,12% 92%;background-size:62% 62%,62% 62%;background-repeat:no-repeat;filter:blur(26px)}
.qt{position:relative;z-index:1;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 44px 120px rgba(2,7,22,.62),0 0 0 1px rgba(47,107,255,.14);overflow:hidden;animation:qtIn .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes qtIn{from{opacity:0;transform:translateY(22px) rotateX(7deg)}to{opacity:1;transform:none}}
.qt-top{display:flex;align-items:center;gap:10px;padding:13px 15px;background:linear-gradient(180deg,#21306a,#15204a);color:#fff}
.qt-dots{display:flex;gap:6px}.qt-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.2)}
.qt-title{font-weight:750;letter-spacing:-.01em;font-size:.95rem}
.qt-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:.71rem;font-weight:700;color:#86f0c4;background:rgba(34,227,160,.12);border:1px solid rgba(34,227,160,.32);padding:4px 9px;border-radius:999px}
.qt-live i{width:7px;height:7px;border-radius:50%;background:#22e3a0;box-shadow:0 0 0 0 rgba(34,227,160,.6);animation:qtPulse 1.9s infinite}
@keyframes qtPulse{70%{box-shadow:0 0 0 7px rgba(34,227,160,0)}100%{box-shadow:0 0 0 0 rgba(34,227,160,0)}}
.qt-body{padding:15px 16px 17px;position:relative}
.qt-field{display:grid;gap:5px;margin-bottom:13px}
.qt-field label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--subtle)}
.qt input,.qt select{height:38px;border:1px solid #d4dae3;border-radius:8px;padding:0 10px;font:inherit;font-size:.92rem;color:var(--ink);background:#fff;width:100%}
.qt input:focus,.qt select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.qt-lhead,.qt-line{display:grid;grid-template-columns:1fr 56px 64px 82px 22px;gap:8px;align-items:center}
.qt-lhead{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#9aa3b2;padding:0 2px 7px}
.qt-lhead span:nth-child(2),.qt-lhead span:nth-child(3){text-align:center}.qt-lhead span:nth-child(4){text-align:right}
.qt-line{padding:7px 0;border-top:1px solid #eef1f5}
.qt-item{min-width:0;display:grid;gap:2px}
.qt-item .qt-pick{height:34px;font-weight:650;font-size:.88rem;padding:0 8px;border-color:#e2e6ec}
.qt-item small{color:var(--subtle);font-size:.71rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:2px}
.qt-qty{height:34px;text-align:center;padding:0 2px}
.qt-disc{height:34px;padding:0 4px}
.qt-amt{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem}
.qt-del{width:22px;height:22px;border:0;background:0 0;color:#b5bcc8;font-size:1.2rem;line-height:1;cursor:pointer;border-radius:6px;padding:0}
.qt-del:hover{background:#fbe9ea;color:var(--bad)}
.qt-add{margin-top:10px;height:38px;color:var(--blue);font-weight:700;border-style:dashed;border-color:#b9c6e8;background:#f7f9ff;cursor:pointer}
.qt-totals{margin-top:13px;border-top:1px solid #e7eaef;padding-top:11px;display:grid;gap:6px}
.qt-trow{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--muted)}
.qt-trow b{color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
.qt-neg{color:var(--teal)!important}
.qt-grand{margin-top:3px;align-items:center}
.qt-grand span{font-weight:700;color:var(--ink)}.qt-grand em{font-style:normal;font-weight:600;color:var(--subtle);font-size:.8rem}
.qt-total{font-size:1.7rem;font-weight:550;letter-spacing:-.03em;color:var(--teal);font-variant-numeric:tabular-nums;display:inline-block;transition:transform .2s}
.qt-total.bump{transform:scale(1.06)}
.qt-gen{width:100%;margin-top:14px;min-height:46px}
.qt-hint{margin-top:9px;font-size:.74rem;color:var(--subtle);text-align:center}
.qt-pdf{position:absolute;inset:0;z-index:5;background:rgba(248,250,252,.86);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:stretch;padding:14px;opacity:0;transform:translateY(14px);transition:opacity .3s ease,transform .3s ease}
.qt-pdf.show{opacity:1;transform:none}
.qt-doc{background:#fff;border:1px solid #e2e6ec;box-shadow:0 24px 70px rgba(15,23,42,.2);width:100%;display:flex;flex-direction:column;padding:18px 18px 14px;overflow:auto}
.qt-doc-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:10px}
.qt-doc-head strong{display:block;font-weight:700;letter-spacing:-.02em;line-height:1.05}.qt-doc-head small{color:var(--subtle);font-size:.64rem;text-transform:uppercase;letter-spacing:.13em}
.qt-doc-meta{text-align:right}.qt-doc-kind{display:block;font-weight:800;letter-spacing:.2em;color:var(--blue);font-size:.8rem}.qt-doc-no{font-size:.7rem;color:var(--subtle)}
.qt-doc-billto{margin:11px 0}.qt-doc-billto small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--subtle)}.qt-doc-billto b{font-size:1rem}
.qt-dl-row{display:grid;grid-template-columns:1fr 34px 40px 76px;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid #f0f2f5;font-size:.83rem}
.qt-dl-row i{font-style:normal;color:var(--subtle);text-align:center;font-size:.76rem}.qt-dl-row b{text-align:right;font-variant-numeric:tabular-nums}
.qt-doc-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:9px;border-top:2px solid var(--ink)}
.qt-doc-total span{font-weight:700}.qt-doc-total strong{font-size:1.4rem;color:var(--teal);font-weight:550;letter-spacing:-.02em}
.qt-doc-terms{margin-top:8px;font-size:.73rem;color:var(--subtle)}
.qt-doc-sign{margin-top:auto;padding-top:12px}
.qt-sig{display:block;width:170px;height:46px}
.qt-sig-name{display:block;font-weight:700;margin-top:-4px}.qt-sig-role{display:block;font-size:.71rem;color:var(--subtle);border-top:1px solid #d4dae3;padding-top:4px;margin-top:4px;max-width:240px}
.qt-doc-actions{display:flex;gap:8px;align-items:center;margin-top:13px;flex-wrap:wrap}
.qt-doc-actions .button{min-height:40px;flex:0 0 auto}
.qt-saved{color:var(--good);font-weight:700;font-size:.82rem}
@media (max-width:980px){.hero-tool-wrap{grid-template-columns:1fr;gap:30px;padding-top:122px}.hero-tool-demo{max-width:520px}.hero-tool h1{max-width:18ch!important}}
@media (max-width:640px){.hero-tool-wrap{padding-top:116px;padding-bottom:64px}.ht-trust{gap:14px;font-size:.76rem}.qt-item small{display:none}.qt-total{font-size:1.45rem}}
.qt-pdf[hidden]{display:none}
/* === 2026 strategy reference: static mesh hero + kinetic headline + bento + scroll-progress === */
/* Hero backdrop: rich STATIC mesh gradient (no animation, mobile-safe) */
.hero-mesh{background:radial-gradient(820px 560px at 10% 6%,rgba(47,107,255,.5),transparent 58%),radial-gradient(760px 560px at 92% 12%,rgba(124,77,255,.46),transparent 58%),radial-gradient(900px 680px at 74% 104%,rgba(8,189,186,.4),transparent 60%),linear-gradient(160deg,#0a1230,#0b1a3c 58%,#08223d)!important}
.hero-mesh .eyebrow{color:#9fd8ff!important}
.hero-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* Kinetic headline — rises in ONCE on load (no loop) */
.kinetic{display:inline-block}
@keyframes kwRise{to{opacity:1;transform:none}}
.grad{background:linear-gradient(95deg,#6aa6ff,#b98cff);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Scroll-progress bar (site-wide cohesion cue; updated by enhance.js) */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,#2f6bff,#a25cff);box-shadow:0 0 10px rgba(47,107,255,.5);transition:width .12s linear;pointer-events:none}
/* Bento "what we build" */
.bento-section{width:min(var(--max),calc(100% - 48px));margin:0 auto 90px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:14px;margin-top:36px}
.bento-cell{position:relative;border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease}
.bento-cell:hover{transform:translateY(-6px);box-shadow:0 28px 72px rgba(15,23,42,.14);border-color:rgba(47,107,255,.4)}
.bento-cell>span{color:var(--blue);font-size:.71rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:auto}
.bento-cell h3{font-size:clamp(1.15rem,1.55vw,1.5rem)!important;line-height:1.08!important;margin:12px 0 6px!important;max-width:none!important}
.bento-cell p{font-size:.92rem;line-height:1.5;color:#4b5563;margin:0}
.bento-cell a{margin-top:12px;color:var(--blue);font-weight:750;font-size:.9rem;transition:transform .2s ease}
.bento-cell:hover a{transform:translateX(4px)}
.bento-cell .big{font-size:clamp(2.1rem,3.2vw,2.9rem);font-weight:550;letter-spacing:-.03em;line-height:1;margin:2px 0 8px;color:var(--ink)}
.big-teal{color:var(--teal)!important}
.bento-feature{grid-column:span 2;grid-row:span 2;background:linear-gradient(155deg,#0b1330,#10245a);border:0;color:#fff}
.bento-feature>span{color:#7fb0ff}.bento-feature h3{color:#fff;font-size:clamp(1.5rem,2.3vw,2.15rem)!important}.bento-feature p{color:#c2cce0}
.bento-feature .big{color:#fff}.bento-feature a{color:#9fc2ff}
.bento-stat .big{color:var(--teal)}
.bento-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.bento-chips i{font-style:normal;font-size:.78rem;font-weight:700;color:#33415a;background:#eef3fb;border:1px solid #dce6f5;border-radius:999px;padding:6px 11px}
@media (max-width:860px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(152px,auto)}.bento-feature{grid-column:span 2;grid-row:span 1;min-height:236px}}
@media (max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:auto}.bento-cell,.bento-feature{grid-column:1/-1!important;min-height:150px}}
.hero-mesh h1{line-height:1.1!important}
.hero-mesh .kinetic{line-height:1.1}
/* === hero demo switcher + warehouse/ag demo tools — 2026-06-25 === */
.demo-tabs{display:flex;gap:5px;padding:0 8px;margin:0 0 -1px;position:relative;z-index:2}
.demo-tab{appearance:none;flex:1 1 0;min-width:0;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 10px;border:1px solid rgba(255,255,255,.09);border-bottom:0;border-radius:11px 11px 0 0;background:rgba(255,255,255,.05);color:#bccbe8;font:inherit;font-weight:700;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .18s ease,color .18s ease}
.demo-tab:hover{background:rgba(255,255,255,.11);color:#fff}
.demo-tab.is-active{background:#21306a;color:#fff;border-color:rgba(255,255,255,.12)}
.demo-tab.is-active::after{content:"";position:absolute;left:-1px;right:-1px;top:0;height:3px;background:linear-gradient(95deg,#2f6bff,#a25cff);border-radius:11px 11px 0 0}
.hero-tool-demo .qt{border-radius:0 0 14px 14px}
.hero-tool-demo .qt{min-height:430px}
/* Receiving Match */
.rm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.rm-head small{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--subtle)}
.rm-head b{font-size:.95rem}
.rm-count{font-size:.73rem;font-weight:800;color:var(--subtle);background:#eef1f5;border:1px solid #e2e6ec;border-radius:999px;padding:5px 11px;white-space:nowrap}
.rm-count.has{color:#9a5b00;background:#fff5e6;border-color:#ffe2b0}
.rm-lhead,.rm-line{display:grid;grid-template-columns:1fr 44px 66px 84px;gap:8px;align-items:center}
.rm-lhead{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#9aa3b2;padding:0 2px 7px}
.rm-lhead span:nth-child(2),.rm-lhead span:nth-child(3){text-align:center}.rm-lhead span:nth-child(4){text-align:right}
.rm-line{padding:8px 6px;border-top:1px solid #eef1f5;border-radius:7px}
.rm-item{min-width:0}.rm-item b{display:block;font-size:.9rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-item small{color:var(--subtle);font-size:.71rem}
.rm-exp{text-align:center;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}
.rm-recv{height:34px;text-align:center;border:1px solid #d4dae3;border-radius:8px;font:inherit;font-size:.92rem;width:100%;color:var(--ink);background:#fff}
.rm-recv:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.rm-st{text-align:right;font-size:.78rem;font-weight:750}
.rm-ok{color:var(--good)}
.rm-bad{color:#b26a00}
.rm-line.is-flag{background:linear-gradient(90deg,rgba(255,179,0,.09),transparent 80%)}
.rm-note{margin-top:13px;background:#f7f9fc;border:1px solid #e7eaef;border-left:3px solid var(--blue);border-radius:8px;padding:11px 13px}
.rm-note small{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;color:var(--subtle);margin-bottom:4px}
.rm-note-text{font-size:.85rem;line-height:1.5;color:#33415a;margin:0}
.rm-gen{width:100%;margin-top:13px;min-height:46px}
.rm-doc-lines{margin:6px 0}
.rm-doc-lines .qt-dl-row{grid-template-columns:1fr auto auto 56px;gap:10px}
.rm-doc-note{font-size:.82rem;line-height:1.5;color:#33415a;background:#f7f9fc;border-left:3px solid var(--blue);padding:10px 12px;margin-top:8px;border-radius:6px}
.rm-sent{color:var(--good);font-weight:700;font-size:.82rem}
/* Field Logger */
.fl-label{display:block;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--subtle);margin-bottom:6px}
.fl-inwrap{position:relative}
.fl-input{width:100%;border:1px solid #d4dae3;border-radius:10px;padding:12px 40px 12px 12px;font:inherit;font-size:.94rem;line-height:1.45;resize:none;color:var(--ink);background:#fff}
.fl-input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.fl-mic{position:absolute;right:10px;top:9px;font-size:1.1rem;opacity:.65}
.fl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.fl-chip{appearance:none;border:1px solid #dce6f5;background:#eef3fb;color:#33415a;font:inherit;font-weight:700;font-size:.78rem;padding:6px 11px;border-radius:999px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.fl-chip:hover{background:#e2ebfb;border-color:var(--blue);color:var(--blue)}
.fl-log{width:100%;min-height:46px;margin-top:12px}
.fl-record{margin-top:14px;border-top:1px solid #e7eaef;padding-top:12px}
.fl-rec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.fl-rec-head small{font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;color:var(--subtle);font-weight:800}
.fl-rec-date{font-size:.8rem;color:var(--subtle);font-weight:650}
.fl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}
.fl-field{background:#fff;padding:10px 12px}
.fl-field small{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--subtle)}
.fl-field b{font-size:.96rem;color:var(--ink)}
.fl-empty{font-size:.85rem;color:var(--subtle);padding:8px 0;margin:0}
.fl-export{width:100%;min-height:42px}
.fl-doc-grid{display:grid;gap:0;margin:6px 0}
.fl-doc-grid .qt-dl-row{grid-template-columns:130px 1fr;gap:10px}
.fl-saved{color:var(--good);font-weight:700;font-size:.82rem}
/* Expense Tracker (added 2026-07-03) */
.ex-rcpts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}
.ex-rcpt{position:relative;overflow:hidden;appearance:none;font:inherit;text-align:left;cursor:pointer;display:grid;gap:5px;padding:11px 10px 13px;background:#fffdf6;border:1px solid #e6e1d2;border-radius:9px 9px 3px 3px;box-shadow:0 2px 10px rgba(15,23,42,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ex-rcpt:hover:not(:disabled){transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 26px rgba(15,23,42,.12)}
.ex-rcpt i{height:4px;background:#eae4d4;border-radius:2px}
.ex-r-short{width:58%}
.ex-r-name{font-size:.72rem;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-r-amt{font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink)}
.ex-r-scan,.ex-r-badge{justify-self:start;font-style:normal;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 7px;margin-top:2px}
.ex-r-scan{color:var(--blue);background:#e8f1fc;border:1px solid #bcd9f6}
.ex-r-badge{color:#0a7d4a;background:#e7f8ef;border:1px solid #b9ecd0}
.ex-rcpt.is-done{opacity:.6;cursor:default}
.ex-rcpt.is-scanning::after{content:"";position:absolute;left:0;right:0;top:0;height:100%;background:linear-gradient(180deg,transparent 20%,rgba(47,107,255,.3) 50%,transparent 80%);animation:exScan .72s ease}
@keyframes exScan{from{transform:translateY(-90%)}to{transform:translateY(90%)}}
.ex-lhead,.ex-row{display:grid;grid-template-columns:48px minmax(0,1fr) 118px 72px;gap:8px;align-items:center}
.ex-lhead{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#9aa3b2;padding:0 2px 7px}
.ex-lhead span:last-child{text-align:right}
.ex-row{padding:7px 0;border-top:1px solid #eef1f5}
.ex-row.is-new{animation:exRowIn .45s ease}
@keyframes exRowIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ex-date{font-size:.78rem;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}
.ex-merch{min-width:0}
.ex-merch b{display:block;font-size:.88rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-merch small{color:var(--subtle);font-size:.7rem}
.ex-cat{height:32px;font-size:.78rem;padding:0 6px;border-color:#e2e6ec;font-weight:650}
.ex-amt{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;font-size:.88rem}
.ex-empty{font-size:.85rem;color:var(--subtle);padding:10px 0;margin:0;border-top:1px solid #eef1f5}
.ex-gen{width:100%;margin-top:13px;min-height:46px}
.ex-pop{animation:exPop .5s ease}
@keyframes exPop{0%{transform:scale(1)}45%{transform:scale(1.07)}100%{transform:scale(1)}}
.ex-doc-lines{margin:6px 0}
.ex-doc-lines .qt-dl-row{grid-template-columns:minmax(0,1fr) auto auto 72px;gap:10px}
.ex-doc-lines .qt-dl-row i{white-space:nowrap}
.ex-mail{margin-top:10px;background:#f7f9fc;border:1px solid #e7eaef;border-left:3px solid var(--blue);border-radius:8px;padding:10px 12px}
.ex-mail small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--subtle);margin-bottom:4px}
.ex-mail b{display:block;font-size:.78rem;color:var(--ink);margin-bottom:4px}
.ex-mail-body{margin:0;font-size:.82rem;line-height:1.5;color:#33415a}
.ex-sent{color:var(--good);font-weight:700;font-size:.82rem}
@media (max-width:560px){.ex-lhead,.ex-row{grid-template-columns:40px minmax(0,1fr) 100px 62px;gap:6px}.ex-rcpts{gap:7px}.ex-rcpt{padding:9px 8px 11px}}
@media (max-width:560px){.rm-lhead,.rm-line{grid-template-columns:1fr 38px 56px 68px;gap:6px}.fl-grid{grid-template-columns:1fr}.hero-tool-demo .qt{min-height:0}}
/* === stabilize demo window height (no hero resize on tab switch) — 2026-06-25 === */
.hero-tool-demo .qt{min-height:660px}
.hero-tool-demo .qt>.qt-body{overflow:visible}
.hero-tool-demo .qt>.qt-body::-webkit-scrollbar{width:8px}
.hero-tool-demo .qt>.qt-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
@media (max-width:980px){.hero-tool-demo .qt{min-height:0}}

/* === products: live demo band === */
.demo-band{width:100%;color:#fff;padding:clamp(54px,8vw,90px) 0;margin:0 0 88px;background:radial-gradient(820px 540px at 12% 8%,rgba(47,107,255,.42),transparent 60%),radial-gradient(720px 520px at 90% 14%,rgba(124,77,255,.4),transparent 60%),radial-gradient(820px 640px at 75% 104%,rgba(8,189,186,.32),transparent 62%),linear-gradient(160deg,#0a1230,#0b1a3c 60%,#08223d)}
.demo-band-inner{width:min(var(--max),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:.82fr 1.04fr;gap:48px;align-items:center}
.demo-band-copy .eyebrow{color:#9fd8ff}
.demo-band-copy h2{color:#fff!important;font-size:clamp(2rem,3.4vw,3.2rem)!important;line-height:1.05!important;max-width:14ch!important}
.demo-band-copy p:not(.eyebrow){color:#aeb8cf;font-size:1.06rem;line-height:1.62;margin-top:14px;max-width:44ch}
.demo-band-cta{margin-top:22px!important}
.demo-band .hero-tool-demo{max-width:560px;width:100%;justify-self:end}
@media (max-width:980px){.demo-band-inner{grid-template-columns:1fr;gap:30px}.demo-band .hero-tool-demo{max-width:none;justify-self:stretch}}

/* === products: app gallery === */
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.app-card{position:relative;border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;display:flex;flex-direction:column;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}
.app-card:hover{transform:translateY(-5px);box-shadow:0 26px 66px rgba(15,23,42,.13);border-color:rgba(47,107,255,.4)}
.app-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;min-height:20px}
.app-tag{color:var(--blue);font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.app-live{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0a7d4a;background:#e7f8ef;border:1px solid #b9ecd0;border-radius:999px;padding:3px 9px;white-space:nowrap}
.app-card h3{font-size:clamp(1.18rem,1.5vw,1.45rem)!important;line-height:1.1!important;margin:0 0 8px!important;max-width:none!important}
.app-pain{font-style:italic;color:#475569;font-size:.92rem;line-height:1.45;margin:0 0 8px}
.app-card>p:not(.app-pain){font-size:.9rem;line-height:1.5;color:#5b6675;margin:0 0 14px}
.app-card .card-link{margin-top:auto;color:var(--blue);font-weight:750;font-size:.9rem;transition:transform .2s ease}
.app-card:hover .card-link{transform:translateX(3px)}
.app-card.is-live{border-color:rgba(10,125,74,.32);background:linear-gradient(180deg,#fff,#f4fbf7)}
@media (max-width:900px){.app-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.app-grid{grid-template-columns:1fr}}
/* === industry pages: embedded live-demo panel === */
.demo-panel{margin:44px 0;padding:clamp(26px,4vw,42px);border-radius:18px;color:#fff;overflow:hidden;background:radial-gradient(700px 460px at 14% 8%,rgba(47,107,255,.4),transparent 60%),radial-gradient(620px 440px at 92% 16%,rgba(124,77,255,.38),transparent 60%),radial-gradient(700px 520px at 78% 104%,rgba(8,189,186,.3),transparent 62%),linear-gradient(160deg,#0a1230,#0b1a3c 60%,#08223d)}
.demo-panel .demo-panel-head{max-width:640px}
.demo-panel .demo-panel-head .eyebrow{color:#9fd8ff}
.demo-panel .demo-panel-head h2{color:#fff!important;font-size:clamp(1.7rem,3vw,2.5rem)!important;line-height:1.06!important;max-width:none!important;margin:6px 0 10px!important}
.demo-panel .demo-panel-head p{color:#aeb8cf;font-size:1.02rem;line-height:1.6}
.demo-panel .hero-tool-demo{max-width:560px;margin:22px auto 0}
.app-free{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0a4d8c;background:#e8f1fc;border:1px solid #bcd9f6;border-radius:999px;padding:3px 9px;white-space:nowrap}

/* hub-page (guides/insights) section heads must line up with the page container (added 2026-06-29) */
.page-shell>.section-head{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}

/* compact first-visit consent banner (2026-07-02): slim strip by default; .is-custom (Customize preferences / footer Cookie Settings) expands to the full card */
.cookie-modal:not([hidden]):not(.is-custom) .cookie-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:26px;align-items:center;max-height:none!important;padding:15px 46px 12px 22px!important}
.cookie-modal:not(.is-custom) .cookie-card .eyebrow{display:none}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-card h2{grid-column:1;font-size:1.02rem!important;line-height:1.25!important;letter-spacing:-.015em;margin:0}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-card>p{grid-column:1;font-size:.84rem!important;line-height:1.42;margin:4px 0 0}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-actions{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;gap:7px;margin:0!important}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-actions .button{min-height:36px!important;padding:7px 14px!important;font-size:.84rem!important}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-note{grid-column:1;font-size:.78rem!important;margin:6px 0 0}
.cookie-modal.is-custom:not([hidden]) .cookie-card{max-height:min(82svh,720px)!important}
@media (max-width:640px){
.cookie-modal:not([hidden]):not(.is-custom) .cookie-card{grid-template-columns:1fr;padding:13px 42px 11px 14px!important}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-actions{grid-column:1;grid-row:auto;flex-direction:row;flex-wrap:wrap;margin:9px 0 0!important}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-actions .button{flex:1 1 130px!important}
}

/* mobile quote-demo: stack the product name full-width so item selects stop truncating (2026-07-02) */
@media (max-width:480px){
.qt-line{grid-template-columns:62px 72px minmax(0,1fr) 24px;grid-template-rows:auto auto;row-gap:5px}
.qt-line .qt-item{grid-column:1/-1;grid-row:1}
.qt-line .qt-item small{display:block}
.qt-line .qt-qty{grid-column:1;grid-row:2}
.qt-line .qt-disc{grid-column:2;grid-row:2}
.qt-line .qt-amt{grid-column:3;grid-row:2;text-align:right}
.qt-line .qt-del{grid-column:4;grid-row:2}
}

/* per-card line icons replacing the repeated decorative diamond (2026-07-02) */
.capability-grid article.has-ico::before,.page-card-grid article.has-ico::before,.solution-matrix article.has-ico::before,.partner-grid article.has-ico::before{display:none}
.card-ico{position:absolute;right:20px;top:20px;width:46px;height:46px;display:grid;place-items:center;color:#fff;border:0;background:linear-gradient(135deg,var(--blue),#08bdba);box-shadow:0 8px 22px rgba(15,98,254,.28);transition:transform .28s ease}
.card-ico svg{width:23px;height:23px;display:block}
article:hover .card-ico{transform:scale(1.08)}
@media (max-width:640px){.card-ico{width:40px;height:40px;right:16px;top:16px}.card-ico svg{width:20px;height:20px}}

/* mini signed-quote document in the bento flagship card (2026-07-02) */
.quote-doc{position:absolute;top:56px;right:30px;width:min(212px,46%);background:#fff;border-radius:6px;box-shadow:0 24px 60px rgba(4,10,30,.45);padding:14px 14px 12px;transform:rotate(2.5deg);display:grid;gap:8px;transition:transform .3s ease}
.quote-doc .qd-brand{width:54px;height:8px;background:linear-gradient(90deg,var(--blue),#7c4dff);border-radius:2px;margin:0 0 2px}
.quote-doc i{display:block;height:7px;border-radius:2px;background:#e2e8f0}
.quote-doc i.qd-short{width:62%}
.quote-doc .qd-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #e2e8f0;padding-top:8px;margin-top:2px}
.quote-doc .qd-total small{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0}
.quote-doc .qd-total b{font-size:1.02rem;color:#0f172a;letter-spacing:-.02em}
.quote-doc .qd-sig{color:#0f62fe;opacity:.85}
.quote-doc .qd-sig svg{width:86px;height:20px;display:block}
.quote-doc .qd-badge{position:absolute;right:-10px;top:-11px;font-style:normal;font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0a7d4a;background:#e7f8ef;border:1px solid #b9ecd0;border-radius:999px;padding:4px 9px;transform:rotate(-3deg);white-space:nowrap}
.bento-feature:hover .quote-doc{transform:rotate(1.2deg) translateY(-4px)}
@media (max-width:700px){.quote-doc{display:none}}

/* solution-matrix cards can carry a card-ico (2026-07-02) */
.solution-matrix article.has-ico{position:relative}

/* larger founder portrait on About (native asset is 320px) (2026-07-02) */
.founder-photo{width:176px;height:176px}
@media (max-width:640px){.founder-photo{width:132px;height:132px}}

/* partner-card tool wordmark chips (2026-07-02) */
.tool-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tool-chips i{font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:.01em;color:#334155;border:1px solid var(--line);background:#f8fafc;padding:5px 10px;border-radius:999px;white-space:nowrap}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-close{top:6px;right:6px;width:26px;height:26px;font-size:18px;line-height:1}
.cookie-modal:not([hidden]):not(.is-custom) .cookie-card{padding-right:52px!important}
@media (max-width:480px){.qt-lhead{display:none}}
.capability-grid article.has-ico::after,.page-card-grid article.has-ico::after,.solution-matrix article.has-ico::after,.partner-grid article.has-ico::after{display:none!important}

/* client testimonial band (2026-07-02, Val Sousa / Paradise Concrete & Drain) */
.testimonial-band{width:min(var(--max),calc(100% - 48px));margin:0 auto 96px;padding:clamp(36px,5vw,60px) clamp(26px,5vw,64px);background:linear-gradient(155deg,#0b1330,#10245a);color:#fff;position:relative;overflow:hidden}
.testimonial-band::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 340px at 88% -20%,rgba(47,107,255,.35),transparent 62%),radial-gradient(480px 320px at -10% 120%,rgba(8,189,186,.22),transparent 60%)}
.testimonial-band>*{position:relative;z-index:1}
.testimonial-band .eyebrow{color:#7fb0ff}
.testimonial-band blockquote{margin:0}
.testimonial-band blockquote p{color:#eef2fb;font-size:clamp(1.22rem,2.1vw,1.66rem);line-height:1.4;letter-spacing:-.018em;font-weight:600;max-width:56ch}
.testimonial-attrib{margin-top:22px;display:flex;align-items:center;gap:14px}
.testimonial-attrib>div{display:flex;flex-direction:column;gap:2px}
.testimonial-attrib strong{font-size:1.02rem}
.testimonial-attrib span{color:#aeb8cf;font-size:.9rem}
.testimonial-logo{width:72px;height:72px;border-radius:50%;background:#fff;border:2px solid rgba(127,176,255,.35);flex:0 0 auto;object-fit:cover}
.testimonial-scope{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.testimonial-scope i{font-style:normal;font-size:.78rem;font-weight:700;color:#cfe0ff;border:1px solid rgba(127,176,255,.35);background:rgba(47,107,255,.12);padding:5px 11px;border-radius:999px}
@media (max-width:640px){.testimonial-band{margin-bottom:58px}}

/* services slider: native swipe carousel on touch/small screens (2026-07-02); the vertical-scroll->horizontal scrub stays desktop-only (script.js gates the JS the same way) */
@media (max-width:899px),(pointer:coarse){
.pin-slider{height:auto}
.pin-slider .pin-viewport{position:static;height:auto;padding:64px 0 48px}
.pin-slider .slider-progress{display:none}
.pin-slider .slider-toolbar p::after{content:" — swipe"}
}

/* ============ premium UX pass (2026-07-02) ============ */

/* 1) full-screen mobile nav overlay: backdrop blur, scroll lock, staggered links, current-page marker.
   .site-header prefix outranks the (0,1,0)!important rules in both styles.css and the later-loading enhance.css.
   While the menu is open the header must drop transform/will-change - a transformed ancestor becomes the
   containing block for position:fixed and the overlay collapses to header height. */
@media (max-width:1040px){
body.menu-open{overflow:hidden}
body.menu-open .site-header{left:0!important;transform:none!important;will-change:auto!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;contain:none!important;perspective:none!important}
.site-header .brand,.menu-toggle{position:relative;z-index:60}
.site-header .nav-compact{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;padding:96px 22px max(28px,env(safe-area-inset-bottom))!important;background:rgba(250,251,253,.92)!important;backdrop-filter:blur(20px) saturate(1.2)!important;-webkit-backdrop-filter:blur(20px) saturate(1.2)!important;border:0!important;box-shadow:none!important;border-radius:0!important;max-height:none!important;overflow:auto!important;transition:opacity .22s ease!important;z-index:40}
.site-header .nav-compact a{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px;min-height:0!important;padding:16px 4px!important;border-bottom:1px solid rgba(15,23,42,.08)!important;font-size:1.28rem!important;font-weight:650;letter-spacing:-.02em;line-height:1.15!important;color:var(--ink);opacity:0;transform:translateY(10px);transition:opacity .32s ease,transform .32s ease}
.menu-open .site-header .nav-compact a{opacity:1;transform:none}
.menu-open .site-header .nav-compact a:nth-child(1){transition-delay:.03s}
.menu-open .site-header .nav-compact a:nth-child(2){transition-delay:.06s}
.menu-open .site-header .nav-compact a:nth-child(3){transition-delay:.09s}
.menu-open .site-header .nav-compact a:nth-child(4){transition-delay:.12s}
.menu-open .site-header .nav-compact a:nth-child(5){transition-delay:.15s}
.menu-open .site-header .nav-compact a:nth-child(6){transition-delay:.18s}
.menu-open .site-header .nav-compact a:nth-child(7){transition-delay:.21s}
.menu-open .site-header .nav-compact a:nth-child(8){transition-delay:.24s}
.menu-open .site-header .nav-compact a:nth-child(9){transition-delay:.27s}
.site-header .nav-compact a[aria-current="page"]{color:var(--blue)}
.site-header .nav-compact a[aria-current="page"]::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}
.site-header .nav-compact .nav-cta{margin-top:auto!important;justify-content:center!important;border-bottom:0!important;min-height:54px!important;font-size:1.05rem!important;font-weight:700}
}

/* 2) mobile: card grids become horizontal snap rails */
@media (max-width:760px){
.m-rail{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 4px 16px;border:0!important;box-shadow:none!important;background:transparent!important}
.m-rail::-webkit-scrollbar{display:none}
.m-rail>article{flex:0 0 82%;scroll-snap-align:start}
.capability-grid.m-rail>article{border:1px solid var(--line);min-height:250px}
.industry-grid.m-rail>article{border:1px solid var(--line);background:#fff}
.pattern-rail.m-rail>article{border:1px solid rgba(255,255,255,.16);min-height:320px}
.app-grid.is-collapsed .app-card:nth-child(n+7){display:none}
}

/* 3) touch tap-target expansion (no visual change on desktop) */
@media (pointer:coarse){
.card-link{min-height:44px;display:inline-flex;align-items:center}
.sector-links a{min-height:44px;display:inline-flex;align-items:center}
.site-footer nav a{min-height:36px;display:inline-flex;align-items:center}
.slider-pagination button{min-width:44px;min-height:44px}
}

/* 4) smooth in-page anchors with sticky-header offset */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:84px}

/* 5) micro-interaction consistency: press states, focus rings, unified hover lift */
.button:active{transform:translateY(1px)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
.premium-motion .industry-grid article:hover,.premium-motion .insight-card:hover,.premium-motion .page-card-grid article:hover,.premium-motion .partner-grid article:hover,.premium-motion .resource-rail article:hover,.premium-motion .solution-matrix article:hover,.premium-motion .tool-showcase article:hover,.capability-grid article:hover,.app-card:hover{transform:translateY(-6px)}
}

/* 6) faster operating-model scrub on mobile (desktop untouched) */
@media (max-width:899px){.pin-stage:not(.pin-slider){height:300vh}}
[data-app-expand][hidden]{display:none!important}

/* cross-document view transitions: soft crossfade between pages (2026-07-02; progressive - browsers without support just navigate) */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* industries hub rail needs its cards sized like the other m-rails */
@media (max-width:760px){.industry-card-grid.m-rail>*{flex:0 0 84%;scroll-snap-align:start}}

/* stacked .split section: tighten the desktop 72px gap and unclamp the 12ch headline (Sergio's iPhone screenshot 2026-07-02) */
@media (max-width:1040px){
.split{gap:26px}
.section.split h2{max-width:none!important}
}
/* premium typographic wrapping: balanced multi-line headings, no orphaned last words (progressive) */
h1,h2,h3{text-wrap:balance}

/* ===== "The problem" redesigned as a dark editorial band with a pilot-funnel visual (2026-07-02) ===== */
.thesis-band{width:min(var(--max),calc(100% - 48px));margin:0 auto 90px;padding:clamp(40px,5vw,68px) clamp(26px,5vw,64px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,4vw,64px);align-items:center;color:#fff;position:relative;overflow:hidden;background:radial-gradient(620px 420px at 88% -14%,rgba(47,107,255,.4),transparent 62%),radial-gradient(520px 380px at -6% 116%,rgba(8,189,186,.24),transparent 60%),linear-gradient(160deg,#0a1230,#0b1a3c 60%,#08223d)}
.thesis-band .eyebrow{color:#9fd8ff}
.thesis-band h2{color:#fff;font-size:clamp(2.2rem,3.8vw,3.75rem);line-height:1.04;max-width:none;margin:0 0 18px}
.thesis-band .grad{background:linear-gradient(92deg,#8ab8ff,#b39dff);-webkit-background-clip:text;background-clip:text;color:transparent}
.thesis-band p{color:#b6c2da;font-size:1.05rem;line-height:1.62;max-width:56ch}
.thesis-band .thesis-copy p+p{margin-top:14px}
.tv-card{background:rgba(10,18,42,.6);border:1px solid rgba(127,176,255,.22);border-radius:14px;padding:26px 26px 22px;backdrop-filter:blur(6px)}
.tv-title{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7fb0ff;margin-bottom:20px}
.tv-row{display:grid;gap:8px;margin-bottom:18px}
.tv-row span{font-size:.87rem;font-weight:650;color:#dfe7f8}
.tv-row i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#2f6bff,#7c4dff);opacity:.85;width:var(--w,50%)}
.tv-card .tv-row:nth-child(2){--w:100%}
.tv-card .tv-row:nth-child(3){--w:62%}
.tv-card .tv-row:nth-child(4){--w:18%}
.tv-row.is-hot i{background:linear-gradient(90deg,#08bdba,#28f0c2);box-shadow:0 0 18px rgba(40,240,194,.35);opacity:1}
.tv-note{font-size:.87rem;line-height:1.5;color:#94a3c0;border-top:1px solid rgba(127,176,255,.18);padding-top:14px}
/* bars fill left→right when the card itself scrolls into view (own observer adds .is-filled —
   the .reveal 1.8s failsafe in script.js stamps is-visible site-wide, so it can't be the trigger) */
.tv-card:not(.is-filled) .tv-row i{width:0}
.tv-card .tv-row i{transition:width .9s cubic-bezier(.2,.8,.2,1)}
.tv-card .tv-row:nth-child(3) i{transition-delay:.12s}
.tv-card .tv-row:nth-child(4) i{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.tv-card .tv-row i{transition:none}}
@media (max-width:1040px){.thesis-band{grid-template-columns:1fr}}
@media (max-width:640px){.thesis-band{margin-bottom:58px}}

/* ===== desktop vertical-rhythm normalization into the ~150-190px band (2026-07-02) ===== */
@media (min-width:1041px){
.thesis-band{margin-bottom:40px}
.proof-panel{margin-bottom:0}
.capability-cloud{margin-bottom:30px}
.assessment-section{padding-bottom:70px}
#insights{padding-top:70px}
}

/* ===== partners: human-partners feature band — replaces the orphaned 7th grid cell (2026-07-03) ===== */
.partner-human{width:min(var(--max),calc(100% - 48px));margin:0 auto 90px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(15,98,254,.05),rgba(8,189,186,.07));box-shadow:0 22px 80px rgba(15,23,42,.07);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,4vw,60px);align-items:center;padding:clamp(30px,4vw,54px)}
.partner-human-copy .eyebrow{color:var(--blue);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800}
.partner-human-copy h2{font-size:clamp(1.9rem,3vw,2.9rem)!important;line-height:1.05!important;max-width:15ch!important;margin:10px 0 0}
.partner-human-copy p{max-width:54ch;font-size:1.05rem;line-height:1.62;margin-top:16px}
.partner-human-copy .page-actions{margin-top:26px}
.partner-human-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:0 12px 40px rgba(15,23,42,.06)}
.partner-human-list li{background:#fff;padding:16px 20px;font-weight:650;color:var(--ink);font-size:1.02rem;display:flex;align-items:center;gap:13px}
.partner-human-list li::before{content:"";width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(15,98,254,.35);background:linear-gradient(135deg,rgba(15,98,254,.9),rgba(8,189,186,.9));transform:rotate(45deg)}
@media (max-width:1040px){.partner-human{grid-template-columns:1fr;gap:26px}}
@media (max-width:640px){.partner-human{width:calc(100% - 28px);margin-bottom:58px;padding:22px}.partner-human-list li{padding:13px 16px}}

/* ===== operating-model section on phones: re-pinned scroll-scrub trap (2026-07-03).
   Restores the "hold you in the section while you scroll" feel. The two bugs that made a
   previous pass flatten this to a static panel are fixed here rather than by unpinning:
   (1) white bar under the fold — the wrapper itself is dark, so the mobile toolbar-collapse
   gap can never flash the white page background; and the tall wrapper is sized in svh to
   match the svh sticky viewport (no vh/svh mismatch); (2) clipped graphic — the layout is
   compacted so the whole phase (copy + scene + graphic) fits inside one 100svh viewport.
   Reduced-motion phones keep the readable static stack. ===== */
@media (max-width:899px){
  /* shared by the pinned trap AND the reduced-motion fallback: dark surface, graphic shown */
  .domo-scroll-lab{background:linear-gradient(160deg,#060d18,#0b1830 55%,#07152a)}
  .domo-scroll-lab .scroll-lab-right{gap:16px}
  .domo-scroll-lab .scroll-lab-visual{display:block}
  .domo-scroll-lab .scroll-lab-tabs button{cursor:pointer}
}
@media (max-width:899px) and (prefers-reduced-motion:no-preference){
  /* Tall svh wrapper + sticky svh viewport (same unit -> no gap under the fold), so the
     section holds you while the phases scrub. The dark wrapper guarantees no white flash if
     the mobile toolbar collapse bares a sliver. The graphic's floating corner metric cards
     collide horizontally at phone width, so the pinned view keeps the clean central viz
     (node map / bars / flow / gauge) and drops the corner cards. */
  .domo-scroll-lab.pin-stage{height:285svh}
  .domo-scroll-lab .pin-viewport{position:sticky;top:0;height:100svh;min-height:100svh;overflow:hidden;justify-content:flex-start;padding:22px 0 16px}
  .domo-scroll-lab .scroll-lab-layout{gap:14px}
  .domo-scroll-lab .scroll-lab-copy h2{font-size:clamp(1.05rem,4.2vw,1.42rem);margin:5px 0 9px}
  .domo-scroll-lab .scroll-lab-tabs{margin-top:10px;gap:6px}
  .domo-scroll-lab .scroll-lab-tabs button{padding:7px 10px}
  /* absolute-positioned scenes need a box tall enough for the longest phase copy */
  .domo-scroll-lab .pin-scenes{min-height:168px}
  .domo-scroll-lab .pin-scenes .scene p:not(.eyebrow){font-size:.92rem;line-height:1.5}
  /* fill the leftover space under the window on tall phones; stays safe on short ones */
  .domo-scroll-lab .scroll-lab-visual .lab-screen{height:clamp(190px,30svh,285px)}
  .domo-scroll-lab .lab-chip{display:block}
  /* size the phase art by available height so it can never clip at the bottom */
  .domo-scroll-lab .lab-viz svg{width:auto;height:100%;max-width:94%}
  .domo-scroll-lab .lab-orbit{display:none}
  .domo-scroll-lab .lab-viz{display:flex;align-items:center;justify-content:center;height:100%}
}
@media (max-width:899px) and (prefers-reduced-motion:reduce){
  .domo-scroll-lab.pin-stage{height:auto}
  .domo-scroll-lab .pin-viewport{position:static;height:auto;min-height:0;padding:56px 0 46px}
  .domo-scroll-lab .pin-scenes{min-height:172px}
  .domo-scroll-lab .scroll-lab-visual .lab-screen{height:196px}
}

/* ===== Quote Follow-Up Automation landing page (scoped) ===== */
.qfa-section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:30px 0}
/* section-head h2 inherits the giant hub display size (up to 7.8rem); tame it for in-page sections */
.qfa-section .section-head{gap:12px;margin-bottom:28px}
.qfa-section .section-head h2{font-size:clamp(1.7rem,2.9vw,2.45rem);line-height:1.08;letter-spacing:-.02em;max-width:26ch;font-weight:450}
.split-note{color:var(--muted);margin-top:14px}
.qfa-checks{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.qfa-checks li{background:#fff;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:8px}
.qfa-checks h3{font-size:1.12rem;line-height:1.22;letter-spacing:-.01em;margin:0;padding-left:30px;position:relative}
.qfa-checks h3::before{content:"\2713";position:absolute;left:0;top:-1px;color:var(--blue);font-weight:800}
.qfa-checks p{margin:0;font-size:.95rem;line-height:1.55;color:var(--muted)}
.qfa-chips{margin-top:10px}
.qfa-chips i{font-size:.92rem;padding:10px 16px}
.page-band .band-sub{font-size:.95rem;opacity:.82;margin-top:8px}
@media (max-width:900px){.qfa-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.qfa-checks{grid-template-columns:1fr}}

/* ===== Compact cookie banner on phones (default, non-custom state). Appended last so it
   wins over the many earlier !important cookie rules. Keeps the full text on the linked
   Cookie Policy; the banner itself stays small. ===== */
@media (max-width:560px){
  .cookie-modal:not([hidden]):not(.is-custom){padding:0 7px 7px!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-card{max-height:none!important;padding:11px 38px 11px 13px!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-card .eyebrow{display:none!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-card h2{font-size:.95rem!important;line-height:1.16!important;margin:0!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-card>p:not(.eyebrow){font-size:.76rem!important;line-height:1.32!important;margin:5px 0 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-actions{margin:8px 0 0!important;gap:6px!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-actions .button{flex:1 1 128px!important;min-height:34px!important;padding:6px 8px!important;font-size:.8rem!important;line-height:1.12!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-note{font-size:.74rem!important;margin:7px 0 0!important}
  .cookie-modal:not([hidden]):not(.is-custom) .cookie-close{top:5px!important;right:5px!important;width:24px!important;height:24px!important;font-size:15px!important}
}

/* ===== Rotating hero copy (the demo panel stays fixed; only the copy block cross-fades) ===== */
.hero-slides{display:grid}
/* Sequential fade: the old message fades fully out, then the new one fades in, so two
   different headlines never overlap. visibility is delayed until after the opacity fade so
   the outgoing slide never pops (that hard pop was the "blink"). */
.hero-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .34s ease,visibility 0s linear 0s}
/* headline element shared by the h1 (slide 1) and the p headlines (other slides) */
.hero-tool .hero-headline{font-size:clamp(2.45rem,4.6vw,3.95rem);line-height:1.1;letter-spacing:-.04em;color:#fff;max-width:18ch;margin:14px 0 0;font-weight:450}
.hero-dots{display:flex;gap:2px;margin-top:19px;margin-left:-9px}
.hero-dots button{width:27px;height:27px;padding:9px;border:0;border-radius:999px;background:rgba(255,255,255,.3);background-clip:content-box;cursor:pointer;transition:background .3s ease,width .3s ease}
.hero-dots button:hover{background:rgba(255,255,255,.55);background-clip:content-box}
.hero-dots button.is-active{background:#fff;background-clip:content-box;width:44px}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:opacity .12s linear}}
@media (max-width:900px){.hero-dots{justify-content:center;margin-top:13px;margin-left:0}}

/* ===== Footer: JS wraps each nav column's links in .foot-acc-panel. Keep them stacked
   exactly like before on desktop; on phones the columns collapse into Apple-style
   tap-to-open accordion rows to keep the footer short. ===== */
.foot-acc-panel{display:grid;align-content:start;gap:10px}
@media (max-width:640px){
  .site-footer{gap:0;padding:34px 0 26px}
  .site-footer .foot-acc{gap:0;border-top:1px solid var(--line)}
  .site-footer .foot-acc>strong{display:flex;align-items:center;justify-content:space-between;margin:0;padding:13px 2px;font-size:.95rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}
  .site-footer .foot-acc>strong::after{content:"";flex:0 0 auto;width:8px;height:8px;margin-right:5px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.45;transition:transform .25s ease}
  .site-footer .foot-acc.is-open>strong::after{transform:rotate(-135deg)}
  .site-footer .foot-acc-panel{max-height:0;overflow:hidden;gap:0;transition:max-height .32s ease}
  .site-footer .foot-acc.is-open .foot-acc-panel{max-height:560px}
  .site-footer .foot-acc-panel a:not(.button),.site-footer .foot-acc-panel .footer-link{min-height:0!important;padding:8px 2px!important;font-size:.9rem;line-height:1.3}
  .site-footer .foot-acc-panel a.button{margin-top:8px;min-height:42px}
  .site-footer .foot-acc-panel>*:last-child{padding-bottom:14px!important}
  /* compact the always-visible bits (brand + newsletter) */
  .site-footer>div{gap:6px}
  .footer-brand strong{font-size:.95rem}
  .site-footer>div>p{font-size:.82rem;line-height:1.4;color:var(--subtle)}
  .site-footer address{font-size:.8rem}
  .footer-news{padding:14px;gap:10px}
  .footer-news-copy strong{font-size:.95rem}
  .footer-news-copy p{font-size:.8rem}
  .disclaimer,.copyright{font-size:.76rem;line-height:1.45}
}

/* ===== Mobile-first contact form: tighter rhythm + shorter fields so it doesn't feel
   endless, and 16px inputs so iOS Safari never zooms in on focus. ===== */
@media (max-width:640px){
  .contact-form{gap:11px;padding:18px}
  .contact-form .form-grid{gap:11px}
  .contact-form label{gap:4px;font-size:.9rem}
  .contact-form input,.contact-form select,.contact-form textarea,.news-form input{font-size:16px;padding:11px 12px}
  .contact-form textarea{min-height:96px}
  .contact-form .privacy-copy{font-size:.78rem;margin-top:2px}
  .contact-section h2{font-size:2rem;line-height:1.05}
  .contact-section>div>p{font-size:.92rem}
}
.contact-form .opt{font-weight:400;color:var(--subtle);font-size:.85em}
/* empty error slots reserved ~18px under every field — collapse them so fields sit close together */
.contact-form small:empty{display:none}

/* ===== Mobile vertical-rhythm compression (2026-07-05): reclaim dead space between and
   inside sections on phones — no content removed, desktop untouched. ===== */
@media (max-width:640px){
  .hero-tool-wrap{padding-top:96px;padding-bottom:40px}
  .hero-tool{margin-bottom:44px}
  .ticker{margin-bottom:16px}
  .thesis-band{padding-top:28px;padding-bottom:28px;margin-bottom:34px}
  .capability-cloud{padding-top:30px;padding-bottom:30px;margin-bottom:30px}
  .proof-panel{padding-top:30px;padding-bottom:30px;margin-bottom:30px}
  .section{padding-top:36px;padding-bottom:36px}
  .testimonial-band{padding-top:26px;padding-bottom:26px;margin-bottom:34px}
  .bento-section{margin-bottom:44px}
  .image-band{margin-top:18px;margin-bottom:18px}
  .project-patterns{padding-top:36px}
  .contact-section{margin-top:26px;margin-bottom:34px}
  .section-head{margin-bottom:24px}
  .page-hero{padding-top:40px;padding-bottom:32px}
  .page-intro{margin:28px auto 30px}
  /* inside-section compression: card paddings + grid gaps */
  .domo-scroll-lab .scroll-lab-copy h2{max-width:none}
  .capability-grid article{padding:16px 16px 18px}
  .bento{gap:10px}
  .bento-cell{padding:16px}
  .tv-card{padding:20px 20px 16px}
  .experience-grid{margin-bottom:20px}
  .quiz-card{gap:12px;padding:16px}
  .proof-statement .sector-links{gap:8px}
  .capability-cloud-head{gap:10px}
}

/* ===== Phase-graphic caption moved into the Mac-style title bar (next to the window dots),
   freeing the bottom strip it used to float over — the art gets the full canvas. ===== */
.lab-chip{left:62px;top:-31px;bottom:auto;transform:none;border:0;background:none;padding:0;max-width:calc(100% - 68px);overflow:hidden;text-overflow:ellipsis;display:block}
.lab-screen .lab-viz{inset:8px 0 10px}
/* short phones (SE-class): shrink the window + scene box so the pinned view still fits */
@media (max-width:640px) and (max-height:740px){
  .domo-scroll-lab .scroll-lab-visual .lab-screen{height:clamp(148px,23svh,175px)}
  .domo-scroll-lab .pin-scenes{min-height:148px}
  .domo-scroll-lab .pin-viewport{padding-top:16px}
}

/* Phase1 2026-07-05: mobile fold + text-swap utilities */
.an-s{display:none}
@media (max-width:640px){.an-l{display:none}.an-s{display:inline}.announcement-strip>span{display:none}.hero-tool h1,.hero-tool .hero-headline{font-size:2.3rem!important;line-height:1.08!important;max-width:20ch!important}}

/* Phase2 2026-07-05: proof columns, mobile-menu extra, offer hero visual */
.proof-columns{display:grid;grid-template-columns:1fr;gap:18px;margin-top:6px}
.proof-columns h3{font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin:0 0 8px}
.proof-columns p{font-size:.95rem;line-height:1.62;color:#414141;margin:0}
@media (max-width:760px){.proof-columns{grid-template-columns:1fr;gap:16px}}
.capability-grid .has-ico .card-ico+*{padding-right:72px}
.nav-extra{display:none}
@media (max-width:1040px){
.site-header .nav-compact .nav-extra{display:block;margin-top:auto;padding-top:22px;opacity:0;transform:translateY(10px);transition:opacity .32s ease .28s,transform .32s ease .28s}
body.menu-open .site-header .nav-compact .nav-extra{opacity:1;transform:none}
.site-header .nav-compact .nav-extra a{opacity:1!important;transform:none!important;transition:none!important}
.site-header .nav-compact .nav-extra .nav-start{display:flex!important;justify-content:center!important;gap:8px;padding:14px!important;border:1.5px solid var(--blue)!important;border-bottom:1.5px solid var(--blue)!important;color:var(--blue)!important;font-size:1.05rem!important;font-weight:700}
.site-header .nav-compact .nav-extra .nav-start b{font-weight:800}
.site-header .nav-compact .nav-extra .nav-info{display:flex;justify-content:center;gap:18px;margin-top:14px}
.site-header .nav-compact .nav-extra .nav-info a{display:inline-flex!important;padding:10px 4px!important;border:0!important;border-bottom:0!important;font-size:.95rem!important;font-weight:500!important;color:var(--muted)!important;letter-spacing:0!important}
}
.ph-visual{display:none}
@media (min-width:1041px){
.page-hero.has-visual{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:56px;align-items:center}
.ph-visual{display:block}
.phv-card{background:linear-gradient(160deg,#0e1d38,#0b0f19);border:1px solid rgba(255,255,255,.08);box-shadow:0 32px 90px rgba(2,6,23,.35);padding:10px}
.phv-card svg{display:block;width:100%;height:auto}
}

/* Phase3 2026-07-05: merged credibility block */
.proof-work{grid-column:1/-1;min-width:0;max-width:100%;margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}
.proof-work .eyebrow{margin-bottom:16px}
.proof-work .capability-grid{margin:0}
.pw-note{margin-top:14px;font-size:.85rem;color:var(--subtle)}

/* Phase4a 2026-07-05: cross-page view transitions (progressive enhancement) */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.16s;animation-timing-function:ease-out}
::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-in}
.site-header{view-transition-name:site-header}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* Fix 2026-07-05: mobile proof-panel overflow + card heading clearance */
@media (max-width:640px){
.capability-grid .has-ico .card-ico+*{padding-right:50px}
.proof-work .m-rail{max-width:100%}
}
/* Premium tier 2026-07-06: unified image grade + editorial stat beat */
.stat-beat{width:min(var(--max),calc(100% - 48px));margin:20px auto 96px;padding-top:58px;border-top:1px solid var(--line)}
.stat-beat .eyebrow{color:var(--teal)}
.stat-beat-num{display:flex;align-items:baseline;gap:20px;color:var(--ink)}
.stat-beat-num b{font-size:clamp(6.5rem,17vw,15rem);font-weight:450;letter-spacing:-.055em;line-height:.88}
.stat-beat-num span{font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:650;color:var(--ink);letter-spacing:-.02em}
.stat-beat-num em{font-style:normal;font-weight:450;color:var(--subtle)}
.stat-beat-line{max-width:46ch;font-size:1.06rem;line-height:1.6;margin-top:16px;color:var(--muted)}
@media (max-width:640px){.stat-beat{margin-bottom:64px;padding-top:44px}.stat-beat-line{font-size:.95rem}}
/* Motion samples 2026-07-06 (preview) */
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
@media (max-width:899px){.hero-bg-video{display:none}}
@media (prefers-reduced-motion:reduce){.hero-bg-video{display:none}}
/* platform showcase band + in-production badge — added 2026-07-21 */
.app-prod{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0f6662;background:#e6f7f6;border:1px solid #b5e6e2;border-radius:999px;padding:3px 9px;white-space:nowrap}
.platform-band{width:min(var(--max),calc(100% - 48px));margin:0 auto 96px;padding:clamp(36px,5vw,60px) clamp(26px,5vw,64px);background:linear-gradient(155deg,#0b1330,#0e1c46 55%,#0a2338);color:#fff;position:relative;overflow:hidden}
.platform-band::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 340px at 92% -18%,rgba(47,107,255,.34),transparent 62%),radial-gradient(520px 340px at -8% 118%,rgba(8,189,186,.24),transparent 60%)}
.pb-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(28px,4vw,56px);align-items:center}
.platform-band .eyebrow{color:#7fb0ff}
.pb-copy h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.05rem);letter-spacing:-.022em;line-height:1.16;margin:10px 0 14px;max-width:22ch}
.pb-copy>p{color:#c7d3ec;max-width:58ch}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.pb-chips i{font-style:normal;font-size:.77rem;font-weight:600;color:#dbe6fb;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 12px;white-space:nowrap}
.pb-actions{display:flex;flex-wrap:wrap;gap:12px}
.platform-band .button-secondary{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.22)}
.pb-visual{display:grid;gap:14px;min-width:0}
.pb-visual .phv-card{border-radius:14px}
@media (max-width:899px){.pb-grid{grid-template-columns:1fr}.pb-copy>p{max-width:none}.platform-band{padding-top:30px;padding-bottom:30px;margin-bottom:34px}}
/* inner-page polish pass — 2026-07-21 (preview) */
.section-head.compact-head{margin-bottom:26px}
.section-head.compact-head h2{font-size:clamp(1.55rem,2.6vw,2.15rem)!important;max-width:none!important;line-height:1.12;letter-spacing:-.025em}
.capability-grid h3,.page-card-grid h3,.partner-grid h3,.solution-matrix article h2,.insight-grid-hub article h3{max-width:none!important}
.partner-grid article.has-ico h3{padding-right:64px}
.ph-links{list-style:none;margin:0;padding:14px 6px 6px}
.ph-links li{margin:0}
.ph-links a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:#e8eefb;font-size:.94rem;font-weight:500;line-height:1.35;transition:background .2s ease}
.ph-links li:last-child a{border-bottom:0}
.ph-links a:hover{background:rgba(255,255,255,.05)}
.ph-links .lt{font-size:.63rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7fb0ff;border:1px solid rgba(127,176,255,.35);border-radius:999px;padding:3px 8px;white-space:nowrap;flex-shrink:0}
.ph-links .la{margin-left:auto;color:#7fb0ff;flex-shrink:0}
.phv-title{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8fb3d9;padding:14px 18px 0}
.article-toc{position:fixed;top:120px;right:max(18px,calc((100vw - 1220px)/2 - 210px));width:188px;font-size:.8rem;display:none}
@media (min-width:1280px){.article-toc{display:block}}
.article-toc strong{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);margin-bottom:10px}
.article-toc a{display:block;padding:5px 0 5px 12px;border-left:2px solid var(--line);color:var(--muted);line-height:1.35;transition:color .2s ease,border-color .2s ease}
.article-toc a.is-active{color:var(--blue);border-left-color:var(--blue);font-weight:600}
.partner-grid article{justify-content:flex-start}
.partner-grid article h3{margin-top:2px}
/* long-headline scale fix — statements over ~50ch drop to a medium tier (2026-07-21) */
.service-lab-head h2,.proof-statement h2,#industries .section-head h2,.contact-section h2{font-size:clamp(1.9rem,3.2vw,2.6rem)!important;line-height:1.15;letter-spacing:-.022em;max-width:28ch!important}
/* landscape + section-blend pass — 2026-07-21 r3 */
.service-lab{background:linear-gradient(180deg,rgba(243,246,250,0) 0,#f3f6fa 13%,#f3f6fa 87%,rgba(243,246,250,0) 100%)}
@media (min-width:760px){
.stat-beat{display:grid;grid-template-columns:auto 1fr;column-gap:clamp(44px,7vw,110px);row-gap:4px;align-items:center}
.stat-beat .eyebrow{grid-column:1/-1}
.stat-beat-line{margin-top:0;font-size:clamp(1.08rem,1.7vw,1.42rem);line-height:1.5;max-width:38ch}
}
.pb-copy .eyebrow{display:flex;align-items:center;gap:9px}
.live-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#28f0c2;animation:liveDot 2.6s ease-out infinite}
@keyframes liveDot{0%{box-shadow:0 0 0 0 rgba(40,240,194,.45)}70%{box-shadow:0 0 0 9px rgba(40,240,194,0)}100%{box-shadow:0 0 0 0 rgba(40,240,194,0)}}
.platform-band .pb-r{opacity:0;transform:translateY(9px);transition:opacity .55s ease,transform .55s ease}
.platform-band .pb-r:nth-of-type(2){transition-delay:.12s}
.platform-band .pb-r:nth-of-type(3){transition-delay:.24s}
.platform-band .pb-r:nth-of-type(4){transition-delay:.38s}
.platform-band .pb-fill{stroke-dasharray:285;stroke-dashoffset:285;transition:stroke-dashoffset 1.05s cubic-bezier(.3,.6,.25,1) .3s}
.platform-band .pb-steps circle{opacity:0;transition:opacity .3s ease}
.platform-band .pb-steps circle:nth-of-type(1){transition-delay:.3s}
.platform-band .pb-steps circle:nth-of-type(2){transition-delay:.55s}
.platform-band .pb-steps circle:nth-of-type(3){transition-delay:.8s}
.platform-band .pb-steps circle:nth-of-type(4){transition-delay:1.1s}
.platform-band .pb-steps circle:nth-of-type(5){transition-delay:1.25s}
.platform-band.is-lit .pb-r{opacity:1;transform:none}
.platform-band.is-lit .pb-fill{stroke-dashoffset:0}
.platform-band.is-lit .pb-steps circle{opacity:1}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}.platform-band .pb-r,.platform-band .pb-steps circle{opacity:1;transform:none;transition:none}.platform-band .pb-fill{stroke-dashoffset:0;transition:none}}
