/* ===========================================================
   Women of Southeast — Shared Stylesheet
   Used by: index.html, sponsor.html, heritage-night.html, news.html
   =========================================================== */
:root{
  --ivory:#F7F2E7;
  --ivory-deep:#EFE7D6;
  --ink:#1B1812;
  --ink-soft:#4A4437;
  --navy:#1C2541;
  --gold:#B4863B;
  --gold-bright:#D4A94E;
  --line: rgba(27,24,18,0.14);
  --white:#FFFDF8;
  --max: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:'Playfair Display', serif;
  margin:0;
  color:var(--ink);
  letter-spacing:0.01em;
}
.script{
  font-family:'Petit Formal Script', cursive;
  color:var(--gold);
  font-weight:400;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'Jost', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.28em;
  font-size:12px;
  color:var(--gold);
  font-weight:600;
}

/* ---------- Ring motif (signature element) ---------- */
.rings{ display:inline-flex; object-fit:contain; flex-shrink:0;}
.rings circle{ fill:none; stroke:var(--gold); stroke-width:2.4; }

/* ---------- Nav ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(247,242,231,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--max); margin:0 auto; padding:14px 32px;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
}
.brand{ display:flex; align-items:center; gap:12px; font-family:'Playfair Display', serif; font-weight:600; font-size:19px;}
.brand .rings{ width:34px; height:34px;}
.navlinks{ display:flex; gap:28px; list-style:none; margin:0; padding:0;}
.navlinks a{
  font-size:13px; letter-spacing:0.1em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft); position:relative; padding-bottom:4px;
  transition:color .25s ease;
  white-space:nowrap;
}
.navlinks a::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.navlinks a:hover, .navlinks a.active{ color:var(--ink);}
.navlinks a:hover::after, .navlinks a.active::after{ transform:scaleX(1);}
.navcta{
  border:1px solid var(--ink); padding:9px 20px; font-size:12px;
  letter-spacing:0.14em; text-transform:uppercase; font-weight:600;
  transition:background .25s ease, color .25s ease;
  white-space:nowrap;
}
.navcta:hover{ background:var(--ink); color:var(--ivory);}
.navtoggle{ display:none; }

/* ---------- Hero ---------- */
.hero{ position:relative; min-height:92vh; display:flex; align-items:flex-end; }
.hero-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:center 22%;
}
.hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,17,10,0.15) 0%, rgba(20,17,10,0.35) 55%, rgba(15,13,8,0.86) 100%);
}
.hero-content{
  position:relative; z-index:2; color:var(--white); width:100%;
  padding:0 32px 76px; max-width:var(--max); margin:0 auto;
}
.hero-eyebrow{
  color:var(--gold-bright); text-transform:uppercase; letter-spacing:0.3em;
  font-size:12px; font-weight:600; margin-bottom:18px; display:block;
}
.hero h1{
  color:var(--white); font-size:clamp(40px, 7vw, 84px); line-height:1.04; font-weight:600;
}
.hero h1 em{ font-style:italic; color:var(--gold-bright); font-weight:500;}
.hero-quote{
  font-family:'Playfair Display', serif; font-style:italic; font-size:clamp(18px,2.4vw,24px);
  color:rgba(255,253,248,0.92); margin-top:22px; max-width:560px; line-height:1.5;
}
.hero-actions{ display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
.btn{
  display:inline-block; padding:15px 30px; font-size:12.5px; letter-spacing:0.14em;
  text-transform:uppercase; font-weight:600; border-radius:2px; transition:all .25s ease;
  border:1px solid transparent; cursor:pointer; font-family:'Jost', sans-serif;
}
.btn-gold{ background:var(--gold); color:var(--white); border:1px solid var(--gold);}
.btn-gold:hover{ background:var(--gold-bright); border-color:var(--gold-bright);}
.btn-ghost{ border:1px solid rgba(255,253,248,0.55); color:var(--white);}
.btn-ghost:hover{ background:rgba(255,253,248,0.12); border-color:var(--white);}
.btn-dark{ background:var(--ink); color:var(--ivory); border:1px solid var(--ink);}
.btn-dark:hover{ background:var(--ink-soft); border-color:var(--ink-soft);}
.btn-outline-dark{ border:1px solid var(--ink); color:var(--ink);}
.btn-outline-dark:hover{ background:var(--ink); color:var(--ivory);}

/* ---------- Section basics ---------- */
section{ padding:110px 0; }
.section-head{ max-width:640px; margin-bottom:56px;}
.section-head.center{ max-width:720px; margin-left:auto; margin-right:auto; text-align:center;}
.section-head .eyebrow{ margin-bottom:14px; display:block;}
.section-head h2{ font-size:clamp(30px,4vw,44px); line-height:1.15;}
.section-head p{ color:var(--ink-soft); font-size:16px; line-height:1.8; margin-top:18px;}
.divider{ display:flex; align-items:center; gap:16px; margin:26px 0 0;}
.divider.center{ justify-content:center;}
.divider .line{ height:1px; width:64px; background:var(--gold);}

/* ---------- Page header (interior pages) ---------- */
.page-hero{
  position:relative; padding:180px 0 90px; background:var(--navy); color:var(--white);
  overflow:hidden;
}
.page-hero-bg{ position:absolute; inset:0; opacity:0.18; }
.page-hero-bg img{ width:100%; height:100%; object-fit:cover; }
.page-hero .wrap{ position:relative; z-index:2;}
.page-hero .eyebrow{ color:var(--gold-bright);}
.page-hero h1{ color:var(--white); font-size:clamp(34px,5.4vw,58px); line-height:1.1; margin-top:14px;}
.page-hero p.lede{ color:rgba(247,242,231,0.8); font-size:17px; line-height:1.8; max-width:640px; margin-top:20px;}
.breadcrumb{ font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:rgba(247,242,231,0.6);}
.breadcrumb a{ color:var(--gold-bright);}
.breadcrumb a:hover{ text-decoration:underline;}

/* ---------- About ---------- */
#about{ background:var(--ivory);}
.about-lede{
  font-family:'Playfair Display', serif; font-style:italic; font-size:clamp(20px,2.6vw,28px);
  line-height:1.55; color:var(--ink); max-width:820px; margin-bottom:28px;
}
.about-body{ max-width:720px; color:var(--ink-soft); font-size:16.5px; line-height:1.85;}
.about-body p{ margin:0 0 18px;}
.about-subhead{ font-size:22px; color:var(--ink); margin:44px 0 16px; padding-top:32px; border-top:1px solid var(--line);}
.about-body h3.about-subhead:first-of-type{ padding-top:0; border-top:none; margin-top:8px;}
.dash-list{ list-style:none; margin:8px 0 24px; padding:0;}
.dash-list li{ padding:5px 0; color:var(--ink-soft);}
.dash-list li::before{ content:'—'; color:var(--gold); margin-right:10px;}
.about-tagline{
  font-family:'Playfair Display', serif; font-style:italic; font-size:22px;
  color:var(--gold); margin:40px 0 0; letter-spacing:0.02em;
}

.officers{
  margin-top:64px; display:grid; grid-template-columns:repeat(4, 1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.officer{
  background:var(--ivory); padding:34px 26px; min-height:230px;
  display:flex; flex-direction:column; justify-content:flex-start; gap:0;
  transition:background .3s ease;
}
.officer:hover{ background:var(--white);}
.officer-photo{
  width:64px; height:64px; border-radius:50%; overflow:hidden;
  border:1px solid var(--line); flex-shrink:0; background:var(--white);
}
.officer-photo img{ width:100%; height:100%; object-fit:cover; }
.officer h3{ font-size:19px; margin-top:20px; font-weight:600;}
.officer .role{ color:var(--ink-soft); font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; margin-top:6px;}

/* ---------- Gallery ---------- */
#gallery{ background:var(--ivory-deep);}
.gallery-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:24px;}
.gallery-grid figure{ margin:0; overflow:hidden; position:relative; background:var(--ink);}
.gallery-grid img{ width:100%; height:100%; object-fit:contain; transition:transform .6s ease;}
.gallery-grid figure:hover img{ transform:scale(1.02);}
.g-tall{ height:640px;}
.g-stack{ display:flex; flex-direction:column; gap:24px;}
.g-short{ height:308px; background:var(--white); display:flex; align-items:center; justify-content:center; border:1px solid var(--line); overflow:hidden;}
.g-short img{ width:100%; height:100%; object-fit:cover;}
.g-short .placeholder{ text-align:center; color:var(--ink-soft); padding:24px;}
.g-short .placeholder .rings{ width:40px; height:40px; margin-bottom:14px;}
.g-short .placeholder p{ font-size:12.5px; letter-spacing:0.06em; line-height:1.6; margin:0;}
figcaption{ position:absolute; left:0; right:0; bottom:0; padding:22px 24px; color:var(--white);
  background:linear-gradient(0deg, rgba(15,13,8,0.75), transparent);
  font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase;}

/* ---------- Lightbox ---------- */
.lb-trigger{ cursor:zoom-in; }
.lightbox-overlay{
  position:fixed; inset:0; z-index:500; background:rgba(15,13,8,0.95);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .25s ease;
  padding:70px 90px;
}
.lightbox-overlay.active{ opacity:1; visibility:visible; }
.lightbox-img-wrap{ max-width:1200px; width:100%; display:flex; flex-direction:column; align-items:center; }
.lightbox-img-wrap img{ max-width:100%; max-height:78vh; width:auto; object-fit:contain; }
.lightbox-caption{ color:rgba(247,242,231,0.8); font-size:13px; letter-spacing:0.04em; margin-top:20px; text-align:center; max-width:700px;}
.lightbox-counter{ color:rgba(247,242,231,0.5); font-size:11px; letter-spacing:0.12em; margin-top:8px; text-transform:uppercase;}
.lightbox-close{
  position:absolute; top:26px; right:32px; width:44px; height:44px;
  border:1px solid rgba(247,242,231,0.3); background:transparent; color:var(--ivory);
  font-size:24px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease; font-family:'Jost',sans-serif;
}
.lightbox-close:hover{ background:rgba(247,242,231,0.1); border-color:var(--gold-bright);}
.lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:52px; height:52px; border:1px solid rgba(247,242,231,0.3); background:transparent;
  color:var(--ivory); font-size:26px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease; font-family:'Jost',sans-serif;
}
.lightbox-arrow:hover{ background:rgba(247,242,231,0.1); border-color:var(--gold-bright);}
.lightbox-prev{ left:28px;}
.lightbox-next{ right:28px;}
@media (max-width:700px){
  .lightbox-overlay{ padding:60px 16px;}
  .lightbox-arrow{ width:42px; height:42px; font-size:20px;}
  .lightbox-prev{ left:6px;}
  .lightbox-next{ right:6px;}
  .lightbox-close{ top:14px; right:14px;}
}

/* ---------- Events ---------- */
#events{ background:var(--ivory);}
.events-list{ display:flex; flex-direction:column; border-top:1px solid var(--line);}
.event-row{
  display:grid; grid-template-columns:120px 1fr auto; gap:28px; align-items:center;
  padding:30px 0; border-bottom:1px solid var(--line);
}
.event-date{ font-family:'Playfair Display', serif;}
.event-date .day{ font-size:26px; font-weight:600; line-height:1.15;}
.event-date .month{ font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-top:6px;}
.event-title{ font-size:19px; font-weight:600; font-family:'Playfair Display', serif;}
.event-sub{ color:var(--ink-soft); font-size:14px; margin-top:6px;}
.event-link{ font-size:12px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600; color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:3px; white-space:nowrap;}
.events-note{ margin-top:34px; color:var(--ink-soft); font-size:14px; font-style:italic; font-family:'Playfair Display', serif;}

/* ---------- Sponsorship (teaser + full tiers, shared) ---------- */
#sponsorship{ background:var(--navy); color:var(--ivory);}
.sponsorship-page{ background:var(--navy); color:var(--ivory);}
#sponsorship h2, #sponsorship .eyebrow, .sponsorship-page h2, .sponsorship-page h3, .sponsorship-page .eyebrow{ color:var(--white);}
#sponsorship .eyebrow, .sponsorship-page .eyebrow{ color:var(--gold-bright);}
#sponsorship .section-head p, .sponsorship-page .section-head p{ color:rgba(247,242,231,0.78); font-size:16px; line-height:1.8; margin-top:18px;}
.tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(247,242,231,0.16); margin-top:16px;}
.tiers.tiers-5{ grid-template-columns:repeat(5,1fr); }
.tier{ background:var(--navy); padding:38px 30px; display:flex; flex-direction:column;}
.tier .eyebrow{ color:var(--gold-bright);}
.tier h3{ color:var(--white); font-size:24px; margin-top:14px;}
.tier ul{ margin:20px 0 0; padding:0; list-style:none; color:rgba(247,242,231,0.75); font-size:14px; line-height:1.9; flex-grow:1;}
.tier li::before{ content:'—'; color:var(--gold); margin-right:8px;}
.tier.tier-featured{ background:rgba(212,169,78,0.1); border-top:2px solid var(--gold-bright);}
.sponsor-cta{ margin-top:48px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.sponsor-cta p{ color:rgba(247,242,231,0.7); font-size:14px; margin:0;}

/* Sponsor page — payment + event picker */
.sponsor-panel{
  background:rgba(247,242,231,0.05); border:1px solid rgba(247,242,231,0.16);
  padding:44px; margin-top:20px;
}
.sponsor-panel h3{ font-size:22px; margin-bottom:8px;}
.sponsor-panel p.note{ color:rgba(247,242,231,0.65); font-size:14px; line-height:1.7; margin:0 0 26px;}
.pay-methods{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin-bottom:34px;}
.pay-method{
  border:1px solid rgba(247,242,231,0.2); padding:22px; text-align:center;
  transition:border-color .25s ease, background .25s ease;
}
.pay-method:hover{ border-color:var(--gold-bright); background:rgba(212,169,78,0.06);}
.pay-method .pm-name{ font-family:'Playfair Display', serif; font-size:17px; color:var(--white); margin-bottom:8px;}
.pay-method .pm-status{ font-size:12px; color:rgba(247,242,231,0.55); letter-spacing:0.04em; line-height:1.6;}
.event-picker{ margin-top:10px;}
.event-picker label{ display:block; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:10px;}
.event-picker select{
  width:100%; padding:14px 16px; background:var(--ink); color:var(--ivory);
  border:1px solid rgba(247,242,231,0.25); font-family:'Jost',sans-serif; font-size:14px;
  appearance:none; -webkit-appearance:none;
}
.gen-donation{
  margin-top:40px; padding-top:36px; border-top:1px solid rgba(247,242,231,0.16);
}
.gen-donation h3{ font-size:20px; margin-bottom:10px;}
.gen-donation p{ color:rgba(247,242,231,0.7); font-size:14.5px; line-height:1.8; max-width:560px;}

/* ---------- Media (homepage teaser) ---------- */
#media{ background:var(--ivory-deep);}
.media-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.media-links{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line);}
.media-links a{ display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); font-family:'Playfair Display', serif; font-size:19px;}
.media-links a span.arrow{ font-family:'Jost'; color:var(--gold); font-size:14px; transition:transform .25s ease;}
.media-links a:hover span.arrow{ transform:translateX(6px);}
.media-kit{ background:var(--white); border:1px solid var(--line); padding:40px;}
.media-kit h3{ font-size:20px; margin-bottom:14px;}
.media-kit p{ color:var(--ink-soft); font-size:14.5px; line-height:1.8; margin-bottom:24px;}
.logo-card{ background:var(--ivory); border:1px solid var(--line); padding:26px; display:flex; align-items:center; gap:20px; margin-bottom:24px; flex-wrap:wrap;}
.logo-card img{ width:64px; height:64px; object-fit:contain; background:var(--white); border-radius:50%; padding:6px;}
.logo-card .logo-full-img{ width:100%; max-width:220px; height:auto; object-fit:contain; background:none; border-radius:0; padding:0;}
.logo-card span{ font-size:13px; color:var(--ink-soft);}

