  :root{
    --forest:#1F3A32;
    --moss:#506B5B;
    --sage:#A9B8A7;
    --stone:#EAE7E1;
    --ivory:#F7F5F1;
    --ink:#2B2B28;
    --hairline:rgba(31,58,50,.18);
    --display:'Newsreader', Georgia, serif;
    --body:'Figtree', -apple-system, 'Segoe UI', sans-serif;
    --pad-x:clamp(1.5rem, 6vw, 5rem);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    font-family:var(--body);
    background:var(--ivory);
    color:var(--ink);
    font-size:1.0625rem;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--sage);color:var(--forest);}
  a{color:var(--forest);text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:1px;}
  a:hover{border-color:var(--forest);}
  a:focus-visible{outline:2px solid var(--moss);outline-offset:3px;}

  header{
    display:flex;justify-content:space-between;align-items:center;
    padding:1.75rem var(--pad-x);
  }
  .wordmark{
    font-family:var(--display);font-weight:400;font-size:1.05rem;
    letter-spacing:.14em;text-transform:uppercase;color:var(--forest);
    border:none;
  }
  .wordmark sup{font-size:.5em;letter-spacing:0;}
  header .header-link{
    font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--moss);
  }
  header .header-link:hover{color:var(--forest);}

  main{
    max-width:40rem;
    margin:0 auto;
    padding:clamp(3rem, 8vw, 6rem) var(--pad-x) clamp(5rem, 10vw, 8rem);
  }
  .eyebrow{
    font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
    color:var(--moss);margin-bottom:1rem;
  }
  h1{
    font-family:var(--display);font-weight:300;
    font-size:clamp(2.2rem, 5vw, 3.2rem);line-height:1.15;
    color:var(--forest);margin-bottom:1.4rem;
  }
  .intro{
    font-family:var(--display);font-weight:300;font-style:italic;
    font-size:clamp(1.2rem, 2.2vw, 1.45rem);line-height:1.5;
    color:var(--moss);margin-bottom:1rem;
  }
  .updated{font-size:.8rem;color:var(--moss);margin-bottom:3.5rem;}
  h2{
    font-family:var(--display);font-weight:400;
    font-size:clamp(1.35rem, 2.4vw, 1.65rem);color:var(--forest);
    margin:3rem 0 .9rem;
    padding-top:2.4rem;
    border-top:1px solid var(--hairline);
  }
  p{margin-bottom:1.1rem;}
  ul{margin:0 0 1.1rem 1.2rem;}
  li{margin-bottom:.5rem;}
  .closing{
    margin-top:3.5rem;padding-top:2.4rem;border-top:1px solid var(--hairline);
    font-family:var(--display);font-weight:300;font-style:italic;
    font-size:1.2rem;color:var(--forest);
  }
  footer{
    background:var(--forest);
    padding:2.4rem var(--pad-x);
    display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;
  }
  footer .wordmark{color:var(--stone);font-size:.85rem;}
  footer nav{display:flex;gap:1.6rem;}
  footer nav a{
    font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
    color:var(--sage);border:none;
  }
  footer nav a:hover{color:var(--ivory);}
  footer p{font-size:.78rem;color:var(--sage);width:100%;margin:0;}
  @media (max-width:640px){
    footer{justify-content:flex-start;}
    /* Hide the secondary "Waitlist" link on phones so the header never clips.
       Wordmark stays full size; stacks to two lines if a screen is very narrow. */
    header .header-link{display:none;}
    header{justify-content:flex-start;}
    .wordmark{line-height:1.18;}
  }
