/* ============================================================
   VIBRANT HEALTH ADVOCATES – ANCHOR
   Warm & Human Community Design Archetype
   Palette: cream #FAF3E8 · terracotta #C85A30 · brand purple #7B2D8B
   ============================================================ */

:root {
  --cream:           #FAF3E8;
  --cream-mid:       #F2E5CE;
  --cream-dark:      #E4D0B4;
  --terracotta:      #C85A30;
  --terracotta-lt:   #E8856A;
  --terracotta-pale: #F5D5C8;
  --purple:          #7B2D8B;
  --purple-lt:       #F0D9F5;
  --purple-mid:      #C9A0D8;
  --brown:           #7A4B2A;
  --brown-lt:        #A67A55;
  --text-dark:       #2A1608;
  --text:            #3D2410;
  --text-muted:      #7A5840;
  --white:           #FFFDF8;
  --r-sm:  12px;
  --r:     20px;
  --r-lg:  28px;
  --r-xl:  40px;
  --sh-soft:   0 4px 20px rgba(60,30,10,.10);
  --sh-card:   0 8px 36px rgba(60,30,10,.15);
  --sh-lifted: 0 18px 52px rgba(60,30,10,.22);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
img { max-width:100%; height:auto; display:block; }
a   { color:var(--terracotta); text-decoration:none; }
a:hover { text-decoration:underline; }
ul  { list-style:none; }

/* ── BODY ── */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  background: var(--cream);
  color: var(--text);
  line-height: 1.78;
  font-size: 1.05rem;
}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4 { font-weight:800; line-height:1.22; color:var(--text-dark); letter-spacing:-.015em; }
h1 { font-size: clamp(2rem, 5.5vw, 3.75rem); }
h2 { font-size: clamp(1.6rem, 3.8vw, 2.7rem); }
h3 { font-size: clamp(1.1rem, 2.4vw, 1.55rem); }
h4 { font-size: 1.1rem; }
p  { margin-bottom: 1.15em; }
p:last-child { margin-bottom: 0; }

.label-tag {
  display:inline-block;
  font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--purple); background:var(--purple-lt);
  padding:.3em .95em; border-radius:99px; margin-bottom:.9rem;
}
.deco-line {
  display:block; width:72px; height:3px; border-radius:99px;
  background:var(--terracotta); margin:.6rem 0 1.5rem;
}

/* ── NAV ── */
.site-nav {
  background:var(--cream); border-bottom:2px solid var(--cream-dark);
  position:sticky; top:0; z-index:200; padding:.75rem 0;
}
.nav-inner {
  max-width:1180px; margin:0 auto; padding:0 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  position:relative;
}
.brand-lockup { display:flex; align-items:center; gap:.65rem; flex-shrink:0; }
.brand-lockup .brand-logo     { height:42px; width:auto; }
.brand-lockup .brand-wordmark { height:30px; width:auto; }

.nav-links { display:flex; gap:.15rem; align-items:center; flex-wrap:wrap; }
.nav-links a {
  color:var(--text); font-weight:600; font-size:.94rem;
  padding:.4em .8em; border-radius:99px; transition:background .2s,color .2s;
}
.nav-links a:hover { background:var(--terracotta-pale); color:var(--terracotta); text-decoration:none; }
.nav-links .nav-cta { background:var(--terracotta); color:var(--white) !important; padding:.4em 1.2em; }
.nav-links .nav-cta:hover { background:var(--brown); }

.nav-toggle {
  display:none; background:none; border:2px solid var(--cream-dark);
  border-radius:8px; padding:.4em .75em; font-size:1.2rem; cursor:pointer; color:var(--text);
}

