:root{--form-bg:#f3f6f8}.registration-page{background:var(--form-bg)}.registration-topbar{height:76px;background:#082a49;color:#fff;padding:0 max(5vw,32px);display:flex;justify-content:space-between;align-items:center}.registration-topbar>a:last-child{font-size:13px;color:rgba(255,255,255,.72);font-weight:600}.registration-hero{min-height:330px;background:radial-gradient(circle at 83% 20%,rgba(44,181,177,.22),transparent 27%),linear-gradient(120deg,#082b4d,#0b5881);color:#fff;padding:50px max(8vw,50px);display:flex;align-items:center;justify-content:space-between;gap:60px;overflow:hidden}.registration-hero>div{max-width:680px}.registration-hero h1{font:800 clamp(42px,5vw,68px)/1.05 var(--display);letter-spacing:-.045em;margin:0 0 17px}.registration-hero p{font-size:18px;line-height:1.6;color:rgba(255,255,255,.72);margin:0}.registration-hero>img{width:230px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.22))}.registration-contact{display:flex;gap:10px;margin-top:25px;font-size:13px}.registration-contact span{color:rgba(255,255,255,.55)}.registration-contact a{font-weight:700;color:#83ddd6}.registration-layout{max-width:1420px;margin:0 auto;padding:34px 34px 75px;display:grid;grid-template-columns:190px minmax(0,1fr) 220px;gap:22px;align-items:start}.registration-steps{position:sticky;top:20px;display:flex;flex-direction:column;gap:5px}.registration-steps>div{display:flex;gap:11px;padding:12px;border-radius:11px;color:#788995}.registration-steps b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e1e8eb;font-size:10px;flex:0 0 auto}.registration-steps span{display:flex;flex-direction:column}.registration-steps strong{font-size:11px}.registration-steps small{font-size:8px;margin-top:3px}.registration-steps>div.active{background:#fff;color:#092a4a;box-shadow:0 5px 22px rgba(12,49,78,.06)}.registration-steps>div.active b{background:#126eb5;color:#fff}.registration-card{background:#fff;border-radius:22px;box-shadow:0 8px 35px rgba(12,49,78,.08);overflow:hidden}.form-intro{padding:30px 34px;border-bottom:1px solid #e1e8ec}.form-intro>span{font-size:9px;letter-spacing:.15em;color:#1a8f88;font-weight:800}.form-intro h2{font:800 27px var(--display);margin:7px 0 5px}.form-intro p{font-size:11px;color:#71818d;margin:0}.form-intro p b{color:#ed5c58}fieldset{border:0;padding:30px 34px;margin:0;border-bottom:1px solid #e1e8ec}legend{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:22px}legend>span{width:31px;height:31px;border-radius:9px;background:#dff3fa;color:#126eb5;display:grid;place-items:center;font-weight:800;font-size:11px}legend>div{display:flex;flex-direction:column}legend strong{font:700 18px var(--display)}legend small{font-size:10px;color:#71818d;margin-top:3px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.choice-grid>label{cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid label>span{height:100%;display:grid;grid-template-columns:38px 1fr;column-gap:10px;border:1px solid #dce5ea;border-radius:12px;padding:14px;transition:.18s}.choice-grid label>span i{grid-row:1/3;width:36px;height:36px;border-radius:10px;background:#e8f4f8;color:#126eb5;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}.choice-grid label>span strong{font-size:12px}.choice-grid label>span small{font-size:9px;color:#71818d;margin-top:4px}.choice-grid input:checked+span{border-color:#126eb5;background:#f1f8fc;box-shadow:0 0 0 2px rgba(18,110,181,.08)}.choice-grid input:focus-visible+span{outline:3px solid rgba(18,110,181,.22)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#294155}.field.wide{grid-column:1/3}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e1e7;border-radius:9px;background:#fff;padding:12px 13px;color:#183044;font:400 12px var(--body);outline:none}.field input,.field select{height:44px}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:#126eb5;box-shadow:0 0 0 3px rgba(18,110,181,.08)}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#d94949;background:#fff9f9}.field-error{display:block;color:#d94949;font-size:9px;margin-top:5px}.conditional-field{margin-top:14px}.minor-fields{margin-top:20px;background:#fff8eb;border:1px solid #f2dfb7;border-radius:13px;padding:17px}.minor-note{display:flex;flex-direction:column;margin-bottom:14px}.minor-note strong{font-size:12px;color:#795b22}.minor-note span{font-size:9px;color:#8e7954;margin-top:2px}.field-group{margin:0 0 22px}.field-group>span{display:block;font-size:11px;font-weight:700;margin-bottom:9px}.pill-choices{display:flex;flex-wrap:wrap;gap:8px}.pill-choices input{position:absolute;opacity:0}.pill-choices label span{display:block;padding:10px 13px;border:1px solid #d8e2e7;border-radius:9px;font-size:10px;color:#60717e;cursor:pointer}.pill-choices input:checked+span{background:#0d416b;color:#fff;border-color:#0d416b}.modality-choices{grid-template-columns:repeat(3,1fr)}.emergency-box{background:#f2f7f9;border-radius:14px;padding:18px;margin-top:20px}.emergency-box>div:first-child{display:flex;flex-direction:column;margin-bottom:14px}.emergency-box>div:first-child strong{font-size:12px}.emergency-box>div:first-child small{font-size:9px;color:#71818d}.character-count{align-self:flex-end;font-weight:400;color:#8d9aa4;margin-top:-2px}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:21px;font-size:10px;line-height:1.45;color:#617481}.consent input{margin-top:2px}.form-submit{padding:25px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.form-submit>div{display:flex;flex-direction:column}.secure-note{font-size:10px;color:#355065}.form-submit small{font-size:8px;color:#88969f;margin-top:3px}.form-submit button{min-width:175px}.honeypot{position:absolute!important;left:-9999px!important}.form-message{margin:0 34px 25px;padding:13px;border-radius:9px;background:#fff0ee;color:#a83838;font-size:11px}.registration-help{position:sticky;top:20px}.help-card{background:#fff;border-radius:14px;padding:19px;margin-bottom:12px}.help-card>span{font-size:8px;letter-spacing:.13em;color:#ed5c58;font-weight:800}.help-card h3{font:700 16px var(--display);margin:10px 0 6px}.help-card p{font-size:10px;line-height:1.55;color:#71818d;margin:0}.help-card.contact{background:#0b3d64;color:#fff}.help-card.contact a{display:block;font-size:9px;overflow-wrap:anywhere;margin-top:10px;color:rgba(255,255,255,.72)}.success-panel{text-align:center;padding:60px 40px 70px;max-width:650px;margin:auto}.success-icon{width:70px;height:70px;border-radius:50%;background:#dcf5ee;color:#15866f;display:grid;place-items:center;font-size:30px;font-weight:800;margin:0 auto 25px}.success-panel h2{font:800 34px var(--display);margin:0 0 12px}.success-panel p{color:#677a88;line-height:1.6}.reference-box{display:flex;flex-direction:column;background:#eff6f8;border-radius:13px;padding:15px;margin:25px auto;width:240px}.reference-box span{font-size:8px;letter-spacing:.12em;color:#71818d}.reference-box strong{font:800 18px var(--display);margin-top:4px;color:#0b416e}.success-actions{display:flex;justify-content:center;gap:10px}.button-secondary{background:#e9eff2;color:#294155;box-shadow:none}.registration-footer{background:#071f36;color:rgba(255,255,255,.6);min-height:90px;padding:25px max(5vw,35px);display:flex;align-items:center;justify-content:space-between;font-size:11px}.registration-footer small{font-size:9px}.registration-page.is-submitting .form-submit button{opacity:.6;pointer-events:none}.registration-page.is-submitting .form-submit button:after{content:'…'}
@media(max-width:1050px){.registration-layout{grid-template-columns:160px 1fr}.registration-help{grid-column:2;position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-card{margin:0}.registration-hero>img{width:190px}}
@media(max-width:760px){.registration-topbar{height:66px;padding:0 17px}.registration-topbar .brand-mark{width:35px;height:35px}.registration-topbar .brand strong{font-size:15px}.registration-topbar>a:last-child{font-size:10px}.registration-hero{padding:40px 20px;min-height:310px}.registration-hero h1{font-size:42px}.registration-hero p{font-size:15px}.registration-hero>img{display:none}.registration-contact{flex-direction:column}.registration-layout{display:block;padding:15px 12px 45px}.registration-steps{position:static;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.registration-steps>div{justify-content:center;padding:8px}.registration-steps span{display:none}.form-intro,fieldset,.form-submit{padding-left:20px;padding-right:20px}.choice-grid,.form-grid,.modality-choices{grid-template-columns:1fr}.field.wide{grid-column:1}.registration-help{display:grid;margin-top:12px}.form-submit{flex-direction:column;align-items:stretch}.form-submit button{width:100%}.success-actions{flex-direction:column}.registration-footer{flex-direction:column;gap:8px;justify-content:center;text-align:center}}

/* R7 · Clearer, friendlier enrolment form */
.registration-layout{grid-template-columns:215px minmax(0,1fr) 245px;gap:26px;padding-top:42px}
.registration-steps{gap:10px}.registration-steps>div{padding:15px 14px;border:1px solid transparent}.registration-steps b{width:34px;height:34px;font-size:13px}.registration-steps strong{font-size:14px}.registration-steps small{font-size:11px;line-height:1.35;margin-top:4px}
.registration-card{background:transparent;box-shadow:none;overflow:visible}
.form-intro{background:#fff;border:1px solid #dfe7ec;border-radius:22px;padding:36px 40px;box-shadow:0 10px 34px rgba(12,49,78,.07)}
.form-intro>span{font-size:11px}.form-intro h2{font-size:34px;line-height:1.15;margin:9px 0}.form-intro p{font-size:14px}
#enrolment-form fieldset{background:#fff;border:1px solid #dfe7ec!important;border-radius:20px;padding:38px 40px;margin:18px 0 0;box-shadow:0 9px 30px rgba(12,49,78,.06)}
#enrolment-form fieldset:nth-of-type(1){border-top:5px solid var(--coral)!important}
#enrolment-form fieldset:nth-of-type(2){border-top:5px solid var(--blue)!important}
#enrolment-form fieldset:nth-of-type(3){border-top:5px solid var(--turquoise)!important}
#enrolment-form fieldset:nth-of-type(4){border-top:5px solid var(--yellow)!important}
#enrolment-form legend{float:left;padding:0 0 22px;margin:0 0 28px;border-bottom:1px solid #e3eaee;clear:both}
#enrolment-form legend+*{clear:both}
#enrolment-form legend>span{width:44px;height:44px;border-radius:13px;font-size:16px}
#enrolment-form legend strong{font-size:23px;line-height:1.2}
#enrolment-form legend small{font-size:14px;line-height:1.45;margin-top:5px}
.choice-grid{gap:14px}.choice-grid label>span{grid-template-columns:46px 1fr;column-gap:13px;border-radius:14px;padding:18px;min-height:88px;align-content:center}.choice-grid label>span i{width:44px;height:44px;border-radius:12px;font-size:14px}.choice-grid label>span strong{font-size:15px;line-height:1.3}.choice-grid label>span small{font-size:12px;line-height:1.4;margin-top:5px}
.form-grid{gap:20px}.field{gap:9px;font-size:14px}.field input,.field select,.field textarea{border-radius:11px;padding:14px 16px;font-size:16px}.field input,.field select{height:54px}.field textarea{min-height:145px}.field input::placeholder,.field textarea::placeholder{color:#9aa8b2}
.field-group{margin-bottom:30px}.field-group>span{font-size:15px;margin-bottom:13px}.pill-choices{gap:10px}.pill-choices label span{padding:13px 17px;border-radius:11px;font-size:14px;background:#fff}
.minor-fields,.emergency-box{padding:23px;border-radius:16px}.minor-note strong,.emergency-box>div:first-child strong{font-size:15px}.minor-note span,.emergency-box>div:first-child small{font-size:12px;line-height:1.45;margin-top:4px}
.consent{font-size:13px;line-height:1.55;gap:12px}.consent input{width:18px;height:18px;flex:0 0 auto}
.form-submit{margin-top:18px;border-radius:18px;background:#082a49;color:#fff;padding:28px 32px;box-shadow:0 10px 30px rgba(8,42,73,.15)}.secure-note{font-size:13px;color:#fff}.form-submit small{font-size:11px;color:rgba(255,255,255,.58);margin-top:5px}.form-submit button{min-width:200px;font-size:16px;padding:16px 22px}
.form-message{margin:15px 0 0;font-size:14px;padding:16px;border-radius:12px}
.help-card{padding:23px;border-radius:17px;box-shadow:0 7px 25px rgba(12,49,78,.05)}.help-card>span{font-size:10px}.help-card h3{font-size:19px;line-height:1.3}.help-card p{font-size:13px;line-height:1.6}.help-card.contact a{font-size:12px;line-height:1.45}
@media(max-width:1200px){.registration-layout{grid-template-columns:185px minmax(0,1fr)}.registration-help{grid-column:2;position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-card{margin:0}}
@media(max-width:760px){.registration-layout{display:block;padding:16px 12px 48px}.registration-steps{display:grid;grid-template-columns:repeat(4,1fr)}.registration-steps>div{padding:9px}.registration-steps b{width:34px;height:34px}.form-intro{padding:27px 22px}.form-intro h2{font-size:28px}#enrolment-form fieldset{padding:28px 21px;margin-top:14px}#enrolment-form legend{padding-bottom:18px;margin-bottom:23px}#enrolment-form legend>span{width:40px;height:40px}#enrolment-form legend strong{font-size:20px}#enrolment-form legend small{font-size:13px}.choice-grid,.form-grid,.modality-choices{grid-template-columns:1fr}.field.wide{grid-column:1}.form-submit{padding:24px 21px}.registration-help{display:grid;grid-template-columns:1fr;margin-top:14px}}

/* R10 · unmistakable section headers and cache-refreshed visual hierarchy */
#enrolment-form fieldset{padding:0 40px 38px!important;overflow:hidden;border-top:0!important}
#enrolment-form legend{width:calc(100% + 80px);margin:0 -40px 32px!important;padding:24px 30px!important;border:0!important;color:#fff;background:linear-gradient(110deg,#d94b50,#f06a62)}
#enrolment-form fieldset:nth-of-type(2) legend{background:linear-gradient(110deg,#0d4b7b,#167cb1)}
#enrolment-form fieldset:nth-of-type(3) legend{background:linear-gradient(110deg,#128f89,#27bbb2)}
#enrolment-form fieldset:nth-of-type(4) legend{background:linear-gradient(110deg,#66501b,#d2a72f)}
#enrolment-form legend>span{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.34)}
#enrolment-form legend small{color:rgba(255,255,255,.78)}
#enrolment-form fieldset:nth-of-type(4) legend>span{background:rgba(255,255,255,.22)}
@media(max-width:760px){#enrolment-form fieldset{padding:0 21px 28px!important}#enrolment-form legend{width:calc(100% + 42px);margin:0 -21px 25px!important;padding:21px 20px!important}}

/* R15 · isolated light-gradient treatment for the enrolment logo */
.registration-logo-scene{position:relative;width:270px;aspect-ratio:1;flex:0 0 270px;display:grid;place-items:center;isolation:isolate}
.registration-logo-scene:before{content:"";position:absolute;z-index:-2;inset:-17% -32%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0%,rgba(248,252,255,.96) 37%,rgba(220,242,249,.7) 57%,rgba(125,202,226,.22) 70%,transparent 82%);filter:blur(8px)}
.registration-logo-scene>span{position:absolute;z-index:-1;inset:3%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(220,244,250,.45) 58%,transparent 77%);filter:blur(13px)}
.registration-logo-scene img{position:relative;width:230px;max-width:100%;filter:brightness(1.17) contrast(1.07) saturate(1.18) drop-shadow(0 17px 25px rgba(2,39,67,.23)) drop-shadow(0 0 7px rgba(255,255,255,.34))}
@media(max-width:1050px){.registration-logo-scene{width:210px;flex-basis:210px}.registration-logo-scene img{width:190px}}
@media(max-width:760px){.registration-logo-scene{display:none}}
