/* Calculator pages: layout shared with the legal pages (legal.css) plus the form and results panel. */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.eyebrow a{color:inherit;text-decoration:none}
.calc{padding-top:0;border-top:0}
.calc__form{display:grid;gap:20px;margin:0 0 24px}
.calc__form fieldset{margin:0;padding:20px 22px 8px;border:1px solid var(--card-border);border-radius:16px;background:var(--surface)}
.calc__form legend{padding:0 8px;color:var(--ink);font-size:18px;font-weight:600}
.calc__form label{display:grid;gap:6px;margin:0 0 14px;color:var(--ink);font-size:16px;font-weight:500}
.calc__hint{color:var(--muted);font-size:16px;font-weight:400}
.calc__optional{color:var(--muted);font-weight:400}
.calc__form input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--card-border);border-radius:10px;background:#fbfbfa;color:var(--ink);font:400 16px/1.4 var(--font-body),Helvetica,sans-serif;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.calc__form input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.calc__form input::placeholder{color:#a4a6b3}
.calc__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.calc__button{min-height:44px;padding:0 22px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:500 14px/1 var(--font-body),Helvetica,sans-serif;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.calc__button:hover{background:var(--accent-ink);transform:translateY(-1px)}
.calc__reset{min-height:44px;padding:0 16px;border:1px solid var(--card-border);border-radius:999px;background:var(--surface);color:var(--body);font:500 14px/1 var(--font-body),Helvetica,sans-serif;cursor:pointer}
.calc__results{padding:22px 22px 8px;border:1px solid #c9cff0;border-radius:16px;background:var(--accent-tint)}
.calc__status{margin:0 0 18px;color:var(--ink);font-size:16px;font-weight:500}
.calc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0}
.calc__grid>div{padding:14px 16px;border-radius:12px;background:var(--surface)}
.calc__grid dt{margin:0 0 4px;color:var(--muted);font-size:16px;font-weight:550}
.calc__grid dd{margin:0 0 4px;color:var(--ink);font:500 24px/1.1 var(--font-heading);letter-spacing:-.02em}
.calc__grid small{display:block;color:var(--muted);font-size:16px;line-height:1.5}
.calc__notes{margin:18px 0 10px;padding-left:20px;color:var(--ink);font-size:14px}
.calc__notes li{margin-bottom:6px}
.calc-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:14px}
.calc-list li{margin:0;padding:18px 20px;border:1px solid var(--card-border);border-radius:14px;background:var(--surface)}
.calc-list h3{margin:0 0 6px;font-size:17px}
.calc-list h3 a{text-decoration:none}
.calc-list h3 a:hover{text-decoration:underline}
.calc-list p{margin:0;font-size:14px}
@media (max-width:600px){.calc__form fieldset{padding:16px 16px 4px}.calc__results{padding:18px 16px 6px}.calc__grid dd{font-size:20px}}

/* Sign-in panel shown in place of the working calculator on public pages. */
.calc-gate {
  margin: 8px 0 40px;
}
.calc-gate h2 {
  margin-top: 0;
}
