:root{
  --navy:#0A2342; --navy2:#102A4C; --red:#B22234; --red-d:#8E1B2A;
  --cream:#FBF8F2; --sand:#F1EAD9; --ink:#14202E; --muted:#5A6B7B;
  --gold:#DBAE4C; --line:#DCD4C3;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Georgia',serif;color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden}
.hero .grid>div,.about>div,.split>div,.panels>div{min-width:0}
h1,h2,h3,.display{font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;letter-spacing:-.01em}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
a{color:inherit}

/* Header */
header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:'Arial Black',sans-serif;font-size:20px;letter-spacing:.02em;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand .star{color:var(--gold)}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center}
.nav a{color:#E8EEF6;text-decoration:none;font-family:Arial,sans-serif;font-size:15px;font-weight:600}
.nav a:hover{color:#fff}
.btn{display:inline-block;background:var(--red);color:#fff;font-family:'Arial Black',sans-serif;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:12px 22px;border-radius:6px;text-decoration:none;border:none;cursor:pointer;transition:.15s}
.btn:hover{background:var(--red-d);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:2px solid #fff}
.btn.navy{background:var(--navy)}
.btn.navy:hover{background:var(--navy2)}

/* Stars-and-stripes accent bar */
.stripe{height:6px;background:linear-gradient(90deg,var(--red) 0 33.3%,#fff 33.3% 66.6%,var(--navy) 66.6% 100%)}

/* Hero */
.hero{background:linear-gradient(rgba(10,35,66,.72),rgba(10,35,66,.82)),var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:64px 0}
.eyebrow{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--gold)}
.hero h1{font-size:56px;line-height:1.02;margin:12px 0 8px}
.hero .tag{font-size:21px;color:#ffffff;font-weight:700;font-family:'Georgia',serif;font-style:italic;margin-bottom:26px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.portrait{aspect-ratio:4/5;border-radius:12px;background:var(--sand) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"/>') center/cover;border:5px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:Arial,sans-serif;font-weight:700;text-align:center;padding:20px}

/* Sections */
section{padding:70px 0}
.section-alt{background:#fff}
.kicker{font-family:Arial,sans-serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:var(--red)}
h2{font-size:38px;color:var(--navy);margin:8px 0 22px}
.lead{font-size:19px;color:var(--muted);max-width:720px;margin-bottom:24px}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.about .photo{aspect-ratio:1/1;border-radius:12px;background:var(--sand);border:4px solid #fff;box-shadow:0 12px 28px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:Arial,sans-serif;font-weight:700;text-align:center;padding:16px}
.ph{color:#9A7B3A;background:#FBF3DE;border:1px dashed var(--gold);border-radius:4px;padding:1px 6px;font-family:Arial,sans-serif;font-size:.92em}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--cream);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:10px;padding:26px}
.card h3{font-size:20px;color:var(--navy);margin-bottom:8px;font-family:Arial,sans-serif}
.card p{color:var(--muted);font-size:16px}

/* Get involved / forms */
.involve{background:var(--navy);color:#fff}
.involve h2{color:#fff}
.involve .lead{color:#C6D2E0}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:14px}
.panel{background:#fff;color:var(--ink);border-radius:12px;padding:28px}
.panel h3{color:var(--navy);font-family:Arial,sans-serif;font-size:22px;margin-bottom:14px}
.field{display:block;margin-bottom:12px}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:7px;font-family:Arial,sans-serif;font-size:15px;background:#fff}
.field textarea{min-height:96px;resize:vertical}
.row{display:flex;gap:12px}.row .field{flex:1}
.note{font-size:13px;color:var(--muted);font-family:Arial,sans-serif}

/* Donate / contact */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.donate{background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;border-radius:14px;padding:36px;text-align:center}
.donate h3{font-size:28px;margin-bottom:10px}
.donate p{margin-bottom:20px;font-size:17px}
.amt{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.amt a{background:rgba(255,255,255,.16);border:2px solid #fff;color:#fff;padding:12px 20px;border-radius:8px;text-decoration:none;font-family:'Arial Black',sans-serif}
.amt a:hover{background:#fff;color:var(--red)}

/* Footer */
footer{background:var(--navy2);color:#B9C6D6;padding:40px 0;font-family:Arial,sans-serif;font-size:14px}
footer .disc{max-width:760px;margin-top:14px;color:#8FA1B5;font-size:13px;line-height:1.5}
footer a{color:#fff;text-decoration:none}

/* Popup */
.modal-bg{position:fixed;inset:0;background:rgba(10,35,66,.6);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-bg.show{display:flex}
.modal{background:#fff;max-width:460px;width:100%;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.modal .top{background:var(--navy);color:#fff;padding:26px 28px 20px}
.modal .top h3{font-size:24px}
.modal .body{padding:24px 28px 28px}
.modal .x{position:absolute;top:14px;right:18px;color:#fff;font-size:26px;cursor:pointer;line-height:1;background:none;border:none}
.ok{color:#1B7A3D;font-family:Arial,sans-serif;font-weight:700}
.err{color:var(--red);font-family:Arial,sans-serif;font-size:14px;min-height:18px}

@media(max-width:860px){
  .nav{height:60px}
  .nav ul{display:none}
  .wrap{padding:0 20px}
  /* stack every 2-col grid, including inline-styled ones */
  .hero .grid,.about,.panels,.split,.cards,.badges{grid-template-columns:1fr !important}
  .cards[style]{grid-template-columns:1fr !important}
  /* hero: centered + stacked */
  .hero .grid{text-align:center;padding:46px 0;gap:26px}
  .eyebrow{justify-content:center;font-size:11px;letter-spacing:.12em}
  .hero h1{font-size:30px;line-height:1.08;overflow-wrap:break-word}
  .hero .tag{font-size:16px}
  .hero .cta{justify-content:center}
  .hero .portrait{max-width:300px;margin:0 auto;aspect-ratio:4/5}
  /* headings + spacing */
  h2{font-size:25px}
  .lead{font-size:16px}
  section{padding:46px 0}
  .kicker{}
  /* quote + blockquote scale */
  blockquote{font-size:18px !important}
  .quote{font-size:17px !important;margin-left:.2in;margin-right:.2in}
  /* forms full width */
  .row{flex-direction:column;gap:0}
}
@media(max-width:480px){
  .hero h1{font-size:28px}
  .brand{font-size:16px}
  h2{font-size:22px}
  .donate{padding:26px 20px}
  .amt a{padding:10px 14px}
}

/* Decorated credential formatting */
.creds{list-style:none;margin:8px 0 0;padding:0}
.creds li{font-size:13.5px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line);line-height:1.4;font-family:Arial,sans-serif}
.creds li:last-child{border-bottom:none}
.creds b{color:var(--navy)}
.tagsm{display:inline-block;background:#FBF3DE;color:#9A7B3A;font-family:Arial;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:1px 8px;border-radius:20px;vertical-align:middle}
.credcard{border-top:5px solid var(--gold)!important}
.anchor{color:var(--gold);font-size:26px;line-height:1}
.badges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.badge{background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--muted);line-height:1.35;font-family:Arial,sans-serif}
.badge b{color:var(--navy)}
@media(max-width:860px){.badges{grid-template-columns:1fr}}

/* keep hero text legible over the lighter photo */
.hero h1,.hero .eyebrow{text-shadow:0 3px 18px rgba(6,16,34,.75),0 1px 3px rgba(6,16,34,.6)}
.hero .tag{text-shadow:0 2px 10px rgba(6,16,34,.85),0 0 2px rgba(6,16,34,.5)}

/* Lightbox gallery */
.lb{position:fixed;inset:0;background:rgba(6,16,32,.93);display:none;align-items:center;justify-content:center;z-index:200}
.lb.show{display:flex}
.lb-img{max-width:95vw;max-height:93vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lb-x{position:absolute;top:18px;right:26px;background:none;border:none;color:#fff;font-size:40px;line-height:1;cursor:pointer;opacity:.85}
.lb-x:hover{opacity:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.5);color:#fff;width:56px;height:56px;border-radius:50%;font-size:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-nav:hover{background:var(--gold);border-color:var(--gold)}
.lb-prev{left:26px}.lb-next{right:26px}
.lb-count{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#D9E2EE;font-family:Arial,sans-serif;font-size:14px;letter-spacing:.05em}
@media(max-width:860px){.lb-nav{width:44px;height:44px;font-size:24px}.lb-prev{left:10px}.lb-next{right:10px}}

/* Mobile hamburger menu */
.hamburger{display:none;background:none;border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:4px 6px}
@media(max-width:860px){
  .hamburger{display:block}
  .nav{position:relative}
  .nav ul#navmenu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:6px 0 14px;box-shadow:0 12px 26px rgba(0,0,0,.32);border-top:1px solid rgba(255,255,255,.12)}
  .nav ul#navmenu.open{display:flex}
  .nav ul#navmenu li{width:100%;text-align:center}
  .nav ul#navmenu li a{display:block;padding:14px 20px;font-size:16px}
  .nav ul#navmenu li a.btn{margin:8px auto 4px;display:inline-block;padding:12px 30px}
}
