 /* ══════════════════════════════════════════
       TOKENS & RESET
    ══════════════════════════════════════════ */
:root {
    --c-orange:      #E85B0D;
    --c-orange-hi:   #FF6B1A;
    --c-blue-dk:     #134D7F;
    --c-blue-md:     #1171B8;
    --c-blue-lt:     #BBCEEC;
    --c-green:       #146533;
    --c-white:       #FFFFFF;
    --c-black:       #000000;
    --c-ink:         #080808;
    --c-paper:       #F5F2EE;
    --c-paper-dk:    #EBE6DF;

    --ff-serif:      'Cormorant Garamond', Georgia, serif;
    --ff-condensed:  'Bebas Neue', sans-serif;
    --ff-body:       'Poppins', system-ui, sans-serif;

    --ease-expo:     cubic-bezier(0.16, 1, 0.3, 1);
    --ease-quart:    cubic-bezier(0.25, 1, 0.5, 1);
    --ease-slide:    cubic-bezier(0.76, 0, 0.24, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--ff-body);
    background: var(--c-ink);
    color: var(--c-white);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
img { display: block; max-width: 100%; height: auto; }
a   { text-decoration: none; color: inherit; }
button { background: none; border: none; cursor: pointer; font: inherit; color: inherit; }

/* ── Film-grain overlay (fixed, pointer-events-none) ── */
body::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9000;
    pointer-events: none;
    opacity: 0.028;
    background-image:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 300px 300px;
}

/* ══════════════════════════════════════════
   NAVIGATION — Floating glass pill
══════════════════════════════════════════ */
.nav {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 800;
    display: flex;
    align-items: center;
    background: rgba(8, 8, 8, 0.72);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 100px;
    padding: 8px 10px 8px 8px;
    gap: 4px;
    overflow: visible;
    transition: background 600ms var(--ease-expo),
    border-color 600ms var(--ease-expo);
    white-space: nowrap;
}
.nav.scrolled {
    background: rgba(8,8,8,0.88);
    border-color: rgba(255,255,255,0.1);
}

.nav__brand {
    display: flex;
    align-items: center;
    margin-right: 10px;
    flex-shrink: 0;
    /* Permite que el logo sobresalga verticalmente del pill */
    position: relative;
    z-index: 1;
}
.nav__brand-logo {
    height: 80px;
    width: auto;
    display: block;
    /* Sube el logo para que sobresalga por arriba */
    margin-top: -24px;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.55));
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.nav__brand:hover .nav__brand-logo {
    opacity: 0.9;
    transform: scale(1.05);
}

.nav__links {
    display: flex;
    align-items: center;
    gap: 2px;
}
.nav__link {
    font-family: var(--ff-body);
    font-size: 12.5px;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    padding: 6px 14px;
    border-radius: 100px;
    transition: color 350ms ease, background 350ms ease;
}
.nav__link:hover {
    color: var(--c-white);
    background: rgba(255,255,255,0.07);
}

/* ── Active section indicator ── */
.nav__link {
    position: relative; /* needed for the dot pseudo-element */
}

/* Orange dot below the active link */
.nav__link::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 18px;
    height: 2.5px;
    background: var(--c-orange);
    border-radius: 2px;
    transition: transform 380ms cubic-bezier(0.16,1,0.3,1),
                opacity 380ms ease;
    opacity: 0;
}

/* Active state */
.nav__link.is-active {
    color: var(--c-white);
    background: rgba(255,255,255,0.1);
    font-weight: 600;
}

.nav__link.is-active::after {
    transform: translateX(-50%) scaleX(1);
    opacity: 1;
}

.nav__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--c-orange);
    color: var(--c-white);
    font-family: var(--ff-body);
    font-size: 12.5px;
    font-weight: 600;
    padding: 8px 16px 8px 20px;
    border-radius: 100px;
    margin-left: 6px;
    transition: background 400ms var(--ease-quart), transform 300ms var(--ease-quart);
}
.nav__cta:hover { background: var(--c-orange-hi); transform: scale(1.03); }
.nav__cta-icon {
    width: 24px; height: 24px; border-radius: 50%;
    background: rgba(255,255,255,0.18);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    transition: transform 350ms var(--ease-quart);
}
.nav__cta:hover .nav__cta-icon { transform: translate(2px,-2px) scale(1.1); }

/* hamburger */
.nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    margin-left: 8px;
}
.nav__hamburger span {
    display: block; width: 20px; height: 1.5px;
    background: var(--c-white);
    border-radius: 2px;
    transition: transform 380ms var(--ease-expo), opacity 280ms ease;
    transform-origin: center;
}
.nav__hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(3px, 3.5px); }
.nav__hamburger.open span:nth-child(2) { transform: rotate(-45deg) translate(3px,-3.5px); }

/* Mobile nav overlay */
.nav-overlay {
    position: fixed; inset: 0; z-index: 790;
    background: rgba(8,8,8,0.96);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 20px;
    opacity: 0; pointer-events: none;
    transition: opacity 450ms var(--ease-expo);
}
.nav-overlay.open { opacity: 1; pointer-events: auto; }
.nav-overlay__link {
    font-family: var(--ff-condensed);
    font-size: clamp(40px, 9vw, 68px);
    font-weight: 900;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--c-white);
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 500ms var(--ease-expo), transform 500ms var(--ease-expo), color 280ms ease;
}
.nav-overlay.open .nav-overlay__link { opacity: 1; transform: translateY(0); }
.nav-overlay.open .nav-overlay__link:nth-child(1) { transition-delay: 80ms;  }
.nav-overlay.open .nav-overlay__link:nth-child(2) { transition-delay: 130ms; }
.nav-overlay.open .nav-overlay__link:nth-child(3) { transition-delay: 180ms; }
.nav-overlay.open .nav-overlay__link:nth-child(4) { transition-delay: 230ms; }
.nav-overlay.open .nav-overlay__link:nth-child(5) { transition-delay: 280ms; }
.nav-overlay.open .nav-overlay__link:nth-child(6) { transition-delay: 330ms; }
.nav-overlay__link:hover { color: var(--c-orange); }

/* ══════════════════════════════════════════
   A. HERO
══════════════════════════════════════════ */
.hero {
    position: relative;
    width: 100%;
    min-height: 100dvh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    overflow: hidden;
}

/* Slider */
.hero__slider { position: absolute; inset: 0; z-index: 0; }
.hero__slide  {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity 1400ms ease;
}
.hero__slide.active { opacity: 1; }
.hero__slide img {
    width: 100%; height: 100%;
    object-fit: cover;
    will-change: transform;
}

/* Overlays */
.hero__vignette {
    position: absolute; inset: 0; z-index: 1;
    background:
            linear-gradient(to bottom,
            rgba(8,8,8,.40) 0%,
            rgba(8,8,8,.10) 35%,
            rgba(8,8,8,.55) 75%,
            rgba(8,8,8,.92) 100%
            );
}
.hero__side-fade {
    position: absolute; inset: 0; z-index: 1;
    background:
            linear-gradient(to right,
            rgba(8,8,8,.65) 0%,
            rgba(8,8,8,.20) 40%,
            transparent 70%
            );
}

/* Content */
.hero__content {
    position: relative; z-index: 2;
    display: flex; flex-direction: column;
    align-items: flex-start; text-align: left;
    padding: 0 clamp(32px, 6vw, 96px) clamp(56px, 8vh, 100px);
    gap: 20px;
    max-width: 680px;
}

.hero__eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    background: rgba(232,91,13,.12);
    border: 1px solid rgba(232,91,13,.35);
    border-radius: 100px;
    padding: 6px 18px;
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: .22em; text-transform: uppercase;
    color: var(--c-orange);
}
.hero__eyebrow-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--c-orange); }

.hero__logo {
    width: clamp(160px, 26vw, 300px);
    filter: drop-shadow(0 0 60px rgba(232,91,13,.25))
    drop-shadow(0 0 120px rgba(232,91,13,.10));
}

