@font-face{font-family:Fraunces;src:url('/assets/Fraunces.ttf') format('truetype');font-display:swap}@font-face{font-family:Figtree;src:url('/assets/Figtree.ttf') format('truetype');font-weight:300 900;font-display:swap}
:root{--midnight-violet:#29213C;--slate-violet:#6B6F8F;--taupe:#D6C9B8;--alabaster:#F8F6F0;--peacock-teal:#008C87;--teal-companion:#009D97;--ink:var(--midnight-violet);--paper:var(--alabaster);--line:rgba(41,33,60,.18);--sans:Figtree,Arial,sans-serif;--serif:Fraunces,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.68 var(--sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--teal-companion);outline-offset:4px}.wrap{width:min(1200px,90%);margin:auto}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--teal-companion);color:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.prototype-banner{background:var(--midnight-violet);color:var(--alabaster);font-size:.78rem;letter-spacing:.05em;padding:.5rem 5%;text-align:center}.header{position:sticky;top:0;z-index:30;background:rgba(248,246,240,.98);border-bottom:1px solid var(--line)}.nav-wrap{width:min(1440px,94%);margin:auto;min-height:79px;display:flex;align-items:center;gap:2.2rem}.brand{display:block;width:178px;flex:none}.brand img{display:block;width:100%;height:auto;object-fit:contain}.main-navigation{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.main-navigation>a:not(.button),.portal-reserved{font-size:.88rem;text-decoration:none;white-space:nowrap}.main-navigation>a:not(.button):hover,.main-navigation>a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--peacock-teal);text-decoration-thickness:2px;text-underline-offset:.6rem}.portal-reserved{border:1px dashed rgba(107,111,143,.75);color:var(--slate-violet);padding:.45rem .62rem;cursor:default}.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:.55rem .9rem;font:600 .9rem var(--sans)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:.72rem 1.25rem;border:1px solid var(--peacock-teal);background:var(--peacock-teal);color:#fff;text-decoration:none;font-weight:700;line-height:1.2;transition:background .18s ease,transform .18s ease}.button:hover{background:var(--teal-companion);transform:translateY(-2px)}.button.secondary{background:transparent;border-color:currentColor;color:inherit}.button.secondary:hover{background:rgba(214,201,184,.32)}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.eyebrow{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;color:var(--slate-violet);font-size:.77rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:'';width:2rem;height:2px;background:var(--peacock-teal)}h1,h2,h3{margin:0 0 1.15rem;font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3rem,6.4vw,6.1rem)}h2{font-size:clamp(2rem,3.5vw,3.55rem)}h3{font-size:1.5rem}p{margin:0 0:1.3rem;margin-bottom:1.3rem}.lead{max-width:50rem;font-size:1.18rem}.section{padding:6.7rem 0}.section.taupe{background:var(--taupe)}.section.dark{background:var(--midnight-violet);color:var(--alabaster)}.section.dark .eyebrow{color:var(--taupe)}.section.dark .eyebrow:before{background:var(--teal-companion)}.section.dark .button.secondary{border-color:var(--alabaster)}.home-hero{position:relative;overflow:hidden;background:var(--midnight-violet);color:var(--alabaster);padding:7.6rem 0 6.8rem}.home-hero:after{content:'A';position:absolute;right:-.06em;bottom:-.33em;color:rgba(214,201,184,.09);font:400 clamp(19rem,33vw,34rem)/1 var(--serif);pointer-events:none}.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:center}.home-hero .eyebrow{color:var(--taupe)}.home-hero .eyebrow:before{background:var(--teal-companion)}.hero-intro{max-width:34rem;font:400 clamp(1.2rem,2vw,1.55rem)/1.45 var(--serif)}.subject-panel{border:1px solid rgba(248,246,240,.32);padding:2rem 2rem 1.4rem;background:linear-gradient(145deg,rgba(107,111,143,.3),rgba(0,140,135,.16));box-shadow:0 18px 50px rgba(0,0,0,.15)}.subject-panel .eyebrow{color:var(--taupe)}.subject-line{display:grid;grid-template-columns:2.4rem 1fr;gap:.75rem;padding:1.15rem 0;border-top:1px solid rgba(248,246,240,.3)}.subject-line span{color:var(--taupe);font-size:.8rem}.subject-line strong{font:400 clamp(1.75rem,2.2vw,2.35rem)/1.06 var(--serif)}.subject-panel>p:last-child{margin:.85rem 0 0;padding-top:1rem;border-top:1px solid rgba(248,246,240,.3);color:var(--taupe);font-size:.85rem}.path-band{background:var(--taupe);padding:1.2rem 0}.path-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;font-size:.9rem;font-weight:600}.path-band span:before{content:'●';color:var(--peacock-teal);margin-right:.55rem;font-size:.7rem}.editorial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7rem}.editorial-grid>div:last-child{font-size:1.08rem}.statement-band{background:var(--peacock-teal);color:#fff;padding:3.2rem 0}.statement-band p{max-width:900px;margin:0;font:400 clamp(2.1rem,4vw,4.35rem)/1.05 var(--serif);letter-spacing:-.03em}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading h2{max-width:47rem;margin:0}.text-link{font-weight:700;text-decoration-color:var(--peacock-teal);text-decoration-thickness:2px}.reading-column{width:min(750px,100%);margin:auto;font-size:1.06rem}.amanda-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem;align-items:center}.portrait-placeholder{position:relative;display:grid;min-height:31rem;margin:0;background:var(--midnight-violet);color:var(--alabaster);place-items:center;overflow:hidden;border:1px solid rgba(41,33,60,.25)}.portrait-placeholder:before,.portrait-placeholder:after{content:'';position:absolute;border:1px solid rgba(248,246,240,.26);border-radius:50%}.portrait-placeholder:before{width:27rem;height:27rem;right:-11rem;top:-11rem}.portrait-placeholder:after{width:18rem;height:18rem;left:-8rem;bottom:-8rem}.portrait-mark{position:relative;z-index:1;color:var(--taupe);font:400 12rem/1 var(--serif)}.portrait-placeholder figcaption{position:absolute;z-index:1;bottom:1.3rem;left:1.4rem;right:1.4rem;font-size:.75rem;letter-spacing:.05em;text-align:center}.testimonial-placeholder{border-top:3px solid var(--peacock-teal);padding:2rem;background:#fff}.testimonial-placeholder.large{min-height:13rem;display:grid;place-items:center;text-align:center;background:var(--alabaster)}.cta-band{background:var(--teal-companion);color:#fff;padding:5.4rem 0}.cta-band .eyebrow{color:var(--midnight-violet)}.cta-band .eyebrow:before{background:var(--midnight-violet)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:4rem}.cta-inner h2{max-width:40rem}.cta-inner>div{max-width:48rem}.cta-band .button{background:var(--midnight-violet);border-color:var(--midnight-violet);white-space:nowrap}.page-navigation{width:min(1200px,90%);margin:0 auto;padding:2rem 0 4rem;display:flex;justify-content:space-between;gap:2rem;font-size:.9rem;font-weight:700}.page-navigation a{text-decoration-color:var(--peacock-teal);text-decoration-thickness:2px}.page-hero{padding:4.1rem 0 4.4rem;background:linear-gradient(110deg,var(--midnight-violet) 0%,var(--midnight-violet) 64%,var(--slate-violet) 100%);color:var(--alabaster)}.page-hero .eyebrow{color:var(--taupe)}.page-hero .eyebrow:before{background:var(--teal-companion)}.page-hero .lead{margin-bottom:0}.back-link{display:inline-block;margin-bottom:2.2rem;color:var(--taupe);font-size:.9rem}.statement{margin:2rem 0 0;color:var(--taupe);font:400 1.7rem/1.2 var(--serif)}.programme-nav{display:flex;gap:.65rem;flex-wrap:wrap;padding:2rem 0}.programme-nav a{border:1px solid var(--line);padding:.65rem .9rem;text-decoration:none;font-size:.9rem}.programme-nav a:hover{border-color:var(--peacock-teal);background:rgba(0,140,135,.08)}.programme-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem}.programme-cards{display:grid;gap:1rem}.programme-cards article{padding:1.8rem;border:1px solid rgba(248,246,240,.28);background:rgba(248,246,240,.05)}.programme-cards .button{margin-top:.5rem}.curriculum-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:6rem}.curriculum-row>div:last-child{font-size:1.05rem}.credentials-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem}.process-list{max-width:980px;margin:auto}.process-list article{display:grid;grid-template-columns:5rem 1fr;gap:2.5rem;padding:2.1rem 0;border-top:1px solid var(--line)}.process-list article:last-child{border-bottom:1px solid var(--line)}.process-list article>span{color:var(--peacock-teal);font:400 2.7rem/1 var(--serif)}.process-list h2{font-size:2rem}.fees-panel{max-width:780px;margin:auto}.review-layout,.enquiry-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:6rem}.review-form,.enquiry-form{background:var(--alabaster);color:var(--ink);padding:2.2rem}.review-form textarea,.review-form input,.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;min-height:48px;border:1px solid rgba(41,33,60,.42);background:#fff;color:var(--ink);padding:.72rem;font:inherit}.review-form textarea,.enquiry-form textarea{min-height:120px;resize:vertical}.review-form p{font-weight:700;margin:.9rem 0 .35rem}.review-form .check{margin:1.25rem 0}.enquiry-aside{align-self:start;position:sticky;top:130px}.form-kicker{font:400 1.7rem var(--serif)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.45rem;font-weight:700;font-size:.92rem}.field.full{grid-column:1/-1}.contact-method{grid-column:1/-1;border:0;padding:0;margin:0}.contact-method legend{font-weight:700;margin-bottom:.5rem}.contact-method label{margin-right:1rem;font-weight:500}.form-note{padding:1rem;border-left:3px solid var(--teal-companion);background:rgba(214,201,184,.35);font-size:.9rem}.check{display:flex;align-items:flex-start;gap:.65rem;margin:1.3rem 0;font-size:.92rem}.check input{width:1rem;height:1rem;min-height:auto;margin-top:.25rem;flex:none}.form-status{font-weight:700;min-height:1.6em;margin-top:1rem!important}.faq-list{max-width:900px;margin:auto}.faq-list details{padding:1.4rem 0;border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;gap:1rem;justify-content:space-between;cursor:pointer;font:400 1.35rem/1.35 var(--serif);list-style:none}.faq-list summary:after{content:'+';color:var(--peacock-teal);font:400 1.7rem/1 var(--sans)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:1.1rem 0 0}.footer{background:var(--midnight-violet);color:var(--alabaster);padding:4.8rem 0 1.7rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:4.5rem}.footer .brand{width:195px;margin-bottom:1.8rem}.footer h2{font:600 .82rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer nav a{font-size:.92rem}.footer .button{margin-top:.7rem;background:var(--teal-companion);border-color:var(--teal-companion)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid rgba(248,246,240,.28);font-size:.83rem;color:var(--taupe)}
@media(max-width:1120px){.nav-wrap{gap:1rem}.main-navigation{gap:.8rem}.main-navigation>a:not(.button),.portal-reserved{font-size:.79rem}.home-hero-grid,.editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{gap:3.5rem}.section{padding:5.3rem 0}}@media(max-width:900px){.nav-wrap{min-height:68px}.brand{width:155px}.menu-toggle{display:block;margin-left:auto}.main-navigation{display:none;position:absolute;left:0;right:0;top:100%;max-height:80vh;overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:1.2rem 5%;background:var(--alabaster);border-bottom:1px solid var(--line)}.main-navigation.is-open{display:flex}.main-navigation>a:not(.button),.portal-reserved{padding:.75rem 0;font-size:1rem}.main-navigation .button{margin:.8rem 0}.home-hero{padding:5.3rem 0}.home-hero-grid,.editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{grid-template-columns:1fr;gap:2.5rem}.subject-panel{max-width:620px}.section-heading{align-items:start;flex-direction:column}.enquiry-aside{position:static}.cta-inner{align-items:flex-start;flex-direction:column;gap:1.4rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.8rem}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:3.5rem 0}.process-list article{grid-template-columns:3.7rem 1fr;gap:1.3rem}}@media(max-width:560px){body{font-size:.98rem}.wrap{width:89%}h1{font-size:3.1rem}h2{font-size:2.25rem}.section{padding:4rem 0}.home-hero{padding:4rem 0}.home-hero:after{font-size:19rem}.subject-panel{padding:1.4rem}.subject-line strong{font-size:1.75rem}.path-band .wrap{display:block}.path-band span{display:block;margin:.4rem 0}.form-grid{grid-template-columns:1fr}.field.full,.contact-method{grid-column:auto}.enquiry-form,.review-form{padding:1.3rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.page-navigation{font-size:.82rem}.actions .button{width:100%}.portrait-placeholder{min-height:23rem}.programme-nav{width:89%}.programme-nav a{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.recommendation-grid.home-recommendations{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:2rem;background:#fff;border-top:3px solid var(--peacock-teal)}.recommendation-card .eyebrow{font-size:.7rem;letter-spacing:.1em}.recommendation-card blockquote{margin:0 0 2rem;font:400 1.18rem/1.6 var(--serif)}.recommendation-card blockquote p{margin:0}.recommendation-card figcaption{display:flex;flex-direction:column;gap:.2rem;margin-top:auto;border-top:1px solid var(--line);padding-top:1.2rem;font-size:.9rem;line-height:1.5}.recommendation-source{color:var(--slate-violet);font-size:.78rem;margin-top:.4rem}.recommendation-verification{margin:2rem 0 0;font-size:.9rem}.recommendation-verification a{display:inline-block}.recommendation-grid:not(.home-recommendations)>.recommendation-card:only-child{grid-column:1/-1;max-width:850px}@media(max-width:900px){.recommendation-grid.home-recommendations{grid-template-columns:1fr}}@media(max-width:650px){.recommendation-grid{grid-template-columns:1fr}.recommendation-card{padding:1.5rem}.recommendation-card blockquote{font-size:1.1rem}}
/* Functional additions: conditional fields, bot trap, optional approved portrait. */
[hidden]{display:none!important}.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.amanda-photo{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.spam-check{margin:1rem 0;max-width:100%;overflow:hidden}.button:disabled{opacity:.6;cursor:wait}


/* Keep contact choices compact and aligned on mobile. */
.contact-method label{display:inline-flex;align-items:center;gap:.5rem}.contact-method input[type="radio"]{width:1rem;height:1rem;min-height:0;margin:0;padding:0;flex:none}.field-hint{font-size:.8rem;font-weight:400;line-height:1.4}.delivery-note{padding:1rem;border-left:3px solid var(--teal-companion);background:rgba(214,201,184,.35)}.delivery-note a{font-weight:700}.check span{min-width:0}


/* Shared consistency rules */
:root{--teal-dark:#006B67;--surface-radius:.35rem;--control-height:3rem}
.header{z-index:100;background:var(--alabaster);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:5rem}
.header .brand img{display:block;max-width:100%;height:auto;object-fit:contain}
.menu-toggle{min-height:44px;padding:.6rem 1rem;border:1px solid var(--midnight-violet);border-radius:var(--surface-radius);font:700 .95rem/1.2 var(--sans)}
.button{min-height:var(--control-height);padding:.75rem 1.25rem;border:1px solid var(--teal-dark);border-radius:var(--surface-radius);background:var(--teal-dark);color:var(--alabaster);font:700 .95rem/1.2 var(--sans);letter-spacing:.01em;transition:filter .18s ease,transform .18s ease}
.button:hover{background:var(--teal-dark);filter:none;transform:translateY(-1px)}
.button:focus-visible{outline:3px solid var(--midnight-violet);outline-offset:3px}
.button.secondary{background:transparent;border:1px solid currentColor;color:inherit}
.button.secondary:hover{background:rgba(214,201,184,.28);filter:none;transform:none}
.home-hero .button:not(.secondary),.page-hero .button:not(.secondary),.section.dark .button:not(.secondary),.footer .button:not(.secondary){background:var(--teal-companion);border-color:var(--teal-companion);color:var(--midnight-violet)}
.home-hero .button:not(.secondary):focus-visible,.page-hero .button:not(.secondary):focus-visible,.section.dark .button:not(.secondary):focus-visible,.footer .button:not(.secondary):focus-visible{outline-color:var(--alabaster)}
.cta-band{padding:clamp(3.5rem,7vw,5.4rem) 0;background:var(--teal-companion);color:var(--midnight-violet)}
.cta-band .button:not(.secondary){background:var(--midnight-violet);border-color:var(--midnight-violet);color:var(--alabaster);white-space:nowrap}
.cta-band .button:not(.secondary):focus-visible{outline-color:var(--midnight-violet)}
.cta-inner{gap:clamp(1.5rem,4vw,4rem)}
.actions{gap:.85rem}
.page-navigation{align-items:center;gap:1.5rem}
.page-navigation a{display:inline-flex;align-items:center;min-height:44px}
h1,h2,h3{margin-block-start:0;line-height:1.1}
h1{margin-block-end:1.25rem}
h2{margin-block-end:1rem}
h3{margin-block-end:.75rem}
.process-list h2{font-size:clamp(2rem,3.5vw,3.55rem)}
.section-heading{margin-block-end:2.5rem}
.recommendation-grid{gap:1.5rem}
.recommendation-card{padding:2rem;border:1px solid var(--line);border-top:3px solid var(--peacock-teal);border-radius:var(--surface-radius);box-shadow:0 8px 24px rgba(41,33,60,.08)}
.recommendation-card .eyebrow{margin-block-end:1rem}
.programme-cards{gap:1.25rem}
.programme-cards article{padding:1.9rem;border-radius:var(--surface-radius)}
.programme-cards article h3{margin-block-end:.85rem}
.subject-panel,.testimonial-placeholder{border-radius:var(--surface-radius)}
.review-form,.enquiry-form{padding:2.25rem;border:1px solid var(--line);border-radius:var(--surface-radius);box-shadow:0 8px 24px rgba(41,33,60,.08)}
.required-note{margin:0 0 1.15rem;font-size:.9rem;font-weight:700}
.required-marker{display:inline-block;margin-left:.12em;font-weight:800}
.field{min-width:0;gap:.5rem;font-size:.95rem;line-height:1.4}
.review-form .field{margin:0 0 1.1rem}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{display:block;width:100%;min-width:0;min-height:var(--control-height);margin:0;padding:.72rem .8rem;border:1px solid rgba(41,33,60,.42);border-radius:.25rem;background:#fff;color:var(--midnight-violet);font:400 1rem/1.4 var(--sans)}
.field textarea{min-height:8rem;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--teal-companion);outline-offset:2px;border-color:var(--midnight-violet)}
.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#9b2c2c}
.field-hint{font-size:.82rem}
.contact-method{min-width:0}
.contact-method label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem}
.contact-method input[type=radio],.check input[type=checkbox]{width:1rem;height:1rem;min-height:1rem;margin:0;flex:none}
.check{align-items:flex-start;gap:.65rem;line-height:1.45}
.review-form>.button,.enquiry-form>.button{width:100%}
.form-note{border-radius:.2rem;line-height:1.5}
.bot-field[hidden],[hidden]{display:none!important}
@media(max-width:1320px){
 .nav-wrap{min-height:4.5rem;gap:1rem}
 .menu-toggle{display:block;margin-left:auto}
 .main-navigation{display:none;position:absolute;z-index:101;top:100%;left:0;right:0;max-height:min(80vh,42rem);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:1rem 5% 1.25rem;background:var(--alabaster);border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(41,33,60,.08)}
 .main-navigation.is-open{display:flex}
 .main-navigation>a:not(.button),.portal-reserved{display:flex;align-items:center;min-height:44px;padding:.65rem 0;font-size:1rem}
 .main-navigation .button{width:100%;margin:.8rem 0 0}
}
@media(max-width:900px){
 .header{background:var(--alabaster)}
 .nav-wrap{min-height:4.5rem;padding:.4rem 0}
 .brand{width:155px}
 .header .brand img{width:100%;height:auto;max-height:3.25rem}
 .main-navigation{background:var(--alabaster)}
 .cta-inner{align-items:flex-start;flex-direction:column;gap:1.4rem}
 .cta-band .button:not(.secondary){width:100%}
 .programme-cards{gap:1.5rem}
 .programme-cards article{padding:1.6rem}
}
@media(max-width:560px){
 .brand{width:145px}
 .menu-toggle{min-height:44px;padding:.55rem .85rem}
 .cta-band{padding:3.75rem 0}
 .programme-cards{gap:1.6rem}
 .programme-cards article{padding:1.4rem}
 .section.dark#ib{padding-block:4.75rem}
 .review-form,.enquiry-form{padding:1.25rem}
 .form-grid{gap:1rem}
 .programme-nav{padding-block:1.5rem}
 .page-navigation{padding-block:1.5rem 3rem}
}


/* Visual refinements only: retain the approved copy, palette and typefaces. */
.header{background:var(--alabaster);z-index:100}
p{margin:0 0 1.1rem}
h1,h2,h3,.statement-band p,.statement{ text-wrap:balance }
p,blockquote,li,.field,.check{ text-wrap:pretty }
.eyebrow:before{flex-shrink:0}
.eyebrow{display:block;position:relative;padding-left:2.7rem;text-wrap:balance}
.eyebrow:before{display:block;position:absolute;left:0;top:.75em}
.main-navigation>a:not(.button){display:inline-flex;align-items:center;min-height:44px}
.back-link{display:inline-flex;align-items:center;min-height:44px}
.header .button,.header~main .button,.footer .button{max-width:100%;text-wrap:balance}
.home-hero-grid>*,.editorial-grid>*,.amanda-preview>*,.programme-feature>*,.curriculum-row>*,.credentials-panel>*,.review-layout>*,.enquiry-layout>*{min-width:0}
.form-grid>.field{justify-content:flex-end}
.check input[type=checkbox]{margin-top:.2rem}
.faq-list summary:after{flex:none}
.faq-list summary::-webkit-details-marker{display:none}
.section{padding-block:4.5rem}
.home-hero{padding-block:5.5rem 5rem}
.page-hero{padding-block:3.25rem}
.page-hero h1{max-width:20ch;font-size:clamp(2.6rem,5.2vw,5rem)}
.home-hero h1{font-size:clamp(2.6rem,4.8vw,4.5rem)}
.hero-line{display:block;white-space:nowrap}
.keep-together{white-space:nowrap}
.credentials-panel h2{font-size:clamp(1.6rem,2.45vw,2.2rem)}
.back-link{margin-bottom:1.5rem}
.home-hero-grid{gap:4rem}
.editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{gap:4rem}
.section-heading{gap:1.25rem 2rem;margin-bottom:2rem}
.section-heading>div{min-width:0}
.section-heading>.text-link{flex-shrink:0;max-width:18rem;text-wrap:balance}
.reading-column>:last-child,.editorial-grid>div>:last-child,.curriculum-row>div>:last-child,.credentials-panel>div>:last-child,.amanda-preview>div>:last-child,.enquiry-aside>:last-child,.cta-inner>div>:last-child{margin-bottom:0}
.fees-panel>:last-child,.page-hero .wrap>:last-child{margin-bottom:0}
.statement-band{padding-block:2.5rem}
.statement-band p{line-height:1.14}
.learning-statement span{display:block}
.programme-nav{padding-block:1.5rem}
.process-list article{padding-block:1.6rem}
.process-list article>div>:last-child{margin-bottom:0}
.process-list h2 .keep-together{font:inherit;color:inherit}
.programme-cards article>:last-child{margin-bottom:0}
.recommendation-grid{align-items:start}
.recommendation-grid.home-recommendations{align-items:stretch}
.recommendation-card blockquote{margin-bottom:1.25rem}
.recommendation-card figcaption{padding-top:1rem}
.cta-band{padding-block:3.75rem}
.cta-inner{gap:2rem 3rem}
.page-navigation{padding-block:1.5rem 2.25rem;align-items:center;flex-wrap:wrap}
.page-navigation a{max-width:100%;flex-shrink:0;white-space:nowrap;text-wrap:nowrap}
.page-navigation a:last-child{text-align:right;margin-left:auto}
.page-navigation>span:empty{display:none}
.footer{padding-top:3.5rem}
.footer-grid{gap:3rem}
.footer-bottom{margin-top:2rem}
.section.recommendations-intro{padding-bottom:1rem}
.section.recommendations-note{padding-top:2rem}
.form-status:empty{min-height:0;margin:0!important}
.field input[aria-invalid="true"]:not([type=checkbox]):not([type=radio]),.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border:2px solid #9b2c2c}
.check input[aria-invalid="true"]{outline:2px solid #9b2c2c;outline-offset:3px}
.field-error{display:block;color:#9b2c2c;font-size:.9rem;line-height:1.4;grid-column:1/-1}
.review-form .check{min-height:44px;align-items:center}
@media(max-width:1120px){
 .section{padding-block:3.75rem}
 .home-hero-grid,.editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{gap:3rem}
}
@media(max-width:900px){
 .section{padding-block:3.25rem}
 .home-hero{padding-block:3.5rem}
 .page-hero{padding-block:2.75rem}
 .home-hero-grid{gap:2rem}
 .editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{gap:1.75rem}
 .section-heading{gap:1rem;margin-bottom:1.75rem}
 .section-heading>.text-link{max-width:100%}
 .cta-band{padding-block:3rem}
 .cta-inner{gap:1.5rem}
 .footer-grid{gap:2rem}
 .footer nav{gap:.1rem;align-items:stretch}
 .footer nav a{display:flex;align-items:center;min-height:44px;padding:.4rem 0}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .contact-method label{min-height:44px;padding-block:.35rem}
}
@media(max-width:560px){
 body{font-size:1rem}
 h1{font-size:clamp(2.55rem,10.5vw,3.1rem)}
 .home-hero h1{font-size:clamp(1.85rem,8.2vw,2.3rem)}
 h2{font-size:clamp(1.9rem,8vw,2.25rem);line-height:1.13}
 .page-hero h1{font-size:clamp(2.45rem,10vw,3.1rem)}
 .page-hero h1.compact-title{font-size:clamp(1.8rem,7.8vw,2.25rem)}
 .page-hero h1.privacy-title{font-size:clamp(1.75rem,7.6vw,2rem)}
 .page-hero h1.recommendations-title{font-size:clamp(1.9rem,8.4vw,2.3rem)}
 .page-hero .back-link{margin-bottom:.5rem}
 .subject-panel .eyebrow{font-size:.75rem;letter-spacing:.1em}
 .credentials-panel h2{font-size:1.6rem}
 .section,.section.dark#ib{padding-block:2.75rem}
 .home-hero{padding-block:3rem}
 .page-hero{padding-block:2.5rem}
 .back-link{margin-bottom:1.25rem}
 .statement-band{padding-block:2rem}
 .statement-band p{font-size:clamp(1.85rem,7.4vw,2.2rem);letter-spacing:-.025em}
 .home-hero-grid,.editorial-grid,.amanda-preview,.programme-feature,.curriculum-row,.credentials-panel,.review-layout,.enquiry-layout{gap:1.5rem}
 .section-heading{gap:.85rem;margin-bottom:1.5rem}
 .actions{margin-top:1.5rem}
 .programme-nav{padding-block:1.25rem}
 .programme-cards{gap:1rem}
 .process-list article{grid-template-columns:2.4rem minmax(0,1fr);gap:1rem;padding-block:1.4rem}
 .process-list article>span{font-size:2.1rem;line-height:1.2}
 .process-list h2{font-size:clamp(1.4rem,6.3vw,1.6rem)}
 .recommendation-card{padding:1.3rem}
 .recommendation-card blockquote{margin-bottom:1.1rem}
 .cta-band{padding-block:2.75rem}
 .page-navigation{gap:1rem;padding-block:1.25rem 1.75rem}
 .footer{padding-top:2.75rem}
 .footer-grid{gap:1.75rem}
 .footer .brand{margin-bottom:1.25rem}
}
@media(max-width:350px){
 h2{font-size:1.75rem}
 .page-hero h1:not(.compact-title):not(.privacy-title){font-size:2.1rem}
}

/* Keep in-page destinations clear of the sticky public header. */
body#top main [id]{scroll-margin-top:6.5rem}
.review-form .delivery-note{font-weight:400;margin-bottom:1.25rem}

/* Keep small text readable against existing brand colours. */
.skip-link{color:var(--midnight-violet)}
.section.taupe .eyebrow{color:var(--midnight-violet)}


/* Header logo: the asset itself is transparent; keep every surrounding layer transparent so the cream header shows through. */
.header .brand,
.header .brand:before,
.header .brand:after,
.header .brand img{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.header .brand{padding:0!important;overflow:visible}
.header .brand:before,.header .brand:after{content:none!important}

/* Manual carousels belong only to the Recommendations page. */
.recommendation-grid.recommendation-carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .25rem 1rem;align-items:stretch}
.recommendation-carousel>.recommendation-card{scroll-snap-align:start;margin:0}
.carousel-controls{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}
.review-stars{color:var(--peacock-teal);font-size:1.4rem;letter-spacing:.1em}
#review-form{scroll-margin-top:2rem}
#reviews-admin{max-width:75rem}

/* Compact programme disclosures; native keyboard and screen-reader support. */
.programme-accordion-section{padding-block:1.5rem 3rem}
.programme-disclosure{border-top:1px solid var(--line)}
.programme-disclosure:last-child{border-bottom:1px solid var(--line)}
.programme-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;list-style:none;padding:1.25rem 0}
.programme-disclosure summary::-webkit-details-marker{display:none}
.programme-disclosure summary:after{content:'+';font-size:2rem;color:var(--peacock-teal);flex:none}
.programme-disclosure[open] summary:after{content:'−'}
.programme-disclosure summary:focus-visible{outline:2px solid var(--peacock-teal);outline-offset:4px}
.programme-disclosure summary h2{font-size:clamp(1.45rem,3vw,2rem);margin:0}
.programme-disclosure summary .eyebrow{margin:0 0 .35rem}
.programme-details{padding:0 0 1.5rem;max-width:100%}
.programme-details>.programme-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.programme-details .programme-cards article{background:var(--midnight-violet);color:var(--alabaster)}
@media(max-width:650px){.programme-details>.programme-cards{grid-template-columns:1fr}}
