/*
 * Frank calculator styles
 * Generated by tools/build_css.py from the original site's calculator.css.
 * Edit the source and re-run the build rather than editing this file.
 */
body.frank .calc{max-width:680px;margin:0 0 64px}
body.frank .calc [hidden]{display:none !important}
body.frank .calc-count{font-size:14px;color:var(--muted);margin:0 0 22px}
body.frank .calc-q{font-family:var(--frank-font-display);font-weight:900;font-size:clamp(24px,3.6vw,32px);line-height:1.15;letter-spacing:-.8px;text-transform:none;margin:0 0 12px;color:var(--ink)}
body.frank .calc-hint{font-size:17px;color:var(--muted);margin:0 0 30px;max-width:52ch}
body.frank .calc-choices{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
body.frank .calc-chip{min-height:56px;padding:0 24px;border-radius:4px;background:var(--white);border:2px solid var(--line);font:inherit;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .12s ease, background-color .12s ease}
body.frank .calc-chip:hover{border-color:var(--amber)}
body.frank .calc-chip[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);color:var(--paper)}
body.frank .calc-choices.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
body.frank .calc-choices.grid .calc-chip{padding:10px 10px;font-size:15px;line-height:1.25;min-height:60px}
body.frank .calc-money{position:relative;max-width:340px;margin-bottom:14px}
body.frank .calc-money span{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:700;color:var(--muted);pointer-events:none}
body.frank .calc-money input{width:100%;height:68px;padding:0 18px 0 44px;background:var(--white);border:2px solid var(--line);border-radius:4px;font:inherit;font-size:24px;font-weight:700;color:var(--ink)}
body.frank .calc-money input:hover{border-color:var(--amber)}
body.frank .calc-money input:focus{border-color:var(--rust);outline:none;box-shadow:0 0 0 3px rgba(145,77,52,.18)}
body.frank .calc-err{color:#A8442A;font-size:15px;font-weight:700;margin:0 0 14px;min-height:22px}
body.frank .calc-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:8px}
body.frank .calc-quiet{background:none;border:none;padding:6px 2px;min-height:auto;font:inherit;color:var(--rust);font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
body.frank .calc-quiet:hover{color:var(--wine)}
body.frank .calc-track{height:4px;background:var(--line);border-radius:2px;margin:44px 0 14px;overflow:hidden}
body.frank .calc-fill{height:100%;background:var(--rust);border-radius:2px;transition:width .3s ease}
body.frank .calc :is(.button:where(:not(.elementor-widget)),.button:where(.elementor-widget) :where(.elementor-button)){margin-top:0;cursor:pointer;font:inherit}
body.frank .calc :is(.button.outline:where(:not(.elementor-widget)),.button.outline:where(.elementor-widget) :where(.elementor-button)){margin-top:0}
body.frank .calc-result :is(.eyebrow:where(:not(.elementor-widget)),.eyebrow:where(.elementor-widget) :where(.elementor-heading-title)){text-align:left}
body.frank .calc-number{font-family:var(--frank-font-display);font-weight:900;font-size:clamp(30px,6vw,50px);line-height:1.12;letter-spacing:-1.2px;text-transform:none;margin:4px 0 12px;color:var(--ink)}
body.frank .calc-number em{font-style:normal;white-space:nowrap}
body.frank .calc-basis{font-size:16px;color:var(--muted);margin:0 0 36px}
body.frank .calc-viz{background:var(--sand);border-radius:4px;padding:26px 24px;margin-bottom:34px}
body.frank .calc-viz h2{font-size:16px;font-weight:700;letter-spacing:0;margin:0 0 18px;color:var(--ink)}
body.frank .calc-stack{display:flex;height:22px;border-radius:3px;overflow:hidden;margin-bottom:20px;background:var(--line)}
body.frank .calc-stack i{display:block;height:100%}
body.frank .calc-key{list-style:none;margin:0;padding:0;font-size:15px}
body.frank .calc-key li{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid rgba(111,101,77,.25)}
body.frank .calc-key li:last-child{border-bottom:none}
body.frank .calc-key b{width:11px;height:11px;border-radius:2px;flex:none}
body.frank .calc-key span:last-child{margin-left:auto;padding-left:12px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}
body.frank .calc-less{color:var(--muted)}
body.frank .calc-handoff{border-top:2px solid var(--ink);padding-top:34px}
body.frank .calc-handoff p{font-size:19px;font-weight:600;margin:0 0 8px}
body.frank .calc-names-call{font-size:16px;color:var(--muted);margin:0 0 26px !important}
body.frank .calc-again{margin-top:18px}
body.frank .calc-stop{border-left:5px solid var(--olive);padding:4px 0 4px 24px}
body.frank .calc-stop h2{font-family:var(--frank-font-display);font-weight:900;text-transform:none;font-size:clamp(26px,4.4vw,36px);line-height:1.15;letter-spacing:-.8px;margin:0 0 16px}
body.frank .calc-stop p{font-size:18px;max-width:54ch;margin:0 0 16px}
body.frank .calc-stop a{color:var(--rust)}
body.frank .calc-stop :is(.button:where(:not(.elementor-widget)),.button:where(.elementor-widget) :where(.elementor-button)){margin-top:10px}
body.frank .calc-fine{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.65}
body.frank .calc-fine a{color:var(--rust)}
@media (max-width:760px){
body.frank .calc-choices.grid{grid-template-columns:repeat(2,1fr)}
body.frank .calc-viz{padding:22px 18px}
body.frank .calc-money input{font-size:22px}
}