.hero__title {
    font-family: var(--ff-condensed);
    font-size: clamp(38px, 6.5vw, 96px);
    /*font-weight: 900;
    font-weight: 0;
    line-height: 1.0;*/
    letter-spacing: -0.025em;
    color: var(--c-white);
}
.hero__title em { font-style: italic; color: var(--c-orange); }

.hero__sub {
    font-size: clamp(14px,1.5vw,17px);
    font-weight: 400;
    line-height: 1.7;
    color: rgba(255,255,255,.62);
    max-width: 52ch;
}

.hero__actions {
    display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-start;
    margin-top: 8px;
}

.btn-primary {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--c-orange); color: var(--c-white);
    font-family: var(--ff-body); font-size: 13.5px; font-weight: 600;
    padding: 13px 16px 13px 22px; border-radius: 100px;
    transition: background 400ms var(--ease-quart), transform 300ms var(--ease-quart);
}
.btn-primary:hover { background: var(--c-orange-hi); transform: scale(1.03); }
.btn-primary__icon {
    width: 30px; height: 30px; border-radius: 50%;
    background: rgba(255,255,255,.16);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
    transition: transform 350ms var(--ease-quart);
}
.btn-primary:hover .btn-primary__icon { transform: translate(2px,-2px) scale(1.1); }

.btn-ghost {
    display: inline-flex; align-items: center; gap: 8px;
    color: rgba(255,255,255,.75);
    font-family: var(--ff-body); font-size: 13.5px; font-weight: 500;
    padding: 13px 22px; border-radius: 100px;
    border: 1px solid rgba(255,255,255,.18);
    transition: border-color 350ms ease, color 350ms ease, background 350ms ease;
}
.btn-ghost:hover {
    border-color: rgba(255,255,255,.45);
    color: var(--c-white);
    background: rgba(255,255,255,.04);
}

/* Scroll hint */
.hero__scroll {
    position: absolute; bottom: 36px; left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.hero__scroll span {
    font-family: var(--ff-condensed);
    font-size: 9.5px; font-weight: 700;
    letter-spacing: .22em; text-transform: uppercase;
    color: rgba(255,255,255,.3);
}
.hero__scroll-track {
    width: 1px; height: 52px;
    background: rgba(255,255,255,.12);
    overflow: hidden; border-radius: 2px;
}
.hero__scroll-fill {
    width: 100%; height: 50%;
    background: linear-gradient(to bottom, var(--c-orange), transparent);
    animation: scrollDrop 2s ease-in-out infinite;
}
@keyframes scrollDrop {
    0%   { transform: translateY(-100%); }
    100% { transform: translateY(200%); }
}

/* Slide dots */
.hero__dots {
    position: absolute; bottom: 44px; right: 44px; z-index: 2;
    display: flex; flex-direction: column; gap: 8px;
}
.hero__dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: rgba(255,255,255,.25); cursor: pointer;
    transition: background 400ms ease, transform 400ms var(--ease-quart);
}
.hero__dot.active { background: var(--c-orange); transform: scale(1.5); }

/* ══════════════════════════════════════════
   B. NOSOTROS
══════════════════════════════════════════ */
.nosotros {
    position: relative;
    background: var(--c-paper);
    color: var(--c-ink);
    /*padding: 140px 0 160px;*/
    padding: 1px 0 160px;
    overflow: hidden;
}
.nosotros::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(to right, transparent 0%, var(--c-orange) 50%, transparent 100%);
}

.nosotros__wrap {
    max-width: 1440px; margin: 0 auto;
    padding: 50px clamp(24px,5.5vw,96px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(48px,7vw,100px);
    align-items: start;
}

/* Ghost year behind content */
.nosotros__ghost {
    position: absolute;
    top: 40px; left: clamp(24px,5.5vw,96px);
    font-family: var(--ff-condensed);
    font-size: clamp(90px,14vw,200px);
    font-weight: 900; line-height: 1;
    color: rgb(232 91 13 / 0.51);
    -webkit-text-stroke: 1px rgba(19,77,127,.07);
    pointer-events: none; user-select: none;
    letter-spacing: -0.04em;
}

.nosotros__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(19,77,127,.07);
    border: 1px solid rgba(19,77,127,.18);
    border-radius: 100px; padding: 5px 16px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--c-blue-md);
    margin-bottom: 28px;
}

.nosotros__h2 {
    font-family: var(--ff-serif);
    font-size: clamp(34px,4.2vw,66px);
    font-weight: 900; line-height: 1.04;
    letter-spacing: -0.025em;
    color: var(--c-ink);
    margin-bottom: 28px;
}
.nosotros__h2 em { font-style: italic; color: var(--c-orange); }

.nosotros__p {
    font-size: clamp(14.5px,1.2vw,16.5px);
    font-weight: 400; line-height: 1.78;
    color: rgba(8,8,8,.58);
    max-width: 54ch;
    margin-bottom: 20px;
    text-align: justify;
}

.nosotros__stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid rgba(8,8,8,.08);
}
.nosotros__stat-num {
    font-family: var(--ff-condensed);
    font-size: clamp(44px,5vw,70px);
    font-weight: 900; line-height: .95;
    color: var(--c-orange);
}
.nosotros__stat-lbl {
    font-size: 12.5px; font-weight: 500;
    color: rgba(8,8,8,.45); line-height: 1.4;
    margin-top: 6px;
}

/* ══════════════════════════════════════════
   NOSOTROS — ATHS Full-width Banner
══════════════════════════════════════════ */
.nosotros__banner {
    width: 100%;
    /* Rompe fuera del nosotros__wrap para ser full-page */
}

/* Foto full-width: sin padding, sin max-width */
.nosotros__banner-photo {
    width: 100%;
    line-height: 0;           /* elimina gap inline-block */
    overflow: hidden;
}
.nosotros__banner-photo img {
    width: 100%;
    display: block;
    max-height: 75vh;         /* evita que sea demasiado alta en pantallas grandes */
    object-fit: cover;
    object-position: center center;
}

/* Caption overlay al pie de la foto */
.nosotros__banner-photo--titled {
    position: relative;
}
.nosotros__banner-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: clamp(24px, 4vw, 56px) clamp(24px, 5.5vw, 96px);
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}
.nosotros__banner-caption-title {
    margin: 0;
    font-size: clamp(2.2rem, 6vw, 5rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 16px rgba(0,0,0,0.5);
}

/* Barra inferior — fondo azul oscuro de marca */
.nosotros__banner-bar {
    background: linear-gradient(110deg, #0c3254 0%, var(--c-blue-dk) 45%, #1a609a 100%);
    border-top: 3px solid var(--c-orange);
    padding: clamp(28px, 4vw, 52px) clamp(24px, 5.5vw, 96px);
    position: relative;
    overflow: hidden;
}

/* Halo central sutil */
.nosotros__banner-bar::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 120% at 50% 50%, rgba(232, 91, 13, 0.07) 0%, transparent 70%);
    pointer-events: none;
}

/* Inner wrapper: centrado horizontal y vertical */
.nosotros__banner-inner {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 3.5vw, 48px);
    position: relative;
}

/* Badge del logo: circular con anillo y padding interior */
.nosotros__banner-badge {
    width: clamp(72px, 9vw, 108px);
    height: clamp(72px, 9vw, 108px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    padding: clamp(8px, 1vw, 12px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.18),
        0 0 0 4px rgba(232, 91, 13, 0.20),
        0 8px 32px rgba(0, 0, 0, 0.30);
}

.nosotros__banner-badge svg {
    width: 100%;
    height: 100%;
}

.nosotros__banner-badge img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Separador vertical entre badge y texto */
.nosotros__banner-copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-left: 1px solid rgba(255, 255, 255, 0.22);
    padding-left: clamp(24px, 3.5vw, 48px);
}

.nosotros__banner-pre {
    font-family: var(--ff-condensed);
    font-size: clamp(10px, 0.85vw, 12px);
    font-weight: 700;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--c-orange-hi);
    line-height: 1;
}

.nosotros__banner-title {
    font-family: var(--ff-condensed);
    font-size: clamp(18px, 2.4vw, 32px);
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--c-white);
    line-height: 1.05;
}

