*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:#1b1f24;background:#f7f7f5}
header,main,footer{max-width:760px;margin:0 auto;padding:1rem}header h1{margin:.2em 0;color:#123c5a}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem}
.note{background:#fff4ce;border-left:4px solid #b8860b;padding:.75rem}
fieldset{border:1px solid #ccd;border-radius:8px;margin:0 0 1rem;padding:1rem;background:#fff;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
legend{font-weight:700;padding:0 .3rem}label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem}
label.check{flex-direction:row;align-items:center;gap:.5rem}
input[type=number]{font-size:1rem;padding:.55rem;border:1px solid #889;border-radius:6px;min-height:44px}
input[type=checkbox]{width:22px;height:22px}input:focus,a:focus{outline:3px solid #1a73e8;outline-offset:2px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:.5rem;border-bottom:1px solid #e3e3e3;text-align:left}td{text-align:right;font-variant-numeric:tabular-nums}
tr.sum th,tr.sum td{font-weight:700}.neg{color:#b00020}.small{font-size:.875rem;color:#444}
.promo{background:#e8f1f8;padding:1rem;border-radius:8px;margin-top:1rem}a{color:#0b5394}
.disclaimer{border-top:1px solid #ccc;padding-top:1rem}footer{color:#555;font-size:.875rem}
.faq dt{font-weight:700;margin-top:.75rem}.faq dd{margin:.25rem 0 0}
