:root{--r-xs:5px;--r-lg:12px;--r-xl:14px;--r-pill:20px;--bd-hair:1px solid var(--hair);--bd-accent:1px solid var(--sage-edge)}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("assets/Inter-700.ttf")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url("assets/Inter-500.ttf")}
@font-face{font-family:"Juana";font-weight:400;font-style:normal;font-display:swap;src:url("assets/Juana-Regular.otf")}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("assets/Inter-400.ttf")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url("assets/Inter-600.ttf")}/* Solo brand palette. Source of truth: solo-web/src/styles/tokens.css, as cloned into the fundraise deck shell. */
:root{
/* --- base neutrals --- */
--white:#FFFFFF;
--cream:#FDF7F7;
--bone:#F9F7F5;
--black:#000000;
--ink:#111111;
--ink-2:#4A4A4A;
--ink-3:#727272;
--ink-4:#BFBFBF;
--hair:#E8E4E4;
--hair-dark:#2A2A2A;

/* --- brand sage --- */
--sage:#646E59;
--sage-deep:#4E5645;
--sage-soft:#E4E7DF;
--sage-edge:#D7DCD0;

/* --- semantic --- */
--red:#C23A2A;
--pos:#646E59;
--neg:#C23A2A;
--warn-bg:#FFF6E8;
--warn-line:#D9A441;
--warn-ink:#8A6218;
--warn-ink-2:#6B4E13;
--draft-bg:#F7E9E7;

/* --- surfaces / text aliases --- */
--surface-page:var(--white);
--surface-band:var(--cream);
--surface-card:var(--bone);
--surface-accent:var(--sage-soft);
--surface-dark:var(--black);
--surface-dark-card:#141414;
--text-heading:var(--ink);
--text-body:var(--ink-2);
--text-muted:var(--ink-3);
--text-faint:var(--ink-4);
--text-accent:var(--sage);
--text-accent-deep:var(--sage-deep);
--text-on-dark:#FFFFFF;
--text-on-dark-2:rgba(255,255,255,.72);
--text-on-dark-3:rgba(255,255,255,.55);
--border-hair:var(--hair);
--border-accent:var(--sage-edge);

/* --- chart series ramp (sage) --- */
--c1:#4E5645;
--c2:#646E59;
--c3:#96A088;
--c4:#C3CAB8;
--c-line:#111111;
--c-grid:#E8E4E4;
--c-axis:#BFBFBF;
}

