:root{--brand:#1f5a3c;--brand-dark:#163f2a;--brand-tint:#eaf1ec;--ink:#131614;--soft:#555b57;--line:#e3e5e2;--white:#fff;--gray:#f4f5f3;--display:'Barlow Condensed','Arial Narrow',system-ui,sans-serif;--body:'Barlow',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--gray)}
body{margin:0;background:var(--gray);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
.wrap{max-width:38rem;margin:0 auto;padding:0 20px}
h1,h2{font-family:var(--display);font-weight:700;line-height:1.02;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,8vw,3.4rem)}
h2{font-size:clamp(2rem,6.5vw,2.8rem)}
p{margin:0}
a{color:var(--brand)}
.top{background:var(--white);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{font:700 1.5rem/1 var(--display);color:var(--ink);text-decoration:none}
.tag{color:var(--soft);font-size:.95rem}
main{padding-block:2.5rem 4rem}
.step{display:grid;gap:1.25rem}
.lede{color:var(--soft);font-size:1.1rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1.4rem 1.25rem;display:grid;gap:1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.98rem}
label.row{grid-template-columns:auto 1fr;align-items:start;gap:.7rem;font-weight:400}
label.row span{display:block}
label.row input{margin-top:.3rem}
input,select,textarea{width:100%;font:400 1.05rem var(--body);color:var(--ink);background:var(--white);border:1px solid #c9ccc8;border-radius:6px;padding:.7rem .8rem;min-height:48px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.4rem;border:0;border-radius:6px;background:var(--brand);color:#fff;font:600 1.05rem var(--body);text-decoration:none;cursor:pointer;width:100%}
.btn:hover{background:var(--brand-dark)}
.btn[disabled]{opacity:.6;cursor:wait}
.err{color:#8a2e24;font-weight:600;min-height:1.4em}
.err:empty{display:none}
.fine{color:var(--soft);font-size:.92rem}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.results{display:grid;gap:.8rem}
.result{display:grid;gap:.25rem;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;cursor:pointer;font:inherit;color:inherit}
.result:hover,.result:focus-visible{border-color:var(--brand)}
.result strong{font:700 1.35rem/1.1 var(--display)}
.result .meta{color:var(--soft);font-size:.95rem}
.checks{gap:.4rem}
.checks .cat{font:700 1.3rem/1.2 var(--display);margin-top:.6rem;display:flex;gap:.6rem;align-items:center}
.checks .cat:first-child{margin-top:0}
.checks .svc{font-weight:400;display:flex;gap:.6rem;align-items:center;padding-left:1.6rem}
.checks input{width:20px;height:20px;min-height:0;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1px solid #c9ccc8;background:var(--white);border-radius:999px;padding:.55rem 1rem;font:500 1rem var(--body);color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.chip small{opacity:.7;margin-left:.3rem}
.progress{height:10px;background:var(--line);border-radius:999px;overflow:hidden}
#bar{height:100%;width:4%;background:var(--brand);transition:width 1s linear}
footer{padding-block:1.5rem 3rem}
@media(min-width:40rem){.btn{width:auto;min-width:14rem}}
