/* Dirección visual: carbón, cobre y fotografía real. */
:root {
  --paper:#111518; --panel:#1a1f23; --raised:#23292e;
  --ink:#f3f3f0; --muted:#b7bdc1; --subtle:#919a9f;
  --accent:#c99b80; --accent-hover:#dfb79e; --line:#363d42;
  --radius:2px; --font-display:'Manrope',Arial,sans-serif;
  font-family:'DM Sans',Arial,sans-serif; color:var(--ink); background:var(--paper);
  font-synthesis:none; scroll-behavior:smooth; color-scheme:dark;
}
* { box-sizing:border-box; }
body { margin:0; font-size:16px; line-height:1.65; }
body.dialog-open { overflow:hidden; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; border:0; }
button:disabled { cursor:wait; opacity:.65; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:var(--font-display); }
h1,h2 { font-weight:300; text-transform:uppercase; line-height:1.12; letter-spacing:-.025em; }
h1 { font-size:clamp(44px,6vw,88px); }
h2 { font-size:clamp(30px,3.6vw,48px); }
h3 { font-weight:600; font-size:18px; line-height:1.4; }
p { color:var(--muted); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
input,textarea { min-width:0; }
.wrap { max-width:1440px; padding-inline:56px; margin-inline:auto; }
.icon { width:21px; height:21px; flex-shrink:0; vertical-align:middle; }
.eyebrow { display:block; color:var(--accent); font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; line-height:1.65; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:15px 23px; border:1px solid transparent; border-radius:var(--radius); font-weight:600; font-size:14px; line-height:1.45; text-align:center; transition:background .2s,color .2s,border-color .2s; }
.button-primary { background:var(--ink); color:#111518; border-color:var(--ink); }
.button-primary:hover { background:var(--accent); border-color:var(--accent); }
.button-outline { background:transparent; border-color:#768087; color:var(--ink); }
.button-outline:hover { background:var(--raised); border-color:var(--accent); }
.contact-actions { display:flex; gap:12px; }
.contact-actions.stack { flex-direction:column; }
.cta-note { font-size:12px; margin-top:14px; text-align:center; line-height:1.6; }
.pill { font-size:13px; display:inline-block; color:var(--accent); line-height:1.4; }
.location { display:flex; align-items:center; gap:7px; font-size:14px; color:var(--muted); }
.skip-link { position:fixed; top:-100px; left:16px; padding:12px 20px; background:var(--ink); color:var(--paper); z-index:1000; }
.skip-link:focus { top:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:90px; padding:19px max(40px,calc((100vw - 1328px)/2)); border-bottom:1px solid var(--line); background:#0d1114; }
.wordmark { display:flex; align-items:center; gap:13px; font-size:13px; letter-spacing:.16em; font-weight:600; line-height:1.4; }
.brand-bottom { display:block; font-size:10px; letter-spacing:.32em; font-weight:400; color:var(--muted); }
.brand-symbol { font-family:var(--font-display); font-weight:600; font-size:40px; line-height:1; letter-spacing:-8px; padding-right:9px; }
.brand-symbol>span { color:var(--accent); }
.site-header nav { display:flex; gap:36px; font-size:14px; }
.site-header nav a { padding:9px 0; border-bottom:1px solid transparent; }
.site-header nav a:hover,.site-header nav a[aria-current] { border-color:var(--accent); }
.site-header nav span { color:var(--subtle); font-size:12px; margin-left:5px; }
.catalog-link { display:flex; gap:15px; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:.09em; }
.catalog-link .icon { width:17px; }
.site-footer { max-width:1440px; margin:auto; padding:40px 56px; display:flex; align-items:center; gap:26px; border-top:1px solid var(--line); font-size:12px; }
.footer-brand { font-size:11px; letter-spacing:.16em; font-weight:600; }
.site-footer p { flex:1; }
.site-footer>a:not(.footer-brand) { text-decoration:underline; text-underline-offset:4px; }
/* Portada: fotografías amplias y navegación directa a cada vehículo. */
.home-hero { position:relative; background:#090d10; overflow:hidden; padding-bottom:46px; }
.hero-scene { position:relative; display:grid; grid-template-columns:1.18fr 1fr; gap:3px; height:clamp(390px,39vw,600px); max-width:1920px; margin:auto; }
.hero-scene>div { overflow:hidden; min-width:0; }
.hero-scene img { width:100%; height:100%; object-fit:cover; }
.scene-explorer img { object-position:50% 54%; }
.scene-klr img { object-position:50% 47%; }
.hero-scene::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#090d10 0%,#090d1099 13%,transparent 33%),linear-gradient(180deg,#090d1044,transparent 20%); }
.home-hero-content { position:relative; margin-top:-54px; }
.home-hero-content>.eyebrow { display:flex; align-items:center; gap:16px; margin-bottom:17px; }
.home-hero-content>.eyebrow::before { content:''; height:1px; width:40px; background:var(--accent); }
.home-hero h1 { font-size:clamp(52px,6.2vw,88px); max-width:1050px; font-weight:300; line-height:1.03; letter-spacing:-.04em; }
.home-hero h1 br { display:none; }
.hero-bottom { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-top:28px; }
.hero-model-links { display:flex; gap:12px; }
.hero-model-links a { display:flex; align-items:center; gap:40px; padding:12px 20px; min-width:238px; border:1px solid #747b7f; transition:background .2s,border-color .2s; }
.hero-model-links a:hover { background:#262421; border-color:var(--accent); }
.hero-model-links a:first-child { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.hero-model-links a:first-child:hover { background:var(--accent); border-color:var(--accent); }
.hero-model-links a>span { font-size:14px; text-transform:uppercase; font-weight:500; letter-spacing:.04em; }
.hero-model-links small { display:block; font-size:13px; letter-spacing:0; margin-top:2px; }
.hero-model-links .icon { margin-left:auto; width:19px; }
.hero-bottom>p { font-size:13px; text-align:right; }
.home-collection { padding-top:72px; scroll-margin-top:24px; }
.collection-heading { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:48px; }
.collection-heading>span:last-child { font-size:12px; color:var(--subtle); }
.showcase { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; margin-bottom:80px; }
.showcase-photo { position:relative; display:block; aspect-ratio:1.25; overflow:hidden; background:var(--panel); }
.showcase-photo>img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.showcase-photo:hover>img { transform:scale(1.025); }
.photo-label { position:absolute; top:20px; left:20px; padding:7px 11px; background:#101518ed; color:var(--ink); border:1px solid #ffffff36; font-size:12px; line-height:1.4; }
.showcase-copy { padding-right:20px; }
.model-index { margin-right:15px; color:var(--subtle); }
.showcase-copy h2 { font-size:clamp(38px,4.4vw,64px); margin:17px 0 22px; }
.showcase-copy>p { max-width:400px; font-size:16px; }
.showcase-specs { display:flex; flex-direction:column; gap:4px; margin:24px 0; padding-block:16px; border-block:1px solid var(--line); font-size:14px; color:var(--muted); }
.showcase-specs>span:first-child { color:var(--ink); }
.showcase-price { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:25px; }
.showcase-price strong { font-family:var(--font-display); font-size:36px; font-weight:400; line-height:1.3; }
.showcase-price>span { font-size:12px; color:var(--accent); }
.showcase-copy .button { min-width:225px; justify-content:space-between; }
.showcase-klr { grid-template-columns:1fr 1.2fr; }
.showcase-klr .showcase-photo { order:2; }
.showcase-klr .showcase-copy { padding-right:0; padding-left:28px; }
.home-process { display:grid; grid-template-columns:1fr 1.1fr; gap:95px; padding-top:20px; padding-bottom:100px; }
.home-process h2 { margin-top:20px; max-width:530px; }
.process-list { list-style:none; padding:0; margin:0; }
.process-list li { display:flex; gap:27px; border-bottom:1px solid var(--line); padding:22px 0; }
.process-list li:first-child { padding-top:0; }
.process-list li>span { color:var(--accent); font-size:12px; padding-top:4px; }
.process-list p { margin-top:7px; font-size:16px; }
.both-section { border-top:1px solid var(--line); background:linear-gradient(115deg,#22272a,#161b1e 70%); }
.both-inner { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; padding-top:70px; padding-bottom:70px; }
.both-inner h2 { margin:19px 0; }
.both-inner p { max-width:490px; }
.both-inner .button-primary { background:var(--accent); border-color:var(--accent); }
.both-inner .button-primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
/* Fichas de los vehículos. */
.detail-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:26px; padding-bottom:36px; font-size:12px; color:var(--muted); }
.detail-top a { display:flex; gap:8px; align-items:center; }
.detail-top .icon { width:16px; }
.detail-top>span { text-transform:uppercase; letter-spacing:.12em; }
.detail-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; padding-bottom:34px; }
.detail-heading h1 { display:flex; align-items:baseline; gap:22px; flex-wrap:wrap; margin-top:10px; font-size:clamp(52px,7.2vw,106px); line-height:1.08; }
.model-year { color:var(--muted); font-size:24px; font-weight:400; letter-spacing:0; }
.detail-head-price { display:flex; flex-direction:column; align-items:flex-end; padding-bottom:9px; flex-shrink:0; }
.detail-head-price>strong { font-family:var(--font-display); font-size:42px; font-weight:400; line-height:1.4; }
.detail-stage { display:grid; grid-template-columns:1.3fr 1fr; gap:54px; align-items:center; padding-bottom:55px; }
.hero-gallery { min-width:0; }
.hero-photo { position:relative; display:block; width:100%; aspect-ratio:1.13; padding:0; overflow:hidden; background:var(--panel); color:var(--ink); }
.hero-photo>img { width:100%; height:100%; object-fit:cover; }
.photo-count { position:absolute; display:flex; align-items:center; gap:9px; bottom:18px; right:18px; background:#101518ee; border:1px solid #ffffff4d; padding:10px 14px; font-size:12px; }
.photo-count .icon { width:17px; height:17px; }
.hero-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px; }
.hero-thumbs button { padding:0; aspect-ratio:1.55; background:var(--panel); overflow:hidden; }
.hero-thumbs img { width:100%; height:100%; object-fit:cover; }
.hero-thumbs button:hover { outline:1px solid var(--accent); outline-offset:2px; }
.hero-details { min-width:0; padding:15px 0; }
.hero-details h2 { font-size:clamp(30px,3.1vw,44px); margin-top:19px; }
.hero-description { margin-top:22px; max-width:470px; font-size:16px; }
.hero-details>.location { margin-top:17px; }
.hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; border-block:1px solid var(--line); padding:18px 0; margin:27px 0; }
.hero-facts span { font-size:12px; color:var(--muted); }
.hero-facts strong { display:block; color:var(--ink); font-size:16px; font-weight:500; margin-bottom:4px; }
.fact-strip { background:var(--panel); border-block:1px solid var(--line); }
.fact-grid { display:grid; grid-template-columns:repeat(4,1fr); padding-block:34px; }
.fact-grid>div { padding-inline:30px; border-right:1px solid var(--line); }
.fact-grid>div:first-child { padding-left:0; }
.fact-grid>div:last-child { border:0; }
.fact-grid strong { font-family:var(--font-display); font-weight:300; font-size:34px; line-height:1.25; }
.fact-grid span { display:block; color:var(--accent); font-size:12px; margin-top:9px; letter-spacing:.08em; text-transform:uppercase; }
.equipment-section { padding-top:90px; padding-bottom:90px; }
.section-heading .eyebrow { margin-bottom:18px; }
.section-heading h2 { max-width:670px; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:46px; }
.equipment-item { border-top:1px solid var(--line); padding-top:20px; }
.item-number { display:block; font-size:12px; color:var(--accent); margin-bottom:22px; }
.equipment-item p { font-size:16px; margin-top:11px; max-width:360px; }
.gallery-section { padding-bottom:90px; }
.gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:30px; }
.gallery-heading>span { font-size:12px; color:var(--muted); }
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.gallery-tile { position:relative; aspect-ratio:1; overflow:hidden; padding:0; background:var(--panel); }
.gallery-tile img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.gallery-tile:hover img { transform:scale(1.03); }
.gallery-tile>span:not(.more-photos) { position:absolute; bottom:0; left:0; right:0; padding:40px 17px 13px; text-align:left; font-size:12px; color:#fff; background:linear-gradient(transparent,#080b0ed9); }
.more-photos { position:absolute; inset:0; display:grid; place-items:center; background:#10151899; color:#fff; font-family:var(--font-display); font-weight:300; font-size:30px; }
.gallery-all { display:flex; width:fit-content; margin:28px auto 0; }
.visit-section { background:#20262a; padding-block:0; }
.visit-inner { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:80px; }
.visit-image { height:690px; overflow:hidden; }
.visit-image img { width:100%; height:100%; object-fit:cover; }
.visit-copy { padding-block:56px; }
.visit-copy .eyebrow { margin-bottom:22px; }
.visit-copy h2 { font-size:clamp(34px,3.7vw,50px); }
.visit-copy>p { margin-top:22px; }
.plain-checks { list-style:none; padding:0; margin:28px 0 34px; }
.plain-checks li { display:flex; gap:12px; align-items:center; font-size:14px; margin:13px 0; }
.plain-checks .icon { color:var(--accent); width:18px; }
.visit-copy .button-primary { background:var(--accent); border-color:var(--accent); }
.visit-copy .button-primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.visit-copy .cta-note { font-size:12px; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; padding-top:100px; padding-bottom:90px; }
.faq-section .eyebrow { margin-bottom:20px; }
.faq-list details { border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:22px; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:16px; font-weight:500; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary .icon { width:18px; color:var(--accent); }
.faq-list details[open] summary .icon { transform:rotate(45deg); }
.faq-list details p { margin-top:16px; padding-right:25px; font-size:16px; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-top:45px; padding-bottom:45px; border-block:1px solid var(--line); }
.final-cta .eyebrow { margin-bottom:15px; }
.final-cta h2 { font-size:clamp(35px,4vw,54px); }
.final-cta p { color:var(--ink); font-size:28px; margin-top:17px; }
.final-cta p span { color:var(--accent); font-size:14px; }
.final-cta .contact-actions { min-width:355px; }
.other-section { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; padding-top:85px; padding-bottom:90px; }
.other-section .eyebrow { margin-bottom:19px; }
.other-section>div>p { margin-top:24px; max-width:370px; }
.vehicle-card { display:block; background:var(--panel); overflow:hidden; }
.card-photo { position:relative; overflow:hidden; aspect-ratio:1.6; }
.card-photo>img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.vehicle-card:hover .card-photo>img { transform:scale(1.03); }
.card-arrow { position:absolute; bottom:18px; right:18px; display:grid; place-items:center; width:44px; height:44px; background:var(--paper); color:var(--ink); }
.card-body { padding:25px 28px; }
.card-body .eyebrow { font-size:12px; }
.card-title-row { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-top:7px; }
.card-title-row h2 { font-size:34px; }
.card-year { color:var(--muted); font-size:14px; }
.card-body>p { font-size:14px; margin-top:12px; }
.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.card-bottom strong { font-family:var(--font-display); font-size:29px; font-weight:400; }
.card-bottom small { display:block; font-size:12px; color:var(--accent); }
.card-cta { display:flex; gap:12px; align-items:center; font-size:13px; }
.small-card { width:100%; max-width:560px; justify-self:end; }
.mobile-dock { display:none; }
/* Formulario: mismo recorrido, jerarquía y controles con el nuevo tema. */
.contact-dialog { width:min(1020px,calc(100% - 48px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid #5d6265; border-radius:2px; background:var(--panel); color:var(--ink); overflow:auto; }
.contact-dialog::backdrop,.lightbox::backdrop { background:#050709d9; backdrop-filter:blur(7px); }
.dialog-shell { display:grid; grid-template-columns:.8fr 1.2fr; min-height:700px; }
.form-aside { display:flex; flex-direction:column; padding:45px 32px; background:#101416; border-right:1px solid var(--line); }
.form-aside h2 { font-size:45px; margin:22px 0; }
.form-aside p { max-width:245px; font-size:16px; }
.form-vehicle-image { margin-top:auto; padding-top:32px; }
.form-vehicle-image img { width:100%; height:auto; aspect-ratio:1.3; object-fit:cover; object-position:50% 56%; }
.form-summary { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-top:17px; font-size:13px; }
.form-summary>strong { font-size:20px; font-weight:500; }
.form-summary>span:last-child { width:100%; color:var(--accent); font-size:12px; }
.form-main { position:relative; padding:36px 38px; min-width:0; }
.icon-button { display:grid; place-items:center; width:44px; height:44px; background:transparent; color:inherit; flex-shrink:0; border-radius:2px; }
.icon-button:hover { background:var(--raised); }
.form-close { position:absolute; right:16px; top:14px; }
.form-progress { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-right:34px; margin-bottom:30px; font-size:12px; color:var(--muted); }
.progress-track { width:100%; height:2px; background:#444b50; overflow:hidden; }
.progress-track>span { display:block; height:100%; width:33.333%; background:var(--accent); transition:width .2s; }
.form-step .eyebrow { font-size:12px; margin-bottom:13px; }
.form-step h2 { font-size:30px; font-weight:400; line-height:1.2; text-transform:none; }
.form-step h2:focus { outline:none; }
.form-intro { font-size:14px; line-height:1.7; margin:14px 0 24px; }
.vehicle-options { display:grid; gap:10px; border:0; padding:0; margin:0; }
.vehicle-option { display:flex; align-items:center; position:relative; gap:13px; min-height:80px; border:1px solid #596168; padding:10px; cursor:pointer; border-radius:2px; }
.vehicle-option>input,.time-option>input { position:absolute; width:1px; height:1px; opacity:0; }
.vehicle-option:has(input:focus-visible),.time-option:has(input:focus-visible) { outline:3px solid var(--accent); outline-offset:3px; }
.vehicle-option:has(input:checked) { border-color:var(--accent); background:#2c2724; box-shadow:inset 0 0 0 1px var(--accent); }
.vehicle-option>img { width:68px; height:58px; object-fit:cover; object-position:50% 58%; flex-shrink:0; }
.vehicle-option strong { display:block; font-size:14px; font-weight:500; line-height:1.4; }
.vehicle-option small { display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.radio-mark { width:18px; height:18px; border:1px solid #929b9f; border-radius:50%; margin-left:auto; flex-shrink:0; }
.vehicle-option:has(input:checked) .radio-mark { border:5px solid var(--accent); background:var(--paper); }
.both-symbol { display:grid; place-items:center; width:68px; height:42px; color:var(--accent); flex-shrink:0; }
.option-both { min-height:65px; }
.price-summary { background:#11171b; border-left:2px solid var(--accent); padding:13px 15px; font-size:13px; line-height:1.8; margin-top:22px; }
.price-summary div { display:flex; justify-content:space-between; gap:12px; }
.price-summary small { font-size:12px; color:var(--muted); }
.checkbox-row { display:flex; gap:11px; align-items:start; font-size:14px; line-height:1.55; margin-top:20px; cursor:pointer; }
.checkbox-row input { accent-color:var(--accent); width:19px; height:19px; flex-shrink:0; margin:2px 0 0; }
.form-navigation { display:flex; justify-content:flex-end; align-items:center; gap:15px; margin-top:27px; }
.form-navigation .button { min-height:50px; }
.back-button { display:flex; align-items:center; gap:8px; margin-right:auto; padding:12px 0; font-size:14px; color:var(--muted); background:none; }
.back-button .icon { width:17px; }
.required-note { font-size:12px; margin-top:15px; text-align:right; }
.field-error { color:#ffb2a5!important; font-size:13px; line-height:1.55; margin-top:9px; }
.field-error:not([hidden]) { display:block; }
.choice-group { border:0; margin:26px 0; padding:0; }
.choice-group legend { font-size:15px; font-weight:500; line-height:1.5; margin-bottom:14px; }
.choice { display:flex; align-items:start; gap:11px; border:1px solid #596168; border-radius:2px; padding:15px 13px; margin-bottom:10px; font-size:14px; line-height:1.55; cursor:pointer; }
.choice input { accent-color:var(--accent); width:17px; height:17px; margin:3px 0 0; flex-shrink:0; }
.choice:has(input:checked) { border-color:var(--accent); background:#2c2724; }
.time-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.time-option { position:relative; display:flex; align-items:center; justify-content:center; padding:14px 7px; border:1px solid #596168; border-radius:2px; text-align:center; font-size:13px; line-height:1.5; cursor:pointer; }
.time-option:has(input:checked) { color:var(--paper); background:var(--accent); border-color:var(--accent); }
.form-note { font-size:13px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:block; font-size:14px; font-weight:500; }
.field-full { grid-column:1/-1; }
.field input,.field textarea { display:block; width:100%; min-height:48px; padding:11px 12px; margin-top:6px; border:1px solid #737d83; border-radius:2px; background:#11171b; color:var(--ink); font-weight:400; font-size:16px; line-height:1.5; }
.field input[aria-invalid=true] { border-color:#ffb2a5; }
.field textarea { resize:vertical; min-height:80px; }
.field input::placeholder,.field textarea::placeholder { color:#a3adb3; font-size:14px; }
.field-hint { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:5px; }
.optional { float:right; font-size:12px; font-weight:400; color:var(--muted); }
.privacy-note { font-size:12px; line-height:1.65; margin-top:18px; }
.privacy-note a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.final-summary { border-top:1px solid var(--line); padding-top:14px; margin-top:20px; font-size:12px; color:var(--accent); }
.form-success { padding:55px 0; }
.form-success h2 { font-size:34px; margin:25px 0 18px; text-transform:none; }
.form-success .button { width:100%; margin:26px 0 16px; }
.success-icon { display:grid; place-items:center; width:66px; height:66px; border:1px solid var(--accent); color:var(--accent); }
.success-icon .icon { width:30px; height:30px; }
.hp-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
/* Galería completa y páginas de información. */
.lightbox { width:calc(100% - 36px); max-width:1360px; height:calc(100dvh - 36px); max-height:none; padding:18px 24px; background:#090d10; color:var(--ink); border:1px solid var(--line); border-radius:2px; overflow:hidden; }
.lightbox-top { display:flex; align-items:center; justify-content:space-between; height:44px; font-size:13px; }
.lightbox-content { display:flex; align-items:center; justify-content:space-between; gap:16px; height:calc(100% - 96px); }
.lightbox-content img { width:calc(100% - 120px); height:100%; object-fit:contain; }
.lightbox-content button { border:1px solid #747d83; }
.lightbox>p { text-align:center; font-size:13px; margin-top:15px; }
.legal { max-width:880px; padding-top:60px; padding-bottom:90px; }
.legal .eyebrow { margin-top:48px; margin-bottom:17px; }
.legal h1 { font-size:60px; margin-bottom:30px; }
.legal h2 { font-size:25px; margin:36px 0 15px; text-transform:none; font-weight:500; }
.legal p { margin:16px 0; line-height:1.9; }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:14px; }
.not-found { padding-top:100px; padding-bottom:110px; }
.not-found h1 { margin:22px 0; }
.not-found .button { margin-top:28px; }
.noscript { padding:20px; background:var(--accent); color:var(--paper); text-align:center; }
.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; }
[hidden] { display:none!important; }
@media(min-width:1650px) {
  .home-hero h1 { font-size:94px; }
  .hero-scene { height:600px; }
}
@media(max-width:1100px) {
  .wrap { padding-inline:36px; }
  .site-header { padding-inline:36px; }
  .home-hero h1 { font-size:clamp(46px,6.6vw,72px); }
  .hero-bottom { gap:20px; }
  .hero-model-links a { min-width:215px; gap:20px; }
  .showcase { gap:38px; }
  .showcase-copy { padding-right:0; }
  .showcase-klr .showcase-copy { padding-left:0; }
  .showcase-copy h2 { font-size:46px; }
  .showcase-photo { aspect-ratio:.94; }
  .home-process,.both-inner { gap:55px; }
  .detail-heading h1 { font-size:72px; }
  .detail-head-price>strong { font-size:36px; }
  .detail-stage { gap:30px; grid-template-columns:1.05fr 1fr; }
  .hero-photo { aspect-ratio:.85; }
  .hero-details h2 { font-size:32px; }
  .hero-details .button { font-size:13px; padding-inline:15px; }
  .hero-facts { gap:12px; }
  .hero-facts strong { font-size:15px; }
  .visit-inner { gap:42px; }
  .visit-image { height:650px; }
  .equipment-grid { gap:28px; }
  .faq-section,.other-section { gap:45px; }
  .site-footer { padding-inline:36px; }
}
@media(max-width:760px) {
  .wrap { padding-inline:22px; }
  .site-header { min-height:76px; padding:16px 22px; gap:16px; }
  .wordmark { font-size:10px; gap:11px; }
  .brand-bottom { font-size:8px; }
  .brand-symbol { font-size:34px; }
  .site-header nav { gap:20px; font-size:12px; }
  .site-header nav span,.catalog-link { display:none; }
  .home-hero { padding-bottom:30px; }
  .hero-scene { height:clamp(220px,63vw,400px); grid-template-columns:1.05fr 1fr; gap:2px; }
  .scene-explorer img { object-position:50% 52%; }
  .scene-klr img { object-position:50% 49%; }
  .hero-scene::after { background:linear-gradient(0deg,#090d10,transparent 28%); }
  .home-hero-content { margin-top:-18px; }
  .home-hero-content>.eyebrow { font-size:11px; margin-bottom:15px; gap:12px; letter-spacing:.13em; }
  .home-hero-content>.eyebrow::before { width:24px; }
  .home-hero h1 { font-size:clamp(40px,9vw,65px); line-height:1.1; letter-spacing:-.03em; }
  .home-hero h1 br { display:block; }
  .hero-bottom { display:block; margin-top:23px; }
  .hero-model-links { gap:9px; }
  .hero-model-links a { min-width:0; flex:1; padding:12px; gap:7px; }
  .hero-model-links a>span { font-size:11px; letter-spacing:0; }
  .hero-model-links small { font-size:12px; }
  .hero-model-links .icon { width:16px; height:16px; }
  .hero-bottom>p { text-align:left; font-size:12px; margin-top:17px; }
  .hero-bottom>p br { display:none; }
  .home-collection { padding-top:42px; }
  .collection-heading { margin-bottom:26px; padding-bottom:17px; }
  .collection-heading .eyebrow { font-size:11px; }
  .collection-heading>span:last-child { font-size:11px; }
  .showcase,.showcase-klr { grid-template-columns:1fr; gap:27px; margin-bottom:58px; }
  .showcase-photo { aspect-ratio:1.25; }
  .showcase-klr .showcase-photo { order:0; }
  .photo-label { top:14px; left:14px; font-size:11px; padding:7px 9px; }
  .showcase-copy h2 { font-size:46px; margin:13px 0 17px; }
  .showcase-copy>p { max-width:none; }
  .showcase-specs { margin:20px 0; font-size:14px; }
  .showcase-price { margin-bottom:22px; }
  .showcase-price strong { font-size:34px; }
  .showcase-copy .button { width:100%; }
  .home-process { grid-template-columns:1fr; gap:35px; padding-top:0; padding-bottom:56px; }
  .home-process h2 { font-size:36px; }
  .process-list li { padding:21px 0; gap:22px; }
  .process-list p { font-size:16px; }
  .both-inner { grid-template-columns:1fr; gap:30px; padding-block:47px; }
  .both-inner h2 { font-size:40px; }
  .both-inner h2 br { display:none; }
  .site-footer { padding:32px 22px; flex-wrap:wrap; gap:17px; }
  .site-footer p { flex:1 1 100%; order:3; }
  .detail-top { padding-top:23px; padding-bottom:30px; }
  .detail-heading { display:block; padding-bottom:25px; }
  .detail-heading>.eyebrow { font-size:11px; }
  .detail-heading h1 { font-size:clamp(43px,10vw,68px); gap:15px; margin-top:12px; }
  .model-year { font-size:21px; }
  .detail-head-price { margin-top:17px; flex-direction:row; align-items:center; gap:16px; padding-bottom:0; }
  .detail-head-price>strong { font-size:31px; }
  .detail-head-price .pill { font-size:12px; }
  .detail-stage { grid-template-columns:1fr; gap:25px; padding-bottom:36px; }
  .hero-photo { aspect-ratio:1.18; }
  .photo-count { right:13px; bottom:13px; font-size:12px; padding:9px 11px; }
  .hero-thumbs { gap:7px; margin-top:7px; }
  .hero-thumbs button { aspect-ratio:1.35; }
  .hero-details { padding:6px 0 0; }
  .hero-details h2 { font-size:35px; margin-top:15px; }
  .hero-details h2 br { display:none; }
  .hero-description { max-width:none; margin-top:18px; }
  .hero-facts { margin-block:24px; gap:20px; }
  .hero-details .button { font-size:14px; }
  .fact-grid { grid-template-columns:1fr 1fr; gap:26px 0; padding-block:28px; }
  .fact-grid>div { padding-inline:21px; }
  .fact-grid>div:nth-child(odd) { padding-left:0; }
  .fact-grid>div:nth-child(even) { border:0; }
  .fact-grid strong { font-size:29px; }
  .fact-grid span { font-size:11px; margin-top:6px; }
  .equipment-section { padding-top:55px; padding-bottom:54px; }
  .section-heading h2 { font-size:35px; }
  .equipment-grid { grid-template-columns:1fr 1fr; gap:29px 22px; margin-top:32px; }
  .equipment-item h3 { font-size:16px; }
  .equipment-item p { font-size:16px; }
  .item-number { margin-bottom:15px; }
  .gallery-heading { display:block; margin-bottom:24px; }
  .gallery-heading>span { display:block; margin-top:16px; }
  .photo-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .gallery-tile { aspect-ratio:.8; }
  .gallery-tile>span:not(.more-photos) { padding-inline:10px; font-size:11px; line-height:1.5; }
  .more-photos { font-size:25px; }
  .gallery-section { padding-bottom:55px; }
  .gallery-all { width:100%; }
  .visit-inner { grid-template-columns:1fr; gap:0; }
  .visit-image { height:420px; margin-top:24px; }
  .visit-copy { padding-top:32px; padding-bottom:39px; }
  .visit-copy h2 { font-size:37px; }
  .plain-checks { margin-block:25px; }
  .faq-section { grid-template-columns:1fr; gap:35px; padding-top:56px; padding-bottom:44px; }
  .faq-section h2 { font-size:35px; }
  .faq-section h2 br { display:none; }
  .faq-list summary { font-size:16px; }
  .faq-list details p { padding-right:0; }
  .final-cta { display:block; padding-block:34px; }
  .final-cta h2 { font-size:39px; }
  .final-cta p { font-size:27px; }
  .final-cta .contact-actions { min-width:0; margin-top:27px; }
  .other-section { grid-template-columns:1fr; gap:28px; padding-top:52px; padding-bottom:48px; }
  .other-section h2 { font-size:33px; }
  .other-section h2 br { display:none; }
  .other-section>div>p { max-width:none; margin-top:17px; }
  .small-card { max-width:none; }
  .card-body { padding:22px; }
  .card-title-row h2 { font-size:32px; }
  .card-bottom strong { font-size:27px; }
  .mobile-dock { position:fixed; bottom:0; left:0; right:0; z-index:20; display:flex; align-items:center; gap:8px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #5a6165; background:#111518f7; backdrop-filter:blur(12px); }
  .mobile-dock .button { font-size:12px; padding:10px 12px; min-height:46px; gap:7px; }
  .mobile-dock .icon { width:17px; height:17px; }
  .dock-price { margin-right:auto; line-height:1.4; }
  .dock-price strong { font-family:var(--font-display); font-size:20px; font-weight:500; }
  .dock-price span { display:block; color:var(--accent); font-size:11px; }
  body[data-page=explorer],body[data-page=klr] { padding-bottom:84px; }
  .contact-dialog { width:100%; height:100dvh; max-height:100dvh; max-width:100%; margin:0; border:0; border-radius:0; }
  .dialog-shell { display:block; min-height:100%; }
  .form-aside { display:none; }
  .form-main { max-width:590px; margin:auto; min-height:100%; padding:27px 23px 35px; }
  .form-close { right:14px; top:12px; }
  .form-progress { margin-bottom:32px; }
  .form-step h2 { font-size:32px; }
  .vehicle-option { padding:11px; min-height:84px; }
  .form-navigation { margin-top:28px; }
  .form-navigation .button { min-height:52px; }
  .choice { padding:16px 13px; }
  .time-option { padding-block:16px; }
  .lightbox { width:100%; height:100dvh; max-width:100%; margin:0; border:0; border-radius:0; padding:13px 10px; }
  .lightbox-content { gap:0; position:relative; }
  .lightbox-content img { width:100%; }
  .lightbox-content .icon-button { position:absolute; top:50%; z-index:1; background:#101518d9; }
  .lightbox-content #photo-prev { left:0; }
  .lightbox-content #photo-next { right:0; }
  .lightbox-top { padding-inline:7px; }
  .lightbox>p { font-size:12px; }
  .legal { padding-top:37px; padding-bottom:50px; }
  .legal h1 { font-size:43px; }
  .legal h2 { font-size:24px; }
}
@media(max-width:380px) {
  .wrap { padding-inline:17px; }
  .site-header { padding-inline:17px; }
  .site-header nav { gap:12px; font-size:11px; }
  .wordmark { font-size:9px; }
  .home-hero h1 { font-size:37px; }
  .hero-model-links { flex-direction:column; }
  .hero-model-links a { padding:10px 14px; }
  .hero-model-links a>span { font-size:12px; }
  .collection-heading { display:block; }
  .collection-heading>span:last-child { display:block; margin-top:7px; }
  .equipment-grid { grid-template-columns:1fr; gap:24px; }
  .detail-heading h1 { font-size:42px; gap:12px; }
  .hero-details h2 { font-size:31px; }
  .mobile-dock { padding-inline:10px; gap:6px; }
  .mobile-dock .button { font-size:11px; padding-inline:9px; }
  .dock-price strong { font-size:18px; }
  .card-body { padding:19px; }
  .card-title-row h2 { font-size:29px; }
  .card-cta { font-size:12px; }
  .form-main { padding-inline:18px; }
  .form-step h2 { font-size:28px; }
  .vehicle-option { gap:9px; }
  .vehicle-option>img,.both-symbol { width:52px; }
  .vehicle-option strong { font-size:13px; }
  .field-grid { grid-template-columns:1fr; }
  .field-full { grid-column:auto; }
  .time-option { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
