/* Shared BestSwell typography, surfaces and controls; native form works without JS. */
.tools-page main {padding-bottom:30px}
.tools-page .tool-page-heading {max-width:850px;margin-bottom:28px}
.tools-page .tool-page-heading h1 {max-width:none}
.tools-page .tool-calculator {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}
.tools-page .tool-form-panel,.tools-page .tool-result {padding:28px;min-width:0}
.tools-page :is(.tool-result,.tool-errors):focus {outline:none}
.tools-page .tool-field {margin:0 0 22px;min-width:0}
.tools-page .tool-field label {display:block;font-size:14px;font-weight:650;margin-bottom:9px}
.tools-page input,.tools-page select {width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--foam);color:var(--ink);padding:11px 12px;font:inherit}
.tools-page :is(input,select):focus-visible {outline:2px solid var(--sea);outline-offset:3px}
.tools-page .tool-hint {color:var(--muted);font-size:12px;line-height:1.65;margin:9px 0 0}
.tools-page .tool-hint a,.tools-page .tool-result a,.tools-page .tool-explanation a,.tools-page .tool-hub-learn a {color:var(--sea)}
.tool-weight-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.tools-page .tool-advanced {border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}
.tools-page :is(.tool-advanced,.tool-method)>summary {cursor:pointer;min-height:48px;padding:13px 0;font-weight:600;font-size:14px}
.tool-advanced summary span {font-weight:400;color:var(--muted);margin-left:10px}
.tools-page .tool-advanced[open]>summary {margin-bottom:10px}
.tools-page form>.primary-button {width:100%;gap:12px;font:inherit;min-height:48px}
.tools-page .tool-errors {padding:18px;border:1px solid var(--coral);border-radius:12px;margin:18px 0}
.tools-page .tool-errors h2 {font-size:20px;margin:0 0 8px}
.tools-page .tool-errors ul {padding-left:18px;font-size:14px;line-height:1.7;margin-bottom:0}
.tools-page .tool-errors a {color:var(--ink)}
.tools-page .tool-error {font-size:13px;line-height:1.6;color:var(--ink);border-left:3px solid var(--coral);padding-left:10px}
.tools-page [aria-invalid="true"] {border-color:var(--coral)}
.tools-page .tool-result h2 {font-size:clamp(36px,4.2vw,58px);line-height:1.15;letter-spacing:-1.8px;margin:12px 0}
.tools-page .tool-result h2 span {display:block;font-size:16px;letter-spacing:0;color:var(--muted);margin-top:8px}
.tools-page .tool-result p {font-size:14px;line-height:1.8;color:var(--muted)}
.tools-page .tool-result .tool-result-label {color:var(--ink);font-weight:550}
.tools-page .tool-result h3 {font-size:18px;line-height:1.5;margin:0 0 8px}
.tools-page .tool-result section {border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.tools-page .tool-result a {font-size:13px;min-height:44px;display:inline-flex;align-items:center}
.tools-page .tool-start h2 {font-size:28px;letter-spacing:-.7px;line-height:1.35}
.tool-board-art {width:100%;height:auto;display:block;margin:22px 0}
.tool-board-fill {fill:var(--foam);stroke:var(--sea);stroke-width:3}
.tool-board-outline {fill:var(--card);stroke:var(--sea);stroke-width:3}
.tool-board-short {fill:var(--foam);stroke:var(--coral)}
.tool-board-line {fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 5}
.tool-explanation {max-width:900px;margin-top:38px;line-height:1.85;font-size:16px}
.tools-page .tool-explanation h2 {font-size:25px;line-height:1.35;margin:32px 0 14px}
.tool-explanation li {margin-bottom:10px}
.tool-explanation p {margin:0 0 18px}
.tool-method {border:1px solid var(--line);border-radius:14px;padding:4px 18px;margin:24px 0}
.tool-table-wrap {overflow-x:auto;max-width:100%;margin-bottom:20px}
.tool-table-wrap table {width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}
.tool-table-wrap caption {text-align:left;color:var(--muted);font-size:12px;padding:12px 0}
.tool-table-wrap th,.tool-table-wrap td {text-align:left;vertical-align:top;padding:14px 10px;border-bottom:1px solid var(--line)}
.tool-table-wrap td small {display:block;color:var(--muted);font-size:12px}
.tool-hub-card {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center;padding:32px}
.tool-hub-card + .tool-hub-card {margin-top:24px}
.tool-hub-card h2 {font-size:29px;line-height:1.3;letter-spacing:-.6px;margin:12px 0}
.tool-hub-card h2 a {text-decoration:none}
.tool-hub-card p:not(.eyebrow) {max-width:55ch;font-size:16px;line-height:1.8;color:var(--muted)}
.tool-hub-card .primary-button {margin-top:12px}
.tool-hub-learn {max-width:800px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);line-height:1.8}
.tools-page #calculator-result {scroll-margin-top:20px}
@media(max-width:760px){.tools-page .tool-calculator{grid-template-columns:minmax(0,1fr)}.tools-page .tool-form-panel,.tools-page .tool-result{padding:22px}.tool-hub-card{grid-template-columns:1fr;padding:24px;gap:8px}.tool-hub-card .tool-board-art{max-width:500px;margin:12px 0}.tool-explanation{font-size:16px}.tool-weight-row{gap:12px}.tool-table-wrap th,.tool-table-wrap td{padding:10px 6px}.tools-page .tool-result h2{font-size:48px}}
@media(max-width:380px){.tool-weight-row{grid-template-columns:1fr;gap:0}.tools-page .tool-form-panel,.tools-page .tool-result{padding:19px}.tools-page .tool-result h2{font-size:43px}.tool-table-wrap{font-size:12px}}
