/* AQACT 1.1.0 — no framework or externally loaded fonts. */
:root{--ink:#202c25;--muted:#55625a;--green:#23623e;--green-dark:#19482d;--paper:#f6f6f0;--wash:#edf3ed;--line:#d5dfd4;--white:#fff;--radius:4px;--reading:68ch}
*{box-sizing:border-box}html{scroll-padding-top:1rem;-webkit-text-size-adjust:100%}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;border-top:5px solid var(--green)}
img{display:block;max-width:100%;height:auto}picture{display:block}figure{margin:0}p{margin:0 0 1.1rem}p:last-child{margin-bottom:0}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}
h1,h2,h3{margin:0 0 1.15rem;color:var(--ink);text-wrap:balance}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(2.65rem,4.5vw,4.15rem);line-height:1.08}h2{font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.17}h3{font:650 1.09rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0;margin-bottom:.45rem}
:focus-visible{outline:3px solid #8e4f00;outline-offset:5px;border-radius:2px}main:focus{outline:none}::selection{background:#d5e7ce;color:#17271b}[hidden]{display:none!important}.js-only{display:none}.js .js-only{display:inline-flex}
.wrap{width:min(1160px,calc(100% - 88px));margin-inline:auto}.narrow-text{max-width:var(--reading);margin-left:max(44px,calc((100% - 1160px)/2));margin-right:auto}.intro-width{max-width:44rem}.large-copy{font-size:1.3rem;line-height:1.65}.small{font-size:.87rem;line-height:1.6;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-weight:600}.text-link span,.button span{font-size:1.15em} .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.6rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.9rem;min-height:48px;padding:.75rem 1.2rem;border:1px solid var(--green);border-radius:var(--radius);background:var(--green);color:#fff;text-decoration:none;font-weight:600;line-height:1.35;text-align:center;transition:background .12s,color .12s}.button:hover{background:var(--green-dark);border-color:var(--green-dark);text-decoration:none}.button-outline{color:var(--green);background:transparent}.button-outline:hover{color:#fff}.button-light{color:var(--green-dark);background:#fff;border-color:#fff}.button-light:hover{background:var(--wash);color:var(--green-dark);border-color:var(--wash)}
.skip-link{position:absolute;left:1rem;top:-100px;padding:.7rem 1.1rem;background:#fff;color:#17271b;z-index:30;border:2px solid var(--green)}.skip-link:focus{top:1rem}.staging-banner{background:#f7ecd2;color:#493d23;font-size:.78rem;text-align:center;padding:.3rem 1rem;border-bottom:1px solid #dcc99f}
.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:103px;position:relative}.brand{display:inline-flex;align-items:center;gap:.85rem;color:var(--ink);text-decoration:none;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:48px;height:50px;background:var(--green);color:white;font:400 2rem/1 Georgia,serif;border-radius:2px}.brand-mark sup{font-size:.65em}.brand-copy{line-height:1.35}.brand-name{font-size:1rem;font-weight:650;display:block}.brand-course{display:block;font-size:.83rem;color:var(--muted);margin-top:.15rem}.site-nav ul{display:flex;align-items:center;gap:1.3rem;list-style:none;margin:0;padding:0}.site-nav a{display:inline-flex;align-items:center;min-height:46px;font-size:.89rem;color:var(--ink);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--green);border-bottom-color:var(--line)}.site-nav a[aria-current=page]{color:var(--green);border-bottom-color:var(--green)}.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:46px;padding:.6rem .85rem;color:var(--ink);align-items:center;gap:.6rem}.menu-lines{width:18px;height:12px;border-top:2px solid;border-bottom:2px solid;display:inline-block;position:relative}.menu-lines:after{content:"";position:absolute;top:4px;left:0;width:18px;border-top:2px solid}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:5.5rem;align-items:center;padding-block:66px 60px}.hero-copy h1{max-width:650px}.hero-lead{font-size:1.36rem;line-height:1.5;color:var(--green);max-width:31rem;margin:1.3rem 0}.hero-copy>p:not(.hero-lead){max-width:35rem}.hero-location{margin-top:1.75rem;font-size:.86rem;color:var(--muted)}.hero-portrait{max-width:420px;justify-self:end;width:100%}.hero-portrait img{width:100%;border-radius:2px}.hero-portrait figcaption{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.86rem;font-weight:600}.hero-portrait figcaption span{font-weight:400;color:var(--muted);display:block;margin-top:.15rem}
.review-section{background:#163a29;padding:42px 0 46px;border-block:1px solid #244e3a;color:#fff}.review-wrap{width:min(1320px,calc(100% - 72px));margin-inline:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.2rem}.section-heading h2{margin:0;color:#fff;font-size:clamp(1.65rem,2.2vw,2rem)}.section-heading p{margin:.35rem 0 0;color:#dce9df;font-size:.92rem}.review-section-link,.review-section a{color:#fff}.review-section-link{display:inline-flex;align-items:center;gap:.45em;min-height:44px;font-weight:650;white-space:nowrap}.reviews-widget{min-width:0}.review-live{min-height:310px;max-width:100%}.reviews-widget .ti-widget{max-width:100%!important}.review-fallback{margin:.8rem 0 0;color:#dce9df;font-size:.83rem}.review-fallback a{color:#fff}.collection-note{margin-top:1rem;color:#dce9df}.collection-note a{color:#fff}.reviews-intro{padding-bottom:34px!important}.standalone-reviews{margin-bottom:0}.standalone-reviews .review-live{min-height:380px}
.results-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);gap:4rem;padding-block:48px;border-bottom:1px solid var(--line)}.results-section h2{font-size:1.7rem;max-width:15ch;margin:0}.results-section .large-copy{font-size:1.16rem}.results-section .small{margin-top:.8rem}.section{padding:62px 0}.section-paper{background:var(--paper)}.editorial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:6rem}.editorial-grid>div{min-width:0}.section-intro p{max-width:30rem}.lesson-list>div{padding:0 0 1.45rem;margin:0 0 1.45rem;border-bottom:1px solid var(--line)}.lesson-list>div:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}.fee-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);gap:4rem;padding-block:56px 62px}.fee-value{font:400 3.65rem/1.1 Georgia,serif;letter-spacing:-.04em;color:var(--green);margin-bottom:.55rem}.fee-value span{font:400 1rem/1.5 system-ui,sans-serif;letter-spacing:0;margin-left:.8rem;color:var(--muted)}.availability-summary{padding-block:48px;display:flex;justify-content:space-between;gap:3rem;align-items:center}.availability-summary>div{max-width:46rem}.availability-summary h2{font-size:2rem}.availability-summary .button{flex-shrink:0}
.contact-section{background:var(--green-dark);color:#fff;padding:50px 0}.contact-section h2{color:#fff}.contact-section p{max-width:35rem}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem}.contact-details{padding-top:.25rem}.contact-details a{color:#fff;font-size:1.18rem;overflow-wrap:anywhere}.contact-label{display:block;color:#d9e5d8;font-size:.86rem;margin-bottom:.25rem}.contact-details .small{color:#d9e5d8;max-width:26rem}.site-footer{padding:32px 0;background:var(--paper);font-size:.85rem;color:var(--muted)}.footer-top{display:flex;justify-content:space-between;gap:2rem}.footer-name{color:var(--ink);font-weight:650;margin-bottom:.2rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.15rem;align-content:flex-start;justify-content:flex-end;max-width:38rem}.footer-nav a{min-height:36px;display:flex;align-items:center}.footer-bottom{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;font-size:.78rem}.footer-version{white-space:nowrap}
.page-intro{padding-block:34px 38px}.breadcrumb{font-size:.83rem;color:var(--muted);margin-bottom:2rem}.breadcrumb a{color:var(--muted)}.breadcrumb span{margin-inline:.5rem}.page-intro h1{max-width:20ch;font-size:clamp(2.4rem,4vw,3.55rem)}.compact-intro{padding-bottom:20px}.compact-intro h1{max-width:22ch}.updated{font-size:.9rem;color:var(--muted);margin-top:1.3rem}.before-contact{padding-bottom:60px}.prose{max-width:var(--reading)}.prose h2,.narrow-text h2{margin-top:2.5rem;font-size:1.8rem}.prose>h2:first-child{margin-top:0}.about-opening{display:grid;grid-template-columns:1.6fr 1fr;align-items:start;gap:6rem;padding-bottom:52px}.aqa-focus{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-block:56px;border-bottom:1px solid var(--line)}.aqa-focus>div{max-width:34rem}.local-note{padding-block:48px;border-top:1px solid var(--line)}.local-note>div{max-width:var(--reading)}.about-portrait{width:100%;max-width:340px;justify-self:end}.about-portrait figcaption{font-size:.83rem;color:var(--muted);padding-top:.6rem}.teaching-history{display:grid;grid-template-columns:1.4fr 1fr;gap:3.5rem;padding-block:62px;align-items:center}.teaching-history img{border-radius:2px}.teaching-history figcaption{font-size:.8rem;color:var(--muted);margin-top:.7rem}.teaching-history+.results-section{border-top:1px solid var(--line);border-bottom:0}.online-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:5rem;align-items:start}.equipment-note{background:var(--paper);border-top:3px solid var(--green);padding:1.5rem 1.6rem}.equipment-note h2{font-size:1.65rem}.simple-list{padding-left:1.25rem}.simple-list li{margin:.5rem 0}.equipment-note .small{margin-top:1rem}.availability-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:5rem;padding-block:8px 30px}.availability-statement{padding:1.7rem 1.9rem;border-left:3px solid var(--green);background:var(--wash)}.side-note{border-top:1px solid var(--line);padding-top:1.3rem}.side-note h2{font-size:1.5rem}.faq-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:5rem;align-items:start}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;position:relative;cursor:pointer;padding:1.1rem 2rem 1.1rem 0;font-weight:600;min-height:56px;color:var(--ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font:400 1.6rem/1 Georgia,serif;position:absolute;right:.2rem;top:1rem;color:var(--green)}.faq-list details[open] summary:after{content:"−"}.faq-list summary:hover{color:var(--green)}.answer{padding:0 1.6rem 1.2rem 0}.answer p{font-size:.97rem}.notice{background:var(--paper);border-left:3px solid var(--green);padding:1.4rem 1.6rem;margin:1.8rem 0}.notice h2{margin:0 0 .8rem;font-size:1.45rem}.not-found{padding-block:70px 120px;min-height:60vh}
@media(min-width:1500px){.hero{padding-top:76px}}
@media(max-width:1080px){.site-nav ul{gap:.9rem}.site-nav a{font-size:.84rem}.brand-course{font-size:.78rem}.header-inner{gap:1rem}.hero{gap:3rem}.editorial-grid{gap:3.5rem}.contact-grid{gap:3rem}.faq-layout,.online-layout,.availability-detail{gap:3rem}.about-opening{gap:3rem}}
@media(max-width:940px){.wrap{width:calc(100% - 56px)}.narrow-text{margin-left:28px}.header-inner{min-height:88px;flex-wrap:wrap;gap:0}.brand{min-height:88px}.js .nav-toggle{display:inline-flex}.site-nav{width:100%;padding-bottom:1rem}.site-nav ul{gap:.2rem 1.4rem;flex-wrap:wrap}.site-nav a{font-size:.95rem}.js .site-nav{display:none}.js .site-nav.is-open{display:block}.hero{gap:2.3rem;padding-block:48px;grid-template-columns:1.45fr 1fr}.hero h1{font-size:3rem}.hero-lead{font-size:1.2rem}.hero-portrait figcaption{font-size:.8rem}.hero-copy>p:not(.hero-lead){font-size:1rem}.results-section{gap:2rem}.editorial-grid{gap:2.5rem}.fee-section{gap:2rem}.large-copy{font-size:1.15rem}.availability-summary{align-items:flex-start;flex-direction:column;gap:1rem}.footer-top{flex-direction:column;gap:1rem}.footer-nav{justify-content:flex-start;max-width:none}.about-opening{grid-template-columns:1.6fr 1fr;gap:2.5rem}.teaching-history{gap:2rem}.faq-layout{grid-template-columns:minmax(0,1fr) 240px;gap:2rem}.online-layout{gap:2rem;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:680px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.narrow-text{margin-left:20px;margin-right:20px;max-width:none}.header-inner{min-height:80px}.brand{min-height:80px;gap:.7rem}.brand-mark{width:40px;height:43px;font-size:1.65rem}.brand-name{font-size:.94rem}.brand-course{font-size:.74rem}.nav-toggle{font-size:.86rem}.site-nav ul{display:block;border-top:1px solid var(--line);padding-top:.6rem}.site-nav a{display:block;padding:.55rem .25rem;min-height:46px;width:100%}.site-nav a[aria-current=page]{border-bottom-color:transparent;font-weight:700}.hero{grid-template-columns:1fr;padding-block:36px 38px;gap:1.8rem}.hero h1{font-size:clamp(2.4rem,8.4vw,3.1rem);max-width:none}.hero-lead{font-size:1.2rem}.hero-copy .actions{gap:.6rem 1.2rem;margin-top:1.3rem}.hero-location{margin-top:1.25rem}.hero-portrait{width:240px;justify-self:start;display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:center;max-width:none}.hero-portrait img{width:120px}.hero-portrait figcaption{border-bottom:0;padding:0;line-height:1.5;width:155px}.hero-portrait picture{width:120px}.section-heading{display:block;margin-bottom:1rem}.section-heading .text-link{margin-top:.2rem;font-size:.9rem}.review-section{padding-block:28px}.review-wrap{width:calc(100% - 28px)}.review-live{min-height:520px}.standalone-reviews .review-live{min-height:560px}.section-heading{display:block}.section-heading p{font-size:.84rem}.review-section-link{margin-top:.5rem}.review-fallback{font-size:.78rem}.results-section{grid-template-columns:1fr;gap:.75rem;padding-block:30px}.results-section h2{max-width:none;font-size:1.6rem}.section{padding-block:36px}.editorial-grid,.fee-section,.contact-grid,.about-opening,.teaching-history,.online-layout,.availability-detail,.faq-layout,.aqa-focus{grid-template-columns:1fr;gap:1.8rem}.editorial-grid h2{font-size:1.85rem}.lesson-list>div{padding-bottom:1.05rem;margin-bottom:1.05rem}.fee-section{padding-block:36px;gap:1.3rem}.fee-value{font-size:3.35rem}.fee-section h2{font-size:1.9rem}.availability-summary{padding-block:34px}.contact-section{padding-block:36px}.contact-grid{gap:2.1rem}.contact-section .button{margin-top:.25rem}.contact-details a{font-size:1.06rem}.site-footer{padding-block:26px}.footer-bottom{display:block}.footer-version{display:block;margin-top:.5rem}.footer-nav{column-gap:1rem}.page-intro{padding-block:24px 28px}.breadcrumb{margin-bottom:1.5rem}.page-intro h1{font-size:clamp(2.2rem,7.5vw,3rem);max-width:none}.page-intro .large-copy{font-size:1.2rem}.about-opening{padding-bottom:34px}.about-portrait{width:240px;justify-self:start}.teaching-history{padding-block:36px}.aqa-focus{padding-block:36px}.local-note{padding-block:34px}.teaching-history h2{margin-bottom:.85rem}.availability-detail{padding-top:0}.availability-statement{padding:1.4rem}.availability-detail .side-note{margin-top:.3rem}.before-contact{padding-bottom:38px}.equipment-note{padding:1.25rem}.faq-layout .side-note{margin-top:.3rem}.faq-list summary{padding-block:1.05rem}.answer{padding-right:.4rem}.notice{padding:1.25rem}.not-found{padding-block:50px 80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{border-top:0;font-size:11pt;color:#000;background:#fff}.site-header,.site-footer,.nav-toggle,.actions,.contact-section,.review-live,.staging-banner,.skip-link{display:none!important}.wrap,.narrow-text{width:100%;max-width:none;margin:0}.hero,.editorial-grid,.results-section,.fee-section,.about-opening,.teaching-history,.faq-layout,.online-layout{display:block;padding:1rem 0}.hero-portrait,.about-portrait{width:130px;margin:1rem 0}.section,.review-section{background:none;padding:1rem 0;border:0}a{color:#000}h1{font-size:26pt}h2{font-size:19pt}.faq-list details::details-content{content-visibility:visible}h1,h2,h3,figure{break-after:avoid}section{break-inside:auto}}

.contact-section :focus-visible{outline-color:#f6d48b}
@media(max-width:680px){.footer-nav a{min-height:44px}}
/* Keep provider controls out of the no-JavaScript view, even alongside .button. */
html:not(.js) .js-only{display:none!important}

.analytics-choice{margin:1.8rem 0;padding:1.4rem 1.5rem;background:var(--paper);border-left:3px solid var(--green)}.analytics-choice h3{margin:0 0 .65rem;font:600 1.15rem/1.3 system-ui,sans-serif}.analytics-choice form{display:inline}.analytics-choice .actions{margin:.9rem 0}.analytics-choice .button-outline{background:transparent}.footer-analytics{margin:.7rem 0 0;font-size:.76rem}.footer-analytics a{color:inherit}
