@font-face{font-family:Urbane;src:url(assets/urbane-light.woff2);font-weight:300;font-display:swap}@font-face{font-family:Urbane;src:url(assets/urbane-demi-bold.woff2);font-weight:600;font-display:swap}@font-face{font-family:Apex;src:url(assets/apex-mk3-medium.otf);font-weight:500;font-display:swap}:root{--paper:#f7f2f0;--ink:#202020;--orange:#e34e21;--gold:#f2b434}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font:300 15px/1.65 Urbane,Arial,sans-serif;background:var(--paper);color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Apex,Impact,sans-serif;font-weight:500;line-height:.95}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:absolute;top:-90px;left:20px;padding:10px;background:var(--gold);z-index:1001}.skip:focus{top:10px}header{background:var(--ink);color:var(--paper);padding:20px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff29}header img{display:block;max-width:100%;height:auto}nav{display:flex;gap:36px;font-weight:600;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--gold)}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:610px}.hero-copy{padding:58px 9% 50px 10%}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--orange);margin-bottom:20px}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(70px,7.9vw,122px);letter-spacing:-.01em}h1 em{font-style:normal;color:var(--gold)}.lead{font-size:22px;line-height:1.4;margin-top:25px;font-weight:600}.hero-intro{color:#d4cfcc;max-width:39ch;margin:18px 0 26px;font-size:14px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:51px;border:0;padding:15px 23px;text-decoration:none;font-size:13px;font-weight:600}.button span{font-size:20px;line-height:1}.gold{background:var(--gold);color:var(--ink)}.button:hover{filter:brightness(1.08)}.dark{background:var(--ink);color:white}.hero-note{display:flex;align-items:center;gap:12px;font-size:11px;margin-top:25px}.dot{width:6px;height:6px;background:var(--gold);border-radius:50%}.hero-note i{opacity:.35}.hero-images{position:relative;align-self:center;height:clamp(440px,42vw,620px);margin:32px 5vw 32px 0;min-width:0}.hero-images img{position:absolute;display:block;object-fit:cover;border-radius:16px}.hero-adults{top:0;right:0;width:91%;height:74%;object-position:58% center}.hero-kids{left:-40px;bottom:0;width:68%;height:auto;aspect-ratio:3/2;object-position:center;border:8px solid var(--ink)}.strip{background:var(--gold);display:flex;align-items:center;justify-content:space-around;padding:20px 5%;font:500 clamp(20px,2vw,29px)/1 Apex;gap:12px}.strip img{display:block;flex:0 0 auto;width:24px;height:30px;object-fit:contain}.section{padding:85px 5%}h2{font-size:clamp(43px,4.5vw,65px)}.section-title>p:last-child{margin-top:22px;max-width:39ch}h3{font-size:37px;line-height:1}.finder{background:#eee8e3}.finder-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.finder-heading>p{max-width:40ch;font-size:14px}.filters{background:white;display:flex;gap:20px;align-items:end;padding:22px}.filters>div{flex:1}.filters .search-field{flex:1.6}.filters label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.filters input,.filters select{width:100%;border:1px solid #ccc;background:white;padding:13px 12px;border-radius:0;height:50px;min-width:0;font-size:14px}.reset{border:0;background:transparent;text-decoration:underline;padding:15px 0;font-size:12px;min-height:50px}#search-status{font-size:12px;margin-top:10px;min-height:20px}.finder-body{display:grid;grid-template-columns:360px 1fr;border:1px solid #d4cec9;background:var(--paper);height:610px}.results-pane{overflow:auto;overscroll-behavior:contain}#count{font-size:11px;letter-spacing:.04em;padding:16px 22px;background:var(--ink);color:white;position:sticky;top:0;z-index:1}.venue{border-bottom:1px solid #d5ceca;padding:23px}.venue.active{box-shadow:inset 4px 0 var(--orange);background:white}.venue h3{font:600 20px/1.2 Urbane;margin:5px 0 9px}.venue p{font-size:12px}.venue .postcode{font-size:10px;letter-spacing:.08em;color:#a13b1b;font-weight:600}.venue .links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:15px}.venue a,.venue button{font-size:11px;font-weight:600;text-underline-offset:3px}.venue button{border:0;background:none;padding:0;text-decoration:underline}.venue details{margin-top:12px;font-size:12px}.venue summary{cursor:pointer;font-weight:600}.session{font-size:11px;padding:6px 0;border-bottom:1px solid #ddd}.map-panel{display:flex;flex-direction:column;min-width:0}#map{flex:1;min-height:300px;background:#dddcd2}#map-status{font-size:10px;padding:9px 14px;background:#e4ded8}.pin{border:0}.pin span{display:block;width:18px;height:18px;background:var(--orange);border:3px solid white;border-radius:50%;box-shadow:0 1px 5px #0006}.leaflet-popup-content{font-family:Urbane,Arial,sans-serif;line-height:1.6}.leaflet-popup-content a{color:#a13b1b;font-weight:600}.leaflet-popup-content p{margin:8px 0;font-size:12px}.leaflet-container{font-family:Arial,sans-serif}.empty{padding:30px 22px;font-size:13px}.contact{background:var(--gold)}.contact .eyebrow{color:var(--ink)}.contact>div{display:flex;justify-content:space-between;gap:40px}.contact-copy{max-width:47ch;font-size:14px}.contact-copy p+p{margin-top:14px}.contact-copy a{display:block;font-size:16px;font-weight:600;margin-top:25px;text-underline-offset:6px;overflow-wrap:anywhere}footer{background:var(--ink);color:var(--paper);padding:35px 5%;display:flex;align-items:center;gap:30px;font-size:11px}footer img{display:block}footer span{margin-left:auto}footer>a:last-child{white-space:nowrap;text-decoration:none}@media(min-width:1550px){.hero-copy{padding-left:calc((100vw - 1395px)/2)}.section,header,footer{padding-left:max(5%,calc((100vw - 1395px)/2));padding-right:max(5%,calc((100vw - 1395px)/2))}}@media(max-width:900px){.hero{min-height:560px}.hero-copy{padding-top:45px}h1{font-size:75px}.section-title{max-width:600px}.finder-body{grid-template-columns:310px 1fr}.filters{gap:12px}.filters .button{gap:12px;padding:15px}.finder-heading>p{max-width:30ch}footer{flex-wrap:wrap}footer p{display:none}}@media(max-width:600px){header{padding:17px 6%;gap:15px}header img{width:145px}nav{gap:18px;font-size:11px}nav a:first-child{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 34px}h1{font-size:84px}.lead{font-size:20px}.hero-intro{max-width:36ch}.hero-images{height:clamp(300px,85vw,450px);margin:0 6% 30px}.hero-adults{height:74%;object-position:55% center}.hero-kids{left:0;border-width:6px}.hero-note{margin-top:20px}.strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);padding:18px 5%;font-size:16px;gap:8px;text-align:center}.strip span{min-width:0}.strip img{justify-self:center;align-self:center}.strip img{width:15px;height:19px}.section{padding:52px 6%}h2{font-size:45px}.finder-heading{display:block;margin-bottom:25px}.finder-heading>p{margin-top:20px;max-width:none}.filters{flex-wrap:wrap;padding:17px}.filters .search-field{flex:1 1 100%}.filters>div{flex:1 1 55%}.filters .button{flex:1 1 30%;justify-content:center}.filters .reset{min-height:25px;padding:0}.finder-body{display:flex;flex-direction:column;height:auto}.map-panel{order:-1}#map{height:330px;flex:auto}.results-pane{max-height:510px}.contact>div{display:block}.contact-copy{margin-top:25px}.contact-copy a{font-size:13px}footer{padding:30px 6%;gap:24px}footer img{width:155px;height:auto}footer span{margin-left:0;font-size:10px}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:601px) and (max-width:900px){h1{font-size:8vw}}@media(max-width:600px){h1{font-size:clamp(53px,15.6vw,84px)}}

#map{background:#dce5e4}.city-label{font:600 10px/20px Urbane,Arial,sans-serif;text-align:center;color:#565e5d;text-shadow:0 0 3px white,0 0 3px white;white-space:nowrap;pointer-events:none}

.pin span{width:15px;height:15px;border-width:2px;margin:2px}.city-label{font-size:10px}
@media(max-width:600px){.filters>div{flex:1 1 100%}.filters .button{flex:1 1 100%;white-space:nowrap;justify-content:space-between}}

.contact .contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:7%;align-items:start}.contact-intro>p:not(.eyebrow){max-width:40ch;font-size:14px;margin-top:24px}.contact-email{display:inline-block;font-weight:600;margin-top:25px;text-underline-offset:6px;overflow-wrap:anywhere}.contact-form{background:var(--paper);padding:30px;display:grid;gap:20px}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.contact-form label span{font-weight:300}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #c8c0b8;border-radius:0;background:#fff;padding:12px;font:300 14px/1.5 Urbane,Arial,sans-serif;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:140px}.contact-form .form-note{font-size:11px}.contact-form .button{justify-self:start;min-width:180px}.contact-form button:disabled{cursor:wait;opacity:.6}.form-status{font-size:13px;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.success{color:#24572d}.form-status.error{color:#a12711}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:800px){.contact .contact-layout{grid-template-columns:1fr;gap:32px}.contact-intro>p:not(.eyebrow){max-width:55ch}.contact-form .form-row{grid-template-columns:1fr}.contact-form{padding:22px}.contact-email{font-size:14px}}

