/* One readable family; hierarchy uses size, not alternate type styles. */
:root{--text-body:16px;--text-small:14px;--title-section:clamp(28px,3.2vw,40px);--title-card:22px}
body,body *,body *::before,body *::after{font-family:var(--sans)!important;font-style:normal!important}
body{font-size:var(--text-body);line-height:1.6}
main p,.section p,.hero p,.faq details p{font-size:var(--text-body);line-height:1.6;letter-spacing:normal}
h1,h2,h3,h4{font-weight:700!important;letter-spacing:-.025em!important;line-height:1.18!important}
h2,.section h2,.faq h2,.partners h2,.banks h2,#contact h2{font-size:var(--title-section)!important}
h3,.section h3,.process-step h3,.journey-copy h3{font-size:var(--title-card)!important}
h4{font-size:18px!important}
.field label,.field small,.form-note,.legal-note,.quiet,.business-note,.journey-source,.consent-details,.consent-details p,#contact .consent,#contact .form-intro,.program-status{font-size:var(--text-small)!important;line-height:1.55!important}
.field label,.btn,.text-link,.faq summary{font-weight:600}.faq summary{font-size:18px!important;line-height:1.4}
.promo-video{display:flex!important;flex-direction:column!important;align-items:center;gap:24px;padding-top:32px;padding-bottom:32px}
.promo-copy{order:0!important;width:100%;max-width:850px;text-align:center}
#video-title{font-size:clamp(34px,5.4vw,64px)!important;margin:0 auto 16px;max-width:850px;color:#1d1d1f;text-wrap:balance}
#video-title .title-context{display:block;font-size:.57em;line-height:1.4;font-weight:500;letter-spacing:0;margin-bottom:6px;color:#39485b}
#video-title .title-main{display:block}
#video-title .title-accent{display:inline-block;color:#0064cb;position:relative}
#video-title .title-accent:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:3px;border-radius:3px;background:currentColor;transform:scaleX(.3);transform-origin:left;opacity:.3;transition:transform .3s,opacity .3s}
.promo-copy:hover .title-accent:after,.promo-copy:focus-within .title-accent:after{transform:scaleX(1);opacity:.8}
#video-title .title-main{animation:titleEnter .7s ease-out both}
@keyframes titleEnter{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:none}}
.promo-copy .typing-line{margin:18px auto!important;max-width:540px;min-height:1.6em;font-size:16px!important;line-height:1.6!important}
.promo-copy .btn{width:auto;min-width:220px;margin-top:0;font-size:16px;min-height:50px}
.promo-player{order:1!important;max-width:320px;width:100%;margin-inline:auto}.promo-player p{font-size:14px;line-height:1.5;text-align:center;color:#515964;max-width:360px}
.hero{display:block!important;max-width:640px;padding-top:24px!important}.hero .hero-copy{display:none!important}.hero #contact{width:100%;max-width:none;margin:0}
#contact-title{font-size:28px!important}#contact .form-intro{font-size:16px!important}
.section{padding-block:64px}.section p{max-width:70ch}.process-step p,.journey-copy p{font-size:16px!important}
#stickyCta{grid-template-columns:1fr 1fr 1.15fr}
@media(max-width:700px){.promo-video{padding-top:22px;padding-bottom:24px;gap:20px}#video-title{font-size:clamp(34px,9vw,40px)!important}.promo-copy .typing-line{max-width:330px;min-height:3.2em;margin:14px auto!important}.promo-copy .btn{width:100%}.promo-player{width:78%;max-width:280px}.section{padding-block:44px}.process-grid{grid-template-columns:1fr}.process-step p{font-size:16px!important}.hero{width:calc(100% - 32px)}.footer-top>p{font-size:22px}.promo-player>p{display:block;font-size:14px}}
@media(prefers-reduced-motion:reduce){#video-title .title-main{animation:none}#video-title .title-accent:after{transition:none}}

.journey-kicker{color:#006b79!important;font-size:14px!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