/* Responsive */
@media (max-width: 480px) {
    .nosotros__banner-photo img {
        max-height: 55vw;
    }
    .nosotros__banner-bar {
        padding: 24px 20px;
    }
    .nosotros__banner-inner {
        gap: 20px;
    }
}

/* ── Misión & Visión ── */
.nosotros__mv-wrap {
    background: var(--c-ink);
    padding: 72px clamp(24px,5.5vw,96px) 80px;
}

.nosotros__mv {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 0 clamp(40px,5vw,96px);
    align-items: start;
}

/* Vertical separator */
.nosotros__mv-sep {
    background: rgba(255,255,255,0.08);
    align-self: stretch;
    min-height: 1px;
}

.nosotros__mv-card {
    padding: 0;
}

/* Eyebrow label */
.nosotros__mv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ff-condensed);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: 24px;
}

.nosotros__mv-eyebrow--vision {
    color: var(--c-blue-lt);
}

/* Dot accent before eyebrow */
.nosotros__mv-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c-orange);
    flex-shrink: 0;
}
.nosotros__mv-dot--vision {
    background: var(--c-blue-lt);
}

/* Card heading */
.nosotros__mv-heading {
    font-family: var(--ff-serif);
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--c-white);
    margin-bottom: 22px;
}

.nosotros__mv-heading em {
    font-style: italic;
    color: var(--c-orange);
}

#mvVision .nosotros__mv-heading em {
    color: var(--c-blue-lt);
}

/* Body text */
.nosotros__mv-text {
    font-size: clamp(14px, 1.15vw, 16px);
    font-weight: 400;
    line-height: 1.80;
    color: rgba(255,255,255,0.52);
    max-width: 56ch;
    text-align: justify;
}

.nosotros__mv-img{
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Responsive */
@media (max-width: 768px) {
    .nosotros__mv {
        grid-template-columns: 1fr;
        gap: 48px 0;
    }
    .nosotros__mv-sep {
        display: none;
    }
    .nosotros__mv-wrap {
        padding: 56px clamp(24px,5.5vw,40px) 64px;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ── Mesa Directiva
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.nosotros__md-wrap {
    background: var(--c-ink);
    padding: clamp(72px, 9vw, 128px) clamp(24px, 5.5vw, 96px) clamp(80px, 10vw, 144px);
    overflow: hidden;
    position: relative;
}

/* Línea naranja superior que conecta con la sección anterior */
.nosotros__md-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: clamp(24px, 5.5vw, 96px);
    right: clamp(24px, 5.5vw, 96px);
    height: 1px;
    background: linear-gradient(90deg, var(--c-orange) 0%, rgba(232, 91, 13, 0.25) 40%, transparent 100%);
}

.nosotros__md {
    max-width: 1440px;
    margin: 0 auto;
}

/* ── Encabezado ── */
.nosotros__md-hd {
    margin-bottom: clamp(48px, 6vw, 88px);
}

.nosotros__md-eyebrow {
    display: block;
    font-family: var(--ff-condensed);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: 20px;
    opacity: 0;
}

.nosotros__md-headline {
    margin-bottom: 36px;
}

/* Máscara de overflow para la animación slide-up */
.nosotros__md-clip {
    overflow: hidden;
    padding-bottom: 0.06em;
}

.nosotros__md-hl {
    display: block;
    font-family: var(--ff-condensed);
    font-size: clamp(64px, 12vw, 160px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    line-height: 0.88;
    color: var(--c-white);
    will-change: transform;
}

/* "Directiva" en naranja sólido — imponente, sin ambigüedades */
.nosotros__md-hl--accent {
    color: var(--c-orange);
}

/* Línea divisoria animada (scaleX 0 → 1 via GSAP) */
.nosotros__md-rule {
    height: 1px;
    background: rgba(255, 255, 255, 0.10);
    transform: scaleX(0);
    transform-origin: left;
}

/* ── Cuarteto ejecutivo ── */
.nosotros__md-exec {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: clamp(40px, 5vw, 72px);
}

.nosotros__md-exec-card {
    padding: clamp(24px, 3vw, 44px) clamp(20px, 2.5vw, 36px);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
    cursor: default;
}

.nosotros__md-exec-card:last-child {
    border-right: none;
}

/* Línea naranja inferior que se expande en hover */
.nosotros__md-exec-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: var(--c-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.nosotros__md-exec-card:hover::after {
    transform: scaleX(1);
}

.nosotros__md-card-role {
    display: block;
    font-family: var(--ff-condensed);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 14px;
    transition: color 0.25s ease;
}

.nosotros__md-exec-card:hover .nosotros__md-card-role {
    color: var(--c-orange);
}

.nosotros__md-card-name {
    display: block;
    font-family: var(--ff-condensed);
    font-size: clamp(20px, 2.8vw, 40px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    line-height: 1.0;
    color: var(--c-white);
    transition: letter-spacing 0.40s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.25s ease;
}

.nosotros__md-exec-card:hover .nosotros__md-card-name {
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.88);
}

/* ── Lista tipográfica (roster) ── */
.nosotros__md-roster {
    counter-reset: md-counter;
}

.nosotros__md-entry {
    counter-increment: md-counter;
    display: grid;
    grid-template-columns: 3ch minmax(160px, 22%) 1fr;
    gap: 0 clamp(20px, 3vw, 48px);
    align-items: start;
    padding: clamp(14px, 1.8vw, 22px) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    position: relative;
    cursor: default;
}

/* Número auto-generado */
.nosotros__md-entry::before {
    content: counter(md-counter, decimal-leading-zero);
    font-family: var(--ff-condensed);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.16);
    padding-top: 0.3em;
    align-self: start;
}

/* Sweep de línea naranja en hover */
.nosotros__md-entry::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0; right: 0;
    height: 1px;
    background: var(--c-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.50s cubic-bezier(0.16, 1, 0.3, 1);
}

.nosotros__md-entry:hover::after {
    transform: scaleX(1);
}

.nosotros__md-entry-role {
    font-family: var(--ff-condensed);
    font-size: clamp(10px, 0.85vw, 12px);
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.32);
    padding-top: 0.35em;
    line-height: 1.55;
    transition: color 0.25s ease;
}

.nosotros__md-entry:hover .nosotros__md-entry-role {
    color: var(--c-orange);
}

.nosotros__md-entry-name {
    display: block;
    font-family: var(--ff-condensed);
    font-size: clamp(18px, 2.2vw, 30px);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--c-white);
    line-height: 1.1;
    transition: letter-spacing 0.40s cubic-bezier(0.16, 1, 0.3, 1);
}

.nosotros__md-entry:hover .nosotros__md-entry-name {
    letter-spacing: 0.04em;
}

/* Entradas con múltiples nombres en la misma comisión */
.nosotros__md-entry-names {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .nosotros__md-exec {
        grid-template-columns: repeat(2, 1fr);
    }
    .nosotros__md-exec-card:nth-child(2) {
        border-right: none;
    }
    .nosotros__md-exec-card:nth-child(3),
    .nosotros__md-exec-card:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    .nosotros__md-exec-card:nth-child(4) {
        border-right: none;
    }
}

@media (max-width: 768px) {
    .nosotros__md-entry {
        grid-template-columns: 2.5ch 1fr;
        grid-template-rows: auto auto;
        gap: 2px clamp(12px, 2vw, 24px);
    }
    .nosotros__md-entry-role {
        grid-column: 2;
        grid-row: 1;
    }
    .nosotros__md-entry > .nosotros__md-clip,
    .nosotros__md-entry-names {
        grid-column: 2;
        grid-row: 2;
    }
}

@media (max-width: 560px) {
    .nosotros__md-exec {
        grid-template-columns: 1fr 1fr;
    }
    .nosotros__md-exec-card:nth-child(2) {
        border-right: none;
    }
    .nosotros__md-exec-card:nth-child(3),
    .nosotros__md-exec-card:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    .nosotros__md-hl {
        font-size: clamp(52px, 15vw, 80px);
    }
}

@media (max-width: 420px) {
    .nosotros__md-exec {
        grid-template-columns: 1fr;
    }
    .nosotros__md-exec-card {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .nosotros__md-exec-card:nth-child(3),
    .nosotros__md-exec-card:nth-child(4) {
        border-top: none;
    }
    .nosotros__md-exec-card:last-child {
        border-bottom: none;
    }
    .nosotros__md-entry {
        grid-template-columns: 1fr;
        gap: 3px 0;
    }
    .nosotros__md-entry::before { display: none; }
    .nosotros__md-entry-role,
    .nosotros__md-entry > .nosotros__md-clip,
    .nosotros__md-entry-names {
        grid-column: 1;
        grid-row: unset;
    }
}

/* Right — floating image cluster */
/* ── Cluster de imágenes: flex columna con overlap ── */
.nosotros__images {
    display: flex;
    flex-direction: column;
    gap: 0;
    /* Sin height fija — las imágenes dictan la altura */
}

/* Cada tarjeta de imagen: posición relativa (sin absolute) */
.nosotros__img {
    position: relative;
    border-radius: 20px;
    overflow: hidden;          /* clip interno de la foto */
    cursor: pointer;
    will-change: transform;
    flex-shrink: 0;
}
.nosotros__img img {
    width: 100%;
    display: block;
    object-fit: cover;
    transition: transform 750ms var(--ease-expo);
}
.nosotros__img:hover img { transform: scale(1.05); }

/* Imagen principal — ancho casi completo, alineada a la derecha */
.nosotros__img--a {
    width: 92%;
    align-self: flex-end;
    box-shadow: 0 28px 70px rgba(8,8,8,.18);
    z-index: 1;
}
.nosotros__img--a img {
    aspect-ratio: 4 / 3;   /* proporción 4:3 — muestra bien el contenido */
}

/* Imagen secundaria — algo más pequeña, a la izquierda, se superpone hacia arriba */
.nosotros__img--c {
    width: 92%;
    align-self: flex-start;
    margin-top: 20px;          /* overlap: sube sobre la imagen principal */
    box-shadow: 0 24px 60px rgba(8,8,8,.22);
    z-index: 2;
}
.nosotros__img--c img {
    aspect-ratio: 6 / 6;  /* proporción más panorámica */
}

/* Tag de cada imagen — siempre visible en la esquina inferior */
.nosotros__img-tag {
    position: absolute;
    bottom: 14px; left: 14px;
    z-index: 3;
    background: rgba(8,8,8,.70);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 100px;
    padding: 5px 14px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--c-white);
    white-space: nowrap;
    pointer-events: none;
}

/* ══════════════════════════════════════════
   C. COLECCIÓN — Horizontal scrollytelling
══════════════════════════════════════════ */
.coleccion {
    position: relative;
    background: var(--c-ink);
    overflow: hidden;
}

.coleccion__header {
    padding: 120px clamp(24px,5.5vw,96px) 72px;
    max-width: 1440px; margin: 0 auto;
}

.coleccion__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(232,91,13,.09);
    border: 1px solid rgba(232,91,13,.28);
    border-radius: 100px; padding: 5px 16px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--c-orange); margin-bottom: 22px;
}