/* ---------- News & Media page ---------- */
.news-page{ background:var(--ivory);}
.news-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:16px;}
.news-card{ background:var(--ivory); padding:34px 0; display:grid; grid-template-columns:140px 1fr auto; gap:28px; align-items:center;}
.news-card .n-date{ font-family:'Playfair Display', serif; color:var(--gold); font-size:13px; letter-spacing:0.06em;}
.news-card .n-kicker{ font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px; font-weight:600;}
.news-card h3{ font-size:20px; line-height:1.35;}
.news-card p{ color:var(--ink-soft); font-size:14.5px; line-height:1.7; margin-top:10px; max-width:640px;}
.news-card .n-link{ font-size:12px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600; color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:3px; white-space:nowrap;}
.milestones{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:16px;}
.milestone{ background:var(--white); padding:36px 30px;}
.milestone .m-num{ font-family:'Playfair Display', serif; font-size:38px; color:var(--gold); font-weight:600;}
.milestone .m-label{ margin-top:10px; font-size:14px; color:var(--ink-soft); line-height:1.6;}
.press-cta{ margin-top:56px; background:var(--navy); padding:48px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.press-cta h3{ color:var(--white); font-size:22px;}
.press-cta p{ color:rgba(247,242,231,0.7); font-size:14px; margin-top:8px;}

/* ---------- Heritage Night page ---------- */
.heritage-page{ background:var(--ivory);}
.heritage-hero{ background:var(--ink); }
.heritage-hero .page-hero-bg{ opacity:0.4; }
.heritage-stat-row{ display:flex; gap:48px; margin-top:34px; flex-wrap:wrap;}
.heritage-stat{ }
.heritage-stat .h-num{ font-family:'Playfair Display', serif; color:var(--gold-bright); font-size:34px; font-weight:600;}
.heritage-stat .h-label{ font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(247,242,231,0.65); margin-top:6px;}
.timeline{ margin-top:20px; border-left:2px solid var(--line); padding-left:0;}
.t-item{ position:relative; padding:0 0 44px 36px; border-left:2px solid var(--gold); margin-left:2px;}
.t-item:last-child{ padding-bottom:0;}
.t-item::before{ content:''; position:absolute; left:-8px; top:2px; width:14px; height:14px; border-radius:50%; background:var(--gold); border:3px solid var(--ivory);}
.t-item .t-year{ font-family:'Playfair Display', serif; color:var(--gold); font-size:14px; letter-spacing:0.06em; margin-bottom:6px; font-weight:600;}
.t-item h3{ font-size:19px;}
.t-item p{ color:var(--ink-soft); font-size:15px; line-height:1.75; margin-top:8px; max-width:600px;}
.heritage-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:16px;}
.heritage-gallery figure{ margin:0; overflow:hidden; background:var(--ink); position:relative; height:280px;}
.heritage-gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.heritage-gallery figure:hover img{ transform:scale(1.04);}
.heritage-gallery .g-placeholder{ height:280px; background:var(--white); border:1px dashed var(--line); display:flex; align-items:center; justify-content:center; text-align:center; color:var(--ink-soft); font-size:12.5px; letter-spacing:0.06em; padding:20px;}
.video-note{ background:var(--white); border:1px solid var(--line); padding:34px; margin-top:16px; display:flex; gap:20px; align-items:flex-start;}
.video-note p{ color:var(--ink-soft); font-size:14.5px; line-height:1.8; margin:0;}
.recap-body{ max-width:760px; color:var(--ink-soft); font-size:16.5px; line-height:1.9;}
.recap-body p{ margin:0 0 20px;}
.recap-body blockquote{ font-family:'Playfair Display', serif; font-style:italic; font-size:20px; color:var(--ink); border-left:3px solid var(--gold); padding-left:24px; margin:32px 0;}
.partner-strip{ display:flex; flex-wrap:wrap; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:16px;}
.partner-chip{ background:var(--white); padding:20px 26px; font-size:14px; color:var(--ink-soft); flex:1 1 220px;}
.partner-chip strong{ color:var(--ink); display:block; margin-bottom:4px; font-family:'Playfair Display', serif; font-size:16px;}

