/* The supplied balance marks define three related colour palettes. */
:root,.theme-forum{--accent:#008bd2;--action:#006b9f;--red:#006b9f;--ink:#123449;--muted:#506674;--paper:#f5f9fb;--soft:#e6f3fb;--line:#cce1ed;--deep:#104a69;--highlight:#b2e4ff;--blue:#e6f3fb}
.theme-ensemble{--accent:#e30613;--action:#b70816;--red:#b70816;--ink:#41212a;--muted:#74515a;--paper:#fff8f8;--soft:#fce9eb;--line:#edcbd0;--deep:#671d2a;--highlight:#ffccd0;--blue:#fce9eb}
.theme-concert{--accent:#c8057f;--action:#a00568;--red:#a00568;--ink:#3f203f;--muted:#71546d;--paper:#fff8fc;--soft:#f8e7f2;--line:#e9c9df;--deep:#622454;--highlight:#f8c8e9;--blue:#f8e7f2}
body{background:var(--paper);color:var(--ink)}
body .eyebrow{color:var(--action)}
body .lead,body .fine{color:var(--muted)}
body .page-head{background:radial-gradient(ellipse at 90% 15%,var(--soft),transparent 65%)}
body .button{background:var(--action);color:white}
body .button:hover{background:var(--deep);color:white}
body .button.light,body .button.secondary{background:white;color:var(--action);border-color:var(--line)}
body .notice,body .lessons,body .faq-aside,body .instrument-compass{background:var(--soft);border-color:var(--accent)}
body .back-to-top{background:var(--action)}body .back-to-top:hover{background:var(--deep)}
header .brand img,footer .brand img{background:white;object-fit:contain}
body header nav a:hover,body header nav a[aria-current=page]{border-color:var(--accent)}
body .cta{background:linear-gradient(115deg,var(--deep),var(--action));color:white}
body .cta .eyebrow,body .cta em{color:var(--highlight)}
body .cta .button{background:white;color:var(--deep)}
body .story-card,body .photo-banner>div{border-color:var(--accent)}
body .story-card p,body .person-text p{color:var(--ink)}
body .real-photo,body .real-photo img,body .real-photo figcaption{background:var(--soft)}
body .real-photo figcaption{color:var(--muted)}
body .journal-head{background:radial-gradient(ellipse at 90% 25%,var(--soft),transparent 55%),var(--paper)}
body .cms-post-card.featured,body .date-block{background:var(--deep)}
body .cms-tabs [aria-current=page]{background:var(--action);border-color:var(--action)}
body .cms-event{border-color:var(--line)}
body .video-placeholder{background:linear-gradient(120deg,var(--deep),var(--action))}
body .video-placeholder a{color:white}body .video-placeholder .button{background:white;color:var(--deep)}
body .video-card{border-color:var(--line)}
body .section-logo{width:min(100%,330px);height:auto;display:block;background:white;padding:12px 16px;border-radius:4px;margin:0 0 28px}
body .brand-panel{background:var(--soft);color:var(--ink);border-top:4px solid var(--accent)}
body .brand-panel .eyebrow{color:var(--action)}
body .concert.theme-concert{background:var(--deep);color:white;border-radius:0}
body .concert.theme-concert .eyebrow,body .concert.theme-concert em{color:var(--highlight)}
body .concert.theme-concert .fine{color:var(--highlight)}
body .concert.theme-concert .button{background:white;color:var(--action)}
/* The complete team photo spans the viewport without borders, shadows or overlays. */
body .team-hero{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0;min-height:0;background:var(--soft);color:var(--ink);overflow:visible}
body .team-hero:after{display:none}
body .team-hero .hero-copy{grid-column:1;grid-row:1;padding:clamp(35px,5vw,75px);width:auto}
body .team-hero h1{font-size:clamp(3.4rem,6.4vw,6.4rem);text-shadow:none}
body .team-hero em{color:var(--action)}
body .team-hero .eyebrow{color:var(--action)}
body .team-hero .lead{color:var(--muted)}
body .team-hero .text-link{color:var(--action)}
body .team-hero .button{background:var(--action);color:white}
body .team-hero .hero-tags{color:var(--muted);border-color:var(--line)}
body .team-hero .hero-tags span:before{color:var(--accent)}
body .team-hero .hero-background{grid-column:1/-1;grid-row:2;position:static;width:100%;margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:transparent;transform:none}
body .team-hero .hero-background img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0;padding:0;border:0;border-radius:0;filter:none}
body .home-next{grid-column:2;grid-row:1;align-self:center;margin:40px clamp(24px,5vw,75px) 40px 0;padding:clamp(25px,3vw,45px);background:white;border-top:5px solid var(--accent);color:var(--ink);box-shadow:0 15px 45px #233b5010}
body .home-next h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;margin-bottom:20px;overflow-wrap:anywhere}
body .home-next .eyebrow,body .home-next .next-event-date{color:var(--action)}
body .home-next .next-event-date{font-weight:700;font-size:1.12rem}
body .home-next .next-event-location{font-size:.95rem}
body .home-next .calendar-link{display:table;margin-top:20px;font-size:.8rem}
body .quick-paths{margin-top:0}
@media(max-width:760px){body .team-hero{grid-template-columns:1fr}body .team-hero .hero-copy{grid-column:1;grid-row:1;padding:40px 6% 25px}body .home-next{grid-column:1;grid-row:2;margin:10px 6% 35px;padding:25px}body .team-hero .hero-background{grid-column:1;grid-row:3}body .team-hero h1{font-size:clamp(3rem,11vw,4.7rem)}body .section-logo{max-width:290px}body .home-next h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body .ensemble-intro{background:var(--soft);border-left-color:var(--accent)}

.event-photo{margin:24px 0;width:100%;max-width:720px}.event-photo img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;background:var(--soft);border-radius:12px}.event-photo figcaption{font-size:.8rem;color:var(--muted);margin-top:8px}.cms-preview .event-photo{max-width:100%}
/* KaMu 2027 and community links */
.kamu-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;align-items:center;padding-top:55px;padding-bottom:65px}.kamu-hero h1{font-size:clamp(2.9rem,5.3vw,5.4rem);line-height:1.07}.kamu-hero .lead{font-size:1.1rem}.kamu-date{font-size:1.65rem;font-weight:700;color:var(--action);margin:28px 0 10px}.kamu-hero figure,.kamu-about figure,.kamu-gallery figure{margin:0}.kamu-hero img,.kamu-about img,.kamu-gallery img,.kamu-teaser img{width:100%;height:auto;display:block;object-fit:contain}.kamu-facts{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:35px;background:var(--soft);border-radius:24px;padding:45px;margin-top:0}.kamu-facts h2{font-size:1.65rem}.kamu-price{font-size:3rem;line-height:1.1;color:var(--action);margin:24px 0}.kamu-price span{display:block;font-size:.95rem;margin-top:10px;color:var(--ink)}.kamu-about{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:center}.kamu-about img{max-height:520px}.kamu-gallery{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:35px;align-items:center}.kamu-gallery h2{font-size:2.2rem}.kamu-signup{display:grid;grid-template-columns:1.8fr 1fr;gap:8%;padding:50px;background:var(--soft);border-radius:24px}.kamu-signup h2{font-size:3rem}.kamu-signup aside{border-left:1px solid var(--line);padding-left:35px}.kamu-signup .notice{font-size:.85rem;line-height:1.6}.kamu-teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:6%;align-items:center}.kamu-teaser figure{margin:0}.kamu-teaser h2{font-size:clamp(2rem,3.6vw,3.6rem)}.newsletter-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;border-top:1px solid var(--line)}.newsletter-panel h2{font-size:2.6rem}.community-links{display:flex;gap:20px;flex-wrap:wrap}.community-links a{display:inline-block}.utility-nav{flex-wrap:wrap}
@media(max-width:760px){.kamu-hero,.kamu-facts,.kamu-about,.kamu-gallery,.kamu-signup,.kamu-teaser,.newsletter-panel{grid-template-columns:1fr;gap:28px}.kamu-hero{padding-top:28px}.kamu-facts,.kamu-signup{padding:28px 6%;border-radius:0}.kamu-gallery img{max-height:400px}.kamu-signup aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.kamu-signup h2{font-size:2.5rem}.kamu-hero h1{font-size:3rem}.newsletter-panel{gap:20px}.community-links{gap:15px}}