.coleccion__h2 {
    font-family: var(--ff-serif);
    font-size: clamp(38px,5.5vw,88px);
    font-weight: 900; line-height: 1.0;
    letter-spacing: -0.025em;
    color: var(--c-white);
    max-width: 760px;
}
.coleccion__h2 em { font-style: italic; color: var(--c-orange); }

/* Pin wrapper */
.coleccion__pin { position: relative; }

/* Horizontal track — full width per era */
.coleccion__track {
    display: flex;
    width: max-content;
}

.coleccion__p{
    font-size: clamp(14.5px,1.2vw,16.5px);
    font-weight: 400; line-height: 1.78;
    color: rgba(8,8,8,.58);
    max-width: 54ch;
    margin-bottom: 20px;
    text-align: justify;
}

/* Each era panel */
.era {
    width: 100vw;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    align-items: center;
    padding: 0 clamp(24px,5.5vw,96px);
    gap: clamp(40px,6vw,90px);
    position: relative;
    overflow: hidden;
}

/* Brutalist year ghost — industrial accent */
.era__ghost {
    position: absolute; top: 8%; right: -2%;
    font-family: var(--ff-condensed);
    font-size: clamp(120px,18vw,260px);
    font-weight: 900; line-height: 1;
    letter-spacing: -0.06em;
    /*color: transparent;*/
    color: var(--c-orange);
    -webkit-text-stroke: 1px rgba(255,255,255,.035);
    pointer-events: none; user-select: none;
}

.era__left { position: relative; z-index: 1; }

.era__period-tag {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 100px; padding: 4px 14px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase;
    color: rgba(255,255,255,.4);
    margin-bottom: 18px;
}

/* Decade number — brutalist heavy type */
.era__decade {
    font-family: var(--ff-condensed);
    font-size: clamp(72px,10vw,148px);
    font-weight: 900; line-height: .88;
    letter-spacing: -0.04em;
    color: var(--c-orange);
    margin-bottom: 22px;
}

.era__h3 {
    font-family: var(--ff-serif);
    font-size: clamp(22px,2.2vw,34px);
    font-weight: 700; line-height: 1.22;
    color: var(--c-white);
    margin-bottom: 16px;
}

.era__body {
    font-size: clamp(13.5px,1.1vw,15.5px);
    font-weight: 400; line-height: 1.72;
    color: rgba(255,255,255,.48);
    max-width: 44ch;
    margin-bottom: 30px;
}

.era__tags { display: flex; flex-wrap: wrap; gap: 7px; }
/* Paneles de seguimiento — solo año, sin descripción repetida */
.era--followup .era__h3,
.era--followup .era__body,
.era--followup .era__tags { display: none; }
.era__tag {
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--c-blue-lt);
    background: rgba(17,113,184,.1);
    border: 1px solid rgba(17,113,184,.22);
    border-radius: 100px; padding: 4px 13px;
}

/* Image side — double-bezel */
.era__right { position: relative; z-index: 1; }

/* Image side grid — todas las fotos visibles a la vez */
.era__shell {
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 26px;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 8px;
}
/* 1 foto: columna única, imagen grande */
.era__shell[data-count="1"] { grid-template-columns: 1fr; }

.era__img-wrap {
    position: relative;
    border-radius: 19px;
    overflow: hidden;
}
.era__img-wrap img {
    width: 100%; height: 460px;
    object-fit: cover; object-position: center;
    border-radius: 19px;
    display: block;
}
/* 2 fotos */
.era__shell[data-count="2"] .era__img-wrap img { height: 300px; }
/* 3–5 fotos */
.era__shell[data-count="3"] .era__img-wrap img,
.era__shell[data-count="4"] .era__img-wrap img,
.era__shell[data-count="5"] .era__img-wrap img { height: 200px; }
/* 6–11 fotos: compacto */
.era__shell[data-count="6"]  .era__img-wrap img,
.era__shell[data-count="7"]  .era__img-wrap img,
.era__shell[data-count="8"]  .era__img-wrap img,
.era__shell[data-count="9"]  .era__img-wrap img,
.era__shell[data-count="10"] .era__img-wrap img,
.era__shell[data-count="11"] .era__img-wrap img { height: 158px; }

.era__caption {
    position: absolute; bottom: 12px; left: 12px; right: 12px;
    background: rgba(8,8,8,.72);
    backdrop-filter: blur(14px);
    border-radius: 10px; padding: 8px 12px;
}
.era__caption strong {
    display: block;
    font-family: var(--ff-condensed);
    font-size: 13px; font-weight: 800;
    letter-spacing: .04em;
    color: var(--c-orange);
    margin-bottom: 1px;
}
.era__caption span {
    font-size: 11.5px;
    color: rgba(255,255,255,.55);
    line-height: 1.3;
}
/* En fotos compactas, ocultar subtítulo */
.era__shell[data-count="6"]  .era__caption span,
.era__shell[data-count="7"]  .era__caption span,
.era__shell[data-count="8"]  .era__caption span,
.era__shell[data-count="9"]  .era__caption span,
.era__shell[data-count="10"] .era__caption span,
.era__shell[data-count="11"] .era__caption span { display: none; }

