/* Page-specific styles: retain EduPlanet typography, colours and components. */
.enrolment-page .application-notice{max-width:780px;margin:26px 0 28px;padding:19px 23px;border:1px solid #ffffff36;border-left:3px solid #8ac7ee;border-radius:6px;background:#ffffff09}.enrolment-page .application-notice .deadline{font-size:clamp(1.05rem,1.7vw,1.3rem);color:#fff;font-weight:750;line-height:1.4;margin:0 0 8px}.enrolment-page .application-notice p:last-child{font-size:.92rem;line-height:1.6;color:#d7e5ef;margin:0}.enrolment-page .enrolment-invitation .btn{margin-top:0}.enrolment-stage{display:grid;grid-template-columns:58px minmax(0,1fr);gap:28px;max-width:1030px;margin-inline:auto}.stage-number{width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf4f8;color:var(--brand);font-size:.8rem;font-weight:750;border:1px solid #d7e6ee;margin-top:4px}.enrolment-stage>div>p{max-width:76ch}.enrolment-page .enrolment-stage h2{max-width:25ch}.enrolment-actions{display:flex;gap:20px 25px;align-items:center;flex-wrap:wrap;margin-top:28px}.enrolment-actions .arrow-link{font-size:.88rem}.fee-selector{margin:28px 0 18px;max-width:400px}.fee-selector label{display:block;font-size:.9rem;font-weight:700;margin-bottom:9px}.fee-selector select{width:100%;min-height:48px;padding:11px 16px;border:1px solid #b7cbd9;border-radius:5px;background:#fff;color:var(--text);font:inherit;cursor:pointer}.grade-fees{padding:24px;border:1px solid #d5e2eb;border-radius:7px;background:#fff;max-width:870px}.fee-empty{margin:0;color:var(--text-muted)}.grade-fees h3{font-size:1.25rem;margin:0 0 18px}.fee-rows{margin:0}.fee-rows>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:16px 0;border-top:1px solid var(--hairline)}.fee-rows dt{font-size:.92rem;font-weight:700}.fee-rows dd{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.6;overflow-wrap:anywhere}.fee-review-note{font-size:.82rem!important;line-height:1.6;color:var(--text-muted);margin:14px 0 0}.enrolment-resources{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}.text-link{border:0;background:transparent;color:var(--brand);font:inherit;font-size:.92rem;font-weight:700;padding:2px 0;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:4px}.text-link:hover{color:#07355c}.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:28px 0}.booking-options>div{padding-top:20px;border-top:2px solid #cbdfeb}.booking-options h3{font-size:1.2rem}.booking-options p{font-size:.96rem}.booking-options .btn{margin-top:8px}.application-payment{padding:22px 25px;background:#fff;border:1px solid #d5e2eb;border-radius:7px;margin-top:32px}.application-payment h3{font-size:1.1rem;margin-bottom:10px}.application-payment p{font-size:.95rem;max-width:72ch}.application-payment .payment-clarity{margin:15px 0 0;font-size:.87rem;color:var(--text)}.next-step-note{margin-top:25px;padding-top:20px;border-top:1px solid var(--hairline);font-size:.95rem}.enrolment-page .band--navy .stage-number{background:#ffffff0d;border-color:#ffffff2b;color:#c4e3fa}.enrolment-page .band--navy .next-step-note{border-color:#ffffff2b}.enrolment-page .band--navy .lede{color:#d9e5ef}.placeholder-token{display:block;padding:14px 16px;border:1px solid #d6e2eb;border-radius:5px;background:#f1f6f9;overflow-wrap:anywhere;font-size:.9rem;color:var(--brand)}.enrolment-page #missing-link-dialog h2{font-size:1.7rem}.missing-setup-summary{margin-top:10px;font-size:.8rem;color:var(--text-muted)}.enrolment-page .btn:disabled{cursor:default;opacity:.65}
@media(max-width:760px){.enrolment-stage{grid-template-columns:38px minmax(0,1fr);gap:16px}.stage-number{width:34px;height:34px;font-size:.72rem}.fee-rows>div{grid-template-columns:1fr;gap:6px}.booking-options{grid-template-columns:1fr;gap:26px}.booking-options .btn{width:auto}.enrolment-page .grade-fees{padding:20px}.enrolment-page .application-notice{padding:18px 20px}}
@media(max-width:480px){.enrolment-stage{grid-template-columns:1fr;gap:18px}.stage-number{width:34px;height:34px;margin:0}.enrolment-actions{align-items:stretch;flex-direction:column;gap:18px}.enrolment-actions .btn{align-self:flex-start}.enrolment-actions .arrow-link{align-self:flex-start;white-space:normal}.enrolment-resources{gap:15px 22px}.booking-options .btn{max-width:100%;white-space:normal;text-align:center}.application-payment{padding:20px}.enrolment-page .enrolment-invitation h1{font-size:2.35rem}.enrolment-page .fee-selector{max-width:none}}
.enrolment-anchor{display:block;height:0;scroll-margin-top:calc(var(--header-height) + var(--preview-bar) + 20px)}
.enrolment-page .enrolment-invitation .eyebrow{color:#b8d9f0}

/* Concise four-step admissions overview. */
.admissions-steps { max-width: 970px; margin-inline: auto; }
.overview-step { display:grid; grid-template-columns:48px minmax(0,1fr); gap:28px; padding:34px 0; border-top:1px solid var(--hairline); scroll-margin-top:calc(var(--header-height) + var(--preview-bar) + 20px); }
.overview-step:first-child { padding-top:0; border-top:0; }
.overview-step:last-child { padding-bottom:0; }
.enrolment-page .overview-step h2 { font-size:clamp(1.35rem,2.2vw,1.8rem); max-width:none; margin-bottom:14px; }
.overview-step p { max-width:76ch; color:var(--text-muted); font-size:1rem; line-height:1.65; }
.overview-step .enrolment-actions { margin-top:20px; gap:14px; }
.overview-extra { margin-top:22px; border-top:1px solid var(--hairline); padding-top:14px; }
.overview-extra summary { cursor:pointer; color:var(--brand); font-weight:650; font-size:.88rem; }
.overview-extra p { font-size:.9rem; margin-top:14px; }
.overview-fees { max-width:970px; margin-inline:auto; scroll-margin-top:calc(var(--header-height) + var(--preview-bar) + 20px); }
.overview-fees>summary { cursor:pointer; font-size:1.2rem; font-weight:750; color:var(--text); padding:5px 0; }
.overview-fees-content { margin-top:24px; max-width:870px; }
.overview-enquiry { margin-top:28px; padding-top:24px; border-top:1px solid var(--hairline); }
.overview-enquiry h3 { font-size:1.1rem; }
.overview-enquiry p { font-size:.94rem; max-width:76ch; color:var(--text-muted); }
@media(max-width:480px) {
 .overview-step { grid-template-columns:34px minmax(0,1fr); gap:15px; padding:28px 0; }
 .overview-step .enrolment-actions .btn { width:100%; max-width:100%; white-space:normal; text-align:center; }
 .overview-step p { font-size:.95rem; }
 .enrolment-page .overview-step h2 { font-size:1.35rem; }
 .enrolment-page .admissions-overview { padding-block:38px; }
 .enrolment-page .overview-fees-section { padding-block:28px; }
}
/* A concise benefits summary replaces the grade fee selector. */
.application-fees-note { color:var(--brand)!important; font-size:.93rem!important; margin-top:14px; }
.included-benefits { max-width:1060px; margin-inline:auto; }
.enrolment-page .included-benefits h2 { max-width:31ch; }
.included-benefits>.lede { max-width:75ch; }
.benefits-fees-location { margin:18px 0 0; font-size:.95rem; color:var(--brand); }
.fees-benefits-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; margin-top:32px; }
.fees-benefits-grid article { padding-top:20px; border-top:2px solid #cbdfea; }
.fees-benefits-grid h3 { color:var(--text); font-size:1.2rem; margin-bottom:16px; }
.fees-benefits-grid ul { margin:0; padding-left:20px; }
.fees-benefits-grid li { color:var(--text-muted); font-size:.95rem; line-height:1.65; padding-left:3px; margin-bottom:12px; }
.fees-benefits-grid li:last-child { margin-bottom:0; }
.fees-benefits-grid li::marker { color:var(--brand); }
.fees-benefits-grid strong { color:var(--text); font-weight:650; }
.benefits-reassurance { border-top:1px solid #cfdee8; padding-top:28px; margin-top:34px; }
.benefits-reassurance h3 { font-size:clamp(1.2rem,2vw,1.5rem); }
.benefits-reassurance ul { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 30px; }
.benefits-reassurance li { padding-left:24px; position:relative; font-size:.92rem; color:var(--text-muted); line-height:1.6; }
.benefits-reassurance li::before { content:'✓'; position:absolute; left:0; color:var(--brand); font-weight:750; }
.benefits-signoff { margin:26px 0 0; font-size:.86rem; color:var(--text-muted); line-height:1.75; }
@media(max-width:640px) { .fees-benefits-grid { grid-template-columns:1fr; gap:27px; } .benefits-reassurance ul { grid-template-columns:1fr; } .enrolment-page .included-benefits h2 { font-size:1.85rem; } }

/* Local fee enquiry demonstration. */
.fees-dialog[open] { max-width:560px; }
.fees-dialog [hidden] { display:none!important; }
.fees-dialog h2 { margin-bottom:16px; }
.fees-preview-note { font-size:.82rem; line-height:1.6; color:var(--text-muted); background:#edf4f8; padding:12px 15px; border-radius:5px; }
.fees-field { margin:20px 0; }
.fees-field label { display:block; font-weight:650; font-size:.94rem; margin-bottom:8px; }
.fees-field label span { font-weight:400; font-size:.8rem; color:var(--text-muted); }
.fees-field input { display:block; width:100%; box-sizing:border-box; min-height:48px; border:1px solid #aabfce; border-radius:5px; padding:11px 14px; font:inherit; background:#fff; color:var(--text); }
.fees-field input:focus-visible { outline:3px solid #8ac7ee; outline-offset:2px; }
.fees-field small { display:block; margin-top:6px; font-size:.8rem; color:var(--text-muted); }
.fees-dialog form>.btn { margin-top:4px; width:100%; }
.fees-dialog #fees-reveal-title { font-size:1.45rem; margin-top:24px; }
.fees-pending { padding:20px; border:1px solid #cfdee8; background:#f1f6f9; border-radius:6px; margin:20px 0; }
.fees-pending p:last-child { margin-bottom:0; font-size:.94rem; }
.enrolment-page .enrolment-invitation .btn--ghost { color:#fff; border-color:#b8d9f080; }
.enrolment-page .enrolment-invitation .btn--ghost:hover { color:#fff; border-color:#b8d9f0; background:#ffffff0d; }

/* Supplied 2027 fee structure; no grade selection required. */
.fees-dialog--schedule[open] { width:min(1120px,calc(100% - 32px)); max-width:1120px; }
.enrolment-page .fees-dialog--schedule h2 { font-size:clamp(1.65rem,3vw,2rem); }
.fees-dialog--schedule #fees-reveal-title { margin-top:24px; }
.fees-discount-note { font-size:.95rem; color:var(--text-muted); }
.fees-table-hint { margin-top:20px; font-size:.8rem; color:var(--text-muted); }
.fees-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; border:1px solid #d5e2eb; border-radius:7px; margin:12px 0 20px; }
.fees-table-scroll:focus-visible { outline:3px solid #8ac7ee; outline-offset:3px; }
.fees-schedule { width:100%; min-width:900px; border-collapse:collapse; font-size:.84rem; line-height:1.5; }
.fees-schedule caption { text-align:left; padding:15px 18px; font-weight:650; background:#edf4f8; color:var(--brand); }
.fees-schedule th,.fees-schedule td { padding:16px 12px; text-align:right; white-space:nowrap; border-bottom:1px solid #d5e2eb; }
.fees-schedule thead th { background:var(--brand); color:#fff; font-size:.8rem; }
.fees-schedule th:first-child { text-align:left; }
.fees-schedule tbody th { font-size:.82rem; font-weight:650; background:#f1f6f9; }
.fees-schedule tbody tr:nth-child(even) { background:#f5f8fa; }
.fees-schedule tbody tr:last-child>* { border-bottom:0; }
@media(max-width:640px) {
 .fees-dialog--schedule[open] { padding:22px; }
 .fees-schedule tbody th { position:sticky; left:0; box-shadow:1px 0 0 #d5e2eb; }
 .fees-schedule th,.fees-schedule td { padding:14px 12px; }
}

.fee-enquiry-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.fee-enquiry-status { font-size:.9rem; padding:12px 15px; color:#753c20; background:#fff5ec; border-left:3px solid #b86b38; border-radius:3px; }

/* Show one grade's fee options at a time. */
.fees-dialog--schedule[open] { width:min(600px,calc(100% - 32px)); max-width:600px; }
.fee-grade-choice { margin:24px 0 20px; }
.fee-grade-choice label { display:block; font-size:.92rem; font-weight:650; margin-bottom:9px; }
.fee-grade-choice select { width:100%; min-height:48px; padding:11px 14px; background:#fff; border:1px solid #aabfce; border-radius:5px; font:inherit; color:var(--text); }
.fee-grade-choice select:focus-visible { outline:3px solid #8ac7ee; outline-offset:2px; }
.fee-grade-empty { font-size:.92rem; color:var(--text-muted); line-height:1.6; margin:20px 0 24px; }
#fee-grade-heading { margin:24px 0 14px; font-size:1.1rem; font-weight:700; }
.selected-grade-fees { margin:0 0 26px; border:1px solid #d5e2eb; border-radius:7px; overflow:hidden; }
.selected-grade-fees>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 18px; border-bottom:1px solid #d5e2eb; }
.selected-grade-fees>div:last-child { border-bottom:0; }
.selected-grade-fees dt { font-size:.88rem; line-height:1.5; color:var(--text-muted); }
.selected-grade-fees dd { font-size:1rem; font-weight:650; margin:0; color:var(--text); white-space:nowrap; }
.selected-grade-fees .selected-grade-monthly { background:#edf4f8; }
.selected-grade-monthly dd { color:var(--brand); font-size:1.25rem; }
.selected-grade-monthly dt { color:var(--brand); font-weight:650; }
@media(max-width:420px) { .selected-grade-fees>div { padding:14px 12px; gap:12px; } .selected-grade-fees dt { font-size:.82rem; } }

/* Next actions follow the selected grade's fee details. */
.fee-next-actions { display:grid; grid-template-columns:1fr; gap:12px; margin:22px 0 0; }
.fee-next-actions .btn { width:100%; box-sizing:border-box; justify-content:center; text-align:center; white-space:normal; line-height:1.5; }
.fee-next-actions .btn--ghost { font-size:.87rem; padding:15px 18px; }

.fee-next-actions .scholarship-interest-button { display:block; background:#e0f0fc; border-color:#b6d9f0; color:var(--text); font-weight:400; }
.fee-next-actions .scholarship-interest-button strong { font-weight:800; }
.fee-next-actions .scholarship-interest-button:hover { background:#cfe7f9; border-color:#8fc4e6; color:var(--text); }

.scholarship-interest-button .scholarship-button-title { display:block; font-size:1rem; font-weight:800; line-height:1.4; }
.scholarship-interest-button .scholarship-button-subtitle { display:block; margin-top:7px; font-size:.88rem; line-height:1.5; }
.scholarship-interest-button .scholarship-button-terms { display:block; margin-top:7px; font-size:.8rem; line-height:1.5; }

#scholarship-dialog[open] { width:min(600px,calc(100% - 32px)); max-width:600px; }
#scholarship-dialog h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; }
#scholarship-confirmation { margin-top:25px; }
#scholarship-confirmation h3 { font-size:1.35rem; }
#scholarship-dialog>p { font-size:.92rem; line-height:1.6; }

/* Expandable fee inclusions. */
.fee-inclusions { margin:24px 0; border:1px solid #cbdfea; border-radius:7px; background:#f4f8fb; }
.fee-inclusions>summary { list-style:none; display:flex; align-items:center; gap:18px; padding:17px 18px; cursor:pointer; font-size:.95rem; font-weight:750; line-height:1.5; color:var(--brand); }
.fee-inclusions>summary::-webkit-details-marker { display:none; }
.fee-inclusions>summary::after { content:'+'; flex:none; margin-left:auto; font-size:1.35rem; font-weight:500; }
.fee-inclusions[open]>summary::after { content:'−'; }
.fee-inclusions>summary:focus-visible { outline:3px solid #8ac7ee; outline-offset:3px; border-radius:7px; }
.fee-inclusions__body { padding:0 18px 20px; }
.fee-inclusions__body>p { font-size:.9rem; line-height:1.65; }
.fee-inclusions article { padding-top:18px; margin-top:18px; border-top:1px solid #d5e2eb; }
.fee-inclusions h4 { font-size:1rem; margin:0 0 12px; }
.fee-inclusions ul { margin:0; padding-left:19px; }
.fee-inclusions li { font-size:.88rem; line-height:1.65; margin-bottom:10px; color:var(--text-muted); }
.fee-inclusions li:last-child { margin-bottom:0; }
.fee-inclusions strong { color:var(--text); }
.fees-dialog .btn:disabled { opacity:.65; cursor:default; }

/* Keep the fee title, close control and application action within reach. */
.fees-dialog--schedule[open] { display:flex; flex-direction:column; padding:0; overflow:hidden; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); }
.fees-dialog__header { flex:none; padding:24px 28px 12px; background:var(--canvas); border-bottom:1px solid #d5e2eb; }
.fees-dialog__header .preview-dialog__top { align-items:center; }
.fees-dialog__header .eyebrow { margin:0; font-size:.67rem; }
.preview-dialog__top button { width:44px; height:44px; flex:none; }
.fees-dialog__header h2 { margin:8px 0 12px; font-size:1.8rem; }
.fees-dialog__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px 28px 22px; scrollbar-gutter:stable; }
.fees-dialog__body>.fees-discount-note { margin-top:0; }
.fees-dialog--schedule .fee-next-actions { flex:none; margin:0; padding:14px 28px; border-top:1px solid #d5e2eb; background:var(--canvas); }
.fee-scholarship-offer { margin-top:22px; }
.fee-scholarship-offer .scholarship-interest-button { display:block; width:100%; box-sizing:border-box; white-space:normal; text-align:left; padding:16px 18px; background:#e0f0fc; border-color:#b6d9f0; color:var(--text); font-weight:400; }
.fee-scholarship-offer .scholarship-interest-button:hover { background:#cfe7f9; }
.fee-payment-note { font-size:.82rem; line-height:1.6; color:var(--text-muted); margin:20px 0 0; }
.optional-services { margin-top:30px; padding:22px 24px; background:#fff; border:1px solid #d5e2eb; border-radius:6px; }
.optional-services h3 { font-size:1.1rem; }
.optional-services p { font-size:.95rem; line-height:1.65; color:var(--text-muted); margin:0; }
@media(max-width:480px) {
 .fees-dialog__header { padding:14px 20px 6px; }
 .fees-dialog__header h2 { font-size:1.65rem; margin:3px 0 12px; }
 .fees-dialog__body { padding:16px 20px 20px; }
 .fees-dialog--schedule .fee-next-actions { padding:12px 20px; }
 .fee-grade-choice { margin-block:18px; }
 .selected-grade-fees { margin-bottom:20px; }
 .selected-grade-fees>div { padding:12px; }
 .fee-inclusions { margin-block:20px; }
}
