*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{
  --navy:#003366;
  --charcoal:#545454;   /* dark gray swap */
  --ink:#111;
  --muted:#6b7280;
  --bg:#f7f7f7;
  --card:#ffffff;
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);}
.container{width:min(1100px,92vw);margin:0 auto;}
.site-header{background:var(--charcoal);color:#fff;position:sticky;top:0;z-index:10}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700}
.brand-initials{background:var(--navy);color:#fff;border-radius:999px;padding:.35rem .55rem;letter-spacing:.5px}
.brand-name{font-weight:800}
.brand-tag{opacity:.9;font-weight:600;margin-left:.25rem}
.site-header nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.site-header nav a{color:#fff;text-decoration:none;opacity:.95}
.site-header nav a:hover{opacity:1;text-decoration:underline}
.menu{display:none;background:transparent;border:0;color:#fff;font-size:1.4rem}
.btn{display:inline-block;border-radius:999px;padding:.7rem 1.05rem;font-weight:700;text-decoration:none;border:2px solid transparent;transition:.2s}
.btn.primary{background:var(--navy);color:#fff}
.btn.primary:hover{filter:brightness(.95)}
.btn.outline{border-color:#fff;color:#fff}
.btn.donate{background:#fff;color:var(--charcoal);}
.hero{background:linear-gradient(180deg,var(--charcoal) 0%, #6a6a6a 70%, #777 100%);color:#fff;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:56px 0 28px}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 .25rem}
.hero .sub{font-size:1.125rem;color:#e8e8e8;max-width:46ch}
.cta-row{display:flex;gap:.75rem;margin:1rem 0 1rem}
.quick-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:1rem 0 0;padding:0;list-style:"✓ ";}
.quick-points li{margin-left:1rem}
.hero-img{width:100%;height:auto;max-height:560px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.35));}
.hero-photo{display:flex;align-items:flex-end;justify-content:center}
.ribbon{position:absolute;bottom:0;left:0;right:0;background:var(--navy);color:#fff;text-align:center;padding:.5rem;font-weight:800;letter-spacing:.3px}
.section{padding:56px 0}
.section.alt{background:var(--card)}
h2{font-size:1.8rem;margin:.2rem 0 1rem;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.06);border:1px solid #ececec}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:start}
.quote{background:var(--charcoal);color:#fff;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.quote .sig{opacity:.85}
.ticks{list-style:"✓ ";padding-left:1.2rem}
.form{display:grid;gap:.6rem;max-width:520px}
.form label{display:grid;gap:.3rem;font-weight:600}
.form input,.form select, .form textarea{padding:.7rem;border-radius:10px;border:1px solid #d7d7d7}
.small{color:var(--muted);font-size:.9rem}
.mini-card{background:#fff;border-radius:16px;padding:1rem;border:1px solid #ececec;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.site-footer{background:#333;color:#f3f3f3}
.site-footer .container{padding:18px 0;text-align:center}
.faq{display:grid;gap:.6rem;margin-top:1rem}
.faq details{background:#fff;border:1px solid #ececec;border-radius:12px;padding:.6rem 1rem;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.faq summary{cursor:pointer;font-weight:700;outline:none}
.faq p{margin:.5rem 0 0}
.faq-mini .mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.faq-mini details{background:#fff;border:1px solid #ececec;border-radius:12px;padding:.6rem 1rem;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.faq-mini summary{cursor:pointer;font-weight:700}
.checks{display:grid;gap:.4rem;margin:.5rem 0 1rem}
.checks label{display:flex;gap:.5rem;align-items:center;font-weight:600}
@media (max-width: 900px){
  .hero-grid,.two-col{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .site-header nav{display:none}
  .menu{display:inline-block}
}
@media (max-width: 600px){
  .cards{grid-template-columns:1fr}
}