/* Mobile: 2 columnas fijas, alturas reducidas */
.coleccion__mobile .era__shell {
    grid-template-columns: repeat(2, 1fr);
    border-radius: 18px;
    margin-bottom: 12px;
}
.coleccion__mobile .era__shell[data-count="1"] { grid-template-columns: 1fr; }
.coleccion__mobile .era__shell[data-count="1"] .era__img-wrap img { height: 240px; }
.coleccion__mobile .era__shell[data-count="2"] .era__img-wrap img { height: 170px; }
.coleccion__mobile .era__shell[data-count="3"] .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="4"] .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="5"] .era__img-wrap img { height: 140px; }
.coleccion__mobile .era__shell[data-count="6"]  .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="7"]  .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="8"]  .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="9"]  .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="10"] .era__img-wrap img,
.coleccion__mobile .era__shell[data-count="11"] .era__img-wrap img { height: 110px; }

/* Timeline progress bar */
.coleccion__progress {
    position: absolute;
    bottom: 36px; left: clamp(24px,5.5vw,96px);
    z-index: 10;
    display: flex; align-items: center; gap: 12px;
}
.coleccion__prog-track {
    width: 140px; height: 2px;
    background: rgba(255,255,255,.09);
    border-radius: 2px; overflow: hidden;
}
.coleccion__prog-fill {
    height: 100%; width: 0%;
    background: var(--c-orange);
    border-radius: 2px;
}
.coleccion__prog-text {
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: rgba(255,255,255,.3);
}

/* Mobile-only timeline (stacked) */
.coleccion__mobile { display: none; }

/* ══════════════════════════════════════════
   D. VAMOS A AYUDAR
══════════════════════════════════════════ */
.ayudar {
    position: relative;
    background: var(--c-paper);
    color: var(--c-ink);
    padding: 140px 0 160px;
    overflow: hidden;
}
.ayudar::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(to right, transparent 0%, var(--c-green) 50%, transparent 100%);
}

.ayudar__wrap {
    max-width: 1440px; margin: 0 auto;
    padding: 0 clamp(24px,5.5vw,96px);
}

.ayudar__hd {
    display: flex; justify-content: space-between;
    align-items: flex-end; gap: 40px; flex-wrap: wrap;
    margin-bottom: 72px;
}

.ayudar__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(20,101,51,.07);
    border: 1px solid rgba(20,101,51,.18);
    border-radius: 100px; padding: 5px 16px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--c-green); margin-bottom: 20px;
}

.ayudar__h2 {
    font-family: var(--ff-serif);
    font-size: clamp(34px,4.5vw,68px);
    font-weight: 900; line-height: .98;
    letter-spacing: -0.025em; color: var(--c-ink);
}
.ayudar__h2 em { font-style: italic; color: var(--c-green); }

.ayudar__desc {
    font-size: clamp(14px,1.2vw,16px);
    font-weight: 400; line-height: 1.72;
    color: rgba(8,8,8,.52); max-width: 40ch;
    margin-top: auto;
}

/* Bento grid */
.bento {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 14px;
}

.bento__cell {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    background: var(--c-white);
}

/* cell span config */
.bento__cell--img-lg  { grid-column: span 7; aspect-ratio: 4/3; }
.bento__cell--dk      { grid-column: span 5; background: var(--c-blue-dk); color: var(--c-white); padding: 40px 36px; display:flex; flex-direction:column; justify-content:space-between; }
.bento__cell--img-sm  { grid-column: span 5; aspect-ratio: 5/4; }
.bento__cell--orange  { grid-column: span 4; background: var(--c-orange); color: var(--c-white); padding: 32px 28px; display:flex; flex-direction:column; justify-content:flex-end; }
.bento__cell--quote   { grid-column: span 4; background: var(--c-ink); color: var(--c-white); padding: 32px 28px; display:flex; flex-direction:column; justify-content:space-between; }
.bento__cell--img-sq  { grid-column: span 4; aspect-ratio: 1; }

.bento__cell img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 700ms var(--ease-expo);
}
.bento__cell:hover img { transform: scale(1.055); }

.bento__icon {
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(255,255,255,.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 19px; margin-bottom: 24px;
}
.bento__num {
    font-family: var(--ff-condensed);
    font-size: 68px; font-weight: 900; line-height: .9;
    color: rgba(255,255,255,.12); margin-bottom: 14px;
}
.bento__cell-title {
    font-family: var(--ff-serif);
    font-size: clamp(18px,1.7vw,26px);
    font-weight: 700; line-height: 1.22;
    margin-bottom: 10px;
}
.bento__cell-body {
    font-size: 13.5px; line-height: 1.65;
    opacity: .72;
}

.bento__quote-mark {
    font-family: var(--ff-serif);
    font-size: 80px; font-weight: 900; line-height: .7;
    color: var(--c-orange); margin-bottom: 14px;
}
.bento__quote-text {
    font-family: var(--ff-serif);
    font-size: clamp(15px,1.3vw,19px);
    font-style: italic; line-height: 1.45;
    color: rgba(255,255,255,.82);
    flex: 1;
}
.bento__quote-author {
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--c-orange); margin-top: 18px;
}

/* ══════════════════════════════════════════
   E. PRENSA
══════════════════════════════════════════ */
.prensa {
    position: relative;
    background: var(--c-ink);
    color: var(--c-white);
    padding: 140px 0 160px;
    overflow: hidden;
}

.prensa__wrap {
    max-width: 1440px; margin: 0 auto;
    padding: 0 clamp(24px,5.5vw,96px);
}

.prensa__hd {
    display: flex; justify-content: space-between;
    align-items: flex-end; gap: 36px; flex-wrap: wrap;
    margin-bottom: 72px;
}

.prensa__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(187,206,236,.08);
    border: 1px solid rgba(187,206,236,.2);
    border-radius: 100px; padding: 5px 16px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--c-blue-lt); margin-bottom: 20px;
}

.prensa__h2 {
    font-family: var(--ff-serif);
    font-size: clamp(34px,4.2vw,62px);
    font-weight: 900; line-height: 1.0;
    letter-spacing: -0.025em; color: var(--c-white);
}
.prensa__h2 em { font-style: italic; color: var(--c-blue-lt); }

/* Grid */
.prensa__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

/* Press card */
.press-card {
    position: relative;
    background: rgba(255,255,255,.028);
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 20px;
    padding: 34px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 550ms var(--ease-expo),
    border-color 500ms ease,
    box-shadow 550ms var(--ease-expo);
}
.press-card::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg,
    rgba(232,91,13,.1) 0%,
    rgba(17,113,184,.1) 100%
    );
    opacity: 0;
    transition: opacity 500ms var(--ease-expo);
    border-radius: 20px;
}
.press-card:hover {
    transform: translateY(-7px);
    border-color: rgba(232,91,13,.18);
    box-shadow: 0 36px 80px rgba(0,0,0,.45);
}
.press-card:hover::before { opacity: 1; }

.press-card__source {
    display: flex; align-items: center; gap: 10px;
    margin-bottom: 22px;
}
.press-card__source-ico {
    width: 34px; height: 34px; border-radius: 8px;
    background: rgba(255,255,255,.055);
    display: flex; align-items: center; justify-content: center;
    font-size: 15px;
}
.press-card__source-name {
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: .11em; text-transform: uppercase;
    color: rgba(255,255,255,.38);
}
.press-card__date {
    font-size: 11.5px;
    color: rgba(255,255,255,.22);
    margin-left: auto;
}

.press-card__title {
    font-family: var(--ff-serif);
    font-size: clamp(17px,1.5vw,22px);
    font-weight: 700; line-height: 1.3;
    color: var(--c-white);
    margin-bottom: 14px;
    transition: color 350ms ease;
}
.press-card:hover .press-card__title { color: var(--c-orange); }

