@font-face{font-family:Geist;src:url('/fonts/geist-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'PT Mono';src:url('/fonts/pt-mono-latin-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url('/fonts/switzer-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url('/fonts/switzer-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--ink:#000;--paper:#f5f5f5;--contrast:#fff;--card:#e9e9e9;--muted:#666666;--line:#d8d8d8;--subtle-border:#dddddd;--ease:cubic-bezier(.22,1,.36,1);--gutter:16px;--font-heading:Switzer,Arial,sans-serif;--font-body:Geist,Arial,sans-serif;--font-nav:"PT Mono",monospace}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:#111;font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,summary,input{-webkit-tap-highlight-color:transparent;outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #8d8d8d}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:400;letter-spacing:-.05em}h1{line-height:1.1}h2{line-height:1.1}h3{line-height:1.2}p{line-height:1.45}::selection{background:#000;color:#fff}
header{position:fixed;left:16px;right:16px;top:16px;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;gap:16px}.nav-panel{border:1px solid var(--subtle-border);pointer-events:auto;display:flex;align-items:center;gap:36px;padding:17px 18px;background:rgba(235,235,235,.96);backdrop-filter:blur(14px);border-radius:3px;min-height:59px}.logo{font-family:var(--font-body);font-weight:500;letter-spacing:-1.3px;line-height:1}.nav-panel nav{display:flex;align-items:center;gap:28px}nav a{font-family:var(--font-nav);display:inline-flex;min-height:25px;align-items:center;letter-spacing:-.015em;text-transform:uppercase}nav a:hover,nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.scrolled .nav-panel{box-shadow:0 4px 25px #1d1d1d06}
.button{font-family:var(--font-body);display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:64px;min-width:210px;max-width:100%;padding:18px 28px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:#fff;font-weight:500;line-height:1.2;white-space:nowrap;transition:none}
.button>span:first-child{display:block;padding:0;background:none;border-radius:0}
.button-arrow{display:inline-block;line-height:1;background:none;transform:rotate(45deg);transition:transform .3s var(--ease)}

.label{display:inline-block;background:var(--contrast);padding:8px;color:#1e1e1e;line-height:1.45;font-weight:400}
.hero{position:relative;isolation:isolate;height:100svh;min-height:640px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:32px 32px 16px;color:#fff;background:#000}.hero-visual{position:absolute;inset:0;z-index:-2}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00000066 0%,#0000008c 50%,#00000080 100%)}.hero-grid{position:absolute;inset:0}.hero-grid{z-index:-1;left:16px;right:16px;border-left:1px solid #ffffff18;border-right:1px solid #ffffff18;background:linear-gradient(90deg,transparent calc(25% - 1px),#ffffff1b 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#ffffff1b 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#ffffff1b 75%,transparent calc(75% + 1px))}.hero-main{display:flex;align-items:flex-start;flex-direction:column;gap:24px;text-align:left;width:100%;transform:translateY(-24px)}.hero h1,.bottom-content h2{line-height:1.1;width:100%;max-width:700px;animation:hero-arrive 1.15s var(--ease) both}.hero-main p{max-width:550px;line-height:1.3;letter-spacing:-.02em;animation:hero-arrive 1.15s .1s var(--ease) both}.hero-main .button{animation:hero-arrive 1.15s .2s var(--ease) both}.scroll-down{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:var(--font-body);line-height:1.3;padding:8px;white-space:nowrap}
.section{padding:160px var(--gutter)}.content-wrap{width:100%;max-width:1800px;margin:0 auto}.problem .content-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:32px}.problem h2{font-family:var(--font-body);line-height:1.2;max-width:70%;letter-spacing:-.05em}.problem .read-word{color:#a8a8a8;transition:color .25s}.problem .read-active{color:#111}.offer{padding-top:0;padding-bottom:8px}.section-intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:48px}.section-intro h2{line-height:1.2}.section-intro p{color:var(--muted)}.offer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding-top:32px;text-align:left}.offer-bottom p{max-width:650px;line-height:1.5;color:var(--muted)}
.how{padding-top:160px;padding-bottom:160px}.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:32px;margin-bottom:32px}.section-heading h2{max-width:800px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.steps article{display:flex;flex-direction:column;align-items:flex-start;padding:32px 24px;background:var(--card)}.step-top{line-height:1.2;letter-spacing:-.05em;color:#929292;margin-bottom:64px}.steps h3{line-height:1.2;min-height:87px;max-width:250px;margin-bottom:24px}.steps p{line-height:1.55;color:#5f5f5f}.offer-cta,.how-cta{display:flex;justify-content:center;margin-top:32px}
.faq{padding-top:0}.faq .content-wrap{max-width:none}.faq-heading{display:flex;flex-direction:column;align-items:flex-start;gap:32px;margin-bottom:48px}.faq-heading h2{}.questions{width:100%;min-width:0}.questions details{border-bottom:1px solid var(--line)}.questions summary{position:relative;list-style:none;cursor:pointer;padding:25px 54px 25px 0;font-weight:400;line-height:1.3;letter-spacing:-.025em}.questions summary::-webkit-details-marker{display:none}.questions details:first-child{border-top:1px solid var(--line)}.plus{position:absolute;right:0;top:23px;display:grid;place-items:center;background:#e5e5e5;border-radius:50%;width:30px;height:30px;transition:transform .35s}.questions details[open]:not([data-closing]) .plus{transform:rotate(45deg)}.answer p{line-height:1.6;color:#6a6a6a;padding:0 64px 25px 0}.answer{overflow:hidden}
.bottom-cta{background:#000;color:#fff;padding:160px 32px;text-align:left}.bottom-content{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin:0;width:100%}.bottom-cta .label{background:var(--contrast);color:var(--ink);font-family:var(--font-body);line-height:1.2}
dialog{border:0;background:var(--paper);color:var(--ink);padding:48px;max-width:470px;width:calc(100% - 32px)}dialog::backdrop{background:#1d1d1da8;backdrop-filter:blur(7px)}dialog h2{margin:26px 0 20px}dialog p{}dialog .booking-note{color:#747474;margin:18px 0 26px}.close-dialog{position:absolute;right:17px;top:10px;border:0;background:transparent;color:var(--ink)}.close-booking{min-width:120px;min-height:52px;padding:14px 24px}
.motion-ready .reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}@keyframes hero-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

.calculator-page{background:#f1f1f1}.calculator-page header{position:fixed}.calculator{padding:145px 28px 75px;max-width:1480px;margin:auto}.calc-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:45px}.calc-heading h1{}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.numbers,.returns{padding:34px;background:#fff;min-width:0}.returns{background:var(--ink);color:#fff}.calc-grid h2{}.calc-grid h2+p{color:#737373;margin-top:9px}.returns h2+p{color:#c6c6c6}.prospects{margin-top:27px;background:#efefef;padding:19px 22px}.prospects>span{letter-spacing:.025em}.prospects>div{display:flex;gap:55px;margin-top:10px}.prospects strong{font-weight:400;letter-spacing:-.045em}.prospects small{display:block;letter-spacing:0;margin-top:4px;color:#7b7b7b}.input-group{margin-top:26px}.input-title{display:flex;justify-content:space-between;gap:12px;align-items:center;}.input-title output{letter-spacing:-.03em;white-space:nowrap}.input-group p{color:#818181;margin-top:5px}.input-group input[type="range"]{width:100%;appearance:none;display:block;height:3px;background:#dcdcdc;border-radius:3px;margin:18px 0 10px;cursor:pointer}.input-group input::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;border:3px solid var(--ink);background:var(--contrast)}.input-group input::-moz-range-thumb{width:12px;height:12px;border:3px solid var(--ink);background:var(--contrast);border-radius:50%}.range-limits{display:flex;justify-content:space-between;color:#818181}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:35px 0;border-bottom:1px solid #ffffff29}.metrics strong{font-weight:400;letter-spacing:-.045em}.metrics span{line-height:1.4;display:block;margin-top:10px;color:#c4c4c4}.breakdown{padding:19px 0}.breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;}.breakdown strong{font-weight:400}.breakdown small{color:#b3b3b3}.breakdown .total{border-top:1px solid #ffffff29;margin-top:5px;padding-top:20px}.breakdown input{background:#323232;border:1px solid #ffffff35;border-radius:3px;color:#fff;width:73px;padding:4px;text-align:right}.roi-box{display:grid;grid-template-columns:1.1fr 1fr;background:var(--contrast);color:var(--ink);padding:27px}.roi-box>div:last-child{border-left:1px solid #1d1d1d30;padding-left:25px}.roi-box span{}.roi-box strong{line-height:1.2;font-weight:400;letter-spacing:-.055em;display:block;margin-top:10px}.returns .disclaimer{line-height:1.65;color:#b9b9b9;margin-top:18px}
.calc-heading{display:block;margin-bottom:32px}.calc-heading h1{line-height:1.1}.calculator{max-width:1480px;padding:128px 16px 80px}.calc-grid{gap:8px}.numbers,.returns{padding:28px}.prospects{background:#efefef}.input-group{margin-top:22px}.input-group p{}.calc-grid h2+p{}.metrics{padding:28px 0}.breakdown>div{padding:10px 0}.roi-box strong{}
@media(min-width:1832px){.problem h2{}.hero h1,.bottom-content h2{max-width:820px}}
@media(max-width:1199px){.section{padding-top:120px;padding-bottom:120px}.offer{padding-top:0;padding-bottom:8px}.problem h2{max-width:80%;}.hero h1,.bottom-content h2{max-width:620px}.section-heading h2,.faq-heading h2{}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps h3{min-height:58px;max-width:320px}.step-top{margin-bottom:40px}.faq{padding-top:0}.bottom-cta{padding-top:120px;padding-bottom:120px}.questions{width:100%}}
@media(max-width:767px){:root{--gutter:16px}header{top:12px;left:12px;right:12px;gap:8px;align-items:flex-start}.nav-panel{padding:13px 12px;min-height:49px;gap:20px;flex:1;justify-content:space-between}.logo{letter-spacing:-1.3px}.nav-panel nav{gap:16px}nav a{white-space:nowrap}.hero{min-height:620px;padding:96px 20px 72px}.hero-main{gap:24px;transform:translateY(-12px)}.hero h1,.bottom-content h2{max-width:620px}.hero-main p{line-height:1.4;max-width:440px}.hero-main p br{display:none}.hero-grid{left:16px;right:16px}.scroll-down{bottom:16px}.section{padding-top:80px;padding-bottom:80px}.problem .content-wrap{gap:28px}.problem h2{max-width:100%;line-height:1.2}.offer{padding-top:0;padding-bottom:0}.section-intro{margin-bottom:32px;gap:16px}.section-intro h2{max-width:460px}.section-intro p{max-width:430px}.offer-bottom{gap:28px;padding-top:28px}.offer-bottom p{}.section-heading h2,.faq-heading h2{max-width:450px}.steps article{padding:25px 20px}.steps h3{min-height:87px;max-width:240px}.steps p{line-height:1.5}.step-top{margin-bottom:40px}.offer-cta,.how-cta{margin-top:28px}.faq{padding-top:0}.faq-heading{gap:28px;margin-bottom:32px}.questions{width:100%}.questions summary{padding:23px 45px 23px 0}.answer p{padding-right:24px}.plus{top:23px;width:26px;height:26px;}.bottom-cta{padding:96px 20px}.bottom-content{gap:24px}.calculator{padding:110px 16px 64px}.calc-heading h1{}.calc-grid{grid-template-columns:1fr;gap:8px}.numbers,.returns{padding:26px 22px}.calc-grid h2{}.input-title label{max-width:72%}.input-title output{}.input-group p{}.metrics strong{}.metrics span{}.roi-box{padding:23px}.roi-box strong{}.prospects>div{gap:30px}.prospects strong{}.breakdown>div{}dialog{padding:38px 28px}}
@media(max-width:479px){.steps{grid-template-columns:1fr}.steps article{padding:28px 24px}.steps h3{min-height:0;max-width:none;margin-bottom:20px}.step-top{margin-bottom:32px}.nav-panel{gap:12px}.logo{}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.problem .read-word{color:#111}}

.hero-eyebrow{font-family:var(--font-body);font-weight:400;line-height:1.4;color:#e5e5e5;background:#ffffff0d;border:1px solid #ffffff30;border-radius:3px;padding:9px 14px;max-width:100%;animation:hero-arrive 1.15s var(--ease) both}
.hero-main{transform:translateY(0)}.hero-main>p{color:#f0f0f0}.hero-main>.button{margin-top:8px}.label{background:#e9e9e9}.bottom-cta .label{background:#ffffff14;color:#fff;border:1px solid #ffffff2b}.offer-bottom .button{flex-shrink:0}.answer p{max-width:1100px}
@media(max-width:767px){.button{min-width:200px;min-height:62px;padding:18px 24px;}.hero-eyebrow{padding:9px 12px}.hero-main{transform:none}.offer-bottom .button{flex-shrink:0}}
@media(max-width:600px){header{gap:8px}.nav-panel{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:12px 14px;min-height:76px}.logo{}nav a{min-height:16px}.hero{padding-top:128px;min-height:680px}.hero-main{gap:22px}}

.button:hover .button-arrow,.button:focus-visible .button-arrow{transform:rotate(90deg)}
.bottom-cta .button{background:#fff;color:#000;border-color:#ddd}
.flow{width:100%;max-width:1100px;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
.flow-item{position:relative;min-width:0}
.flow-label{display:flex;align-items:center;justify-content:center;min-height:66px;padding:18px 24px;border:1px solid var(--subtle-border);border-radius:3px;background:#e9e9e9;font-family:var(--font-heading);line-height:1.2;letter-spacing:-.03em}
.flow-arrow{position:absolute;top:50%;right:-38px;transform:translateY(-50%);width:28px;text-align:center;line-height:1;color:#555}
.bottom-content>p{max-width:550px;line-height:1.3;letter-spacing:-.02em;color:#c8c8c8}.bottom-content .hero-eyebrow{animation:none}
@media(max-width:767px){.flow{gap:32px}.flow-label{padding:16px 10px;min-height:60px;}.flow-arrow{right:-28px;width:24px;}.bottom-content>p{max-width:440px;line-height:1.4}}
@media(max-width:600px){.nav-panel{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;min-height:52px}.flow{grid-template-columns:1fr;gap:36px}.flow-label{min-height:60px;}.flow-arrow{top:calc(100% + 6px);left:50%;right:auto;transform:translateX(-50%) rotate(90deg)} }

.bottom-content h2{animation:none}.steps .reveal:nth-child(2){transition-delay:.07s}.steps .reveal:nth-child(3){transition-delay:.14s}.steps .reveal:nth-child(4){transition-delay:.21s}

.section-intro>.label{margin-bottom:16px}
@media(max-width:767px){}

.label,.hero-eyebrow{text-transform:uppercase;font-weight:600}.hero h1,.bottom-content h2{text-wrap:balance}

.hero h1,.bottom-content h2{max-width:1200px;line-height:1.1;text-wrap:initial;letter-spacing:-.015em}.headline-line{display:block;white-space:nowrap}.hero-main>p,.bottom-content>p{max-width:720px;line-height:1.5}
@media(max-width:767px){.hero-main>p,.bottom-content>p{max-width:480px}}

.hero .hero-eyebrow{color:#e5e5e5;background:#ffffff0d;border-color:#ffffff30}.hero .button{background:#fff;color:#000;border-color:#ddd}
.offer-cta .button,.how-cta .button{background:#000;color:#fff;border-color:#000}

@media(max-width:767px){.hero-visual img{object-position:58% center}}

.button.book{min-width:240px;}.button.book .button-arrow{}
@media(max-width:767px){.button.book{min-width:225px;}}

.hero::selection,.hero ::selection,.bottom-cta::selection,.bottom-cta ::selection,.returns::selection,.returns ::selection,.button::selection,.button ::selection{background:#fff;color:#000}
.returns .roi-box::selection,.returns .roi-box ::selection,.hero .button::selection,.hero .button ::selection,.bottom-cta .button::selection,.bottom-cta .button ::selection{background:#000;color:#fff}

.manual-value{display:flex;align-items:center;gap:3px;flex-shrink:0;border:1px solid #d8d8d8;border-radius:3px;background:#fafafa;padding:7px 9px;}.manual-value input{width:8ch;min-width:0;border:0;background:transparent;color:inherit;text-align:right;padding:0}.manual-value input:focus{outline-offset:3px}.input-title{align-items:center}.input-title label{min-width:0}.prospects strong>span{white-space:nowrap}
@media(max-width:767px){.manual-value{padding:6px}.input-title label{max-width:none;flex:1}.prospects>div{flex-wrap:wrap;gap:16px 30px}}

/* Calculator spacing and controls. */
.calculator{--calc-small:15px;--calc-body:17px;--calc-value:20px;padding-top:120px;padding-bottom:48px}
.calc-heading{margin-bottom:28px}
.calc-heading h1{}
.calc-grid{gap:12px}
.numbers,.returns{padding:28px}
.calc-grid h2{}
.calc-grid h2+p{line-height:1.45;margin-top:8px}
.numbers h2+p,.input-group p,.range-limits{color:#666}
.prospects{margin-top:20px;padding:16px 18px}
.prospects>span{font-weight:500}
.prospects>div{margin-top:8px;gap:16px 28px;flex-wrap:wrap}
.prospects strong{}
.prospects small{line-height:1.4;color:#666}
.input-group{margin-top:20px}
.input-title label{line-height:1.35}
.manual-value{padding:6px 8px}
.input-group p{line-height:1.4;margin-top:6px}
.input-group input[type="range"]{margin:16px 0 9px}
.range-limits{line-height:1.35}
.metrics{padding:24px 0;gap:12px}
.metrics span{line-height:1.4;margin-top:7px}
.breakdown{padding:14px 0}
.breakdown>div{line-height:1.4;padding:10px 0}
.breakdown small{color:#d0d0d0}
.breakdown label{min-width:0}
#tech-volume{display:inline-block}
.breakdown input{width:84px;padding:5px}
.breakdown>div>span:last-child{flex-shrink:0}
.breakdown .total{padding-top:14px;margin-top:4px}
.roi-box{padding:22px;gap:12px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.roi-box span{line-height:1.4}
.roi-box strong{margin-top:8px}
.roi-box>div:last-child{padding-left:18px}
@media(max-width:767px){
 .calculator{padding:104px 16px 36px}
 .calc-heading{margin-bottom:22px}
 .calc-heading h1{}
 .numbers,.returns{padding:22px 18px}
 .calc-grid h2{}
 .manual-value{}
 .manual-value input{width:7ch}
 .input-group{margin-top:18px}
 .roi-box{padding:18px}
 .roi-box>div:last-child{padding-left:12px}
}

.booking-calendar{width:100%;margin-top:24px;scroll-margin-top:24px;min-height:700px}.booking-calendar>div{width:100%;min-height:700px;overflow:visible}.bottom-content>.booking-fallback{margin-top:0}.booking-fallback a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.booking-calendar{margin-top:16px}.booking-calendar,.booking-calendar>div{min-height:720px}}

.bottom-content .booking-heading{white-space:normal}

.booking-calendar{overflow-anchor:none}

.bottom-content .booking-heading{text-align:center;max-width:none;width:100%}

.bottom-content>.booking-fallback{width:100%;max-width:none;text-align:center}

/* Distribution positioning, retaining Sprinny's established visual identity. */
.hero{height:auto;min-height:100svh;padding:150px 32px 110px}
.hero h1{max-width:1320px;letter-spacing:-.015em;line-height:1.08}
.headline-line{white-space:normal}
.hero-main>p{width:100%;max-width:1100px;color:#d5d5d5;text-wrap:balance}
nav a{}
.problem h2{max-width:920px;font-family:var(--font-heading);letter-spacing:-.035em}
.problem-copy{max-width:720px;color:#666;line-height:1.6}
.section-intro h2{max-width:760px}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.service-card{display:flex;flex-direction:column;min-width:0;background:var(--card);padding:32px 28px}


.service-card h3{letter-spacing:-.035em;margin-bottom:16px}
.service-card>p{line-height:1.55;color:#5f5f5f;margin-bottom:24px}
.service-card ul{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid #ccc}
.service-card li{line-height:1.5;padding:13px 0;border-bottom:1px solid #ccc}
.bottom-content>.booking-intro{max-width:650px;text-align:center;align-self:center;line-height:1.5}
@media(max-width:1000px){.services{grid-template-columns:1fr}.service-card{padding:32px}.service-card>p{max-width:680px}.service-card ul{max-width:none}.hero h1{}}
@media(max-width:767px){.hero{min-height:760px;min-height:100svh;padding:140px 20px 96px}.hero h1{line-height:1.12}.hero-main>p{}.service-card{padding:28px 24px}.service-card h3{}.problem-copy{}.section-intro p{max-width:600px}.steps h3{min-height:58px}}
@media(max-width:479px){.nav-panel{gap:12px;flex-wrap:wrap}.nav-panel nav{gap:12px}nav a{}.logo{}.steps h3{min-height:0}.hero h1{}.hero .headline-line{display:inline}.hero .headline-line:not(:last-child)::after{content:' '}}

/* Exact two-line hero and one consistent problem statement. */
.hero-main{container-type:inline-size}
.hero h1{max-width:none;line-height:1.12}
.hero .headline-line{display:block;white-space:nowrap}
.hero .headline-line:not(:last-child)::after{content:none}
.problem h2{max-width:1040px;line-height:1.22}
.problem-line{display:block;white-space:nowrap}
@media(max-width:600px){
 .problem h2{}
 .problem-continuation{display:block}
}

/* Keep the complete problem copy at one scale with natural responsive wrapping. */
.problem h2{max-width:1400px;line-height:1.22;text-wrap:balance}

/* Preserve intentional line breaks as the statement scales. */
.problem .content-wrap{container-type:inline-size}
.problem h2{text-wrap:initial}
.problem .problem-line{display:block;white-space:nowrap}

.problem-group{display:block;margin-top:.6em}

/* Compact process cards with a shared baseline for the descriptions. */
.how .steps article{padding:24px}
.how .step-top{line-height:1.2;margin-bottom:24px}
.how .steps h3{line-height:1.2;min-height:2.4em;max-width:none;margin-bottom:12px}
.how .steps p{line-height:1.5}
@media(max-width:600px){
 .how .steps{grid-template-columns:1fr}
 .how .step-top{margin-bottom:20px}
 .how .steps h3{min-height:0}
}

/* Intentional sentence breaks with readable wrapping on narrow screens. */
.problem h2{}
.problem .problem-line{white-space:normal;text-wrap:pretty}

.problem .problem-conclusion{margin-top:.4em}

/* State the offer entirely in headline type inside one rectangle. */
.offer .section-intro{margin-bottom:24px}
.offer .section-intro>.label{margin-bottom:0}
.offer-box{display:flex;flex-direction:column;width:100%;padding:64px 48px;background:var(--card);color:#111;border-radius:0}
.offer-box h2{max-width:1100px;font-family:var(--font-heading);font-weight:400;line-height:1.2;letter-spacing:-.05em;text-wrap:balance}
.offer-box h2>span{display:block}
.offer-box h2>span+span{margin-top:.45em}
@media(max-width:767px){.offer-box{padding:40px 24px}.offer-box h2{}}

/* A connected icon sequence explains the complete offer without body copy. */
.offer-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:100%;max-width:1000px;margin:56px 0 0;padding:0;list-style:none}
.offer-flow li{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;gap:20px}
.offer-icon{display:grid;place-items:center;flex-shrink:0;width:80px;height:80px;border:1px solid #c6c6c6;border-radius:50%;background:#f5f5f5;color:#111}
.offer-icon svg{width:34px;height:34px;overflow:visible}
.offer-flow h3{max-width:190px;min-height:2.5em;line-height:1.25;font-weight:400;letter-spacing:-.035em;text-wrap:balance}
.offer-connector{position:absolute;top:40px;left:calc(50% + 48px);width:calc(100% + 32px - 96px);height:1px;background:#bbb}
.offer-connector:before{content:'';position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid #999;border-right:1px solid #999;transform:rotate(45deg)}
.offer-connector:after{content:'';position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#111;opacity:0}
@media(prefers-reduced-motion:no-preference){
 .offer-flow.is-playing .offer-icon{animation:offer-stage 6s var(--ease) infinite;animation-delay:calc(var(--flow-step)*1.35s)}
 .offer-flow.is-playing .offer-icon svg{animation:offer-symbol 6s var(--ease) infinite;animation-delay:calc(var(--flow-step)*1.35s)}
 .offer-flow.is-playing .offer-connector:after{animation:offer-transfer 6s linear infinite;animation-delay:calc(var(--flow-step)*1.35s + .6s)}
}
@keyframes offer-stage{0%,100%{background:#f5f5f5;color:#111;border-color:#c6c6c6;transform:none}6%,16%{background:#111;color:#fff;border-color:#111;transform:translateY(-4px)}24%{background:#f5f5f5;color:#111;border-color:#c6c6c6;transform:none}}
@keyframes offer-symbol{0%,24%,100%{transform:none}6%,16%{transform:scale(1.1)}}
@keyframes offer-transfer{0%{left:0;opacity:1}13%{left:calc(100% - 4px);opacity:1}15%,100%{left:calc(100% - 4px);opacity:0}}
@keyframes offer-transfer-down{0%{top:0;opacity:1}13%{top:calc(100% - 4px);opacity:1}15%,100%{top:calc(100% - 4px);opacity:0}}
@media(max-width:1000px){
 .offer-flow{grid-template-columns:1fr;gap:28px;max-width:420px;margin-top:40px}
 .offer-flow li{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:20px;min-height:80px}
 .offer-icon{width:64px;height:64px}
 .offer-icon svg{width:30px;height:30px}
 .offer-flow h3{max-width:none;min-height:0;}
 .offer-connector{left:32px;top:72px;width:1px;height:calc(100% + 28px - 64px)}
 .offer-connector:before{right:auto;left:-2px;top:auto;bottom:0;transform:rotate(135deg)}
 .offer-connector:after{left:-2px;top:0}
}
@media(max-width:1000px) and (prefers-reduced-motion:no-preference){.offer-flow.is-playing .offer-connector:after{animation-name:offer-transfer-down}}
@media(max-width:479px){.offer-flow li{column-gap:16px}.offer-flow h3{}}

/* A transparent hero navigation with a centered logo and right-side links. */
header{position:absolute;justify-content:center;align-items:center}
.nav-panel{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);flex:1;width:100%;max-width:100%;margin:0;padding:17px 18px;gap:0;min-height:59px;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;text-align:center}
.nav-panel .logo{grid-column:2;justify-self:center;color:#fff;background:transparent}
.nav-panel nav{grid-column:3;justify-self:end;justify-content:flex-end;flex-wrap:wrap;max-width:100%;gap:8px 28px}
.nav-panel nav a{color:#fff;background:transparent}
.scrolled .nav-panel{box-shadow:none}

/* Center section headings and copy while keeping FAQ rows left aligned. */
.hero,.section,.bottom-cta{text-align:center}
.hero-main,.problem .content-wrap,.section-intro,.section-heading,.faq-heading,.offer-box,.how .steps article,.bottom-content{align-items:center;text-align:center}
.hero-main{max-width:1400px;margin-inline:auto}
.section h2,.section h3,.section p,.hero-main>p,.bottom-content>p{margin-inline:auto}
.faq .content-wrap{max-width:1100px}
.questions{max-width:960px;margin-inline:auto;text-align:left}
.questions summary{padding:25px 54px 25px 0;text-align:left}
.questions .answer p{margin-inline:0;padding:0 64px 25px 0;text-align:left}
.booking-calendar{max-width:1100px;margin-inline:auto}
@media(max-width:1000px){
 .nav-panel{grid-template-columns:1fr;padding:8px 4px;row-gap:12px;min-height:0}
 .nav-panel .logo{grid-column:1;grid-row:1}
 .nav-panel nav{grid-column:1;grid-row:2;gap:8px 18px}
}
@media(max-width:767px){
 .nav-panel nav a{min-height:36px}
 .questions summary{padding:23px 45px 23px 0}
 .questions .answer p{padding:0 24px 25px 0}
}

/* Keep the restored calculator and white navigation on a dark page. */
.calculator-page{background:#000;color:#fff}
.calculator-page header{position:absolute}
.calculator-page .numbers{color:#111}
.calculator-back{display:grid;place-items:center;grid-column:1;grid-row:1;justify-self:start;width:44px;height:44px;color:#fff;background:transparent;border:1px solid #ffffff40;border-radius:50%;transition:background .2s,color .2s,border-color .2s}
.calculator-back svg{width:20px;height:20px}
.calculator-back:hover,.calculator-back:focus-visible{background:#fff;color:#000;border-color:#fff}
@media(min-width:480px) and (max-width:1000px){.calculator-page .calculator{padding-top:144px}}
@media(max-width:479px){.calculator{padding-top:170px}.hero{padding-top:176px}}

/* Responsive layouts preserve the desktop composition and give touch controls room. */
.booking-calendar,.booking-calendar>div{min-width:0;max-width:100%}
.booking-calendar iframe{display:block;width:100%;max-width:100%;border:0}
.metrics>div,.roi-box>div{min-width:0}
.metrics strong,.roi-box strong{display:block;overflow-wrap:anywhere}
@media(max-width:1000px){
 .nav-panel{row-gap:8px}
 .nav-panel .logo,.nav-panel nav a{display:inline-flex;align-items:center;min-height:44px}
 .nav-panel nav a{}
 .hero{padding-top:160px}
 .calculator-page .calculator{max-width:800px;padding:160px 16px 48px}
 .calc-grid{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media(max-width:767px){
 html{scroll-padding-top:24px}
 body{background:#000}
 body:not(.calculator-page) main{background:var(--paper)}
 header,.calculator-page header{position:relative;top:auto;left:auto;right:auto;padding:12px 12px 0}
 .nav-panel{padding:8px 4px}
 .nav-panel .logo{}
 .nav-panel nav{justify-self:center;justify-content:center;gap:8px 16px}
 .hero{height:auto;min-height:calc(100svh - 124px);padding:44px 20px 80px}
 .hero-main{gap:22px}
 .hero h1{line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
 .hero .headline-line{white-space:normal}
 .hero .headline-line+.headline-line{margin-top:.22em}
 .hero-main>p{line-height:1.5;max-width:40rem}
 .hero-main>.button{margin-top:4px}
 .scroll-down{bottom:16px;min-height:44px;display:inline-flex;align-items:center}
 .section{padding-top:72px;padding-bottom:72px}
 .offer{padding-top:0;padding-bottom:0}
 .problem h2{line-height:1.25}
 .section-heading,.faq-heading{gap:24px;margin-bottom:28px}
 .section-heading h2,.faq-heading h2{line-height:1.15}
 .offer-box{padding:36px 20px}
 .offer-box h2{line-height:1.2}
 .offer-flow{margin-top:32px}
 .offer-flow h3{}
 .how .steps article{padding:24px 20px}
 .how .step-top{margin-bottom:18px}
 .how .steps h3{}
 .how .steps p{line-height:1.5}
 .faq{padding-top:0}
 .questions summary{line-height:1.4;padding:22px 42px 22px 0}
 .questions .answer p{line-height:1.6;padding:0 16px 24px 0}
 .bottom-cta{padding:72px 20px}
 .bottom-content .booking-heading{line-height:1.15}
 .bottom-content>.booking-intro{line-height:1.5}
 .booking-fallback a{display:inline-flex;align-items:center;min-height:44px}
 .calculator-page .calculator{padding-top:36px;padding-bottom:36px}
 .calc-heading{text-align:center;margin-bottom:24px}
 .calc-heading h1{line-height:1.15}
 .numbers,.returns{padding:24px 18px}
 .calc-grid h2{line-height:1.2}
 .calc-grid h2+p{line-height:1.5}
 .prospects{padding:16px}
 .prospects strong{max-width:100%}
 .prospects strong>span{white-space:normal}
 .input-title{flex-wrap:wrap}
 .input-title label{}
 .manual-value{min-height:44px}
 .manual-value input{min-height:30px}
 .input-group input[type="range"]{height:44px;background:transparent;margin:4px 0 0}
 .input-group input[type="range"]::-webkit-slider-runnable-track{height:3px;background:#dcdcdc;border-radius:3px}
 .input-group input[type="range"]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10.5px;border:3px solid #000;background:#fff}
 .input-group input[type="range"]::-moz-range-track{height:3px;background:#dcdcdc;border-radius:3px}
 .input-group input[type="range"]::-moz-range-thumb{width:18px;height:18px;border:3px solid #000;background:#fff}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .metrics>div:last-child{grid-column:1/-1}
 .metrics strong{line-height:1.15}
 .metrics span{}
 .breakdown>div{flex-wrap:wrap;gap:8px 12px}
 .breakdown>div>strong,.breakdown>div>span:last-child{margin-left:auto;max-width:100%;overflow-wrap:anywhere}
 .breakdown input{min-height:44px;width:7ch;min-width:96px;max-width:100%}
 .roi-box span{}
 .roi-box strong{line-height:1.15}
}
@media(max-width:600px){
 .how .steps{grid-template-columns:minmax(0,1fr)}
 .how .steps h3{min-height:0}
 .input-title{flex-direction:column;align-items:stretch;gap:10px}
 .manual-value{width:100%}
 .manual-value input{flex:1;width:100%;min-width:0}
}
@media(max-width:479px){
 .offer-box{padding:32px 20px}
 .roi-box{grid-template-columns:minmax(0,1fr);gap:18px}
 .roi-box>div:last-child{border-left:0;padding-left:0;border-top:1px solid #1d1d1d30;padding-top:18px}
}


/* One fluid type scale across both pages; breakpoints only arrange the layout. */
:root{
 --type-small:clamp(.875rem,.84rem + .15vw,.9375rem);
 --type-body:clamp(1rem,.94rem + .18vw,1.125rem);
 --type-lead:var(--type-body);
 --type-nav:var(--type-small);
 --type-logo:clamp(1.25rem,1.2rem + .25vw,1.375rem);
 --type-hero:clamp(1.75rem,4cqw,3.375rem);
 --type-section:clamp(1.75rem,1.125rem + 1.3vw,2.5rem);
 --type-title:clamp(2rem,1.85rem + .75vw,2.5rem);
 --type-card:clamp(1.25rem,1.21rem + .18vw,1.375rem);
 --type-question:clamp(1.125rem,1.085rem + .18vw,1.25rem);
 --type-input:var(--type-body);
 --type-calc-heading:clamp(1.5rem,1.4rem + .4vw,1.75rem);
 --type-prospect:clamp(1.375rem,1.3rem + .35vw,1.625rem);
 --type-metric:clamp(1.75rem,1.25rem + 1.6cqw,2.25rem);
 --type-roi:clamp(1.75rem,1.375rem + 2cqw,2.5rem);
 --width-page:87.5rem;
 --width-feature:68.75rem;
 --width-heading:50rem;
 --width-copy:42rem;
 --width-faq:60rem;
}
html{font-size:100%}
body,p{font-size:var(--type-body);line-height:1.5}
h1{font-size:var(--type-hero);line-height:1.12}
h2{font-size:var(--type-section);line-height:1.22}
h3{font-size:var(--type-card);line-height:1.25}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
.nav-panel .logo{font-size:var(--type-logo);letter-spacing:-.055em;line-height:1.15}
.nav-panel nav a{font-size:var(--type-nav);line-height:1.4;min-height:44px}
.nav-panel nav{gap:.5rem clamp(.75rem,.5rem + 1vw,1.75rem)}
.button,.button.book{font-size:var(--type-input);line-height:1.25;min-width:min(100%,14rem);white-space:normal;gap:.75em;padding:clamp(.875rem,.8rem + .2vw,1.125rem) clamp(1.125rem,1rem + .5vw,1.75rem)}
.button-arrow,.button.book .button-arrow{font-size:1.3em;flex-shrink:0}
.label,.hero-eyebrow,.scroll-down,.bottom-content>.booking-fallback{font-size:var(--type-small)}
.hero-main{max-width:var(--width-page)}
.hero h1{font-size:var(--type-hero);max-width:var(--width-page);width:100%;margin-inline:auto;letter-spacing:-.025em}
.hero .headline-line{white-space:normal;text-wrap:balance}
.hero-main>p{font-size:var(--type-lead);max-width:var(--width-feature);line-height:1.5}
.problem h2,.offer-box h2{font-size:var(--type-section);max-width:var(--width-feature);width:100%;line-height:1.22}
.section-intro h2,.section-heading h2,.faq-heading h2,.bottom-content .booking-heading{font-size:var(--type-section);max-width:var(--width-heading);width:100%;line-height:1.22}
.offer-flow h3,.how .steps h3,.service-card h3,.flow-label{font-size:var(--type-card);line-height:1.25}
.flow-arrow{font-size:var(--type-card)}
.how .steps h3{max-width:22ch}
.offer-flow h3{max-width:18ch}
.how .step-top{font-size:var(--type-calc-heading)}
.how .steps p,.questions .answer p,.service-card>p,.service-card li,.offer-bottom p,.problem-copy{font-size:var(--type-body);line-height:1.5}
.how .steps p{max-width:34ch}
.section-intro p,.offer-bottom p,.problem-copy,.bottom-content>p,.bottom-content>.booking-intro{max-width:var(--width-copy)}
.bottom-content>.booking-intro{font-size:var(--type-lead);line-height:1.5}
.faq .content-wrap{max-width:var(--width-feature)}
.questions{max-width:var(--width-faq)}
.questions summary{font-size:var(--type-question);line-height:1.4}
.questions .answer p{max-width:68ch;margin-inline:0;text-align:left}
.plus{font-size:1.25rem}
.booking-calendar{max-width:var(--width-feature)}
.calculator{max-width:92.5rem;--calc-small:var(--type-small);--calc-body:var(--type-body);--calc-value:var(--type-input)}
.calc-heading h1{font-size:var(--type-title);line-height:1.15;max-width:var(--width-heading)}
.numbers,.returns{container-type:inline-size}
.calc-grid h2{font-size:var(--type-calc-heading);line-height:1.2}
.calc-grid h2+p{font-size:var(--type-body);line-height:1.5;max-width:42ch}
.prospects>span,.prospects small,.input-group p,.range-limits,.metrics span,.breakdown small,.returns .disclaimer{font-size:var(--type-small);line-height:1.45}
.prospects strong{font-size:var(--type-prospect)}
.input-title{flex-wrap:wrap}
.input-title label,.input-title output,.breakdown>div,.breakdown input,.roi-box span{font-size:var(--type-body);line-height:1.4}
.manual-value,.manual-value input{font-size:var(--type-input)}
.manual-value{max-width:100%;min-width:0;min-height:44px}
.manual-value input{max-width:100%}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.metrics>div:last-child{grid-column:auto}
.metrics strong{font-size:var(--type-metric);line-height:1.15}
.metrics span{overflow-wrap:anywhere}
.roi-box strong{font-size:var(--type-roi);line-height:1.15}
.breakdown>div{flex-wrap:wrap}
.breakdown>div>strong,.breakdown>div>span:last-child{max-width:100%;overflow-wrap:anywhere}
.breakdown input{width:7ch;min-width:0;max-width:100%;min-height:44px}
dialog h2{font-size:var(--type-title)}
dialog p{font-size:var(--type-body)}
dialog .booking-note{font-size:var(--type-small)}
.close-dialog{font-size:var(--type-calc-heading)}
@media(max-width:1000px){.offer-flow h3{max-width:100%}}
@media(min-width:601px){.how .steps h3{min-height:2.5em}}
@container (max-width:38rem){
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metrics>div:last-child{grid-column:1/-1}
}
@container (max-width:19rem){.metrics{grid-template-columns:minmax(0,1fr)}}
@container (max-width:24rem){
 .roi-box{grid-template-columns:minmax(0,1fr);gap:18px}
 .roi-box>div:last-child{border-left:0;padding-left:0;border-top:1px solid #1d1d1d30;padding-top:18px}
}
@container (max-width:28rem){
 .input-title{flex-direction:column;align-items:stretch;gap:10px}
 .manual-value{width:100%}
 .manual-value input{flex:1;width:100%;min-width:0}
}
