.visitor-section { padding-block:80px; border-top:1px solid #438bff; }
.visitor-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.visitor-heading .section-intro { max-width:640px; }
.tool-privacy { max-width:260px; font-size:.9375rem; color:#d3dbea; margin:0 0 4px; }
.tool-privacy span { color:#8cddfa; }
.tool-panel { border:1px solid #3c567b; border-radius:14px; background:linear-gradient(130deg,#141d2cf5,#0b101af5); margin:16px 0; overflow:hidden; }
.tool-panel > summary { display:flex; gap:20px; align-items:center; padding:24px 28px; cursor:pointer; list-style:none; }
.tool-panel > summary::-webkit-details-marker { display:none; }
.tool-panel > summary::after { content:'+'; font-size:1.8rem; font-weight:400; line-height:1; margin-left:auto; flex:none; color:#8cddfa; }
.tool-panel[open] > summary::after { content:'−'; }
.tool-panel > summary:focus-visible, .faq-list summary:focus-visible { outline:3px solid #8cddfa; outline-offset:-4px; border-radius:12px; }
.tool-mark { display:grid; place-items:center; width:42px; height:42px; flex:none; border:1px solid #438bff; border-radius:50%; color:#bce9ff; font-size:1rem; }
.tool-label { display:block; font-weight:650; font-size:1.25rem; line-height:1.4; }
.tool-caption { display:block; font-size:1rem; color:#d3dbea; margin-top:5px; }
.tool-body { padding:0 28px 28px; border-top:1px solid #344862; }
.tool-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:32px; padding-top:28px; }
.tool-form { min-width:0; }
.tool-form .form-field { margin:0 0 22px; }
.tool-form label { display:block; font-weight:600; margin-bottom:8px; font-size:1rem; }
.tool-form input,.tool-form select { width:100%; min-height:50px; border:1px solid #5d7493; border-radius:6px; background:#080f1c; color:#f1f4fb; font:inherit; padding:10px 12px; }
.tool-form select { text-overflow:ellipsis; }
.tool-form input:focus-visible,.tool-form select:focus-visible { outline:3px solid #8cddfa; outline-offset:3px; }
.tool-form .field-grid { gap:18px; }
.tool-form .field-hint { font-size:.9375rem; margin:7px 0 0; }
.tool-action { min-height:48px; padding:11px 18px; color:#071524; background:#bddfff; border:1px solid #eff7ff; border-radius:7px; font:600 1rem/1.5 Arial,sans-serif; cursor:pointer; }
.tool-action:hover { background:#e1f3ff; color:#071524; }
.tool-action:focus-visible { outline:3px solid #8cddfa; outline-offset:4px; }
.tool-action:disabled { opacity:.55; cursor:default; }
.tool-result { align-self:start; padding:28px; border:1px solid #5089ce; border-radius:10px; background:linear-gradient(140deg,#192943,#101722); }
.tool-result:focus { outline:2px solid #8cddfa; outline-offset:4px; }
.tool-result .eyebrow { font-size:.875rem; margin-bottom:14px; }
.tool-result h3 { font-size:1.5rem; line-height:1.25; }
.tool-result p { color:#d3dbea; font-size:1rem; }
.tool-result p:last-child { margin-bottom:0; }
.tool-result .text-link,.resource-link,.faq-list a { color:#c5e9ff; text-decoration:underline; text-underline-offset:5px; }
.tool-result .text-link { display:inline-block; padding-block:9px; font-weight:600; }
.tool-placeholder { border-left:1px solid #3c567b; padding-left:28px; color:#d3dbea; align-self:start; }
.tool-placeholder h3 { color:#f1f4fb; font-size:1.25rem; }
.tool-layout:has(.tool-result:not([hidden])) .tool-placeholder { display:none; }
.tool-result[hidden] { display:none; }
.tool-note { font-size:.9375rem; color:#d3dbea; margin:20px 0 0; }
.savings-number { display:block; font-size:clamp(2.8rem,5vw,4rem); font-weight:700; color:#f1f4fb; line-height:1.1; letter-spacing:-.04em; overflow-wrap:anywhere; }
.savings-unit { font-size:1rem; color:#c5e9ff; display:block; margin:9px 0 24px; }
.savings-compare { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-block:18px; border-block:1px solid #465f80; margin-bottom:18px; }
.savings-compare > div > span { display:block; font-size:.9375rem; color:#d3dbea; }
.savings-compare strong { display:block; font-size:1.25rem; }
.assumptions { margin-top:24px; color:#d3dbea; font-size:.9375rem; }
.assumptions summary { cursor:pointer; padding:8px 0; color:#c5e9ff; }
.assumptions p { margin:12px 0 0; }
.faq-section { padding-block:70px 80px; display:grid; grid-template-columns:1fr 1.5fr; gap:64px; border-top:1px solid #438bff; }
.faq-list details { border-bottom:1px solid #3c567b; }
.faq-list details:first-child { border-top:1px solid #3c567b; }
.faq-list summary { padding:22px 24px 22px 0; cursor:pointer; font-weight:600; font-size:1.125rem; line-height:1.5; }
.faq-list details p { color:#d3dbea; margin:0 0 24px; font-size:1rem; line-height:1.8; }
@media(max-width:800px) { .visitor-heading { display:block; }.tool-privacy { max-width:none; margin-top:20px; }.tool-layout,.faq-section { grid-template-columns:1fr; gap:26px; }.tool-placeholder { display:none; }.faq-section { padding-block:56px; }.visitor-section { padding-block:56px; } }
@media(max-width:480px) { .tool-panel > summary { padding:20px 16px; gap:14px; }.tool-label { font-size:1.125rem; }.tool-caption { font-size:.9375rem; }.tool-body { padding:0 18px 22px; }.tool-result { padding:22px; }.tool-form .field-grid { grid-template-columns:1fr; gap:0; }.tool-form .field-grid .form-field { margin-bottom:22px; }.tool-mark { width:34px; height:34px; }}
.analyzer-summary { margin-top:28px; min-width:0; }
.analyzer-summary h3 { font-size:clamp(1.5rem,3vw,2rem); }
.analyzer-summary p { overflow-wrap:anywhere; }
.analyzer-summary #analyzer-reset { display:block; margin-top:20px; }
.analyzer-summary #analyzer-reset[hidden], #next-step-content[hidden] { display:none; }