.press-card__excerpt {
    font-size: 13.5px; line-height: 1.65;
    color: rgba(255,255,255,.4);
    margin-bottom: 26px;
}

.press-card__cta {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--ff-condensed);
    font-size: 11.5px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--c-orange);
    opacity: 0; transform: translateY(8px);
    transition: opacity 380ms var(--ease-expo), transform 380ms var(--ease-expo);
}
.press-card:hover .press-card__cta { opacity: 1; transform: translateY(0); }

/* Featured (spans 2 cols) */
.press-card--featured {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
    padding: 36px;
}
.press-card__img {
    border-radius: 13px; overflow: hidden;
    height: 230px;
}
.press-card__img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 700ms var(--ease-expo);
}
.press-card--featured:hover .press-card__img img { transform: scale(1.07); }

/* ══════════════════════════════════════════
   F. LOS TEJONES — Monochrome Caravana
══════════════════════════════════════════ */

/* Gradient bridge: dark ink → pure black */
.tj-transition {
    /*height: 140px;*/
    background: linear-gradient(to bottom, var(--c-ink) 0%, #000000 100%);
    pointer-events: none;
    margin-bottom: -1px; /* prevent hairline gap */
}

#tejon {
    background: #000000;
    color: #ffffff;
    overflow: hidden;
    position: relative;
}

/* ── Scene: two-column stage ── */
.tj-scene {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100dvh;
    align-items: stretch;
}

/* ── LEFT: logo + title ── */
.tj-left {
    position: relative;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    padding: 80px clamp(28px,4vw,64px);
    min-height: 100dvh;
    border-right: 1px solid rgba(255,255,255,.06);
    overflow: hidden;
}

/* White radial glow behind logo */
.tj-logo-glow {
    position: absolute;
    width: 620px; height: 620px; border-radius: 50%;
    background: radial-gradient(circle,
    rgba(255,255,255,.07) 0%,
    rgba(255,255,255,.025) 45%,
    transparent 70%
    );
    pointer-events: none; will-change: transform;
    left: 50%; top: 50%; transform: translate(-50%,-50%);
}

/* Scan-line texture on left panel (brutalist) */
.tj-left::before {
    content: '';
    position: absolute; inset: 0;
    background: repeating-linear-gradient(
            0deg,
            rgba(255,255,255,.012) 0px,
            rgba(255,255,255,.012) 1px,
            transparent 1px,
            transparent 6px
    );
    pointer-events: none; z-index: 0;
}

.tj-logo {
    width: clamp(200px, 26vw, 360px);
    height: auto;
    position: relative; z-index: 2;
    filter:
            drop-shadow(0 0 48px rgba(255,255,255,.14))
            drop-shadow(0 0 120px rgba(255,255,255,.06));
    will-change: transform, filter;
}

.tj-name-block {
    margin-top: 36px; text-align: center;
    position: relative; z-index: 2;
}
.tj-pre-title {
    font-family: var(--ff-condensed);
    font-size: clamp(10px,.9vw,12px);
    font-weight: 600; letter-spacing: .45em;
    text-transform: uppercase; color: rgba(255,255,255,.3);
    margin-bottom: 6px;
}
/* INDUSTRIAL BRUTALIST — the hero type */
.tj-main-title {
    font-family: var(--ff-condensed);
    font-size: clamp(60px,8vw,120px);
    font-weight: 900; line-height: .86;
    letter-spacing: -0.025em; text-transform: uppercase;
    color: #ffffff;
}
.tj-sub-line {
    width: 40px; height: 2px;
    background: #ffffff; opacity: .5;
    margin: 18px auto 0;
}

/* ── RIGHT: values + outro ── */
.tj-right {
    display: flex; flex-direction: column;
    justify-content: center;
    padding: 80px clamp(28px,4vw,64px);
    min-height: 100dvh;
    gap: 0;
}

.tj-right-rule {
    width: 100%; height: 1px;
    background: linear-gradient(to right, rgba(255,255,255,.2), rgba(255,255,255,.05));
    margin-bottom: 44px;
    transform: scaleX(0); transform-origin: left;
}

/* ── Values (caravana items) ── */
.tj-values { display: flex; flex-direction: column; }

.tj-value {
    /*display: grid;*/
    grid-template-columns: 56px 1fr;
    gap: 0 18px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255,255,255,.065);
    align-items: start; position: relative;
    transition: background 350ms ease;
}
.tj-value:first-child { border-top: 1px solid rgba(255,255,255,.065); }
.tj-value:hover { background: rgba(255,255,255,.025); }

/* Hover left accent bar */
.tj-value::before {
    content: '';
    position: absolute; left: -28px; top: 0; bottom: 0; width: 2px;
    background: #ffffff; opacity: 0;
    transition: opacity 350ms ease;
}
.tj-value:hover::before { opacity: .4; }

/* Brutalist number */
.tj-value-num {
    font-family: var(--ff-condensed);
    font-size: clamp(32px,3vw,48px);
    font-weight: 900; line-height: 1;
    color: rgba(255,255,255,.1);
    letter-spacing: -0.02em; padding-top: 3px;
    transition: color 350ms ease;
}
.tj-value:hover .tj-value-num { color: rgba(255,255,255,.45); }

.tj-value-name {
    font-family: var(--ff-condensed);
    font-size: clamp(20px,2vw,30px);
    font-weight: 900; line-height: 1;
    letter-spacing: .05em; text-transform: uppercase;
    color: #ffffff; margin-bottom: 8px;
}
.tj-value-desc {
    font-size: clamp(12px,.95vw,13.5px);
    line-height: 1.68; font-weight: 400;
    color: rgba(255,255,255,.36); max-width: 44ch;
}

 .tj-value-desc2 {
     text-align: justify;
     /*font-size: clamp(12px,.95vw,13.5px);
     line-height: 1.68; font-weight: 400;
     color: rgba(255,255,255,.36); max-width: 44ch;*/
 }

/* ── Outro ── */
.tj-outro { margin-top: 44px; }
.tj-outro-line {
    width: 28px; height: 1px;
    background: rgba(255,255,255,.28);
    margin-bottom: 18px;
}
.tj-quote {
    font-family: var(--ff-serif);
    font-size: clamp(17px,1.7vw,24px);
    font-style: italic; line-height: 1.38;
    color: rgba(255,255,255,.68);
    margin-bottom: 10px; quotes: none;
}
.tj-cite {
    font-family: var(--ff-condensed);
    font-size: 10px; font-weight: 700;
    letter-spacing: .22em; text-transform: uppercase;
    color: rgba(255,255,255,.22); font-style: normal;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .tj-scene { grid-template-columns: 1fr; align-items: start; }
    .tj-left {
        min-height: auto; padding: 80px 24px 48px;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }
    .tj-right { min-height: auto; padding: 48px 24px 80px; }
    .tj-logo  { width: clamp(150px,45vw,240px); }
    .tj-main-title { font-size: clamp(52px,12vw,80px); }
}
@media (max-width: 480px) {
    .tj-value { grid-template-columns: 44px 1fr; gap: 0 12px; }
}

/* ══════════════════════════════════════════
   G. FOOTER
══════════════════════════════════════════ */
.footer {
    background: #020202;
    border-top: 1px solid rgba(255,255,255,.04);
    padding: 88px 0 44px;
}
.footer__wrap {
    max-width: 1440px; margin: 0 auto;
    padding: 0 clamp(24px,5.5vw,96px);
}
.footer__main {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr;
    gap: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    margin-bottom: 40px;
}

.footer__logo {
    width: 96px; margin-bottom: 20px; opacity: .88;
}
.footer__tagline {
    font-size: 13.5px; line-height: 1.72;
    color: rgba(255,255,255,.35);
    max-width: 34ch; margin-bottom: 28px;
}

.footer__social { display: flex; gap: 9px; }
.footer__soc-link {
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; color: rgba(255,255,255,.45);
    transition: background 350ms ease, border-color 350ms ease,
    color 350ms ease, transform 350ms var(--ease-quart);
}
.footer__soc-link:hover {
    background: var(--c-orange);
    border-color: var(--c-orange);
    color: var(--c-white);
    transform: translateY(-3px);
}

