html{scroll-padding-top:90px}
:root{--navy:#0b2545;--navy2:#13315c;--teal:#0f8b8d;--gold:#f2a541;--bg:#f3f6fa;--card:#fff;--ink:#1b2433;--muted:#5d6b80;--line:#dde4ee;--ok:#1d9a6c;--err:#c23b3b;--r:14px;
font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;line-height:1.45}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:8px;z-index:99;background:#fff;padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px clamp(14px,3vw,32px);background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.brand{display:flex;gap:10px;align-items:center}.brand strong{display:block;font-size:1.05rem}.brand span{font-size:.75rem;opacity:.8}
.top-actions{display:flex;gap:8px;align-items:center}
.pill{font-size:.72rem;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.15)}
.banner{background:#fff6e6;border-bottom:1px solid #f3d7a3;color:#6b4a0f;padding:8px clamp(14px,3vw,32px);font-size:.85rem}
.layout{display:grid;align-items:start;gap:20px;padding:20px clamp(12px,3vw,32px);max-width:1400px;margin:0 auto;grid-template-columns:minmax(0,1fr)}.layout>*{min-width:0}
@media(min-width:960px){.layout{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr)}
 .form-panel,.compare-panel,.saved-panel{grid-column:1}
 .quote-panel{grid-column:2;grid-row:1/span 3;position:sticky;top:76px;align-self:start;max-height:calc(100vh - 92px);overflow:auto}.mobilebar{display:none!important}}
