
:root{
  --paper:#f6f4ef;
  --paper-2:#fbfaf7;
  --ink:#1b1c19;
  --muted:#6d6c65;
  --line:#d8d4ca;
  --line-dark:#aaa69b;
  --soft:#ece9e1;
  --max:920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:20px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-underline-offset:4px}
button,.button,input{font:inherit}
button,.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--paper-2);
  padding:12px 22px;
  text-decoration:none;
  cursor:pointer;
  letter-spacing:.01em;
}
button:hover,.button:hover{opacity:.88}
button:disabled{opacity:.38;cursor:not-allowed}
.button.secondary{
  background:transparent;
  color:var(--ink);
}
.text-button{
  min-height:auto;
  padding:6px 0;
  border:0;
  background:transparent;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:4px;
}
.top{
  min-height:76px;
  padding:0 max(24px,4vw);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  font-family:Inter,Arial,sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.top a{text-decoration:none}
.top-nav{display:flex;gap:22px}
main{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  padding:72px 0 96px;
}
h1,h2,h3{
  font-weight:400;
  line-height:1.06;
  margin:0;
}
h1{font-size:clamp(48px,7vw,82px);max-width:14ch}
h2{font-size:clamp(34px,5vw,56px);max-width:17ch}
h3{font-size:32px}
p{margin:1em 0}
.eyebrow,.section-kicker,.movement-number,.price,.small,.quiet-help,footer,.review-value{
  font-family:Inter,Arial,sans-serif;
}
.eyebrow,.section-kicker,.movement-number{
  font-size:11px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--muted);
}
.section-kicker{margin:0 0 16px}
.lead{
  max-width:700px;
  font-size:clamp(23px,3vw,31px);
  line-height:1.38;
}
.small,.quiet-help{
  font-size:13px;
  line-height:1.65;
  color:var(--muted);
}
.state-card,.access-hero,.result-arrival,.legal-threshold,.intake-intro{
  padding:34px 0 58px;
  border-bottom:1px solid var(--line);
}
.primary-action,.action-row{margin-top:30px}
.action-row{display:flex;gap:12px;flex-wrap:wrap}
.recovery{
  margin-top:34px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:18px 0;
  font-family:Inter,Arial,sans-serif;
  font-size:13px;
}
.recovery summary{cursor:pointer}
.recovery form{
  padding:18px 0 6px;
  display:grid;
  gap:10px;
  max-width:520px;
}
input[type="email"]{
  width:100%;
  min-height:48px;
  border:1px solid var(--line-dark);
  background:var(--paper-2);
  padding:10px 12px;
  color:var(--ink);
}
.editions{padding:72px 0}
.editions>h2{margin-bottom:26px}
.edition{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(260px,1.5fr) auto;
  gap:28px;
  align-items:start;
  padding:32px 0;
  border-top:1px solid var(--line);
}
.edition:last-of-type{border-bottom:1px solid var(--line)}
.edition p{margin:.35em 0}
.price{font-size:12px;color:var(--muted);letter-spacing:.06em}
.legal-form{max-width:780px;margin-top:34px}
.choice{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.choice input{
  flex:0 0 auto;
  margin-top:7px;
}
.legal-choice,.privacy-choice{
  padding:18px 0;
  border-top:1px solid var(--line);
  font-family:Inter,Arial,sans-serif;
  font-size:13px;
  line-height:1.6;
}
.legal-choice:last-of-type,.privacy-choice{border-bottom:1px solid var(--line)}
.lattice-intake{margin-top:42px}
.movement{
  min-height:68vh;
  padding:42px 0 64px;
}
.movement-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-dark);
  border-radius:50%;
  margin:0 0 32px;
}
.movement fieldset{
  border:0;
  padding:0;
  margin:40px 0 0;
}
.answer-choice{
  position:relative;
  padding:20px 18px;
  border-top:1px solid var(--line);
  cursor:pointer;
  font-size:23px;
  line-height:1.35;
  transition:background .18s ease;
}
.answer-choice:last-child{border-bottom:1px solid var(--line)}
.answer-choice:hover{background:rgba(255,255,255,.28)}
.answer-choice input{
  margin-top:9px;
  accent-color:var(--ink);
}
.answer-choice:has(input:checked){
  background:var(--soft);
}
.movement-actions,.resolve-actions{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.movement-ack{
  max-width:720px;
  padding:70px 0 90px;
}
.movement-ack h2{max-width:13ch}
.review-panel{
  padding:54px 0 80px;
}
.review-list{
  margin:38px 0;
  border-top:1px solid var(--line);
}
.review-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.review-item .section-kicker{margin-bottom:8px}
.review-value{
  margin:0;
  font-size:14px;
  line-height:1.55;
  max-width:680px;
}
.privacy-choice{margin-top:36px}
.resolving-panel{
  min-height:55vh;
  padding:76px 0;
}
.method,.withdraw{
  margin-top:70px;
  padding-top:34px;
  border-top:1px solid var(--line);
  color:#4e4e49;
}
.method p:last-child{
  max-width:760px;
  font-size:16px;
  line-height:1.7;
}
.withdraw h2{font-size:34px;margin-bottom:20px}
#message{
  min-height:28px;
  margin-top:28px;
  font-family:Inter,Arial,sans-serif;
  font-size:13px;
  color:var(--muted);
}
footer{
  width:min(var(--max),calc(100% - 40px));
  margin:0 auto;
  padding:34px 0 58px;
  border-top:1px solid var(--line);
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
}
footer nav{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.sr-only{
  position:absolute;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

@media(max-width:720px){
  body{font-size:18px}
  main{width:min(var(--max),calc(100% - 28px));padding-top:48px}
  .top{padding:0 16px}
  .edition{grid-template-columns:1fr;gap:12px}
  .answer-choice{font-size:20px;padding:18px 10px}
  .movement{min-height:auto;padding:34px 0 48px}
  .movement-actions,.resolve-actions{align-items:stretch;flex-direction:column-reverse}
  .movement-actions button,.resolve-actions button{width:100%}
  .action-row{display:grid}
  .button{width:100%}
}
