/* Extensión visual: conserva la paleta, tipografía y componentes originales. */
html { scroll-padding-top:100px; color-scheme:light; }
html[data-theme="dark"] { color-scheme:dark; }
:focus-visible { outline:3px solid var(--yellow); outline-offset:5px; }
.sr-only { position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.skip-link { position:fixed;left:20px;top:-100px;z-index:1000;background:var(--bg-900);padding:12px 20px;border:2px solid var(--vinotinto);border-radius:12px; }
.skip-link:focus { top:14px; }
.theme-picker select { font:600 13px var(--font-body);background:var(--bg-800);color:var(--text);border:1px solid var(--border-hi);border-radius:100px;padding:11px 9px;max-width:128px;cursor:pointer; }
.hero__visual { position:relative;min-height:540px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border); }
.hero__photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%; }
.hero__visual::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,6,5,.12) 30%,rgba(13,6,5,.74));pointer-events:none; }
.hero__photo-label { position:absolute;z-index:2;top:24px;left:24px;right:24px;width:fit-content;padding:9px 16px;border-radius:100px;background:rgba(13,6,5,.78);color:#fff;font-size:12px;letter-spacing:.02em; }
.hero__visual .radar { position:absolute;z-index:2;width:210px;height:210px;bottom:24px;left:24px;background:rgba(13,6,5,.68);backdrop-filter:blur(8px);border-radius:50%;color:#fff; }
.hero__visual .radar__center { width:68px;height:68px;background:#140807;border-color:rgba(255,255,255,.15); }
.hero__visual .radar__icon { width:48px; }
.hero__visual .radar__ring { border-color:rgba(255,255,255,.23); }
.hero__visual .radar__tag { color:#fff;background:#26120f;font-size:10px;padding:6px 8px; }
.hero__visual .radar__tag:last-child { right:-32px !important; }
.hero__visual .radar__tag-dot { flex-shrink:0; }
.product-card { padding-top:0;background:var(--bg-900); }
.product-card__photo { width:calc(100% + 56px);max-width:none;height:176px;object-fit:cover;margin:0 -28px 24px;position:relative;z-index:1; }
.product-card__icon { width:44px;height:44px;margin-bottom:16px; }
.product-card__photo[src*="vehiculo"] { object-position:50% 48%; }
.product-card__photo[src*="flotas"] { object-position:50% 65%; }
.product-card__photo[src*="familia"] { object-position:50% 55%; }
.product-card__cta { min-height:44px;position:relative; }
.emergency, [data-theme="light"] .emergency { background:linear-gradient(90deg,rgba(20,8,7,.96),rgba(20,8,7,.80)),url('../img/ruta.webp') center 48% / cover;color:#fff; }
.emergency p { color:#e8ded9; }
.emergency__label,[data-theme="light"] .emergency__label { color:#edb755; }
.form-note { color:var(--text-dim);font-size:12px;margin-top:16px;line-height:1.7; }
.form-note a { text-decoration:underline;text-underline-offset:3px; }
.contact__link { overflow-wrap:anywhere; }
[data-theme="light"] .eyebrow { color:#8a5c08; }
[data-theme="light"] .hero__trust-item span,[data-theme="light"] .footer__bottom { color:#665650; }
.reveal { opacity:1;transform:none; }
.page-hero { padding:152px 0 76px;background:var(--bg-800); }
.breadcrumbs { display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-dim);margin-bottom:28px; }
.breadcrumbs a { text-decoration:underline;text-underline-offset:4px; }
.page-hero__grid { display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center; }
.page-hero h1 { font-size:clamp(36px,5vw,64px);max-width:760px;margin-bottom:24px; }
.page-hero__lead { font-size:18px;color:var(--text-dim);max-width:650px; }
.page-hero__actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:30px; }
.page-hero__image { width:100%;height:420px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-card); }
.photo-note { font-size:11px;color:var(--text-dim);margin-top:12px; }
.content-section { padding:80px 0; }
.content-section--tint { background:var(--bg-800); }
.content-section h2 { font-size:clamp(28px,4vw,40px);margin-bottom:22px; }
.detail-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.detail-card { padding:30px;border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:var(--bg-900); }
.detail-card__number { display:block;color:var(--yellow);font-family:var(--font-display);font-size:14px;margin-bottom:20px; }
[data-theme="light"] .detail-card__number { color:#8a5c08; }
.detail-card h3 { font-size:22px;margin-bottom:14px; }
.detail-card p,.prose p,.prose li { color:var(--text-dim); }
.section-intro { max-width:720px;color:var(--text-dim);margin-bottom:30px; }
.detail-cta { display:flex;align-items:center;justify-content:space-between;gap:30px; }
.detail-cta p { color:var(--text-dim);max-width:650px; }
.prose { max-width:820px; }
.prose h2 { font-size:26px;margin:36px 0 14px; }
.prose p { margin:0 0 18px; }
.prose ul,.prose ol { padding-left:24px;margin:16px 0 24px; }
.prose li { margin-bottom:10px; }
.prose a { text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere; }
.notice { padding:20px 24px;border:1px solid var(--border-hi);border-left:4px solid var(--yellow);border-radius:12px;color:var(--text-dim);margin-bottom:30px; }
.notice strong { color:var(--text); }
.faq { max-width:900px; }
.faq details { border-bottom:1px solid var(--border-hi);padding:22px 0; }
.faq summary { cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.4;padding-right:10px; }
.faq details p { padding:18px 0 0;color:var(--text-dim);max-width:760px; }
.contact-method { text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere; }
@media (max-width:1100px) { .header__inner { gap:14px; }.nav__link { padding:8px 10px; }.page-hero__grid { gap:32px; } }
@media (max-width:1024px) { .hero__visual { max-width:640px;width:100%;margin-inline:auto;min-height:480px; }.hero__photo { object-position:50% 50%; }.detail-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .page-hero { padding:125px 0 54px; }.page-hero__grid { grid-template-columns:1fr; }.page-hero__image { height:320px; }.detail-grid { grid-template-columns:1fr; }.content-section { padding:56px 0; }.detail-cta { flex-direction:column;align-items:flex-start; }.hero__visual { min-height:420px; }.hero__actions { flex-wrap:wrap; }.hero__actions .btn { white-space:normal; }.hero__trust { flex-wrap:wrap; }.hero__title { font-size:clamp(36px,8.8vw,56px); }.hero { padding-top:125px; }.theme-picker select { max-width:112px;font-size:12px; }.logo__img { height:34px; }.hero__visual .radar { width:180px;height:180px; }.products__grid { grid-template-columns:1fr; }.product-card__photo { height:220px; } }
@media (max-width:380px) { .container { padding-inline:18px; }.logo__img { height:29px; }.header__inner { gap:8px; }.header__actions { gap:6px; }.theme-picker select { max-width:104px;padding-inline:7px; }.btn--emergency { padding:18px 22px;font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .cursor-glow { display:none; }.tech__map { display:none; } }

/* Contacto: campo antispam fuera del flujo y estado de envío visible. */
.form-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.contact__form [type="submit"]:disabled { opacity:.65;cursor:wait;transform:none; }
.form-status { overflow-wrap:anywhere; }
