.quote{--q-ink: var(--color-ink);--q-muted: var(--color-ink-muted);--q-soft: var(--color-ink-soft);--q-line: color-mix(in oklab, var(--color-ink) 18%, transparent);--q-chip: var(--color-surface);--q-chip-line: color-mix(in oklab, var(--color-ink) 14%, transparent);--q-accent: var(--color-brand-deep);position:relative;display:grid;gap:1.75rem}.quote--dark{--q-ink: #fff;--q-muted: rgba(255, 255, 255, .7);--q-soft: rgba(255, 255, 255, .5);--q-line: rgba(255, 255, 255, .24);--q-chip: rgba(255, 255, 255, .06);--q-chip-line: rgba(255, 255, 255, .16);--q-accent: var(--color-brand)}@media(min-width:64rem){.quote{gap:1rem}.quote__legend{margin-bottom:.625rem}.quote__grid{row-gap:.875rem}}.quote__step{min-width:0;margin:0;padding:0;border:0}.quote__legend{display:flex;align-items:center;gap:.6rem;margin-bottom:.875rem;padding:0;font-family:var(--font-label);font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--q-accent)}.quote__num{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:999px;background:var(--color-brand);color:var(--color-ink);font-size:.6875rem;letter-spacing:0}.quote__chips{display:flex;flex-wrap:wrap;gap:.5rem}.quote__chip{position:relative;display:inline-flex;min-height:2.75rem;align-items:center;gap:.5rem;padding:0 1rem 0 .75rem;border:1px solid var(--q-chip-line);border-radius:999px;background:var(--q-chip);color:var(--q-ink);font-family:var(--font-body);font-size:.8125rem;font-weight:600;cursor:pointer;user-select:none;transition:transform .2s cubic-bezier(.22,1,.36,1)}@media(min-width:64rem){.quote__chip{min-height:2.375rem;gap:.4rem;padding:0 .85rem 0 .6rem}.quote__chips{gap:.4rem}}.quote__check{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.quote__chip-mark{display:grid;place-items:center;width:1.125rem;height:1.125rem;border-radius:999px;background:color-mix(in oklab,currentColor 12%,transparent)}.quote__chip-plus{transition:transform .24s cubic-bezier(.22,1,.36,1)}.quote__chip:hover{border-color:color-mix(in oklab,var(--q-ink) 40%,transparent)}.quote__chip:active{transform:scale(.97)}.quote__chip:has(.quote__check:focus-visible){outline:2px solid var(--color-brand-strong);outline-offset:2px}.quote__chip:has(.quote__check:checked){border-color:var(--color-brand-strong);background:var(--color-brand);color:var(--color-ink)}.quote__chip:has(.quote__check:checked) .quote__chip-mark{background:var(--color-ink);color:var(--color-brand)}.quote__chip:has(.quote__check:checked) .quote__chip-plus{transform:rotate(45deg)}.quote__grid{display:grid;gap:1.25rem 1.5rem}@media(min-width:40rem){.quote__grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.quote__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.quote__field--wide{grid-column:1 / -1}}.quote__field{display:grid;gap:.35rem;min-width:0}.quote__label{font-size:.8125rem;font-weight:500;color:var(--q-muted)}.quote__req{margin-left:.35rem;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--q-soft)}.quote__input{width:100%;padding:.55rem 0 .6rem;border:0;border-bottom:1px solid var(--q-line);border-radius:0;background:transparent;color:var(--q-ink);font:inherit;font-size:.9375rem;outline:none;box-shadow:inset 0 -1px 0 transparent}.quote__input::placeholder{color:var(--q-soft)}.quote__input:hover{border-bottom-color:color-mix(in oklab,var(--q-ink) 45%,transparent)}.quote__input:focus-visible{border-bottom-color:var(--color-brand-strong);box-shadow:inset 0 -1px 0 var(--color-brand-strong)}.quote__textarea{resize:vertical;min-height:3.5rem}.quote__select-wrap{position:relative}.quote__select{appearance:none;padding-right:1.5rem;cursor:pointer}.quote--dark .quote__select option{color:var(--color-ink)}.quote__chevron{position:absolute;right:.1rem;top:50%;transform:translateY(-50%) rotate(90deg);pointer-events:none;color:var(--q-muted)}.quote__submit{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.quote__status{margin:0;font-size:.8125rem;font-weight:600;color:var(--q-muted)}.quote__status[data-state=ok]{color:var(--q-ink)}.quote__status[data-state=ok]:before{content:"✓ ";color:var(--q-accent)}.quote__status[data-state=error]{color:var(--q-ink)}.quote__status[data-state=error]:before{content:"! ";color:var(--color-accent-ember);font-weight:800}@media(prefers-reduced-motion:reduce){.quote__chip,.quote__chip-plus{transition:none}}
