:root {
    color-scheme: light;
    --paper: #f7f5f1;
    --paper-deep: #eeeae3;
    --white: #ffffff;
    --black: #08090a;
    --ink: #121416;
    --graphite: #34383d;
    --muted: #6d7278;
    --silver: #cfd2d4;
    --line: #dedbd5;
    --warm: #e8dfd2;
    --success: #285d44;
    --container: 1440px;
    --hero-autoplay-duration: 10s;
}

/* --------------------------------------------------------------------------
   Cierre de reunión 2026-08-01: destacados, catálogo y consignación
   Estas reglas finales neutralizan variantes históricas sin tocar los respaldos.
   -------------------------------------------------------------------------- */

@media (min-width: 1181px) {
    .main-nav {
        gap: clamp(16px, 1.35vw, 28px);
    }

    .main-nav a {
        font-size: 11px;
        white-space: nowrap;
    }

    .header-cta {
        min-width: 146px;
    }
}

.featured-showcase {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.8fr);
    align-items: stretch;
    gap: clamp(24px, 3.5vw, 58px);
    padding: clamp(28px, 4vw, 62px);
    overflow: hidden;
}

.featured-showcase .featured-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 430px;
}

.featured-showcase .featured-copy > p:not(.featured-eyebrow) {
    max-width: 36ch;
}

.featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: clamp(22px, 3vw, 34px);
}

.featured-actions .button {
    min-height: 50px;
    padding-inline: 18px;
}

.featured-find {
    color: #171006;
    border: 1px solid rgba(255, 232, 142, .72);
    background: linear-gradient(135deg, #fff2a8 0%, #c89016 46%, #fff1a2 72%, #a66c0b 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 12px 28px rgba(200, 144, 22, .18);
}

.featured-find .ui-icon {
    filter: brightness(0);
}

.featured-find:hover,
.featured-find:focus-visible {
    color: #080706;
    border-color: #fff0a2;
    background: linear-gradient(135deg, #fff7c8 0%, #daa92f 44%, #fff4b2 72%, #b4760a 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82), 0 16px 34px rgba(200, 144, 22, .26);
}

.featured-carousel-shell {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.featured-carousel-viewport {
    overflow: hidden;
    border-radius: 24px;
}

.featured-carousel-track {
    --featured-visible: 3;
    display: flex;
    align-items: stretch;
    transition: transform .9s cubic-bezier(.22, 1, .36, 1);
    will-change: transform;
}

.featured-carousel-card {
    position: relative;
    flex: 0 0 calc(100% / var(--featured-visible));
    min-width: 0;
    min-height: clamp(350px, 34vw, 500px);
    overflow: hidden;
    color: #fff;
    border-right: 10px solid transparent;
    background: #15191d;
    isolation: isolate;
}

.featured-carousel-card:first-child {
    border-radius: 24px 0 0 24px;
}

.featured-carousel-card:last-child {
    border-radius: 0 24px 24px 0;
}

.featured-carousel-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .7s ease, transform 1.2s cubic-bezier(.22, 1, .36, 1);
}

.featured-carousel-card::after {
    content: "";
    position: absolute;
    inset: 0 10px 0 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2, 5, 8, .03) 30%, rgba(2, 5, 8, .9) 100%);
    pointer-events: none;
}

.featured-carousel-card:hover > img,
.featured-carousel-card:focus-visible > img {
    transform: scale(1.025);
    filter: saturate(1.06) contrast(1.03);
}

.featured-carousel-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 12px;
    border-radius: 999px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .32);
    background: linear-gradient(135deg, #050505, #54575b 54%, #090909);
    box-shadow: 0 9px 22px rgba(0, 0, 0, .24);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.featured-carousel-badge[data-ribbon-color="plateado"] {
    color: #111;
    background: linear-gradient(135deg, #f7f8f8, #aeb3b7 52%, #fff);
}

.featured-carousel-badge[data-ribbon-color="dorado"] {
    color: #171006;
    background: linear-gradient(135deg, #fff2a8, #c89016 46%, #fff1a2 72%, #a66c0b);
}

.featured-carousel-copy {
    position: absolute;
    left: 22px;
    right: 28px;
    bottom: 22px;
    z-index: 2;
    display: grid;
    gap: 7px;
}

.featured-carousel-copy small,
.featured-carousel-copy em {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.featured-carousel-copy strong {
    color: #fff;
    font-size: clamp(18px, 1.5vw, 25px);
    line-height: 1.08;
}

.featured-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.featured-carousel-controls > button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    cursor: pointer;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

.featured-carousel-controls > button:first-child img {
    transform: rotate(180deg);
}

.featured-carousel-controls > button:hover,
.featured-carousel-controls > button:focus-visible {
    color: #111;
    border-color: #fff;
    background: #fff;
}

.featured-carousel-counter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 11px;
}

.featured-carousel-counter i {
    width: 34px;
    height: 1px;
    background: rgba(255, 255, 255, .38);
}

.featured-carousel-counter small {
    color: rgba(255, 255, 255, .56);
}

.featured-carousel-dots {
    display: flex;
    gap: 6px;
}

.featured-carousel-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .34);
    cursor: pointer;
    transition: width .35s ease, background-color .35s ease;
}

.featured-carousel-dots button.is-active {
    width: 26px;
    background: #fff;
}

.vehicle-photo[role="link"] {
    cursor: pointer;
}

.vehicle-photo[role="link"]:focus-visible {
    outline: 3px solid #111;
    outline-offset: 4px;
}

.vehicle-card .demo-badge {
    min-width: 64px;
    min-height: 48px;
    display: grid;
    place-items: center;
    padding: 10px 14px;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    background: linear-gradient(135deg, #050505, #4a4d50 48%, #080808) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important;
    font-size: 14px;
}

.vehicle-corner-ribbon,
.vehicle-corner-ribbon[data-ribbon-color="negro"] {
    color: #fff;
    background: linear-gradient(135deg, #050505 0%, #5a5d61 47%, #090909 75%, #3b3e41 100%);
}

.vehicle-card[data-ribbon-color="negro"] {
    --card-accent: #202327;
    --card-accent-soft: rgba(31, 34, 38, .12);
    --card-icon-color: #fff;
}

.vehicle-card[data-ribbon-color="negro"] .vehicle-specs img {
    filter: brightness(0) invert(1);
}

.vehicle-card[data-ribbon-color="plateado"] {
    --card-icon-color: #111;
}

.vehicle-card[data-ribbon-color="dorado"] {
    --card-icon-color: #111;
}

.vehicle-model-highlight {
    color: var(--accent-title, inherit);
}

@media (max-width: 980px) {
    .featured-showcase {
        grid-template-columns: 1fr;
    }

    .featured-showcase .featured-copy,
    .featured-showcase .featured-copy > p:not(.featured-eyebrow) {
        max-width: 680px;
    }
}

@media (max-width: 719px) {
    .featured-showcase {
        padding: 26px 18px;
        border-radius: 22px;
    }

    .featured-actions,
    .featured-actions .button {
        width: 100%;
    }

    .featured-carousel-card {
        min-height: 430px;
        border-right-width: 0;
        border-radius: 18px !important;
    }

    .featured-carousel-card::after {
        inset-right: 0;
    }

    .featured-carousel-controls {
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    .featured-carousel-track,
    .featured-carousel-card > img {
        transition: none;
    }
}

/* Restauración de categorías comerciales y sección institucional · 2026-08-02 */
.vehicle-corner-ribbon[data-ribbon-color="plateado"] {
    color: #121518;
    background: linear-gradient(135deg, #fff 0%, #c7ccd0 28%, #f8f9fa 52%, #9ba2a8 76%, #eef0f1 100%);
}

.vehicle-corner-ribbon[data-ribbon-color="dorado"] {
    color: #211500;
    background: linear-gradient(135deg, #fff6bd 0%, #d3a02f 27%, #ffefa1 53%, #9f6c13 78%, #f4d873 100%);
}

.vehicle-card[data-ribbon-color="plateado"] .vehicle-model-highlight {
    color: #60686e;
}

.vehicle-card[data-ribbon-color="dorado"] .vehicle-model-highlight {
    color: #bd8008;
}

.featured-carousel-card[data-ribbon-color="plateado"] .vehicle-model-highlight {
    color: #d5dadd;
}

.featured-carousel-card[data-ribbon-color="dorado"] .vehicle-model-highlight {
    color: #efc85b;
}

.company-section {
    position: relative;
    overflow: hidden;
    color: #f7f8f9;
    background:
        radial-gradient(circle at 84% 18%, rgba(255, 255, 255, .09), transparent 24%),
        linear-gradient(135deg, #0a0c0e 0%, #171b1f 58%, #08090a 100%);
}

.company-section::before {
    position: absolute;
    inset: 0;
    opacity: .17;
    background-image:
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, #000, transparent 82%);
    content: "";
    pointer-events: none;
}

.company-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(36px, 6vw, 90px);
    align-items: center;
}

.company-media {
    position: relative;
    min-height: clamp(430px, 42vw, 630px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 28px;
    box-shadow: 0 30px 75px rgba(0, 0, 0, .34);
}

.company-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(2, 4, 6, .88));
    content: "";
    pointer-events: none;
}

.company-media > img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: filter .7s ease, transform 1.2s cubic-bezier(.22, 1, .36, 1);
}

.company-media:hover > img {
    filter: saturate(1.05) contrast(1.03);
    transform: scale(1.025);
}

.company-media > span {
    position: absolute;
    right: 24px;
    bottom: 22px;
    left: 24px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.company-copy .section-kicker {
    color: rgba(255, 255, 255, .68);
}

.company-copy .section-kicker .ui-icon {
    filter: brightness(0) invert(1);
}

.company-copy h2 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 4.8vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.company-copy > p:not(.section-kicker) {
    max-width: 660px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 1.02rem;
    line-height: 1.75;
}

.company-services {
    display: grid;
    gap: 10px;
    margin-top: 30px;
}

.company-services > span {
    display: grid;
    grid-template-columns: 40px 1fr;
    grid-template-rows: auto auto;
    gap: 3px 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .055);
    transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.company-services > span:hover {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .085);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
}

.company-services img {
    grid-row: 1 / 3;
    width: 40px;
    height: 40px;
    padding: 11px;
    border-radius: 12px;
    background: #fff;
    filter: brightness(0);
}

.company-services strong {
    color: #fff;
    font-size: .9rem;
}

.company-services small {
    color: rgba(255, 255, 255, .55);
    font-size: .74rem;
}

.company-action {
    margin-top: 26px;
    color: #111;
    border-color: #fff;
    background: #fff;
}

.company-action .ui-icon {
    filter: brightness(0);
}

.company-action:hover,
.company-action:focus-visible {
    color: #111;
    background: #eef0f1;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
}

@media (max-width: 980px) {
    .company-layout {
        grid-template-columns: 1fr;
    }

    .company-media {
        min-height: min(70vw, 520px);
    }
}

@media (max-width: 580px) {
    .company-media {
        min-height: 340px;
        border-radius: 20px;
    }

    .company-copy h2 {
        font-size: clamp(2.35rem, 13vw, 3.6rem);
    }

    .company-action {
        width: 100%;
    }
}

/* ==========================================================================
   Catálogo real, destacados del mes y filtros combinados
   ========================================================================== */

.catalog-heading {
    align-items: flex-end;
    margin-bottom: 2rem;
}

.catalog-heading > div {
    max-width: 780px;
}

.catalog-photo-seal {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .72rem 1rem;
    border: 1px solid #d7d9da;
    border-radius: 999px;
    color: #4b5157;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 30px rgba(10, 13, 15, .05);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.featured-month {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
    min-height: 510px;
    margin-bottom: 2rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 18% 12%, rgba(210, 217, 223, .16), transparent 28%),
        linear-gradient(135deg, #0b0e11, #15191d 54%, #090b0d);
    box-shadow: 0 34px 90px rgba(7, 9, 11, .2);
}

.featured-month::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    mask-image: linear-gradient(90deg, #000, transparent 70%);
    pointer-events: none;
}

.featured-copy {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    padding: clamp(2rem, 4vw, 4rem);
}

.featured-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem;
    color: #e1e5e8;
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.featured-copy h3 {
    max-width: 510px;
    margin: 0;
    font-size: clamp(2.45rem, 4.1vw, 4.7rem);
    font-weight: 600;
    letter-spacing: -.055em;
    line-height: .94;
}

.featured-copy > p:not(.featured-eyebrow):not(.featured-pending) {
    max-width: 550px;
    margin: 1.35rem 0 0;
    color: #c7ccd0;
    font-size: .96rem;
    line-height: 1.7;
}

.featured-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 1.45rem 0 0;
    padding: 0;
    list-style: none;
}

.featured-benefits li {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .72rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    color: #edf0f2;
    background: rgba(255, 255, 255, .055);
    font-size: .67rem;
    font-weight: 750;
}

.featured-pending {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 1.15rem 0 0;
    color: #aeb5ba;
    font-size: .7rem;
    line-height: 1.5;
}

.featured-action {
    margin-top: 1.5rem;
}

.featured-gallery {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    grid-template-rows: 1fr 1fr;
    gap: .55rem;
    min-width: 0;
    padding: .7rem .7rem .7rem 0;
}

/* Mantiene estable la vitrina durante la rotación, aunque cambie la proporción
   original de las fotografías de cada vehículo. */
@media (min-width: 1121px) {
    .featured-gallery {
        aspect-ratio: 1.066 / 1;
        min-height: 0;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    }

    .featured-photo {
        height: 100%;
    }
}

.featured-photo {
    --featured-accent: #252a2e;
    --featured-gradient: linear-gradient(145deg, #656c71 0%, #111417 34%, #3c4247 61%, #050607 100%);
    --featured-ink: #fff;
    --featured-title-accent: #f4f6f7;
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 11px;
    background: #1a1d20;
    cursor: pointer;
}

.featured-photo[data-featured-tone="plateado"] {
    --featured-accent: #aeb5ba;
    --featured-gradient: linear-gradient(145deg, #fff 3%, #c7ccd0 34%, #f8f9fa 62%, #989fa5 100%);
    --featured-ink: #111417;
    --featured-title-accent: #d5dadd;
}

.featured-photo[data-featured-tone="dorado"] {
    --featured-accent: #c3942f;
    --featured-gradient: linear-gradient(145deg, #fff6bd 0%, #d3a02f 40%, #ffefa1 66%, #a06c12 100%);
    --featured-ink: #211500;
    --featured-title-accent: #efc85b;
}

.featured-photo:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .92);
    outline-offset: -4px;
}

.featured-photo-main {
    grid-row: 1 / 3;
}

.featured-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 46%;
    filter: saturate(.94) contrast(1.02);
    transition: filter .45s ease;
}

.featured-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(3, 5, 7, .92), transparent 52%);
    content: "";
    pointer-events: none;
}

.featured-photo figcaption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 2;
    display: grid;
    gap: .12rem;
}

.featured-photo .featured-photo-type {
    display: flex;
    min-height: 22px;
    flex-wrap: wrap;
    align-items: center;
    gap: .42rem;
    margin-bottom: .16rem;
}

.featured-photo .featured-photo-type .vehicle-category-chip {
    display: inline-flex;
    min-height: 21px;
    align-items: center;
    padding: .25rem .53rem;
    border-radius: 999px;
    color: var(--featured-ink);
    background: var(--featured-gradient);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .7),
        inset 0 -1px 1px rgba(0, 0, 0, .2),
        0 4px 12px rgba(0, 0, 0, .16);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.featured-photo .featured-photo-type .vehicle-transmission-label {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #eef1f3;
    font-size: .52rem;
    font-weight: 850;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.featured-photo .featured-photo-type .vehicle-transmission-label::before {
    width: 1px;
    height: 14px;
    background: color-mix(in srgb, var(--featured-accent) 72%, #fff);
    content: "";
}

.featured-photo figcaption strong {
    color: #fff;
    font-size: 1rem;
    line-height: 1.12;
}

.featured-photo figcaption .vehicle-model-highlight {
    color: var(--featured-title-accent);
}

.featured-photo figcaption small {
    color: #aeb5ba;
    font-size: .64rem;
}

.catalog-filters {
    display: grid;
    grid-template-columns: minmax(170px, 1.1fr) repeat(3, minmax(160px, 1fr)) auto;
    align-items: end;
    gap: .8rem;
    margin-bottom: 1rem;
    padding: 1.1rem;
    border: 1px solid #dedfdf;
    border-radius: 13px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 16px 45px rgba(10, 13, 15, .055);
    backdrop-filter: blur(18px);
}

.catalog-filters-heading {
    align-self: center;
}

.catalog-filters-heading span {
    display: flex;
    align-items: center;
    gap: .48rem;
    color: #111417;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalog-filters-heading small {
    display: block;
    margin-top: .36rem;
    color: #777d82;
    font-size: .67rem;
}

.catalog-filter-field {
    display: grid;
    gap: .42rem;
    color: #4c5257;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalog-select-wrap {
    position: relative;
    display: block;
}

.catalog-select-wrap::after {
    position: absolute;
    top: 50%;
    right: .9rem;
    color: #252a2e;
    content: "⌄";
    font-size: 1rem;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-62%);
}

.catalog-filter-field select {
    width: 100%;
    height: 46px;
    padding: 0 2.35rem 0 .9rem;
    border: 1px solid #d2d4d5;
    border-radius: 8px;
    color: #171a1d;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(10, 12, 14, .025);
    cursor: pointer;
    font: inherit;
    font-size: .72rem;
    letter-spacing: .01em;
    text-transform: none;
    appearance: none;
    transition: border-color .24s ease, box-shadow .24s ease, background-color .24s ease;
}

.catalog-filter-field select:hover {
    border-color: #8f969b;
}

.catalog-filter-field select:focus-visible {
    border-color: #111417;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(17, 20, 23, .09);
}

.catalog-filter-reset,
.catalog-empty button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    height: 46px;
    padding: 0 1rem;
    border: 1px solid #1b1f23;
    border-radius: 8px;
    color: #fff;
    background: #111417;
    cursor: pointer;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.catalog-filter-reset .ui-icon {
    filter: brightness(0) invert(1);
}

.catalog-filter-reset:hover,
.catalog-filter-reset:focus-visible,
.catalog-empty button:hover,
.catalog-empty button:focus-visible {
    border-color: #343a3f;
    background: #282d31;
    box-shadow: 0 10px 26px rgba(8, 10, 12, .15);
}

.catalog-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 44px;
    margin-bottom: 1rem;
    color: #646a70;
    font-size: .73rem;
}

.catalog-results-summary p {
    margin: 0;
}

.catalog-results-summary #filter-status {
    color: #272c30;
    font-weight: 750;
}

.catalog-data-note {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    text-align: right;
}

.catalog-empty {
    margin: 1.25rem 0;
    padding: 2.6rem 1rem;
    border: 1px dashed #c8cbcd;
    border-radius: 12px;
    text-align: center;
    background: rgba(255, 255, 255, .65);
}

.catalog-empty[hidden] {
    display: none;
}

.catalog-empty > .ui-icon {
    width: 24px;
    height: 24px;
    margin-bottom: .75rem;
    opacity: .65;
}

.catalog-empty strong {
    display: block;
    color: #171a1d;
    font-size: 1.05rem;
}

.catalog-empty p {
    max-width: 540px;
    margin: .55rem auto 1rem;
    color: #686e73;
    font-size: .8rem;
}

.vehicle-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vehicle-photo {
    aspect-ratio: 4 / 3;
}

.vehicle-photo img {
    object-position: center 46%;
}

.vehicle-specs {
    display: grid;
    gap: .4rem;
    min-height: 3.2rem;
    margin-bottom: 1rem;
}

.vehicle-specs li {
    line-height: 1.35;
}

.vehicle-footer {
    align-items: flex-end;
}

.vehicle-footer span {
    max-width: 105px;
    line-height: 1.35;
}

.sell-form .field-control select {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: .85rem 2.4rem .85rem 1rem;
    border: 1px solid #d3d6d8;
    border-radius: 9px;
    color: #1b1f23;
    background: rgba(255, 255, 255, .76);
    box-shadow: inset 0 1px 2px rgba(16, 20, 23, .025);
    font: inherit;
    appearance: auto;
    transition: border-color .25s ease, box-shadow .3s ease, background .3s ease;
}

.sell-form .field-control select:hover {
    border-color: #9ca3a9;
    background: #fff;
}

.sell-form .field-control select:focus {
    border-color: #15191d;
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(19, 23, 27, .08), 0 14px 34px rgba(17, 21, 24, .08);
}

.vehicle-dialog > img {
    max-height: min(58vh, 560px);
    object-position: center 45%;
}

@media (max-width: 1120px) {
    .featured-month {
        grid-template-columns: 1fr;
    }

    .featured-gallery {
        min-height: 480px;
        padding: 0 .7rem .7rem;
    }

    .catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-filters-heading {
        grid-column: 1 / 3;
    }

    .catalog-filter-reset {
        width: 100%;
    }

    .vehicle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .catalog-heading {
        align-items: flex-start;
    }

    .catalog-photo-seal {
        align-self: flex-start;
    }

    .featured-month {
        min-height: 0;
        border-radius: 14px;
    }

    .featured-copy {
        padding: 2rem 1.3rem;
    }

    .featured-copy h3 {
        font-size: clamp(2.35rem, 13vw, 3.35rem);
    }

    .featured-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 310px 180px;
        min-height: 0;
        padding: 0 .45rem .45rem;
    }

    .featured-photo-main {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .catalog-filters {
        grid-template-columns: 1fr;
        gap: .75rem;
        padding: 1rem;
    }

    .catalog-filters-heading {
        grid-column: auto;
        margin-bottom: .25rem;
    }

    .catalog-results-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: .4rem;
    }

    .catalog-data-note {
        text-align: left;
    }

    .vehicle-grid {
        grid-template-columns: 1fr;
    }

    .vehicle-footer span {
        max-width: 130px;
    }
}

@media (max-width: 420px) {
    .featured-benefits {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .featured-benefits li {
        justify-content: flex-start;
    }

    .featured-gallery {
        grid-template-rows: 280px 150px;
    }

    .featured-photo figcaption {
        right: .75rem;
        bottom: .75rem;
        left: .75rem;
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 112px;
    overflow-x: hidden;
    overflow-x: clip;
}

html.js:not(.site-ready):not(.loader-timeout),
html.js:not(.site-ready):not(.loader-timeout) body {
    overflow: hidden;
}

body {
    margin: 0;
    overflow-x: hidden;
    overflow-x: clip;
    color: var(--ink);
    background: var(--paper);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.menu-open {
    overflow: hidden;
}

button,
input,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
}

img {
    display: block;
    max-width: 100%;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    border: 0;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.site-loader {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: var(--black);
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .95), transparent 27rem),
        var(--paper);
    opacity: 1;
    visibility: visible;
    transition: opacity .45s ease, visibility .45s ease;
}

.js .site-loader {
    display: flex;
}

.js.site-ready .site-loader,
.js.loader-timeout .site-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.js.loader-timeout .site-loader {
    transition: none;
}

.loader-inner {
    display: grid;
    width: min(310px, 72vw);
    place-items: center;
    text-align: center;
}

.loader-inner img {
    width: 108px;
    height: 108px;
    border-radius: 9px;
    object-fit: cover;
    box-shadow: 0 18px 50px rgba(8, 9, 10, .14);
}

.loader-wordmark {
    display: flex;
    flex-direction: column;
    margin-top: 1.15rem;
    font-size: 1.2rem;
    font-weight: 850;
    letter-spacing: .24em;
    line-height: 1;
}

.loader-wordmark small {
    margin-top: .45rem;
    font-size: .65rem;
    letter-spacing: .66em;
    transform: translateX(.32em);
}

.loader-line {
    position: relative;
    width: 100%;
    height: 2px;
    overflow: hidden;
    margin-top: 1.6rem;
    background: #d8d4cc;
}

.loader-line i {
    position: absolute;
    inset: 0;
    background: var(--black);
    transform: translateX(-100%);
    animation: loader-progress 1.15s cubic-bezier(.65, 0, .35, 1) infinite;
}

@keyframes loader-progress {
    0% { transform: translateX(-100%); }
    55% { transform: translateX(0); }
    100% { transform: translateX(100%); }
}

.skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 200;
    padding: .8rem 1rem;
    color: var(--white);
    background: var(--black);
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

.container {
    width: min(calc(100% - 3rem), var(--container));
    margin-inline: auto;
}

.preview-ribbon {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: .35rem 1rem;
    color: #eee;
    background: var(--black);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-align: center;
    text-transform: uppercase;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(12, 14, 16, .1);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(16px);
    transition: background .25s ease, box-shadow .25s ease;
}

.site-header.is-scrolled {
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 12px 35px rgba(8, 9, 10, .09);
}

.header-inner {
    display: grid;
    width: min(calc(100% - 3rem), var(--container));
    min-height: 86px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    margin-inline: auto;
    transition: min-height .25s ease;
}

.site-header.is-scrolled .header-inner {
    min-height: 76px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: .72rem;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    width: 56px;
    height: 56px;
    overflow: hidden;
    place-items: center;
    border-radius: 5px;
    background: var(--black);
}

.brand-mark img {
    width: 56px;
    height: 56px;
    object-fit: cover;
}

.brand-name {
    display: flex;
    flex-direction: column;
    color: var(--black);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1;
}

.brand-name small {
    margin-top: .22rem;
    font-size: .68rem;
    letter-spacing: .54em;
}

.main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.2rem, 2.8vw, 3rem);
}

.main-nav a {
    position: relative;
    padding: 1rem 0;
    color: #282b2f;
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}

