/* Case study pages (Oct 12 2026). Each story sets its own colors on <body> (or on its card on the list page).
   The header, buttons and type stay on brand. Anything that moves sits under .motion and .in, so every chart,
   number and message shows without scripts and with reduced motion. */
.cs{--cs:#946a24;--cs-bright:#D4B06A;--cs-2:#946a24;--cs-2-bright:#D4B06A;--cs-band:#1E3A5F;--cs-band-deep:#15294A;--cs-soft:#F7F0E2;--cs-2-soft:#F7F0E2}
.cs-coaching{--cs:#0A7F78;--cs-bright:#00BFB2;--cs-2:#14894A;--cs-2-bright:#3FCB80;--cs-band:#0E4B55;--cs-band-deep:#0A3640;--cs-soft:#E6F7F5;--cs-2-soft:#E8F8EE}
.cs-transport{--cs:#21176D;--cs-bright:#42E8E0;--cs-2:#21176D;--cs-2-bright:#8BE4F4;--cs-band:#21176D;--cs-band-deep:#150E4C;--cs-soft:#EAF9FC;--cs-2-soft:#EEEDFA}

/* Soft color wash behind the top of each story */
body.cs-coaching main{background:radial-gradient(46% 440px at 90% 0,rgba(0,191,178,.17),transparent 70%),radial-gradient(38% 380px at 0 300px,rgba(24,165,88,.09),transparent 70%)}
body.cs-transport main{background:radial-gradient(48% 460px at 88% 0,rgba(139,228,244,.34),transparent 70%),radial-gradient(40% 400px at 4% 340px,rgba(66,232,224,.16),transparent 72%)}
body.cs .scroll-meter{background:linear-gradient(90deg,var(--cs-bright),var(--cs-2-bright))}
body.cs .final{background:linear-gradient(160deg,var(--cs-band),var(--cs-band-deep))}
body.cs main .text-link{color:var(--cs)}

/* Intro: headline on the left, one headline number on the right */
.cs-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:56px;align-items:center;padding-top:65px;padding-bottom:66px}
.cs-intro .eyebrow{color:var(--cs);font-size:13px;margin:0}
.cs-intro h1{font:600 clamp(38px,4.6vw,60px)/1.1 Manrope,sans-serif;letter-spacing:-.045em;color:var(--navy);margin:20px 0}
.cs-intro h1 em{font-style:normal;color:var(--cs)}
.cs-intro p{font-size:18px;color:var(--muted);max-width:660px;margin:0}
.cs-kpi{position:relative;overflow:hidden;border-radius:26px;padding:36px 32px 30px;background:linear-gradient(160deg,var(--cs-band),var(--cs-band-deep));color:#fff;box-shadow:0 32px 60px -36px var(--cs-band-deep)}
.cs-kpi b{display:block;font:600 clamp(56px,6vw,84px)/1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--cs-bright);font-variant-numeric:tabular-nums}
.cs-kpi span{display:block;margin-top:14px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.cs-kpi svg{display:block;width:100%;height:auto;margin-top:22px}
.cs-kpi svg path{fill:none;stroke:var(--cs-bright);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cs-kpi svg circle{fill:var(--cs-2-bright)}

/* Shared labels and light section headings */
main .cs-kicker{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cs)}
main .cs-note{margin:-8px 0 30px;font-size:16px;color:var(--muted);max-width:70ch}
main .cs-after{margin:26px 0 0;font-size:15px;color:var(--muted);max-width:74ch}
main .cs-lead{font-size:18px;color:var(--muted);max-width:74ch;margin:-6px 0 34px}

/* Color band with big numbers */
.cs-band{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--cs-band),var(--cs-band-deep));color:#fff;padding:92px 0}
.cs-band::before{content:"";position:absolute;inset:0;background:radial-gradient(46% 80% at 92% 0,color-mix(in srgb,var(--cs-bright) 24%,transparent),transparent 70%);pointer-events:none}
.cs-band>.wrap{position:relative}
.cs-band .cs-kicker{color:var(--cs-bright)}
.cs-band h2{font:600 clamp(30px,3.3vw,43px)/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:#fff;margin:0 0 44px;max-width:24ch}
.cs-band h2 em{font-style:normal;color:var(--cs-bright)}
.cs-tint{background:var(--cs-soft);padding:84px 0}
.cs-tint h2{font:600 clamp(30px,3.3vw,43px)/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy);margin:0 0 24px}

/* Stat tiles: white on light sections, glass on a band */
.cs-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cs-tiles.three{grid-template-columns:repeat(3,1fr);margin-top:18px}
.cs-tiles div{background:var(--card);border:1px solid var(--silver);border-radius:20px;padding:26px 24px}
.cs-tiles b{display:block;font:600 clamp(34px,3.5vw,48px)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.cs-tiles b.dim{color:#98a1ad}.cs-tiles b.hot{color:var(--cs)}.cs-tiles b.win{color:var(--cs-2)}
.cs-tiles span{display:block;margin-top:12px;font-size:14px;line-height:1.45;color:var(--muted)}
.cs-band .cs-tiles div{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.17)}
.cs-band .cs-tiles b{color:#fff}.cs-band .cs-tiles b.hot{color:var(--cs-bright)}.cs-band .cs-tiles b.win{color:var(--cs-2-bright)}
.cs-band .cs-tiles span{color:rgba(255,255,255,.72)}

/* Three steps in time (baseline, month one, month two) */
.cs-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.cs-steps article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);border-radius:22px;padding:30px 28px}
.cs-steps .when{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.cs-steps b{display:block;font:600 clamp(42px,4.6vw,62px)/1 Manrope,sans-serif;letter-spacing:-.04em;color:rgba(255,255,255,.58);font-variant-numeric:tabular-nums}
.cs-steps .what{margin:12px 0 14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.cs-steps .rate{margin:0 0 8px;font-size:15px;font-weight:600;color:#fff}
.cs-steps p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.74)}
.cs-steps .s2 b,.cs-steps .s2 .when{color:var(--cs-bright)}
.cs-steps .s3{background:#fff;border-color:#fff}
.cs-steps .s3 b,.cs-steps .s3 .when{color:var(--cs-2)}
.cs-steps .s3 .what{color:var(--navy)}.cs-steps .s3 .rate{color:var(--navy)}.cs-steps .s3 p{color:var(--muted)}
.cs-steps .arrow{align-self:center;font-size:26px;color:var(--cs-bright)}

/* Story cards */
.cs-story{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cs-story.two{grid-template-columns:1fr 1fr}
.cs-story article{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--silver);border-radius:22px;padding:34px 30px 32px}
.cs-story article::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--cs-bright),var(--cs-2-bright))}
.cs-story h3{margin:0 0 14px;font:700 13px/1.3 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cs)}
.cs-story p{margin:0;font-size:16px;line-height:1.7}
.cs-story ul,.cs-compare ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.cs-story li,.cs-compare li{position:relative;padding-left:28px;font-size:16px;line-height:1.55}
.cs-story li::before,.cs-compare .after li::before{content:"";position:absolute;left:0;top:.38em;width:14px;height:8px;border-left:2.5px solid var(--cs);border-bottom:2.5px solid var(--cs);transform:rotate(-45deg);border-radius:1px}
.cs-story ul.minus li{color:var(--muted)}
.cs-story ul.minus li::before{width:12px;height:2.5px;top:.72em;left:2px;border:0;border-radius:2px;background:#a4acb8;transform:none}
.cs-insight{margin-top:28px;border-radius:24px;padding:36px 40px;background:linear-gradient(160deg,var(--cs-band),var(--cs-band-deep));color:#fff}
.cs-insight h3{margin:0 0 10px;font:600 24px/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:#fff}
.cs-insight p{margin:0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.78);max-width:92ch}

/* Line chart and data table */
.cs-panel{background:var(--card);border:1px solid var(--silver);border-radius:22px;padding:30px}
.cs-panel h3{margin:0 0 4px;font:700 13px/1.3 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.cs-panel .sub{margin:0 0 18px;font-size:14px;color:var(--muted)}
.cs-chart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:24px;align-items:stretch;margin-bottom:24px}
.cs-chart svg{display:block;width:100%;height:auto}
.cs-chart .grid{stroke:#e6eaef;stroke-width:1}
.cs-chart .axis{font:500 15px 'DM Sans',sans-serif;fill:#6c7787}
.cs-chart .offer{fill:var(--cs-2-soft)}
.cs-chart .offer-label{font:700 12px 'DM Sans',sans-serif;letter-spacing:.1em;fill:var(--cs-2)}
.cs-chart path{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.cs-chart .l0{stroke:#b3bac4}.cs-chart .l1{stroke:var(--cs-bright)}.cs-chart .l2{stroke:var(--cs-2-bright)}
.cs-chart .d0{fill:#b3bac4}.cs-chart .d1{fill:var(--cs-bright)}.cs-chart .d2{fill:var(--cs-2-bright)}
.cs-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin:14px 0 0;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.cs-legend li::before{content:"";display:inline-block;width:18px;height:4px;border-radius:2px;margin-right:8px;vertical-align:middle;background:#b3bac4}
.cs-legend .k1::before{background:var(--cs-bright)}.cs-legend .k2::before{background:var(--cs-2-bright)}
.cs-callouts{display:grid;gap:14px;align-content:stretch}
.cs-callouts div{display:flex;flex-direction:column;justify-content:center;background:var(--card);border:1px solid var(--silver);border-radius:20px;padding:22px 24px}
.cs-callouts b{font:600 clamp(32px,3.2vw,42px)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--cs-2);font-variant-numeric:tabular-nums}
.cs-callouts b.hot{color:var(--cs)}
.cs-callouts span{margin-top:8px;font-size:14px;line-height:1.45;color:var(--muted)}
.cs-table-wrap{overflow-x:auto;border:1px solid var(--silver);border-radius:20px;background:var(--card)}
.cs-table{width:100%;min-width:680px;border-collapse:collapse;font-size:15px}
.cs-table thead th{background:var(--cs-band);color:rgba(255,255,255,.74);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 12px;text-align:center}
.cs-table thead th.offer{background:var(--cs-band-deep);color:#fff}
.cs-table td,.cs-table tbody th{padding:15px 12px;text-align:center;border-top:1px solid var(--silver);font-weight:600;font-variant-numeric:tabular-nums}
.cs-table tbody th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.cs-table td.offer{background:var(--cs-2-soft)}
.cs-table .r0 td{color:#8a93a0}.cs-table .r1 td{color:var(--cs)}.cs-table .r2 td{color:var(--cs-2);font-weight:700}
.cs-table small{display:block;margin-top:3px;font-size:11px;font-weight:700}
.cs-table td:last-child{font-size:17px;font-weight:700}

/* Bar chart and result rows */
.cs-impact{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:stretch}
.cs-bars{display:flex;align-items:flex-end;gap:26px;height:270px;padding:0 10px;border-bottom:1px solid var(--silver)}
.cs-bars div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.cs-bars b{margin-bottom:8px;font:600 22px/1 Manrope,sans-serif;letter-spacing:-.03em;color:var(--navy);font-variant-numeric:tabular-nums}
.cs-bars i{display:block;width:100%;max-width:128px;height:var(--h);border-radius:12px 12px 0 0;background:#cfd5dc;transform-origin:bottom}
.cs-bars .b1 i{background:var(--cs-bright)}.cs-bars .b2 i{background:var(--cs-2-bright)}
.cs-bar-labels{display:flex;gap:26px;padding:12px 10px 0}
.cs-bar-labels span{flex:1;text-align:center;font-size:13px;color:var(--muted)}
.cs-rows{display:grid;gap:14px}
.cs-rows div{display:flex;align-items:center;gap:20px;background:var(--card);border:1px solid var(--silver);border-radius:20px;padding:22px 24px}
.cs-rows b{flex:0 0 132px;font:600 clamp(32px,3.2vw,42px)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--cs-2);font-variant-numeric:tabular-nums}
.cs-rows b.ink{color:var(--navy)}
.cs-rows strong{display:block;font-size:16px;color:var(--navy)}
.cs-rows span{display:block;margin-top:3px;font-size:14px;color:var(--muted)}

/* Phone thread and the "by hand" list */
.cs-action{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:center}
.cs-phone-stage{border-radius:26px;padding:38px 20px 26px;background:var(--cs-soft);text-align:center}
.cs-phone{position:relative;width:286px;max-width:100%;aspect-ratio:9/19.3;margin:0 auto;background:#1a1a1c;border-radius:48px;padding:10px;box-shadow:0 34px 70px -30px rgba(10,40,50,.6),inset 0 0 0 1.5px #3b3b40;text-align:left}
.cs-phone .island{position:absolute;top:20px;left:50%;z-index:2;width:84px;height:24px;margin-left:-42px;border-radius:14px;background:#000}
.cs-phone .screen{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:38px;overflow:hidden}
.cs-phone .bar{display:flex;justify-content:space-between;align-items:center;height:46px;padding:12px 28px 0;background:#f6f6f6;font:700 13px/1 'DM Sans',sans-serif;color:#1c1c1e}
.cs-phone .signal{display:flex;align-items:flex-end;gap:2px;height:11px}
.cs-phone .signal i{width:3px;border-radius:1px;background:#1c1c1e;height:4px}
.cs-phone .signal i:nth-child(2){height:6px}.cs-phone .signal i:nth-child(3){height:8.5px}.cs-phone .signal i:nth-child(4){height:11px}
.cs-phone .head{background:#f6f6f6;text-align:center;padding:6px 10px 10px;border-bottom:1px solid #e5e5ea}
.cs-phone .avatar{width:36px;height:36px;padding:0;border-radius:50%;margin:0 auto 5px;display:grid;place-items:center;font:700 15px Manrope,sans-serif;color:#fff;background:linear-gradient(135deg,var(--cs-bright),var(--cs-2-bright))}
.cs-phone .name{font-size:13px;font-weight:700;color:#1c1c1e;line-height:1.2}
.cs-phone .status{font-size:11px;color:#8e8e93}
.cs-phone .thread{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:7px;padding:14px 12px 16px}
.cs-phone .thread::-webkit-scrollbar{display:none}
.cs-phone .thread p{flex-shrink:0;margin:0;max-width:82%;padding:9px 12px;border-radius:18px;font-size:13px;line-height:1.4}
.cs-phone .thread .us{align-self:flex-end;background:#1b84ff;color:#fff;border-bottom-right-radius:5px}
.cs-phone .thread .them{align-self:flex-start;background:#e9e9eb;color:#1c1c1e;border-bottom-left-radius:5px}
.cs-phone .thread .time{align-self:center;max-width:none;padding:2px;font-size:10px;color:#8e8e93}
.cs-phone .thread.playing p{display:none}
.cs-phone .thread.playing p.on{display:block;animation:hero-rise .4s ease both}
.cs-phone .compose{padding:8px 12px 9px;border-top:1px solid #efeff2;background:#fff}
.cs-phone .compose span{display:block;border:1px solid #d6d6db;border-radius:18px;padding:6px 14px;font-size:12px;color:#a0a0a8}
.cs-phone .compose::after{content:"";display:block;width:100px;height:4px;border-radius:2px;background:#1c1c1e;margin:10px auto 0}
.cs-phone-stage figcaption{margin-top:18px;font-size:13px;color:var(--muted)}
.cs-facts h3{margin:0 0 22px;font:600 26px/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:var(--navy)}
.cs-facts ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.cs-facts li{background:var(--card);border:1px solid var(--silver);border-left:4px solid var(--cs-bright);border-radius:16px;padding:18px 22px}
.cs-facts strong{display:block;font-size:17px;color:var(--navy)}
.cs-facts span{display:block;margin-top:4px;font-size:15px;line-height:1.55;color:var(--muted)}
.cs-win{display:flex;align-items:center;gap:22px;margin-top:34px;background:var(--cs-2-soft);border:1px solid color-mix(in srgb,var(--cs-2) 28%,#fff);border-radius:22px;padding:26px 30px}
.cs-win b{flex-shrink:0;background:var(--cs-2);color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;border-radius:100px}
.cs-win p{margin:0;font-size:16px;line-height:1.6;color:var(--ink)}

/* Vehicle transport widgets */
.cs-snapshot{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:stretch}
.cs-flow{display:grid;gap:22px;margin-top:8px}
.cs-flow div{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:baseline}
.cs-flow span{font-size:15px;color:var(--muted)}
.cs-flow b{font:600 30px/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.cs-flow em{grid-column:1/-1;display:block;height:14px;border-radius:8px;background:#eceef6;overflow:hidden}
.cs-flow i{display:block;height:100%;width:var(--w);border-radius:8px;background:linear-gradient(90deg,var(--cs),#4a3fc0);transform-origin:left}
.cs-flow .f3 i{background:linear-gradient(90deg,#1bb7b0,var(--cs-bright))}
.cs-snapshot .cs-tiles{grid-template-columns:1fr 1fr;align-content:stretch}
.cs-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cs-compare article{border-radius:22px;padding:34px 30px;border:1px solid var(--silver)}
.cs-compare .before{background:#f4f5f7}
.cs-compare .after{background:linear-gradient(160deg,color-mix(in srgb,var(--cs-2-bright) 30%,#fff),#fff 70%);border-color:color-mix(in srgb,var(--cs-2-bright) 60%,#fff)}
.cs-compare h3{margin:0 0 18px;font:600 24px/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--navy)}
.cs-compare .before li{color:var(--muted)}
.cs-compare .before li::before{content:"";position:absolute;left:2px;top:.72em;width:12px;height:2.5px;border-radius:2px;background:#a4acb8}
.cs-band .cs-compare .before{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.cs-band .cs-compare .before h3{color:rgba(255,255,255,.88)}
.cs-band .cs-compare .before li{color:rgba(255,255,255,.72)}
.cs-band .cs-compare .before li::before{background:#958ee0}
.cs-band .cs-compare .after{position:relative;background:#fff;border-color:transparent;box-shadow:0 0 0 1.5px rgba(63,203,128,.65),0 36px 80px -34px rgba(63,203,128,.75)}
.cs-band .cs-compare .after h3{color:#14894A}
.cs-band .cs-compare .after li{color:var(--ink)}
.cs-band .cs-compare .after li::before{border-color:#18A558}
.cs-compare h3 span{display:inline-block;vertical-align:middle;margin-left:12px;padding:5px 12px;border-radius:100px;font:700 11px/1 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;background:#E8F8EE;color:#14894A}
.cs-compare .before h3 span{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
@property --cs-spin{syntax:'<angle>';inherits:false;initial-value:0deg}
.cs-band .cs-compare .after::after{content:"";position:absolute;inset:-2px;border-radius:24px;padding:2.5px;background:conic-gradient(from var(--cs-spin),transparent 0 70%,#3FCB80 84%,#D5FFE6 92%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0}
.motion .cs-band .cs-compare .after::after{opacity:1;animation:cs-spin 7s linear infinite}
@keyframes cs-spin{to{--cs-spin:360deg}}
.cs-split{display:flex;border-radius:18px;overflow:hidden;border:1px solid var(--silver)}
.cs-split div{padding:24px 26px}
.cs-split .a{flex:24 1 0;min-width:170px;background:#f4f5f7}
.cs-split .b{flex:76 1 0;background:linear-gradient(120deg,var(--cs-band),var(--cs-band-deep));color:#fff;transform-origin:left}
.cs-split b{display:block;font:600 clamp(40px,4.4vw,58px)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.cs-split .b b{color:var(--cs-bright)}
.cs-split span{display:block;margin-top:10px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cs-split .b span{color:rgba(255,255,255,.76)}
.cs-dots{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.cs-dots i{width:34px;height:24px;border-radius:12px 12px 12px 4px;background:var(--cs)}
.cs-dots i:nth-child(even){border-radius:12px 12px 4px 12px;background:#4a3fc0}
.cs-dots i.part{background:linear-gradient(90deg,#4a3fc0 40%,#e3e1f3 40%)}
.cs-dots span{margin-left:10px;font-size:15px;font-weight:600;color:var(--navy)}
.cs-quote{margin:34px 0 0;border-left:4px solid var(--cs-bright);padding:6px 0 6px 26px;max-width:74ch}
.cs-quote p{margin:0;font:600 clamp(19px,2vw,23px)/1.5 Manrope,sans-serif;letter-spacing:-.02em;color:var(--navy)}

/* Legal funnel */
.cs-funnel{display:grid;gap:10px;justify-items:center;max-width:900px;margin:0 auto}
.cs-funnel div{width:var(--w);min-width:250px;display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-radius:16px;padding:20px 26px;background:var(--band);color:#fff}
.cs-funnel div:nth-of-type(2){background:#28497a}.cs-funnel div:nth-of-type(3){background:#335b93}.cs-funnel div:nth-of-type(4){background:#426fad}
.cs-funnel div.gold{background:linear-gradient(90deg,#946a24,#b78731)}
.cs-funnel b{font:600 clamp(26px,2.8vw,36px)/1 Manrope,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cs-funnel span{font-size:15px;color:rgba(255,255,255,.82);text-align:right}
.cs-funnel p{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.cs-funnel p::before{content:"↓ "}

/* List page: one color per story */
.result-cards.trio{grid-template-columns:repeat(3,1fr);gap:24px}
.result-cards.trio article{padding:0}
.result-cards.trio article::after{background:linear-gradient(90deg,var(--cs-bright),var(--cs-2-bright));height:4px}
.result-cards .cs-top{position:relative;overflow:hidden;padding:30px 32px 26px;background:linear-gradient(160deg,var(--cs-band),var(--cs-band-deep));color:#fff}
.result-cards .cs-top::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 100% 0,color-mix(in srgb,var(--cs-bright) 26%,transparent),transparent 70%)}
.result-cards .cs-top b{position:relative;display:block;font:600 clamp(44px,4.4vw,60px)/1 Manrope,sans-serif;letter-spacing:-.045em;color:var(--cs-bright);font-variant-numeric:tabular-nums}
.result-cards .cs-top span{position:relative;display:block;margin-top:10px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.result-cards .cs-rest{display:flex;flex-direction:column;flex:1;padding:30px 32px 34px}
.result-cards.trio .eyebrow{color:var(--cs);margin:0}
.result-cards.trio .text-link{color:var(--cs);background-image:linear-gradient(var(--cs),var(--cs))}

/* Motion: only after a block is marked .in */
.motion .in.cs-tiles>div,.motion .in.cs-steps>article,.motion .in.cs-story>article,.motion .in.cs-rows>div,.motion .in.cs-callouts>div,.motion .in.cs-compare>article,.motion .in.cs-facts li,.motion .in.cs-funnel>div{animation:hero-rise .7s cubic-bezier(.2,.7,.2,1) both}
.motion .in.cs-steps>article:nth-of-type(2),.motion .in.cs-facts li:nth-child(2){animation-delay:.18s}
.motion .in.cs-steps>article:nth-of-type(3),.motion .in.cs-facts li:nth-child(3){animation-delay:.36s}
.motion .in.cs-facts li:nth-child(4),.motion .in.cs-funnel>div:nth-of-type(4){animation-delay:.54s}
.motion .in.cs-funnel>div:nth-of-type(2){animation-delay:.18s}.motion .in.cs-funnel>div:nth-of-type(3){animation-delay:.36s}.motion .in.cs-funnel>div:nth-of-type(5){animation-delay:.72s}
.motion .in .cs-bars i,.motion .in.cs-bars i{animation:cs-grow 1.1s cubic-bezier(.2,.7,.2,1) both}
.motion .in .cs-bars .b1 i{animation-delay:.18s}.motion .in .cs-bars .b2 i{animation-delay:.36s}
.motion .in.cs-flow i{animation:cs-wide 1.2s cubic-bezier(.2,.7,.2,1) both}
.motion .in.cs-flow .f2 i{animation-delay:.2s}.motion .in.cs-flow .f3 i{animation-delay:.4s}
.motion .in.cs-split .b{animation:cs-wide 1.1s cubic-bezier(.2,.7,.2,1) both}
.motion .in.cs-chart path{stroke-dasharray:1;animation:cs-draw 1.6s ease both}
.motion .in.cs-chart .l1{animation-delay:.3s}.motion .in.cs-chart .l2{animation-delay:.6s}
.motion .in.cs-chart circle{animation:cs-pop .4s ease both;animation-delay:1.9s}
.motion .cs-kpi svg path{stroke-dasharray:1;animation:cs-draw 1.6s ease .3s both}
.motion .in.cs-dots i{animation:cs-pop .35s ease both;animation-delay:calc(var(--i)*.09s)}
.motion .cs-kpi{animation:hero-rise .8s cubic-bezier(.2,.7,.2,1) .15s both}
@keyframes cs-grow{from{transform:scaleY(0)}to{transform:none}}
@keyframes cs-wide{from{transform:scaleX(0)}to{transform:none}}
@keyframes cs-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes cs-pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
.cs-chart circle,.cs-dots i{transform-box:fill-box;transform-origin:center}

@media(max-width:1000px){
 .result-cards.trio{grid-template-columns:1fr}
 .cs-intro{grid-template-columns:1fr;gap:34px;padding-top:44px;padding-bottom:48px}
 .cs-kpi{max-width:420px}
 .cs-steps{grid-template-columns:1fr}
 .cs-steps .arrow{justify-self:center;transform:rotate(90deg);line-height:1}
 .cs-story,.cs-story.two,.cs-chart-grid,.cs-impact,.cs-action,.cs-snapshot,.cs-compare{grid-template-columns:1fr}
 .cs-tiles,.cs-tiles.three{grid-template-columns:1fr 1fr}
 .cs-callouts{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .cs-band{padding:64px 0}.cs-tint{padding:60px 0}
 .cs-band h2{margin-bottom:32px}
 .cs-insight{padding:28px 24px}
 .cs-panel{padding:22px 18px}
 .cs-bars{gap:14px;height:230px}.cs-bar-labels{gap:14px}
 .cs-rows div{padding:20px}.cs-rows b{flex-basis:108px}
 .cs-win{flex-direction:column;align-items:flex-start;gap:14px;padding:24px}
 .cs-split{flex-direction:column}
 .cs-funnel div{width:100%;min-width:0}
 .cs-tiles.three{grid-template-columns:1fr}
 .cs-callouts{grid-template-columns:1fr}
}
@media(max-width:460px){.cs-tiles{grid-template-columns:1fr}.cs-snapshot .cs-tiles{grid-template-columns:1fr 1fr}}