/* ── HERO ── */
.hero {
  position:relative; min-height:78vh;
  display:flex; flex-direction:column; justify-content:flex-start;
  padding-bottom:110px; overflow:hidden;
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(15,8,3,.52) 0%, rgba(15,8,3,.18) 52%, rgba(15,8,3,.58) 100%);
}
.hero-content {
  position:relative; z-index:2;
  max-width:780px; margin:0 auto; padding:5.5rem 2rem 2rem;
  text-align:center;
}
.hero-content h1 {
  color:var(--white); text-shadow:0 3px 22px rgba(0,0,0,.45);
  margin-bottom:1rem;
}
.hero-content .hero-sub {
  color:rgba(255,255,255,.92); font-size:clamp(.98rem,2.1vw,1.22rem);
  max-width:600px; margin:0 auto 2.2rem;
  text-shadow:0 1px 8px rgba(0,0,0,.3);
}
.hero-btn {
  display:inline-block; background:var(--terracotta); color:var(--white);
  font-weight:700; font-size:1.05rem; padding:.88em 2.4em; border-radius:99px;
  box-shadow:0 5px 22px rgba(200,90,48,.45); transition:transform .2s,box-shadow .2s;
}
.hero-btn:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(200,90,48,.55); text-decoration:none; background:var(--brown); color:var(--white); }

/* Overlap card below hero */
.overlap-wrap {
  position:relative; z-index:10;
  max-width:920px; margin:-78px auto 0; padding:0 1.5rem;
}
.overlap-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:2rem 2.8rem; box-shadow:var(--sh-lifted);
  border:3px solid var(--cream-dark);
  display:flex; gap:2.5rem; align-items:center; flex-wrap:wrap; justify-content:center;
}
.stat-trio { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; }
.stat-item { text-align:center; min-width:90px; }
.stat-num {
  display:block; font-size:clamp(2rem,4.5vw,3rem); font-weight:800;
  color:var(--terracotta); line-height:1;
}
.stat-label {
  display:block; font-size:.83rem; color:var(--text-muted); font-weight:600; margin-top:.2rem;
}
.stat-divider { width:1px; background:var(--cream-dark); align-self:stretch; min-height:50px; }

/* ── SQUIGGLE DIVIDERS ── */
.squiggle-wrap { padding:.25rem 0; line-height:0; overflow:hidden; }
.squiggle-wrap svg { width:100%; display:block; }

/* ── SECTIONS ── */
.section { padding:4.5rem 1.5rem; }
.section-sm { padding:3rem 1.5rem; }
.container { max-width:1140px; margin:0 auto; }

.section-hd { text-align:center; margin-bottom:3rem; }
.section-hd h2 { margin-bottom:.75rem; }
.section-hd p { color:var(--text-muted); font-size:1.05rem; max-width:600px; margin:0 auto; }

/* ── HIGHLIGHTS / STAGGERED CARDS ── */
.highlights-bg { background:var(--cream); }

.highlights-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2rem; align-items:start;
}
.highlights-grid .hl-card:nth-child(2) { transform:translateY(32px); }

.hl-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:2.1rem 1.85rem; box-shadow:var(--sh-card);
  border:2.5px solid var(--cream-dark); position:relative;
  transition:transform .25s, box-shadow .25s;
}
.hl-card::before {
  content:''; position:absolute; inset:-7px;
  border-radius:calc(var(--r-lg) + 7px);
  border:2px dashed var(--terracotta-pale); pointer-events:none;
}
.hl-card:hover { transform:translateY(-5px); box-shadow:var(--sh-lifted); }
.highlights-grid .hl-card:nth-child(2):hover { transform:translateY(27px); }
.hl-card .card-icon { font-size:2.4rem; display:block; margin-bottom:1rem; }
.hl-card h3 { color:var(--terracotta); margin-bottom:.6rem; }
.hl-card p { color:var(--text-muted); font-size:.97rem; line-height:1.72; }

/* ── POLAROID ── */
.polaroid {
  background:var(--white); padding:12px 12px 44px 12px;
  box-shadow:var(--sh-card); display:inline-block; position:relative;
  border-radius:4px;
}
.polaroid img { border-radius:var(--r); width:100%; display:block; }
.polaroid-cap {
  position:absolute; bottom:10px; left:12px; right:12px;
  text-align:center; font-size:.78rem; color:var(--text-muted); font-style:italic;
}
.tilt-l  { transform:rotate(-2.8deg); }
.tilt-r  { transform:rotate(2.2deg); }
.tilt-sl { transform:rotate(-1.2deg); }
.tilt-r2 { transform:rotate(3deg); }