.main-nav a::after {
    position: absolute;
    right: 0;
    bottom: .68rem;
    left: 0;
    height: 1px;
    background: var(--ink);
    content: "";
    transform: scaleX(0);
    transition: transform .25s ease;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav a.active::after {
    transform: scaleX(1);
}

.header-cta,
.button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: .85rem 1.65rem;
    border: 1px solid var(--black);
    border-radius: 5px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.header-cta {
    color: var(--white);
    background: var(--black);
}

.header-cta:hover,
.button-dark:hover {
    color: var(--black);
    background: var(--white);
    transform: translateY(-2px);
}

.button-dark {
    color: var(--white);
    background: var(--black);
}

.button-light {
    color: var(--black);
    background: rgba(255, 255, 255, .65);
}

.button-light:hover {
    color: var(--white);
    background: var(--black);
    transform: translateY(-2px);
}

.menu-toggle {
    display: none;
}

.hero {
    position: relative;
    display: flex;
    min-height: min(760px, calc(100vh - 116px));
    align-items: center;
    overflow: hidden;
    background: #ede7dc;
}

.hero-media,
.hero-overlay {
    position: absolute;
    inset: 0;
}

.hero-media {
    background-image: url("hero-daire-autos.webp");
    background-position: center;
    background-size: cover;
}

.hero-overlay {
    background:
        linear-gradient(90deg, rgba(247, 243, 236, .98) 0%, rgba(247, 243, 236, .91) 29%, rgba(247, 243, 236, .38) 49%, rgba(247, 243, 236, 0) 70%),
        linear-gradient(0deg, rgba(0, 0, 0, .06), transparent 35%);
}

.hero-content {
    position: relative;
    z-index: 2;
    padding-block: 5rem;
}

.eyebrow,
.section-kicker {
    margin: 0 0 1rem;
    color: #60656b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.hero h1 {
    max-width: 620px;
    margin: 0;
    color: #050607;
    font-size: clamp(3.2rem, 6vw, 6.5rem);
    font-weight: 600;
    letter-spacing: -.055em;
    line-height: .94;
    text-wrap: balance;
}

.hero-copy {
    max-width: 470px;
    margin: 1.8rem 0 0;
    color: #555b61;
    font-size: clamp(1rem, 1.6vw, 1.28rem);
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.hero-note {
    margin: 2rem 0 0;
    color: #696d72;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.trust-strip {
    border-top: 1px solid rgba(10, 12, 14, .08);
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .9);
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.trust-item {
    display: flex;
    min-height: 108px;
    align-items: center;
    gap: 1.25rem;
    padding: 1.3rem clamp(1.2rem, 3vw, 3rem);
}

.trust-item + .trust-item {
    border-left: 1px solid var(--line);
}

.trust-icon {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid #e1ded8;
    border-radius: 50%;
    background: #f5f3ef;
    font-size: 1.55rem;
}

.trust-person {
    position: relative;
}

.trust-person::before {
    position: absolute;
    top: 11px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--ink);
    border-radius: 50%;
    content: "";
}

.trust-person::after {
    position: absolute;
    bottom: 9px;
    width: 23px;
    height: 13px;
    border: 2px solid var(--ink);
    border-radius: 50% 50% 38% 38%;
    content: "";
}

.trust-item h2 {
    margin: 0;
    font-size: .86rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.trust-item p {
    margin: .35rem 0 0;
    color: var(--muted);
    font-size: .84rem;
}

.section {
    padding: clamp(5rem, 9vw, 9rem) 0;
}

.vehicles-section {
    background: #fbfaf8;
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.section-heading h2,
.sell-copy h2,
.about-panel h2,
.contact-layout h2 {
    margin: 0;
    color: var(--black);
    font-size: clamp(2.2rem, 4.2vw, 4.2rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.02;
}

.section-heading > div > p:last-child {
    margin: .8rem 0 0;
    color: var(--muted);
}

.filter-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

.filter-button {
    padding: .66rem 1rem;
    border: 1px solid #d7d4ce;
    border-radius: 999px;
    color: #41454a;
    background: transparent;
    cursor: pointer;
    font-size: .73rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.filter-button:hover,
.filter-button:focus-visible,
.filter-button.active {
    color: var(--white);
    border-color: var(--black);
    background: var(--black);
}

.vehicle-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}

.vehicle-card {
    overflow: hidden;
    border: 1px solid #e3e0da;
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 14px 45px rgba(12, 15, 18, .06);
    transition: opacity .2s ease, transform .25s ease, box-shadow .25s ease;
}

.vehicle-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 58px rgba(12, 15, 18, .12);
}

.vehicle-card[hidden] {
    display: none;
}

.js.reveal-ready [data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .7s cubic-bezier(.22, 1, .36, 1),
        transform .7s cubic-bezier(.22, 1, .36, 1);
}

.js.reveal-ready [data-reveal="left"] {
    transform: translateY(28px);
}

.js.reveal-ready [data-reveal="right"] {
    transform: translateY(28px);
}

.js.reveal-ready [data-reveal-delay="1"] {
    transition-delay: .06s;
}

.js.reveal-ready [data-reveal-delay="2"] {
    transition-delay: .12s;
}

.js.reveal-ready [data-reveal-delay="3"] {
    transition-delay: .18s;
}

.js.reveal-ready [data-reveal-delay="4"] {
    transition-delay: .24s;
}

.js.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

.vehicle-photo {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #ebe7e0;
}

.vehicle-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.vehicle-card:hover .vehicle-photo img {
    transform: scale(1.025);
}

.demo-badge {
    position: absolute;
    top: .9rem;
    left: .9rem;
    z-index: 2;
    padding: .42rem .65rem;
    border-radius: 3px;
    color: var(--white);
    background: rgba(8, 9, 10, .86);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.catalog-ribbon {
    max-width: calc(100% - 1.8rem);
    overflow: hidden;
    color: #fff;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vehicle-body {
    padding: 1.25rem;
}

.vehicle-type {
    margin: 0;
    color: #777c82;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.vehicle-body h3 {
    margin: .55rem 0;
    font-size: 1.25rem;
    letter-spacing: -.02em;
}

.vehicle-specs {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1rem;
    margin: .85rem 0 1.2rem;
    padding: 0;
    color: var(--muted);
    font-size: .78rem;
    list-style: none;
}

.vehicle-specs li + li::before {
    margin-right: 1rem;
    color: #bbb;
    content: "·";
}

.vehicle-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #ece9e4;
}

.vehicle-footer span {
    color: #8a8e93;
    font-size: .67rem;
}

.vehicle-link,
.text-link {
    padding: 0;
    border: 0;
    color: var(--black);
    background: transparent;
    cursor: pointer;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-decoration: underline;
    text-underline-offset: .3rem;
    text-transform: uppercase;
}

.sell-section {
    color: var(--white);
    background:
        radial-gradient(circle at 4% 5%, rgba(255, 255, 255, .09), transparent 24rem),
        linear-gradient(140deg, #08090a, #171a1e);
}

.sell-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 9rem);
}

.section-kicker-light {
    color: #bfc3c7;
}

.sell-copy h2,
.contact-layout h2 {
    color: var(--white);
}

.sell-copy > p:not(.section-kicker) {
    max-width: 620px;
    color: #bfc3c8;
    font-size: 1.06rem;
    line-height: 1.75;
}

.steps {
    margin: 2.6rem 0 0;
    padding: 0;
    list-style: none;
}

.steps li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.15rem 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.steps li > span {
    color: #858b92;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.steps strong,
.steps small {
    display: block;
}

.steps small {
    margin-top: .35rem;
    color: #989ea5;
}

.sell-form {
    padding: clamp(1.5rem, 4vw, 3rem);
    border-radius: 10px;
    color: var(--ink);
    background: var(--white);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
}

.form-heading {
    margin-bottom: 1.5rem;
}

.form-heading span {
    color: #747a80;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.form-heading h3 {
    margin: .45rem 0 0;
    font-size: 1.7rem;
}

.sell-form label {
    display: block;
    margin-top: 1rem;
    color: #3f444a;
    font-size: .76rem;
    font-weight: 700;
}

.sell-form input,
.sell-form textarea {
    width: 100%;
    margin-top: .45rem;
    padding: .92rem 1rem;
    border: 1px solid #d8d6d1;
    border-radius: 4px;
    color: var(--ink);
    background: #fbfaf8;
    outline: 0;
}

.sell-form textarea {
    resize: vertical;
}

.sell-form input:focus,
.sell-form textarea:focus {
    border-color: var(--black);
    box-shadow: 0 0 0 3px rgba(8, 9, 10, .08);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr .45fr;
    gap: .8rem;
}

.form-submit {
    width: 100%;
    margin-top: 1.35rem;
    cursor: pointer;
}

.form-status {
    margin: .8rem 0 0;
    color: #7e8389;
    font-size: .72rem;
    line-height: 1.5;
    text-align: center;
}

.form-status.success {
    color: var(--success);
    font-weight: 700;
}

.about-section {
    background: var(--paper);
}

.about-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(3rem, 8vw, 9rem);
}

.about-panel {
    align-self: center;
}

.about-panel > p:not(.section-kicker) {
    margin: 1.5rem 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.75;
}

.about-values {
    display: grid;
    gap: 1rem;
}

.about-values article {
    display: grid;
    grid-template-columns: 52px 180px 1fr;
    align-items: center;
    gap: 1.2rem;
    padding: 1.6rem;
    border: 1px solid #dedad4;
    border-radius: 7px;
    background: rgba(255, 255, 255, .62);
}

.about-values span {
    color: #94999f;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.about-values h3,
.about-values p {
    margin: 0;
}

.about-values p {
    color: var(--muted);
    line-height: 1.6;
}

.contact-section {
    padding: clamp(4rem, 7vw, 7rem) 0;
    color: var(--white);
    background: #111316;
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr minmax(360px, .7fr);
    align-items: center;
    gap: 4rem;
}

.contact-layout > div:first-child > p:last-child {
    color: #9ea4aa;
}

.contact-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 7px;
    background: rgba(255, 255, 255, .04);
}

.contact-card span,
.contact-card small {
    color: #989ea5;
}

.contact-email {
    margin: .7rem 0;
    font-size: clamp(1.15rem, 2.2vw, 1.7rem);
    font-weight: 650;
    text-underline-offset: .35rem;
}

.social-area {
    width: 100%;
    margin-top: 1.55rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.social-label {
    display: block;
    margin-bottom: .75rem;
    color: #d9dce0;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.contact-card .social-link {
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    gap: .55rem;
    margin: 0;
    padding: .45rem .75rem .45rem .48rem;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 999px;
    color: #eceef0;
    background: rgba(255, 255, 255, .055);
    font-size: .77rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.contact-card .social-link:hover {
    border-color: rgba(255, 255, 255, .48);
    background: rgba(255, 255, 255, .1);
    transform: translateY(-1px);
}

.contact-card .social-link:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 3px;
}

.social-icon {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #111316;
    background: #f5f5f3;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: -.02em;
}

.site-footer {
    padding: 4rem 0 1.3rem;
    color: #c1c5ca;
    background: #050607;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr .7fr 1fr 1fr;
    gap: 3rem;
}

.footer-grid > div:not(.footer-brand) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .65rem;
    font-size: .82rem;
}

.footer-grid a {
    color: #c1c5ca;
    text-decoration: none;
}

.footer-grid a:hover {
    color: var(--white);
}

.footer-name {
    color: var(--white);
}

.footer-brand p {
    color: #777d84;
    font-size: .78rem;
}

.footer-label {
    margin-bottom: .5rem;
    color: var(--white);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.technology {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .7rem;
    font-size: .7rem;
}

.technology img {
    width: 172px;
    padding: .55rem .7rem;
    border-radius: 5px;
    background: var(--white);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 3.5rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #70767d;
    font-size: .7rem;
}

.vehicle-dialog {
    width: min(calc(100% - 2rem), 760px);
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 10px;
    color: var(--ink);
    background: var(--white);
    box-shadow: 0 36px 110px rgba(0, 0, 0, .45);
}

.vehicle-dialog::backdrop {
    background: rgba(0, 0, 0, .7);
    backdrop-filter: blur(6px);
}

.vehicle-dialog > img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
}

.dialog-content {
    padding: 2rem;
}

.dialog-content h2 {
    margin: 0;
    font-size: 2rem;
}

.dialog-content > p:not(.section-kicker) {
    color: var(--muted);
    line-height: 1.65;
}

.dialog-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    z-index: 2;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--black);
    background: rgba(255, 255, 255, .92);
    cursor: pointer;
    font-size: 1.6rem;
}

.dialog-action {
    margin-top: .5rem;
    cursor: pointer;
}

:focus-visible {
    outline: 2px solid #1e5b93;
    outline-offset: 4px;
}

@media (max-width: 1120px) {
    .main-nav {
        gap: 1.2rem;
    }

    .header-cta {
        display: none;
    }

    .vehicle-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .container,
    .header-inner {
        width: min(calc(100% - 2rem), var(--container));
    }

    .header-inner {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .menu-toggle {
        display: flex;
        width: 46px;
        height: 46px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border: 1px solid #d7d5d0;
        border-radius: 4px;
        background: var(--white);
    }

    .menu-toggle > span:not(.sr-only) {
        width: 20px;
        height: 2px;
        background: var(--black);
    }

    .main-nav {
        position: fixed;
        inset: 116px 0 auto;
        display: flex;
        max-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        overflow: hidden;
        background: var(--white);
        box-shadow: 0 25px 45px rgba(0, 0, 0, .12);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transform: translateY(-8px);
        transition: max-height .3s ease, opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    .main-nav.open {
        max-height: calc(100vh - 116px);
        padding: 1rem;
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        transform: none;
    }

    .main-nav a {
        padding: 1rem;
        border-bottom: 1px solid #eceae6;
    }

    .main-nav a::after {
        display: none;
    }

    .hero {
        min-height: 720px;
        align-items: flex-end;
    }

    .hero-media {
        background-position: 60% center;
    }

    .hero-overlay {
        background: linear-gradient(0deg, rgba(247, 243, 236, 1) 0%, rgba(247, 243, 236, .96) 38%, rgba(247, 243, 236, .2) 74%);
    }

    .hero-content {
        padding-block: 4rem;
    }

    .hero h1 {
        max-width: 620px;
        font-size: clamp(3rem, 11vw, 5rem);
    }

    .trust-grid {
        grid-template-columns: 1fr;
    }

    .trust-item + .trust-item {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .filter-group {
        justify-content: flex-start;
    }

    .sell-layout,
    .about-layout,
    .contact-layout {
        grid-template-columns: 1fr;
    }

    .about-values article {
        grid-template-columns: 42px 140px 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 580px) {
    .brand-mark {
        width: 48px;
        height: 48px;
    }

    .brand-mark img {
        width: 48px;
        height: 48px;
    }

    .hero {
        min-height: 680px;
    }

    .hero-media {
        background-position: 64% top;
    }

    .hero-actions,
    .hero-actions .button {
        width: 100%;
    }

    .vehicle-grid {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .about-values article {
        grid-template-columns: 36px 1fr;
    }

    .about-values article p {
        grid-column: 2;
    }

    .contact-layout {
        gap: 2rem;
    }

    .contact-card {
        padding: 1.4rem;
    }

    .contact-email {
        font-size: 1.08rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

/* ==========================================================================
   Ajustes acordados en reunión: identidad, catálogo y contacto
   ========================================================================== */

.brand-original {
    width: 86px;
    min-width: 86px;
}

.brand-original .brand-mark-full {
    width: 70px;
    height: 70px;
    overflow: hidden;
    border: 1px solid #22272c;
    border-radius: 9px;
    background: #050607;
    box-shadow: 0 9px 24px rgba(8, 10, 12, .12);
}

.brand-original .brand-mark-full img {
    position: static;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;
    margin: 0;
    object-fit: contain;
    object-position: center;
    transform: translateY(-2px) !important;
}

.brand-original .brand-mark-full::before,
.brand-original .brand-mark-full::after {
    display: none;
}

.main-nav a,
.header-cta,
.hero-actions .button,
.catalog-filter-field > span:first-child,
.catalog-filters-heading,
.vehicle-link {
    font-family: "Bahnschrift", "Arial Narrow", "Segoe UI", sans-serif;
}

.main-nav a {
    font-stretch: semi-condensed;
    letter-spacing: .115em;
}

.featured-photo {
    opacity: .8;
    transform: translateZ(0) scale(.985);
    transition:
        opacity .55s ease,
        transform .7s cubic-bezier(.22, 1, .36, 1),
        filter .55s ease;
}

.featured-photo.is-featured-active,
.featured-photo-main {
    opacity: 1;
    transform: translateZ(0) scale(1);
}

.featured-photo-main::before {
    position: absolute;
    inset: 0;
    z-index: 3;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: inherit;
    content: "";
    pointer-events: none;
}

.vehicle-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.vehicle-specs li {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .38rem;
    overflow-wrap: anywhere;
    font-size: .69rem;
}

.vehicle-footer > span {
    color: #0b0d0f;
    font-size: clamp(1.02rem, 1.4vw, 1.24rem);
    font-weight: 850;
    letter-spacing: -.025em;
}

.contact-business-details {
    display: grid;
    gap: .72rem;
    margin-top: 1rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, .11);
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.contact-phone {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-size: .92rem;
    font-weight: 760;
    text-decoration: none;
}

.contact-phone:hover,
.contact-phone:focus-visible {
    text-decoration: underline;
    text-underline-offset: .25rem;
}

.contact-hours {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .25rem;
}

.contact-hours > span {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: .5rem;
    color: #e5e9ec;
    font-size: .67rem;
    font-weight: 830;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.contact-hours p {
    display: grid;
    gap: .2rem;
    margin: 0;
    padding: .7rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
}

.contact-hours strong {
    color: #f5f7f8;
    font-size: .68rem;
}

.contact-hours small {
    color: #a9b0b6;
    font-size: .61rem;
    line-height: 1.45;
}

.social-label {
    font-size: .78rem;
}

.contact-map {
    display: grid;
    grid-template-columns: minmax(260px, .64fr) minmax(0, 1.36fr);
    min-height: 360px;
    margin-top: clamp(2rem, 4vw, 3.6rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 18px;
    background: #080a0c;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .24);
}

.contact-map-copy {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: clamp(1.6rem, 4vw, 3.1rem);
    background:
        radial-gradient(circle at 12% 5%, rgba(255, 255, 255, .09), transparent 35%),
        #080a0c;
}

.contact-map-copy h3 {
    max-width: 390px;
    margin: .35rem 0 .75rem;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    font-weight: 600;
    letter-spacing: -.04em;
}

.contact-map-copy > p:not(.section-kicker) {
    margin: 0;
    color: #aab1b7;
    font-size: .84rem;
}

.contact-map-copy > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    margin-top: 1.25rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-underline-offset: .28rem;
}

.contact-map iframe {
    width: 100%;
    min-height: 360px;
    border: 0;
    filter: grayscale(1) contrast(1.05);
}

@media (max-width: 900px) {
    .brand-original {
        width: 72px;
        min-width: 72px;
    }

    .brand-original .brand-mark-full {
        width: 62px;
        height: 62px;
    }

    .contact-map {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .brand-original {
        width: 64px;
        min-width: 64px;
    }

    .brand-original .brand-mark-full {
        width: 58px;
        height: 58px;
    }

    .vehicle-specs {
        grid-template-columns: 1fr;
    }

    .contact-hours {
        grid-template-columns: 1fr;
    }

    .contact-map {
        border-radius: 14px;
    }

    .contact-map iframe {
        min-height: 310px;
    }
}

/* ==========================================================================
   Experiencia cinética Daire Autos
   ========================================================================== */

:root {
    --metal-light: #f4f6f7;
    --metal: #bbc1c6;
    --metal-deep: #757e86;
    --electric: #dfe7ec;
    --night: #07090b;
    --night-soft: #11151a;
    --laser: rgba(225, 233, 239, .92);
    --ease-cinematic: cubic-bezier(.16, 1, .3, 1);
    --ease-spring: cubic-bezier(.2, .9, .2, 1.18);
}

body {
    position: relative;
    isolation: isolate;
}

main,
.site-footer,
.preview-ribbon {
    position: relative;
    z-index: 1;
}

::selection {
    color: var(--white);
    background: var(--black);
}

.scroll-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 999;
    height: 3px;
    pointer-events: none;
}

.scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #50585e, #ffffff 48%, #7c858c);
    box-shadow: 0 0 18px rgba(255, 255, 255, .72);
    transform: scaleX(0);
    transform-origin: left;
    will-change: transform;
}

.ambient-layer {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    contain: strict;
    pointer-events: none;
}

.ambient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .28;
    transform: translate3d(var(--ambient-x, 0), var(--ambient-y, 0), 0);
    will-change: transform;
}

.ambient-orb-one {
    top: 8%;
    right: -8%;
    width: min(44vw, 650px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(179, 190, 199, .25), transparent 66%);
    animation: ambient-float-one 16s ease-in-out infinite alternate;
}

.ambient-orb-two {
    top: 46%;
    left: -14%;
    width: min(50vw, 720px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(255, 255, 255, .52), transparent 68%);
    animation: ambient-float-two 19s ease-in-out infinite alternate;
}

.ambient-orb-three {
    right: 8%;
    bottom: -18%;
    width: min(36vw, 540px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(145, 154, 162, .2), transparent 70%);
    animation: ambient-float-three 14s ease-in-out infinite alternate;
}

.ambient-grid {
    position: absolute;
    inset: 0;
    opacity: .018;
    background-image:
        linear-gradient(rgba(0, 0, 0, .7) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .7) 1px, transparent 1px);
    background-size: 74px 74px;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

@keyframes ambient-float-one {
    to { translate: -5vw 5vh; scale: 1.08; }
}

@keyframes ambient-float-two {
    to { translate: 7vw -4vh; scale: .94; }
}

@keyframes ambient-float-three {
    to { translate: -4vw -8vh; scale: 1.12; }
}

/* Cargador cinematográfico */

.site-loader {
    z-index: 2000;
    display: none;
    overflow: hidden;
    color: var(--white);
    background: transparent;
    opacity: 1;
    visibility: visible;
    transition: opacity .28s ease, visibility 0s linear .9s;
}

.js .site-loader {
    display: flex;
}

.loader-shutter {
    position: absolute;
    right: 0;
    left: 0;
    z-index: 0;
    height: 51%;
    background:
        radial-gradient(circle at 50% 100%, rgba(142, 154, 165, .18), transparent 42%),
        linear-gradient(135deg, #030405, #101318 55%, #060708);
    transition: transform .9s var(--ease-cinematic);
    will-change: transform;
}

.loader-shutter-top {
    top: 0;
}

.loader-shutter-bottom {
    bottom: 0;
    background:
        radial-gradient(circle at 50% 0, rgba(142, 154, 165, .18), transparent 42%),
        linear-gradient(45deg, #030405, #101318 55%, #060708);
}

.loader-glow {
    position: absolute;
    z-index: 1;
    width: min(78vw, 720px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .1), transparent 52%);
    box-shadow:
        0 0 0 95px rgba(255, 255, 255, .018),
        0 0 0 190px rgba(255, 255, 255, .01);
    animation: loader-glow 3s ease-in-out infinite;
}

.loader-inner {
    position: relative;
    z-index: 2;
    width: min(430px, 84vw);
    padding: 2rem 2.3rem 1.8rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .12),
        0 38px 100px rgba(0, 0, 0, .48);
    backdrop-filter: blur(24px) saturate(1.15);
    transition: opacity .5s ease, transform .8s var(--ease-cinematic), filter .7s ease;
}

.loader-inner::before {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .12) 46%, transparent 70%);
    content: "";
    transform: translateX(-120%);
    animation: loader-sheen 2.3s ease-in-out infinite;
    pointer-events: none;
}

.loader-emblem {
    position: relative;
    display: grid;
    width: 142px;
    height: 142px;
    place-items: center;
    margin-inline: auto;
}

.loader-emblem img {
    position: relative;
    z-index: 2;
    width: 106px;
    height: 106px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    object-fit: cover;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .46);
    animation: loader-logo 1.15s var(--ease-spring) both;
}

.loader-orbit {
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
}

.loader-orbit::before {
    position: absolute;
    top: 10px;
    left: 18px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 18px rgba(255, 255, 255, .9);
    content: "";
}

.loader-orbit-one {
    animation: orbit-spin 4.2s linear infinite;
}

.loader-orbit-two {
    inset: 14px;
    border-style: dashed;
    opacity: .42;
    animation: orbit-spin 6.5s linear infinite reverse;
}

.loader-wordmark {
    margin-top: 1.15rem;
    color: #fff;
    font-size: 1.35rem;
    letter-spacing: .34em;
    text-shadow: 0 0 25px rgba(255, 255, 255, .24);
}

.loader-wordmark small {
    margin-top: .5rem;
    font-size: .67rem;
    letter-spacing: .76em;
}

.loader-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 1.8rem;
    color: #aeb6bd;
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.loader-meta strong {
    min-width: 3.2rem;
    color: #fff;
    font-size: .75rem;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.loader-line {
    height: 3px;
    margin-top: .75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
}

.loader-line i {
    border-radius: inherit;
    background: linear-gradient(90deg, #59636c, #fff 56%, #8d969e);
    box-shadow: 0 0 20px rgba(255, 255, 255, .5);
    animation: none;
    transform: scaleX(var(--loader-progress, .04));
    transform-origin: left;
    transition: transform .28s ease;
}

.site-loader.is-exiting .loader-shutter-top {
    transform: translateY(-102%);
}

.site-loader.is-exiting .loader-shutter-bottom {
    transform: translateY(102%);
}

.site-loader.is-exiting .loader-glow {
    opacity: 0;
    scale: 1.18;
    transition: opacity .42s ease, scale .8s ease;
}

.site-loader.is-exiting .loader-inner {
    opacity: 0;
    filter: blur(12px);
    transform: scale(1.08);
}

.js.site-ready .site-loader,
.js.loader-timeout .site-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@keyframes loader-logo {
    0% { opacity: 0; filter: blur(12px); transform: scale(.7) rotate(-5deg); }
    100% { opacity: 1; filter: blur(0); transform: none; }
}

@keyframes loader-glow {
    50% { opacity: .62; transform: scale(1.06); }
}

@keyframes loader-sheen {
    0%, 28% { transform: translateX(-120%); }
    75%, 100% { transform: translateX(120%); }
}

@keyframes orbit-spin {
    to { transform: rotate(1turn); }
}

/* Viaje entre secciones */

.section-transition {
    position: fixed;
    top: 122px;
    left: 50%;
    z-index: 900;
    display: flex;
    min-width: 220px;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: .72rem 1rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    background: rgba(7, 9, 11, .82);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
    backdrop-filter: blur(18px);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -18px) scale(.92);
    transition: opacity .22s ease, transform .45s var(--ease-spring);
}

.section-transition.is-active {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
}

.transition-target {
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .2em;
}

.transition-distance {
    position: relative;
    width: 62px;
    height: 2px;
    overflow: hidden;
    background: rgba(255, 255, 255, .18);
}

.transition-distance::after {
    position: absolute;
    inset: 0;
    background: #fff;
    content: "";
    transform: translateX(-100%);
}

.section-transition.is-active .transition-distance::after {
    animation: journey-distance 1.05s var(--ease-cinematic);
}

.transition-beam {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .32), transparent);
    opacity: 0;
    transform: translate(-50%, -50%) scaleX(.1);
}

.section-transition.is-active .transition-beam {
    animation: journey-beam .8s ease;
}

@keyframes journey-distance {
    to { transform: translateX(100%); }
}

@keyframes journey-beam {
    35% { opacity: 1; transform: translate(-50%, -50%) scaleX(1); }
    100% { opacity: 0; transform: translate(-50%, -50%) scaleX(1); }
}

/* Navegación y cabecera viva */

.preview-ribbon {
    overflow: hidden;
    background:
        linear-gradient(90deg, #050607, #171b20 50%, #050607);
    background-size: 200% 100%;
    animation: ribbon-flow 8s linear infinite;
}

@keyframes ribbon-flow {
    to { background-position: -200% 0; }
}

.site-header::after {
    position: absolute;
    right: 50%;
    bottom: -1px;
    width: min(70vw, 900px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(25, 29, 33, .55), transparent);
    content: "";
    transform: translateX(50%) scaleX(.35);
    transition: transform .6s var(--ease-cinematic), opacity .3s ease;
}

.site-header.is-scrolled::after {
    opacity: .9;
    transform: translateX(50%) scaleX(1);
}

.brand-mark {
    position: relative;
    transition: transform .45s var(--ease-spring), box-shadow .35s ease;
}

.brand:hover .brand-mark {
    box-shadow: 0 10px 28px rgba(8, 9, 10, .2);
    transform: rotate(-3deg) scale(1.07);
}

.brand-mark::after {
    position: absolute;
    inset: -40% -80%;
    background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .65), transparent 62%);
    content: "";
    transform: translateX(-70%) rotate(8deg);
    transition: transform .7s ease;
}

.brand:hover .brand-mark::after {
    transform: translateX(70%) rotate(8deg);
}

.main-nav a {
    overflow: hidden;
    transition: color .25s ease, letter-spacing .35s var(--ease-cinematic);
}

.main-nav a:hover,
.main-nav a.active {
    letter-spacing: .16em;
}

.main-nav a::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(30, 34, 38, .12), transparent 68%);
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) scale(.3);
    transition: opacity .25s ease, transform .45s var(--ease-spring);
}

