.glass-panel,.glass-card{background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.75);box-shadow:var(--fpl-shadow-md);border-radius:var(--fpl-radius);transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.glass-card:hover{background:rgba(255,255,255,.85);border-color:rgba(255,255,255,.95);box-shadow:var(--fpl-shadow-lg)}.glass-header{background:rgba(255,255,255,.7);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -14px rgba(15,24,38,.15),0 1px 2px rgba(15,24,38,.04);border-radius:20px}.glass-footer{background:rgba(255,255,255,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.7)}.no-glass .glass-panel,.no-glass .glass-card{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--fpl-line)}.no-glass .glass-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--fpl-line)}.no-glass .glass-footer{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){.glass-panel,.glass-card,.glass-header{background:#fff}}.quote-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.quote-modal.is-open{display:flex}.quote-modal__backdrop{position:absolute;inset:0;background:rgba(11,18,32,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .18s ease}.quote-modal__dialog{position:relative;width:min(640px,100%);max-height:min(92vh,900px);overflow:auto;padding:32px;border-radius:22px;animation:pop-in .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes pop-in{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}.quote-modal__close{position:absolute;top:14px;right:14px;background:rgba(15,24,38,.06);border:0;padding:8px;border-radius:10px;cursor:pointer;color:var(--fpl-ink-dim);transition:background .2s}.quote-modal__close:hover{background:rgba(15,24,38,.12);color:var(--fpl-ink)}.quote-modal__header{margin-bottom:22px}.quote-modal__header h2{font-family:"Playfair Display",serif;font-size:1.7rem;margin:12px 0 6px}.quote-modal__header p{color:var(--fpl-ink-dim);margin:0}.quote-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field--full{grid-column:1/-1}.field__label{font-size:.8rem;color:var(--fpl-ink-dim);font-weight:600}.field input,.field select,.field textarea{padding:12px 14px;border:1px solid var(--fpl-line-strong);border-radius:10px;background:#fff;color:var(--fpl-ink);transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--fpl-primary);box-shadow:0 0 0 3px rgba(15,98,254,.15)}.field textarea{resize:vertical;min-height:88px;font-family:inherit}.quote-form__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;flex-wrap:wrap}.quote-form__note{color:var(--fpl-muted);font-size:.82rem;margin:0;max-width:38ch}.quote-form__status{margin:14px 0 0;font-size:.9rem}.quote-form__status.is-success{color:#00a25b}.quote-form__status.is-error{color:#d8302b}