:root{
  --paper:#FAF6EF; --ink:#232019; --muted:#6d6353; --faint:#857a66;
  --line:#e5dccb; --line2:#cfc4ad; --wine:#7A2E2E; --gold:#B08A3E;
  --card:#ffffff; --sand:#f3ece0;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Public Sans',-apple-system,Segoe UI,Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:640px;margin:0 auto;padding:0 22px 60px}
h1,h2,h3,.serif{font-family:'Spectral',Georgia,'Times New Roman',serif;font-weight:800}
h1{font-size:1.85em;line-height:1.28;margin-bottom:14px}
h2{font-size:1.3em;line-height:1.35;margin-bottom:12px}
h3{font-size:1.1em;margin-bottom:8px}
p{margin-bottom:12px}
a{color:var(--wine)}
a:hover{color:#5c2222}
.top{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 22px;border-bottom:1px solid var(--line);
  max-width:640px;margin:0 auto;
}
.brand{font-family:'Spectral',Georgia,serif;font-weight:800;font-size:1.2em;text-decoration:none;color:var(--ink)}
.stamp{font-size:.72em;color:var(--muted);border:1px solid var(--line2);border-radius:3px;padding:3px 8px}
section{padding:26px 0;border-bottom:1px solid var(--line)}
section:last-child{border-bottom:0}
.sub{color:var(--muted)}
.small{font-size:.85em;color:var(--faint)}
.btn{
  display:block;width:100%;min-height:54px;background:var(--ink);color:var(--paper);
  border:0;border-radius:8px;font:inherit;font-weight:700;font-size:1.02em;
  padding:14px 18px;text-align:center;text-decoration:none;cursor:pointer;
}
.btn:hover,.btn:focus{background:#3a342a;color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line2)}
.btn.ghost:hover{background:var(--sand);color:var(--ink)}
.risk{font-size:.82em;color:var(--muted);text-align:center;margin-top:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px}
.card.sand{background:var(--sand);border-color:#ddd0b8}
.rule{border-left:3px solid var(--gold);background:var(--card);padding:13px 15px;margin:14px 0}
.kicker{font-size:.72em;font-weight:700;letter-spacing:.08em;color:var(--wine);text-transform:uppercase;margin-bottom:10px}
.costs div{display:flex;justify-content:space-between;padding:7px 0}
.costs div+div{border-top:1px solid var(--line)}
.costs b{font-weight:700}
ul.plain{list-style:none}
ul.plain li{padding-right:0;padding-left:22px;position:relative;margin-bottom:8px}
ul.plain li:before{content:"";position:absolute;left:4px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.opt{
  display:block;width:100%;text-align:left;background:var(--card);
  border:1.5px solid var(--line2);border-radius:9px;font:inherit;font-size:1em;
  padding:14px 16px;margin-bottom:9px;cursor:pointer;line-height:1.45;
}
.opt:hover,.opt:focus{border-color:var(--ink);background:#fffdf8}
.back{background:none;border:0;font:inherit;font-size:.88em;color:var(--muted);text-decoration:underline;cursor:pointer;padding:6px 0}
.prog{height:3px;background:var(--line);margin-bottom:22px}
.prog i{display:block;height:100%;background:var(--wine);transition:width .25s}
.count{font-size:.8em;color:var(--muted);margin-bottom:8px}
.foot{max-width:640px;margin:0 auto;padding:22px;border-top:1px solid var(--line);font-size:.78em;color:var(--faint)}
.foot a{color:var(--faint);margin-right:10px}
.hide{display:none}
@media(min-width:700px){body{font-size:17.5px}}