/* ── HOME INTRO SPLIT ── */
.intro-split {
  display:grid; grid-template-columns:1.25fr .75fr;
  gap:5rem; align-items:center; max-width:1140px; margin:0 auto;
}
.intro-text p { color:var(--text-muted); font-size:1.04rem; line-height:1.85; margin-bottom:1.2em; }
.intro-photo { position:relative; display:flex; align-items:center; justify-content:center; }
.intro-photo .polaroid { width:100%; }
.stamp-anchor {
  position:absolute; bottom:-18px; right:-18px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:138px; height:138px; border-radius:50%;
  background:var(--terracotta); color:var(--white);
  text-align:center; font-weight:800; font-size:.72rem; line-height:1.3;
  border:4px solid var(--white); outline:3px dashed rgba(255,255,255,.55); outline-offset:4px;
  box-shadow:var(--sh-card); transform:rotate(9deg);
  padding:1rem; letter-spacing:.06em; text-transform:uppercase; z-index:3;
}
.stamp-anchor strong { font-size:1.45rem; display:block; line-height:1; letter-spacing:-.02em; text-transform:none; margin-bottom:.2rem; }

/* ── CREAM BAND ── */
.cream-band { background:var(--cream-mid); border-top:2px solid var(--cream-dark); border-bottom:2px solid var(--cream-dark); }

/* ── PURPLE BAND ── */
.purple-band { background:var(--purple-lt); border-top:2px solid var(--purple-mid); border-bottom:2px solid var(--purple-mid); }

/* ── CTA SECTION ── */
.cta-section { text-align:center; padding:5.5rem 1.5rem; }
.cta-section h2 { color:var(--purple); margin-bottom:1rem; }
.cta-section p { color:var(--text-muted); max-width:520px; margin:0 auto 2.2rem; }

/* ── BUTTONS ── */
.btn { display:inline-block; border-radius:99px; font-weight:700; font-size:1.05rem; padding:.85em 2.4em; transition:transform .2s,box-shadow .2s; }
.btn:hover { transform:translateY(-2px); text-decoration:none; }
.btn-primary { background:var(--terracotta); color:var(--white); box-shadow:0 5px 22px rgba(200,90,48,.3); }
.btn-primary:hover { background:var(--brown); color:var(--white); box-shadow:0 10px 30px rgba(200,90,48,.45); }
.btn-secondary { background:var(--white); color:var(--purple); border:2.5px solid var(--purple); box-shadow:var(--sh-soft); }
.btn-secondary:hover { background:var(--purple); color:var(--white); }

/* ── PAGE BANNER ── */
.page-banner { position:relative; height:46vh; min-height:300px; overflow:hidden; }
.page-banner img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.page-banner::after { content:''; position:absolute; inset:0; background:rgba(18,8,3,.38); }
.page-banner-txt {
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:2rem 3rem; max-width:800px;
}
.page-banner-txt h1 { color:var(--white); text-shadow:0 3px 14px rgba(0,0,0,.42); margin-bottom:.6rem; }
.page-banner-txt p  { color:rgba(255,255,255,.88); font-size:1.1rem; text-shadow:0 1px 6px rgba(0,0,0,.3); max-width:520px; }

/* ── ABOUT / STORY SPLIT ── */
.about-split {
  display:grid; grid-template-columns:1fr 1fr;
  gap:4.5rem; align-items:center; max-width:1140px; margin:0 auto;
}
.about-split.rev { direction:rtl; }
.about-split.rev > * { direction:ltr; }
.split-text p { color:var(--text-muted); line-height:1.85; margin-bottom:1.2em; }

/* Story section */
.story-section { background:var(--purple-lt); padding:5rem 1.5rem; border-top:2px solid var(--purple-mid); border-bottom:2px solid var(--purple-mid); }
.story-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:4.5rem; align-items:center; max-width:1140px; margin:0 auto; }
.story-photo { position:relative; }
.story-photo .polaroid { width:100%; }
.story-text p { color:var(--text-muted); line-height:1.85; margin-bottom:1.2em; }

