@font-face { font-family: 'Manrope'; src: url('../fonts/manrope-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
  @font-face { font-family: 'Manrope'; src: url('../fonts/manrope-500.ttf') format('truetype'); font-weight: 500; font-display: swap; }
  *, *::before, *::after { box-sizing: border-box; }
  :root {
    --warm: #fafaf7;
    --parchment: #f0f1ed;
    --sand: #dfe2dc;
    --ink: #1f211f;
    --text: #535650;
    --muted: #60655d;
    --accent: #756248;
    --line: rgba(31, 33, 31, 0.17);
    --content: 1180px;
    --gutter: clamp(1.5rem, calc(12vw - 1.5rem), 12rem);
  }
  html { color-scheme: light; }
  body {
    margin: 0;
    background: var(--warm);
    color: var(--ink);
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.75;
  }
  img { max-width: 100%; }
  a { color: inherit; }
  :focus-visible { outline: 2px solid #55645a; outline-offset: 3px; }
  main { overflow: hidden; }
  .funding-hero {
    padding: clamp(4rem, 8vw, 7rem) var(--gutter) clamp(3rem, 6vw, 5rem);
    background: var(--parchment);
  }
  .hero-inner, .content-inner { width: min(var(--content), 100%); margin: 0 auto; }
  .eyebrow {
    margin: 0 0 1rem;
    color: var(--accent);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  h1, h2, .amount {
    font-family: Charter, 'Bitstream Charter', Georgia, serif;
    font-style: normal;
    font-weight: 400;
  }
  h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1.08;
    letter-spacing: 0;
  }
  .hero-lead {
    max-width: 760px;
    margin: 1.5rem 0 0;
    color: var(--text);
    font-size: clamp(16px, 1.8vw, 20px);
  }
  .funding-banner {
    display: block;
    margin-top: clamp(2.5rem, 5vw, 4rem);
    padding: clamp(0.75rem, 2vw, 1.25rem);
    background: #fff;
  }
  .funding-banner img { display: block; width: 100%; height: auto; }
  .content { padding: clamp(4rem, 8vw, 7rem) var(--gutter); }
  .project-title {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.55fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
    padding-bottom: clamp(3rem, 6vw, 5rem);
  }
  h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.15; }
  .official-title { margin: 0; color: var(--text); font-size: clamp(16px, 2vw, 20px); line-height: 1.65; }
  .details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .detail { padding: clamp(2.25rem, 4vw, 4rem) 0; }
  .detail:first-child { padding-right: clamp(2rem, 5vw, 5rem); }
  .detail + .detail { padding-left: clamp(2rem, 5vw, 5rem); border-left: 1px solid var(--line); }
  .detail p { margin: 1rem 0 0; color: var(--text); }
  .detail p + p { margin-top: 1.25rem; }
  .figures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: clamp(3.5rem, 7vw, 6rem);
    background: var(--line);
    border: 1px solid var(--line);
  }
  .figure { padding: clamp(2rem, 5vw, 4rem); background: var(--sand); }
  .figure p { margin: 0 0 0.65rem; color: var(--muted); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
  .amount { display: block; font-size: clamp(34px, 5vw, 58px); line-height: 1.1; }
  .source { max-width: 780px; margin-top: clamp(3rem, 6vw, 5rem); }
  .source p { margin: 1rem 0 0; color: var(--text); }
  .tags { color: var(--accent) !important; }
  @media (max-width: 720px) {
    .project-title, .details, .figures { grid-template-columns: 1fr; }
    .project-title { gap: 1.25rem; }
    .detail:first-child { padding-right: 0; }
    .detail + .detail { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
    .funding-banner { margin-right: -1.5rem; margin-left: -1.5rem; padding: 0.65rem 1rem; }
  }
