/* Palette matched to the supplied raster artwork; original images stay intact. */
:root{--navy:#083858;--teal:#087b7c;--brand-teal:#10a8a8;--mint:#edf8f7;--orange:#f87830;--yellow:#ffb030;--text:#083858;--muted:#506779;--line:#dce7eb;--light:#f3f8fa}
.topline{background:var(--navy)}
.brand{width:265px;height:auto;overflow:visible;display:flex;align-items:center}
.brand img{width:100%;height:auto;max-width:100%;position:static;left:auto;top:auto}
.brand-badge{display:inline-block;object-fit:contain;flex-shrink:0}
.badge-label{display:flex;align-items:center;gap:12px;min-height:48px}
.badge-label .brand-badge{width:48px;height:48px}
.intro-note{position:relative;padding-left:24px;border-color:var(--yellow)}
.intro-badge{float:right;margin:-3px 0 4px 10px;width:56px;height:56px}
.intro-note .note-label{display:block;padding-top:2px}
.intro-note p{clear:both;padding-top:6px}
.note-line{background:var(--brand-teal)}
.section-heading .badge-label{margin-bottom:6px}
.searchbar{background:var(--navy)}
.searchbar .button,.button.orange{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}
.searchbar .button:hover,.button.orange:hover{background:#ffc357;border-color:#ffc357}
.programme-card .monogram{background:#fff2e9;color:#92421e}
.programme-card:nth-child(3n+2) .monogram{background:#edf8f7;color:var(--teal)}
.programme-card:nth-child(3n) .monogram{background:#eef6fa;color:var(--navy)}
.service{border-top-color:var(--brand-teal)}
.service:nth-child(2){border-top-color:var(--orange)}
.service:nth-child(3){border-top-color:var(--yellow)}
.family-badge{display:block;width:72px;height:72px;margin-bottom:17px}
.notebook-symbol{width:48px;height:48px;object-fit:contain}
.footer-brand>img{display:block;width:150px;height:auto;margin-bottom:16px}
.compare-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.cost-card{display:flex;flex-direction:column;gap:18px;padding:23px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:9px}
.cost-card:nth-child(2){border-top-color:var(--brand-teal)}
.cost-card:nth-child(3){border-top-color:var(--navy)}
.cost-card .eyebrow{margin-bottom:7px}
.cost-card h3{font-size:1.08rem}
.cost-total{padding:16px;background:var(--light);border-radius:7px}
.cost-total span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:2px}
.cost-total strong{font-size:1.45rem;letter-spacing:-.03em}
.cost-card dl{margin:0;display:grid;gap:8px}
.cost-card dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:7px}
.cost-card dt{font-size:.75rem;color:var(--muted)}
.cost-card dd{margin:0;font-size:.8rem;font-weight:800;text-align:right}
.cost-card>.text-button{margin-top:auto;align-self:flex-start}
.curriculum-wrap td:not(:first-child){min-width:245px}
.curriculum-wrap .mini{display:block;margin-top:7px;line-height:1.55}
.cost-adjustments{margin-top:18px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:8px}
.cost-adjustments>summary{cursor:pointer;color:var(--teal);font-weight:800}
.cost-adjustments>p{margin:8px 0 18px}
.cost-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cost-editor-grid fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:7px}
.cost-editor-grid legend{padding:0 7px;font-size:.8rem;font-weight:800}
.cost-editor-grid label{font-size:.75rem;margin-top:10px;color:var(--muted)}
.cost-editor-grid input{min-width:0;min-height:42px;font-size:.875rem}
@media(max-width:900px){.compare-summary,.cost-editor-grid{grid-template-columns:1fr}.cost-card{gap:13px}}
.footer-location{display:flex;align-items:center;gap:16px}
footer{align-items:center}
.footer-location .brand-badge{width:64px;height:64px}
@media(min-width:721px){.intro{padding-top:22px;padding-bottom:18px}.intro h1{font-size:clamp(2.1rem,3vw,2.8rem)}.intro-note p{font-size:.95rem}.explore{padding-top:4px}.explore .section-heading{margin-bottom:15px}}
@media(max-width:1050px){.brand{width:240px}}
@media(max-width:720px){.brand{width:248px;height:auto;margin-bottom:8px}header{gap:8px;padding-top:14px}.brand img{width:100%}.intro{padding-block:18px}.intro h1{font-size:1.85rem}.badge-label{gap:10px}.footer-brand>img{width:135px}footer{align-items:flex-start}.intro-badge{display:none}}