:root{--serif:Juana,Georgia,serif;--sans:Inter,Arial,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,.display{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(60px,6.2vw,88px);line-height:1.02;max-width:12ch}h2{font-size:clamp(34px,3.4vw,46px);line-height:1.08;max-width:26ch}h3{font-size:19px;font-weight:600;line-height:1.35}p{color:var(--ink-2)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--sage);outline-offset:5px}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.site-header{height:82px;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--hair)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:32px}.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{height:26px;width:auto;display:block}
.site-footer .logo img{height:22px}.nav-links{display:flex;align-items:center;gap:30px;font-size:13px;color:var(--ink-2)}.nav-links a:hover,.nav-links a[aria-current]{color:var(--sage)}.nav-cta{padding:11px 18px;background:var(--ink);border:1px solid var(--ink);border-radius:7px;color:#fff!important;font-size:12px}.reading-progress{height:2px;position:absolute;bottom:-1px;left:0;background:var(--sage);width:0}.menu-toggle{display:none;background:none;border:1px solid var(--hair);border-radius:7px;padding:8px 12px;font-size:13px}.eyebrow{color:var(--sage-deep);font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px}.lede{font-size:19px;line-height:1.6;max-width:46ch;margin-top:24px;color:var(--ink-2)}.section{padding:110px 0;border-top:1px solid var(--hair)}.section-heading{margin-bottom:46px}.section-heading>p{font-size:18px;line-height:1.55;max-width:52ch;margin-top:20px;color:var(--ink-2)}.dark .section-heading>p{color:rgba(255,255,255,.72)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--sage-deep);border:1px solid var(--sage-deep);color:#fff;padding:15px 22px;border-radius:7px;font-size:14px;font-weight:500;transition:background .18s var(--ease)}.button:hover{background:var(--sage)}.text-link{font-size:14px;border:0;border-bottom:1px solid var(--sage-edge);background:none;padding:3px 0;color:var(--sage-deep)}.arrow{font-size:20px;font-weight:400}.micro{font-size:12px;color:var(--ink-3);line-height:1.5}.hero{padding:74px 0 70px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}.hero .lede{max-width:37ch}.hero-visual{background:var(--bone);border:1px solid var(--hair);border-radius:14px;height:555px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-visual .visual-caption{position:absolute;top:24px;left:25px;z-index:2;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-deep)}.phone{border:7px solid #111;border-radius:30px;width:226px;height:445px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(17,17,17,.20)}.phone img{width:100%;height:auto}.phone:focus-visible{outline:3px solid var(--sage);outline-offset:5px}.phone-button{padding:0;position:relative;transform:rotate(-4deg);margin-top:26px;cursor:zoom-in}.phone-button img{pointer-events:none}.hero-tag{position:absolute;bottom:26px;right:20px;max-width:195px;background:#fff;border:1px solid var(--hair);border-radius:9px;padding:18px 22px}.hero-tag strong{display:block;font:36px/1.1 var(--serif);margin-bottom:5px;color:var(--sage-deep)}.hero-tag span{font-size:12px;color:var(--ink-3)}.pill{font-size:11px;color:var(--sage-deep);background:var(--sage-soft);border:1px solid var(--sage-edge);padding:5px 10px;border-radius:20px;display:inline-block}.problem-diagram{padding:38px;border:1px solid var(--hair);background:var(--bone);border-radius:14px}.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tool-row span{padding:17px;text-align:center;border:1px solid var(--hair);border-radius:9px;background:#fff;font-size:13px}.junction{height:40px;width:1px;background:var(--sage);margin:auto}.owner{padding:23px;background:var(--sage-deep);color:#fff;font:32px var(--serif);text-align:center;border-radius:9px}.diagram-note{font-size:13px;text-align:center;margin-top:18px}.quote-line{font-family:var(--serif);font-size:26px;line-height:1.3;margin-top:30px;max-width:26ch;color:var(--sage-deep)}.source{display:block;margin-top:24px;font-size:11px;color:var(--ink-3);line-height:1.6}.source a{border-bottom:1px solid var(--hair)}.dark{background:#000;color:#fff;border:0}.dark .eyebrow{color:var(--sage-soft)}.dark p{color:rgba(255,255,255,.72)}.dark .source,.dark .micro{color:rgba(255,255,255,.55)}.dark .source a{border-color:#555}.spend-total{display:flex;align-items:baseline;gap:22px;margin-bottom:28px}.spend-total strong{font:68px/1 var(--serif)}.spend-total span{font-size:14px;color:rgba(255,255,255,.6)}.spend-bar{display:flex;border-radius:12px;overflow:hidden}.spend-bar>div{padding:34px;display:flex;flex-direction:column;gap:16px;min-width:0;background:var(--sage);flex:30080}.spend-bar>div:last-child{flex:12000;background:var(--sage-soft);color:var(--sage-deep)}.spend-bar strong{font:50px/1 var(--serif)}.spend-bar span{font-size:14px}.spend-bar small{font-size:11px}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:48px}.proof-strip>div{border-top:1px solid var(--hair);padding-top:26px}.proof-strip strong{font:clamp(45px,5vw,70px)/1 var(--serif);color:var(--sage-deep)}.proof-strip p{font-size:17px;line-height:1.45;margin-top:15px}.product-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:stretch}.gallery{border:1px solid var(--hair);border-radius:14px;overflow:hidden;background:var(--bone)}.gallery-tabs{padding:16px;display:flex;gap:10px;border-bottom:1px solid var(--hair);background:#fff}.gallery-tabs button{background:transparent;color:var(--ink-3);border:1px solid transparent;border-radius:7px;padding:9px 14px;font-size:12px}.gallery-tabs button[aria-selected=true]{background:var(--sage-soft);border-color:var(--sage-edge);color:var(--sage-deep)}.gallery-panel{height:485px;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.gallery-panel[hidden]{display:none}.gallery-panel video{height:100%;max-width:100%;border-radius:12px;background:#fff}.gallery-panel .site-crop{height:100%;width:250px;overflow:hidden;border:1px solid var(--hair);border-radius:12px;cursor:zoom-in;padding:0;background:#fff}.site-crop img{width:100%}.gallery-caption{padding:16px 22px;background:#fff;border-top:1px solid var(--hair);font-size:12px;color:var(--ink-3)}.product-rows{display:flex;flex-direction:column;justify-content:center;gap:0}.product-row{padding:26px 0;border-bottom:1px solid var(--hair)}.product-row:first-child{padding-top:0}.product-row:last-child{border:0;padding-bottom:0}.product-row>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.product-row p{font-size:15px;max-width:42ch}.state{font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.state.live{color:var(--sage-deep)}.economics-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.big-multiple{font:135px/1 var(--serif);letter-spacing:-.03em;color:var(--sage)}.big-multiple+ p{font-size:17px;max-width:24ch;margin-top:18px}.comparison{display:flex;flex-direction:column;gap:34px}.comparison-label{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:12px}.comparison-label span{font-size:14px;color:var(--ink-2)}.comparison-label strong{font:34px var(--serif)}.track{height:46px;background:var(--bone);border-radius:7px;overflow:hidden}.track i{height:100%;display:block;background:var(--sage)}details{border-bottom:1px solid var(--hair)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;font-size:16px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;font-weight:400;color:var(--sage);flex-shrink:0}details[open]>summary:after{content:'−'}.expand-model{margin-top:48px;border-top:1px solid var(--hair)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:19px 18px;border-bottom:1px solid var(--hair);text-align:left}th{font-size:10px;letter-spacing:.07em;text-transform:uppercase;background:var(--bone);color:var(--ink-3)}th:not(:first-child),td:not(:first-child){text-align:right}td:not(:first-child){font:22px var(--serif)}.highlight{background:var(--sage-soft)}.total td{border-top:2px solid var(--ink)}.detail-note{padding:18px 0 24px;font-size:12px;color:var(--ink-3)}.case{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.case-value{font:clamp(74px,9vw,118px)/1 var(--serif);color:var(--sage-deep);letter-spacing:-.03em}.case-value span{font:18px var(--sans);letter-spacing:0;display:block;margin-top:17px;color:var(--ink-3)}.deliverables{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.deliverables span{font-size:12px;padding:8px 13px;border:1px solid var(--hair);border-radius:20px;color:var(--ink-2)}.case-panel{background:var(--sage-soft);border:1px solid var(--sage-edge);border-radius:14px;padding:45px}.case-panel .display{font-size:42px;line-height:1.1;margin:14px 0 20px}.case-panel p{font-size:16px}.platforms{margin-top:30px;padding-top:24px;border-top:1px solid var(--sage-edge);display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--sage-deep)}.compare-table th:first-child{width:25%}.compare-table td{font:14px/1.5 var(--sans)!important;text-align:left!important;vertical-align:top}.compare-table th{text-align:left!important}.compare-table td:nth-child(3),.compare-table th:nth-child(3){background:var(--sage-soft)}.compare-table small{display:block;font-size:11px;color:var(--ink-3);margin-top:6px}.scale-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.scale-number{font:clamp(75px,9vw,126px)/1 var(--serif);color:var(--sage-soft);letter-spacing:-.03em;margin-bottom:14px}.calculator{border:1px solid #2a2a2a;border-radius:14px;padding:34px;background:#141414}.calculator label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:rgba(255,255,255,.72)}.calculator output{font:32px var(--serif);color:#fff}.calculator input{width:100%;accent-color:#96a088;margin:28px 0 12px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:#aaa}.equation-small{padding-top:24px;margin-top:24px;border-top:1px solid #333;font-size:14px;color:#aaa}.equation-small b{color:#fff;font-weight:500}.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.milestone{padding-top:24px;border-top:2px solid var(--sage)}.milestone small{display:block;font-size:11px;color:var(--sage-deep);margin-bottom:24px;text-transform:uppercase;letter-spacing:.05em}.milestone h3{font:30px/1.15 var(--serif);margin-bottom:15px}.milestone p{font-size:14px;color:var(--ink-3)}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.finance-card{border:1px solid var(--hair);border-radius:12px;padding:32px;background:var(--bone)}.finance-card h3{font-size:14px;font-weight:500;margin-bottom:28px}.change{display:flex;align-items:center;justify-content:space-between;gap:20px}.change strong{font:44px/1.2 var(--serif);font-weight:400}.change small{display:block;font:11px var(--sans);color:var(--ink-3);margin-top:13px}.change .arrow{color:var(--ink-4);font-size:25px}.negative{color:var(--red)}.positive{color:var(--sage)}.ask-card{padding:55px;border:1px solid var(--sage-edge);border-radius:14px;background:var(--sage-soft)}.ask-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.funding-stages{display:flex;flex-direction:column;gap:25px}.funding-stage{padding-bottom:24px;border-bottom:1px solid #c7cebf}.funding-stage:last-child{border:0;padding-bottom:0}.funding-stage small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep)}.funding-stage h3{font:31px var(--serif);margin:8px 0}.funding-stage p{font-size:14px}.open-terms{margin-top:30px;padding:18px 22px;border:1px dashed var(--warn-line);border-radius:9px;background:var(--warn-bg);font-size:12px;color:var(--warn-ink-2)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.faq-answer{padding:0 40px 24px 0;font-size:15px;color:var(--ink-2)}.faq-answer p+p{margin-top:12px}.sources{border-top:1px solid var(--hair);padding:40px 0}.sources summary{font-size:13px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 50px;margin-bottom:30px}.notes-grid h3{font-size:13px;margin-bottom:8px}.notes-grid p{font-size:12px;color:var(--ink-3)}.site-footer{padding:34px 0;border-top:1px solid var(--hair)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner p{font-size:11px;color:var(--ink-3)}dialog{width:min(920px,95vw);max-height:92vh;border:1px solid var(--hair);border-radius:14px;padding:24px;color:var(--ink);background:#fff}dialog::backdrop{background:rgba(0,0,0,.75)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}.modal-head h2{font:22px var(--serif)}.close-modal{border:1px solid var(--hair);border-radius:7px;background:var(--bone);padding:8px 13px;font-size:12px}.modal-video{max-height:72vh;margin:auto}.modal-image{width:min(420px,100%);height:auto;margin:auto}.caption-modal{font-size:12px;text-align:center;margin-top:16px}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:15px;z-index:100}.skip-link:focus{top:5px}.motion-rise{animation:rise .6s var(--ease) both}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav-links{gap:20px}.hero-grid{gap:40px}.hero-visual{height:510px}.hero-tag{right:10px;padding:15px;max-width:160px}.split,.product-grid,.economics-grid,.case,.scale-grid,.ask-grid,.faq-layout{gap:40px}.section{padding:85px 0}.roadmap{gap:20px}.change strong{font-size:36px}.spend-bar strong{font-size:42px}.compare-table td{font-size:13px!important}.hero h1{font-size:67px}.finance-card{padding:24px}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.site-header{height:70px}.logo img{height:23px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;border-bottom:1px solid var(--hair);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:13px 10px}.nav-links .nav-cta{margin-top:10px;text-align:center}.hero{padding:46px 0}.hero-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:61px;max-width:11ch}.hero .lede{font-size:17px;max-width:35ch}.actions{gap:20px;margin-top:26px}.hero-visual{height:450px}.phone{height:352px;width:179px;border-width:6px;border-radius:25px}.hero-tag{right:20px;bottom:20px;max-width:180px}.section{padding:64px 0}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:16px;max-width:40ch}h2{font-size:34px;max-width:none}.eyebrow{font-size:10px;margin-bottom:16px}.split,.product-grid,.economics-grid,.case,.scale-grid,.ask-grid,.faq-layout{grid-template-columns:1fr;gap:35px}.lede{font-size:17px;margin-top:20px}.problem-diagram{padding:24px}.quote-line{font-size:24px}.spend-total{display:block}.spend-total strong{font-size:58px}.spend-total span{display:block;margin-top:14px;font-size:12px}.spend-bar>div{padding:24px 14px;gap:13px}.spend-bar strong{font-size:33px}.spend-bar span{font-size:12px}.spend-bar small{font-size:10px}.proof-strip{grid-template-columns:1fr;gap:24px;margin-top:30px}.proof-strip>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:23px}.proof-strip strong{font-size:47px}.proof-strip p{max-width:150px;font-size:15px;margin-top:0}.gallery-panel{height:460px}.gallery-tabs button{font-size:11px;padding:9px 11px}.product-rows{gap:0}.product-row{padding:24px 0}.product-row p{font-size:14px}.product-row h3{font-size:17px}.big-multiple{font-size:100px}.big-multiple+p{font-size:16px;max-width:32ch}.comparison-label strong{font-size:29px}.comparison-label span{font-size:12px}.comparison{gap:25px}.expand-model{margin-top:32px}summary{font-size:15px}.table-scroll table{min-width:590px}td,th{padding:14px 12px}.case-value{font-size:83px}.case-value span{font-size:16px}.case-panel{padding:28px}.case-panel .display{font-size:34px}.case-panel p{font-size:14px}.compare-table{min-width:680px!important}.scale-number{font-size:100px}.calculator{padding:26px}.roadmap{grid-template-columns:1fr 1fr;gap:35px 24px}.milestone small{font-size:10px;margin-bottom:18px}.milestone h3{font-size:27px}.milestone p{font-size:13px}.finance-grid{grid-template-columns:1fr}.finance-card{padding:25px}.change strong{font-size:38px}.ask-card{padding:28px}.ask-card h2{font-size:34px}.open-terms{padding:16px;font-size:11px}.faq-layout{gap:22px}.faq-answer{font-size:14px;padding-right:10px}.notes-grid{grid-template-columns:1fr;gap:24px}.footer-inner{flex-wrap:wrap}.footer-inner p{flex-basis:100%}.source{font-size:10px}dialog{padding:16px}.button{font-size:13px}.service-table-hint{font-size:11px;color:var(--ink-3);margin-bottom:12px}}
@media(min-width:761px){.service-table-hint{display:none}}@media(max-width:370px){.hero h1{font-size:53px}h2{font-size:31px}.hero-tag{right:8px;max-width:145px}.hero-tag strong{font-size:30px}.spend-bar strong{font-size:27px}.spend-bar>div{padding:20px 10px}.change strong{font-size:32px}.change{gap:10px}.case-value{font-size:70px}.calculator label{font-size:12px}.roadmap{grid-template-columns:1fr}.ask-card{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.site-header,.reading-progress,.menu-toggle,dialog,.actions,.button{display:none}.wrap{width:100%}.section{padding:40px 0;break-inside:avoid}.hero{padding:20px 0}.dark{print-color-adjust:exact;-webkit-print-color-adjust:exact}.faq-answer{display:block}.source{color:#555}}
/* Keep the spend chart proportional, including its internal padding. */
.spend-bar>div{flex:0 0 71.48289%}.spend-bar>div:last-child{flex:0 0 28.51711%}

/* --- thesis waterfall --- */
.wf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:30px;flex-wrap:wrap}
.wf-title{font:500 15px var(--sans);color:#fff!important;letter-spacing:.01em}
.wf-key{display:flex;gap:22px;font-size:12px;color:rgba(255,255,255,.62);flex-wrap:wrap}
.wf-key .k{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);padding:6px 13px;font-size:12.5px;color:rgba(255,255,255,.8)}
.wf-key .k:before{content:'';width:15px;height:11px;border-radius:3px;flex:0 0 auto}
.wf-key em{font-style:normal;color:#fff;margin-left:2px}
.wf-key .c-sw:before{background:#454C3C;border:1px solid rgba(255,255,255,.28)}
.wf-key .c-svc:before{background:#C79A6B}
.wf-key .c-ai:before{background:rgba(255,255,255,.13);border:1px dashed rgba(255,255,255,.6)}
.wf-wrap{overflow:visible;max-width:none}
.wf-wrap svg{display:block;width:100%;height:auto}
.wf-axis{stroke:rgba(255,255,255,.26);stroke-width:1}
.wf-link{stroke:rgba(255,255,255,.3);stroke-width:1;stroke-dasharray:2 3}
.wf-total-line{stroke:rgba(255,255,255,.3);stroke-width:1}
.wf-total-t{font:400 34px var(--serif);fill:#fff}
.wf-bracket-s{font:12px var(--sans);fill:rgba(255,255,255,.55)}
.wf-bar{transform-box:fill-box;transform-origin:bottom;animation:wf-grow .62s var(--ease) both;animation-delay:calc(var(--i) * .09s)}
.wf-bar.c-sw{fill:#454C3C;stroke:rgba(255,255,255,.22);stroke-width:1}
.wf-bar.c-svc{fill:#C79A6B}
.wf-bar.c-ai{fill:rgba(255,255,255,.13);stroke:rgba(255,255,255,.6);stroke-width:1;stroke-dasharray:5 4}
.wf-val{font:400 18px var(--serif);fill:#fff}
.wf-total-val{font:400 30px var(--serif);fill:#fff}
.wf-lab{font:500 12px var(--sans);fill:rgba(255,255,255,.85)}
.wf-note{font:11px var(--sans)}
.wf-note.c-sw{fill:var(--sage-soft)}
.wf-note.c-svc{fill:#DDBB92}
.wf-note.c-ai{fill:rgba(255,255,255,.45)}
@keyframes wf-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.wf-bar{animation:none}}
.wf-list{display:none}

/* mobile: the chart is redrawn as rows, never scaled down */
@media(max-width:760px){
  .wf-wrap{display:none}
  .wf-list{display:flex;flex-direction:column;gap:0;list-style:none;margin:8px 0 0;padding:0}
  .wf-list li{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .wl-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .wl-top b{font-weight:500;font-size:15px;color:#fff}
  .wl-top i{font:400 20px var(--serif);font-style:normal;color:#fff}
  .wl-track{display:block;height:7px;border-radius:4px;background:rgba(255,255,255,.1);margin:11px 0 8px;overflow:hidden}
  .wl-track>span{display:block;height:100%;border-radius:4px}
  .c-sw .wl-track>span{background:#454C3C;border:1px solid rgba(255,255,255,.22)}
  .c-svc .wl-track>span{background:#C79A6B}
  .c-ai .wl-track>span{background:rgba(255,255,255,.13);border:1px dashed rgba(255,255,255,.6)}
  .wl-note{font-size:11.5px;color:rgba(255,255,255,.5)}
  .c-sw .wl-note,.c-svc .wl-note{color:var(--sage-soft)}
  .wf-list .wl-total{border-bottom:0;border-top:1px solid rgba(255,255,255,.4);padding-top:19px}
  .wf-list .wl-total i{font-size:26px}
  .wf-key{gap:14px;font-size:11.5px}
}

/* thesis: the chart is the point, so the header block gets a budget */
#opportunity{padding:58px 0}

#opportunity .section-heading{margin-bottom:24px}
#opportunity .section-heading>p{margin-top:16px;font-size:17px;max-width:60ch}
/* F2 — the chart needed a title that reads as one */
.wf-head{display:block;margin-bottom:14px;max-width:880px}
.wf-title{margin-bottom:12px;color:var(--sage-soft)!important}
.wf-key{display:flex;gap:22px;font-size:12px;color:rgba(255,255,255,.62);flex-wrap:wrap}

/* hero: three stat cards stacked over the customer site */
.hero-stats{position:absolute;right:20px;bottom:24px;display:flex;flex-direction:column;gap:9px;z-index:2}
.hero-stats .hero-tag{position:static;right:auto;bottom:auto;max-width:none;width:186px;padding:13px 17px;
  box-shadow:0 4px 16px rgba(17,17,17,.10)}
.hero-stats .hero-tag strong{font:28px/1.05 var(--serif);margin-bottom:3px;color:var(--sage-deep);display:block}
.hero-stats .hero-tag span{font-size:11.5px;color:var(--ink-3);line-height:1.35;display:block}
@media(max-width:760px){
  .hero-stats{right:10px;bottom:14px;gap:7px}
  .hero-stats .hero-tag{width:150px;padding:10px 13px}
  .hero-stats .hero-tag strong{font-size:23px}
  .hero-stats .hero-tag span{font-size:10.5px}
}
/* --- problem: her lock screen --- */
.lock-wrap{display:flex;justify-content:center;align-items:center}
.lock{width:318px;border-radius:38px;padding:9px;background:#111;box-shadow:0 18px 48px rgba(17,17,17,.24)}
.lock-in{border-radius:30px;overflow:hidden;background:linear-gradient(170deg,#7E876F 0%,#5A6350 46%,#3C4335 100%);
  padding:26px 12px 16px;min-height:600px;position:relative}
.lock-time{text-align:center;color:#fff;font:300 62px/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lock-date{text-align:center;color:rgba(255,255,255,.78);font:400 13.5px var(--sans);margin:6px 0 20px}
.note{background:rgba(255,255,255,.93);border-radius:15px;padding:10px 12px;margin-bottom:7px;
  display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}
.note .ic{width:30px;height:30px;border-radius:8px;background:var(--sage-deep);color:#fff;
  display:flex;align-items:center;justify-content:center;font:600 13px var(--sans)}

.note .hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.note .ap{font:600 11px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.note .tm{font:400 11px var(--sans);color:var(--ink-4);white-space:nowrap}
.note b{display:block;font:600 13px/1.3 var(--sans);color:var(--ink);margin-top:2px}
.note span{display:block;font:400 12.5px/1.35 var(--sans);color:var(--ink-2);margin-top:1px}
.lock-more{text-align:center;color:rgba(255,255,255,.72);font:400 12px var(--sans);margin-top:10px}
.locknote{margin-top:22px;text-align:center;font-size:13px;color:var(--ink-3)}

.note{grid-template-columns:34px 1fr;padding:9px 11px;margin-bottom:6px;align-items:center}
.note .ic{width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid rgba(17,17,17,.08);
  display:flex;align-items:center;justify-content:center;padding:6px;color:var(--ink)}
.note .ic svg{width:100%;height:100%;display:block}
.note .ic.word{background:var(--ink);color:#fff;font:600 8px/1 var(--sans);letter-spacing:.02em;
  text-transform:lowercase;padding:0}
.note.ppl .ic.word{background:var(--sage-deep)}
.note b{margin-top:1px;font-size:13px}
.note span.ap{font-size:10.5px}
.lock-in{min-height:0;padding:26px 12px 18px}
/* scroll reveal: each card drops in, stagger by index */
.lock.armed .note{opacity:0;transform:translateY(-10px) scale(.97)}
.lock.go .note{animation:pop .42s var(--ease) both;animation-delay:calc(var(--n) * .11s)}
@keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
.lock.go .lock-more{animation:pop .42s var(--ease) both;animation-delay:.85s}
@media(prefers-reduced-motion:reduce){.lock.armed .note{opacity:1;transform:none}.lock.go .note,.lock.go .lock-more{animation:none}}

/* headline emphasis: colour-coded to the waterfall, plus an underline so it is
   never colour-only (design system rule: no colour-only encoding) */
.hl{font-style:normal;position:relative;white-space:nowrap}
.hl:after{content:'';position:absolute;left:0;right:0;bottom:.06em;height:.055em;border-radius:2px;background:currentColor;opacity:.42}
.hl.sw{color:#4E5645}
.hl.ppl{color:#A8784A}
.dark .hl.sw{color:#A7B199}
.dark .hl.ppl{color:#C79A6B}

/* --- solution: three tiers, agents over workflows over record --- */
.slab{margin-top:46px}
.tier{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.agent{border:1px solid #E4D2BA;background:#FCF6EE;border-radius:var(--r-lg);padding:17px 20px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.a-ic{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;
  background:#fff;border:1px solid #E4D2BA;color:#A8784A;flex:0 0 auto}
.a-ic svg{width:18px;height:18px}
.agent b{font:600 15.5px var(--sans);color:#8A5F2E;flex:1 1 auto}
.st{display:inline-block;font-style:normal;font:600 9.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;
  padding:4px 8px;border-radius:var(--r-xs)}
.st.live{background:#E4E7DF;color:var(--sage-deep)}
.st.build{background:#F3E4CE;color:#8A5F2E}
.st.next{background:transparent;color:var(--ink-3);border:1px dashed var(--ink-3)}
.tier-lab{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px}
.tier-lab em{font-style:normal;letter-spacing:0;text-transform:none;font-weight:400;font-size:12px;color:var(--ink-3);margin-left:10px}
.flow{border:1px dashed var(--ink-4);border-radius:var(--r-lg);padding:13px 16px;background:transparent}
.flow .fl{display:block;padding:9px 0}
.flow .fl+.fl{border-top:1px solid var(--hair)}

.flow .fl b{display:block;font:500 14px var(--sans);color:var(--ink-2)}
.flow .fl em{display:block;font-style:normal;font-size:11px;color:var(--ink-4);margin-top:2px}
.wires{height:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wires>span{position:relative;margin-left:50%;width:1px;background-image:repeating-linear-gradient(to bottom,var(--ink-4) 0 3px,transparent 3px 7px);background-size:1px 7px;background-repeat:repeat-y}
.slab.go .wires>span{animation:wire-march 1.1s linear infinite}
.wires>span>i{position:absolute;left:-3px;top:0;width:6px;height:6px;border-radius:50%;background:var(--sage);opacity:0}
.slab.go .wires>span>i{animation:flow 2.2s var(--ease) infinite}
.slab.go .wires>span:nth-child(2)>i{animation-delay:.34s}
.slab.go .wires>span:nth-child(3)>i{animation-delay:.68s}
.slab.go .tier-w~.wires>span>i{animation-delay:.17s}
.slab.go .tier-w~.wires>span:nth-child(2)>i{animation-delay:.51s}
.slab.go .tier-w~.wires>span:nth-child(3)>i{animation-delay:.85s}
@keyframes flow{0%{opacity:0;transform:translateY(0)}18%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translateY(26px)}}
@keyframes wire-march{to{background-position:0 7px}}
@media(prefers-reduced-motion:reduce){.slab.go .wires>span>i{animation:none}.slab.go .wires>span{animation:none}}
.slab-base{border:var(--bd-accent);background:var(--sage-soft);border-radius:var(--r-lg);padding:20px 24px;margin-top:2px}
.slab-base .lab{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.slab-base .items{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}
.r-it{display:inline-flex;align-items:center;gap:9px;background:#fff;border:var(--bd-accent);
  border-radius:var(--r-pill);padding:8px 15px 8px 12px;font-size:13px;color:var(--sage-deep)}
.r-it svg{width:15px;height:15px;color:var(--sage)}
@media(max-width:760px){.tier{grid-template-columns:1fr;gap:10px}.wires{display:none}.slab-base .items{grid-template-columns:1fr 1fr}
  .tier-lab{margin-top:16px}.agent{padding:14px 16px}}

/* --- current solution: pick a theme, the visual follows --- */
#product{padding:66px 0}
.know-head{margin-bottom:38px}
.know{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}
.know-nav{display:flex;flex-direction:column}
.gnav{display:grid;grid-template-columns:24px 1fr 28px;align-items:center;gap:13px;width:100%;
  text-align:left;background:none;border:0;border-top:1px solid var(--hair);padding:20px 0;cursor:pointer}
.know-nav .gnav:last-child{border-bottom:1px solid var(--hair)}
.gnav.on{border-top-color:var(--ink)}
.g-ic{display:flex;color:var(--ink-4)}
.g-ic svg{width:19px;height:19px}
.gnav.on .g-ic{color:var(--sage)}
.g-t{font:600 18px var(--sans);color:var(--ink-3)}
.gnav.on .g-t{color:var(--ink)}
.g-ar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--hair);color:var(--ink-3);font-size:13px}
.gnav.on .g-ar{border-color:var(--sage);color:var(--sage)}
.g-body{grid-column:2/4;display:block;overflow:hidden;max-height:0;opacity:0;
  transition:max-height .34s var(--ease),opacity .28s var(--ease),margin .34s var(--ease)}
.gnav.on .g-body{max-height:260px;opacity:1;margin-top:11px}
.g-f{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.g-f i{font-style:normal;background:var(--bone);border:var(--bd-hair);border-radius:var(--r-pill);
  padding:6px 12px;font-size:12.5px;color:var(--ink-2)}
.know-media{position:relative;background:var(--bone);border:var(--bd-hair);border-radius:var(--r-xl);
  overflow:hidden;height:496px;display:flex}
.gpane{display:none;margin:0;flex-direction:column;width:100%}
.gpane.on{display:flex;animation:reveal-up .38s var(--ease) both}
.gpane video,.gpane img{flex:1 1 0;min-height:0;max-width:100%;width:auto;margin:22px auto;object-fit:contain;display:block}
.media-todo{flex:1 1 auto;display:flex;align-items:center;justify-content:center;
  color:var(--ink-4);font-size:13px;border:1px dashed var(--ink-4);border-radius:var(--r-lg);margin:22px}
@media(max-width:860px){
  .know{grid-template-columns:1fr;gap:26px}
  .know-media{height:380px;order:-1}
}

/* ---- Ported bullshots (from solo-web design/ui_kits/marketing-site) ----
   Idealised product UI rebuilt in CSS, not screenshots, so they stay sharp at
   any DPI and cost 17KB instead of three PNGs. Client data is fictional.
   The six tokens below are the alpha site's; --ease-out is identical to our
   --ease. Scoped to the chassis so they do not leak into the page. */
.bull-phone,.bull-card{
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --fg-1:#111;--fg-3:#727272;--solo-black:#000;--solo-white:#fff;
  --font-body:Inter,Arial,sans-serif}
.rotator-word.on { opacity: 1; transform: translateY(0px); }
.hero .stars .s { color: var(--solo-black); letter-spacing: 2px; font-size: 14px; }
.category-chip.on { background: var(--solo-white); color: var(--solo-black); border-color: var(--solo-white); }
.split-feat .s { font-size: 15px; line-height: 1.6; color: var(--fg-3); margin-top: 4px; }
.bull-phone { position: relative; width: 316px; border-radius: 58px; padding: 3px; background: linear-gradient(150deg, rgb(154, 154, 162), rgb(76, 76, 82), rgb(53, 53, 59) 60%, rgb(133, 133, 141)); box-shadow: rgba(17, 17, 17, 0.28) 0px 34px 80px; }
.bull-phone::before, .bull-phone::after { content: ""; position: absolute; width: 3px; border-radius: 2px; background: rgb(90, 90, 98); }
.bull-phone::before { left: -3px; top: 118px; height: 34px; box-shadow: rgb(90, 90, 98) 0px 52px, rgb(90, 90, 98) 0px 104px; }
.bull-phone::after { right: -3px; top: 176px; height: 62px; }
.bull-phone-inner { background: rgb(5, 5, 5); border-radius: 55px; padding: 9px; }
.bull-screen { position: relative; background: rgb(246, 244, 250); border-radius: 46px; overflow: hidden; font-family: var(--font-body); min-height: 600px; display: flex; flex-direction: column; }
.bull-phone.compact .bull-screen { min-height: 430px; }
.bull-statusbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 12px 24px 2px; }
.bull-status-time { font-size: 13px; font-weight: 600; color: rgb(23, 21, 31); justify-self: start; }
.bull-island { width: 90px; height: 26px; background: rgb(5, 5, 5); border-radius: 999px; justify-self: center; display: flex; align-items: center; justify-content: flex-end; padding-right: 7px; }
.bull-island-cam { width: 10px; height: 10px; border-radius: 999px; background: radial-gradient(circle at 35% 35%, rgb(35, 50, 78), rgb(5, 7, 12) 70%); }
.bull-status-icons { justify-self: end; color: rgb(23, 21, 31); }
.bull-tabbar { display: flex; justify-content: space-around; padding: 8px 14px 2px; border-top: 1px solid rgba(23, 21, 31, 0.07); }
.bull-tab { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 9px; font-weight: 600; color: rgb(154, 152, 163); }
.bull-tab svg { width: 19px; height: 19px; }
.bull-tab.on { color: rgb(111, 102, 216); }
.bull-home { flex-shrink: 0; width: 118px; height: 4.5px; border-radius: 999px; background: rgba(23, 21, 31, 0.24); margin: 8px auto 9px; }
.ca-fade { animation-duration: 11s; animation-iteration-count: infinite; animation-timing-function: var(--ease-out); }
.bull-stats-row.ca-fade { animation-name: ca-fade; }
.ca-a1 { animation-name: ca-a1; }
.ca-a2 { animation-name: ca-a2; }
.ca-a3 { animation-name: ca-a3; }
.ca-a4 { animation-name: ca-a4; }
.ca-a5 { animation-name: ca-a5; }
@media (prefers-reduced-motion: reduce){.ca-fade, .ca-s, .ca-a1, .ca-a2, .ca-a3, .ca-a4, .ca-a5 { animation: auto ease 0s 1 normal none running none; }}
.bull-toggle.on { background: rgb(111, 102, 216); }
.bull-toggle.on::after { left: auto; right: 2.5px; }
.bull-feat-row .s { font-size: 11.5px; color: rgb(138, 138, 147); margin-top: 1px; }
.cal-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px 6px; font-size: 12.5px; }
.cal-month { font-weight: 700; color: rgb(23, 21, 31); }
.cal-today { color: rgb(194, 192, 204); font-weight: 600; }
.cal-icons { color: rgb(23, 21, 31); letter-spacing: 2px; font-size: 12px; }
.cal-dayhead { text-align: center; padding-bottom: 8px; }
.cal-daynum { display: inline-block; background: rgb(217, 72, 63); color: rgb(255, 255, 255); border-radius: 7px; padding: 2px 9px; font-size: 13px; font-weight: 700; }
.cal-dayname { display: block; font-size: 11px; color: rgb(217, 72, 63); margin-top: 2px; }
.cal-body { flex: 1 1 0%; display: flex; border-top: 1px solid rgb(240, 238, 244); padding: 6px 12px 0px 6px; min-height: 330px; }
.cal-hours { display: flex; flex-direction: column; justify-content: space-between; width: 22px; font-size: 9.5px; color: rgb(169, 167, 178); padding: 2px 0px 8px; flex-shrink: 0; }
.cal-grid { position: relative; flex: 1 1 0%; border-left: 2px solid rgb(185, 211, 220); }
.cal-now { position: absolute; left: 0px; right: 0px; top: 22%; height: 1.5px; background: rgb(217, 72, 63); }
.cal-zoom { position: absolute; right: 6px; top: 6px; display: flex; flex-direction: column; background: rgb(255, 255, 255); border-radius: 8px; box-shadow: rgba(17, 17, 17, 0.12) 0px 2px 8px; font-size: 13px; color: rgb(23, 21, 31); z-index: 2; }
.cal-zoom span { padding: 3px 8px; text-align: center; }
.cal-appt { position: absolute; left: 5px; right: 26px; border-radius: 7px; padding: 5px 7px; font-size: 9.5px; line-height: 1.25; color: rgb(255, 255, 255); overflow: hidden; }
.cal-appt.p { background: rgb(169, 140, 216); border: 1.5px solid rgb(142, 112, 196); }
.cal-appt.s { background: rgb(232, 135, 122); border: 1.5px solid rgb(217, 110, 95); }
.cal-appt.d { background: rgb(232, 194, 133); border: 1.5px solid rgb(214, 169, 95); }
.cal-appt.t { background: rgb(94, 160, 174); border: 1.5px solid rgb(74, 136, 150); }
.cal-appt.pe { background: rgb(255, 255, 255); border-width: 3px 1px 1px; border-style: solid; border-color: rgb(232, 135, 122) rgb(231, 228, 234) rgb(231, 228, 234); border-image: initial; color: var(--fg-1); }
.cal-warn { position: absolute; top: -3px; right: -3px; width: 8px; height: 8px; border-radius: 999px; background: rgb(217, 72, 63); }
.cl-view.on { background: rgb(241, 239, 252); }
.cl-view.on .cl-bars span { background: rgb(111, 102, 216); }
.pill-hero-inner .bull-phone { width: min(340px, -44px + 100vw); border-radius: 0px; padding: 0px; background: none; box-shadow: none; }
.pill-hero-inner .bull-phone::before, .pill-hero-inner .bull-phone::after { display: none; }
.pill-hero-inner .bull-phone-inner { background: none; border-radius: 0px; padding: 0px; }
.pill-hero-inner .bull-statusbar, .pill-hero-inner .bull-home { display: none; }
.pill-hero-inner .bull-screen { border-radius: 22px; min-height: 0px; box-shadow: rgba(17, 17, 17, 0.12) 0px -4px 44px; }
.we-stars .s { font-size: 9.5px; letter-spacing: 0.09em; color: rgb(58, 47, 44); }
.pcs-toggle span.on { background: rgb(91, 81, 200); color: rgb(255, 255, 255); }
.loy-box.on { background: rgb(91, 81, 200); border-color: rgb(91, 81, 200); }
.pc-toggle span.on { background: rgb(91, 81, 200); color: rgb(255, 255, 255); }
.pc-box.on { background: rgb(91, 81, 200); border-color: rgb(91, 81, 200); }
.cl-tabs span.on { background: rgb(91, 81, 200); color: rgb(255, 255, 255); }
.cl-avatar.on { background: rgb(185, 190, 234); }
.cl-avatar.on::before, .cl-avatar.on::after { background: rgb(91, 81, 200); }
.dep-opt.on { background: rgb(237, 235, 250); border-color: rgb(91, 81, 200); }
.dep-toggle span.on { background: rgb(91, 81, 200); color: rgb(255, 255, 255); }
.tp-card.on { border-color: rgb(111, 102, 216); background: rgb(246, 245, 253); }
.bull-tab-pill.on { background: rgb(111, 102, 216); color: rgb(255, 255, 255); }
.tp-dot.on { box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px, rgb(111, 102, 216) 0px 0px 0px 4px; }
.lf-opt.on { border-color: rgb(111, 102, 216); background: rgb(241, 239, 252); }
.bull-chan.on .dot { background: rgb(76, 175, 109); }
.bull-chan.on .l { color: rgb(76, 175, 109); }
.bull-rowlink .s { font-size: 11.5px; color: rgb(138, 138, 147); margin-top: 2px; }
.cb-add.on { background: rgb(111, 102, 216); animation: cb-add 7s var(--ease-out) infinite; }
.cb-day.on { background: rgb(62, 50, 115); }
.cb-day.on .dn, .cb-day.on .dd, .cb-day.on .dm { color: rgb(255, 255, 255); }
.cb-day.on::after { display: none; }
.cb-part .p { font-size: 13px; font-weight: 700; color: rgb(23, 21, 31); }
.cb-slot.on { background: rgb(62, 50, 115); color: rgb(255, 255, 255); animation: cb-slot 11s var(--ease-out) infinite; }
@media (prefers-reduced-motion: reduce){.cb-1, .cb-2, .cb-3, .cb-4, .cb-5, .cb-fill, .cb-cta .go, .cb-add.on, .cb-slot.on, .cb-cont.live { animation: auto ease 0s 1 normal none running none; }}
.rj-what .s { font-size: 12px; color: rgb(108, 106, 120); margin-top: 3px; }
.thm-tabs span.on { background: rgb(111, 102, 216); color: rgb(255, 255, 255); }
.gcb-trust .s { font-size: 10px; font-weight: 700; color: rgb(74, 74, 82); }
.stm-leg .d { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; align-self: center; }
.stm-leg .d.c { background: rgb(111, 102, 216); }
.stm-leg .d.f { background: rgb(94, 158, 143); }
.cwk-b.p { background: rgb(169, 140, 216); box-shadow: rgb(142, 112, 196) 0px 0px 0px 1px inset; }
.cwk-b.s { background: rgb(232, 135, 122); box-shadow: rgb(217, 110, 95) 0px 0px 0px 1px inset; }
.cwk-b.d { background: rgb(232, 194, 133); box-shadow: rgb(214, 169, 95) 0px 0px 0px 1px inset; }
.cwk-b.pe { background: rgb(253, 243, 241); box-shadow: rgb(240, 217, 212) 0px 0px 0px 1px inset, rgb(232, 135, 122) 0px 3px inset; }
.cwk-lbl .d { display: block; font-size: 10px; font-weight: 700; color: rgb(138, 138, 147); }
.srx-rate .s { color: rgb(224, 163, 46); letter-spacing: 1px; }
.spg-item .d { font-size: 10.5px; color: rgb(169, 167, 178); }
.spg-stars .s { font-size: 13px; letter-spacing: 2px; color: rgb(224, 163, 46); }
.cat-panel[data-astro-cid-d242pyyr].on { display: block; }
.btn.sm { font-size: 13px; padding: 10px 18px; }
.bull-link.sm.flush { margin-top: 4px; }
.bull-avatar.sm { width: 30px; height: 30px; font-size: 12px; }
.be { flex: 1 1 0%; position: relative; min-height: 470px; background: rgb(244, 244, 247); }
.be-step { position: absolute; inset: 0px; opacity: 0; padding: 15px 13px 0px; }
.be-1 { animation: be-1 12s var(--ease-out) infinite; }
.be-2 { animation: be-2 12s var(--ease-out) infinite; background: rgb(255, 255, 255); }
.be-head { font-size: 18px; font-weight: 800; color: rgb(23, 21, 31); padding: 0px 4px 12px; }
.be-card { background: rgb(255, 255, 255); border-radius: 13px; padding: 14px; margin-bottom: 10px; }
.be-card.row { display: flex; align-items: center; justify-content: space-between; }
.be-lab { font-size: 12.5px; font-weight: 700; color: rgb(23, 21, 31); }
.be-val { font-size: 12.5px; color: rgb(106, 106, 115); margin-top: 8px; padding-bottom: 8px; border-bottom: 1px solid rgb(237, 235, 242); }
.be-from { font-size: 12.5px; font-weight: 700; color: rgb(23, 21, 31); }
.be-subj { font-size: 12px; color: rgb(38, 36, 46); margin-top: 5px; }
.be-prev { font-size: 11px; line-height: 1.5; color: rgb(138, 138, 147); margin: 6px 0px 12px; }
.be-btn { display: block; background: rgb(91, 81, 200); color: rgb(255, 255, 255); font-size: 12.5px; font-weight: 700; border-radius: 9px; padding: 10px 0px; text-align: center; }
.be-btn.sm { display: inline-block; padding: 9px 22px; }
.be-pill { background: rgb(59, 59, 68); color: rgb(255, 255, 255); font-size: 10.5px; font-weight: 700; border-radius: 6px; padding: 5px 9px; }
.be-row { display: flex; align-items: center; justify-content: space-between; }
.be-toggle { width: 38px; height: 22px; border-radius: 999px; background: rgb(228, 226, 236); position: relative; }
.be-toggle::after { content: ""; position: absolute; top: 2.5px; left: 3px; width: 16px; height: 16px; border-radius: 999px; background: rgb(169, 167, 182); }
.be-note { font-size: 11px; line-height: 1.45; color: rgb(138, 138, 147); margin: 9px 0px 0px; }
.be-subjline span { font-size: 9px; font-weight: 800; letter-spacing: 0.09em; color: rgb(138, 138, 147); }
.be-subjline div { font-size: 13px; color: rgb(38, 36, 46); margin-top: 5px; padding-bottom: 9px; border-bottom: 1px solid rgb(237, 235, 242); }
.be-hero-img { position: relative; background: rgb(247, 241, 234); margin: 12px -13px 0px; padding: 12px 0px; text-align: center; overflow: hidden; }
.be-hero-img b { display: block; font-size: 27px; font-weight: 800; letter-spacing: -0.02em; color: rgb(23, 21, 31); line-height: 0.96; }
.be-replace { position: absolute; left: 0px; right: 0px; bottom: 7px; font-size: 11px; font-weight: 700; color: rgb(91, 81, 200); }
.be-block { position: relative; border-bottom: 1px solid rgb(240, 238, 244); padding: 13px 22px 13px 0px; }
.be-bh { font-size: 16px; font-weight: 800; color: rgb(23, 21, 31); }
.be-block p { font-size: 11.5px; line-height: 1.5; color: rgb(38, 36, 46); margin: 0px; }
.be-grip { position: absolute; right: 2px; top: 15px; width: 9px; height: 14px; background: radial-gradient(circle, rgb(201, 198, 222) 1.4px, transparent 1.6px) 0px 0px / 4.5px 4.5px; }
.be-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }
.be-add { background: rgb(237, 235, 250); color: rgb(91, 81, 200); font-size: 12.5px; font-weight: 700; border-radius: 9px; padding: 10px 16px; }
@media (prefers-reduced-motion: reduce){.be-1, .be-2 { animation: auto ease 0s 1 normal none running none; }}
@media (prefers-reduced-motion: reduce){.be-2 { opacity: 0; }}
@media (prefers-reduced-motion: reduce){.be-1 { opacity: 1; }}
.mb-h.sm { font-size: 21px; margin: 4px 0px 8px; }
.rv-stars.sm { font-size: 15px; gap: 2px; margin: 0px; }
.bull-link.sm { font-size: 12.5px; margin-top: 14px; }
.bull-field .v.row { display: flex; align-items: center; justify-content: space-between; }
.fx-title.sm { font-size: 21px; margin-top: 18px; }
.inc { flex: 1 1 0%; position: relative; min-height: 470px; background: rgb(244, 244, 247); }
.inc-step { position: absolute; inset: 0px; opacity: 0; padding: 15px 13px 0px; }
.inc-1 { animation: inc-1 12s var(--ease-out) infinite; }
.inc-2 { animation: inc-2 12s var(--ease-out) infinite; }
.inc-head { font-size: 19px; font-weight: 800; color: rgb(23, 21, 31); padding: 0px 4px 13px; }
.inc-card { background: rgb(255, 255, 255); border-radius: 13px; padding: 14px 14px 15px; margin-bottom: 12px; }
.inc-line { display: flex; align-items: baseline; justify-content: space-between; font-size: 12px; color: rgb(74, 74, 82); padding: 5px 0px; }
.inc-line.strong { font-size: 14.5px; font-weight: 800; color: rgb(23, 21, 31); padding-bottom: 2px; }
.inc-line.neg span:last-child { color: rgb(194, 84, 78); }
.inc-edit { font-size: 11.5px; font-weight: 700; color: rgb(91, 81, 200); text-align: right; }
.inc-sub { font-size: 9px; font-weight: 800; letter-spacing: 0.09em; color: rgb(138, 138, 147); margin: 13px 0px 3px; }
.inc-filter { font-size: 11.5px; color: rgb(74, 74, 82); padding: 0px 4px 12px; }
.inc-filter b { color: rgb(91, 81, 200); font-weight: 700; }
.inc-log { background: rgb(255, 255, 255); border-radius: 13px; overflow: hidden; }
.inc-day { font-size: 9px; font-weight: 800; letter-spacing: 0.09em; color: rgb(138, 138, 147); background: rgb(250, 250, 252); padding: 9px 14px; }
.inc-row { display: flex; align-items: center; gap: 11px; padding: 13px 14px; border-top: 1px solid rgb(244, 243, 248); }
.inc-card-ico { width: 17px; height: 12px; border-radius: 2.5px; border: 1.5px solid rgb(23, 21, 31); position: relative; flex-shrink: 0; }
.inc-card-ico::after { content: ""; position: absolute; left: -1.5px; right: -1.5px; top: 2.5px; height: 2.5px; background: rgb(23, 21, 31); }
.inc-name { flex: 1 1 0%; font-size: 12px; font-weight: 700; color: rgb(23, 21, 31); }
.inc-amt { font-size: 12px; font-weight: 700; color: rgb(23, 21, 31); }
@media (prefers-reduced-motion: reduce){.inc-1, .inc-2 { animation: auto ease 0s 1 normal none running none; }}
@media (prefers-reduced-motion: reduce){.inc-2 { opacity: 0; }}
@media (prefers-reduced-motion: reduce){.inc-1 { opacity: 1; }}
.gift-lab.strong { font-weight: 800; font-size: 13.5px; color: rgb(23, 21, 31); }
.pay-amt.strong { font-weight: 800; font-size: 13px; color: rgb(23, 21, 31); }
.itl-line b.neg { color: rgb(138, 95, 95); }
@keyframes be-1 { 
  0%, 45% { opacity: 1; }
  51%, 100% { opacity: 0; }
}
@keyframes be-2 { 
  0%, 45% { opacity: 0; }
  51%, 94% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes ca-a1 { 
  0%, 10% { opacity: 0; transform: translateY(12px); }
  13%, 96% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(0px); }
}
@keyframes ca-a2 { 
  0%, 26% { opacity: 0; transform: translateY(12px); }
  29%, 96% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(0px); }
}
@keyframes ca-a3 { 
  0%, 42% { opacity: 0; transform: translateY(12px); }
  45%, 96% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(0px); }
}
@keyframes ca-a4 { 
  0%, 58% { opacity: 0; transform: translateY(12px); }
  61%, 96% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(0px); }
}
@keyframes ca-a5 { 
  0%, 74% { opacity: 0; transform: translateY(12px); }
  77%, 96% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(0px); }
}
@keyframes ca-fade { 
  0% { opacity: 0; }
  3% { opacity: 1; }
  96% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes cb-add { 
  0%, 26% { background: rgb(62, 50, 115); }
  29%, 100% { background: rgb(111, 102, 216); }
}
@keyframes cb-slot { 
  0%, 46% { opacity: 0.25; }
  50%, 100% { opacity: 1; }
}
@keyframes inc-1 { 
  0%, 45% { opacity: 1; }
  51%, 100% { opacity: 0; }
}
@keyframes inc-2 { 
  0%, 45% { opacity: 0; }
  51%, 94% { opacity: 1; }
  100% { opacity: 0; }
}
/* Fit the chassis inside the 496px media panel with room above and below.
   zoom, not transform: transform leaves the full layout box behind, which
   overflowed the panel by 128px while looking correctly scaled. One zoom for
   all four panes, so the phone keeps its width between tabs; sized for the
   tallest chassis (the website editor, 654px) to clear the edges by ~45px. */
.gpane .bull-phone{zoom:.62;flex:0 0 auto;margin:auto}
@media(max-width:860px){.gpane .bull-phone{zoom:.48}}

/* Reduced motion for the ported bullshots. These carry nine infinite 11-12s
   loops. Note the base state of every animated step is opacity:0 with
   animation-fill-mode:none, so `animation:none` alone BLANKS the phone -
   each step has to be pinned to a visible resting state by hand. */
@media(prefers-reduced-motion:reduce){
  .bull-phone *,.bull-card *{animation:none!important}
  .cal-appt.ca-fade,.be-step.be-1,.inc-step.inc-1,.we-h.a{opacity:1!important}
  .be-step.be-2,.inc-step.inc-2,.we-h.b,.we-caret{opacity:0!important}
}

.bull-phone,.bull-card{--fg-2:#4A4A4A;--solo-ink:#111;--font-display:Juana,Georgia,serif}
.compare-table td.tick { color: var(--solo-ink); }
.compare-table td.tick svg { width: 18px; height: 18px; color: var(--solo-black); }
.faq-head .chev { color: var(--fg-3); transition: transform .16s var(--ease-out); }
.faq-head .chev svg { width: 14px; height: 14px; }
.faq-item.open .faq-head .chev { transform: rotate(180deg); }
.faq-item.open .faq-body { grid-template-rows: 1fr; }
.bull-stat .k { font-size: 10px; color: rgb(138, 138, 147); }
.bull-stat .v { font-size: 15px; font-weight: 700; color: rgb(23, 21, 31); font-variant-numeric: tabular-nums; }
.cp-tile .k { font-size: 10.5px; font-weight: 700; line-height: 1.3; }
.cp-tile .v { font-size: 21px; font-weight: 700; margin-top: 10px; }
.bull-lv.total .k, .bull-lv.total .v { font-weight: 700; color: rgb(23, 21, 31); font-size: 14px; }
.we-stars .n { font-size: 8.5px; color: rgb(138, 124, 119); }
@media (prefers-reduced-motion: reduce){}
@media (prefers-reduced-motion: reduce){}
@media (prefers-reduced-motion: reduce){}
@media (prefers-reduced-motion: reduce){}
@media (prefers-reduced-motion: reduce){}
.bull-msgrow .n .tt { display: block; font-size: 13px; font-weight: 700; color: rgb(23, 21, 31); }
.bull-msgrow .n .ss { display: block; font-size: 11.5px; color: rgb(138, 138, 147); margin-top: 2px; }
.lf-bar .seg { flex: 1 1 0%; height: 3px; border-radius: 999px; background: rgb(228, 226, 236); }
.lf-bar .s1 { animation: 20s linear 0s infinite normal none running lf-b1; }
.lf-bar .s2 { animation: 20s linear 0s infinite normal none running lf-b2; }
.lf-bar .s3 { animation: 20s linear 0s infinite normal none running lf-b3; }
.lf-bar .s4 { animation: 20s linear 0s infinite normal none running lf-b4; }
@media (prefers-reduced-motion: reduce){.lf-1, .lf-2, .lf-3, .lf-4, .lf-5, .lf-bar .seg { animation: auto ease 0s 1 normal none running none; }}
@media (prefers-reduced-motion: reduce){.lf-bar .seg { background: rgb(111, 102, 216); }}
.bull-msgrow .n { flex: 1 1 0%; font-size: 12.5px; color: rgb(38, 36, 46); }
.bull-msgrow .chev { font-size: 17px; color: rgb(194, 192, 204); line-height: 1; }
.bull-lv .k { font-size: 13px; font-weight: 700; color: rgb(23, 21, 31); }
.bull-lv .v { font-size: 13px; color: rgb(74, 74, 82); display: inline-flex; align-items: center; }
.bull-rowlink .chev { font-size: 19px; color: rgb(194, 192, 204); line-height: 1; }
.bull-field .k { font-size: 12.5px; font-weight: 700; color: rgb(23, 21, 31); }
.bull-field .v { font-size: 13px; line-height: 1.5; color: rgb(74, 74, 82); margin-top: 7px; }
.bull-field .v.muted { color: rgb(169, 167, 178); }
.st .k, .st-kw-label { font-size: 10.5px; color: rgb(138, 138, 147); }
.st .k.on-violet { color: rgb(111, 102, 216); font-weight: 700; }
.st .k.on-green { color: rgb(94, 158, 143); font-weight: 700; }
.st .v { font-size: 19px; font-weight: 700; color: rgb(23, 21, 31); margin-top: 3px; font-variant-numeric: tabular-nums; }
.testi-stat .v { font-family: var(--font-display); font-weight: 400; font-size: 26px; letter-spacing: -0.015em; color: var(--solo-ink); }
.testi-stat .k { font-size: 12.5px; color: var(--fg-3); margin-top: 2px; }
.tick-row .tick { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--fg-2); }
.tick-row .tick svg { width: 15px; height: 15px; color: var(--fg-3); }
.nav-mobile.open { display: flex; }
.nav-mobile.open { max-height: calc(-62px + 100dvh); overflow-y: auto; overscroll-behavior: contain; }
.nav-mobile-toggle .chev { flex-shrink: 0; color: var(--fg-3); transition: transform .2s var(--ease-out); }
.nav-mobile-group[open] > .nav-mobile-toggle .chev { transform: rotate(180deg); }
.cb-day.open::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 3px; background: rgb(111, 191, 138); }
.cb-terms .box { width: 15px; height: 15px; border: 1.5px solid rgb(62, 50, 115); flex-shrink: 0; }
.ps-bal .k { font-size: 11.5px; color: rgb(138, 138, 147); }
.ps-bal .v { font-size: 38px; font-weight: 700; letter-spacing: -0.015em; color: rgb(23, 21, 31); margin-top: 3px; line-height: 1; }
.ps-split .k { font-size: 10.5px; color: rgb(138, 138, 147); line-height: 1.3; }
.ps-split .v { font-size: 14px; font-weight: 700; color: rgb(23, 21, 31); margin-top: 4px; }
.gcb-amt .v { font-family: var(--font-display); font-weight: 400; font-size: 58px; line-height: 1; color: rgb(23, 21, 31); }
.gcb-amt .k { font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(169, 167, 178); margin-top: 14px; }
.mkr-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 60px; line-height: 1; color: rgb(23, 21, 31); }
.mkr-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 10px; }
.bet-tile .n { font-size: 11.5px; font-weight: 600; color: rgb(38, 36, 46); margin-top: 9px; }
.bst-tile .n { font-size: 11px; font-weight: 600; line-height: 1.3; color: rgb(38, 36, 46); }
.lyc-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 29px; line-height: 1.15; color: rgb(23, 21, 31); }
.lyc-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 7px; }
.lyc-reward .k { font-size: 11.5px; color: rgb(108, 106, 120); }
.lyc-reward .v { font-size: 15px; font-weight: 700; color: rgb(23, 21, 31); }
.rfc-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 29px; line-height: 1.15; color: rgb(23, 21, 31); }
.rfc-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 7px; }
.rfc-who .n { font-size: 13px; font-weight: 600; color: rgb(23, 21, 31); }
.stm-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 40px; line-height: 1.05; color: rgb(23, 21, 31); }
.stm-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 9px; }
.stm-leg .n { min-width: 74px; }
.stm-cell .k { font-size: 10.5px; color: rgb(124, 122, 136); }
.stm-cell .v { font-family: var(--font-display); font-weight: 400; font-size: 26px; line-height: 1; color: rgb(23, 21, 31); margin-top: 7px; }
.cwk-lead .v, .clv-lead .v, .srx-lead .v, .dsp-lead .v, .itl-lead .v, .pln-lead .v { font-family: var(--font-display); font-weight: 400; line-height: 1.12; color: rgb(23, 21, 31); }
.cwk-lead .k, .clv-lead .k, .srx-lead .k, .dsp-lead .k, .itl-lead .k, .pln-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 8px; }
.cwk-lead .v { font-size: 28px; }
.cwk-lbl .n { display: block; font-size: 11px; color: rgb(169, 167, 178); margin-top: 2px; }
.clv-lead .v { font-size: 40px; }
.clv-who .n { font-size: 13px; font-weight: 600; color: rgb(23, 21, 31); }
.srx-lead .v { font-size: 27px; }
.rrv-rate .v { font-family: var(--font-display); font-weight: 400; font-size: 56px; line-height: 1; color: rgb(23, 21, 31); }
.rrv-src .n { font-size: 12px; color: rgb(38, 36, 46); }
.dsp-lead .v { font-size: 30px; }
.dsp-side .k { font-size: 10.5px; color: rgb(124, 122, 136); }
.dsp-side .v { font-family: var(--font-display); font-weight: 400; font-size: 30px; line-height: 1; color: rgb(23, 21, 31); margin-top: 12px; }
.dsp-side.free .v { color: rgb(138, 138, 147); }
.itl-lead .v { font-size: 44px; font-variant-numeric: tabular-nums; }
.itl-l .n { font-size: 12.5px; color: rgb(38, 36, 46); }
.pln-lead .v { font-size: 46px; font-variant-numeric: tabular-nums; }
.bkn-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1.1; color: rgb(23, 21, 31); }
.bkn-lead .k { font-size: 11.5px; line-height: 1.5; color: rgb(108, 106, 120); margin-top: 9px; }
.bkn-who .n { font-size: 13px; font-weight: 600; color: rgb(23, 21, 31); }
.bkn-money .k { font-size: 11.5px; color: rgb(108, 106, 120); }
.afs-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 36px; line-height: 1.1; color: rgb(23, 21, 31); }
.afs-lead .k { font-size: 11.5px; color: rgb(108, 106, 120); margin-top: 9px; }
.spg-lead .v { font-family: var(--font-display); font-weight: 400; font-size: 26px; line-height: 1.12; color: rgb(23, 21, 31); }
.spg-lead .k { font-size: 11.5px; line-height: 1.5; color: rgb(108, 106, 120); margin-top: 9px; }
.lcd-lead .v, .pol-lead .v, .thx-lead .v { font-family: var(--font-display); font-weight: 400; line-height: 1.12; color: rgb(23, 21, 31); }
.lcd-lead .k, .pol-lead .k, .thx-lead .k { font-size: 11.5px; line-height: 1.5; color: rgb(108, 106, 120); margin-top: 9px; }
.lcd-lead .v { font-size: 28px; }
.lcd-place .n { font-size: 12.5px; font-weight: 600; color: rgb(23, 21, 31); }
.pol-lead .v { font-size: 29px; }
.pol-row .n { font-size: 12.5px; font-weight: 600; color: rgb(23, 21, 31); }
.pol-signed .n { font-size: 12.5px; font-weight: 600; color: rgb(23, 21, 31); }
.thx-lead .v { font-size: 34px; }
.faq-item[data-astro-cid-z6gx6xcw][open] > .faq-head[data-astro-cid-z6gx6xcw] .chev[data-astro-cid-z6gx6xcw] { transform: rotate(180deg); }

@keyframes lf-b1 { 
  0%, 100% { background: rgb(111, 102, 216); }
}
@keyframes lf-b2 { 
  0%, 39% { background: rgb(228, 226, 236); }
  40%, 100% { background: rgb(111, 102, 216); }
}
@keyframes lf-b3 { 
  0%, 59% { background: rgb(228, 226, 236); }
  60%, 100% { background: rgb(111, 102, 216); }
}
@keyframes lf-b4 { 
  0%, 79% { background: rgb(228, 226, 236); }
  80%, 100% { background: rgb(111, 102, 216); }
}

/* ---- 'Get found online': website editor (from /websites) ---- */
.phone-biz .menu { width: 12px; height: 10px; border-top: 2px solid var(--solo-ink); border-bottom: 2px solid var(--solo-ink); position: relative; }
.phone-biz .menu::after { content: ""; position: absolute; left: 0px; top: 3px; width: 100%; height: 0px; border-top: 2px solid var(--solo-ink); }
.av-col.a { background: rgba(155, 195, 219, 0.34); }
.av-col.b { background: rgba(151, 202, 173, 0.32); }
.av-key .sw.a { background: rgb(155, 195, 219); }
.av-key .sw.b { background: rgb(151, 202, 173); }
.we { flex: 1 1 0%; display: flex; flex-direction: column; background: rgb(255, 255, 255); }
.we-site { flex: 1 1 0%; background: rgb(251, 247, 244); padding: 0px 0px 10px; position: relative; }
.we-top { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px 10px; }
.we-brand { font-size: 9.5px; font-weight: 800; letter-spacing: 0.11em; color: rgb(58, 47, 44); }
.we-burger { font-size: 13px; line-height: 1; color: rgb(58, 47, 44); border: 1px solid rgb(207, 195, 189); border-radius: 7px; padding: 3px 6px; }
.we-head { position: relative; text-align: center; padding: 6px 18px 0px; min-height: 34px; }
.we-h { display: block; font-size: 15.5px; font-weight: 800; letter-spacing: 0.02em; line-height: 1.2; color: rgb(58, 47, 44); }
.we-h.b { position: absolute; left: 18px; right: 18px; top: 6px; opacity: 0; }
.we-h.a { animation: we-ha 5s var(--ease-out) infinite; }
.we-h.b { animation: we-hb 5s var(--ease-out) infinite; }
.we-caret { position: absolute; top: 8px; left: 50%; width: 1.5px; height: 15px; background: rgb(91, 81, 200); opacity: 0; animation: 5s steps(1) 0s infinite normal none running we-caret; }
.we-sub { text-align: center; font-size: 9.5px; color: rgb(122, 108, 103); padding: 5px 20px 0px; }
.we-frame { margin: 11px 16px 0px; border: 4px solid rgb(255, 255, 255); box-shadow: rgba(17, 17, 17, 0.1) 0px 1px 5px; }
.we-img { display: block; height: 150px; background-size: cover; background-position: center center; }
.we-btns { display: flex; gap: 8px; padding: 12px 16px 0px; }
.we-btn { flex: 1 1 0%; text-align: center; font-size: 10px; font-weight: 700; padding: 9px 0px; border-radius: 6px; }
.we-btn.line { border: 1px solid rgb(185, 170, 164); color: rgb(58, 47, 44); }
.we-btn.fill { background: rgb(253, 247, 245); border: 1px solid rgb(234, 223, 218); color: rgb(58, 47, 44); }
.we-stars { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 0px 0px; }
.we-sect { font-size: 10px; font-weight: 800; letter-spacing: 0.09em; color: rgb(58, 47, 44); padding: 16px 16px 0px; }
.we-list { padding: 8px 16px 0px; display: flex; flex-direction: column; gap: 7px; }
.we-item { display: flex; align-items: baseline; justify-content: space-between; background: rgb(255, 255, 255); border: 1px solid rgb(240, 230, 225); border-radius: 9px; padding: 9px 11px; }
.we-item b { font-size: 10px; font-weight: 700; color: rgb(58, 47, 44); }
.we-item i { font-size: 8.5px; font-style: normal; color: rgb(138, 124, 119); }
.we-fab { position: absolute; top: 116px; right: 26px; width: 27px; height: 27px; border-radius: 999px; background: rgb(255, 255, 255); color: rgb(91, 81, 200); display: flex; align-items: center; justify-content: center; box-shadow: rgba(17, 17, 17, 0.18) 0px 2px 8px; animation: we-fab 5s var(--ease-out) infinite; }
.we-bar { display: flex; align-items: stretch; padding: 7px 4px 3px; background: rgb(255, 255, 255); border-top: 1px solid rgb(240, 238, 246); }
.we-tab { flex: 1 1 0%; display: flex; flex-direction: column; align-items: center; gap: 3px; color: rgb(91, 81, 200); padding: 6px 0px 5px; border-radius: 10px; }
.we-lab { font-size: 8.5px; font-weight: 600; color: rgb(74, 69, 80); }
.we-tab.undo { animation: we-undo 5s var(--ease-out) infinite; }
@media (prefers-reduced-motion: reduce){.we-h.a, .we-h.b, .we-caret, .we-fab, .we-tab.undo { animation: auto ease 0s 1 normal none running none; }}
@media (prefers-reduced-motion: reduce){.we-h.a { opacity: 1; }}
@media (prefers-reduced-motion: reduce){.we-h.b, .we-caret { opacity: 0; }}
.lf-map .rd.a { left: -10%; top: 34%; width: 120%; height: 7px; transform: rotate(-14deg); }
.lf-map .rd.b { left: 46%; top: -10%; width: 7px; height: 120%; transform: rotate(9deg); }
.rfc-gets .a { font-size: 14.5px; font-weight: 700; color: rgb(91, 81, 200); }
.bkn-money .a { margin-left: auto; display: inline-flex; align-items: baseline; gap: 7px; }
@keyframes we-ha { 
  0%, 26% { opacity: 1; }
  32%, 76% { opacity: 0; }
  82%, 100% { opacity: 1; }
}
@keyframes we-hb { 
  0%, 26% { opacity: 0; }
  32%, 76% { opacity: 1; }
  82%, 100% { opacity: 0; }
}
@keyframes we-caret { 
  0%, 20% { opacity: 0; }
  22% { opacity: 1; }
  24% { opacity: 0; }
  26% { opacity: 1; }
  30% { opacity: 1; }
  32%, 100% { opacity: 0; }
}
@keyframes we-fab { 
  0%, 12% { transform: scale(1); }
  18% { transform: scale(0.86); }
  26%, 100% { transform: scale(1); }
}
@keyframes we-undo { 
  0%, 66% { background: transparent; }
  72%, 84% { background: rgb(237, 235, 250); }
  90%, 100% { background: transparent; }
}

/* 03 matches 02's heading scale exactly. Without this it falls through to the
   base h2 (clamp 38/4.3vw/60) and renders ~30% larger than the thesis above it. */

/* hyphenated compounds must not break across lines */
.nb{white-space:nowrap}

/* 04 matched to 02's heading scale; it was falling through to the base h2
   (clamp 38/4.3vw/60) and rendering far larger than the sections around it. */


/* traction carries six stats now, and matches the 02-05 heading scale */
.proof-strip.six{grid-template-columns:repeat(3,1fr);row-gap:40px}

@media(max-width:860px){.proof-strip.six{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.proof-strip.six{grid-template-columns:1fr}}

/* 06 matches the 02-05 heading scale; it was falling through to the base 60px */
#economics h2{max-width:22ch}
.economics-grid.solo{grid-template-columns:1fr}

/* ---- 07 The market ---- */

.mkt-split{display:flex;gap:3px;border-radius:var(--r-lg);overflow:hidden;margin-bottom:8px}
.mkt-split>div{padding:22px 26px;display:flex;flex-direction:column;gap:7px;min-width:0}
.ms-a{flex:93500 1 0;background:var(--bone)}
.ms-b{flex:32200 1 0;background:var(--sage-soft)}
.mkt-split strong{font:clamp(32px,3.6vw,46px)/1 var(--serif)}
.ms-b strong{color:var(--sage-deep)}
.mkt-split span{font-size:14px;line-height:1.45;color:var(--ink-2)}
.mkt-chan{margin-top:26px}
.mc{display:grid;grid-template-columns:270px 1fr 96px;gap:24px;align-items:center;
  padding:12px 0;border-top:1px solid var(--hair)}
.mc-l b{display:block;font-size:15px;font-weight:600}
.mc-p{display:block;font-size:12.5px;color:var(--ink-3);margin-top:4px;line-height:1.45}
.mc-bar{height:24px;background:var(--bone);border-radius:5px;overflow:hidden}
.mc-bar i{display:block;height:100%;background:var(--sage);border-radius:5px}
.mc.us .mc-bar i{background:var(--sage-deep)}
.mc-n{font:26px/1 var(--serif);text-align:right}

/* ---- 08 How we target it ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:44px}
.step{padding-top:20px;border-top:2px solid var(--sage)}
.step b{display:block;font:24px/1.2 var(--serif);font-weight:400;margin-bottom:9px}
.step span{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.route{padding:28px;border:var(--bd-hair);border-radius:var(--r-lg);background:var(--bone)}
.route:last-child{background:var(--sage-soft);border-color:var(--sage-edge)}
.r-seg{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.route strong{display:block;font:clamp(34px,3.4vw,44px)/1 var(--serif);margin:14px 0 14px}
.route p{font-size:14.5px;line-height:1.5}
@media(max-width:860px){
  .mkt-split{flex-direction:column}
  .mc{grid-template-columns:1fr 84px;gap:8px 18px}
  .mc-bar{grid-column:1/3;order:3}
  .steps,.routes{grid-template-columns:1fr;gap:20px}
}
#market{padding:84px 0}

.funnel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:8px}
.fn{padding:24px 26px;background:var(--bone);border:var(--bd-hair);border-radius:var(--r-lg)}
.fn.go{background:var(--sage-soft);border-color:var(--sage-edge)}
.fn strong{display:block;font:clamp(32px,3.4vw,44px)/1 var(--serif);margin-bottom:12px}
.fn.go strong{color:var(--sage-deep)}
.fn b{display:block;font-size:14.5px;font-weight:600;line-height:1.4;margin-bottom:5px}
.fn span{font-size:12.5px;color:var(--ink-3)}
.routes.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.funnel,.routes.two{grid-template-columns:1fr}}

/* 07 category share */
.share{display:flex;gap:3px;height:112px;border-radius:var(--r-lg);overflow:hidden}
.sg{display:flex;flex-direction:column;justify-content:center;padding:0 18px;min-width:0;overflow:hidden}
.sg b{font:30px/1 var(--serif);font-weight:400}
.sg span{font-size:12.5px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg.s1{background:var(--sage);color:#fff} .sg.s2{background:var(--sage-deep);color:#fff}
.sg.s3{background:var(--sage-edge)} .sg.s4{background:var(--bone)} .sg.us{background:var(--ink);color:#fff}
.sg.us b{font-size:22px} .sg.us span{display:none}
.shlegend{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:22px}
.lg{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--hair);padding-top:14px}
.lg i{width:11px;height:11px;border-radius:3px;flex:0 0 auto;margin-top:4px}
.lg i.s1{background:var(--sage)} .lg i.s2{background:var(--sage-deep)}
.lg i.s3{background:var(--sage-edge)} .lg i.s4{background:var(--bone);border:1px solid var(--hair)}
.lg i.us{background:var(--ink)}
.lg b{display:block;font-size:13.5px;font-weight:600;line-height:1.35}
.lg span{display:block;font-size:12px;color:var(--ink-3);margin-top:4px;line-height:1.45}
.lg em{margin-left:auto;font:15px var(--serif);font-style:normal;color:var(--ink-2)}
.compare-table.diff td:last-child,.compare-table.diff th:last-child{background:var(--sage-soft)}
.compare-table.diff td:nth-child(3),.compare-table.diff th:nth-child(3){background:transparent}
@media(max-width:860px){.shlegend{grid-template-columns:1fr 1fr}.share{height:96px}.sg b{font-size:24px}}

/* taller share bar: every label lives inside its own segment */
.share.tall{height:auto;min-height:214px;align-items:stretch}
.share.tall .sg{justify-content:flex-start;padding:22px 20px;gap:0;
  min-width:0}
.share.tall .sg b{font:34px/1 var(--serif);font-weight:400}
.share.tall .sg-n{display:block;font-size:14px;font-weight:600;margin-top:12px;line-height:1.3}
.share.tall .sg-p{display:block;font-size:12px;margin-top:8px;line-height:1.5;opacity:.82;white-space:normal}
.share.tall .sg em{display:block;margin-top:auto;font:20px var(--serif);font-style:normal;opacity:.9}
.share.tall .sg.us b{font-size:20px}
.share.tall .sg.us .sg-n{display:block;font-size:11.5px;margin-top:8px}
.share.tall .sg.us .sg-p{display:none}
.share.tall .sg.us{padding:22px 14px}
.share.tall .sg.us em{font-size:13px}
@media(max-width:860px){
  .share.tall{flex-direction:column;min-height:0}
  .share.tall .sg{flex:none!important;min-width:0;padding:16px 18px}
  .share.tall .sg em{margin-top:10px}
  .share.tall .sg.us .sg-p{display:block}
}
.chart-title{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}

/* the two targets read as one group; the marketplace recedes */
.share.tall .sg.t1{background:var(--sage-deep);color:#fff}
.share.tall .sg.t2{background:var(--sage);color:#fff}
.share.tall .sg.other{background:var(--bone);color:var(--ink)}

/* 08 capability grid */
.grid-compare{width:100%;border-collapse:collapse;font-size:14.5px}
.grid-compare th,.grid-compare td{padding:15px 14px;border-bottom:1px solid var(--hair)}
.grid-compare thead th{font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);text-align:center;vertical-align:bottom;line-height:1.4;background:var(--bone)}
.grid-compare thead th:first-child{text-align:left}
.grid-compare tbody th{text-align:left;font-weight:400;color:var(--ink);width:34%;font-size:14.5px;text-transform:none;letter-spacing:0;background:transparent}
.grid-compare .gc{text-align:center;width:16.5%}
.grid-compare .me{background:var(--sage-soft)}
.grid-compare thead th.me{background:var(--sage-edge);color:var(--sage-deep)}
.gc i,.gc-key i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;font:700 14px/1 var(--sans);vertical-align:middle}
.gc i.y,.gc-key i.y{background:var(--sage-deep);color:#fff}
.gc i.p,.gc-key i.p{background:#F3E4CE;color:#8A5F2E;font-size:16px}
.gc i.n,.gc-key i.n{background:#F4E4DE;color:#A5523A;font-size:15px}
.gc-key i{width:20px;height:20px;font-size:11px}
.gc-key i.p{font-size:13px}.gc-key i.n{font-size:10px}
.grid-compare tr.usp+tr:not(.usp)>*{border-top:1px solid var(--ink-4)}
.grid-compare .gc{position:relative}
.vh{position:absolute;left:0;top:0;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.gc-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px;
  font-size:12.5px;color:var(--ink-3)}
.gc-key i{margin-left:14px}
.gc-key i:first-child{margin-left:0}
@media(max-width:760px){.grid-compare{min-width:620px}}

.grid-compare tr.usp th{font-weight:600;box-shadow:inset 3px 0 0 var(--sage-deep);padding-left:18px}
.grid-compare tr.usp td{background:rgba(100,110,89,.05)}
.grid-compare tr.usp td.me{background:var(--sage-soft)}
.usp-tag{display:inline-block;margin-left:10px;font:700 9px var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--sage-deep);background:var(--sage-soft);
  border-radius:var(--r-pill);padding:3px 8px;vertical-align:2px}
@media(max-width:760px){.usp-tag{display:none}}


/* ---- Note popover: a marker beside a figure, explanation on demand ---- */
.nt{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;
  margin-left:5px;padding:0;border:1px solid var(--sage-edge);border-radius:50%;
  background:var(--sage-soft);color:var(--sage-deep);font:600 10px/1 var(--sans);
  vertical-align:super;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}
.nt:hover,.nt[aria-expanded="true"]{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}
.dark .nt{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
.dark .nt:hover,.dark .nt[aria-expanded="true"]{background:#fff;color:var(--ink)}
.nt-pop{position:absolute;z-index:80;max-width:320px;background:var(--ink);color:#fff;
  border-radius:var(--r-lg);padding:14px 16px;font:400 13px/1.5 var(--sans);
  box-shadow:0 10px 30px rgba(17,17,17,.22);opacity:0;transform:translateY(-4px);
  pointer-events:none;transition:opacity .16s var(--ease),transform .16s var(--ease)}
.nt-pop.on{opacity:1;transform:translateY(0);pointer-events:auto}
.nt-pop b{display:block;font-weight:600;margin-bottom:5px}
@media(prefers-reduced-motion:reduce){.nt-pop{transition:none}}

/* full-width figures band, directly under the hero */
.statband{background:var(--ink);color:#fff;padding:54px 0}
.sb{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.sb>div{border-top:1px solid rgba(255,255,255,.22);padding-top:22px}
.sb strong{display:block;font:clamp(40px,4.4vw,62px)/1 var(--serif);font-weight:400;
  letter-spacing:-.02em}
.sb span{display:block;margin-top:14px;font-size:14px;color:rgba(255,255,255,.66)}
@media(max-width:860px){.sb{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.sb{grid-template-columns:1fr;gap:22px}.statband{padding:38px 0}}

/* ---- Hero: scattered customer field ---- */
.hero .stage{position:relative;min-height:680px;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.stage-mid{position:relative;z-index:3;text-align:center}
.stage-mid .motion-rise{max-width:660px;margin:0 auto;
  background:radial-gradient(ellipse 78% 70% at 50% 50%,
    var(--white) 0 52%,rgba(255,255,255,.92) 68%,rgba(255,255,255,0) 100%);
  padding:46px 30px}
.stage-mid h1{font-size:clamp(40px,5.2vw,72px);max-width:none;margin:0 auto}
.stage-mid .lede{margin:22px auto 0;max-width:44ch}
.stage-mid .actions{justify-content:center}
.utile{position:absolute;margin:0;padding:0;border:0;background:#fff;border-radius:16px;
  overflow:hidden;box-shadow:0 14px 34px rgba(17,17,17,.15);
  transform:rotate(var(--r)) translate3d(var(--x,0),var(--y,0),0);
  transition:box-shadow .22s var(--ease),transform .5s var(--ease);will-change:transform}
.utile img,.utile video{width:100%;display:block;aspect-ratio:9/14;object-fit:cover;background:var(--bone)}
.utile.uv{cursor:pointer}
.utile.uv:hover,.utile.uv:focus-visible{box-shadow:0 20px 44px rgba(17,17,17,.24)}
.utile:not(.uv){opacity:.52;filter:saturate(.55)}
.u-play{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;
  box-shadow:0 2px 8px rgba(17,17,17,.12);transition:transform .2s var(--ease)}
.utile.uv:hover .u-play{transform:scale(1.1)}
@media(max-width:1100px){.utile{width:118px!important}.stage-mid .motion-rise{padding:36px 18px}}
@media(max-width:760px){
  /* laid out as a grid: three tiles across the top, text beneath. Left as
     absolute blocks they stacked full-width at 9:14 and ran to 2,371px. */
  .hero .stage{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);
    gap:10px;padding:0 20px;align-items:start}
  .utile{display:none}
  .utile:nth-child(-n+3){display:block;position:static;width:auto!important;
    transform:none;box-shadow:0 8px 20px rgba(17,17,17,.13)}
  .utile:not(.uv){display:none}
  .stage-mid{grid-column:1/-1;text-align:left;margin-top:30px}
  .stage-mid .motion-rise{background:none;padding:0;max-width:none}
  .stage-mid h1{margin:0}.stage-mid .lede{margin-left:0}
  .stage-mid .actions{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.utile{transition:none}}

/* merged: profit swing inside Traction */
#traction .finance-grid{margin-top:40px}
.proof-strip.two{grid-template-columns:repeat(2,1fr);margin-top:30px}
/* merged: the prize panel inside The model */
.prize{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  border-radius:var(--r-lg);padding:44px 48px;margin:40px 0 10px}
.prize .scale-number{font-size:clamp(64px,7vw,104px);margin:6px 0 12px}
.prize .eyebrow{margin-bottom:6px}
@media(max-width:860px){.prize{grid-template-columns:1fr;gap:28px;padding:30px 24px}
  .proof-strip.two{grid-template-columns:1fr}}
.position-line{font:clamp(19px,1.7vw,23px)/1.45 var(--serif);color:var(--ink);max-width:44ch;margin:34px 0 14px;padding-left:18px;border-left:3px solid var(--sage-deep)}
.proof-strip.four{grid-template-columns:repeat(4,1fr);margin-top:46px}
@media(max-width:860px){.proof-strip.four{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.proof-strip.four{grid-template-columns:1fr}}

/* 04 the vision: spend software can reach, before and after AI */
.vt{width:100%;border-collapse:collapse;margin-top:6px}
.vt th,.vt td{padding:15px 18px;border-bottom:1px solid var(--hair);text-align:left;font-size:15px;
  text-transform:none;letter-spacing:0;background:transparent;color:var(--ink);font-weight:400}
.vt thead th{font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);background:var(--bone);vertical-align:bottom}
.vt thead th:not(:first-child){text-align:right}
.vt thead th.aft{background:var(--sage-edge);color:var(--sage-deep)}
.vt tbody th{font-weight:600}
.vt td.b,.vt td.a{text-align:right;font:22px var(--serif);width:22%}
.vt td.a{background:var(--sage-soft)}
.vt tr.ppl td.a{color:#9A6A3A}
.vt tbody tr th::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;
  margin-right:12px;vertical-align:1px}
.vt tr.sw th::before{background:var(--sage)} .vt tr.ppl th::before{background:#C79A6B}
.vt .nil{color:var(--ink-4)}
.vt tfoot th,.vt tfoot td{border-top:2px solid var(--ink);border-bottom:0;font-weight:600}
.vt tfoot td.b,.vt tfoot td.a{font:28px var(--serif)}
.vt tfoot td.a{color:var(--sage-deep)}
.vkey{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--ink-3)}
.vkey .k{width:9px;height:9px;border-radius:2px;display:inline-block}
.vkey .k.sw{background:var(--sage)} .vkey .k.ppl{background:#C79A6B}
@media(max-width:760px){.vt th,.vt td{padding:12px 10px;font-size:13.5px}
  .vt td.b,.vt td.a{font-size:18px;width:auto} .vt tfoot td.b,.vt tfoot td.a{font-size:21px}
  .vt tbody tr th::before{margin-right:8px}}

.vt tbody th,.vt tbody td,.vt tfoot th,.vt tfoot td{padding-top:12px;padding-bottom:12px}
/* the old economics table forces .table-scroll tables to 590px on phones;
   this one is three columns and should fit the screen */
@media(max-width:760px){.table-scroll .vt{min-width:0}}
.vkey{gap:6px 20px}.vkey span{display:inline-flex;align-items:center;gap:8px}

/* 05 the model: headline left, vertical bars right */
.model-split{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.ms-text .source{display:block;margin-top:28px;max-width:52ch}
.vbars{display:flex;align-items:stretch;justify-content:center;gap:56px;height:440px}
.vbar{display:flex;flex-direction:column;align-items:center;width:132px}
.vb-col{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;border-bottom:1px solid var(--ink)}
.vb-col i{display:block;width:100%;background:var(--sage);border-radius:10px 10px 0 0;min-height:4px}
.vbar.big .vb-col i{background:var(--sage-deep)}
.vb-val{font:30px/1 var(--serif);margin-bottom:12px;color:var(--ink)}
.vbar.big .vb-val{font-size:48px;color:var(--sage-deep)}
.vb-lab{margin-top:14px;font-size:13.5px;line-height:1.4;color:var(--ink-3);text-align:center}
@media(max-width:860px){.model-split{grid-template-columns:1fr;gap:40px}
  .vbars{height:320px;gap:40px}.vbar{width:110px}.vbar.big .vb-val{font-size:38px}}

/* 06: salon count sits beside its share; nothing pinned to the foot any more */
.share.tall{min-height:0}
.share.tall .sg{padding:24px 22px 26px}
.sg-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sg-cnt{font:19px/1 var(--serif);opacity:.78;white-space:nowrap}
.share.tall .sg-n{margin-top:14px}
.share.tall .sg .sg-top{margin-top:0;overflow:visible;font-size:inherit;white-space:normal}
.share.tall .sg .sg-cnt{font:19px/1 var(--serif);margin-top:0;overflow:visible}

/* --- vision: AI-led services band above the agents --- */
.svc-band{border:1px solid #E4D2BA;background:#F7ECDD;border-radius:var(--r-lg);padding:20px 24px 22px}
.svc-band .lab{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#8A5F2E;margin-bottom:13px}
.svc-band .lab em,.slab-base .lab em{font-style:normal;letter-spacing:0;text-transform:none;font-weight:400;font-size:12px;margin-left:10px;opacity:.8}
.svc{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E4D2BA;border-radius:var(--r-lg);padding:16px 20px;flex-wrap:wrap}
.svc b{font:400 21px/1.1 var(--serif);color:#8A5F2E;flex:1 1 auto}
.svc .a-ic{width:32px;height:32px;background:#FCF6EE}
/* bands bookend the stack; the middle tiers sit inset so every column lines up with the service cards */
.slab>.tier-a,.slab>.tier-w,.slab>.wires,.slab>.tier-lab{margin-left:24px;margin-right:24px}
.slab.go .tier-a~.wires>span>i{animation-delay:.17s}
.slab.go .tier-a~.wires>span:nth-child(2)>i{animation-delay:.51s}
.slab.go .tier-a~.wires>span:nth-child(3)>i{animation-delay:.85s}
.slab.go .tier-w~.wires>span>i{animation-delay:.34s}
.slab.go .tier-w~.wires>span:nth-child(2)>i{animation-delay:.68s}
.slab.go .tier-w~.wires>span:nth-child(3)>i{animation-delay:1.02s}
@media(max-width:760px){.slab>.tier-a,.slab>.tier-w,.slab>.tier-lab{margin-left:0;margin-right:0}.svc b{font-size:19px}.svc-band{padding:16px}.slab-base{margin-top:16px}.svc-band .lab em,.slab-base .lab em{display:block;margin:4px 0 0}}

/* --- 09 plan: gantt --- */
.gantt{--n:5;--gut:300px;margin-top:8px}
.gt-head,.gt-row{display:grid;grid-template-columns:var(--gut) 1fr;align-items:center}
.gt-cols{display:grid;grid-template-columns:repeat(var(--n),1fr);border-bottom:1px solid var(--ink)}
.gt-cols span{padding:0 0 12px 12px;font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.gt-cols span+span{border-left:1px solid var(--hair)}
.gt-cols i{display:none;font-style:normal}
.gt-row{border-bottom:1px solid var(--hair)}
.gt-lab{padding:18px 24px 18px 0}
.gt-lab b{display:block;font:400 22px/1.15 var(--serif);color:var(--ink)}
.gt-lab span{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-3);margin-top:4px}
.gt-track{position:relative;align-self:stretch;min-height:74px;
  background-image:linear-gradient(to right,var(--hair) 1px,transparent 1px);background-size:calc(100% / var(--n)) 100%}
.gt-bar{position:absolute;top:50%;height:30px;transform:translateY(-50%);border-radius:var(--r-xs);
  left:calc(var(--from) / var(--n) * 100%);width:calc((var(--to) - var(--from)) / var(--n) * 100%);
  display:flex;align-items:center;font-style:normal}
.gt-bar.now{background:var(--sage-deep)}
.gt-bar.next{background:var(--sage)}
.gt-bar.plan{background:#F3E4CE;border:1px dashed #C79A6B}
.gt-bar em{font-style:normal;font:600 11.5px var(--sans);white-space:nowrap;padding:0 12px;color:#fff}
.gt-bar.plan em{color:#8A5F2E}
.gt-key{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;margin:18px 0 0;font-size:12.5px;color:var(--ink-3)}
.gt-key span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.gt-key i{display:inline-block;width:18px;height:10px;border-radius:3px}
.gt-key i.now{background:var(--sage-deep)}.gt-key i.next{background:var(--sage)}
.gt-key i.plan{background:#F3E4CE;border:1px dashed #C79A6B}
@media(max-width:760px){.gantt{--gut:132px}.gt-lab{padding:14px 12px 14px 0}.gt-lab b{font-size:17px}.gt-lab span{display:none}
  .gt-cols span{padding:0 0 10px 6px;letter-spacing:.06em}.gt-cols b{display:none}.gt-cols i{display:inline}
  .gt-track{min-height:58px}.gt-bar{height:22px}.gt-bar em{display:none}}

/* --- hero UGC player: portrait frame over a frosted white backdrop --- */
dialog.ugc-modal{width:fit-content;height:fit-content;inset:0;margin:auto;max-width:none;max-height:none;padding:0;border:0;background:transparent;overflow:visible;
  display:none;align-items:center;gap:28px}
dialog.ugc-modal[open]{display:flex;animation:ugc-in .32s var(--ease)}
dialog.ugc-modal::backdrop{background:rgba(250,248,245,.74);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1)}
.ugc-frame{margin:0;display:flex;flex-direction:column;align-items:center}
.ugc-frame video{height:min(76vh,720px);aspect-ratio:9/16;width:auto;object-fit:cover;background:#111;border-radius:22px;
  box-shadow:0 30px 80px rgba(17,17,17,.22),0 0 0 1px rgba(17,17,17,.06)}
.ugc-frame figcaption{margin-top:18px;text-align:center}
.ugc-frame b{display:block;font:400 24px/1.1 var(--serif);color:var(--ink)}
.ugc-frame span{display:block;margin-top:5px;font-size:13.5px;color:var(--ink-3)}
.ugc-close{position:fixed;top:22px;right:22px;width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;
  background:#fff;border:1px solid var(--hair);color:var(--ink);box-shadow:0 6px 18px rgba(17,17,17,.1);cursor:pointer}
.ugc-nav{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;cursor:pointer;
  background:#fff;border:1px solid var(--hair);color:var(--ink);box-shadow:0 6px 18px rgba(17,17,17,.1);transition:transform .2s var(--ease)}
.ugc-nav:hover,.ugc-close:hover{transform:scale(1.06)}
.ugc-nav:focus-visible,.ugc-close:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
@keyframes ugc-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:760px){dialog.ugc-modal{gap:0}.ugc-frame video{height:min(70vh,640px);max-width:88vw}
  .ugc-nav{position:fixed;bottom:22px}.ugc-nav.prev{left:22px}.ugc-nav.next{right:22px}.ugc-close{top:14px;right:14px}}
@media(prefers-reduced-motion:reduce){dialog.ugc-modal[open]{animation:none}}
.grid-compare thead th small{display:block;margin-top:6px;font:400 12px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.grid-compare thead th.me small{color:var(--sage-deep)}

/* 07 market: four estimated segments, darkest first, the no-system slice hatched */
.share.tall.mk .sg{padding:24px 22px}
.share.tall.mk .sg.k-m{background:var(--sage-deep);color:#fff}
.share.tall.mk .sg.k-l{background:var(--sage);color:#fff}
.share.tall.mk .sg.k-g{background:var(--sage-edge);color:var(--sage-deep)}
.share.tall.mk .sg.k-n{background:repeating-linear-gradient(135deg,var(--bone) 0 8px,#EFEBE3 8px 16px);color:var(--ink)}

/* --- 09 the prize: sliders left, run-rate and penetration right --- */
#prize h2{max-width:22ch}
.pz{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:44px;align-items:stretch}
.pz-controls{display:flex;flex-direction:column;justify-content:center;gap:34px}
.pz-ctl label{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:14px;color:rgba(255,255,255,.72)}
.pz-ctl output{font:30px var(--serif);color:#fff}
.pz-ctl input{width:100%;accent-color:#96a088;margin:18px 0 10px;cursor:pointer}
.pz-out{border:1px solid #2a2a2a;border-radius:var(--r-xl);background:#141414;padding:34px 34px 30px}
.pz-lab{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:0}
.pz-rev{font:400 clamp(64px,7.5vw,112px)/1 var(--serif);color:#fff;margin:14px 0 28px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pz-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:24px;border-top:1px solid #2e2e2e}
.pz-tile{border:1px solid #2e2e2e;border-radius:var(--r-lg);padding:16px 18px;background:#1b1b1b}
.pz-tl{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(255,255,255,.7)}
.pz-tile b{display:block;font:400 38px/1.1 var(--serif);color:#C3CBB5;margin:10px 0 4px;font-variant-numeric:tabular-nums}
.pz-tile small{font-size:12px;color:rgba(255,255,255,.5)}
#prize .source{margin-top:22px}
@media(max-width:860px){.pz{grid-template-columns:1fr;gap:30px}.pz-out{padding:26px 22px}.pz-tile b{font-size:30px}}
@media(max-width:420px){.pz-tiles{grid-template-columns:1fr}}
.pz-ctl input:focus{outline:none}
.pz-ctl input:focus-visible{outline:2px solid #96a088;outline-offset:6px;border-radius:6px}

/* ===================== v2 storyline ===================== */
/* placeholders Rider has to fill */
.ph{display:inline;background:#FBF1D9;color:#8A5F2E;border:1px dashed #D9B25F;border-radius:4px;padding:0 5px;font-style:normal;white-space:nowrap}
.dark .ph{background:rgba(217,178,95,.16);color:#E8C77E;border-color:rgba(217,178,95,.6)}
h2 .ph{font-size:.8em;vertical-align:.08em}
.stage-mid .actions .ph{font-size:11.5px;margin-left:10px;align-self:center}

/* 01 built: traction strip sits between heading and product */
#built .proof-strip.six{margin:10px 0 56px}

/* 02 why now: table left, bars right */
.why-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:start;margin-top:8px}
.why-r .vbars{height:360px;gap:36px}
.why-r .chart-title{margin-bottom:26px}
.why-r .source{display:block;margin-top:18px}
@media(max-width:960px){.why-grid{grid-template-columns:1fr;gap:44px}.why-r .vbars{height:300px}}

/* 04 market and edge */
.edge-title{margin-top:64px}

/* 06 plan: seven columns, lanes, milestones */
.gantt.g7{--n:7;--gut:280px}
.gt-lane{padding:22px 0 6px;font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);border-bottom:1px solid var(--ink)}
.gantt.g7 .gt-track{min-height:62px}
.gantt.g7 .gt-lab{padding:12px 20px 12px 0}
.gantt.g7 .gt-lab b{font-size:18px}
.gantt.g7 .gt-lab span{font-size:12.5px}
.gt-bar.ph{background:#FBF1D9;border:1px dashed #D9B25F}
.gt-bar.ph em{color:#8A5F2E}
.gt-miles .gt-track{min-height:76px}
.gt-ms{position:absolute;top:50%;left:calc(var(--at) / var(--n) * 100%);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:150px;text-align:center}
.gt-ms:last-child{transform:translate(-100%,-50%);align-items:flex-end;text-align:right}
.gt-ms i{width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.gt-ms.is-ph i{background:#D9B25F}
.gt-ms em{font:600 11.5px/1.35 var(--sans);font-style:normal;color:var(--ink)}
.gt-key i.ph-k{background:#FBF1D9;border:1px dashed #D9B25F}
@media(max-width:760px){.gantt.g7{--gut:118px}.gt-ms{width:70px}.gt-ms em{font-size:9.5px}.gt-lane{padding-top:16px}}

/* 07 group */
.proof-strip.grp4{margin-top:36px}
.grp-line{font:400 24px/1.35 var(--serif);color:var(--sage-deep);max-width:44ch;margin:44px 0 18px}

/* 08 ask */
.ask2{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}
.ask-terms{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.ask-terms div{border:1px solid #2e2e2e;background:#141414;border-radius:var(--r-lg);padding:18px 20px}
.ask-terms small{display:block;font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.ask-terms b{display:block;margin-top:10px;font:400 26px/1.2 var(--serif);color:#fff}
.ask-use .chart-title{color:rgba(255,255,255,.6)}
.use-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #2e2e2e;font-size:15px;color:rgba(255,255,255,.85)}
.use-row b{font-weight:500}
.ask-proof{margin-top:20px;font-size:14.5px;line-height:1.55}
.ask-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:48px;padding-top:32px;border-top:1px solid #2e2e2e}
.button.light{background:#fff;border-color:#fff;color:var(--ink)}
.button.light:hover{background:var(--sage-soft)}
.text-link.light{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.ph-note{margin-top:22px;font-size:12.5px;color:#E8C77E!important}
@media(max-width:860px){.ask2{grid-template-columns:1fr;gap:32px}.ask-terms b{font-size:21px}}

/* footer risk line */
.risk{display:block;margin-top:6px;font-size:11.5px;color:var(--ink-3);max-width:70ch}
.gt-ms:last-child{width:220px}
.gt-mlist{display:none}
@media(max-width:760px){
  .gt-ms em{display:none}
  .gt-mlist{display:block;list-style:none;margin:18px 0 0;padding:0;font-size:13.5px}
  .gt-mlist li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--hair)}
  .gt-mlist b{min-width:92px;font-weight:600}
  .ph{white-space:normal}
  .ask-cta{flex-direction:column;align-items:flex-start;gap:18px}
  .ask-terms{grid-template-columns:1fr}
}

/* ---------- v2 lighter pass ---------- */
.proof-strip.four{grid-template-columns:repeat(4,1fr);margin:10px 0 64px}
@media(max-width:760px){.proof-strip.four{grid-template-columns:1fr 1fr;gap:26px}}
.why-grid{grid-template-columns:1.3fr .7fr;align-items:center}
.x25{border-left:1px solid var(--hair);padding-left:44px}
.x25-n{display:block;font:400 clamp(88px,10vw,150px)/.9 var(--serif);color:var(--sage-deep);letter-spacing:-.02em}
.x25 p{font-size:17px;line-height:1.5;color:var(--ink-2);margin:18px 0 14px;max-width:26ch}
.x25 b{font-weight:600;color:var(--ink)}
@media(max-width:960px){.x25{border-left:0;padding-left:0;border-top:1px solid var(--hair);padding-top:32px}}
.gc-basics{margin:16px 0 0;font:400 20px/1.35 var(--serif);color:var(--sage-deep)}
.gantt.lite .gt-track{min-height:74px}
.gantt.lite .gt-bar{height:34px}
.gantt.lite .gt-bar em{font-size:12px;overflow:hidden;text-overflow:ellipsis}
.gantt.lite .gt-bar{width:calc((var(--to) - var(--from)) / var(--n) * 100% - 3px)}
.gantt.lite .gt-bar.next em,.gantt.lite .gt-bar.now em{color:#fff}
.gantt.lite .gt-lab b{font-size:22px}
@media(max-width:760px){.gantt.lite .gt-bar em{display:none}.gantt.lite .gt-lab span{display:none}.gantt.lite .gt-lab b{font-size:16px}}
@media(max-width:960px){.why-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.proof-strip.four{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-strip.four strong{font-size:44px}}
@media(max-width:760px){.proof-strip.four>div{display:block}.proof-strip.four p{margin-top:6px}.proof-strip.four strong{font-size:40px}}

.stage-mid h1{text-wrap:balance;max-width:660px;font-size:clamp(38px,4.2vw,60px)}
@media(max-width:760px){.stage-mid h1{font-size:36px;max-width:none}}

/* 04 model: £418 against a £10k stacked by revenue stream */
.model-split.m3{grid-template-columns:1fr 1fr;gap:56px}
.m3 .m-chart{padding-right:190px}
.m3 .vbars{height:420px;gap:44px}
.mstack{display:flex!important;flex-direction:column;position:relative;background:none!important;overflow:visible!important}
.mseg{display:block;min-height:3px}
.mseg+.mseg{border-top:2px solid #fff}
.mseg:first-child{border-radius:var(--r-lg) var(--r-lg) 0 0}
.mseg.sw{background:var(--sage-deep)}
.mseg.ppl{background:#B98A5A}
.m-legend{position:absolute;left:calc(100% + 18px);top:0;bottom:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;width:180px}
.m-legend li{display:flex;align-items:center;min-height:0;position:relative}
.m-legend li span{white-space:nowrap;font-size:13.5px;color:var(--ink-2);line-height:1}
.m-legend li b{font:400 19px var(--serif);margin-right:6px}
.m-legend li.sw b{color:var(--sage-deep)}
.m-legend li.ppl b{color:#A0703F}
.m-legend li::before{content:"";position:absolute;left:-14px;top:50%;width:10px;border-top:1px solid var(--ink-4)}
.m-key{display:flex;gap:20px;margin:26px 0 14px;font-size:13px;color:var(--ink-3)}
.m-key span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px;vertical-align:-1px}
.m-key .sw::before{background:var(--sage-deep)}
.m-key .ppl::before{background:#B98A5A}
@media(max-width:960px){.model-split.m3{grid-template-columns:1fr}.m3 .m-chart{padding-right:170px}.m3 .vbars{height:340px;gap:28px;justify-content:flex-start}}
@media(max-width:480px){.m3 .m-chart{padding-right:150px}.m-legend{width:150px}.m-legend li span{font-size:12px}.m-legend li b{font-size:16px}.m3 .vbars{gap:18px}}
.m-legend,.m-legend *{font-style:normal}
@media(max-width:960px){.model-split.m3{grid-template-columns:minmax(0,1fr)}.m3 .m-chart{padding-right:0}}
@media(max-width:600px){.m3 .vbars{justify-content:flex-start;gap:20px}.m3 .vbar{flex:0 0 96px}}
@media(max-width:600px){.m3 .vbar{flex:0 0 80px}.m3 .vbars{gap:14px}.m-legend li span{font-size:11.5px}.m-legend li b{font-size:15px}}
@media(max-width:380px){.m3 .vbar{flex:0 0 70px}.m3 .vbars{gap:10px}.m-legend{width:130px}}

/* rich note: the £10k breakdown */
.nt-pop.wide{max-width:430px;padding:16px 18px}
.nt-tab{width:100%;border-collapse:collapse;margin:8px 0 10px;font-size:12.5px;font-variant-numeric:tabular-nums}
.nt-tab th{font:600 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);text-align:right;padding:0 0 6px;background:none}
.nt-tab th:first-child,.nt-tab td:first-child{text-align:left}
.nt-tab td{text-align:right;padding:5px 0 5px 12px;border-top:1px solid rgba(255,255,255,.12)}
.nt-tab td:first-child{padding-left:0}
.nt-tab tr.p td{color:#E2B98E}
.nt-tab tfoot td{border-top:1px solid rgba(255,255,255,.5);font-weight:600;padding-top:7px}
.nt-foot{display:block;font-size:11.5px;color:rgba(255,255,255,.6);line-height:1.45}
.nt-tab td,.nt-tab tfoot td{font:400 12.5px/1.3 var(--sans);color:inherit;background:none}.nt-tab tfoot td{font-weight:600}.nt-tab tr.p td{color:#E2B98E}
.nt-tab th,.nt-tab td{border-bottom:0!important}.nt-tab tbody td{border-top:1px solid rgba(255,255,255,.12)!important}.nt-tab tfoot td{border-top:1px solid rgba(255,255,255,.45)!important}

/* 08 plan: three phases, run-rate bar on top of each column */
.phases{display:grid;grid-template-columns:.62fr 1fr 1fr 1fr;gap:18px;margin-top:22px;align-items:stretch}
.phz{display:flex;flex-direction:column;min-width:0}
.phz-chart{height:230px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;border-bottom:1px solid var(--ink)}
.phz-chart i{display:block;border-radius:var(--r-lg) var(--r-lg) 0 0}
.phz-val{font:400 34px/1 var(--serif);color:var(--sage-deep);margin-bottom:10px;font-variant-numeric:tabular-nums}
.p0 i{background:var(--sage-edge)}
.p1 i{background:var(--sage)}
.p2 i{background:var(--sage-deep)}
.p3 i{background:repeating-linear-gradient(135deg,#FBF1D9 0 8px,#F5E6C6 8px 16px);border:1px dashed #D9B25F;border-bottom:0}
.p3 .phz-val{color:#8A5F2E}
.phz-head{padding:16px 0 14px;border-bottom:1px solid var(--hair)}
.phz-head b{display:block;font:400 26px/1.1 var(--serif);color:var(--ink)}
.phz-head small{display:block;margin-top:4px;font-size:12.5px;color:var(--ink-3)}
.phz-sal{display:inline-block;margin-top:10px;font:600 12px var(--sans);color:var(--sage-deep);background:var(--sage-soft);border-radius:var(--r-pill);padding:4px 10px}
.p3 .phz-sal{background:#FBF1D9;color:#8A5F2E}
.phz dl{margin:0}
.phz dl div{padding:11px 0;border-bottom:1px solid var(--hair)}
.phz dt{font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.phz dd{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}
.phz dl div:first-child dd{font:400 22px/1.2 var(--serif);color:var(--ink)}
.p0 .phz-head{border-bottom:0}
@media(max-width:1100px){.phases{grid-template-columns:repeat(3,minmax(0,1fr))}.p0{display:none}}
@media(max-width:760px){.phases{grid-template-columns:minmax(0,1fr);gap:40px}.phz-chart{height:120px}}
@supports (grid-template-rows:subgrid){
  .phases{grid-template-rows:auto auto repeat(6,auto);row-gap:0}
  .phz{display:grid;grid-row:span 8;grid-template-rows:subgrid}
  .phz dl{display:contents}
  @media(max-width:760px){.phases{grid-template-rows:none;row-gap:40px}.phz{display:flex;grid-row:auto}.phz dl{display:block}}
}
/* phases: seven rows, raise and outcome carry the weight */
.phz dl div:first-child dd{font:400 14px/1.45 var(--sans);color:var(--ink-2)}
.phz dl div.big dd{font:400 22px/1.2 var(--serif);color:var(--ink)}
.phz dl div.out{background:var(--sage-soft);border-bottom:0;padding:12px 12px;margin-top:6px;border-radius:var(--r-lg)}
.phz dl div.out dd{font:400 18px/1.3 var(--serif);color:var(--sage-deep)}
.p3 .phz dl div.out,.phz.p3 dl div.out{background:#FBF1D9}
@supports (grid-template-rows:subgrid){
  .phases{grid-template-rows:auto auto repeat(7,auto)}
  .phz{grid-row:span 9}
}
/* plan, simplified */
.phases.lite .phz-chart{height:170px}
.phases.lite .phz-head{padding:14px 0 12px}
.phases.lite .phz-head b{display:flex;align-items:center;gap:10px}
.phz-head .goal{display:block;margin-top:2px;font:400 17px/1.3 var(--serif);color:var(--sage-deep)}
.phz-head em.draft{font:700 9.5px var(--sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#8A5F2E;background:#FBF1D9;border:1px dashed #D9B25F;border-radius:4px;padding:3px 6px}
.phases.lite .phz dl div{padding:9px 0}
.phases.lite .phz dd{font-size:15px}
.phases.lite .phz dl div.big dd{font-size:21px}
.phases.lite .phz dl div.out{padding:11px 12px}
.phases.lite .phz dl div.out dd{font-size:17px}
.phases.lite .p3 i{height:100%}
@supports (grid-template-rows:subgrid){
  .phases.lite{grid-template-rows:auto auto repeat(6,auto)}
  .phases.lite .phz{grid-row:span 8}
}

/* 08 plan v3: Phase 1 in detail, then the choice */
.plan2{display:grid;grid-template-columns:1.45fr 1fr;gap:28px;margin-top:8px;align-items:start}
.p1card{border:1px solid var(--hair);border-radius:var(--r-xl);padding:30px 32px}
.p1-tag{font:400 28px/1.1 var(--serif);color:var(--ink);margin:0 0 22px}
.p1-tag span{font-size:18px;color:var(--sage-deep);margin-left:10px}
.p1-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--hair)}
.p1-facts small{display:block;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.p1-facts b{display:block;margin-top:8px;font:400 22px/1.15 var(--serif);color:var(--ink)}
.p1-facts em{display:block;margin-top:5px;font-style:normal;font-size:12.5px;line-height:1.4;color:var(--ink-3)}
.pbars{position:relative;display:flex;align-items:flex-end;gap:12px;height:220px;margin-top:18px;border-bottom:1px solid var(--ink)}
.pb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}
.pb i{width:100%;background:var(--sage-edge);border-radius:6px 6px 0 0}
.pb.over i{background:var(--sage-deep)}
.pb-v{font:400 15px var(--serif);color:var(--ink-2);margin-bottom:6px}
.pb.over .pb-v{color:var(--sage-deep)}
.pb-l{position:absolute;bottom:-24px;font-size:12px;color:var(--ink-3)}
.pb-line{position:absolute;left:0;right:0;border-top:1.5px dashed #B98A5A;z-index:2;pointer-events:none}
.pb-line em{position:absolute;right:0;top:-20px;font:600 11.5px var(--sans);font-style:normal;color:#A0703F;background:#fff;padding-left:6px}
.pb-axis{margin:30px 0 0;text-align:center;font-size:11.5px;color:var(--ink-3)}
.p1-out{margin-top:22px;background:var(--sage-soft);border-radius:var(--r-lg);padding:16px 18px}
.p1-out b{display:block;font:400 19px/1.35 var(--serif);color:var(--sage-deep)}
.p1-out span{display:block;margin-top:6px;font-size:13.5px;color:var(--ink-2)}
.p-then{padding-top:4px}
.route{border:1px solid var(--hair);border-radius:var(--r-lg);padding:20px 22px;margin-top:12px}
.route small{font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.route b{display:block;margin-top:6px;font:400 24px/1.15 var(--serif);color:var(--ink)}
.route p{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.p-prize{margin-top:18px;font-size:13.5px;color:var(--ink-3)}
@media(max-width:960px){.plan2{grid-template-columns:minmax(0,1fr)}.p1-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.p1card{padding:22px 18px}.pbars{gap:6px;height:180px}.pb-v{font-size:12px}}
.pb i{position:relative;display:flex;justify-content:center;align-items:flex-start}
.pb-v{margin:8px 0 0!important;font-size:14px!important;color:var(--sage-deep)!important;white-space:nowrap}
.pb.over .pb-v{color:#fff!important}
.pb:first-child .pb-v{margin-top:-22px!important}
.pb-line em{right:auto!important;left:0;padding:0 6px 0 0!important}
@media(max-width:600px){.pb-v{font-size:11px!important}}
.pb:first-child .pb-v{margin-top:8px!important}

/* 08 plan: long-term view, chart columns double as the table */
.lt{display:grid;grid-template-columns:.7fr repeat(3,1fr);column-gap:22px;margin-top:20px}
.lt-bar{height:230px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--ink)}
.lt-bar i{display:block;border-radius:var(--r-lg) var(--r-lg) 0 0;min-height:4px}
.lt-val{font:400 32px/1 var(--serif);color:var(--sage-deep);margin-bottom:10px}
.lt-bar.p0 i{background:var(--sage-edge)}.lt-bar.p1 i{background:var(--sage)}.lt-bar.p2 i{background:var(--sage-deep)}
.lt-bar.p3 i{background:repeating-linear-gradient(135deg,var(--sage-deep) 0 10px,#5b6450 10px 20px)}
.lt-bar.p3 .lt-val{font-size:44px}
.lt-head{padding:14px 0 12px;border-bottom:1px solid var(--ink)}
.lt-head b{display:block;font:400 24px/1.1 var(--serif)}
.lt-head small{display:block;margin-top:4px;font-size:12.5px;color:var(--ink-3)}
.lt-head.p0{border-bottom:1px solid var(--ink)}
.lt-lab{padding:12px 0;border-bottom:1px solid var(--hair);font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);align-self:stretch}
.lt-cell{padding:12px 0;border-bottom:1px solid var(--hair);font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.lt-cell.big{font:400 24px/1.2 var(--serif);color:var(--sage-deep)}
@media(max-width:760px){.lt{grid-template-columns:.8fr repeat(3,minmax(0,1fr));column-gap:10px}.lt-bar{height:150px}.lt-val{font-size:18px}.lt-bar.p3 .lt-val{font-size:24px}
  .lt-head b{font-size:16px}.lt-head small{font-size:10.5px}.lt-cell{font-size:12px}.lt-cell.big{font-size:16px}.lt-lab{font-size:8.5px;letter-spacing:.06em}}

/* 09 Phase 1: revenue vs costs, metrics, burn */
.p1x{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start;margin-top:8px}
.cbars{position:relative;display:flex;align-items:flex-end;gap:8px;height:280px;margin-top:22px;padding-bottom:26px;border-bottom:0}
.cbars::after{content:"";position:absolute;left:0;right:0;bottom:26px;border-top:1px solid var(--ink)}
.cb{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.cb i{width:100%;background:var(--sage-edge);border-radius:5px 5px 0 0}
.cb.over i{background:var(--sage-deep)}
.cb-m{position:absolute;bottom:-24px;font-size:11.5px;color:var(--ink-3)}
.cb.cb-be .cb-m{color:var(--ink);font-weight:600}
.cb-line{position:absolute;left:0;right:0;border-top:1.5px dashed #B98A5A;z-index:2;pointer-events:none}
.cb-line em{position:absolute;left:0;top:-20px;font:600 11.5px var(--sans);font-style:normal;color:#A0703F;background:#fff;padding-right:6px}
.cb-flag{position:absolute;top:0;transform:translateX(-50%);text-align:center;font-size:11.5px;color:var(--ink-3);z-index:3;line-height:1.3}
.cb-flag b{display:block;font:400 17px var(--serif);color:var(--sage-deep)}
.cb-flag::after{content:"";display:block;width:1px;height:60px;margin:6px auto 0;background:var(--sage-deep)}
.cb-key{display:flex;gap:18px;flex-wrap:wrap;margin:34px 0 0;font-size:12.5px;color:var(--ink-3)}
.cb-key span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:-1px}
.cb-key .k1::before{background:var(--sage-edge)}.cb-key .k2::before{background:var(--sage-deep)}.cb-key .k3{margin-left:auto}.cb-key .k3::before{display:none}
.p1x-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;padding-bottom:24px;margin-bottom:22px;border-bottom:1px solid var(--hair)}
.p1x-metrics small{display:block;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.p1x-metrics b{display:block;margin-top:6px;font:400 22px/1.15 var(--serif);color:var(--ink)}
.p1x-metrics em{display:block;margin-top:3px;font-style:normal;font-size:12px;color:var(--ink-3)}
.burn div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink-2)}
.burn b{font-weight:500;color:var(--ink)}
.burn .tot{border-bottom:0;border-top:1px solid var(--ink);margin-top:-1px}
.burn .tot span,.burn .tot b{font-weight:600;color:var(--ink)}
.burn-note{margin-top:14px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
@media(max-width:960px){.p1x{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.cbars{gap:3px;height:220px}.cb-m{font-size:9.5px}.p1x-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-key .k3{margin-left:0}}
@media(max-width:1100px){.lt .lt-bar.p0{display:flex}.lt .lt-head.p0{display:block}}
.lt-sub{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
/* Phase 1 chart as run-rate: Solo base plus new salons, labelled */
.cbars .cb i{display:flex;flex-direction:column;overflow:hidden;background:none!important}
.cbars .s-new{background:var(--sage-deep);min-height:2px}
.cbars .s-base{background:var(--sage-edge)}
.cb-v{font:400 13px/1 var(--serif);color:var(--ink-2);margin-bottom:6px;white-space:nowrap}
.cb.cb-be .cb-v{color:var(--sage-deep);font-weight:600}
.cb-key .k1::before{background:var(--sage-edge)!important}.cb-key .k2::before{background:var(--sage-deep)!important}
.cb-line em{max-width:none;white-space:nowrap}
.cb-flag{top:-6px}
@media(max-width:600px){.cb-v{font-size:9px}.cb-line em{font-size:10px;white-space:normal;max-width:70%}}
#phase1 .cbars{margin-top:62px}
#phase1 .cb-flag{top:-56px}
#phase1 .cb-flag::after{height:12px;margin-top:4px}
#phase1 .cb-line em{top:-19px}
#phase1 .cb-v{position:relative;z-index:3;background:#fff;padding:1px 3px;border-radius:3px}
#phase1 .cb{min-width:0}
@media(max-width:600px){
  #phase1 .cb-v{display:none;padding:0 1px}
  #phase1 .cb:first-child .cb-v,#phase1 .cb.cb-be .cb-v,#phase1 .cb:last-child .cb-v{display:block}
  #phase1 .cb-m{font-size:8.5px;white-space:nowrap}
  #phase1 .cbars{gap:3px}
}
/* break-even badge sits on the April bar */
#phase1 .cbars{margin-top:46px}
#phase1 .cb-badge{position:relative;z-index:3;margin-bottom:6px;font:600 10.5px/1 var(--sans);letter-spacing:.04em;color:#fff;background:var(--sage-deep);border-radius:var(--r-pill);padding:5px 9px;white-space:nowrap}
#phase1 .cb-badge::after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;background:var(--sage-deep);transform:translateX(-50%) rotate(45deg);z-index:-1}
#phase1 .cb.cb-be i{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--sage-deep);border-radius:5px 5px 0 0}
@media(max-width:600px){#phase1 .cb-badge{font-size:8.5px;padding:4px 6px}}
#phase1 .cbars{margin-top:30px}
#phase1 .cb.cb-be i{box-shadow:none}
#phase1 .cb-badge{position:absolute;bottom:-52px;left:50%;transform:translateX(-50%);margin:0}
#phase1 .cb-badge::after{bottom:auto;top:-4px}
#phase1 .cb-key{margin-top:58px}
#phase1 .cb.cb-be .s-new{background:var(--sage-deep)}
#phase1 .cb.cb-be .cb-v{background:var(--sage-deep);color:#fff!important;font-weight:400}
/* set-up period over the first three bars */
#phase1 .cb-prep{position:absolute;top:0;bottom:26px;border:1px dashed var(--ink-4);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:rgba(244,242,236,.55);z-index:0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px}
#phase1 .cb-prep b{font:600 11px var(--sans);color:var(--ink-3);text-align:center;line-height:1.3}
#phase1 .cb{z-index:1}
.burn span em{font-style:normal;font-size:12px;color:var(--ink-3);margin-left:6px}
@media(max-width:600px){#phase1 .cb-prep b{font-size:8.5px}}
.close-cta .ask-cta{border-top:1px solid var(--hair);margin-top:44px}
.close-cta .text-link{color:var(--sage-deep)}
.p1x-metrics.m4{grid-template-columns:repeat(2,minmax(0,1fr))}

/* nav: four chapters on desktop, the full numbered list in the mobile menu */
.nv-d{display:flex;align-items:center;gap:30px}
.nv-m{display:none}
.nv-d a{position:relative;padding:6px 0}
.nv-d a[aria-current]{color:var(--ink)}
.nv-d a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--sage-deep)}
@media(max-width:760px){
  .nv-d{display:none}
  .nav-links.open .nv-m{display:flex;flex-direction:column}
  .nv-m a{display:flex;gap:14px;align-items:baseline;padding:12px 6px!important;border-bottom:1px solid var(--hair);font-size:15px;color:var(--ink-2)}
  .nv-m a span{font:600 11px var(--sans);letter-spacing:.08em;color:var(--ink-4);min-width:20px}
  .nv-m a[aria-current]{color:var(--sage-deep);font-weight:600}
  .nv-m a[aria-current] span{color:var(--sage-deep)}
  .nav-links{max-height:calc(100vh - 70px);overflow-y:auto}
}

/* 06: switching evidence under the comparison table */
.switch{margin-top:52px;padding-top:32px;border-top:1px solid var(--hair)}
.sw-head{margin:0 0 18px;font-size:16px;line-height:1.5;color:var(--ink-2);max-width:70ch}
.sw-head b{display:block;font:400 26px/1.25 var(--serif);color:var(--ink);margin-bottom:6px}
.sw-bar{display:flex;gap:3px;height:16px;border-radius:var(--r-pill);overflow:hidden}
.sw-m{background:var(--sage-deep)}.sw-l{background:var(--sage)}.sw-g{background:#9AA489}.sw-o{background:var(--sage-edge)}
.sw-n{background:repeating-linear-gradient(135deg,var(--bone) 0 6px,#EFEBE3 6px 12px)}
.sw-key{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:14px 0 10px;padding:0;font-size:13.5px;color:var(--ink-2)}
.sw-key li::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:-1px}
.sw-key li.sw-m::before{background:var(--sage-deep)}.sw-key li.sw-l::before{background:var(--sage)}.sw-key li.sw-g::before{background:#9AA489}
.sw-key li.sw-o::before{background:var(--sage-edge)}.sw-key li.sw-n::before{background:#EFEBE3;border:1px solid var(--hair)}
.sw-key li{background:none!important}
.sw-key b{font-weight:600;color:var(--ink)}
.sw-key em{font-style:normal;color:var(--ink-3)}
/* switching evidence as the table's last row */
.grid-compare tfoot .sw-row th,.grid-compare tfoot .sw-row td{border-top:1.5px solid var(--ink);border-bottom:0;padding-top:16px;padding-bottom:16px;vertical-align:middle}
.grid-compare tfoot .sw-row th{font-weight:600;color:var(--ink);font-size:14.5px;text-transform:none;letter-spacing:0;background:transparent}
.grid-compare tfoot .sw-row .sw-note{display:block;font-weight:400;font-size:12px;color:var(--ink-3);margin-top:3px}
.grid-compare tfoot .sw-row td b{display:block;font:400 26px/1 var(--serif);color:var(--sage-deep)}
.grid-compare tfoot .sw-row td span{display:block;margin-top:5px;font-size:11.5px;color:var(--ink-3)}

/* 09 Phase 1: live assumptions */

  .mock-tag-unused{display:inline-block;margin:0 0 18px;font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8A5F2E;background:#FBF1D9;border:1px dashed #D9B25F;border-radius:4px;padding:4px 8px}
  .asm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:22px;align-items:end;background:var(--bone);border:1px solid var(--hair);border-radius:var(--r-lg);padding:18px 20px;margin:6px 0 26px}
  .asm label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:700 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
  .asm output{font:400 20px var(--serif);letter-spacing:0;text-transform:none;color:var(--ink)}
  .asm input{width:100%;accent-color:var(--sage-deep);margin:10px 0 4px;cursor:pointer}
  .asm .rng{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-4)}
  .asm button{border:1px solid var(--ink);background:#fff;border-radius:7px;padding:9px 14px;font:500 12.5px var(--sans);cursor:pointer;white-space:nowrap}
  .asm button:hover{background:var(--ink);color:#fff}
  .warn{display:none;margin:-10px 0 18px;font-size:13px;color:#A0703F;background:#FBF1D9;border:1px dashed #D9B25F;border-radius:var(--r-lg);padding:9px 12px}
  .warn.on{display:block}
  .p1x-metrics b{transition:color .2s}
  .changed{color:#A0703F!important}
  @media(max-width:860px){.asm{grid-template-columns:1fr}}
  .outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);margin:0 0 34px}
  .outs>div{padding:18px 22px}
  .outs>div+div{border-left:1px solid var(--hair)}
  .outs small{display:block;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .outs b{display:block;margin-top:8px;font:400 clamp(30px,3.2vw,42px)/1 var(--serif);color:var(--ink);transition:color .2s}
  .outs em{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--ink-3)}
  .p1x{align-items:start}
  .p1x-side .chart-title{margin-top:0}
  @media(max-width:760px){.outs{grid-template-columns:1fr}.outs>div+div{border-left:0;border-top:1px solid var(--hair)}}

/* break-even: outline the whole column instead of a pill under the axis */
#phase1 .cb.cb-be::before{content:"";position:absolute;left:-5px;right:-5px;top:-14px;bottom:-25px;border:1.5px solid var(--sage-deep);border-radius:9px;background:rgba(232,236,226,.55);z-index:-1;pointer-events:none}
#phase1 .cb-badge{position:absolute;top:-14px;bottom:auto;left:50%;transform:translate(-50%,-50%);margin:0;z-index:4}
#phase1 .cb-badge::after{display:none}
#phase1 .cb.cb-be .cb-v{background:transparent;color:var(--sage-deep)!important;font-weight:600}
#phase1 .cb-key{margin-top:36px}
#phase1 .cbars{margin-top:44px}
@media(max-width:600px){#phase1 .cb.cb-be::before{left:-2px;right:-2px}}

/* 11 The investment: fixed terms, then the calculator */
.inv-fixed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border-top:1px solid #333;border-bottom:1px solid #333}
.inv-fixed>div{padding:20px 22px}
.inv-fixed>div+div{border-left:1px solid #333}
.inv-fixed small{display:flex;align-items:center;gap:6px;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.inv-fixed b{display:block;margin-top:8px;font:400 clamp(30px,3.2vw,42px)/1 var(--serif);color:#fff}
.inv-fixed em{display:block;margin-top:6px;font-style:normal;font-size:13px;color:rgba(255,255,255,.6)}
.pz.inv{margin-top:40px}
.inv-sub{margin:-16px 0 24px!important;font-size:14px;color:rgba(255,255,255,.65)}
#investment .close-cta .ask-cta{border-top:1px solid #333;margin-top:40px}
#investment .inv-risk{display:block;margin-top:22px}
@media(max-width:760px){.inv-fixed{grid-template-columns:1fr}.inv-fixed>div+div{border-left:0;border-top:1px solid #333}}

/* 03 Why now: three revenue streams, rows aligned across cards */
.wn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,auto);gap:0 18px;margin-top:38px}
.wn-c{display:grid;grid-row:span 5;grid-template-rows:subgrid;border:1px solid var(--hair);border-radius:var(--r-xl);padding:6px 24px 10px;background:#fff}
.wn-c.sw{border-color:var(--sage-edge);background:var(--sage-soft)}
.wn-c.ppl{border-color:#E4D2BA;background:#FCF6EE}
.wn-c header{display:flex;align-items:center;gap:10px;padding:18px 0 16px}
.wn-c h3{flex:1;margin:0;font:400 23px/1.15 var(--serif);color:var(--ink)}
.wn-l{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;font:700 12px var(--sans);color:#fff;background:var(--sage-deep)}
.wn-c.ppl .wn-l{background:#B98A5A}
.wn-r{padding:14px 0;border-top:1px solid rgba(0,0,0,.08)}
.wn-r small{display:block;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.wn-r p{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--ink-2)}
#whynow .source{display:block;margin-top:22px}
@media(max-width:860px){.wn{grid-template-columns:1fr;grid-template-rows:none;gap:14px}.wn-c{grid-row:auto;grid-template-rows:none}}

/* Vision: four agents and workflows */
@media(min-width:761px){.slab .tier-a,.slab .tier-w{grid-template-columns:repeat(2,minmax(0,1fr))}.slab .wires.w4{display:none}}
@media(min-width:1000px){.slab .tier-a,.slab .tier-w{grid-template-columns:repeat(4,minmax(0,1fr))}.slab .wires.w4{display:grid;grid-template-columns:repeat(4,1fr)}}
.slab.go .wires.w4>span:nth-child(4)>i{animation-delay:1.19s}
.tier-a .agent b{font-size:14.5px}
.wn-c.sw .st.live{background:#fff}
.wn-r p b{font-weight:600;color:var(--ink)}
.wn-ul{margin:8px 0 0;padding:0;list-style:none;font-size:14.5px;line-height:1.45;color:var(--ink-2)}.wn-ul li{padding:5px 0 5px 14px;position:relative}.wn-ul li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:#B98A5A}.wn-ul b{font-weight:600;color:var(--ink)}
.gc .gc-n{display:block;margin-top:5px;font:500 11px/1.3 var(--sans);color:#8A5F2E}
.uof{margin-top:18px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--bone);font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.uof b{color:var(--ink);font-weight:600}
.inv-lede{margin-top:14px!important;font-size:18px;color:rgba(255,255,255,.75)!important}

/* 02 headline: keep "a" with the highlight */
#built h2{max-width:1000px}
@media(max-width:760px){#built h2 em{white-space:normal}}
.wn-ul-tight{margin-top:6px}
.nt-pop .nt-foot{display:block}.nt-pop .nt-foot+.nt-foot{margin-top:10px}

/* 11 Group: Q3 '26 vs Q3 '27 run-rate table */
.grp-tab-wrap{margin-top:40px;max-width:900px}
.grp-tab{width:100%;border-collapse:collapse}
.grp-tab th,.grp-tab td{padding:18px 20px;border-bottom:1px solid var(--hair);background:none}
.grp-tab thead th{font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:right;border-bottom:1px solid var(--ink);vertical-align:bottom}
.grp-tab thead th:first-child{text-align:left}
.grp-tab thead small{display:block;margin-top:4px;font:500 11px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-4)}
.grp-tab tbody th{font:500 16px var(--sans);color:var(--ink-2);text-align:left;text-transform:none;letter-spacing:0}
.grp-tab td{font:400 30px/1 var(--serif)!important;color:var(--ink);text-align:right}
.grp-tab .fut{background:var(--sage-soft)}
.grp-tab td.fut{color:var(--sage-deep)}
.grp-tab td.chg{font:500 15px var(--sans)!important;color:var(--sage-deep)}
.grp-tab tr.key th{color:var(--ink);font-weight:600}
@media(max-width:760px){.grp-tab th,.grp-tab td{padding:13px 8px}.grp-tab td{font-size:22px!important}.grp-tab tbody th{font-size:13px}.grp-tab td.chg{font-size:12px!important}.grp-tab thead th{font-size:9px}}
.grp-tab td{white-space:nowrap}.grp-tab thead th.fut small{color:var(--ink-3)}@media(max-width:760px){.grp-tab td{font-size:19px!important}.grp-tab thead th:first-child{font-size:0}.grp-tab thead th:first-child::after{content:"Run-rate";font-size:9px}}
#investment .inv-risk{margin-top:24px;max-width:900px}#investment .inv-risk p{font-size:12px;line-height:1.6;color:rgba(255,255,255,.6);margin:0 0 10px}#investment .inv-risk b{color:rgba(255,255,255,.85);font-weight:600}
