.foundation-home {
  --paper: #fbf8f1;
  --ink: #222f2a;
  --muted: #535e55;
  --blue: #315b49;
  --line: #d8d9cb;
  --serif: "PT Serif", Georgia, serif;
  --sans: "Source Sans 3", system-ui, sans-serif;
}
.foundation-home .header { padding-block: 25px; }
.foundation-home nav { display: flex; flex-wrap: wrap; font-size: .95rem; }
.foundation-home nav a { color: var(--ink); }
.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(230px, 1fr);
  align-items: center;
  gap: clamp(32px, 7vw, 110px);
  padding-block: clamp(44px, 7vw, 92px);
}
.home-hero h1 { margin: 0 0 24px; font-size: clamp(2.55rem, 5vw, 4.55rem); line-height: 1.08; }
.home-hero .intro { color: var(--muted); max-width: 36rem; }
.home-hero figure { margin: 0; }
.home-hero img {
  display: block;
  max-height: 420px;
  max-width: 100%;
  margin-inline: auto;
  border: 1px solid #bfb396;
  box-shadow: 0 14px 28px #302a1c24;
}
.home-hero figcaption { text-align: center; font-size: .8rem; margin-top: 16px; color: var(--muted); }
.home-hero figcaption a { display: block; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.foundation-home .primary:hover { background: #254638; }
.home-section { padding-block: clamp(40px, 6vw, 75px); }
.home-section h2 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.15; margin: 0 0 24px; }
.project-grid, .support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.project-card, .support-grid article {
  position: relative;
  padding: clamp(20px, 3vw, 35px);
  border: 1px solid var(--line);
  background: #fffdf8;
}
.project-card:hover, .project-card:focus-within { border-color: var(--blue); background: #f4f5ed; }
.project-card h3, .support-grid h3 { font-size: clamp(1.25rem, 2.6vw, 1.65rem); line-height: 1.25; margin: 0 0 12px; }
.project-card h3 a::after { content: ""; position: absolute; inset: 0; }
.project-card p, .support-grid p:last-child, .home-about p:last-child { margin-bottom: 0; }
.home-band { background: #eceee3; border-block: 1px solid var(--line); }
.home-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 28px; }
.home-footer { padding-block: 28px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }
.home-actions > a:not(.primary), .home-about a, .support-grid a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 700px) {
  .foundation-home .header { align-items: flex-start; flex-direction: column; gap: 16px; }
  .foundation-home nav { gap: 8px 18px; }
  .home-hero, .home-about, .project-grid, .support-grid { grid-template-columns: 1fr; }
  .home-hero img { max-height: 340px; }
  .home-about { gap: 0; }
}
