:root{--wine:#730b22;--wine-dark:#4b0718;--ink:#33221e;--gold:#daa03d;--lightgold:#f6d996;--cream:#fffaf0;--paper:#f8f1e7;--sand:#e9ddcd;--muted:#705f56;--line:#e8dac8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600}h2{font-size:clamp(2rem,3.7vw,3.55rem);line-height:1.14;letter-spacing:-.035em}h2 em,h1 em{font-weight:500;color:var(--wine)}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.section{padding:76px 0}.eyebrow{font-family:'Manrope',sans-serif;font-size:1.1rem;line-height:1.6;letter-spacing:.21em;font-weight:800;color:var(--lightgold);margin-bottom:calc(25px + 1.6em)}.eyebrow.dark{color:#a36f2e}.skip{position:absolute;left:-9999px;top:0;background:white;padding:12px;z-index:100}.skip:focus{left:12px}.header{height:92px;position:sticky;top:0;z-index:30;background:rgba(255,250,240,.97);border-bottom:1px solid #ebddca;backdrop-filter:blur(10px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:var(--wine);min-width:215px}.brand img{width:62px;height:62px;object-fit:cover;object-position:center}.brand>span{font-family:'Playfair Display',serif;font-size:1.45rem;line-height:1.04;font-weight:700;letter-spacing:.02em}.brand small{display:block;font:700 .7rem 'Manrope',sans-serif;letter-spacing:.45em;margin-top:5px;color:#b47b34}.navigation{display:flex;align-items:center;gap:20px;font-size:.83rem;font-weight:700}.navigation>a:not(.nav-action):hover,.under-link:hover,.footer a:hover{color:#b57e33}.nav-action{background:var(--wine);color:white;padding:15px 19px;border-radius:3px}.nav-action:hover{background:var(--wine-dark)}.nav-action span,.button span,.under-link span{margin-left:12px}.menu-toggle{display:none}.hero{background:var(--wine);min-height:650px;position:relative;color:white;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:70px;min-height:650px;padding-block:48px}.hero-content{position:relative;z-index:2}.spark{font-size:1.2rem;margin-right:9px}.hero h1{font-size:clamp(2.75rem,4.5vw,4.8rem);line-height:1.13;letter-spacing:-.04em;margin-bottom:29px}.hero h1 em{color:#efbc67}.lead{font-size:1.1rem;line-height:1.85;color:#f5e5dc;max-width:570px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem;font-weight:700;padding:18px 23px;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.gold{background:#f2c77a;color:#521a1b}.button.gold:hover{background:#ffe0a5}.button.burgundy{background:var(--wine);color:white}.button.burgundy:hover{background:var(--wine-dark)}.text-link{font-size:.9rem;border-bottom:1px solid #d9a76b;padding-bottom:8px;font-weight:700}.text-link span{margin-left:14px}.hero-rule{display:flex;gap:15px;align-items:center;margin-top:73px;color:#e9b9a7;letter-spacing:.16em;font:700 .7rem 'Manrope',sans-serif}.hero-rule b{color:var(--gold);font-size:1.15rem}.hero-visual{position:relative;display:grid;place-items:center;min-height:510px}.visual-arch{background:#fffcf5;width:min(100%,430px);height:475px;overflow:hidden;border:8px solid #e1a64d;border-radius:240px 240px 7px 7px;box-shadow:0 25px 65px #32041260;display:grid;place-items:center}.visual-arch img{width:100%;height:100%;object-fit:contain}.floating-note{position:absolute;bottom:-8px;left:-45px;background:#fff8e9;color:var(--wine);padding:19px 27px 21px;box-shadow:0 14px 35px #37071946;transform:rotate(-3deg);border-bottom:4px solid var(--gold)}.floating-note span{display:block;color:#96692d;font-size:.62rem;letter-spacing:.17em;font-weight:800}.floating-note strong{font:600 1.3rem/1.14 'Playfair Display',serif;display:block;margin:8px 0}.floating-note small{font-size:.76rem;color:#705a50}.decor{position:absolute;color:#b44d54;opacity:.21;font-size:220px}.decor-a{top:-140px;left:-55px}.decor-b{bottom:-145px;right:-80px}.ticker{background:#e4aa57;color:#5e1820}.ticker-items{min-height:65px;display:flex;align-items:center;justify-content:space-around;gap:18px;text-align:center;font:800 .76rem 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase}.diamond{font-size:.8rem}.introduction{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:13%;align-items:center}.intro-grid h2{margin-bottom:0}.intro-body{font-size:1.05rem;line-height:1.9;color:#65554c}.intro-body p{margin-bottom:18px}.under-link{display:inline-block;margin-top:15px;border-bottom:1px solid var(--wine);padding-bottom:8px;font-size:.9rem;color:var(--wine);font-weight:700}.school-section{background:var(--paper)}.split-heading{display:grid;grid-template-columns:1fr .73fr;gap:12%;align-items:end;margin-bottom:50px}.split-heading h2{margin-bottom:0}.split-heading>p{color:var(--muted);line-height:1.85;font-size:1.03rem;margin-bottom:7px}.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.programme-card{background:#fffcf7;border:1px solid var(--line);padding:42px;min-height:440px}.programme-card.deeper{background:#f7e7d0}.program-top{display:flex;justify-content:space-between;align-items:center;font:800 .7rem 'Manrope',sans-serif;letter-spacing:.14em;color:#9d7239}.card-star{font-size:2rem;color:var(--gold)}.programme-card h3{font-size:2.55rem;color:var(--wine);margin:33px 0 6px}.card-subtitle{font-weight:700!important;color:#a17438!important;margin-bottom:22px!important}.programme-card p{line-height:1.8;color:#6c5950}.programme-card ul{list-style:none;padding:0;margin:24px 0 0}.programme-card li{border-top:1px solid #dfccad;padding:12px 0;font-size:.9rem;font-weight:600}.programme-card li::before{content:'✧';color:#a36b29;margin-right:12px}.pathway{background:var(--wine);margin-top:23px;color:#fffbf5;display:flex;align-items:center;justify-content:space-between;padding:30px 40px;gap:20px}.pathway span{font:700 .66rem 'Manrope',sans-serif;letter-spacing:.16em;color:#e9c98d}.pathway strong{display:block;font:600 1.35rem/1.25 'Playfair Display',serif;margin-top:10px}.pathway p{color:#f7e6da;max-width:100%;text-align:right;line-height:1.8;margin:0}.pathway p span{font-size:1rem;margin:0 5px}.subtle-note{color:#8b796e;font-size:.8rem;margin-top:18px}.approach-section{background:#63091e;color:white}.center-heading{text-align:center;max-width:720px;margin:auto}.center-heading h2 em{color:#ebbf75}.center-heading>p:last-child{color:#f2dcd2;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:62px}.feature{border:1px solid #9b4b56;padding:27px 24px;min-height:270px;background:#ffffff08}.feature-number{font-size:.7rem;letter-spacing:.15em;color:#e4bf87}.feature-icon{font-size:2.8rem;color:#f2ca86;margin:19px 0 7px;min-height:48px}.feature h3{font-size:1.4rem;margin-bottom:13px}.feature p{color:#ebd7d0;font-size:.87rem;line-height:1.7}.heritage-strip{background:#f7eee2}.heritage-strip img{width:100%;height:auto;display:block;object-fit:contain}.vision-section{background:#fffaf0}.vision-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;align-items:center}.vision-grid>div>p:not(.eyebrow){line-height:1.8;color:var(--muted)}.vision-list{border-top:1px solid #e0d1c0}.vision-list>div{display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:18px;padding:27px 3px;border-bottom:1px solid #e0d1c0}.vision-list>div>span{color:#ad8145;font-size:.8rem}.vision-list p{margin:0}.vision-list strong{font:600 1.25rem 'Playfair Display',serif;color:var(--wine);display:block;margin-bottom:8px}.vision-list small{font-size:.88rem;color:#79695f;line-height:1.5}.vision-list b{font-weight:400;color:var(--gold)}.interest-section{background:#ead5b7}.interest-layout{display:grid;grid-template-columns:1fr .8fr;gap:11%;align-items:center}.interest-layout>div:not(.interest-card)>p:not(.eyebrow){color:#65514a;line-height:1.8;font-size:1rem}.interest-note{border-left:3px solid #ba8239;padding-left:19px;margin-top:25px}.interest-card{background:#fffaf2;border:1px solid #e1c7a4;padding:42px;box-shadow:0 20px 65px #5f311517}.interest-symbol{color:#bd852f;font-size:2.6rem}.interest-card h3{color:var(--wine);font-size:1.8rem;margin:12px 0}.interest-card p{color:#6c5c54;line-height:1.8}.interest-card .button{width:100%;margin:17px 0 14px}.interest-card small{display:block;text-align:center;color:var(--wine);font-weight:700;overflow-wrap:anywhere}.interest-card .privacy-note{font-size:.75rem;border-top:1px solid #ebdfd1;padding-top:16px;margin-top:20px;margin-bottom:0}.faq-section{background:#fffbf6}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:11%}.faq-layout>div>p:not(.eyebrow){color:var(--muted);line-height:1.8}.faqs{border-top:1px solid #e4d6c6}.faqs details{border-bottom:1px solid #e4d6c6;padding:23px 0}.faqs summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;color:var(--wine);font-weight:700;line-height:1.5}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:1.4rem;font-weight:400}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{font-size:.92rem;line-height:1.8;color:var(--muted);margin:18px 25px 0 0}.faqs details a{text-decoration:underline}.footer{background:#4a0718;color:#fdf3e5;padding:58px 0 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:55px}.footer-brand{display:flex;align-items:center;gap:17px}.footer-brand img{width:75px;height:75px;object-fit:cover;background:white}.footer-brand strong{font:600 1.5rem 'Playfair Display',serif}.footer-brand p{font-size:.83rem;color:#dfbb91;margin:8px 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:25px;font-size:.86rem}.footer-bottom{border-top:1px solid #894655;padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:.8rem;color:#dfbdba}.footer-bottom a{text-decoration:underline}@media(max-width:1000px){.navigation{gap:15px}.brand{min-width:auto}.hero-layout{gap:35px}.hero h1{font-size:clamp(2.75rem,4.8vw,4rem)}.floating-note{left:-15px}.feature-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.vision-grid,.interest-layout{gap:6%}}@media(max-width:760px){.shell{width:min(100% - 38px,1180px)}.header{height:76px}.brand img{width:54px;height:54px}.brand>span{font-size:1.2rem}.menu-toggle{display:flex;border:1px solid #dfcbbb;background:transparent;padding:9px;width:43px;height:43px;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;width:100%;height:2px;background:var(--wine)}.navigation{display:none;position:absolute;left:0;right:0;top:76px;background:var(--cream);border-bottom:1px solid #e4d6c6;padding:15px 20px 25px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 23px #39160912}.navigation.open{display:flex}.navigation>a{padding:15px 8px;border-bottom:1px solid #eee0d1}.navigation .nav-action{margin-top:14px;text-align:center;color:white;padding:17px}.section{padding:52px 0}h2{font-size:clamp(2rem,6.4vw,2.8rem)}.hero-layout{grid-template-columns:1fr;gap:45px;padding-block:48px 40px}.hero h1{font-size:clamp(2.65rem,8vw,4.15rem)}.hero-visual{min-height:360px}.visual-arch{height:365px;width:min(84%,365px)}.floating-note{bottom:-8px;left:0}.hero-rule{margin-top:45px;gap:9px;flex-wrap:wrap}.ticker-items{padding:20px 0;flex-wrap:wrap;font-size:.63rem}.intro-grid,.split-heading,.vision-grid,.interest-layout,.faq-layout{grid-template-columns:1fr;gap:29px}.programme-grid{grid-template-columns:1fr}.programme-card{min-height:0;padding:30px}.programme-card h3{font-size:2.15rem}.pathway{flex-direction:column;align-items:flex-start;padding:28px}.pathway p{text-align:left}.feature-grid{gap:12px}.feature{padding:22px 18px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{gap:18px}.footer-top{padding-bottom:30px}.interest-card{padding:31px}.heritage-strip img{max-height:none}}@media(max-width:450px){.feature-grid{grid-template-columns:1fr}.hero h1{font-size:2.45rem}.actions{align-items:flex-start;flex-direction:column}.hero-rule{font-size:.55rem}.hero-visual{min-height:330px}.visual-arch{height:310px}.floating-note{padding:14px 19px}.floating-note strong{font-size:1.15rem}.interest-card h3{font-size:1.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Each route presents one page while keeping the static content accessible without JS. */
/* Fill short views so the footer rests at the viewport bottom. */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.header,.footer{flex-shrink:0}
main{flex:1;display:flex;flex-direction:column;justify-content:center}
main>[data-page]{flex-shrink:0}
.header,main,.introduction,.school-section,.heritage-strip,.vision-section,.interest-section,.faq-section{background:var(--cream)}
[hidden]{display:none!important}
.navigation a[aria-current="page"]:not(.nav-action){color:var(--wine);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:2px}
main:focus{outline:none}
.floating-note{translate:0 35%}
.interest-section{background:#63091e;color:white}
.interest-section h2 em{color:#ebbf75}
.interest-layout>div:not(.interest-card)>p:not(.eyebrow){color:#f2dcd2}
.interest-note{border-left-color:#ebbf75}
.navigation a[aria-current="location"]:not(.nav-action){color:var(--wine);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:2px}
/* Image ratio: 774 / 2033. At 40% crop focus, keeping 56.25% of
   its height limits top cropping to 40% * 43.75% = 17.5%. */
.heritage-strip{position:sticky;top:92px;z-index:20;height:clamp(21.415396vw,20vh,38.071815vw);height:clamp(21.415396vw,20dvh,38.071815vw);overflow:hidden;display:flex;align-items:center}
.heritage-strip img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 40%;flex-shrink:0}
@media(max-width:760px){.heritage-strip{top:76px}}
main[data-view="school"]{justify-content:flex-start}
@media(max-width:760px){
  .hero-layout{padding-bottom:80px}
  .hero-visual{min-height:0;gap:16px}
  .floating-note{position:static;transform:none;translate:none;width:min(84%,365px);justify-self:center}
}

.interest-card{color:var(--ink)}

.feature-icon svg{width:1em;height:1em;vertical-align:middle}

@media(min-width:761px){.pathway{flex-wrap:wrap}.pathway p{white-space:nowrap}}

.programmes-menu{position:relative}
.programmes-menu summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none}
.programmes-menu summary::-webkit-details-marker{display:none}
.dropdown-chevron{display:inline-block;font-size:.65em;transition:transform .2s}
.programmes-menu[open] .dropdown-chevron{transform:rotate(90deg)}
.programmes-menu summary:hover{color:#b57e33}
.programmes-menu.current summary{color:var(--wine);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:2px}
.programmes-links{position:absolute;top:calc(100% + 16px);left:0;min-width:190px;background:var(--cream);border:1px solid var(--line);border-radius:3px;box-shadow:0 12px 25px #39160920;padding:6px;z-index:1}
.programmes-links a{display:block;padding:13px 14px;white-space:nowrap}
.programmes-links a:hover{background:var(--paper);color:var(--wine)}
@media(max-width:760px){
  .programmes-menu summary{padding:15px 8px;border-bottom:1px solid #eee0d1;justify-content:flex-start}
  .programmes-links{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 0 16px}
  .programmes-links a{padding:15px 8px;border-bottom:1px solid #eee0d1}
}
