/* Shared navigation and accessible layout; brand content is retained. */
:root{--header-offset:100px}
.site-header{position:sticky;top:0;z-index:40}
.header-enquiry{display:none}
section,form,[id]{scroll-margin-top:calc(var(--header-offset) + 1.25rem)}
.performer-nav{top:var(--header-offset);z-index:30}
.skip{z-index:100}
:focus-visible{outline:3px solid #b5d5cf;outline-offset:4px}
a,button{touch-action:manipulation}
.site-header nav a,.menu-button{min-height:44px;display:inline-flex;align-items:center}
.menu-button{display:none}
@media(max-width:800px){
 .site-header{gap:1rem;padding:.65rem 5vw;min-height:86px;flex-wrap:wrap}
 .site-header .brand{margin-right:auto}
 .header-enquiry{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.5rem .8rem;background:#d5ac70;color:#21140d;text-decoration:none;font-weight:700;font-size:1rem;white-space:nowrap}
 .menu-button{display:inline-flex;justify-content:center;min-width:66px}
 .site-header nav a{display:flex}
 .site-header nav .nav-cta{display:none}
}
@media(max-width:520px){
 .site-header{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem}
 .site-header .brand{grid-column:1;grid-row:1}
 .menu-button{grid-column:2;grid-row:1}
 .header-enquiry{grid-column:1/-1;grid-row:2}
 .site-header .brand-emblem{width:48px;height:48px}
 .performer-nav{position:relative;top:auto}
}
.gallery-pending{border:1px solid #9c855355;padding:1.1rem 1.3rem;margin-block:1rem;color:#d9d0be;min-width:0}
.gallery-pending summary{cursor:pointer;min-height:44px;display:list-item;font-weight:600;padding-block:.4rem}
.gallery-pending summary::marker{color:#d5ac70}
.gallery-pending[open]>div{margin-top:1rem}
.gallery-pending .gallery-collections{padding:0}
.gallery-pending .gallery-empty{min-height:90px}
.gallery-pending>a{display:inline-block;margin-top:.6rem;color:#e6c080}
.collective-section{padding:5rem 7vw;background:#191b1d;border-top:1px solid #a2834d55}
.collective-section h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.3;margin:0 0 1.4rem}
.collective-section h1{font-size:clamp(2.2rem,4vw,4rem);margin-top:1.5rem}
.collective-section p{max-width:65ch;color:#d0c9bc}
.people-grid,.proof-grid,.class-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-block:2rem}
.person-card,.proof-card{padding:1.5rem;border:1px solid #9c855355;background:#151719;min-width:0}
.person-card h3,.proof-card h3{font-size:1.25rem;margin-top:1rem}
.person-card img{width:100%;height:auto;object-fit:contain}
.portrait-placeholder,.photo-placeholder{display:flex;flex-direction:column;justify-content:center;padding:1.5rem;border:1px dashed #998363;background:linear-gradient(135deg,#232729,#1a1d1f);color:#d5c8b0;min-height:200px}
.portrait-placeholder{min-height:160px}
.portrait-placeholder span,.photo-placeholder>span{color:#d5ac70;font:600 1.7rem var(--serif)}
.placeholder-label{font-size:.85rem;color:#dbbd8c!important;letter-spacing:.04em}
.proof-card blockquote{margin:0;font-size:1.2rem}
.academy-banner{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;background:linear-gradient(115deg,#30201d,#171b1e)}
.academy-price-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.academy-price-summary p{border-top:1px solid #b8976866;padding-top:1rem;margin:0}
.academy-price-summary strong{display:block;font-size:2rem;color:#e8c48e;line-height:1.3}
.academy-price-summary span{display:block;font-size:.95rem}
.academy-price-summary strong span{font:400 .9rem var(--body);color:#d0c9bc}
.event-dates{background:#171a1c}.event-table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem}.event-table th,.event-table td{padding:1rem .7rem;border-bottom:1px solid #9c855355;vertical-align:top}.event-table th{color:#e4c28d}.event-table td{color:#d0c9bc}
.table-scroll{overflow-x:auto}.past-events{display:flex;gap:1rem;flex-wrap:wrap}.past-event{padding:1rem 1.5rem;border:1px solid #9c855355;flex:1;min-width:180px}
.class-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-photo-grid h3{font-size:1.25rem}.class-photo-grid .photo-placeholder{min-height:260px}
.signup-panel{padding:2rem;background:#191b1d;border:1px solid #aa895566;margin-top:2rem}
.signup-form{grid-template-columns:1fr auto;align-items:end}.signup-form label{grid-column:1}.signup-form p,.signup-form .form-status{grid-column:1/-1}
.signup-form button{margin-top:0;min-height:52px}.signup-fallback{color:#e6c080}#news .signup-fallback{color:#21140d}.form-status{grid-column:1/-1;min-height:1.5em;white-space:pre-line;font-size:1rem}
.form-wide{grid-column:1/-1}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.route-note,.response-note{grid-column:1/-1;font-size:.9rem;color:#d1c3ac;margin:0}
.enquiry form{align-content:start}.form-fallback{grid-column:1/-1;font-size:1rem}.form-fallback a,.footer-links a,.gallery-page-links a{color:#e6c080}
.footer-links,.gallery-page-links{display:flex;gap:1rem 1.5rem;flex-wrap:wrap;font-size:1rem}.footer-links{flex-basis:100%}.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.gallery-page-links{margin-bottom:2rem}.ecosystem-links{display:flex;gap:1rem;flex-wrap:wrap}.ecosystem-links a{padding:1rem;border:1px solid #9c855355}
.public-notice{max-width:860px;margin:auto;padding:4rem 6vw}.public-notice h1{font-size:clamp(2rem,4vw,3rem)}
@media(max-width:800px){.collective-section{padding:3.5rem 6vw}.people-grid,.proof-grid{grid-template-columns:1fr}.academy-banner{grid-template-columns:1fr;gap:1.5rem}.signup-form{grid-template-columns:1fr}.signup-form button{justify-self:start}.signup-panel{padding:1.3rem}.event-table th,.event-table td{padding:.8rem .4rem}}
@media(max-width:520px){.class-photo-grid{grid-template-columns:1fr}.academy-price-summary{gap:.5rem}.academy-price-summary strong{font-size:1.7rem}.event-table{font-size:.9rem}.public-notice{padding-block:2.5rem}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
