*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button{color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin:0}a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid currentColor;outline-offset:6px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:20;top:-6rem;left:1rem;padding:1rem;background:var(--ink);color:var(--paper)}.skip-link:focus{top:1rem}.wrap{width:min(100% - var(--gutter)*2,var(--max-width));margin-inline:auto}.stack>*+*{margin-top:var(--stack-gap,1.5rem)}.flow{display:grid;gap:var(--flow-gap,2rem)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.text-link{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.6rem}.text-link:hover svg{transform:translateX(4px)}.text-link svg{transition:transform .2s ease}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600}.rule{border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@font-face{font-family:"Foundry Display";src:url('../fonts/foundry-display-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Foundry Sans";src:url('../fonts/foundry-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Foundry Sans";src:url('../fonts/foundry-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--gutter:2rem;--max-width:1160px;--paper:#fff;--line:#cbd0d1;--muted:#535e62}body{font-family:"Foundry Sans",Arial,sans-serif;font-size:1.125rem;line-height:1.6;background:var(--paper);color:var(--ink)}h1,h2,h3{font-weight:400;line-height:1.1}h1{font-size:4rem}h2{font-size:2.9rem}h3{font-size:1.65rem}a{text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font-size:1rem}button{min-height:44px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:48px;padding:.85rem 1.35rem;background:var(--accent);color:white;text-decoration:none;border:1px solid var(--accent);font-size:1rem;font-weight:700;line-height:1.4}.button:hover{background:var(--ink);border-color:var(--ink)}.button.light{background:white;border-color:white;color:var(--ink)}.button.light:hover{background:var(--soft);border-color:var(--soft)}.plain-link{display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;font-size:1rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.plain-link:hover{color:var(--accent)}.eyebrow{font-size:.875rem;letter-spacing:.1em;display:block;line-height:1.5;text-transform:uppercase;font-weight:700}.fine,figcaption{font-size:.875rem;color:var(--muted);line-height:1.55}figure{margin:0}figcaption{margin-top:.7rem}.note{margin-top:1.5rem}.section{padding-block:5rem}.stack>*+*{margin-top:1.5rem}.utility{font-size:.875rem;background:var(--ink);color:white}.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px;padding-block:.4rem}.utility a{min-height:28px;display:flex;align-items:center;text-decoration:none}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px;padding-block:1rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex-shrink:0}.desktop-nav{display:flex;gap:1.8rem;align-items:center}.desktop-nav a{font-size:1rem;text-decoration:none;min-height:44px;display:flex;align-items:center}.desktop-nav [aria-current=page]{color:var(--accent);text-decoration:underline}.mobile-menu{display:none}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2.5rem;margin-bottom:2.5rem}.section-heading .eyebrow{margin-bottom:1rem}.section-heading>p{max-width:23em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.two-col img{width:100%;height:540px;object-fit:cover}.service-grid,.project-grid,.process-grid,.advice-grid,.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.page-heading{background:var(--soft);padding-block:2rem 3rem;border-block:1px solid var(--line)}.page-heading nav,.property-heading nav{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.875rem;margin-bottom:2rem}.page-heading h1{max-width:20ch}.page-heading p{margin-top:1.5rem;max-width:44em}.site-footer{background:var(--ink);color:#fff;padding-block:3.5rem 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:4rem}.footer-grid h2{font-family:"Foundry Sans",Arial,sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:1.2rem}.footer-grid nav{display:grid;gap:.25rem}.footer-grid nav a{font-size:1rem;text-decoration:none;display:flex;align-items:center;min-height:36px;width:fit-content}.footer-grid p{font-size:1rem;margin-top:1.4rem;color:#dce0de}.footer-grid .brand{width:fit-content}.email-link{overflow-wrap:anywhere;display:inline-block;min-height:36px;align-content:center}.footer-bottom{display:flex;justify-content:space-between;gap:3rem;margin-top:3rem;border-top:1px solid #6b7778;padding-top:1.5rem;font-size:.875rem}.footer-bottom p{max-width:56em;color:#dce0de}.footer-bottom>a{flex-shrink:0}.enquiry-band{background:var(--accent);color:#fff;padding-block:3rem}.enquiry-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:3rem}.enquiry-band h2{font-size:2.5rem;margin-block:.8rem}.enquiry-band p{font-size:1rem}.enquiry-band .button{flex-shrink:0}.page-heading a,.side-menu a{text-decoration:none}.page-heading a:hover,.side-menu a:hover{text-decoration:underline}.detail-layout,.contact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:4rem;align-items:start}.side-menu{border:1px solid var(--line);padding:1.5rem}.side-menu>h2{font-size:1.6rem;margin-bottom:1.25rem}.side-menu>a{display:block;padding-block:.9rem;border-bottom:1px solid var(--line);font-size:1rem}.side-menu [aria-current]{color:var(--accent);font-weight:700}.side-menu>div{margin-top:2rem;background:var(--soft);padding:1.25rem}.side-menu h3{font-size:1.5rem}.side-menu p{font-size:1rem;margin-block:1rem}.side-menu .button{width:100%}.detail-layout ul,.guide-section ul,.guide-section ol{padding-left:1.2rem}.detail-layout li+li,.guide-section li+li{margin-top:.6rem}.detail-layout>div>img{width:100%;max-height:480px;object-fit:cover}.narrow{max-width:800px}.narrow>*+*{margin-top:1.5rem}.gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem}.gallery figure>a{display:block;position:relative}.gallery img{height:430px;width:100%;object-fit:cover}.image-open{position:absolute;bottom:1rem;right:1rem;padding:.4rem .8rem;background:#fff;color:var(--ink);font-size:.875rem}.facts{margin:1.5rem 0 2rem}.facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:1rem}.facts dt{color:var(--muted)}.facts dd{margin:0}.project-story{margin-top:4rem}.project-story aside>h2{font-size:1.7rem}.enquiry form{display:grid;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}label{display:block;font-size:1rem;font-weight:700;margin-bottom:.45rem}input,select,textarea{width:100%;min-width:0;border:1px solid #8f9999;padding:.8rem;background:#fff;color:var(--ink);border-radius:0;min-height:48px}textarea{resize:vertical}input::placeholder{color:#66706e}.form-result{border:1px solid var(--line);padding:1.5rem;margin-top:2rem;background:var(--soft)}.form-result h2{font-size:1.8rem}.form-result>*+*{margin-top:1rem}.enquiry form>.button{justify-self:start}.contact-layout{grid-template-columns:1fr 1.6fr}.contact-layout aside{max-width:330px}.contact-layout h2{font-size:2.5rem}.contact-layout aside p{font-size:1rem}.not-found{min-height:65vh}.not-found h1{margin-block:1.5rem;font-size:4rem}.not-found p{max-width:40em;margin-bottom:2rem}.not-found>a{margin-right:1rem;margin-bottom:1rem}summary{font-size:1rem;min-height:44px;align-content:center}details p{font-size:1rem;padding-block:.8rem}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.filter-bar [role=group]{display:flex;flex-wrap:wrap;gap:.6rem}.filter-bar button{font-size:1rem;padding:.5rem 1rem;background:white;color:var(--ink);border:1px solid var(--line)}.filter-bar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.filter-bar>p{font-size:.875rem;color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-footer :focus-visible,.enquiry-band :focus-visible,.mason-hero :focus-visible{outline-color:#fff}
@media(max-width:1050px){.site-header{gap:1rem}.desktop-nav{gap:1rem}.two-col{gap:3rem}.footer-grid{gap:2rem}.detail-layout{grid-template-columns:250px minmax(0,1fr);gap:2.5rem}.service-grid,.project-grid,.process-grid,.property-grid,.advice-grid{gap:1.5rem}.section-heading{gap:2rem}}
@media(max-width:800px){:root{--gutter:1.25rem}.utility .wrap{flex-wrap:wrap;gap:.2rem 1rem;padding-block:.5rem}.utility .wrap>span:last-child{display:none}.site-header{min-height:84px}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.mobile-menu summary{display:flex;align-items:center;gap:.6rem;list-style:none;min-height:44px;font-size:1rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;z-index:20;left:0;right:0;top:100%;background:var(--paper);border:1px solid var(--line);padding:1rem}.mobile-menu nav a{display:block;padding:.7rem;text-decoration:none;font-size:1rem}.section{padding-block:3rem}h1{font-size:2.7rem}h2{font-size:2.25rem}h3{font-size:1.5rem}.two-col{grid-template-columns:1fr;gap:2rem}.two-col img{height:380px}.service-grid,.project-grid,.process-grid,.advice-grid,.property-grid{grid-template-columns:1fr;gap:2rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>a,.section-heading>p{margin-top:1rem}.page-heading{padding-block:1.5rem 2rem}.page-heading nav,.property-heading nav{margin-bottom:1.5rem}.page-heading h1{font-size:2.6rem}.page-heading p{margin-top:1.25rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{flex-direction:column;gap:1rem}.footer-bottom>a{flex-shrink:1}.enquiry-band>.wrap{display:block}.enquiry-band h2{font-size:2.1rem}.enquiry-band .button{margin-top:1.5rem}.detail-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}.side-menu{max-width:none}.detail-layout>.side-menu{order:2}.gallery{grid-template-columns:1fr;gap:1.5rem}.gallery img{height:320px}.gallery figure+figure img{height:260px}.project-story{margin-top:2.5rem}.project-story aside{order:2}.contact-layout aside{max-width:none}.form-row{grid-template-columns:1fr}.not-found h1{font-size:3rem}.filter-bar{display:block}.filter-bar>p{margin-top:1rem}.filter-bar button{padding:.45rem .75rem}.filter-bar [role=group]{gap:.4rem}}
@media print{.utility,.site-header,.site-footer,.enquiry-band,.button,.mobile-menu,.filter-bar{display:none!important}body{background:#fff!important;color:#111!important;font-size:11pt}.section{padding-block:1rem}.page-heading{padding-block:1rem}.wrap{width:100%}.gallery img{max-height:250px}.project-grid,.property-grid{grid-template-columns:1fr 1fr}.property-card{break-inside:avoid}.property-card button,.property-filters,.filter-actions,.shortlist-link{display:none!important}}
.viewer{max-width:none;width:100%;height:100%;max-height:none;margin:0;border:0;padding:1rem 2rem;background:#121212;color:#f7f7f7}.viewer::backdrop{background:#121212}.viewer-shell{max-width:1600px;margin:auto;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.7rem}.viewer header,.viewer footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.viewer h2{font-size:1rem;letter-spacing:0}.viewer button{background:transparent;color:#fff;border:1px solid #777;padding:.4rem 1rem;min-height:44px;font-size:1rem}.viewer button:hover{background:#333}.viewer :focus-visible{outline-color:#a8c2ff}.viewer figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem}.viewer figure img{width:100%;height:100%;object-fit:contain;min-height:0}.viewer figcaption{display:flex;justify-content:space-between;gap:2rem;font-size:.875rem;color:#eee}.viewer-count{white-space:nowrap}.viewer footer>span{font-size:.875rem;color:#bbb}
@media(max-width:700px){.viewer{padding:.75rem}.viewer footer>span{display:none}.viewer figcaption{display:block}.viewer-count{margin-top:.5rem}}

.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;border:1px solid var(--ink);background:transparent;padding:.7rem 1rem;font-size:1rem}.outline-button:hover{background:var(--soft)}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.table-scroll table{width:100%;border-collapse:collapse;min-width:580px;font-size:1rem;text-align:left}.table-scroll caption{text-align:left;font-size:.875rem;color:var(--muted);padding:1rem 0}.table-scroll th,.table-scroll td{padding:1rem;border:1px solid var(--line);vertical-align:top}.table-scroll thead{background:var(--soft)}.table-scroll tbody th{font-weight:700}.results-note{font-size:1rem;margin-block:1.5rem}.empty-results{padding:1.5rem;border:1px solid var(--line);background:var(--soft);margin-bottom:2rem}.empty-results>*+*{margin-top:1rem}.faq{max-width:900px}.faq h2{margin-bottom:2rem}.faq details{border-top:1px solid var(--line);padding-block:.75rem}.faq summary{font-size:1.125rem;line-height:1.5}.faq details p{padding-block:1rem;line-height:1.7}.brand>span.sr-only{position:absolute}.page-heading h1{max-width:24ch}.form-row>div{min-width:0}button:disabled{opacity:.6;cursor:default}


:root{--ink:#252729;--accent:#a7351e;--signal:#d95634;--soft:#f3f1eb;--paper:#fff;--muted:#555a5b;--line:#d0d2ce}h1,h2,h3{font-family:"Foundry Display",Impact,sans-serif;font-weight:600;letter-spacing:.005em}h1{font-size:4rem}h2{font-size:3rem}h3{font-size:2rem;line-height:1.15}.eyebrow{font-weight:600}.utility{background:#252729}.site-header{gap:1.3rem;min-height:104px}.brand{font-family:"Foundry Display",Impact,sans-serif;font-size:2.1rem;font-weight:600;line-height:.95;letter-spacing:.035em;gap:.65rem}.brand-small{display:block;font-family:"Foundry Sans",Arial,sans-serif;font-size:.7rem;letter-spacing:.38em;margin-top:.35rem}.brand svg{color:var(--ink)}.desktop-nav{gap:1.2rem}.desktop-nav a{font-size:1rem}.button{background:var(--signal);border-color:var(--signal);color:#151617;font-weight:600}.button:hover{background:#f17b58;border-color:#f17b58;color:#151617}.site-footer .brand svg{color:white}.site-footer h2{font-family:"Foundry Sans",Arial,sans-serif}.gym-hero{position:relative;min-height:580px;display:flex;align-items:center;background:#252729;color:#fff}.gym-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,20,.87),rgba(17,19,20,.55) 55%,rgba(17,19,20,.1))}.gym-hero>.wrap{position:relative;padding-block:4rem}.hero-copy{max-width:650px}.hero-copy h1{font-size:4.3rem;line-height:1.02;text-transform:uppercase;margin-block:1.4rem}.hero-copy p{font-size:1.25rem;margin-bottom:2rem;line-height:1.6}.hero-copy .plain-link:hover{color:#fff}.hero-credit{position:absolute;bottom:1rem;right:2rem;font-size:.875rem;color:white;background:rgba(0,0,0,.7);padding:.35rem .6rem}.gym-hero :focus-visible{outline-color:#fff}.hours-band{background:var(--ink);color:white;border-top:3px solid var(--signal)}.hours-band>.wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding-block:1.7rem}.hours-band .eyebrow{color:#d2d5d3;font-size:.8rem;margin-bottom:.5rem}.hours-band strong{font-size:1.125rem;font-weight:600}.hours-band a{font-size:1.125rem;display:inline-flex;align-items:center;min-height:36px;text-decoration:none}.hours-band>.wrap>div+div{border-left:1px solid #777;padding-left:2rem}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.class-card{border:1px solid var(--line);scroll-margin-top:2rem}.class-card>img{width:100%;height:220px;object-fit:cover}.class-card>div{padding:1.5rem}.class-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.8rem}.class-card h3{margin-block:1.2rem 1rem}.class-card p{font-size:1rem;margin-top:1rem}.class-card .plain-link{margin-top:1rem}.soft-section{background:var(--soft)}.info-grid,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem}.info-grid h3{margin-bottom:1rem}.info-grid p,.steps p{font-size:1rem}.steps{padding:0;list-style:none}.steps>li{border-top:2px solid var(--signal);padding-top:1.5rem}.steps>li>span{font-size:.875rem;font-weight:600}.steps h3{margin-block:1rem}.membership-strip{padding-block:3rem;background:var(--soft);border-top:1px solid var(--line)}.membership-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:3rem}.membership-strip h2{margin-block:.8rem}.membership-strip p{font-size:1rem;max-width:45em}.membership-strip .button{flex-shrink:0}.enquiry-band{background:var(--ink);border-top:3px solid var(--signal)}.timetable-controls{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:1rem}.timetable-controls [data-print]{min-height:48px}.timetable th,.timetable td{padding:1rem .8rem;vertical-align:middle}.timetable td:nth-child(2){font-weight:600}.timetable thead{background:var(--ink);color:#fff}.timetable tbody tr:nth-child(even){background:#faf9f5}.session-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.type-label{display:inline-block;border-left:3px solid var(--signal);padding-left:.55rem;white-space:nowrap}.useful-list{padding-left:1.25rem}.useful-list li+li{margin-top:1rem}.class-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3.5rem;align-items:start}.class-detail>div>img{width:100%;height:380px;object-fit:cover}.class-story{margin-top:2.5rem}.class-story h3{margin-top:2.5rem}.class-facts{padding:1.5rem;background:var(--soft);border-top:3px solid var(--signal);position:sticky;top:2rem}.class-facts h2{font-size:2.4rem;margin-top:1rem}.class-facts .button{width:100%}.class-facts>.plain-link{margin-top:1rem}.class-facts>.fine{margin-top:1.5rem}.class-facts .facts>div{grid-template-columns:1fr 1.2fr}.fee-note{padding:1.5rem;background:var(--soft);border-left:3px solid var(--signal);margin-bottom:2.5rem}.fee-note h2{font-size:2rem;margin-bottom:.8rem}.fee-note p{font-size:1rem;max-width:55em}.membership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.membership-grid article{border:1px solid var(--line);border-top:3px solid var(--signal);padding:2rem}.membership-grid h3{font-size:2.6rem;margin-top:1rem}.price{font-family:"Foundry Display",Impact,sans-serif;font-size:3.8rem;font-weight:600;line-height:1.1;margin-block:1rem}.price span{font-family:"Foundry Sans",Arial,sans-serif;font-size:1rem;font-weight:400;margin-left:.35rem}.membership-grid p:not(.price),.membership-grid ul{font-size:1rem}.membership-grid ul{padding-left:1.2rem;margin-block:1.5rem}.membership-grid li+li{margin-top:.5rem}.membership-grid .button{width:100%}.enquiry>h2{font-size:2.4rem}.intro-note{font-size:1rem;margin-block:1rem 2rem}.page-heading h1{max-width:28ch;font-size:3.7rem}.page-heading p{font-size:1.2rem}.contact-layout h2{font-size:2.4rem}.outline-button{font-weight:600}.not-found h1{font-size:4rem}.class-card .plain-link{gap:.7rem}
@media(max-width:1100px){.header-cta{display:none}.site-header{gap:1rem}.desktop-nav{gap:1.2rem}.class-detail{gap:2rem;grid-template-columns:minmax(0,1fr) 270px}.timetable-controls{grid-template-columns:1fr 1fr}.timetable-controls button{justify-self:start}.membership-grid article{padding:1.5rem}}
@media(max-width:800px){.brand{font-size:1.9rem}.site-header{min-height:90px}.gym-hero{min-height:570px}.gym-hero>.wrap{padding-block:3rem 4.5rem}.hero-copy h1{font-size:3.2rem;max-width:16ch}.hero-copy p{font-size:1.125rem}.hero-shade{background:rgba(17,19,20,.72)}.hero-copy .cluster{align-items:start;flex-direction:column;gap:1rem}.hero-credit{font-size:.8rem;right:1.25rem;left:1.25rem;width:fit-content}.hours-band>.wrap{grid-template-columns:1fr;gap:1rem}.hours-band>.wrap>div+div{padding:1rem 0 0;border-left:0;border-top:1px solid #666}.class-grid,.info-grid,.steps,.membership-grid{grid-template-columns:1fr;gap:1.5rem}.class-card>img{height:230px}.class-card>div{padding:1.5rem}.class-card h3{font-size:2.1rem}.class-meta{justify-content:flex-start;gap:1.5rem}.two-col img{height:330px}.membership-strip>.wrap{display:block}.membership-strip .button{margin-top:1.5rem}.membership-strip h2{font-size:2.3rem}.class-detail{grid-template-columns:1fr}.class-detail>div>img{height:300px}.class-facts{position:static}.page-heading h1{font-size:3rem}.page-heading p{font-size:1.125rem}.membership-grid h3{font-size:2.5rem}.not-found h1{font-size:3.2rem}.enquiry-band h2{font-size:2.5rem}.timetable-controls{grid-template-columns:1fr}.info-grid,.steps{margin-top:2rem}.table-scroll:focus-visible{outline-offset:-3px}}
@media print{.timetable-controls,.results-note,.empty-results,.timetable td:last-child,.timetable th:last-child{display:none!important}.timetable [data-session][hidden]{display:table-row!important}.table-scroll{overflow:visible!important}.timetable{min-width:0!important;font-size:10pt!important}.timetable th,.timetable td{padding:.45rem!important;color:#111!important;background:#fff!important}.timetable caption{color:#111!important}.timetable thead{color:#111!important;background:#fff!important}.type-label{border-color:#777}.page-heading h1{font-size:26pt}.soft-section{background:#fff!important}.soft-section .two-col{display:block}.soft-section p{font-size:10pt}.timetable tbody tr{break-inside:avoid}}

/* Keep the wide schedule inside its own local scroll area at narrow widths. */
.table-scroll{position:relative;width:100%;min-width:0;max-width:100%}.timetable-controls,.timetable-controls>div{min-width:0}.timetable-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}@media(max-width:1100px){.timetable-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:800px){.timetable-controls{grid-template-columns:minmax(0,1fr)}}@media print{.table-scroll{overflow:visible}}

/* Contain absolute screen-reader labels inside each schedule link. */
.session-link{position:relative}
