/* ===== Family Solutions — brand tokens (captured from live site) ===== */
:root{
  --green:#008065;       /* primary brand green (nav, banner, headings) */
  --green-dark:#026853;
  --teal:#45C2B1;        /* sage-teal accent (hero, donate pill) */
  --teal-soft:#7ad2c5;
  --gold:#A48959;        /* warm accent */
  --sand:#D5D0C3;        /* warm neutral */
  --ink:#1f2a28;         /* body text */
  --muted:#5a6664;
  --max:1200px;
  --radius:999px;
}

/* Cerco brand font (self-hosted from the current site). Falls back to a rounded sans. */
@font-face{font-family:Cerco;src:url("/assets/fonts/Cerco-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:Cerco;src:url("/assets/fonts/Cerco-Italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:Cerco;src:url("/assets/fonts/Cerco-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:Cerco;src:url("/assets/fonts/Cerco-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:Cerco,"Nunito","Segoe UI",system-ui,sans-serif;
  color:var(--ink);
  font-size:18px;
  line-height:1.6;
  background:#fff;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--green);}
h1,h2,h3,h4{font-family:Cerco,"Nunito",system-ui,sans-serif;color:var(--green);line-height:1.15;font-weight:700;}
h1{font-size:2.6rem;}
h2{font-size:2rem;}
h3{font-size:1.5rem;}
.container{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* Buttons */
.btn{display:inline-block;padding:.7em 1.6em;border-radius:var(--radius);font-weight:700;text-decoration:none;transition:.2s;}
.btn--donate{background:var(--teal);color:#fff;}
.btn--donate:hover{background:var(--green);}
.btn--primary{background:var(--green);color:#fff;}
.btn--primary:hover{background:var(--green-dark);}
.btn--outline{background:transparent;border:2px solid var(--green);color:var(--green);}
.btn--outline:hover{background:var(--green);color:#fff;}

/* ===== Crisis banner ===== */
.crisis-bar{background:var(--green);color:#fff;font-size:.82rem;}
.crisis-bar__inner{max-width:var(--max);margin:0 auto;padding:10px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between;}
.crisis-bar__msg{margin:0;max-width:760px;line-height:1.35;}
.crisis-bar a{color:#fff;text-decoration:underline;}
.crisis-bar__contact{margin:0;display:flex;gap:20px;white-space:nowrap;font-weight:700;}

/* ===== Header / nav ===== */
.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.05);}
.site-header__inner{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo img{height:56px;width:auto;}
.main-nav ul{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0;}
.main-nav a{color:var(--green);text-decoration:none;font-weight:500;font-size:1rem;}
.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--gold);}
.nav-donate .btn{color:#fff;}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--green);cursor:pointer;}

/* ===== Hero ===== */
.hero{background:linear-gradient(180deg,rgba(69,194,177,.5) 0%,rgba(69,194,177,.3) 43%,rgba(255,255,255,.6) 100%);}
.hero__inner{max-width:var(--max);margin:0 auto;padding:80px 24px;min-height:520px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.hero__video{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.18);}
.hero__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.hero__cta{margin-top:28px;}

/* ===== Generic section blocks ===== */
.section{padding:64px 0;}
.section--tint{background:rgba(213,208,195,.18);}
.lede{max-width:820px;margin:0 auto;text-align:center;}
.media-text{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:center;}
.media-text__img img.shape-circle{border-radius:50%;width:320px;height:320px;object-fit:cover;}
.media-text__img img.shape-rounded{border-radius:14px;width:100%;height:auto;}
.media-text__img img.shape-square{border-radius:0;width:100%;height:auto;}
.media-text__img img.shape-icon{width:170px;height:170px;margin:0 auto;}
.media-text--reverse{grid-template-columns:1fr 320px;}
.media-text--reverse .media-text__img{order:2;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;}
.card{text-align:center;}
.card img{margin:0 auto 14px;}
.card--circle img{width:200px;height:200px;border-radius:50%;object-fit:cover;}

/* ===== Accordion (FAQ) ===== */
.accordion details{background:#fff;border:1px solid rgba(0,128,101,.18);border-radius:10px;margin:0 0 14px;padding:0 20px;}
.accordion summary{cursor:pointer;font-weight:700;color:var(--green);padding:16px 0;list-style:none;}
.accordion summary::-webkit-details-marker{display:none;}
.accordion summary::after{content:"+";float:right;font-size:1.3rem;line-height:1;}
.accordion details[open] summary::after{content:"–";}
.accordion details p{margin:0 0 18px;}

/* ===== Contact form ===== */
.contact-form{display:flex;flex-direction:column;gap:18px;margin-top:28px;}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--green);}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;padding:12px 14px;border:1px solid var(--sand);border-radius:8px;color:var(--ink);font-weight:400;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.contact-form button{align-self:flex-start;border:0;cursor:pointer;}
@media(max-width:600px){.contact-form .form-row{grid-template-columns:1fr;}}

/* ===== Footer ===== */
.site-footer{background:var(--green);color:#fff;margin-top:60px;}
.site-footer__inner{max-width:var(--max);margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:40px;}
.site-footer h4{color:#fff;margin:0 0 14px;font-size:1.1rem;}
.site-footer a{color:#fff;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.site-footer__brand img{background:#fff;padding:10px 14px;border-radius:10px;}
.social{display:flex;gap:18px;margin-top:10px;}

/* ===== Responsive ===== */
@media(max-width:880px){
  .crisis-bar__inner{flex-direction:column;gap:6px;text-align:center;}
  .crisis-bar__contact{justify-content:center;}
  .nav-toggle{display:block;}
  .main-nav{display:none;width:100%;}
  .main-nav.open{display:block;}
  .site-header__inner{flex-wrap:wrap;}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 0;}
  .media-text,.media-text--reverse{grid-template-columns:1fr;text-align:center;}
  .media-text img{margin:0 auto;}
  .site-footer__inner{grid-template-columns:1fr;}
}
