/* Tandm website v3: legacy.css
   Page components from the previous site.css, for pages not rebuilt in this release
   (business case, book a demo, blog, legal). Load after tandm.css. Generated by
   build/legacy.py from the live site.css; edit the overrides at the end. */
textarea,select{font:inherit}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
.meta-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.02em}
.meta-line .dot{width:3px;height:3px;border-radius:50%;background:var(--ebony-300)}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--azure-800);font-size:15px;font-weight:700}
.text-link svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.text-link:hover svg{transform:translateX(3px)}
.blog-hero{position:relative;min-height:1020px;padding:152px 0 160px;overflow:hidden;color:#fff;background:radial-gradient(circle at 12% 18%,rgba(30,173,255,.2),transparent 28%),radial-gradient(circle at 80% 60%,rgba(0,123,255,.24),transparent 35%),linear-gradient(180deg,#141822 0%,var(--ebony-950) 62%,#202638 100%);isolation:isolate}
.blog-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
.blog-hero::after{content:"";position:absolute;width:900px;height:900px;border:1px solid rgba(131,223,255,.16);border-radius:50%;left:50%;bottom:-620px;transform:translateX(-50%);box-shadow:0 0 0 140px rgba(0,123,255,.035),0 0 0 280px rgba(0,123,255,.018)}
.blog-intro{position:relative;z-index:2;max-width:980px}
.blog-intro h1{max-width:12ch;color:#fff;font-size:clamp(54px,8vw,108px);line-height:.95;letter-spacing:-.055em}
.blog-intro p{max-width:700px;margin-top:28px;color:var(--ebony-300);font-size:clamp(19px,2vw,24px);line-height:1.45}
.featured-story{position:relative;z-index:3;display:grid;grid-template-columns:1.14fr .86fr;min-height:470px;margin-top:76px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-xl);background:rgba(255,255,255,.07);box-shadow:0 40px 110px rgba(0,0,0,.32);backdrop-filter:blur(20px)}
.featured-media{position:relative;min-height:470px;overflow:hidden}
.featured-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05);transition:transform .9s var(--ease)}
.featured-story:hover .featured-media img{transform:scale(1.025)}
.featured-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(35,40,56,.66) 100%),linear-gradient(180deg,transparent 52%,rgba(8,14,29,.34) 100%)}
.featured-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:48px 48px 46px;color:#fff;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(0,123,255,.04))}
.featured-copy .meta-line{color:var(--azure-300)}
.featured-copy h2{margin-top:20px;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.03}
.featured-copy p{margin-top:20px;color:var(--ebony-300);font-size:17px}
.featured-copy .text-link{margin-top:30px;color:#fff}
.blog-main{position:relative;padding:110px 0 130px;background:#fff}
.blog-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:48px}
.blog-toolbar h2{max-width:12ch;font-size:clamp(38px,5vw,62px);line-height:1.02}
.filter-nav{display:flex;gap:24px;overflow-x:auto;padding-bottom:8px}
.filter-button{position:relative;white-space:nowrap;color:var(--muted);font-size:14px;font-weight:700}
.filter-button::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1.5px;background:var(--azure-700);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.filter-button:hover,.filter-button.is-active{color:var(--ink)}
.filter-button.is-active::after{transform:scaleX(1)}
.story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.story-card{grid-column:span 4;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s ease}
.story-card.wide{grid-column:span 6}
.story-card:hover{transform:translateY(-6px);border-color:rgba(0,123,255,.22);box-shadow:0 28px 74px -32px rgba(35,40,56,.28)}
.story-card[hidden]{display:none}
.story-art{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ebony-950);isolation:isolate}
.story-art::before,.story-art::after{content:"";position:absolute;pointer-events:none}
.story-art .art-label{position:absolute;left:24px;bottom:22px;z-index:4;color:rgba(255,255,255,.86);font-family:"Outfit","Inter Display",Inter,sans-serif;font-size:14px;letter-spacing:-.01em}
.story-art .art-label b{display:block;color:#fff;font-size:21px;font-weight:400}
.art-safety{background:radial-gradient(circle at 68% 58%,rgba(0,123,255,.52),transparent 26%),linear-gradient(145deg,#111722,#293148)}
.art-safety::before{width:46%;height:70%;right:13%;top:15%;border:1px solid rgba(131,223,255,.36);border-radius:24px;box-shadow:0 0 0 14px rgba(131,223,255,.04),0 24px 60px rgba(0,0,0,.24);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025))}
.art-safety::after{width:76px;height:76px;right:27%;top:35%;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:inset 0 0 0 18px rgba(0,123,255,.17),0 0 60px rgba(0,123,255,.55)}
.art-information{background:linear-gradient(145deg,var(--azure-50),var(--azure-200))}
.art-information::before{width:52%;height:70%;right:12%;top:15%;border-radius:20px;background:#fff;box-shadow:0 26px 65px -28px rgba(14,49,93,.45);transform:rotate(3deg)}
.art-information::after{width:35%;height:2px;right:20%;top:37%;background:var(--azure-700);box-shadow:0 28px 0 var(--ebony-200),0 56px 0 var(--ebony-200),0 84px 0 var(--ebony-200)}
.art-information .art-label{color:var(--ebony-700)}
.art-information .art-label b{color:var(--ebony-950)}
.art-systems{background:radial-gradient(circle at 50% 50%,rgba(0,123,255,.3),transparent 24%),linear-gradient(150deg,#1a2030,#2f3850)}
.art-systems::before{inset:18%;border-radius:50%;border:1px solid rgba(131,223,255,.26);box-shadow:0 0 0 50px rgba(131,223,255,.035),0 0 0 100px rgba(131,223,255,.018)}
.art-systems::after{width:16px;height:16px;left:50%;top:50%;margin:-8px;border-radius:50%;background:var(--azure-400);box-shadow:-125px -62px 0 -3px var(--azure-300),138px -52px 0 -3px var(--green-300),122px 72px 0 -3px var(--azure-500),-138px 78px 0 -3px var(--ebony-300),0 0 40px var(--azure-500)}
.art-trust{background:linear-gradient(145deg,#eef2f9,#fff)}
.art-trust::before{width:112px;height:112px;right:22%;top:23%;border-radius:50%;background:var(--green-100);box-shadow:0 0 0 18px rgba(31,200,112,.08)}
.art-trust::after{width:38px;height:20px;right:calc(22% + 34px);top:calc(23% + 39px);border-left:5px solid var(--green-700);border-bottom:5px solid var(--green-700);transform:rotate(-45deg)}
.art-trust .art-label{color:var(--ebony-700)}
.art-trust .art-label b{color:var(--ebony-950)}
.art-product{background:radial-gradient(circle at 65% 45%,rgba(72,203,255,.65),transparent 20%),radial-gradient(circle at 64% 50%,rgba(0,123,255,.4),transparent 36%),linear-gradient(145deg,#101621,#30394f)}
.art-product::before{width:210px;height:210px;right:7%;top:10%;border-radius:50%;background:linear-gradient(145deg,rgba(131,223,255,.5),rgba(0,123,255,.03));filter:blur(.2px);box-shadow:inset -30px -28px 70px rgba(14,49,93,.65),0 36px 75px rgba(0,0,0,.3)}
.art-field{background:linear-gradient(145deg,#edf7ff,#d9e8f5)}
.art-field::before{inset:17% 10% 16% 40%;border-radius:24px;background:repeating-linear-gradient(180deg,#fff 0 22px,#e9edf4 22px 24px);box-shadow:0 24px 64px -32px rgba(35,40,56,.38);transform:rotate(-2deg)}
.art-field::after{width:44px;height:44px;right:18%;top:23%;border:2px solid var(--azure-700);border-radius:50%;box-shadow:0 0 0 10px rgba(0,123,255,.08)}
.art-field .art-label{color:var(--ebony-700)}
.art-field .art-label b{color:var(--ebony-950)}
.story-copy{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px}
.story-copy h3{margin-top:16px;font-size:clamp(25px,2.4vw,34px);line-height:1.08}
.story-copy p{margin-top:14px;color:var(--muted);font-size:15px}
.story-copy .text-link{margin-top:auto;padding-top:24px}
.cta-slab{--mx:70%;--my:30%;position:relative;grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;min-height:390px;margin:42px 0;padding:52px;overflow:hidden;border-radius:var(--r-xl);color:#fff;background:radial-gradient(circle at var(--mx) var(--my),rgba(30,173,255,.28),transparent 22%),linear-gradient(145deg,#151a27,#2b3349);isolation:isolate}
.cta-slab::before{content:"";position:absolute;width:540px;height:540px;right:-100px;top:-260px;border:1px solid rgba(131,223,255,.22);border-radius:50%;box-shadow:0 0 0 90px rgba(0,123,255,.035),0 0 0 180px rgba(0,123,255,.018)}
.cta-slab h2{position:relative;z-index:2;max-width:9ch;color:#fff;font-size:clamp(42px,6vw,76px);line-height:.98}
.cta-slab p{position:relative;z-index:2;max-width:520px;margin-top:20px;color:var(--ebony-300);font-size:18px}
.cta-slab .button{position:relative;z-index:2}
.reading-progress{position:fixed;left:0;top:0;right:0;z-index:150;height:3px;background:transparent}
.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--azure-400),var(--azure-700));box-shadow:0 0 14px rgba(0,123,255,.5)}
.article-head{padding:132px 0 54px;background:#fff}
.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:700}
.back-link svg{width:16px;height:16px;transform:rotate(180deg);transition:transform .2s}
.back-link:hover svg{transform:translateX(-3px) rotate(180deg)}
.article-title-wrap{max-width:1050px;margin-top:52px}
.article-title-wrap .meta-line{color:var(--azure-800)}
.article-title-wrap h1{margin-top:24px;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.055em}
.article-title-wrap .lede{max-width:830px;margin-top:28px;color:var(--muted);font-size:clamp(19px,2vw,24px);line-height:1.5}
.article-hero-art{position:relative;height:min(56vw,630px);min-height:420px;margin-top:60px;overflow:hidden;border-radius:var(--r-xl);box-shadow:0 36px 100px -48px rgba(35,40,56,.45)}
.article-hero-art .story-art{height:100%;aspect-ratio:auto}
.article-hero-art .story-art .art-label{left:48px;bottom:44px}
.article-hero-art .story-art .art-label b{font-size:34px}
.legal-layout{display:grid;grid-template-columns:minmax(0,var(--reading));justify-content:center}
.legal-layout .article-body{font-size:17px;line-height:1.65}
.legal-layout .article-body>p:first-child{font-size:17px;line-height:1.65}
.legal-layout .article-body h2{margin:52px 0 16px;font-size:clamp(22px,2.4vw,26px);line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.legal-layout .article-body h3{margin:30px 0 10px;font-size:18px;line-height:1.35;color:var(--ink)}
.legal-layout .article-body p{margin-top:14px}
.legal-layout .article-body ul{margin:14px 0;padding-left:22px}
.legal-layout .article-body li{margin-top:9px}
.page-layout .article-body h2{margin:54px 0 18px}
.page-layout .article-body h3{margin:32px 0 10px}
.page-layout{display:grid;grid-template-columns:minmax(0,var(--reading));justify-content:center}
.hero-cta{margin-top:46px}
.article-body .demo-points{margin:26px 0}
.article-body .demo-point b{display:block;color:var(--ink)}
.article-body .demo-point span{display:block;margin-top:4px;color:var(--muted);font-size:16px;line-height:1.5}
.article-body .demo-point i{font-style:normal;color:var(--azure-700);font-size:13px;font-weight:700;letter-spacing:.08em}
.article-main{padding:68px 0 88px;border-top:1px solid var(--line)}
.article-layout{display:grid;grid-template-columns:190px minmax(0,var(--reading)) 220px;gap:54px;justify-content:center;align-items:start}
.toc{position:sticky;top:112px}
.toc b{display:block;margin-bottom:14px;color:var(--ink);font-size:13px}
.toc a{display:block;padding:8px 0;color:var(--muted);font-size:13px;line-height:1.35;border-left:1px solid var(--line);padding-left:14px;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--ink);border-color:var(--azure-700)}
.article-body{min-width:0;color:var(--ebony-700);font-size:19px;line-height:1.72}
.article-body>p:first-child{font-size:23px;line-height:1.58;color:var(--ink)}
.article-body h2{margin:72px 0 22px;font-size:clamp(34px,4vw,47px);line-height:1.08;scroll-margin-top:110px}
.article-body h3{margin:40px 0 14px;font-size:26px}
.article-body p+p{margin-top:22px}
.article-body ul{margin:24px 0;padding:0;list-style:none}
.article-body li{position:relative;margin:14px 0;padding-left:28px}
.article-body ul>li::before{content:"";position:absolute;left:3px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--azure-700);box-shadow:0 0 0 5px var(--azure-100)}
.article-body ol{margin:24px 0;padding-left:26px}
.article-body ol>li{padding-left:6px}
.article-body ol>li::marker{color:var(--azure-700);font-weight:600}
.definition-list{margin:28px 0;border-top:1px solid var(--line)}
.definition{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.definition dt{font-weight:700;color:var(--ink)}
.definition dd{margin:0;color:var(--muted)}
.inline-cta{--mx:50%;--my:50%;position:relative;margin:72px -34px;padding:38px 36px;overflow:hidden;border-radius:28px;color:#fff;background:radial-gradient(circle at var(--mx) var(--my),rgba(30,173,255,.25),transparent 26%),linear-gradient(145deg,#171c29,#2b3349);box-shadow:0 28px 72px -38px rgba(35,40,56,.7)}
.inline-cta h3{margin:0;color:#fff;font-size:32px}
.inline-cta p{margin-top:12px;color:var(--ebony-300);font-size:16px;line-height:1.55}
.inline-cta .button{margin-top:24px;min-height:46px;font-size:14px}
.article-rail{position:sticky;top:112px}
.rail-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--ebony-50)}
.rail-card b{display:block;color:var(--ink);font-family:"Outfit","Inter Display",Inter,sans-serif;font-size:21px;font-weight:400;line-height:1.12}
.rail-card p{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}
.rail-card .text-link{margin-top:18px;font-size:13px}
.share-button{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--muted);font-size:13px;font-weight:700}
.share-button svg{width:16px;height:16px}
.share-button.is-copied{color:var(--green-700)}
.article-close{padding:72px 0;background:var(--ebony-50)}
.article-close .close-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}
.article-close h2{font-size:clamp(38px,5vw,60px)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.related-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;transition:transform .25s var(--ease),box-shadow .25s}
.related-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px -36px rgba(35,40,56,.4)}
.related-card h3{margin-top:18px;font-size:27px;line-height:1.08}
.related-card .text-link{margin-top:24px}
.demo-page{position:relative;min-height:100svh;padding:124px 0 84px;overflow:hidden;color:#fff;background:radial-gradient(circle at 12% 16%,rgba(30,173,255,.2),transparent 28%),radial-gradient(circle at 84% 72%,rgba(0,123,255,.28),transparent 35%),linear-gradient(145deg,#121722,#252d42);isolation:isolate}
.demo-page::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px}
.demo-page::after{content:"";position:absolute;width:780px;height:780px;left:-420px;bottom:-460px;border:1px solid rgba(131,223,255,.18);border-radius:50%;box-shadow:0 0 0 110px rgba(0,123,255,.035),0 0 0 220px rgba(0,123,255,.018)}
.demo-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,.94fr);gap:72px;align-items:center}
.demo-copy h1{max-width:8.5ch;color:#fff;font-size:clamp(58px,7.3vw,104px);line-height:.94;letter-spacing:-.06em}
.demo-copy>p{max-width:620px;margin-top:30px;color:var(--ebony-300);font-size:clamp(19px,2vw,23px);line-height:1.5}
.demo-points{display:grid;gap:18px;margin-top:44px}
.demo-point{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.demo-point i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(131,223,255,.11);border:1px solid rgba(131,223,255,.24);color:var(--azure-300);font-style:normal;font-size:13px;font-weight:800}
.demo-point b{display:block;color:#fff;font-size:16px}
.demo-point span{display:block;margin-top:2px;color:var(--ebony-300);font-size:14px}
.demo-contact-note a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4)}
.demo-form-card{position:relative;overflow:hidden;padding:42px;border:1px solid rgba(255,255,255,.14);border-radius:36px;background:rgba(255,255,255,.96);color:var(--text);box-shadow:0 44px 120px rgba(0,0,0,.34);backdrop-filter:blur(24px)}
.form-switch{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:30px}
.form-switch button{position:relative;padding:0 0 14px;color:var(--muted);font-size:14px;font-weight:700}
.form-switch button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--azure-700);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.form-switch button.is-active{color:var(--ink)}
.form-switch button.is-active::after{transform:scaleX(1)}
.form-heading h2{font-size:38px}
.form-heading p{margin-top:10px;color:var(--muted);font-size:15px}
.demo-form{margin-top:28px}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{color:var(--ink);font-size:13px;font-weight:700}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:14px 15px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field input,.field select{height:50px}
.field textarea{min-height:112px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--azure-600);box-shadow:0 0 0 4px rgba(0,123,255,.1)}
.field input::placeholder,.field textarea::placeholder{color:var(--ebony-300)}
.check-row{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;margin-top:18px;color:var(--muted);font-size:12px;line-height:1.45}
.check-row input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--azure-700)}
.check-row a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}
.submit-row .button{min-width:196px}
.submit-note{color:var(--muted);font-size:12px;line-height:1.4}
.form-error{margin-top:12px;color:var(--danger);font-size:.95rem}
.demo-form button[type="submit"][disabled]{opacity:.6;pointer-events:none}
.form-success{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:46px;background:rgba(255,255,255,.98);opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .35s,transform .35s,visibility .35s}
.form-success.is-visible{opacity:1;visibility:visible;transform:none}
.success-inner{max-width:430px;text-align:center}
.success-mark{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 24px;border-radius:50%;background:var(--green-100);color:var(--green-700);font-size:32px}
.success-inner h2{font-size:42px}
.success-inner p{margin-top:14px;color:var(--muted)}
.success-inner .button{margin-top:26px}
.site-cta{position:relative;padding:80px 0;overflow:hidden;color:#fff;background:linear-gradient(145deg,#151a27,#2b3349)}
.site-cta::before{content:"";position:absolute;width:680px;height:680px;right:-180px;top:-390px;border:1px solid rgba(131,223,255,.18);border-radius:50%;box-shadow:0 0 0 110px rgba(0,123,255,.03),0 0 0 220px rgba(0,123,255,.015)}
.site-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}
.site-cta h2{max-width:10ch;color:#fff;font-size:clamp(46px,6vw,76px);line-height:.98}
.site-cta p{max-width:560px;margin-top:20px;color:var(--ebony-300);font-size:18px}
@media (max-width:1080px){.article-layout{grid-template-columns:minmax(0,var(--reading)) 220px}.toc{display:none}.demo-grid{grid-template-columns:1fr 520px;gap:46px}.story-card{grid-column:span 6}.story-card.wide{grid-column:span 6}}
@media (max-width:860px){.blog-hero{min-height:auto;padding-bottom:110px}.featured-story{grid-template-columns:1fr}.featured-media{min-height:350px}.featured-copy{padding:36px}.blog-toolbar{display:block}.filter-nav{margin-top:28px}.story-grid{grid-template-columns:1fr}.story-card,.story-card.wide{grid-column:auto}.cta-slab{grid-column:auto;grid-template-columns:1fr;align-items:start;padding:40px;min-height:420px}.article-layout{grid-template-columns:minmax(0,1fr)}.article-rail{display:none}.article-hero-art{border-radius:28px}.related-grid{grid-template-columns:1fr}.demo-grid{grid-template-columns:1fr}.demo-copy{padding-top:20px}.demo-form-card{max-width:650px}.site-cta-inner{grid-template-columns:1fr;align-items:start}}
@media (max-width:620px){.blog-hero{padding-top:120px}.blog-intro h1{font-size:42px;line-height:1.02}.featured-story{margin-top:50px;border-radius:28px}.featured-media{min-height:260px}.featured-copy{padding:28px}.featured-copy h2{font-size:34px}.blog-main{padding-top:80px}.story-grid{gap:18px}.story-card{border-radius:22px}.story-copy{padding:22px}.cta-slab{padding:30px;border-radius:28px}.article-head{padding-top:118px}.article-title-wrap{margin-top:38px}.article-title-wrap h1{font-size:38px;line-height:1.04}.article-hero-art{height:390px;min-height:0;margin-top:44px}.article-hero-art .story-art .art-label{left:26px;bottom:24px}.article-main{padding-top:70px}.article-body{font-size:18px}.article-body h2{margin-top:58px;font-size:35px}.definition{grid-template-columns:1fr;gap:6px}.inline-cta{margin:58px 0;padding:30px 26px}.article-close{padding:56px 0}.demo-page{padding-top:104px}.demo-copy h1{font-size:44px;line-height:1.02}.demo-form-card{padding:28px 22px;border-radius:28px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.submit-row{display:grid}.submit-row .button{width:100%}.site-cta{padding:82px 0}.site-cta h2{font-size:50px}.form-heading h2{font-size:34px}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.article-hero-art img{width:100%;height:100%;object-fit:cover;display:block}
.story-art img{width:100%;height:100%;object-fit:cover;display:block}
.trust-marks{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0;padding:0;list-style:none}
.trust-marks li{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.trust-marks svg{flex:0 0 auto;width:15px;height:15px;color:var(--azure-400)}
.trust-marks .trust-note{text-transform:none;letter-spacing:0;font-weight:400;color:rgba(255,255,255,.5)}
.trust-marks.on-light li{color:var(--ebony-600)}
.trust-marks.on-light svg{color:var(--azure-800)}
.trust-marks.on-light .trust-note{color:var(--muted)}
.hero-trust{margin-top:30px}
@media (max-width:620px){.trust-marks{gap:8px 16px}.trust-marks li{font-size:11px}}
.article-body .table-wrap{margin:26px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-md)}
.article-body table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.5}
.article-body thead th{position:sticky;top:0;padding:13px 16px;text-align:left;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--ebony-50);border-bottom:1px solid var(--line)}
.article-body tbody td{padding:13px 16px;color:var(--text);vertical-align:top;border-bottom:1px solid var(--line)}
.article-body tbody tr:last-child td{border-bottom:0}
.article-body tbody tr:nth-child(even) td{background:rgba(245,246,250,.55)}
@media (max-width:620px){.article-body table{font-size:14px;min-width:460px}.article-body thead th,.article-body tbody td{padding:11px 13px}}
.roi-page{position:relative;min-height:100svh;padding:124px 0 96px;overflow:hidden;color:#fff;background:radial-gradient(circle at 12% 16%,rgba(30,173,255,.2),transparent 28%),radial-gradient(circle at 84% 72%,rgba(0,123,255,.28),transparent 35%),linear-gradient(145deg,#121722,#252d42);isolation:isolate}
.roi-page::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px}
.roi-page::after{content:"";position:absolute;width:780px;height:780px;left:-420px;bottom:-460px;border:1px solid rgba(131,223,255,.18);border-radius:50%;box-shadow:0 0 0 110px rgba(0,123,255,.035),0 0 0 220px rgba(0,123,255,.018)}
.roi-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(40px,5vw,72px);align-items:start}
.roi-copy .meta-line{color:var(--azure-300)}
.roi-copy h1{max-width:13ch;margin-top:18px;color:#fff;font-size:clamp(42px,5.4vw,76px);line-height:.98;letter-spacing:-.05em}
.roi-lede{max-width:56ch;margin-top:24px;color:var(--ebony-300);font-size:clamp(18px,1.7vw,21px);line-height:1.5}
.roi-copy{grid-column:1;grid-row:1}
.roi-card{grid-column:2;grid-row:1/span 2}
.roi-aside{grid-column:1;grid-row:2;margin-top:38px;min-width:0}
.roi-notes{display:grid;gap:16px}
.roi-note{padding:22px 24px;border:1px solid rgba(255,255,255,.13);border-radius:var(--r-md);background:rgba(255,255,255,.05);backdrop-filter:blur(14px)}
.roi-note b{display:block;color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.roi-note p{margin-top:10px;color:var(--ebony-300);font-size:15px;line-height:1.55}
.roi-note p+p{margin-top:8px}
.roi-card{position:relative;overflow:hidden;scroll-margin-top:92px;padding:clamp(26px,3vw,40px);border:1px solid rgba(255,255,255,.14);border-radius:36px;background:rgba(255,255,255,.97);color:var(--text);box-shadow:0 44px 120px rgba(0,0,0,.34);backdrop-filter:blur(24px)}
.roi-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.roi-card-head h2{font-size:clamp(24px,2.4vw,30px);line-height:1.1}
.roi-lang{display:inline-flex;flex:0 0 auto;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--ebony-50)}
.roi-lang button{padding:6px 13px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;transition:background .2s,color .2s}
.roi-lang button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(35,40,56,.12)}
.roi-fields{display:grid;gap:18px;margin-top:26px}
.roi-hint{color:var(--muted);font-size:12px;line-height:1.45}
.roi-derived{padding:18px 20px;border:1px dashed var(--line);border-radius:var(--r-md);background:var(--ebony-50)}
.roi-derived .field label{font-size:12px}
.roi-derived .roi-hint{margin-top:8px}
.roi-derived .roi-hint button{color:var(--azure-800);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.roi-out{display:grid;gap:20px;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.roi-empty{color:var(--muted);font-size:15px}
.roi-row[hidden],.roi-panel[hidden],.roi-hint button[hidden]{display:none}
.roi-row{display:grid;gap:9px}
.roi-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.roi-row-head b{color:var(--ink);font-size:13px;font-weight:700}
.roi-row-head i{flex:0 0 auto;color:var(--ink);font-family:"Outfit","Inter Display",Inter,sans-serif;font-style:normal;font-size:clamp(26px,3vw,34px);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.roi-row-head i s{text-decoration:none;margin-left:6px;color:var(--muted);font-family:"Figtree",sans-serif;font-size:12px;font-weight:600;letter-spacing:0}
.roi-track{height:10px;border-radius:99px;background:var(--ebony-100);overflow:hidden}
.roi-fill{display:block;width:0;height:100%;border-radius:99px;background:var(--ebony-400);transition:width .6s var(--ease)}
.roi-row.is-gap i{color:var(--azure-800)}
.roi-row.is-gap .roi-fill{background:linear-gradient(90deg,var(--azure-500),var(--azure-700))}
.roi-offer{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;margin-top:20px;padding:14px 16px;border:1px solid rgba(0,123,255,.22);border-radius:var(--r-md);background:linear-gradient(145deg,var(--azure-50),#fff);color:var(--ebony-700);font-size:13px;line-height:1.5}
.roi-offer>svg{width:20px;height:20px;color:var(--azure-800)}
.roi-offer b{color:var(--ink);font-weight:700}
.roi-done-inner .roi-offer{margin-top:24px;max-width:46ch;text-align:left}
.roi-haircut{margin-top:22px;color:var(--muted);font-size:12.5px;line-height:1.5}
.roi-cta{width:100%;margin-top:24px}
.roi-nocost{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}
.roi-panel{position:absolute;inset:0;z-index:5;display:grid;align-content:start;gap:0;padding:clamp(26px,3vw,40px);overflow-y:auto;background:#fff;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.roi-panel.is-open{opacity:1;visibility:visible;transform:none}
.roi-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}
.roi-back svg{width:15px;height:15px;transform:rotate(180deg)}
.roi-panel h2{margin-top:18px;font-size:clamp(26px,2.6vw,34px);line-height:1.08}
.roi-panel>p{margin-top:12px;color:var(--muted);font-size:15px}
.roi-recap{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.roi-recap span{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--ebony-50);color:var(--ebony-700);font-size:12px;font-weight:600}
.roi-gate-form{margin-top:22px}
.roi-gate-form .field-grid{gap:16px}
.field-note{color:var(--danger);font-size:12px;line-height:1.4}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 4px rgba(176,0,32,.08)}
.roi-panel[data-panel="done"]{align-content:center}
.roi-done-inner{display:grid;justify-items:center;text-align:center}
.roi-done-inner .success-mark{margin-bottom:22px}
.roi-done-inner p{max-width:42ch;margin-top:14px;color:var(--muted);font-size:15px}
.roi-done-inner .button{margin-top:26px}
@media (max-width:1080px){.roi-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:44px}}
@media (max-width:900px){.roi-grid{grid-template-columns:minmax(0,1fr)}.roi-copy{grid-column:1;grid-row:1}.roi-card{grid-column:1;grid-row:2;max-width:660px}.roi-aside{grid-column:1;grid-row:3;margin-top:8px}.roi-copy h1{max-width:none}.roi-notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.roi-page{padding:104px 0 72px}.roi-copy h1{font-size:38px;line-height:1.03}.roi-lede{font-size:17px}.roi-notes{grid-template-columns:minmax(0,1fr);margin-top:30px}.roi-card{border-radius:26px}.roi-card-head{flex-direction:column;gap:14px}.roi-row-head{flex-direction:column;align-items:flex-start;gap:4px}.roi-row-head i{font-size:30px}.roi-panel{border-radius:26px}}
.roi-range{width:100%;height:5px;margin:16px 0 6px;accent-color:var(--azure-700);cursor:pointer}
.roi-range-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.pilot-band{position:relative;padding-block:clamp(56px,6.6vw,92px);overflow:hidden;color:#fff;background:radial-gradient(circle at 14% 16%,rgba(72,203,255,.24),transparent 46%),radial-gradient(circle at 88% 84%,rgba(6,30,60,.45),transparent 48%),linear-gradient(135deg,var(--azure-800),var(--azure-900));isolation:isolate}
.pilot-band::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 50% 38%,#000,transparent 74%);-webkit-mask-image:radial-gradient(circle at 50% 38%,#000,transparent 74%)}
.pilot-inner{position:relative;z-index:2;max-width:880px;margin-inline:auto;text-align:center}
.pilot-eyebrow{display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(6,30,60,.28);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pilot-band h2{margin-top:22px;color:#fff;font-size:clamp(38px,5.8vw,70px);line-height:1.01;letter-spacing:-.045em}
.pilot-band h2 em{font-style:normal;color:var(--azure-200)}
.pilot-lede{max-width:58ch;margin:22px auto 0;color:rgba(255,255,255,.87);font-size:clamp(16px,1.7vw,19px);line-height:1.55}
.pilot-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 34px;max-width:660px;margin:32px auto 0;padding:0;list-style:none;text-align:left}
.pilot-points li{display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:14px;font-weight:600}
.pilot-points svg{flex:0 0 auto;width:17px;height:17px;color:var(--azure-200)}
.pilot-cta{margin-top:34px;min-height:58px;padding-inline:32px;background:#fff;color:var(--azure-900);font-size:16px;box-shadow:0 20px 48px -18px rgba(4,20,44,.9)}
.pilot-cta:hover{background:#fff;color:var(--azure-900)}
.pilot-fine{margin-top:20px;color:rgba(255,255,255,.85);font-size:13px;line-height:1.5}
@media (max-width:620px){.pilot-band h2{font-size:36px;line-height:1.04}.pilot-points{grid-template-columns:minmax(0,1fr);gap:11px}.pilot-cta{width:100%}}
.pilot-flash{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:580px;margin-top:28px;padding:14px 16px;border:1px solid rgba(131,223,255,.32);border-radius:20px;background:linear-gradient(120deg,rgba(0,123,255,.30),rgba(13,81,155,.14));box-shadow:0 20px 50px -28px rgba(0,123,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pilot-flash-tag{flex:0 0 auto;padding:5px 12px;border-radius:999px;background:rgba(6,30,60,.45);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pilot-flash-copy{display:grid;gap:1px;margin-right:auto}
.pilot-flash-copy b{color:#fff;font-family:"Outfit","Inter Display",Inter,sans-serif;font-size:26px;font-weight:400;letter-spacing:-.03em;line-height:1.06}
.pilot-flash-copy i{font-style:normal;color:rgba(255,255,255,.82);font-size:13px}
.pilot-flash-go{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:#fff;color:var(--azure-900);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 10px 26px -12px rgba(4,20,44,.8);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.pilot-flash-go:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(4,20,44,.85)}
.pilot-flash-go svg{width:15px;height:15px;transition:transform .2s var(--ease)}
.pilot-flash-go:hover svg{transform:translateX(3px)}
@media (max-width:620px){.pilot-flash{flex-wrap:nowrap;gap:12px;padding:13px 14px;border-radius:18px}.pilot-flash-tag{display:none}.pilot-flash:not(:has(.pilot-flash-go)) .pilot-flash-tag{display:inline-block}.pilot-flash-copy b{font-size:22px}.pilot-flash-copy i{font-size:12px}.pilot-flash-go{padding:9px 14px;font-size:13px}}

/* ---- v3 overrides for legacy page components ------------------------------ */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:var(--rad-2);background:var(--action);color:#fff;font:600 15px/1 var(--font-text);white-space:nowrap;transition:background .2s var(--ease),border-color .2s,transform .12s}
.button:hover{background:var(--action-hover)}
.button:active{transform:translateY(1px)}
.button svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.button:hover svg{transform:translateX(3px)}
.button.light{background:#fff;color:var(--ink)}
.button.light:hover{background:var(--azure-50)}
.button.ghost{background:transparent;color:var(--ink);border-color:var(--ebony-300)}
.button.ghost:hover{border-color:var(--ink)}
.button.ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:none}
.button.ghost-dark:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.button.full,.button.full-width{width:100%}

/* Heroes on legacy pages: flat night ground and the grain, no glow orbs */
.blog-hero,.roi-page,.demo-page,.article-head{background:var(--night)!important;color:var(--on-dark-text)}
.blog-hero{min-height:0;padding:calc(var(--utility) + var(--header) + 72px) 0 96px}
.blog-hero::before{opacity:.05;background-image:var(--grain);background-size:auto;mask-image:none;-webkit-mask-image:none;mix-blend-mode:overlay}
.blog-hero::after{display:none}
.blog-intro h1{font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.032em}
.featured-story{border-radius:var(--rad-4);box-shadow:var(--shadow-ui-dark);backdrop-filter:none;background:rgba(255,255,255,.04)}
.story-card{border-radius:var(--rad-3)}
.story-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.article-head{padding-top:calc(var(--utility) + var(--header) + 64px)}
.article-head h1,.article-title-wrap h1{color:#fff;letter-spacing:-.03em}
.article-head .lede,.article-title-wrap .lede{color:var(--ebony-200)}
.article-head .meta-line{color:var(--azure-300)}
.meta-line{letter-spacing:.04em}
.text-link{color:var(--action)}
.site-cta,.cta-slab{border-radius:var(--rad-4);background:var(--night);box-shadow:none}
.site-cta::before,.cta-slab::before{opacity:.05;background-image:var(--grain);mix-blend-mode:overlay}
.inline-cta{border-radius:var(--rad-4);background:var(--night);box-shadow:var(--shadow-ui-dark)}
.inline-cta p{color:var(--on-dark-text)}

/* Business case page */
.roi-card,.roi-panel,.roi-aside{border-radius:var(--rad-4)}
.roi-card{box-shadow:var(--shadow-2);border-color:var(--rule)}
.roi-page .meta-line{color:var(--azure-300)}
.pilot-band{background:var(--deep)!important}
.pilot-band::before,.pilot-band::after{display:none}
.pilot-flash{border-radius:var(--rad-3)}
.trust-marks svg{color:var(--azure-300)}

/* Demo page */
.demo-form-card{border-radius:var(--rad-4);box-shadow:var(--shadow-ui-dark)}
.form-switch{border-radius:var(--rad-2)}

/* Polish (October 2026): the v3 button depth and press on the migrated pages'
   .button, and the v3 radius on related-article cards */
.button:not(.light):not(.ghost):not(.ghost-dark){background-image:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(14,49,93,.22),0 10px 20px -12px rgba(8,94,197,.75)}
.button{transition:background .2s var(--ease),border-color .2s,box-shadow .25s var(--ease),transform .2s var(--ease)}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0) scale(.985);transition-duration:.08s}
.button.light{box-shadow:0 1px 2px rgba(9,12,20,.28),0 12px 26px -16px rgba(0,0,0,.7)}
.button:disabled,.button[disabled]{transform:none;box-shadow:none}
.related-card{border-radius:var(--rad-3)}

/* Headline measure on the migrated pages (October 2026): the old caps of 8.5 to
   10 characters stacked one word per line at v3 sizes */
.demo-copy h1{max-width:14ch;font-size:clamp(40px,4.6vw,68px);letter-spacing:-.04em;text-wrap:balance}
.site-cta h2{max-width:16ch;text-wrap:balance}
.cta-slab h2{max-width:16ch;text-wrap:balance}
/* Blog filters: wrap on wider screens; on phones a scroll row that says so */
.filter-button{padding:10px 2px}
@media (min-width:768px){.filter-nav{flex-wrap:wrap;row-gap:4px;overflow:visible}}
@media (max-width:767px){
  .demo-copy h1{font-size:clamp(34px,9.6vw,44px)}
  .site-cta h2{font-size:clamp(34px,9.6vw,44px)}
  .cta-slab h2{font-size:clamp(30px,8.4vw,40px)}
  .filter-nav{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:32px}
  .form-switch button{padding:10px 0 14px}
  .roi-lang button{padding:11px 15px}
  .demo-form input,.demo-form select,.demo-form textarea{min-height:46px}
}
/* Display headings in forms and article ends: display leading, not body leading */
.form-heading h2,.success-inner h2,.inline-cta h3,.close-head h2{line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
/* Featured post: stacked up to 1100px; side by side, the copy column left about seven characters a line for the title */
@media (max-width:1100px){.featured-story{grid-template-columns:1fr}}
@media (min-width:861px) and (max-width:1100px){.featured-media{min-height:360px}.featured-copy{padding:40px 44px 42px}.featured-copy h2{max-width:22ch}}
.featured-copy h2{text-wrap:balance}
@media (min-width:1101px){.featured-copy h2{font-size:clamp(40px,3.4vw,45px)}}
@media (max-width:620px){.featured-copy h2{font-size:clamp(28px,8.2vw,34px);line-height:1.06}}
.article-body .table-wrap:focus-visible{outline:2px solid var(--azure-500,#007BFF);outline-offset:3px}
/* Older posts put the back link on the dark article head: the muted ink was 2.96:1 there */
.article-head .back-link{color:var(--ebony-300,#AAB6CF)}.article-head .back-link:hover{color:#fff}
/* Tokens the old site.css defined and these rules still use. v3 pages don't load site.css, so without them the
   article grid fell back to one column (contents list floating over the text) and form errors lost their red. */
:root{--reading:760px;--danger:#B00020}
/* Title cards (the October 2026 series) carry their words in the picture: the frame takes the card's own shape,
   or shows the whole card on its own colour, rather than cropping the title */
.article-hero-art.is-card{height:auto;min-height:0;aspect-ratio:1024/572;background:#222838}
.featured-media.is-card{background:#222838}
.featured-media.is-card img{object-fit:contain}
.featured-media.is-card::after{display:none}
@media (max-width:860px){.featured-media.is-card{min-height:0;aspect-ratio:1024/572}}
/* Phones: tables of up to three columns fit the screen; wider ones (the JSA name map) keep their width and scroll */
@media (max-width:620px){.article-body table:not(:has(th:nth-child(4))){min-width:0}}