.main-nav a:hover::before,
.main-nav a.active::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.55);
}

.section-rail {
    position: fixed;
    top: 50%;
    right: 1.15rem;
    z-index: 80;
    display: grid;
    gap: .58rem;
    padding: .75rem .55rem;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    background: rgba(245, 243, 239, .72);
    box-shadow: 0 18px 48px rgba(7, 9, 11, .12);
    backdrop-filter: blur(18px);
    transform: translateY(-50%);
}

.section-rail a {
    position: relative;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    text-decoration: none;
}

.section-rail i {
    width: 6px;
    height: 6px;
    border: 1px solid #6f767c;
    border-radius: 50%;
    background: transparent;
    transition: transform .35s var(--ease-spring), background .25s ease, box-shadow .25s ease;
}

.section-rail a:hover i,
.section-rail a.active i {
    border-color: var(--black);
    background: var(--black);
    box-shadow: 0 0 0 5px rgba(8, 9, 10, .1), 0 0 18px rgba(8, 9, 10, .28);
    transform: scale(1.35);
}

.section-rail span {
    position: absolute;
    top: 50%;
    right: calc(100% + .75rem);
    width: max-content;
    padding: .4rem .65rem;
    border-radius: 4px;
    color: #fff;
    background: rgba(7, 9, 11, .9);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
    opacity: 0;
    pointer-events: none;
    transform: translate(8px, -50%);
    transition: opacity .2s ease, transform .3s var(--ease-spring);
    text-transform: uppercase;
}

.section-rail a:hover span,
.section-rail a:focus-visible span {
    opacity: 1;
    transform: translate(0, -50%);
}

/* Portada dinámica */

.hero {
    isolation: isolate;
    contain: paint;
}

.hero-media {
    inset: -3%;
    animation: hero-breathe 16s ease-in-out infinite alternate;
    transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.055);
    will-change: transform;
}

.hero-light {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        radial-gradient(circle at var(--hero-x, 72%) var(--hero-y, 42%), rgba(255, 255, 255, .27), transparent 24%),
        linear-gradient(115deg, transparent 34%, rgba(255, 255, 255, .24) 49%, transparent 62%);
    background-size: auto, 220% 100%;
    mix-blend-mode: soft-light;
    pointer-events: none;
    animation: hero-light-sweep 8s ease-in-out infinite;
}

.js .hero-content > * {
    opacity: 0;
    transform: translateY(28px);
}

.site-ready .hero-content > *,
.loader-timeout .hero-content > * {
    animation: hero-copy-in .88s var(--ease-cinematic) forwards;
}

.site-ready .hero-content .eyebrow { animation-delay: .05s; }
.site-ready .hero-content h1 { animation-delay: .16s; }
.site-ready .hero-content .hero-copy { animation-delay: .28s; }
.site-ready .hero-content .hero-actions { animation-delay: .38s; }
.site-ready .hero-content .hero-note { animation-delay: .48s; }

.hero h1 {
    text-shadow: 0 12px 45px rgba(255, 255, 255, .22);
}

.hero-note {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
}

.hero-note::before {
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, #252a2f, transparent);
    content: "";
}

.hero-scroll-cue {
    position: absolute;
    z-index: 4;
    bottom: 2.2rem;
    left: 50%;
    display: grid;
    justify-items: center;
    gap: .55rem;
    color: #31363b;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.hero-scroll-cue i {
    position: relative;
    width: 1px;
    height: 44px;
    overflow: hidden;
    background: rgba(16, 18, 20, .22);
}

.hero-scroll-cue i::after {
    position: absolute;
    inset: 0;
    background: #111;
    content: "";
    animation: scroll-cue 1.8s ease-in-out infinite;
    transform: translateY(-100%);
}

@keyframes hero-breathe {
    to { transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.095); }
}

@keyframes hero-light-sweep {
    0%, 18% { background-position: 0 0, 120% 0; }
    75%, 100% { background-position: 0 0, -120% 0; }
}

@keyframes hero-copy-in {
    0% { opacity: 0; filter: blur(10px); transform: translateY(28px); }
    100% { opacity: 1; filter: blur(0); transform: none; }
}

@keyframes scroll-cue {
    0% { transform: translateY(-100%); }
    55%, 100% { transform: translateY(100%); }
}

/* Botones, tarjetas y apariciones */

.button,
.header-cta,
.filter-button,
.vehicle-link,
.social-link,
.back-to-top {
    position: relative;
    overflow: hidden;
}

.button::after,
.header-cta::after,
.filter-button::after {
    position: absolute;
    top: -60%;
    bottom: -60%;
    left: -45%;
    width: 38%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), transparent);
    content: "";
    transform: skewX(-18deg) translateX(-250%);
    transition: transform .75s var(--ease-cinematic);
}

.button:hover::after,
.header-cta:hover::after,
.filter-button:hover::after {
    transform: skewX(-18deg) translateX(650%);
}

.ripple {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0);
    animation: ripple-out .62s ease-out forwards;
}

@keyframes ripple-out {
    to { opacity: 0; transform: translate(-50%, -50%) scale(18); }
}

.js.reveal-ready [data-reveal] {
    opacity: 0;
    filter: blur(12px);
    transform: translate3d(0, 44px, 0);
    transition:
        opacity .82s var(--ease-cinematic),
        transform .94s var(--ease-cinematic),
        filter .72s ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform, filter;
}

.js.reveal-ready [data-reveal="left"] {
    transform: translate3d(0, 46px, 0) rotate(-1deg);
}

.js.reveal-ready [data-reveal="right"] {
    transform: translate3d(0, 46px, 0) rotate(1deg);
}

.js.reveal-ready [data-reveal="scale"] {
    transform: translate3d(0, 24px, 0) scale(.92);
}

.js.reveal-ready [data-reveal="flip"] {
    transform: perspective(900px) translateY(34px) rotateX(8deg);
    transform-origin: center top;
}

.js.reveal-ready [data-reveal="wipe"] {
    clip-path: inset(0 100% 0 0);
    filter: none;
    transform: none;
}

.js.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    transform: none;
    will-change: auto;
}

.section-heading {
    position: relative;
    padding-bottom: 1.2rem;
}

.section-heading::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, #111, rgba(17, 17, 17, .08), transparent);
    content: "";
    transition: width 1.2s var(--ease-cinematic) .25s;
}

.section-heading.is-visible::after {
    width: 100%;
}

.vehicles-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 16%, rgba(176, 185, 192, .2), transparent 28rem),
        #fbfaf8;
}

.vehicles-section::before {
    position: absolute;
    top: 7%;
    right: -12%;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(35, 39, 43, .055);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(35, 39, 43, .018), 0 0 0 160px rgba(35, 39, 43, .012);
    content: "";
    animation: section-ring 12s linear infinite;
}

@keyframes section-ring {
    to { transform: rotate(1turn); }
}

.vehicle-grid {
    perspective: 1200px;
}

.vehicle-card {
    position: relative;
    transform-style: preserve-3d;
    box-shadow: 0 18px 50px rgba(12, 15, 18, .07);
}

.vehicle-card::before {
    position: absolute;
    inset: 0;
    z-index: 4;
    border-radius: inherit;
    background: radial-gradient(circle at var(--card-x, 50%) var(--card-y, 20%), rgba(255, 255, 255, .46), transparent 32%);
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}

.vehicle-card:hover::before {
    opacity: 1;
}

.vehicle-card.is-visible:hover {
    box-shadow: 0 34px 80px rgba(12, 15, 18, .18);
    transform:
        perspective(1100px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(-10px)
        scale(1.012);
}

.vehicle-card .vehicle-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, .42) 48%, transparent 62%);
    content: "";
    transform: translateX(-120%);
    transition: transform .9s var(--ease-cinematic);
}

.vehicle-card:hover .vehicle-photo::after {
    transform: translateX(120%);
}

.demo-badge {
    border: 1px solid rgba(255, 255, 255, .24);
    box-shadow: 0 7px 24px rgba(0, 0, 0, .2);
    backdrop-filter: blur(10px);
}

.filter-button {
    transition: color .24s ease, background .24s ease, transform .35s var(--ease-spring), box-shadow .25s ease;
}

.filter-button:hover,
.filter-button.active {
    box-shadow: 0 10px 28px rgba(8, 9, 10, .16);
    transform: translateY(-2px);
}

.vehicle-grid.is-filtering .vehicle-card {
    opacity: .18;
    filter: blur(6px);
    transform: scale(.97);
}

.vehicle-card.filter-enter {
    animation: filter-enter .62s var(--ease-spring) both;
}

@keyframes filter-enter {
    from { opacity: 0; filter: blur(8px); transform: translateY(18px) scale(.96); }
}

/* Proceso y formulario del futuro */

.sell-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 12%, rgba(255, 255, 255, .11), transparent 25rem),
        radial-gradient(circle at 84% 75%, rgba(146, 158, 168, .13), transparent 30rem),
        linear-gradient(140deg, #050607, #15191e 58%, #090b0e);
}

.sell-section::before,
.sell-section::after {
    position: absolute;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(255, 255, 255, .045);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.sell-section::before {
    top: -280px;
    left: -140px;
    box-shadow: 0 0 0 90px rgba(255, 255, 255, .012), 0 0 0 180px rgba(255, 255, 255, .008);
}

.sell-section::after {
    right: -260px;
    bottom: -240px;
    box-shadow: 0 0 0 110px rgba(255, 255, 255, .012);
}

.steps li {
    position: relative;
    overflow: hidden;
    transition: padding-left .4s var(--ease-cinematic), border-color .3s ease, background .3s ease;
}

.steps li::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .06), transparent);
    content: "";
    opacity: 0;
    transform: translateX(-100%);
    transition: opacity .3s ease, transform .55s var(--ease-cinematic);
}

.steps li:hover {
    padding-left: 1rem;
    border-color: rgba(255, 255, 255, .25);
}

.steps li:hover::after {
    opacity: 1;
    transform: none;
}

.steps li > * {
    position: relative;
    z-index: 1;
}

.sell-form {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(241, 242, 242, .96));
    box-shadow:
        0 45px 110px rgba(0, 0, 0, .42),
        inset 0 1px #fff;
}

.sell-form::before {
    position: absolute;
    inset: 0 0 auto;
    z-index: -1;
    height: 7px;
    background: linear-gradient(90deg, #111, #cdd2d6 45%, #fff 58%, #343b41);
    content: "";
}

.sell-form::after {
    position: absolute;
    z-index: -2;
    top: -180px;
    right: -170px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(162, 172, 180, .24), transparent 68%);
    content: "";
}

.form-orbit {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(25, 29, 32, .06);
    border-radius: 50%;
    pointer-events: none;
}

.form-orbit-one {
    top: -110px;
    right: -120px;
    width: 270px;
    height: 270px;
    animation: orbit-spin 18s linear infinite;
}

.form-orbit-two {
    right: -55px;
    bottom: -70px;
    width: 150px;
    height: 150px;
    border-style: dashed;
    animation: orbit-spin 14s linear infinite reverse;
}

.form-heading {
    position: relative;
    margin-bottom: 1.8rem;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid #dadde0;
}

.form-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .48rem .72rem;
    border: 1px solid #d4d8db;
    border-radius: 999px;
    color: #424950;
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 8px 24px rgba(20, 24, 28, .06);
}

.form-chip i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #20252a;
    box-shadow: 0 0 0 4px rgba(32, 37, 42, .08);
    animation: status-pulse 2s ease-in-out infinite;
}

.form-heading h3 {
    margin-top: .85rem;
    font-size: clamp(1.7rem, 2.7vw, 2.25rem);
    letter-spacing: -.035em;
}

.form-heading p {
    max-width: 430px;
    margin: .65rem 0 0;
    color: #747a80;
    font-size: .82rem;
    line-height: 1.55;
}

.form-notice {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin: 0 0 1.25rem;
    padding: .9rem 1rem;
    border: 1px solid #e1b39a;
    border-radius: 10px;
    color: #6a2a15;
    background: linear-gradient(135deg, #fff4ef, #fffaf8);
    box-shadow: 0 12px 32px rgba(132, 55, 25, .08);
}

.form-notice[hidden] {
    display: none;
}

.form-notice.is-visible {
    animation: notice-in .5s var(--ease-spring) both, notice-shake .42s ease .08s;
}

.form-notice.is-success {
    color: #174b34;
    border-color: #9ccab5;
    background: linear-gradient(135deg, #effaf4, #fbfffd);
}

.notice-symbol {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: #a64a2b;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
    font-weight: 900;
}

.form-notice.is-success .notice-symbol {
    background: #287451;
}

.form-notice strong,
.form-notice small {
    display: block;
}

.form-notice small {
    margin-top: .22rem;
    color: inherit;
    opacity: .72;
}

.form-field {
    position: relative;
    margin-top: 1.15rem;
}

.field-label {
    display: flex;
    min-height: 24px;
    align-items: center;
    gap: .5rem;
    color: #22272c;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.field-label i {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 7px;
    color: #fff;
    background: linear-gradient(145deg, #161a1e, #454c53);
    font-size: .55rem;
    font-style: normal;
    box-shadow: 0 6px 16px rgba(16, 19, 22, .18);
}

.field-label em {
    margin-left: auto;
    color: #8a9095;
    font-size: .52rem;
    font-style: normal;
    letter-spacing: .09em;
}

.field-control {
    position: relative;
    display: block;
    margin-top: .55rem;
}

.sell-form .field-control input,
.sell-form .field-control textarea {
    position: relative;
    z-index: 1;
    margin: 0;
    border: 1px solid #d3d6d8;
    border-radius: 9px;
    background: rgba(255, 255, 255, .76);
    box-shadow: inset 0 1px 2px rgba(16, 20, 23, .025);
    transition:
        border-color .25s ease,
        box-shadow .3s ease,
        background .3s ease,
        transform .3s var(--ease-spring);
}

.sell-form .field-control input:hover,
.sell-form .field-control textarea:hover {
    border-color: #9ca3a9;
    background: #fff;
}

.sell-form .field-control input:focus,
.sell-form .field-control textarea:focus {
    border-color: #15191d;
    background: #fff;
    box-shadow:
        0 0 0 4px rgba(19, 23, 27, .08),
        0 14px 34px rgba(17, 21, 24, .08);
    transform: translateY(-1px);
}

.field-glow {
    position: absolute;
    right: 1rem;
    bottom: -1px;
    left: 1rem;
    z-index: 2;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #111, transparent);
    opacity: 0;
    pointer-events: none;
    transform: scaleX(.2);
    transition: opacity .25s ease, transform .45s var(--ease-cinematic);
}

.field-control:focus-within .field-glow {
    opacity: 1;
    transform: scaleX(1);
}

.form-field.is-invalid .field-control input,
.form-field.is-invalid .field-control textarea {
    border-color: #b44c2b;
    box-shadow: 0 0 0 4px rgba(180, 76, 43, .09);
}

.field-error {
    display: block;
    min-height: 1.05rem;
    margin-top: .38rem;
    color: #9a3d22;
    font-size: .64rem;
    font-weight: 700;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .2s ease, transform .25s ease;
}

.form-field.is-invalid .field-error {
    opacity: 1;
    transform: none;
}

.form-consent {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: .75rem;
    align-items: start;
    margin-top: 1.2rem;
    color: #4f555b;
    font-size: .72rem;
    line-height: 1.55;
    cursor: pointer;
}

.form-consent input {
    width: 20px;
    height: 20px;
    margin: .05rem 0 0;
    accent-color: #111315;
}

.form-consent.is-invalid {
    color: #9a3d22;
}

.consent-error {
    margin-left: 2.95rem;
}

.consent-error:not(:empty) {
    opacity: 1;
    transform: none;
}

.form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.form-submit {
    min-height: 58px;
    justify-content: space-between;
    margin-top: 1.3rem;
    padding-inline: 1.25rem;
    border-radius: 9px;
    box-shadow: 0 18px 36px rgba(8, 9, 10, .2);
}

.form-submit:disabled {
    cursor: wait;
    opacity: .7;
}

.form-submit > i,
.footer-cta-button > i {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: #111;
    background: #fff;
    font-style: normal;
    transition: transform .35s var(--ease-spring);
}

.form-submit:hover > i,
.footer-cta-button:hover > i {
    transform: translateX(4px) rotate(-12deg);
}

.form-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.form-status::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8b9196;
    content: "";
}

.form-status.success::before {
    background: #2b7c55;
    box-shadow: 0 0 0 4px rgba(43, 124, 85, .1);
}

@keyframes status-pulse {
    50% { box-shadow: 0 0 0 8px rgba(32, 37, 42, 0); }
}

@keyframes notice-in {
    from { opacity: 0; transform: translateY(-12px) scale(.96); }
}

@keyframes notice-shake {
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); }
    75% { transform: translateX(-2px); }
}

/* Contacto holográfico */

.contact-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 25%, rgba(116, 127, 137, .18), transparent 30rem),
        linear-gradient(135deg, #0d1013, #15191e 60%, #0b0d10);
}

.contact-section::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 64px 64px;
    content: "";
    mask-image: radial-gradient(circle at 75% 50%, #000, transparent 64%);
}

.contact-intro {
    position: relative;
}

.contact-intro::before {
    position: absolute;
    top: -2rem;
    left: -2rem;
    width: 96px;
    height: 1px;
    background: linear-gradient(90deg, #fff, transparent);
    content: "";
}

.contact-features {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1.6rem;
}

.contact-features span {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    padding: .55rem .72rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #c5cbd0;
    background: rgba(255, 255, 255, .035);
    font-size: .67rem;
    backdrop-filter: blur(10px);
}

.contact-features i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e7ecef;
    box-shadow: 0 0 12px rgba(231, 236, 239, .65);
}

.contact-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(1.6rem, 4vw, 2.6rem);
    border: 1px solid transparent;
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(25, 29, 34, .96), rgba(14, 17, 20, .94)) padding-box,
        linear-gradient(125deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, .05) 45%, rgba(185, 196, 204, .32)) border-box;
    box-shadow: 0 32px 85px rgba(0, 0, 0, .3);
    transition: transform .55s var(--ease-cinematic), box-shadow .45s ease;
}

.contact-card:hover {
    box-shadow: 0 42px 110px rgba(0, 0, 0, .42);
    transform: translateY(-7px);
}

.contact-card::after {
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, .1) 50%, transparent 75%);
    content: "";
    transform: translateX(-100%);
}

.contact-card:hover::after {
    animation: contact-sheen 1.1s var(--ease-cinematic);
}

.contact-card-glow {
    position: absolute;
    z-index: -1;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 221, 228, .17), transparent 68%);
    pointer-events: none;
    transform: translate(calc(var(--contact-x, 50%) - 50%), calc(var(--contact-y, 50%) - 50%));
    transition: transform .12s linear;
}

.contact-card-top {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.contact-symbol {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 13px;
    color: #101317;
    background: linear-gradient(145deg, #fff, #bfc6cb);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
    font-size: 1.15rem;
    font-weight: 900;
}

.contact-card-top > div {
    display: grid;
    gap: .28rem;
}

.contact-card-top > div > span {
    color: #aeb5bc;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.contact-card-top small {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #d6dbdf;
    font-size: .65rem;
}

.contact-card-top small i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6ed39d;
    box-shadow: 0 0 12px rgba(110, 211, 157, .72);
    animation: status-pulse-green 2s ease-in-out infinite;
}

.contact-email {
    display: flex;
    max-width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.5rem 0 .6rem;
    overflow-wrap: anywhere;
    color: #fff;
    font-size: clamp(1.2rem, 2.35vw, 1.85rem);
    text-decoration-color: rgba(255, 255, 255, .4);
    transition: color .2s ease, text-shadow .3s ease;
}

.contact-email:hover {
    color: #f6f8f9;
    text-shadow: 0 0 24px rgba(255, 255, 255, .24);
}

.contact-email i {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    font-size: .85rem;
    font-style: normal;
    transition: transform .35s var(--ease-spring), background .25s ease, color .25s ease;
}

.contact-email:hover i {
    color: #111;
    background: #fff;
    transform: rotate(12deg) scale(1.08);
}

.contact-location {
    color: #8e969d;
    font-size: .72rem;
}

.social-link {
    isolation: isolate;
}

.contact-card .social-link::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .13), transparent 80%);
    content: "";
    transform: translateX(-120%);
    transition: transform .6s var(--ease-cinematic);
}

.contact-card .social-link:hover::after {
    transform: translateX(120%);
}

@keyframes contact-sheen {
    to { transform: translateX(100%); }
}

@keyframes status-pulse-green {
    50% { box-shadow: 0 0 0 7px rgba(110, 211, 157, 0); }
}

/* Footer de cierre comercial */

.site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0 0 1.3rem;
    background:
        linear-gradient(145deg, #030405, #090b0d 62%, #020303);
}

.site-footer::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
    background-size: 58px 58px;
    content: "";
    mask-image: linear-gradient(to bottom, #000, transparent 85%);
}

.footer-glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(177, 189, 198, .12), transparent 68%);
    pointer-events: none;
}

.footer-glow-one {
    top: -240px;
    left: -160px;
    width: 540px;
    height: 540px;
}

.footer-glow-two {
    right: -240px;
    bottom: -290px;
    width: 620px;
    height: 620px;
}

.footer-cta {
    display: flex;
    min-height: 225px;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    padding-block: 3.4rem;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.footer-cta > div {
    max-width: 780px;
}

.footer-cta-kicker {
    color: #8e969d;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.footer-cta h2 {
    margin: .75rem 0 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.4rem);
    font-weight: 570;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: balance;
}

.footer-cta-button {
    min-width: 235px;
    justify-content: space-between;
    color: #101214;
    border-color: #fff;
    background: #fff;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .24);
}

.footer-cta-button:hover {
    color: #fff;
    background: transparent;
}

.footer-cta-button > i {
    color: #fff;
    background: #111;
}

.footer-grid {
    grid-template-columns: 1.15fr .75fr 1fr 1fr;
    padding-top: 4.5rem;
}

.footer-brand {
    display: grid;
    justify-items: start;
}

.footer-logo-frame {
    display: grid;
    width: 74px;
    height: 74px;
    place-items: center;
    overflow: hidden;
    margin-bottom: 1.2rem;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 14px;
    background: #060708;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .35);
    transition: transform .45s var(--ease-spring), box-shadow .3s ease;
}

.footer-logo-frame:hover {
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5), 0 0 35px rgba(255, 255, 255, .08);
    transform: rotate(-3deg) scale(1.06);
}

.footer-logo-frame img {
    width: 74px;
    height: 74px;
    object-fit: cover;
}

.footer-location {
    display: inline-flex;
    margin-top: .85rem;
    padding: .38rem .6rem;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 999px;
    color: #747c83;
    font-size: .63rem;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
}

.footer-grid .footer-column a,
.footer-grid .footer-column > span:not(.footer-label) {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #9ca3aa;
    font-size: .79rem;
    transition: color .2s ease, transform .3s var(--ease-spring);
}

.footer-grid .footer-column a:hover {
    color: #fff;
    transform: translateX(5px);
}

