  :root{
    --forest:#1F3A32;
    --moss:#506B5B;
    --sage:#A9B8A7;
    --stone:#EAE7E1;
    --ivory:#F7F5F1;
    --charcoal:#232323;
    --ink:#2B2B28;
    --hairline:rgba(31,58,50,.18);
    --hairline-light:rgba(247,245,241,.22);
    --display:'Newsreader', Georgia, serif;
    --body:'Figtree', -apple-system, 'Segoe UI', sans-serif;
    --measure:62ch;
    --pad-x:clamp(1.5rem, 6vw, 5rem);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body);
    background:var(--ivory);
    color:var(--ink);
    font-size:1.0625rem;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  ::selection{background:var(--sage);color:var(--forest);}

  /* ——— utilities ——— */
  .eyebrow{
    font-family:var(--body);
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--moss);
  }
  .dark .eyebrow{color:var(--sage);}
  .measure{max-width:var(--measure);}
  .center{margin-left:auto;margin-right:auto;text-align:center;}

  .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    *{animation:none!important;transition:none!important;}
    html{scroll-behavior:auto;}
  }

  /* ——— header ——— */
  header{
    position:absolute;top:0;left:0;right:0;
    display:flex;justify-content:space-between;align-items:center;
    padding:1.75rem var(--pad-x);
    z-index:10;
  }
  .wordmark{
    font-family:var(--display);
    font-weight:400;
    font-size:1.05rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--forest);
    text-decoration: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);text-decoration:none;border-bottom:1px solid var(--hairline);
    padding-bottom:2px;
  }
  header .header-link:hover{color:var(--forest);border-color:var(--forest);}

  /* ——— hero ——— */
  .hero{
    min-height:100svh;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;
    padding:8rem var(--pad-x) 6rem;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(120% 80% at 50% 115%, rgba(169,184,167,.38) 0%, rgba(169,184,167,0) 55%),
      radial-gradient(90% 60% at 50% -20%, rgba(234,231,225,.9) 0%, rgba(247,245,241,0) 70%),
      var(--ivory);
  }
  .hero::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:38vh;
    background:linear-gradient(to top, rgba(80,107,91,.10), rgba(80,107,91,0));
    pointer-events:none;
  }
  .breath{
    width:46px;height:1px;background:var(--moss);
    margin-bottom:2.6rem;
    animation:breathe 9s ease-in-out infinite;
    transform-origin:center;
  }
  @keyframes breathe{
    0%,100%{transform:scaleX(1);opacity:.55;}
    50%{transform:scaleX(2.6);opacity:1;}
  }
  .hero h1{
    font-family:var(--display);
    font-weight:300;
    font-size:clamp(2.3rem, 5.6vw, 4.4rem);
    line-height:1.14;
    letter-spacing:-0.01em;
    color:var(--forest);
    max-width:18ch;
    margin-bottom:1.8rem;
  }
  .hero h1 em{font-style:italic;font-weight:300;}
  .hero .sub{
    max-width:52ch;
    color:var(--ink);
    font-size:clamp(1rem, 1.4vw, 1.15rem);
    margin-bottom:3rem;
  }
  .hero .quiet-note{
    margin-top:1.1rem;
    font-size:.8rem;color:var(--moss);
  }

  /* ——— form ——— */
  .signup{width:100%;max-width:30rem;}
  .signup form{
    display:flex;gap:.5rem;
    background:#fff;
    border:1px solid var(--hairline);
    border-radius:2px;
    padding:.4rem;
    transition:border-color .25s ease, box-shadow .25s ease;
  }
  .signup form:focus-within{
    border-color:var(--moss);
    box-shadow:0 6px 24px rgba(31,58,50,.08);
  }
  .signup input[type=email]{
    flex:1;min-width:0;
    border:0;outline:none;background:transparent;
    font-family:var(--body);font-size:16px;color:var(--charcoal);
    padding:.7rem .9rem;
  }
  .signup input::placeholder{color:rgba(43,43,40,.42);}
  .btn{
    font-family:var(--body);font-weight:600;
    font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
    background:var(--forest);color:var(--ivory);
    border:1px solid var(--forest);
    border-radius:2px;
    padding:.85rem 1.4rem;
    cursor:pointer;white-space:nowrap;
    transition:background .25s ease, transform .15s ease;
  }
  .btn:hover{background:#2A4A40;}
  .btn:active{transform:translateY(1px);}
  .btn:focus-visible, .signup input:focus-visible, a:focus-visible, summary:focus-visible{
    outline:2px solid var(--moss);outline-offset:3px;
  }
  .signup .success{
    display:none;
    border:1px solid var(--hairline);
    border-radius:2px;
    background:#fff;
    padding:1.6rem 1.5rem;
    text-align:center;
  }
  .signup.done form{display:none;}
  .signup.done .success{display:block;}
  .success h3{
    font-family:var(--display);font-weight:400;font-size:1.45rem;
    color:var(--forest);margin-bottom:.4rem;
  }
  .success p{font-size:.92rem;color:var(--ink);}

  .dark .signup form{background:rgba(247,245,241,.06);border-color:var(--hairline-light);}
  .dark .signup form:focus-within{border-color:var(--sage);box-shadow:none;}
  .dark .signup input[type=email]{color:var(--ivory);}
  .dark .signup input::placeholder{color:rgba(247,245,241,.45);}
  .dark .btn{background:var(--ivory);color:var(--forest);border-color:var(--ivory);}
  .dark .btn:hover{background:var(--stone);}
  .dark .signup .success{background:rgba(247,245,241,.06);border-color:var(--hairline-light);}
  .dark .success h3{color:var(--ivory);}
  .dark .success p{color:var(--stone);}

  /* ——— generic section ——— */
  section{padding:clamp(5rem, 11vw, 8.5rem) var(--pad-x);}
  .section-head{margin-bottom:3.5rem;}
  .section-head h2{
    font-family:var(--display);font-weight:300;
    font-size:clamp(1.9rem, 3.6vw, 2.9rem);
    line-height:1.2;color:var(--forest);
    margin-top:1rem;
    max-width:24ch;
  }
  .dark .section-head h2{color:var(--ivory);}

  /* ——— the space nobody talks about ——— */
  .space{background:var(--stone);}
  .litany{
    max-width:46rem;margin:0 auto;
    display:flex;flex-direction:column;gap:clamp(1.8rem, 4vw, 3rem);
  }
  .litany p{
    font-family:var(--display);
    font-weight:300;
    font-style:italic;
    font-size:clamp(1.45rem, 3vw, 2.2rem);
    line-height:1.35;
    color:var(--forest);
  }
  .litany p:nth-child(even){text-align:right;color:var(--moss);}
  .space .after{
    max-width:var(--measure);
    margin:clamp(3.5rem, 7vw, 5.5rem) auto 0;
    text-align:center;
  }
  .space .after p{font-size:1.08rem;}
  .space .after p + p{margin-top:1.1rem;}
  .space .after strong{font-weight:600;color:var(--forest);}

  /* ——— founder ——— */
  .founder{background:var(--ivory);}
  .founder-inner{max-width:40rem;margin:0 auto;}
  .founder-inner .rule{width:46px;height:1px;background:var(--moss);margin:0 0 2.4rem;}
  .founder-inner p{margin-bottom:1.25rem;}
  .founder-inner p.lead{
    font-family:var(--display);font-weight:300;
    font-size:clamp(1.35rem, 2.4vw, 1.7rem);line-height:1.45;color:var(--forest);
    margin-bottom:1.75rem;
  }
  .founder-sig{
    margin-top:2.4rem;
    font-family:var(--display);font-style:italic;font-size:1.15rem;color:var(--forest);
  }
  .founder-sig span{
    display:block;font-family:var(--body);font-style:normal;
    font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
    color:var(--moss);margin-top:.35rem;
  }
  .text-link{
    color:var(--forest);text-decoration:none;
    border-bottom:1px solid var(--hairline);padding-bottom:1px;
    transition:border-color .25s ease;
  }
  .text-link:hover{border-color:var(--forest);}

  /* ——— excerpt ——— */
  .excerpt{background:var(--stone);text-align:center;}
  .excerpt blockquote{
    font-family:var(--display);font-weight:300;font-style:italic;
    font-size:clamp(1.5rem, 3vw, 2.2rem);line-height:1.45;
    color:var(--forest);max-width:30ch;margin:1.6rem auto 2rem;
  }
  .excerpt cite{
    display:block;font-style:normal;
    font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--moss);
  }
  .excerpt .read-more{margin-top:1.8rem;font-size:.95rem;}

  /* ——— what we're building ——— */
  .building{background:var(--ivory);}
  .building-list{max-width:46rem;margin:0 auto;}
  .building-item{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.4rem 2rem;
    align-items:baseline;
    padding:1.9rem 0;
    border-bottom:1px solid var(--hairline);
  }
  .building-item:first-child{border-top:1px solid var(--hairline);}
  .building-item h3{
    font-family:var(--display);font-weight:400;
    font-size:clamp(1.3rem, 2.2vw, 1.65rem);color:var(--forest);
  }
  .building-item .status{
    font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
    color:var(--moss);
  }
  .building-item p{
    grid-column:1 / -1;
    font-size:.96rem;color:rgba(43,43,40,.78);
    max-width:54ch;
  }
  .building-note{
    max-width:46rem;margin:2.6rem auto 0;
    font-size:.92rem;color:var(--moss);text-align:center;
  }

  /* ——— founding members ——— */
  .founding{background:var(--forest);color:var(--stone);}
  .founding-inner{max-width:46rem;margin:0 auto;}
  .founding p.intro{
    font-family:var(--display);font-weight:300;
    font-size:clamp(1.3rem, 2.3vw, 1.65rem);line-height:1.45;color:var(--ivory);
    margin-bottom:3rem;max-width:34ch;
  }
  .benefits{list-style:none;}
  .benefits li{
    display:flex;align-items:baseline;gap:1.4rem;
    padding:1.15rem 0;
    border-bottom:1px solid var(--hairline-light);
    font-size:1rem;
  }
  .benefits li:first-child{border-top:1px solid var(--hairline-light);}
  .benefits li::before{
    content:"";flex:0 0 18px;height:1px;background:var(--sage);
    position:relative;top:-4px;
  }
  .benefits li strong{color:var(--ivory);font-weight:600;}
  .founding .signup{margin:3rem auto 0;}
  .founding .small-print{margin-top:1.2rem;font-size:.8rem;color:var(--sage);text-align:center;}
  .after-join{
    margin-top:2.6rem;padding-top:1.8rem;
    border-top:1px solid var(--hairline-light);
  }
  .after-join h4{
    font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
    color:var(--sage);margin-bottom:1rem;
  }
  .after-join ol{
    list-style:none;counter-reset:step;
    display:flex;flex-direction:column;gap:.6rem;
  }
  .after-join li{
    counter-increment:step;
    font-size:.95rem;color:var(--stone);
    display:flex;gap:1rem;align-items:baseline;
  }
  .after-join li::before{
    content:counter(step);
    font-family:var(--display);font-style:italic;
    color:var(--sage);flex:0 0 1rem;
  }

  /* ——— philosophy ——— */
  .philosophy{background:var(--stone);text-align:center;}
  .philosophy blockquote{
    font-family:var(--display);font-weight:300;
    font-size:clamp(1.8rem, 4vw, 3rem);line-height:1.3;
    color:var(--forest);max-width:24ch;margin:1rem auto 2.4rem;
  }
  .philosophy blockquote em{font-style:italic;}
  .philosophy .bridge{max-width:56ch;margin:0 auto;font-size:1.05rem;}
  .philosophy .bridge p + p{margin-top:1.1rem;}

  /* ——— faq ——— */
  .faq{background:var(--ivory);}
  .faq-list{max-width:42rem;margin:0 auto;}
  .faq details{border-bottom:1px solid var(--hairline);}
  .faq details:first-of-type{border-top:1px solid var(--hairline);}
  .faq summary{
    cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;
    padding:1.5rem 0;
    font-family:var(--display);font-weight:400;
    font-size:clamp(1.15rem, 2vw, 1.4rem);color:var(--forest);
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{
    content:"+";font-family:var(--display);font-weight:300;
    color:var(--moss);font-size:1.4rem;transition:transform .25s ease;
  }
  .faq details[open] summary::after{transform:rotate(45deg);}
  .faq details p{
    padding:0 0 1.6rem;
    font-size:.98rem;color:rgba(43,43,40,.82);max-width:56ch;
  }

  /* ——— final CTA ——— */
  .final{
    background:
      radial-gradient(110% 70% at 50% 120%, rgba(80,107,91,.55) 0%, rgba(31,58,50,0) 60%),
      var(--forest);
    text-align:center;
    padding-top:clamp(6.5rem, 13vw, 10rem);
    padding-bottom:clamp(6.5rem, 13vw, 10rem);
  }
  .ring{
    width:64px;height:64px;border:1px solid var(--sage);border-radius:50%;
    margin:0 auto 2.8rem;
    animation:ring 9s ease-in-out infinite;
  }
  @keyframes ring{
    0%,100%{transform:scale(1);opacity:.5;}
    50%{transform:scale(1.22);opacity:1;}
  }
  .final h2{
    font-family:var(--display);font-weight:300;
    font-size:clamp(2rem, 4.4vw, 3.4rem);line-height:1.2;color:var(--ivory);
    max-width:22ch;margin:0 auto 1.4rem;
  }
  .final h2 em{font-style:italic;}
  .final .sub{color:var(--stone);max-width:46ch;margin:0 auto 3rem;}
  .final .signup{margin:0 auto;}

  /* ——— footer ——— */
  footer{
    background:var(--forest);
    border-top:1px solid var(--hairline-light);
    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);text-decoration:none;
  }
  footer nav a:hover{color:var(--ivory);}
  footer p{font-size:.78rem;color:var(--sage);width:100%;}

  @media (max-width:640px){
    .signup form{flex-direction:column;}
    .btn{width:100%;padding:1rem 1.4rem;}
    .litany p:nth-child(even){text-align:left;}
    .building-item{grid-template-columns:1fr;}
    header{padding:1.4rem var(--pad-x);}
    .hero{padding-top:7rem;}
    footer{justify-content:flex-start;}
  }
  @media (max-width:400px){
    header .wordmark{font-size:.88rem;letter-spacing:.09em;}
  }

  /* ——— Kit (kit.com) embedded form theming ——————————————————————
     The Kit script injects its own <form> markup at each .kit-embed.
     These rules neutralise the old custom-form container styling and
     nudge Kit's form toward the Between Appointments™ palette, in both
     light and dark sections. The form's base layout is configured in
     the Kit dashboard; confirm appearance once after deploy. ———————— */
  .kit-embed{width:100%;max-width:30rem;margin-left:auto;margin-right:auto;}
  .kit-embed form,
  .kit-embed .formkit-form{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
  }
  /* email input */
  .kit-embed input[type="email"],
  .kit-embed input[type="text"],
  .kit-embed .formkit-input{
    font-family:var(--body)!important;
    font-size:16px!important;
    line-height:1.4!important;
    color:var(--charcoal)!important;
    background:#fff!important;
    border:1px solid var(--hairline)!important;
    border-radius:2px!important;
    padding:.95rem 1rem!important;
    width:100%!important;
    box-shadow:none!important;
  }
  .kit-embed input::placeholder{color:rgba(43,43,40,.42)!important;}
  .kit-embed input[type="email"]:focus,
  .kit-embed .formkit-input:focus{
    outline:none!important;
    border-color:var(--moss)!important;
  }
  /* submit button */
  .kit-embed button,
  .kit-embed .formkit-submit{
    font-family:var(--body)!important;
    font-weight:600!important;
    font-size:.8rem!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    color:var(--ivory)!important;
    background:var(--forest)!important;
    border:1px solid var(--forest)!important;
    border-radius:2px!important;
    padding:.95rem 1.4rem!important;
    cursor:pointer!important;
    transition:background .25s ease!important;
  }
  .kit-embed button:hover,
  .kit-embed .formkit-submit:hover{background:#2A4A40!important;}
  .kit-embed .formkit-submit > span,
  .kit-embed .formkit-submit > div{color:var(--ivory)!important;}
  /* keep Kit's own disclaimer / powered-by quiet and on-palette */
  .kit-embed .formkit-guarantee,
  .kit-embed .formkit-powered-by-convertkit,
  .kit-embed .formkit-disclaimer{
    font-family:var(--body)!important;
    font-size:.78rem!important;
    color:var(--moss)!important;
  }

  /* dark sections (founding + final): light field, inverted button */
  .dark .kit-embed input[type="email"],
  .dark .kit-embed input[type="text"],
  .dark .kit-embed .formkit-input{
    background:rgba(247,245,241,.06)!important;
    border-color:var(--hairline-light)!important;
    color:var(--ivory)!important;
  }
  .dark .kit-embed input::placeholder{color:rgba(247,245,241,.45)!important;}
  .dark .kit-embed input[type="email"]:focus,
  .dark .kit-embed .formkit-input:focus{border-color:var(--sage)!important;}
  .dark .kit-embed button,
  .dark .kit-embed .formkit-submit{
    background:var(--ivory)!important;
    color:var(--forest)!important;
    border-color:var(--ivory)!important;
  }
  .dark .kit-embed button:hover,
  .dark .kit-embed .formkit-submit:hover{background:var(--stone)!important;}
  .dark .kit-embed .formkit-submit > span,
  .dark .kit-embed .formkit-submit > div{color:var(--forest)!important;}
  .dark .kit-embed .formkit-guarantee,
  .dark .kit-embed .formkit-powered-by-convertkit,
  .dark .kit-embed .formkit-disclaimer{color:var(--sage)!important;}
