.funnel{max-width:540px;margin:0 auto;padding:var(--space-5) var(--space-4);position:relative}.funnel-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-ink-muted)}.funnel-progress-bar{flex:1;height:4px;background:var(--color-rule-faint);border-radius:var(--radius-pill, 999px);overflow:hidden}.funnel-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-pill, 999px);transition:width .24s cubic-bezier(.16,1,.3,1)}.funnel-step h2{font-family:var(--font-serif, var(--font-sans));font-size:var(--text-2xl);font-weight:700;letter-spacing:-.015em;margin:0 0 var(--space-3);line-height:1.18}.funnel-step .hint{font-size:var(--text-sm);color:var(--color-ink-muted);margin:0 0 var(--space-5)}.funnel-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.funnel-field label{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-soft)}.funnel-field input,.funnel-field select{appearance:none;-webkit-appearance:none;width:100%;padding:.85rem 1rem;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-ink);background:var(--color-bg-elevated);border:1px solid var(--color-rule);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.funnel-field input:focus,.funnel-field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #1e3a321f}.funnel-field .err{font-size:var(--text-sm);color:var(--color-up)}.funnel-choices{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.funnel-choices.two-col{grid-template-columns:1fr 1fr}.funnel-choice{cursor:pointer;padding:.9rem 1rem;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-bg-elevated);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-ink);text-align:left;transition:border-color .15s ease,background .15s ease}.funnel-choice:hover{border-color:var(--color-accent)}.funnel-choice[aria-pressed=true],.funnel-choice.selected{border-color:var(--color-accent);background:var(--color-accent-faint)}.funnel-actions{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6)}.funnel-btn-primary{flex:1;padding:.95rem 1.25rem;font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,transform .1s ease}.funnel-btn-primary:hover{background:var(--color-accent-hover)}.funnel-btn-primary:disabled{opacity:.6;cursor:not-allowed}.funnel-btn-secondary{padding:.95rem 1.25rem;font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;color:var(--color-ink-soft);background:transparent;border:1px solid var(--color-rule);border-radius:var(--radius-md);cursor:pointer}.funnel-btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.funnel-chat-toggle{margin-top:var(--space-5);font-size:var(--text-sm);text-align:center;color:var(--color-ink-muted)}.funnel-chat-toggle button{background:transparent;border:none;color:var(--color-accent);font-weight:500;text-decoration:underline;cursor:pointer;padding:0}.funnel-chat-toggle button:disabled{color:var(--color-ink-muted);cursor:not-allowed}.funnel-tcpa{font-size:var(--text-xs);line-height:1.5;color:var(--color-ink-muted);padding:var(--space-4);background:var(--color-bg-soft);border-radius:var(--radius-md);margin:var(--space-4) 0}.funnel-tcpa-check{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-4)}.funnel-tcpa-check input{margin-top:.2em}.funnel-success{text-align:center;padding:var(--space-7) var(--space-4)}.funnel-success h2{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.funnel-zip-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-accent-faint);border:1px solid var(--color-rule);border-radius:var(--radius-pill, 999px);font-size:var(--text-sm);color:var(--color-ink-soft);margin-bottom:var(--space-5)}.funnel-zip-pill button{background:none;border:none;color:var(--color-accent);font-size:var(--text-sm);font-weight:500;cursor:pointer;padding:0;text-decoration:underline}.funnel-progress-label{font-size:var(--text-sm);color:var(--color-ink-muted);font-style:italic;min-width:7rem;white-space:nowrap}.funnel-skip{position:absolute;top:var(--space-4);right:var(--space-4);font-size:var(--text-sm);color:var(--color-ink-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.funnel-skip:hover{color:var(--color-ink)}.funnel-help-float{position:fixed;bottom:var(--space-5);right:var(--space-5);width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:var(--text-base);font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #1e3a3247;z-index:99;transition:transform .15s ease,background .15s ease}.funnel-help-float:hover{background:var(--color-accent-hover);transform:scale(1.08)}.funnel-help-float span{line-height:1}.funnel-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.funnel-chip{cursor:pointer;padding:.55rem .85rem;border:1px solid var(--color-rule);border-radius:var(--radius-pill, 999px);background:var(--color-bg-elevated);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-ink);transition:border-color .15s ease,background .15s ease,color .15s ease}.funnel-chip:hover{border-color:var(--color-accent)}.funnel-chip.selected{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.funnel-carrier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}@media(min-width:480px){.funnel-carrier-grid{grid-template-columns:repeat(3,1fr)}}.funnel-carrier-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border:1.5px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-bg-elevated);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-ink);text-align:center;transition:border-color .15s ease,box-shadow .15s ease;min-height:72px}.funnel-carrier-btn:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #1e3a321a}.funnel-carrier-btn[aria-checked=true],.funnel-carrier-btn.selected{border-color:var(--color-accent);background:var(--color-accent-faint)}.funnel-carrier-btn .carrier-logo{font-size:1.5rem;line-height:1}.funnel-results{margin-top:var(--space-4)}.funnel-result-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-bg-elevated);margin-bottom:var(--space-3);gap:var(--space-3)}.funnel-result-card .carrier-name{font-weight:600;font-size:var(--text-base);color:var(--color-ink)}.funnel-result-card .carrier-price{font-size:var(--text-2xl);font-weight:700;color:var(--color-accent);white-space:nowrap}.funnel-result-card .carrier-subtext{font-size:var(--text-xs);color:var(--color-ink-muted)}.funnel-result-select{padding:.6rem 1.1rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease}.funnel-result-select:hover{background:var(--color-accent-hover)}.funnel-rate-range-block{margin-top:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-bg-elevated);text-align:center}.funnel-rate-range-display{display:flex;align-items:baseline;gap:.2em;line-height:1}.rate-range-low,.rate-range-high{font-family:var(--font-serif, var(--font-sans));font-size:2.8rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em}.rate-range-dash{font-size:2rem;color:var(--color-ink-muted);font-weight:400}.rate-range-unit{font-size:1.1rem;color:var(--color-ink-muted);font-weight:500;margin-left:.1em}.funnel-rate-disclaimer{font-size:var(--text-xs);color:var(--color-ink-muted);margin:0;max-width:32ch}@keyframes funnel-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.funnel-step{animation:funnel-slide-in .2s ease forwards}.funnel-coverage-cards{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.funnel-coverage-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-4);border:1.5px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-bg-elevated);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.funnel-coverage-card:hover{border-color:var(--color-accent)}.funnel-coverage-card[aria-checked=true],.funnel-coverage-card.selected{border-color:var(--color-accent);background:var(--color-accent-faint)}.funnel-coverage-card .cov-label{font-weight:600;font-size:var(--text-base);color:var(--color-ink)}.funnel-coverage-card .cov-desc{font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:2px}.funnel-email-step .funnel-field{margin-bottom:var(--space-3)}.funnel-combobox{position:relative}.funnel-combobox-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;margin:0;padding:var(--space-1);list-style:none;background:var(--color-bg-elevated);border:1px solid var(--color-rule);border-radius:var(--radius-md);box-shadow:0 8px 24px #1e3a3224}.funnel-combobox-option{padding:.6rem .75rem;border-radius:var(--radius-sm, 6px);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-ink);cursor:pointer}.funnel-combobox-option[aria-selected=true],.funnel-combobox-option:hover{background:var(--color-accent-faint)}.funnel-combobox-empty,.funnel-combobox-loading{padding:.6rem .75rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-ink-muted)}.funnel-combobox input:disabled{opacity:.55;cursor:not-allowed}.funnel-saved-indicator{font-size:var(--text-xs);color:var(--color-down);text-align:center;margin-top:var(--space-2);opacity:0;transition:opacity .3s ease}.funnel-saved-indicator.visible{opacity:1}
