/* Shared spacing and hierarchy, without constraining readable content to fixed heights. */
:root{--ox-section-space:clamp(56px,5vw,80px);--ox-heading-gap:clamp(44px,4vw,60px);--ox-label-gap:18px;--ox-panel-radius:20px}
body.rails-home main>section{scroll-margin-top:84px}
body.rails-home #who-we-serve,body.rails-home #the-account{scroll-margin-top:84px}
.ox-product-audience,.ox-product-account,.ox-assurance,.ox-convert-onboarding,.ox-convert-pricing,.ox-contact{padding-block:var(--ox-section-space)}
.ox-product-section-head,.ox-convert-heading-row,.ox-assurance-heading,.ox-contact-heading{margin-bottom:var(--ox-heading-gap)}
.ox-product-section-head h2,.ox-convert-onboarding h2,.ox-convert-pricing h2,.ox-assurance-heading h2,.ox-contact-heading h2{font-size:clamp(40px,4.1vw,60px);line-height:1.1;letter-spacing:-.045em;font-weight:400;text-wrap:balance}
.ox-product-eyebrow,.ox-convert-label{margin-bottom:var(--ox-label-gap);font-size:14px;line-height:1.5;letter-spacing:.07em}
.ox-convert-journey{gap:clamp(28px,4vw,56px)}
.ox-convert-step{padding-top:24px}
.ox-convert-number{font-size:48px;margin-bottom:22px}
.ox-convert-step h3{font-size:26px;line-height:1.2;margin-bottom:18px;min-height:63px}
.ox-convert-step-copy li{margin-bottom:10px}
.ox-convert-assurance{margin-top:32px;padding-top:22px}
.ox-convert-minimum{margin-top:36px;padding-top:22px}
.ox-convert-pricing-layout{gap:clamp(32px,5vw,76px)}
.ox-assurance-grid,.ox-contact-grid{gap:24px}
.ox-assurance-grid article,.ox-contact-card,.ox-card-stage{border-radius:var(--ox-panel-radius)}
.button,.ox-product-signup,.ox-convert-signup,.ox-card-signin{min-height:48px;border-radius:8px;font-size:16px;line-height:1.4}
.ox-header .ox-nav-signup{min-height:44px;font-size:16px}
.ox-convert-signup{margin-top:22px}
.ox-card-film{padding-block:8px 0}
.ox-assembly{min-height:0;padding:56px 0 32px}
.assembly-heading{min-height:0;margin-bottom:36px}
.assembly-heading h2{font-size:clamp(36px,4.1vw,60px);line-height:1.12}
.assembly-media{height:clamp(300px,calc(100svh - 260px),560px);margin-top:0}
.assembly-footer{margin-top:12px}
.section-arrive{animation-duration:.65s}
.section-arrive-delay{animation-delay:.06s}
@keyframes section-arrive{from{opacity:.75;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px) and (max-height:780px){:root{--ox-section-space:48px;--ox-heading-gap:40px}.ox-product-section-head h2,.ox-convert-onboarding h2,.ox-convert-pricing h2,.ox-assurance-heading h2,.ox-contact-heading h2{font-size:48px}.ox-convert-number{font-size:42px;margin-bottom:18px}.ox-assurance-heading{margin-bottom:var(--ox-heading-gap)}}
@media(max-width:850px){:root{--ox-heading-gap:36px;--ox-label-gap:16px}.ox-product-section-head h2,.ox-convert-onboarding h2,.ox-convert-pricing h2,.ox-assurance-heading h2,.ox-contact-heading h2{font-size:clamp(36px,6vw,48px)}.ox-assurance-grid,.ox-contact-grid{gap:20px}.ox-convert-pricing-layout{gap:var(--ox-heading-gap)}}
@media(max-width:580px){:root{--ox-section-space:48px;--ox-panel-radius:16px}.ox-convert-step{padding-top:0;padding-bottom:32px}.ox-convert-step:last-child{padding-bottom:0}.ox-convert-step h3{min-height:0;font-size:25px}.ox-convert-number{font-size:36px;margin-bottom:16px}.ox-convert-promise{margin-top:20px}.ox-convert-assurance{margin-top:28px}.ox-assembly{padding:40px 0 28px}.assembly-heading{padding-inline:20px;margin-bottom:28px}.assembly-media{width:100%;margin-left:0;height:320px}.assembly-heading h2{font-size:36px}.ox-card-film{padding-top:0}}
@media(prefers-reduced-motion:reduce){.section-arrive{animation:none}.button,.ox-product-signup,.ox-convert-signup,.ox-card-signin{transition:none}}

/* Separate the label, title and body consistently; content determines height. */
.ox-product-section-head,.ox-assurance-heading,.ox-contact-heading,.ox-convert-heading-row{margin-bottom:var(--ox-heading-gap)}
.ox-assurance-heading .ox-convert-label,.ox-contact-heading .ox-convert-label{margin-bottom:var(--ox-label-gap)}
.ox-product-section-head h2,.ox-assurance-heading h2,.ox-contact-heading h2{margin-bottom:0}
.ox-product-audience-layout,.ox-product-account-layout{column-gap:clamp(36px,5vw,76px);row-gap:40px}
.ox-assurance-panel-top{margin-bottom:20px}
.ox-support-intro{margin-top:22px}
.ox-convert-step h3{margin-bottom:20px}
.ox-convert-assurance{margin-top:40px}
.ox-convert-pricing-copy p+p{margin-top:24px}
.ox-product-audience-note{margin-top:28px}
@media(max-width:580px){.ox-product-audience-layout,.ox-product-account-layout{row-gap:32px}.ox-convert-assurance{margin-top:32px}.ox-convert-step h3{margin-bottom:16px}}