/* Mission box */
.mission-box {
  background:var(--terracotta); color:var(--white);
  border-radius:var(--r-lg); padding:3.2rem 3.8rem;
  max-width:840px; margin:4.5rem auto; box-shadow:var(--sh-lifted); position:relative; overflow:hidden;
}
.mission-box::before { content:''; position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.07); }
.mission-box::after  { content:''; position:absolute; bottom:-50px; left:-20px; width:130px; height:130px; border-radius:50%; background:rgba(255,255,255,.05); }
.mission-box .label-tag { background:rgba(255,255,255,.22); color:var(--white); margin-bottom:1.3rem; }
.mission-box h2 { color:var(--white); font-size:clamp(1.05rem,2.3vw,1.4rem); font-weight:700; line-height:1.65; }

/* Trustees */
.trustees-row { display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center; margin-top:2rem; }
.trustee-card {
  background:var(--white); border-radius:var(--r-lg); padding:1.6rem 2.2rem;
  box-shadow:var(--sh-soft); border:2px solid var(--cream-dark); text-align:center; min-width:180px;
}
.trustee-card h4 { color:var(--text-dark); margin-bottom:.25rem; }
.trustee-card p { color:var(--terracotta); font-weight:600; font-size:.9rem; }

/* ── PROGRAMMES ── */
.prog-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:2.2rem; max-width:1000px; margin:0 auto; align-items:start;
}
.prog-grid .prog-card:nth-child(2),
.prog-grid .prog-card:nth-child(4) { transform:translateY(24px); }
.prog-card {
  background:var(--white); border-radius:var(--r-lg);
  box-shadow:var(--sh-card); border:2.5px solid var(--cream-dark);
  overflow:hidden; transition:transform .25s,box-shadow .25s;
}
.prog-card:hover { box-shadow:var(--sh-lifted); }
.prog-card:nth-child(2):hover { transform:translateY(20px); }
.prog-card:nth-child(4):hover { transform:translateY(20px); }
.prog-card:nth-child(1):hover,
.prog-card:nth-child(3):hover { transform:translateY(-4px); }
.prog-hd { background:var(--cream-mid); padding:1.6rem 1.8rem 1rem; border-bottom:2px solid var(--cream-dark); }
.prog-icon { font-size:2.1rem; display:block; margin-bottom:.5rem; }
.prog-hd h3 { color:var(--terracotta); margin-bottom:.4rem; }
.prog-hd .blurb { color:var(--text-muted); font-size:.94rem; font-style:italic; line-height:1.55; }
.prog-body { padding:1.6rem 1.8rem; }
.prog-body p { color:var(--text-muted); font-size:.97rem; line-height:1.78; }

/* ── WHAT WE DO SECTION ── */
.wwd-section { padding:5.5rem 1.5rem; background:var(--cream-mid); }
.wwd-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:center; max-width:1140px; margin:0 auto; }
.wwd-text p { color:var(--text-muted); line-height:1.88; margin-bottom:1.2em; }
.wwd-stack { position:relative; height:460px; }
.wwd-stack .polaroid:first-child { position:absolute; left:8%; top:4%; width:72%; z-index:2; }
.wwd-stack .polaroid:last-child  { position:absolute; right:0; bottom:0; width:65%; z-index:1; }

