:root{font-family:system-ui,sans-serif;color:#12243c;background:#fff;line-height:1.55;--green:#126443;--soft:#f1f7f3;--line:#d4e3da}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
.wrap{width:min(1120px,calc(100% - 36px));margin-inline:auto}
.narrow{max-width:680px;margin-inline:auto}
header,footer{border-block-end:1px solid var(--line)}
footer{margin-top:64px;background:var(--soft);padding:12px 0}
.nav,nav,.actions{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap}
.nav{justify-content:space-between}
nav a,.brand,.button,button{display:inline-flex;align-items:center;min-height:44px}
a{color:var(--green);text-underline-offset:.2em}
.brand{font-weight:800;color:#12243c;text-decoration:none;gap:8px;padding-block:9px}
.brand span{display:grid;place-items:center;background:var(--green);color:white;width:32px;height:32px;border-radius:8px;font-size:24px}
main{padding-top:32px;min-height:58vh}
h1,h2,h3,p{margin-top:0}
h1,h2{line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(2.2rem,6vw,4.5rem);margin-bottom:18px}
h2{font-size:clamp(1.4rem,3vw,2rem)}
.hero{display:grid;gap:22px;align-items:center;padding:22px 0 32px}
.hero p{max-width:54ch}
.eyebrow,.trust{font-size:.82rem;font-weight:750;color:var(--green)}
.eyebrow{letter-spacing:.09em}
.trust{margin:14px 0 0}
.hero-image{background:#e6efe9;border-radius:24px;overflow:hidden}
.hero-image img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}
.button,button{background:var(--green);color:white;border:0;border-radius:10px;padding:10px 18px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;justify-content:center}
.button:hover,button:hover{filter:brightness(.88)}
.danger{background:#9f322a}
:focus-visible{outline:3px solid #127bbb;outline-offset:3px}
.section{padding:29px 0;border-top:1px solid var(--line)}
.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
ol.cards{padding:0;counter-reset:steps;list-style:none}
ol.cards li,.cards article,.panel{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:20px}
ol.cards li::before{counter-increment:steps;content:counter(steps);display:block;font-size:1.5rem;font-weight:800;color:var(--green);margin-bottom:9px}
.cards img{width:100%;max-height:220px;object-fit:contain;border-radius:10px}
details{border-bottom:1px solid var(--line);margin-bottom:8px}
summary{padding:10px 0;min-height:44px;cursor:pointer;font-weight:700}
details p{padding-bottom:8px}
fieldset{min-width:0}
.step{margin:0 0 18px}
legend{font-weight:750;padding:0 5px}
label:not(.check){display:block;font-weight:650;margin:0 0 14px}
input:not([type=radio],[type=checkbox]),select,textarea{display:block;width:100%;margin-top:5px;padding:9px 10px;min-height:44px;border:1px solid #879d92;border-radius:8px;background:white;color:#12243c;font:inherit}
textarea{min-height:100px}
.choices{border:0;padding:0;margin:0 0 12px}
.check{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.check input{accent-color:var(--green);width:18px;height:18px;flex:none}
.notice{padding:12px;border-inline-start:4px solid #aa6722;background:#fff3df;margin-bottom:12px}
.filters{margin-bottom:20px}
.filters a[aria-current]{font-weight:800}
dt{font-weight:700}
dd{margin:0 0 9px}
.skip{position:absolute;left:12px;top:-80px;background:#fff;padding:10px}
.skip:focus{top:4px}
@media(min-width:760px){.hero{grid-template-columns:1fr 1fr;gap:40px;padding-block:36px 50px}.choices .check{display:inline-flex;margin-right:14px}}
main table{width:100%;border-collapse:collapse;text-align:left}main th,main td{padding:8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}main td{text-align:right}
