/* ============================================================
   VIBRANT HEALTH ADVOCATES – INDIGO
   Warm & Human Community Design System
   Brand: #7B2D8B / #F0D9F5  Terracotta: #C4622D  Cream: #FAF4EC
   ============================================================ */

:root {
  --cream:           #FAF4EC;
  --cream-warm:      #F5EDE0;
  --cream-deep:      #EDE0CE;
  --terracotta:      #C4622D;
  --terracotta-lt:   #E8976A;
  --terracotta-pale: #F5D5C0;
  --brand:           #7B2D8B;
  --brand-light:     #F0D9F5;
  --brand-mid:       #B57AC2;
  --ink:             #2A1505;
  --ink-soft:        #5C3D1E;
  --ink-muted:       #8B6240;
  --white-warm:      #FFFDF9;
  --r-photo:  24px;
  --r-card:   20px;
  --r-btn:    50px;
  --shadow-s: 0 4px 24px rgba(42,21,5,.10);
  --shadow-m: 0 8px 32px rgba(42,21,5,.14);
  --shadow-l: 6px 8px 30px rgba(42,21,5,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

body {
  font-family: 'Trebuchet MS', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--cream);
  color: var(--ink);
  line-height: 1.75;
  font-size: 1.0625rem;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

/* ── CONTAINER ───────────────────────────────────────────── */
.container{max-width:1180px;margin:0 auto;padding:0 1.5rem}

/* ── TYPE ────────────────────────────────────────────────── */
h1,h2,h3,h4{font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.5rem)}
h3{font-size:clamp(1.15rem,2.5vw,1.6rem)}
h4{font-size:1.15rem}

.eyebrow {
  display:block;
  font-size:.8125rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--terracotta);margin-bottom:.5rem;
}
.lead{font-size:1.15rem;line-height:1.85;color:var(--ink-soft)}
p{margin-bottom:1.25rem}
p:last-child{margin-bottom:0}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display:inline-block;padding:.85rem 2rem;border-radius:var(--r-btn);
  font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none;
  border:none;transition:transform .2s,box-shadow .2s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15);text-decoration:none}
