:root{ --ink:#1B2E28; --paper:#EDE6D6; --paper-light:#F6F2E8; --ochre:#B98A26; --gold:#E0B04A; --slate:#2F4858; --line:#c9bfa4; --cream:#F3EDE0; }
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--paper-light); color:var(--ink); font-family:'Inter', sans-serif; line-height:1.65;}
a{color:var(--ink); text-decoration-color:var(--ochre); text-underline-offset:3px;}
.topbar{background:var(--ink); padding:16px;}
.topbar .in{max-width:780px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
.logo{font-family:'JetBrains Mono', monospace; font-size:14px; letter-spacing:.06em; font-weight:500; color:var(--cream); text-decoration:none;}
.logo b{color:var(--gold);}
.topbar .cta{background:var(--gold); color:var(--ink); padding:9px 14px; font-weight:600; font-size:14px; text-decoration:none;}
.doc{max-width:740px; margin:0 auto; padding:44px 20px 24px;}
.kicker{font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ochre);}
h1{font-family:'Newsreader', serif; font-weight:500; font-size:clamp(30px, 5vw, 40px); line-height:1.15; margin:10px 0 12px;}
.lead{font-family:'Newsreader', serif; font-size:20px; line-height:1.5; color:var(--slate);}
h2{font-family:'Newsreader', serif; font-weight:500; font-size:23px; margin:30px 0 8px; padding-top:14px; border-top:1px solid var(--line);}
p{margin:8px 0; font-size:15.5px;}
ol, ul{margin:8px 0 8px 22px; font-size:15.5px;}
li{margin:6px 0;}
.card{display:grid; grid-template-columns:auto 1fr; gap:6px 18px; background:var(--paper); padding:16px 18px; margin:10px 0; font-size:15px;}
.card dt{color:var(--slate);}
.card dd{font-weight:500;}
.form-sample{margin:14px 0; padding:16px 18px; border:1px dashed var(--line); background:#fff; font-size:14.5px;}
.tbl{overflow-x:auto; margin:10px 0;}
table{border-collapse:collapse; font-size:14px; min-width:560px; width:100%;}
th, td{text-align:left; vertical-align:top; padding:8px 10px 8px 0; border-bottom:1px solid var(--line);}
th{font-weight:600; color:var(--slate);}
footer{max-width:740px; margin:0 auto; padding:24px 20px 48px; border-top:1px solid var(--line); font-size:13px; color:var(--slate);}
@media(max-width:520px){ .card{grid-template-columns:1fr; gap:2px;} .card dd{margin-bottom:8px;} }