/* ---------- Tickets ---------- */
#tickets{ background:var(--ink); color:var(--ivory); text-align:center;}
#tickets .wrap{ display:flex; flex-direction:column; align-items:center;}
#tickets .rings{ width:56px; height:56px; margin-bottom:26px;}
#tickets .eyebrow{ color:var(--gold-bright);}
#tickets h2{ color:var(--white); max-width:640px;}
#tickets p.sub{ color:rgba(247,242,231,0.7); max-width:520px; margin:20px auto 40px; font-size:16px; line-height:1.8;}

/* ---------- Contact strip (reused on interior pages) ---------- */
.contact-strip{ background:var(--ivory-deep); padding:70px 0;}
.contact-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:16px;}
.contact-item{ background:var(--ivory); padding:28px 26px;}
.contact-item .c-label{ font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:10px; font-weight:600;}
.contact-item a{ font-family:'Playfair Display', serif; font-size:16px; color:var(--ink); word-break:break-word;}
.contact-item a:hover{ color:var(--gold);}

/* ---------- Footer ---------- */
footer{ background:var(--ink); border-top:1px solid rgba(247,242,231,0.14); padding:60px 0 34px;}
.foot-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; color:var(--ivory);}
.foot-brand{ display:flex; align-items:center; gap:14px; font-family:'Playfair Display', serif; font-size:20px; font-weight:600;}
.foot-brand .rings{ width:34px; height:34px;}
.foot-brand .rings circle{ stroke:var(--gold-bright);}
.foot-links{ display:flex; gap:50px; flex-wrap:wrap;}
.foot-col h4{ font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:16px; font-weight:600; font-family:'Jost';}
.foot-col a, .foot-col p{ display:block; color:rgba(247,242,231,0.75); font-size:14px; margin-bottom:10px;}
.foot-bottom{ margin-top:54px; padding-top:24px; border-top:1px solid rgba(247,242,231,0.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:rgba(247,242,231,0.5); font-size:12.5px;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .navlinks{ display:none; }
  .officers{ grid-template-columns:repeat(2,1fr);}
  .gallery-grid{ grid-template-columns:1fr;}
  .g-tall{ height:340px;}
  .g-stack{ flex-direction:row;}
  .g-short{ height:220px;}
  .tiers{ grid-template-columns:1fr;}
  .tiers.tiers-5{ grid-template-columns:1fr;}
  .media-grid{ grid-template-columns:1fr; gap:40px;}
  .event-row{ grid-template-columns:80px 1fr; row-gap:10px;}
  .event-link{ grid-column:2;}
  .news-card{ grid-template-columns:1fr; gap:10px;}
  .milestones{ grid-template-columns:1fr;}
  .heritage-gallery{ grid-template-columns:1fr 1fr;}
  .press-cta{ flex-direction:column; align-items:flex-start;}
}
@media (max-width:600px){
  section{ padding:76px 0;}
  .wrap{ padding:0 22px;}
  .nav{ padding:14px 22px;}
  .officers{ grid-template-columns:1fr 1fr;}
  .foot-links{ gap:32px;}
  .heritage-gallery{ grid-template-columns:1fr;}
  .page-hero{ padding:150px 0 70px;}

  .hero{ min-height:auto; display:block; }
  .hero-img{
    position:static; width:100%; height:auto; aspect-ratio:1206/899;
    object-fit:contain; background:var(--ink);
  }
  .hero-scrim{ display:none; }
  .hero-content{
    position:static; padding:40px 22px 56px; background:var(--ink);
  }
}