.footer__col-hd {
    font-family: var(--ff-condensed);
    font-size: 10px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: rgba(255,255,255,.22);
    margin-bottom: 20px;
}
.footer__col-links { display: flex; flex-direction: column; gap: 12px; }
.footer__col-link {
    font-size: 13.5px; color: rgba(255,255,255,.45);
    transition: color 280ms ease;
}
.footer__col-link:hover { color: var(--c-white); }

.footer__contact-row {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px;
}
.footer__contact-ico { font-size: 13px; color: var(--c-orange); flex-shrink: 0; margin-top: 2px; }
.footer__contact-txt { font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.4); }

.footer__bottom {
    display: flex; justify-content: space-between;
    align-items: center; gap: 20px; flex-wrap: wrap;
}
.footer__copy {
    font-size: 12px; line-height: 1.65;
    color: rgba(255,255,255,.2);
}
.footer__copy strong { color: rgba(255,255,255,.38); }
.footer__legal { display: flex; gap: 20px; }
.footer__legal-link {
    font-size: 12px; color: rgba(255,255,255,.2);
    transition: color 280ms ease;
}
.footer__legal-link:hover { color: rgba(255,255,255,.5); }

/* ══════════════════════════════════════════
   EL CAMINO — Highway Timeline
══════════════════════════════════════════ */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ── El Camino — Horizontal Highway
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.camino {
    background: var(--c-ink);
    position: relative;
}
.camino::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(to right, transparent, var(--c-orange), transparent);
    z-index: 2;
}

/* ── Pinned viewport ── */
.camino__pin {
    height: 100vh;
    overflow: hidden;
    position: relative;
}

/* ── Progress bar (top edge) ── */
.camino__prog-bar {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: rgba(255,255,255,0.06);
    z-index: 10;
    pointer-events: none;
}
.camino__prog-fill {
    height: 100%;
    width: 0%;
    background: var(--c-orange);
}
.camino__prog-label {
    position: absolute;
    bottom: clamp(20px,3vh,36px);
    right: clamp(24px,4vw,56px);
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.22em;
    color: rgba(255,255,255,0.22);
    z-index: 10; pointer-events: none;
}

/* ── Horizontal road ── */
.camino__road {
    position: absolute;
    top: 50%; left: 0; right: 0;
    transform: translateY(-50%);
    height: 52px;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(to bottom,
        #0c0c0c 0%,
        #181818 22%,
        #181818 78%,
        #0c0c0c 100%
    );
    box-shadow:
        0 -6px 28px rgba(0,0,0,0.55),
        0  6px 28px rgba(0,0,0,0.55);
}
/* Shoulder lines */
.camino__road::before,
.camino__road::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    height: 1.5px;
    background: linear-gradient(to right,
        transparent 0%,
        rgba(255,255,255,0.13) 4%,
        rgba(255,255,255,0.13) 96%,
        transparent 100%
    );
}
.camino__road::before { top: 8px; }
.camino__road::after  { bottom: 8px; }

/* Center dashes (JS-generated) */
.camino__road-dashes {
    position: absolute;
    top: 50%; left: 0; right: 0;
    transform: translateY(-50%);
    height: 2px;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    pointer-events: none;
}
.camino__road-dash {
    width: 28px; height: 2px;
    background: rgba(255,255,255,0.17);
    margin-right: 22px;
    flex-shrink: 0;
    border-radius: 1px;
    align-self: center;
}
/* Orange progress fill */
.camino__road-fill {
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 0%;
    background: linear-gradient(to right,
        rgba(232,91,13,0.20) 0%,
        rgba(17,113,184,0.12) 100%
    );
    pointer-events: none;
    transition: none;
}

/* ── Scrolling track ── */
.camino__track {
    display: flex;
    align-items: stretch;
    height: 100%;
    position: relative;
    z-index: 3;
    will-change: transform;
}

/* ── Intro panel ── */
.camino__intro {
    flex-shrink: 0;
    width: clamp(340px, 30vw, 500px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 clamp(32px, 4.5vw, 80px);
    position: relative;
    z-index: 4;
}
.camino__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(232,91,13,.09);
    border: 1px solid rgba(232,91,13,.28);
    border-radius: 100px; padding: 5px 16px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--c-orange); margin-bottom: 20px;
    width: fit-content;
}
.camino__h2 {
    font-family: var(--ff-serif);
    font-size: clamp(28px,3.5vw,52px);
    font-weight: 900; line-height: 1.05;
    letter-spacing: -0.025em; color: var(--c-white);
    margin-bottom: 18px;
}
.camino__h2 em { font-style: italic; color: var(--c-orange); }
.camino__hd-sub {
    font-size: clamp(13px,1.0vw,15px);
    line-height: 1.72; color: rgba(255,255,255,.36);
    max-width: 32ch; margin-bottom: 28px;
}
.camino__scroll-hint {
    display: flex; align-items: center; gap: 10px;
    font-family: var(--ff-condensed);
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: rgba(255,255,255,0.22);
}
.camino__scroll-arrow {
    display: inline-block;
    animation: caminoNudge 2s ease-in-out infinite;
}
@keyframes caminoNudge {
    0%,100% { transform: translateX(0); }
    50%      { transform: translateX(9px); }
}

/* ── Individual stop ── */
.camino__stop {
    flex-shrink: 0;
    width: clamp(380px, 38vw, 520px);
    display: grid;
    grid-template-rows: 1fr 52px 1fr;
    height: 100%;
    padding: 0 clamp(24px, 3vw, 44px);
    position: relative;
    z-index: 4;
}

/* Text — default: top half */
.camino__stop-text {
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: clamp(22px, 3.2vh, 42px);
}
/* Node — always middle */
.camino__stop-node {
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; z-index: 5;
}
/* Visual — default: bottom half */
.camino__stop-visual {
    grid-row: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: clamp(22px, 3.2vh, 42px);
}
/* Alt: image top / text bottom */
.camino__stop--alt .camino__stop-text {
    grid-row: 3;
    justify-content: flex-start;
    padding-bottom: 0;
    padding-top: clamp(22px, 3.2vh, 42px);
}
.camino__stop--alt .camino__stop-visual {
    grid-row: 1;
    justify-content: flex-end;
    padding-top: 0;
    padding-bottom: clamp(22px, 3.2vh, 42px);
}

/* Stop typography */
.camino__stop-num {
    display: block;
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.24em; color: var(--c-orange);
    margin-bottom: 6px;
}
.camino__stop-date {
    display: block;
    font-family: var(--ff-condensed);
    font-size: 10px; font-weight: 600;
    letter-spacing: 0.20em; text-transform: uppercase;
    color: rgba(255,255,255,0.28);
    margin-bottom: 10px;
}
.camino__stop-title {
    font-family: var(--ff-condensed);
    font-size: clamp(17px,2.0vw,26px);
    font-weight: 900; text-transform: uppercase;
    letter-spacing: 0.01em; line-height: 1.05;
    color: var(--c-white); margin-bottom: 10px;
}
.camino__stop-body {
    font-size: clamp(12px,0.95vw,13.5px);
    line-height: 1.72;
    color: rgba(255,255,255,0.38);
    max-width: 30ch;
}

/* Node dot */
.camino__node-dot {
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--c-ink);
    border: 2px solid rgba(255,255,255,0.20);
    box-shadow: 0 0 0 4px rgba(255,255,255,0.04);
    flex-shrink: 0;
    transition:
        background 500ms ease,
        border-color 500ms ease,
        transform 450ms ease,
        box-shadow 500ms ease;
    position: relative; z-index: 6;
}
.camino__node-dot.active {
    background: var(--c-orange);
    border-color: #ff7730;
    transform: scale(1.30);
    box-shadow:
        0 0 0 5px rgba(232,91,13,0.18),
        0 0 0 10px rgba(232,91,13,0.07),
        0 0 24px rgba(232,91,13,0.55);
}