.footer-column a > i,
.footer-contact > span > i {
    color: #646c73;
    font-size: .58rem;
    font-style: normal;
}

.footer-label {
    position: relative;
    margin-bottom: .8rem;
    padding-bottom: .7rem;
}

.footer-label::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, #fff, transparent);
    content: "";
}

.footer-socials {
    display: flex;
    gap: .45rem;
    margin-top: .6rem;
}

.footer-socials a {
    display: grid !important;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    color: #aeb5bb !important;
    background: rgba(255, 255, 255, .035);
    font-size: .58rem !important;
    font-weight: 850;
}

.footer-socials a:hover {
    color: #111 !important;
    background: #fff;
    transform: translateY(-4px) !important;
}

.technology {
    position: relative;
    gap: .62rem;
    padding: 1.05rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
    transition: border-color .3s ease, background .3s ease, transform .45s var(--ease-cinematic);
}

.technology:hover {
    border-color: rgba(255, 255, 255, .24);
    background: rgba(255, 255, 255, .05);
    transform: translateY(-6px);
}

.technology-kicker {
    color: #7f878e;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.technology-panel {
    display: grid;
    width: 100%;
    max-width: 230px;
    min-height: 72px;
    place-items: center;
    padding: .75rem;
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #e8eaec, 0 12px 28px rgba(0, 0, 0, .2);
}

.technology .technology-panel img {
    width: 100%;
    height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.technology strong {
    color: #fff;
    font-size: .74rem;
}

.technology small {
    color: #717980;
    font-size: .61rem;
}

.footer-bottom {
    align-items: center;
}

.footer-bottom a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #a5acb2;
    text-decoration: none;
    transition: color .2s ease;
}

.footer-bottom a:hover {
    color: #fff;
}

.footer-bottom a i {
    font-style: normal;
}

.footer-status {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.footer-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8acba9;
    box-shadow: 0 0 12px rgba(138, 203, 169, .65);
}

.back-to-top {
    position: fixed;
    right: 1.1rem;
    bottom: 1.1rem;
    z-index: 85;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    color: #fff;
    background: rgba(7, 9, 11, .84);
    box-shadow: 0 14px 38px rgba(0, 0, 0, .25);
    backdrop-filter: blur(14px);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(.85);
    transition: opacity .25s ease, visibility .25s ease, transform .4s var(--ease-spring), background .25s ease;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.back-to-top:hover {
    color: #111;
    background: #fff;
    transform: translateY(-4px);
}

.back-to-top > span {
    position: relative;
    z-index: 2;
}

.back-to-top > i {
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.section-arrival::before {
    position: absolute;
    inset: 0;
    z-index: 12;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .18) 48%, transparent 74%);
    content: "";
    pointer-events: none;
    animation: section-arrival .85s var(--ease-cinematic) both;
}

@keyframes section-arrival {
    from { opacity: 0; transform: translateX(-80%); }
    35% { opacity: 1; }
    to { opacity: 0; transform: translateX(80%); }
}

/* Ficha modal */

.vehicle-dialog {
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 18px;
    box-shadow: 0 50px 150px rgba(0, 0, 0, .58);
}

.vehicle-dialog[open] {
    animation: dialog-in .58s var(--ease-spring) both;
}

.vehicle-dialog::backdrop {
    background:
        radial-gradient(circle at center, rgba(72, 80, 88, .22), transparent 42%),
        rgba(0, 0, 0, .78);
}

@keyframes dialog-in {
    from { opacity: 0; filter: blur(10px); transform: translateY(24px) scale(.94); }
}

/* Adaptación de la experiencia */

@media (max-width: 1120px) {
    .section-rail {
        right: .55rem;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 860px) {
    .section-rail {
        display: none;
    }

    .section-transition {
        top: 108px;
    }

    .hero-scroll-cue {
        right: 1.2rem;
        left: auto;
        transform: none;
    }

    .footer-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-cta-button {
        min-width: min(100%, 280px);
    }

    .main-nav a {
        opacity: 0;
        transform: translateY(-12px);
        transition:
            opacity .35s var(--ease-cinematic),
            transform .45s var(--ease-cinematic),
            background .2s ease;
    }

    .main-nav.open a {
        opacity: 1;
        transform: none;
    }

    .main-nav.open a:nth-child(1) { transition-delay: .04s; }
    .main-nav.open a:nth-child(2) { transition-delay: .08s; }
    .main-nav.open a:nth-child(3) { transition-delay: .12s; }
    .main-nav.open a:nth-child(4) { transition-delay: .16s; }
    .main-nav.open a:nth-child(5) { transition-delay: .2s; }

    .site-header.is-scrolled .main-nav {
        inset: 76px 0 auto;
    }
}

@media (max-width: 580px) {
    .loader-inner {
        width: min(92vw, 390px);
        padding: 1.6rem 1.35rem 1.45rem;
        border-radius: 18px;
    }

    .loader-emblem {
        width: 126px;
        height: 126px;
    }

    .loader-emblem img {
        width: 94px;
        height: 94px;
    }

    .section-transition {
        top: 104px;
        min-width: 190px;
    }

    .hero-scroll-cue {
        display: none;
    }

    .sell-form {
        padding: 1.4rem;
        border-radius: 16px;
    }

    .field-label {
        font-size: .64rem;
    }

    .contact-card {
        padding: 1.3rem;
    }

    .contact-email {
        align-items: flex-start;
        font-size: 1rem;
    }

    .contact-features {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.6rem;
    }

    .footer-cta {
        min-height: auto;
    }

    .footer-cta-button {
        width: 100%;
    }

    .technology-panel {
        max-width: 260px;
    }

    .footer-bottom {
        align-items: flex-start;
    }

    .back-to-top {
        right: .8rem;
        bottom: .8rem;
        width: 44px;
        height: 44px;
    }
}

@media (hover: none) {
    .vehicle-card.is-visible:hover,
    .contact-card:hover,
    .technology:hover {
        transform: none;
    }
}

/* ==========================================================================
   Banner editorial, iconografía y respuesta universal de controles
   ========================================================================== */

.brand:hover .brand-mark {
    box-shadow:
        0 14px 34px rgba(8, 9, 10, .2),
        0 0 0 6px rgba(90, 99, 106, .08);
    transform: translateY(-3px) scale(1.06);
}

.brand-mark::before {
    position: absolute;
    inset: -1px;
    z-index: 2;
    border: 1px solid transparent;
    border-radius: inherit;
    background: linear-gradient(130deg, rgba(255, 255, 255, .7), transparent 42%, rgba(255, 255, 255, .22)) border-box;
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
}

.brand:hover .brand-mark::before {
    opacity: 1;
}

.brand:hover .brand-name {
    text-shadow: 0 8px 25px rgba(16, 20, 24, .13);
}

.brand-name {
    transition: text-shadow .3s ease, letter-spacing .4s var(--ease-cinematic);
}

.brand:hover .brand-name {
    letter-spacing: .185em;
}

.hero-stage {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    background: #dedbd5;
}

.hero-slide {
    opacity: 0;
    filter: blur(8px) saturate(.86);
    clip-path: inset(0 0 0 12%);
    transition:
        opacity 1.05s var(--ease-cinematic),
        filter 1.2s ease,
        clip-path 1.25s var(--ease-cinematic);
    will-change: opacity, filter, clip-path, transform;
}

.hero-slide.is-active {
    opacity: 1;
    filter: blur(0) saturate(1);
    clip-path: inset(0);
}

.hero-slide-one {
    background-image: url("hero-daire-autos.webp");
    background-position: center;
}

.hero-slide-two {
    background-image: url("vehiculo-suv-gris.webp");
    background-position: 68% center;
}

.hero-slide-three {
    background-image: url("vehiculo-crossover-negro.webp");
    background-position: 70% center;
}

.hero-stage::after {
    position: absolute;
    inset: 0;
    z-index: 3;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08), transparent 35%),
        repeating-linear-gradient(90deg, transparent 0 13.8%, rgba(255, 255, 255, .035) 14% 14.08%);
    content: "";
    pointer-events: none;
    mix-blend-mode: soft-light;
}

.hero-content .eyebrow,
.hero-content h1,
.hero-content .hero-copy,
.hero-content .hero-note {
    transition:
        opacity .3s ease,
        filter .38s ease,
        transform .5s var(--ease-cinematic);
}

.hero-content.is-changing .eyebrow,
.hero-content.is-changing h1,
.hero-content.is-changing .hero-copy,
.hero-content.is-changing .hero-note {
    opacity: 0 !important;
    filter: blur(10px);
    transform: translateY(-13px);
}

.hero-carousel-controls {
    position: absolute;
    z-index: 8;
    right: clamp(1.2rem, 5vw, 5rem);
    bottom: 2rem;
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: .7rem;
    padding: .55rem .65rem;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    background: rgba(247, 245, 241, .76);
    box-shadow: 0 18px 48px rgba(8, 9, 10, .14);
    backdrop-filter: blur(18px) saturate(1.15);
}

.hero-slider-button {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(20, 23, 26, .16);
    border-radius: 50%;
    color: #171a1d;
    background: rgba(255, 255, 255, .72);
    cursor: pointer;
    transition:
        color .2s ease,
        background .2s ease,
        transform .38s var(--ease-spring),
        box-shadow .25s ease;
}

.hero-slider-button:hover,
.hero-slider-button:focus-visible {
    color: #fff;
    background: #0a0c0e;
    box-shadow: 0 10px 28px rgba(8, 9, 10, .24);
    transform: translateY(-2px) scale(1.06);
}

.hero-slider-dots {
    display: flex;
    align-items: center;
    gap: .38rem;
}

.hero-slider-dot {
    position: relative;
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid #6d747a;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    transition:
        width .42s var(--ease-cinematic),
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.hero-slider-dot:hover {
    border-color: #111;
    box-shadow: 0 0 0 4px rgba(8, 9, 10, .08);
}

.hero-slider-dot.active {
    width: 28px;
    border-color: #111;
    background: linear-gradient(90deg, #111 0 72%, #aeb5ba 72%);
}

.hero-slider-counter {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #81878c;
    font-size: .55rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
}

.hero-slider-counter strong {
    color: #111;
}

.hero-slider-counter i {
    width: 18px;
    height: 1px;
    background: #a5abb0;
}

.header-cta,
.hero-actions .button,
.dialog-action {
    gap: .8rem;
}

.header-cta > i,
.hero-actions .button > i,
.dialog-action > i {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    color: #111;
    background: #fff;
    font-size: .7rem;
    font-style: normal;
    transition: transform .38s var(--ease-spring), color .25s ease, background .25s ease;
}

.button-light > i {
    color: #fff;
    background: #111;
}

.header-cta:hover > i,
.hero-actions .button:hover > i,
.dialog-action:hover > i {
    transform: translate(3px, -2px) rotate(-10deg);
}

.header-cta:hover > i,
.button-dark:hover > i,
.dialog-action:hover > i {
    color: #fff;
    background: #111;
}

.button-light:hover > i {
    color: #111;
    background: #fff;
}

.section-kicker {
    display: flex;
    align-items: center;
    gap: .62rem;
}

.section-kicker::before {
    width: 8px;
    height: 8px;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: radial-gradient(circle, currentColor 0 32%, transparent 37%);
    box-shadow: 0 0 0 4px rgba(80, 87, 93, .06);
    content: "";
}

.trust-icon {
    position: relative;
    overflow: visible;
    color: #121518;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(227, 230, 232, .8));
    box-shadow:
        inset 0 1px #fff,
        0 11px 30px rgba(12, 15, 18, .1);
    transition: transform .45s var(--ease-spring), box-shadow .35s ease;
}

.trust-item:hover .trust-icon {
    box-shadow:
        inset 0 1px #fff,
        0 18px 38px rgba(12, 15, 18, .18),
        0 0 0 6px rgba(22, 26, 30, .05);
    transform: translateY(-4px) scale(1.08);
}

.trust-refresh i {
    width: 23px;
    height: 23px;
    border: 2px solid #1b1f23;
    border-right-color: transparent;
    border-radius: 50%;
    transform: rotate(-28deg);
}

.trust-refresh::after {
    position: absolute;
    top: 13px;
    right: 12px;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #1b1f23;
    content: "";
    transform: rotate(-18deg);
}

.trust-shield i {
    display: grid;
    width: 25px;
    height: 29px;
    place-items: center;
    border: 2px solid #1b1f23;
    border-radius: 12px 12px 15px 15px;
    clip-path: polygon(50% 0, 100% 14%, 92% 75%, 50% 100%, 8% 75%, 0 14%);
    font-size: .72rem;
    font-style: normal;
    font-weight: 900;
}

.filter-button {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

.filter-button > i,
.vehicle-link > i {
    font-size: .62rem;
    font-style: normal;
    transition: transform .3s var(--ease-spring);
}

.filter-button:hover > i,
.filter-button.active > i {
    transform: rotate(45deg) scale(1.08);
}

.vehicle-link {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
}

.vehicle-link:hover > i {
    transform: translate(3px, -3px);
}

.social-icon {
    position: relative;
    overflow: hidden;
    color: #111316;
    background: linear-gradient(145deg, #fff, #dce1e4);
    box-shadow: 0 6px 17px rgba(0, 0, 0, .16);
    transition: transform .38s var(--ease-spring), color .25s ease, background .25s ease;
}

.social-link:hover .social-icon,
.footer-socials a:hover .social-icon {
    transform: translateY(-2px) scale(1.1);
}

.social-instagram {
    background: linear-gradient(145deg, #f7a34d, #be3a86 52%, #5d59ca);
}

.social-instagram::before {
    position: absolute;
    inset: 5px;
    border: 1.6px solid #fff;
    border-radius: 6px;
    content: "";
}

.social-instagram::after {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.social-instagram i {
    width: 7px;
    height: 7px;
    border: 1.5px solid #fff;
    border-radius: 50%;
}

.social-facebook {
    color: #fff;
    background: #1877f2;
    font-family: Arial, sans-serif;
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1;
}

.social-tiktok {
    color: #fff;
    background:
        linear-gradient(135deg, #25f4ee 0 26%, #0c0d10 27% 70%, #fe2c55 71%);
    font-size: 1rem;
    font-weight: 900;
}

.social-maps {
    background: linear-gradient(145deg, #f8fafb, #dfe4e7);
}

.social-maps::before {
    position: absolute;
    top: 5px;
    left: 7px;
    width: 12px;
    height: 15px;
    border-radius: 50% 50% 50% 0;
    background: #d84a42;
    content: "";
    transform: rotate(-45deg);
}

.social-maps i {
    position: relative;
    z-index: 1;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
}

.footer-socials a {
    padding: 0;
}

.footer-socials .social-icon {
    width: 26px;
    height: 26px;
}

.contact-features span {
    position: relative;
    overflow: hidden;
    transition:
        color .25s ease,
        border-color .25s ease,
        background .25s ease,
        transform .38s var(--ease-spring);
}

.contact-features span:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .08);
    transform: translateY(-3px);
}

.contact-features span:nth-child(1) i::after {
    content: "✓";
}

.contact-features span:nth-child(2) i::after {
    content: "i";
}

.contact-features span:nth-child(3) i::after {
    content: "⌖";
}

.contact-features i {
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-size: .57rem;
    font-style: normal;
}

.button,
.header-cta,
.filter-button,
.vehicle-link,
.social-link,
.hero-slider-button,
.hero-slider-dot,
.footer-grid a,
.footer-bottom a,
.back-to-top,
.whatsapp-float {
    transform-origin: center;
}

.button:active,
.header-cta:active,
.filter-button:active,
.vehicle-link:active,
.social-link:active,
.hero-slider-button:active,
.footer-grid a:active,
.back-to-top:active,
.whatsapp-float:active {
    transform: scale(.96);
}

.whatsapp-float {
    position: fixed;
    right: 4.85rem;
    bottom: 1.1rem;
    z-index: 85;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #2bd46f, #159749);
    box-shadow: 0 15px 38px rgba(20, 154, 74, .34);
    text-decoration: none;
    transition:
        transform .42s var(--ease-spring),
        box-shadow .3s ease,
        filter .25s ease;
}

.whatsapp-float[hidden] {
    display: none;
}

.whatsapp-float:hover {
    box-shadow:
        0 19px 46px rgba(20, 154, 74, .46),
        0 0 0 7px rgba(43, 212, 111, .12);
    filter: saturate(1.12);
    transform: translateY(-4px) scale(1.06);
}

.whatsapp-symbol {
    position: relative;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
}

.whatsapp-symbol::after {
    position: absolute;
    bottom: -3px;
    left: 1px;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    content: "";
    transform: rotate(-18deg);
}

.whatsapp-symbol i::before {
    color: #fff;
    content: "⌕";
    font-size: 1rem;
    font-style: normal;
    font-weight: 900;
    transform: rotate(-34deg);
}

@media (max-width: 860px) {
    .hero-carousel-controls {
        right: 1rem;
        bottom: 1rem;
    }

    .hero-slider-counter {
        display: none;
    }

    .hero-slide-two,
    .hero-slide-three {
        background-position: 62% center;
    }
}

@media (max-width: 580px) {
    .hero-carousel-controls {
        gap: .45rem;
        padding: .42rem .5rem;
    }

    .hero-slider-button {
        width: 44px;
        height: 44px;
    }

    .hero-slider-dots {
        gap: .3rem;
    }

    .hero-slider-dot.active {
        width: 22px;
    }

    .whatsapp-float {
        right: 4.15rem;
        bottom: .8rem;
        width: 44px;
        height: 44px;
    }
}

/* ==========================================================================
   Aparición vinculada al desplazamiento · referencia WebXpress
   ========================================================================== */

.js.scroll-cinema.reveal-ready [data-reveal] {
    opacity: 0;
    filter: none;
    clip-path: none;
    transform: translate3d(0, 40px, 0);
    transition:
        opacity .42s ease,
        transform .46s cubic-bezier(.16, 1, .3, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.js.scroll-cinema.reveal-ready [data-reveal="left"] {
    transform: translate3d(-42px, 0, 0);
}

.js.scroll-cinema.reveal-ready [data-reveal="right"] {
    transform: translate3d(42px, 0, 0);
}

.js.scroll-cinema.reveal-ready [data-reveal="scale"] {
    transform: translate3d(0, 36px, 0);
}

.js.scroll-cinema.reveal-ready [data-reveal="flip"] {
    transform: translate3d(0, 40px, 0);
}

.js.scroll-cinema.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    filter: none;
    clip-path: none;
    transform: translate3d(0, 0, 0);
    will-change: auto;
}

main section[id] {
    transition:
        background-position 1.1s var(--ease-cinematic),
        box-shadow 1.1s ease;
}

main section[id].is-section-active {
    background-position: 50% 48%;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 -1px 0 rgba(255, 255, 255, .08);
}

.vehicles-section .section-heading {
    z-index: 8;
}

.vehicles-section .vehicle-grid {
    position: relative;
    z-index: 1;
}

.whatsapp-float {
    opacity: 0;
    transform: translateY(18px) scale(.72);
}

.site-ready .whatsapp-float,
.loader-timeout .whatsapp-float {
    animation: whatsapp-enter .72s var(--ease-spring) .18s forwards;
}

.whatsapp-float::after {
    position: absolute;
    inset: -1px;
    border: 1px solid rgba(57, 224, 126, .72);
    border-radius: inherit;
    content: "";
    pointer-events: none;
    animation: whatsapp-pulse 2.4s ease-out infinite;
}

.whatsapp-symbol i::before {
    display: block;
    color: #fff;
    content: "✆";
    font-family: Arial, sans-serif;
    font-size: 1.05rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    transform: rotate(-20deg);
}

@keyframes whatsapp-enter {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes whatsapp-pulse {
    0% {
        opacity: .72;
        transform: scale(.94);
    }
    72%,
    100% {
        opacity: 0;
        transform: scale(1.38);
    }
}

.loader-timeout .hero-content > * {
    opacity: 1;
    filter: none;
    transform: none;
    animation: none !important;
}

/* ==========================================================================
   Banner estable · proporción editorial y cambio sincronizado
   ========================================================================== */

.hero {
    min-height: clamp(650px, calc(100svh - 116px), 780px);
}

.hero-content {
    display: flex;
    width: 100%;
    min-height: inherit;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    padding-block: clamp(4rem, 7vh, 5.5rem) clamp(5.4rem, 8vh, 6.6rem);
}

.hero h1 {
    max-width: 650px;
    font-size: clamp(3rem, 4.7vw, 5.4rem);
    line-height: .96;
    text-wrap: pretty;
}

.hero-content[data-hero-index="1"] h1,
.hero-content[data-hero-index="2"] h1 {
    max-width: 660px;
    font-size: clamp(2.75rem, 3.85vw, 4.35rem);
    letter-spacing: -.05em;
    line-height: .98;
}

.hero-copy {
    max-width: 510px;
    margin-top: 1.35rem;
    font-size: clamp(.98rem, 1.25vw, 1.12rem);
    line-height: 1.55;
}

.hero-actions {
    margin-top: 1.45rem;
}

.hero-note {
    max-width: 620px;
    margin-top: 1.35rem;
}

.hero-content.is-initialized > * {
    opacity: 1;
    filter: none;
    transform: none;
    animation: none !important;
    transition:
        opacity .48s ease,
        filter .54s ease,
        transform .7s var(--ease-cinematic);
}

.hero-content.is-initialized.is-changing > * {
    opacity: 0 !important;
    filter: blur(14px);
    transform: translate3d(-24px, 0, 0) scale(.985);
}

.hero-content.is-initialized.is-changing > *:nth-child(2) {
    transform: translate3d(-34px, 0, 0) scale(.975);
}

.hero-slide {
    z-index: 0;
    opacity: 0;
    filter: blur(15px) saturate(.82);
    clip-path: inset(0 0 0 16%);
    transform: translate3d(4%, var(--hero-shift, 0), 0) scale(1.08);
    animation: none !important;
    transition:
        opacity 1.05s var(--ease-cinematic),
        filter 1.12s ease,
        clip-path 1.18s var(--ease-cinematic),
        transform 1.28s var(--ease-cinematic);
}

.hero-slide.is-active {
    z-index: 1;
    opacity: 1;
    filter: blur(0) saturate(1);
    clip-path: inset(0);
    transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.035);
}

.hero-slide-two,
.hero-slide-three {
    background-color: #e7e4de;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: auto 112%;
}

.hero-slider-button:disabled,
.hero-slider-dot:disabled {
    cursor: wait;
    opacity: .55;
    pointer-events: none;
}

@media (max-width: 1100px) {
    .hero h1 {
        max-width: 580px;
        font-size: clamp(3rem, 6.2vw, 4.8rem);
    }

    .hero-content[data-hero-index="1"] h1,
    .hero-content[data-hero-index="2"] h1 {
        max-width: 590px;
        font-size: clamp(2.65rem, 5.5vw, 4.1rem);
    }

    .hero-slide-two,
    .hero-slide-three {
        background-position: 80% center;
        background-size: auto 108%;
    }
}

@media (max-width: 860px) {
    .hero {
        min-height: 720px;
    }

    .hero-content {
        min-height: 720px;
        justify-content: flex-end;
        padding-block: 4rem 6rem;
    }

    .hero h1 {
        max-width: 620px;
        font-size: clamp(2.75rem, 9.2vw, 4.45rem);
    }

    .hero-content[data-hero-index="1"] h1,
    .hero-content[data-hero-index="2"] h1 {
        max-width: 610px;
        font-size: clamp(2.55rem, 8.1vw, 3.95rem);
    }

    .hero-slide-two,
    .hero-slide-three {
        background-position: 62% center;
        background-size: cover;
    }
}

@media (max-width: 580px) {
    .hero,
    .hero-content {
        min-height: 760px;
    }

    .hero-content {
        padding-block: 3.5rem 6.2rem;
    }

    .hero h1 {
        max-width: 100%;
        font-size: clamp(2.45rem, 12vw, 3.35rem);
        line-height: .98;
    }

    .hero-content[data-hero-index="1"] h1,
    .hero-content[data-hero-index="2"] h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 10.7vw, 3rem);
        line-height: 1;
    }

    .hero-copy {
        max-width: 100%;
        margin-top: 1rem;
        font-size: .95rem;
        line-height: 1.48;
    }

    .hero-actions {
        gap: .65rem;
        margin-top: 1.1rem;
    }

    .hero-note {
        margin-top: 1rem;
        font-size: .62rem;
        line-height: 1.5;
    }
}

/* ==========================================================================
   Interacciones premium de geometría estable
   El hover nunca altera tamaño, posición, rotación ni espaciado.
   ========================================================================== */

.brand-mark,
.brand-name,
.main-nav a,
.header-cta,
.button,
.filter-button,
.vehicle-link,
.social-link,
.hero-slider-button,
.hero-slider-dot,
.footer-grid a,
.footer-bottom a,
.footer-logo-frame,
.technology,
.back-to-top,
.whatsapp-float {
    translate: none !important;
    scale: none !important;
    transform-origin: center;
}

.brand-mark {
    transition:
        border-color .28s ease,
        box-shadow .32s ease,
        filter .32s ease !important;
}

.brand:hover .brand-mark,
.brand:focus-visible .brand-mark {
    box-shadow:
        0 10px 27px rgba(8, 9, 10, .17),
        0 0 0 1px rgba(86, 94, 101, .18),
        inset 0 0 0 1px rgba(255, 255, 255, .24) !important;
    filter: contrast(1.04) brightness(1.025);
    transform: none !important;
}

.brand-name {
    transition: color .25s ease, text-shadow .3s ease !important;
}

.brand:hover .brand-name,
.brand:focus-visible .brand-name {
    letter-spacing: .16em !important;
    text-shadow: 0 7px 22px rgba(16, 20, 24, .14);
    transform: none !important;
}

.main-nav a {
    background: transparent;
    transition:
        color .24s ease,
        background-color .28s ease,
        box-shadow .28s ease,
        text-shadow .28s ease !important;
}

.main-nav a::before {
    display: none !important;
}

.main-nav a::after {
    height: 2px;
    background: linear-gradient(90deg, transparent, #14171a 18%, #14171a 82%, transparent);
    transform-origin: center;
    transition: transform .32s var(--ease-cinematic), opacity .22s ease;
}

.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a.active {
    color: #050607;
    background: transparent;
    box-shadow: none;
    letter-spacing: .12em !important;
    text-shadow: 0 7px 20px rgba(11, 13, 15, .16);
    transform: none !important;
}

.button,
.header-cta,
.filter-button,
.vehicle-link,
.social-link,
.hero-slider-button,
.hero-slider-dot,
.footer-grid a,
.footer-bottom a,
.footer-socials a,
.back-to-top,
.whatsapp-float,
.dialog-close,
.text-link {
    transition:
        color .24s ease,
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .32s ease,
        filter .28s ease,
        opacity .24s ease !important;
}

.button::after,
.header-cta::after,
.filter-button::after,
.ripple {
    display: none !important;
}

.header-cta:hover,
.header-cta:focus-visible,
.button-dark:hover,
.button-dark:focus-visible {
    border-color: #24282c;
    color: #fff;
    background: #171a1d;
    box-shadow:
        0 12px 28px rgba(8, 10, 12, .2),
        inset 0 -2px 0 rgba(255, 255, 255, .28),
        inset 0 0 0 1px rgba(255, 255, 255, .06);
    filter: brightness(1.04);
    transform: none !important;
}

.button-light:hover,
.button-light:focus-visible {
    border-color: #24282c;
    color: #0c0e10;
    background: rgba(255, 255, 255, .9);
    box-shadow:
        0 12px 28px rgba(8, 10, 12, .14),
        inset 0 -2px 0 rgba(12, 14, 16, .24);
    filter: none;
    transform: none !important;
}

.header-cta > i,
.hero-actions .button > i,
.dialog-action > i,
.form-submit > i,
.footer-cta-button > i,
.filter-button > i,
.vehicle-link > i,
.social-icon {
    transition:
        color .24s ease,
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        filter .28s ease !important;
}

.header-cta:hover > i,
.header-cta:focus-visible > i,
.hero-actions .button:hover > i,
.hero-actions .button:focus-visible > i,
.dialog-action:hover > i,
.dialog-action:focus-visible > i,
.filter-button:hover > i,
.filter-button:focus-visible > i,
.filter-button.active > i,
.vehicle-link:hover > i,
.vehicle-link:focus-visible > i,
.social-link:hover .social-icon,
.social-link:focus-visible .social-icon,
.footer-socials a:hover .social-icon,
.footer-socials a:focus-visible .social-icon {
    filter: brightness(1.06);
    transform: none !important;
}

.header-cta:hover > i,
.header-cta:focus-visible > i,
.button-dark:hover > i,
.button-dark:focus-visible > i,
.dialog-action:hover > i,
.dialog-action:focus-visible > i {
    color: #111;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .12);
}

.button-light:hover > i,
.button-light:focus-visible > i {
    color: #fff;
    background: #111;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, .08);
}

.filter-button:hover,
.filter-button:focus-visible,
.filter-button.active {
    border-color: #171a1d;
    box-shadow:
        0 9px 22px rgba(8, 10, 12, .12),
        inset 0 -2px 0 rgba(255, 255, 255, .2);
    transform: none !important;
}

.vehicle-link:hover,
.vehicle-link:focus-visible,
.text-link:hover,
.text-link:focus-visible {
    color: #090b0d;
    text-shadow: 0 6px 18px rgba(8, 10, 12, .14);
    transform: none !important;
}

.hero-slider-button:hover,
.hero-slider-button:focus-visible {
    color: #fff;
    background: #0a0c0e;
    box-shadow:
        0 10px 27px rgba(8, 9, 10, .22),
        inset 0 0 0 1px rgba(255, 255, 255, .12);
    transform: none !important;
}

.hero-slider-dot:hover,
.hero-slider-dot:focus-visible {
    border-color: #111;
    box-shadow: 0 0 0 4px rgba(8, 9, 10, .08);
    transform: none !important;
}

.footer-logo-frame {
    transition:
        border-color .3s ease,
        box-shadow .34s ease,
        filter .3s ease !important;
}

.footer-logo-frame:hover,
.footer-logo-frame:focus-within {
    border-color: rgba(255, 255, 255, .3);
    box-shadow:
        0 20px 52px rgba(0, 0, 0, .46),
        0 0 0 1px rgba(255, 255, 255, .08),
        0 0 30px rgba(255, 255, 255, .07) !important;
    filter: brightness(1.06);
    transform: none !important;
}

.footer-logo-frame img,
.technology-panel img {
    transform: none !important;
}

.technology {
    transition:
        border-color .3s ease,
        background-color .3s ease,
        box-shadow .34s ease !important;
}

.technology:hover,
.technology:focus-within {
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .05);
    box-shadow:
        0 18px 44px rgba(0, 0, 0, .24),
        inset 0 0 0 1px rgba(255, 255, 255, .035);
    transform: none !important;
}

.footer-grid .footer-column a:hover,
.footer-grid .footer-column a:focus-visible,
.footer-bottom a:hover,
.footer-bottom a:focus-visible {
    color: #fff;
    text-shadow: 0 5px 17px rgba(255, 255, 255, .12);
    transform: none !important;
}

.footer-socials a:hover,
.footer-socials a:focus-visible {
    color: #111 !important;
    background: #fff;
    box-shadow:
        0 9px 24px rgba(0, 0, 0, .3),
        0 0 0 3px rgba(255, 255, 255, .08);
    transform: none !important;
}

.back-to-top:hover,
.back-to-top:focus-visible {
    border-color: rgba(255, 255, 255, .42);
    box-shadow:
        0 13px 34px rgba(0, 0, 0, .28),
        inset 0 0 0 1px rgba(255, 255, 255, .12);
    filter: brightness(1.08);
    transform: none !important;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
    box-shadow:
        0 17px 42px rgba(20, 154, 74, .42),
        0 0 0 7px rgba(43, 212, 111, .11),
        inset 0 0 0 1px rgba(255, 255, 255, .22);
    filter: saturate(1.08) brightness(1.03);
    transform: none !important;
}

.button:active,
.header-cta:active,
.filter-button:active,
.vehicle-link:active,
.social-link:active,
.hero-slider-button:active,
.hero-slider-dot:active,
.footer-grid a:active,
.footer-bottom a:active,
.footer-socials a:active,
.back-to-top:active,
.whatsapp-float:active,
.dialog-close:active,
.text-link:active {
    filter: brightness(.92);
    transform: none !important;
}

/* ==========================================================================
   Refinamiento de portada y apariciones · referencia WebXpress
   ========================================================================== */

.hero-content[data-hero-index="1"] h1,
.hero-content[data-hero-index="2"] h1 {
    max-width: 620px;
    font-size: clamp(2.9rem, 4.2vw, 4.8rem);
    line-height: .97;
    text-wrap: balance;
}

.hero-content.is-initialized > * {
    transition:
        opacity .58s ease,
        filter .64s ease,
        transform .78s var(--ease-cinematic);
}

.hero-content.is-initialized > *:nth-child(1) {
    transition-delay: 0ms;
}

.hero-content.is-initialized > *:nth-child(2) {
    transition-delay: 55ms;
}

.hero-content.is-initialized > *:nth-child(3) {
    transition-delay: 110ms;
}

.hero-content.is-initialized > *:nth-child(4) {
    transition-delay: 165ms;
}

.hero-content.is-initialized > *:nth-child(5) {
    transition-delay: 220ms;
}

.hero-content.is-initialized.is-changing > * {
    opacity: 0 !important;
    filter: blur(12px);
    transform: translate3d(-30px, 12px, 0);
    transition-delay: 0ms !important;
}

.hero-content.is-initialized.is-changing > *:nth-child(2) {
    transform: translate3d(-42px, 16px, 0);
}

.hero-stage::after {
    opacity: .46;
    background:
        linear-gradient(105deg, transparent 34%, rgba(255, 255, 255, .3) 50%, transparent 66%),
        repeating-linear-gradient(90deg, transparent 0 13.8%, rgba(255, 255, 255, .035) 14% 14.08%);
    background-position: -150% 0, 0 0;
    background-size: 220% 100%, auto;
}

.hero.is-switching .hero-stage::after {
    animation: hero-change-sheen 1.38s var(--ease-cinematic) both;
}

@keyframes hero-change-sheen {
    0% {
        opacity: .3;
        background-position: -150% 0, 0 0;
    }
    48% {
        opacity: .72;
    }
    100% {
        opacity: .46;
        background-position: 150% 0, 0 0;
    }
}

.whatsapp-symbol {
    width: 25px;
    height: 25px;
    border: 0;
}

.whatsapp-symbol::after,
.whatsapp-symbol i,
.whatsapp-symbol i::before {
    display: none !important;
}

.whatsapp-symbol img {
    display: block;
    width: 25px;
    height: 25px;
    filter: brightness(0) invert(1);
}

@media (max-width: 860px) {
    .js.scroll-cinema.reveal-ready [data-reveal],
    .js.scroll-cinema.reveal-ready [data-reveal="left"],
    .js.scroll-cinema.reveal-ready [data-reveal="right"],
    .js.scroll-cinema.reveal-ready [data-reveal="scale"],
    .js.scroll-cinema.reveal-ready [data-reveal="flip"] {
        transform: translate3d(0, 26px, 0);
    }

    .js.scroll-cinema.reveal-ready [data-reveal].is-visible {
        transform: translate3d(0, 0, 0);
    }
}

/* ==========================================================================
   Política de movimiento y navegación cinematográfica
   La experiencia completa es el modo predeterminado del sitio.
   ========================================================================== */

.motion-enabled .hero-slider-dot {
    overflow: hidden;
}

.motion-enabled .hero-slider-dot.active {
    background: rgba(174, 181, 186, .72);
}

.motion-enabled .hero-slider-dot.active.is-counting::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: #111;
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
    animation: hero-cycle-progress var(--hero-autoplay-duration, 10s) linear forwards;
}

@keyframes hero-cycle-progress {
    to {
        transform: scaleX(1);
    }
}

.section-transition {
    --journey-duration: 1500ms;
    overflow: visible;
}

.section-transition::before {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: min(96vw, 1180px);
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(
        ellipse at center,
        rgba(214, 223, 230, .22) 0,
        rgba(140, 151, 160, .09) 28%,
        transparent 72%
    );
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) scaleX(.22);
}

.section-transition.is-active::before {
    animation: journey-aura var(--journey-duration) cubic-bezier(.16, 1, .3, 1) both;
}

.section-transition.is-active .transition-distance::after {
    animation: journey-distance var(--journey-duration) linear both;
}

.section-transition.is-active .transition-beam {
    animation: journey-beam var(--journey-duration) cubic-bezier(.16, 1, .3, 1) both;
}

body.is-journeying .site-header::after {
    opacity: 1;
    transform: translateX(50%) scaleX(1);
}

body.is-journeying .section-transition {
    box-shadow:
        0 22px 64px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .1),
        0 0 45px rgba(210, 220, 228, .13);
}

@keyframes journey-aura {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scaleX(.2);
    }
    22% {
        opacity: 1;
    }
    68% {
        opacity: .58;
        transform: translate(-50%, -50%) scaleX(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scaleX(1.08);
    }
}

/* Opción explícita: /desarrollo/?motion=reduce */
.motion-reduced {
    scroll-behavior: auto;
}

.motion-reduced *,
.motion-reduced *::before,
.motion-reduced *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
}

.motion-reduced .loader-line i,
.motion-reduced .ambient-orb,
.motion-reduced .preview-ribbon,
.motion-reduced .loader-glow,
.motion-reduced .loader-inner::before,
.motion-reduced .loader-emblem img,
.motion-reduced .loader-orbit,
.motion-reduced .hero-media,
.motion-reduced .hero-light,
.motion-reduced .hero-scroll-cue i::after,
.motion-reduced .vehicles-section::before,
.motion-reduced .form-orbit,
.motion-reduced .form-chip i,
.motion-reduced .contact-card-top small i,
.motion-reduced .hero.is-switching .hero-stage::before,
.motion-reduced .hero.is-switching .hero-stage::after,
.motion-reduced .whatsapp-float::after {
    animation: none !important;
}

.motion-reduced .hero-content > *,
.motion-reduced .hero-content.is-initialized > *,
.motion-reduced .hero-content.is-initialized.is-changing > *,
.motion-reduced.site-ready .hero-content > *,
.motion-reduced.loader-timeout .hero-content > * {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

.motion-reduced .hero-slide,
.motion-reduced .hero-slide.is-active {
    filter: none;
    clip-path: none;
    transform: none;
    transition: opacity .01ms linear;
}

.motion-reduced.scroll-cinema.reveal-ready [data-reveal],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal="left"],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal="right"],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal="scale"],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal="flip"],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal="wipe"],
.motion-reduced.scroll-cinema.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    filter: none;
    clip-path: none;
    transform: none;
    transition: none;
}

