:root{--paper:#fbfaf6;--soft:#f5f0e5;--gold:#efb94f;--ink:#102f25;--line:#d9ddd7;--radius:4px}body{background:var(--paper)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(42px,6vw,80px)}h2{font-size:clamp(32px,4.6vw,60px)}.header{background:#fbfaf6f5}.brand small{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.button{border-radius:3px;background:var(--gold);color:var(--ink);padding:15px 24px}.button:hover{background:#f7cd7e;color:#102f25}.nav-contact{border:1px solid var(--ink);border-radius:2px;background:transparent;color:var(--ink)}.header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.event-strip{background:#173d31;color:#fff;font-size:13px;letter-spacing:.02em}.section{padding-top:96px;padding-bottom:96px}.section.compact{padding-top:36px;padding-bottom:60px}.eyebrow{letter-spacing:.18em;color:#725817}.cards{gap:0;border-top:1px solid #c9c5b9;grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-radius:0;border:0;border-bottom:1px solid #c9c5b9;border-right:1px solid #c9c5b9;background:var(--soft);padding:36px;min-height:310px}.card:first-child{background:var(--ink);color:#fff}.card:first-child p,.card:first-child .num{color:#d3ded8}.card:last-child{border-right:0}.card h3{font-size:31px}.story{background:var(--ink);color:#fff;max-width:none;padding:0;gap:0;overflow:hidden}.story>div{padding:70px clamp(25px,6vw,90px)}.story img{height:100%;min-height:560px;border-radius:0}.story .eyebrow{color:var(--gold)}.story p{color:#d7e1db}.story .text-link{color:var(--gold)}.small-cta{background:var(--soft)}.page-hero{padding-top:70px;padding-bottom:35px}.page-hero .lead{max-width:820px;margin-left:auto;margin-right:auto}.reading article{padding-top:28px;padding-bottom:28px}.reading h2{font-size:36px}.event-poster img,.poster-thumb,.community-gallery img{border-radius:4px}.social-links a{border-radius:3px}footer{background:#091e17;color:#fff}footer p,footer .footer-bottom,footer .footer-top p,footer .footer-top a:not(.brand){color:#d2ddd5}footer a{color:#fff}footer .social-links a:hover{background:#204337}footer .footer-bottom,footer .footer-community{border-color:#ffffff30}.chat-launch{background:var(--ink);color:white;border:1px solid #ffffff66;border-radius:4px}dialog{border-radius:10px}.chat-head h2{font-size:28px}.enquiry-form{display:grid;gap:12px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;font:inherit;color:var(--ink);background:white;border:1px solid #8b9b90;border-radius:3px;padding:13px;min-height:48px}.enquiry-form textarea{resize:vertical}.enquiry-form label{font-weight:600}.enquiry-form .button{justify-self:start}.enquiry-form p{font-size:14px}.message{overflow-wrap:anywhere}@media(max-width:850px){.story>div{padding:50px 24px}}@media(max-width:700px){.section{padding-top:64px;padding-bottom:64px}.cards{grid-template-columns:1fr}.card{border-right:0;min-height:250px}.story img{min-height:0;height:380px}.story{padding:0}.page-hero{padding-top:45px}.reading h2{font-size:29px}.event-strip{font-size:12px}.brand small{font-size:9px}.chat-launch{padding:10px 14px}.header nav a{min-height:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}
@media(max-width:360px){.header .brand{font-size:16px;gap:6px}.header .brand small{font-size:7px;letter-spacing:0}.header .brand img{width:34px;height:34px}.header .menu-button{padding:9px 10px}.header{gap:8px}}


/* Hero reference revision: full-width photograph with the original dark-green
   gradient. The image is fully opaque; shade is applied only by this layer. */
.heritage-hero {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; align-items: center;
  min-height: 680px; height: min(840px, 85svh);
  background: #061812; color: #fff;
}
.heritage-backdrop {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: center 35%; opacity: 1;
}
.heritage-shade {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(6,24,18,.94) 0%,
      rgba(6,24,18,.64) 54%,
      rgba(6,24,18,.18) 100%),
    linear-gradient(0deg, rgba(5,20,15,.50) 0%, transparent 60%);
}
.heritage-content {
  position: relative; z-index: 2; min-width: 0;
  margin: 40px clamp(24px, 8vw, 125px); max-width: 880px;
}
.heritage-content h1 {
  color: #fff; font-size: clamp(58px, 7.8vw, 112px);
  line-height: .98; letter-spacing: -.05em; margin-bottom: 30px;
}
.heritage-content h1 em { color: var(--gold); font-weight: 400; }
.heritage-content > .eyebrow {
  color: var(--gold); font-size: 12px; letter-spacing: .22em;
}
.heritage-content > p:not(.eyebrow) {
  max-width: 600px; color: #eee; font-size: 19px; line-height: 1.65;
}
.heritage-content .actions {
  justify-content: flex-start; gap: 28px; margin-top: 32px;
}
.hero-link {
  font-weight: 600; text-decoration: none; color: #fff;
  min-height: 48px; display: inline-flex; align-items: center;
}
.hero-link:hover { text-decoration: underline; }
.heritage-hero :focus-visible { outline-color: #fff; }
.heritage-hero aside {
  position: absolute; z-index: 2; right: max(5vw, 200px); bottom: 34px;
  display: flex; flex-direction: column; text-align: right;
  font-size: 13px; color: #fff;
}
.heritage-hero aside span { color: #d4ded6; }
.intro-links { display: flex; flex-wrap: wrap; gap: 18px 30px; }
.intro-links a { display: inline-flex; align-items: center; min-height: 44px; }

/* A solid navigation panel on tablets and phones, including without JavaScript. */
@media (max-width: 1040px) {
  .header { min-height: 76px; flex-wrap: wrap; gap: 12px; background: #fbfaf6; }
  .menu-button { display: block; font-size: 14px; min-height: 44px; }
  .header nav { width: 100%; display: flex; flex-direction: column;
    align-items: stretch; gap: 0; padding: 10px 0; background: #fbfaf6; }
  .header nav a { padding: 13px 16px; font-size: 15px; min-height: 48px; }
  .header.js nav:not(.open) { display: none; }
  .nav-contact { margin-top: 6px; }
  .header .brand { font-size: 20px; }
}
/* Keep the photograph behind the text on tablets and phones too.
   The mobile fade protects text contrast without a separate pale panel. */
@media (max-width: 850px) {
  .heritage-hero { min-height: 640px; }
  .heritage-content { margin: 32px 24px; }
  .heritage-content h1 { font-size: clamp(52px, 9vw, 78px); }
  .heritage-hero aside { display: none; }
}
@media (max-width: 700px) {
  .heritage-hero { height: auto; min-height: 640px; }
  .heritage-content { margin: 40px 24px; }
  .heritage-content h1 { font-size: clamp(40px, 11vw, 72px); }
  .heritage-content > .eyebrow { font-size: 10px; letter-spacing: .18em; }
  .heritage-content > p:not(.eyebrow) { font-size: 17px; }
  .heritage-content .actions {
    align-items: flex-start; flex-direction: column; gap: 14px;
  }
  .heritage-shade {
    background: linear-gradient(90deg, rgba(6,24,18,.91), rgba(6,24,18,.56));
  }
}

/* Leadership directory: no fabricated names, portraits or biographies. */
.team-hero { max-width: 1180px; text-align: left; padding-top: 62px; }
.team-hero h1 { max-width: 790px; }
.team-hero .lead { max-width: 700px; margin-left: 0; }
.team-jump { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; }
.team-jump a { display: inline-flex; align-items: center; min-height: 48px;
  padding: 10px 18px; border: 1px solid #b7c5bb; border-radius: 3px;
  font-size: 15px; font-weight: 600; text-decoration: none; background: #fff; }
.team-jump a:hover { background: #edf2ed; border-color: var(--ink); }
.team-notice { border-left: 3px solid #ba913f; background: var(--soft);
  padding: 14px 18px; margin: 26px 0 0; max-width: 760px;
  color: #4b5e51; font-size: 14px; }
.team-section { max-width: 1180px; padding-top: 35px; padding-bottom: 50px;
  scroll-margin-top: 110px; }
.team-section + .team-section { border-top: 1px solid #d9ddd7; }
.team-section-heading { display: flex; justify-content: space-between;
  gap: 24px; align-items: end; margin-bottom: 26px; }
.team-section-heading .eyebrow { margin-bottom: 10px; font-size: 11px; }
.team-section-heading h2 { margin-bottom: 10px; font-size: clamp(34px,4vw,48px); }
.team-section-heading p { margin-bottom: 0; color: #4c6356; }
.team-section-heading > a { white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; }
.team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.team-card { min-width: 0; background: #fff; border: 1px solid #d9ddd7; border-radius: 4px; overflow: hidden; }
.team-portrait { position: relative; aspect-ratio: 4 / 4.2; background: #edf0e9;
  display: grid; place-items: center; }
.team-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.portrait-placeholder { display: flex; flex-direction: column; align-items: center; gap: 14px;
  color: #556956; font-size: 13px; text-align: center; padding: 20px; }
.portrait-placeholder svg { width: 38px; height: 38px; opacity: .65; }
.team-card-body { padding: 23px 20px 24px; border-top: 1px solid #d9ddd7; }
.team-card h3 { font-size: 26px; margin-bottom: 10px; letter-spacing: -.03em; }
.team-person-name { color: #526356; font-size: 14px; margin-bottom: 0; overflow-wrap: anywhere; }
.team-person-name.confirmed { font-size: 17px; font-weight: 600; color: var(--ink); }
.youth-motto { padding: 20px 24px; background: var(--soft); border-left: 3px solid #ba913f;
  margin: 25px 0 30px; color: var(--ink); }
.youth-motto .eyebrow { margin: 0 0 9px; font-size: 11px; }
.youth-motto p:last-child { font-family: Georgia,'Times New Roman',serif;
  font-style: italic; font-size: clamp(23px,3.1vw,34px); line-height: 1.35; margin: 0; }
.page-hero > .youth-motto { max-width: 760px; margin: 28px auto 0; }
.team-contact { margin-top: 18px; }
@media (max-width: 1000px) { .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-portrait { aspect-ratio: 4 / 3.4; } }
@media (max-width: 600px) {
  .team-hero { padding-top: 40px; }
  .team-section-heading { display: block; }
  .team-section-heading > a { margin-top: 8px; }
  .team-grid { gap: 12px; }
  .team-card-body { padding: 18px 12px; }
  .team-card h3 { font-size: 21px; }
  .team-person-name { font-size: 13px; }
  .portrait-placeholder { font-size: 12px; padding: 10px; gap: 10px; }
  .team-portrait { aspect-ratio: 4 / 4.2; }
  .team-jump { gap: 8px; }
  .team-jump a { font-size: 14px; padding: 10px 12px; }
}
@media (max-width: 359px) { .team-grid { grid-template-columns: 1fr; }
  .team-portrait { aspect-ratio: 4 / 3; } }

/* One general donation action, enabled only by confirmed server configuration. */
.donation-hero { padding-bottom: 24px; }
.donation-wrap { max-width: 840px; padding-top: 15px !important; }
.donation-card { text-align: center; background: #fff; border: 1px solid #d9ddd7;
  border-top: 3px solid #ba913f; padding: 42px clamp(22px,5vw,56px); border-radius: 4px; }
.donation-card h2 { font-size: 37px; margin-bottom: 18px; }
.donation-card .button { margin: 12px 0 20px; min-width: 220px; }
.button[aria-disabled="true"] { color: #3d5145; background: #e5e7df; border: 1px solid #bdc6b9;
  cursor: not-allowed; transform: none; }
#donation-status { max-width: 540px; margin: 0 auto; color: #526356; font-size: 15px; }
.donation-detail { font-size: 15px; margin: 22px 0 0; color: #526356; }
.donation-detail a { overflow-wrap: anywhere; }
.donation-questions { border-top: 1px solid #d9ddd7; padding-top: 24px; margin-top: 28px; }
.donation-questions h2 { font-size: 28px; margin-bottom: 13px; }
@media (max-width: 560px) { .donation-card { padding-top: 30px; padding-bottom: 30px; }
  .donation-card h2 { font-size: 29px; } }