@media(max-width:760px){.kamu-hero h1{font-size:clamp(2.1rem,8vw,3rem)}.kamu-hero>*,.kamu-teaser>*{min-width:0}}

/* Ensemble section retains its own logo palette inside the blue Forum page. */
body .ensemble-intro.theme-ensemble{color:var(--ink);background:var(--soft);border-left-color:var(--accent)}
body .ensemble-intro.theme-ensemble .section-logo{display:block;max-width:340px;width:100%;height:auto;margin:0 0 28px;background:white}
body .ensemble-intro.theme-ensemble .text-link{color:var(--action)}

/* Category titles and comfortable reading rhythm – 6 November 2026 */
body .page-category{display:flex;align-items:center;gap:1rem;margin:0 0 1.8rem;color:var(--action);font:600 clamp(1.1rem,2vw,1.45rem)/1.4 system-ui,sans-serif;letter-spacing:.02em}
.page-category::before{content:"";width:2.5rem;height:3px;background:var(--accent);flex:none}
.page-category::after{content:"";height:1px;background:var(--line);flex:1;max-width:10rem}
.page-category span{max-width:100%;overflow-wrap:anywhere}
.profile-interview{margin:3.5rem 0;padding:2rem clamp(1.2rem,3vw,2.5rem);background:var(--soft);border-left:3px solid var(--accent)}
.profile-interview>h2{margin-bottom:2rem}
.profile-interview article+article{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.profile-interview h3{font:600 1.12rem/1.5 system-ui,sans-serif;margin:0 0 1rem}
.profile-interview p{line-height:1.75}
@media(max-width:800px){
 body main :is(h1,h2,h3,h4,h5,h6){margin-bottom:1.65rem}
 body main :is(h1,h2,h3,h4,h5,h6)+:is(p,div,ul,ol,form){margin-top:1.65rem}
 body main .page-category{margin-bottom:1.5rem;font-size:1.05rem;gap:.7rem}
 .page-category::before{width:1.5rem}.page-category::after{max-width:4rem}
 .profile-interview{padding:1.5rem 1.1rem;margin-block:2.5rem}
}