.motion-reduced.site-ready .whatsapp-float,
.motion-reduced.loader-timeout .whatsapp-float {
    opacity: 1;
    transform: none;
    animation: none;
}

.motion-reduced .site-loader.is-exiting .loader-shutter-top,
.motion-reduced .site-loader.is-exiting .loader-shutter-bottom {
    transform: none;
}

.motion-reduced .section-arrival::before {
    display: none;
}

/* ==========================================================================
   Profundidad visual reforzada · aparición perceptible y banner de dos capas
   ========================================================================== */

.motion-enabled.scroll-cinema.reveal-ready [data-reveal] {
    opacity: 0;
    filter: blur(9px);
    transform: translate3d(0, 58px, 0);
    transition:
        opacity .82s ease,
        filter .92s ease,
        transform 1s cubic-bezier(.16, 1, .3, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.motion-enabled.scroll-cinema.reveal-ready [data-reveal="left"] {
    transform: translate3d(-64px, 12px, 0);
}

.motion-enabled.scroll-cinema.reveal-ready [data-reveal="right"] {
    transform: translate3d(64px, 12px, 0);
}

.motion-enabled.scroll-cinema.reveal-ready [data-reveal="scale"] {
    transform: translate3d(0, 48px, 0) scale(.965);
}

.motion-enabled.scroll-cinema.reveal-ready [data-reveal="flip"] {
    transform: translate3d(0, 58px, 0) rotateX(5deg);
    transform-origin: center bottom;
}

.motion-enabled.scroll-cinema.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1) rotateX(0);
}

.hero-content.is-initialized > * {
    transition:
        opacity .72s ease,
        filter .84s ease,
        transform .98s var(--ease-cinematic);
}

.hero-slide {
    transition:
        opacity 1.24s var(--ease-cinematic),
        filter 1.36s ease,
        clip-path 1.46s var(--ease-cinematic),
        transform 1.58s var(--ease-cinematic);
}

.hero-stage::before {
    position: absolute;
    z-index: 2;
    inset: -8% -20%;
    background:
        linear-gradient(
            108deg,
            transparent 22%,
            rgba(255, 255, 255, .18) 38%,
            rgba(236, 240, 243, .62) 48%,
            rgba(25, 29, 33, .2) 54%,
            rgba(255, 255, 255, .12) 64%,
            transparent 78%
        );
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: translate3d(-112%, 0, 0) skewX(-8deg);
    will-change: opacity, transform;
}

.hero.is-switching .hero-stage::before {
    animation: hero-metal-curtain 1.3s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes hero-metal-curtain {
    0% {
        opacity: 0;
        transform: translate3d(-112%, 0, 0) skewX(-8deg);
    }
    22% {
        opacity: .76;
    }
    58% {
        opacity: .54;
    }
    100% {
        opacity: 0;
        transform: translate3d(112%, 0, 0) skewX(-8deg);
    }
}

@media (max-width: 860px) {
    .motion-enabled.scroll-cinema.reveal-ready [data-reveal],
    .motion-enabled.scroll-cinema.reveal-ready [data-reveal="left"],
    .motion-enabled.scroll-cinema.reveal-ready [data-reveal="right"],
    .motion-enabled.scroll-cinema.reveal-ready [data-reveal="scale"],
    .motion-enabled.scroll-cinema.reveal-ready [data-reveal="flip"] {
        transform: translate3d(0, 42px, 0);
    }

    .motion-enabled.scroll-cinema.reveal-ready [data-reveal].is-visible {
        transform: translate3d(0, 0, 0);
    }
}

/* ==========================================================================
   Identidad normalizada, margen editorial y accesos flotantes coordinados
   ========================================================================== */

.hero-content.container {
    width: min(calc(100% - clamp(3rem, 8vw, 8rem)), var(--container));
    margin-inline: auto;
}

.brand-mark,
.footer-logo-frame {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.brand-mark img,
.footer-logo-frame img {
    position: absolute;
    top: -36%;
    left: -66%;
    width: 232% !important;
    max-width: none;
    height: 232% !important;
    margin: 0;
    object-fit: cover;
}

.brand-mark::after,
.brand-mark::before {
    z-index: 2;
}

.technology-panel img {
    display: block;
    width: min(100%, 205px) !important;
    height: auto !important;
    aspect-ratio: 520 / 115;
    object-fit: contain;
}

/* Firma tecnológica integrada al lenguaje grafito y plata del sitio */
.technology {
    position: relative;
    isolation: isolate;
    display: grid;
    width: 100%;
    max-width: 320px;
    min-width: 0;
    align-self: start;
    gap: .9rem;
    overflow: hidden;
    padding: 1.15rem;
    border: 1px solid rgba(203, 211, 219, .16);
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 8%, rgba(50, 112, 235, .16), transparent 34%),
        linear-gradient(145deg, rgba(22, 25, 29, .92), rgba(7, 9, 11, .97));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .055),
        0 20px 48px rgba(0, 0, 0, .2);
    color: #fff;
    text-decoration: none;
    transform: none !important;
    transition:
        border-color .35s ease,
        background-color .35s ease,
        box-shadow .4s ease !important;
}

.technology::before {
    position: absolute;
    z-index: -1;
    right: -72px;
    bottom: -86px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    box-shadow:
        0 0 0 22px rgba(255, 255, 255, .018),
        0 0 0 48px rgba(255, 255, 255, .012);
    content: "";
}

.technology::after {
    position: absolute;
    z-index: 2;
    top: -45%;
    left: -62%;
    width: 42%;
    height: 190%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .09), transparent);
    content: "";
    pointer-events: none;
    transform: skewX(-18deg) translateX(0);
    transition: transform .75s var(--ease-cinematic);
}

.technology:hover,
.technology:focus-visible {
    border-color: rgba(204, 214, 225, .32);
    background:
        radial-gradient(circle at 92% 8%, rgba(50, 112, 235, .22), transparent 37%),
        linear-gradient(145deg, rgba(25, 29, 34, .96), rgba(7, 9, 11, .98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 22px 56px rgba(0, 0, 0, .3),
        0 0 36px rgba(44, 100, 218, .08);
    color: #fff;
    transform: none !important;
}

.technology:hover::after,
.technology:focus-visible::after {
    transform: skewX(-18deg) translateX(440%);
}

.technology:focus-visible {
    outline: 2px solid rgba(121, 164, 255, .9);
    outline-offset: 4px;
}

.technology-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.technology-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #a8b0b8;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.technology-kicker i {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #4d86ff;
    box-shadow: 0 0 0 4px rgba(77, 134, 255, .12), 0 0 16px rgba(77, 134, 255, .55);
}

.technology-arrow {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    color: #d7dde4;
    background: rgba(255, 255, 255, .035);
    font-family: Arial, sans-serif;
    font-size: .74rem;
    transition: border-color .3s ease, color .3s ease, background-color .3s ease;
}

.technology:hover .technology-arrow,
.technology:focus-visible .technology-arrow {
    border-color: rgba(118, 158, 243, .52);
    color: #fff;
    background: rgba(66, 119, 235, .14);
}

.technology-panel {
    position: relative;
    display: grid;
    width: 100%;
    max-width: none;
    min-height: 68px;
    place-items: center;
    overflow: hidden;
    padding: .9rem 1rem;
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 11px;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .98), rgba(224, 229, 235, .94) 56%, rgba(247, 248, 250, .97));
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgba(84, 95, 107, .08),
        0 12px 28px rgba(0, 0, 0, .22);
}

.technology-panel::after {
    position: absolute;
    right: -24px;
    bottom: -42px;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(50, 111, 238, .13), transparent 68%);
    content: "";
    pointer-events: none;
}

.technology .technology-panel img {
    position: relative;
    z-index: 1;
    display: block;
    width: min(100%, 190px) !important;
    height: auto !important;
    aspect-ratio: 520 / 115;
    object-fit: contain;
    padding: 0;
    border-radius: 0;
    background: transparent;
    filter: saturate(.94) contrast(1.04);
    transform: none !important;
}

.technology-copy {
    display: grid;
    gap: .25rem;
}

.technology-copy strong {
    color: #f4f6f8;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .01em;
    line-height: 1.25;
}

.technology-copy small {
    color: #858e97;
    font-size: .61rem;
    line-height: 1.45;
}

.technology-services {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
    padding-top: .05rem;
}

.technology-services > span {
    padding: .33rem .48rem;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 999px;
    color: #aab1b8;
    background: rgba(255, 255, 255, .035);
    font-size: .5rem;
    font-weight: 750;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
}

@media (max-width: 1120px) {
    .technology {
        max-width: 360px;
    }
}

@media (max-width: 580px) {
    .technology {
        max-width: 100%;
        padding: 1rem;
    }

    .technology-panel {
        min-height: 64px;
    }
}

.social-icon {
    color: transparent;
}

.social-icon > img {
    position: relative;
    z-index: 2;
    display: block;
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.social-icon::before,
.social-icon::after,
.social-icon > i {
    display: none !important;
}

.social-maps {
    background: linear-gradient(145deg, #59a86b, #4285f4 58%, #3367d6);
}

.footer-socials a:hover .social-icon > img,
.footer-socials a:focus-visible .social-icon > img {
    filter: invert(1);
}

.site-ready .whatsapp-float,
.loader-timeout .whatsapp-float {
    animation: none;
}

.whatsapp-float {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px) !important;
    transition:
        opacity .28s ease,
        visibility .28s ease,
        transform .46s var(--ease-cinematic),
        box-shadow .32s ease,
        filter .28s ease !important;
}

.whatsapp-float.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none !important;
}

.whatsapp-float:not(.is-visible)::after {
    animation-play-state: paused;
}

.motion-reduced.site-ready .whatsapp-float,
.motion-reduced.loader-timeout .whatsapp-float {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.motion-reduced.site-ready .whatsapp-float.is-visible,
.motion-reduced.loader-timeout .whatsapp-float.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

@media (max-width: 580px) {
    .hero-content.container {
        width: calc(100% - 2.5rem);
    }

    .hero-content.is-initialized.is-changing > *,
    .hero-content.is-initialized.is-changing > *:nth-child(2) {
        transform: translate3d(-12px, 8px, 0);
    }
}

/* ==========================================================================
   Iconografía unificada y encuadre definitivo de la identidad
   ========================================================================== */

.brand-mark img,
.footer-logo-frame img {
    top: -20%;
}

.ui-icon {
    display: block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    object-fit: contain;
}

.ui-icon-light {
    filter: brightness(0) invert(1);
}

.main-nav a {
    display: inline-flex;
    align-items: center;
    gap: .46rem;
}

.main-nav a > .ui-icon {
    width: 14px;
    height: 14px;
    opacity: .48;
    transition: opacity .25s ease, filter .25s ease;
}

.main-nav a:hover > .ui-icon,
.main-nav a:focus-visible > .ui-icon,
.main-nav a.active > .ui-icon {
    opacity: .95;
}

.eyebrow,
.section-kicker,
.hero-note,
.footer-cta-kicker,
.contact-location,
.footer-bottom > span,
.footer-copyright {
    display: inline-flex;
    align-items: center;
}

.eyebrow,
.section-kicker,
.hero-note,
.footer-cta-kicker {
    gap: .55rem;
}

.eyebrow > .ui-icon,
.section-kicker > .ui-icon,
.hero-note > .ui-icon,
.footer-cta-kicker > .ui-icon {
    opacity: .74;
}

.section-kicker:has(> .ui-icon)::before,
.hero-note::before {
    display: none;
}

.header-cta > i .ui-icon,
.hero-actions .button > i .ui-icon,
.dialog-action > i .ui-icon,
.form-submit > i .ui-icon,
.footer-cta-button > i .ui-icon {
    width: 14px;
    height: 14px;
}

.button-light > i .ui-icon,
.footer-cta-button > i .ui-icon {
    filter: brightness(0) invert(1);
}

.hero-slider-button {
    display: grid;
    place-items: center;
}

.hero-slider-button .ui-icon {
    width: 15px;
    height: 15px;
}

.hero-slider-prev .ui-icon {
    transform: rotate(180deg);
}

.trust-icon {
    display: grid;
    place-items: center;
    overflow: hidden;
}

.trust-icon > .ui-icon {
    width: 22px;
    height: 22px;
    opacity: .86;
}

.trust-refresh::before,
.trust-refresh::after,
.trust-refresh i,
.trust-person::before,
.trust-person::after,
.trust-person i,
.trust-shield::before,
.trust-shield::after,
.trust-shield i {
    display: none !important;
}

.filter-button > .ui-icon {
    width: 12px;
    height: 12px;
    opacity: .72;
}

.filter-button:hover > .ui-icon,
.filter-button:focus-visible > .ui-icon,
.filter-button.active > .ui-icon {
    filter: brightness(0) invert(1);
    opacity: 1;
}

.vehicle-specs li {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
}

.vehicle-specs li + li::before {
    display: none;
}

.vehicle-specs .ui-icon {
    width: 12px;
    height: 12px;
    opacity: .58;
}

.vehicle-link {
    gap: .38rem;
}

.vehicle-link > .ui-icon {
    width: 12px;
    height: 12px;
    opacity: .7;
}

.steps li > span {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .055);
}

.steps li > span .ui-icon {
    width: 17px;
    height: 17px;
    opacity: .88;
}

.form-chip > .ui-icon {
    width: 13px;
    height: 13px;
    opacity: .72;
}

