/* ACRC final theme — clean, balanced and responsive */
:root{
  --maroon:#69142d;
  --maroon-dark:#4b0b1d;
  --maroon-deep:#2d0711;
  --gold:#e5b52f;
  --gold-light:#f5d36f;
  --cream:#f4ede3;
  --paper:#fffdf9;
  --ink:#211a1c;
  --muted:#685d60;
  --line:rgba(65,35,43,.15);
  --shadow:0 18px 48px rgba(43,18,25,.12);
}

html{background:var(--paper)}
body{
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.7;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
p{max-width:72ch}
.shell{width:min(1280px,calc(100% - 56px))}
.section{padding:100px 0}
.hero-copy h1 em,.page-hero h1 em,.section h2 em,.final-cta h2 em{font-style:normal}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(40,18,24,.06)}
.official-bar{background:var(--maroon-deep)}
.brand{width:218px;flex:0 0 218px}
.brand img{filter:brightness(0)}
.nav-shell{height:90px;gap:18px;justify-content:flex-start;flex-wrap:nowrap}
.nav-shell nav{
  min-width:0;
  margin-left:auto;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:2px;
  flex-wrap:nowrap;
}
.nav-shell nav>a,.nav-group>summary{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  color:#251d20;
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:.045em;
  white-space:nowrap;
}
.nav-shell nav>a:hover,.nav-group>summary:hover{color:var(--maroon)}
.nav-group{height:90px;display:flex;align-items:stretch}
.nav-group>summary{height:90px}
.dropdown{
  top:84px;
  width:300px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.dropdown>a{padding:14px 16px;color:var(--ink)}
.dropdown>a:hover{background:var(--cream)}
.dropdown .dropdown-parent{background:var(--maroon);color:#fff}
.dropdown a strong{font-weight:700}
.nav-actions{flex:none;margin-left:8px;gap:7px}
.nav-actions a{
  min-width:78px;
  min-height:42px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-weight:800;
}
.join-button{background:#fff;color:var(--maroon);border:1px solid var(--maroon)}
.book-button{background:var(--maroon);color:#fff}
.menu-toggle:focus-visible,.nav-shell a:focus-visible,.nav-group>summary:focus-visible{
  outline:3px solid var(--gold);outline-offset:3px
}

/* Common typography and controls */
.button{
  min-height:48px;
  padding:0 21px;
  border-radius:999px;
  box-shadow:none;
}
.button:hover,.nav-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,15,24,.14)}
.button.maroon{background:var(--maroon);color:#fff}
.button.gold{background:var(--gold);color:#281702}
.button.outline{background:#fff;color:var(--maroon);border-color:var(--line)}
.button.ghost{color:#fff}
a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold);outline-offset:3px
}
.heading-row{margin-bottom:58px}
.heading-row h2,.section-title h2,.impact h2,.content-split h2,.form-layout aside h2{font-weight:700}
.heading-row>p,.prose p,.feature-grid article p,.service-detail p,.news-copy p{color:var(--muted)}

/* Home */
.home-hero{background:var(--maroon-deep);color:#fff}
.hero-copy h1{color:#fff}
.hero-copy h1 em{color:var(--gold)}
.hero-lead{color:#e2d4d8}
.hero-copy-bg{background:linear-gradient(135deg,#4b0b1d,#69142d)}
.hero-image{filter:saturate(.85) contrast(1.03)}
.onair-card{border-radius:16px}
.quick-actions{padding:28px 0;background:var(--cream)}
.action-grid{gap:12px}
.quick-card,.quick-card:first-child,.quick-card:nth-child(3){
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.quick-card:hover{background:#fff8ee;transform:translateY(-3px)}
.about-band{background:var(--paper)}
.section-copy{padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff}
.services-band{background:var(--maroon-deep);color:#fff}
.services-band .heading-row h2{color:#fff}
.services-band .heading-row>p,.services-band .service-card p{color:#d4c2c7}
.service-grid{border-color:rgba(255,255,255,.16)}
.service-card:hover{background:#65142d}
.impact{background:var(--cream)}
.stat-board>div{border-color:rgba(255,255,255,.18)}
.news-section{background:#fff}
.news-card{border-radius:16px;overflow:hidden}
.news-intro{max-width:520px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.news-intro p{margin:0;color:var(--muted)}
.news-intro .button{margin:0}
.final-cta{background:var(--maroon-deep);color:#fff}
.final-cta h2{color:#fff}
.final-cta p{color:#dac8cd}
.booking-panel{border-radius:18px}

/* Inner pages */
.page-hero{background:linear-gradient(130deg,var(--maroon-dark),var(--maroon-deep));color:#fff}
.page-hero h1{color:#fff}
.page-hero h1 em{color:var(--gold)}
.page-hero-inner>div>p:last-child{color:#decfd3}
.warm,.timeline-section,.form-section{background:var(--cream)}
.feature-grid article,.link-card-grid>a,.team-card,.news-card,.form-card,.schedule-card{
  border-color:var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(43,18,25,.07);
  overflow:hidden;
}
.feature-grid article:hover,.link-card-grid>a:hover,.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.inner-cta,.booking-strip{background:var(--maroon);color:#fff}
.inner-cta h2,.booking-strip h2{color:#fff}
.inner-cta p:not(.eyebrow),.booking-strip p:not(.eyebrow){color:#deced2}
.media-feature{border-radius:18px;overflow:hidden}
.gallery-item{border-radius:16px;overflow:hidden}

/* Team */
.team-card{padding:14px 14px 27px}
.portrait{
  height:300px;
  margin-bottom:24px;
  border-radius:11px;
  border:1px solid rgba(105,20,45,.08);
  background:linear-gradient(145deg,#f4ecdf,#dfcfbc);
}
.portrait:before{
  content:"Member photo";
  position:absolute;
  left:15px;
  bottom:13px;
  z-index:2;
  color:rgba(105,20,45,.52);
  font-size:8px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.team-card h3{margin:7px 0 3px;font-size:26px}
@media(min-width:1101px){
  .team-layout{grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 22px;align-items:start}
  .team-layout .team-card{grid-column:span 2}
  .team-layout .team-card:nth-child(1){grid-column:3/span 2;grid-row:1}
  .team-layout .team-card:nth-child(2){grid-column:2/span 2;grid-row:2}
  .team-layout .team-card:nth-child(3){grid-column:4/span 2;grid-row:2}
  .team-layout .team-card:nth-child(4){grid-column:1/span 2;grid-row:3}
  .team-layout .team-card:nth-child(5){grid-column:3/span 2;grid-row:3}
  .team-layout .team-card:nth-child(6){grid-column:5/span 2;grid-row:3}
  .team-layout .team-card:nth-child(7){grid-column:1/span 2;grid-row:4}
  .team-layout .team-card:nth-child(8){grid-column:3/span 2;grid-row:4}
  .team-layout .team-card:nth-child(9){grid-column:5/span 2;grid-row:4}
  .team-layout .team-card:nth-child(10){grid-column:3/span 2;grid-row:5}
}

/* Leadership */
.leadership-section{background:var(--paper)}
.leadership-layout{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 22px;align-items:start}
.leadership-card{
  grid-column:span 2;
  padding:14px 14px 27px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 10px 30px rgba(43,18,25,.07);
}
.leadership-card.principal{grid-column:3/span 2;grid-row:1}
.leadership-card.patron{grid-column:3/span 2;grid-row:2}
.leadership-card:nth-child(3){grid-column:2/span 2;grid-row:3}
.leadership-card:nth-child(4){grid-column:4/span 2;grid-row:3}
.leadership-photo{
  height:300px;
  display:grid;
  place-items:center;
  margin-bottom:24px;
  border:1px solid rgba(105,20,45,.08);
  border-radius:11px;
  background:linear-gradient(145deg,#f4ecdf,#dfcfbc);
  color:rgba(105,20,45,.52);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.leadership-card>small{color:var(--maroon);font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.leadership-card h3{font:700 26px/1.15 var(--serif);margin:7px 0 5px}
.leadership-card p{margin:0 auto;color:var(--muted);font-size:10px}

/* Forms, contact and radio */
.contact-intro{margin:0 0 25px;color:var(--muted)}
.contact-list>a.contact-primary{margin-bottom:10px;padding:21px 19px;border:1px solid rgba(105,20,45,.2);border-radius:13px;background:var(--cream)}
.contact-more{width:max-content;margin-top:27px;color:#fff!important;border:0!important}
.form-heading{background:var(--maroon)}
.form-card input,.form-card select,.form-card textarea{border-radius:9px;color:var(--ink);background:#fffdf9}
input::placeholder,textarea::placeholder{color:#756a6d;opacity:1}
.form-powered{margin:19px 0 0}
.join-card{border-radius:18px}
.radio-section{background:var(--maroon-deep);color:#fff}
.radio-player{border-radius:18px;overflow:hidden}
.schedule-card{color:var(--ink)}

/* Footer */
.site-footer{background:#1f080f;color:#fff}
.footer-brand>img{filter:none}
.footer-brand>p,.footer-grid>div:not(.footer-brand)>a,.footer-contact p,.footer-base{color:#bbaab0}
.footer-grid h3,.social-row a{color:var(--gold-light)}
.footer-grid>div:not(.footer-brand)>a{padding-block:3px}
.site-footer a:hover{color:#fff}

/* Tablet and mobile */
@media(max-width:1100px){
  .shell{width:min(100% - 44px,980px)}
  .nav-shell{height:82px}
  .brand{width:min(255px,68%);flex-basis:auto}
  .nav-shell nav{top:115px;max-height:calc(100vh - 115px);overflow-y:auto;align-items:stretch}
  .nav-shell nav>a,.nav-group>summary{
    min-height:0;
    padding:14px 10px;
    justify-content:flex-start;
    white-space:normal;
  }
  .nav-group,.nav-group>summary{height:auto}
  .dropdown{width:100%;border-radius:0;box-shadow:none}
  .nav-actions{margin:12px 0 0}
  .team-layout{gap:26px 20px}
  .portrait{height:320px}
  .leadership-layout{grid-template-columns:repeat(4,minmax(0,1fr))}
  .leadership-card{grid-column:span 2!important;grid-row:auto!important}
  .leadership-card.principal,.leadership-card.patron{grid-column:2/span 2!important}
}

@media(max-width:620px){
  .shell{width:min(100% - 30px,560px)}
  body{font-size:15px}
  .section{padding:68px 0}
  .heading-row{margin-bottom:40px}
  .nav-actions{display:grid;grid-template-columns:1fr 1fr}
  .nav-actions a{width:100%}
  .page-hero h1{font-size:clamp(43px,14vw,57px)}
  .portrait{height:330px}
  .leadership-layout{grid-template-columns:1fr;gap:23px}
  .leadership-card,.leadership-card.principal,.leadership-card.patron{grid-column:1!important}
  .leadership-photo{height:330px}
  .contact-more{width:100%}
  .news-intro{width:100%}
  .button{width:100%}
  .button-row .button{width:auto;flex:1 1 170px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