/* ── BLOG CARDS ── */
.blog-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2rem; align-items:start;
}
.blog-grid .blog-card:nth-child(2) { transform:translateY(26px); }
.blog-card {
  background:var(--white); border-radius:var(--r-lg);
  box-shadow:var(--sh-card); border:2.5px solid var(--cream-dark); overflow:hidden;
  transition:transform .25s, box-shadow .25s;
}
.blog-card:hover { box-shadow:var(--sh-lifted); }
.blog-grid .blog-card:nth-child(2):hover { transform:translateY(22px); }
.blog-card-img { width:100%; height:210px; object-fit:cover; }
.blog-body { padding:1.6rem; }
.blog-tag { display:inline-block; background:var(--purple-lt); color:var(--purple); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:.25em .85em; border-radius:99px; margin-bottom:.75rem; }
.blog-body h3 { font-size:1.03rem; color:var(--text-dark); margin-bottom:.5rem; line-height:1.4; }
.blog-body .dek { color:var(--text-muted); font-size:.9rem; line-height:1.6; margin-bottom:1rem; }
.read-more { color:var(--terracotta); font-weight:700; font-size:.9rem; }
.read-more:hover { text-decoration:underline; }

/* ── GET INVOLVED WAYS ── */
.ways-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem; }
.ways-grid .way-card:nth-child(2) { transform:translateY(22px); background:var(--purple-lt); border-color:var(--purple-mid); }
.ways-grid .way-card:nth-child(2):hover { transform:translateY(18px); }
.way-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:2.6rem 2rem; box-shadow:var(--sh-card); border:2.5px solid var(--cream-dark);
  text-align:center; transition:transform .25s,box-shadow .25s;
}
.way-card:hover { box-shadow:var(--sh-lifted); }
.way-icon { font-size:2.6rem; display:block; margin-bottom:1.1rem; }
.way-card h3 { color:var(--terracotta); margin-bottom:.75rem; }
.way-card p { color:var(--text-muted); font-size:.97rem; line-height:1.75; }

/* ── CONTACT ── */
.contact-wrap { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:start; max-width:1100px; margin:0 auto; }
.contact-info h2 { margin-bottom:1rem; }
.contact-info p { color:var(--text-muted); line-height:1.8; margin-bottom:.8rem; }
.email-link { display:block; color:var(--purple); font-weight:600; word-break:break-all; font-size:.93rem; margin-bottom:.4rem; }
.email-link:hover { text-decoration:underline; }
.contact-card {
  background:var(--white); border-radius:var(--r-lg); padding:2.6rem;
  box-shadow:var(--sh-card); border:2.5px solid var(--cream-dark);
}
.form-group { margin-bottom:1.3rem; }
.form-group label { display:block; font-weight:700; font-size:.88rem; color:var(--text-dark); margin-bottom:.4rem; }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:.78em 1.1em; border:2.5px solid var(--cream-dark);
  border-radius:var(--r); background:var(--cream); font-family:inherit;
  font-size:1rem; color:var(--text); outline:none; transition:border-color .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--purple); background:var(--white); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-submit {
  width:100%; background:var(--terracotta); color:var(--white);
  border:none; padding:.95em; border-radius:99px; font-family:inherit;
  font-size:1.05rem; font-weight:700; cursor:pointer; transition:background .2s,transform .2s;
}
.form-submit:hover { background:var(--brown); transform:translateY(-1px); }

/* ── ARTICLE ── */
.art-header {
  background:var(--cream-mid); padding:4.5rem 1.5rem 3rem;
  border-bottom:2px solid var(--cream-dark);
}
.art-header-inner { max-width:760px; margin:0 auto; }
.art-header h1 { margin-bottom:.9rem; }
.art-dek { font-size:1.2rem; color:var(--text-muted); line-height:1.62; font-style:italic; }
.art-body { max-width:720px; margin:0 auto; padding:3.5rem 1.5rem; }
.art-body p { font-size:1.07rem; line-height:1.88; margin-bottom:1.55em; color:var(--text); }
.art-img { max-width:720px; margin:2.5rem auto; padding:0 1.5rem; }
.art-img img { width:100%; border-radius:var(--r-lg); box-shadow:var(--sh-card); }
.art-back { max-width:720px; margin:0 auto; padding:0 1.5rem 3rem; }
.art-back a { color:var(--terracotta); font-weight:700; }