.venue-distance{float:right;font-size:11px;color:var(--ink)}

.privacy-page{max-width:960px;margin:auto}.privacy-page h1{font-size:clamp(54px,8vw,90px)}.privacy-page h2{font-size:32px;margin:36px 0 14px}.privacy-page p+p{margin-top:14px}.privacy-page .privacy-date{font-size:12px;margin:18px 0 28px}.privacy-lead{font-size:18px;line-height:1.6}.privacy-back{margin-top:36px}.privacy-page a:not(.button){text-underline-offset:3px}

/* Draw arrows consistently on every platform instead of relying on emoji fonts. */
.arrow-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em;overflow:visible;pointer-events:none}.button .arrow-icon{width:20px;height:20px}.arrow-icon-up{transform:rotate(-45deg)}

/* Equal class cards, matching the microsite's copy and visual balance. */
.classes{border-bottom:1px solid #20202026}
.class-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:0}
.class-options article{display:grid;grid-template-rows:subgrid;grid-row:span 5;background:#fff;padding:36px;min-width:0}
.class-options .class-label{color:var(--orange);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1.5;margin:0 0 28px}
.class-options h2{font-size:clamp(36px,4.1vw,64px);line-height:1.05;margin:0 0 48px}
.class-options .class-description,.class-options ul{font-size:16px;line-height:1.6;margin:0 0 22px}
.class-options ul{padding-left:20px}
.class-options a{font-size:14px;font-weight:600;text-underline-offset:6px;align-self:end;justify-self:start;margin-top:6px}
.class-options a .arrow-icon{margin-left:10px}
@media(min-width:1500px){.class-options article{padding:44px}.class-options .class-description,.class-options ul{font-size:18px}}
@media(max-width:700px){.class-options{grid-template-columns:1fr;gap:20px}.class-options article{display:block;grid-row:auto;padding:28px 24px}.class-options .class-label{font-size:11px;margin-bottom:24px}.class-options h2{font-size:clamp(35px,8.5vw,52px);margin-bottom:28px}.class-options .class-description,.class-options ul{font-size:15px}.class-options a{display:inline-block;font-size:13px}}

/* Keep desktop timetable disclosure inside its map popup. */
.popup-times{margin:12px 0}.popup-times summary{cursor:pointer;color:#a13b1b;font-weight:600;text-underline-offset:3px;text-decoration:underline}.popup-times[open] summary{margin-bottom:8px}.popup-times .session{font-size:12px;padding:8px 0}.leaflet-popup-content .popup-availability{font-size:11px;color:#615a55;line-height:1.5;margin-top:10px}.popup-mobile-times{display:none}@media(max-width:600px){.popup-times{display:none}.popup-mobile-times{display:inline}}

.contact-phone{display:block;width:fit-content;font-weight:600;margin-top:14px;text-underline-offset:6px}

.mobile-skill-break{display:none}@media(max-width:600px){.mobile-skill-break{display:block}}

.header-brand{flex:0 0 auto}.header-brand .former-name{margin:-10px 0 0 21px;color:#b8b8b8;font-size:10.5px;line-height:1.4;font-weight:300;white-space:nowrap}@media(max-width:600px){header{flex-wrap:wrap}.header-brand .former-name{margin:-5px 0 0 15px;font-size:7.7px}}
