@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-latin.woff2') format('woff2')}
/* Focus and control sizing extend the approved theme. */
h1,h2,h3,h4,h5,h6,.demo-industry-name,.callback-topbar>span{word-spacing:.12em}
:focus-visible{outline:3px solid #177c65;outline-offset:4px}
.story :focus-visible{outline-color:#b8e64c}
[hidden]{display:none!important}
.contact-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:14px}
.contact-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
footer{flex-wrap:wrap}
.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.scene-controls button{min-height:44px;min-width:44px;font-size:14px}
.scene-controls{display:flex!important;bottom:-52px}
.story .visual-3d .scene-controls{display:none!important}
.visual-3d{margin-bottom:0}
.story .stage{padding-bottom:12px}
@media(min-width:701px){.visual-3d{width:100%}}
.calc-field input[type=range]{min-height:44px}
#assessment-status{min-height:1.5em}
#form-note a{text-decoration:underline}
.policy{max-width:900px;min-height:70vh}
.policy h1{font-size:clamp(36px,6vw,64px)}
.policy a{text-decoration:underline}
.policy section{margin-top:32px}
.policy h2{font-size:clamp(22px,3vw,30px);line-height:1.25;margin-bottom:12px;letter-spacing:-.02em}
.policy p{line-height:1.7;margin:12px 0;overflow-wrap:anywhere}
.policy .policy-updated{font-size:14px}
.policy ul{list-style:disc;padding-left:24px;margin:16px 0;line-height:1.7}
.policy li{margin:6px 0}
.menu-toggle,.mobile-assessment,.mobile-scene,.mobile-actions{display:none}
.brand-light{color:#16755f}
.skip:not(:focus){clip-path:inset(50%)}
.header-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}
@media(min-width:901px){header nav{column-gap:48px}}
.wall-label{font-size:13px;font-weight:600;padding:4px 7px}
.value-gap i{background:radial-gradient(circle at 30% 20%,#ffb0a7,#e23d47 68%,#a81727)}
#chain-customers,.money #weekly,.annual #annual{color:#ff6268!important}
.percent-input{position:relative;display:block}
.calc-field .percent-input input[type=number]{width:100%;padding-right:28px}
.percent-input>span{position:absolute;right:10px;top:50%;translate:0 -50%;color:#586a69;font-size:15px;font-weight:700;pointer-events:none}
.range-with-scale{grid-column:1/-1;display:grid;gap:0}
.range-with-scale input[type=range]{width:100%}
.range-scale{display:flex;justify-content:space-between;margin-top:-3px;color:#586a69;font-size:11px;font-weight:600;line-height:1}
.value-flow i{animation-play-state:paused!important;visibility:hidden}
.calc-result.has-estimate .value-flow i{animation-play-state:running!important;visibility:visible}
.calculator{background:#dde7e2;border-top-color:#b2c9bd;border-bottom-color:#b2c9bd}
@media(min-width:901px){.calculator .section-intro{max-width:none;margin-bottom:24px}.calculator .section-intro h2,.calculator .section-intro>p:last-child,.calculator .disclaimer{white-space:nowrap}.calculator .section-intro h2{font-size:clamp(34px,3.5vw,52px);margin-bottom:14px}.calculator .section-intro>p:last-child{max-width:none}.calculator .disclaimer{max-width:none;font-size:11px}}
@media(min-width:1100px){.pains>h2,.pains .support-line{max-width:none;white-space:nowrap}.pains .support-line{font-size:clamp(15px,1.2vw,18px)!important}}
@media(min-width:701px){
 .method-grid article{overflow:visible}
 .method-step{position:relative;z-index:2;border-top:0!important;padding-top:40px}
 .method-step:before{top:0;translate:0 -50%;z-index:3}
 .method-step>span{display:none}
 .method-grid article:after{content:'';display:block;position:absolute;z-index:1;top:-5px;left:15px;right:10px;width:auto;max-width:none;height:10px;background:linear-gradient(90deg,#42bfa0,#24a98a 75%,#b8e64c);clip-path:polygon(0 30%,calc(100% - 13px) 30%,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,calc(100% - 13px) 70%,0 70%);transform:scaleX(0);transform-origin:left center;transition:transform .75s cubic-bezier(.22,.8,.25,1)}
 .method-grid article.step-visible:after{width:auto;transform:scaleX(1)}
 .method-grid article:nth-child(2):after{transition-delay:.18s}
 .method-grid article:nth-child(3):after{transition-delay:.36s}
 .method-grid article:nth-child(4):after{right:0;background:linear-gradient(90deg,#42bfa0 0,#24a98a 52%,#b8e64c 78%,#b8e64c40 100%);transition-delay:.54s}
}
@media(max-width:700px){
 header{height:auto;min-height:78px;flex-wrap:wrap;padding-top:12px;padding-bottom:10px;gap:8px}
 header nav{display:flex;order:3;width:100%;justify-content:space-between;gap:8px}
 header nav a{font-size:12px;min-height:44px;display:flex;align-items:center}
 .nav-cta{min-height:44px;display:flex;align-items:center;font-size:12px}
 html{scroll-padding-top:140px}
 .scene-controls{flex-wrap:wrap}
}

/* Mobile composition: compact navigation, a lightweight scene and a clear reading rhythm. */
@media(max-width:900px){
 header{height:auto;min-height:72px;display:flex;flex-wrap:wrap;gap:12px;padding:12px 5%}
 .menu-toggle:not([hidden]){display:flex;align-items:center;justify-content:center;gap:10px;min-width:76px;min-height:44px;padding:8px 12px;border:1px solid #b8c9c3;border-radius:22px;background:transparent;color:#123b4a;font:600 14px 'DM Sans',sans-serif;margin-left:auto;cursor:pointer}
 .menu-toggle span{font-size:18px}
 header[data-menu-ready][data-menu-open="false"] #main-navigation{display:none!important}
 header #main-navigation{display:grid!important;grid-template-columns:1fr 1fr;order:4;width:100%;gap:0 18px;padding:12px 0 2px;border-top:1px solid #c4d3ce}
 header #main-navigation a{grid-column:auto;display:flex!important;align-items:center;min-height:48px;padding:10px 0;font-size:14px;line-height:1.35;border:0;background:none}
 header .brand{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center}
 .header-actions{margin-left:auto}
 .fix-list summary{min-height:48px}
 .mobile-scene{display:block;width:100%}
 .mobile-scene picture,.mobile-scene img{display:block;width:100%;height:auto}
 .mobile-scene img{border-radius:14px}
 .mobile-scene p{margin:12px 0 0;display:flex;justify-content:center;align-items:center;gap:8px;color:#d8e7df;font-size:12px;line-height:1.5;white-space:nowrap}
 .mobile-scene p span{color:#b8e64c}
 .visual-3d{width:100%;min-height:0;aspect-ratio:auto;margin:0;filter:none;max-width:520px}
 .scene-wrap,.visual-3d .scene-controls{display:none!important}
 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}
 .hero-copy h1{font-size:clamp(36px,4.8vw,44px)}
 .hero-copy .hero-description{font-size:17px;line-height:1.55}
 .stage{padding:36px 5%}
 #assessment-form input{font-size:16px;min-height:50px}
 html{scroll-padding-top:24px}
}
@media(min-width:601px) and (max-width:900px){
 .customer-scenes{grid-template-columns:1fr;gap:26px}
 .customer-scenes article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;align-items:center}
 .customer-scenes .customer-scene{grid-row:1/3;height:auto;min-height:0;display:grid;grid-template-rows:auto auto auto;gap:22px;align-content:start;margin:0;padding:20px}
 .customer-scenes h3{grid-column:2;align-self:end;font-size:23px;line-height:1.25;margin:0 0 12px}
 .customer-scenes article>p{grid-column:2;align-self:start;font-size:16px;line-height:1.6;margin:0}
 .fixes{grid-template-columns:1fr;gap:28px}
 .fix-intro-preview{position:static}
 .showcase{display:none}
 .fix-list .workflow{display:block}
 .workflow li{font-size:15px;line-height:1.5}
 .assessment{grid-template-columns:1fr;gap:28px}
 .assessment-entry{width:100%;max-width:560px;padding:28px;margin:0;justify-self:start}
 .assessment-lead{max-width:54ch}
}
@media(min-width:901px){
 .menu-toggle,.mobile-assessment,.mobile-actions{display:none!important}
}
@media(max-width:600px){
 header{min-height:68px;padding:10px 6%;gap:10px}
 header .brand{font-size:20px;gap:8px}
 header .brand img{width:30px;height:30px}
 header .nav-cta{display:none}
 .wall-label{font-size:11px;max-width:90px;padding:3px 5px;transform:translate(-50%,calc(-50% - 48px))}
 header #main-navigation{grid-template-columns:1fr}
 header #main-navigation a{font-size:16px;min-height:48px}
 .hero-grid{grid-template-columns:1fr;gap:22px}
 .stage{padding:28px 6% 30px}
 .hero-copy h1{font-size:clamp(36px,10.6vw,46px);line-height:1.06;letter-spacing:-.035em;margin:0 0 18px;max-width:12ch;text-wrap:balance}
 .hero-copy h1 br{display:none}
 .hero-copy .hero-description{font-size:17px;line-height:1.55;margin-bottom:22px;max-width:34ch}
 .hero-copy .cta-note{font-size:13px;line-height:1.5;margin:12px 0 0;max-width:32ch}
 .hero-copy .button{font-size:15px;min-height:50px;padding:14px 20px;gap:20px}
 .hero-copy .button span{margin-left:0}
 .mobile-scene p{font-size:12px;gap:5px}
 .section-pad{padding:42px 6%}
 h2,.section-pad h2{font-size:clamp(29px,8.4vw,35px);line-height:1.14;letter-spacing:-.04em}
 .section-pad h3{font-size:22px;line-height:1.2}
 .section-pad p,.assessment dd,.method-grid article>p:last-child,.fix-list details p,.customer-scenes article>p{font-size:16px;line-height:1.6}
 .section-intro{margin-bottom:24px}
 .section-intro>p:last-child,.assessment-lead{font-size:16px;line-height:1.6}
 #calculator-form{padding:22px 20px}
 .calc-field{grid-template-columns:minmax(0,1fr) 82px;gap:8px 12px;margin-top:18px}
 .calc-field label{font-size:15px;line-height:1.4}
 .calc-field input[type=number]{font-size:17px;min-height:48px;width:100%;min-width:0}
 .calc-result{padding:145px 20px 26px}
 .calc-chain{left:20px;right:20px;gap:6px}
 .calc-chain span{font-size:12px;line-height:1.3}
 .calc-chain strong{font-size:22px}
 .value-flow{left:20px;right:20px;top:94px}
 .money{padding:10px;gap:7px}
 .money output{font-size:clamp(39px,11.5vw,50px);letter-spacing:-.05em}
 .money span{font-size:12px;white-space:nowrap}
 .calc-result .annual{font-size:20px;margin:16px 0}
 .calc-result .result-explanation{display:none}
 .calc-result .text-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 14px;font-size:14px}
 .customer-scenes{gap:26px}
 .customer-scenes article{display:block;border-bottom:1px solid #c4d3ce;padding-bottom:26px}
 .customer-scenes article:last-child{border-bottom:0;padding-bottom:0}
 .customer-scene{height:auto;min-height:0;display:grid;grid-template-rows:auto auto auto;gap:22px;align-content:start;padding:18px;margin-bottom:18px}
 .message-slip{padding:16px}
 .message-slip strong{font-size:18px;line-height:1.3}
 .scene-caption,.message-time,.scene-bottom-note,.missed-badge,.dormant-badge,.waiting-reply{font-size:12px!important;line-height:1.4!important}
 .customer-scenes h3{margin:0 0 10px}
 .support-line{margin-top:24px;padding-top:18px;font-size:14px!important}
 .method-grid{gap:22px;margin-top:28px}
 .method-grid article{padding:0}
 .method-step{margin-bottom:12px;font-size:12px!important;border-top:0!important}
 .method-grid article:after{display:none!important}
 .method-grid h3{margin:0 0 8px;font-size:21px}
 .method-grid article>p:last-child{margin:0}
 .fix-list summary{font-size:18px;min-height:52px;line-height:1.35;padding-top:15px;padding-bottom:15px}
 .fix-list details[open] summary{padding:12px 22px 12px 12px}
 .workflow{padding:14px}
 .workflow ol{gap:14px 12px}
 .workflow li{font-size:13px;line-height:1.4;padding:12px;min-width:0}
 .workflow li span{overflow-wrap:anywhere}
 .assessment{gap:24px}
 .assessment dl{margin-bottom:0}
 .assessment dt{font-size:14px;line-height:1.4}
 .assessment dd{margin-bottom:18px}
 .assessment-entry{padding:22px 20px;margin:0}
 .assessment-entry .entry-heading{font-size:19px;margin-bottom:12px}
 .intake-explainer{margin-bottom:18px}
 .assessment-chips{gap:6px}
 .assessment-entry .assessment-chips,.assessment-entry .assessment-sequence{display:none}
 .assessment-chips li{font-size:12px;line-height:1.4}
 .assessment-sequence{font-size:12px;line-height:1.6;margin:18px 0}
 .diagnostic-output{padding:16px;margin:20px 0}
 .diagnostic-output strong{font-size:22px;line-height:1.2}
 .assessment .button{min-height:50px;font-size:14px;line-height:1.35;padding:13px 16px;gap:12px}
 .assessment .button span{margin-left:auto}
 #assessment-form{scroll-margin-top:20px;margin-top:24px;padding-top:22px}
 #assessment-form label{font-size:14px;line-height:1.5;gap:7px;margin-bottom:16px}
 #assessment-form input{font-size:16px;line-height:1.5;min-height:50px;padding:12px;min-width:0;width:100%}
 #assessment-form .optional{font-weight:400;color:#586a69}
 #form-note{font-size:13px;line-height:1.6;margin:18px 0}
 #form-note a{display:inline-flex;align-items:center;min-height:44px}
 #assessment-status{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .final-cta h2{font-size:28px}
 .final-cta.section-pad{padding:34px 6%}
 footer{padding:24px 0;gap:20px}
 footer .brand{display:inline-flex;align-items:center;min-height:44px}
 footer>span{font-size:12px}
 footer .contact-links{gap:8px 18px}
 .mobile-actions:not([hidden]){display:flex;position:fixed;z-index:30;left:0;right:0;bottom:0;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#f5f7f3f5;border-top:1px solid #c4d3ce;box-shadow:0 -4px 16px #0c1f2b0c}
 .mobile-actions a{display:flex;align-items:center;justify-content:center;gap:18px;min-height:48px;min-width:48px;flex:1;padding:10px 14px;border:1px solid #b9ccc4;border-radius:24px;color:#123b4a;font-size:14px;font-weight:650;line-height:1.3}
 .mobile-actions .action-primary{background:#b8e64c;border-color:#b8e64c;color:#08141c;flex:1.5}
 .has-mobile-actions{padding-bottom:calc(69px + env(safe-area-inset-bottom))}
 .policy{padding:36px 6%;min-height:calc(100svh - 80px)}
 .policy h1{font-size:36px;line-height:1.1}
 .policy p{font-size:16px;line-height:1.65}
 .policy a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .mobile-scene{display:block;width:100%}
 .mobile-scene picture,.mobile-scene img{display:block;width:100%;height:auto}
 .mobile-scene p{color:#d8e7df;font-size:13px;line-height:1.5;text-align:center}
 .scene-wrap{display:none!important}
 .visual-3d{min-height:0;aspect-ratio:auto}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .method-grid article{opacity:1!important;transform:none!important}
 .scene-controls{display:none!important}
 .visual-3d{margin-bottom:0}
}

/* Same 3D sequence on phones/tablets, with contained framing and reachable controls. */
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .mobile-scene{display:none}
 .visual-3d{width:100%;max-width:none;min-height:0;aspect-ratio:auto;margin:0}
 .visual-3d .scene-wrap{display:block!important;position:relative;inset:auto;width:100%;aspect-ratio:1.2;overflow:hidden}
 .visual-3d .scene-controls{display:flex!important;position:static;justify-content:center;gap:12px;margin:12px 0 0;padding:0}
 .scene-controls button{min-height:44px;font-size:13px;padding:10px 15px}
 .scene-controls a{display:none}
}

/* A compact agency descriptor beneath the header wordmark. */
header .brand-wordmark, footer .brand-wordmark { display:flex; flex-direction:column; align-items:flex-start; gap:3px; line-height:1.1; }
header .brand-tagline, footer .brand-tagline {
 font-family:'DM Sans',sans-serif; font-size:10px; line-height:1.2;
 font-weight:500; letter-spacing:.045em; color:#50665f; white-space:nowrap;
}
