/* Public-site type scale, based on the Onboarding & Setup reference.
   Keep figures, chart values, icons and compact navigation in their own roles. */
:root{--type-hero:62px;--type-home-hero:72px;--type-section:48px;--type-subheading:22px;--type-lead:22px;--type-body:16px;--type-caption:15px;--type-eyebrow:13px;--type-button:15px}
body{font-size:var(--type-body);line-height:1.55}
body main h1{font-size:var(--type-hero)!important;line-height:.98!important;font-weight:700;letter-spacing:-.05em;overflow-wrap:break-word}
body main .original-home-hero h1{font-size:var(--type-home-hero)!important}
body main h2{font-size:var(--type-section)!important;line-height:1.04!important;font-weight:700;letter-spacing:-.045em;overflow-wrap:break-word}
body main h3,body main .card h3,body main .steps h3{font-size:var(--type-subheading)!important;line-height:1.2!important;font-weight:700}
body main h4{font-size:19px!important;line-height:1.3}
body main p,body main .card p,body main .prose p,body main .steps p,body main .build-card>p,body main .build-process li p{font-size:var(--type-body)!important;line-height:1.6}
body main .lede,body main .hero-copy>.lede,body main .page-intro .lede,body main .section-head>.lede,body main .booking-intro>p,body main .build-section-heading p,body main .build-final-cta> .wrap>p:not(.eyebrow){font-size:var(--type-lead)!important;line-height:1.5}
body main .eyebrow,body main .card-tag,body main .plan-name,body main .collapse-label,body main .demo-kicker,body main .on-eyebrow{font-size:var(--type-eyebrow)!important;letter-spacing:.16em;line-height:1.5}
body main .fine,body main .build-best,body main .build-combo-note,body main .plan-billing-note,body main .pricing-conversion-note,body main small{font-size:var(--type-caption)!important;line-height:1.5}
body main li,body main .plain-list,body main .plain-list li{font-size:var(--type-body)!important;line-height:1.55}
body main summary,body main .faq summary{font-size:19px!important;line-height:1.35}
body main input,body main select,body main textarea{font-size:16px!important;line-height:1.4}
body main label,body main .field label,body main .legend,body main th,body main td{font-size:16px!important;line-height:1.5}
body main .anchor-nav a,body main .build-category-nav strong{font-size:17px!important;line-height:1.35}
body main .build-result>span{font-size:12px!important}body main .build-result strong{font-size:15px!important;line-height:1.4}
body .site-footer p,body .footer-grid a,body .footer-grid h4,body .footer-legal-links a{font-size:15px!important;line-height:1.5}
body .site-footer .legal-line,body .footer-social-label{font-size:13px!important;line-height:1.5}
/* Shared CTA buttons use 15px labels on every screen. */
body .btn,body .btn.small,body .btn.large,body main .btn,body .header-cta .btn{font-size:var(--type-button)!important;line-height:1.3;white-space:normal}
body .btn .arrow{font-size:24px;line-height:1;flex:none}
body .header-cta .btn{padding:11px 14px;gap:10px}
body main .cta-band h2,body main .build-final-cta h2{font-size:52px!important;line-height:.98!important}
body main .cta-band .cta-copy .lede,body main .build-final-cta>.wrap>p:not(.eyebrow){font-size:20px!important;line-height:1.5}
/* The onboarding CTA uses the existing inset card shape, colours and buttons. */
body .setup-service-main{padding-bottom:35px}
body .setup-service-main .setup-service-cta{max-width:1192px;width:calc(100% - 50px);margin:35px auto 0;padding:56px 0;border-radius:12px;background:#274B3C;color:#FBFCF8;overflow:hidden}
body .setup-service-main .setup-service-cta>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:center;gap:40px;padding:0 40px}
body .setup-service-cta .cta-copy{max-width:none}
body .setup-service-cta .eyebrow{color:#C9D6B8;margin-bottom:22px}
body .setup-service-cta .cta-copy h2{margin-bottom:24px}
body .setup-service-cta .cta-copy .lede{color:#DCE5D0}
.setup-cta-actions{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:14px;min-width:0}
body .setup-service-cta .setup-cta-actions .btn{display:flex;width:100%;height:100%;min-height:84px;justify-content:space-between;gap:18px;padding:18px 22px;border-radius:6px;background:#FBFCF8;color:#1B2B24;border:1px solid #FBFCF8;text-align:left}
body .setup-service-cta .setup-cta-actions .btn.ghost{background:transparent;color:#FBFCF8;border-color:#C9D6B8}
/* Prevent larger type from exceeding existing fixed demo/form layouts. */
body main .card,body main .plan,body main .hero-copy,body main .cta-copy,body main .on-card,body main .trial-card{min-width:0}
body main .section-head{align-items:start}
body main .cta-band .cta-talk{white-space:normal}
@media(min-width:761px) and (max-width:1100px){body .setup-service-main .setup-service-cta>.wrap{grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:28px}}
@media(max-width:760px){
 :root{--type-hero:52px;--type-home-hero:56px;--type-section:34px;--type-lead:20px}
 body main h1{line-height:1.03!important}body main h2{line-height:1.1!important}
 body main .cta-band h2,body main .build-final-cta h2{font-size:40px!important;line-height:1.02!important}
 body main .cta-band .cta-copy .lede,body main .build-final-cta>.wrap>p:not(.eyebrow){font-size:18px!important}
 body .setup-service-main .setup-service-cta{width:calc(100% - 32px);margin:24px auto 0;padding:36px 0}
 body .setup-service-main .setup-service-cta>.wrap{grid-template-columns:minmax(0,1fr);padding:0 26px;gap:28px}
 .setup-cta-actions{width:100%}
 body .setup-service-cta .setup-cta-actions .btn{min-height:78px}
 body main .btn-row{flex-wrap:wrap}
 body main .btn-row .btn{max-width:100%}
}


/* Consistent footer CTA spacing on desktop and mobile, including service variants. */
body main .cta-band.cta-band,body main .build-final-cta.build-final-cta{padding-top:80px!important;padding-bottom:80px!important}

/* Pricing figures match the Founding Operator deal. */
body main #managed-plans .price.plan-price-amount{font-family:Manrope,sans-serif;font-size:54px!important;font-weight:800!important;letter-spacing:-.05em;line-height:1!important;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}body main #managed-plans .price.plan-price-amount small{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:400;letter-spacing:normal;line-height:1.4}