.btn-primary{background:var(--terracotta);color:#fff}
.btn-brand  {background:var(--brand);color:#fff}
.btn-white  {background:#fff;color:var(--terracotta);font-weight:700}
.btn-white:hover{background:var(--cream)}
.btn-outline{background:transparent;border:2px solid var(--brand);color:var(--brand)}
.btn-outline:hover{background:var(--brand);color:#fff}

/* ── HEADER / NAV ────────────────────────────────────────── */
.site-header {
  position:sticky;top:0;z-index:100;
  background:var(--white-warm);
  border-bottom:2px solid var(--cream-deep);
  box-shadow:0 2px 12px rgba(42,21,5,.06);
}
.site-header .container {
  display:flex;align-items:center;justify-content:space-between;
  padding-top:.75rem;padding-bottom:.75rem;
}
.brand-lockup{display:flex;align-items:center;gap:.625rem;text-decoration:none}
.brand-logo   {height:46px;width:auto}
.brand-wordmark{height:34px;width:auto}

.main-nav{display:flex;align-items:center;position:relative}
.nav-links{display:flex;list-style:none;gap:.2rem}
.nav-links a {
  font-weight:700;color:var(--ink);font-size:.9375rem;
  padding:.4rem .8rem;border-radius:50px;
  transition:background .2s,color .2s;text-decoration:none;
}
.nav-links a:hover,.nav-links a.active{background:var(--brand-light);color:var(--brand)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);padding:.25rem}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer{background:var(--brand);color:var(--brand-light);padding:4rem 0 2rem;margin-top:5rem}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand-col .brand-lockup{margin-bottom:1.25rem}
.footer-logo    {height:42px;width:auto;filter:brightness(0) invert(1)}
.footer-wordmark{height:28px;width:auto;filter:brightness(0) invert(1)}
.footer-tagline {font-size:.9375rem;color:var(--brand-light);line-height:1.7;margin-bottom:1.25rem}
.footer-emails  {list-style:none}
.footer-emails li{margin-bottom:.4rem}
.footer-emails a{color:#D4A8E0;font-size:.85rem;word-break:break-all}
.footer-emails a:hover{color:#fff;text-decoration:underline}
.footer-nav-col h4,.footer-contact-col h4{color:#fff;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}
.footer-nav-list{list-style:none}
.footer-nav-list li{margin-bottom:.5rem}
.footer-nav-list a{color:var(--brand-light);font-size:.9375rem;text-decoration:none}
.footer-nav-list a:hover{color:#fff;text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
.footer-legal{font-size:.8125rem;color:rgba(240,217,245,.7);margin:0}

/* ── SQUIGGLE DIVIDERS ───────────────────────────────────── */
.squiggle-wrap{text-align:center;padding:.75rem 0;overflow:hidden;line-height:0}
.squiggle-wrap svg{max-width:900px;width:100%;display:inline-block}

/* ── HERO (homepage) ─────────────────────────────────────── */
.hero {
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-start;
  padding-top:5rem;
  padding-bottom:210px;
}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;background-repeat:no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(42,21,5,.54) 0%,rgba(42,21,5,.35) 55%,rgba(42,21,5,.58) 100%)}
.hero-content{position:relative;z-index:2;max-width:680px}
.hero-eyebrow{display:inline-block;background:var(--terracotta);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:50px;margin-bottom:1.25rem}
.hero-content h1{color:#fff;margin-bottom:1.25rem;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero-content .hero-sub{color:rgba(255,255,255,.9);font-size:1.125rem;line-height:1.8;margin-bottom:2rem;max-width:560px}

/* overlap card */
.hero-overlap-section{position:relative;z-index:10;margin-top:-160px}
.overlap-card{background:var(--white-warm);border-radius:var(--r-card);padding:2.5rem 3rem;box-shadow:var(--shadow-m);max-width:820px;margin:0 auto;border-top:5px solid var(--terracotta)}
.overlap-card .intro-text{font-size:1.125rem;line-height:1.85;color:var(--ink-soft);margin:0}

/* ── PAGE HERO (inner pages) ─────────────────────────────── */
.page-hero{position:relative;min-height:360px;display:flex;align-items:center;padding:5rem 0 4rem;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(42,21,5,.65) 0%,rgba(123,45,139,.45) 100%)}
.page-hero-content{position:relative;z-index:2}
.page-hero-content .eyebrow{color:var(--terracotta-lt);display:block;margin-bottom:.75rem}
.page-hero-content h1{color:#fff;margin-bottom:1rem}
.page-hero-content .lead{color:rgba(255,255,255,.88);max-width:580px}

.page-header{background:var(--cream-warm);padding:5rem 0 4rem;border-bottom:2px solid var(--cream-deep)}
.page-header h1{margin-bottom:1rem}

/* ── SECTIONS ────────────────────────────────────────────── */
.section{padding:5rem 0}
.section-cream{background:var(--cream)}
.section-warm {background:var(--cream-warm)}
.section-white{background:var(--white-warm)}
.section-title{text-align:center;margin-bottom:3.5rem}
.section-title h2{margin-bottom:1rem}
.section-title p{max-width:580px;margin:0 auto;color:var(--ink-soft)}

/* ── HIGHLIGHTS / FEATURE CARDS ─────────────────────────── */
.highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}
.highlight-card{background:var(--white-warm);border-radius:var(--r-card);padding:2rem;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s}
.highlight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-m)}
.highlight-card:nth-child(2){margin-top:2.5rem}
.highlight-card.dotted{border:3px dotted var(--terracotta-lt)}
.highlight-icon{font-size:2.25rem;margin-bottom:1rem;display:block}
.highlight-card h3{margin-bottom:.75rem}
.highlight-card p{color:var(--ink-soft);line-height:1.7;margin:0}

/* ── IMPACT / STAMP BADGES ───────────────────────────────── */
.impact-section{background:linear-gradient(135deg,var(--brand) 0%,#5C1E6E 100%);padding:5rem 0;text-align:center}
.impact-section h2{color:#fff;margin-bottom:.75rem}
.impact-section .section-lead{color:rgba(240,217,245,.85);margin-bottom:3rem}
.impact-grid{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}
.stamp-badge{width:170px;height:170px;border-radius:50%;border:3px dashed rgba(240,217,245,.6);background:rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.25rem;position:relative}
.stamp-badge::before{content:'';position:absolute;inset:-8px;border-radius:50%;border:2px dotted rgba(240,217,245,.3)}
.stamp-number{font-size:2.25rem;font-weight:800;color:#fff;line-height:1.1;display:block}
.stamp-label {font-size:.8125rem;color:var(--brand-light);line-height:1.4;display:block;margin-top:.3rem}

/* ── POLAROID PHOTO CARDS ────────────────────────────────── */
.polaroid-wrap{padding:1rem 1.5rem}
.polaroid{background:var(--white-warm);padding:13px 13px 48px;border-radius:3px;box-shadow:var(--shadow-l);display:block;position:relative;transition:transform .3s ease}
.polaroid img{border-radius:4px;width:100%;height:280px;object-fit:cover}
.polaroid .polaroid-caption{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:.8rem;color:var(--ink-muted);font-style:italic}
.polaroid-1{transform:rotate(-3deg)}
.polaroid-2{transform:rotate(2.5deg)}
.polaroid-3{transform:rotate(-1.5deg)}
.polaroid:hover{transform:rotate(0deg) scale(1.02) !important;z-index:5}

/* ── PHOTO ROUNDED ───────────────────────────────────────── */
.photo-rounded{border-radius:var(--r-photo);overflow:hidden;box-shadow:var(--shadow-l)}
.photo-rounded img{width:100%;height:100%;object-fit:cover;display:block}

/* ── SPLIT / 2-COL ───────────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split-rev{grid-template-columns:1fr 1fr}
.split-text h2{margin-bottom:1.25rem}
.split-text p{color:var(--ink-soft);margin-bottom:1rem}

/* ── PROGRAMME CARDS ─────────────────────────────────────── */
.programmes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.programme-card{background:var(--white-warm);border-radius:var(--r-card);padding:2rem;box-shadow:var(--shadow-s);border-left:5px solid var(--terracotta);transition:transform .2s,box-shadow .2s}
.programme-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-m)}
.programme-card:nth-child(2){border-left-color:var(--brand)}
.programme-card:nth-child(3){border-left-color:var(--brand-mid)}
.programme-card:nth-child(4){border-left-color:var(--terracotta-lt)}
.programme-icon{font-size:2.5rem;margin-bottom:1rem;display:block}
.programme-card h3{margin-bottom:.625rem}
.programme-card .blurb{font-weight:700;color:var(--ink);margin-bottom:.75rem;font-size:.9375rem}
.programme-card .detail{color:var(--ink-soft);font-size:.9375rem;line-height:1.75}

/* ── MISSION BOX ─────────────────────────────────────────── */
.mission-box{background:linear-gradient(135deg,var(--brand-light) 0%,var(--terracotta-pale) 100%);border-radius:var(--r-card);padding:3rem;border-left:6px solid var(--brand);position:relative;overflow:hidden}
.mission-box::before{content:'\201C';position:absolute;top:-20px;left:24px;font-size:8rem;color:var(--brand);opacity:.12;font-family:Georgia,serif;line-height:1}
.mission-box p{font-size:1.1rem;line-height:1.85;color:var(--ink);font-weight:500;font-style:italic;position:relative}

/* ── SCIO STAMP (decorative) ─────────────────────────────── */
.scio-stamp{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:128px;height:128px;border-radius:50%;border:3px dashed var(--brand);background:var(--brand-light);padding:1rem;text-align:center;transform:rotate(10deg)}
.scio-stamp .stamp-emoji{font-size:1.6rem}
.scio-stamp .stamp-text{font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);line-height:1.35;margin-top:.2rem}
.stamp-float{position:absolute;top:-24px;right:32px}

/* ── TRUSTEES ────────────────────────────────────────────── */
.trustees-grid{display:flex;gap:2rem;flex-wrap:wrap}
.trustee-card{flex:1 1 200px;background:var(--white-warm);border-radius:var(--r-card);padding:1.75rem;text-align:center;box-shadow:var(--shadow-s);border-top:4px solid var(--brand-mid)}
.trustee-avatar{width:68px;height:68px;border-radius:50%;background:var(--brand-light);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:var(--brand);border:3px dotted var(--brand-mid)}
.trustee-card h4{margin-bottom:.25rem}
.trustee-role{font-size:.875rem;color:var(--terracotta);font-weight:700}

/* ── WAYS / GET INVOLVED CARDS ───────────────────────────── */
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}
.way-card{background:var(--white-warm);border-radius:var(--r-card);padding:2.25rem;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s;border-bottom:4px solid var(--terracotta)}
.way-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.way-card:nth-child(2){margin-top:2rem;border-bottom-color:var(--brand)}
.way-card:nth-child(3){border-bottom-color:var(--terracotta-lt)}
.way-icon{font-size:2.5rem;margin-bottom:1rem;display:block}
.way-card h3{margin-bottom:.75rem}
.way-card p{color:var(--ink-soft);line-height:1.7;margin:0}

/* ── CTA BANNER ──────────────────────────────────────────── */
.cta-banner{background:var(--terracotta);padding:5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;top:-60%;left:-10%;width:40%;height:220%;background:rgba(255,255,255,.05);transform:rotate(-15deg);border-radius:50%}
.cta-banner h2{color:#fff;margin-bottom:1rem}
.cta-banner p{color:rgba(255,255,255,.88);font-size:1.1rem;max-width:520px;margin:0 auto 2rem}

/* ── BLOG CARDS ──────────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}
.blog-card{background:var(--white-warm);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.blog-card:nth-child(2){margin-top:2.5rem}
.blog-card-img{height:220px;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.blog-card:hover .blog-card-img img{transform:scale(1.04)}
.blog-card-body{padding:1.5rem}
.blog-card-body .eyebrow{margin-bottom:.5rem}
.blog-card-body h3{font-size:1.05rem;margin-bottom:.75rem;line-height:1.35}
.blog-card-body .dek{font-size:.9375rem;color:var(--ink-soft);line-height:1.6;margin-bottom:1.25rem}
.read-more{font-weight:700;color:var(--brand);font-size:.9375rem;text-decoration:none}
.read-more:hover{color:var(--terracotta);text-decoration:underline}

/* ── ARTICLE PAGE ────────────────────────────────────────── */
.article-hero{height:420px;overflow:hidden;border-radius:0 0 var(--r-photo) var(--r-photo)}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-wrap{max-width:740px;margin:0 auto;padding:3rem 1.5rem 5rem}
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--brand);font-size:.9375rem;margin-bottom:2.5rem;text-decoration:none}
.back-link:hover{color:var(--terracotta)}
.article-wrap h1{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:1rem;line-height:1.2}
.article-dek{font-size:1.15rem;color:var(--ink-soft);font-style:italic;border-left:4px solid var(--terracotta);padding-left:1.25rem;margin-bottom:2.5rem;line-height:1.65}
.article-content p{margin-bottom:1.6rem;color:var(--ink-soft);font-size:1.0625rem;line-height:1.85}
.article-content p:first-child{font-size:1.1rem;color:var(--ink)}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-split{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.contact-form{background:var(--white-warm);border-radius:var(--r-card);padding:2.5rem;box-shadow:var(--shadow-m)}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-weight:700;font-size:.9375rem;color:var(--ink);margin-bottom:.4rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid var(--cream-deep);border-radius:12px;font-size:1rem;font-family:inherit;background:var(--cream);color:var(--ink);transition:border-color .2s;outline:none}
.form-group input:focus,.form-group textarea:focus{border-color:var(--brand);background:var(--white-warm)}
.form-group textarea{min-height:160px;resize:vertical}
.contact-email{display:block;background:var(--brand-light);border-radius:12px;padding:1rem 1.25rem;margin-bottom:.75rem;color:var(--brand);font-weight:700;font-size:.875rem;word-break:break-all;text-decoration:none;border:2px dotted var(--brand-mid);transition:background .2s}
.contact-email:hover{background:var(--brand);color:#fff;text-decoration:none}
.emergency-box{background:var(--terracotta-pale);border-radius:var(--r-card);padding:1.5rem;border-left:4px solid var(--terracotta);margin-top:2rem}
.emergency-box h4{margin-bottom:.5rem;color:var(--terracotta)}
.emergency-box p{font-size:.9375rem;color:var(--ink-soft);margin:0}

/* ── STORY / WHAT WE DO ──────────────────────────────────── */
.prose p{color:var(--ink-soft);margin-bottom:1.5rem;line-height:1.85}
.prose p:first-child{color:var(--ink)}

/* ── DOTTED ACCENT ───────────────────────────────────────── */
.dotted-line{border:none;border-top:3px dotted var(--terracotta-lt);margin:3rem auto;max-width:200px}

/* ── UTILS ───────────────────────────────────────────────── */
.text-center{text-align:center}
.mt-6{margin-top:3rem}
.mb-4{margin-bottom:2rem}
.text-brand{color:var(--brand)}
.text-terra{color:var(--terracotta)}

/* ── DOT-GRID BACKGROUND ─────────────────────────────────── */
.bg-dots{background-image:radial-gradient(circle,var(--cream-deep) 1px,transparent 1px);background-size:22px 22px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:960px){
  .highlights-grid{grid-template-columns:1fr 1fr}
  .highlight-card:nth-child(2){margin-top:0}
  .highlights-grid .highlight-card:nth-child(3){margin-top:2rem}
  .ways-grid{grid-template-columns:1fr 1fr}
  .way-card:nth-child(2){margin-top:0}
  .blog-grid{grid-template-columns:1fr 1fr}
  .blog-card:nth-child(2){margin-top:0}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-brand-col{grid-column:1/-1}
  .impact-grid{gap:1.5rem}
}

@media(max-width:700px){
  .hero{min-height:580px;padding-bottom:3rem}
  .hero-overlap-section{margin-top:0}
  .overlap-card{padding:1.75rem;border-radius:0}
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:-1.5rem;right:-1.5rem;background:var(--white-warm);flex-direction:column;padding:1rem 1.5rem;border-top:2px solid var(--cream-deep);gap:.2rem;box-shadow:0 4px 20px rgba(0,0,0,.1)}
  .nav-links.open{display:flex}
  .split{grid-template-columns:1fr;gap:2.5rem}
  .programmes-grid{grid-template-columns:1fr}
  .ways-grid{grid-template-columns:1fr}
  .way-card:nth-child(2){margin-top:0}
  .blog-grid{grid-template-columns:1fr}
  .contact-split{grid-template-columns:1fr}
  .trustees-grid{flex-direction:column}
  .article-hero{height:260px}
  .page-hero{min-height:260px}
  .stamp-float{position:static;transform:none;margin:2rem auto;display:flex;justify-content:center}
  .footer-inner{grid-template-columns:1fr}
  .footer-brand-col{grid-column:auto}
  .footer-bottom{flex-direction:column;text-align:center}
}

@media(max-width:480px){
  .highlights-grid{grid-template-columns:1fr}
  .highlight-card:nth-child(3){margin-top:0}
  .impact-grid{flex-direction:column;align-items:center}
  .blog-grid{grid-template-columns:1fr}
}
