@font-face {
  font-family: "NDCAR Michroma";
  src: url("ndcar-michroma.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --bg: #06080b;
  --panel: #0b0e13;
  --panel-2: #10141a;
  --text: #f4f1ea;
  --muted: #979da6;
  --line: rgba(255, 255, 255, .11);
  --gold: #d6b778;
  --gold-strong: #f0d49a;
  --blue: #1a82ff;
  --max: 1280px;
  --display: "Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --brand: "Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --body: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--body); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 20; height: 90px; padding: 0 max(24px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; background: linear-gradient(180deg, rgba(4,6,9,.94), rgba(4,6,9,.55), transparent); transition: background .25s, height .25s, border-color .25s; }
.site-header.is-scrolled { height: 76px; background: rgba(6,8,11,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { display: inline-flex; width: max-content; align-items: center; gap: 11px; line-height: 1; }
.brand-mark { width: 62px; height: 62px; display: block; object-fit: contain; filter: drop-shadow(0 5px 16px rgba(0,0,0,.3)); transition: width .25s ease, height .25s ease; }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-family: "NDCAR Michroma", "Eurostile Extended", Arial, sans-serif; font-size: 1.24rem; font-weight: 400; letter-spacing: .095em; }
.brand-copy small { margin-top: 6px; color: #dce3eb; font-size: .62rem; font-weight: 600; letter-spacing: .18em; }
.site-header.is-scrolled .brand-mark { width: 52px; height: 52px; }
.brand-subtitle, .footer-brand > span:last-child { margin-top: 5px; color: var(--gold); font-size: .6rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.main-nav { display: flex; gap: 24px; color: #f0f2f5; font-size: 1rem; font-weight: 700; letter-spacing: .035em; }
.main-nav a, .header-phone, .header-email { transition: color .2s; }
.main-nav a:hover, .header-phone:hover, .header-email:hover { color: var(--gold-strong); }
.header-direct { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.header-phone { font-weight: 700; letter-spacing: .055em; line-height: 1.15; }
.header-email { color: #b4bac3; font-size: .76rem; font-weight: 600; letter-spacing: .045em; line-height: 1.2; }
.nav-direct-contact { display: none; }
.header-contact { justify-self: end; display: flex; align-items: center; gap: 14px; }
.messenger-links { display: flex; align-items: center; gap: 7px; }
.messenger { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(8,10,14,.58); transition: transform .2s, border-color .2s, background .2s; }
.messenger span { font-size: .6rem; font-weight: 800; letter-spacing: -.02em; }
.messenger:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.4); }
.messenger-whatsapp { color: #ecfff4; background: rgba(37,211,102,.16); border-color: rgba(37,211,102,.36); }
.messenger-telegram { color: #eff9ff; background: rgba(42,171,238,.16); border-color: rgba(42,171,238,.38); }
.messenger-max { color: #f5f0ff; background: rgba(116,94,255,.18); border-color: rgba(116,94,255,.4); }
.menu-toggle { display: none; }

.hero { min-height: 760px; height: 100svh; position: relative; display: flex; align-items: center; overflow: hidden; }
.hero-gallery { position: absolute; inset: 0; }
.hero-image { position: absolute; inset: 0; opacity: 0; transform: scale(1.035); transition: opacity .65s ease, transform 7s ease; background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero-image.is-active { opacity: 1; transform: scale(1.015); }
.hero-image-hangar { background-image: url("ndcar-hangar-jet-v2.webp"); }
.hero-image-studio { background-image: url("ndcar-showroom-hero.png"); }
.hero-image-collection { background-image: url("ndcar-hangar-jet-v3.webp"); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,5,8,.98) 0%, rgba(3,5,8,.88) 27%, rgba(3,5,8,.22) 61%, rgba(3,5,8,.1) 100%), linear-gradient(180deg, rgba(3,5,8,.3), transparent 52%, rgba(3,5,8,.65)); }
.hero-content { position: relative; z-index: 2; width: min(var(--max), calc(100% - 48px)); margin: 44px auto 0; }
.eyebrow { margin: 0 0 21px; color: var(--gold); font-size: .7rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.hero h1 { margin: 0; max-width: 940px; font-family: var(--display); font-size: clamp(3.25rem, 5.55vw, 5.65rem); line-height: .91; letter-spacing: -.045em; font-weight: 700; text-wrap: balance; }
.hero h1 span { color: var(--gold-strong); font-style: normal; font-weight: 500; letter-spacing: -.035em; }
.hero-copy { max-width: 590px; margin: 31px 0 36px; color: #c5c9cf; font-size: 1.04rem; line-height: 1.72; letter-spacing: .012em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 0 27px; border: 1px solid transparent; border-radius: 1px; font-weight: 600; font-size: .76rem; letter-spacing: .095em; text-transform: uppercase; cursor: pointer; transition: transform .2s, background .2s, color .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #0a0a0a; background: linear-gradient(135deg, var(--gold-strong), #ba9555); }
.button-ghost { border-color: rgba(255,255,255,.24); background: rgba(7,9,12,.3); backdrop-filter: blur(8px); }
.button-ghost:hover, .button-outline:hover { border-color: var(--gold); color: var(--gold-strong); }
.hero-facts { display: flex; gap: 48px; list-style: none; margin: 48px 0 0; padding: 0; }
.hero-facts li { padding-left: 15px; border-left: 1px solid var(--gold); display: flex; flex-direction: column; }
.hero-facts strong { font-family: var(--display); font-size: 1.04rem; font-weight: 650; letter-spacing: .025em; text-transform: uppercase; }
.hero-facts span { margin-top: 2px; color: var(--muted); font-size: .71rem; letter-spacing: .04em; }
.hero-visual-picker { position: absolute; z-index: 3; left: max(24px, calc((100vw - var(--max)) / 2)); bottom: 28px; display: flex; gap: 8px; }
.hero-choice { min-height: 38px; padding: 0 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 100px; color: #aeb4bd; background: rgba(5,7,10,.58); backdrop-filter: blur(12px); font-size: .7rem; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.hero-choice span { margin-right: 6px; color: var(--gold); font-size: .62rem; }
.hero-choice:hover, .hero-choice.is-active { color: #fff; border-color: rgba(214,183,120,.58); background: rgba(13,16,21,.88); }
.hero-scroll { position: absolute; z-index: 2; right: max(24px, calc((100vw - var(--max)) / 2)); bottom: 35px; color: #bbc0c7; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll span { color: var(--gold); margin-left: 8px; }

.vehicle-finder { padding: 64px max(24px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 68px; border-top: 1px solid rgba(214,183,120,.2); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 12% 20%, rgba(214,183,120,.1), transparent 27%), #0a0d12; }
.finder-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(2.5rem, 3.8vw, 4rem); font-weight: 700; line-height: .94; letter-spacing: -.035em; }
.finder-copy h2 span { color: var(--gold-strong); font-weight: 500; }
.finder-copy > p:last-child { max-width: 490px; margin: 22px 0 0; color: var(--muted); line-height: 1.65; }
.finder-form { padding: 28px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 14px; border: 1px solid rgba(255,255,255,.13); background: rgba(15,19,25,.88); box-shadow: 0 22px 65px rgba(0,0,0,.24); }
.finder-field { min-width: 0; display: flex; flex-direction: column; }
.finder-field label { margin-bottom: 8px; color: #d8dbe0; font-size: .87rem; font-weight: 650; }
.finder-field input { width: 100%; height: 58px; padding: 0 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 2px; outline: 0; color: var(--text); background: #07090c; font-size: 1rem; font-weight: 650; transition: border-color .2s, box-shadow .2s; }
.finder-field input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214,183,120,.09); }
.finder-field input::placeholder { color: #646b75; font-weight: 500; }
.finder-field small { min-height: 17px; margin-top: 7px; color: #777e88; font-size: .7rem; }
.finder-submit { height: 58px; margin-bottom: 24px; white-space: nowrap; }
.finder-submit span { margin-left: 9px; }
.finder-result { grid-column: 1 / -1; display: none; padding: 13px 15px; border-left: 2px solid var(--gold); color: #d9dce0; background: rgba(214,183,120,.06); font-size: .8rem; }
.finder-result.is-visible { display: block; }

.cinematic { position: relative; min-height: 650px; height: 78svh; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #080a0d; }
.cinematic-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) brightness(.72); }
.cinematic-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,6,9,.92), rgba(4,6,9,.36) 58%, rgba(4,6,9,.16)), linear-gradient(180deg, rgba(4,6,9,.12), rgba(4,6,9,.72)); }
.cinematic-copy { position: absolute; z-index: 2; left: max(24px, calc((100vw - var(--max)) / 2)); bottom: 84px; max-width: 680px; }
.cinematic-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(3rem, 5.2vw, 5.4rem); font-weight: 700; line-height: .91; letter-spacing: -.04em; }
.cinematic-copy h2 span { color: var(--gold-strong); font-weight: 500; }
.cinematic-copy > p:last-child { max-width: 540px; margin: 24px 0 0; color: #c4c8ce; font-size: 1.02rem; line-height: 1.65; }
.video-toggle { position: absolute; z-index: 3; right: max(24px, calc((100vw - var(--max)) / 2)); bottom: 71px; min-height: 44px; padding: 0 15px 0 8px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 100px; color: #dde0e4; background: rgba(6,8,11,.62); backdrop-filter: blur(12px); font-size: .72rem; cursor: pointer; }
.video-toggle-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #0d0d0d; background: var(--gold); font-size: .72rem; font-weight: 900; }
.video-note { position: absolute; z-index: 2; right: max(24px, calc((100vw - var(--max)) / 2)); bottom: 34px; color: rgba(255,255,255,.44); font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }

.section { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; padding: 120px 0; }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; margin-bottom: 48px; }
.section-heading h2, .request h2, .process h2 { margin: 0; font-family: var(--display); font-size: clamp(2.55rem, 4.05vw, 4.3rem); line-height: .94; letter-spacing: -.035em; font-weight: 700; text-wrap: balance; }
.section-heading h2::after, .request h2::after { content: ""; width: 54px; height: 2px; display: block; margin-top: 20px; background: linear-gradient(90deg, var(--gold-strong), rgba(214,183,120,.08)); }
.section-heading > p { max-width: 520px; margin: 0 0 3px auto; color: var(--muted); line-height: 1.7; }
.filters { display: flex; gap: 8px; margin-bottom: 28px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
.filters::-webkit-scrollbar { display: none; }
.filter { padding: 10px 17px; white-space: nowrap; border: 1px solid var(--line); background: transparent; border-radius: 100px; color: #afb4bc; font-size: .82rem; cursor: pointer; }
.filter.is-active { color: #090a0c; border-color: var(--gold); background: var(--gold); }
.car-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.car-card { min-width: 0; background: var(--panel); border: 1px solid var(--line); transition: transform .25s, border-color .25s; overflow: hidden; }
.car-card:hover { transform: translateY(-5px); border-color: rgba(214,183,120,.42); }
.car-card.is-hidden { display: none; }
.car-card-top { height: 46px; padding: 0 18px; display: flex; justify-content: space-between; align-items: center; color: #aeb3ba; border-bottom: 1px solid var(--line); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.car-card-top span:first-child { color: var(--gold-strong); }
.car-art { position: relative; height: 175px; overflow: hidden; display: grid; place-items: center; border-bottom: 1px solid var(--line); }
.car-art::before { content: ""; position: absolute; inset: 0; opacity: .34; background: repeating-linear-gradient(118deg, transparent 0 48px, rgba(255,255,255,.055) 49px 50px); }
.car-art::after { content: ""; position: absolute; inset: auto 7% 25px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent); box-shadow: 0 18px 38px currentColor; }
.car-art span { position: relative; z-index: 1; font: 800 clamp(3.2rem, 6vw, 5.1rem)/1 Arial Black, Arial, sans-serif; letter-spacing: -.08em; color: rgba(255,255,255,.14); }
.car-art-blue { color: #197cff; background: radial-gradient(circle at 75% 30%, rgba(25,124,255,.28), transparent 37%), linear-gradient(140deg, #171d27, #080a0e); }
.car-art-silver { color: #b9c4d0; background: radial-gradient(circle at 20% 20%, rgba(210,220,230,.22), transparent 36%), linear-gradient(140deg, #20252b, #090b0e); }
.car-art-purple { color: #745eff; background: radial-gradient(circle at 72% 35%, rgba(116,94,255,.27), transparent 35%), linear-gradient(140deg, #181524, #08090d); }
.car-art-black { color: #8fa1b8; background: radial-gradient(circle at 48% 12%, rgba(140,160,185,.22), transparent 39%), linear-gradient(140deg, #11161c, #050608); }
.car-art-sand { color: #cfad70; background: radial-gradient(circle at 76% 28%, rgba(207,173,112,.22), transparent 38%), linear-gradient(140deg, #201c16, #090908); }
.car-art-red { color: #ff3030; background: radial-gradient(circle at 72% 32%, rgba(255,48,48,.25), transparent 34%), linear-gradient(140deg, #201012, #080708); }
.car-info { padding: 24px; }
.car-brand { margin: 0 0 4px; color: var(--gold); font-size: .7rem; font-weight: 700; letter-spacing: .16em; }
.car-info h3 { margin: 0; font-family: var(--display); font-size: 1.68rem; line-height: 1.05; font-weight: 650; letter-spacing: -.018em; }
.car-info ul { display: flex; flex-wrap: wrap; gap: 5px 16px; margin: 14px 0 18px; padding: 0; list-style: none; color: var(--muted); font-size: .8rem; }
.car-info li { position: relative; }
.car-info li:not(:last-child)::after { content: "·"; position: absolute; right: -10px; color: #525861; }
.car-specs { margin: 0 0 19px; padding: 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.car-specs div { min-width: 0; }
.car-specs dt { margin: 0 0 2px; color: #747b85; font-size: .66rem; letter-spacing: .04em; text-transform: uppercase; }
.car-specs dd { margin: 0; color: #dde0e4; font-size: .82rem; font-weight: 600; line-height: 1.25; }
.car-price { padding: 17px 0; display: flex; flex-direction: column; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.car-specs + .car-price { border-top: 0; padding-top: 0; }
.car-price span { color: var(--muted); font-size: .72rem; }
.car-price strong { margin-top: 3px; font-family: var(--display); font-size: 1.36rem; font-weight: 650; letter-spacing: .005em; }
.car-info > a { display: flex; justify-content: space-between; margin-top: 18px; font-size: .82rem; font-weight: 700; }
.car-info > a span, .service-card a span, .text-link span { color: var(--gold); }
.catalog-cta { margin-top: 14px; padding: 27px 30px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #0d1116; border: 1px solid var(--line); }
.catalog-cta p { margin: 0; color: var(--muted); }
.catalog-cta strong { color: var(--text); }
.button-outline { flex: 0 0 auto; border-color: rgba(255,255,255,.2); background: transparent; }

.services { border-top: 1px solid var(--line); }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.service-card { min-height: 310px; padding: 34px; position: relative; display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line); overflow: hidden; }
.service-card::after { content: ""; position: absolute; width: 170px; height: 170px; top: -100px; right: -80px; border-radius: 50%; background: rgba(26,130,255,.14); filter: blur(20px); }
.service-featured { background: linear-gradient(135deg, #17120a, #0b0e13 62%); border-color: rgba(214,183,120,.32); }
.service-number { color: var(--gold); font-size: .75rem; letter-spacing: .12em; }
.service-card h3 { max-width: 440px; margin: auto 0 10px; font-family: var(--display); font-size: 2.05rem; line-height: 1.04; font-weight: 650; letter-spacing: -.025em; }
.service-card p { max-width: 510px; margin: 0 0 26px; color: var(--muted); }
.service-card a { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 18px; font-size: .85rem; font-weight: 700; }
.service-detailing { grid-column: 1 / -1; min-height: 250px; background: linear-gradient(90deg, rgba(10,13,18,.99), rgba(10,13,18,.79)), url("ndcar-showroom-hero.png") center 54% / cover; border-color: rgba(214,183,120,.3); }
.service-detailing h3, .service-detailing p { max-width: 650px; }

.detailing { padding: 112px max(24px, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); background: radial-gradient(circle at 12% 12%, rgba(26,130,255,.1), transparent 27%), #07090c; }
.detailing-heading { width: min(var(--max), 100%); margin: 0 auto 46px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; }
.detailing-heading h2 { margin: 0; font-family: var(--display); font-size: clamp(2.75rem, 4.3vw, 4.65rem); font-weight: 700; line-height: .93; letter-spacing: -.04em; }
.detailing-heading h2 span { color: var(--gold-strong); font-weight: 500; }
.detailing-heading > p { max-width: 520px; margin: 0 0 2px auto; color: var(--muted); line-height: 1.72; }
.detailing-configurator { position: relative; width: min(var(--max), 100%); min-height: 850px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(430px, .7fr); overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: #080b10; box-shadow: 0 34px 90px rgba(0,0,0,.34); }
.car-viewer-shell { position: relative; min-height: 770px; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 50% 40%, rgba(53,75,105,.34), transparent 48%), radial-gradient(circle at 12% 18%, rgba(26,130,255,.17), transparent 26%), linear-gradient(145deg, #101722, #05070a 72%); }
.car-viewer-shell::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, transparent, #000 46%, #000); }
.car-viewer-shell::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: 90px; height: 1px; background: linear-gradient(90deg, transparent, rgba(240,212,154,.45), transparent); box-shadow: 0 0 42px rgba(240,212,154,.18); }
.viewer-mode-switch { position: absolute; top: 22px; right: 22px; z-index: 6; display: grid; grid-template-columns: repeat(2, auto); border: 1px solid rgba(255,255,255,.16); background: rgba(5,8,12,.76); backdrop-filter: blur(14px); }
.viewer-mode-choice { min-height: 38px; padding: 0 13px; border: 0; border-right: 1px solid rgba(255,255,255,.12); color: #9ba3ad; background: transparent; font-size: .66rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; cursor: pointer; transition: color .2s, background .2s; }
.viewer-mode-choice:last-child { border-right: 0; }
.viewer-mode-choice:hover { color: #fff; }
.viewer-mode-choice.is-active { color: #101318; background: linear-gradient(135deg, var(--gold-strong), #b89150); }
.viewer-mode-choice:focus-visible { position: relative; z-index: 1; outline: 2px solid #fff; outline-offset: 2px; }
.car-viewer { position: absolute; inset: 0 0 96px; z-index: 1; overflow: hidden; outline: 0; cursor: grab; touch-action: none; background: #070a0e; }
.car-viewer:active { cursor: grabbing; }
.car-viewer:focus-visible { box-shadow: inset 0 0 0 2px var(--gold); }
.car-viewer canvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; display: block; }
.viewer-poster { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.car-viewer.is-ready .viewer-poster { display: none; }
.viewer-fallback, .sketchfab-viewer { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.viewer-fallback { z-index: 0; object-fit: contain; object-position: center; filter: saturate(.78) brightness(.7) contrast(1.08); transform: scale(.94); }
.sketchfab-viewer { z-index: 1; display: block; opacity: 0; background: transparent; transition: opacity .55s ease; }
.car-viewer.is-ready .sketchfab-viewer { opacity: 1; }
.viewer-status { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; color: #e7ebf0; background: radial-gradient(circle, rgba(20,27,37,.76), rgba(6,8,11,.94)); transition: opacity .5s ease, visibility .5s ease; }
.viewer-status.is-ready { opacity: 0; visibility: hidden; pointer-events: none; }
.viewer-status.is-error { padding: 30px; text-align: center; background: linear-gradient(rgba(6,8,11,.75), rgba(6,8,11,.92)), url("ndcar-showroom-hero.png") center / cover; }
.viewer-status strong { font-family: var(--display); font-size: 1.18rem; letter-spacing: .025em; }
.viewer-status small { color: #9199a5; font-size: .72rem; }
.viewer-loader { width: 34px; height: 34px; margin-bottom: 7px; border: 1px solid rgba(255,255,255,.18); border-top-color: var(--gold-strong); border-radius: 50%; animation: viewer-spin .9s linear infinite; }
.viewer-status.is-error .viewer-loader { display: none; }
.viewer-retry { margin-top: 12px; padding: 12px 18px; border: 1px solid var(--gold-strong); color: #101318; background: var(--gold-strong); font: inherit; font-size: .875rem; cursor: pointer; }
.viewer-retry[hidden] { display: none; }
.viewer-retry:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.viewer-no-script { position: absolute; inset: 25% 20px auto; z-index: 5; padding: 25px; color: #fff; background: #10161f; }
@keyframes viewer-spin { to { transform: rotate(360deg); } }
.wheel-studio { --wheel-rim-size: 13.2%; --wheel-color: #0a0b0d; --wheel-brightness: .82; --wheel-tint-opacity: .32; position: absolute; inset: 0; z-index: 4; display: grid; place-items: center; opacity: 0; visibility: hidden; pointer-events: none; background: radial-gradient(ellipse at 50% 60%, rgba(52,67,86,.32), transparent 58%), #090c11; transition: opacity .35s ease, visibility .35s ease; }
.car-viewer.is-wheel-mode .wheel-studio { opacity: 1; visibility: visible; pointer-events: auto; }
.car-viewer.is-wheel-mode .sketchfab-viewer, .car-viewer.is-wheel-mode .viewer-fallback, .car-viewer.is-wheel-mode .viewer-status { opacity: 0; visibility: hidden; pointer-events: none; }
.wheel-studio-canvas { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #747a83; box-shadow: 0 24px 60px rgba(0,0,0,.32); }
.wheel-studio-canvas::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; box-shadow: inset 0 0 80px rgba(4,7,10,.34); }
.wheel-studio-car { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.03) brightness(.9); }
.wheel-rim-mask { position: absolute; top: 68.9%; z-index: 1; width: 13.45%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); background: radial-gradient(circle, #171b21 0 68%, #07090c 88%); box-shadow: 0 0 0 2px rgba(5,7,9,.88), inset 0 0 16px rgba(255,255,255,.04); }
.wheel-rim-mask-front { left: 24.35%; }
.wheel-rim-mask-rear { left: 75%; }
.wheel-overlay { position: absolute; top: 68.9%; z-index: 2; width: var(--wheel-rim-size); aspect-ratio: 1; overflow: hidden; border-radius: 50%; transform: translate(-50%, -50%); filter: drop-shadow(0 5px 6px rgba(0,0,0,.5)); transition: width .22s cubic-bezier(.2,.75,.25,1), filter .22s ease; }
.wheel-overlay::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--wheel-color); mix-blend-mode: color; opacity: var(--wheel-tint-opacity); pointer-events: none; }
.wheel-overlay-front { left: 24.35%; }
.wheel-overlay-rear { left: 75%; }
.wheel-overlay img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; filter: brightness(var(--wheel-brightness)) contrast(1.08) saturate(.76); transition: filter .22s ease; }
.wheel-studio-size { position: absolute; left: 50%; bottom: 20px; z-index: 4; min-width: 118px; padding: 9px 15px; display: flex; align-items: center; justify-content: center; gap: 9px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.22); color: #fff; background: rgba(5,8,12,.76); backdrop-filter: blur(12px); }
.wheel-studio-size strong { color: var(--gold-strong); font-family: var(--display); font-size: 1.08rem; letter-spacing: .04em; }
.wheel-studio-size small { color: #a7afb8; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.viewer-badge, .viewer-spec, .viewer-hint { position: absolute; z-index: 3; pointer-events: none; border: 1px solid rgba(255,255,255,.15); background: rgba(5,8,12,.62); backdrop-filter: blur(12px); }
.viewer-badge { top: 24px; left: 25px; padding: 8px 11px; color: var(--gold-strong); font-size: .61rem; font-weight: 800; letter-spacing: .16em; }
.viewer-spec { left: 25px; bottom: 117px; padding: 9px 12px; color: #f1f3f5; font-family: var(--display); font-size: .65rem; font-weight: 700; letter-spacing: .09em; }
.viewer-hint { right: 24px; bottom: 117px; padding: 9px 12px; color: #c4c9d0; font-size: .67rem; letter-spacing: .02em; }
.configurator-caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; min-height: 96px; padding: 17px 27px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 24px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(7,10,14,.88); backdrop-filter: blur(14px); }
.configurator-caption-item { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.configurator-caption-item:last-child { align-items: flex-end; text-align: right; }
.configurator-caption span { color: #858d98; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.configurator-caption strong { max-width: 100%; color: #f6f2ea; font-family: var(--display); font-size: .88rem; font-weight: 650; line-height: 1.25; letter-spacing: .02em; }
.configurator-controls { min-width: 0; padding: 34px 31px 29px; display: flex; flex-direction: column; background: linear-gradient(150deg, #151b24, #090c11 66%); border-left: 1px solid rgba(255,255,255,.1); }
.configurator-step { color: var(--gold); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.configurator-controls h3 { margin: 19px 0 13px; font-family: var(--display); font-size: clamp(2.05rem, 3vw, 3rem); font-weight: 650; line-height: .96; letter-spacing: -.025em; }
.configurator-controls > p:not(.configurator-note):not(.model-credit) { margin: 0 0 23px; color: var(--muted); font-size: .82rem; line-height: 1.58; }
.paint-palette, .finish-picker, .wheel-style-picker, .wheel-color-picker { margin: 0; padding: 0; border: 0; }
.paint-palette legend, .finish-picker legend, .wheel-style-picker legend, .wheel-color-picker legend { margin-bottom: 11px; color: #d8dce1; font-size: .73rem; font-weight: 700; letter-spacing: .035em; }
.paint-swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.paint-swatch { position: relative; width: 100%; aspect-ratio: 1; min-width: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0,0,0,.35), inset 8px 7px 13px rgba(255,255,255,.16), 0 6px 16px rgba(0,0,0,.2); cursor: pointer; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.paint-swatch::after { content: ""; position: absolute; inset: 4px; border-radius: inherit; border: 1px solid rgba(255,255,255,.12); }
.paint-swatch:hover { transform: translateY(-2px) scale(1.04); }
.paint-swatch.is-active { transform: scale(.88); border-color: var(--gold-strong); box-shadow: 0 0 0 3px #0d1118, 0 0 0 4px var(--gold-strong), 0 9px 20px rgba(0,0,0,.42); }
.paint-swatch:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.paint-swatch-light { border-color: rgba(255,255,255,.72); }
.custom-paint { min-height: 54px; margin-top: 14px; padding: 9px 12px 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.025); cursor: pointer; }
.custom-paint > span:first-child { display: flex; flex-direction: column; }
.custom-paint strong { font-size: .76rem; }
.custom-paint small { margin-top: 2px; color: #787f89; font-size: .64rem; }
.custom-paint-control { display: flex; align-items: center; gap: 9px; }
.custom-paint input { width: 42px; height: 31px; padding: 1px; border: 1px solid rgba(255,255,255,.22); border-radius: 2px; background: transparent; cursor: pointer; }
.custom-paint output { min-width: 61px; color: #aeb4bd; font-size: .67rem; font-variant-numeric: tabular-nums; }
.finish-picker { margin-top: 18px; }
.finish-picker > div { display: grid; grid-template-columns: repeat(3, 1fr); }
.finish-choice { min-height: 42px; padding: 0 8px; border: 1px solid rgba(255,255,255,.1); border-right-width: 0; color: #989fa9; background: rgba(255,255,255,.02); font-size: .69rem; font-weight: 700; cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.finish-choice:last-child { border-right-width: 1px; }
.finish-choice.is-active { color: #111318; border-color: var(--gold-strong); background: linear-gradient(135deg, var(--gold-strong), #b89150); }
.finish-choice:focus-visible { position: relative; z-index: 1; outline: 2px solid #fff; outline-offset: 2px; }
.configurator-divider { height: 1px; margin: 22px 0 20px; background: linear-gradient(90deg, rgba(214,183,120,.55), rgba(255,255,255,.08), transparent); }
.wheel-style-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; padding: 1px 1px 9px; }
.wheel-style-grid::-webkit-scrollbar { height: 5px; }
.wheel-style-grid::-webkit-scrollbar-track { background: rgba(255,255,255,.05); }
.wheel-style-grid::-webkit-scrollbar-thumb { background: rgba(214,183,120,.52); }
.wheel-style-choice { min-width: 0; padding: 8px; display: block; scroll-snap-align: start; border: 1px solid rgba(255,255,255,.1); color: #aeb4bd; background: rgba(255,255,255,.025); text-align: left; cursor: pointer; transition: color .2s, border-color .2s, background .2s, transform .2s; }
.wheel-style-image { width: 100%; aspect-ratio: 1.15; display: grid; place-items: center; overflow: hidden; border-radius: 3px; background: #fff; }
.wheel-style-image img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: contain; }
.wheel-style-copy { min-height: 38px; margin-top: 7px; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; }
.wheel-style-copy strong { color: #d7dbe0; font-family: var(--display); font-size: .875rem; line-height: 1.15; letter-spacing: .045em; }
.wheel-style-copy > span { margin-top: 3px; color: #a4adb9; font-size: .75rem; line-height: 1.3; }
.wheel-style-choice:hover { transform: translateY(-1px); border-color: rgba(214,183,120,.4); }
.wheel-style-choice.is-active { border-color: var(--gold-strong); background: rgba(214,183,120,.1); box-shadow: inset 0 0 0 1px rgba(214,183,120,.22); }
.wheel-style-choice.is-active .wheel-style-copy strong { color: var(--gold-strong); }
.wheel-style-choice.is-active .wheel-style-copy > span { color: #b9b0a0; }
.wheel-style-choice:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wheel-size-control { margin-top: 18px; }
.wheel-control-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.wheel-control-heading label { color: #d8dce1; font-size: .73rem; font-weight: 700; letter-spacing: .035em; }
.wheel-control-heading output { min-width: 48px; color: var(--gold-strong); font-family: var(--display); font-size: 1rem; font-weight: 700; text-align: right; }
.wheel-size-control input { width: 100%; height: 22px; margin: 8px 0 0; padding: 0; appearance: none; background: transparent; cursor: pointer; }
.wheel-size-control input::-webkit-slider-runnable-track { height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--gold-strong), #536172); }
.wheel-size-control input::-moz-range-track { height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--gold-strong), #536172); }
.wheel-size-control input::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -7px; appearance: none; border: 4px solid #0d1117; border-radius: 50%; background: var(--gold-strong); box-shadow: 0 0 0 1px rgba(255,255,255,.38); }
.wheel-size-control input::-moz-range-thumb { width: 11px; height: 11px; border: 4px solid #0d1117; border-radius: 50%; background: var(--gold-strong); box-shadow: 0 0 0 1px rgba(255,255,255,.38); }
.wheel-size-control input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wheel-size-scale { display: flex; justify-content: space-between; color: #646c77; font-size: .57rem; }
.wheel-size-live { margin: 9px 0 0; display: flex; align-items: center; gap: 7px; color: #9299a3; font-size: .62rem; }
.wheel-size-live span { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #4bd486; box-shadow: 0 0 0 4px rgba(75,212,134,.1); }
.wheel-color-picker { margin-top: 17px; }
.wheel-color-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wheel-color-swatches { min-width: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.wheel-color-swatch { width: 30px; height: 30px; padding: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: var(--swatch); box-shadow: inset 5px 5px 9px rgba(255,255,255,.13), 0 4px 12px rgba(0,0,0,.28); cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.wheel-color-swatch:hover { transform: translateY(-2px); }
.wheel-color-swatch.is-active { transform: scale(.82); border-color: var(--gold-strong); box-shadow: 0 0 0 3px #0d1118, 0 0 0 4px var(--gold-strong); }
.wheel-color-swatch-light { border-color: rgba(255,255,255,.7); }
.wheel-color-swatch:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.wheel-custom-color { min-width: 48px; display: flex; align-items: center; flex-direction: column; gap: 5px; color: #747c87; font-size: .57rem; cursor: pointer; }
.wheel-custom-color input { width: 34px; height: 27px; padding: 1px; border: 1px solid rgba(255,255,255,.22); border-radius: 2px; background: transparent; cursor: pointer; }
.viewer-reset { width: 100%; min-height: 45px; margin-top: 22px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.13); color: #d8dce2; background: transparent; font-size: .72rem; font-weight: 700; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.viewer-reset:hover { color: var(--gold-strong); border-color: rgba(214,183,120,.48); background: rgba(214,183,120,.05); }
.viewer-reset span { font-size: 1rem; }
.configurator-note { margin: 17px 0 0; color: #7e858e; font-size: .67rem; line-height: 1.5; }
.model-credit { margin: 9px 0 0; color: #606873; font-size: .58rem; line-height: 1.45; }
.model-credit a { color: #89929d; text-decoration: underline; text-underline-offset: 2px; }
.detailing-configurator-facts { grid-column: 1 / -1; min-height: 80px; margin: 0; padding: 19px 27px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 16px; list-style: none; border-top: 1px solid rgba(255,255,255,.1); background: #080b0f; }
.detailing-configurator-facts li { min-width: 0; padding-left: 16px; display: flex; flex-direction: column; border-left: 1px solid var(--gold); }
.detailing-configurator-facts strong { font-family: var(--display); font-size: .91rem; letter-spacing: .04em; text-transform: uppercase; }
.detailing-configurator-facts span { color: #858d98; font-size: .67rem; }
.detailing-layout { width: min(var(--max), 100%); margin: 18px auto 0; display: grid; grid-template-columns: minmax(0, 1fr) 390px; align-items: start; gap: 18px; }
.wrap-studio .configurator-controls { padding: 32px; }
.wrap-studio .configurator-step { font-size: .75rem; }
.wrap-studio .configurator-controls h3 { font-size: clamp(2rem, 2.8vw, 2.8rem); line-height: 1.02; }
.wrap-studio .configurator-controls > p:not(.configurator-note):not(.model-credit) { font-size: 1rem; margin-bottom: 20px; }
.wrap-studio .configurator-caption span { font-size: .75rem; }
.wrap-studio .configurator-caption strong { font-size: 1rem; }
.wrap-studio .viewer-hint { font-size: .875rem; }
.wrap-studio .viewer-mode-choice { font-size: .875rem; min-height: 44px; }
.wrap-studio .viewer-badge { font-size: .75rem; max-width: calc(100% - 50px); }
.wrap-studio .viewer-mode-switch { top: 70px; }
.wrap-studio .viewer-status small { font-size: .875rem; }
.paint-selection { display: flex; align-items: center; gap: 16px; margin-bottom: 23px; min-height: 100px; }
.paint-sample { position: relative; display: block; width: 84px; height: 100px; flex: 0 0 84px; overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; background: linear-gradient(130deg, rgba(255,255,255,.6), transparent 28%, rgba(0,0,0,.6)), var(--swatch); box-shadow: inset 1px 1px 4px rgba(255,255,255,.45), 0 12px 22px #0005; }
.paint-selection-copy { min-width: 0; }
.paint-selection-copy > span { display: block; color: var(--gold-strong); font-size: .75rem; margin-bottom: 5px; }
.paint-selection-copy strong { display: block; font-size: 1.05rem; line-height: 1.25; }
.paint-selection-copy p { color: #a6afbd; font-size: .875rem; line-height: 1.45; margin: 6px 0 0; }
.wrap-studio .paint-palette legend, .wrap-studio .finish-picker legend { width: 100%; font-size: .875rem; margin-bottom: 14px; }
.wrap-studio .paint-palette legend span { float: right; font-weight: 400; color: #8994a4; font-size: .75rem; }
.wrap-studio .paint-swatches { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.wrap-studio .paint-swatch { min-height: 40px; border-radius: 12px; background: linear-gradient(140deg, rgba(255,255,255,.36), transparent 32%, rgba(0,0,0,.45)), var(--swatch); }
.wrap-studio .paint-swatch::before, .paint-sample::before { content: ""; position: absolute; inset: 0; opacity: var(--sparkle, .6); background-image: radial-gradient(circle, #ffffffdd .45px, transparent .9px), radial-gradient(circle, #ffffffaa .35px, transparent .8px), radial-gradient(circle, #bbd7ffaa .45px, transparent 1px); background-position: 2px 4px, 7px 3px, 11px 6px; background-size: 7px 11px, 13px 9px, 17px 15px; pointer-events: none; }
.wrap-studio .paint-swatch[data-effect="flip"], .paint-sample[data-effect="flip"] { background: linear-gradient(125deg, rgba(255,255,255,.35), transparent 35%, rgba(0,0,0,.35)), linear-gradient(135deg, var(--swatch) 22%, var(--shift) 85%); }
.wrap-studio .paint-swatch[data-effect="pearl"], .paint-sample[data-effect="pearl"] { background: linear-gradient(140deg, #ffffffe0, transparent 38%, #8c80a344), var(--swatch); }
.paint-sample[data-finish="satin"] { box-shadow: inset 0 0 30px #ffffff40, 0 12px 22px #0005; }
.paint-sample[data-finish="matte"] { background: linear-gradient(130deg, #ffffff18, #00000025), var(--swatch); box-shadow: 0 12px 22px #0005; }
.paint-sample[data-finish="matte"]::before { opacity: calc(var(--sparkle) * .2); }
.wrap-studio .paint-swatch.is-active { transform: scale(.9); }
.wrap-studio .custom-paint strong { font-size: .875rem; }
.wrap-studio .custom-paint small, .wrap-studio .custom-paint output { font-size: .75rem; }
.wrap-studio .finish-choice { font-size: .875rem; min-height: 44px; }
.sparkle-control { margin-top: 22px; }
.sparkle-control > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sparkle-control label { font-size: .875rem; font-weight: 700; color: #d8dce1; }
.sparkle-control output { color: var(--gold-strong); font-size: .75rem; font-variant-numeric: tabular-nums; }
.sparkle-control input { display: block; width: 100%; height: 32px; margin: 6px 0; accent-color: var(--gold-strong); cursor: pointer; }
.sparkle-control input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.sparkle-control p { margin: 0; font-size: .75rem; line-height: 1.4; color: #949fad; }
.wrap-studio .viewer-reset span { font-size: .875rem; }
.wrap-studio .configurator-note { color: #939eac; font-size: .75rem; }
.wrap-studio .model-credit { font-size: .75rem; }
@media (max-width: 700px) {
  .wrap-studio .configurator-controls { padding: 26px 20px; }
  .wrap-studio .configurator-controls h3 { font-size: 2.2rem; }
  .wrap-studio .car-viewer-shell { min-height: 490px; }
  .wrap-studio .paint-swatches { gap: 10px; }
  .wrap-studio .viewer-badge { left: 16px; top: 18px; font-size: .75rem; }
  .wrap-studio .viewer-mode-switch { right: 16px; top: 58px; }
  .wrap-studio .viewer-hint { right: 16px; font-size: .75rem; }
  .wrap-studio .configurator-caption strong { font-size: .875rem; }
}
@media (max-width: 370px) {
  .wrap-studio .paint-swatches { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wrap-studio .custom-paint output { display: none; }
}
.detailing-catalogue { min-width: 0; }
.detailing-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.detailing-service-card { min-height: 375px; padding: 29px; border: 1px solid var(--line); background: #0c1015; }
.detailing-service-card > span { color: var(--gold); font-size: .69rem; font-weight: 700; letter-spacing: .14em; }
.detailing-service-card h3 { margin: 20px 0 18px; font-family: var(--display); font-size: 1.7rem; font-weight: 650; line-height: 1.04; }
.detailing-service-card ul { margin: 0; padding: 0; list-style: none; }
.detailing-service-card li { position: relative; padding: 7px 0 7px 18px; color: #a9afb8; font-size: .84rem; line-height: 1.42; border-top: 1px solid rgba(255,255,255,.06); }
.detailing-service-card li::before { content: ""; position: absolute; left: 0; top: 14px; width: 6px; height: 1px; background: var(--gold); }
.film-block { margin-top: 12px; padding: 35px; border: 1px solid rgba(214,183,120,.25); background: linear-gradient(135deg, #17130c, #0b0e13 62%); }
.film-block-heading { display: grid; grid-template-columns: .75fr 1fr; gap: 8px 40px; }
.film-block-heading .eyebrow { grid-column: 1 / -1; }
.film-block-heading h3 { margin: 0; font-family: var(--display); font-size: 2rem; font-weight: 650; line-height: 1.04; }
.film-block-heading > p:last-child { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.film-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.film-grid article { min-width: 0; padding: 18px 14px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); background: rgba(6,8,11,.46); }
.film-grid article > span { color: var(--gold); font-family: var(--display); font-size: 1.35rem; font-weight: 800; }
.film-grid strong { margin-top: 14px; font-size: .83rem; }
.film-grid small { margin-top: 5px; color: #858c96; font-size: .68rem; line-height: 1.45; }
.detailing-request-card { position: sticky; top: 92px; padding: 31px; border: 1px solid rgba(214,183,120,.32); background: linear-gradient(160deg, #141922, #090c11 76%); box-shadow: 0 24px 72px rgba(0,0,0,.3); }
.detailing-request-card > h3 { margin: 0; font-family: var(--display); font-size: 2.15rem; font-weight: 700; line-height: 1.02; }
.detailing-request-card > p:not(.eyebrow) { margin: 15px 0 25px; color: var(--muted); font-size: .86rem; line-height: 1.62; }
.detailing-form { display: flex; flex-direction: column; gap: 17px; }
.detail-field, .detail-field > div { min-width: 0; display: flex; flex-direction: column; }
.detail-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.detail-field label, .detail-service-options legend { margin-bottom: 7px; color: #cdd1d6; font-size: .78rem; font-weight: 600; }
.detail-field input, .detail-field select, .detail-field textarea { width: 100%; min-height: 49px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 2px; outline: 0; color: var(--text); background: #07090c; font-size: .84rem; transition: border-color .2s, box-shadow .2s; }
.detail-field textarea { resize: vertical; }
.detail-field input:focus, .detail-field select:focus, .detail-field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214,183,120,.09); }
.detail-field input::placeholder, .detail-field textarea::placeholder { color: #626974; }
.detail-service-options { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; border: 0; }
.detail-service-options legend { padding: 0; }
.detail-service-options label { min-height: 45px; padding: 9px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.09); color: #aeb4bd; background: rgba(255,255,255,.02); font-size: .7rem; line-height: 1.25; cursor: pointer; }
.detail-service-options label:has(input:checked) { color: #f0e5ce; border-color: rgba(214,183,120,.55); background: rgba(214,183,120,.08); }
.detail-service-options input { flex: 0 0 auto; accent-color: var(--gold); }
.detailing-consent { line-height: 1.5; }
.detailing-submit { width: 100%; border: 0; }
.detailing-submit span { margin-left: 9px; }
.detailing-result { margin-top: -3px; }

.leasing-calculator { padding: 112px max(24px, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 18%, rgba(26,130,255,.14), transparent 30%), radial-gradient(circle at 12% 92%, rgba(214,183,120,.1), transparent 27%), #080b0f; }
.calculator-heading { width: min(var(--max), 100%); margin: 0 auto 46px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; }
.calculator-heading h2 { margin: 0; font-family: var(--display); font-size: clamp(2.65rem, 4.15vw, 4.4rem); line-height: .94; letter-spacing: -.035em; font-weight: 700; }
.calculator-heading h2::after { content: ""; width: 54px; height: 2px; display: block; margin-top: 20px; background: linear-gradient(90deg, var(--gold-strong), rgba(214,183,120,.08)); }
.calculator-rate-summary { min-width: 250px; padding: 20px 23px; display: grid; grid-template-columns: 1fr auto; gap: 3px 24px; border: 1px solid rgba(214,183,120,.3); background: rgba(11,14,19,.78); }
.calculator-rate-summary span { color: #c7cbd1; font-size: .8rem; }
.calculator-rate-summary strong { grid-row: 1 / 3; grid-column: 2; align-self: center; color: var(--gold-strong); font-family: var(--display); font-size: 2.25rem; line-height: 1; }
.calculator-rate-summary small { color: #737b86; font-size: .72rem; }
.calculator-rate-summary a { color: #c9a963; border-bottom: 1px solid rgba(201,169,99,.45); }
.calculator-shell { width: min(var(--max), 100%); margin: 0 auto; display: grid; grid-template-columns: 1.08fr .92fr; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.calculator-form { padding: 42px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 24px 16px; background: rgba(13,17,23,.88); }
.calc-field { min-width: 0; display: flex; flex-direction: column; }
.calc-field-wide { grid-column: 1 / -1; }
.calc-field label { margin-bottom: 8px; color: #d5d8dd; font-size: .88rem; font-weight: 600; }
.calc-field input, .calc-field select { width: 100%; min-height: 58px; padding: 0 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 2px; outline: 0; color: var(--text); background: #07090c; font-size: 1rem; font-weight: 650; transition: border-color .2s, box-shadow .2s; }
.calc-field input:focus, .calc-field select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214,183,120,.1); }
.calculator-market-note { padding: 18px 20px; border-left: 2px solid var(--gold); background: rgba(214,183,120,.055); }
.calculator-market-note span { color: #e5e1d8; font-size: .88rem; }
.calculator-market-note span b { color: var(--gold-strong); }
.calculator-market-note small { margin-top: 6px; color: #8f969f; font-size: .78rem; line-height: 1.55; }
.calculator-result { padding: 42px; display: flex; flex-direction: column; background: linear-gradient(145deg, #131923, #090c11 68%); }
.calculator-result-label { margin: 0; color: #a5abb3; font-size: .79rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.calculator-monthly { margin-top: 10px; color: #fff; font-family: var(--display); font-size: clamp(2.6rem, 4vw, 4.2rem); font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.calculator-result-caption { max-width: 480px; margin: 16px 0 28px; color: #858d98; font-size: .79rem; line-height: 1.55; }
.calculator-breakdown { margin: 0 0 28px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.calculator-breakdown div { min-width: 0; padding: 15px 0; border-bottom: 1px solid var(--line); }
.calculator-breakdown div:nth-child(odd) { padding-right: 16px; }
.calculator-breakdown div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.calculator-breakdown dt { margin: 0 0 4px; color: #737b85; font-size: .72rem; }
.calculator-breakdown dd { margin: 0; color: #e2e5e9; font-size: .93rem; font-weight: 700; }
.calculator-cta { width: 100%; margin-top: auto; }
.calculator-cta span { margin-left: 10px; }
.calculator-disclaimer { margin: 16px 0 0; color: #68707b; font-size: .7rem; line-height: 1.55; }

.process { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; border-top: 1px solid var(--line); }
.process-copy { position: sticky; top: 120px; align-self: start; }
.process h2 span { color: var(--gold-strong); font-style: normal; font-weight: 500; }
.process-copy > p:not(.eyebrow) { max-width: 510px; color: var(--muted); line-height: 1.75; }
.text-link { display: inline-flex; gap: 10px; margin-top: 17px; color: var(--text); font-weight: 700; }
.process-list { list-style: none; margin: 0; padding: 0; }
.process-list li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 31px 0; border-top: 1px solid var(--line); }
.process-list li:last-child { border-bottom: 1px solid var(--line); }
.process-list > li > span { color: var(--gold); font-size: .73rem; letter-spacing: .12em; }
.process-list h3 { margin: 0 0 8px; font-family: var(--display); font-size: 1.52rem; line-height: 1.1; font-weight: 650; letter-spacing: -.015em; }
.process-list p { margin: 0; color: var(--muted); }

.request { padding: 100px max(24px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; background: #0b0e12; border-top: 1px solid var(--line); }
.request-intro > p:not(.eyebrow) { max-width: 480px; color: var(--muted); line-height: 1.75; }
.direct-contacts { margin-top: 40px; border-top: 1px solid var(--line); }
.direct-contacts a { padding: 15px 0; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; border-bottom: 1px solid var(--line); }
.direct-contacts a > span:last-child { display: flex; flex-direction: column; }
.direct-contacts small { color: var(--muted); font-size: .72rem; }
.direct-contacts strong { margin-top: 2px; font-size: 1rem; }
.contact-icon { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: .62rem; font-weight: 800; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 14px; }
.field { display: flex; flex-direction: column; min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.field label, .field > label { margin-bottom: 7px; color: #c4c8ce; font-size: .78rem; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 2px; outline: 0; background: #07090c; color: var(--text); padding: 14px 15px; transition: border-color .2s, box-shadow .2s; }
.field input, .field select { min-height: 50px; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214,183,120,.1); }
.field input::placeholder, .field textarea::placeholder { color: #626974; }
.consent { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; color: var(--muted); font-size: .72rem; }
.consent input { accent-color: var(--gold); margin-top: 3px; }
.consent button, .footer button { padding: 0; border: 0; border-bottom: 1px solid currentColor; color: inherit; background: transparent; cursor: pointer; }
.submit-button { width: 100%; border: 0; }
.submit-button span { margin-left: 10px; }
.form-result { min-height: 0; display: none; padding: 17px; border: 1px solid rgba(96,211,142,.35); color: #b7edcc; background: rgba(96,211,142,.07); font-size: .83rem; }
.form-result.is-visible { display: block; }
.form-result.is-error { color: #ffc1c1; border-color: rgba(255,105,105,.38); background: rgba(255,105,105,.07); }
.form-result a { color: var(--gold-strong); text-decoration: underline; }

.footer { padding: 66px max(24px, calc((100vw - var(--max)) / 2)) 24px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; border-top: 1px solid var(--line); background: #050609; }
.footer-brand { display: flex; flex-direction: column; }
.footer-meta { color: var(--muted); font-size: .78rem; }
.footer-contacts { justify-self: end; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; font-size: .88rem; }
.footer-contacts a:hover { color: var(--gold); }
.footer-contacts span { color: var(--muted); }
.footer-bottom { grid-column: 1 / -1; margin-top: 36px; padding-top: 20px; display: flex; gap: 30px; justify-content: space-between; border-top: 1px solid var(--line); color: #707782; font-size: .7rem; }
.footer-bottom a:hover, .footer-bottom button:hover { color: var(--text); }
.chat-launcher { position: fixed; z-index: 31; right: 22px; bottom: 80px; min-height: 50px; padding: 6px 17px 6px 7px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(214,183,120,.48); border-radius: 100px; color: #f7f3eb; background: linear-gradient(135deg, rgba(22,27,35,.97), rgba(8,10,14,.97)); box-shadow: 0 14px 42px rgba(0,0,0,.42); cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .02em; transition: transform .2s, border-color .2s, box-shadow .2s; }
.chat-launcher:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 18px 48px rgba(0,0,0,.5); }
.chat-launcher-icon, .ai-chat-avatar { display: grid; place-items: center; color: #090a0c; background: linear-gradient(135deg, var(--gold-strong), #b78c45); font-family: var(--display); font-weight: 900; letter-spacing: -.03em; }
.chat-launcher-icon { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; font-size: .79rem; }
.ai-chat[hidden] { display: none; }
.ai-chat { position: fixed; z-index: 32; right: 22px; bottom: 142px; width: min(390px, calc(100vw - 28px)); height: min(590px, calc(100svh - 166px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(214,183,120,.34); border-radius: 12px; background: #0a0d12; box-shadow: 0 28px 90px rgba(0,0,0,.65); }
.ai-chat-header { min-height: 72px; padding: 13px 14px; display: grid; grid-template-columns: 42px 1fr 34px; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, #171c24, #0b0e13); }
.ai-chat-avatar { width: 42px; height: 42px; border-radius: 10px; font-size: .82rem; }
.ai-chat-header strong { display: block; font-family: var(--display); font-size: 1rem; letter-spacing: .015em; }
.ai-chat-header span { margin-top: 3px; display: flex; align-items: center; gap: 6px; color: #9299a3; font-size: .69rem; }
.ai-chat-header i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #4bd884; box-shadow: 0 0 0 3px rgba(75,216,132,.1); }
.ai-chat-close { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; color: #b8bdc4; background: rgba(255,255,255,.05); font-size: 1.45rem; line-height: 1; cursor: pointer; }
.ai-chat-close:hover { color: #fff; background: rgba(255,255,255,.1); }
.ai-chat-messages { min-height: 0; flex: 1; padding: 18px 15px 10px; overflow-y: auto; scrollbar-color: #3c424b transparent; }
.chat-message { max-width: 88%; margin-bottom: 11px; padding: 11px 13px; border-radius: 12px; font-size: .84rem; line-height: 1.55; }
.chat-message p { margin: 0; }
.chat-message-bot { margin-right: auto; color: #dadddf; border: 1px solid rgba(255,255,255,.09); border-bottom-left-radius: 3px; background: #12171e; }
.chat-message-user { margin-left: auto; color: #13100a; border-bottom-right-radius: 3px; background: linear-gradient(135deg, #efd294, #c5a15f); font-weight: 600; }
.chat-message-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.chat-message-actions a { min-height: 31px; padding: 0 10px; display: inline-flex; align-items: center; border: 1px solid rgba(214,183,120,.34); border-radius: 100px; color: var(--gold-strong); background: rgba(214,183,120,.06); font-size: .7rem; font-weight: 700; }
.chat-message-actions a:hover { border-color: var(--gold); background: rgba(214,183,120,.12); }
.chat-quick-replies { padding: 7px 15px 11px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.chat-quick-replies::-webkit-scrollbar { display: none; }
.chat-quick-replies button { min-height: 34px; flex: 0 0 auto; padding: 0 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; color: #c7cbd1; background: transparent; font-size: .7rem; cursor: pointer; }
.chat-quick-replies button:hover { color: var(--gold-strong); border-color: rgba(214,183,120,.55); }
.ai-chat-form { margin: 0 14px; min-height: 50px; display: grid; grid-template-columns: 1fr 42px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: #06080b; }
.ai-chat-form:focus-within { border-color: rgba(214,183,120,.7); box-shadow: 0 0 0 3px rgba(214,183,120,.08); }
.ai-chat-form input { min-width: 0; padding: 0 13px; border: 0; outline: 0; color: #f0f2f4; background: transparent; font-size: .84rem; }
.ai-chat-form input::placeholder { color: #6d747e; }
.ai-chat-form button { margin: 5px; padding: 0; border: 0; border-radius: 6px; color: #111; background: var(--gold); font-size: 1.15rem; cursor: pointer; }
.ai-chat-contact { padding: 11px 14px 13px; }
.ai-chat-contact > span { display: block; margin-bottom: 7px; color: #747c86; font-size: .65rem; }
.ai-chat-contact > div { display: flex; gap: 7px; }
.ai-chat-contact a { flex: 1; min-height: 30px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; color: #c9cdd3; font-size: .67rem; font-weight: 700; }
.ai-chat-contact a:hover { color: #fff; border-color: rgba(255,255,255,.3); }
.floating-contact { position: fixed; z-index: 19; right: 22px; bottom: 20px; height: 48px; padding: 0 8px 0 18px; display: flex; align-items: center; gap: 15px; border: 1px solid rgba(214,183,120,.34); border-radius: 100px; background: rgba(7,9,12,.88); backdrop-filter: blur(14px); font-size: .77rem; }
.floating-contact b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #111; background: var(--gold); }
.policy-dialog { width: min(620px, calc(100% - 32px)); max-height: calc(100svh - 40px); padding: 36px; color: var(--text); background: #0c1015; border: 1px solid rgba(214,183,120,.32); }
.policy-dialog::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(6px); }
.policy-dialog h2 { margin: 0 0 22px; font-family: var(--display); font-size: 2.25rem; line-height: 1.03; font-weight: 700; }
.policy-dialog p { color: var(--muted); }
.dialog-close { position: absolute; top: 12px; right: 16px; border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.policy-date { font-size: .76rem; }

@media (max-width: 1240px) {
  .site-header { grid-template-columns: 1fr auto; }
  .header-contact { grid-column: 2; grid-row: 1; margin-right: 54px; }
  .main-nav { position: fixed; top: 90px; left: 16px; right: 16px; padding: 22px; display: none; flex-direction: column; gap: 18px; background: rgba(8,10,14,.98); border: 1px solid var(--line); }
  .site-header.is-scrolled .main-nav { top: 76px; }
  .main-nav.is-open { display: flex; }
  .menu-toggle { justify-self: end; width: 42px; height: 42px; padding: 11px; display: flex; flex-direction: column; justify-content: center; gap: 6px; border: 1px solid var(--line); background: rgba(6,8,11,.75); }
  .menu-toggle span:not(.sr-only) { width: 100%; height: 1px; background: var(--text); }
  .vehicle-finder { grid-template-columns: 1fr; gap: 36px; }
  .car-grid { grid-template-columns: repeat(2, 1fr); }
  .detailing-configurator { grid-template-columns: minmax(0, 1fr) minmax(410px, .82fr); }
  .configurator-controls { padding: 31px 27px 28px; }
  .detailing-layout { grid-template-columns: 1fr; }
  .detailing-request-card { position: static; }
  .film-grid { grid-template-columns: repeat(2, 1fr); }
  .calculator-shell { grid-template-columns: 1fr; }
  .request { grid-template-columns: 1fr; gap: 55px; }
}

@media (max-width: 900px) {
  .header-direct { display: none; }
  .nav-direct-contact { margin-top: 3px; padding-top: 18px; display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--line); color: var(--gold-strong); font-size: .86rem; }
  .detailing-configurator { grid-template-columns: 1fr; }
  .car-viewer-shell { min-height: 620px; }
  .configurator-controls { border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
}

@media (max-width: 720px) {
  .site-header { height: 70px; padding: 0 18px; }
  .main-nav, .site-header.is-scrolled .main-nav { top: 70px; }
  .brand { gap: 8px; }
  .brand-mark, .site-header.is-scrolled .brand-mark { width: 46px; height: 46px; }
  .brand-copy strong { font-size: .91rem; letter-spacing: .075em; }
  .brand-copy small { margin-top: 4px; font-size: .48rem; letter-spacing: .12em; }
  .hero { min-height: 760px; align-items: flex-end; padding-bottom: 70px; }
  .hero-image { background-position: 66% center; }
  .hero-image-collection { background-position: 64% center; }
  .hero-overlay { background: linear-gradient(180deg, rgba(3,5,8,.12), rgba(3,5,8,.72) 38%, rgba(3,5,8,.98) 76%); }
  .hero-content { width: calc(100% - 36px); margin: 0 auto; }
  .hero h1 { font-size: clamp(3rem, 13.2vw, 4.15rem); line-height: .93; }
  .hero-copy { margin: 20px 0 26px; font-size: 1rem; line-height: 1.55; }
  .hero-actions .button { width: 100%; }
  .hero-facts { gap: 13px; justify-content: space-between; margin-top: 28px; }
  .hero-facts li { padding-left: 9px; }
  .hero-facts strong { font-size: .72rem; }
  .hero-facts span { font-size: .63rem; }
  .hero-visual-picker { left: 18px; right: 18px; bottom: 15px; gap: 5px; }
  .hero-choice { flex: 1; padding: 0 7px; font-size: 0; }
  .hero-choice span { margin: 0; font-size: .67rem; }
  .hero-scroll { display: none; }
  .vehicle-finder { padding: 65px 18px; gap: 28px; }
  .finder-form { padding: 20px; grid-template-columns: 1fr; }
  .finder-submit { width: 100%; margin: 0; }
  .finder-result { grid-column: 1; }
  .cinematic { min-height: 620px; height: 72svh; }
  .cinematic-video { object-position: 57% center; }
  .cinematic-overlay { background: linear-gradient(180deg, rgba(4,6,9,.18), rgba(4,6,9,.88) 68%, #040609); }
  .cinematic-copy { left: 18px; right: 18px; bottom: 112px; }
  .cinematic-copy h2 { font-size: clamp(3rem, 13vw, 4.2rem); }
  .video-toggle { left: 18px; right: auto; bottom: 42px; }
  .video-note { display: none; }
  .section { width: calc(100% - 36px); padding: 80px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 34px; }
  .section-heading > p { margin: 0; }
  .car-grid, .service-grid { grid-template-columns: 1fr; }
  .service-detailing { grid-column: 1; }
  .catalog-cta { align-items: stretch; flex-direction: column; }
  .detailing { padding: 80px 18px; }
  .detailing-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .detailing-heading > p { margin: 0; }
  .car-viewer-shell { min-height: 500px; }
  .car-viewer { inset: 0 0 108px; }
  .viewer-badge { top: 16px; left: 16px; }
  .viewer-mode-switch { top: 56px; right: 16px; }
  .viewer-mode-choice { min-height: 35px; padding: 0 10px; font-size: .59rem; }
  .wheel-studio-canvas { width: 128%; max-width: none; }
  .wheel-studio-size { bottom: 10px; min-width: 104px; padding: 7px 11px; }
  .wheel-studio-size strong { font-size: .9rem; }
  .wheel-studio-size small { font-size: .51rem; }
  .viewer-spec { left: 15px; bottom: 158px; padding: 8px 10px; font-size: .59rem; }
  .viewer-hint { right: 15px; bottom: 121px; padding: 8px 10px; font-size: .6rem; }
  .configurator-caption { min-height: 108px; padding: 14px 17px; gap: 15px; }
  .configurator-caption span { font-size: .57rem; }
  .configurator-caption strong { font-size: .72rem; }
  .configurator-controls { padding: 30px 22px 25px; }
  .configurator-controls h3 { font-size: 2.35rem; }
  .paint-swatches { gap: 9px; }
  .detailing-configurator-facts { min-height: 76px; padding: 18px 16px; gap: 8px; }
  .detailing-configurator-facts li { padding-left: 9px; }
  .detailing-configurator-facts strong { font-size: .73rem; }
  .detailing-configurator-facts span { font-size: .57rem; }
  .detailing-service-grid { grid-template-columns: 1fr; }
  .detailing-service-card { min-height: 0; padding: 25px 22px; }
  .film-block { padding: 27px 22px; }
  .film-block-heading { grid-template-columns: 1fr; gap: 12px; }
  .film-grid { grid-template-columns: 1fr 1fr; }
  .detailing-request-card { padding: 27px 22px; }
  .detail-field-row { grid-template-columns: 1fr; gap: 17px; }
  .leasing-calculator { padding: 80px 18px; }
  .calculator-heading { grid-template-columns: 1fr; gap: 28px; margin-bottom: 30px; }
  .calculator-rate-summary { min-width: 0; }
  .calculator-form, .calculator-result { padding: 26px 20px; }
  .calculator-form { grid-template-columns: 1fr; }
  .calc-field { grid-column: 1 / -1; }
  .calculator-breakdown { grid-template-columns: 1fr; }
  .calculator-breakdown div:nth-child(odd), .calculator-breakdown div:nth-child(even) { padding: 14px 0; border-left: 0; }
  .calculator-monthly { font-size: clamp(2.45rem, 11vw, 3.4rem); }
  .process { grid-template-columns: 1fr; gap: 50px; }
  .process-copy { position: static; }
  .request { padding: 80px 18px; }
  .lead-form { grid-template-columns: 1fr; }
  .field { grid-column: 1 / -1; }
  .footer { grid-template-columns: 1fr; padding: 55px 18px 90px; }
  .footer-contacts { justify-self: start; align-items: flex-start; }
  .footer-bottom { margin-top: 15px; flex-direction: column; gap: 12px; }
  .chat-launcher { right: 14px; bottom: 72px; }
  .ai-chat { right: 14px; bottom: 134px; height: min(575px, calc(100svh - 152px)); }
  .floating-contact { right: 14px; bottom: 12px; }
}

@media (max-width: 420px) {
  .messenger-links-small { gap: 4px; }
  .messenger-links-small .messenger { width: 30px; height: 30px; }
  .paint-swatches { grid-template-columns: repeat(4, 1fr); }
  .wheel-style-grid { grid-auto-columns: 108px; }
  .wheel-color-swatches { gap: 6px; }
  .wheel-color-swatch { width: 27px; height: 27px; }
  .film-grid, .detail-service-options { grid-template-columns: 1fr; }
  .chat-launcher { padding-right: 13px; }
  .chat-launcher > span:last-child { max-width: 105px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ai-chat { left: 10px; right: 10px; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
  .viewer-loader { animation-duration: 1.8s; }
}
