:root{
  color-scheme: only light;
  --ice:#F1F6F9;          /* page ground, from the brand PDFs */
  --paper:#FFFFFF;
  --navy:#3D4D8A;         /* Do Less Work blue */
  --ink:#2C3760;          /* deep navy text */
  --coral:#EE6A4B;        /* the Chuffed orange */
  --coral-soft:#FBE4DC;
  --mist:#DDE8EF;         /* hairlines on ice */
  --muted:#6B7794;
  --radius:18px;
  --font-display:"Newsreader", Georgia, serif;
  --font-body:"Work Sans", -apple-system, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ice);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--coral-soft)}
h1,h2,h3{font-family:var(--font-display);font-weight:420;line-height:1.08;letter-spacing:-0.01em}
em{font-style:italic;color:var(--coral)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--ice) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--mist)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.wordmark{display:inline-flex;align-items:center;text-decoration:none}
.wordmark img{height:30px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:34px;list-style:none}
.nav-links a{text-decoration:none;font-size:15px;font-weight:500;color:var(--muted);transition:color .18s}
.nav-links a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--coral);color:#fff;border:none;font-family:var(--font-body);font-weight:600;font-size:15px;padding:12px 24px;border-radius:100px;text-decoration:none;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(238,106,75,.55)}
.btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--navy),0 10px 24px -12px rgba(61,77,138,.4)}
.nav-links .btn{color:#fff}
.nav-links .btn:hover{background:var(--navy);color:#fff;transform:none;box-shadow:none}

/* ---------- hero ---------- */
.hero{padding:88px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:22px}
.hero h1{font-size:clamp(44px,5.4vw,68px);color:var(--navy);margin-bottom:24px}
.hero p.lede{font-size:19px;color:var(--muted);max-width:44ch;margin-bottom:34px}
.hero-ctas{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.micro{font-size:13.5px;color:var(--muted);margin-top:18px}

/* the demo window: the signature element */
.demo{
  background:var(--paper);
  border-radius:var(--radius);
  border:1px solid var(--mist);
  box-shadow:0 30px 60px -30px rgba(44,55,96,.28);
  overflow:hidden;
}
.demo-bar{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--mist)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--mist)}
.dot:first-child{background:var(--coral-soft)}
.demo-title{margin-left:8px;font-size:12.5px;color:var(--muted);font-weight:500}
.demo-body{padding:22px 22px 26px;height:530px;display:flex;flex-direction:column;gap:16px;overflow:hidden}
#convo{flex:1;overflow-y:auto;min-height:0}
.bubble{max-width:85%;padding:11px 16px;border-radius:14px;font-size:14.5px;line-height:1.5}
.bubble.q{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.bubble.q .caret{display:inline-block;width:1px;height:14px;background:#fff;margin-left:2px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
.bubble.a{align-self:flex-start;background:var(--ice);color:var(--ink);border-bottom-left-radius:4px;opacity:0;transform:translateY(6px)}
.bubble.a strong{color:var(--coral);font-weight:600}
.chart-card{align-self:flex-start;width:100%;background:var(--ice);border-radius:14px;padding:16px 18px 12px;opacity:0;transform:translateY(6px)}
/* "thinking" indicator: shown briefly between typed question and answer reveal */
.thinking{align-self:flex-start;display:none;align-items:center;gap:5px;padding:14px 16px;background:var(--ice);border-radius:14px;border-bottom-left-radius:4px}
.thinking.show{display:flex}
.thinking span{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4;animation:thinkPulse 1.1s ease-in-out infinite}
.thinking span:nth-child(2){animation-delay:.15s}
.thinking span:nth-child(3){animation-delay:.3s}
@keyframes thinkPulse{0%,60%,100%{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.chart-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.bars{display:flex;align-items:flex-end;gap:14px;height:120px}
.bar{flex:1;border-radius:6px 6px 2px 2px;background:var(--navy);opacity:.28;transform-origin:bottom;transform:scaleY(0)}
.bar.hot{background:var(--coral);opacity:1}
.bar-labels{display:flex;gap:14px;margin-top:8px}
.bar-labels span{flex:1;text-align:center;font-size:11.5px;color:var(--muted)}
/* question chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px;opacity:0;transform:translateY(6px)}
.revealed .chips{animation:rise .5s ease forwards;animation-delay:1.6s}
.chip{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--navy);background:#fff;border:1.5px solid var(--mist);border-radius:100px;padding:8px 14px;cursor:pointer;transition:border-color .15s, color .15s, transform .15s}
.chip:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-1px)}
.chip:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.chip[disabled]{opacity:.45;cursor:default;transform:none}
.chip-hint{width:100%;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:2px}
/* trend line */
.trend{width:100%;height:120px}
.trend path.l{fill:none;stroke:var(--coral);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600}
.trend path.f{fill:var(--coral-soft);opacity:0}
.playing .trend path.l{animation:draw 1.2s ease forwards .3s}
.playing .trend path.f{animation:fadein .6s ease forwards 1.2s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:.55}}
/* horizontal drop-off bars */
.hbars{display:flex;flex-direction:column;gap:9px}
.hbar-row{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.hbar-track{height:14px;border-radius:7px;background:#fff;overflow:hidden}
.hbar-fill{height:100%;border-radius:7px;background:var(--navy);opacity:.35;transform-origin:left;transform:scaleX(0)}
.hbar-fill.hot{background:var(--coral);opacity:1}
.playing .hbar-fill{animation:growx .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes growx{to{transform:scaleX(1)}}
/* report card */
.report{display:flex;flex-direction:column;gap:9px}
.report .r-line{height:11px;border-radius:6px;background:#fff;border:1px solid var(--mist);opacity:0;transform:translateY(4px)}
.report .r-line.head{height:14px;width:46%;background:var(--navy);border:none;opacity:0}
.report .r-line.hot{width:62%;background:var(--coral-soft);border-color:var(--coral-soft)}
.playing .report .r-line{animation:rise .4s ease forwards}
.playing .report .r-line:nth-child(1){animation-delay:.15s}
.playing .report .r-line:nth-child(2){animation-delay:.3s}
.playing .report .r-line:nth-child(3){animation-delay:.45s}
.playing .report .r-line:nth-child(4){animation-delay:.6s}
.playing .report .r-line:nth-child(5){animation-delay:.75s}
.playing .report .r-line:nth-child(6){animation-delay:.9s}
.report-foot{font-size:12.5px;color:var(--muted);opacity:0}
.playing .report-foot{animation:rise .4s ease forwards 1.1s}
.playing .bubble.a{animation:rise .5s ease forwards .1s}
.playing .chart-card{animation:rise .5s ease forwards .5s}
.playing .bar{animation:grow .7s cubic-bezier(.2,.8,.2,1) forwards}
.playing .bar:nth-child(1){animation-delay:.8s}
.playing .bar:nth-child(2){animation-delay:.9s}
.playing .bar:nth-child(3){animation-delay:1s}
.playing .bar:nth-child(4){animation-delay:1.1s}
.playing .bar:nth-child(5){animation-delay:1.2s}
.revealed .bubble.a,.revealed .chart-card{animation:rise .5s ease forwards}
.revealed .bar{animation:grow .7s cubic-bezier(.2,.8,.2,1) forwards}
.revealed .bubble.a{animation-delay:.1s}
.revealed .chart-card{animation-delay:.5s}
.revealed .bar:nth-child(1){animation-delay:.8s}
.revealed .bar:nth-child(2){animation-delay:.9s}
.revealed .bar:nth-child(3){animation-delay:1s}
.revealed .bar:nth-child(4){animation-delay:1.1s}
.revealed .bar:nth-child(5){animation-delay:1.2s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@keyframes grow{to{transform:scaleY(1)}}
@keyframes blink{50%{opacity:0}}

/* ---------- proof strip ---------- */
.proof{border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);background:var(--paper)}
.proof-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.proof-item{padding:30px 34px;border-right:1px solid var(--mist)}
.proof-item:last-child{border-right:none}
.proof-item .big{font-family:var(--font-display);font-size:26px;font-weight:420;color:var(--navy);font-style:italic;margin-bottom:4px}
.proof-item .small{font-size:14px;color:var(--muted)}

/* ---------- sections ---------- */
section{padding:96px 0}
.kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:16px}
.section-head{max-width:640px;margin-bottom:56px}
.section-head h2{font-size:clamp(32px,3.6vw,44px);color:var(--navy);margin-bottom:16px}
.section-head p{color:var(--muted);font-size:18px}

/* tools */
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tool{background:var(--paper);border:1px solid var(--mist);border-radius:var(--radius);padding:0;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.tool:hover{transform:translateY(-4px);box-shadow:0 24px 44px -26px rgba(44,55,96,.3)}
.tool-viz{height:170px;background:var(--ice);border-bottom:1px solid var(--mist);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.tool-copy{padding:26px 26px 30px}
.tool-copy h3{font-size:22px;color:var(--navy);margin-bottom:10px;font-weight:560}
.tool-copy p{font-size:15px;color:var(--muted);margin-bottom:14px}
.tool-copy .built{font-size:13px;color:var(--coral);font-weight:600}
/* mini vignettes, all CSS */
/* insight vignette: a question, an answer, a chart */
.viz-chat{width:76%;display:flex;flex-direction:column;gap:8px}
.viz-chat .qb{align-self:flex-end;width:56%;height:15px;background:var(--navy);border-radius:9px 9px 3px 9px;transform-origin:right}
.viz-chat .acard{background:#fff;border:1px solid var(--mist);border-radius:10px;padding:9px 11px 8px;box-shadow:0 10px 22px -16px rgba(44,55,96,.25)}
.viz-chat .al{display:block;height:5px;border-radius:3px;background:var(--mist);margin-bottom:5px}
.viz-chat .al:first-child{width:84%}
.viz-chat .al:nth-child(2){width:58%}
.viz-chat .mbars{display:flex;gap:5px;align-items:flex-end;height:26px;margin-top:7px}
.viz-chat .mb{flex:1;background:var(--navy);opacity:.22;border-radius:3px 3px 1px 1px;transform-origin:bottom}
.viz-chat .mb.hot{background:var(--coral);opacity:1}
/* ops vignette: an invoice totting itself up */
.viz-ops{width:70%;background:#fff;border:1px solid var(--mist);border-radius:12px;padding:14px 16px 12px;position:relative;box-shadow:0 10px 22px -16px rgba(44,55,96,.25)}
.viz-ops .doc-head{height:9px;width:44%;background:var(--navy);border-radius:5px;margin-bottom:11px;opacity:.85}
.viz-ops .doc-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.viz-ops .doc-row .l{height:6px;border-radius:4px;background:var(--mist);width:56%}
.viz-ops .doc-row .amt{height:6px;border-radius:4px;background:var(--mist);width:15%}
.viz-ops .doc-total{display:flex;justify-content:space-between;align-items:center;border-top:1.5px solid var(--mist);padding-top:8px;margin-top:3px}
.viz-ops .doc-total .l{height:7px;width:28%;background:var(--navy);opacity:.5;border-radius:4px}
.viz-ops .doc-total .amt{height:8px;width:22%;background:var(--coral);border-radius:4px;transform-origin:right}
.viz-ops .badge{position:absolute;right:-11px;bottom:-11px;width:32px;height:32px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;box-shadow:0 6px 14px -6px rgba(238,106,75,.65);border:2.5px solid var(--ice)}
/* customer-tool vignette: branded search feeding a CRM */
.viz-cust{width:80%;display:flex;flex-direction:column;gap:9px}
.viz-cust .search{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--mist);border-radius:100px;padding:8px 13px}
.viz-cust .mag{width:11px;height:11px;border:2px solid var(--navy);border-radius:50%;position:relative;opacity:.55;flex-shrink:0}
.viz-cust .mag::after{content:"";position:absolute;width:5px;height:2px;background:var(--navy);bottom:-2px;right:-4px;transform:rotate(45deg);border-radius:1px}
.viz-cust .q{height:6px;width:52%;background:var(--navy);opacity:.35;border-radius:4px;transform-origin:left}
.viz-cust .res{display:flex;gap:8px}
.viz-cust .rcard{flex:1;background:#fff;border:1px solid var(--mist);border-radius:10px;padding:8px;display:flex;gap:7px;align-items:center}
.viz-cust .thumb{width:17px;height:17px;border-radius:5px;background:var(--coral-soft);flex-shrink:0}
.viz-cust .rcard:first-child .thumb{background:var(--coral)}
.viz-cust .lines{flex:1}
.viz-cust .lines i{display:block;height:5px;border-radius:3px;background:var(--mist);margin:3px 0}
.viz-cust .lines i:first-child{width:82%}
.viz-cust .lines i:last-child{width:56%}
.viz-cust .crm{align-self:flex-end;display:flex;align-items:center;gap:7px}
.viz-cust .pipe{width:36px;height:2px;background:var(--navy);opacity:.3;position:relative}
.viz-cust .dot{position:absolute;left:0;top:-2.5px;width:7px;height:7px;border-radius:50%;background:var(--coral);opacity:0}
.viz-cust .box{border:1.5px solid var(--navy);border-radius:6px;padding:3px 8px;color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.08em}

/* how */
.how{background:var(--paper);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.step h3{font-size:21px;color:var(--navy);margin-bottom:10px;font-weight:560}
.step h3 em{font-weight:420}
.step p{font-size:15.5px;color:var(--muted)}
.step .rule{width:44px;height:3px;background:var(--coral);border-radius:2px;margin-bottom:20px;transform-origin:left;transform:scaleX(0)}
.step.in .rule{animation:ruleGrow .5s ease forwards .1s}
@keyframes ruleGrow{to{transform:scaleX(1)}}

/* voice / quote */
.quote{text-align:center}
.quote blockquote{font-family:var(--font-display);font-size:clamp(26px,3.2vw,38px);font-weight:420;color:var(--navy);max-width:820px;margin:0 auto 22px;line-height:1.25}
.quote cite{font-style:normal;font-size:15px;color:var(--muted)}

/* cta */
.cta{background:var(--paper);border-radius:calc(var(--radius) + 8px);border:1px solid var(--mist);box-shadow:0 30px 60px -30px rgba(44,55,96,.28);padding:80px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;color:var(--ink)}
.cta h2{font-size:clamp(34px,3.8vw,48px);color:var(--navy);margin-bottom:18px}
.cta h2 em{color:var(--coral)}
.cta p{color:var(--muted);font-size:17px;max-width:42ch}
.cta-form{display:flex;flex-direction:column;gap:12px}
.cta-fields{display:flex;flex-direction:column;gap:12px}
.cta-form input,.cta-form textarea{font-family:var(--font-body);font-size:15px;padding:14px 18px;border-radius:12px;border:1px solid transparent;background:var(--mist);color:var(--ink)}
.cta-form input::placeholder,.cta-form textarea::placeholder{color:var(--muted)}
.cta-form input:focus,.cta-form textarea:focus{outline:2px solid var(--coral);border-color:transparent}
.cta-form .btn{align-self:flex-start;margin-top:6px}
.cta-form .btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.cta-status{font-size:14px;min-height:1.4em}
.cta-status.ok{color:var(--ink)}
.cta-status.err{color:var(--coral)}
.cta-success{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 0}
.cta-fields.is-hidden,.cta-success.is-hidden{display:none!important}
.cta-success-msg{font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--navy)}
.cta-again{font-family:var(--font-body);font-size:14px;color:var(--muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cta-again:hover{color:var(--coral)}

/* trust band */
.trust{background:var(--paper);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);padding:72px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:44px}
.trust-item h3{font-size:17px;color:var(--navy);font-weight:560;margin-bottom:8px;font-family:var(--font-body)}
.trust-item p{font-size:14.5px;color:var(--muted)}
.trust-mark{width:34px;height:34px;border-radius:10px;background:var(--ice);border:1px solid var(--mist);display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}
.trust-mark svg{width:18px;height:18px;overflow:visible}
.trust-note{margin-top:36px;font-size:13px;color:var(--muted);max-width:70ch}

/* calculator */
.calc{background:var(--paper);border:1px solid var(--mist);border-radius:calc(var(--radius) + 8px);padding:56px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.calc h2{font-size:clamp(30px,3.4vw,40px);color:var(--navy);margin-bottom:12px}
.calc .sub{color:var(--muted);font-size:16px;margin-bottom:34px;max-width:46ch}
.calc-row{margin-bottom:26px}
.calc-row label{display:flex;justify-content:space-between;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:10px}
.calc-row label output{color:var(--coral);font-variant-numeric:tabular-nums}
.calc-row input[type=range]{width:100%;accent-color:var(--coral);cursor:pointer}
.calc-result{text-align:center;background:var(--ice);border-radius:var(--radius);padding:40px 30px}
.calc-result .label{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.calc-result .big-num{font-family:var(--font-display);font-style:italic;font-weight:560;font-size:clamp(40px,4.6vw,56px);color:var(--coral);line-height:1.1;margin:10px 0 4px;font-variant-numeric:tabular-nums}
.calc-result .hours{font-size:15px;color:var(--muted);margin-bottom:18px}
.calc-result .fine{font-size:12.5px;color:var(--muted);max-width:30ch;margin:0 auto}
/* faq */
.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--mist);padding:22px 4px}
.faq details:first-of-type{border-top:1px solid var(--mist)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:600;font-size:17px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-display);font-size:24px;color:var(--coral);transition:transform .25s ease;flex-shrink:0}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-top:14px;color:var(--muted);font-size:15.5px;max-width:62ch}
/* tool-card vignette animations: play once on scroll into view (touch/no-hover), loop on hover (desktop) */
/* Vignette motion: forward to 70%, hold to 100% (the beat), then alternate reverses. */
@keyframes vTypeR{0%{transform:scaleX(.25)}70%,100%{transform:scaleX(1)}}
@keyframes vTypeL{0%{transform:scaleX(.3)}70%,100%{transform:scaleX(1)}}
@keyframes vBarUp{0%{transform:scaleY(.15)}70%,100%{transform:scaleY(1)}}
@keyframes vFadeIn{0%{opacity:.25}70%,100%{opacity:1}}
@keyframes vNudge{0%{transform:translateX(-4px);opacity:.45}70%,100%{transform:none;opacity:1}}
@keyframes vGrowR{0%{transform:scaleX(.35)}70%,100%{transform:scaleX(1)}}
@keyframes vPop{0%{transform:scale(1)}70%,100%{transform:scale(1.18)}}
@keyframes vLift{0%{transform:none}70%,100%{transform:translateY(-2px)}}
@keyframes vTravel{0%{left:0;opacity:1}75%,100%{left:29px;opacity:1}}
@keyframes vFlash{0%,60%{border-color:var(--navy);color:var(--navy)}80%,100%{border-color:var(--coral);color:var(--coral)}}
/* Play once, forwards, when the card scrolls into view (.tool.reveal gets .in from the IntersectionObserver) */
.tool.in .viz-chat .qb{animation:vTypeR 2.4s ease-in-out 1 forwards}
.tool.in .viz-chat .al{animation:vFadeIn 2.4s ease-in-out 1 forwards .2s}
.tool.in .viz-chat .mb{animation:vBarUp 2.4s cubic-bezier(.2,.8,.2,1) 1 forwards}
.tool.in .viz-chat .mb:nth-child(1){animation-delay:.35s}
.tool.in .viz-chat .mb:nth-child(2){animation-delay:.45s}
.tool.in .viz-chat .mb:nth-child(3){animation-delay:.55s}
.tool.in .viz-chat .mb:nth-child(4){animation-delay:.65s}
.tool.in .viz-ops .doc-row:nth-child(2){animation:vNudge 2.4s ease-in-out 1 forwards}
.tool.in .viz-ops .doc-row:nth-child(3){animation:vNudge 2.4s ease-in-out 1 forwards .2s}
.tool.in .viz-ops .doc-row:nth-child(4){animation:vNudge 2.4s ease-in-out 1 forwards .4s}
.tool.in .viz-ops .doc-total .amt{animation:vGrowR 2.4s cubic-bezier(.2,.8,.2,1) 1 forwards .5s}
.tool.in .viz-ops .badge{animation:vPop 2.4s ease-in-out 1 forwards .7s}
.tool.in .viz-cust .q{animation:vTypeL 2.4s ease-in-out 1 forwards}
.tool.in .viz-cust .rcard:first-child{animation:vLift 2.4s ease-in-out 1 forwards .3s}
.tool.in .viz-cust .rcard:last-child{animation:vLift 2.4s ease-in-out 1 forwards .45s}
.tool.in .viz-cust .dot{animation:vTravel 2.4s ease-in-out 1 forwards .5s}
.tool.in .viz-cust .box{animation:vFlash 2.4s ease-in-out 1 forwards .5s}
/* Card 1: question types, answer appears, bars grow; then unwinds (hover loop, desktop) */
.tool:hover .viz-chat .qb{animation:vTypeR 2.4s ease-in-out infinite alternate}
.tool:hover .viz-chat .al{animation:vFadeIn 2.4s ease-in-out infinite alternate .2s}
.tool:hover .viz-chat .mb{animation:vBarUp 2.4s cubic-bezier(.2,.8,.2,1) infinite alternate}
.tool:hover .viz-chat .mb:nth-child(1){animation-delay:.35s}
.tool:hover .viz-chat .mb:nth-child(2){animation-delay:.45s}
.tool:hover .viz-chat .mb:nth-child(3){animation-delay:.55s}
.tool:hover .viz-chat .mb:nth-child(4){animation-delay:.65s}
/* Card 2: line items arrive, total tots up, tick pops; then unwinds */
.tool:hover .viz-ops .doc-row:nth-child(2){animation:vNudge 2.4s ease-in-out infinite alternate}
.tool:hover .viz-ops .doc-row:nth-child(3){animation:vNudge 2.4s ease-in-out infinite alternate .2s}
.tool:hover .viz-ops .doc-row:nth-child(4){animation:vNudge 2.4s ease-in-out infinite alternate .4s}
.tool:hover .viz-ops .doc-total .amt{animation:vGrowR 2.4s cubic-bezier(.2,.8,.2,1) infinite alternate .5s}
.tool:hover .viz-ops .badge{animation:vPop 2.4s ease-in-out infinite alternate .7s}
/* Card 3: query types, results lift, the lead travels to the CRM; then unwinds */
.tool:hover .viz-cust .q{animation:vTypeL 2.4s ease-in-out infinite alternate}
.tool:hover .viz-cust .rcard:first-child{animation:vLift 2.4s ease-in-out infinite alternate .3s}
.tool:hover .viz-cust .rcard:last-child{animation:vLift 2.4s ease-in-out infinite alternate .45s}
.tool:hover .viz-cust .dot{animation:vTravel 2.4s ease-in-out infinite alternate .5s}
.tool:hover .viz-cust .box{animation:vFlash 2.4s ease-in-out infinite alternate .5s}

/* footer */
footer{padding:48px 0 56px;color:var(--muted);font-size:14px}
.foot-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- simple page (terms, etc.) ---------- */
.page-head{padding-top:96px;padding-bottom:24px}
.page-head h1{font-size:clamp(38px,4.4vw,54px);color:var(--navy);margin-bottom:20px}
.page-body{padding-bottom:96px}
.page-body p{font-size:18px;color:var(--muted);max-width:62ch;margin-bottom:32px}
.page-body .btn{margin-bottom:28px}
.page-body .updated{font-size:14px;color:var(--muted)}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  .bubble.a,.chart-card{opacity:1;transform:none}
  .bar{transform:scaleY(1)}
  .reveal{opacity:1;transform:none}
  .step .rule{transform:none}
  .thinking{display:none!important}
}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .proof-inner{grid-template-columns:1fr}
  .proof-item{border-right:none;border-bottom:1px solid var(--mist)}
  .proof-item:last-child{border-bottom:none}
  .tool-grid,.steps{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr 1fr;gap:28px}
  .cta{grid-template-columns:1fr;padding:52px 32px}
  .calc{grid-template-columns:1fr;padding:44px 28px;gap:36px}
  .nav-links li:not(:last-child){display:none}
  section{padding:72px 0}
}
