.quote-page { background:#0c1219; color:#f4f7fa; margin:0; padding:0; font-family:var(--font-secondary-regular); }
.quote-page *, .quote-page *::before, .quote-page *::after {box-sizing:border-box;}
.quote-header { width:min(1200px,88%); margin:auto; min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #263746; }
.quote-header img { display:block; width:210px; max-width:100%; height:auto; max-height:58px; object-fit:contain; }
.quote-home { display:flex; align-items:center; gap:18px; color:#c2d0da; font-size:13px; text-decoration:none; white-space:nowrap; }
.quote-main { width:min(800px,88%); margin:48px auto 32px; }
.quote-intro { margin-bottom:30px; }
.quote-intro h1 { font-family:var(--font-primary-bold); font-size:clamp(30px,3.2vw,44px); line-height:1.15; letter-spacing:-.025em; margin:0 0 16px; }
.quote-intro > p:last-child { color:#b8c8d4; font-size:15px; line-height:1.7; margin:0; }
.quote-shell { background:#111d28; border:1px solid #2a4051; border-radius:14px; padding:30px 34px 32px; }
.quote-shell {scroll-margin-top:24px;}
.quote-progress-label { display:flex; justify-content:space-between; gap:16px; color:#b8c8d4; font-size:13px; font-variant-numeric:tabular-nums; margin-bottom:12px; }
#quoteProgress { appearance:none; display:block; border:0; border-radius:4px; overflow:hidden; width:100%; height:5px; background:#2a3d4c; margin-bottom:30px; accent-color:#449ad5; }
#quoteProgress::-webkit-progress-bar {background:#2a3d4c;}
#quoteProgress::-webkit-progress-value {background:#449ad5;transition:width .2s;}
#quoteProgress::-moz-progress-bar {background:#449ad5;}
#quoteQuestion { border:0; min-width:0; padding:0; margin:0; }
#quoteQuestion legend { display:block; width:100%; padding:0; font-family:var(--font-primary-bold); font-weight:700; font-size:clamp(21px,2.3vw,26px); line-height:1.4; margin:0 0 22px; }
.quote-options { display:grid; gap:9px; }
.quote-option {display:flex; align-items:center; gap:13px; cursor:pointer; border:1px solid #385163; border-radius:7px; padding:13px 16px; background:#142330; min-height:48px; font-size:14px; line-height:1.5; color:#d6e1e9; }
.quote-option:has(input:checked) {background:#193b52; border-color:#449ad5; color:#fff;}
.quote-option:hover {border-color:#78b6dd;}
.quote-option input {width:18px; height:18px; margin:0; flex-shrink:0; accent-color:#449ad5; cursor:pointer;}
.quote-other {margin-top:16px;}
.quote-other label {display:block; font-size:14px; margin-bottom:8px; color:#d6e1e9;}
.quote-other input {width:100%; border:1px solid #60859e; border-radius:6px; background:#0c161f; padding:13px; color:#fff; font:inherit; font-size:16px;}
.quote-other input::placeholder {color:#a9bdcb;}
.quote-hint {color:#b8c8d4; font-size:12px; margin:14px 0 0; line-height:1.6;}
.quote-error {color:#ffc4bc; font-size:13px; line-height:1.6; margin:12px 0;}
.quote-error:empty {display:none;}
.quote-actions {display:flex; justify-content:space-between; gap:16px; margin-top:26px;}
.quote-primary,.quote-secondary {font:inherit; font-size:14px; font-weight:700; padding:12px 20px; min-height:46px; border-radius:6px; cursor:pointer; text-decoration:none; display:inline-flex; justify-content:center; align-items:center;}
.quote-primary {background:#449ad5; color:#07131c; border:1px solid #449ad5;}
.quote-secondary {background:transparent; color:#d3e3ee; border:1px solid #466278;}
.quote-primary:hover {background:#75b8e4;}
.quote-secondary:hover {background:#203748;}
.quote-secondary:disabled {opacity:.35;cursor:default;}
.quote-page :focus-visible {outline:2px solid #93d2fc;outline-offset:4px;}
.quote-footnote {color:#a8bccb; text-align:center; font-size:12px; margin-top:24px;line-height:1.6;}
.quote-check {display:grid;place-items:center;width:46px;height:46px;background:#193b52;color:#9bd4f8;border-radius:50%;font-size:24px;margin-bottom:20px;}
#quoteThanks {font-family:var(--font-primary-bold);font-size:32px;line-height:1.2;margin:0 0 20px;}
#quoteDone p {font-size:16px;line-height:1.8;color:#c4d3de;margin-bottom:22px;}
#quoteDone strong {color:#fff;}
#quoteDone .quote-delivery {color:#a9cbe1;font-size:13px;}
.quote-complete-actions {display:flex; flex-wrap:wrap; gap:12px;}
.quote-page [hidden] {display:none!important;}
@media(max-width:600px) { .quote-header {min-height:78px;gap:12px;} .quote-header img {width:154px;} .quote-home {font-size:12px;gap:8px;} .quote-main {margin-top:32px;width:92%;} .quote-intro {padding:0 6px;margin-bottom:24px;} .quote-shell {padding:23px 18px;} .quote-option {padding:12px;font-size:14px;} .quote-actions {gap:10px;} .quote-primary,.quote-secondary {padding:12px 15px;} #quoteThanks {font-size:28px;} }
@media(prefers-reduced-motion:reduce) {#quoteProgress::-webkit-progress-value {transition:none;}}