.field-label i > .ui-icon {
    width: 13px;
    height: 13px;
    filter: brightness(0) invert(1);
}

.about-values article > .value-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #d9dde1;
    border-radius: 11px;
    color: #111;
    background: linear-gradient(145deg, #fff, #e9ecef);
    box-shadow: 0 9px 22px rgba(13, 16, 19, .08);
}

.about-values article > .value-icon .ui-icon {
    width: 17px;
    height: 17px;
    opacity: .8;
}

.contact-features span > .ui-icon {
    width: 14px;
    height: 14px;
    opacity: .9;
}

.contact-symbol > .ui-icon {
    width: 20px;
    height: 20px;
}

.contact-location {
    gap: .42rem;
}

.contact-location > .ui-icon {
    width: 13px;
    height: 13px;
    opacity: .68;
}

.contact-email i > .ui-icon,
.technology-arrow > .ui-icon {
    width: 13px;
    height: 13px;
}

.footer-cta-kicker {
    margin-bottom: .7rem;
}

.footer-column a > i,
.footer-contact > span > i {
    display: grid;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 6px;
    background: rgba(255, 255, 255, .035);
}

.footer-column a > i .ui-icon,
.footer-contact > span > i .ui-icon {
    width: 10px;
    height: 10px;
    opacity: .66;
}

.footer-bottom > span {
    gap: .42rem;
}

.footer-copyright {
    gap: .42rem;
    padding: .46rem .68rem;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 999px;
    background: rgba(255, 255, 255, .025);
}

.footer-copyright > .ui-icon {
    width: 13px;
    height: 13px;
    opacity: .72;
}

.technology-arrow {
    overflow: hidden;
}

.back-to-top span,
.dialog-close {
    display: grid;
    place-items: center;
}

.back-to-top .ui-icon {
    width: 15px;
    height: 15px;
}

.dialog-close .ui-icon {
    width: 14px;
    height: 14px;
}

@media (max-width: 860px) {
    .main-nav a {
        gap: .72rem;
    }

    .main-nav a > .ui-icon {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================================================
   Identidad compacta Daire Autos
   Recupera la composición aprobada y eleva sutilmente la “R”.
   ========================================================================== */

.brand-mark {
    width: 56px;
    height: 56px;
    border-radius: 5px;
}

.footer-logo-frame {
    width: 96px;
    height: 96px;
}

.brand-mark img {
    position: absolute;
    top: -30%;
    left: -66%;
    width: 232% !important;
    max-width: none;
    height: 232% !important;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transform: none !important;
}

.footer-logo-frame img {
    position: absolute;
    top: -14%;
    left: -14%;
    width: 128% !important;
    max-width: none;
    height: 128% !important;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transform: none !important;
}

@media (max-width: 580px) {
    .brand-mark {
        width: 48px;
        height: 48px;
    }

    .footer-logo-frame {
        width: 88px;
        height: 88px;
    }
}

/* Iconos de venta con contraste permanente y significado comercial claro. */

.hero-actions .button-light > i,
.hero-actions .button-light:hover > i,
.hero-actions .button-light:focus-visible > i {
    border: 1px solid #d9dde0;
    color: #111;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .035);
}

.hero-actions .button-light > i .ui-icon,
.hero-actions .button-light:hover > i .ui-icon,
.hero-actions .button-light:focus-visible > i .ui-icon {
    opacity: 1;
    filter: none !important;
}

/* ==========================================================================
   Experiencia móvil: menú persistente, llamado visible y footer equilibrado
   ========================================================================== */

@media (max-width: 860px) {
    body.menu-open {
        overflow: hidden;
    }

    .site-header.menu-visible {
        position: fixed;
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        z-index: 1000;
        width: 100%;
    }

    .main-nav,
    .site-header.is-scrolled .main-nav {
        position: absolute;
        top: 100%;
        right: 0;
        bottom: auto;
        left: 0;
        z-index: 5;
        width: 100%;
        max-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-top: 1px solid #e4e1dc;
        background: rgba(255, 255, 255, .985);
        box-shadow: 0 24px 48px rgba(8, 10, 12, .16);
        -webkit-overflow-scrolling: touch;
    }

    .site-header.menu-visible .main-nav {
        position: fixed;
        top: var(--mobile-menu-top, 76px);
        right: 0;
        bottom: auto;
        left: 0;
        z-index: 1001;
    }

    .main-nav.open,
    .site-header.menu-visible .main-nav.open {
        max-height: min(440px, calc(100dvh - var(--mobile-menu-top, 76px)));
        padding: .72rem 1rem 1rem;
        overflow-anchor: none;
    }

    .main-nav a {
        display: flex;
        min-height: 52px;
        align-items: center;
        margin-block: .12rem;
        padding: .85rem 1rem;
        border: 1px solid transparent;
        border-radius: 10px;
    }

    .main-nav.open a {
        visibility: visible;
    }

    .main-nav a.active {
        border-color: #111;
        color: #fff;
        background: #111;
        box-shadow: 0 8px 20px rgba(10, 12, 14, .14);
    }

    .main-nav a.active > .ui-icon {
        filter: brightness(0) invert(1);
        opacity: 1;
    }
}

@media (max-width: 580px) {
    .about-panel .text-link {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        gap: .65rem;
    }

    .about-panel .text-link > span {
        display: grid;
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        place-items: center;
        border: 1px solid #111;
        border-radius: 50%;
        background: #111;
        box-shadow: 0 8px 20px rgba(8, 10, 12, .14);
    }

    .about-panel .text-link > span .ui-icon {
        width: 17px;
        height: 17px;
        opacity: 1;
        filter: brightness(0) invert(1);
    }

    .footer-grid {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        column-gap: 1rem;
        row-gap: 2.6rem;
    }

    .footer-grid > .footer-brand,
    .footer-grid > .technology {
        grid-column: 1 / -1;
    }

    .footer-brand {
        justify-items: center;
        text-align: center;
    }

    .footer-column {
        min-width: 0;
    }

    .footer-grid .footer-column a,
    .footer-grid .footer-column > span:not(.footer-label) {
        font-size: clamp(.67rem, 2.8vw, .78rem);
    }

    .footer-contact > a,
    .footer-contact > span {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .footer-contact .footer-socials {
        flex-wrap: wrap;
    }

    .technology {
        width: 100%;
        justify-self: stretch;
    }

    .technology-panel {
        max-width: 280px;
        margin-inline: auto;
    }

    .footer-bottom {
        align-items: center;
        text-align: center;
    }
}

/* Reunión 29-07-2026: frontis real y cinta administrable estilo pincel */

.hero-slide-one {
    background-image: url("hero-frontis-rdaire.webp");
    background-position: 54% center;
}

.vehicle-photo {
    isolation: isolate;
}

.vehicle-corner-ribbon {
    --ribbon-color: #20d99a;
    --ribbon-ink: #06140f;
    position: absolute;
    top: 17px;
    right: -65px;
    z-index: 4;
    display: grid;
    width: 240px;
    min-height: 58px;
    place-items: center;
    padding: 8px 42px;
    overflow: hidden;
    color: var(--ribbon-ink);
    background: var(--ribbon-color);
    clip-path: polygon(
        4% 4%, 100% 0, 95% 14%, 100% 28%, 94% 41%, 100% 57%,
        94% 71%, 100% 88%, 95% 100%, 0 95%, 5% 79%, 0 63%,
        6% 48%, 0 31%, 7% 17%
    );
    box-shadow: 0 10px 28px color-mix(in srgb, var(--ribbon-color) 38%, transparent);
    font-family: Bahnschrift, "Arial Narrow", "Segoe UI", sans-serif;
    font-size: .71rem;
    font-weight: 900;
    letter-spacing: .15em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(39deg);
    transform-origin: center;
    pointer-events: none;
}

.vehicle-corner-ribbon::before,
.vehicle-corner-ribbon::after {
    position: absolute;
    right: 15%;
    left: 8%;
    height: 2px;
    content: "";
    background: color-mix(in srgb, var(--ribbon-ink) 19%, transparent);
    opacity: .6;
    transform: rotate(-1deg);
}

.vehicle-corner-ribbon::before {
    top: 9px;
}

.vehicle-corner-ribbon::after {
    bottom: 10px;
    left: 19%;
    opacity: .35;
}

.vehicle-corner-ribbon[data-ribbon-color="verde"] {
    --ribbon-color: #2bea9f;
    --ribbon-ink: #04170f;
}

.vehicle-corner-ribbon[data-ribbon-color="azul"] {
    --ribbon-color: #3aa7ff;
    --ribbon-ink: #061528;
}

.vehicle-corner-ribbon[data-ribbon-color="rojo"] {
    --ribbon-color: #ff4c55;
    --ribbon-ink: #270508;
}

.vehicle-corner-ribbon[data-ribbon-color="ambar"] {
    --ribbon-color: #ffbd3d;
    --ribbon-ink: #241300;
}

.vehicle-corner-ribbon[data-ribbon-color="violeta"] {
    --ribbon-color: #9e77ff;
    --ribbon-ink: #16082e;
}

.vehicle-corner-ribbon[data-ribbon-color="grafito"] {
    --ribbon-color: #22272c;
    --ribbon-ink: #fff;
}

.transmission-gears-icon {
    border-radius: 2px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

@media (max-width: 760px) {
    .hero-slide-one {
        background-position: 58% center;
    }

    .vehicle-corner-ribbon {
        top: 14px;
        right: -68px;
        width: 226px;
        min-height: 54px;
        font-size: .65rem;
    }
}

/* Cierre visual del sitio 29-07-2026:
   catálogo legible, formulario sin conexión y contacto unificado. */

.vehicle-specs .transmission-gears-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    opacity: .82;
}

.contact-footer {
    scroll-margin-top: 104px;
    padding: clamp(3.2rem, 6vw, 5.4rem) 0 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background:
        radial-gradient(circle at 8% 25%, rgba(255, 255, 255, .035), transparent 26%),
        linear-gradient(145deg, #050607, #0b0e11 58%, #050607);
}

.footer-reference-grid {
    display: grid;
    grid-template-columns: minmax(190px, .86fr) minmax(230px, 1fr) minmax(190px, .72fr) minmax(300px, 1.42fr);
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(7, 9, 11, .88);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
}

.footer-reference-grid > section {
    min-width: 0;
    padding: clamp(1.5rem, 2.5vw, 2.4rem);
}

.footer-reference-grid > section + section {
    border-left: 1px solid rgba(255, 255, 255, .1);
}

.footer-reference-grid h3 {
    position: relative;
    margin: 0 0 1.45rem;
    color: #fff;
    font-family: Bahnschrift, "Arial Narrow", "Segoe UI", sans-serif;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-reference-grid h3::after {
    position: absolute;
    bottom: -.65rem;
    left: 0;
    width: 34px;
    height: 1px;
    content: "";
    background: #fff;
    opacity: .72;
}

.footer-reference-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-reference-brand .footer-logo-frame {
    width: 96px;
    height: 96px;
    margin: 0 0 1rem;
    border-color: rgba(255, 255, 255, .17);
    border-radius: 15px;
    background: #060708;
}

.footer-reference-brand .footer-logo-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-reference-brand h3 {
    margin-bottom: .75rem;
    font-size: .9rem;
}

.footer-reference-brand h3::after {
    display: none;
}

.footer-reference-brand p,
.footer-reference-brand > span:not(.footer-logo-frame) {
    margin: 0 0 .6rem;
    color: #aeb4bb;
    font-size: .75rem;
    line-height: 1.55;
}

.footer-reference-brand strong {
    margin: 1.2rem 0 .75rem;
    color: #fff;
    font-size: .66rem;
    letter-spacing: .11em;
    line-height: 1.45;
    text-transform: uppercase;
}

.footer-reference-brand .footer-socials {
    display: flex;
    gap: .55rem;
    margin: 0;
}

.footer-reference-brand .footer-socials a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.footer-reference-brand .footer-socials a:hover,
.footer-reference-brand .footer-socials a:focus-visible {
    border-color: rgba(255, 255, 255, .5);
    outline: 0;
    background: rgba(255, 255, 255, .1);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .04);
}

.footer-reference-brand .social-icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
}

.footer-reference-column {
    display: flex;
    flex-direction: column;
}

.footer-reference-contact {
    gap: .85rem;
}

.footer-reference-contact a {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    color: #d5d9de;
    font-size: .76rem;
    line-height: 1.45;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}

.footer-reference-contact a:hover,
.footer-reference-contact a:focus-visible {
    color: #fff;
    outline: 0;
}

.footer-reference-contact a .ui-icon,
.footer-reference-contact .footer-whatsapp-icon {
    width: 17px;
    height: 17px;
    opacity: 1;
}

.footer-reference-contact .ui-icon-light {
    filter: brightness(0) invert(1);
}

.footer-reference-contact .footer-whatsapp-icon {
    filter: grayscale(1) brightness(0) invert(1);
}

.footer-reference-hours {
    gap: .8rem;
}

.footer-reference-hours p {
    display: grid;
    gap: .2rem;
    margin: 0;
    color: #b8bec5;
    font-size: .73rem;
    line-height: 1.42;
}

.footer-reference-hours strong {
    color: #fff;
    font-size: .76rem;
}

.footer-reference-hours small {
    color: #818991;
    font-size: .67rem;
}

.footer-reference-location {
    padding: 0 !important;
}

.footer-reference-location > h3 {
    margin: 1.5rem 1.5rem 1.35rem;
}

.footer-map-link {
    position: relative;
    display: grid;
    min-height: 230px;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: #15181c;
}

.footer-map-link iframe {
    width: 100%;
    height: 100%;
    min-height: 230px;
    border: 0;
    filter: grayscale(1) invert(.88) contrast(.82);
    opacity: .88;
    pointer-events: none;
}

.footer-map-link > a {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    padding: .7rem .9rem;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #fff;
    background: rgba(4, 5, 6, .86);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.footer-map-link > a:hover,
.footer-map-link > a:focus-visible {
    border-color: #fff;
    outline: 0;
    background: #08090a;
}

.contact-footer .footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    align-items: center;
    margin-top: 1.4rem;
    padding-top: 1.2rem;
}

.footer-webxpress {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    color: #aeb4bb;
    text-decoration: none;
}

.footer-webxpress > img:last-child {
    width: 142px;
    height: auto;
    padding: .4rem .55rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: #fff;
}

.footer-webxpress:hover > img:last-child,
.footer-webxpress:focus-visible > img:last-child {
    border-color: rgba(255, 255, 255, .5);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .04);
}

@media (min-width: 1100px) {
    .sell-layout {
        grid-template-columns: minmax(310px, .72fr) minmax(680px, 1.38fr);
        gap: clamp(3rem, 5vw, 6rem);
    }

    .sell-form {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: .9rem;
        padding: clamp(1.75rem, 2.7vw, 2.45rem);
    }

    .sell-form .form-heading,
    .sell-form .form-notice,
    .sell-form .form-consent,
    .sell-form .consent-error,
    .sell-form .form-status,
    .sell-form .form-honeypot,
    .sell-form input[type="hidden"] {
        grid-column: 1 / -1;
    }

    .sell-form .form-heading {
        margin-bottom: .25rem;
    }

    .sell-form .form-field-name,
    .sell-form .form-field-email {
        grid-column: 1 / 7;
    }

    .sell-form .form-field-phone,
    .sell-form .form-field-vehicle {
        grid-column: 7 / 13;
    }

    .sell-form .form-field-comment {
        grid-column: 1 / 8;
    }

    .sell-form .form-field-publication {
        grid-column: 8 / 13;
    }

    .sell-form .form-consent {
        grid-column: 1 / 9;
        align-self: center;
        margin: 1.15rem 0 0;
    }

    .sell-form .form-submit {
        grid-column: 9 / 13;
        align-self: center;
        margin-top: 1.15rem;
    }

    .sell-form .form-status {
        margin-top: .85rem;
    }

    .sell-form .form-field,
    .sell-form .form-row {
        margin-top: .9rem;
    }
}

@media (max-width: 1180px) {
    .footer-reference-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-reference-grid > section:nth-child(3) {
        border-top: 1px solid rgba(255, 255, 255, .1);
        border-left: 0;
    }

    .footer-reference-grid > section:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, .1);
    }
}

@media (max-width: 720px) {
    .vehicle-specs .transmission-gears-icon {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .contact-footer {
        scroll-margin-top: 86px;
        padding-top: 2.4rem;
    }

    .footer-reference-grid {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }

    .footer-reference-grid > section + section,
    .footer-reference-grid > section:nth-child(3) {
        border-top: 1px solid rgba(255, 255, 255, .1);
        border-left: 0;
    }

    .footer-reference-grid > section {
        padding: 1.55rem;
    }

    .footer-reference-brand {
        align-items: center;
        text-align: center;
    }

    .footer-reference-brand .footer-logo-frame {
        width: 104px;
        height: 104px;
    }

    .footer-reference-brand strong {
        max-width: 250px;
    }

    .footer-reference-location {
        padding: 0 !important;
    }

    .footer-map-link,
    .footer-map-link iframe {
        min-height: 250px;
    }

    .contact-footer .footer-bottom {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .footer-webxpress > img:last-child {
        width: 156px;
    }
}

/* Portada de decisión solicitada para el ingreso a R Daire Autos */

body.entry-open {
    overflow: hidden;
}

.entry-portal[hidden] {
    display: none !important;
}

.entry-portal {
    position: fixed;
    inset: 0;
    z-index: 1900;
    display: grid;
    overflow: hidden;
    place-items: center;
    color: #fff;
    background: #050607;
    opacity: 1;
    visibility: visible;
    transition:
        opacity .68s cubic-bezier(.16, 1, .3, 1),
        visibility 0s linear 0s;
}

.entry-portal::before {
    position: absolute;
    inset: -4%;
    background:
        linear-gradient(90deg, rgba(3, 4, 5, .94) 0%, rgba(3, 4, 5, .66) 33%, rgba(3, 4, 5, .66) 67%, rgba(3, 4, 5, .94) 100%),
        linear-gradient(180deg, rgba(3, 4, 5, .48), rgba(3, 4, 5, .96)),
        url("hero-daire-autos.webp") 62% 52% / cover no-repeat;
    content: "";
    filter: grayscale(1) brightness(.58) contrast(1.18);
    opacity: .54;
    transform: scale(1.08);
    transition: filter .9s ease, opacity .9s ease, transform 1.3s cubic-bezier(.16, 1, .3, 1);
}

.entry-portal::after {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 48%, rgba(255, 255, 255, .11), transparent 25%),
        linear-gradient(90deg, transparent 49.94%, rgba(255, 255, 255, .08) 50%, transparent 50.06%),
        repeating-linear-gradient(90deg, transparent 0 83px, rgba(255, 255, 255, .018) 84px),
        repeating-linear-gradient(0deg, transparent 0 83px, rgba(255, 255, 255, .014) 84px);
    content: "";
    pointer-events: none;
}

.entry-portal-scene {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.entry-portal-scene::before,
.entry-portal-scene::after {
    position: absolute;
    top: -12%;
    bottom: -12%;
    width: 44%;
    content: "";
    opacity: .32;
    filter: blur(10px);
    transform: skewX(-9deg) translateX(-18%);
    transition: opacity 1s ease, transform 1.4s cubic-bezier(.16, 1, .3, 1);
}

.entry-portal-scene::before {
    left: -8%;
    background: linear-gradient(105deg, transparent 32%, rgba(255, 255, 255, .12), transparent 68%);
}

.entry-portal-scene::after {
    right: -8%;
    background: linear-gradient(75deg, transparent 32%, rgba(255, 255, 255, .1), transparent 68%);
    transform: skewX(9deg) translateX(18%);
}

.entry-headlight {
    position: absolute;
    top: 52%;
    width: clamp(150px, 18vw, 330px);
    height: 9px;
    border-radius: 50%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .92), transparent);
    box-shadow:
        0 0 10px rgba(255, 255, 255, .8),
        0 0 44px rgba(213, 225, 236, .54),
        0 0 95px rgba(213, 225, 236, .22);
    opacity: 0;
    transform: scaleX(.35);
    transition: opacity .9s ease .35s, transform 1.2s cubic-bezier(.16, 1, .3, 1) .35s;
}

.entry-headlight-left {
    left: 3%;
    transform-origin: right;
}

.entry-headlight-right {
    right: 3%;
    transform-origin: left;
}

.entry-road-line {
    position: absolute;
    bottom: -20%;
    left: 50%;
    width: 1px;
    height: 56%;
    background: linear-gradient(transparent, rgba(255, 255, 255, .32), transparent);
    opacity: .45;
    transform: perspective(260px) rotateX(58deg) scaleY(1.8);
    transform-origin: top;
}

.entry-portal-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-areas:
        "kicker kicker kicker"
        "buy identity sell"
        "assurance assurance assurance";
    grid-template-columns: minmax(250px, 1fr) minmax(300px, 380px) minmax(250px, 1fr);
    gap: clamp(1.5rem, 3.6vw, 4.5rem);
    align-items: center;
    width: min(1280px, calc(100% - 5rem));
    min-height: min(760px, calc(100dvh - 4rem));
}

.entry-kicker {
    grid-area: kicker;
    align-self: end;
    margin: 0;
    color: #b8bec4;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .24em;
    text-align: center;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(-12px);
    transition: opacity .7s ease .08s, transform .9s cubic-bezier(.16, 1, .3, 1) .08s;
}

.entry-identity {
    grid-area: identity;
    display: flex;
    align-items: center;
    text-align: center;
    flex-direction: column;
    opacity: 0;
    transform: translateY(22px) scale(.96);
    transition: opacity .8s ease .2s, transform 1.05s cubic-bezier(.16, 1, .3, 1) .2s;
}

.entry-logo-halo {
    position: absolute;
    top: 4%;
    width: 225px;
    height: 225px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow:
        0 0 0 46px rgba(255, 255, 255, .018),
        0 0 0 92px rgba(255, 255, 255, .01);
    animation: entry-halo 5s ease-in-out infinite;
}

.entry-logo-frame {
    position: relative;
    display: grid;
    width: clamp(124px, 9vw, 158px);
    aspect-ratio: 1;
    overflow: hidden;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 25px;
    background: #060708;
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .14),
        0 28px 85px rgba(0, 0, 0, .62),
        0 0 55px rgba(255, 255, 255, .07);
}

.entry-logo-frame::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .16), transparent 66%);
    content: "";
    transform: translateX(-130%);
    animation: entry-logo-sheen 4.8s ease-in-out infinite 1.4s;
}

.entry-logo-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.entry-identity > p:first-of-type {
    max-width: 310px;
    margin: 1.7rem 0 .65rem;
    color: #aab1b8;
    font-size: .67rem;
    font-weight: 780;
    letter-spacing: .11em;
    line-height: 1.6;
    text-transform: uppercase;
}

.entry-identity h1 {
    max-width: 390px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 3.4vw, 3.9rem);
    font-weight: 570;
    letter-spacing: -.055em;
    line-height: .98;
    text-wrap: balance;
}

.entry-divider {
    display: flex;
    align-items: center;
    width: 72px;
    height: 1px;
    margin: 1.25rem auto 1rem;
    background: rgba(255, 255, 255, .24);
}

.entry-divider i {
    width: 20px;
    height: 3px;
    margin: auto;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 18px rgba(255, 255, 255, .62);
}

.entry-copy {
    max-width: 330px;
    margin: 0;
    color: #aeb5bc;
    font-size: .82rem;
    line-height: 1.65;
}

.entry-choice {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    width: 100%;
    min-height: 156px;
    overflow: hidden;
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .09),
        0 24px 80px rgba(0, 0, 0, .3);
    font: inherit;
    text-align: left;
    cursor: pointer;
    opacity: 0;
    backdrop-filter: blur(18px) saturate(1.1);
    transition:
        border-color .35s ease,
        background .35s ease,
        box-shadow .45s ease,
        opacity .8s ease,
        transform 1s cubic-bezier(.16, 1, .3, 1);
}

.entry-choice::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(112deg, transparent 26%, rgba(255, 255, 255, .12) 48%, transparent 68%);
    content: "";
    transform: translateX(-130%);
    transition: transform .8s cubic-bezier(.16, 1, .3, 1);
    pointer-events: none;
}

.entry-choice-buy {
    grid-area: buy;
    transform: translateX(-38px);
}

.entry-choice-sell {
    grid-area: sell;
    transform: translateX(38px);
}

.entry-choice:hover,
.entry-choice:focus-visible {
    border-color: rgba(255, 255, 255, .62);
    outline: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .045));
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .16),
        0 28px 85px rgba(0, 0, 0, .42),
        0 0 0 4px rgba(255, 255, 255, .035);
}

.entry-choice:hover::before,
.entry-choice:focus-visible::before {
    transform: translateX(130%);
}

.entry-choice:disabled {
    cursor: default;
}

.entry-choice-number {
    position: absolute;
    top: .85rem;
    right: 1rem;
    color: rgba(255, 255, 255, .34);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.entry-choice-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}

.entry-choice-icon img {
    width: 24px;
    height: 24px;
    filter: brightness(0);
}

.entry-choice-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.entry-choice-copy small {
    margin-bottom: .35rem;
    color: #aeb5bc;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.entry-choice-copy strong {
    color: #fff;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    font-weight: 720;
    letter-spacing: -.025em;
    line-height: 1.12;
}

.entry-choice-copy > span {
    margin-top: .5rem;
    color: #aeb5bc;
    font-size: .72rem;
    line-height: 1.35;
}

.entry-choice-arrow {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    transition: color .3s ease, background .3s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
}

.entry-choice-arrow img {
    width: 14px;
    height: 14px;
    filter: brightness(0) invert(1);
}

.entry-choice:hover .entry-choice-arrow,
.entry-choice:focus-visible .entry-choice-arrow {
    background: #fff;
    transform: translateX(3px);
}

.entry-choice:hover .entry-choice-arrow img,
.entry-choice:focus-visible .entry-choice-arrow img {
    filter: brightness(0);
}

.entry-assurance {
    grid-area: assurance;
    align-self: start;
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #9da5ac;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .7s ease .6s, transform .9s cubic-bezier(.16, 1, .3, 1) .6s;
}

