:root {
  --navy: #061725;
  --navy-soft: #0b2233;
  --ink: #10202b;
  --gold: #c8a45c;
  --gold-pale: #ead8af;
  --cream: #f3eee4;
  --paper: #fbfaf7;
  --white: #ffffff;
  --muted: #64717a;
  --line: rgba(6, 23, 37, 0.14);
  --display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); }
img { display: block; max-width: 100%; }
a { color: inherit; }
p { line-height: 1.7; }

a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  color: var(--white);
  background: var(--navy);
  transform: translateY(-160%);
}
.skip-link:focus { transform: none; }

.site-header {
  min-height: 88px;
  padding: 0 clamp(20px, 5vw, 76px);
  color: var(--white);
  background: var(--navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
  text-decoration: none;
}
.brand img { width: 50px; height: 50px; border-radius: 50%; }
.brand span { display: grid; gap: 3px; }
.brand strong { letter-spacing: 0.14em; font-size: 0.72rem; }
.brand small { color: rgba(255,255,255,0.62); letter-spacing: 0.05em; font-size: 0.56rem; }
.desktop-nav { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 34px); }
.desktop-nav a {
  padding: 12px 0;
  border-bottom: 1px solid transparent;
  color: var(--white);
  text-decoration: none;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 800;
}
.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav a[aria-current="page"] { border-color: var(--gold); }
.mobile-nav { display: none; position: relative; }
.mobile-nav summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.5);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 800;
}
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav nav {
  position: absolute;
  z-index: 50;
  right: 0;
  top: 48px;
  width: min(310px, calc(100vw - 32px));
  padding: 15px;
  border-top: 3px solid var(--gold);
  background: var(--navy);
  box-shadow: 0 22px 48px rgba(0,0,0,0.35);
  display: grid;
}
.mobile-nav nav a {
  padding: 13px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.13);
  color: var(--white);
  text-decoration: none;
  font-size: 0.82rem;
}

.eyebrow {
  margin: 0 0 18px;
  color: #846a36;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.61rem;
  font-weight: 800;
}
.eyebrow.light { color: var(--gold-pale); }
h1, h2, h3 { font-family: var(--display); font-weight: 400; }

.hero {
  min-height: calc(100vh - 88px);
  color: var(--white);
  background: var(--navy);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(350px, 0.7fr);
}
.hero-copy {
  align-content: center;
  padding: clamp(68px, 8vw, 128px) clamp(28px, 7vw, 118px);
}
.hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(3.4rem, 6.2vw, 6.8rem);
  letter-spacing: -0.052em;
  line-height: 0.95;
}
.hero .plain-statement {
  max-width: 790px;
  margin: 30px 0 0;
  color: rgba(255,255,255,0.8);
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  line-height: 1.68;
}
.hero .trust-line {
  max-width: 760px;
  margin: 22px 0 0;
  padding-left: 17px;
  border-left: 2px solid var(--gold);
  color: var(--gold-pale);
  font-size: 0.8rem;
}
.hero-figure { min-height: 620px; margin: 0; position: relative; overflow: hidden; }
.hero-figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }
.hero-figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,23,37,0.76), transparent 40%); }
.hero-figure figcaption { position: absolute; z-index: 2; left: 28px; bottom: 28px; display: grid; gap: 4px; }
.hero-figure figcaption strong { font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.hero-figure figcaption span { color: rgba(255,255,255,0.65); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.55rem; }

.actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 11px; }
.button {
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.62rem;
  font-weight: 800;
}
.button.gold { color: var(--navy); background: var(--gold); }
.button.outline { color: var(--white); border-color: rgba(255,255,255,0.5); }
.button.navy { color: var(--white); background: var(--navy); }
.button.outline-dark { color: var(--navy); border-color: rgba(6,23,37,0.45); }
.button:hover, .button:focus-visible { transform: translateY(-1px); }

