.homepage .hero-banner{display:block;position:relative;isolation:isolate;width:100%;margin:20px 0 35px;padding:0;background:#f5faff;overflow:hidden}.homepage .hero-banner .hero-visual{position:absolute;inset:0;z-index:-1;height:100%}.hero-banner .hero-illustration{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}.hero-banner .hero-content{position:relative;min-height:clamp(600px,52vw,760px);padding-block:clamp(75px,7vw,105px) 170px}.hero-banner .hero-copy{max-width:44%}.hero-banner .hero-copy h1{font-size:clamp(42px,4.25vw,60px);letter-spacing:-2px}.hero-banner .hero-copy h1 span{color:#0965ef}.hero-banner .hero-lead{color:#536785;font-size:18px;font-weight:500;line-height:1.7}.hero-banner .eyebrow{color:#3e628a;font-size:clamp(16px,1.45vw,20px);letter-spacing:1px;line-height:1.5}.hero-banner .hero-actions{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);margin:0}.hero-banner .hero-actions .button{min-width:300px;justify-content:center;gap:24px;border:0;border-radius:50px;background:linear-gradient(120deg,#33a6ff,#0965ff);box-shadow:0 10px 28px #126cff30;font-size:20px;min-height:66px;padding:17px 30px}.hero-banner .hero-actions .button:hover{background:linear-gradient(120deg,#218ee8,#0754df)}.hero-banner .hero-actions .button span{font-size:30px}
@media(min-width:1700px){.hero-banner .hero-content{min-height:820px;padding-top:125px}}
@media(max-width:1000px) and (min-width:761px){.hero-banner .hero-content{min-height:590px;padding-top:85px}.hero-banner .hero-copy{max-width:45%}.hero-banner .hero-copy h1{font-size:42px}.hero-banner .hero-lead{font-size:16px}.hero-banner .hero-actions{bottom:48px}.hero-banner .hero-illustration{object-position:55% center}}
@media(max-width:760px){.homepage .hero-banner{display:flex;flex-direction:column;margin:20px 0 30px;background:linear-gradient(145deg,#fbfdff,#edf6ff)}.hero-banner .hero-content{display:contents;min-height:0;padding:0}.hero-banner .hero-copy{order:1;max-width:none;width:calc(100% - 36px);margin:35px auto 22px}.hero-banner .hero-copy h1{font-size:clamp(38px,8vw,52px);max-width:550px}.hero-banner .hero-lead{font-size:17px;max-width:510px;margin-top:20px}.homepage .hero-banner .hero-visual{order:2;position:relative;inset:auto;z-index:0;width:100%;height:clamp(270px,70vw,450px)}.hero-banner .hero-illustration{object-fit:cover;object-position:right center}.hero-banner .hero-actions{order:3;position:static;transform:none;justify-content:center;margin:clamp(-145px,-23vw,-90px) 18px 28px}.hero-banner .hero-actions .button{min-width:0;width:min(100%,330px);min-height:60px;font-size:18px}.hero-banner .eyebrow{font-size:clamp(13px,3.6vw,17px);letter-spacing:.7px}}

/* Keep the desk close to the reassurance panel while preserving the artwork scale. */
.homepage .hero-banner{margin-bottom:18px}
.hero-banner .hero-content{min-height:clamp(490px,calc(33vw + 80px),680px);padding-bottom:50px}
.homepage .hero-banner .hero-visual{height:clamp(600px,52vw,760px);bottom:auto}
.homepage .reassurance-section{padding:23px 28px 28px;border:1px solid #d0e2d5;border-radius:20px;background:#f0f5ef}
.homepage .reassurance-heading{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 25px;color:#3e628a;font-size:clamp(18px,1.45vw,22px);font-weight:800;letter-spacing:.7px;line-height:1.5;text-align:center}
.homepage .reassurance-heading .eyebrow-dot{flex-shrink:0}
.homepage .reassurance-section .reassurance-strip{width:100%;margin:0;padding:0;border:0;border-radius:0;background:none}
@media(min-width:1700px){.homepage .hero-banner .hero-visual{height:820px}}
@media(max-width:1000px) and (min-width:761px){.hero-banner .hero-content{min-height:490px}.homepage .hero-banner .hero-visual{height:590px}}
@media(max-width:900px){.homepage .reassurance-section{padding:22px 20px 25px}}
@media(max-width:760px){.hero-banner .hero-content{min-height:0;padding:0}.homepage .hero-banner{margin-bottom:16px}.homepage .hero-banner .hero-visual{height:calc(clamp(240px,62vw,390px) - 40px);padding:0}.hero-banner .hero-illustration,.hero-banner .hero-reaction{height:calc(100% + 40px)}.homepage .reassurance-heading{font-size:clamp(17px,4.3vw,20px);gap:8px;margin-bottom:25px;letter-spacing:.3px}}
@media(max-width:640px){.homepage .reassurance-section{padding:22px 23px 28px}}

/* Balance the reassurance panel between the desk and the choice illustration. */
.homepage .hero-banner{margin-bottom:40px}
.homepage .learning-options{padding-top:65px}
.homepage .reassurance-heading{display:block;font-size:clamp(22px,1.75vw,28px)}
@media(max-width:760px){.homepage .reassurance-heading{font-size:clamp(20px,5.2vw,24px)}}
@media(max-width:640px){.homepage .hero-banner{margin-bottom:32px}.homepage .learning-options{padding-top:47px}}