.entry-assurance span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 14px rgba(255, 255, 255, .72);
}

.entry-portal.is-ready::before {
    filter: grayscale(1) brightness(.47) contrast(1.25);
    opacity: .7;
    transform: scale(1.02);
}

.entry-portal.is-ready .entry-portal-scene::before,
.entry-portal.is-ready .entry-portal-scene::after {
    opacity: .48;
    transform: skewX(-9deg) translateX(0);
}

.entry-portal.is-ready .entry-portal-scene::after {
    transform: skewX(9deg) translateX(0);
}

.entry-portal.is-ready .entry-headlight {
    opacity: .82;
    transform: scaleX(1);
}

.entry-portal.is-ready .entry-kicker,
.entry-portal.is-ready .entry-identity,
.entry-portal.is-ready .entry-choice,
.entry-portal.is-ready .entry-assurance {
    opacity: 1;
    transform: none;
}

.entry-portal.is-ready .entry-choice-buy {
    transition-delay: .38s;
}

.entry-portal.is-ready .entry-choice-sell {
    transition-delay: .48s;
}

.entry-portal.is-leaving[data-destination="catalogo"] .entry-choice-sell,
.entry-portal.is-leaving[data-destination="consignacion"] .entry-choice-buy {
    opacity: 0;
    filter: blur(7px);
    transform: scale(.96);
}

.entry-portal.is-leaving[data-destination="catalogo"] .entry-choice-buy,
.entry-portal.is-leaving[data-destination="consignacion"] .entry-choice-sell {
    border-color: rgba(255, 255, 255, .85);
    background: rgba(255, 255, 255, .17);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .04), 0 28px 90px rgba(0, 0, 0, .5);
}

.entry-portal.is-leaving {
    opacity: 0;
    visibility: hidden;
    transition-delay: .12s, .8s;
}

@keyframes entry-halo {
    50% {
        opacity: .52;
        transform: scale(1.06);
    }
}

@keyframes entry-logo-sheen {
    0%, 30% { transform: translateX(-130%); }
    62%, 100% { transform: translateX(130%); }
}

@media (max-width: 980px) {
    .entry-portal-shell {
        grid-template-areas:
            "kicker kicker"
            "identity identity"
            "buy sell"
            "assurance assurance";
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem;
        width: min(760px, calc(100% - 2.5rem));
        min-height: calc(100dvh - 2rem);
        padding-block: 1rem;
    }

    .entry-identity h1 {
        max-width: 560px;
        font-size: clamp(2.2rem, 6vw, 3.5rem);
    }

    .entry-logo-halo {
        top: 0;
        width: 190px;
        height: 190px;
    }

    .entry-choice {
        min-height: 138px;
    }
}

@media (max-width: 640px) {
    .entry-portal {
        overflow-y: auto;
        align-items: start;
    }

    .entry-portal::before {
        background-position: 68% 50%;
    }

    .entry-portal-shell {
        grid-template-areas:
            "kicker"
            "identity"
            "buy"
            "sell"
            "assurance";
        grid-template-columns: minmax(0, 1fr);
        gap: .85rem;
        width: min(100% - 1.5rem, 440px);
        min-height: 100dvh;
        padding: max(1rem, env(safe-area-inset-top)) 0 max(1rem, env(safe-area-inset-bottom));
    }

    .entry-kicker {
        align-self: center;
        font-size: .57rem;
    }

    .entry-identity {
        padding: .15rem 0 .3rem;
    }

    .entry-logo-frame {
        width: 92px;
        border-radius: 18px;
    }

    .entry-logo-halo {
        top: -7%;
        width: 145px;
        height: 145px;
    }

    .entry-identity > p:first-of-type {
        max-width: 290px;
        margin: .85rem 0 .35rem;
        font-size: .56rem;
    }

    .entry-identity h1 {
        max-width: 350px;
        font-size: clamp(1.85rem, 9.2vw, 2.75rem);
    }

    .entry-divider {
        margin: .75rem auto .65rem;
    }

    .entry-copy {
        max-width: 300px;
        font-size: .71rem;
    }

    .entry-choice {
        min-height: 104px;
        padding: .9rem 1rem;
        border-radius: 15px;
    }

    .entry-choice-icon {
        width: 44px;
        height: 44px;
    }

    .entry-choice-copy strong {
        font-size: 1rem;
    }

    .entry-choice-copy > span {
        margin-top: .28rem;
        font-size: .65rem;
    }

    .entry-choice-arrow {
        width: 30px;
        height: 30px;
    }

    .entry-assurance {
        align-self: center;
        font-size: .52rem;
        letter-spacing: .11em;
    }

    .entry-headlight {
        top: 38%;
        width: 32vw;
    }
}

.motion-reduced .entry-portal,
.motion-reduced .entry-portal::before,
.motion-reduced .entry-portal-scene::before,
.motion-reduced .entry-portal-scene::after,
.motion-reduced .entry-headlight,
.motion-reduced .entry-kicker,
.motion-reduced .entry-identity,
.motion-reduced .entry-choice,
.motion-reduced .entry-assurance {
    animation: none !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
}

/* Ajustes finales: catálogo independiente, formulario alineado y atención dual */

.catalog-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 94% 8%, rgba(151, 157, 163, .11), transparent 25%),
        linear-gradient(180deg, #f4f4f2 0%, #fbfaf8 42%, #f7f6f3 100%);
}

.catalog-section::before {
    position: absolute;
    top: -12rem;
    right: -12rem;
    width: 34rem;
    height: 34rem;
    border: 1px solid rgba(18, 21, 24, .055);
    border-radius: 50%;
    box-shadow:
        0 0 0 4.5rem rgba(18, 21, 24, .018),
        0 0 0 9rem rgba(18, 21, 24, .012);
    content: "";
    pointer-events: none;
}

.catalog-listing-heading {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 2rem;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.catalog-listing-heading > div {
    max-width: 780px;
}

.catalog-listing-heading h2 {
    margin-bottom: .65rem;
}

.catalog-listing-heading p:last-child {
    max-width: 720px;
}

.catalog-section .catalog-filters,
.catalog-section .catalog-results,
.catalog-section .vehicle-grid {
    position: relative;
    z-index: 1;
}

.whatsapp-contact-widget {
    position: fixed;
    right: 4.85rem;
    bottom: max(1.1rem, env(safe-area-inset-bottom));
    z-index: 95;
}

.whatsapp-contact-widget .whatsapp-float {
    position: relative;
    right: auto;
    bottom: auto;
    z-index: 2;
    margin: 0;
}

.whatsapp-contact-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + .85rem);
    width: min(350px, calc(100vw - 2rem));
    padding: .8rem;
    border: 1px solid rgba(17, 21, 24, .13);
    border-radius: 20px;
    color: #111417;
    background:
        radial-gradient(circle at 100% 0, rgba(33, 213, 116, .12), transparent 32%),
        rgba(255, 255, 255, .975);
    box-shadow: 0 26px 70px rgba(8, 11, 13, .25);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px) scale(.96);
    transform-origin: 86% 100%;
    transition:
        opacity .22s ease,
        visibility 0s linear .25s,
        transform .42s var(--ease-cinematic);
    backdrop-filter: blur(18px);
}

.whatsapp-contact-panel::after {
    position: absolute;
    right: 14px;
    bottom: -7px;
    width: 14px;
    height: 14px;
    border-right: 1px solid rgba(17, 21, 24, .12);
    border-bottom: 1px solid rgba(17, 21, 24, .12);
    background: #fff;
    content: "";
    transform: rotate(45deg);
}

.whatsapp-contact-widget.is-open .whatsapp-contact-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

.whatsapp-panel-heading {
    display: grid;
    gap: .18rem;
    padding: .45rem .55rem .7rem;
}

.whatsapp-panel-heading > span {
    color: #188a4d;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.whatsapp-panel-heading > strong {
    font-size: 1rem;
    letter-spacing: -.025em;
}

.whatsapp-panel-heading > small {
    color: #71787e;
    font-size: .68rem;
}

.whatsapp-advisor {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
    min-height: 66px;
    margin-top: .45rem;
    padding: .55rem .6rem;
    overflow: hidden;
    border: 1px solid #e1e4e5;
    border-radius: 14px;
    color: #111417;
    background: rgba(248, 249, 249, .9);
    text-decoration: none;
    transition: border-color .25s ease, background .25s ease, box-shadow .3s ease;
}

.whatsapp-advisor::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #20c76d;
    content: "";
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .3s var(--ease-cinematic);
}

.whatsapp-advisor:hover,
.whatsapp-advisor:focus-visible {
    border-color: rgba(21, 160, 86, .36);
    outline: 0;
    background: #fff;
    box-shadow: 0 12px 28px rgba(8, 11, 13, .09);
}

.whatsapp-advisor:hover::before,
.whatsapp-advisor:focus-visible::before {
    transform: scaleY(1);
}

.advisor-avatar {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 5px 16px rgba(7, 10, 12, .18);
    font-size: .92rem;
    font-weight: 900;
}