.panel{background:var(--card);border-radius:var(--r);box-shadow:0 1px 2px rgba(16,24,40,.06),0 4px 16px rgba(16,24,40,.05);padding:clamp(16px,2.5vw,28px)}
h1{font-size:clamp(1.35rem,2.4vw,1.8rem);margin:0 0 4px;color:var(--navy)}h2{font-size:1.15rem;margin:0 0 6px;color:var(--navy)}
.sub{color:var(--muted);margin:0 0 16px;font-size:.92rem}
.stepper{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 18px}
.stepper li{flex:1}.stepper button{width:100%;display:flex;gap:8px;align-items:center;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}
.stepper button span{font-weight:500;font-size:.88rem}
.stepper button[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.stepper button.done{border-color:var(--teal);color:var(--teal)}
@media(max-width:520px){.stepper button span{display:none}.stepper button{justify-content:center}}
fieldset{border:0;padding:0;margin:0}legend{font-weight:700;font-size:1.05rem;margin-bottom:10px;color:var(--navy2)}
label,.field{display:block;margin:0 0 14px;font-weight:600;font-size:.88rem}.lbl{display:block;margin-bottom:6px}
small{font-weight:400;color:var(--muted)}
input,select{width:100%;margin-top:6px;font:inherit;font-weight:400;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(15,139,141,.2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg label{margin:0;flex:1;min-width:64px}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;text-align:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600;background:#fff;white-space:nowrap}
.seg input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff}
.seg input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.seg input:disabled+span{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.money{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;margin-top:6px;background:#fff}
.money span{padding:0 0 0 12px;color:var(--muted)}.money input{border:0;margin:0;box-shadow:none!important}
.money:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,139,141,.2)}
.benefit-row{display:flex;gap:12px;align-items:center;margin-top:6px}.benefit-row input[type=range]{flex:1;accent-color:var(--teal);padding:0;border:0}
.money.narrow{width:140px;margin:0}
.hint{font-size:.82rem;color:var(--muted);margin:-4px 0 14px}
.info{border:1px solid var(--line);background:#fff;border-radius:50%;width:22px;height:22px;font-size:.75rem;cursor:pointer;color:var(--teal);font-weight:700}
.tip{background:#eef7f7;border-radius:10px;padding:10px;font-size:.85rem;margin:-6px 0 14px}
.included{background:#eef7f2;border-radius:10px;padding:10px 12px;font-size:.9rem;margin-bottom:14px}.included span{color:var(--ok);font-weight:700}
.nav{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:700;padding:11px 16px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy2)}
.btn.accent{background:var(--gold);color:#1d1503}.btn.accent:hover{filter:brightness(.95)}
.btn.ghost{background:#fff;border-color:var(--line);color:var(--navy)}.btn.ghost:hover{border-color:var(--teal)}
.topbar .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn.small{padding:6px 12px;font-size:.85rem}.btn.block{width:100%}
.quote-card h2{font-size:.95rem;color:var(--muted);font-weight:600}
.big{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;color:var(--navy);line-height:1.1}.big small{font-size:1rem;color:var(--muted);font-weight:600}
.plan{color:var(--muted);margin:4px 0 12px;font-size:.9rem}
.warn{background:#fdecec;color:var(--err);border-radius:10px;padding:8px 10px;font-size:.85rem;margin-bottom:10px}
.modal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:8px 0}
.modal-table caption{text-align:left;font-size:.78rem;color:var(--muted);padding-bottom:6px}
.modal-table th,.modal-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right}.modal-table th:first-child,.modal-table td:first-child{text-align:left}
.modal-table tr.sel{background:#eef7f7;font-weight:700}
.facts{display:grid;gap:4px;margin:10px 0 14px}.facts div{display:flex;justify-content:space-between;font-size:.88rem}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:700}
.actions{display:grid;gap:8px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.row3 .btn{padding:10px 6px;font-size:.85rem}
.fine{font-size:.72rem;color:var(--muted);margin:10px 0 0}
.table-scroll{overflow-x:auto}
.matrix{border-collapse:separate;border-spacing:4px;width:100%;min-width:600px;table-layout:fixed}.matrix th[scope=col]:first-child{width:92px}
.matrix th{font-size:.8rem;color:var(--muted);font-weight:600;padding:6px}.matrix th[scope=row]{text-align:left;color:var(--navy);font-size:.9rem}
.matrix td{padding:0;position:relative}.matrix td.na{background:repeating-linear-gradient(45deg,#f5f7fa,#f5f7fa 6px,#eef1f5 6px,#eef1f5 12px);border-radius:8px;text-align:center;color:#b4bdc9;font-size:.75rem}
.cell{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px 4px 10px;font:inherit;font-size:.86rem;font-weight:700;justify-content:center;color:var(--ink);cursor:pointer}
.cell:hover{border-color:var(--teal)}.cell.sel{background:var(--teal);color:#fff;border-color:var(--teal)}
.pin{background:none;border:0;cursor:pointer;font-size:.9rem;line-height:1;color:var(--gold);padding:2px}.cell-wrap .pin{position:absolute;top:1px;right:2px}.cell.sel+.pin{color:#fff}
.cell-wrap{display:flex;gap:2px;align-items:center}
.pinned{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:16px}
.pcard{border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}.pcard h3{margin:0 0 4px;font-size:.95rem;color:var(--navy)}
.pcard .p{font-size:1.6rem;font-weight:800;color:var(--navy)}.pcard ul{padding-left:16px;margin:6px 0;font-size:.82rem;color:var(--muted)}
.pcard .x{position:absolute;top:8px;right:8px}
.saved{list-style:none;padding:0;margin:0;display:grid;gap:8px}.saved li{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.saved .meta{font-size:.82rem;color:var(--muted)}.saved .btns{display:flex;gap:6px}
.empty{color:var(--muted);font-size:.9rem}
.foot{max-width:1400px;margin:0 auto;padding:0 clamp(12px,3vw,32px) 90px;font-size:.75rem;color:var(--muted)}
kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:#fff;font-size:.7rem}
.mobilebar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;z-index:30;box-shadow:0 -4px 16px rgba(0,0,0,.15)}
.mobilebar strong{font-size:1.4rem}.mobilebar small{opacity:.8}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;opacity:0;transition:.25s;pointer-events:none;z-index:50}
.toast.show{opacity:1;transform:translateX(-50%)}
.print-only{display:none}
@media print{
 body{background:#fff}.topbar,.layout,.mobilebar,.foot,.toast,.banner{display:none!important}
 .print-only{display:block;padding:10px 0;font-size:12px;color:#000}
 .print-only h1{font-size:20px;color:#0b2545}.print-only table{width:100%;border-collapse:collapse;margin:8px 0}
 .print-only th,.print-only td{border:1px solid #bbb;padding:5px 7px;text-align:left}
 .print-only .ex{border:1px solid #c90;background:#fff6e6;padding:6px;margin:8px 0}
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(min-width:960px){.mobilebar{display:none}}

@media(max-width:600px){.brand span{display:none}.topbar .btn.small{padding:5px 9px;font-size:.78rem}}
.seg.wrap label{min-width:96px}
