
:root {
  --ink: #25343b;
  --ink-soft: #526269;
  --navy: #29485a;
  --blue: #4d7390;
  --blue-soft: #dce9ef;
  --sage: #8fa99b;
  --sage-soft: #e8f0eb;
  --peach: #98563c;
  --peach-soft: #f7e9e0;
  --gold: #d8b675;
  --ivory: #fbf8f2;
  --paper: #fffdf9;
  --line: #aab9b2;
  --control-border: #758a81;
  --focus-dark: #173f5f;
  --white: #ffffff;
  --success: #35694f;
  --shadow: 0 14px 40px rgba(42, 60, 68, .10);
  --shadow-sm: 0 7px 22px rgba(42, 60, 68, .08);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
.skip-link {
  position: fixed; top: 8px; left: 8px; transform: translateY(-150%);
  background: var(--navy); color: white; padding: 10px 14px; border-radius: 8px; z-index: 999;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--focus-dark);
}

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,253,249,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(83,108,114,.15);
}
.header-inner {
  max-width: var(--max); margin: 0 auto; min-height: 88px;
  display: flex; align-items: center; gap: 24px; padding: 12px 24px;
}
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; min-width: 290px; }
.brand img { width: 74px; height: 52px; object-fit: contain; }
.brand-copy strong {
  display:block; font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing:.02em;
}
.brand-copy span { display:block; font-size:12px; color:var(--ink-soft); letter-spacing:.11em; text-transform:uppercase; }
.desktop-nav { display:flex; gap:8px; margin-left:auto; }
.nav-link {
  border:0; background:transparent; padding:10px 12px; border-radius:999px; cursor:pointer;
  color:var(--ink-soft); font-weight:650;
}
.nav-link:hover, .nav-link.active { color:var(--navy); background:var(--blue-soft); }
.header-tools { display:flex; align-items:center; gap:10px; }
.lang-select {
  border:1px solid var(--line); border-radius:999px; background:var(--white); padding:9px 12px;
  color:var(--ink); cursor:pointer;
}
.icon-btn {
  width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line);
  border-radius:50%; background:var(--white); color:var(--navy); cursor:pointer;
}
.menu-btn { display:none; }

.view { display:none; }
.view.active { display:block; }
main { min-height: calc(100vh - 88px); }

.hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(217,160,131,.25), transparent 24%),
    radial-gradient(circle at 72% 80%, rgba(143,169,155,.22), transparent 28%),
    linear-gradient(135deg, #fffdfa 0%, #f4eee6 55%, #edf3f1 100%);
}
.hero::after {
  content:""; position:absolute; width:520px; height:520px; border-radius:46% 54% 60% 40%;
  right:-130px; bottom:-250px; background:rgba(77,115,144,.12); transform:rotate(-12deg);
}
.hero-inner {
  max-width:var(--max); margin:0 auto; padding:86px 24px 74px;
  display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; position:relative; z-index:1;
}
.eyebrow {
  display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.12em;
  font-size:13px; font-weight:800; color:var(--blue); margin-bottom:18px;
}
.eyebrow::before { content:""; width:36px; height:2px; background:var(--peach); }
h1,h2,h3 {
  font-family: Georgia, "Times New Roman", serif; line-height:1.12; color:var(--navy); margin-top:0;
}
h1 { font-size:clamp(46px,6vw,76px); margin-bottom:24px; letter-spacing:-.035em; }
h2 { font-size:clamp(34px,4vw,52px); margin-bottom:18px; letter-spacing:-.02em; }
h3 { font-size:25px; margin-bottom:12px; }
.lead { font-size:21px; color:var(--ink-soft); max-width:700px; margin-bottom:28px; }
.placeholder-paragraph {
  color:var(--ink-soft); max-width:72ch; margin:0 0 16px;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:0; border-radius:999px; padding:14px 20px; font-weight:800; cursor:pointer; text-decoration:none;
}
.btn-primary { background:var(--navy); color:white; box-shadow:var(--shadow-sm); }
.btn-primary:hover { background:#203d4d; transform:translateY(-1px); }
.btn-secondary { background:var(--white); color:var(--navy); border:1px solid var(--line); }
.btn-soft { background:var(--peach-soft); color:#7b4d38; }
.help-note {
  display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:var(--radius-md);
  background:rgba(255,255,255,.72); border:1px solid rgba(77,115,144,.18); max-width:680px;
}
.help-note svg { flex:0 0 auto; margin-top:3px; color:var(--sage); }

.hero-card {
  background:rgba(255,255,255,.9); border:1px solid rgba(77,115,144,.14);
  border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:28px;
}
.hero-card-top { display:flex; align-items:center; gap:18px; margin-bottom:22px; }
.hero-mark {
  width:74px; height:74px; border-radius:22px; overflow:hidden; flex:0 0 auto; box-shadow:var(--shadow-sm);
}
.hero-mark img { width:100%; height:100%; object-fit:cover; }
.search-box {
  display:flex; gap:10px; padding:9px; background:var(--white); border:1px solid var(--line);
  border-radius:16px; box-shadow:var(--shadow-sm);
}
.search-box input { flex:1; border:0; background:transparent; padding:10px 12px; min-width:0; color:var(--ink); }
.search-box input:focus { outline:0; }
.search-box button { border:0; background:var(--blue); color:white; border-radius:12px; padding:10px 16px; font-weight:800; cursor:pointer; }
.quick-list { display:grid; gap:12px; margin-top:20px; }
.quick-link {
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px;
  border-radius:14px; background:var(--sage-soft); border:1px solid rgba(143,169,155,.22);
}
.quick-link span { font-weight:750; }
.quick-link small { display:block; color:var(--ink-soft); font-weight:500; }

.section { padding:84px 24px; }
.section-inner { max-width:var(--max); margin:0 auto; }
.section-soft { background:#f1f4f0; }
.section-peach { background:#f7eee8; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:34px; }
.section-head p { margin:0; max-width:640px; color:var(--ink-soft); }
.kicker { color:var(--peach); text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:850; margin-bottom:10px; }

.cards-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.card {
  background:var(--paper); border:1px solid rgba(82,98,105,.13); border-radius:var(--radius-md);
  padding:24px; box-shadow:var(--shadow-sm); min-height:100%;
}
.card-icon {
  width:52px; height:52px; display:grid; place-items:center; border-radius:16px;
  background:var(--blue-soft); color:var(--navy); margin-bottom:20px;
}
.card p { color:var(--ink-soft); margin:0 0 20px; }
.card a, .card button.linkish {
  color:var(--navy); font-weight:850; text-decoration:none; border:0; background:none; padding:0; cursor:pointer;
}

.path-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:30px; align-items:start; }
.reassurance {
  background:var(--navy); color:white; border-radius:var(--radius-lg); padding:34px;
  position:sticky; top:120px; box-shadow:var(--shadow);
}
.reassurance h2, .reassurance h3 { color:white; }
.reassurance p { color:rgba(255,255,255,.82); }
.timeline { display:grid; gap:16px; counter-reset:step; }
.timeline-card {
  counter-increment:step; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:24px; display:grid; grid-template-columns:58px 1fr; gap:18px; box-shadow:var(--shadow-sm);
}
.timeline-card::before {
  content:counter(step); width:52px; height:52px; display:grid; place-items:center; border-radius:50%;
  background:var(--peach-soft); color:#8b553c; font-family:Georgia,serif; font-size:24px; font-weight:bold;
}
.timeline-card p { margin:0; color:var(--ink-soft); }

.disease-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.disease-card {
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md); padding:22px;
  transition:.2s ease; cursor:pointer;
}
.disease-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-sm); border-color:var(--sage); }
.disease-card .tag { display:inline-block; font-size:12px; font-weight:850; color:#49685a; background:var(--sage-soft); padding:5px 9px; border-radius:999px; margin-bottom:14px; }
.disease-card p { color:var(--ink-soft); margin-bottom:0; }

.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.support-panel {
  border-radius:var(--radius-lg); padding:32px; min-height:310px; box-shadow:var(--shadow-sm);
}
.support-panel.one { background:#e7f0f4; }
.support-panel.two { background:#f5e6de; }
.support-panel ul { padding-left:20px; color:var(--ink-soft); }
.support-panel li { margin-bottom:10px; }

.notice {
  display:grid; grid-template-columns:auto 1fr; gap:18px; border:1px solid #d6d9c6;
  background:#f7f5e8; border-radius:var(--radius-md); padding:22px; color:#525240;
}
.notice strong { display:block; margin-bottom:5px; color:#414133; }

.footer {
  background:var(--navy); color:white; padding:52px 24px 24px;
}
.footer-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1.3fr .7fr .7fr .7fr; gap:32px; }
.footer-brand { display:flex; gap:15px; align-items:flex-start; }
.footer-brand img { width:66px; height:66px; border-radius:18px; object-fit:cover; }
.footer h4 { font-family:Georgia,serif; margin:0 0 14px; font-size:18px; }
.footer p, .footer a { color:rgba(255,255,255,.76); }
.footer a { display:block; text-decoration:none; margin:8px 0; }
.footer-bottom { max-width:var(--max); margin:38px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.65); font-size:13px; }

.page-hero {
  padding:74px 24px 48px;
  background:linear-gradient(135deg,#fffdfa,#eef3ef);
  border-bottom:1px solid var(--line);
}
.page-hero-inner { max-width:var(--max); margin:0 auto; }
.page-body { padding:60px 24px 90px; }
.page-body-inner { max-width:var(--max); margin:0 auto; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.content-block {
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-sm);
}
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-weight:800; color:var(--navy); }
input, select, textarea {
  width:100%; border:1px solid #cbd6d1; border-radius:12px; padding:13px 14px; background:white; color:var(--ink);
}
textarea { min-height:140px; resize:vertical; }
.success {
  display:none; background:var(--sage-soft); border:1px solid #bad0c2; border-radius:var(--radius-md); padding:24px; color:var(--success); margin-top:18px;
}
.success.show { display:block; }

.reference-tools { display:grid; grid-template-columns:1fr auto; gap:12px; margin-bottom:24px; }
.reference-list { display:grid; gap:12px; }
.reference-item {
  display:grid; grid-template-columns:1fr auto; gap:18px; padding:20px; border:1px solid var(--line);
  border-radius:var(--radius-md); background:var(--paper);
}
.reference-item small { color:var(--ink-soft); }

.modal {
  position:fixed; inset:0; background:rgba(23,39,47,.55); display:none; place-items:center; padding:20px; z-index:100;
}
.modal.open { display:grid; }
.modal-card {
  width:min(680px,100%); max-height:85vh; overflow:auto; background:var(--paper); border-radius:var(--radius-lg);
  box-shadow:0 24px 80px rgba(20,34,41,.28); padding:28px;
}
.modal-top { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.search-results { display:grid; gap:12px; margin-top:20px; }
.result { border:1px solid var(--line); border-radius:14px; padding:16px; background:white; }
.toast {
  position:fixed; right:22px; bottom:22px; background:var(--navy); color:white; padding:14px 18px;
  border-radius:14px; box-shadow:var(--shadow); opacity:0; transform:translateY(16px); pointer-events:none;
  transition:.25s; z-index:120;
}
.toast.show { opacity:1; transform:translateY(0); }

.mobile-menu {
  display:none; position:fixed; inset:88px 0 auto 0; background:var(--paper); border-bottom:1px solid var(--line); padding:16px 24px 24px; z-index:45; box-shadow:var(--shadow-sm);
}
.mobile-menu.open { display:grid; gap:8px; }


.donate-nav {
  background: var(--peach-soft);
  color: #764a37;
  border: 1px solid rgba(185,119,86,.18);
}
.donate-nav:hover, .donate-nav.active {
  background: #efd4c5;
  color: #633a29;
}
.aid-home {
  padding: 42px 24px 84px;
}
.aid-home-card {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 34px;
  align-items: center;
  padding: 34px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #eaf2f0, #eef4f6);
  border: 1px solid rgba(77,115,144,.18);
  box-shadow: var(--shadow-sm);
}
.aid-home-card h2 { margin-bottom: 14px; }
.aid-summary {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(77,115,144,.14);
  border-radius: var(--radius-md);
  padding: 22px;
}
.aid-summary strong {
  display: block;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.1;
  margin-bottom: 8px;
}
.policy-grid, .coverage-grid, .impact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.policy-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.policy-card p, .policy-card li { color: var(--ink-soft); }
.policy-card ul { margin: 0; padding-left: 20px; }
.policy-card li { margin-bottom: 9px; }
.coverage-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 24px;
}
.coverage-card h3 { font-size: 23px; }
.coverage-card p { margin-bottom: 0; color: var(--ink-soft); }
.not-covered {
  background: #f8eee8;
  border-color: #e8cfc1;
}
.process-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  counter-reset: aidstep;
}
.process-step {
  counter-increment: aidstep;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 22px;
}
.process-step::before {
  content: counter(aidstep);
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--blue-soft);
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 16px;
}
.application-shell {
  max-width: 760px;
  margin: 0 auto;
}
.application-intro {
  background: var(--sage-soft);
  border: 1px solid #c6d8cd;
  border-radius: var(--radius-md);
  padding: 22px;
  margin-bottom: 24px;
}
.application-note {
  font-size: 14px;
  color: var(--ink-soft);
  margin-top: 12px;
}
.donation-home {
  background: linear-gradient(135deg, #f9eee7, #f3ede5);
}
.donation-home-inner {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 38px;
  align-items: center;
}
.donation-quote {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(185,119,86,.16);
  border-radius: var(--radius-lg);
  padding: 30px;
}
.amount-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 18px 0;
}
.amount-btn {
  border: 1px solid var(--line);
  background: white;
  color: var(--navy);
  padding: 13px 10px;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
}
.amount-btn.selected {
  background: var(--navy);
  color: white;
  border-color: var(--navy);
}
.founder-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.founder-grid .card { min-height: 170px; }
.prototype-banner {
  background: #fff8db;
  border: 1px solid #eadb9c;
  color: #665821;
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 24px;
}
@media (max-width: 1020px) {
  .aid-home-card, .donation-home-inner { grid-template-columns: 1fr; }
  .process-list { grid-template-columns: repeat(2, 1fr); }
  .founder-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1020px) {
  .desktop-nav { display:none; }
  .menu-btn { display:grid; }
  .brand { min-width:unset; }
  .hero-inner { grid-template-columns:1fr; }
  .cards-4 { grid-template-columns:repeat(2,1fr); }
  .path-grid, .support-grid, .two-col { grid-template-columns:1fr; }
  .reassurance { position:static; }
  .footer-inner { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .header-inner { padding:10px 16px; min-height:76px; }
  .brand-copy { display:none; }
  .brand img { width:64px; }
  .header-tools .lang-select { display:none; }
  .mobile-menu { inset:76px 0 auto 0; }
  .hero-inner, .section, .page-hero, .page-body { padding-left:18px; padding-right:18px; }
  .hero-inner { padding-top:60px; }
  .hero-card { padding:20px; }
  .cards-4, .disease-grid, .footer-inner, .form-grid { grid-template-columns:1fr; }
  .section-head { align-items:flex-start; flex-direction:column; }
  .search-box { flex-direction:column; }
  .reference-tools { grid-template-columns:1fr; }
  .reference-item { grid-template-columns:1fr; }
  .policy-grid, .coverage-grid, .impact-grid, .process-list, .founder-grid, .amount-grid { grid-template-columns:1fr; }
  .aid-home { padding-left:18px; padding-right:18px; }
  h1 { font-size:46px; }
}


/* Final GitHub Pages integration */
.desktop-nav { gap: 2px; }
.desktop-nav .nav-link { padding: 9px 9px; font-size: 14px; white-space: nowrap; }
.brand { min-width: 255px; }
.donate-nav {
  background: var(--peach-soft);
  color: #764a37;
  border: 1px solid rgba(185,119,86,.18);
}
.donate-nav:hover, .donate-nav.active { background:#efd4c5; color:#633a29; }
.source-policy {
  margin-top: 18px; padding: 15px 17px; border-radius: 14px;
  background: rgba(255,255,255,.75); border:1px solid rgba(77,115,144,.18);
  color: var(--ink-soft); font-size: 14px;
}
.card-action-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }
.card { display:flex; flex-direction:column; }
.card p { flex: 1; }
.disease-card {
  display:flex; flex-direction:column; min-height:330px;
}
.disease-card .disease-summary-preview {
  display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical;
  overflow:hidden; color:var(--ink-soft); margin:0 0 18px;
}
.disease-card .btn { margin-top:auto; align-self:flex-start; }
.draft-badge {
  display:inline-block; margin-top:10px; padding:5px 9px; border-radius:999px;
  background:#fff4cf; color:#6b5721; font-size:12px; font-weight:800;
}
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.team-card {
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-md); padding:24px; box-shadow:var(--shadow-sm);
}
.team-card p { color:var(--ink-soft); white-space:pre-line; }
.policy-grid, .coverage-grid, .impact-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
}
.policy-card, .coverage-card {
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-md); padding:24px; box-shadow:var(--shadow-sm);
}
.policy-card p, .coverage-card p, .policy-card li { color:var(--ink-soft); }
.policy-card ul { margin:0; padding-left:20px; }
.policy-card li { margin-bottom:9px; }
.not-covered { background:#f8eee8; border-color:#e8cfc1; }
.process-list { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:aidstep; }
.process-step {
  counter-increment:aidstep; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-md); padding:22px;
}
.process-step::before {
  content:counter(aidstep); width:42px; height:42px; display:grid; place-items:center;
  border-radius:50%; background:var(--blue-soft); color:var(--navy);
  font-family:Georgia,serif; font-size:21px; font-weight:bold; margin-bottom:16px;
}
.application-shell { max-width:760px; margin:0 auto; }
.prototype-banner {
  background:#fff8db; border:1px solid #eadb9c; color:#665821;
  border-radius:14px; padding:14px 16px; margin-bottom:24px;
}
.amount-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; }
.amount-btn {
  border:1px solid var(--line); background:white; color:var(--navy);
  padding:13px 10px; border-radius:12px; font-weight:800; cursor:pointer;
}
.amount-btn.selected { background:var(--navy); color:white; border-color:var(--navy); }
.citation {
  white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink-soft); margin:0 0 10px;
}
.reference-item { align-items:start; }
.reference-meta { color:var(--ink-soft); font-size:13px; margin-top:8px; }
.reference-item a { align-self:start; }
.modal-card.wide { width:min(860px,100%); }
.modal-copy { white-space:pre-line; color:var(--ink-soft); }
.modal-sources { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.modal-sources ul { padding-left:20px; }
.modal-sources li { margin-bottom:12px; }
.modal-sources a { color:var(--blue); font-weight:700; overflow-wrap:anywhere; }
.meta-row {
  display:flex; flex-wrap:wrap; gap:10px 18px; margin:18px 0;
  padding:14px 16px; background:var(--sage-soft); border-radius:14px;
  color:var(--ink-soft); font-size:14px;
}
.form-note { color:var(--ink-soft); font-size:14px; }
.checkbox-label { display:flex; gap:10px; align-items:flex-start; font-weight:650; }
.checkbox-label input { width:auto; margin-top:6px; }
.search-result-button {
  width:100%; text-align:left; border:1px solid var(--line);
  border-radius:14px; background:white; padding:16px; cursor:pointer;
}
.search-result-button strong { display:block; color:var(--navy); margin-bottom:4px; }
.search-result-button span { color:var(--ink-soft); }
.footer a { cursor:pointer; }
[hidden] { display:none !important; }
@media (max-width:1180px) {
  .brand-copy span { display:none; }
  .brand { min-width:220px; }
}
@media (max-width:1020px) {
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .process-list { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .team-grid, .policy-grid, .coverage-grid, .impact-grid,
  .process-list, .amount-grid { grid-template-columns:1fr; }
}


/* Accessibility and responsive hardening */
html {
  scroll-padding-top: 112px;
}
[id] {
  scroll-margin-top: 112px;
}
body.modal-open {
  overflow: hidden;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.compact-heading,
.card-heading {
  font-size: 25px;
  letter-spacing: 0;
}
button,
input,
select,
textarea {
  min-width: 0;
}
.btn,
.nav-link,
.icon-btn,
.lang-select,
.quick-link,
.amount-btn,
.search-result-button {
  min-height: 44px;
}
.btn {
  white-space: normal;
  line-height: 1.25;
}
.quick-link {
  width: 100%;
  border: 1px solid transparent;
  text-align: left;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}
input,
select,
textarea,
.lang-select {
  border-color: var(--control-border);
}
.btn-secondary,
.icon-btn,
.amount-btn,
.search-result-button {
  border-color: var(--control-border);
}
input::placeholder,
textarea::placeholder {
  color: #617078;
  opacity: 1;
}
.team-card {
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.team-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 42%;
  background: var(--blue-soft);
}
.team-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.team-card-body h3 {
  margin-bottom: 10px;
}
.team-card-body p {
  margin: 0;
}
.involved-grid {
  grid-template-columns: repeat(3, 1fr);
}
.footer-accessibility {
  max-width: var(--max);
  margin: 32px auto 0;
  padding: 22px 24px;
  border-top: 1px solid rgba(255,255,255,.24);
}
.footer-accessibility h4 {
  margin-bottom: 8px;
}
.footer-accessibility p {
  max-width: 80ch;
  margin: 0 0 10px;
}
.footer-accessibility a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer a[href] {
  min-height: 32px;
  padding: 4px 0;
}
.reference-item h2 {
  font-size: 24px;
  overflow-wrap: anywhere;
}
.reference-meta,
.modal-copy,
.modal-sources,
.placeholder-paragraph,
.card p,
.policy-card,
.coverage-card,
.reference-item,
.footer {
  overflow-wrap: anywhere;
}
.modal[aria-hidden="true"] {
  display: none;
}
.modal[aria-hidden="false"] {
  display: grid;
}
@media (max-width: 1120px) {
  .desktop-nav { display: none; }
  .menu-btn { display: grid; }
  .brand { min-width: unset; }
}
@media (max-width: 1020px) {
  .disease-grid,
  .involved-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 92px; }
  [id] { scroll-margin-top: 92px; }
  h1 { font-size: clamp(38px, 12vw, 46px); }
  h2 { font-size: clamp(30px, 9vw, 38px); }
  .lead { font-size: 19px; }
  .involved-grid { grid-template-columns: 1fr; }
  .modal { padding: 10px; }
  .modal-card { padding: 22px 18px; max-height: 92vh; }
  .team-card-body { padding: 20px; }
}
@media (max-width: 360px) {
  .header-inner { gap: 10px; }
  .header-tools { gap: 6px; }
  .brand img { width: 54px; height: 46px; }
  .icon-btn { width: 40px; height: 40px; min-height: 40px; }
  .hero-inner { padding-top: 46px; }
  .section { padding-top: 64px; padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


.accessibility-feature-list {
  margin: 0;
  padding-left: 22px;
  color: var(--ink-soft);
}
.accessibility-feature-list li {
  margin-bottom: 12px;
}
.accessibility-feedback {
  margin-top: 26px;
}


.checkbox-label input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  flex: 0 0 24px;
  margin-top: 2px;
  accent-color: var(--navy);
}
@media (max-width: 680px) {
  .disease-grid {
    grid-template-columns: 1fr;
  }
}
