:root{
  --ink:#1E1C19; --stone:#625D55; --rule:#E4E0D8; --gold:#A8812F; --gold-soft:#D9C49A; --paper:#FFFFFF; --todo:#FFF1C2;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65}
a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:44rem;margin:0 auto;padding:0 1.5rem}
.top{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;padding-bottom:1.5rem}
.wordmark{font-family:var(--sans);font-weight:300;font-size:1.05rem;letter-spacing:.32em;text-decoration:none;color:var(--ink)}
.top nav a{font-family:var(--sans);font-size:.95rem;margin-left:1.25rem;text-decoration:none;color:var(--stone)}
.top nav a:hover{color:var(--ink)}
.ridge{display:block;width:100%;height:auto;margin-top:1rem}
h1,h2,h3{font-family:var(--sans);font-weight:400;line-height:1.2;color:var(--ink)}
.hero h1{font-size:clamp(2.4rem,7vw,3.6rem);font-weight:300;letter-spacing:-.01em;margin:2.5rem 0 1rem}
.hero p.lede{font-size:1.25rem;color:var(--stone);max-width:36rem;margin:0 0 2rem}
.signin{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 .75rem}
.btn{font-family:var(--sans);font-size:1rem;padding:.8rem 1.25rem;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper);color:var(--ink);text-decoration:none}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.note{font-family:var(--sans);font-size:.9rem;color:var(--stone);margin:0 0 3rem}
section{padding:2.25rem 0;border-top:1px solid var(--rule)}
section h2{font-size:1.5rem;margin:0 0 1rem}
.features{list-style:none;padding:0;margin:0}
.features li{padding:.6rem 0}
.features strong{font-family:var(--sans);font-weight:500}
.legal h1{font-size:clamp(2rem,6vw,2.8rem);font-weight:300;margin:2.5rem 0 .25rem}
.legal .effective{font-family:var(--sans);color:var(--stone);font-size:.95rem;margin:0 0 2rem}
.legal h2{font-size:1.3rem;margin:2.25rem 0 .5rem}
.legal ul{padding-left:1.25rem}
.legal li{margin:.35rem 0}
.callout{border-left:3px solid var(--gold);padding:.25rem 0 .25rem 1rem;margin:1.25rem 0}
mark.todo{background:var(--todo);color:var(--ink);padding:0 .2em}
footer{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1.5rem;padding-bottom:3rem;font-family:var(--sans);font-size:.9rem;color:var(--stone)}
footer a{color:var(--stone);margin-right:1rem}
@media (max-width:30rem){.top nav a{margin-left:.9rem}.wordmark{letter-spacing:.22em}}