.fact-strip {
  color: var(--white);
  background: var(--navy-soft);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.fact-strip div { min-height: 118px; padding: 28px clamp(22px, 4vw, 54px); border-right: 1px solid rgba(255,255,255,0.12); display: grid; align-content: center; gap: 7px; }
.fact-strip span { color: rgba(255,255,255,0.48); letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.56rem; font-weight: 800; }
.fact-strip strong { color: var(--gold-pale); font-family: var(--display); font-size: 1.25rem; font-weight: 500; }

.frontier-grid {
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.16);
}
.frontier-grid li {
  min-height: 146px;
  padding: 26px;
  background: var(--navy-soft);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
}
.frontier-grid > li > span,
.frontier-mark {
  width: 64px;
  height: 64px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-pale);
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 1.25rem;
}
.frontier-grid strong { display: block; color: var(--white); font-family: var(--display); font-size: 1.22rem; font-weight: 500; line-height: 1.25; }
.frontier-grid small { display: block; margin-top: 8px; color: rgba(255,255,255,0.56); font-size: 0.68rem; line-height: 1.45; }
.frontier-grid.compact li { min-height: 122px; }

.section { padding: clamp(74px, 9vw, 136px) clamp(22px, 7vw, 118px); }
.section-inner { width: min(100%, var(--max)); margin: 0 auto; }
.section-heading { max-width: 830px; }
.section-heading h2,
.split-copy h2,
.page-hero h1,
.cta h2 {
  margin: 0;
  font-size: clamp(2.9rem, 5.2vw, 5.8rem);
  letter-spacing: -0.048em;
  line-height: 0.98;
}
.section-heading > p:last-child,
.split-copy > p:not(.eyebrow) { color: var(--muted); font-size: 1rem; }