/* ── FOOTER ── */
.site-footer { background:var(--text-dark); color:var(--cream-mid); padding:4rem 1.5rem 2rem; }
.footer-inner { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:auto 1fr 1fr; gap:3rem; align-items:start; }
.footer-brand { display:flex; flex-direction:column; gap:.75rem; align-items:flex-start; }
.footer-brand .ft-logo     { height:46px; width:auto; filter:brightness(0) invert(1); }
.footer-brand .ft-wordmark { height:26px; width:auto; filter:brightness(0) invert(1); }
.footer-brand small { color:rgba(242,232,208,.5); font-size:.8rem; max-width:180px; line-height:1.5; display:block; }
.footer-col h4 { color:var(--white); font-size:.88rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1.1rem; }
.footer-col p,
.footer-col a,
.footer-col li a { color:rgba(242,232,208,.72); font-size:.88rem; display:block; margin-bottom:.45rem; line-height:1.55; }
.footer-col a:hover,
.footer-col li a:hover { color:var(--terracotta-lt); text-decoration:none; }
.footer-bottom {
  max-width:1140px; margin:2.5rem auto 0; padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem;
  font-size:.8rem; color:rgba(242,232,208,.45);
}

/* ── PAGE HEADER (simple, no photo) ── */
.pg-header { background:var(--cream-mid); padding:4rem 1.5rem 3rem; text-align:center; border-bottom:2px solid var(--cream-dark); }
.pg-header h1 { margin-bottom:.75rem; }
.pg-header p { color:var(--text-muted); font-size:1.08rem; max-width:640px; margin:0 auto; }

/* ── TERRACOTTA BAND ── */
.terra-band { background:var(--terracotta); padding:3.5rem 1.5rem; text-align:center; }
.terra-band h2, .terra-band p { color:var(--white); }
.terra-band p { opacity:.9; max-width:520px; margin:.75rem auto 2rem; }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .highlights-grid         { grid-template-columns:1fr; }
  .highlights-grid .hl-card:nth-child(2) { transform:none; }
  .intro-split             { grid-template-columns:1fr; gap:3rem; }
  .about-split             { grid-template-columns:1fr; gap:3rem; }
  .about-split.rev         { direction:ltr; }
  .story-inner             { grid-template-columns:1fr; }
  .wwd-inner               { grid-template-columns:1fr; }
  .wwd-stack               { height:300px; }
  .prog-grid               { grid-template-columns:1fr; }
  .prog-grid .prog-card:nth-child(2),
  .prog-grid .prog-card:nth-child(4) { transform:none; }
  .blog-grid               { grid-template-columns:1fr 1fr; }
  .blog-grid .blog-card:nth-child(2) { transform:none; }
  .ways-grid               { grid-template-columns:1fr; }
  .ways-grid .way-card:nth-child(2) { transform:none; background:var(--purple-lt); border-color:var(--purple-mid); }
  .contact-wrap            { grid-template-columns:1fr; }
  .footer-inner            { grid-template-columns:1fr; gap:2rem; }
  .mission-box             { padding:2.5rem 2rem; }
  .overlap-card            { padding:1.75rem 2rem; }
}

@media (max-width:680px) {
  .nav-toggle  { display:block; }
  .nav-links   { display:none; }
  .nav-links.open {
    display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
    background:var(--cream); border-bottom:2px solid var(--cream-dark);
    padding:1rem 1.5rem; gap:.25rem; z-index:300; box-shadow:0 8px 24px rgba(0,0,0,.1);
  }
  .site-nav { position:relative; }
  .hero { min-height:82vh; padding-bottom:80px; }
  .hero-content { padding:3.5rem 1.25rem 2rem; }
  .overlap-wrap { margin-top:-55px; }
  .stat-trio { gap:1rem; }
  .stat-divider { display:none; }
  .blog-grid { grid-template-columns:1fr; }
  .page-banner-txt { padding:1.5rem; }
  .page-banner-txt h1 { font-size:clamp(1.6rem,6vw,2.4rem); }
  .wwd-stack { display:none; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .stamp-anchor { width:110px; height:110px; font-size:.66rem; bottom:-12px; right:-12px; }
  .stamp-anchor strong { font-size:1.2rem; }
}
