.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin:28px 0}
.quote-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.quote-grid input,.quote-grid select{font:inherit;min-width:0;width:100%;padding:12px;border:2px solid #35315c;border-radius:10px;background:#fff;color:#231c4a}
.quote-consent{display:block;margin:20px 0;max-width:70ch}
.quote-consent input{width:22px;height:22px;vertical-align:middle}
#quote-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#fff;color:#231c4a;padding:20px;border-radius:12px}
#quote-review:focus{outline:3px solid #231c4a;outline-offset:6px}
#quote [hidden]{display:none!important}

/* Three steps (quote.js) */
.quote-track{display:flex;gap:8px;list-style:none;padding:0;margin:24px 0 8px;counter-reset:qs;max-width:36rem}
.quote-track li{flex:1;margin:0;position:relative;padding-top:14px;font-size:.88rem;font-weight:600;color:rgba(35,28,74,.6);counter-increment:qs}
.quote-track li::before,.quote-track li::after{content:"";position:absolute;top:0;left:0;height:6px;border-radius:999px}
.quote-track li::before{right:0;background:rgba(35,28,74,.14)}
.quote-track li::after{right:0;background:#382F87;transform:scaleX(0);transform-origin:0 50%}
.quote-track li[aria-current],.quote-track li.done{color:#231c4a}
.quote-track li.done::after,.quote-track li[aria-current]::after{transform:scaleX(1)}
.quote-track li[aria-current]::after{background:#F8C800}
.quote-step{border:0;margin:0;padding:0;min-width:0}
.quote-step legend{font-family:var(--display,inherit);font-weight:800;font-size:1.35rem;padding:0;margin:18px 0 0}
.quote-step legend:focus{outline:none}
.quote-step legend:focus-visible{outline:3px solid #231c4a;outline-offset:4px;border-radius:6px}
.quote-nav{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.quote-packed{margin:18px 0 0;padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(42,34,102,.06),0 2px 8px rgba(42,34,102,.06)}
.quote-packed p{margin:0 0 10px;font-weight:600}
.quote-packed a{margin-left:6px;font-weight:600}
.quote-stickers{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.quote-stickers li{margin:0;padding:6px 14px;border-radius:999px;background:#F8C800;color:#231c4a;font-weight:700;font-size:.92rem;transform:rotate(-1.5deg)}
.quote-stickers li:nth-child(even){transform:rotate(1.5deg)}
@media (prefers-reduced-motion: no-preference){
  .quote-track li::after{transition:transform 450ms var(--spring-snappy,cubic-bezier(.2,0,0,1))}
  .quote-step:not([hidden]){animation:qs-in 240ms cubic-bezier(.05,.7,.1,1) backwards}
  .quote-stickers li{animation:qs-land 650ms cubic-bezier(.2,0,0,1) backwards;animation-delay:calc(var(--i,0) * 60ms)}
}
@keyframes qs-in{from{opacity:0;transform:translateX(16px)}}
/* Poisson landing: wide-short, narrow-tall, rest (area stays about the same) */
@keyframes qs-land{0%{opacity:0;transform:translateY(-14px) scale(.6)}40%{opacity:1;transform:scale(1.06,.95)}70%{transform:scale(.98,1.02)}}
