:root{
    --paper:#FCFCFA;
    --ink:#16201C;
    --ink-soft:#4E5A54;
    --green:#1F4736;
    --green-lift:#2A5D46;
    --rule:#DEDFD8;
    --highlight:#EDF1EC;
    --measure:34rem;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:"Source Serif 4",Georgia,serif;
    font-size:17.5px;line-height:1.62;
  }
  .wrap{max-width:60rem;margin:0 auto;padding:0 1.6rem}
  section{padding:3.6rem 0;border-top:1px solid var(--rule)}
  h1,h2,h3,.cta,.fineprint,.bar{font-family:"Libre Franklin",system-ui,sans-serif}
  h1,h2,h3{margin:0;letter-spacing:-.018em}
  h1{font-size:clamp(2rem,4.6vw,3rem);line-height:1.09;font-weight:700}
  h2{font-size:clamp(1.42rem,2.8vw,1.9rem);line-height:1.2;font-weight:700;margin-bottom:1.15rem}
  h3{font-size:1.03rem;font-weight:600;line-height:1.4;margin-bottom:.2rem}
  p{max-width:var(--measure);margin:0 0 .9rem}
  p:last-child{margin-bottom:0}

  .bar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.5rem 0 0}
  .bar .name{font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
  .bar nav a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;margin-left:1.35rem}
  .bar nav a:hover{color:var(--green)}

  .hero{display:grid;grid-template-columns:1.4fr .6fr;gap:2.75rem;align-items:start;padding:3.2rem 0 3rem}
  .hero p{font-size:1.03rem;margin-top:1.15rem}
  .portrait{display:block;width:100%;height:auto;border-radius:3px}
  @media (max-width:720px){
    .hero{grid-template-columns:1fr;gap:1.75rem}
    .portrait{max-width:14rem}
  }

  .cta{
    display:inline-block;margin-top:1.7rem;padding:.85rem 1.7rem;
    background:var(--green);color:#fff;text-decoration:none;
    font-weight:600;font-size:.98rem;border-radius:4px;
    box-shadow:0 1px 0 rgba(0,0,0,.18);
  }
  .cta:hover{background:var(--green-lift)}
  .cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
  .fineprint{margin-top:.75rem;font-size:.87rem;color:var(--ink-soft);max-width:26rem}

  ul.spots{list-style:none;margin:0;padding:0;max-width:42rem}
  ul.spots li{padding:.8rem 0;border-bottom:1px solid var(--rule);font-size:1.05rem;line-height:1.45}
  ul.spots li:first-child{border-top:1px solid var(--rule)}
  .aftermath{margin-top:1.25rem;color:var(--ink-soft)}

  .pull{
    background:var(--highlight);border-left:4px solid var(--green);
    padding:1.15rem 1.4rem;margin:1.6rem 0 1rem;max-width:36rem;
    font-weight:600;font-size:1.1rem;
  }
  .result{font-weight:600;color:var(--green);font-size:1.06rem}
  .plainly{color:var(--ink-soft)}
  .case+.case{margin-top:2.1rem;padding-top:2.1rem;border-top:1px solid var(--rule)}

  .why > div{margin-bottom:1.6rem;max-width:37rem}
  .why > div:last-child{margin-bottom:0}
  .why p{margin:0;color:var(--ink-soft)}

  .offer{max-width:37rem}
  .offer ul{padding-left:1.1rem;margin:1.05rem 0}
  .offer li{margin-bottom:.7rem}
  .subhead{margin-top:2.4rem}

  .qa{max-width:37rem}
  .qa > div{margin-bottom:1.5rem}
  .qa > div:last-child{margin-bottom:0}
  .qa p{margin:0;color:var(--ink-soft)}

  footer{padding:3.8rem 0 4.75rem;border-top:1px solid var(--rule)}
  footer .loc{margin-top:1.7rem;font-size:.9rem;color:var(--ink-soft);max-width:34rem}

  footer .loc a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(31,71,54,.3)}
  footer .loc a:hover{border-bottom-color:var(--green)}

  h1.page-title{font-size:clamp(1.42rem,2.8vw,1.9rem);line-height:1.2;font-weight:700;letter-spacing:-.018em}