/* Image button */
.camino__img-btn {
    position: relative;
    border: none; padding: 0;
    cursor: pointer;
    border-radius: 14px;
    overflow: hidden;
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    max-height: clamp(160px,25vh,240px);
    background: rgba(255,255,255,0.04);
}
.camino__img-btn img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform 0.55s cubic-bezier(0.16,1,0.3,1),
                filter 0.40s ease;
    will-change: transform;
}
.camino__img-btn:hover img {
    transform: scale(1.07);
    filter: brightness(0.60);
}
.camino__img-cta {
    position: absolute; inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--c-white);
    opacity: 0;
    transition: opacity 0.35s ease;
    font-family: var(--ff-condensed);
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.22em; text-transform: uppercase;
}
.camino__img-btn:hover .camino__img-cta { opacity: 1; }
.camino__img-cta svg { color: var(--c-orange); }

/* End spacer */
.camino__end {
    flex-shrink: 0;
    width: clamp(80px, 8vw, 140px);
}

/* Mobile hidden by default */
.camino__mobile { display: none; }

/* ── Modal / Lightbox ── */
.camino__modal {
    position: fixed; inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0; visibility: hidden;
    transition: opacity 0.32s ease, visibility 0.32s ease;
}
.camino__modal.is-open {
    opacity: 1; visibility: visible;
}
.camino__modal-bd {
    position: absolute; inset: 0;
    background: rgba(6,6,6,0.93);
    backdrop-filter: blur(12px);
}
.camino__modal-box {
    position: relative; z-index: 1;
    width: min(860px, 90vw);
    display: flex; flex-direction: column; gap: 16px;
}
.camino__modal-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
}
.camino__modal-event-name {
    font-family: var(--ff-condensed);
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.28em; text-transform: uppercase;
    color: var(--c-orange);
}
.camino__modal-close {
    background: none;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 50%;
    width: 38px; height: 38px;
    display: flex; align-items: center; justify-content: center;
    color: var(--c-white); cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.25s ease, background 0.25s ease;
}
.camino__modal-close:hover {
    border-color: var(--c-orange);
    background: rgba(232,91,13,0.10);
}
.camino__slides-wrap {
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16/10;
    background: #0a0a0a;
}
.camino__slides {
    display: flex;
    height: 100%;
    transition: transform 0.42s cubic-bezier(0.16,1,0.3,1);
}
.camino__slides img {
    flex-shrink: 0;
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.camino__modal-ft {
    display: flex; align-items: center;
    justify-content: center; gap: 20px;
}
.camino__modal-nav {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
    width: 42px; height: 42px;
    display: flex; align-items: center; justify-content: center;
    color: var(--c-white); cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease;
}
.camino__modal-nav:hover {
    background: rgba(232,91,13,0.12);
    border-color: rgba(232,91,13,0.38);
}
.camino__modal-nav:disabled { opacity: 0.28; cursor: not-allowed; }
.camino__modal-count {
    font-family: var(--ff-condensed);
    font-size: 12px; font-weight: 700;
    letter-spacing: 0.22em;
    color: rgba(255,255,255,0.38);
    min-width: 5ch; text-align: center;
}

/* ── Mobile fallback (≤ 1100px — alineado con MQ de Colección) ── */
@media (max-width: 1100px) {
    .camino__pin { display: none; }
    .camino__mobile {
        display: block;
        padding: clamp(56px,8vw,96px) clamp(20px,5vw,48px);
    }
    .camino__mobile-hd { margin-bottom: 48px; }
    .camino__mobile-list {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    .camino__mobile-item {
        display: flex;
        flex-direction: column;
        gap: 10px;
        border-top: 1px solid rgba(255,255,255,0.07);
        padding-top: 28px;
    }
    .camino__mobile-item .camino__img-btn {
        max-height: 280px; aspect-ratio: 16/9;
        margin-top: 8px;
    }
    .camino__modal-box { width: min(860px, 96vw); }
    .camino__slides-wrap { aspect-ratio: 4/3; }
}

/* ── end camino ──

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 1100px) {
    .nosotros__wrap        { grid-template-columns: 1fr; }
    .nosotros__img--c      { margin-top: -44px; }

    .coleccion__track      { display: none; }
    .coleccion__progress   { display: none; }
    .coleccion__mobile     { display: block; }

    .press-card--featured  { grid-column: span 3; }
    .prensa__grid          { grid-template-columns: 1fr 1fr; }
    .press-card--featured  { grid-column: span 2; grid-template-columns: 1fr; }
    .press-card__img       { height: 190px; }

    .tejon__content        { grid-template-columns: 1fr; }
    .tejon__truck-wrap     { order: -1; max-width: 600px; margin: 0 auto; }

    .footer__main          { grid-template-columns: 1fr 1fr; gap: 40px; }
    .footer__main > :first-child { grid-column: span 2; }
}

@media (max-width: 768px) {
    .nav__links   { display: none; }
    .nav__cta     { display: none; }
    .nav__hamburger { display: flex; }

    .nosotros__img--a { width: 95%; }
    .nosotros__img--c { width: 82%; margin-top: -36px; }

    .bento { grid-template-columns: 1fr 1fr; }
    .bento__cell--img-lg  { grid-column: span 2; }
    .bento__cell--dk      { grid-column: span 2; }
    .bento__cell--img-sm  { grid-column: span 2; }
    .bento__cell--orange  { grid-column: span 1; }
    .bento__cell--quote   { grid-column: span 1; }
    .bento__cell--img-sq  { grid-column: span 2; aspect-ratio: 16/9; }

    .prensa__grid          { grid-template-columns: 1fr; }
    .press-card--featured  { grid-column: span 1; grid-template-columns: 1fr; }
    .prensa__hd            { flex-direction: column; align-items: flex-start; }

    .tejon__specs          { grid-template-columns: 1fr 1fr; }
    .tejon__badge          { font-size: 9px; padding: 7px 16px; }

    .footer__main          { grid-template-columns: 1fr; }
    .footer__main > :first-child { grid-column: span 1; }

    .hero__dots { display: none; }
}

@media (max-width: 480px) {
    .nosotros__stats       { grid-template-columns: 1fr; }
    .bento { grid-template-columns: 1fr; }
    .bento__cell--img-lg, .bento__cell--dk, .bento__cell--img-sm,
    .bento__cell--orange, .bento__cell--quote, .bento__cell--img-sq { grid-column: span 1; }
    .bento__cell--img-lg  { aspect-ratio: 4/3; }
    .bento__cell--img-sq  { aspect-ratio: 4/3; }
    .tejon__specs          { grid-template-columns: 1fr; }
}

/* ── Colección mobile stacked version ── */
.coleccion__mobile { padding: 0 clamp(24px,5.5vw,96px) 100px; }
.era-mobile {
    padding: 60px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.era-mobile:last-child { border-bottom: none; }
.era-mobile__decade {
    font-family: var(--ff-condensed);
    font-size: clamp(60px,14vw,100px);
    font-weight: 900; line-height: .88;
    color: var(--c-orange); margin-bottom: 16px;
}
.era-mobile__tag {
    display: inline-flex; align-items: center;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 100px; padding: 4px 14px;
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase;
    color: rgba(255,255,255,.38);
    margin-bottom: 16px;
}
.era-mobile__h3 {
    font-family: var(--ff-serif);
    font-size: clamp(20px,4.5vw,28px);
    font-weight: 700; line-height: 1.22;
    color: var(--c-white); margin-bottom: 14px;
}
.era-mobile__body {
    font-size: 14px; line-height: 1.72;
    color: rgba(255,255,255,.48); margin-bottom: 22px;
}
.era-mobile__img {
    width: 100%; border-radius: 16px; overflow: hidden;
    margin-bottom: 20px;
}
.era-mobile__img img {
    width: 100%; height: 240px; object-fit: cover;
}
.era-mobile__tags { display: flex; flex-wrap: wrap; gap: 7px; }
.era-mobile__truck-tag {
    font-family: var(--ff-condensed);
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--c-blue-lt);
    background: rgba(17,113,184,.1);
    border: 1px solid rgba(17,113,184,.22);
    border-radius: 100px; padding: 4px 13px;
}
