/* TCO calculator: shared landing tokens, form and result panel. */
.kal-hero { padding-block: 32px 56px; background: var(--aw-soft); border-bottom: 1px solid var(--aw-border); }
.kal-crumbs { display: flex; flex-wrap: wrap; gap: 10px; color: var(--aw-muted); font-size: 12px; margin-bottom: 40px; }
.kal-crumbs a:hover { color: var(--aw-accent); }
.kal-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 96px; align-items: center; }
.aw-calculator h1 { font-size: clamp(36px, 3.8vw, 52px); line-height: 1.12; letter-spacing: -1.7px; }
.aw-calculator .kal-lead { max-width: 580px; margin-top: 24px; font-size: 16px; }
.kal-hero-note { padding-left: 32px; border-left: 1px solid #cbd9d1; }
.kal-hero-symbol { display: block; margin-bottom: 20px; font: 500 38px/1 ui-monospace, monospace; letter-spacing: -2px; color: #047852; }
.kal-hero-note strong { display: block; font-size: 17px; font-weight: 600; }
.aw-calculator .kal-hero-note p { margin-top: 12px; font-size: 14px; }
.kal-hero-note a { margin-top: 20px; }
.aw-calculator .kal-workspace { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.kal-form-card { border: 1px solid var(--aw-border); border-radius: 12px; background: white; min-width: 0; }
.kal-form-head { padding: 28px 32px; border-bottom: 1px solid var(--aw-border); }
.aw-calculator .kal-form-head .aw-eyebrow { margin-bottom: 12px; }
.aw-calculator .kal-form-head h2 { font-size: 26px; letter-spacing: -.7px; }
.aw-calculator .kal-form-head p:last-child { margin-top: 12px; font-size: 13px; }
#calc-form { padding: 32px; scroll-margin-top: 116px; }
#calc-form fieldset { min-width: 0; margin: 0 0 32px; padding: 0 0 28px; border: 0; border-bottom: 1px solid var(--aw-border); }
#calc-form legend { display: flex; gap: 12px; align-items: center; margin-bottom: 24px; font-size: 15px; font-weight: 600; }
#calc-form legend > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: #edf5f0; color: #047852; font: 500 11px ui-monospace, monospace; }
.kal-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.kal-field { display: flex; flex-direction: column; min-width: 0; }
.kal-field label { font-size: 13px; font-weight: 600; line-height: 1.5; }
.aw-calculator .kal-help { font-size: 11px; line-height: 1.65; margin-top: 6px; margin-bottom: 10px; }
.kal-input-wrap { display: flex; align-items: center; position: relative; margin-top: auto; padding-top: 10px; }
.kal-input-wrap input { width: 100%; min-width: 0; height: 48px; padding: 12px 80px 12px 14px; border: 1px solid #cbd2cd; border-radius: 6px; background: white; font-size: 16px; font-variant-numeric: tabular-nums; color: var(--aw-ink); }
.kal-input-wrap input:focus { border-color: #059669; outline: 2px solid #05966924; outline-offset: 1px; }
.kal-input-wrap input[aria-invalid] { border-color: #be4545; }
.kal-input-wrap > span { position: absolute; right: 12px; color: var(--aw-muted); font-size: 11px; pointer-events: none; }
.kal-required { color: #a63e34; }
.aw-calculator .kal-error { margin-top: 6px; font-size: 12px; line-height: 1.5; color: #b42318; }
.kal-extras { border: 1px solid var(--aw-border); border-radius: 6px; background: #fafbf9; }
.kal-extras summary { display: flex; align-items: center; justify-content: space-between; padding: 18px; font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
.kal-extras[open] summary > span { transform: rotate(45deg); }
.kal-extras .kal-fields { padding: 8px 18px 20px; }
.aw-calculator .kal-form-note { font-size: 11px; margin-top: 24px; margin-bottom: 16px; }
.aw-calculator .kal-submit { width: 100%; justify-content: space-between; }
.kal-results-column { position: sticky; top: 112px; min-width: 0; }
.kal-result-placeholder { padding: 32px; border: 1px solid #cdded3; border-radius: 12px; background: #f3f8f5; }
.kal-placeholder-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 10px; background: #e0eee5; color: #047852; font-size: 26px; margin-bottom: 28px; }
.aw-calculator .kal-result-placeholder h2 { font-size: 28px; letter-spacing: -.8px; }
.aw-calculator .kal-result-placeholder > p:not(.aw-eyebrow) { margin-top: 20px; font-size: 13px; }
.kal-result-placeholder ul { padding: 20px 0; margin-top: 20px; list-style: none; border-block: 1px solid #d6e4dc; }
.kal-result-placeholder li { display: flex; align-items: center; gap: 10px; margin-block: 10px; font-size: 12px; color: #43594b; }
.kal-result-placeholder li::before { content: '✓'; color: #047852; }
.kal-results-column:has(#calc-result:not(.hidden)) #calc-placeholder { display: none; }
#calc-result { border: 1px solid #cdded3; border-radius: 12px; overflow: hidden; scroll-margin-top: 112px; background: white; }
.kal-result-head { padding: 28px; background: #202c26; }
.aw-calculator .kal-result-eyebrow { font-size: 10px; color: #a8d2ba; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
.aw-calculator .kal-result-head h2 { font-size: 15px; color: #d6e6dc; font-weight: 500; letter-spacing: 0; }
.aw-calculator #res-monthly-main { margin-top: 12px; font-size: clamp(30px, 3vw, 42px); line-height: 1.15; letter-spacing: -1px; font-weight: 600; color: white; overflow-wrap: anywhere; }
.aw-calculator .kal-result-period { margin-top: 6px; font-size: 12px; color: #a8bfb2; }
.kal-result-body { padding: 24px; }
.kal-warning { padding: 14px; margin-bottom: 18px; background: #fff7e9; border: 1px solid #ead1a4; border-radius: 6px; color: #795619; font-size: 12px; line-height: 1.6; }
.kal-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
.kal-metrics span { display: block; color: var(--aw-muted); font-size: 11px; margin-bottom: 6px; }
.kal-metrics strong { display: block; font-size: 18px; letter-spacing: -.4px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kal-tco { margin-top: 24px; padding: 16px; border-radius: 6px; background: #f0f6f2; }
.aw-calculator .kal-tco p { font-size: 11px; }
.kal-tco strong { display: block; margin-block: 8px; font-size: 24px; font-weight: 600; letter-spacing: -.5px; overflow-wrap: anywhere; }
#res-breakdown { margin-top: 24px; border-top: 1px solid var(--aw-border); padding-top: 20px; }
.aw-calculator #res-breakdown h3 { font-size: 13px; letter-spacing: 0; }
.kal-cost-bar { display: flex; height: 10px; margin-block: 16px; border-radius: 3px; overflow: hidden; background: var(--aw-soft); }
.kal-cost-legend { list-style: none; padding: 0; display: grid; gap: 9px; }
.kal-cost-legend li { display: flex; align-items: baseline; gap: 8px; font-size: 11px; line-height: 1.5; color: var(--aw-muted); }
.kal-cost-legend li > span:first-child { width: 7px; height: 7px; border-radius: 2px; flex-shrink: 0; }
.kal-color-depreciation { background: #c09345; }.kal-color-fuel { background: #059669; }.kal-color-insurance { background: #3a828f; }.kal-color-service { background: #235b3f; }.kal-color-tires { background: #638bb0; }.kal-color-other { background: #88938e; }
.aw-calculator .kal-result-fine { font-size: 11px; line-height: 1.7; margin-top: 20px; color: var(--aw-muted); }
.kal-education { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.kal-education-item { padding: 28px; border: 1px solid var(--aw-border); border-radius: 10px; }
.kal-education-item:last-child { grid-column: 1 / -1; background: var(--aw-soft); }
.kal-education-head { display: flex; align-items: flex-start; gap: 14px; }
.kal-education-num { font: 500 12px ui-monospace, monospace; color: #047852; padding-top: 4px; }
.aw-calculator .kal-education-head h3 { font-size: 20px; }
.kal-education-body { margin-top: 20px; }
.aw-calculator .kal-education-body p { font-size: 14px; }
.kal-education-body > * + * { margin-top: 16px; }
.kal-education-body a { color: #047852; text-decoration: underline; text-underline-offset: 4px; }
.kal-education-body .aw-button { text-decoration: none; }
.kal-education-body .aw-button-primary { color: white; }
.kal-education-list { list-style: disc; padding-left: 20px; font-size: 14px; line-height: 1.75; color: var(--aw-muted); }
.kal-education-list li + li { margin-top: 8px; }
@media (max-width: 1100px) { .kal-hero-grid { gap: 48px; }.aw-calculator .kal-workspace { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; }#calc-form, .kal-form-head { padding: 24px; }.kal-fields { gap: 20px; }.kal-result-placeholder { padding: 24px; } }
@media (max-width: 850px) { .kal-hero-grid { grid-template-columns: 1fr; gap: 28px; }.kal-hero-note { padding: 0; border: 0; }.kal-hero-symbol { display: none; }.aw-calculator .kal-workspace { grid-template-columns: 1fr; }.kal-results-column { position: static; }.kal-result-placeholder br { display: none; }.kal-education { grid-template-columns: 1fr; } }
@media (max-width: 550px) { .kal-hero { padding-block: 24px 36px; }.kal-crumbs { font-size: 11px; margin-bottom: 28px; }.kal-hero-note { display: none; }#calc-form, .kal-form-head { padding: 22px; }.kal-fields { grid-template-columns: 1fr; }.aw-calculator .kal-form-head h2 { font-size: 24px; }.kal-education-item { padding: 24px; }.aw-calculator .kal-education-head h3 { font-size: 18px; } }
