nav a[aria-current="page"]{color:#963a90;text-decoration:underline;text-underline-offset:6px}
.button.secondary{background:transparent;color:var(--magenta);border:1px solid var(--magenta)}.button.secondary:hover{background:var(--lilac);color:#782c73;border-color:#782c73}.button.secondary::after{content:none}
.hero{height:85vh;height:85svh;min-height:0}
@media(max-width:760px){.hero{display:flex;flex-direction:column}.hero-copy{margin:0 auto;flex:0 0 auto;width:100%}.hero-photo{position:static;order:1;flex:1 1 auto;height:0;min-height:0;object-position:55% bottom}}
.nav-group{position:relative}.nav-parent{display:flex;align-items:center;gap:2px}.nav-parent>a{padding-block:12px}.nav-parent .is-section{color:var(--magenta)}.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.submenu-toggle:hover{color:var(--magenta)}.submenu-toggle svg{transition:transform .18s}.submenu-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.submenu{position:absolute;top:100%;left:-16px;min-width:220px;list-style:none;padding:8px;margin:0;background:#fff;border:1px solid var(--line);border-radius:3px;box-shadow:0 8px 18px #211c2414;z-index:12}.submenu[hidden]{display:none}.submenu a{display:block;padding:12px;font-size:14px;white-space:nowrap}.submenu a:hover{background:var(--lilac);color:var(--magenta)}.social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px}.social-links a:hover{color:var(--magenta)}
@media(max-width:760px){.header nav.is-open{max-height:calc(100svh - 78px);overflow:auto;align-items:stretch}.header nav>a{padding-block:8px}.nav-group{width:100%}.nav-parent{justify-content:space-between}.nav-parent>a{flex:1}.submenu-toggle{width:44px}.submenu{position:static;min-width:0;border:0;box-shadow:none;border-radius:0;border-top:1px solid var(--line);padding:4px 0 8px 16px}.submenu a{white-space:normal}.header nav .button{align-self:flex-start}}
@media(max-width:760px){.course-table thead{display:table-header-group;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.course-table thead tr{display:table-row;padding:0;border:0}.course-table th{padding:0}}
.site-credit{margin:20px 0 0;font-size:12px;line-height:1.6;color:#625a64;text-align:right}.site-credit a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.site-credit{text-align:left}}
.cookie-settings{font:inherit;cursor:pointer}.cookie-fab{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:25;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #d2bed6;border-radius:50%;background:#fff;color:#963a90;box-shadow:0 3px 12px #211c2421;transition:background .18s}.cookie-fab:hover{background:#eee7f5}.cookie-fab svg{transition:transform .25s}.cookie-fab:hover svg{transform:rotate(-12deg)}.cookie-fab:focus-visible{outline:3px solid #963a90;outline-offset:4px}.cookie-tooltip{position:absolute;bottom:calc(100% + 9px);left:0;white-space:nowrap;padding:7px 10px;border-radius:3px;background:#211c24;color:#fff;font-size:12px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}.cookie-fab:hover .cookie-tooltip,.cookie-fab:focus-visible .cookie-tooltip{visibility:visible;opacity:1}body:has(.cookie-banner:not([hidden])) .cookie-fab{visibility:hidden;pointer-events:none}@media(prefers-reduced-motion:reduce){.cookie-fab,.cookie-fab svg,.cookie-tooltip{transition:none}.cookie-fab:hover svg{transform:none}}
.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;z-index:30;background:#fff;border:1px solid #963a90;box-shadow:0 8px 30px #211c2420;padding:24px;display:flex;align-items:center;gap:24px}
.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:22px;margin:0 0 8px}.cookie-banner p{font-size:14px;margin:0;max-width:680px}.cookie-actions{display:flex;gap:12px;flex-shrink:0}.cookie-actions .button{font-size:14px;min-height:44px;white-space:normal}.consent-status:empty{display:none}
.prose{max-width:850px}.prose h2{font-size:28px;margin:36px 0 16px}.prose p,.prose li{line-height:1.75}.prose a{text-decoration:underline}.gallery,.centre-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery img,.centre-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery figure,.centre-gallery figure{margin:0}.gallery figcaption,.centre-gallery figcaption{font-size:14px;margin-top:10px}.location,.contact-grid,.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.location h2{font-size:38px}.content-image{width:100%;height:auto}.form-field{display:grid;gap:8px;margin-bottom:20px}input,textarea,select{font:inherit;max-width:100%;padding:12px;border:1px solid #8c818f;border-radius:3px;background:#fff;color:#211c24}textarea{min-height:170px;width:100%;resize:vertical}.contact-form{max-width:640px}.contact-form label{font-weight:600}.contact-form input:not([type=checkbox]){width:100%}.form-consent{display:flex;gap:12px;align-items:flex-start;margin:20px 0}.form-consent input{margin-top:6px}.form-consent label{font-weight:400}.form-status{padding:14px 0;line-height:1.6}.archive-note{padding:16px 20px;background:#eee7f5;margin:24px 0}.legal-links{display:flex;flex-wrap:wrap;gap:24px}.document-list{padding:0;list-style:none}.document-list li{padding:20px 0;border-bottom:1px solid #ddd3e0}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1000px){.header nav{gap:14px}.header nav a{font-size:13px}.cookie-banner{align-items:stretch;flex-direction:column;gap:16px}.cookie-actions{flex-shrink:1}.location,.contact-grid,.content-grid{gap:28px}}
@media(max-width:700px){.gallery,.centre-gallery,.location,.contact-grid,.content-grid{grid-template-columns:1fr}.cookie-banner{left:10px;right:10px;bottom:10px;padding:18px;max-height:85vh;overflow:auto}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.prose h2{font-size:24px}.location h2{font-size:30px}.footer-bottom>div{flex-wrap:wrap}.content-grid img{max-height:600px;object-fit:contain}}
