:root{--a11y-bg:#fff;--a11y-fg:#111;--a11y-font:Arial,sans-serif}
.accessibility[hidden]{display:none}
.accessibility{display:inline-flex;align-items:center;gap:7px;min-height:36px;white-space:normal;text-align:left}
.accessibility svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.accessibility[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}
.a11y-panel{width:min(620px,calc(100% - 24px));max-width:none;max-height:90vh;max-height:90dvh;overflow:auto;padding:24px;border:2px solid var(--a11y-fg);border-radius:16px;background:var(--a11y-bg);color:var(--a11y-fg);font:1rem/1.5 Arial,sans-serif;box-shadow:0 20px 80px #0004;overscroll-behavior:contain}
.a11y-panel::backdrop{background:#10273c99}
.a11y-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.a11y-panel h2{font-size:1.4em;line-height:1.3;margin:0}
.a11y-panel p{margin:12px 0;font-size:.9em;line-height:1.6}
.a11y-panel button{min-height:44px;padding:10px 14px;border:2px solid currentColor;border-radius:8px;color:var(--a11y-fg);background:var(--a11y-bg);font:inherit;white-space:normal}
.a11y-panel button:disabled{opacity:.5;cursor:default}
.a11y-panel-head button{flex:none;min-width:44px;padding:3px;font-size:26px;line-height:1}
.a11y-panel fieldset{border:0;border-top:1px solid currentColor;padding:14px 0 0;margin:22px 0 0;min-width:0}
.a11y-panel legend{font-size:1em;font-weight:700;padding:0 10px 0 0}
.a11y-choices{display:flex;gap:8px;flex-wrap:wrap}
.a11y-choices label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid currentColor;border-radius:8px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.a11y-choices label:has(input:checked){outline:2px solid currentColor;outline-offset:1px;font-weight:700}
.a11y-panel input{width:20px;height:20px;flex:none;accent-color:var(--a11y-fg)}
.a11y-motion{display:flex;align-items:flex-start;gap:10px;margin:22px 0;cursor:pointer;min-height:44px}
.a11y-speech,.a11y-panel-actions{display:flex;flex-wrap:wrap;gap:10px}
.a11y-panel-actions{border-top:1px solid currentColor;padding-top:18px;margin-top:18px}
.a11y-status:empty{display:none}
[data-a11y-image-alt]{display:none}
:root[data-a11y=on]{font-size:112.5%;--a11y-bg:#fff;--a11y-fg:#111}
:root[data-a11y-size=large]{font-size:137.5%}
:root[data-a11y-size=extra]{font-size:162.5%}
:root[data-a11y-theme=dark]{--a11y-bg:#101010;--a11y-fg:#fff;color-scheme:dark}
:root[data-a11y-theme=blue]{--a11y-bg:#c9e8ff;--a11y-fg:#063462}
:root[data-a11y-theme=sepia]{--a11y-bg:#f6ead1;--a11y-fg:#382700}
:root[data-a11y-font=serif]{--a11y-font:Georgia,'Times New Roman',serif}
:root[data-a11y=on] body{font:1rem/1.7 var(--a11y-font);background:var(--a11y-bg);color:var(--a11y-fg)}
:root[data-a11y=on] body :where(*):not(:where(.a11y-panel,.a11y-panel *,svg,svg *)){
  font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;
  color:var(--a11y-fg)!important;background-color:var(--a11y-bg)!important;background-image:none!important;
  border-color:var(--a11y-fg)!important;text-shadow:none!important;box-shadow:none!important;
}
:root[data-a11y=on] body :where(h1):not(.a11y-panel *){font-size:2rem!important;line-height:1.25!important}
:root[data-a11y=on] body :where(h2):not(.a11y-panel *){font-size:1.5rem!important;line-height:1.35!important}
:root[data-a11y=on] body :where(h3,h4):not(.a11y-panel *){font-size:1.2rem!important}
:root[data-a11y=on] body a{text-decoration:underline!important;text-underline-offset:.18em}
:root[data-a11y=on] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--a11y-fg)!important;outline-offset:4px!important}
:root[data-a11y=on] ::selection{background:var(--a11y-fg);color:var(--a11y-bg)}
:root[data-a11y=on] body :is(button,.button){min-height:44px;height:auto;white-space:normal;overflow-wrap:anywhere}
:root[data-a11y=on] body button:not(.a11y-panel *){border:2px solid var(--a11y-fg)!important}
:root[data-a11y-spacing=wide] body :where(*):not(:where(.a11y-panel,.a11y-panel *,svg,svg *)){letter-spacing:.1em!important;word-spacing:.15em!important;line-height:1.9!important}
:root[data-a11y=on] .header-main,:root[data-a11y=on] .header-actions,:root[data-a11y=on] .nav-list,:root[data-a11y=on] .utility-inner,:root[data-a11y=on] .utility-inner>div{flex-wrap:wrap}
:root[data-a11y=on] .utility-inner>span{max-width:none;white-space:normal;overflow:visible}
:root[data-a11y=on] .brand{max-width:100%;min-width:0}
:root[data-a11y=on] .brand>span{white-space:normal;overflow-wrap:anywhere}
:root[data-a11y=on] :is(.hero-text,.page-intro,.page-hero-copy,.home-contact-banner){height:auto;min-height:0}
:root[data-a11y=on] :is(.news-card,.programme-card,.team-card,.instagram-tile){height:auto}
:root[data-a11y=on] .page-content-main,:root[data-a11y=on] .page-sidebar{min-width:0}
:root[data-a11y=on] .article-body{overflow-wrap:anywhere}
:root[data-a11y=on] main :is(div,section,article,p,h1,h2,h3,h4,a,span){min-width:0;max-width:100%;overflow-wrap:anywhere}
:root[data-a11y=on] .article-body table{font-size:1rem!important}
:root[data-a11y=on] .instagram-caption{display:block!important}
:root[data-a11y=on] .instagram-caption p{display:block!important;max-height:none!important;min-height:0!important;-webkit-line-clamp:unset;overflow:visible!important}
:root[data-a11y=on] .instagram-hover{display:none!important}
:root[data-a11y=on] .assistant-panel{position:fixed;right:10px;bottom:80px;width:min(520px,calc(100vw - 20px));height:auto;max-height:calc(100dvh - 100px);overflow:auto}
:root[data-a11y=on] .assistant-panel:not([hidden]){display:block}
:root[data-a11y=on] .assistant-head h2{font-size:1.1rem!important}
:root[data-a11y=on] .assistant-messages{max-height:40dvh}
:root[data-a11y-images=gray] :is(img,video){filter:grayscale(1)!important}
:root[data-a11y-images=hide] body :is(img,video,canvas){display:none!important}
:root[data-a11y-images=hide] body [data-a11y-image-alt]{display:block;padding:12px;border:1px dashed currentColor;font-size:1rem!important;position:relative}
:root[data-a11y-images=hide] :is(.instagram-picture,.news-media,.news-image){height:auto!important;min-height:0!important;aspect-ratio:auto!important}
:root[data-a11y-images=hide] .instagram-media-link{position:relative!important}
:root[data-a11y-images=hide] .hero-photo{height:auto;min-height:0}
:root[data-a11y-images=hide] .hero-photo-caption{position:static;width:auto;margin:12px 0}
:root[data-a11y-motion=reduce] *, :root[data-a11y-motion=reduce] *::before,:root[data-a11y-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root[data-a11y-motion=reduce]{scroll-behavior:auto!important}
@media(max-width:700px){
  .accessibility{font-size:12px;padding-left:8px}
  .a11y-panel{padding:18px;border-radius:12px}
  :root[data-a11y=on] .utility-inner>span{display:none}
  :root[data-a11y=on] .header-main{gap:18px}
  :root[data-a11y=on] .brand{width:100%}
  :root[data-a11y=on] .brand>span{width:100%;max-width:none}
  :root[data-a11y=on] .header-actions{width:100%;justify-content:space-between;gap:10px}
  :root[data-a11y=on] .hero{grid-template-columns:minmax(0,1fr)}
  :root[data-a11y=on] .hero-copy p{width:auto;max-width:100%}
  :root[data-a11y=on] body :where(h1):not(.a11y-panel *){font-size:1.5rem!important}
  :root[data-a11y=on] .footer-grid{grid-template-columns:minmax(0,1fr)}
  :root[data-a11y=on] .assistant-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 90px)}
}