.advisor-avatar-pedro {
    background:
        radial-gradient(circle at 34% 26%, rgba(255, 255, 255, .32), transparent 24%),
        linear-gradient(145deg, #1c2227, #59636b);
}

.advisor-avatar-hussein {
    background:
        radial-gradient(circle at 34% 26%, rgba(255, 255, 255, .3), transparent 24%),
        linear-gradient(145deg, #13864b, #25cc74);
}

.advisor-copy {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.advisor-copy strong {
    font-size: .82rem;
}

.advisor-copy small {
    overflow: hidden;
    color: #71787e;
    font-size: .64rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.advisor-status {
    display: inline-flex;
    gap: .3rem;
    align-items: center;
    color: #19854c;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.advisor-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #20c76d;
    box-shadow: 0 0 0 4px rgba(32, 199, 109, .1);
}

.whatsapp-demo-note {
    display: block;
    padding: .68rem .55rem .35rem;
    color: #7e858b;
    font-size: .57rem;
    line-height: 1.45;
}

.footer-map-link {
    background: #dce5e7;
}

.footer-map-link iframe {
    filter: saturate(1.12) contrast(1.02) brightness(.97);
    opacity: 1;
}

.footer-map-link::after {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    content: "";
    pointer-events: none;
}

@media (min-width: 1100px) {
    .sell-form .form-field,
    .sell-form .form-row,
    .sell-form .form-field-vehicle > .form-field {
        margin-top: .9rem;
    }

    .sell-form .form-field-vehicle > .form-field {
        margin-top: 0;
    }

    .sell-form .form-row {
        align-items: start;
    }

    .sell-form .form-field-comment,
    .sell-form .form-field-publication {
        display: flex;
        flex-direction: column;
    }

    .sell-form .form-field-comment .field-control,
    .sell-form .form-field-publication .field-control,
    .sell-form .form-field-comment textarea,
    .sell-form .form-field-publication select {
        height: 96px;
        min-height: 96px;
    }

    .sell-form .form-field-publication select {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media (min-width: 861px) and (max-width: 1280px) {
    .header-inner {
        gap: 1.15rem;
    }

    .main-nav {
        gap: clamp(.55rem, 1vw, .9rem);
    }

    .main-nav a {
        font-size: .65rem;
        letter-spacing: .08em;
    }

    .main-nav a:hover,
    .main-nav a.active {
        letter-spacing: .1em;
    }

    .main-nav a > .ui-icon {
        width: 13px;
        height: 13px;
    }
}

@media (max-width: 720px) {
    .catalog-listing-heading {
        display: grid;
        gap: 1rem;
        align-items: start;
        margin-bottom: 1.35rem;
    }

    .catalog-listing-heading .catalog-photo-seal {
        justify-self: start;
    }

    .whatsapp-contact-panel {
        right: -3.75rem;
        width: calc(100vw - 1.5rem);
        max-width: 360px;
    }
}

@media (max-width: 460px) {
    .whatsapp-contact-widget {
        right: 4.65rem;
    }

    .whatsapp-contact-panel {
        right: -3.55rem;
        padding: .65rem;
    }

    .whatsapp-advisor {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .advisor-avatar {
        width: 44px;
        height: 44px;
    }

    .advisor-status {
        grid-column: 2;
        justify-self: start;
    }
}

.motion-reduced .whatsapp-contact-panel,
.motion-reduced .whatsapp-advisor,
.motion-reduced .whatsapp-advisor::before {
    transition-duration: .01ms !important;
}

/* Tarjeta comercial aprobada: año visible, ficha técnica y tres cintas */

.vehicle-card {
    --card-accent: #aeb5ba;
    --accent-gradient: linear-gradient(145deg, #555c61 0%, #111417 36%, #373d42 62%, #050607 100%);
    --accent-ink: #fff;
    --accent-title: #111417;
    --icon-surface: linear-gradient(145deg, #656c71 0%, #111417 34%, #3c4247 61%, #050607 100%);
    --accent-icon-filter: brightness(0) invert(1);
    --year-gradient: linear-gradient(145deg, #fff 4%, #cfd4d8 42%, #f8f9f9 68%, #a9b0b5 100%);
    --year-ink: #101316;
    display: flex;
    height: 100%;
    flex-direction: column;
    border: 1px solid #d5d9dc;
    border-radius: 17px;
    background: #fff;
    box-shadow:
        0 22px 52px rgba(12, 15, 18, .09),
        0 2px 7px rgba(12, 15, 18, .06);
}

.vehicle-card[data-ribbon-color="plateado"] {
    --card-accent: #aeb5ba;
    --accent-gradient: linear-gradient(145deg, #fff 3%, #c7ccd0 34%, #f8f9fa 62%, #989fa5 100%);
    --accent-ink: #111417;
    --accent-title: #60686e;
    --icon-surface: linear-gradient(145deg, #fff 3%, #c7ccd0 36%, #f8f9fa 64%, #989fa5 100%);
    --accent-icon-filter: brightness(0);
    --year-gradient: linear-gradient(145deg, #fff 4%, #cfd4d8 42%, #f8f9f9 68%, #a9b0b5 100%);
    --year-ink: #101316;
}

.vehicle-card[data-ribbon-color="dorado"] {
    --card-accent: #c3942f;
    --accent-gradient: linear-gradient(145deg, #fff6bd 0%, #d3a02f 40%, #ffefa1 66%, #a06c12 100%);
    --accent-ink: #211500;
    --accent-title: #bd8008;
    --icon-surface: linear-gradient(145deg, #fff6bd 0%, #d3a02f 40%, #ffefa1 66%, #a06c12 100%);
    --accent-icon-filter: brightness(0);
    --year-gradient: linear-gradient(145deg, #fff6ba 2%, #d8a737 40%, #fff0a0 67%, #a06b12 100%);
    --year-ink: #211500;
}

.vehicle-card[data-ribbon-color="celeste"] {
    --card-accent: #18aeda;
    --accent-gradient: linear-gradient(145deg, #a8efff 0%, #1fb8e3 41%, #64d7f4 66%, #087da8 100%);
    --accent-ink: #fff;
    --accent-title: #0788b7;
    --icon-surface: linear-gradient(145deg, #fff 0%, #8be5fb 27%, #d8f9ff 51%, #53c9ea 76%, #f7fdff 100%);
    --accent-icon-filter: brightness(0) saturate(100%) invert(50%) sepia(90%) saturate(1380%) hue-rotate(152deg) brightness(94%) contrast(94%);
    --year-gradient: linear-gradient(145deg, #a8efff 2%, #1fb8e3 42%, #61d4f2 68%, #087da8 100%);
    --year-ink: #fff;
}

.vehicle-card.has-ribbon {
    border-color: color-mix(in srgb, var(--card-accent) 58%, #d9dcde);
    box-shadow:
        0 22px 56px rgba(12, 15, 18, .11),
        0 0 0 2px color-mix(in srgb, var(--card-accent) 12%, transparent);
}

.vehicle-photo {
    flex: 0 0 auto;
    border-radius: 16px 16px 0 0;
    background: #dfe2e3;
    line-height: 0;
}

.vehicle-photo img {
    display: block;
    transform-origin: center 58%;
}

.demo-badge {
    top: .78rem;
    left: .78rem;
    z-index: 6;
    display: grid;
    min-width: 68px;
    min-height: 48px;
    place-items: center;
    padding: .48rem .75rem;
    border: 1px solid rgba(255, 255, 255, .76);
    border-radius: 12px;
    color: var(--year-ink);
    background: var(--year-gradient);
    box-shadow:
        0 9px 24px rgba(8, 11, 13, .22),
        inset 0 1px 0 rgba(255, 255, 255, .72);
    font-size: .98rem;
    font-weight: 900;
    letter-spacing: -.015em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .28);
    backdrop-filter: none;
}

.vehicle-body {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem 1.05rem 1.05rem;
    background: #fff;
}

.vehicle-body::before {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    z-index: 2;
    height: 38px;
    background: #fff;
    clip-path: polygon(0 44%, 100% 100%, 0 100%);
    content: "";
    pointer-events: none;
}

.vehicle-card .vehicle-body::after {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    z-index: 3;
    height: 38px;
    background: var(--accent-gradient);
    background-position: center;
    background-size: 180% 180%;
    clip-path: polygon(0 19%, 100% 75%, 100% 100%, 0 44%);
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .48));
    content: "";
    pointer-events: none;
}

.vehicle-type {
    display: flex;
    min-height: 25px;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    color: #6b7278;
    letter-spacing: .08em;
}

.vehicle-category-chip {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    padding: .28rem .58rem;
    border-radius: 999px;
    color: var(--accent-ink);
    background: var(--accent-gradient);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .7),
        inset 0 -1px 1px rgba(0, 0, 0, .2),
        0 3px 8px rgba(10, 14, 17, .08);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.vehicle-transmission-label {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.vehicle-transmission-label::before {
    width: 1px;
    height: 16px;
    background: #cbd0d3;
    content: "";
}

.vehicle-body h3 {
    min-height: 2.8rem;
    margin: .68rem 0 .82rem;
    font-size: clamp(1.03rem, 1.25vw, 1.22rem);
    line-height: 1.13;
}

.vehicle-model-highlight {
    color: var(--accent-title);
}

.vehicle-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .42rem;
    min-height: 54px;
    margin: 0 0 1rem;
    padding: .7rem 0;
    border-top: 1px solid #e1e4e5;
    border-bottom: 1px solid #e1e4e5;
}

.vehicle-specs li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: .38rem;
    align-items: center;
    min-width: 0;
    color: #1a1e21;
    font-size: inherit;
}

.vehicle-specs li + li {
    padding-left: .36rem;
    border-left: 1px solid #d8dcde;
}

.vehicle-spec-icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--card-accent) 34%, #dce0e2);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .82), transparent 30%),
        var(--icon-surface);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .82),
        inset 0 -1px 1px color-mix(in srgb, var(--card-accent) 34%, rgba(0, 0, 0, .18)),
        0 4px 11px rgba(10, 14, 17, .12);
}

.vehicle-spec-icon .ui-icon,
.vehicle-spec-icon .transmission-gears-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    opacity: .92;
    filter: var(--accent-icon-filter);
    mix-blend-mode: normal;
}

.vehicle-spec-copy {
    display: grid;
    min-width: 0;
    gap: .12rem;
}

.vehicle-spec-copy small {
    overflow: hidden;
    color: #81888d;
    font-size: .44rem;
    font-weight: 850;
    letter-spacing: .07em;
    line-height: 1.1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.vehicle-spec-copy strong {
    overflow: hidden;
    color: #111417;
    font-size: .61rem;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vehicle-card[data-ribbon-color] .vehicle-specs {
    border-color: color-mix(in srgb, var(--card-accent) 52%, #e1e4e5);
}

.vehicle-card[data-ribbon-color] .vehicle-specs li + li {
    border-color: color-mix(in srgb, var(--card-accent) 48%, #d8dcde);
}

.vehicle-footer {
    margin-top: auto;
    padding-top: .15rem;
    border-top: 0;
}

.vehicle-corner-ribbon {
    --ribbon-gradient: linear-gradient(135deg, #fff 0%, #c7ccd0 28%, #f8f9fa 52%, #9ba2a8 76%, #eef0f1 100%);
    --ribbon-ink: #121518;
    position: absolute;
    top: 20px;
    right: -62px;
    z-index: 5;
    display: grid;
    width: 222px;
    min-height: 46px;
    place-items: center;
    padding: 7px 42px;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, .72);
    border-bottom: 1px solid rgba(15, 18, 20, .14);
    color: var(--ribbon-ink);
    background: var(--ribbon-gradient);
    clip-path: none;
    box-shadow: 0 12px 26px rgba(9, 12, 14, .24);
    font-size: .64rem;
    letter-spacing: .14em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .42);
    transform: rotate(39deg);
}

.vehicle-corner-ribbon::before,
.vehicle-corner-ribbon::after {
    position: absolute;
    right: 8%;
    left: 8%;
    height: 1px;
    background: rgba(255, 255, 255, .58);
    content: "";
    opacity: 1;
    transform: none;
}

.vehicle-corner-ribbon::before {
    top: 5px;
}

.vehicle-corner-ribbon::after {
    bottom: 5px;
    left: 8%;
    background: rgba(12, 15, 17, .13);
}

.vehicle-corner-ribbon[data-ribbon-color="plateado"] {
    --ribbon-gradient: linear-gradient(135deg, #fff 0%, #c7ccd0 28%, #f8f9fa 52%, #9ba2a8 76%, #eef0f1 100%);
    --ribbon-ink: #121518;
}

.vehicle-corner-ribbon[data-ribbon-color="dorado"] {
    --ribbon-gradient: linear-gradient(135deg, #fff6bd 0%, #d3a02f 27%, #ffefa1 53%, #9f6c13 78%, #f4d873 100%);
    --ribbon-ink: #211500;
}

.vehicle-corner-ribbon[data-ribbon-color="celeste"] {
    --ribbon-gradient: linear-gradient(135deg, #aaf0ff 0%, #1db8e4 28%, #70dcf6 52%, #087eab 78%, #43c9ee 100%);
    --ribbon-ink: #fff;
    text-shadow: 0 1px 2px rgba(0, 66, 92, .48);
}

@media (max-width: 1280px) and (min-width: 721px) {
    .vehicle-specs li {
        grid-template-columns: 29px minmax(0, 1fr);
        gap: .3rem;
    }

    .vehicle-spec-icon {
        width: 29px;
        height: 29px;
    }
}

@media (max-width: 760px) {
    .vehicle-corner-ribbon {
        top: 18px;
        right: -65px;
        width: 218px;
        min-height: 46px;
        font-size: .62rem;
    }

    .vehicle-body {
        padding: 1.2rem 1rem 1rem;
    }

    .vehicle-body h3 {
        min-height: 0;
        font-size: 1.18rem;
    }

    .vehicle-specs li {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .vehicle-spec-icon {
        width: 34px;
        height: 34px;
    }

    .vehicle-spec-copy small {
        font-size: .48rem;
    }

    .vehicle-spec-copy strong {
        font-size: .66rem;
    }
}

@media (max-width: 380px) {
    .vehicle-specs {
        gap: .3rem;
    }

    .vehicle-specs li {
        grid-template-columns: 29px minmax(0, 1fr);
        gap: .28rem;
    }

    .vehicle-specs li + li {
        padding-left: .25rem;
    }

    .vehicle-spec-icon {
        width: 29px;
        height: 29px;
    }

    .vehicle-spec-copy small {
        font-size: .41rem;
    }

    .vehicle-spec-copy strong {
        font-size: .57rem;
    }
}

/* Búsqueda personalizada de vehículos confirmada en la revisión del 01-08-2026. */
.main-nav .find-car-nav {
    align-items: center;
    background: rgba(190, 148, 45, .12);
    border: 1px solid rgba(190, 148, 45, .38);
    border-radius: 999px;
    color: #83651d;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .7rem;
    font-weight: 800;
    gap: .38rem;
    letter-spacing: .01em;
    padding: .56rem .72rem;
    transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.main-nav .find-car-nav:hover,
.main-nav .find-car-nav:focus-visible {
    background: #b08d28;
    border-color: #b08d28;
    color: #fff;
    outline: none;
    transform: translateY(-1px);
}

.main-nav .find-car-nav:hover .ui-icon,
.main-nav .find-car-nav:focus-visible .ui-icon {
    filter: brightness(0) invert(1);
}

.find-car-hero {
    background: linear-gradient(135deg, #d8b75b, #a87812);
    border: 1px solid rgba(255, 239, 183, .82);
    color: #17130a;
    cursor: pointer;
    font: inherit;
}

.find-car-hero:hover,
.find-car-hero:focus-visible {
    filter: brightness(1.07);
    outline: none;
    transform: translateY(-2px);
}

.find-car-dialog {
    background: transparent;
    border: 0;
    height: 100%;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: clamp(1rem, 4vw, 3rem);
    width: 100%;
}

.find-car-dialog[open] {
    align-items: center;
    display: flex;
    justify-content: center;
}

.find-car-dialog::backdrop {
    background: rgba(8, 14, 20, .74);
    backdrop-filter: blur(8px);
}

.find-car-backdrop {
    background: transparent;
    border: 0;
    inset: 0;
    position: fixed;
}

.find-car-card {
    animation: find-car-enter .52s cubic-bezier(.16, 1, .3, 1) both;
    background: linear-gradient(145deg, #fff 0%, #f7f6f2 100%);
    border: 1px solid rgba(255, 255, 255, .64);
    border-radius: 28px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .32);
    max-height: calc(100vh - 2rem);
    max-width: 760px;
    overflow: auto;
    padding: clamp(1.15rem, 3vw, 2rem);
    position: relative;
    width: 100%;
    z-index: 1;
}

@keyframes find-car-enter {
    from { opacity: 0; transform: translateY(24px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.find-car-card > header {
    border-bottom: 1px solid rgba(24, 33, 40, .1);
    margin-bottom: 1.2rem;
    padding: 0 3rem 1.1rem 0;
    position: relative;
}

.find-car-kicker {
    align-items: center;
    color: #9a771e;
    display: inline-flex;
    font-size: .7rem;
    font-weight: 850;
    gap: .42rem;
    letter-spacing: .12em;
    margin-bottom: .65rem;
    text-transform: uppercase;
}

.find-car-card h2 {
    color: #151c22;
    font-size: clamp(1.45rem, 4vw, 2.25rem);
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0;
}

.find-car-card header p {
    color: #68727a;
    font-size: .9rem;
    line-height: 1.6;
    margin: .62rem 0 0;
    max-width: 590px;
}

.find-car-close {
    align-items: center;
    background: #eef0f1;
    border: 0;
    border-radius: 50%;
    color: #27323a;
    cursor: pointer;
    display: flex;
    font-size: 1.55rem;
    height: 40px;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
}

.find-car-form {
    display: grid;
    gap: .9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.find-car-field {
    display: grid;
    gap: .38rem;
}

.find-car-field > span {
    color: #334049;
    font-size: .73rem;
    font-weight: 800;
}

.find-car-field > span small {
    color: #879099;
    font-size: inherit;
    font-weight: 600;
}

.find-car-field input,
.find-car-field textarea {
    background: #fff;
    border: 1px solid #d7dde1;
    border-radius: 13px;
    color: #152027;
    font: inherit;
    font-size: .85rem;
    min-height: 47px;
    padding: .78rem .86rem;
    transition: border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.find-car-field textarea {
    min-height: 92px;
    resize: vertical;
}

.find-car-field input:focus,
.find-car-field textarea:focus {
    border-color: #b08d28;
    box-shadow: 0 0 0 4px rgba(176, 141, 40, .12);
    outline: none;
}

.find-car-field.is-invalid input,
.find-car-field.is-invalid textarea {
    border-color: #b83a35;
}

.find-car-field > small[data-find-car-error] {
    color: #a42f2b;
    font-size: .67rem;
    min-height: .8rem;
}

.find-car-span-two {
    grid-column: 1 / -1;
}

.find-car-consent {
    align-items: flex-start;
    color: #5e6870;
    display: flex;
    font-size: .72rem;
    gap: .65rem;
    line-height: 1.45;
}

.find-car-consent input {
    accent-color: #9a771e;
    height: 18px;
    margin: .08rem 0 0;
    width: 18px;
}

.find-car-consent.is-invalid {
    color: #a42f2b;
}

.find-car-honeypot {
    left: -10000px;
    position: absolute;
}

.find-car-feedback {
    border-radius: 13px;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.5;
    padding: .8rem .9rem;
}

.find-car-feedback.is-error { background: #fff0ee; color: #99332d; }
.find-car-feedback.is-success { background: #e9f8f1; color: #176749; }

.find-car-form footer {
    align-items: center;
    border-top: 1px solid rgba(24, 33, 40, .1);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .25rem;
    padding-top: 1rem;
}

.find-car-form footer p {
    align-items: center;
    color: #717b82;
    display: flex;
    font-size: .7rem;
    gap: .45rem;
    margin: 0;
}

.find-car-form footer button {
    align-items: center;
    background: #151c22;
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .76rem;
    font-weight: 850;
    gap: .55rem;
    min-height: 46px;
    padding: .72rem 1.05rem;
}

.find-car-form footer button img {
    filter: brightness(0) invert(1);
}

.find-car-form footer button:disabled {
    cursor: wait;
    opacity: .6;
}

@media (max-width: 1180px) {
    .main-nav .find-car-nav {
        border: 0;
        border-radius: 0;
        justify-content: flex-start;
        padding: .8rem 1rem;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .find-car-dialog {
        align-items: flex-end;
        padding: .55rem;
    }

    .find-car-card {
        border-radius: 22px;
        max-height: calc(100vh - 1.1rem);
        padding: 1.05rem;
    }

    .find-car-card > header {
        padding-right: 2.7rem;
    }

    .find-car-form {
        grid-template-columns: 1fr;
    }

    .find-car-span-two {
        grid-column: auto;
    }

    .find-car-form footer {
        align-items: stretch;
        flex-direction: column;
    }

    .find-car-form footer button {
        justify-content: center;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .find-car-card {
        animation: none;
    }
}

/* Reglas finales de la reunión: se mantienen al cierre para ganar la cascada. */
@media (min-width: 1181px) {
    .main-nav { gap: clamp(16px, 1.35vw, 28px); }
    .main-nav a { font-size: 11px; white-space: nowrap; }
    .header-cta { min-width: 146px; }
}

.featured-month.featured-showcase {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.8fr);
    align-items: stretch;
    gap: clamp(24px, 3.5vw, 58px);
    padding: clamp(28px, 4vw, 62px);
    overflow: hidden;
}

.featured-showcase .featured-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 430px;
}

.featured-showcase .featured-copy > p:not(.featured-eyebrow) { max-width: 36ch; }
.featured-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(22px, 3vw, 34px); }
.featured-actions .button { min-height: 50px; padding-inline: 18px; }
.featured-find { color: #fff; border: 1px solid rgba(255, 255, 255, .24); background: rgba(255, 255, 255, .06); }
.featured-carousel-shell { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.featured-carousel-viewport { overflow: hidden; border-radius: 24px; }
.featured-carousel-track { --featured-visible: 3; display: flex; align-items: stretch; transition: transform .9s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
.featured-carousel-card { position: relative; flex: 0 0 calc(100% / var(--featured-visible)); min-width: 0; min-height: clamp(350px, 34vw, 500px); overflow: hidden; color: #fff; border-right: 10px solid transparent; background: #15191d; isolation: isolate; }
.featured-carousel-card:first-child { border-radius: 24px 0 0 24px; }
.featured-carousel-card:last-child { border-radius: 0 24px 24px 0; }
.featured-carousel-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .7s ease, transform 1.2s cubic-bezier(.22, 1, .36, 1); }
.featured-carousel-card::after { content: ""; position: absolute; inset: 0 10px 0 0; z-index: 1; background: linear-gradient(180deg, rgba(2, 5, 8, .03) 30%, rgba(2, 5, 8, .9) 100%); pointer-events: none; }
.featured-carousel-card:hover > img, .featured-carousel-card:focus-visible > img { transform: scale(1.025); filter: saturate(1.06) contrast(1.03); }
.featured-carousel-badge { position: absolute; top: 18px; left: 18px; z-index: 2; display: inline-flex; align-items: center; min-height: 30px; padding: 7px 12px; border-radius: 999px; color: #fff; border: 1px solid rgba(255, 255, 255, .32); background: linear-gradient(135deg, #050505, #54575b 54%, #090909); box-shadow: 0 9px 22px rgba(0, 0, 0, .24); font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.featured-carousel-badge[data-ribbon-color="plateado"] { color: #111; background: linear-gradient(135deg, #f7f8f8, #aeb3b7 52%, #fff); }
.featured-carousel-badge[data-ribbon-color="dorado"] { color: #171006; background: linear-gradient(135deg, #fff2a8, #c89016 46%, #fff1a2 72%, #a66c0b); }
.featured-carousel-copy { position: absolute; left: 22px; right: 28px; bottom: 22px; z-index: 2; display: grid; gap: 7px; }
.featured-carousel-copy small, .featured-carousel-copy em { color: rgba(255, 255, 255, .72); font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.featured-carousel-copy strong { color: #fff; font-size: clamp(18px, 1.5vw, 25px); line-height: 1.08; }
.featured-carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.featured-carousel-controls > button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .06); cursor: pointer; transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
.featured-carousel-controls > button:first-child img { transform: rotate(180deg); }
.featured-carousel-controls > button:hover, .featured-carousel-controls > button:focus-visible { color: #111; border-color: #fff; background: #fff; }
.featured-carousel-counter { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 11px; }
.featured-carousel-counter i { width: 34px; height: 1px; background: rgba(255, 255, 255, .38); }
.featured-carousel-counter small { color: rgba(255, 255, 255, .56); }
.featured-carousel-dots { display: flex; gap: 6px; }
.featured-carousel-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .34); cursor: pointer; transition: width .35s ease, background-color .35s ease; }
.featured-carousel-dots button.is-active { width: 26px; background: #fff; }

.vehicle-photo[role="link"] { cursor: pointer; }
.vehicle-photo[role="link"]:focus-visible { outline: 3px solid #111; outline-offset: 4px; }
.vehicle-card .demo-badge { min-width: 64px; min-height: 48px; display: grid; place-items: center; padding: 10px 14px; color: #fff !important; border: 1px solid rgba(255, 255, 255, .42) !important; background: linear-gradient(135deg, #050505, #4a4d50 48%, #080808) !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important; font-size: 14px; }
.vehicle-corner-ribbon, .vehicle-corner-ribbon[data-ribbon-color="negro"] { color: #fff; background: linear-gradient(135deg, #050505 0%, #5a5d61 47%, #090909 75%, #3b3e41 100%); }
.vehicle-card[data-ribbon-color="negro"] { --card-accent: #202327; --card-accent-soft: rgba(31, 34, 38, .12); --card-icon-color: #fff; }
.vehicle-card[data-ribbon-color="negro"] .vehicle-specs img { filter: brightness(0) invert(1); }
.vehicle-card[data-ribbon-color="plateado"], .vehicle-card[data-ribbon-color="dorado"] { --card-icon-color: #111; }
.vehicle-model-highlight { color: inherit; }

@media (max-width: 980px) {
    .featured-month.featured-showcase { grid-template-columns: 1fr; }
    .featured-showcase .featured-copy, .featured-showcase .featured-copy > p:not(.featured-eyebrow) { max-width: 680px; }
}

@media (max-width: 719px) {
    .featured-month.featured-showcase { padding: 26px 18px; border-radius: 22px; }
    .featured-actions, .featured-actions .button { width: 100%; }
    .featured-carousel-card { min-height: 430px; border-right-width: 0; border-radius: 18px !important; }
    .featured-carousel-card::after { right: 0; }
    .featured-carousel-controls { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
    .featured-carousel-track, .featured-carousel-card > img { transition: none; }
}

/* Prioridad final: conserva la identidad de las categorías aprobadas. */
.featured-find {
    color: #171006;
    border-color: rgba(255, 232, 142, .72);
    background: linear-gradient(135deg, #fff2a8 0%, #c89016 46%, #fff1a2 72%, #a66c0b 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 12px 28px rgba(200, 144, 22, .18);
}

.featured-find .ui-icon { filter: brightness(0); }
.featured-find:hover,
.featured-find:focus-visible {
    color: #080706;
    border-color: #fff0a2;
    background: linear-gradient(135deg, #fff7c8 0%, #daa92f 44%, #fff4b2 72%, #b4760a 100%);
}

/* Ajustes finales de interacción y legibilidad para publicación. */
[data-find-car-open],
.featured-find,
.find-car-hero,
.find-car-nav {
    cursor: pointer;
}

.company-services img,
.company-services > span > img {
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .16);
    filter: brightness(0) invert(1) !important;
    opacity: 1;
}

.find-car-dialog {
    max-height: 100dvh;
    overflow: hidden;
    overscroll-behavior: contain;
}

.find-car-card {
    max-height: calc(100dvh - 2rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.find-car-kicker img {
    background: linear-gradient(135deg, #fff2a8, #c89016 55%, #fff1a2);
    border-radius: 50%;
    box-sizing: content-box;
    filter: brightness(0);
    padding: 5px;
}

.find-car-close {
    align-items: center;
    display: grid;
    line-height: 1;
    place-items: center;
}

.find-car-close span {
    display: block;
    line-height: 1;
    transform: translateY(-1px);
}

html:has(.find-car-dialog[open]) {
    overflow: hidden;
}

html.find-car-open,
html.find-car-open body {
    height: 100%;
    overflow: hidden !important;
    overscroll-behavior: none;
}

@media (max-width: 640px) {
    .find-car-card {
        max-height: calc(100dvh - 1.1rem);
    }
}

.vehicle-corner-ribbon[data-ribbon-color="plateado"] {
    color: #121518;
    background: linear-gradient(135deg, #fff 0%, #c7ccd0 28%, #f8f9fa 52%, #9ba2a8 76%, #eef0f1 100%);
}

.vehicle-corner-ribbon[data-ribbon-color="dorado"] {
    color: #211500;
    background: linear-gradient(135deg, #fff6bd 0%, #d3a02f 27%, #ffefa1 53%, #9f6c13 78%, #f4d873 100%);
}

.vehicle-card[data-ribbon-color="plateado"] .vehicle-model-highlight { color: #60686e; }
.vehicle-card[data-ribbon-color="dorado"] .vehicle-model-highlight { color: #bd8008; }
.featured-carousel-card[data-ribbon-color="plateado"] .vehicle-model-highlight { color: #d5dadd; }
.featured-carousel-card[data-ribbon-color="dorado"] .vehicle-model-highlight { color: #efc85b; }

/* Preferencias visuales administrables desde el panel */
body {
    font-family: var(--site-body-font, "Instrument Sans", "Segoe UI", Arial, sans-serif);
}

h1,
h2,
h3,
h4,
.hero-title,
.nav-link,
.button,
button {
    font-family: var(--site-heading-font, "Instrument Sans", "Segoe UI", Arial, sans-serif);
}

.vehicle-card,
.featured-carousel,
.featured-carousel-card,
.future-review-shell,
.future-news-card,
.company-media,
.company-services > span,
.sell-form,
.contact-card,
.footer-reference-card {
    border-radius: var(--site-card-radius, 18px);
}

.hero-dot.active,
.featured-carousel-dots button.is-active,
.future-review-dots button.is-active,
.site-scroll-progress span {
    background: var(--site-accent, #d6b14b);
}

html[data-content-spacing="compacto"] .vehicles,
html[data-content-spacing="compacto"] .catalog,
html[data-content-spacing="compacto"] .company,
html[data-content-spacing="compacto"] .future-news-section,
html[data-content-spacing="compacto"] .contact {
    padding-block: calc(4rem * var(--site-section-spacing, .88));
}

html[data-content-spacing="amplio"] .vehicles,
html[data-content-spacing="amplio"] .catalog,
html[data-content-spacing="amplio"] .company,
html[data-content-spacing="amplio"] .future-news-section,
html[data-content-spacing="amplio"] .contact {
    padding-block: calc(5rem * var(--site-section-spacing, 1.14));
}

/* Ajustes confirmados en revisión con el cliente · 07-08-2026 */
.featured-month.featured-public-gallery {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
    padding: clamp(1rem, 2vw, 1.5rem);
}

.featured-public-heading {
    position: relative;
    z-index: 2;
    display: grid;
    gap: .45rem;
    padding: .25rem .25rem clamp(1rem, 2vw, 1.4rem);
}

.featured-public-heading .featured-eyebrow {
    margin: 0;
    color: #d9dee2;
}

.featured-public-heading h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 720;
    letter-spacing: -.035em;
    line-height: 1.02;
}

.featured-public-heading > p:last-child {
    max-width: 700px;
    margin: 0;
    color: #bcc3c8;
    font-size: .78rem;
    line-height: 1.55;
}

.featured-public-gallery .featured-gallery {
    min-height: clamp(490px, 54vw, 680px);
    padding: 0;
    opacity: 1;
    transition: opacity .22s ease, transform .22s ease;
}

.featured-public-gallery .featured-gallery.is-changing {
    opacity: .18;
    transform: translateY(3px);
}

.vehicle-photo[role="link"] {
    cursor: pointer;
}

.vehicle-photo[role="link"]:focus-visible {
    outline: 3px solid #111417;
    outline-offset: 3px;
}

.vehicle-card .vehicle-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    min-height: 44px;
    padding: .55rem 0;
}

.vehicle-card .vehicle-specs li {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .5rem;
    padding-inline: .2rem .65rem;
}

.vehicle-card .vehicle-specs li + li {
    padding-left: .75rem;
}

.vehicle-card .vehicle-specs li:nth-child(n + 3) {
    display: none;
}

.vehicle-spec-simple-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    opacity: .58;
    filter: grayscale(1);
}

.vehicle-card[data-ribbon-color="negro"] .vehicle-specs .vehicle-spec-simple-icon {
    filter: grayscale(1);
}

.vehicle-card .vehicle-specs strong {
    overflow: hidden;
    color: #4c5358;
    font-size: .67rem;
    font-weight: 750;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .featured-month.featured-public-gallery {
        padding: 1rem;
    }

    .featured-public-heading {
        padding: .2rem 0 1rem;
    }

    .featured-public-heading h3 {
        font-size: clamp(1.65rem, 8vw, 2.25rem);
    }

    .featured-public-gallery .featured-gallery {
        min-height: 0;
        padding: 0;
        grid-template-rows: 310px 180px;
    }

    .vehicle-card .vehicle-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Catálogo y vitrina compacta · revisión estética 09-08-2026 */
.vehicle-body::before {
    display: none;
}

.vehicle-card .vehicle-body::after {
    height: 4px;
    background: var(--accent-gradient);
    clip-path: none;
    filter: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .42);
}

.vehicle-card .demo-badge {
    font-size: 16.8px;
    line-height: 1;
}

.featured-month.featured-public-gallery {
    position: relative;
}

.featured-stock-strip {
    position: relative;
    z-index: 4;
    display: grid;
    gap: .5rem;
    margin-top: .65rem;
    padding: .55rem .65rem .6rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.featured-stock-strip[hidden] {
    display: none;
}

.featured-stock-head {
    display: flex;
    min-height: 24px;
    align-items: center;
    gap: .55rem;
    color: #fff;
}

.featured-stock-head > span {
    font-family: Bahnschrift, "Arial Narrow", "Segoe UI", sans-serif;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.featured-stock-head > small {
    color: #9fa7ad;
    font-size: .58rem;
}

.featured-stock-controls {
    display: flex;
    gap: .35rem;
    margin-left: auto;
}

.featured-stock-controls button {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
}

.featured-stock-controls button:first-child img {
    transform: rotate(180deg);
}

.featured-stock-controls img {
    filter: brightness(0) invert(1);
}

.featured-stock-controls button:hover,
.featured-stock-controls button:focus-visible {
    border-color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .14);
}

.featured-stock-controls button:disabled {
    cursor: default;
    opacity: .35;
}

.featured-stock-page {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: .38rem;
}

.featured-stock-item {
    position: relative;
    min-width: 0;
    height: 56px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: #171b1e;
    isolation: isolate;
}

.featured-stock-item::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2, 4, 6, .02) 25%, rgba(2, 4, 6, .9) 100%);
    content: "";
    pointer-events: none;
}

.featured-stock-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
}

.featured-stock-item:hover img,
.featured-stock-item:focus-visible img {
    filter: saturate(1.06);
    transform: scale(1.035);
}

.featured-stock-item > span {
    position: absolute;
    right: .35rem;
    bottom: .3rem;
    left: .35rem;
    z-index: 2;
    display: flex;
    min-width: 0;
    align-items: end;
    justify-content: space-between;
    gap: .25rem;
}

.featured-stock-item strong {
    overflow: hidden;
    color: #fff;
    font-size: .52rem;
    font-weight: 760;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
    white-space: nowrap;
}

.featured-stock-item small {
    flex: 0 0 auto;
    color: #f0ce75;
    font-size: .5rem;
    font-weight: 850;
}

.featured-stock-pages {
    display: flex;
    min-height: 6px;
    justify-content: center;
    gap: 5px;
}

.featured-stock-pages button {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .25);
    cursor: pointer;
    transition: width .22s ease, background-color .22s ease;
}

.featured-stock-pages button.is-active {
    width: 20px;
    background: #d6b14b;
}

@media (min-width: 1121px) {
    .featured-month.featured-public-gallery {
        padding: clamp(.75rem, 1.2vw, 1rem);
    }

    .featured-public-heading {
        position: absolute;
        top: clamp(1.5rem, 3vw, 2.75rem);
        left: clamp(1.5rem, 3vw, 2.75rem);
        z-index: 6;
        width: min(510px, calc(52% - 3.5rem));
        padding: 1rem 1.15rem 1.05rem;
        border: 1px solid rgba(255, 255, 255, .22);
        border-left: 3px solid #d6b14b;
        border-radius: 14px;
        background: linear-gradient(145deg, rgba(7, 10, 12, .9), rgba(19, 23, 26, .72));
        box-shadow: 0 18px 44px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .08);
        backdrop-filter: blur(14px);
    }

    .featured-public-heading h3 {
        font-size: clamp(1.55rem, 2.1vw, 2.25rem);
    }

    .featured-public-heading > p:last-child {
        font-size: .7rem;
    }

    .featured-public-gallery .featured-gallery {
        height: clamp(560px, 42vw, 690px);
        min-height: clamp(560px, 42vw, 690px);
        max-height: 690px;
        aspect-ratio: auto;
        grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(0, .55fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .featured-public-gallery .featured-photo-main {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .featured-public-gallery .featured-photo:nth-child(4):last-child {
        grid-column: 2 / 4;
    }

    .featured-public-gallery .featured-photo:nth-child(2):last-child {
        grid-column: 2 / 4;
        grid-row: 1 / 3;
    }

    .featured-public-gallery .featured-photo:nth-child(2):nth-last-child(2),
    .featured-public-gallery .featured-photo:nth-child(3):last-child {
        grid-column: 2 / 4;
    }

    .featured-public-gallery .featured-photo:nth-child(3):last-child {
        grid-row: 2;
    }

    .featured-public-gallery .featured-photo {
        border-radius: 14px;
    }
}

@media (max-width: 859px) {
    .featured-stock-page {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .featured-stock-item {
        height: 50px;
    }

    .featured-stock-item > span {
        right: .25rem;
        bottom: .24rem;
        left: .25rem;
    }

    .featured-stock-item strong {
        font-size: .48rem;
    }

    .featured-stock-item small {
        font-size: .46rem;
    }
}

@media (max-width: 420px) {
    .featured-stock-strip {
        padding: .5rem;
    }

    .featured-stock-head > span {
        font-size: .58rem;
    }

    .featured-stock-item {
        height: 48px;
    }
}

/* Tarjeta completa e icono superior de transmisión · 09-08-2026 */
.vehicle-transmission-label .vehicle-transmission-type-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    object-fit: contain;
    opacity: .72;
    filter: grayscale(1) contrast(1.08);
}

/* Destacados rotativos y selección ampliada · 09-08-2026 */
.featured-public-gallery .featured-gallery {
    transition: opacity .3s ease, transform .42s cubic-bezier(.22, 1, .36, 1);
}

.featured-public-gallery .featured-gallery.is-changing {
    opacity: .08;
    transform: translateY(8px) scale(.994);
}

.featured-gallery.is-arriving .featured-photo > img {
    animation: featured-photo-arrive .72s cubic-bezier(.22, 1, .36, 1) both;
}

.featured-gallery.is-arriving .featured-photo:nth-child(2) img {
    animation-delay: .06s;
}

.featured-gallery.is-arriving .featured-photo:nth-child(3) img {
    animation-delay: .12s;
}

.featured-gallery.is-arriving .featured-photo:nth-child(4) img,
.featured-gallery.is-arriving .featured-photo:nth-child(5) img {
    animation-delay: .18s;
}

@keyframes featured-photo-arrive {
    from {
        opacity: .25;
        transform: scale(1.035);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.featured-photo:not(.featured-photo-main) {
    cursor: zoom-in;
}

.featured-photo-action {
    position: absolute;
    top: .72rem;
    right: .72rem;
    z-index: 4;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: .42rem;
    padding: .42rem .62rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: #fff;
    background: rgba(7, 10, 12, .68);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .2);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    transition: border-color .25s ease, background-color .25s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
}

.featured-photo-action img,
.featured-photo .vehicle-transmission-type-icon {
    opacity: .96;
    filter: brightness(0) invert(1) !important;
}

.featured-photo-action img {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    object-fit: contain;
    animation: none !important;
}

.featured-photo:not(.featured-photo-main) .featured-photo-action {
    transform: translateY(-3px);
}

.featured-photo:hover .featured-photo-action,
.featured-photo:focus-visible .featured-photo-action {
    border-color: rgba(255, 255, 255, .7);
    background: rgba(7, 10, 12, .88);
    transform: none;
}

.featured-photo-progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    height: 3px;
    background: linear-gradient(90deg, #f5dc8b, #d6b14b 54%, #fff1b1);
    box-shadow: 0 0 12px rgba(214, 177, 75, .52);
    transform: scaleX(0);
    transform-origin: left center;
}

.featured-gallery.is-counting .featured-photo-main .featured-photo-progress {
    animation: featured-gallery-progress 10s linear forwards;
}

@keyframes featured-gallery-progress {
    to { transform: scaleX(1); }
}

.featured-stock-item {
    appearance: none;
    width: 100%;
    padding: 0;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.featured-stock-item.is-active {
    border-color: #e5c765;
    box-shadow: 0 0 0 1px rgba(229, 199, 101, .5), 0 7px 18px rgba(0, 0, 0, .24);
    transform: translateY(-1px);
}

.featured-stock-item.is-active img {
    filter: saturate(1.08) contrast(1.02);
}

@media (max-width: 720px) {
    .featured-photo-action {
        top: .55rem;
        right: .55rem;
        min-height: 28px;
        padding: .38rem .52rem;
        font-size: .5rem;
    }

    .featured-photo:not(.featured-photo-main) .featured-photo-action span {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .featured-gallery.is-arriving .featured-photo > img,
    .featured-gallery.is-counting .featured-photo-main .featured-photo-progress {
        animation: none;
    }
}

.vehicle-card[role="link"] {
    cursor: pointer;
}

.vehicle-card[role="link"]:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--card-accent) 72%, #111417);
    outline-offset: 4px;
}

.vehicle-card[role="link"] .vehicle-link {
    position: relative;
    z-index: 6;
}

/* Encuadre compacto de Destacados y visibilidad del inventario · 09-08-2026 */
@media (min-width: 860px) {
    .vehicles-section {
        padding-top: clamp(.75rem, 1.1vw, 1rem);
    }
}

/* Fotografías completas y uniformes del catálogo · 09-08-2026 */
.catalog-section .vehicle-photo {
    aspect-ratio: 6 / 5;
}

.catalog-section .vehicle-card[data-slug="chevrolet-silverado-z71-2023"] .vehicle-photo img {
    object-position: center 62%;
}