.proof { color: var(--white); background: var(--navy); }
.proof .section-heading > p:last-child { color: rgba(255,255,255,0.68); }
.credibility-strip {
  margin-top: 38px;
  border-top: 1px solid rgba(255,255,255,0.16);
  border-bottom: 1px solid rgba(255,255,255,0.16);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.credibility-strip div { min-height: 112px; padding: 24px 22px; border-right: 1px solid rgba(255,255,255,0.14); display: grid; align-content: center; gap: 7px; }
.credibility-strip div:last-child { border-right: 0; }
.credibility-strip span { color: rgba(255,255,255,0.48); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.52rem; font-weight: 800; }
.credibility-strip strong { color: var(--gold-pale); font-family: var(--display); font-size: 1.04rem; font-weight: 500; line-height: 1.3; }
.proof-grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.proof-card { background: var(--white); color: var(--ink); }
.proof-card img { width: 100%; height: 380px; object-fit: cover; }
.proof-card:first-child img { object-position: 32% center; }
.proof-card:last-child img { object-position: center 30%; }
.proof-card div { padding: 26px; }
.proof-card span { color: #846a36; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.56rem; font-weight: 800; }
.proof-card h3 { margin: 9px 0 6px; font-size: 2rem; }
.proof-card p { margin: 0; color: var(--muted); font-size: 0.8rem; }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 0.85fr); }
.split-image { min-height: 660px; }
.split-image img { width: 100%; height: 100%; object-fit: cover; }
.split-copy { align-content: center; padding: clamp(58px, 7vw, 108px); background: var(--cream); }
.split-copy .mini-list { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.split-copy .mini-list li { padding: 14px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 125px 1fr; gap: 20px; color: var(--muted); font-size: 0.82rem; }
.split-copy .mini-list strong { color: #846a36; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.58rem; }

.partner-return { background: var(--paper); }
.partner-badge-grid { margin-top: 38px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.partner-badge-card { min-height: 176px; overflow: hidden; border-top: 3px solid var(--gold); background: var(--white); display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: stretch; }
.partner-badge-card > div:last-child { padding: 24px 24px 24px 8px; align-self: center; }
.partner-badge-art { min-height: 173px; padding: 18px 16px 14px; background: var(--navy-soft); display: grid; place-items: center; align-content: center; gap: 8px; }
.partner-badge-art img { width: 116px; height: 116px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,0.26)); }
.partner-badge-art small { color: rgba(255,255,255,0.52); letter-spacing: 0.11em; text-transform: uppercase; font-size: 0.48rem; font-weight: 800; }
.partner-badge-card span { color: #846a36; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.56rem; font-weight: 800; }
.partner-badge-card h3 { margin: 7px 0 9px; font-size: 1.55rem; }
.partner-badge-card p { margin: 0; color: var(--muted); font-size: 0.78rem; line-height: 1.55; }
.partner-badge-grid-dark .partner-badge-card { color: var(--ink); }
.partner-badge-grid-dark .partner-badge-card p { color: var(--muted); }
.partner-inclusions { margin-top: 18px; border: 1px solid var(--line); background: var(--cream); display: grid; grid-template-columns: repeat(3, 1fr); }
.partner-inclusions div { min-height: 132px; padding: 24px; border-right: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; column-gap: 12px; align-content: center; }
.partner-inclusions div:last-child { border-right: 0; }
.partner-inclusions span { grid-row: 1 / 3; color: var(--gold); font-family: var(--display); }
.partner-inclusions strong { font-size: 0.9rem; }
.partner-inclusions p { margin: 4px 0 0; color: var(--muted); font-size: 0.75rem; }
.partner-confidence { margin-top: 38px; border: 1px solid rgba(255,255,255,0.18); display: grid; grid-template-columns: repeat(3, 1fr); }
.partner-confidence div { min-height: 106px; padding: 22px 24px; border-right: 1px solid rgba(255,255,255,0.15); display: grid; align-content: center; gap: 7px; }
.partner-confidence div:last-child { border-right: 0; }
.partner-confidence span { color: rgba(255,255,255,0.48); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.52rem; font-weight: 800; }
.partner-confidence strong { color: var(--gold-pale); font-family: var(--display); font-size: 1.18rem; font-weight: 500; }
.return-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.return-grid article { min-height: 220px; padding: 30px 34px; background: var(--white); }
.return-grid span { color: var(--gold); font-family: var(--display); font-size: 1.1rem; }
.return-grid h3 { margin: 24px 0 10px; color: var(--ink); font-size: 1.7rem; }
.return-grid p { margin: 0; color: var(--muted); font-size: 0.88rem; }

.current-opportunity {
  margin-top: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.045);
}
.current-opportunity-intro { padding: 28px 30px; }
.current-opportunity-intro > span,
.current-opportunity-grid span {
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.52rem;
  font-weight: 800;
}
.current-opportunity-intro h3 { margin: 8px 0 8px; color: var(--gold-pale); font-size: 2rem; }
.current-opportunity-intro p { max-width: 780px; margin: 0; color: rgba(255,255,255,0.68); font-size: 0.86rem; }
.current-opportunity-grid {
  border-top: 1px solid rgba(255,255,255,0.14);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.current-opportunity-grid div { min-height: 104px; padding: 22px 24px; border-right: 1px solid rgba(255,255,255,0.14); display: grid; align-content: center; gap: 7px; }
.current-opportunity-grid div:last-child { border-right: 0; }
.current-opportunity-grid strong { color: var(--white); font-family: var(--display); font-size: 1.05rem; font-weight: 500; line-height: 1.35; }

.notice {
  margin-top: 34px;
  padding: 20px 22px;
  border-left: 3px solid var(--gold);
  background: var(--cream);
  color: #4d5a62;
  font-size: 0.84rem;
}
.notice strong { color: var(--navy); }

.donation-chooser {
  margin-top: clamp(42px, 6vw, 72px);
  overflow: hidden;
  border-top: 4px solid var(--gold);
  color: var(--white);
  background: var(--navy);
  box-shadow: 0 28px 70px rgba(6, 23, 37, 0.18);
}
.donation-chooser-head {
  padding: clamp(28px, 4vw, 46px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.56fr);
  gap: clamp(28px, 6vw, 78px);
  align-items: end;
}
.donation-chooser-head .eyebrow { margin-bottom: 10px; }
.donation-chooser-head h3 {
  margin: 0;
  color: var(--white);
  font-size: clamp(2.3rem, 4vw, 4.4rem);
  letter-spacing: -0.045em;
  line-height: 1;
}
.donation-chooser-head > p {
  margin: 0;
  color: rgba(255,255,255,0.66);
  font-size: 0.85rem;
}
.donation-band {
  padding: 24px clamp(28px, 4vw, 46px);
  border-top: 1px solid rgba(255,255,255,0.14);
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}
.donation-band-major { background: rgba(200,164,92,0.07); }
.donation-band-label { display: grid; gap: 5px; }
.donation-band-label strong {
  color: var(--gold-pale);
  font-family: var(--display);
  font-size: 1.22rem;
  font-weight: 500;
}
.donation-band-label span {
  color: rgba(255,255,255,0.44);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.5rem;
  font-weight: 800;
}
.donation-amounts {
  display: grid;
  gap: 9px;
}
.individual-amounts { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.major-amounts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.donation-amounts a {
  min-height: 72px;
  padding: 12px 10px;
  border: 1px solid rgba(255,255,255,0.24);
  color: var(--white);
  background: rgba(255,255,255,0.04);
  display: grid;
  place-content: center;
  gap: 2px;
  text-align: center;
  text-decoration: none;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}
.donation-amounts a:hover,
.donation-amounts a:focus-visible {
  border-color: var(--gold);
  background: rgba(200,164,92,0.14);
  transform: translateY(-2px);
}
.donation-amounts a small {
  color: rgba(255,255,255,0.48);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.46rem;
  font-weight: 800;
}
.donation-amounts a strong {
  font-family: var(--display);
  font-size: clamp(1.18rem, 1.7vw, 1.56rem);
  font-weight: 500;
  line-height: 1.1;
}
.donation-amounts a.donation-any {
  border-color: var(--gold);
  color: var(--navy);
  background: var(--gold);
}
.donation-amounts a.donation-any small { color: rgba(6,23,37,0.58); }
.donation-amounts a.donation-any:hover,
.donation-amounts a.donation-any:focus-visible { background: var(--gold-pale); }
.donation-assurance {
  padding: 18px clamp(28px, 4vw, 46px);
  border-top: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.55);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  letter-spacing: 0.05em;
  font-size: 0.61rem;
}
.donation-assurance span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.donation-assurance span::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  content: "";
}

.page-hero {
  min-height: 620px;
  color: var(--white);
  background: var(--navy);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(350px, 0.75fr);
}
.page-hero-copy { align-content: center; padding: clamp(68px, 8vw, 120px); }
.page-hero-copy > p:not(.eyebrow) { max-width: 730px; margin: 28px 0 0; color: rgba(255,255,255,0.74); font-size: 1.05rem; }
.page-hero > img { width: 100%; height: 100%; object-fit: cover; }

.card-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.card { padding: 32px; border-top: 3px solid var(--gold); background: var(--white); }
.card h3 { margin: 0 0 14px; font-size: 1.75rem; }
.card p { color: var(--muted); font-size: 0.88rem; }
.card a { color: #725a2b; font-weight: 800; font-size: 0.78rem; }

.series-table { margin-top: 52px; border-top: 1px solid var(--line); }
.series-table article {
  min-height: 142px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
}
.series-table .frontier-mark { color: #725a2b; background: var(--cream); }
.series-table small { color: #846a36; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.56rem; font-weight: 800; }
.series-table h3 { margin: 7px 0 5px; font-size: 2rem; }
.series-table p { margin: 0; color: var(--muted); font-size: 0.82rem; }
.series-table article > strong { color: #725a2b; font-family: var(--display); font-size: 1.05rem; font-weight: 500; }

.dark-panel { color: var(--white); background: var(--navy-soft); border: 1px solid rgba(255,255,255,0.16); }
.dark-panel h3 { color: var(--gold-pale); }
.dark-panel div { border-color: rgba(255,255,255,0.14); }
.dark-panel dd { color: rgba(255,255,255,0.68); }

.funding-section { background: var(--cream); }
.funding-grid,
.support-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.funding-grid article,
.support-grid article { min-height: 310px; padding: 30px; border-top: 3px solid var(--gold); background: var(--white); }
.funding-grid span,
.support-grid span { color: #846a36; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.55rem; font-weight: 800; }
.funding-grid article > strong,
.support-grid article > strong { margin-top: 18px; display: block; color: var(--navy); font-family: var(--display); font-size: 2.7rem; font-weight: 500; }
.funding-grid h3,
.support-grid h3 { margin: 10px 0 12px; font-size: 1.5rem; }
.funding-grid p,
.support-grid p { margin: 0; color: var(--muted); font-size: 0.82rem; }
.proof .support-grid article { color: var(--ink); }

.story-grid { display: grid; grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.story-grid img { width: 100%; max-height: 720px; object-fit: cover; object-position: center 30%; }
.story-grid h2 { margin: 0; font-size: clamp(2.9rem, 5vw, 5.5rem); letter-spacing: -0.05em; line-height: 0.98; }
.story-grid p { color: var(--muted); }
.story-grid .role-boundary { margin-top: 26px; padding: 16px 18px; border-left: 3px solid var(--gold); background: var(--cream); color: #56636b; font-size: 0.76rem; }

.route-list { margin-top: 48px; display: grid; gap: 1px; background: var(--line); }
.route-list article { padding: 30px; background: var(--white); display: grid; grid-template-columns: 210px minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.route-list .status { color: #846a36; letter-spacing: 0.11em; text-transform: uppercase; font-size: 0.57rem; font-weight: 800; }
.route-list h3 { margin: 0 0 8px; font-size: 1.8rem; }
.route-list p { margin: 0; color: var(--muted); font-size: 0.85rem; }
.text-link { color: var(--navy); font-weight: 800; font-size: 0.78rem; }

.mission-summary {
  padding: 26px clamp(22px, 7vw, 118px);
  color: var(--white);
  background: var(--navy-soft);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}
.mission-summary div { padding: 14px 22px; border-left: 1px solid rgba(255,255,255,0.14); display: grid; gap: 6px; }
.mission-summary span { color: rgba(255,255,255,0.48); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.54rem; font-weight: 800; }
.mission-summary strong { color: var(--gold-pale); font-size: 0.78rem; }

.two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr); gap: clamp(38px, 7vw, 90px); align-items: start; }
.two-column h2 { margin: 0; font-size: clamp(2.9rem, 5vw, 5.4rem); letter-spacing: -0.05em; line-height: 0.98; }
.two-column p { color: var(--muted); }
.side-panel { padding: 32px; background: var(--cream); }
.side-panel h3 { margin-top: 0; font-size: 1.7rem; }
.side-panel dl { margin: 0; }
.side-panel div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.side-panel dt { color: #846a36; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.56rem; font-weight: 800; }
.side-panel dd { margin: 5px 0 0; color: var(--muted); font-size: 0.83rem; line-height: 1.5; }

.badge-small { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; }
.badge-small img { width: 120px; }
.badge-small p { margin: 0; font-size: 0.76rem; }

.contact-grid { margin-top: 46px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-card { min-height: 220px; padding: 34px; background: var(--white); border-top: 3px solid var(--gold); }
.contact-card h3 { margin: 0 0 14px; font-size: 1.8rem; }
.contact-card p { color: var(--muted); }
.contact-card a { color: #725a2b; font-weight: 800; }

.map-section { color: var(--white); background: var(--navy); }
.map-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.map-intro p:last-child { max-width: 720px; color: rgba(255,255,255,0.68); }
.map-key { display: flex; flex-wrap: wrap; gap: 18px; color: rgba(255,255,255,0.68); font-size: 0.72rem; }
.map-key span { display: inline-flex; align-items: center; gap: 7px; }
.map-key i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.map-key .completed { background: var(--gold); }
.map-key .current { background: #d75b4a; }
.map-key .lookahead { background: #4f9bd8; }
.mission-map { width: 100%; height: 560px; margin-top: 42px; border: 1px solid rgba(255,255,255,0.18); background: #dbe2df; }
.mission-map .leaflet-popup-content-wrapper,
.mission-map .leaflet-popup-tip { color: var(--ink); background: var(--white); }
.mission-map .leaflet-popup-content { font-family: var(--sans); line-height: 1.45; }
.mission-map .leaflet-control-attribution { font-size: 9px; }
.tracking-panel { padding: 38px; background: var(--cream); display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; }
.tracking-panel h3 { margin: 0 0 10px; font-size: 2rem; }
.tracking-panel p { margin: 0; color: var(--muted); }
.tracking-state { padding: 14px 18px; border: 1px solid var(--line); color: #725a2b; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.62rem; font-weight: 800; }

.tracker-hero {
  min-height: 650px;
  padding: clamp(70px, 8vw, 124px) clamp(22px, 7vw, 118px);
  color: var(--white);
  background:
    radial-gradient(circle at 82% 30%, rgba(200,164,92,0.16), transparent 26%),
    linear-gradient(135deg, var(--navy) 0%, #0a2638 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.62fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: center;
}
.tracker-hero-copy { max-width: 850px; }
.tracker-hero h1 {
  max-width: 800px;
  margin: 0;
  font-size: clamp(3.5rem, 6.5vw, 7rem);
  letter-spacing: -0.052em;
  line-height: 0.94;
}
.tracker-hero-copy > p:not(.eyebrow) { max-width: 720px; margin: 28px 0 0; color: rgba(255,255,255,0.72); font-size: 1.05rem; }
.tracker-status-card { padding: clamp(28px, 4vw, 42px); border-top: 3px solid var(--gold); background: rgba(255,255,255,0.07); box-shadow: 0 30px 70px rgba(0,0,0,0.2); }
.tracker-status-card > p { margin: 0 0 16px; color: rgba(255,255,255,0.48); letter-spacing: 0.13em; text-transform: uppercase; font-size: 0.55rem; font-weight: 800; }
.tracker-status-line { padding-bottom: 24px; display: flex; align-items: center; gap: 12px; }
.tracker-status-line i,
.tracker-state i { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(200,164,92,0.13); }
.tracker-status-line strong { color: var(--gold-pale); font-family: var(--display); font-size: 2rem; font-weight: 500; }
.tracker-status-card dl { margin: 0; }
.tracker-status-card dl div { padding: 14px 0; border-top: 1px solid rgba(255,255,255,0.13); }
.tracker-status-card dt { color: rgba(255,255,255,0.43); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.51rem; font-weight: 800; }
.tracker-status-card dd { margin: 5px 0 0; color: var(--white); font-size: 0.8rem; }

.tracker-section { color: var(--white); background: var(--navy); }
.tracker-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; }
.tracker-heading > div { max-width: 850px; }
.tracker-heading h2 { margin: 0; font-size: clamp(3rem, 5.4vw, 5.8rem); letter-spacing: -0.048em; line-height: 0.98; }
.tracker-heading p:last-child { color: rgba(255,255,255,0.64); }
.tracker-state { padding: 13px 17px; border: 1px solid rgba(255,255,255,0.2); color: var(--gold-pale); display: inline-flex; align-items: center; gap: 10px; letter-spacing: 0.11em; text-transform: uppercase; font-size: 0.58rem; font-weight: 800; }
.tracker-state b { font-weight: 800; }
.garmin-frame { min-height: 560px; margin-top: 42px; border: 1px solid rgba(255,255,255,0.18); background: #0a2131; }
.garmin-frame iframe { width: 100%; height: 650px; border: 0; display: block; background: var(--white); }
.garmin-placeholder { min-height: 560px; padding: clamp(34px, 6vw, 72px); display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(34px, 7vw, 88px); align-items: center; }
.garmin-placeholder h3 { margin: 0; color: var(--white); font-size: clamp(2.5rem, 4vw, 4.5rem); letter-spacing: -0.04em; line-height: 1; }
.garmin-placeholder p:last-child { max-width: 650px; color: rgba(255,255,255,0.58); }
.signal-visual { width: 230px; height: 230px; margin: auto; position: relative; display: grid; place-items: center; }
.signal-visual span { position: absolute; inset: 0; border: 1px solid rgba(200,164,92,0.34); border-radius: 50%; }
.signal-visual span:nth-child(2) { inset: 42px; border-color: rgba(200,164,92,0.58); }
.signal-visual i { width: 82px; height: 82px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-pale); background: rgba(200,164,92,0.08); display: grid; place-items: center; font-family: var(--display); font-size: 1.2rem; font-style: normal; }
.tracker-actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.tracker-actions .text-link { color: var(--gold-pale); }
.tracker-notes { margin-top: 46px; border-top: 1px solid rgba(255,255,255,0.14); border-bottom: 1px solid rgba(255,255,255,0.14); display: grid; grid-template-columns: repeat(3, 1fr); }
.tracker-notes article { min-height: 210px; padding: 28px; border-right: 1px solid rgba(255,255,255,0.14); }
.tracker-notes article:last-child { border-right: 0; }
.tracker-notes span { color: rgba(255,255,255,0.4); letter-spacing: 0.12em; font-size: 0.55rem; font-weight: 800; }
.tracker-notes h3 { margin: 12px 0 9px; color: var(--gold-pale); font-size: 1.45rem; }
.tracker-notes p { margin: 0; color: rgba(255,255,255,0.58); font-size: 0.78rem; }

.cta { padding: clamp(76px, 9vw, 130px) 22px; text-align: center; background: var(--cream); }
.cta h2 { max-width: 920px; margin-left: auto; margin-right: auto; }
.cta p { max-width: 700px; margin: 24px auto 0; color: var(--muted); }
.cta .actions { justify-content: center; }

.site-footer { padding: 50px clamp(22px, 5vw, 76px) 24px; color: var(--white); background: var(--navy); }
.footer-main { display: grid; grid-template-columns: 1.25fr 0.75fr 0.75fr; gap: 42px; }
.footer-main > div:first-child p { max-width: 430px; color: rgba(255,255,255,0.58); font-size: 0.78rem; }
.footer-main h2 { margin: 4px 0 17px; color: var(--gold-pale); font-family: var(--sans); letter-spacing: 0.13em; text-transform: uppercase; font-size: 0.58rem; font-weight: 800; }
.footer-links { display: grid; gap: 10px; }
.footer-links a { color: rgba(255,255,255,0.68); text-decoration: none; font-size: 0.74rem; }
.footer-base { margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.14); color: rgba(255,255,255,0.43); display: grid; grid-template-columns: auto 1fr auto; gap: 28px; font-size: 0.61rem; line-height: 1.5; }
.footer-base span:nth-child(2) { text-align: center; }
.footer-base span:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 13px; }

@media (max-width: 1000px) {
  .desktop-nav { display: none; }
  .mobile-nav { display: block; }
  .hero { min-height: 0; grid-template-columns: 1fr 0.72fr; }
  .hero-copy { padding-left: 46px; padding-right: 46px; }
  .return-grid, .card-grid { grid-template-columns: 1fr 1fr; }
  .credibility-strip { grid-template-columns: 1fr 1fr; }
  .credibility-strip div:nth-child(2) { border-right: 0; }
  .credibility-strip div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,0.14); }
  .partner-badge-grid { grid-template-columns: 1fr; }
  .fact-strip { grid-template-columns: 1fr; }
  .fact-strip div { min-height: 92px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.12); }
  .mission-summary { grid-template-columns: 1fr 1fr; }
  .footer-base { grid-template-columns: 1fr; }
  .footer-base span:nth-child(2) { text-align: left; }
  .footer-base span:last-child { justify-content: flex-start; }
  .frontier-grid { grid-template-columns: 1fr 1fr; }
  .funding-grid, .support-grid { grid-template-columns: 1fr 1fr; }
  .donation-chooser-head { grid-template-columns: 1fr; align-items: start; }
  .donation-band { grid-template-columns: 150px minmax(0, 1fr); }
  .individual-amounts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .individual-amounts .donation-any { grid-column: span 2; }
  .major-amounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracker-hero { grid-template-columns: minmax(0, 1fr) minmax(290px, 0.6fr); gap: 44px; }
  .tracker-notes { grid-template-columns: 1fr 1fr; }
  .tracker-notes article:nth-child(2) { border-right: 0; }
  .tracker-notes article:last-child { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,0.14); }
}

@media (max-width: 720px) {
  .site-header { min-height: 78px; padding: 0 18px; }
  .brand img { width: 42px; height: 42px; }
  .brand strong { font-size: 0.64rem; }
  .brand small { display: none; }
  .hero { display: flex; flex-direction: column; }
  .hero-copy { order: 1; padding: 50px 21px 54px; }
  .hero-figure { order: 2; min-height: 460px; }
  .hero h1 { font-size: clamp(3rem, 14vw, 4.45rem); }
  .actions { display: grid; }
  .button { width: 100%; }
  .proof-grid, .split, .return-grid, .page-hero, .card-grid, .story-grid, .two-column, .contact-grid { grid-template-columns: 1fr; }
  .frontier-grid, .funding-grid, .support-grid { grid-template-columns: 1fr; }
  .frontier-grid li { min-height: 116px; }
  .series-table article { grid-template-columns: 72px 1fr; gap: 18px; }
  .series-table article > strong { grid-column: 2; }
  .partner-badge-card { grid-template-columns: 126px minmax(0, 1fr); }
  .partner-badge-art { min-height: 166px; padding: 16px 12px 13px; }
  .partner-badge-art img { width: 96px; height: 96px; }
  .partner-badge-card > div:last-child { padding: 22px 20px 22px 4px; }
  .partner-confidence { grid-template-columns: 1fr; }
  .partner-confidence div { min-height: 88px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .partner-confidence div:last-child { border-bottom: 0; }
  .partner-inclusions { grid-template-columns: 1fr; }
  .partner-inclusions div { min-height: 100px; border-right: 0; border-bottom: 1px solid var(--line); }
  .partner-inclusions div:last-child { border-bottom: 0; }
  .current-opportunity-grid { grid-template-columns: 1fr; }
  .current-opportunity-grid div { min-height: 88px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.14); }
  .current-opportunity-grid div:last-child { border-bottom: 0; }
  .proof-card img { height: 330px; }
  .split-image { min-height: 460px; }
  .split-copy { padding: 58px 21px; }
  .page-hero { display: flex; flex-direction: column; }
  .page-hero-copy { order: 1; padding: 54px 21px 60px; }
  .page-hero > img { order: 2; height: 460px; }
  .page-hero h1, .section-heading h2, .split-copy h2, .cta h2 { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .route-list article { grid-template-columns: 1fr; gap: 12px; }
  .map-intro, .tracking-panel { grid-template-columns: 1fr; }
  .mission-map { height: 440px; }
  .mission-summary { grid-template-columns: 1fr; padding: 20px 21px; }
  .mission-summary div { border-left: 0; border-top: 1px solid rgba(255,255,255,0.13); }
  .mini-list li { grid-template-columns: 95px 1fr !important; }
  .footer-main { grid-template-columns: 1fr; }
  .credibility-strip { grid-template-columns: 1fr; }
  .credibility-strip div,
  .credibility-strip div:nth-child(2) { min-height: 88px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.14); }
  .credibility-strip div:last-child { border-bottom: 0; }
  .donation-chooser { margin-top: 38px; }
  .donation-chooser-head { padding: 30px 21px; }
  .donation-chooser-head h3 { font-size: clamp(2.45rem, 12vw, 3.55rem); }
  .donation-band { padding: 23px 21px; grid-template-columns: 1fr; gap: 16px; }
  .donation-band-label { grid-template-columns: auto 1fr; gap: 12px; align-items: baseline; }
  .individual-amounts,
  .major-amounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .individual-amounts .donation-any { grid-column: 1 / -1; }
  .donation-amounts a { min-height: 66px; }
  .donation-assurance { padding: 18px 21px; display: grid; gap: 8px; }
  .tracker-hero { padding: 58px 21px; grid-template-columns: 1fr; gap: 36px; }
  .tracker-hero h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .tracker-status-card { padding: 28px 23px; }
  .tracker-heading { grid-template-columns: 1fr; align-items: start; }
  .garmin-frame { min-height: 500px; }
  .garmin-frame iframe { height: 560px; }
  .garmin-placeholder { min-height: 500px; padding: 42px 21px; grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .signal-visual { width: 180px; height: 180px; }
  .signal-visual span:nth-child(2) { inset: 34px; }
  .tracker-actions { display: grid; }
  .tracker-notes { grid-template-columns: 1fr; }
  .tracker-notes article,
  .tracker-notes article:nth-child(2),
  .tracker-notes article:last-child { min-height: 0; grid-column: auto; border-right: 0; border-top: 1px solid rgba(255,255,255,0.14); }
  .tracker-notes article:first-child { border-top: 0; }
}

@media (max-width: 430px) {
  .partner-badge-grid { margin-top: 30px; gap: 12px; }
  .partner-badge-card { grid-template-columns: 108px minmax(0, 1fr); min-height: 154px; }
  .partner-badge-art { min-height: 151px; padding: 14px 10px 11px; }
  .partner-badge-art img { width: 82px; height: 82px; }
  .partner-badge-art small { max-width: 88px; text-align: center; line-height: 1.35; }
  .partner-badge-card > div:last-child { padding: 18px 16px 18px 3px; }
  .partner-badge-card h3 { font-size: 1.35rem; }
  .partner-badge-card p { font-size: 0.72rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button:hover, .button:focus-visible,
  .donation-amounts a:hover, .donation-amounts a:focus-visible { transform: none; }
}
