/* Hand-written styles (no CDN, no build tooling). */
:root{
  --brand-50:#eff6ff;--brand-100:#dbeafe;--brand-500:#3b82f6;--brand-600:#2563eb;--brand-700:#1d4ed8;--brand-900:#1e3a8a;
  --g50:#f9fafb;--g100:#f3f4f6;--g200:#e5e7eb;--g300:#d1d5db;--g400:#9ca3af;--g500:#6b7280;--g600:#4b5563;--g700:#374151;--g800:#1f2937;--g900:#111827;
  --green:#16a34a;--red:#ef4444;--amber-50:#fffbeb;--amber-200:#fde68a;--amber-900:#78350f;
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--g50);color:var(--g900);line-height:1.5;min-height:100vh}
a{color:var(--brand-700)}
h1{font-size:1.6rem;line-height:1.25;margin:0 0 .5rem}
h2{font-size:1.25rem;margin:1.75rem 0 .5rem}
h3{font-size:1rem;margin:0 0 .75rem}
p{margin:0 0 1rem}
.muted{color:var(--g600)}
.small{font-size:.875rem}.xs{font-size:.75rem}
.wrap{max-width:34rem;margin:0 auto;padding:1.5rem 1rem}
.wrap.wide{max-width:46rem}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--g200);position:sticky;top:0;z-index:10}
.site-header .inner{max-width:46rem;margin:0 auto;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--g900);font-weight:600;font-size:1.1rem}
.logo-mark{width:2rem;height:2rem;border-radius:.5rem;background:var(--brand-600);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}
.nav{display:flex;gap:1rem;font-size:.875rem}
.nav a{color:var(--g600);text-decoration:none}.nav a:hover,.nav a[aria-current]{color:var(--brand-700)}

/* cards & boxes */
.card{background:#fff;border:1px solid var(--g200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}
.note{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:12px;padding:1rem;color:var(--brand-900);font-size:.9rem;margin-bottom:1rem}
.warn{background:var(--amber-50);border:1px solid var(--amber-200);border-radius:12px;padding:.85rem 1rem;color:var(--amber-900);font-size:.85rem;margin-bottom:1rem}
.info-tag{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--g600);background:var(--g100);border-radius:999px;padding:.15rem .55rem;margin-bottom:.6rem}
ul.bullets{list-style:none;margin:0;padding:0}
ul.bullets li{display:flex;gap:.5rem;font-size:.9rem;color:var(--g700);margin-bottom:.45rem}
ul.bullets.yes li::before{content:"✓";color:var(--green);font-weight:700}
ul.bullets.no li::before{content:"✕";color:var(--red);font-weight:700}
ul.bullets.ask li::before{content:"?";color:var(--brand-700);font-weight:700}

/* progress */
.progress-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--g500);margin-bottom:.3rem}
.progress{background:var(--g200);height:.5rem;border-radius:999px;margin-bottom:1.5rem;overflow:hidden}
.progress>div{background:var(--brand-600);height:100%;width:25%;transition:width .3s}

/* steps */
.step{display:none}.step.active{display:block}

/* activity buttons */
.activity-list{display:grid;gap:.65rem}
.activity-btn{width:100%;text-align:left;border:1px solid var(--g200);background:#fff;border-radius:12px;padding:.9rem 1rem;display:flex;align-items:center;gap:.8rem;font:inherit;color:inherit;cursor:pointer}
.activity-btn:hover{border-color:var(--brand-500);background:var(--brand-50)}
.activity-btn[aria-pressed="true"]{border-color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 0 2px var(--brand-500)}
.activity-btn .icon{font-size:1.5rem}
.activity-btn .name{font-weight:500}
.activity-btn .desc{font-size:.82rem;color:var(--g500)}

/* forms */
label.field{display:block;margin-bottom:1rem}
label.field>span,.legend{display:block;font-size:.875rem;font-weight:500;color:var(--g700);margin-bottom:.3rem}
.req{color:var(--red)}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea{width:100%;border:1px solid var(--g300);border-radius:12px;padding:.75rem 1rem;font:inherit;font-size:.95rem;background:#fff;color:var(--g900)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}
.hint{font-size:.78rem;color:var(--g500);margin-top:.25rem}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.875rem;cursor:pointer}
.check input{margin-top:.2rem;width:1.05rem;height:1.05rem;flex:none}
.consent{background:#fff;border:2px solid var(--brand-100);border-radius:12px;padding:1rem;margin-bottom:1rem}
fieldset{border:0;margin:0 0 1rem;padding:0}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.35rem .75rem;background:#fff;border:1px solid var(--g300);border-radius:12px;padding:.75rem}
.check-grid.states{grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));max-height:15rem;overflow:auto}
.check-grid label{display:flex;gap:.4rem;align-items:center;font-size:.85rem}
.linkbtn{background:none;border:0;padding:0;color:var(--brand-700);font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;margin-right:.75rem}
.error{color:#b91c1c;font-size:.85rem;margin:.5rem 0 0;min-height:1.2em}
.hidden{display:none!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* summary */
dl.summary{margin:0;font-size:.9rem}
dl.summary div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-top:1px solid var(--g100)}
dl.summary div:first-child{border-top:0}
dl.summary dt{color:var(--g500)}dl.summary dd{margin:0;text-align:right}

/* buttons */
.btn-row{display:flex;gap:.75rem;margin-top:1.25rem}
.btn{flex:1;display:inline-block;text-align:center;text-decoration:none;font:inherit;font-weight:500;padding:.8rem 1rem;border-radius:12px;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--brand-600);color:#fff}.btn-primary:hover{background:var(--brand-700)}
.btn-primary:disabled{opacity:.4;cursor:not-allowed}
.btn-ghost{background:#fff;border-color:var(--g300);color:var(--g700)}.btn-ghost:hover{background:var(--g50)}
.btn-block{width:100%;display:block}

/* content pages */
.prose p,.prose li{color:var(--g700)}
.prose ol,.prose ul{padding-left:1.25rem}
.prose li{margin-bottom:.4rem}
.steps-list{counter-reset:s;list-style:none;padding:0}
.steps-list li{counter-increment:s;position:relative;padding-left:2.6rem;margin-bottom:1.1rem}
.steps-list li::before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--brand-600);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.hero{background:#fff;border:1px solid var(--g200);border-radius:var(--radius);padding:1.5rem 1.25rem;margin-bottom:1.25rem}
.pill-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}
.pill-list li{font-size:.8rem;background:var(--brand-50);color:var(--brand-900);border-radius:999px;padding:.25rem .7rem}
details{border-top:1px solid var(--g100);padding:.6rem 0}
details:first-of-type{border-top:0}
details summary{cursor:pointer;font-weight:500;font-size:.92rem}
details p{margin:.5rem 0 0;font-size:.9rem;color:var(--g600)}

/* footer */
.site-footer{border-top:1px solid var(--g200);background:#fff;margin-top:2rem}
.site-footer .inner{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 2rem;font-size:.78rem;color:var(--g500)}
.site-footer .links{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}
.site-footer .links a{color:var(--g600)}
.site-footer p{margin:0 0 .6rem}
@media (max-width:420px){.nav{gap:.7rem;font-size:.8rem}.logo span.word{font-size:1rem}}
.nav a{white-space:nowrap}
@media (max-width:480px){.nav .nav-home{display:none}.site-header .inner{padding:.75rem .9rem}}
