@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600&display=swap');

:root { --navy:#234667; --blue:#5d87a7; --pale:#dcebf2; --ice:#f3f8fa; --ink:#172b3d; --muted:#71818d; --line:#dce5e9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.site-header { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:42px; height:84px; justify-content:space-between; margin:0; max-width:none; padding:0 max(34px,calc((100% - 1280px)/2)); width:100%; }
.brand { align-items:center; color:var(--navy); display:flex; font-size:24px; font-weight:800; gap:11px; letter-spacing:.12em; }
.brand-mark { display:inline-block; height:35px; position:relative; transform:rotate(45deg); width:29px; }
.brand-mark i { background:var(--blue); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); display:block; height:24px; position:absolute; width:24px; }
.brand-mark i:nth-child(1) { background:var(--navy); left:0; top:0; }.brand-mark i:nth-child(2) { background:#9bb9ca; left:8px; top:8px; }.brand-mark i:nth-child(3) { background:#416b89; left:6px; top:16px; }
.nav { display:flex; gap:35px; margin-left:auto; }.nav a { color:#71808a; font-size:14px; font-weight:600; padding:12px 0; }.nav a.active,.nav a:hover { color:var(--navy); }
.header-phone { color:var(--navy); font-size:14px; font-weight:800; }.menu-button { display:none; background:none; border:0; color:var(--navy); font-size:23px; }
.hero { background:var(--navy); color:white; display:grid; grid-template-columns:1fr 1fr; min-height:505px; overflow:hidden; padding:85px max(34px,calc((100% - 1212px)/2)); position:relative; }
.hero-copy { position:relative; z-index:2; }.eyebrow { font-size:11px; font-weight:800; letter-spacing:.18em; margin:0 0 20px; opacity:.7; }.eyebrow.blue { color:var(--blue); opacity:1; }
h1,h2 { font-family:Oswald,Arial,sans-serif; font-weight:500; letter-spacing:-.02em; margin:0; } h1 { font-size:clamp(48px,6vw,82px); line-height:1.02; } h1 em { color:#b4d1df; font-style:normal; }.hero-text { color:#c3d2dd; font-size:15px; line-height:1.8; max-width:440px; margin:26px 0 33px; }
.button { border:0; cursor:pointer; display:inline-flex; gap:34px; justify-content:space-between; min-width:185px; padding:17px 19px; font-size:12px; font-weight:800; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button span { font-size:17px; line-height:10px; }.button-light { background:#f7fbfc; color:var(--navy); }.button-dark { background:var(--navy); color:#fff; }
.hero-art { position:relative; }.orb { border:1px solid rgba(197,225,237,.23); border-radius:50%; position:absolute; }.orb-one { height:475px; right:-90px; top:-115px; width:475px; }.orb-two { height:350px; right:20px; top:-50px; width:350px; }.car-line { bottom:-90px; color:rgba(178,210,224,.17); font-family:Oswald,sans-serif; font-size:410px; line-height:1; position:absolute; right:25px; transform:skew(-10deg); }
.catalog-section,.contacts { margin:auto; max-width:1280px; padding:88px 34px; }.section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:36px; }.section-heading h2,.contacts h2 { font-size:54px; }.catalog-status { color:var(--muted); font-size:13px; margin:0; }.filters { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:10px; margin-bottom:31px; padding-bottom:18px; }.filters select,.search { background:var(--ice); border:0; color:var(--ink); font-size:13px; height:48px; padding:0 15px; }.filters select { min-width:170px; }.search { align-items:center; display:flex; flex:1; gap:8px; max-width:410px; }.search span { color:var(--blue); font-size:24px; }.search input { background:none; border:0; outline:0; width:100%; }.filter-reset { background:none; border:0; color:var(--muted); cursor:pointer; font-size:12px; margin-left:auto; }
.car-grid { display:grid; gap:25px; grid-template-columns:repeat(3,1fr); min-height:280px; }.car-card { border:1px solid var(--line); cursor:pointer; overflow:hidden; transition:box-shadow .2s,transform .2s; }.car-card:hover { box-shadow:0 14px 35px #2346671a; transform:translateY(-3px); }.car-photo { background:var(--ice); height:220px; overflow:hidden; position:relative; }.car-photo img { height:100%; object-fit:cover; transition:transform .35s; width:100%; }.car-card:hover img { transform:scale(1.04); }.car-photo .no-photo { align-items:center; color:#9cafbb; display:flex; font-family:Oswald,sans-serif; font-size:43px; height:100%; justify-content:center; }.car-year { background:#fff; color:var(--navy); font-size:11px; font-weight:800; left:13px; padding:7px 9px; position:absolute; top:13px; }.car-info { padding:19px 18px 21px; }.car-title { font-family:Oswald,sans-serif; font-size:24px; margin:0 0 8px; }.car-spec { color:var(--muted); font-size:12px; min-height:18px; }.car-bottom { align-items:end; display:flex; justify-content:space-between; margin-top:20px; }.car-price { color:var(--navy); font-size:17px; font-weight:800; }.car-price small { color:var(--muted); display:block; font-size:10px; font-weight:500; margin-bottom:3px; }.car-action { color:var(--blue); font-size:21px; }.loading { color:var(--muted); grid-column:1/-1; padding:70px; text-align:center; }.empty { color:var(--muted); grid-column:1/-1; padding:50px 0; text-align:center; }
.request-band { align-items:center; background:var(--pale); display:flex; justify-content:space-between; padding:64px max(34px,calc((100% - 1212px)/2)); }.request-band h2 { color:var(--navy); font-size:43px; line-height:1.1; }
.contacts { display:grid; gap:80px; grid-template-columns:1fr 1fr; }.contact-lead { color:var(--muted); font-size:14px; line-height:1.8; max-width:440px; }.contact-details { align-items:flex-start; display:flex; flex-direction:column; gap:15px; justify-content:center; }.contact-details a { color:var(--navy); font-family:Oswald,sans-serif; font-size:28px; }.contact-details a:nth-child(n+3) { color:var(--blue); font-family:Manrope,sans-serif; font-size:14px; font-weight:700; }
footer { align-items:center; background:var(--navy); color:#b6c8d3; display:flex; font-size:11px; gap:40px; justify-content:space-between; padding:30px max(34px,calc((100% - 1212px)/2)); } footer .brand { color:white; font-size:16px; }
dialog { border:0; box-shadow:0 25px 80px #102b4050; max-width:480px; padding:38px; width:calc(100% - 32px); }dialog::backdrop { background:#152e3e99; }.dialog-close { background:none; border:0; color:var(--muted); cursor:pointer; font-size:28px; position:absolute; right:18px; top:13px; }.dialog-note { color:var(--muted); font-size:13px; margin:8px 0 25px; }.lead-form,form { display:flex; flex-direction:column; gap:14px; }form label { color:var(--muted); display:flex; flex-direction:column; font-size:11px; gap:6px; }form input,form textarea { border:1px solid var(--line); padding:11px; resize:vertical; }.consent { align-items:start; flex-direction:row; line-height:1.4; }.consent input { margin-top:2px; }.form-result { font-size:12px; margin:0; }.form-result.success { color:#267b5b; }.form-result.error { color:#b14a4a; }
@media (max-width:760px) { .site-header { height:70px; padding:0 20px; }.brand { font-size:19px; }.nav,.header-phone { display:none; }.menu-button { display:block; }.hero { display:block; min-height:560px; padding:65px 20px; }.hero-art { height:130px; }.orb-one { height:310px; right:-100px; top:-80px; width:310px; }.orb-two { height:240px; right:-45px; top:-40px; width:240px; }.car-line { bottom:-130px; font-size:250px; right:20px; }.catalog-section,.contacts { padding:62px 20px; }.section-heading { align-items:start; flex-direction:column; gap:13px; }.section-heading h2,.contacts h2 { font-size:43px; }.filters { align-items:stretch; flex-wrap:wrap; }.search { flex-basis:100%; max-width:none; }.filters select { flex:1; min-width:0; }.filter-reset { margin:0; }.car-grid { grid-template-columns:1fr; }.car-photo { height:230px; }.request-band { align-items:start; flex-direction:column; gap:28px; padding:53px 20px; }.request-band h2 { font-size:36px; }.contacts { display:flex; flex-direction:column; gap:32px; }.contact-details a { font-size:24px; }footer { align-items:flex-start; flex-direction:column; gap:16px; padding:30px 20px; } }

/* Logo, mobile-app navigation, and vehicle detail pages */
.site-header { background:#fff; position:sticky; top:0; z-index:20; }
.brand { flex-shrink:0; }
.brand img { display:block; height:52px; mix-blend-mode:multiply; object-fit:cover; object-position:center 54%; width:150px; }
.header-quote { align-items:center; flex-shrink:0; gap:20px; min-width:0; padding:14px 16px; }
.mobile-nav { display:none; }
.car-card { color:inherit; display:block; text-decoration:none; }
.card-open { align-items:center; background:#fff; bottom:12px; color:var(--navy); display:flex; font-size:11px; font-weight:800; gap:18px; opacity:0; padding:9px 12px; position:absolute; right:12px; transform:translateY(5px); transition:opacity .2s,transform .2s; }
.card-open b { color:var(--blue); font-size:16px; }
.car-card:hover .card-open,.car-card:focus-visible .card-open { opacity:1; transform:translateY(0); }
.detail-main { margin:auto; max-width:1280px; min-height:70vh; padding:27px 34px 88px; }
.back-link { color:var(--blue); display:inline-block; font-size:13px; font-weight:700; margin:0 0 27px; }
.detail-layout { align-items:start; display:grid; gap:55px; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); }
.detail-main-photo { background:var(--ice); height:clamp(340px,46vw,580px); overflow:hidden; position:relative; }
.detail-main-photo img { height:100%; object-fit:cover; width:100%; }
.detail-main-photo .no-photo { align-items:center; color:#9cafbb; display:flex; font-family:Oswald,sans-serif; font-size:58px; height:100%; justify-content:center; }
.availability { background:#fff; color:var(--navy); font-size:11px; font-weight:800; left:16px; padding:9px 12px; position:absolute; top:16px; }
.photo-thumbs { display:flex; gap:10px; margin-top:11px; overflow-x:auto; padding-bottom:4px; }
.photo-thumb { background:var(--ice); border:2px solid transparent; cursor:pointer; flex:0 0 88px; height:66px; padding:0; }
.photo-thumb.selected { border-color:var(--blue); }.photo-thumb img { height:100%; object-fit:cover; width:100%; }
.video-link { color:var(--blue); display:inline-block; font-size:13px; font-weight:700; margin-top:16px; }
.detail-copy { padding-top:12px; }.detail-copy h1 { color:var(--navy); font-size:clamp(42px,5vw,65px); }.detail-trim { color:var(--muted); font-size:14px; line-height:1.7; margin:12px 0 25px; }
.detail-price { color:var(--navy); font-size:clamp(25px,3vw,36px); font-weight:800; }.detail-price small { color:var(--muted); display:block; font-size:11px; font-weight:500; margin-top:5px; }
.detail-cta { margin:21px 0 27px; width:100%; }.spec-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; }
.spec-item { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:12px; justify-content:space-between; min-height:54px; padding:10px 0; }.spec-item span { color:var(--muted); font-size:12px; }.spec-item strong { color:var(--ink); font-size:12px; text-align:right; }
.price-breakdown { background:var(--ice); display:grid; gap:40px; grid-template-columns:1fr 1fr; margin-top:75px; padding:42px; }.price-breakdown h2,.detail-bottom h2 { color:var(--navy); font-size:38px; }.price-breakdown p:not(.eyebrow),.detail-bottom p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.7; max-width:430px; }.price-lines .spec-item { border-color:#d4e1e7; }.price-lines .price-total strong { color:var(--navy); font-size:16px; }.detail-bottom { align-items:center; display:flex; justify-content:space-between; margin-top:70px; }
.detail-loading,.detail-error { color:var(--muted); padding:100px 10px; text-align:center; }.detail-error .button { margin-top:20px; }
dialog { border-radius:3px; max-height:min(92vh,900px); max-width:820px; overflow-y:auto; padding:38px clamp(22px,5vw,58px); }
dialog h2 { color:var(--navy); font-size:36px; }.quote-form { display:grid; gap:15px 18px; grid-template-columns:1fr 1fr; }.quote-form .form-row { display:contents; }.quote-form label { min-width:0; }.quote-form input,.quote-form select,.quote-form textarea { background:#fff; border:1px solid var(--line); border-radius:0; min-height:43px; padding:10px 12px; width:100%; }.quote-form .wide-field,.quote-form .consent,.quote-form button,.quote-form .form-result { grid-column:1/-1; }.quote-form .consent { align-items:center; display:flex; flex-direction:row; }.quote-form .consent input { flex:0 0 16px; height:16px; min-height:16px; padding:0; width:16px; }
.dialog-close { position:sticky; float:right; margin:-23px -32px 0 0; }
footer .brand { background:#fff; height:42px; overflow:hidden; }
footer .brand img { height:42px; }
@media (max-width:760px) {
  body { padding-bottom:66px; }
  .site-header { gap:9px; height:64px; padding:0 12px; }
  .brand img { height:43px; width:116px; }
  .header-quote { font-size:10px; gap:8px; justify-content:center; min-width:0; padding:12px 10px; }
  .header-quote span { font-size:13px; }
  .mobile-nav { align-items:stretch; background:#fff; border-top:1px solid var(--line); bottom:0; box-shadow:0 -8px 24px #1a38500c; display:flex; justify-content:space-around; left:0; padding:6px 8px max(6px,env(safe-area-inset-bottom)); position:fixed; right:0; z-index:30; }
  .mobile-nav a,.mobile-nav button { align-items:center; background:none; border:0; color:var(--muted); cursor:pointer; display:flex; flex:1; flex-direction:column; font-size:10px; font-weight:700; gap:2px; justify-content:center; padding:3px; }
  .mobile-nav span { color:var(--navy); font-size:20px; line-height:22px; }
  .car-photo { height:230px; }.card-open { opacity:1; transform:none; }
  .detail-main { padding:18px 16px 52px; }.detail-layout { display:flex; flex-direction:column; gap:28px; }.detail-gallery,.detail-copy { width:100%; }.detail-main-photo { height:72vw; max-height:430px; min-height:260px; }.detail-copy { padding:0; }.detail-copy h1 { font-size:42px; }.spec-grid { column-gap:15px; }.spec-item { align-items:flex-start; flex-direction:column; gap:5px; justify-content:center; min-height:62px; }.spec-item strong { text-align:left; }.price-breakdown { gap:14px; grid-template-columns:1fr; margin-top:45px; padding:25px 18px; }.price-breakdown h2,.detail-bottom h2 { font-size:32px; }.detail-bottom { align-items:flex-start; flex-direction:column; gap:18px; margin-top:45px; }
  dialog { border:0; border-radius:0; bottom:0; height:100dvh; left:0; margin:0; max-height:100dvh; max-width:none; padding:28px 20px calc(24px + env(safe-area-inset-bottom)); position:fixed; right:0; top:0; width:100%; }.dialog-close { margin:-16px -8px 0 0; }.quote-form { gap:12px; grid-template-columns:1fr; }.quote-form .wide-field,.quote-form button,.quote-form .form-result { grid-column:auto; }.quote-form .form-row { display:contents; }
}

/* Full-page car calculation form, styled as a guided quote flow */
.calculate-page { background:#f5f7f9; }
.calculate-page .site-header { max-width:none; padding-left:max(20px,calc((100% - 1212px)/2)); padding-right:max(20px,calc((100% - 1212px)/2)); }
.quote-page { margin:auto; max-width:1212px; padding:25px 34px 88px; }
.quote-car-notice { background:#eaf2f6; border-left:3px solid var(--blue); color:var(--navy); font-size:13px; font-weight:700; margin:-6px 0 22px; padding:12px 16px; }
.quote-car-notice[hidden] { display:none; }
.quote-intro { align-items:end; display:flex; gap:50px; justify-content:space-between; margin:10px 0 34px; }
.quote-intro h1 { color:var(--navy); font-size:clamp(46px,6vw,70px); }
.quote-intro > p { color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 5px; max-width:450px; }
.quote-sheet { background:#fff; border:1px solid var(--line); display:block; }
.quote-section { padding:32px 38px 36px; }
.quote-section + .quote-section { border-top:1px solid var(--line); }
.quote-section-title { align-items:flex-start; display:flex; gap:17px; margin-bottom:26px; }
.quote-section-title > span { align-items:center; border:1px solid #b7cbd7; border-radius:50%; color:var(--blue); display:flex; flex:0 0 35px; font-size:11px; font-weight:800; height:35px; justify-content:center; }
.quote-section-title h2 { color:var(--navy); font-size:27px; }
.quote-section-title p { color:var(--muted); font-size:12px; margin:5px 0 0; }
.quote-fields { display:grid; gap:22px 28px; grid-template-columns:1fr 1fr; padding-left:52px; }
.quote-field { border:0; color:var(--ink); display:flex; flex-direction:column; font-size:12px; font-weight:700; gap:9px; margin:0; min-width:0; padding:0; }
.quote-field legend { color:var(--ink); font-size:12px; font-weight:700; margin-bottom:9px; padding:0; }
.quote-field-wide { grid-column:1/-1; }
.quote-field > input,.quote-field > select,.quote-field > textarea { background:#fff; border:1px solid #ccd8df; border-radius:2px; color:var(--ink); font-size:13px; min-height:46px; outline:none; padding:12px 14px; width:100%; }
.quote-field > input:focus,.quote-field > select:focus,.quote-field > textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px #5d87a71a; }
.quote-field > textarea { resize:vertical; }
.choice-list { display:flex; flex-wrap:wrap; gap:8px; }
.choice { cursor:pointer; display:inline-flex; font-size:12px; font-weight:600; }
.choice input { height:1px; opacity:0; position:absolute; width:1px; }
.choice span { background:#f5f7f8; border:1px solid #e0e7eb; color:#596d7b; padding:10px 14px; transition:background .15s,border-color .15s,color .15s; }
.choice input:checked + span { background:#eaf2f6; border-color:var(--blue); color:var(--navy); }
.choice input:focus-visible + span { outline:2px solid var(--blue); outline-offset:2px; }
.choice-brands .choice span { background:#fff; min-width:86px; text-align:center; }
.choice-brands .choice input:checked + span { background:var(--navy); border-color:var(--navy); color:white; }
.budget-field { display:grid; gap:12px 20px; grid-template-columns:1fr auto; }
.budget-field > output { color:var(--navy); font-size:18px; font-weight:800; grid-column:2; grid-row:1; }
.budget-field > input[type=range] { accent-color:var(--blue); grid-column:1/-1; min-height:22px; padding:0; }
.range-hints { color:var(--muted); display:flex; font-size:10px; font-weight:500; grid-column:1/-1; justify-content:space-between; margin-top:-10px; }
.quote-hint { background:var(--ice); border-left:3px solid var(--blue); color:var(--muted); font-size:11px; line-height:1.6; margin:0; padding:12px 15px; }
.quote-consent { align-items:center; color:var(--muted); display:flex; flex-direction:row; font-size:11px; gap:9px; }
.quote-consent input { accent-color:var(--navy); height:16px; width:16px; }
.quote-submit .button { min-width:220px; }.quote-submit > p:not(.form-result) { color:var(--muted); font-size:10px; margin:9px 0 0; }.quote-submit .form-result { margin-top:12px; }

/* Reference-style vehicle detail card with the brand's blue palette */
.cn-back-link { color:var(--navy); display:inline-block; font-size:14px; font-weight:700; margin:0 0 16px; }
.cn-back-link:hover,.cn-detail-link:hover { text-decoration:underline; }
.bao-detail-card { align-items:start; background:white; border:1px solid #e0e5e8; box-shadow:0 8px 30px #102b4010; display:grid; grid-template-columns:1fr 1fr; }
.bao-detail-gallery { background:#182b3a; min-width:0; }
.bao-photo-stage { align-items:center; background:#172a39; display:flex; justify-content:center; min-height:340px; overflow:hidden; position:relative; }
.bao-photo-stage > img { cursor:zoom-in; height:100%; max-height:620px; object-fit:contain; width:100%; }
.detail-no-photo { align-items:center; color:#acc0cd; display:flex; font-size:12px; font-weight:700; height:350px; justify-content:center; letter-spacing:.15em; }
.bao-stock { background:#fff; color:var(--navy); font-size:10px; font-weight:800; left:13px; padding:7px 10px; position:absolute; top:13px; }
.bao-photo-nav { align-items:center; background:#0e1c28b8; border:0; border-radius:50%; color:white; cursor:pointer; display:flex; font-size:28px; height:38px; justify-content:center; line-height:1; position:absolute; top:50%; transform:translateY(-50%); width:38px; }
.bao-photo-nav:hover { background:var(--blue); }.bao-photo-prev { left:12px; }.bao-photo-next { right:12px; }
.bao-photo-count { background:#142431bd; bottom:12px; color:#fff; font-size:10px; padding:5px 9px; position:absolute; right:12px; }
.bao-thumbnails { background:#f1f4f6; display:flex; gap:4px; overflow-x:auto; padding:7px 9px; scrollbar-width:none; }.bao-thumbnails::-webkit-scrollbar { display:none; }
.bao-thumbnail { background:#dce5e9; border:2px solid transparent; cursor:pointer; flex:0 0 58px; height:44px; opacity:.65; padding:0; }.bao-thumbnail.active,.bao-thumbnail:hover { border-color:var(--blue); opacity:1; }.bao-thumbnail img { height:100%; object-fit:cover; width:100%; }
.bao-video-link { color:var(--navy); display:block; font-size:12px; font-weight:700; padding:12px 16px; }
.bao-detail-body { display:flex; flex-direction:column; min-width:0; padding:25px 27px 0; }
.cn-detail-link { color:var(--blue); display:inline-block; font-size:12px; font-weight:700; margin-bottom:11px; }
.bao-car-title { color:#1d3447; font-family:Manrope,Arial,sans-serif; font-size:25px; font-weight:800; line-height:1.25; overflow-wrap:anywhere; }
.bao-car-sub { color:#81909a; font-size:11px; line-height:1.6; margin:6px 0 13px; }
.bao-specs { display:grid; gap:0 18px; grid-template-columns:1fr 1fr; margin-bottom:8px; }
.bao-spec { border-bottom:1px solid #e8ecef; display:flex; flex-direction:column; gap:3px; min-width:0; padding:8px 0; }
.bao-spec-label { color:#8b98a1; font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.bao-spec-value { color:#293f51; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.bao-subheading { color:#354b5d; font-size:12px; font-weight:800; margin:13px 0 6px; }
.bao-equipment { border-left:3px solid var(--blue); color:#586773; font-size:12px; line-height:1.55; margin:0 0 8px; min-height:35px; overflow-wrap:anywhere; padding:6px 10px; }
.bao-condition { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 9px; }.condition-chip { font-size:10px; font-weight:700; padding:5px 9px; }.condition-good { background:#eaf4ef; color:#34765a; }.condition-check { background:#f6f1e7; color:#92723b; }
.bao-report,.bao-price-report { color:#89949d; font-size:10px; line-height:1.5; margin:0 0 10px; }
.bao-price-row { align-items:center; background:#1c3448; display:flex; gap:12px; justify-content:space-between; margin:12px -27px 0; padding:13px 17px 13px 22px; }
.bao-price { color:#fff; flex-shrink:0; font-size:19px; font-weight:800; }.bao-price span { color:#afbfca; display:block; font-size:9px; font-weight:400; margin-top:3px; }
.bao-buy { background:#5d87a7; color:#fff; cursor:pointer; font-size:11px; min-width:0; padding:12px 13px; }.bao-buy:hover { background:#426d8b; }
.bao-price-details { margin:11px 0 17px; }.bao-price-details summary { color:var(--blue); cursor:pointer; font-size:11px; font-weight:700; list-style:none; }.bao-price-details summary::-webkit-details-marker { display:none; }.bao-price-details summary::after { content:'＋'; float:right; }.bao-price-details[open] summary::after { content:'−'; }
.bao-price-lines { margin-top:6px; }.bao-price-lines .bao-spec { align-items:center; flex-direction:row; justify-content:space-between; padding:6px 0; }.bao-price-lines .bao-spec-label { font-size:10px; letter-spacing:0; text-transform:none; }.bao-price-lines .bao-spec-value { font-size:11px; }.bao-price-total { align-items:center; border-top:1px solid #cfdbe2; color:var(--navy); display:flex; font-size:11px; font-weight:800; justify-content:space-between; padding:10px 0; }
.bao-lightbox { align-items:center; background:#080e13f5; display:none; gap:20px; inset:0; justify-content:center; padding:60px 30px; position:fixed; z-index:100; }.bao-lightbox.open { display:flex; }.bao-lightbox > img { max-height:100%; max-width:min(90vw,1200px); object-fit:contain; }.bao-lightbox button { background:#ffffff20; border:0; color:#fff; cursor:pointer; font-size:28px; height:46px; width:46px; }.bao-lightbox button:hover { background:var(--blue); }.bao-lightbox-close { position:absolute; right:20px; top:18px; }.bao-lightbox #lightbox-count { bottom:18px; color:#fff; font-size:12px; left:50%; position:absolute; transform:translateX(-50%); }
@media (max-width:800px) {
  .quote-page { padding:18px 16px 58px; }.quote-intro { align-items:start; flex-direction:column; gap:12px; margin:10px 0 22px; }.quote-intro h1 { font-size:44px; }.quote-intro > p { font-size:12px; }.quote-section { padding:24px 18px; }.quote-section-title { gap:12px; margin-bottom:20px; }.quote-section-title h2 { font-size:23px; }.quote-fields { gap:19px; grid-template-columns:1fr; padding-left:0; }.quote-field-wide { grid-column:auto; }.choice-list { gap:6px; }.choice span { padding:9px 11px; }.choice-brands .choice span { min-width:0; }.budget-field { grid-template-columns:1fr auto; }.budget-field > input[type=range],.range-hints { grid-column:1/-1; }
  .bao-detail-card { grid-template-columns:1fr; }.bao-photo-stage { min-height:280px; }.bao-photo-stage > img { max-height:460px; }.bao-detail-body { padding:21px 19px 0; }.bao-car-title { font-size:22px; }.bao-price-row { margin-left:-19px; margin-right:-19px; padding:12px 13px; }.bao-price { font-size:17px; }.bao-buy { padding:11px 10px; }.bao-lightbox { gap:8px; padding:50px 8px; }.bao-lightbox > img { max-width:calc(100vw - 112px); }.bao-lightbox button { flex:0 0 38px; height:38px; width:38px; }
}

/* Softer controls and the supplier-style catalogue filter layout */
.button,.filters select,.search,.filter-input,.filter-select,.quote-field > input,.quote-field > select,.quote-field > textarea,.choice span { border-radius:9px; }
.car-card,.filter-panel,.quote-sheet,.bao-detail-card { border-radius:14px; }
.car-card { box-shadow:0 2px 8px #1b3b5210; }
.car-photo { border-radius:13px 13px 0 0; }
.site-header .header-quote { border-radius:9px; }
.catalog-layout { align-items:start; display:grid; gap:24px; grid-template-columns:minmax(230px,270px) minmax(0,1fr); }
.catalog-sidebar { min-width:0; }
.filter-panel { background:#fff; border:1px solid var(--line); box-shadow:0 3px 14px #1b3b520a; padding:18px; position:sticky; top:100px; }
.filter-panel > summary { align-items:center; color:var(--navy); cursor:pointer; display:flex; font-size:15px; font-weight:800; justify-content:space-between; list-style:none; }
.filter-panel > summary::-webkit-details-marker { display:none; }
.filter-controls { display:grid; gap:20px; margin-top:19px; }
.filter-field { color:#586d7b; display:grid; font-size:10px; font-weight:800; gap:8px; letter-spacing:.04em; min-width:0; text-transform:uppercase; }
.filter-input,.filter-select { background:#f5f7f8; border:1px solid #e1e8ec; color:var(--ink); font-size:12px; font-weight:500; height:42px; letter-spacing:0; outline:none; padding:0 11px; text-transform:none; width:100%; }
.filter-input:focus,.filter-select:focus { border-color:var(--blue); box-shadow:0 0 0 3px #5d87a71a; }
.range-label { align-items:center; display:flex; justify-content:space-between; }.range-label span { color:var(--blue); font-size:10px; font-weight:700; letter-spacing:0; text-transform:none; white-space:nowrap; }
.range-label b { font-weight:800; }
.dual-range { height:24px; position:relative; touch-action:pan-y; }
.range-base,.range-selected { height:4px; position:absolute; top:10px; }
.range-base { background:#e1e8ec; border-radius:10px; left:0; right:0; }
.range-selected { background:var(--blue); border-radius:10px; }
.dual-range input[type=range] { appearance:none; background:transparent; height:24px; left:0; margin:0; pointer-events:none; position:absolute; top:0; width:100%; }
.dual-range input[type=range]::-webkit-slider-runnable-track { appearance:none; background:transparent; height:4px; }
.dual-range input[type=range]::-moz-range-track { background:transparent; height:4px; }
.dual-range input[type=range]::-webkit-slider-thumb { appearance:none; background:#fff; border:2px solid var(--blue); border-radius:50%; box-shadow:0 1px 4px #142c3d30; cursor:grab; height:16px; margin-top:-6px; pointer-events:auto; width:16px; }
.dual-range input[type=range]::-moz-range-thumb { background:#fff; border:2px solid var(--blue); border-radius:50%; box-shadow:0 1px 4px #142c3d30; cursor:grab; height:12px; pointer-events:auto; width:12px; }
.filter-reset { background:none; border:0; color:var(--blue); cursor:pointer; font-size:10px; font-weight:700; margin:0; padding:5px; text-transform:none; }
.catalog-results { min-width:0; }
.result-toolbar { align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; display:flex; justify-content:space-between; margin-bottom:16px; min-height:56px; padding:8px 15px; }
.result-toolbar .catalog-status { color:#536977; font-size:12px; font-weight:600; }
.result-toolbar label { align-items:center; color:var(--muted); display:flex; font-size:9px; font-weight:800; gap:9px; letter-spacing:.08em; text-transform:uppercase; }
.result-toolbar select { background:transparent; border:0; color:var(--navy); font-size:12px; font-weight:700; letter-spacing:0; outline:none; text-transform:none; }
.car-grid { gap:17px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.car-card { border-color:#e5eaed; border-radius:13px; }
.car-photo { height:clamp(165px,22vw,235px); }
.car-photo img { border-radius:12px 12px 0 0; }
.car-info { padding:15px 16px 17px; }
.car-title { font-family:Manrope,Arial,sans-serif; font-size:18px; font-weight:800; }
.card-more { color:var(--blue); font-size:11px; font-weight:800; }
.car-bottom { align-items:center; }
.car-photo-count,.car-video-badge { background:#ffffffed; border-radius:7px; color:var(--navy); font-size:9px; font-weight:800; padding:6px 8px; position:absolute; right:10px; top:10px; }
.car-video-badge { background:#234667e8; color:#fff; right:auto; top:auto; bottom:10px; left:10px; }
.car-vin { color:var(--muted); font-size:9px; letter-spacing:.04em; margin:2px 0 10px; }
.car-key-specs { border-top:1px solid var(--line); display:grid; gap:0 12px; grid-template-columns:1fr 1fr; margin-top:10px; }
.card-spec-row { border-bottom:1px solid #e9eef1; display:flex; flex-direction:column; gap:3px; min-width:0; padding:7px 0; }
.card-spec-wide { grid-column:1/-1; }
.card-spec-row span { color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.card-spec-row strong { color:#293f51; font-size:10px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.card-spec-wide { grid-column:1/-1; }
.car-price-block { align-items:flex-end; display:flex; flex-wrap:wrap; gap:8px 12px; justify-content:space-between; margin-top:12px; }
.car-price { font-size:15px; }
.car-source-price { color:var(--muted); font-size:9px; }
.car-source-price strong { color:var(--ink); font-size:10px; }
.card-rub-breakdown { background:#f6f8f9; border:1px solid #e7ecef; border-radius:9px; margin-top:10px; padding:9px 10px; }
.card-rub-title { color:var(--navy); font-size:9px; font-weight:800; margin:0 0 5px; }
.card-rub-line { align-items:baseline; border-bottom:1px solid #e8edef; color:var(--muted); display:flex; font-size:9px; gap:5px; justify-content:space-between; padding:4px 0; }
.card-rub-line strong { color:#354b5d; font-size:9px; font-weight:700; white-space:nowrap; }
.card-rub-total { align-items:baseline; color:var(--navy); display:flex; font-size:9px; font-weight:800; justify-content:space-between; padding-top:7px; }
.card-rub-total strong { font-size:11px; white-space:nowrap; }
.card-rub-unavailable { color:var(--muted); font-size:9px; }
.car-card-footer { border-top:1px solid var(--line); color:var(--blue); font-size:10px; font-weight:800; margin-top:10px; padding-top:9px; }
.quote-intro { display:block; margin:18px auto 38px; max-width:820px; text-align:center; }
.quote-intro h1 { font-size:clamp(42px,6vw,64px); line-height:1.08; }
.quote-intro > p { margin:18px auto 0; max-width:700px; }
.quote-section-title > span { border-radius:50%; }
.bao-detail-card { overflow:hidden; }
.bao-photo-stage,.bao-photo-stage > img { border-radius:13px 13px 0 0; }
.bao-thumbnail { border-radius:6px; }
.bao-buy { border-radius:8px; }
.bao-price-details summary { border-radius:6px; }
.bao-video { background:#f2f5f7; border-radius:10px; margin:12px 12px 16px; overflow:hidden; padding:12px; }
.bao-video h2 { color:var(--navy); font-size:12px; margin:0 0 8px; }
.bao-video video { background:#142431; border-radius:7px; display:block; max-height:360px; width:100%; }
@media (min-width:1250px) { .car-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) {
  .catalog-layout { gap:15px; grid-template-columns:220px minmax(0,1fr); }
  .filter-panel { padding:14px; top:78px; }
  .car-grid { gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .car-photo { height:clamp(145px,24vw,210px); }
  .car-info { padding:12px; }.car-title { font-size:16px; }.car-price { font-size:14px; }
}
@media (max-width:680px) {
  .catalog-layout { display:flex; flex-direction:column; }
  .catalog-sidebar,.catalog-results { width:100%; }
  .filter-panel { padding:13px 15px; position:static; width:100%; }
  .filter-panel:not([open]) .filter-controls { display:none; }
  .filter-controls { gap:14px; grid-template-columns:1fr 1fr; }
  .filter-field:first-child,.filter-field:nth-child(4),.filter-field:nth-child(5) { grid-column:1/-1; }
  .result-toolbar { align-items:flex-start; flex-direction:column; gap:9px; padding:12px; }
  .result-toolbar label { align-items:center; justify-content:space-between; width:100%; }
  .result-toolbar select { max-width:65%; }
  .car-grid { gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .car-photo { height:clamp(120px,37vw,190px); }
  .car-info { padding:10px; }.car-title { font-size:14px; line-height:1.3; }.car-spec { font-size:10px; }.car-bottom { align-items:flex-start; flex-direction:column; gap:8px; margin-top:13px; }.car-price { font-size:13px; }.card-more { font-size:10px; }
  .card-rub-breakdown { padding:8px; }.card-rub-line { align-items:flex-start; font-size:8px; }.card-rub-line strong { font-size:8px; }.car-source-price { font-size:8px; }
  .quote-intro { margin:12px auto 24px; }.quote-intro h1 { font-size:40px; }.quote-intro > p { font-size:13px; }
}

/* Match the softer rounded surfaces used by the reference site. */
.button span { display:none; }
.button,.header-quote,.bao-buy { border-radius:9px; }
.car-card,.filter-panel,.result-toolbar,.quote-sheet,.bao-detail-card { border-radius:14px; }
.car-photo,.car-photo img { border-radius:13px 13px 0 0; }
.car-year { border-radius:6px; }
.filter-input,.filter-select,.quote-field > input,.quote-field > select,.quote-field > textarea { border-radius:9px; }
.choice span { border-radius:8px; }
.filter-panel > summary { border-radius:8px; }
.bao-photo-stage,.bao-photo-stage > img { border-radius:13px 13px 0 0; }
.bao-thumbnail,.bao-video video { border-radius:8px; }
.bao-video { border-radius:12px; }
.quote-section-title > span { border-radius:50%; }
.quote-hint { border-radius:8px; }
.bao-detail-card { overflow:hidden; }
.site-header { max-width:none; width:100%; }
.catalog-intro-note { color:var(--muted); font-size:12px; margin:0; }
@media (max-width:680px) {
  .catalog-sidebar details[open] summary { margin-bottom:14px; }
  .catalog-sidebar details:not([open]) summary { margin-bottom:0; }
  .car-card { border-radius:11px; }
  .car-photo,.car-photo img { border-radius:10px 10px 0 0; }
}
