*{box-sizing:border-box}
body{margin:0;background:#f5f7f8;color:#20333d;font:16px/1.65 system-ui,sans-serif}
.banner{background:#e3f0ed;border-bottom:1px solid #abcac2;padding:12px 24px;display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
main{max-width:720px;margin:auto;padding:32px 24px}
header{margin-bottom:24px}
.eyebrow{color:#557568;font-size:12px;font-weight:700;letter-spacing:.15em;margin:0}
h1{font-size:clamp(24px,5vw,32px);line-height:1.3;margin:10px 0}
h2{font-size:17px;margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.step{background:#236452;color:white;border-radius:999px;font-size:12px;font-weight:700;padding:3px 10px;white-space:nowrap}
button,input,select,textarea{font:inherit}
input,textarea{display:block;border:1px solid #b4c4ca;border-radius:8px;padding:10px;width:100%;background:white;color:#20333d}
textarea{resize:vertical}
label{display:block;margin-bottom:18px;font-size:14px;font-weight:600}
button{border:0;border-radius:8px;background:#236452;color:white;padding:12px 18px;cursor:pointer}
button:hover{filter:brightness(.94)}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b48b37;outline-offset:3px}
section{background:white;border:1px solid #dde5e7;border-radius:14px;padding:22px;margin-bottom:20px}
ul{list-style:none;padding:0;margin:0}
li+li{margin-top:10px}
.item{width:100%;background:#f3f7f6;color:#20333d;text-align:left;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;border:2px solid transparent}
.item span{font-size:13px;color:#557568}
.item.selected{border-color:#236452;background:#e8f2ef}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions button{width:100%;justify-content:center;display:flex;align-items:center;gap:10px}
.muted,footer p{font-size:13px;color:#637782}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
dt{font-size:13px;color:#557568;font-weight:600}
dd{margin:0;overflow-wrap:anywhere}
footer{margin-top:24px}
#notice:not(:empty){padding:14px;background:#fff3d9;border-radius:8px;overflow-wrap:anywhere;margin-bottom:20px}
@media(max-width:650px){main{padding:20px 16px}section{padding:18px}.banner{padding:12px 16px;gap:4px}dl{grid-template-columns:1fr;gap:2px 0}dd{margin-bottom:10px}}
