.hero{padding:3.5rem 0 4rem}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:3rem}.hero-media{display:grid;gap:1.1rem}.hero-media .image-panel{aspect-ratio:4/5}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pathway{min-height:390px;padding-top:1.25rem}.pathway h3{margin-top:1.4rem}.pathway .image-panel{aspect-ratio:16/9;margin-bottom:1.4rem}.page-hero.media-led{padding:3.5rem 0}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);gap:4rem;align-items:center}.page-hero-grid .image-panel{aspect-ratio:4/3}.image-panel{position:relative;display:flex;align-items:flex-end;min-height:210px;background:linear-gradient(135deg,#232323,#0e0e0e);color:#fff;border:1px solid #454545;overflow:hidden}.image-panel:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(223,255,0,.18) 48%,rgba(223,255,0,.18) 50%,transparent 50%)}.image-panel.light{background:linear-gradient(135deg,#e8e8e4,#cfcfca);color:var(--ink);border-color:#aaa}.image-label{position:relative;z-index:1;margin:1rem;background:var(--ink);color:var(--white);padding:.55rem .7rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;max-width:280px}.image-panel.light .image-label{background:var(--white);color:var(--ink)}.editorial-media{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:5rem;align-items:center}.editorial-media .image-panel{aspect-ratio:5/4}.image-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.image-strip .image-panel{aspect-ratio:4/3}.image-strip .image-panel:last-child{aspect-ratio:3/4}.caption{font-size:.82rem;color:#666;margin:.65rem 0 0}.dark .caption{color:#aaa}
@media(max-width:900px){.hero-grid,.page-hero-grid,.editorial-media{grid-template-columns:1fr}.hero-media{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);align-items:end}.hero-media .image-panel{aspect-ratio:16/10}}
@media(max-width:560px){.hero-media{grid-template-columns:1fr}.hero-media .image-panel{aspect-ratio:4/3}.image-strip{grid-template-columns:1fr}.image-strip .image-panel,.image-strip .image-panel:last-child{aspect-ratio:4/3}.image-label{font-size:.68rem}}

/* Contrast and sticky-navigation fixes. */
html{scroll-padding-top:7rem}
.masthead{position:sticky;top:0;z-index:50;background:var(--ink)}
.brand-logo{display:block;width:auto;height:3.15rem;object-fit:contain}.footer-mark{display:block;width:min(300px,100%);height:auto}.footer-mark img{width:100%;height:auto}.image-panel picture{position:absolute;inset:0}.image-panel picture,.image-panel picture img{width:100%;height:100%}.image-panel picture img{object-fit:cover}.image-panel.has-photo:before{z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.2))}.photo-home-hero img{object-position:48% 50%}.photo-academy-pathway img{object-position:50% 43%}.photo-academy-hero img{object-position:50% 42%}.photo-academy-support img{object-position:50% 48%}.photo-support-hero img{object-position:50% 45%}
@media(max-width:560px){.brand-logo{height:2.65rem}.footer-mark{width:min(260px,100%)}.photo-home-hero img{object-position:45% 50%}.photo-academy-pathway img{object-position:50% 42%}.photo-academy-hero img{object-position:50% 38%}.photo-academy-support img{object-position:46% 48%}.photo-support-hero img{object-position:50% 42%}}
.schedule article,.fact{color:var(--ink)}
[id]{scroll-margin-top:7rem}
@media(max-width:900px){.site-nav{top:100%;max-height:calc(100dvh - 6rem);overflow-y:auto;overscroll-behavior:contain}.masthead{position:sticky}}
@media(max-width:560px){html{scroll-padding-top:6rem}[id]{scroll-margin-top:6rem}.site-nav{top:100%;max-height:calc(100dvh - 5rem)}}
.pathway .number{color:#666}
.pathway{min-width:0}
.programme-note{max-width:760px;margin:0 0 2.5rem;color:#4c4c4c}.timetable-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.timetable-day{background:var(--white);border:1px solid var(--line);padding:1.5rem}.timetable-day h3{font-size:1.65rem;line-height:1;margin:0 0 1.1rem;letter-spacing:-.035em}.timetable-day>.button{margin-top:1.25rem}.timetable-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.timetable-list li{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:start}.timetable-list time,.timetable-list .time{font-weight:800}.timetable-list .class-name{font-weight:700}.timetable-list small{color:#555;text-align:right}.timetable-list .button{grid-column:2/-1;justify-self:start;margin-top:.2rem}.timetable-day.saturday-note{background:var(--ink);color:var(--white)}.timetable-day.saturday-note .timetable-list{border-color:#666}.timetable-day.saturday-note p{color:#c5c5c5}.class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.class-card{background:var(--white);color:var(--ink);padding:2rem;display:flex;flex-direction:column}.class-card h3{font-size:1.65rem;line-height:1.1;margin:0 0 1rem;letter-spacing:-.035em}.class-card p{color:#4c4c4c}.class-card .clothing{border-top:1px solid var(--line);padding-top:1rem}.class-card .button{align-self:flex-start;margin-top:auto}.class-card.wide{grid-column:1/-1}.class-card.wide .fit-details{columns:2;column-gap:3rem}.class-card.wide .fit-details p{break-inside:avoid}.section-link{font-weight:800}.timetable-actions{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap;margin-top:1.25rem}.intensive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.intensive-card{border:1px solid var(--line);background:var(--white)}.intensive-card>div{padding:1.5rem}.intensive-card h3{font-size:1.65rem;line-height:1.1;letter-spacing:-.035em;margin:0 0 1rem}.intensive-card .eyebrow{margin-bottom:.8rem}.intensive-poster{width:100%;height:auto}.intensive-card-text{display:flex;align-items:center}.event-note{color:#555;border-top:1px solid var(--line);padding-top:1rem}
@media(max-width:760px){.timetable-days,.class-grid,.intensive-grid{grid-template-columns:1fr}.class-card.wide{grid-column:auto}.class-card.wide .fit-details{columns:auto}.timetable-list li{grid-template-columns:6.5rem minmax(0,1fr)}.timetable-list small{grid-column:2;text-align:left}.timetable-list .button{grid-column:2}.timetable-day{padding:1.25rem}.class-card{padding:1.5rem}}
@media(max-width:420px){.timetable-list li{grid-template-columns:1fr;gap:.25rem}.timetable-list small,.timetable-list .button{grid-column:1}.timetable-list small{text-align:left}}
.homepage-funding{border-top:1px solid #3d3d3d;margin-top:2.5rem;padding-top:1.25rem}.homepage-funding-label{margin:0 0 1rem;color:#aaa;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.homepage-funding-logos{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.homepage-funding-logo{display:flex;flex:1 1 180px;align-items:center;justify-content:center;width:100%;max-width:200px;height:110px;padding:.75rem;}.homepage-funding-logo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}@media(max-width:560px){.homepage-funding-logos{gap:.75rem}.homepage-funding-logo{flex-basis:150px;height:100px;padding:.65rem}}

/* ClassManager booking links. */
.site-nav .nav-book{background:var(--acid);color:var(--ink);border:1px solid var(--acid);padding:.7rem 1rem}
.site-nav .nav-book:hover{background:var(--white);border-color:var(--white)}
@media(max-width:900px){.site-nav .nav-book{text-align:center;margin-top:.35rem}}

/* Compact timetable booking actions. */
.timetable-list li{grid-template-columns:7rem minmax(0,1fr) auto auto;gap:.75rem;align-items:center}
.booking-link{justify-self:end;color:#3f3f3f;font-size:.72rem;font-weight:800;letter-spacing:.04em;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #999;padding:.28rem 0}
.booking-link:hover{color:var(--ink);border-color:var(--acid)}
.booking-link:focus-visible{outline:3px solid var(--acid);outline-offset:3px}
@media(max-width:760px){.timetable-list li{grid-template-columns:6.5rem minmax(0,1fr) auto auto;gap:.7rem}.timetable-list small{grid-column:auto;text-align:right}}
@media(max-width:560px){.timetable-list li{grid-template-columns:5.75rem minmax(0,1fr) auto;column-gap:.65rem;row-gap:.15rem}.timetable-list small{grid-column:2;text-align:left}.booking-link{grid-column:3;grid-row:1/3;align-self:center}}
@media(max-width:420px){.timetable-list li{grid-template-columns:5.25rem minmax(0,1fr) auto;gap:.15rem .55rem}.timetable-list small{grid-column:2}.booking-link{grid-column:3}}

/* Balanced premises photography. */
.premises-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.premises-photo-grid figure{min-width:0;margin:0}
.premises-photo-grid .premises-photo,.premises-photo-grid .premises-photo:last-child{aspect-ratio:1/1;min-height:0;background:var(--paper);border-color:var(--line)}
.premises-photo:before{display:none}
.premises-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.premises-photo-progress picture img{object-position:left center}
.premises-photo-studio>img{object-position:50% 58%}
.premises-photo-grid .caption{margin:.75rem 0 0;color:#555;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:700px){.premises-photo-grid{grid-template-columns:1fr;gap:1.75rem}}
