.home-news {
    background: var(--color-white);
}

.home-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.home-sports {
    overflow: hidden;
    background: var(--color-surface);
}

.home-sports__header {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 18px;
    margin-bottom: 24px;
    text-align: center;
}

.home-sports__header .section-title {
    margin-bottom: 0;
}

/* Instalaciones: componente territorial compartido entre Home e interna. */
.facilities-territory-section {
    padding: 0 0 clamp(52px, 7vw, 86px);
}

.facilities-territory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
    margin-top: clamp(28px, 3vw, 40px);
    overflow: hidden;
    border-block: 1px solid rgba(72, 54, 47, 0.14);
}

.facilities-territory__item {
    display: grid;
    grid-template-rows: auto 1fr auto;
    justify-items: center;
    position: relative;
    min-height: clamp(194px, 16vw, 226px);
    padding: 20px clamp(18px, 1.8vw, 28px) 18px;
    overflow: hidden;
    isolation: isolate;
    color: var(--color-text);
    text-align: center;
    transition: opacity 280ms ease;
}

.facilities-territory__item + .facilities-territory__item::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    content: "";
    background: rgba(72, 54, 47, 0.18);
    transform: scaleY(1);
    transform-origin: center;
}

.facilities-territory__geometry {
    position: absolute;
    z-index: -1;
    inset: 18px 0 16px;
    width: 100%;
    height: calc(100% - 34px);
    color: var(--color-brand);
    opacity: 0.14;
    pointer-events: none;
}

.facilities-territory__plane {
    fill: currentColor;
    opacity: 0.14;
}

.facilities-territory__line,
.facilities-territory__detail {
    stroke: currentColor;
    stroke-width: 1.1;
    vector-effect: non-scaling-stroke;
}

.facilities-territory__detail {
    opacity: 0.58;
    stroke-dasharray: 3 3;
}

.facilities-territory__node {
    fill: currentColor;
    opacity: 0.48;
}

.facilities-territory__pictogram {
    align-self: start;
    width: 30px;
    height: 30px;
    overflow: visible;
    color: #72070D;
}

.facilities-territory__pictogram path,
.facilities-territory__pictogram rect,
.facilities-territory__pictogram circle {
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.facilities-territory__pictogram-fill {
    fill: currentColor;
    opacity: 0.16;
}

.facilities-territory__metric {
    display: inline-flex;
    align-self: center;
    align-items: baseline;
    justify-content: center;
    max-width: 100%;
    gap: 0.42rem;
    white-space: nowrap;
}

.facilities-territory__metric strong {
    color: var(--color-brand);
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(3.1rem, 4.8vw, 4.9rem);
    font-weight: 740;
    letter-spacing: -0.025em;
    line-height: 0.86;
}

.facilities-territory__metric span {
    color: #72070D;
    font-size: clamp(0.62rem, 0.68vw, 0.8rem);
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
}

.facilities-territory__location {
    align-self: end;
    max-width: 20ch;
    min-height: 2.56em;
    color: var(--color-secondary);
    font-size: clamp(0.86rem, 0.88vw, 1rem);
    font-weight: 650;
    line-height: 1.28;
}

@media (hover: hover) and (pointer: fine) {
    .facilities-territory:has(.facilities-territory__item:hover) .facilities-territory__item:not(:hover) {
        opacity: 0.82;
    }

    .facilities-territory__item:hover .facilities-territory__geometry {
        opacity: 0.18;
    }

    .facilities-territory__item:hover .facilities-territory__plane {
        transform: translate(3px, -2px);
    }

    .facilities-territory__item:hover .facilities-territory__pictogram {
        color: var(--color-brand-strong, #72070D);
    }

    .facilities-territory__item:hover .facilities-territory__pictogram-fill {
        opacity: 0.25;
    }

    .facilities-territory__item:hover .facilities-territory__metric strong {
        color: #72070D;
    }

    .facilities-territory__item:hover::before,
    .facilities-territory__item:hover + .facilities-territory__item::before {
        background: rgba(114, 7, 13, 0.36);
    }
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__item + .facilities-territory__item::before {
    transform: scaleY(0);
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__geometry .facilities-territory__plane {
    clip-path: inset(0 100% 0 0);
    transform: translateX(-10px);
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__geometry .facilities-territory__line,
.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__geometry .facilities-territory__detail {
    stroke-dasharray: 320;
    stroke-dashoffset: 320;
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__pictogram path,
.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__pictogram rect,
.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__pictogram circle {
    stroke-dasharray: 110;
    stroke-dashoffset: 110;
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__pictogram-fill {
    clip-path: inset(0 100% 0 0);
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__metric strong {
    clip-path: inset(50% 0);
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__metric span {
    clip-path: inset(0 100% 0 0);
}

.facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__location {
    opacity: 0;
    filter: blur(2px);
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__item + .facilities-territory__item::before {
    animation: facilities-shared-territory-divider 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__plane {
    animation: facilities-shared-territory-plane 380ms cubic-bezier(0.22, 1, 0.36, 1) both 90ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__line,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__detail {
    animation: facilities-shared-territory-line 430ms cubic-bezier(0.22, 1, 0.36, 1) both 120ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__pictogram path,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__pictogram rect,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__pictogram circle {
    animation: facilities-shared-territory-line 390ms cubic-bezier(0.22, 1, 0.36, 1) both 300ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__pictogram-fill {
    animation: facilities-shared-territory-reveal 150ms ease both 610ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__metric strong {
    animation: facilities-shared-territory-number 390ms cubic-bezier(0.22, 1, 0.36, 1) both 660ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__metric span {
    animation: facilities-shared-territory-reveal 220ms ease both 750ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__location {
    animation: facilities-shared-territory-location 240ms ease both 890ms;
}

.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__pictogram path,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__pictogram rect,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__pictogram circle { animation-delay: 370ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__pictogram-fill { animation-delay: 680ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__metric strong { animation-delay: 730ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__metric span { animation-delay: 820ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(2) .facilities-territory__location { animation-delay: 960ms; }

.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__pictogram path,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__pictogram rect,
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__pictogram circle { animation-delay: 440ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__pictogram-fill { animation-delay: 750ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__metric strong { animation-delay: 800ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__metric span { animation-delay: 890ms; }
.facilities-territory.is-motion-ready.is-visible .facilities-territory__item:nth-child(3) .facilities-territory__location { animation-delay: 1030ms; }

@keyframes facilities-shared-territory-divider {
    to { transform: scaleY(1); }
}

@keyframes facilities-shared-territory-plane {
    to { clip-path: inset(0); transform: translateX(0); }
}

@keyframes facilities-shared-territory-line {
    to { stroke-dashoffset: 0; }
}

@keyframes facilities-shared-territory-reveal {
    to { clip-path: inset(0); }
}

@keyframes facilities-shared-territory-number {
    to { clip-path: inset(0); }
}

@keyframes facilities-shared-territory-location {
    to { opacity: 1; filter: blur(0); }
}

.facilities-viewer__image-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: grid;
    place-content: center;
    gap: 8px;
    background: var(--color-brand-dark);
    color: rgba(255, 255, 255, 0.92);
    text-align: center;
}

.facilities-viewer__image-fallback .material-symbols-rounded {
    font-size: 2rem;
}

.facilities-viewer__image-fallback strong {
    font-size: 0.82rem;
    letter-spacing: 0.16em;
}

.facilities-viewer__slide > img {
    position: relative;
    z-index: 1;
}

.facilities-viewer__slide > img[hidden] {
    display: none;
}

@media (max-width: 760px) {
    .facilities-territory {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .facilities-territory__item {
        grid-template-columns: 42px 1fr;
        grid-template-rows: 1fr auto;
        min-height: 140px;
        padding: 18px 20px;
    }

    .facilities-territory__item + .facilities-territory__item::before {
        inset: 0 12% auto;
        width: auto;
        height: 1px;
        transform: scaleX(1);
    }

    .facilities-territory__pictogram {
        align-self: start;
        justify-self: start;
        width: 28px;
        height: 28px;
    }

    .facilities-territory__metric {
        align-self: center;
        justify-self: center;
    }

    .facilities-territory__location {
        grid-column: 2;
        justify-self: center;
        min-height: 0;
        margin-top: -18px;
    }

    .facilities-territory__geometry {
        inset: 8px 10%;
    }

    .facilities-territory.is-motion-ready:not(.is-visible) .facilities-territory__item + .facilities-territory__item::before {
        transform: scaleX(0);
    }

    .facilities-territory.is-motion-ready.is-visible .facilities-territory__item + .facilities-territory__item::before {
        animation-name: facilities-shared-territory-divider-mobile;
    }
}

@keyframes facilities-shared-territory-divider-mobile {
    to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
    .facilities-territory *,
    .facilities-territory *::before,
    .facilities-territory *::after {
        animation: none !important;
        clip-path: none !important;
        filter: none !important;
        opacity: 1 !important;
        stroke-dashoffset: 0 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Instalaciones: tríptico territorial editorial. */
.home-facilities .facilities-triptych {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
    margin-top:clamp(28px,3vw,40px); overflow:hidden;
    border-top:1px solid rgba(72,54,47,.14); border-bottom:1px solid rgba(72,54,47,.14);
}
.home-facilities .facilities-triptych__item {
    position:relative; display:grid; grid-template-rows:auto 1fr auto; justify-items:center;
    min-height:clamp(208px,18vw,248px); padding:22px clamp(14px,2vw,30px) 20px;
    overflow:hidden; isolation:isolate; text-align:center; transition:opacity 280ms ease;
}
.home-facilities .facilities-triptych__item::before {content:none;}
.home-facilities .facilities-triptych__item + .facilities-triptych__item::after {
    position:absolute; top:0; bottom:0; left:0; width:1px; height:auto; content:"";
    background:rgba(72,54,47,.18); transform:scaleY(1); transform-origin:center;
}
.facilities-triptych__geometry {position:absolute; z-index:-1; inset:20px 0 18px; width:100%; height:calc(100% - 38px); color:var(--color-brand); opacity:.12; pointer-events:none;}
.facilities-triptych__geometry .geometry-plane {fill:currentColor; opacity:.15;}
.facilities-triptych__geometry .geometry-line,.facilities-triptych__geometry .geometry-hatch,.facilities-triptych__geometry .geometry-mark {stroke:currentColor; stroke-width:1.1; vector-effect:non-scaling-stroke;}
.facilities-triptych__geometry .geometry-hatch {opacity:.5; stroke-dasharray:2 3;}
.facilities-triptych__geometry .geometry-mark {opacity:.8;}
.facilities-triptych__pictogram {align-self:start;width:30px;height:30px;color:#72070D;overflow:visible;}
.facilities-triptych__pictogram path,.facilities-triptych__pictogram rect {stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
.facilities-triptych__pictogram .pictogram-fill {fill:currentColor;opacity:.16;stroke:currentColor;stroke-width:1.1;}
.facilities-triptych__metric {align-self:center; display:inline-flex; align-items:baseline; justify-content:center; gap:.52rem; white-space:nowrap;}
.facilities-triptych__metric strong {color:var(--color-brand); font-family:"Barlow Condensed",sans-serif; font-size:clamp(3.8rem,6.3vw,6.4rem); font-weight:800; letter-spacing:-.025em; line-height:.82;}
.facilities-triptych__metric span {color:#72070D; font-size:clamp(.68rem,.78vw,.9rem); font-weight:800; letter-spacing:.1em; line-height:1;}
.facilities-triptych__location {align-self:end; max-width:20ch; min-height:2.56em; color:var(--color-secondary); font-size:clamp(.86rem,.88vw,1rem); font-weight:650; line-height:1.28;}
@media (hover:hover) and (pointer:fine) {.facilities-triptych:has(.facilities-triptych__item:hover) .facilities-triptych__item:not(:hover){opacity:.82}.facilities-triptych__item:hover .facilities-triptych__geometry{opacity:.19}.facilities-triptych__item:hover .geometry-plane{transform:translate(3px,-2px)}.facilities-triptych__item:hover .geometry-mark{transform:rotate(8deg);transform-origin:center}.facilities-triptych__item:hover .facilities-triptych__pictogram{color:var(--color-brand-strong,#72070D)}.facilities-triptych__item:hover .pictogram-fill{opacity:.25}.facilities-triptych__item:hover .facilities-triptych__metric strong{color:#72070D}.facilities-triptych__item:hover::after{background:rgba(114,7,13,.36)}}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__item + .facilities-triptych__item::after{transform:scaleY(0)}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__geometry .geometry-plane{clip-path:inset(0 100% 0 0);transform:translateX(-10px)}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__geometry .geometry-hatch{clip-path:inset(0 100% 0 0)}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__geometry .geometry-line{stroke-dasharray:300;stroke-dashoffset:300}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__pictogram path,.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__pictogram rect{stroke-dasharray:100;stroke-dashoffset:100}.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__pictogram .pictogram-fill{clip-path:inset(0 100% 0 0)}.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__metric strong{clip-path:inset(50% 0)}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__metric span{clip-path:inset(0 100% 0 0)}
.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__location{opacity:0;filter:blur(2px)}
.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__item + .facilities-triptych__item::after{animation:triptych-divider 520ms cubic-bezier(.22,1,.36,1) both}
.home-facilities.is-motion-ready .facilities-triptych.is-visible .geometry-plane{animation:triptych-plane 380ms cubic-bezier(.22,1,.36,1) both 100ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .geometry-hatch{animation:triptych-reveal 300ms cubic-bezier(.22,1,.36,1) both 160ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .geometry-line{animation:triptych-line 440ms cubic-bezier(.22,1,.36,1) both 120ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__pictogram path,.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__pictogram rect{animation:triptych-line 400ms cubic-bezier(.22,1,.36,1) both 330ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__pictogram .pictogram-fill{animation:triptych-reveal 160ms ease both 640ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__metric strong{animation:triptych-number 420ms cubic-bezier(.22,1,.36,1) both 700ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__metric span{animation:triptych-reveal 240ms ease both 790ms}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__location{animation:triptych-location 260ms ease both 910ms}
@keyframes triptych-divider{to{transform:scaleY(1)}}@keyframes triptych-plane{to{clip-path:inset(0);transform:translateX(0)}}@keyframes triptych-reveal{to{clip-path:inset(0)}}@keyframes triptych-line{to{stroke-dashoffset:0}}@keyframes triptych-number{to{clip-path:inset(0)}}@keyframes triptych-location{to{opacity:1;filter:blur(0)}}
@media(max-width:760px){.home-facilities .facilities-triptych{grid-template-columns:1fr;margin-top:24px}.home-facilities .facilities-triptych__item{grid-template-columns:42px 1fr;grid-template-rows:1fr auto;min-height:146px;padding:18px 20px}.home-facilities .facilities-triptych__item + .facilities-triptych__item::after{top:0;right:12%;bottom:auto;left:12%;width:auto;height:1px;transform:scaleX(1)}.facilities-triptych__pictogram{align-self:start;justify-self:start;width:28px;height:28px}.facilities-triptych__metric{align-self:center;justify-self:center}.facilities-triptych__location{grid-column:2;justify-self:center;min-height:0;margin-top:-18px}.facilities-triptych__geometry{inset:8px 10%}.home-facilities.is-motion-ready .facilities-triptych:not(.is-visible) .facilities-triptych__item + .facilities-triptych__item::after{transform:scaleX(0)}.home-facilities.is-motion-ready .facilities-triptych.is-visible .facilities-triptych__item + .facilities-triptych__item::after{animation:triptych-divider-mobile 520ms cubic-bezier(.22,1,.36,1) both}}@keyframes triptych-divider-mobile{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.facilities-triptych *{animation:none!important;clip-path:none!important;filter:none!important;opacity:1!important;stroke-dashoffset:0!important;transform:none!important;transition:none!important}}

/* Instalaciones home: relevamiento territorial abstracto. */
.home-facilities .home-facilities__indicators {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: clamp(28px, 4vw, 46px);
    overflow: hidden;
}

.home-facilities__indicators .facilities-indicator {
    position: relative;
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: clamp(230px, 22vw, 310px);
    padding: clamp(24px, 3vw, 42px) clamp(18px, 2.4vw, 34px);
    overflow: hidden;
    text-align: center;
    isolation: isolate;
    transition: opacity 280ms ease;
}

.home-facilities__indicators .facilities-indicator::after { content: none; }
.home-facilities__indicators .facilities-indicator + .facilities-indicator::before {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 0;
    width: 1px;
    height: calc(100% - clamp(42px, 6vw, 76px));
    background: rgba(100, 54, 47, .18);
    transform: scaleY(1);
    transform-origin: center;
    transition: background-color 280ms ease;
}

.facilities-indicator__terrain {
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    color: var(--color-brand);
    opacity: .16;
    pointer-events: none;
    transition: opacity 280ms ease;
}

.facilities-indicator__terrain path { stroke: currentColor; stroke-width: 1.05; }
.facilities-indicator__terrain-grid { opacity: .4; }
.facilities-indicator__terrain-mark { opacity: .7; }

.facilities-indicator__metric {
    display: grid;
    justify-items: center;
    gap: 8px;
}

.home-facilities__indicators .facilities-indicator .facilities-indicator__metric strong {
    display: block;
    color: var(--color-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(4.6rem, 8.3vw, 8.3rem);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .78;
    transition: color 280ms ease;
}

.facilities-indicator__metric > span {
    color: color-mix(in srgb, var(--color-brand) 88%, #27100d);
    font-size: clamp(.82rem, 1vw, 1rem);
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}

.home-facilities__indicators .facilities-indicator .facilities-indicator__location {
    max-width: 19ch;
    margin-top: 24px;
    color: var(--color-secondary);
    font-size: clamp(.9rem, .9vw, 1.02rem);
    font-weight: 650;
    line-height: 1.28;
}

@media (hover: hover) and (pointer: fine) {
    .home-facilities__indicators:has(.facilities-indicator:hover) .facilities-indicator:not(:hover) { opacity: .82; }
    .home-facilities__indicators .facilities-indicator:hover .facilities-indicator__terrain { opacity: .27; }
    .home-facilities__indicators .facilities-indicator:hover .facilities-indicator__terrain-mark { transform: translate(4px, -3px); }
    .home-facilities__indicators .facilities-indicator:hover .facilities-indicator__metric strong { color: #72070D; }
    .home-facilities__indicators .facilities-indicator:hover::before { background: rgba(114, 7, 13, .38); }
}

.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator + .facilities-indicator::before { transform: scaleY(0); }
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator__terrain path { stroke-dasharray: 620; stroke-dashoffset: 620; }
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator__terrain-grid { clip-path: inset(0 100% 0 0); }
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator__metric strong { clip-path: inset(50% 0); }
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator__metric > span { opacity: 0; }
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator__location { opacity: 0; filter: blur(3px); }

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator + .facilities-indicator::before { animation: facilities-territory-divider 600ms cubic-bezier(.22, 1, .36, 1) both; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator__terrain path { animation: facilities-territory-line 620ms cubic-bezier(.22, 1, .36, 1) both 170ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator__terrain-grid { animation: facilities-territory-grid 360ms cubic-bezier(.22, 1, .36, 1) both 300ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator__metric strong { animation: facilities-territory-number 460ms cubic-bezier(.22, 1, .36, 1) both; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator__metric > span { animation: facilities-territory-unit 260ms ease both; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator__location { animation: facilities-territory-location 300ms ease both; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(1) .facilities-indicator__metric strong { animation-delay: 420ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(1) .facilities-indicator__metric > span { animation-delay: 520ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(1) .facilities-indicator__location { animation-delay: 670ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2) .facilities-indicator__metric strong { animation-delay: 530ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2) .facilities-indicator__metric > span { animation-delay: 630ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2) .facilities-indicator__location { animation-delay: 780ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3) .facilities-indicator__metric strong { animation-delay: 640ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3) .facilities-indicator__metric > span { animation-delay: 740ms; }
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3) .facilities-indicator__location { animation-delay: 890ms; }

@keyframes facilities-territory-divider { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes facilities-territory-line { to { stroke-dashoffset: 0; } }
@keyframes facilities-territory-grid { to { clip-path: inset(0 0 0 0); } }
@keyframes facilities-territory-number { from { clip-path: inset(50% 0); } to { clip-path: inset(0); } }
@keyframes facilities-territory-unit { to { opacity: 1; } }
@keyframes facilities-territory-location { to { opacity: 1; filter: blur(0); } }

@media (max-width: 760px) {
    .home-facilities .home-facilities__indicators { grid-template-columns: 1fr; margin-top: 26px; }
    .home-facilities__indicators .facilities-indicator { min-height: 190px; padding-block: 28px; }
    .home-facilities__indicators .facilities-indicator + .facilities-indicator::before {
        top: 0;
        right: 50%;
        bottom: auto;
        left: auto;
        width: min(13rem, 62%);
        height: 1px;
        transform: translateX(50%) scaleX(1);
        transform-origin: center;
    }
    .home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator + .facilities-indicator::before { transform: translateX(50%) scaleX(0); }
    .home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator + .facilities-indicator::before { animation: facilities-territory-divider-mobile 600ms cubic-bezier(.22, 1, .36, 1) both; }
    .home-facilities__indicators .facilities-indicator .facilities-indicator__metric strong { font-size: clamp(4.4rem, 22vw, 6.4rem); }
}

@keyframes facilities-territory-divider-mobile { from { transform: translateX(50%) scaleX(0); } to { transform: translateX(50%) scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
    .home-facilities__indicators .facilities-indicator,
    .home-facilities__indicators .facilities-indicator::before,
    .home-facilities__indicators .facilities-indicator__terrain,
    .home-facilities__indicators .facilities-indicator__terrain path,
    .home-facilities__indicators .facilities-indicator__metric strong,
    .home-facilities__indicators .facilities-indicator__metric > span,
    .home-facilities__indicators .facilities-indicator__location { animation: none !important; clip-path: none !important; filter: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important; transform: none !important; transition: none; }
}

/* Socios: institutional editorial page. */
.members-page {
    background: var(--color-surface);
    color: var(--color-text);
}

.members-hero {
    position: relative;
    display: grid;
    min-height: clamp(540px, 65vh, 650px);
    overflow: visible;
    isolation: isolate;
    background: var(--color-brand-dark);
    color: var(--color-text-on-brand);
}

.members-hero__image,
.members-hero__overlay {
    position: absolute;
    inset: 0;
}

.members-hero__image {
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
}

.members-hero__overlay {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(10, 4, 5, 0.88) 0%, rgba(10, 4, 5, 0.66) 42%, rgba(10, 4, 5, 0.2) 82%),
        linear-gradient(0deg, rgba(20, 2, 5, 0.7) 0%, rgba(20, 2, 5, 0.08) 58%);
}

.members-hero__inner {
    display: flex;
    min-height: inherit;
    align-items: flex-end;
}

.members-hero__copy {
    display: grid;
    gap: 18px;
    max-width: 940px;
    padding-block: clamp(84px, 12vh, 118px) clamp(58px, 8vh, 84px);
}

.members-eyebrow {
    display: block;
    width: fit-content;
    color: var(--color-brand-strong);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.members-eyebrow--light {
    color: rgba(255, 255, 255, 0.8);
}

.members-hero h1 {
    max-width: min(13.5ch, 100%);
    margin: 0;
    color: var(--color-text-on-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(4rem, 7vw, 6.3rem);
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 0.84;
    text-transform: uppercase;
    text-wrap: balance;
}

.members-hero p {
    max-width: 64ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    line-height: 1.58;
}

.members-section-heading {
    display: grid;
    gap: 11px;
    max-width: 780px;
}

.members-section-heading h2,
.members-practical__copy h2 {
    margin: 0;
    color: var(--color-text);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.7rem, 5vw, 4.6rem);
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 0.9;
    text-transform: uppercase;
    text-wrap: balance;
}

.members-section-heading > p {
    max-width: 58ch;
    margin: 0;
    color: var(--color-text-muted);
    font-size: clamp(0.98rem, 1.1vw, 1.08rem);
    line-height: 1.58;
}

.members-section-heading--compact h2 {
    font-size: clamp(2.5rem, 4.2vw, 4rem);
}

.members-fees {
    padding-block: clamp(70px, 8vw, 104px);
}

.members-fees__inner {
    display: grid;
    gap: clamp(34px, 4vw, 48px);
}

.members-fees__comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--color-border-strong);
    border-bottom: 1px solid var(--color-border-strong);
}

.members-fee {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: clamp(30px, 3vw, 42px);
}

.members-fee:first-child {
    border-right: 1px solid var(--color-border-strong);
}

.members-fee__index,
.members-benefit__index {
    color: var(--color-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.members-fee h3,
.members-benefit h3,
.members-businesses h3,
.members-sport__services h3 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.22rem, 1.8vw, 1.55rem);
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.16;
}

.members-fee p,
.members-benefit p {
    margin: 10px 0 0;
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.66;
}

.members-fees__clarification {
    margin: -20px 0 0;
    color: var(--color-text-soft);
    font-size: 0.88rem;
    line-height: 1.5;
}

.members-categories {
    padding-block: clamp(66px, 8vw, 96px);
    background:
        radial-gradient(circle at 92% 12%, rgba(205, 53, 44, 0.08), transparent 30%),
        var(--color-brand-surface);
}

.members-categories__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr);
    gap: 30px clamp(32px, 6vw, 74px);
    align-items: end;
}

.members-provisional-note {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 15px 18px;
    border-left: 3px solid var(--color-brand);
    background: rgba(255, 255, 255, 0.64);
    color: var(--color-text-muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.members-provisional-note strong {
    color: var(--color-brand-strong);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.members-categories__list {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 6px 0 0;
    padding: 0;
    border-top: 1px solid var(--color-brand-border);
    border-bottom: 1px solid var(--color-brand-border);
    list-style: none;
}

.members-categories__list li {
    display: grid;
    min-height: 122px;
    align-content: space-between;
    gap: 20px;
    padding: 24px;
}

.members-categories__list li + li {
    border-left: 1px solid var(--color-brand-border);
}

.members-categories__list span {
    color: var(--color-brand);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.members-categories__list strong {
    color: var(--color-text);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(1.55rem, 2.3vw, 2.05rem);
    font-weight: 800;
    letter-spacing: 0.025em;
    line-height: 0.98;
    text-transform: uppercase;
}

.members-categories__caption {
    grid-column: 1 / -1;
    margin: -12px 0 0;
    color: var(--color-text-soft);
    font-size: 0.82rem;
    line-height: 1.45;
}

.members-benefits {
    padding-block: clamp(72px, 9vw, 112px);
    background: var(--color-surface-warm);
}

.members-benefits__heading {
    margin-bottom: clamp(34px, 4vw, 50px);
}

.members-benefits__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: clamp(30px, 5vw, 64px);
    align-items: stretch;
}

.members-benefits__media,
.members-sport__media {
    position: relative;
    overflow: hidden;
    margin: 0;
    border-radius: var(--radius-lg);
    background: var(--color-brand-dark);
}

.members-benefits__media {
    min-height: 590px;
}

.members-benefits__media::after,
.members-sport__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(0deg, rgba(24, 4, 7, 0.2), transparent 52%);
}

.members-benefits__media img,
.members-sport__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.members-benefits__media img {
    object-position: 48% center;
}

.members-benefits__chapters {
    display: grid;
    align-content: stretch;
    border-top: 1px solid var(--color-border-strong);
}

.members-benefit {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;
    align-content: center;
    padding: clamp(25px, 3.1vw, 38px) 0;
    border-bottom: 1px solid var(--color-border-strong);
}

.members-businesses {
    display: grid;
    gap: 24px;
    margin-top: clamp(50px, 6vw, 72px);
    padding-block: 30px 24px;
    border-top: 1px solid var(--color-border-strong);
    border-bottom: 1px solid var(--color-border-strong);
}

.members-businesses-section {
    padding-block: clamp(64px, 8vw, 96px);
    background: var(--color-surface);
}

.members-businesses__intro {
    display: grid;
    gap: 9px;
}

.members-businesses__intro p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.members-businesses__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.members-business-card {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    min-height: 100%;
    padding: 18px 16px 24px;
    border: 0;
    border-bottom: 1px solid rgba(91, 77, 70, 0.12);
    border-radius: 0;
    background: transparent;
    text-align: center;
    transition: color 220ms var(--ease-out);
}

.members-business-card:hover {
    color: var(--color-brand-strong);
}

.members-business-card__logo {
    display: grid;
    height: 150px;
    place-items: center;
    padding: 8px;
    background: transparent;
}

.members-business-card__logo img {
    display: block;
    width: 100%;
    height: 136px;
    object-fit: contain;
    transition: transform 220ms var(--ease-out);
}

.members-business-card h4 {
    margin: 4px 0 0;
    color: var(--color-text);
    font-weight: 750;
    font-size: 0.94rem;
    line-height: 1.25;
}

.members-business-card p { margin: 0; line-height: 1.45; }
.members-business-card__benefit { color: var(--color-text); font-size: .82rem; }
.members-business-card__contact { display: grid; gap: 3px; color: var(--color-text-muted); font-size: .78rem; }
.members-business-card__contact span { color: var(--color-brand-strong); font-weight: 800; }

@media (hover: hover) and (pointer: fine) {
    .members-business-card:hover .members-business-card__logo img {
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .members-business-card,
    .members-business-card__logo img { transition: none; }
}

.members-sport {
    padding-block: clamp(76px, 9vw, 116px);
    background:
        radial-gradient(circle at 90% 8%, rgba(205, 53, 44, 0.3), transparent 28%),
        linear-gradient(135deg, var(--color-brand-deep), #23070b 58%, #080607);
    color: var(--color-text-on-brand);
}

.members-sport__inner {
    display: grid;
    gap: clamp(46px, 6vw, 72px);
}

.members-sport__lead {
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
    gap: clamp(36px, 6vw, 76px);
    align-items: center;
    min-width: 0;
}

.members-sport__copy {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.members-sport__copy h2 {
    margin: 0;
    color: var(--color-text-on-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(3.35rem, 4.7vw, 4.65rem);
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 0.86;
    text-transform: uppercase;
    text-wrap: balance;
}

.members-sport__copy p {
    max-width: 50ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.62;
}

.members-sport__media {
    aspect-ratio: 16 / 10;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.members-sport__services {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 34px 28px;
}

.members-sport__services article {
    grid-column: span 4;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.members-sport__services article:nth-child(4),
.members-sport__services article:nth-child(5) {
    grid-column: span 6;
}

.members-sport__services article > span {
    display: block;
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.members-sport__services h3 {
    color: var(--color-text-on-brand);
}

.members-sport__services p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.67);
    font-size: 0.94rem;
    line-height: 1.62;
}

.members-practical {
    padding-block: clamp(72px, 9vw, 112px);
    background: var(--color-surface);
}

.members-practical__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
    gap: clamp(44px, 7vw, 90px);
    align-items: start;
}

.members-practical__copy {
    display: grid;
    gap: 14px;
}

.members-practical__copy p:not(.members-provisional-note) {
    margin: 2px 0 0;
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.66;
}

.members-provisional-note--inline {
    margin-top: 14px;
    background: var(--color-brand-surface);
}

.members-practical__list {
    margin: 0;
    border-top: 1px solid var(--color-border-strong);
}

.members-practical__list > div {
    display: grid;
    grid-template-columns: minmax(140px, 0.72fr) minmax(0, 1.28fr);
    gap: 24px;
    padding: 20px 0;
    border-bottom: 1px solid var(--color-border-strong);
}

.members-practical__list dt {
    color: var(--color-text);
    font-weight: 720;
}

.members-practical__list dd {
    margin: 0;
    color: var(--color-text-soft);
    font-size: 0.9rem;
}

.members-practical__list a {
    color: var(--color-brand-strong);
    font-weight: 750;
    text-decoration: none;
}

.members-practical__list a:hover { text-decoration: underline; }

.members-cta {
    padding-block: clamp(64px, 8vw, 94px);
    background: var(--color-brand-strong);
    color: var(--color-text-on-brand);
}

.members-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
    align-items: end;
    gap: 38px;
}

.members-cta__inner > div {
    display: grid;
    gap: 14px;
    max-width: 780px;
}

.members-cta h2 {
    margin: 0;
    color: var(--color-text-on-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(3.2rem, 6.5vw, 6rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 0.86;
    text-transform: uppercase;
}

.members-cta p {
    max-width: 56ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(0.98rem, 1.15vw, 1.08rem);
    line-height: 1.58;
}

.members-cta__action {
    flex: 0 0 auto;
    min-height: 44px;
    padding-inline: 18px;
    white-space: nowrap;
}

.members-cta__contact {
    display: grid;
    gap: 14px;
    justify-items: start;
}

.members-cta__phone {
    color: var(--color-text-on-brand);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.3rem, 4vw, 3.8rem);
    font-weight: 800;
    letter-spacing: .035em;
    line-height: .9;
    text-decoration: none;
}

.members-cta__phone:hover { color: var(--color-text-on-brand); }

.members-cta__hours {
    color: rgba(255, 255, 255, .78);
    font-size: .92rem;
}

.members-page.is-motion-ready [data-members-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 440ms var(--ease-out), transform 440ms var(--ease-out);
}

.members-page.is-motion-ready [data-members-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.members-page.is-motion-ready .members-benefits__media img,
.members-page.is-motion-ready .members-sport__media img {
    transform: scale(1.025);
    transition: transform 720ms var(--ease-out);
}

.members-page.is-motion-ready .is-visible .members-benefits__media img,
.members-page.is-motion-ready .is-visible .members-sport__media img {
    transform: scale(1);
}

@media (max-width: 980px) {
    .members-categories__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .members-categories__list li:nth-child(3) {
        border-left: 0;
    }

    .members-categories__list li:nth-child(n + 3) {
        border-top: 1px solid var(--color-brand-border);
    }

    .members-benefits__layout,
    .members-sport__lead,
    .members-practical__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .members-benefits__media {
        min-height: 440px;
    }

    .members-sport__lead {
        gap: 34px;
    }

    .members-sport__media {
        max-height: 520px;
    }
}

@media (max-width: 760px) {
    .members-hero {
        min-height: 560px;
    }

    .members-hero__image {
        object-position: 58% center;
    }

    .members-hero__overlay {
        background:
            linear-gradient(90deg, rgba(10, 4, 5, 0.82), rgba(10, 4, 5, 0.42)),
            linear-gradient(0deg, rgba(20, 2, 5, 0.82), rgba(20, 2, 5, 0.05) 66%);
    }

    .members-hero__copy {
        gap: 15px;
        padding-block: 86px 54px;
    }

    .members-hero h1 {
        max-width: min(13.5ch, 100%);
        font-size: clamp(3rem, 8vw, 3.7rem);
        line-height: 0.86;
    }

    .members-hero p {
        max-width: 36ch;
        font-size: 0.98rem;
        line-height: 1.52;
    }

    .members-fees,
    .members-categories,
    .members-benefits,
    .members-sport,
    .members-practical {
        padding-block: 60px;
    }

    .members-section-heading h2,
    .members-practical__copy h2 {
        font-size: clamp(2.45rem, 12vw, 3.35rem);
    }

    .members-fees__comparison {
        grid-template-columns: 1fr;
    }

    .members-fee {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 28px 0;
    }

    .members-fee:first-child {
        border-right: 0;
        border-bottom: 1px solid var(--color-border-strong);
    }

    .members-fees__clarification {
        margin-top: -16px;
    }

    .members-categories__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .members-categories__list {
        grid-template-columns: 1fr;
    }

    .members-categories__list li {
        min-height: 92px;
        padding: 19px 0;
    }

    .members-categories__list li + li {
        border-top: 1px solid var(--color-brand-border);
        border-left: 0;
    }

    .members-benefits__media {
        min-height: 360px;
    }

    .members-benefit {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .members-businesses__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .members-sport__copy h2 {
        font-size: clamp(3rem, 13vw, 4.1rem);
    }

    .members-sport__services {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .members-sport__services article,
    .members-sport__services article:nth-child(4),
    .members-sport__services article:nth-child(5) {
        grid-column: auto;
    }

    .members-practical__list > div {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-block: 17px;
    }

    .members-cta {
        padding-block: 58px;
    }

    .members-cta__inner {
        align-items: flex-start;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .members-cta h2 {
        font-size: clamp(3.2rem, 16vw, 4.5rem);
    }

    .members-cta__action {
        width: 100%;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 680px) {
    .members-businesses__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
    .members-business-card { padding-inline: 8px; }
    .members-business-card__logo { height: 128px; }
    .members-business-card__logo img { height: 116px; }
}

@media (max-width: 420px) {
    .members-businesses__grid { grid-template-columns: 1fr; }
    .members-business-card { padding-inline: 16px; }
    .members-business-card__logo { height: 158px; }
    .members-business-card__logo img { height: 144px; }
    .members-hero h1 {
        font-size: clamp(2.65rem, 11.5vw, 2.9rem);
    }

    .members-benefits__media {
        min-height: 320px;
    }

    .members-sport__media {
        aspect-ratio: 4 / 3;
    }
}

@media (prefers-reduced-motion: reduce) {
    .members-page.is-motion-ready [data-members-reveal],
    .members-page.is-motion-ready [data-members-reveal].is-visible,
    .members-page.is-motion-ready .members-benefits__media img,
    .members-page.is-motion-ready .members-sport__media img,
    .members-page.is-motion-ready .is-visible .members-benefits__media img,
    .members-page.is-motion-ready .is-visible .members-sport__media img {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.home-sports__rail {
    position: relative;
    width: 100%;
}

.home-sports__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    padding-block: 10px 18px;
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x pan-y;
}

.home-sports__viewport::-webkit-scrollbar {
    display: none;
}

.home-sports__viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.home-sports__viewport:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: -3px;
}

.home-sports__track,
.home-sports__group {
    display: flex;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    gap: var(--home-sports-gap, 18px);
}

.home-sports__track {
    width: max-content;
    will-change: scroll-position;
}

.home-sports__group {
    width: max-content;
}

.home-sports__item {
    flex: 0 0 auto;
}

.home-agenda-section {
    background: linear-gradient(180deg, var(--color-white), var(--color-surface));
}

.home-agenda__title {
    margin-bottom: 30px;
}

.home-agenda__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.agenda-empty-card {
    display: grid;
    min-height: 150px;
    place-items: center;
    max-width: 560px;
    margin-inline: auto;
    padding: 30px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
    color: var(--color-muted);
    text-align: center;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
}
.home-institute {
    background: var(--color-white);
}

.home-institute__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 42px;
    align-items: center;
}

.home-institute__grid > img,
.home-institute__visual {
    width: 100%;
    min-height: 360px;
    border-radius: var(--radius-lg);
    object-fit: cover;
}

.home-institute__visual {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    color: var(--color-white);
    font-size: clamp(4rem, 12vw, 8rem);
    font-weight: 950;
}

.home-institute__content {
    display: grid;
    gap: 20px;
}

.home-institute__content p {
    color: var(--color-muted);
    font-size: 1.08rem;
}

.home-institute__content .button {
    width: fit-content;
}

@media (max-width: 1080px) {
    .home-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .home-institute__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .home-news__grid,
    .home-agenda__list {
        grid-template-columns: 1fr;
    }

    .home-institute__grid > img,
    .home-institute__visual {
        min-height: 260px;
    }
}

/* Agenda premium */
.home-agenda-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 8%, rgba(205, 53, 44, 0.09), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
}

.home-agenda-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(17, 17, 17, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 17, 17, 0.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, transparent, #000 18%, #000 78%, transparent);
}

.home-agenda-section > .container {
    position: relative;
    z-index: 1;
}

.home-agenda__header {
    display: grid;
    max-width: 760px;
    margin: 0 auto 34px;
    gap: 10px;
    text-align: center;
}

.home-agenda__eyebrow {
    color: var(--color-primary);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.home-agenda__header h2 {
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1;
}

.home-agenda__header p {
    color: var(--color-muted);
    font-size: 1.03rem;
}

.home-agenda__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.agenda-empty-card {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-height: 170px;
    place-items: center;
    max-width: 560px;
    margin-inline: auto;
    padding: 34px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.82);
    color: var(--color-muted);
    text-align: center;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.07);
    backdrop-filter: blur(12px);
}

.agenda-empty-card .material-symbols-rounded {
    color: var(--color-primary);
    font-size: 2rem;
}

@media (max-width: 1080px) {
    .home-agenda__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-agenda__list {
        grid-template-columns: 1fr;
    }
}

/* Agenda dark premium override */
.home-agenda-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(205, 53, 44, 0.36), transparent 34%),
        radial-gradient(circle at 85% 22%, rgba(255, 255, 255, 0.08), transparent 26%),
        linear-gradient(135deg, #080808 0%, #16070a 45%, #2a0710 100%);
    color: var(--color-white);
}

.home-agenda-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 28%, rgba(205, 53, 44, 0.14) 72%, transparent),
        radial-gradient(circle at 45% 120%, rgba(255, 255, 255, 0.1), transparent 32%);
    opacity: 0.72;
    mask-image: linear-gradient(180deg, #000, rgba(0, 0, 0, 0.75));
}

.home-agenda-section > .container {
    position: relative;
    z-index: 1;
}

.home-agenda__header {
    display: grid;
    max-width: 780px;
    margin: 0 0 34px;
    gap: 10px;
}

.home-agenda__eyebrow {
    width: fit-content;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.home-agenda__header h2 {
    color: var(--color-white);
    font-size: clamp(2.25rem, 4.5vw, 4rem);
    line-height: 0.96;
}

.home-agenda__header p {
    max-width: 560px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.05rem;
}

.home-agenda__list {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 4px 2px 18px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.home-agenda__list::-webkit-scrollbar {
    display: none;
}

.agenda-empty-card {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-height: 170px;
    place-items: center;
    max-width: 560px;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.09);
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(14px);
}

.agenda-empty-card .material-symbols-rounded {
    color: var(--color-primary);
    font-size: 2rem;
}

@media (max-width: 760px) {
    .home-agenda__header {
        margin-bottom: 26px;
    }

    .home-agenda__list {
        padding-bottom: 10px;
    }
}

/* Agenda home grid override */
.home-agenda__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    overflow: visible;
    padding: 4px 0 0;
    scroll-snap-type: none;
}

@media (max-width: 1080px) {
    .home-agenda__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-agenda__list {
        grid-template-columns: 1fr;
        padding-bottom: 0;
    }
}
/* Agenda V1 final compact section */
.home-agenda-section {
    padding-block: 52px;
}

.home-agenda-section > .container {
    display: grid;
    gap: 24px;
}

.home-agenda__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    max-width: none;
    margin: 0;
    gap: 24px;
    text-align: left;
}

.home-agenda__heading {
    display: grid;
    gap: 8px;
    max-width: 620px;
}

.home-agenda__header h2 {
    font-size: clamp(1.95rem, 3.2vw, 3.15rem);
    line-height: 0.98;
}

.home-agenda__header p {
    max-width: 520px;
    font-size: 0.98rem;
}

.home-agenda__all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.88rem;
    font-weight: 760;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.home-agenda__all-link:hover {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.13);
    color: var(--color-white);
}

.home-agenda__all-link .material-symbols-rounded {
    font-size: 1rem;
}

.home-agenda__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    overflow: visible;
    padding: 0;
    scroll-snap-type: none;
}

@media (max-width: 1080px) {
    .home-agenda__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-agenda-section {
        padding-block: 42px;
    }

    .home-agenda__header {
        align-items: start;
        flex-direction: column;
        gap: 16px;
    }

    .home-agenda__list {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
/* Agenda V1 final layout polish */
.home-agenda-section > .container {
    gap: 30px;
}

.home-agenda__all-link {
    min-height: 38px;
    padding: 0 13px;
    border-color: rgba(255, 255, 255, 0.14);
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 620;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.home-agenda__all-link:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 255, 255, 0.94);
}

.home-agenda__list {
    grid-template-columns: repeat(4, minmax(0, 280px));
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 1080px) {
    .home-agenda__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
        gap: 14px;
    }
}

@media (max-width: 760px) {
    .home-agenda-section > .container {
        gap: 24px;
    }

    .home-agenda__list {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
/* Agenda V1 ambient lighting */
.home-agenda-section {
    isolation: isolate;
    background: linear-gradient(135deg, #080808 0%, #16070a 45%, #2a0710 100%);
}

.home-agenda-section::before {
    content: "";
    position: absolute;
    inset: -18% auto auto -10%;
    z-index: 0;
    width: min(560px, 70vw);
    height: min(360px, 44vw);
    pointer-events: none;
    background: radial-gradient(circle, rgba(205, 53, 44, 0.24), rgba(205, 53, 44, 0.08) 34%, transparent 68%);
    opacity: 0.62;
    mask-image: none;
}

.home-agenda-section::after {
    content: "";
    position: absolute;
    right: -12%;
    bottom: -24%;
    z-index: 0;
    width: min(720px, 78vw);
    height: min(420px, 52vw);
    pointer-events: none;
    background: radial-gradient(circle, rgba(120, 8, 28, 0.28), rgba(80, 5, 18, 0.1) 38%, transparent 70%);
    opacity: 0.5;
}

.home-agenda-section > .container {
    position: relative;
    z-index: 1;
}
/* News section header */
.home-news > .container {
    display: grid;
    gap: 28px;
}

.home-news__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    text-align: left;
}

.home-news__heading {
    display: grid;
    gap: 8px;
    max-width: 640px;
}

.home-news__eyebrow {
    width: fit-content;
    color: var(--color-primary);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.home-news__header h2 {
    color: var(--color-secondary);
    font-size: clamp(1.95rem, 3.2vw, 3.15rem);
    line-height: 0.98;
}

.home-news__header p {
    max-width: 540px;
    color: var(--color-muted);
    font-size: 0.98rem;
}

.home-news__all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 999px;
    background: transparent;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.88rem;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.home-news__all-link:hover {
    border-color: rgba(205, 53, 44, 0.26);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.home-news__all-link .material-symbols-rounded {
    font-size: 1rem;
}

@media (max-width: 760px) {
    .home-news > .container {
        gap: 22px;
    }

    .home-news__header {
        align-items: start;
        flex-direction: column;
        gap: 16px;
    }
}

/* Agenda economic-calendar layout */
.home-agenda-section {
    padding-block: 42px;
}

.home-agenda-section > .container {
    gap: 18px;
}

.home-agenda__header--calendar {
    align-items: center;
}

.home-agenda__header--calendar .home-agenda__heading {
    gap: 6px;
}

.home-agenda__header--calendar h2 {
    font-size: clamp(1.75rem, 2.8vw, 2.6rem);
}

.home-agenda__controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-agenda__control {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.82);
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-agenda__control:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.11);
    color: var(--color-white);
}

.home-agenda__control .material-symbols-rounded {
    font-size: 1.25rem;
}

.home-agenda__rail {
    overflow: hidden;
    width: 100%;
}

.home-agenda__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    padding: 6px 2px 14px;
    cursor: grab;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x;
}

.home-agenda__track::-webkit-scrollbar {
    display: none;
}

.home-agenda__track.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

.home-agenda__all-link--below {
    width: fit-content;
    margin-top: -2px;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.76);
    box-shadow: none;
}

.home-agenda__all-link--below:hover {
    background: transparent;
    color: var(--color-white);
}

@media (max-width: 760px) {
    .home-agenda-section {
        padding-block: 36px;
    }

    .home-agenda__header--calendar {
        flex-direction: row;
        align-items: center;
    }

    .home-agenda__controls {
        flex: 0 0 auto;
    }

    .home-agenda__track {
        gap: 12px;
    }
}
/* Agenda horizontal premium balance */
.home-agenda-section {
    padding-block: 46px;
}

.home-agenda-section > .container {
    gap: 20px;
}

.home-agenda__rail {
    overflow: hidden;
    padding-block: 2px 4px;
}

.home-agenda__track {
    gap: 16px;
    padding: 8px 4px 24px;
}

.home-agenda__all-link--below {
    margin-top: -8px;
}

@media (max-width: 760px) {
    .home-agenda-section {
        padding-block: 40px;
    }

    .home-agenda__track {
        gap: 14px;
        padding-bottom: 22px;
    }
}
/* Agenda carousel header and soft edge */
.home-agenda__header--calendar {
    align-items: center;
}

.home-agenda__all-link--header {
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 620;
}

.home-agenda__all-link--header:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 255, 255, 0.94);
}

.home-agenda__rail {
    position: relative;
    overflow: hidden;
    padding-right: 2px;
}

.home-agenda__rail::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 72px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(42, 7, 16, 0), #2a0710 82%);
}

.home-agenda__track {
    padding-right: 96px;
}

@media (min-width: 1180px) {
    .home-agenda__track {
        padding-right: 4px;
    }

    .home-agenda__rail::after {
        opacity: 0.18;
    }
}

@media (max-width: 760px) {
    .home-agenda__header--calendar {
        align-items: start;
        flex-direction: column;
    }

    .home-agenda__rail::after {
        width: 44px;
    }

    .home-agenda__track {
        padding-right: 56px;
    }
}
/* Agenda carousel dark fade refinement */
.home-agenda__rail::after {
    width: 76px;
    background: linear-gradient(
        90deg,
        rgba(42, 7, 16, 0) 0%,
        rgba(42, 7, 16, 0.54) 54%,
        rgba(42, 7, 16, 0.96) 100%
    );
}

@media (min-width: 1180px) {
    .home-agenda__rail::after {
        opacity: 0.42;
    }
}

@media (max-width: 760px) {
    .home-agenda__rail::after {
        width: 48px;
        background: linear-gradient(
            90deg,
            rgba(42, 7, 16, 0) 0%,
            rgba(42, 7, 16, 0.5) 58%,
            rgba(42, 7, 16, 0.94) 100%
        );
    }
}
/* Unified home section headings */
.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin: 0;
    text-align: left;
}

.section-heading__content {
    display: grid;
    gap: 8px;
    max-width: 680px;
}

.section-heading__eyebrow {
    width: fit-content;
    color: var(--color-primary);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.section-heading h2 {
    color: var(--color-secondary);
    font-size: clamp(1.95rem, 3.2vw, 3.15rem);
    line-height: 0.98;
}

.section-heading p {
    max-width: 560px;
    color: var(--color-muted);
    font-size: 0.98rem;
}

.section-heading__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 999px;
    background: transparent;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.88rem;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.section-heading__action:hover {
    border-color: rgba(205, 53, 44, 0.26);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.section-heading__action .material-symbols-rounded {
    font-size: 1rem;
}

.section-heading--dark h2 {
    color: var(--color-white);
}

.section-heading--dark p {
    color: rgba(255, 255, 255, 0.68);
}

.section-heading--dark .section-heading__eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.section-heading--dark .section-heading__action {
    border-color: rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.78);
}

.section-heading--dark .section-heading__action:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 255, 255, 0.94);
}

.home-news__header,
.home-agenda__header,
.home-agenda__header--calendar {
    align-items: end;
}

.home-news__heading,
.home-agenda__heading,
.home-agenda__header--calendar .home-agenda__heading {
    gap: 8px;
    max-width: 680px;
}

.home-news__eyebrow,
.home-agenda__eyebrow {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.home-news__header h2,
.home-agenda__header h2,
.home-agenda__header--calendar h2 {
    font-size: clamp(1.95rem, 3.2vw, 3.15rem);
    line-height: 0.98;
}

.home-agenda__all-link--header,
.home-news__all-link {
    min-height: 38px;
    padding: 0 13px;
}

@media (max-width: 760px) {
    .section-heading,
    .home-news__header,
    .home-agenda__header,
    .home-agenda__header--calendar {
        align-items: start;
        flex-direction: column;
        gap: 16px;
    }
}
/* Shared section-heading rollout */
.home-sports__header {
    display: block;
    margin-bottom: 16px;
    text-align: left;
}

.home-sports__header .section-heading {
    width: 100%;
}

.home-sports__header .section-heading__content {
    gap: 10px;
}

.home-sports__stat {
    display: grid;
    justify-items: start;
    flex: 0 0 auto;
    gap: 3px;
    margin: 0;
    padding: 0 0 9px;
    color: var(--color-secondary);
    white-space: nowrap;
}

.home-sports__stat::after {
    width: 42px;
    height: 1px;
    content: "";
    background: #CD352C;
    border-radius: 999px;
    transform-origin: left;
}

.home-sports__stat-value {
    display: inline-flex;
    align-items: baseline;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(3rem, 3.75vw, 3.65rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 0.8;
}

.home-sports__stat-sign {
    position: relative;
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    margin-right: 0.025em;
    color: transparent;
    font-size: 0.72em;
    font-weight: 700;
    transform: translateY(-0.04em);
}

.home-sports__stat-sign::before,
.home-sports__stat-sign::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    border-radius: 999px;
    background: #CD352C;
    transform: translate(-50%, -50%);
}

.home-sports__stat-sign::before {
    width: 100%;
    height: 0.1em;
}

.home-sports__stat-sign::after {
    width: 0.1em;
    height: 100%;
}

.home-sports__stat-label {
    color: rgba(17, 17, 17, 0.6);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
}

.home-sports.is-motion-ready .home-sports__stat {
    transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1), transform 360ms cubic-bezier(0.22, 1, 0.36, 1), filter 360ms ease;
}

.home-sports.is-motion-ready .home-sports__stat-sign {
    transition: opacity 180ms ease 1.03s, transform 180ms ease 1.03s;
}

.home-sports.is-motion-ready .home-sports__stat-label {
    transition: clip-path 240ms cubic-bezier(0.22, 1, 0.36, 1) 1.14s, opacity 180ms ease 1.14s;
}

.home-sports.is-motion-ready .home-sports__stat::after {
    transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1) 1.26s;
}

.home-sports.is-motion-ready .home-sports__stat:not(.is-visible) {
    filter: blur(4px);
    opacity: 0;
    transform: translateY(8px);
}

.home-sports.is-motion-ready .home-sports__stat:not(.is-visible) .home-sports__stat-sign {
    opacity: 0;
    transform: translateX(-3px);
}

.home-sports.is-motion-ready .home-sports__stat:not(.is-visible) .home-sports__stat-label {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
}

.home-sports.is-motion-ready .home-sports__stat:not(.is-visible)::after {
    transform: scaleX(0);
}

.home-institute__container {
    display: grid;
    gap: 32px;
}

.home-institute__content {
    align-content: center;
}

@media (max-width: 760px) {
    .home-sports__header {
        margin-bottom: 16px;
    }

    .home-sports__header .section-heading {
        align-items: flex-start;
        gap: 14px;
    }

    .home-sports__stat {
        padding-bottom: 6px;
    }

    .home-institute__container {
        gap: 24px;
    }

}
/* Institute featured block */
.home-institute--feature {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    display: grid;
    align-items: center;
    background: #12070a;
    color: var(--color-white);
}

.home-institute__background,
.home-institute__fallback,
.home-institute__overlay {
    position: absolute;
    inset: 0;
}

.home-institute__background {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-institute__fallback {
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 22% 18%, rgba(205, 53, 44, 0.36), transparent 34%),
        linear-gradient(135deg, #111111 0%, #2a0710 58%, #6f091b 100%);
}

.home-institute__fallback span {
    color: rgba(255, 255, 255, 0.12);
    font-size: clamp(5rem, 16vw, 13rem);
    font-weight: 950;
    letter-spacing: 0.02em;
}

.home-institute__overlay {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 42%, rgba(0, 0, 0, 0.28) 100%),
        linear-gradient(0deg, rgba(42, 7, 16, 0.7), rgba(42, 7, 16, 0.16) 48%, rgba(0, 0, 0, 0.18));
}

.home-institute--feature .home-institute__container {
    position: relative;
    z-index: 1;
    display: block;
}

.home-institute__panel {
    display: grid;
    max-width: 720px;
    gap: 22px;
    padding-block: 38px;
}

.home-institute--feature .home-institute__header {
    display: block;
}

.home-institute--feature .section-heading__content {
    max-width: 680px;
}

.home-institute__text {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.65;
}

.home-institute__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-white);
    font-size: 0.92rem;
    font-weight: 650;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.home-institute__action:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.14);
}

.home-institute__action .material-symbols-rounded {
    font-size: 1rem;
}

@media (max-width: 760px) {
    .home-institute--feature {
        min-height: 560px;
    }

    .home-institute__overlay {
        background:
            linear-gradient(90deg, rgba(0, 0, 0, 0.84), rgba(0, 0, 0, 0.58)),
            linear-gradient(0deg, rgba(42, 7, 16, 0.72), rgba(42, 7, 16, 0.18));
    }

    .home-institute__panel {
        gap: 18px;
        padding-block: 30px;
    }
}
/* Home experience pass: rhythm and editorial institute */
.home-news {
    padding-block: 64px 58px;
}

.home-news > .container {
    gap: 24px;
}

.home-agenda-section {
    padding-block: 48px;
}

.home-agenda-section > .container {
    gap: 22px;
}

.home-institute--editorial {
    overflow: hidden;
    background: var(--color-white);
    color: var(--color-secondary);
}

.home-institute--editorial .home-institute__container {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(30px, 5vw, 58px);
    align-items: stretch;
    border-radius: 32px;
    padding: clamp(44px, 4vw, 56px);
    background:
        linear-gradient(
            135deg,
            rgba(205, 53, 44, 0.055) 0%,
            rgba(205, 53, 44, 0.018) 48%,
            rgba(255, 255, 255, 0.96) 100%
        );
}

.home-institute__section-header {
    margin-bottom: clamp(20px, 2.4vw, 32px);
}

.home-institute__copy {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
}

.home-institute--editorial .home-institute__action-row {
    margin-top: auto;
    padding-top: 18px;
}

.home-institute--editorial .home-institute__header {
    display: grid;
    gap: 16px;
}

.home-institute--editorial .home-institute__identity {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 650px;
}

.home-institute--editorial .home-institute__logo {
    flex: 0 0 auto;
    width: 72px;
    height: auto;
    margin: 0;
}

.home-institute--editorial .home-institute__identity-text {
    min-width: 0;
}

.home-institute--editorial .home-institute__official-name {
    margin: 0;
    color: rgba(17, 17, 17, 0.82);
    font-size: clamp(1rem, .6vw + .84rem, 1.16rem);
    font-weight: 680;
    line-height: 1.18;
}

.home-institute--editorial .home-institute__text {
    max-width: 610px;
    color: rgba(17, 17, 17, 0.66);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.7;
}

.home-institute--editorial .home-institute__action {
    width: fit-content;
    color: rgba(17, 17, 17, 0.72);
}

.home-institute--editorial .home-institute__media {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    margin: 0;
    border-radius: 28px;
    background: var(--color-surface);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.12);
}

.home-institute--editorial .home-institute__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
}

.home-institute--editorial .home-institute__media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 600ms ease;
    transform-origin: center;
}

@media (hover: hover) and (pointer: fine) {
    .home-institute--editorial .home-institute__media:hover img {
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-institute--editorial .home-institute__media img {
        transition: none;
    }

    .home-institute--editorial .home-institute__media:hover img {
        transform: none;
    }
}

.home-sports {
    padding-block: 64px;
}

.home-sports__header {
    margin-bottom: 16px;
}

.section-heading__action,
.home-institute__action {
    min-height: 38px;
    padding: 0 13px;
    border-radius: 999px;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.section-heading__action:hover,
.home-institute__action:hover {
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .home-institute--editorial .home-institute__container {
        grid-template-columns: 1fr;
        padding: clamp(32px, 5vw, 40px);
    }

    .home-institute--editorial .home-institute__media {
        min-height: 340px;
    }
}

@media (max-width: 760px) {
    .home-news,
    .home-sports {
        padding-block: 48px;
    }

    .home-agenda-section {
        padding-block: 42px;
    }

    .home-institute--editorial .home-institute__media {
        min-height: 300px;
        border-radius: 22px;
    }
}

@media (max-width: 620px) {
    .home-institute__section-header { margin-bottom: 18px; }

    .home-institute--editorial .home-institute__container {
        gap: 24px;
        border-radius: 24px;
        padding: 24px;
    }

    .home-institute--editorial .home-institute__identity { gap: 12px; }

    .home-institute--editorial .home-institute__logo {
        width: 64px;
        margin-top: 0;
    }

    .home-institute--editorial .home-institute__official-name {
        max-width: 100%;
    }
}
/* Institute editorial button normalization */
.home-institute--editorial .home-institute__action {
    border: 1px solid rgba(17, 17, 17, 0.12);
    background: transparent;
    color: rgba(17, 17, 17, 0.72);
    box-shadow: none;
}

.home-institute--editorial .home-institute__action:hover {
    border-color: rgba(205, 53, 44, 0.26);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}
/* Agenda compact utility module */
.home-agenda-section--compact {
    padding-block: 34px;
    background: linear-gradient(135deg, #080808 0%, #130609 48%, #22070e 100%);
}

.home-agenda-section--compact > .container {
    gap: 16px;
}

.home-agenda__header--compact {
    align-items: center;
}

.home-agenda__header--compact .section-heading__content {
    gap: 4px;
}

.home-agenda__header--compact .section-heading__eyebrow {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.66rem;
    letter-spacing: 0.1em;
}

.home-agenda__header--compact h2 {
    font-size: clamp(1.28rem, 2.1vw, 1.85rem);
    line-height: 1.05;
}

.home-agenda-section--compact .home-agenda__all-link--header {
    min-height: 34px;
    padding: 0 11px;
    font-size: 0.82rem;
}

.home-agenda-section--compact .home-agenda__track {
    gap: 12px;
    padding-block: 6px 18px;
}

.home-agenda-section--compact .home-agenda__rail::after {
    width: 64px;
    opacity: 0.44;
}

@media (max-width: 760px) {
    .home-agenda-section--compact {
        padding-block: 30px;
    }

    .home-agenda__header--compact {
        align-items: start;
    }

    .home-agenda-section--compact .home-agenda__track {
        padding-bottom: 16px;
    }
}
/* Agenda compact module lighter container */
.home-agenda-section--compact {
    padding-block: 28px;
    background: linear-gradient(135deg, #090909 0%, #110607 52%, #1a060b 100%);
}

.home-agenda-section--compact > .container {
    gap: 14px;
}

.home-agenda-section--compact .home-agenda__rail {
    overflow-x: hidden;
    overflow-y: visible;
    padding-block: 4px 8px;
}

.home-agenda-section--compact .home-agenda__track {
    overflow-x: auto;
    overflow-y: visible;
    padding: 8px 64px 28px 2px;
}

.home-agenda-section--compact .home-agenda__rail::after {
    opacity: 0.34;
}

@media (max-width: 760px) {
    .home-agenda-section--compact {
        padding-block: 26px;
    }

    .home-agenda-section--compact .home-agenda__track {
        padding-right: 54px;
        padding-bottom: 26px;
    }
}
/* Agenda schedule strip redesign */
.home-agenda-section--schedule {
    position: relative;
    overflow: hidden;
    padding-block: 40px;
    isolation: isolate;
    background:
        radial-gradient(circle at 8% 12%, rgba(205, 53, 44, 0.18), transparent 28%),
        linear-gradient(135deg, #080808 0%, #130608 52%, #25070f 100%);
}

.home-agenda-section--schedule::before {
    content: "";
    position: absolute;
    inset: auto 8% 18px auto;
    z-index: 0;
    width: min(520px, 46vw);
    height: 170px;
    pointer-events: none;
    background: radial-gradient(circle, rgba(205, 53, 44, 0.16), transparent 66%);
    opacity: 0.55;
}

.home-agenda-section--schedule > .container {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 20px;
}

.home-agenda-schedule__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.home-agenda-schedule__eyebrow {
    display: inline-flex;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.home-agenda-schedule__header h2 {
    color: var(--color-white);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.05;
}

.home-agenda-schedule__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.84rem;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-agenda-schedule__link:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.06);
    color: var(--color-white);
}

.home-agenda-schedule__link .material-symbols-rounded {
    font-size: 1rem;
}

.home-agenda-schedule__rail {
    position: relative;
    overflow: hidden;
    padding-block: 2px 8px;
}

.home-agenda-schedule__rail::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.02));
    pointer-events: none;
}

.home-agenda-schedule__rail::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 72px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(37, 7, 15, 0), rgba(37, 7, 15, 0.92));
}

.home-agenda-schedule__track {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    padding: 8px 88px 22px 2px;
    cursor: grab;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x;
}

.home-agenda-schedule__track::-webkit-scrollbar {
    display: none;
}

.home-agenda-schedule__track.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none;
}

@media (max-width: 760px) {
    .home-agenda-section--schedule {
        padding-block: 34px;
    }

    .home-agenda-schedule__header {
        align-items: start;
        flex-direction: column;
        gap: 14px;
    }

    .home-agenda-schedule__track {
        gap: 12px;
        padding-right: 58px;
    }

    .home-agenda-schedule__rail::after {
        width: 46px;
    }
}
/* Agenda schedule strip light module */
.home-agenda-section--schedule {
    padding-block: 34px;
    background:
        radial-gradient(circle at 8% 20%, rgba(205, 53, 44, 0.06), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
    color: var(--color-secondary);
}

.home-agenda-section--schedule::before {
    width: min(480px, 42vw);
    height: 150px;
    background: radial-gradient(circle, rgba(205, 53, 44, 0.08), transparent 66%);
    opacity: 0.7;
}

.home-agenda-section--schedule > .container {
    gap: 16px;
}

.home-agenda-schedule__eyebrow {
    margin-bottom: 5px;
    color: rgba(205, 53, 44, 0.78);
    font-size: 0.64rem;
    letter-spacing: 0.12em;
}

.home-agenda-schedule__header h2 {
    color: var(--color-secondary);
    font-size: clamp(1.25rem, 1.8vw, 1.7rem);
    line-height: 1.08;
}

.home-agenda-schedule__link {
    min-height: 34px;
    border-color: rgba(17, 17, 17, 0.12);
    color: rgba(17, 17, 17, 0.68);
    font-size: 0.82rem;
}

.home-agenda-schedule__link:hover {
    border-color: rgba(205, 53, 44, 0.24);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.home-agenda-schedule__rail {
    padding-block: 2px 4px;
}

.home-agenda-schedule__rail::before {
    background: linear-gradient(90deg, rgba(205, 53, 44, 0.16), rgba(17, 17, 17, 0.03));
}

.home-agenda-schedule__rail::after {
    background: linear-gradient(90deg, rgba(247, 247, 248, 0), rgba(247, 247, 248, 0.92));
}

.home-agenda-schedule__track {
    padding: 6px 88px 20px 2px;
}

@media (max-width: 760px) {
    .home-agenda-section--schedule {
        padding-block: 30px;
    }

    .home-agenda-schedule__track {
        padding-right: 58px;
        padding-bottom: 18px;
    }
}
/* Agenda product strip */
.home-agenda-strip {
    padding-block: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
}

.home-agenda-strip__container {
    max-width: calc(var(--container) + 64px);
}

.home-agenda-strip__bar {
    position: relative;
    display: grid;
    gap: 14px;
    overflow: hidden;
    padding: 18px 20px 12px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 28px;
    background:
        radial-gradient(circle at 6% 0%, rgba(205, 53, 44, 0.055), transparent 28%),
        rgba(255, 255, 255, 0.86);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.055);
}

.home-agenda-strip__bar::before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 56px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(205, 53, 44, 0.18), rgba(17, 17, 17, 0.035));
}

.home-agenda-strip__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.home-agenda-strip__label {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
}

.home-agenda-strip__label span {
    color: rgba(205, 53, 44, 0.72);
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.home-agenda-strip__label h2 {
    color: rgba(17, 17, 17, 0.82);
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    font-weight: 680;
    line-height: 1.1;
}

.home-agenda-strip__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.68);
    font-size: 0.8rem;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-agenda-strip__link:hover {
    transform: translateY(-1px);
    border-color: rgba(205, 53, 44, 0.22);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.home-agenda-strip__link .material-symbols-rounded {
    font-size: 0.95rem;
}

.home-agenda-strip .home-agenda-schedule__rail {
    overflow: hidden;
    padding-block: 0 4px;
}

.home-agenda-strip .home-agenda-schedule__rail::before {
    display: none;
}

.home-agenda-strip .home-agenda-schedule__rail::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(249, 249, 250, 0.96));
}

.home-agenda-strip .home-agenda-schedule__track {
    gap: 12px;
    padding: 8px 78px 18px 0;
}

@media (max-width: 760px) {
    .home-agenda-strip {
        padding-block: 18px;
    }

    .home-agenda-strip__bar {
        gap: 12px;
        padding: 16px 16px 10px;
        border-radius: 22px;
    }

    .home-agenda-strip__header {
        align-items: start;
        flex-direction: column;
        gap: 10px;
    }

    .home-agenda-strip__label {
        display: grid;
        gap: 4px;
    }

    .home-agenda-strip .home-agenda-schedule__track {
        padding-right: 56px;
        padding-bottom: 16px;
    }
}
/* Combined news + agenda digest */
.home-digest {
    background: linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
}

.home-digest__shell {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(320px, 0.95fr);
    gap: 24px;
    padding: 26px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 30px;
    background:
        radial-gradient(circle at 88% 10%, rgba(205, 53, 44, 0.045), transparent 24%),
        rgba(255, 255, 255, 0.88);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.07);
}

.home-digest__news,
.home-digest__agenda {
    min-width: 0;
}

.home-digest__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.home-digest__header--agenda {
    margin-bottom: 14px;
}

.home-digest__eyebrow {
    display: inline-flex;
    margin-bottom: 6px;
    color: rgba(205, 53, 44, 0.78);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.home-digest__header h2 {
    color: rgba(17, 17, 17, 0.86);
    font-size: clamp(1.22rem, 1.8vw, 1.65rem);
    line-height: 1.08;
}

.home-digest__action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.68);
    font-size: 0.82rem;
    font-weight: 620;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-digest__action:hover {
    transform: translateY(-1px);
    border-color: rgba(205, 53, 44, 0.22);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.home-digest__action .material-symbols-rounded {
    font-size: 0.95rem;
}

.home-news__grid--digest {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home-digest__agenda {
    display: grid;
    align-content: start;
    padding: 18px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 24px;
    background: rgba(248, 248, 249, 0.88);
}

.home-digest__events {
    display: grid;
    gap: 10px;
    max-height: 492px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(17, 17, 17, 0.18) transparent;
}

.home-digest__events::-webkit-scrollbar {
    width: 4px;
}

.home-digest__events::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.16);
}

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

    .home-news__grid--digest {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-digest__events {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 860px) {
    .home-news__grid--digest {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .home-digest__shell {
        padding: 18px;
        border-radius: 24px;
    }

    .home-digest__header {
        align-items: start;
        flex-direction: column;
        gap: 12px;
    }

    .home-news__grid--digest {
        grid-template-columns: 1fr;
    }
}
/* Agenda integrated strip */
.home-agenda-strip {
    padding-block: 34px 40px;
    background:
        radial-gradient(circle at 8% 18%, rgba(205, 53, 44, 0.045), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.home-agenda-strip__container {
    max-width: var(--container);
}

.home-agenda-strip__bar {
    display: grid;
    gap: 16px;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-agenda-strip__bar::before {
    left: 0;
    right: 0;
    top: 44px;
    opacity: 0.55;
    background: linear-gradient(90deg, rgba(205, 53, 44, 0.12), rgba(17, 17, 17, 0.025), transparent);
}

.home-agenda-strip__header {
    align-items: end;
}

.home-agenda-strip__rail,
.home-agenda-strip .home-agenda-schedule__rail {
    overflow: hidden;
    margin-inline: -2px;
    padding-block: 4px 8px;
}

.home-agenda-strip .home-agenda-schedule__rail::after {
    width: 70px;
    background: linear-gradient(90deg, rgba(250, 250, 250, 0), rgba(250, 250, 250, 0.94));
}

.home-agenda-strip .home-agenda-schedule__track {
    padding: 8px 78px 24px 2px;
}

@media (max-width: 760px) {
    .home-agenda-strip {
        padding-block: 28px 34px;
    }

    .home-agenda-strip__bar {
        gap: 14px;
    }

    .home-agenda-strip .home-agenda-schedule__track {
        padding-right: 56px;
        padding-bottom: 20px;
    }
}
/* Agenda action below carousel */
.home-agenda-strip__header {
    justify-content: flex-start;
}

.home-agenda-strip__link--below {
    width: fit-content;
    margin-top: -8px;
    margin-left: 0;
    min-height: 32px;
    padding: 0 10px;
    background: transparent;
}
/* Agenda visual cleanup and action placement */
.home-agenda-strip__bar,
.home-agenda-strip__bar::before {
    box-shadow: none;
}

.home-agenda-strip__bar::before {
    opacity: 0;
}

.home-agenda-strip .home-agenda-schedule__rail::before {
    display: none;
}

.home-agenda-strip .home-agenda-schedule__rail::after {
    width: 56px;
    background: linear-gradient(90deg, rgba(250, 250, 250, 0), rgba(250, 250, 250, 0.78));
}

.home-agenda-strip .home-agenda-schedule__track {
    padding-bottom: 18px;
}

.home-agenda-strip__link--below {
    justify-self: end;
    margin-top: -4px;
    background: rgba(255, 255, 255, 0.72);
}

.section-heading__action,
.home-institute__action,
.home-news__all-link,
.home-agenda-strip__link,
.home-agenda-strip__link--below {
    min-height: 38px;
    padding: 0 13px;
}
/* Section action placement */
.section-action-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.home-news .section-action-row {
    margin-top: -4px;
}

.home-institute__action-row {
    grid-column: 1 / -1;
    margin-top: -8px;
}

.home-sports .section-action-row {
    margin-top: 18px;
}

@media (max-width: 760px) {
    .section-action-row {
        justify-content: flex-start;
    }

    .home-institute__action-row {
        margin-top: 0;
    }
}
/* Sponsors: environmental orbit on hover-capable devices, manual strip elsewhere. */
.home-sponsors {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-block: 36px 44px;
}

.home-sponsors__rail {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    overflow: hidden;
    padding-block: 4px 12px;
}

.home-sponsors__rail::before,
.home-sponsors__rail::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: min(120px, 16vw);
    pointer-events: none;
}

.home-sponsors__rail::before {
    left: 0;
    background: linear-gradient(90deg, #f7f7f8 10%, rgba(247, 247, 248, 0));
}

.home-sponsors__rail::after {
    right: 0;
    background: linear-gradient(90deg, rgba(247, 247, 248, 0), #f7f7f8 90%);
}

.home-sponsors__track {
    display: flex;
    width: 100%;
    gap: 14px;
    justify-content: safe center;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    padding: 0 calc(min(120px, 16vw) + 4px);
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x pan-y;
}

.home-sponsors__track::-webkit-scrollbar {
    display: none;
}

.home-sponsors__track:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: -3px;
}

.home-sponsors__track .sponsor-card {
    position: static;
    flex: 0 0 auto;
    scroll-snap-align: start;
}

@keyframes sponsor-orbit {
    from {
        transform: translate3d(-220px, -50%, 0);
    }

    to {
        transform: translate3d(calc(100vw + 220px), -50%, 0);
    }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-sponsors:not(.home-sponsors--static) .home-sponsors__track {
        position: relative;
        display: block;
        height: 76px;
        overflow: hidden;
        padding: 0;
        scroll-snap-type: none;
    }

    .home-sponsors:not(.home-sponsors--static) .home-sponsors__track .sponsor-card {
        position: absolute;
        top: 50%;
        left: 0;
        animation: sponsor-orbit 24s linear infinite;
        animation-delay: var(--sponsor-delay, 0s);
        animation-play-state: paused;
        transform: translate3d(-220px, -50%, 0);
        will-change: transform;
    }

    .home-sponsors:not(.home-sponsors--static) .home-sponsors__rail.is-autoplaying .sponsor-card {
        animation-play-state: running;
    }

    .home-sponsors:not(.home-sponsors--static) .home-sponsors__rail.is-keyboard-interacting .home-sponsors__track {
        display: flex;
        height: auto;
        overflow-x: auto;
        padding: 0 calc(min(120px, 16vw) + 4px);
        scroll-snap-type: x proximity;
    }

    .home-sponsors:not(.home-sponsors--static) .home-sponsors__rail.is-keyboard-interacting .home-sponsors__track .sponsor-card {
        position: static;
        flex: 0 0 auto;
        animation: none;
        transform: none;
    }
}

@media (max-width: 760px) {
    .home-sponsors {
        padding-block: 30px 38px;
    }

    .home-sponsors__rail {
        padding-block: 6px 12px;
    }

    .home-sponsors__rail::before,
    .home-sponsors__rail::after {
        width: 46px;
    }

    .home-sponsors__track {
        gap: 12px;
        padding-inline: 50px;
    }
}

@media (max-width: 760px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-sponsors:not(.home-sponsors--static) .home-sponsors__track {
        height: 62px;
        padding: 0;
    }

    .home-sponsors:not(.home-sponsors--static) .home-sponsors__track .sponsor-card {
        animation-duration: 22s;
    }

    @keyframes sponsor-orbit {
        from {
            transform: translate3d(-170px, -50%, 0);
        }

        to {
            transform: translate3d(calc(100vw + 170px), -50%, 0);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-sponsors__track {
        scroll-behavior: auto;
    }

    .home-sponsors__track .sponsor-card {
        transition: none;
    }
}

/* Sport detail photographic cover */
.sport-detail-cover {
    background: var(--color-surface);
}

.sport-detail-cover__banner {
    position: relative;
    isolation: isolate;
    height: 560px;
    overflow: hidden;
    background: #170707;
}

.sport-detail-cover__banner::before,
.sport-detail-cover__banner::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.sport-detail-cover__banner::before {
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(8, 5, 5, 0.9) 0%,
        rgba(8, 5, 5, 0.72) 30%,
        rgba(8, 5, 5, 0.3) 62%,
        rgba(8, 5, 5, 0.08) 100%
    );
}

.sport-detail-cover__banner::after {
    z-index: 2;
    background: linear-gradient(
        0deg,
        rgba(7, 5, 5, 0.9) 0%,
        rgba(7, 5, 5, 0.58) 24%,
        rgba(7, 5, 5, 0.16) 58%,
        rgba(7, 5, 5, 0) 84%
    );
}

.sport-detail-cover__banner--fallback {
    background: #25090b;
}

.sport-detail-cover__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.sport-detail-cover__content {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    height: 100%;
    padding-block: 42px 64px;
}

.sport-detail-cover__copy {
    display: grid;
    min-width: 0;
    max-width: 840px;
}

.sport-detail-cover__eyebrow {
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.78rem;
    font-weight: 780;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sport-detail-cover h1 {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: 6.25rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 0.9;
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    text-shadow: 0 2px 22px rgba(0, 0, 0, 0.32);
}

.sport-detail-cover__copy--long-title h1 {
    max-width: 920px;
    font-size: 4.9rem;
    line-height: 0.94;
}

.sport-detail-cover__copy > p {
    max-width: 56ch;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.16rem;
    font-weight: 520;
    line-height: 1.5;
    white-space: pre-line;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.34);
}

@media (max-width: 1279px) {
    .sport-detail-cover__banner {
        height: 500px;
    }

    .sport-detail-cover__content {
        padding-bottom: 54px;
    }

    .sport-detail-cover h1 {
        font-size: 5.4rem;
    }

    .sport-detail-cover__copy--long-title h1 {
        font-size: 4.4rem;
    }
}

@media (max-width: 900px) {
    .sport-detail-cover__banner {
        height: 440px;
    }

    .sport-detail-cover__image {
        object-position: center 28%;
    }

    .sport-detail-cover__banner::before {
        background: linear-gradient(
            90deg,
            rgba(8, 5, 5, 0.78) 0%,
            rgba(8, 5, 5, 0.46) 46%,
            rgba(8, 5, 5, 0.1) 100%
        );
    }

    .sport-detail-cover__content {
        padding-bottom: 44px;
    }

    .sport-detail-cover h1 {
        font-size: 4.5rem;
    }

    .sport-detail-cover__copy--long-title h1 {
        font-size: 3.7rem;
    }
}

@media (max-width: 767px) {
    .sport-detail-cover__banner {
        height: 460px;
    }

    .sport-detail-cover__image {
        object-position: center 38%;
    }

    .sport-detail-cover__banner::before {
        background: linear-gradient(
            90deg,
            rgba(8, 5, 5, 0.78) 0%,
            rgba(8, 5, 5, 0.46) 68%,
            rgba(8, 5, 5, 0.16) 100%
        );
    }

    .sport-detail-cover__banner::after {
        background: linear-gradient(
            0deg,
            rgba(7, 5, 5, 0.94) 0%,
            rgba(7, 5, 5, 0.72) 34%,
            rgba(7, 5, 5, 0.2) 70%,
            rgba(7, 5, 5, 0) 100%
        );
    }

    .sport-detail-cover__content {
        padding-block: 30px 38px;
    }

    .sport-detail-cover h1 {
        font-size: 3.5rem;
        line-height: 0.94;
    }

    .sport-detail-cover__copy--long-title h1 {
        font-size: 2.8rem;
        line-height: 0.98;
    }

    .sport-detail-cover__copy > p {
        max-width: 34ch;
        margin-top: 13px;
        font-size: 1rem;
        line-height: 1.45;
    }

}

@media (max-width: 390px) {
    .sport-detail-cover__banner {
        height: 440px;
    }

    .sport-detail-cover h1 {
        font-size: 3.1rem;
    }

    .sport-detail-cover__copy--long-title h1 {
        font-size: 2.55rem;
    }
}

.sport-detail-tabs__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sport-detail-tabs__inner a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.74);
    font-size: 0.9rem;
    font-weight: 650;
    transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.sport-detail-tabs__inner a:hover {
    transform: translateY(-1px);
    border-color: rgba(205, 53, 44, 0.24);
    background: rgba(205, 53, 44, 0.045);
    color: var(--color-primary);
}

.sport-detail-tabs {
    position: sticky;
    top: var(--header-height);
    z-index: 20;
    border-block: 1px solid rgba(17, 17, 17, 0.07);
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(18px);
}

.sport-detail-tabs__inner {
    padding-block: 12px;
}

.sport-detail-section {
    scroll-margin-top: calc(var(--header-height) + 74px);
    background: var(--color-white);
}

.sport-detail-section--soft {
    background: linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
}

.sport-detail-heading {
    display: grid;
    gap: 8px;
    max-width: 720px;
    margin-bottom: 28px;
}

.sport-detail-heading span {
    color: var(--color-primary);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.sport-detail-heading h2 {
    color: var(--color-secondary);
    font-size: clamp(1.85rem, 3vw, 3rem);
    line-height: 1;
}

.sport-detail-heading p {
    color: var(--color-muted);
}

.sport-schedule {
    display: grid;
    gap: 24px;
}

.sport-schedule__area {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 28px;
    background:
        radial-gradient(circle at 4% 0%, rgba(205, 53, 44, 0.05), transparent 28%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.055);
}

.sport-schedule__area > header span {
    color: rgba(205, 53, 44, 0.78);
    font-size: 0.7rem;
    font-weight: 820;
    letter-spacing: 0.11em;
}

.sport-schedule__area > header h3 {
    margin-top: 5px;
    color: var(--color-secondary);
    font-size: clamp(1.35rem, 2.2vw, 2.05rem);
}

.sport-schedule__categories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sport-category-card {
    display: grid;
    gap: 16px;
    min-height: 100%;
    padding: 18px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.045);
}

.sport-category-card__head h4 {
    color: rgba(17, 17, 17, 0.9);
    font-size: 1.18rem;
    line-height: 1.1;
}

.sport-category-card__head p {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.88rem;
}

.sport-training-list {
    display: grid;
    gap: 8px;
}

.sport-training-item {
    display: grid;
    grid-template-columns: minmax(88px, 0.8fr) minmax(92px, 0.8fr) minmax(0, 1.2fr);
    gap: 10px;
    align-items: center;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 14px;
    background: rgba(248, 248, 249, 0.84);
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.9rem;
}

.sport-training-item__day {
    color: var(--color-primary);
    font-weight: 760;
}

.sport-training-item__time {
    font-weight: 680;
}

.sport-training-item__place {
    color: rgba(17, 17, 17, 0.58);
}

.sport-category-card__staff {
    display: grid;
    gap: 8px;
    padding-top: 2px;
}

.sport-category-card__staff > span {
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.72rem;
    font-weight: 780;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sport-category-card__staff ul,
.sport-info-list {
    display: grid;
    gap: 8px;
    list-style: none;
}

.sport-category-card__staff li,
.sport-info-list li {
    color: rgba(17, 17, 17, 0.76);
    font-weight: 650;
}

.sport-category-card__staff small,
.sport-info-list small {
    display: block;
    margin-top: 2px;
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.82rem;
    font-weight: 520;
}

.sport-info-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.45fr);
    gap: 32px;
    align-items: start;
}

.sport-info-text {
    max-width: 820px;
    color: rgba(17, 17, 17, 0.68);
    font-size: 1.05rem;
    line-height: 1.78;
}

.sport-info-panel {
    display: grid;
    gap: 20px;
    padding: 22px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.055);
}

.sport-info-panel section {
    display: grid;
    gap: 10px;
}

.sport-info-panel h3 {
    color: var(--color-secondary);
    font-size: 1rem;
}

.sport-info-panel p {
    color: var(--color-muted);
}

.sport-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sport-socials a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.88rem;
    font-weight: 650;
}

.sport-socials .material-symbols-rounded {
    color: var(--color-primary);
    font-size: 1rem;
}

.sport-related-news {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sport-detail-empty {
    color: var(--color-muted);
    font-size: 0.95rem;
}

.sport-detail-empty--panel {
    display: grid;
    place-items: center;
    min-height: 150px;
    padding: 26px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 22px;
    background: rgba(248, 248, 249, 0.9);
    text-align: center;
}

@media (max-width: 1080px) {
    .sport-info-grid {
        grid-template-columns: 1fr;
    }

    .sport-schedule__categories,
    .sport-related-news {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .sport-detail-tabs__inner {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .sport-detail-tabs__inner::-webkit-scrollbar {
        display: none;
    }

    .sport-training-item {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .sport-schedule__area,
    .sport-category-card,
    .sport-info-panel {
        border-radius: 20px;
    }
}

/* Sport detail V2 */
.sport-detail-tabs--v2 {
    top: var(--header-height);
    border-block: 1px solid rgba(17, 17, 17, 0.055);
    background: rgba(255, 255, 255, 0.76);
}

.sport-detail-tabs--v2 .sport-detail-tabs__inner {
    gap: 8px;
    padding-block: 10px;
}

.sport-detail-tabs--v2 a {
    min-height: 34px;
    border-color: transparent;
    background: transparent;
    color: rgba(17, 17, 17, 0.62);
}

.sport-detail-tabs--v2 a:hover {
    background: rgba(205, 53, 44, 0.045);
}

.sport-detail-heading--compact {
    margin-bottom: 22px;
}

.sport-detail-heading--compact h2 {
    font-size: clamp(1.75rem, 2.8vw, 2.7rem);
}

.sport-area-switcher {
    display: grid;
    gap: 22px;
}

.sport-area-switcher__nav {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 2px 8px;
    scrollbar-width: none;
}

.sport-area-switcher__nav::-webkit-scrollbar {
    display: none;
}

.sport-area-switcher__button {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(17, 17, 17, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: rgba(17, 17, 17, 0.68);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 680;
    cursor: pointer;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

.sport-area-switcher__button:hover,
.sport-area-switcher__button.is-active {
    transform: translateY(-1px);
    border-color: rgba(205, 53, 44, 0.22);
    background: rgba(205, 53, 44, 0.075);
    color: var(--color-primary);
    box-shadow: 0 12px 34px rgba(205, 53, 44, 0.09);
}

.sport-area-switcher__panels {
    display: grid;
}

.sport-area-panel {
    display: none;
    gap: 18px;
    opacity: 0;
    transform: translateY(8px);
}

.sport-area-panel.is-active {
    display: grid;
    animation: sport-area-fade 260ms ease forwards;
}

@keyframes sport-area-fade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sport-area-panel__header {
    display: grid;
    gap: 4px;
}

.sport-area-panel__header span {
    color: rgba(205, 53, 44, 0.72);
    font-size: 0.68rem;
    font-weight: 820;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sport-area-panel__header h3 {
    color: rgba(17, 17, 17, 0.9);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.sport-category-week-list {
    display: grid;
    gap: 16px;
}

.sport-week-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 26px;
    background:
        radial-gradient(circle at 0% 0%, rgba(205, 53, 44, 0.045), transparent 28%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.055);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.sport-week-card:hover {
    transform: translateY(-2px);
    border-color: rgba(205, 53, 44, 0.13);
    box-shadow: 0 26px 82px rgba(0, 0, 0, 0.075);
}

.sport-week-card__summary {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 18px;
}

.sport-week-card__summary h4 {
    color: rgba(17, 17, 17, 0.9);
    font-size: clamp(1.12rem, 1.6vw, 1.35rem);
    line-height: 1.1;
}

.sport-week-card__summary p {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
    color: rgba(17, 17, 17, 0.54);
    font-size: 0.88rem;
}

.sport-week-card__staff-mini {
    display: grid;
    gap: 3px;
    max-width: 260px;
    text-align: right;
}

.sport-week-card__staff-mini span {
    color: rgba(17, 17, 17, 0.44);
    font-size: 0.67rem;
    font-weight: 760;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.sport-week-card__staff-mini strong {
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.88rem;
    font-weight: 650;
}

.sport-week-grid {
    display: grid;
    grid-template-columns: repeat(var(--sport-week-cols), minmax(112px, 1fr));
    gap: 9px;
}

.sport-week-day {
    display: grid;
    align-content: start;
    min-height: 128px;
    padding: 10px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 18px;
    background: rgba(248, 248, 249, 0.86);
}

.sport-week-day.has-training {
    background: rgba(255, 255, 255, 0.98);
}

.sport-week-day h5 {
    margin-bottom: 10px;
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.76rem;
    font-weight: 780;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sport-week-day__blocks {
    display: grid;
    gap: 8px;
}

.sport-week-block {
    display: grid;
    gap: 3px;
    padding: 9px;
    border-left: 3px solid rgba(205, 53, 44, 0.72);
    border-radius: 12px;
    background: rgba(205, 53, 44, 0.055);
}

.sport-week-block strong {
    color: rgba(17, 17, 17, 0.86);
    font-size: 0.9rem;
    font-weight: 760;
}

.sport-week-block span,
.sport-week-day__empty {
    color: rgba(17, 17, 17, 0.5);
    font-size: 0.82rem;
}

.sport-staff-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.34fr);
    gap: 26px;
    align-items: start;
}

.sport-staff-groups,
.sport-staff-group {
    display: grid;
    gap: 18px;
}

.sport-staff-group h3 {
    color: rgba(17, 17, 17, 0.86);
    font-size: 1.18rem;
}

.sport-staff-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sport-staff-card {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.055);
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.sport-staff-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.07);
}

.sport-staff-card img,
.sport-staff-card__avatar {
    width: 62px;
    height: 62px;
    border-radius: 18px;
}

.sport-staff-card img {
    object-fit: cover;
}

.sport-staff-card__avatar {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(205, 53, 44, 0.95), rgba(17, 17, 17, 0.92));
    color: var(--color-white);
    font-weight: 850;
}

.sport-staff-card span {
    color: var(--color-primary);
    font-size: 0.7rem;
    font-weight: 790;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sport-staff-card h4 {
    margin-top: 3px;
    color: rgba(17, 17, 17, 0.88);
    font-size: 1rem;
}

.sport-staff-card p,
.sport-staff-card small {
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.86rem;
}

.sport-staff-card__contact {
    display: grid;
    gap: 2px;
    margin-top: 6px;
}

.sport-side-panel {
    display: grid;
    gap: 20px;
    padding: 20px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 58px rgba(0, 0, 0, 0.055);
}

.sport-side-panel section {
    display: grid;
    gap: 10px;
}

.sport-side-panel h3 {
    color: rgba(17, 17, 17, 0.86);
    font-size: 1rem;
}

.sport-side-panel p {
    color: var(--color-muted);
}

.sport-news-empty {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-height: 170px;
    padding: 32px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 26px;
    background:
        radial-gradient(circle at 50% 0%, rgba(205, 53, 44, 0.055), transparent 35%),
        rgba(248, 248, 249, 0.92);
    color: rgba(17, 17, 17, 0.62);
    text-align: center;
}

.sport-news-empty .material-symbols-rounded {
    color: var(--color-primary);
    font-size: 2.1rem;
}

@media (prefers-reduced-motion: reduce) {
    .sport-area-panel.is-active {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .sport-week-card,
    .sport-staff-card,
    .sport-area-switcher__button {
        transition: none;
    }
}

@media (max-width: 1120px) {
    .sport-staff-layout {
        grid-template-columns: 1fr;
    }

    .sport-week-grid {
        overflow-x: auto;
        padding-bottom: 8px;
        scrollbar-width: thin;
    }
}

@media (max-width: 760px) {
    .sport-week-card__summary {
        display: grid;
    }

    .sport-week-card__staff-mini {
        max-width: none;
        text-align: left;
    }

    .sport-week-grid {
        display: grid;
        grid-template-columns: 1fr;
        overflow: visible;
    }

    .sport-week-day {
        min-height: auto;
    }

    .sport-week-day:not(.has-training) {
        display: none;
    }

    .sport-staff-grid {
        grid-template-columns: 1fr;
    }
}
.sport-detail-tabs--v2 {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.sport-week-card {
    gap: 18px;
    box-shadow: 0 20px 72px rgba(0, 0, 0, 0.048);
    transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 240ms ease, border-color 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .sport-week-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 28px 86px rgba(0, 0, 0, 0.072);
    }
}

.sport-week-card__profes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.sport-week-card__profes > span {
    color: rgba(17, 17, 17, 0.46);
    font-size: 0.68rem;
    font-weight: 720;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.sport-week-card__profes-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sport-week-card__profes-list span {
    padding: 6px 10px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.64);
    font-size: 0.82rem;
    font-weight: 560;
}

.sport-staff-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
}

.sport-staff-card {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 13px;
    padding: 12px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 62px rgba(0, 0, 0, 0.05);
    transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 240ms ease, border-color 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .sport-staff-card:hover {
        transform: translateY(-3px);
        border-color: rgba(205, 53, 44, 0.13);
        box-shadow: 0 28px 82px rgba(0, 0, 0, 0.074);
    }
}

.sport-staff-card__media {
    display: grid;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(205, 53, 44, 0.95), rgba(17, 17, 17, 0.92));
}

.sport-staff-card .sport-staff-card__media img,
.sport-staff-card .sport-staff-card__media .sport-staff-card__avatar {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

.sport-staff-card .sport-staff-card__media img {
    object-fit: cover;
    transition: transform 260ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
    .sport-staff-card:hover .sport-staff-card__media img {
        transform: scale(1.025);
    }
}

.sport-staff-card .sport-staff-card__media .sport-staff-card__avatar {
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 760;
}

.sport-staff-card__body {
    display: grid;
    gap: 4px;
    padding: 0 4px 4px;
}

.sport-staff-card__body h4 {
    margin-top: 0;
    line-height: 1.15;
}

.sport-side-panel {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.sport-side-panel section {
    padding: 18px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 18px 58px rgba(0, 0, 0, 0.038);
}

.sport-info-list li {
    border-radius: 16px;
    background: rgba(248, 248, 249, 0.74);
}

@media (prefers-reduced-motion: reduce) {
    .sport-staff-card .sport-staff-card__media img,
    .sport-week-card,
    .sport-staff-card {
        transition: none;
    }
}

@media (max-width: 760px) {
    .sport-week-card__profes {
        align-items: flex-start;
    }

    .sport-staff-layout {
        gap: 20px;
    }
}
/* Sport detail schedule category switcher */
.sport-category-tabs {
    display: grid;
    gap: 16px;
}

.sport-category-tabs__nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scrollbar-width: none;
}

.sport-category-tabs__nav::-webkit-scrollbar {
    display: none;
}

.sport-category-tabs__button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.58);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 620;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.025);
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.sport-category-tabs__button:active {
    transform: scale(0.98);
}

.sport-category-tabs__button.is-active {
    border-color: rgba(205, 53, 44, 0.2);
    background: rgba(205, 53, 44, 0.07);
    color: rgba(205, 53, 44, 0.95);
    box-shadow: 0 12px 34px rgba(205, 53, 44, 0.08);
}

@media (hover: hover) and (pointer: fine) {
    .sport-category-tabs__button:hover {
        transform: translateY(-1px);
        border-color: rgba(205, 53, 44, 0.16);
        color: rgba(205, 53, 44, 0.88);
    }
}

.sport-category-tabs__panels {
    display: grid;
}

.sport-category-panel {
    display: none;
    opacity: 0;
    transform: translateY(8px) scale(0.992);
}

.sport-category-panel.is-active {
    display: grid;
    opacity: 1;
    transform: translateY(0) scale(1);
    animation: sport-category-panel-in 240ms cubic-bezier(0.23, 1, 0.32, 1) both;
}

.sport-detail-empty--inline {
    display: grid;
    place-items: center;
    min-height: 132px;
    padding: 22px;
    border: 1px dashed rgba(17, 17, 17, 0.11);
    border-radius: 20px;
    background: rgba(248, 248, 249, 0.72);
    color: rgba(17, 17, 17, 0.52);
    font-size: 0.92rem;
    text-align: center;
}

@keyframes sport-category-panel-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.992);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sport-category-panel.is-active {
        animation: none;
    }

    .sport-category-tabs__button,
    .sport-category-panel {
        transition: none;
    }
}

@media (max-width: 760px) {
    .sport-category-tabs {
        gap: 12px;
    }

    .sport-category-tabs__button {
        min-height: 34px;
        padding-inline: 12px;
        font-size: 0.82rem;
    }

    .sport-detail-empty--inline {
        min-height: 104px;
        padding: 18px;
    }
}
/* Sport detail schedule module polish */
.sport-detail-section--schedule {
    padding-block: clamp(44px, 6vw, 76px);
    background:
        radial-gradient(circle at 12% 0%, rgba(205, 53, 44, 0.055), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
}

.sport-schedule-module {
    display: grid;
    gap: 18px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: clamp(26px, 3vw, 34px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.76)),
        radial-gradient(circle at 18% 4%, rgba(205, 53, 44, 0.06), transparent 30%);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.055);
}

.sport-schedule-module__header {
    margin-bottom: 2px;
    max-width: 760px;
}

.sport-schedule-module .sport-detail-heading--compact h2 {
    font-size: clamp(1.55rem, 2.5vw, 2.35rem);
}

.sport-schedule-module .sport-detail-heading--compact p {
    max-width: 52ch;
}

.sport-schedule-module .sport-area-switcher {
    gap: 16px;
}

.sport-schedule-module .sport-area-switcher__nav,
.sport-schedule-module .sport-category-tabs__nav {
    padding: 3px 2px 6px;
}

.sport-schedule-module .sport-area-switcher__button,
.sport-schedule-module .sport-category-tabs__button {
    box-shadow: none;
}

.sport-schedule-module .sport-area-switcher__button {
    min-height: 38px;
    background: rgba(248, 248, 249, 0.74);
}

.sport-schedule-module .sport-area-panel {
    gap: 14px;
}

.sport-schedule-module .sport-area-panel__header {
    padding: 2px 2px 0;
}

.sport-schedule-module .sport-area-panel__header span {
    color: rgba(17, 17, 17, 0.42);
    font-weight: 720;
}

.sport-schedule-module .sport-area-panel__header h3 {
    font-size: clamp(1.16rem, 1.8vw, 1.55rem);
    font-weight: 720;
}

.sport-schedule-module .sport-category-tabs {
    gap: 12px;
}

.sport-schedule-module .sport-category-tabs__button {
    min-height: 34px;
    background: rgba(255, 255, 255, 0.66);
    font-size: 0.84rem;
}

.sport-schedule-module .sport-week-card {
    gap: 14px;
    padding: clamp(14px, 2vw, 18px);
    border-color: rgba(17, 17, 17, 0.065);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 16px 48px rgba(0, 0, 0, 0.04);
}

.sport-schedule-module .sport-week-card:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84), 0 22px 62px rgba(0, 0, 0, 0.055);
}

.sport-schedule-module .sport-week-card__summary {
    padding-bottom: 2px;
}

.sport-schedule-module .sport-week-card__summary h4 {
    font-size: clamp(1.04rem, 1.35vw, 1.22rem);
    font-weight: 720;
}

.sport-schedule-module .sport-week-card__summary p {
    margin-top: 5px;
    font-size: 0.84rem;
}

.sport-schedule-module .sport-week-grid {
    grid-template-columns: repeat(var(--sport-week-cols), minmax(0, 1fr));
    gap: 8px;
}

.sport-schedule-module .sport-week-day {
    min-height: 116px;
    padding: 10px;
    border-color: rgba(17, 17, 17, 0.055);
    border-radius: 16px;
    background: rgba(248, 248, 249, 0.74);
}

.sport-schedule-module .sport-week-day.has-training {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(253, 253, 253, 0.92));
}

.sport-schedule-module .sport-week-day h5 {
    margin-bottom: 8px;
    color: rgba(17, 17, 17, 0.5);
    font-size: 0.7rem;
    font-weight: 720;
}

.sport-schedule-module .sport-week-block {
    gap: 2px;
    padding: 8px 9px;
    border-left: 0;
    border-radius: 13px;
    background: rgba(205, 53, 44, 0.055);
    box-shadow: inset 0 0 0 1px rgba(205, 53, 44, 0.08);
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), background 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .sport-schedule-module .sport-week-block:hover {
        transform: translateY(-1px);
        background: rgba(205, 53, 44, 0.072);
        box-shadow: inset 0 0 0 1px rgba(205, 53, 44, 0.12);
    }
}

.sport-schedule-module .sport-week-block strong {
    color: rgba(17, 17, 17, 0.82);
    font-size: 0.86rem;
    font-weight: 680;
}

.sport-schedule-module .sport-week-block span,
.sport-schedule-module .sport-week-day__empty {
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.78rem;
}

.sport-schedule-module .sport-week-card__profes {
    margin-top: 0;
    padding-top: 12px;
    border-top-color: rgba(17, 17, 17, 0.045);
}

.sport-schedule-module .sport-week-card__profes > span {
    color: rgba(17, 17, 17, 0.4);
    font-weight: 660;
}

.sport-schedule-module .sport-week-card__profes-list span {
    background: rgba(248, 248, 249, 0.78);
    color: rgba(17, 17, 17, 0.58);
    font-weight: 520;
}

@media (max-width: 1120px) {
    .sport-schedule-module .sport-week-grid {
        grid-template-columns: repeat(var(--sport-week-cols), minmax(104px, 1fr));
    }
}

@media (max-width: 760px) {
    .sport-detail-section--schedule {
        padding-block: 36px 46px;
    }

    .sport-schedule-module {
        gap: 14px;
        padding: 16px;
        border-radius: 24px;
    }

    .sport-schedule-module .sport-week-grid {
        grid-template-columns: 1fr;
        gap: 8px;
        overflow: visible;
    }

    .sport-schedule-module .sport-week-day {
        min-height: auto;
    }

    .sport-schedule-module .sport-week-day:not(.has-training) {
        display: none;
    }

    .sport-schedule-module .sport-week-card {
        border-radius: 20px;
    }
}
/* Sport detail hierarchy and unified staff */
#noticias.sport-detail-section {
    padding-block: clamp(48px, 6vw, 78px);
    background: #ffffff;
}

#noticias + .sport-detail-section--schedule {
    padding-top: clamp(44px, 5vw, 68px);
}

.sport-staff-grid--unified {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
    gap: 14px;
}

.sport-staff-card--unified {
    gap: 11px;
    padding: 10px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 52px rgba(0, 0, 0, 0.045);
}

.sport-staff-card--unified.is-coordinator {
    border-color: rgba(205, 53, 44, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.86)),
        radial-gradient(circle at 20% 0%, rgba(205, 53, 44, 0.08), transparent 34%);
}

.sport-staff-card--unified .sport-staff-card__media {
    aspect-ratio: 1 / 1;
    border-radius: 18px;
}

.sport-staff-card--unified .sport-staff-card__body {
    gap: 3px;
    padding: 0 3px 3px;
}

.sport-staff-card--unified .sport-staff-card__body span {
    font-size: 0.66rem;
    font-weight: 690;
    letter-spacing: 0.075em;
}

.sport-staff-card--unified .sport-staff-card__body h4 {
    font-size: 0.98rem;
    font-weight: 720;
}

.sport-staff-card--unified .sport-staff-card__body p,
.sport-staff-card--unified .sport-staff-card__body small {
    font-size: 0.8rem;
    line-height: 1.35;
}

.sport-locations-strip,
.sport-social-strip {
    display: grid;
    gap: 12px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(17, 17, 17, 0.06);
}

.sport-locations-strip h3,
.sport-social-strip h3 {
    color: rgba(17, 17, 17, 0.78);
    font-size: 0.94rem;
    font-weight: 720;
}

.sport-info-list--inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sport-info-list--inline li {
    min-width: min(240px, 100%);
    padding: 12px 14px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 16px;
    background: rgba(248, 248, 249, 0.76);
    box-shadow: none;
}

@media (min-width: 1180px) {
    .sport-staff-grid--unified {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .sport-staff-grid--unified {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .sport-staff-grid--unified {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sport-staff-card--unified {
        border-radius: 20px;
    }
}

@media (max-width: 420px) {
    .sport-staff-grid--unified {
        grid-template-columns: 1fr;
    }
}
/* Sport detail staff meta polish */
.sport-staff-meta {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 18px;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(17, 17, 17, 0.055);
}

.sport-staff-meta > aside {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
}

.sport-staff-meta h3 {
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.92rem;
    font-weight: 720;
}

.sport-location-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
    list-style: none;
}

.sport-location-card {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-height: 68px;
    padding: 12px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.032);
    transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1), border-color 200ms ease, box-shadow 200ms ease;
}

.sport-location-card .material-symbols-rounded {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 12px;
    background: rgba(205, 53, 44, 0.075);
    color: rgba(205, 53, 44, 0.86);
    font-size: 1.05rem;
}

.sport-location-card strong {
    display: block;
    color: rgba(17, 17, 17, 0.78);
    font-size: 0.9rem;
    font-weight: 680;
    line-height: 1.25;
}

.sport-location-card small {
    display: block;
    margin-top: 3px;
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.78rem;
    line-height: 1.35;
}

.sport-socials--logos {
    gap: 10px;
}

.sport-socials--logos a {
    display: grid;
    place-items: center;
    min-width: 92px;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.032);
    transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1), border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.sport-socials--logos a img {
    display: block;
    width: auto;
    max-width: 108px;
    max-height: 34px;
    object-fit: contain;
}

.sport-socials--logos a span {
    color: rgba(17, 17, 17, 0.66);
    font-size: 0.84rem;
    font-weight: 650;
}

@media (hover: hover) and (pointer: fine) {
    .sport-location-card:hover,
    .sport-socials--logos a:hover {
        transform: translateY(-2px);
        border-color: rgba(205, 53, 44, 0.14);
        box-shadow: 0 18px 54px rgba(0, 0, 0, 0.048);
    }

    .sport-socials--logos a:hover {
        background: rgba(255, 255, 255, 0.92);
    }
}

@media (max-width: 860px) {
    .sport-staff-meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .sport-location-list {
        grid-template-columns: 1fr;
    }

    .sport-socials--logos a {
        min-width: 84px;
        min-height: 54px;
    }
}
/* Sport detail staff meta stacked refinement */
.sport-staff-meta {
    grid-template-columns: 1fr;
    gap: 22px;
}

.sport-socials--logos {
    align-items: center;
    gap: 16px;
}

.sport-socials--logos a {
    display: inline-grid;
    place-items: center;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), opacity 180ms ease;
}

.sport-socials--logos a img {
    max-width: 132px;
    max-height: 54px;
    object-fit: contain;
}

.sport-socials--logos a span {
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 17, 17, 0.62);
    font-size: 0.84rem;
    font-weight: 650;
}

@media (hover: hover) and (pointer: fine) {
    .sport-socials--logos a:hover {
        transform: translateY(-2px) scale(1.015);
        background: transparent;
        box-shadow: none;
        opacity: 0.88;
    }
}

@media (max-width: 520px) {
    .sport-socials--logos {
        gap: 12px;
    }

    .sport-socials--logos a img {
        max-width: 112px;
        max-height: 46px;
    }
}
/* Sport detail final premium polish */
:root {
    --sport-detail-ease: cubic-bezier(0.23, 1, 0.32, 1);
    --sport-detail-ease-soft: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.sport-detail-section {
    scroll-margin-top: calc(var(--header-height) + 74px);
}

.sport-detail-tabs--v2 {
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.035);
}

.sport-detail-tabs--v2 a {
    position: relative;
    isolation: isolate;
    transition: color 180ms ease, background 180ms ease, transform 180ms var(--sport-detail-ease), box-shadow 180ms ease;
}

.sport-detail-tabs--v2 a::after {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: var(--color-primary);
    opacity: 0;
    transform: scaleX(0.55);
    transition: opacity 180ms ease, transform 180ms var(--sport-detail-ease);
}

.sport-detail-tabs--v2 a.is-active,
.sport-detail-tabs--v2 a[aria-current="true"] {
    background: rgba(205, 53, 44, 0.06);
    color: var(--color-primary);
    box-shadow: 0 10px 28px rgba(205, 53, 44, 0.06);
}

.sport-detail-tabs--v2 a.is-active::after,
.sport-detail-tabs--v2 a[aria-current="true"]::after {
    opacity: 1;
    transform: scaleX(1);
}

.sport-detail-tabs--v2 a:active,
.sport-area-switcher__button:active,
.sport-category-tabs__button:active {
    transform: scale(0.98);
}

.sport-detail-section > .container,
.sport-schedule-module,
.sport-news-empty,
.sport-staff-grid--unified,
.sport-staff-meta {
    animation: sport-detail-content-in 460ms var(--sport-detail-ease) both;
}

#noticias .container {
    animation-delay: 40ms;
}

.sport-schedule-module {
    animation-delay: 90ms;
}

#staff .container {
    animation-delay: 120ms;
}

.sport-schedule-module {
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.052), 0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.sport-schedule-module .sport-area-switcher__button.is-active,
.sport-schedule-module .sport-category-tabs__button.is-active {
    box-shadow: 0 12px 32px rgba(205, 53, 44, 0.08), 0 1px 0 rgba(255, 255, 255, 0.72) inset;
}

.sport-schedule-module .sport-category-panel.is-active {
    transform-origin: top center;
}

.sport-schedule-module .sport-week-day.has-training {
    border-color: rgba(205, 53, 44, 0.09);
}

.sport-schedule-module .sport-week-block {
    min-height: 48px;
}

.sport-schedule-module .sport-week-block strong {
    letter-spacing: 0.005em;
}

.sport-staff-card--unified {
    border: 1px solid rgba(17, 17, 17, 0.06);
    transition: transform 220ms var(--sport-detail-ease), box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.sport-staff-card--unified .sport-staff-card__media {
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset;
}

.sport-staff-card--unified .sport-staff-card__media img {
    filter: saturate(0.98) contrast(1.01);
}

.sport-staff-card--unified.is-coordinator .sport-staff-card__body span {
    color: rgba(205, 53, 44, 0.96);
}

@media (hover: hover) and (pointer: fine) {
    .sport-staff-card--unified:hover {
        transform: translateY(-4px);
        border-color: rgba(205, 53, 44, 0.13);
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 26px 78px rgba(0, 0, 0, 0.07);
    }
}

.sport-news-empty {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    border-color: rgba(17, 17, 17, 0.06);
    background:
        radial-gradient(circle at 50% 0%, rgba(205, 53, 44, 0.07), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 248, 249, 0.92));
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.045);
}

.sport-news-empty::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(17, 17, 17, 0.045);
    border-radius: 20px;
    pointer-events: none;
}

.sport-news-empty p {
    max-width: 360px;
    color: rgba(17, 17, 17, 0.58);
    font-weight: 560;
}

.sport-location-card {
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.026);
}

.sport-socials--logos a {
    will-change: transform;
}

@keyframes sport-detail-content-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.996);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sport-detail-section > .container,
    .sport-schedule-module,
    .sport-news-empty,
    .sport-staff-grid--unified,
    .sport-staff-meta {
        animation: none;
    }

    .sport-detail-tabs--v2 a,
    .sport-detail-tabs--v2 a::after,
    .sport-staff-card--unified,
    .sport-location-card,
    .sport-socials--logos a {
        transition: none;
    }
}

@media (max-width: 760px) {
    .sport-detail-section {
        scroll-margin-top: calc(var(--header-height) + 60px);
    }

    .sport-detail-tabs--v2 .sport-detail-tabs__inner {
        padding-block: 8px;
    }

    .sport-detail-tabs--v2 a::after {
        left: 11px;
        right: 11px;
    }
}

/* Noticias V1 */
.news-index-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(88px, 12vw, 142px) 0 clamp(44px, 7vw, 78px);
    background:
        radial-gradient(circle at 82% 14%, rgba(205, 53, 44, 0.10), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
}

.news-index-hero .container {
    max-width: 860px;
}

.news-index-hero h1 {
    max-width: 760px;
    margin: 10px 0 14px;
    color: var(--color-secondary);
    font-size: clamp(2.3rem, 5vw, 4.4rem);
    font-weight: 760;
    letter-spacing: -0.02em;
    line-height: 0.95;
}

.news-index-hero p {
    max-width: 620px;
    margin: 0;
    color: rgba(17, 17, 17, 0.62);
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    line-height: 1.55;
}

.news-index {
    padding-top: clamp(34px, 5vw, 56px);
    background: #f7f7f8;
}

.news-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(170px, 220px) minmax(170px, 220px) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 24px;
    padding: 12px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.045);
    backdrop-filter: blur(14px);
}

.news-filters__search {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 999px;
    background: #fff;
    color: rgba(17, 17, 17, 0.42);
}

.news-filters__search .material-symbols-rounded {
    font-size: 1.12rem;
}

.news-filters input,
.news-filters select {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 999px;
    background: #fff;
    color: rgba(17, 17, 17, 0.74);
    font: inherit;
    font-size: 0.9rem;
}

.news-filters input {
    min-height: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

.news-filters select {
    padding: 0 13px;
}

.news-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 24px;
}

.news-active-filters span,
.news-active-filters a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: rgba(17, 17, 17, 0.6);
    font-size: 0.82rem;
    font-weight: 580;
}

.news-active-filters a {
    color: var(--color-primary);
}

.news-index-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 34px;
}

.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: rgba(17, 17, 17, 0.66);
    font-size: 0.88rem;
    font-weight: 620;
}

.pagination a {
    color: var(--color-primary);
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms ease;
}

.news-empty-state {
    display: grid;
    min-height: 240px;
    place-items: center;
    gap: 12px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 28px;
    background: #fff;
    color: rgba(17, 17, 17, 0.58);
    text-align: center;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.045);
}

.news-empty-state .material-symbols-rounded {
    color: rgba(205, 53, 44, 0.72);
    font-size: 2rem;
}

.news-preview-notice {
    background: var(--color-secondary);
    color: var(--color-white);
}

.news-preview-notice__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
}

.news-preview-notice p {
    margin: 0;
}

.news-preview-notice a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 560px) {
    .news-preview-notice__content {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

.news-detail-hero {
    padding: clamp(86px, 11vw, 132px) 0 clamp(42px, 6vw, 70px);
    background:
        radial-gradient(circle at 86% 16%, rgba(205, 53, 44, 0.11), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
}

.news-detail-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.news-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
    color: rgba(17, 17, 17, 0.5);
    font-size: 0.78rem;
    font-weight: 640;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.news-detail__meta span {
    color: var(--color-primary);
}

.news-detail__meta time::before {
    content: "\2022";
    margin: 0 10px;
    color: rgba(17, 17, 17, 0.28);
}

.news-detail-hero h1 {
    margin: 14px 0 18px;
    color: var(--color-secondary);
    font-size: clamp(2rem, 4.5vw, 4rem);
    font-weight: 760;
    letter-spacing: -0.018em;
    line-height: 1;
}

.news-detail-hero__content > p {
    max-width: 640px;
    margin: 0;
    color: rgba(17, 17, 17, 0.64);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.58;
}

.news-detail__sports {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.news-detail__sports a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid rgba(205, 53, 44, 0.14);
    border-radius: 999px;
    background: rgba(205, 53, 44, 0.055);
    color: var(--color-primary);
    font-size: 0.82rem;
    font-weight: 640;
}

.news-detail-gallery {
    display: block;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.66);
    box-shadow: 0 32px 96px rgba(0, 0, 0, 0.13);
}

.news-detail-gallery__item {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    margin: 0;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(17, 17, 17, 0.94), rgba(205, 53, 44, 0.86));
}

.news-detail-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-detail-gallery__item figcaption {
    position: absolute;
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.52);
    color: #fff;
    font-size: 0.78rem;
    backdrop-filter: blur(10px);
}

.news-detail-gallery--fallback {
    display: grid;
    min-height: 320px;
    place-items: center;
    color: rgba(255, 255, 255, 0.92);
    background: linear-gradient(135deg, #111111, #CD352C);
}

.news-detail-gallery--fallback .material-symbols-rounded {
    font-size: 2.6rem;
}

.news-detail-body {
    background: #f8f8f9;
}

.news-detail-body__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(28px, 4vw, 54px);
    align-items: start;
}

.news-detail-copy {
    max-width: 780px;
    color: rgba(17, 17, 17, 0.74);
    font-size: 1.04rem;
    line-height: 1.78;
}

.news-detail-copy > .rt-line-height--compact { line-height: 1.25; }
.news-detail-copy > .rt-line-height--normal { line-height: 1.45; }
.news-detail-copy > .rt-line-height--wide { line-height: 1.65; }
.news-detail-copy > .rt-line-height--very-wide { line-height: 1.85; }

.news-detail-copy p:first-child {
    margin-top: 0;
}

.news-detail-copy ul,
.news-detail-copy ol,
.news-detail-section-block__text ul,
.news-detail-section-block__text ol {
    margin: 0 0 clamp(.35rem, .45em, .6rem);
    list-style-position: outside;
    padding-left: 1.5em;
}

.news-detail-copy ul,
.news-detail-section-block__text ul { list-style-type: disc; }

.news-detail-copy ol,
.news-detail-section-block__text ol { list-style-type: decimal; }

.news-detail-copy ol li[data-list="bullet"],
.news-detail-section-block__text ol li[data-list="bullet"] { list-style-type: disc; }

.news-detail-copy ol li[data-list="ordered"],
.news-detail-section-block__text ol li[data-list="ordered"] { list-style-type: decimal; }

.news-detail-copy li,
.news-detail-section-block__text li {
    padding-left: .2em;
}

.news-detail-copy .rt-color-dark,
.news-detail-section-block__text .rt-color-dark {
    color: var(--color-text, #151313);
}

.news-detail-copy .rt-color-red,
.news-detail-section-block__text .rt-color-red {
    color: var(--color-brand, #cd352c);
}

.news-detail-copy .rt-color-muted,
.news-detail-section-block__text .rt-color-muted {
    color: var(--color-text-muted, #68615f);
}

.news-detail-copy .rt-color-black,
.news-detail-section-block__text .rt-color-black { color: #151313; }
.news-detail-copy .rt-color-gray-700,
.news-detail-section-block__text .rt-color-gray-700 { color: #3f3b39; }
.news-detail-copy .rt-color-gray-500,
.news-detail-section-block__text .rt-color-gray-500 { color: #68615f; }
.news-detail-copy .rt-color-gray-400,
.news-detail-section-block__text .rt-color-gray-400 { color: #807873; }
.news-detail-copy .rt-color-red-dark,
.news-detail-section-block__text .rt-color-red-dark { color: #8f211e; }
.news-detail-copy .rt-color-red-medium,
.news-detail-section-block__text .rt-color-red-medium { color: #b7352f; }
.news-detail-copy .rt-color-red-light,
.news-detail-section-block__text .rt-color-red-light { color: #b84e48; }
.news-detail-copy .rt-color-orange,
.news-detail-section-block__text .rt-color-orange { color: #b24f0b; }
.news-detail-copy .rt-color-amber,
.news-detail-section-block__text .rt-color-amber { color: #9a6200; }
.news-detail-copy .rt-color-yellow-dark,
.news-detail-section-block__text .rt-color-yellow-dark { color: #806000; }
.news-detail-copy .rt-color-yellow,
.news-detail-section-block__text .rt-color-yellow { color: #756000; }
.news-detail-copy .rt-color-green-dark,
.news-detail-section-block__text .rt-color-green-dark { color: #1f5b38; }
.news-detail-copy .rt-color-green,
.news-detail-section-block__text .rt-color-green { color: #2f754a; }
.news-detail-copy .rt-color-green-light,
.news-detail-section-block__text .rt-color-green-light { color: #43804d; }
.news-detail-copy .rt-color-teal,
.news-detail-section-block__text .rt-color-teal { color: #176b70; }
.news-detail-copy .rt-color-cyan,
.news-detail-section-block__text .rt-color-cyan { color: #176c82; }
.news-detail-copy .rt-color-blue,
.news-detail-section-block__text .rt-color-blue { color: #2b64a3; }
.news-detail-copy .rt-color-blue-dark,
.news-detail-section-block__text .rt-color-blue-dark { color: #184b83; }
.news-detail-copy .rt-color-blue-deep,
.news-detail-section-block__text .rt-color-blue-deep { color: #123a66; }
.news-detail-copy .rt-color-violet,
.news-detail-section-block__text .rt-color-violet { color: #604097; }
.news-detail-copy .rt-color-purple,
.news-detail-section-block__text .rt-color-purple { color: #723b88; }
.news-detail-copy .rt-color-pink,
.news-detail-section-block__text .rt-color-pink { color: #9e3c66; }
.news-detail-copy .rt-color-bordo,
.news-detail-section-block__text .rt-color-bordo { color: #6e1d2a; }

.news-detail-copy .rt-align-left,
.news-detail-copy .rt-align-center,
.news-detail-copy .rt-align-right,
.news-detail-section-block__text .rt-align-left,
.news-detail-section-block__text .rt-align-center,
.news-detail-section-block__text .rt-align-right {
    display: block;
}

.news-detail-copy .rt-align-left,
.news-detail-section-block__text .rt-align-left {
    text-align: left;
}

.news-detail-copy .rt-align-center,
.news-detail-section-block__text .rt-align-center {
    text-align: center;
}

.news-detail-copy .rt-align-right,
.news-detail-section-block__text .rt-align-right {
    text-align: right;
}

.news-attachments,
.news-related {
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.045);
}

.news-attachments {
    margin-top: 34px;
    padding: 22px;
}

.news-attachments h2,
.news-related h2 {
    margin: 0 0 14px;
    color: var(--color-secondary);
    font-size: 1rem;
    font-weight: 720;
}

.news-attachments ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-attachments a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary);
    font-weight: 640;
}

.news-related {
    position: sticky;
    top: calc(var(--header-height) + 28px);
    padding: 18px;
}

.news-related__list {
    display: grid;
    gap: 10px;
}

.news-related__list a {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid rgba(17, 17, 17, 0.055);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    color: inherit;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms ease, box-shadow 180ms ease;
}

.news-related__list span {
    color: var(--color-primary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.news-related__list strong {
    color: var(--color-secondary);
    font-size: 0.94rem;
    line-height: 1.25;
}

.news-related__list time {
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.78rem;
    font-weight: 560;
}

@media (hover: hover) and (pointer: fine) {
    .pagination a:hover,
    .news-related__list a:hover {
        transform: translateY(-2px);
        border-color: rgba(205, 53, 44, 0.14);
        box-shadow: 0 16px 42px rgba(0, 0, 0, 0.055);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pagination a,
    .news-related__list a {
        transition: none;
    }
}

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

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

    .news-detail-hero__grid,
    .news-detail-body__grid {
        grid-template-columns: 1fr;
    }

    .news-related {
        position: static;
    }
}

@media (max-width: 640px) {
    .news-filters,
    .news-index-grid {
        grid-template-columns: 1fr;
    }

    .news-filters {
        border-radius: 20px;
    }

    .news-detail-gallery {
        border-radius: 22px;
    }

    .news-detail-gallery__item {
        border-radius: 18px;
    }
}

/* News detail editorial redesign */
.news-detail--editorial {
    background:
        radial-gradient(circle at 88% 4%, rgba(205, 53, 44, 0.055), transparent 26%),
        linear-gradient(180deg, #fbfbfc 0%, #f5f5f6 100%);
}

.news-detail-shell {
    padding: clamp(32px, 4vw, 64px) 0 clamp(56px, 8vw, 96px);
}

.news-detail-shell .container {
    width: min(100% - 40px, 1440px);
}

.news-detail-shell__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(300px, 25vw, 380px);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 14px;
    align-items: start;
}

.news-detail-gallery__item [data-news-image-fallback],
.news-detail-section-block__media [data-news-image-fallback] {
    display: grid;
    width: 100%;
    min-height: 100%;
    place-items: center;
    color: var(--color-white);
    font-size: 2rem;
}

.news-detail-back {
    display: inline-flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    width: fit-content;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.72rem;
    font-weight: 780;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    transition: color 180ms ease;
}

.news-detail-back__arrow {
    color: var(--color-brand);
    font-size: 1rem;
    line-height: 1;
    transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.news-detail-back:hover {
    color: var(--color-brand);
}

.news-detail-back:hover .news-detail-back__arrow {
    transform: translateX(-3px);
}

.news-detail-back:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 5px;
}

.news-detail-main {
    min-width: 0;
}

.news-detail-gallery--editorial {
    width: 100%;
    margin: 0 0 clamp(26px, 4vw, 42px);
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 28px;
    background: #111;
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.09);
    transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 240ms ease;
}

.news-detail-gallery--editorial .news-detail-gallery__item {
    aspect-ratio: 16 / 9;
    border-radius: 27px;
}

.news-detail-gallery--editorial .news-detail-gallery__item img {
    transform: scale(1.001);
    transition: transform 360ms cubic-bezier(0.23, 1, 0.32, 1);
}

.news-detail-gallery-additional {
    display: grid;
    gap: 16px;
    max-width: 760px;
    margin-top: clamp(40px, 6vw, 68px);
}

.news-detail-gallery-additional__eyebrow {
    color: var(--color-brand);
    font-size: 0.7rem;
    font-weight: 820;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.news-detail-gallery--additional {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 2.2vw, 24px);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.news-detail-gallery--additional-single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 680px;
}

.news-detail-gallery--additional .news-detail-gallery__item {
    aspect-ratio: 4 / 3;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.08);
}

.news-detail-gallery--additional .news-detail-gallery__item img {
    transition: transform 360ms cubic-bezier(0.23, 1, 0.32, 1);
}

.news-detail-gallery-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 16px;
}

.news-detail-gallery-controls__button {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 50%;
    background: transparent;
    color: var(--color-secondary);
    font: inherit;
    font-size: 1.05rem;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.news-detail-gallery-controls__button:hover:not(:disabled) {
    border-color: var(--color-brand);
    background: var(--color-brand);
    color: #fff;
}

.news-detail-gallery-controls__button:disabled {
    cursor: default;
    opacity: 0.34;
}

.news-detail-gallery-controls__button:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 4px;
}

.news-detail-gallery-controls__counter {
    min-width: 52px;
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .news-detail-gallery--additional .news-detail-gallery__item:hover img {
        transform: scale(1.018);
    }
}

.news-detail-gallery--editorial.news-detail-gallery--fallback {
    min-height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

.news-detail-header {
    max-width: 920px;
    margin-bottom: clamp(28px, 4vw, 44px);
}

.news-detail-header h1 {
    max-width: 960px;
    margin: 14px 0 16px;
    color: var(--color-secondary);
    font-size: clamp(2.15rem, 5.4vw, 5.2rem);
    font-weight: 760;
    letter-spacing: -0.028em;
    line-height: 0.98;
}

.news-detail-header > p {
    max-width: 840px;
    margin: 0;
    color: rgba(17, 17, 17, 0.66);
    font-size: clamp(1.05rem, 1.55vw, 1.32rem);
    font-weight: 430;
    line-height: 1.55;
}

.news-detail--editorial .news-detail-copy {
    max-width: 760px;
    color: rgba(17, 17, 17, 0.76);
    font-size: clamp(1.01rem, 1.08vw, 1.1rem);
    line-height: 1.86;
}

.news-detail--editorial .news-detail-copy p {
    margin: 0 0 clamp(.35rem, .45em, .55rem);
}

.news-detail--editorial .news-detail-copy p:first-child {
    margin-top: 0;
}

.news-detail--editorial .news-attachments {
    max-width: 820px;
    margin-top: 34px;
    border-radius: 22px;
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.04);
}

.news-detail-socials {
    display: flex;
    max-width: 760px;
    margin-top: clamp(48px, 7vw, 84px);
    padding-top: 22px;
    border-top: 1px solid rgba(17, 17, 17, 0.1);
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.news-detail-socials__intro {
    display: grid;
    gap: 7px;
}

.news-detail-socials__intro > span {
    color: var(--color-brand);
    font-size: 0.7rem;
    font-weight: 820;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.news-detail-socials__intro p {
    max-width: 300px;
    margin: 0;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.9rem;
    line-height: 1.45;
}

.news-detail-socials__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px 18px;
}

.news-detail-socials__links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--color-secondary);
    font-size: 0.82rem;
    font-weight: 700;
    transition: color 180ms ease, transform 180ms ease;
}

.news-detail-socials__links a:hover {
    color: var(--color-brand);
    transform: translateY(-1px);
}

.news-detail-socials__links a:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 5px;
}

.news-detail-socials__links img,
.news-detail-socials__links .material-symbols-rounded {
    width: 22px;
    height: 22px;
    object-fit: contain;
    color: var(--color-brand);
    font-size: 1.15rem;
}

.news-related--editorial {
    position: sticky;
    top: calc(var(--header-height) + 26px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.news-related--editorial h2 {
    margin: 0 0 14px;
    color: var(--color-brand);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.news-related__list--cards {
    display: grid;
    gap: 12px;
}

.news-related__list--cards .news-related-card {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    min-height: 116px;
    padding: 10px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
    color: inherit;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.035);
    transition: transform 220ms cubic-bezier(0.23, 1, 0.32, 1), border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.news-related-card__media {
    display: grid;
    overflow: hidden;
    place-items: center;
    min-height: 96px;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(17, 17, 17, 0.94), rgba(205, 53, 44, 0.88));
    color: rgba(255, 255, 255, 0.88);
}

.news-related-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.news-related-card__media .material-symbols-rounded {
    font-size: 1.55rem;
}

.news-related-card__body {
    display: grid;
    align-content: start;
    min-width: 0;
    padding: 2px 2px 2px 0;
}

.news-related-card__meta {
    display: flex;
    align-items: center;
    min-width: 0;
    margin-bottom: 7px;
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.news-related-card__meta span {
    overflow: hidden;
    color: var(--color-primary);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-related-card__meta time::before {
    content: "\2022";
    margin: 0 7px;
    color: rgba(17, 17, 17, 0.28);
}

.news-related-card strong {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: var(--color-secondary);
    font-size: 0.95rem;
    font-weight: 680;
    line-height: 1.22;
}

.news-related-card small {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    align-self: end;
    width: fit-content;
    margin-top: 11px;
    color: rgba(205, 53, 44, 0.84);
    font-size: 0.78rem;
    font-weight: 650;
}

.news-related-card small .material-symbols-rounded {
    font-size: 0.92rem;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
    .news-detail-gallery--editorial:hover {
        transform: translateY(-2px);
        box-shadow: 0 34px 96px rgba(0, 0, 0, 0.12);
    }

    .news-detail-gallery--editorial:hover .news-detail-gallery__item img {
        transform: scale(1.018);
    }

    .news-related__list--cards .news-related-card:hover {
        transform: translateY(-3px);
        border-color: rgba(205, 53, 44, 0.16);
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 24px 68px rgba(0, 0, 0, 0.065);
    }

    .news-related-card:hover .news-related-card__media img {
        transform: scale(1.035);
    }

    .news-related-card:hover small .material-symbols-rounded {
        transform: translateX(2px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .news-detail-gallery--editorial,
    .news-detail-gallery--editorial .news-detail-gallery__item img,
    .news-detail-gallery-controls__button,
    .news-related__list--cards .news-related-card,
    .news-related-card__media img,
    .news-related-card small .material-symbols-rounded,
    .news-detail-back,
    .news-detail-back__arrow {
        transition: none;
    }

    .news-detail-socials__links a {
        transition: none;
    }

    .news-detail-back:hover .news-detail-back__arrow {
        transform: none;
    }
}

@media (max-width: 1080px) {
    .news-detail-shell__grid {
        grid-template-columns: 1fr;
    }

    .news-related--editorial {
        position: static;
        margin-top: 10px;
    }

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

@media (max-width: 720px) {
    .news-detail-shell {
        padding-top: 22px;
    }

    .news-detail-shell .container {
        width: min(100% - 28px, 1440px);
    }

    .news-detail-gallery--editorial,
    .news-detail-gallery--editorial .news-detail-gallery__item {
        border-radius: 20px;
    }

    .news-detail-gallery--additional {
        grid-template-columns: 1fr;
    }

    .news-detail-gallery--additional .news-detail-gallery__item {
        border-radius: 20px;
    }

    .news-detail-gallery-controls {
        gap: 14px;
    }

    .news-detail-header h1 {
        font-size: clamp(2rem, 12vw, 3.1rem);
    }

    .news-related__list--cards {
        grid-template-columns: 1fr;
    }

    .news-related__list--cards .news-related-card {
        grid-template-columns: 92px minmax(0, 1fr);
        min-height: 106px;
    }

    .news-detail-socials {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .news-detail-socials__links {
        justify-content: flex-start;
    }
}

/* News detail content sections */
.news-detail-sections {
    display: grid;
    gap: clamp(30px, 4vw, 46px);
    max-width: 760px;
    margin-top: clamp(34px, 4.5vw, 50px);
}

.news-detail-section-block {
    display: grid;
    gap: 18px;
    padding-top: clamp(28px, 4vw, 40px);
    border-top: 1px solid rgba(17, 17, 17, 0.075);
}

.news-detail-section-block h2 {
    max-width: 760px;
    margin: 0;
    color: var(--color-secondary);
    font-size: clamp(1.5rem, 2.15vw, 2.12rem);
    font-weight: 740;
    letter-spacing: -0.018em;
    line-height: 1.08;
}

.news-detail-section-block__text {
    color: rgba(17, 17, 17, 0.74);
    font-size: clamp(1.01rem, 1.08vw, 1.1rem);
    line-height: 1.84;
}

.news-detail-section-block__text p {
    margin: 0 0 clamp(.35rem, .45em, .55rem);
}

.news-detail-section-block__text p:last-child {
    margin-bottom: 0;
}

.news-detail-section-block__media {
    margin: 2px 0 0;
    width: clamp(220px, 30%, 300px);
    max-width: 100%;
    text-align: center;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 18px;
    background: transparent;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
}

[data-news-lightbox] { cursor: zoom-in; }

.news-lightbox { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.86); }
.news-lightbox[hidden] { display: none; }
.news-lightbox img { max-width: min(100%, 1200px); max-height: 82vh; object-fit: contain; }
.news-lightbox button { position: absolute; color: #fff; background: transparent; border: 0; font-size: 2rem; cursor: pointer; }
.news-lightbox__close { top: 18px; right: 24px; }
.news-lightbox__prev { left: 18px; }.news-lightbox__next { right: 18px; }
@media (max-width: 720px) { .news-detail-section-block__media { width: 100%; } }

.news-detail-section-block__media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.news-section-files {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2px;
}

.news-section-files a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: rgba(17, 17, 17, 0.7);
    font-size: 0.86rem;
    font-weight: 620;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.news-section-files .material-symbols-rounded {
    color: rgba(205, 53, 44, 0.78);
    font-size: 1rem;
}

@media (hover: hover) and (pointer: fine) {
    .news-section-files a:hover {
        transform: translateY(-1px);
        border-color: rgba(205, 53, 44, 0.16);
        background: rgba(255, 255, 255, 0.96);
        color: var(--color-primary);
    }
}

@media (prefers-reduced-motion: reduce) {
    .news-section-files a {
        transition: none;
    }
}

@media (max-width: 720px) {
    .news-detail-section-block__media {
        border-radius: 18px;
    }
}

/* Noticias portal editorial */
.news-index-hero--portal {
    padding: clamp(92px, 12vw, 150px) 0 clamp(34px, 5vw, 60px);
    background:
        radial-gradient(circle at 88% 12%, rgba(205, 53, 44, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f6f6f7 100%);
}

.news-index-hero__inner,
.news-index__container {
    width: min(100% - 40px, 1400px);
}

.news-index-hero__inner {
    display: grid;
    gap: clamp(24px, 4vw, 42px);
}

.news-index-hero__copy {
    max-width: 940px;
}

.news-index-hero--portal h1 {
    margin: 10px 0 14px;
    color: var(--color-secondary);
    font-size: clamp(2.6rem, 6vw, 5.7rem);
    font-weight: 760;
    letter-spacing: -0.035em;
    line-height: 0.92;
}

.news-index-hero--portal p {
    max-width: 700px;
    margin: 0;
    color: rgba(17, 17, 17, 0.64);
    font-size: clamp(1.02rem, 1.55vw, 1.24rem);
    line-height: 1.55;
}

.news-search {
    max-width: 920px;
}

.news-search > label,
.news-sport-filter label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.news-search__control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 8px 9px 8px 18px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.055);
    backdrop-filter: blur(14px);
    transition: border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.news-search__control:focus-within {
    border-color: rgba(205, 53, 44, 0.22);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 28px 90px rgba(205, 53, 44, 0.075);
}

.news-search__control .material-symbols-rounded {
    color: rgba(205, 53, 44, 0.82);
    font-size: 1.25rem;
}

.news-search__control input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: rgba(17, 17, 17, 0.82);
    font: inherit;
    font-size: 1rem;
}

.news-search__clear,
.news-search__control button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 15px;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 650;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.news-search__clear {
    border: 1px solid rgba(17, 17, 17, 0.08);
    color: rgba(17, 17, 17, 0.58);
}

.news-search__control button {
    border: 0;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
}

.news-index--portal {
    padding-top: clamp(28px, 4vw, 46px);
    background: #f6f6f7;
}

.news-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
    gap: 14px;
    align-items: center;
    margin-bottom: clamp(22px, 3vw, 34px);
}

.news-category-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 5px;
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.64);
    scrollbar-width: none;
}

.news-category-tabs::-webkit-scrollbar {
    display: none;
}

.news-category-tab {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.88rem;
    font-weight: 650;
    transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.news-category-tab.is-active {
    border-color: rgba(205, 53, 44, 0.14);
    background: #fff;
    color: var(--color-primary);
    box-shadow: 0 10px 28px rgba(205, 53, 44, 0.06);
}

.news-category-tab:focus-visible,
.news-search__clear:focus-visible,
.news-search__control button:focus-visible,
.news-sport-filter select:focus-visible,
.pagination--portal a:focus-visible {
    outline: 3px solid rgba(205, 53, 44, 0.24);
    outline-offset: 3px;
}

.news-sport-filter select {
    width: 100%;
    min-height: 48px;
    padding: 0 15px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: rgba(17, 17, 17, 0.68);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 620;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.035);
}

.news-active-filters--portal {
    margin: -8px 0 26px;
}

.featured-news-card {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: stretch;
    margin-bottom: clamp(34px, 5vw, 58px);
    padding: clamp(14px, 2vw, 18px);
    border: 1px solid rgba(17, 17, 17, 0.065);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 28px 94px rgba(0, 0, 0, 0.07);
    animation: news-portal-in 360ms cubic-bezier(0.23, 1, 0.32, 1) both;
}

.featured-news-card__media {
    display: grid;
    overflow: hidden;
    place-items: center;
    min-height: clamp(280px, 36vw, 490px);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(17, 17, 17, 0.94), rgba(205, 53, 44, 0.88));
    color: rgba(255, 255, 255, 0.88);
}

.featured-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms cubic-bezier(0.23, 1, 0.32, 1);
}

.featured-news-card__media .material-symbols-rounded {
    font-size: 3rem;
}

.featured-news-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(14px, 2.4vw, 28px);
}

.featured-news-card__content h2 {
    margin: 14px 0 16px;
    color: var(--color-secondary);
    font-size: clamp(1.8rem, 3.2vw, 3.45rem);
    font-weight: 760;
    letter-spacing: -0.026em;
    line-height: 1;
}

.featured-news-card__content h2 a {
    color: inherit;
}

.featured-news-card__content p {
    max-width: 620px;
    margin: 0 0 24px;
    color: rgba(17, 17, 17, 0.62);
    font-size: 1rem;
    line-height: 1.58;
}

.news-results-heading {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
    margin-bottom: 20px;
}

.news-results-heading h2 {
    margin: 6px 0 0;
    color: var(--color-secondary);
    font-size: clamp(1.45rem, 2.2vw, 2.2rem);
    font-weight: 740;
    letter-spacing: -0.018em;
}

.news-results-heading p {
    margin: 0;
    color: rgba(17, 17, 17, 0.48);
    font-size: 0.9rem;
    font-weight: 620;
}

.news-index-grid--portal {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    animation: news-portal-in 420ms cubic-bezier(0.23, 1, 0.32, 1) 60ms both;
}

.news-index-grid--portal .news-card {
    min-height: 404px;
    border-radius: 20px;
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.052);
}

.news-index-grid--portal .news-card__media {
    height: 194px;
    flex-basis: 194px;
}

.news-index-grid--portal .news-card h3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news-index-grid--portal .news-card p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pagination--portal {
    gap: 8px;
    margin-top: clamp(28px, 4vw, 44px);
}

.pagination--portal a,
.pagination--portal span {
    min-width: 40px;
    min-height: 40px;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid rgba(17, 17, 17, 0.075);
    background: rgba(255, 255, 255, 0.76);
}

.pagination--portal .is-active {
    border-color: rgba(205, 53, 44, 0.18);
    background: var(--color-primary);
    color: #fff;
}

.pagination--portal .is-disabled,
.pagination--portal .pagination__ellipsis {
    opacity: 0.48;
}

.news-empty-state--portal {
    min-height: 330px;
    padding: 34px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 50% 0%, rgba(205, 53, 44, 0.065), transparent 34%),
        rgba(255, 255, 255, 0.86);
}

.news-empty-state--portal h2 {
    margin: 0;
    color: var(--color-secondary);
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 730;
    letter-spacing: -0.015em;
}

.news-empty-state--portal p {
    max-width: 520px;
    margin: 0;
    color: rgba(17, 17, 17, 0.58);
    line-height: 1.55;
}

@keyframes news-portal-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.996);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (hover: hover) and (pointer: fine) {
    .news-search__clear:hover,
    .news-search__control button:hover,
    .news-category-tab:hover,
    .pagination--portal a:hover {
        transform: translateY(-1px);
    }

    .news-category-tab:hover {
        background: rgba(255, 255, 255, 0.9);
        color: var(--color-primary);
    }

    .featured-news-card:hover .featured-news-card__media img {
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .featured-news-card,
    .news-index-grid--portal {
        animation: none;
    }

    .news-search__control,
    .news-search__clear,
    .news-search__control button,
    .news-category-tab,
    .featured-news-card__media img,
    .pagination--portal a {
        transition: none;
    }
}

@media (max-width: 1050px) {
    .featured-news-card {
        grid-template-columns: 1fr;
    }

    .featured-news-card__media {
        min-height: 340px;
    }

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

@media (max-width: 760px) {
    .news-index-hero__inner,
    .news-index__container {
        width: min(100% - 28px, 1400px);
    }

    .news-search__control {
        grid-template-columns: auto minmax(0, 1fr);
        border-radius: 24px;
        padding: 12px;
    }

    .news-search__clear,
    .news-search__control button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .news-filter-bar {
        grid-template-columns: 1fr;
    }

    .news-category-tabs {
        border-radius: 20px;
    }

    .featured-news-card {
        border-radius: 24px;
    }

    .featured-news-card__media {
        min-height: 240px;
        border-radius: 18px;
    }

    .featured-news-card__content {
        padding: 8px 4px 4px;
    }

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

    .news-index-grid--portal {
        grid-template-columns: 1fr;
    }

    .pagination--portal {
        flex-wrap: wrap;
    }
}

/* Noticias portal clasico */
.news-index-hero--classic {
    padding: clamp(86px, 9vw, 118px) 0 clamp(22px, 3.5vw, 38px);
    background: linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
}

.news-index-hero--classic::before,
.news-index-hero--classic::after {
    display: none;
}

.news-index-hero__inner--classic {
    width: min(100% - 40px, 1320px);
    gap: 0;
}

.news-index-hero--classic .news-index-hero__copy {
    max-width: 760px;
}

.news-index-hero--classic h1 {
    margin: 8px 0 10px;
    font-size: clamp(2.05rem, 4vw, 3.75rem);
    letter-spacing: -0.026em;
    line-height: 0.98;
}

.news-index-hero--classic p {
    max-width: 640px;
    font-size: clamp(0.98rem, 1.2vw, 1.08rem);
    line-height: 1.52;
}

.news-index--classic {
    padding-top: clamp(18px, 3vw, 30px);
    padding-bottom: clamp(48px, 7vw, 82px);
}

.news-index__container--classic {
    width: min(100% - 40px, 1320px);
}

.news-filter-bar--classic {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    margin-bottom: 20px;
}

.news-filter-tools {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.news-search--classic {
    width: min(100%, 360px);
    max-width: none;
}

.news-search--classic .news-search__control {
    grid-template-columns: auto minmax(116px, 1fr) auto auto;
    min-height: 48px;
    padding: 5px 6px 5px 13px;
    border-radius: var(--editorial-control-radius, .72rem);
    box-shadow: none;
}

.news-search--classic .news-search__control input {
    font-size: 0.92rem;
}

.news-search--classic .news-search__clear,
.news-search--classic .news-search__control button {
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.82rem;
}

.news-filter-bar--classic .news-sport-filter select {
    min-height: var(--editorial-control-height, 2.75rem);
    border-radius: var(--editorial-control-radius, .72rem);
    box-shadow: none;
}

.news-results-heading--classic {
    align-items: center;
    margin: 10px 0 18px;
    padding-top: 8px;
    border-top: 1px solid rgba(17, 17, 17, 0.065);
}

.news-results-heading--classic h2 {
    margin: 0;
    font-size: clamp(1.32rem, 2vw, 1.9rem);
}

.news-results-heading--classic p {
    font-size: 0.86rem;
}

.news-index-grid--classic {
    gap: 20px;
}

.news-index-grid--classic .news-card {
    min-height: 360px;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.042);
}

.news-index-grid--classic .news-card__media {
    height: 166px;
    flex-basis: 166px;
}

.news-index-grid--classic .news-card__content {
    padding: 17px;
}

.news-index-grid--classic .news-card p {
    margin-bottom: 14px;
}

@media (hover: hover) and (pointer: fine) {
    .news-filter-bar--classic .news-category-tab:hover,
    .news-search--classic .news-search__clear:hover,
    .news-search--classic .news-search__control button:hover {
        transform: translateY(-1px);
    }
}

@media (max-width: 1120px) {
    .news-filter-bar--classic {
        grid-template-columns: 1fr;
    }

    .news-filter-tools {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width: 760px) {
    .news-index-hero--classic {
        padding-top: 78px;
    }

    .news-index-hero__inner--classic,
    .news-index__container--classic {
        width: min(100% - 28px, 1320px);
    }

    .news-filter-bar--classic {
        padding: 0;
        border-radius: 0;
    }

    .news-filter-tools {
        display: grid;
        grid-template-columns: 1fr;
    }

    .news-search--classic {
        width: 100%;
    }

    .news-search--classic .news-search__control {
        grid-template-columns: auto minmax(0, 1fr);
        border-radius: 18px;
    }

    .news-search--classic .news-search__clear,
    .news-search--classic .news-search__control button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .news-results-heading--classic {
        align-items: flex-start;
    }

    .news-index-grid--classic .news-card {
        min-height: 342px;
    }

    .news-index-grid--classic .news-card__media {
        height: 170px;
        flex-basis: 170px;
    }
}
/* Noticias V1 final polish */
.news-index-hero__inner--classic,
.news-index__container--classic {
    width: min(100% - 48px, 1380px);
    max-width: 1380px;
    margin-inline: auto;
}

.news-index-hero--classic {
    padding: clamp(78px, 8vw, 104px) 0 clamp(18px, 3vw, 30px);
}

.news-index-hero--classic .news-index-hero__copy {
    max-width: 720px;
}

.news-index-hero--classic h1 {
    margin: 7px 0 8px;
    font-size: clamp(2rem, 3.6vw, 3.35rem);
    font-weight: 740;
}

.news-index-hero--classic p {
    max-width: 610px;
    color: rgba(17, 17, 17, 0.6);
}

.news-index--classic {
    padding-top: 18px;
}

.news-filter-bar--classic {
    align-items: start;
    margin-bottom: clamp(12px, 2vw, 18px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.news-filter-bar--classic .news-category-tabs {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.news-filter-bar--classic .news-category-tab {
    min-height: 34px;
    padding-inline: 13px;
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0.105em;
    text-transform: uppercase;
}

.news-content-surface .news-search__control button {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.news-content-surface .news-sport-filter select,
.news-content-surface .news-search__control input {
    font-size: 0.86rem;
    font-weight: 620;
}

.news-filter-tools {
    min-width: min(100%, 580px);
}

.news-search--classic {
    width: 320px;
}

.news-search--classic .news-search__control,
.news-sport-filter select {
    min-height: 44px;
}

.news-search--classic .news-search__control {
    padding: 5px 6px 5px 12px;
}

.news-sport-filter select {
    min-width: 190px;
    padding-inline: 13px;
    font-size: 0.86rem;
}

.news-active-filters--portal {
    margin: 0 0 18px;
}

.news-results-heading--classic {
    justify-content: space-between;
    min-height: 32px;
    margin: 0 0 14px;
    padding-top: 0;
    border-top: 0;
}

.news-results-heading--classic.news-results-heading--compact {
    justify-content: flex-end;
}

.news-results-heading--classic h2 {
    font-size: clamp(1.15rem, 1.45vw, 1.45rem);
    font-weight: 700;
    letter-spacing: -0.012em;
}

.news-results-heading--classic p {
    margin: 0;
    color: rgba(17, 17, 17, 0.46);
    font-size: 0.84rem;
    font-weight: 620;
}

.news-index-grid--classic {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.news-index-grid--classic .news-card {
    display: flex;
    flex-direction: column;
    min-height: 352px;
    border-color: rgba(17, 17, 17, 0.065);
    border-radius: 17px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: transform 220ms cubic-bezier(0.23, 1, 0.32, 1), border-color 220ms ease, box-shadow 220ms ease;
}

.news-index-grid--classic .news-card__media {
    height: 158px;
    flex: 0 0 158px;
    background: linear-gradient(135deg, rgba(17, 17, 17, 0.94), rgba(205, 53, 44, 0.86));
}

.news-index-grid--classic .news-card__media img {
    transition: transform 260ms cubic-bezier(0.23, 1, 0.32, 1);
}

.news-index-grid--classic .news-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    padding: 15px 16px 16px;
}

.news-index-grid--classic .news-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
    min-height: 18px;
    color: rgba(17, 17, 17, 0.46);
    font-size: 0.69rem;
    font-weight: 560;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.news-index-grid--classic .news-card__meta span {
    color: rgba(205, 53, 44, 0.82);
    font-weight: 650;
}

.news-index-grid--classic .news-card__meta time::before {
    content: "\2022";
    margin: 0 8px;
    color: rgba(17, 17, 17, 0.24);
}

.news-index-grid--classic .news-card h3 {
    display: -webkit-box;
    overflow: hidden;
    min-height: 2.42em;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 1.08rem;
    font-weight: 690;
    line-height: 1.21;
}

.news-index-grid--classic .news-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: rgba(17, 17, 17, 0.57);
    font-size: 0.9rem;
    line-height: 1.43;
}

.news-index-grid--classic .news-card__link {
    margin-top: auto;
    padding-top: 2px;
    color: rgba(205, 53, 44, 0.9);
    font-size: 0.86rem;
    font-weight: 650;
}

@media (hover: hover) and (pointer: fine) {
    .news-index-grid--classic .news-card:hover {
        transform: translateY(-3px);
        border-color: rgba(205, 53, 44, 0.14);
        box-shadow: 0 18px 48px rgba(0, 0, 0, 0.07);
    }

    .news-index-grid--classic .news-card:hover .news-card__media img {
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion: reduce) {
    .news-index-grid--classic .news-card,
    .news-index-grid--classic .news-card__media img {
        transition: none;
    }
}

@media (max-width: 1080px) {
    .news-index-grid--classic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-filter-tools {
        min-width: 0;
    }
}

@media (max-width: 760px) {
    .news-index-hero__inner--classic,
    .news-index__container--classic {
        width: min(100% - 28px, 1380px);
    }

    .news-index-hero--classic {
        padding-bottom: 18px;
    }

    .news-filter-tools {
        width: 100%;
    }

    .news-search--classic {
        width: 100%;
    }

    .news-index-grid--classic {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .news-index-grid--classic .news-card {
        min-height: 338px;
    }

    .news-index-grid--classic .news-card__media {
        height: 166px;
        flex-basis: 166px;
    }
}
/* CSI brand system page layer */
body {
    background: var(--color-surface-warm);
    color: var(--color-text);
}

.section {
    position: relative;
}

.home-news,
.news-index--classic,
.news-detail-shell,
.sport-detail-page {
    background:
        radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--color-brand) 5%, transparent), transparent 26%),
        var(--color-surface-warm);
}

.home-agenda,
.home-agenda--strip {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 8%, transparent), transparent 38%, color-mix(in srgb, var(--color-brand) 5%, transparent)),
        var(--color-surface-muted);
}

.home-institute,
.home-institute--feature {
    background: var(--color-surface);
}

.home-sports {
    background:
        radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--color-brand) 10%, transparent), transparent 30%),
        linear-gradient(180deg, var(--color-surface-warm), var(--color-brand-surface));
}

.home-sponsors {
    background:
        linear-gradient(180deg, var(--color-surface), var(--color-surface-muted));
}

.section-heading__eyebrow,
.news-detail__meta span,
.sport-detail-eyebrow {
    color: var(--color-brand);
}

.section-heading__eyebrow::before,
.news-index-hero__copy::before {
    background: var(--color-brand);
}

.news-index-hero--classic {
    background:
        radial-gradient(circle at 0% 8%, color-mix(in srgb, var(--color-brand) 10%, transparent), transparent 26%),
        linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-warm) 100%);
}

.news-index-hero__inner--classic,
.news-index__container--classic {
    width: min(100% - 48px, var(--container-wide));
    margin-inline: auto;
}

.news-index-hero--classic .news-index-hero__copy {
    position: relative;
    max-width: 720px;
    padding-left: 18px;
}

.news-index-hero--classic .news-index-hero__copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 3px;
    border-radius: var(--radius-pill);
}

.news-sport-filter select,
.news-search__control {
    border-color: var(--color-border);
}

.news-filter-bar--classic .news-category-tab.is-active,
.pagination--portal .is-active {
    border-color: transparent;
    background: transparent;
    color: var(--color-brand-strong);
    box-shadow: none;
}

.news-search__control:focus-within,
.news-sport-filter select:focus-visible {
    border-color: color-mix(in srgb, var(--color-brand) 28%, transparent);
    box-shadow: 0 16px 42px color-mix(in srgb, var(--color-brand) 9%, transparent);
}

.news-card,
.news-related-card,
.news-empty-state--portal {
    background: color-mix(in srgb, var(--color-surface) 94%, var(--color-brand-surface));
}

.news-index-grid--classic .news-card:hover,
.news-related__list--cards .news-related-card:hover {
    border-color: color-mix(in srgb, var(--color-brand) 18%, transparent);
}

.news-detail-gallery--editorial,
.news-detail-section-block__media {
    border-color: color-mix(in srgb, var(--color-brand) 10%, transparent);
}

.news-section-files a,
.news-detail__sports a {
    border-color: var(--color-brand-border);
    background: var(--color-brand-surface);
    color: var(--color-brand-strong);
}

.sport-hero {
    background:
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--color-brand) 20%, transparent), transparent 30%),
        linear-gradient(135deg, var(--color-brand-deep), var(--color-brand-dark) 52%, #111);
    color: var(--color-text-on-brand);
}

.sport-hero h1,
.sport-hero p {
    color: inherit;
}

.sport-detail-nav,
.sport-tabs {
    border-color: color-mix(in srgb, var(--color-brand) 16%, transparent);
    background: color-mix(in srgb, var(--color-surface) 84%, transparent);
    backdrop-filter: blur(16px);
}

.sport-detail-nav a,
.sport-tab,
.area-pill,
.category-pill {
    transition: color 200ms var(--ease-out), background 200ms var(--ease-out), border-color 200ms var(--ease-out), transform 200ms var(--ease-out);
}

.sport-detail-nav a:hover,
.sport-tab:hover,
.area-pill:hover,
.category-pill:hover {
    color: var(--color-brand);
}

.sport-detail-nav a.is-active,
.sport-tab.is-active,
.area-pill.is-active,
.category-pill.is-active {
    border-color: var(--color-brand-border);
    background: var(--color-brand);
    color: var(--color-text-on-brand);
    box-shadow: 0 12px 30px color-mix(in srgb, var(--color-brand) 14%, transparent);
}

.training-week,
.schedule-week,
.sport-schedule-card,
.staff-card,
.training-venue-card {
    background: var(--color-surface);
    border-color: color-mix(in srgb, var(--color-text) 9%, transparent);
}

.training-block,
.schedule-block {
    background: var(--color-brand-surface);
    border-color: var(--color-brand-border);
    color: var(--color-brand-strong);
}

.staff-card__role,
.staff-role,
.staff-card small,
.training-venue-card .material-symbols-rounded {
    color: var(--color-brand);
}

.staff-card--coordinator,
.staff-card.is-coordinator {
    border-color: color-mix(in srgb, var(--color-brand) 22%, transparent);
    box-shadow: 0 18px 52px color-mix(in srgb, var(--color-brand) 8%, transparent);
}

.agenda-event-card,
.agenda-item--calendar,
.schedule-event {
    background: var(--color-surface);
    border-color: color-mix(in srgb, var(--color-text) 9%, transparent);
}

.agenda-event-card__date,
.agenda-item--calendar__date,
.schedule-event__date {
    background: linear-gradient(180deg, var(--color-brand), var(--color-brand-strong));
    color: var(--color-text-on-brand);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--color-brand) 18%, transparent);
}

.sponsor-card {
    background: rgba(255, 255, 255, 0.88);
}

@media (hover: hover) and (pointer: fine) {
    .news-card:hover,
    .staff-card:hover,
    .training-venue-card:hover,
    .agenda-event-card:hover,
    .agenda-item--calendar:hover,
    .sponsor-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 20px 58px var(--color-shadow-soft);
    }
}

@media (max-width: 760px) {
    .news-index-hero__inner--classic,
    .news-index__container--classic {
        width: min(100% - 28px, var(--container-wide));
    }

    .news-index-hero--classic .news-index-hero__copy {
        padding-left: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sport-detail-nav a,
    .sport-tab,
    .area-pill,
    .category-pill,
    .news-card,
    .staff-card,
    .training-venue-card,
    .agenda-event-card,
    .agenda-item--calendar,
    .sponsor-card {
        transition: none;
    }
}
/* Noticias header alignment fix */
.news-index-hero--classic .news-index-hero__inner--classic {
    width: min(100% - 32px, var(--container));
    max-width: var(--container);
    margin-inline: auto;
}

.news-index-hero--classic .news-index-hero__copy {
    margin-inline: 0;
}

.news-index__container--classic {
    width: min(100% - 32px, var(--container));
    max-width: var(--container);
    margin-inline: auto;
}

@media (max-width: 760px) {
    .news-index-hero--classic .news-index-hero__inner--classic {
        width: min(100% - 32px, var(--container));
    }
}
/* Historia institucional */
.history-page {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--color-brand) 12%, transparent), transparent 34rem),
        linear-gradient(180deg, #fffaf8 0%, var(--color-surface) 42%, #fff 100%);
    color: var(--color-text);
}

.history-page::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 50%;
    width: 1px;
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-brand) 18%, transparent), transparent);
    opacity: 0.75;
    pointer-events: none;
}

.history-hero {
    padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 7vw, 92px);
}

.history-hero__inner,
.history-split {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(32px, 6vw, 86px);
}

.history-split--reverse {
    grid-template-columns: minmax(0, 1.02fr) minmax(280px, 0.78fr);
}

.history-hero__media,
.history-split__media {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border-radius: 34px;
    background:
        linear-gradient(135deg, var(--color-brand-dark), var(--color-brand)),
        var(--color-brand-surface);
    box-shadow: 0 34px 90px color-mix(in srgb, var(--color-brand-dark) 14%, transparent);
    isolation: isolate;
}

.history-split__media {
    min-height: 360px;
    border-radius: 30px;
}

.history-hero__media::after,
.history-split__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 45%, rgba(20, 8, 8, 0.34)),
        linear-gradient(90deg, color-mix(in srgb, var(--color-brand-dark) 32%, transparent), transparent 56%);
    z-index: 1;
}

.history-hero__media img,
.history-split__media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    filter: saturate(0.88) contrast(1.04);
    transform: scale(1.01);
    transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.history-hero__media:hover img,
.history-split__media:hover img {
    transform: scale(1.035);
    filter: saturate(0.96) contrast(1.06);
}

.history-content {
    max-width: 720px;
}

.history-content p,
.history-objective {
    color: color-mix(in srgb, var(--color-text) 82%, transparent);
    font-size: clamp(1.02rem, 0.65vw + 0.88rem, 1.18rem);
    line-height: 1.82;
    letter-spacing: 0;
}

.history-content p + p {
    margin-top: 1.25rem;
}

.history-lead {
    position: relative;
    padding-left: clamp(18px, 2vw, 28px);
    color: var(--color-text) !important;
    font-size: clamp(1.34rem, 1.35vw + 0.95rem, 2rem) !important;
    line-height: 1.38 !important;
    font-weight: 680;
}

.history-lead::before,
.history-objectives__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.18em;
    bottom: 0.18em;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--color-brand), var(--color-brand-dark));
}

.history-section {
    padding: clamp(36px, 6vw, 84px) 0;
}

.history-section--legacy {
    position: relative;
}

.history-section--legacy::before {
    content: "";
    position: absolute;
    inset: 12% 0 auto;
    height: 68%;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-brand) 6%, transparent), transparent);
    pointer-events: none;
}

.history-statement {
    width: fit-content;
    padding: 0.72rem 1rem;
    border: 1px solid var(--color-brand-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--color-brand-strong) !important;
    font-weight: 720;
    line-height: 1.35 !important;
    box-shadow: 0 16px 42px color-mix(in srgb, var(--color-brand) 8%, transparent);
}

.history-body {
    position: relative;
    max-width: 920px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 24px 70px rgba(16, 24, 40, 0.07);
    backdrop-filter: blur(14px);
}

.history-objectives {
    padding: clamp(42px, 7vw, 92px) 0 clamp(72px, 9vw, 124px);
}

.history-objectives__inner {
    max-width: var(--container);
}

.history-objectives__title {
    position: relative;
    margin-bottom: clamp(22px, 3vw, 34px);
    padding-left: 24px;
    color: var(--color-text) !important;
    font-size: clamp(1.28rem, 1vw + 1rem, 1.72rem) !important;
    line-height: 1.35 !important;
    font-weight: 760;
}

.history-objectives__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.history-objective {
    position: relative;
    min-height: 172px;
    padding: 24px;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78)),
        var(--color-surface);
    box-shadow: 0 18px 58px rgba(16, 24, 40, 0.07);
    transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 240ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 240ms ease;
}

.history-objective::before {
    content: "";
    display: block;
    width: 38px;
    height: 4px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: var(--color-brand);
    opacity: 0.9;
}

.history-objective:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--color-brand) 26%, transparent);
    box-shadow: 0 26px 70px color-mix(in srgb, var(--color-brand-dark) 10%, transparent);
}

.history-reveal {
    animation: history-fade-up 620ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.history-reveal:nth-of-type(2) {
    animation-delay: 90ms;
}

.history-reveal:nth-of-type(3) {
    animation-delay: 150ms;
}

.history-reveal:nth-of-type(4) {
    animation-delay: 210ms;
}

@keyframes history-fade-up {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1024px) {
    .history-hero__inner,
    .history-split,
    .history-split--reverse {
        grid-template-columns: 1fr;
    }

    .history-hero__media,
    .history-split__media {
        min-height: 330px;
    }

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

@media (max-width: 640px) {
    .history-hero {
        padding-top: 52px;
    }

    .history-hero__media,
    .history-split__media {
        min-height: 260px;
        border-radius: 24px;
    }

    .history-body {
        padding: 22px;
        border-radius: 22px;
    }

    .history-objectives__grid {
        grid-template-columns: 1fr;
    }

    .history-objective {
        min-height: 138px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .history-reveal,
    .history-objective,
    .history-hero__media img,
    .history-split__media img {
        animation: none;
        transition: none;
    }

    .history-hero__media:hover img,
    .history-split__media:hover img,
    .history-objective:hover {
        transform: none;
    }
}
/* Historia editorial redesign */
.history-page--editorial {
    overflow-x: clip;
    background:
        radial-gradient(circle at 10% 6%, color-mix(in srgb, var(--color-brand) 9%, transparent), transparent 32rem),
        linear-gradient(180deg, #fffaf7 0%, #fff 42%, var(--color-surface-warm) 100%);
    color: var(--color-text);
}

.history-page--editorial::before {
    display: none;
}

.history-page--editorial img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.history-opening {
    position: relative;
    padding: clamp(72px, 9vw, 126px) 0 clamp(48px, 7vw, 86px);
}

.history-opening::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-brand) 6%, transparent));
    pointer-events: none;
}

.history-opening__inner {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    min-height: clamp(520px, 58vw, 710px);
}

.history-opening__copy {
    position: relative;
    z-index: 2;
    grid-column: 1 / 8;
    padding: clamp(26px, 4vw, 52px) clamp(22px, 4vw, 54px) clamp(30px, 4vw, 58px) 0;
}

.history-opening__copy::before {
    content: "";
    display: block;
    width: 58px;
    height: 5px;
    margin-bottom: clamp(22px, 3vw, 34px);
    border-radius: 999px;
    background: var(--color-brand);
}

.history-opening h1 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(4rem, 9vw, 8.8rem);
    font-weight: 780;
    line-height: 0.9;
    letter-spacing: -0.055em;
}

.history-opening__intro {
    max-width: 780px;
    margin: clamp(22px, 3vw, 34px) 0 0;
    color: color-mix(in srgb, var(--color-text) 86%, transparent);
    font-size: clamp(1.62rem, 1.1vw + 1.25rem, 1.88rem);
    font-weight: 620;
    line-height: 1.34;
    letter-spacing: -0.018em;
}

.history-opening__visual {
    position: relative;
    z-index: 1;
    grid-column: 6 / 13;
    grid-row: 1;
    min-height: clamp(380px, 48vw, 640px);
    overflow: hidden;
    border-radius: clamp(28px, 4vw, 48px);
    background: linear-gradient(135deg, var(--color-brand-dark), var(--color-brand));
    box-shadow: 0 38px 110px color-mix(in srgb, var(--color-brand-dark) 16%, transparent);
    clip-path: inset(0 round clamp(28px, 4vw, 48px));
}

.history-opening__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 250, 247, 0.82), rgba(255, 250, 247, 0.12) 42%, rgba(34, 8, 8, 0.16)),
        linear-gradient(180deg, transparent 50%, rgba(36, 8, 8, 0.36));
    pointer-events: none;
}

.history-opening__visual img,
.history-origin__media img,
.history-pillars__image img {
    filter: saturate(0.78) contrast(1.04);
    transform: scale(1.015);
    transition: transform 520ms var(--ease-out), filter 520ms var(--ease-out);
}

.history-origin {
    padding: clamp(32px, 5.2vw, 70px) 0 clamp(46px, 5.8vw, 88px);
}

.history-origin__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
}

.history-origin__media {
    position: relative;
    grid-column: 1 / 8;
    grid-row: 1;
    min-height: clamp(320px, 36vw, 480px);
    overflow: hidden;
    border-radius: 34px;
    background: var(--color-brand-surface);
    box-shadow: 0 30px 90px rgba(16, 24, 40, 0.1);
}

.history-origin__media::before {
    content: "";
    position: absolute;
    inset: 18px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 24px;
    pointer-events: none;
}

.history-origin__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(18, 8, 8, 0.08), rgba(18, 8, 8, 0.38));
    pointer-events: none;
}

.history-origin__copy {
    position: relative;
    z-index: 3;
    grid-column: 7 / 13;
    grid-row: 1;
    max-width: 650px;
    padding: clamp(22px, 3.5vw, 38px);
    border: 1px solid color-mix(in srgb, var(--color-brand) 12%, transparent);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 78px rgba(16, 24, 40, 0.08);
    backdrop-filter: blur(16px);
}

.history-copy p {
    margin: 0;
    color: color-mix(in srgb, var(--color-text) 78%, transparent);
    font-size: clamp(1.02rem, 0.4vw + 0.93rem, 1.16rem);
    line-height: 1.72;
}

.history-copy p + p {
    margin-top: clamp(16px, 1.7vw, 22px);
}

.history-legacy {
    position: relative;
    overflow: hidden;
    padding: clamp(60px, 8vw, 112px) 0;
    background:
        radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--color-brand) 30%, transparent), transparent 28rem),
        linear-gradient(135deg, var(--color-brand-deep), #4b090c 54%, #170607);
    color: var(--color-text-on-brand);
}

.history-legacy::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at 60% 50%, #000, transparent 72%);
    opacity: 0.28;
    pointer-events: none;
}

.history-legacy__inner {
    position: relative;
    max-width: 1040px;
}

.history-legacy p {
    max-width: 980px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.55rem, 1.55vw + 1rem, 2.58rem);
    font-weight: 560;
    line-height: 1.35;
    letter-spacing: -0.025em;
}

.history-legacy strong {
    color: #fff;
    font-weight: 760;
}

.history-pillars {
    position: relative;
    padding: clamp(54px, 7.5vw, 108px) 0 clamp(46px, 6vw, 84px);
    background:
        radial-gradient(circle at 100% 30%, color-mix(in srgb, var(--color-brand) 8%, transparent), transparent 28rem),
        linear-gradient(180deg, #fff, #fff8f5);
}

.history-pillars__inner {
    display: grid;
    gap: clamp(24px, 3.4vw, 46px);
}

.history-pillars__heading {
    max-width: 860px;
}

.history-pillars__heading h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(2.12rem, 3.45vw, 4.4rem);
    font-weight: 760;
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.history-pillars__heading h2::after {
    content: "";
    display: block;
    width: 72px;
    height: 5px;
    margin-top: clamp(16px, 1.7vw, 24px);
    border-radius: 999px;
    background: var(--color-brand);
}

.history-pillars__heading p {
    max-width: 720px;
    margin: clamp(18px, 2.4vw, 26px) 0 0;
    color: color-mix(in srgb, var(--color-text) 72%, transparent);
    font-size: clamp(1.08rem, 0.48vw + 0.98rem, 1.22rem);
    line-height: 1.54;
}

.history-pillars__composition {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);
    align-items: stretch;
    gap: clamp(22px, 3.2vw, 48px);
}

.history-pillars__text {
    max-width: 820px;
    padding-top: clamp(8px, 1.6vw, 22px);
}

.history-pillars__text p {
    font-size: clamp(1.02rem, 0.4vw + 0.93rem, 1.14rem);
    line-height: 1.76;
}

.history-pillars__image {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    border-radius: 30px;
    background: var(--color-brand-surface);
    box-shadow: 0 24px 72px rgba(16, 24, 40, 0.08);
}

.history-pillars__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), color-mix(in srgb, var(--color-brand-dark) 28%, transparent));
    pointer-events: none;
}

.history-objectives--editorial {
    padding: clamp(52px, 7.2vw, 100px) 0 clamp(70px, 8vw, 112px);
    background: linear-gradient(180deg, #fff8f5, var(--color-surface-warm));
}

.history-objectives--editorial .history-objectives__title {
    position: relative;
    margin: 0 0 clamp(34px, 4.4vw, 54px);
    padding-left: 22px;
    color: var(--color-text) !important;
    font-size: clamp(2rem, 2.8vw, 3.45rem) !important;
    font-weight: 740;
    line-height: 1.02 !important;
    letter-spacing: -0.045em;
}

.history-objectives--editorial .history-objectives__title::before {
    top: 0.08em;
    bottom: 0.08em;
    width: 4px;
    background: var(--color-brand);
}

.history-objectives--editorial .history-objectives__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 22px);
    margin: 0;
    padding: clamp(24px, 2.8vw, 36px) 0 0;
    list-style: none;
    border: 0;
}

.history-objectives--editorial .history-objective {
    display: grid;
    position: relative;
    isolation: isolate;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    column-gap: clamp(14px, 1.5vw, 20px);
    align-content: start;
    min-height: clamp(270px, 22vw, 340px);
    padding: clamp(28px, 2.5vw, 38px);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-brand) 16%, var(--color-text) 5%);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, #fff8f5 42%, white));
    box-shadow: 0 12px 28px rgba(39, 21, 21, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.96), inset 0 -1px 0 color-mix(in srgb, var(--color-brand) 6%, transparent);
    color: color-mix(in srgb, var(--color-text) 92%, transparent);
    font-size: clamp(1.03rem, 0.42vw + 0.92rem, 1.19rem);
    font-weight: 650;
    line-height: 1.4;
    transition: opacity 260ms var(--ease-out);
}

.history-objectives--editorial .history-objective + .history-objective::before {
    content: none;
}

.history-objective__number {
    grid-column: 1 / -1;
    display: block;
    margin: 0 0 clamp(16px, 2vw, 24px);
    color: transparent;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(5.1rem, 7.4vw, 7.8rem);
    font-weight: 780;
    letter-spacing: -0.02em;
    line-height: 0.72;
    -webkit-text-stroke: 1.25px color-mix(in srgb, var(--color-brand) 68%, transparent);
    text-stroke: 1.25px color-mix(in srgb, var(--color-brand) 68%, transparent);
    transition: -webkit-text-stroke-color 260ms var(--ease-out), opacity 260ms var(--ease-out);
}

.history-objectives--editorial .history-objective__icon {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--color-brand) 28%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-brand) 11%, white);
    color: var(--color-brand);
    transition: transform 260ms var(--ease-out), background 260ms var(--ease-out), border-color 260ms var(--ease-out);
}

.history-objectives--editorial .history-objective__icon::before,
.history-objectives--editorial .history-objective__icon::after {
    content: none;
}

.history-objectives--editorial .history-objective__icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.history-objectives--editorial .history-objective__accent {
    grid-column: 1 / -1;
    display: block;
    width: 42px;
    height: 3px;
    margin: clamp(19px, 2.2vw, 26px) 0 clamp(18px, 2.2vw, 24px);
    border-radius: 999px;
    background: var(--color-brand);
    transition: width 260ms var(--ease-out);
}

.history-objectives--editorial .history-objective__text {
    grid-column: 1 / -1;
    display: block;
    max-width: 17ch;
    color: color-mix(in srgb, var(--color-text) 96%, transparent);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

@media (hover: hover) and (pointer: fine) {
    .history-opening__visual:hover img,
    .history-origin__media:hover img,
    .history-pillars__image:hover img {
        transform: scale(1.04);
        filter: saturate(0.9) contrast(1.06);
    }

    .history-objectives--editorial .history-objective:hover .history-objective__number {
        -webkit-text-stroke-color: color-mix(in srgb, var(--color-brand) 84%, transparent);
    }

    .history-objectives--editorial .history-objective:hover .history-objective__icon {
        border-color: color-mix(in srgb, var(--color-brand) 40%, transparent);
        background: color-mix(in srgb, var(--color-brand) 14%, white);
        transform: translateY(-2px);
    }

    .history-objectives--editorial .history-objective:hover .history-objective__accent {
        width: 52px;
    }
}

.history-page.is-motion-ready [data-history-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 520ms var(--ease-out), transform 520ms var(--ease-out);
}

.history-page.is-motion-ready [data-history-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.history-page.is-motion-ready .history-opening__visual,
.history-page.is-motion-ready .history-origin__media,
.history-page.is-motion-ready .history-pillars__image {
    clip-path: inset(0 0 12% 0 round 30px);
    transition: clip-path 680ms var(--ease-out), opacity 520ms var(--ease-out), transform 520ms var(--ease-out);
}

.history-page.is-motion-ready .is-visible .history-opening__visual,
.history-page.is-motion-ready .is-visible .history-origin__media,
.history-page.is-motion-ready .is-visible .history-pillars__image {
    clip-path: inset(0 0 0 0 round 30px);
}

@media (max-width: 1024px) {
    .history-page--editorial .history-opening__inner {
        grid-template-columns: 1fr;
    }

    .history-opening__inner,
    .history-origin__inner,
    .history-pillars__composition {
        display: grid;
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .history-opening__copy,
    .history-opening__visual,
    .history-origin__media,
    .history-origin__copy {
        grid-column: auto;
        grid-row: auto;
    }

    .history-opening__copy {
        padding-right: 0;
    }

    .history-opening__visual,
    .history-origin__media {
        min-height: clamp(300px, 58vw, 460px);
    }

    .history-origin__copy {
        max-width: none;
        margin-top: -56px;
        margin-inline: clamp(14px, 4vw, 32px);
    }

    .history-pillars__image {
        min-height: 280px;
    }

    .history-objectives--editorial .history-objectives__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 680px) {
    .history-opening {
        padding-top: 50px;
        padding-bottom: 42px;
    }

    .history-opening h1 {
        font-size: clamp(3.2rem, 18vw, 5rem);
    }

    .history-opening__intro {
        font-size: clamp(1.28rem, 5.2vw, 1.62rem);
        line-height: 1.36;
    }

    .history-opening__visual,
    .history-origin__media,
    .history-pillars__image {
        min-height: 235px;
        border-radius: 24px;
    }

    .history-origin__copy {
        margin-top: -32px;
        padding: 22px;
        border-radius: 24px;
    }

    .history-copy p,
    .history-pillars__text p {
        font-size: 1rem;
        line-height: 1.72;
    }

    .history-legacy {
        padding: 52px 0;
    }

    .history-legacy p {
        font-size: clamp(1.28rem, 5.8vw, 1.72rem);
        line-height: 1.42;
    }

    .history-pillars {
        padding-top: 58px;
    }

    .history-pillars__heading h2 {
        font-size: clamp(2.1rem, 10vw, 3.3rem);
        line-height: 1.02;
    }

    .history-pillars__heading p {
        font-size: 1.04rem;
    }

    .history-objectives--editorial .history-objective {
        min-height: 0;
        padding: 28px 24px 30px 82px;
    }

    .history-objectives--editorial .history-objectives__grid {
        grid-template-columns: 1fr;
        padding-top: 18px;
    }

    .history-objectives--editorial .history-objective + .history-objective::before {
        content: none;
    }

    .history-objectives--editorial .history-objective__number {
        position: absolute;
        top: 2px;
        left: 22px;
        font-size: clamp(4.3rem, 20vw, 5.8rem);
        line-height: 0.72;
    }

    .history-objectives--editorial .history-objective__icon {
        width: 40px;
        height: 40px;
    }

    .history-objectives--editorial .history-objective__accent {
        margin: 18px 0;
    }

    .history-objectives--editorial .history-objective__text {
        max-width: 28ch;
    }
}

@media (prefers-reduced-motion: reduce) {
    .history-page.is-motion-ready [data-history-reveal],
    .history-page.is-motion-ready .history-objectives__grid .history-objective {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .history-page.is-motion-ready .history-opening__visual,
    .history-page.is-motion-ready .history-origin__media,
    .history-page.is-motion-ready .history-pillars__image,
    .history-page.is-motion-ready .is-visible .history-opening__visual,
    .history-page.is-motion-ready .is-visible .history-origin__media,
    .history-page.is-motion-ready .is-visible .history-pillars__image {
        clip-path: inset(0 0 0 0 round 30px);
        transition: none;
    }

    .history-opening__visual img,
    .history-origin__media img,
    .history-pillars__image img,
    .history-objectives--editorial .history-objective {
        transition: none;
    }

    .history-opening__visual:hover img,
    .history-origin__media:hover img,
    .history-pillars__image:hover img,
    .history-objectives--editorial .history-objective:hover {
        transform: none;
    }
}
/* Historia detail pass: opening, legacy scale, icons and motion */
.history-page--editorial .history-opening {
    padding: clamp(42px, 5.1vw, 70px) 0 clamp(32px, 4.2vw, 58px);
}

.history-page--editorial .history-opening::before {
    height: 26%;
}

.history-page--editorial .history-opening__inner {
    display: grid;
    grid-template-columns: minmax(520px, 0.72fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(24px, 4vw, 60px);
    min-height: 0;
}

.history-page--editorial .history-opening__copy {
    z-index: 2;
    grid-column: auto;
    grid-row: auto;
    padding: clamp(12px, 2vw, 24px) 0 0;
}

.history-page--editorial .history-opening__visual {
    grid-column: auto;
    grid-row: auto;
    min-height: clamp(320px, 30vw, 450px);
    max-height: 480px;
}

.history-page--editorial .history-opening h1 {
    font-size: clamp(3.55rem, 6vw, 6.1rem);
}

.history-page--editorial .history-opening__intro {
    max-width: 620px;
    font-size: clamp(1.45rem, 0.55vw + 1.1rem, 1.72rem);
    line-height: 1.38;
}

.history-page--editorial .history-legacy {
    padding: clamp(38px, 4.7vw, 66px) 0;
}

.history-page--editorial .history-legacy__inner {
    max-width: 940px;
}

.history-page--editorial .history-legacy p {
    max-width: 900px;
    font-size: clamp(1.18rem, 0.82vw + 0.96rem, 1.74rem);
    line-height: 1.44;
}

.history-page.is-motion-ready [data-history-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
}

.history-page.is-motion-ready .history-opening__copy,
.history-page.is-motion-ready .history-origin__copy,
.history-page.is-motion-ready .history-pillars__heading,
.history-page.is-motion-ready .history-pillars__text,
.history-page.is-motion-ready .history-objectives__title {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 760ms cubic-bezier(0.23, 1, 0.32, 1), transform 760ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .is-visible .history-opening__copy,
.history-page.is-motion-ready .is-visible .history-origin__copy,
.history-page.is-motion-ready .is-visible .history-pillars__heading,
.history-page.is-motion-ready .is-visible .history-pillars__text,
.history-page.is-motion-ready .is-visible .history-objectives__title {
    opacity: 1;
    transform: translateY(0);
}

.history-page.is-motion-ready .history-opening__visual,
.history-page.is-motion-ready .history-pillars__image {
    opacity: 0;
    transform: translateX(30px);
    clip-path: inset(0 18% 0 0 round 34px);
    transition: opacity 920ms cubic-bezier(0.23, 1, 0.32, 1), transform 920ms cubic-bezier(0.23, 1, 0.32, 1), clip-path 920ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .history-origin__media {
    opacity: 0;
    transform: translateX(-30px);
    clip-path: inset(0 0 0 18% round 34px);
    transition: opacity 920ms cubic-bezier(0.23, 1, 0.32, 1), transform 920ms cubic-bezier(0.23, 1, 0.32, 1), clip-path 920ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .is-visible .history-opening__visual,
.history-page.is-motion-ready .is-visible .history-origin__media,
.history-page.is-motion-ready .is-visible .history-pillars__image {
    opacity: 1;
    transform: translateX(0);
    clip-path: inset(0 0 0 0 round 34px);
}

.history-page.is-motion-ready .history-legacy {
    opacity: 0.86;
    clip-path: inset(10% 0 10% 0);
    transition: opacity 760ms cubic-bezier(0.23, 1, 0.32, 1), clip-path 760ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .history-legacy.is-visible {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

.history-page.is-motion-ready .history-legacy__inner {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 820ms cubic-bezier(0.23, 1, 0.32, 1) 140ms, transform 820ms cubic-bezier(0.23, 1, 0.32, 1) 140ms;
}

.history-page.is-motion-ready .is-visible .history-legacy__inner {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 860px) {
    .history-page--editorial .history-opening__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .history-page--editorial .history-opening__copy {
        padding-top: 0;
    }

    .history-page--editorial .history-opening__visual {
        min-height: clamp(230px, 50vw, 350px);
    }
}

@media (max-width: 680px) {
    .history-page--editorial .history-opening {
        padding-top: 36px;
        padding-bottom: 30px;
    }

    .history-page--editorial .history-opening h1 {
        font-size: clamp(2.8rem, 14.5vw, 4rem);
    }

    .history-page--editorial .history-opening__intro {
        font-size: clamp(1.12rem, 4.4vw, 1.36rem);
    }

    .history-page--editorial .history-legacy {
        padding: 36px 0;
    }

}

@media (prefers-reduced-motion: reduce) {
    .history-page.is-motion-ready .history-opening__copy,
    .history-page.is-motion-ready .history-origin__copy,
    .history-page.is-motion-ready .history-pillars__heading,
    .history-page.is-motion-ready .history-pillars__text,
    .history-page.is-motion-ready .history-objectives__title,
    .history-page.is-motion-ready .history-opening__visual,
    .history-page.is-motion-ready .history-origin__media,
    .history-page.is-motion-ready .history-pillars__image,
    .history-page.is-motion-ready .history-legacy,
    .history-page.is-motion-ready .history-legacy__inner,
    .history-page.is-motion-ready .history-objectives__grid .history-objective {
        opacity: 1;
        transform: none;
        clip-path: none;
        transition: none;
    }
}
/* Historia animation visibility tuning */
.history-page.is-motion-ready .history-opening__copy,
.history-page.is-motion-ready .history-origin__copy,
.history-page.is-motion-ready .history-pillars__heading,
.history-page.is-motion-ready .history-pillars__text,
.history-page.is-motion-ready .history-objectives__title {
    opacity: 0;
    transform: translateY(44px);
    transition: opacity 860ms cubic-bezier(0.23, 1, 0.32, 1), transform 860ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .history-opening__visual,
.history-page.is-motion-ready .history-pillars__image {
    opacity: 0;
    transform: translateX(46px);
    clip-path: inset(0 26% 0 0 round 34px);
    transition: opacity 1040ms cubic-bezier(0.23, 1, 0.32, 1), transform 1040ms cubic-bezier(0.23, 1, 0.32, 1), clip-path 1040ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .history-origin__media {
    opacity: 0;
    transform: translateX(-46px);
    clip-path: inset(0 0 0 26% round 34px);
    transition: opacity 1040ms cubic-bezier(0.23, 1, 0.32, 1), transform 1040ms cubic-bezier(0.23, 1, 0.32, 1), clip-path 1040ms cubic-bezier(0.23, 1, 0.32, 1);
}

.history-page.is-motion-ready .history-legacy__inner {
    opacity: 0;
    transform: translateY(38px);
    transition: opacity 900ms cubic-bezier(0.23, 1, 0.32, 1) 160ms, transform 900ms cubic-bezier(0.23, 1, 0.32, 1) 160ms;
}

@media (prefers-reduced-motion: reduce) {
    .history-page.is-motion-ready .history-opening__copy,
    .history-page.is-motion-ready .history-origin__copy,
    .history-page.is-motion-ready .history-pillars__heading,
    .history-page.is-motion-ready .history-pillars__text,
    .history-page.is-motion-ready .history-objectives__title,
    .history-page.is-motion-ready .history-opening__visual,
    .history-page.is-motion-ready .history-origin__media,
    .history-page.is-motion-ready .history-pillars__image,
    .history-page.is-motion-ready .history-legacy,
    .history-page.is-motion-ready .history-legacy__inner,
    .history-page.is-motion-ready .history-objectives__grid .history-objective {
        opacity: 1;
        transform: none;
        clip-path: none;
        transition: none;
    }
}

/* Historia: principios institucionales */
.history-objectives--editorial .history-objective:nth-child(2) { --history-objective-delay: 90ms; }
.history-objectives--editorial .history-objective:nth-child(3) { --history-objective-delay: 180ms; }
.history-objectives--editorial .history-objective:nth-child(4) { --history-objective-delay: 270ms; }

.history-page.is-motion-ready .history-objectives--editorial .history-objective + .history-objective::before {
    transform: scaleY(0);
}

.history-page.is-motion-ready .history-objectives--editorial .history-objective__number,
.history-page.is-motion-ready .history-objectives--editorial .history-objective__icon,
.history-page.is-motion-ready .history-objectives--editorial .history-objective__accent,
.history-page.is-motion-ready .history-objectives--editorial .history-objective__text {
    opacity: 0;
    transform: translateY(10px);
}

.history-page.is-motion-ready .history-objectives--editorial .history-objective__number {
    transition: opacity 360ms cubic-bezier(0.23, 1, 0.32, 1) var(--history-objective-delay, 0ms), transform 360ms cubic-bezier(0.23, 1, 0.32, 1) var(--history-objective-delay, 0ms);
}

.history-page.is-motion-ready .history-objectives--editorial .history-objective__icon,
.history-page.is-motion-ready .history-objectives--editorial .history-objective__accent,
.history-page.is-motion-ready .history-objectives--editorial .history-objective__text {
    transition: opacity 380ms cubic-bezier(0.23, 1, 0.32, 1) calc(var(--history-objective-delay, 0ms) + 105ms), transform 380ms cubic-bezier(0.23, 1, 0.32, 1) calc(var(--history-objective-delay, 0ms) + 105ms);
}

.history-page.is-motion-ready .history-objectives--editorial.is-visible .history-objective + .history-objective::before {
    transform: scaleY(1);
}

.history-page.is-motion-ready .history-objectives--editorial.is-visible .history-objective__number,
.history-page.is-motion-ready .history-objectives--editorial.is-visible .history-objective__icon,
.history-page.is-motion-ready .history-objectives--editorial.is-visible .history-objective__accent,
.history-page.is-motion-ready .history-objectives--editorial.is-visible .history-objective__text {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .history-page.is-motion-ready .history-objectives--editorial .history-objective + .history-objective::before {
        transform: scaleY(1);
        transition: none;
    }

    .history-page.is-motion-ready .history-objectives--editorial .history-objective__number,
    .history-page.is-motion-ready .history-objectives--editorial .history-objective__icon,
    .history-page.is-motion-ready .history-objectives--editorial .history-objective__accent,
    .history-page.is-motion-ready .history-objectives--editorial .history-objective__text {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
/* Comision Directiva: composiciones anteriores neutralizadas. */
@media not all {
/* Comision Directiva */
.commission-page {
    overflow-x: clip;
    background:
        radial-gradient(circle at 9% 3%, color-mix(in srgb, var(--color-brand) 10%, transparent), transparent 31rem),
        linear-gradient(180deg, #fffaf7 0%, var(--color-surface-warm) 48%, #fff 100%);
    color: var(--color-text);
}

.commission-hero {
    padding: clamp(58px, 7vw, 96px) 0 clamp(34px, 5vw, 58px);
}

.commission-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    align-items: end;
    gap: clamp(28px, 5vw, 72px);
}

.commission-hero__copy {
    position: relative;
    max-width: 860px;
    padding-left: 22px;
}

.commission-hero__copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35rem;
    bottom: 0.2rem;
    width: 4px;
    border-radius: 999px;
    background: var(--color-brand);
}

.commission-eyebrow,
.commission-section-heading span {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--color-brand);
    font-size: 0.76rem;
    font-weight: 760;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.commission-hero h1 {
    margin: 0;
    max-width: 760px;
    color: var(--color-text);
    font-size: clamp(3rem, 6vw, 6.7rem);
    font-weight: 780;
    line-height: 0.94;
    letter-spacing: -0.055em;
}

.commission-hero p {
    max-width: 670px;
    margin: clamp(18px, 2vw, 26px) 0 0;
    color: color-mix(in srgb, var(--color-text) 68%, transparent);
    font-size: clamp(1.08rem, 0.55vw + 0.98rem, 1.28rem);
    line-height: 1.58;
}

.commission-hero__mark {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(150px, 16vw, 220px);
    aspect-ratio: 1;
    justify-self: end;
    border: 1px solid color-mix(in srgb, var(--color-brand) 15%, transparent);
    border-radius: 38px;
    background:
        radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.26), transparent 34%),
        linear-gradient(135deg, var(--color-brand-deep), var(--color-brand-dark) 54%, var(--color-brand));
    color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 28px 78px color-mix(in srgb, var(--color-brand-dark) 14%, transparent);
    overflow: hidden;
}

.commission-hero__mark::after {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 28px;
}

.commission-hero__mark span {
    position: relative;
    z-index: 1;
    font-size: clamp(2.2rem, 4vw, 4.4rem);
    font-weight: 860;
    letter-spacing: -0.06em;
}

.commission-section {
    padding: clamp(34px, 5vw, 72px) 0;
}

.commission-presidency {
    padding-top: clamp(18px, 3vw, 34px);
}

.commission-president-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 0.44fr) minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-brand) 12%, transparent);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 28px 90px rgba(16, 24, 40, 0.08);
}

.commission-president-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, var(--color-brand), var(--color-brand-dark));
}

.commission-president-card__media,
.commission-person-card__photo {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 18%, color-mix(in srgb, var(--color-brand) 28%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-brand-deep), var(--color-brand-dark));
}

.commission-president-card__media {
    aspect-ratio: 4 / 5;
    min-height: 420px;
}

.commission-president-card__media img,
.commission-person-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 520ms var(--ease-out), filter 520ms var(--ease-out);
}

.commission-president-card__body {
    display: grid;
    align-content: center;
    padding: clamp(30px, 5vw, 62px);
}

.commission-role-label,
.commission-person-card__role {
    color: var(--color-brand);
    font-size: 0.78rem;
    font-weight: 780;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.commission-president-card h2 {
    margin: 12px 0 0;
    color: var(--color-text);
    font-size: clamp(2.2rem, 3.2vw, 4.2rem);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -0.045em;
}

.commission-president-card p {
    max-width: 680px;
    margin: 22px 0 0;
    color: color-mix(in srgb, var(--color-text) 66%, transparent);
    font-size: 1.05rem;
    line-height: 1.72;
}

.commission-contact-list,
.commission-person-card__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.commission-contact-list a,
.commission-person-card__contact a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--color-brand-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-brand) 5%, white);
    color: var(--color-brand-strong);
    font-size: 0.86rem;
    font-weight: 620;
    transition: transform 180ms var(--ease-out), border-color 180ms var(--ease-out), background 180ms var(--ease-out);
}

.commission-contact-list svg,
.commission-person-card__contact svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.commission-section-heading,
.commission-group__heading {
    margin-bottom: clamp(18px, 3vw, 30px);
}

.commission-section-heading h2,
.commission-group__heading h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.65rem, 2vw, 2.8rem);
    font-weight: 740;
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.commission-vice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
}

.commission-groups {
    padding-bottom: clamp(68px, 9vw, 124px);
}

.commission-groups__inner {
    display: grid;
    gap: clamp(34px, 5vw, 64px);
}

.commission-member-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.commission-person-card {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 48px rgba(16, 24, 40, 0.055);
    transition: transform 220ms var(--ease-out), border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), background 220ms var(--ease-out);
}

.commission-person-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--color-brand), transparent);
    opacity: 0.86;
}

.commission-person-card--vice {
    border-color: color-mix(in srgb, var(--color-brand) 15%, transparent);
    box-shadow: 0 20px 62px color-mix(in srgb, var(--color-brand-dark) 7%, transparent);
}

.commission-person-card__photo {
    aspect-ratio: 4 / 5;
}

.commission-person-card__body {
    display: grid;
    gap: 9px;
    padding: 18px;
}

.commission-person-card h3 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.08rem, 0.45vw + 0.95rem, 1.28rem);
    font-weight: 720;
    line-height: 1.14;
    letter-spacing: -0.02em;
}

.commission-person-card p {
    margin: 0;
    color: color-mix(in srgb, var(--color-text) 62%, transparent);
    font-size: 0.92rem;
    line-height: 1.5;
}

.commission-person-card__contact {
    gap: 8px;
    margin-top: 4px;
}

.commission-person-card__contact a {
    max-width: 100%;
    min-height: 34px;
    padding-inline: 10px;
    overflow: hidden;
    font-size: 0.78rem;
}

.commission-person-card__contact span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.commission-photo-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: inherit;
    background:
        radial-gradient(circle at 28% 18%, rgba(255, 255, 255, 0.2), transparent 28%),
        radial-gradient(circle at 82% 70%, color-mix(in srgb, var(--color-brand) 30%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-brand-deep), var(--color-brand-dark) 54%, var(--color-brand));
    color: var(--color-text-on-brand);
}

.commission-photo-placeholder span {
    display: grid;
    place-items: center;
    width: clamp(72px, 45%, 128px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    font-size: clamp(2rem, 5vw, 3.6rem);
    font-weight: 780;
    letter-spacing: -0.05em;
}

.commission-empty {
    padding: clamp(34px, 6vw, 84px) 0 clamp(80px, 10vw, 130px);
}

.commission-empty__card {
    max-width: 720px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid color-mix(in srgb, var(--color-brand) 14%, transparent);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 22px 70px rgba(16, 24, 40, 0.07);
}

.commission-empty__card p {
    margin: 0;
    color: color-mix(in srgb, var(--color-text) 70%, transparent);
    font-size: 1.12rem;
    line-height: 1.65;
}

@media (hover: hover) and (pointer: fine) {
    .commission-president-card:hover .commission-president-card__media img,
    .commission-person-card:hover .commission-person-card__photo img {
        transform: scale(1.035);
        filter: contrast(1.03) saturate(1.02);
    }

    .commission-person-card:hover {
        transform: translateY(-4px);
        border-color: color-mix(in srgb, var(--color-brand) 20%, transparent);
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 24px 68px color-mix(in srgb, var(--color-brand-dark) 9%, transparent);
    }

    .commission-contact-list a:hover,
    .commission-person-card__contact a:hover {
        transform: translateY(-1px);
        border-color: color-mix(in srgb, var(--color-brand) 28%, transparent);
        background: color-mix(in srgb, var(--color-brand) 8%, white);
    }
}

.commission-page.is-motion-ready [data-commission-reveal] {
    opacity: 1;
}

.commission-page.is-motion-ready .commission-hero__copy,
.commission-page.is-motion-ready .commission-hero__mark,
.commission-page.is-motion-ready .commission-president-card,
.commission-page.is-motion-ready .commission-section-heading,
.commission-page.is-motion-ready .commission-group__heading,
.commission-page.is-motion-ready .commission-empty__card {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 760ms var(--ease-out), transform 760ms var(--ease-out);
}

.commission-page.is-motion-ready .is-visible .commission-hero__copy,
.commission-page.is-motion-ready .is-visible .commission-hero__mark,
.commission-page.is-motion-ready .is-visible .commission-president-card,
.commission-page.is-motion-ready .is-visible .commission-section-heading,
.commission-page.is-motion-ready .is-visible .commission-group__heading,
.commission-page.is-motion-ready .is-visible .commission-empty__card {
    opacity: 1;
    transform: translateY(0);
}

.commission-page.is-motion-ready .commission-person-card {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 680ms var(--ease-out), transform 680ms var(--ease-out), border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), background 220ms var(--ease-out);
}

.commission-page.is-motion-ready .is-visible .commission-person-card {
    opacity: 1;
    transform: translateY(0);
}

.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(2) { transition-delay: 80ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(3) { transition-delay: 160ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(4) { transition-delay: 240ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(5) { transition-delay: 320ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(6) { transition-delay: 400ms; }

@media (max-width: 1080px) {
    .commission-member-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .commission-hero__inner,
    .commission-president-card {
        grid-template-columns: 1fr;
    }

    .commission-hero__mark {
        display: none;
    }

    .commission-president-card__media {
        min-height: 0;
        max-height: 520px;
    }

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

@media (max-width: 560px) {
    .commission-hero {
        padding-top: 46px;
    }

    .commission-hero__copy {
        padding-left: 16px;
    }

    .commission-hero h1 {
        font-size: clamp(2.65rem, 14vw, 4.4rem);
    }

    .commission-president-card,
    .commission-person-card {
        border-radius: 22px;
    }

    .commission-president-card__body {
        padding: 24px;
    }

    .commission-contact-list,
    .commission-person-card__contact {
        display: grid;
    }

    .commission-member-grid,
    .commission-vice-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .commission-page.is-motion-ready .commission-hero__copy,
    .commission-page.is-motion-ready .commission-hero__mark,
    .commission-page.is-motion-ready .commission-president-card,
    .commission-page.is-motion-ready .commission-section-heading,
    .commission-page.is-motion-ready .commission-group__heading,
    .commission-page.is-motion-ready .commission-empty__card,
    .commission-page.is-motion-ready .commission-person-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .commission-president-card__media img,
    .commission-person-card__photo img {
        transition: none;
    }
}

/* Comision Directiva - compact production pass */
.commission-page {
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--color-brand) 7%, transparent), transparent 30%),
        linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 72%, var(--color-surface));
    color: var(--color-text);
}

.commission-hero {
    padding: clamp(38px, 5vw, 72px) 0 clamp(18px, 3vw, 34px);
}

.commission-hero__inner {
    display: block;
    min-height: 0;
}

.commission-hero__copy {
    max-width: 740px;
    padding-left: 18px;
}

.commission-hero__copy::before {
    width: 4px;
    border-radius: 999px;
    background: var(--color-brand);
}

.commission-eyebrow {
    margin-bottom: 9px;
    color: var(--color-brand-strong);
    font-size: 0.72rem;
    letter-spacing: 0.11em;
}

.commission-hero h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 0.98;
    letter-spacing: 0;
}

.commission-hero p {
    max-width: 560px;
    margin-top: 13px;
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.55;
}

.commission-directory {
    padding: 0 0 clamp(58px, 7vw, 92px);
}

.commission-section {
    padding: 0;
}

.commission-section + .commission-section,
.commission-group + .commission-group {
    margin-top: clamp(24px, 3vw, 38px);
}

.commission-groups,
.commission-presidency {
    background: transparent;
}

.commission-groups__inner {
    display: block;
}

.commission-group {
    width: 100%;
}

.commission-group__heading,
.commission-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 13px;
}

.commission-group__heading::after,
.commission-section-heading::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 24%, transparent), transparent);
}

.commission-group__heading h2,
.commission-section-heading h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 760;
    letter-spacing: 0;
}

.commission-member-grid,
.commission-vice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 218px), 1fr));
    gap: clamp(14px, 1.6vw, 18px);
}

.commission-member-grid--featured {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 238px), 270px));
}

.commission-person-card,
.commission-person-card--vice,
.commission-person-card--president {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid color-mix(in srgb, var(--color-text) 9%, transparent);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.06);
    transition: transform 190ms ease, border-color 190ms ease, box-shadow 190ms ease, background 190ms ease;
}

.commission-person-card::before,
.commission-person-card--vice::before,
.commission-person-card--president::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: color-mix(in srgb, var(--color-brand) 82%, #ffffff 18%);
    opacity: 0.9;
}

.commission-person-card--president {
    border-color: color-mix(in srgb, var(--color-brand) 26%, transparent);
    background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--color-brand) 4%, #fff));
}

.commission-person-card__photo,
.commission-president-card__media {
    aspect-ratio: 1 / 1;
    width: 100%;
    min-height: 0;
    border-radius: 0;
    background: color-mix(in srgb, var(--color-brand) 8%, #f7f2f2);
}

.commission-person-card__photo img,
.commission-president-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

.commission-photo-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: linear-gradient(135deg, var(--color-brand-dark), var(--color-brand));
    box-shadow: none;
}

.commission-photo-placeholder::before,
.commission-photo-placeholder::after {
    display: none;
}

.commission-photo-placeholder span {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 760;
    letter-spacing: 0.02em;
}

.commission-person-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    padding: 15px 16px 16px 18px;
}

.commission-person-card__role {
    order: 2;
    color: var(--color-brand-strong);
    font-size: 0.74rem;
    font-weight: 720;
    letter-spacing: 0.045em;
    line-height: 1.25;
    text-transform: uppercase;
}

.commission-person-card h3 {
    order: 1;
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1rem, 1.25vw, 1.12rem);
    font-weight: 780;
    line-height: 1.18;
    letter-spacing: 0;
}

.commission-person-card p {
    order: 3;
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--color-text-muted);
    font-size: 0.87rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.commission-person-card__contact {
    order: 4;
    display: grid;
    gap: 5px;
    margin-top: 2px;
}

.commission-person-card__contact a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
    font-weight: 560;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.commission-person-card__contact svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    stroke: var(--color-brand);
}

.commission-empty {
    padding: clamp(30px, 5vw, 56px) 0 clamp(64px, 8vw, 96px);
}

.commission-empty__card {
    max-width: 620px;
    padding: clamp(22px, 3vw, 32px);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 40px rgba(16, 24, 40, 0.07);
}

@media (hover: hover) {
    .commission-person-card:hover {
        transform: translateY(-3px);
        border-color: color-mix(in srgb, var(--color-brand) 22%, transparent);
        background: #fff;
        box-shadow: 0 20px 42px rgba(16, 24, 40, 0.09);
    }

    .commission-person-card:hover .commission-person-card__photo img {
        transform: scale(1.025);
    }

    .commission-person-card__contact a:hover {
        color: var(--color-brand-strong);
    }
}

.commission-page.is-motion-ready [data-commission-reveal] {
    opacity: 1;
}

.commission-page.is-motion-ready .commission-hero__copy,
.commission-page.is-motion-ready .commission-group,
.commission-page.is-motion-ready .commission-empty__card {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.commission-page.is-motion-ready .is-visible .commission-hero__copy,
.commission-page.is-motion-ready .is-visible .commission-group,
.commission-page.is-motion-ready .is-visible .commission-empty__card {
    opacity: 1;
    transform: translateY(0);
}

.commission-page.is-motion-ready .commission-person-card {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 380ms cubic-bezier(0.22, 1, 0.36, 1), transform 380ms cubic-bezier(0.22, 1, 0.36, 1), border-color 190ms ease, box-shadow 190ms ease, background 190ms ease;
}

.commission-page.is-motion-ready .is-visible .commission-person-card {
    opacity: 1;
    transform: translateY(0);
}

.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(2) { transition-delay: 55ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(3) { transition-delay: 110ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(4) { transition-delay: 165ms; }
.commission-page.is-motion-ready .is-visible .commission-person-card:nth-child(5) { transition-delay: 220ms; }

@media (max-width: 900px) {
    .commission-member-grid,
    .commission-vice-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    }
}

@media (max-width: 520px) {
    .commission-hero {
        padding-top: 34px;
    }

    .commission-hero__copy {
        padding-left: 14px;
    }

    .commission-member-grid,
    .commission-vice-grid,
    .commission-member-grid--featured {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 156px), 1fr));
        gap: 12px;
    }

    .commission-person-card__body {
        padding: 13px 13px 14px 15px;
    }

    .commission-person-card h3 {
        font-size: 0.98rem;
    }

    .commission-person-card__role {
        font-size: 0.68rem;
    }

    .commission-person-card p,
    .commission-person-card__contact a {
        font-size: 0.76rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .commission-page.is-motion-ready .commission-hero__copy,
    .commission-page.is-motion-ready .commission-group,
    .commission-page.is-motion-ready .commission-empty__card,
    .commission-page.is-motion-ready .commission-person-card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* Comision Directiva - final compact grid constraints */
.commission-page .commission-member-grid,
.commission-page .commission-vice-grid {
    grid-template-columns: repeat(auto-fill, minmax(210px, 260px));
    justify-content: start;
    align-items: start;
}

.commission-page .commission-member-grid--featured {
    grid-template-columns: repeat(auto-fill, minmax(220px, 270px));
}

.commission-page .commission-person-card {
    max-width: 270px;
}

@media (max-width: 900px) {
    .commission-page .commission-member-grid,
    .commission-page .commission-vice-grid {
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    }

    .commission-page .commission-member-grid--featured {
        grid-template-columns: repeat(auto-fill, minmax(220px, 270px));
    }
}

@media (max-width: 520px) {
    .commission-page .commission-member-grid,
    .commission-page .commission-vice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commission-page .commission-member-grid--featured {
        grid-template-columns: minmax(0, 1fr);
    }

    .commission-page .commission-person-card {
        max-width: none;
    }
}

@media (max-width: 340px) {
    .commission-page .commission-member-grid,
    .commission-page .commission-vice-grid {
        grid-template-columns: 1fr;
    }
}


}

/* Comisión Directiva: composición anterior neutralizada. */
@media not all {
/* Comisión Directiva: jerarquía editorial institucional. */
.commission-page {
    overflow-x: clip;
    background: linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 72%, var(--color-surface));
    color: var(--color-text);
}

.commission-hero {
    padding: clamp(30px, 4.4vw, 52px) 0 clamp(16px, 2.4vw, 28px);
}

.commission-hero__inner {
    display: block;
}

.commission-hero__copy {
    position: relative;
    max-width: 760px;
    padding-left: 14px;
}

.commission-hero__copy::before {
    position: absolute;
    inset: 0.25rem auto 0.25rem 0;
    width: 2px;
    border-radius: 999px;
    background: var(--color-brand);
    content: "";
    opacity: 0.5;
}

.commission-eyebrow {
    display: inline-flex;
    margin-bottom: 7px;
    color: var(--color-brand-strong);
    font-size: 0.68rem;
    font-weight: 840;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.commission-hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--color-text);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 0.96;
    text-transform: uppercase;
}

.commission-hero p {
    max-width: 620px;
    margin: 8px 0 0;
    color: color-mix(in srgb, var(--color-text) 66%, transparent);
    font-size: clamp(0.96rem, 0.5vw + 0.9rem, 1.08rem);
    line-height: 1.48;
}

.commission-directory {
    padding: 0 0 clamp(58px, 7vw, 92px);
}

.commission-section {
    position: relative;
    padding: 0;
}

.commission-section + .commission-section {
    margin-top: clamp(28px, 4vw, 50px);
}

.commission-group__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.commission-group__heading::after {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 24%, transparent), transparent);
    content: "";
}

.commission-group__heading h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(0.98rem, 1.35vw, 1.16rem);
    font-weight: 780;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-transform: uppercase;
}

.commission-member-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 12px;
}

.commission-member-grid--featured {
    grid-template-columns: minmax(0, 780px);
}

.commission-presidency .commission-group__heading h2 {
    color: var(--color-brand-strong);
}

.commission-flow-guide {
    position: relative;
    width: 1px;
    height: clamp(22px, 3vw, 34px);
    margin: 0 0 calc(clamp(28px, 4vw, 50px) * -0.45) clamp(14px, 2vw, 22px);
    background: color-mix(in srgb, var(--color-brand) 35%, transparent);
}

.commission-flow-guide::after {
    position: absolute;
    bottom: -3px;
    left: 50%;
    width: 7px;
    height: 7px;
    border: 1px solid color-mix(in srgb, var(--color-brand) 55%, transparent);
    border-radius: 50%;
    background: var(--color-surface);
    content: "";
    transform: translateX(-50%);
}

.commission-vice .commission-member-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    max-width: 760px;
}

.commission-groups__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(26px, 3vw, 42px) clamp(24px, 3.5vw, 52px);
}

.commission-groups__inner > .commission-group:has(.commission-person-card:nth-child(4)) {
    grid-column: 1 / -1;
}

.commission-person-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    position: relative;
    min-width: 0;
    min-height: 108px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-text) 9%, transparent);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.045);
    transition: border-color 190ms ease, background 190ms ease, box-shadow 190ms ease;
}

.commission-person-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: color-mix(in srgb, var(--color-brand) 78%, #ffffff 22%);
    content: "";
    opacity: 0.82;
}

.commission-person-card--president {
    grid-template-columns: minmax(154px, 220px) minmax(0, 1fr);
    min-height: 196px;
    border-color: color-mix(in srgb, var(--color-brand) 28%, transparent);
    background: color-mix(in srgb, var(--color-brand) 3%, #ffffff);
}

.commission-person-card--vice {
    border-color: color-mix(in srgb, var(--color-brand) 16%, transparent);
}

.commission-person-card__photo {
    position: relative;
    align-self: stretch;
    min-height: 108px;
    overflow: hidden;
    background: color-mix(in srgb, var(--color-brand) 7%, #f7f2f2);
}

.commission-person-card__photo img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

.commission-person-card__photo img[hidden] {
    display: none;
}

.commission-photo-placeholder {
    display: grid;
    position: absolute;
    inset: 0;
    place-items: center;
    background: color-mix(in srgb, var(--color-brand) 7%, var(--color-surface));
    color: var(--color-brand-strong);
}

.commission-photo-placeholder span {
    display: grid;
    width: 40px;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--color-brand) 24%, transparent);
    border-radius: 50%;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: 1.34rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.commission-person-card--no-photo,
.commission-person-card.is-photo-unavailable {
    grid-template-columns: 64px minmax(0, 1fr);
}

.commission-person-card--no-photo .commission-person-card__photo,
.commission-person-card.is-photo-unavailable .commission-person-card__photo {
    align-self: start;
    width: 48px;
    min-height: 48px;
    height: 48px;
    margin: 14px 0 0 14px;
    border-radius: 50%;
}

.commission-person-card--no-photo .commission-photo-placeholder span,
.commission-person-card.is-photo-unavailable .commission-photo-placeholder span {
    width: 100%;
    border: 0;
    font-size: 1.28rem;
}

.commission-person-card--president.commission-person-card--no-photo,
.commission-person-card--president.is-photo-unavailable {
    grid-template-columns: 76px minmax(0, 1fr);
    min-height: 150px;
}

.commission-person-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 15px 16px 16px 14px;
}

.commission-person-card--president .commission-person-card__body {
    justify-content: center;
    padding: clamp(22px, 3vw, 34px);
}

.commission-person-card__role {
    order: 2;
    color: var(--color-brand-strong);
    font-size: 0.7rem;
    font-weight: 760;
    letter-spacing: 0.07em;
    line-height: 1.25;
    text-transform: uppercase;
}

.commission-person-card h3 {
    order: 1;
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1rem, 1.1vw, 1.12rem);
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1.16;
}

.commission-person-card--president h3 {
    font-size: clamp(1.5rem, 2.25vw, 2.2rem);
    line-height: 1;
}

.commission-person-card p {
    order: 3;
    display: -webkit-box;
    margin: 2px 0 0;
    overflow: hidden;
    color: var(--color-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.commission-person-card--president p {
    max-width: 58ch;
    font-size: 0.96rem;
    -webkit-line-clamp: 3;
}

.commission-person-card__contact {
    order: 4;
    display: grid;
    gap: 4px;
    margin-top: 3px;
}

.commission-person-card__contact a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.commission-person-card__contact svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--color-brand);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.commission-empty {
    padding: clamp(30px, 5vw, 56px) 0 clamp(64px, 8vw, 96px);
}

.commission-empty__card {
    max-width: 620px;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid color-mix(in srgb, var(--color-brand) 14%, transparent);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.05);
}

.commission-empty__card p {
    margin: 0;
    color: var(--color-text-muted);
    line-height: 1.55;
}

@media (hover: hover) and (pointer: fine) {
    .commission-person-card:hover {
        border-color: color-mix(in srgb, var(--color-brand) 25%, transparent);
        background: #fff;
        box-shadow: 0 14px 32px rgba(16, 24, 40, 0.075);
    }

    .commission-person-card:not(.commission-person-card--no-photo):not(.is-photo-unavailable):hover .commission-person-card__photo img {
        transform: scale(1.025);
    }

    .commission-person-card__contact a:hover {
        color: var(--color-brand-strong);
    }
}

.commission-page.is-motion-ready .commission-hero__copy,
.commission-page.is-motion-ready .commission-group,
.commission-page.is-motion-ready .commission-flow-guide,
.commission-page.is-motion-ready .commission-empty__card {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.commission-page.is-motion-ready .is-visible .commission-hero__copy,
.commission-page.is-motion-ready .is-visible .commission-group,
.commission-page.is-motion-ready .is-visible .commission-flow-guide,
.commission-page.is-motion-ready .is-visible .commission-empty__card {
    opacity: 1;
    transform: translateY(0);
}

.commission-page.is-motion-ready .commission-person-card {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1), transform 360ms cubic-bezier(0.22, 1, 0.36, 1), border-color 190ms ease, background 190ms ease, box-shadow 190ms ease;
    transition-delay: min(275ms, calc(var(--commission-stagger, 0) * 55ms));
}

.commission-page.is-motion-ready .is-visible .commission-person-card {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 900px) {
    .commission-groups__inner {
        gap: 26px;
    }

    .commission-member-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
}

@media (max-width: 680px) {
    .commission-groups__inner {
        grid-template-columns: 1fr;
    }

    .commission-groups__inner > .commission-group:has(.commission-person-card:nth-child(4)) {
        grid-column: auto;
    }

    .commission-person-card--president {
        grid-template-columns: minmax(122px, 36vw) minmax(0, 1fr);
    }
}

@media (max-width: 520px) {
    .commission-hero {
        padding-block: 24px 16px;
    }

    .commission-hero__copy {
        padding-left: 12px;
    }

    .commission-hero h1 {
        font-size: clamp(2rem, 8.5vw, 2.5rem);
    }

    .commission-member-grid,
    .commission-vice .commission-member-grid {
        grid-template-columns: 1fr;
    }

    .commission-person-card--president {
        grid-template-columns: 1fr;
    }

    .commission-person-card--president .commission-person-card__photo {
        min-height: 170px;
    }

    .commission-person-card--president.commission-person-card--no-photo,
    .commission-person-card--president.is-photo-unavailable {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .commission-person-card--president.commission-person-card--no-photo .commission-person-card__photo,
    .commission-person-card--president.is-photo-unavailable .commission-person-card__photo {
        min-height: 48px;
    }

    .commission-person-card--president .commission-person-card__body {
        padding: 20px;
    }

    .commission-person-card--president.commission-person-card--no-photo .commission-person-card__body,
    .commission-person-card--president.is-photo-unavailable .commission-person-card__body {
        padding: 18px 16px 18px 8px;
    }

    .commission-flow-guide {
        height: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .commission-page.is-motion-ready .commission-hero__copy,
    .commission-page.is-motion-ready .commission-group,
    .commission-page.is-motion-ready .commission-flow-guide,
    .commission-page.is-motion-ready .commission-empty__card,
    .commission-page.is-motion-ready .commission-person-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .commission-person-card__photo img {
        transition: none;
    }
}

}

/* Comisión Directiva: organigrama editorial institucional. */
.commission-page {
    overflow-x: clip;
    background: linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 72%, var(--color-surface));
    color: var(--color-text);
}

.commission-intro {
    padding-top: clamp(16px, 2vw, 24px);
}

.commission-intro p {
    max-width: 650px;
    margin: 0;
    color: var(--color-text-muted);
    font-size: clamp(0.92rem, 0.4vw + 0.84rem, 1rem);
    line-height: 1.5;
}

.commission-organigram { padding: clamp(12px, 2vw, 26px) 0 clamp(68px, 8vw, 112px); }
.commission-organigram__inner { position: relative; }
.commission-axis { position: absolute; top: 0; bottom: 0; left: 35px; width: 1px; overflow: hidden; }
.commission-axis__line { display: block; width: 1px; height: 100%; background: color-mix(in srgb, var(--color-brand) 48%, transparent); transform-origin: top; }

.commission-level {
    --commission-level-delay: 0ms;
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    position: relative;
    gap: clamp(20px, 3.4vw, 52px);
    padding: clamp(16px, 2.3vw, 30px) 0 clamp(30px, 4.4vw, 58px);
}
.commission-level--vice { --commission-level-delay: 90ms; }
.commission-level--management { --commission-level-delay: 180ms; }
.commission-level--vocales { --commission-level-delay: 270ms; }
.commission-level--unassigned { --commission-level-delay: 360ms; }

.commission-level__marker { position: relative; z-index: 1; padding: 8px 0 0 64px; }
.commission-level__node { position: absolute; top: 7px; left: 26px; width: 19px; height: 19px; border: 1px solid color-mix(in srgb, var(--color-brand) 68%, #ffffff 32%); border-radius: 50%; background: var(--color-surface); }
.commission-level__node::after { position: absolute; inset: 5px; border-radius: 50%; background: var(--color-brand); content: ""; }
.commission-level__number,
.commission-level__marker h2 { display: block; margin: 0; font-family: "Barlow Condensed", var(--font-base), sans-serif; text-transform: uppercase; }
.commission-level__number { color: var(--color-brand); font-size: clamp(1.7rem, 2.1vw, 2.25rem); font-weight: 800; letter-spacing: 0.015em; line-height: 0.88; }
.commission-level__marker h2 { margin-top: 9px; color: var(--color-brand-strong); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.125em; line-height: 1.25; }
.commission-level__content { min-width: 0; }

.commission-person-card {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    min-width: 0;
    min-height: 88px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-text) 9%, transparent);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 22px rgba(20, 18, 18, 0.035);
    transition: border-color 230ms ease, box-shadow 230ms ease, transform 230ms ease;
}
.commission-person-card__photo { position: relative; width: 44px; height: 44px; align-self: center; justify-self: center; overflow: hidden; border-radius: 50%; background: color-mix(in srgb, var(--color-brand) 6%, var(--color-surface)); }
.commission-person-card__photo img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform 260ms ease; }
.commission-person-card__photo img[hidden] { display: none; }
.commission-photo-placeholder { display: grid; position: absolute; inset: 0; place-items: center; border: 1px solid color-mix(in srgb, var(--color-brand) 22%, transparent); border-radius: inherit; background: color-mix(in srgb, var(--color-brand) 6%, #ffffff); color: var(--color-brand-strong); }
.commission-photo-placeholder span { font-family: "Barlow Condensed", var(--font-base), sans-serif; font-size: 1rem; font-weight: 800; letter-spacing: 0.04em; }
.commission-person-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: 4px; padding: 14px 16px 14px 0; }
.commission-person-card__role { order: 2; color: var(--color-brand-strong); font-size: 0.64rem; font-weight: 780; letter-spacing: 0.09em; line-height: 1.25; text-transform: uppercase; }
.commission-person-card h3 { order: 1; margin: 0; color: var(--color-text); font-size: 0.94rem; font-weight: 760; letter-spacing: -0.01em; line-height: 1.16; }
.commission-person-card p,
.commission-person-card__contact { display: none; margin: 0; }
.commission-person-card__contact a { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--color-text-muted); font-size: 0.75rem; line-height: 1.3; overflow-wrap: anywhere; }
.commission-person-card__contact svg { width: 14px; height: 14px; flex: 0 0 auto; fill: none; stroke: var(--color-brand); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.commission-person-card--president {
    grid-template-columns: minmax(184px, 27%) minmax(0, 1fr);
    min-height: clamp(180px, 19.5vw, 235px);
    max-width: 900px;
    border-color: color-mix(in srgb, var(--color-brand) 27%, transparent);
    border-radius: 20px;
    background: linear-gradient(105deg, #ffffff 0%, #ffffff 72%, color-mix(in srgb, var(--color-brand) 3%, #ffffff) 100%);
    box-shadow: 0 15px 38px rgba(20, 18, 18, 0.045);
}
.commission-person-card--president::after { position: absolute; right: -48px; bottom: -74px; width: 200px; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--color-brand) 13%, transparent); border-radius: 50%; content: ""; }
.commission-person-card--president .commission-person-card__photo { width: 100%; height: 100%; border-right: 1px solid color-mix(in srgb, var(--color-brand) 20%, transparent); border-radius: 0; }
.commission-person-card--president .commission-person-card__body { position: relative; z-index: 1; align-items: flex-start; padding: clamp(21px, 3vw, 38px); }
.commission-person-card--president .commission-person-card__role { order: 1; margin-bottom: 10px; }
.commission-person-card--president h3 { order: 2; font-family: "Barlow Condensed", var(--font-base), sans-serif; font-size: clamp(2rem, 3.1vw, 3.35rem); font-weight: 760; line-height: 0.9; }
.commission-person-card--president h3::after { display: block; width: 34px; height: 2px; margin-top: 17px; border-radius: 999px; background: var(--color-brand); content: ""; }
.commission-person-card--president p { order: 3; display: -webkit-box; max-width: 56ch; margin-top: 11px; overflow: hidden; color: var(--color-text-muted); font-size: 0.94rem; line-height: 1.52; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.commission-person-card--president .commission-person-card__contact { order: 4; display: grid; gap: 4px; margin-top: 8px; }
.commission-person-card--president.commission-person-card--no-photo,
.commission-person-card--president.is-photo-unavailable { grid-template-columns: 100px minmax(0, 1fr); min-height: 184px; }
.commission-person-card--president.commission-person-card--no-photo .commission-person-card__photo,
.commission-person-card--president.is-photo-unavailable .commission-person-card__photo { width: 72px; height: 72px; align-self: start; margin: 28px 0 0 28px; border: 0; border-radius: 50%; }

.commission-person-card--vice { display: flex; min-height: 0; flex-direction: column; border-radius: 17px; }
.commission-vice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); max-width: 900px; gap: 14px; }
.commission-person-card--vice .commission-person-card__photo { width: 100%; height: clamp(102px, 10.4vw, 132px); border-radius: 0; }
.commission-person-card--vice .commission-person-card__body { padding: 12px 16px 14px; }
.commission-person-card--vice .commission-person-card__role { order: 1; }
.commission-person-card--vice h3 { order: 2; font-size: 1rem; }
.commission-person-card--vice h3::after { display: block; width: 24px; height: 2px; margin-top: 11px; border-radius: 999px; background: color-mix(in srgb, var(--color-brand) 65%, transparent); content: ""; }

.commission-management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px); }
.commission-management-area { min-width: 0; }
.commission-management-area h3 { margin: 0 0 11px; color: var(--color-text); font-size: 0.88rem; font-weight: 780; letter-spacing: 0.01em; line-height: 1.2; text-transform: uppercase; }
.commission-management-area__members { display: grid; gap: 9px; }
.commission-management-area__members .commission-person-card {
    grid-template-columns: 86px minmax(0, 1fr);
    min-height: 119px;
}
.commission-management-area__members .commission-person-card__photo { width: 62px; height: 62px; }
.commission-management-area__members .commission-person-card__body { padding-block: 20px; }
.commission-dense-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 10px; }
.commission-dense-grid .commission-person-card {
    grid-template-columns: 90px minmax(0, 1fr);
    min-height: 127px;
}
.commission-dense-grid .commission-person-card__photo { width: 65px; height: 65px; }
.commission-dense-grid .commission-person-card__body { padding-block: 20px; }
.commission-dense-grid--unassigned { max-width: 980px; }
.commission-person-card--unassigned { min-height: 82px; background: color-mix(in srgb, var(--color-brand) 2%, #ffffff); }

@media (hover: hover) and (pointer: fine) {
    .commission-person-card:hover { border-color: color-mix(in srgb, var(--color-brand) 30%, transparent); box-shadow: 0 12px 29px rgba(20, 18, 18, 0.06); transform: translateY(-1px); }
    .commission-person-card:hover .commission-person-card__photo img { transform: scale(1.02); }
    .commission-person-card__contact a:hover { color: var(--color-brand-strong); }
}

.commission-empty { padding: clamp(34px, 5vw, 60px) 0 clamp(68px, 8vw, 106px); }
.commission-empty__card { max-width: 620px; padding: clamp(22px, 3vw, 32px); border-left: 2px solid var(--color-brand); background: color-mix(in srgb, var(--color-brand) 3%, #ffffff); }
.commission-empty__card p { margin: 8px 0 0; color: var(--color-text-muted); line-height: 1.55; }

.commission-page.is-motion-ready .commission-header-motion .internal-page-header__content,
.commission-page.is-motion-ready .commission-empty__card { opacity: 0; transform: translateY(13px); transition: opacity 440ms cubic-bezier(0.22, 1, 0.36, 1), transform 440ms cubic-bezier(0.22, 1, 0.36, 1); }
.commission-page.is-motion-ready .is-visible .internal-page-header__content,
.commission-page.is-motion-ready .is-visible .commission-empty__card { opacity: 1; transform: translateY(0); }
.commission-page.is-motion-ready .commission-axis__line { transform: scaleY(0); transition: transform 720ms cubic-bezier(0.22, 1, 0.36, 1); }
.commission-page.is-motion-ready .commission-level { opacity: 0; transform: translateY(14px); transition: opacity 430ms cubic-bezier(0.22, 1, 0.36, 1), transform 430ms cubic-bezier(0.22, 1, 0.36, 1); transition-delay: var(--commission-level-delay); }
.commission-page.is-motion-ready .commission-level__node { opacity: 0; transform: scale(0.65); transition: opacity 260ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1); transition-delay: calc(var(--commission-level-delay) + 115ms); }
.commission-page.is-motion-ready .commission-person-card { opacity: 0; transform: translateY(10px); transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1), transform 360ms cubic-bezier(0.22, 1, 0.36, 1), border-color 230ms ease, box-shadow 230ms ease; transition-delay: min(460ms, calc(var(--commission-level-delay) + 120ms + (var(--commission-stagger, 0) * 48ms))); }
.commission-page.is-motion-ready .commission-person-card--president .commission-person-card__photo { clip-path: inset(0 100% 0 0); transition: clip-path 560ms cubic-bezier(0.22, 1, 0.36, 1) 90ms; }
.commission-page.is-motion-ready .commission-organigram.is-visible .commission-axis__line { transform: scaleY(1); }
.commission-page.is-motion-ready .commission-organigram.is-visible .commission-level,
.commission-page.is-motion-ready .commission-organigram.is-visible .commission-person-card { opacity: 1; transform: translateY(0); }
.commission-page.is-motion-ready .commission-organigram.is-visible .commission-level__node { opacity: 1; transform: scale(1); }
.commission-page.is-motion-ready .commission-organigram.is-visible .commission-person-card--president .commission-person-card__photo { clip-path: inset(0); }

@media (max-width: 900px) {
    .commission-level { grid-template-columns: 126px minmax(0, 1fr); gap: 22px; }
    .commission-axis { left: 31px; }
    .commission-level__marker { padding-left: 56px; }
    .commission-level__node { left: 22px; }
    .commission-person-card--president { grid-template-columns: minmax(190px, 34%) minmax(0, 1fr); }
    .commission-management-grid { gap: 20px; }
}
@media (max-width: 660px) {
    .commission-organigram { padding-top: 4px; }
    .commission-axis { left: 12px; }
    .commission-level { grid-template-columns: 94px minmax(0, 1fr); gap: 14px; padding-bottom: 34px; }
    .commission-level__marker { padding-left: 42px; }
    .commission-level__node { left: 3px; }
    .commission-level__number { font-size: 1.55rem; }
    .commission-level__marker h2 { font-size: 0.58rem; letter-spacing: 0.1em; }
    .commission-person-card--president { grid-template-columns: minmax(126px, 33%) minmax(0, 1fr); min-height: 170px; }
    .commission-person-card--president .commission-person-card__body { padding: 21px; }
    .commission-person-card--president h3 { font-size: clamp(1.7rem, 7vw, 2.35rem); }
    .commission-vice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .commission-management-grid { grid-template-columns: 1fr; }
    .commission-dense-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 470px) {
    .commission-level { display: block; padding-left: 38px; }
    .commission-level__marker { padding: 0 0 14px 2px; }
    .commission-level__node { top: 1px; left: -35px; }
    .commission-level__number { display: inline-block; margin-right: 10px; }
    .commission-level__marker h2 { display: inline-block; margin-top: 0; vertical-align: 3px; }
    .commission-person-card--president { grid-template-columns: 1fr; min-height: 0; }
    .commission-person-card--president .commission-person-card__photo { height: 156px; }
    .commission-person-card--president .commission-person-card__body { padding: 24px; }
    .commission-person-card--president.commission-person-card--no-photo,
    .commission-person-card--president.is-photo-unavailable { grid-template-columns: 84px minmax(0, 1fr); min-height: 150px; }
    .commission-person-card--president.commission-person-card--no-photo .commission-person-card__photo,
    .commission-person-card--president.is-photo-unavailable .commission-person-card__photo { width: 58px; height: 58px; margin: 24px 0 0 18px; }
    .commission-person-card--president.commission-person-card--no-photo .commission-person-card__body,
    .commission-person-card--president.is-photo-unavailable .commission-person-card__body { padding: 24px 18px 24px 0; }
    .commission-vice-grid,
    .commission-dense-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .commission-page.is-motion-ready .commission-hero__copy,
    .commission-page.is-motion-ready .commission-empty__card,
    .commission-page.is-motion-ready .commission-level,
    .commission-page.is-motion-ready .commission-level__node,
    .commission-page.is-motion-ready .commission-person-card { opacity: 1; transform: none; transition: none; }
    .commission-page.is-motion-ready .commission-axis__line { transform: scaleY(1); transition: none; }
    .commission-page.is-motion-ready .commission-person-card--president .commission-person-card__photo { clip-path: none; transition: none; }
    .commission-person-card__photo img { transition: none; }
}

/* Staff y colaboradores */
.staff-page {
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--color-brand) 6%, transparent), transparent 30%),
        linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 72%, var(--color-surface));
    color: var(--color-text);
}

.staff-story {
    padding: clamp(20px, 2.6vw, 32px) 0 clamp(36px, 4.5vw, 58px);
}

.staff-story__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 56px);
    align-items: stretch;
}

.staff-carousel {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 0;
    border: 1px solid color-mix(in srgb, var(--color-text) 9%, transparent);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.045);
}

.staff-carousel__viewport {
    flex: 1;
    position: relative;
    min-height: clamp(290px, 27vw, 360px);
}

.staff-carousel__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.staff-carousel__slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.staff-carousel__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.staff-carousel__fallback,
.staff-carousel__slide.is-image-unavailable {
    display: grid;
    flex: 1;
    place-items: center;
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--color-brand) 28%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-brand-dark), var(--color-brand));
    color: var(--color-text-on-brand);
}

.staff-carousel__fallback {
    min-height: clamp(290px, 27vw, 360px);
}

.staff-carousel__fallback span {
    font-size: clamp(3rem, 9vw, 7rem);
    font-weight: 850;
    letter-spacing: 0.03em;
    opacity: 0.2;
}

.staff-carousel__slide.is-image-unavailable::after {
    content: "CSI";
    color: var(--color-text-on-brand);
    font-size: clamp(3rem, 9vw, 7rem);
    font-weight: 850;
    letter-spacing: 0.03em;
    opacity: 0.2;
}

.staff-carousel__slide img[hidden] {
    display: none;
}

.staff-carousel__controls {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: flex;
    gap: 8px;
}

.staff-carousel__button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.46);
    color: #fff;
    cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.staff-carousel__button .material-symbols-rounded {
    font-size: 1.35rem;
}

.staff-carousel__button:hover,
.staff-carousel__button:focus-visible {
    border-color: rgba(255, 255, 255, 0.78);
    background: rgba(17, 17, 17, 0.62);
    transform: translateY(-1px);
}

.staff-carousel__dots {
    position: absolute;
    bottom: 16px;
    left: 16px;
    z-index: 2;
    display: flex;
    gap: 7px;
}

.staff-carousel__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
    cursor: pointer;
    transition: width 180ms ease, background 180ms ease;
}

.staff-carousel__dot.is-active {
    width: 20px;
    background: #fff;
}

.staff-story__copy {
    display: flex;
    max-width: 62ch;
    flex-direction: column;
    justify-content: center;
}

.staff-story__copy p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.04rem, 1.18vw, 1.16rem);
    font-weight: 650;
    line-height: 1.6;
}

.staff-story__copy p + p {
    margin-top: clamp(18px, 2vw, 24px);
    color: var(--color-text-muted);
    font-size: clamp(0.93rem, 1vw, 1.02rem);
    font-weight: 400;
    line-height: 1.68;
}

.staff-people {
    padding: 0 0 clamp(58px, 7vw, 88px);
}

.staff-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.staff-section-heading::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 22%, transparent), transparent);
}

.staff-section-heading h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.05rem, 1.6vw, 1.28rem);
    font-weight: 760;
    letter-spacing: 0;
}

.staff-empty {
    max-width: 620px;
    padding: 18px 20px;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
}

.staff-empty p {
    margin: 0;
    color: var(--color-text-muted);
}

.staff-page.is-motion-ready [data-staff-reveal] {
    opacity: 1;
}

.staff-page.is-motion-ready .staff-header-motion .internal-page-header__content,
.staff-page.is-motion-ready .staff-carousel,
.staff-page.is-motion-ready .staff-story__copy,
.staff-page.is-motion-ready .staff-section-heading,
.staff-page.is-motion-ready .staff-marquee,
.staff-page.is-motion-ready .staff-people__static,
.staff-page.is-motion-ready .staff-empty {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.staff-page.is-motion-ready .is-visible .internal-page-header__content,
.staff-page.is-motion-ready .is-visible .staff-carousel,
.staff-page.is-motion-ready .is-visible .staff-story__copy,
.staff-page.is-motion-ready .is-visible .staff-section-heading,
.staff-page.is-motion-ready .is-visible .staff-marquee,
.staff-page.is-motion-ready .is-visible .staff-people__static,
.staff-page.is-motion-ready .is-visible .staff-empty {
    opacity: 1;
    transform: translateY(0);
}

.staff-page.is-motion-ready .staff-marquee__row {
    animation-play-state: paused;
}

.staff-page.is-motion-ready .staff-people.is-visible .staff-marquee__row {
    animation-play-state: running;
}

@media (max-width: 900px) {
    .staff-story__grid {
        grid-template-columns: 1fr;
    }

    .staff-carousel__viewport,
    .staff-carousel__fallback {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .staff-story__grid {
        gap: 18px;
    }

    .staff-carousel {
        border-radius: 18px;
    }

    .staff-carousel__viewport,
    .staff-carousel__fallback {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }

}

@media (prefers-reduced-motion: reduce) {
    .staff-page.is-motion-ready .staff-header-motion .internal-page-header__content,
    .staff-page.is-motion-ready .staff-carousel,
    .staff-page.is-motion-ready .staff-story__copy,
    .staff-page.is-motion-ready .staff-section-heading,
    .staff-page.is-motion-ready .staff-empty,
    .staff-page.is-motion-ready .staff-marquee,
    .staff-page.is-motion-ready .staff-people__static {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .staff-carousel__slide {
        transition: none;
    }
}


/* Staff nominal marquee */
.staff-page .staff-marquee {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 12px;
    padding: 4px 0 6px;
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.staff-page .staff-marquee__row {
    display: flex;
    width: max-content;
    gap: 14px;
    will-change: transform;
    animation: staffMarquee var(--staff-marquee-duration, 62s) linear infinite;
}

.staff-page .staff-marquee__row--two {
    margin-left: clamp(32px, 8vw, 120px);
    animation-name: staffMarqueeReverse;
    animation-duration: var(--staff-marquee-duration, 70s);
}

.staff-page .staff-marquee__group {
    display: flex;
    flex: 0 0 auto;
    gap: 14px;
    padding-right: 14px;
}

.staff-page .staff-person-pill,
.staff-page .staff-people__static .staff-person-pill {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 210px;
    max-width: min(400px, 84vw);
    min-height: 64px;
    padding: 8px 16px 8px 9px;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 20px rgba(16, 24, 40, 0.035);
}

.staff-page .staff-person-pill::before {
    content: "";
    width: 3px;
    height: 32px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--color-brand);
    opacity: 0.86;
}

.staff-page .staff-person-pill img,
.staff-page .staff-person-pill__avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 999px;
}

.staff-page .staff-person-pill img {
    object-fit: cover;
}

.staff-page .staff-person-pill__avatar {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--color-brand-dark), var(--color-brand));
    color: var(--color-text-on-brand);
    font-size: 0.86rem;
    font-weight: 780;
    letter-spacing: 0.02em;
}

.staff-page .staff-person-pill h3 {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    color: var(--color-text);
    font-size: 0.93rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
}

.staff-page .staff-people__static {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

@keyframes staffMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes staffMarqueeReverse {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

@media (hover: hover) {
    .staff-page .staff-marquee:hover .staff-marquee__row {
        animation-play-state: paused;
    }

    .staff-page .staff-person-pill:hover {
        border-color: color-mix(in srgb, var(--color-brand) 18%, transparent);
        background: #fff;
        box-shadow: 0 10px 22px rgba(16, 24, 40, 0.05);
    }
}

@media (max-width: 520px) {
    .staff-page .staff-marquee {
        gap: 10px;
        mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    }

    .staff-page .staff-marquee__row,
    .staff-page .staff-marquee__group {
        gap: 10px;
    }

    .staff-page .staff-marquee__row--two {
        margin-left: 54px;
    }

    .staff-page .staff-person-pill,
    .staff-page .staff-people__static .staff-person-pill {
        min-width: 182px;
        min-height: 58px;
        padding: 6px 12px 6px 7px;
    }

    .staff-page .staff-person-pill img,
    .staff-page .staff-person-pill__avatar {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .staff-page .staff-person-pill h3 {
        font-size: 0.82rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .staff-page .staff-marquee {
        overflow: visible;
        mask-image: none;
    }

    .staff-page .staff-marquee__row {
        display: block;
        width: auto;
        animation: none;
        transform: none;
    }

    .staff-page .staff-marquee__row--two {
        margin-left: 0;
    }

    .staff-page .staff-marquee__group {
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
    }

    .staff-page .staff-marquee__group[aria-hidden="true"] {
        display: none;
    }
}


/* Instalaciones */
.facilities-page {
    background:
        radial-gradient(circle at 9% 0%, color-mix(in srgb, var(--color-brand) 7%, transparent), transparent 32%),
        linear-gradient(180deg, var(--color-surface), var(--color-surface-muted) 70%, var(--color-surface));
    color: var(--color-text);
}

.facilities-hero {
    padding: clamp(34px, 4.8vw, 64px) 0 clamp(14px, 2vw, 24px);
}

.facilities-hero__copy {
    position: relative;
    max-width: 720px;
    padding-left: 18px;
}

.facilities-hero__copy::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 6px;
    left: 0;
    width: 4px;
    border-radius: 999px;
    background: var(--color-brand);
}

.facilities-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--color-brand-strong);
    font-size: 0.72rem;
    font-weight: 820;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.facilities-hero h1 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(2.05rem, 3.9vw, 3.35rem);
    line-height: 1;
    letter-spacing: 0;
}

.facilities-hero p {
    max-width: 560px;
    margin: 12px 0 0;
    color: var(--color-text-muted);
    font-size: clamp(0.98rem, 1.18vw, 1.08rem);
    line-height: 1.55;
}

.facilities-viewer-section {
    padding: 0 0 clamp(32px, 4vw, 52px);
}

.facilities-filter {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
}

.facilities-content-surface {
    padding: clamp(.9rem, 1.8vw, 1.25rem);
}

.facilities-content-surface .facilities-filter {
    margin-bottom: clamp(12px, 1.65vw, 16px);
}

.facilities-filter::-webkit-scrollbar {
    display: none;
}

.facilities-filter__button {
    flex: 0 0 auto;
    min-height: var(--editorial-control-height, 2.75rem);
    padding: 0 15px;
    border: 1px solid var(--color-border);
    border-radius: var(--editorial-control-radius, .72rem);
    background: rgba(255, 255, 255, 0.78);
    color: var(--color-text-muted);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 680;
    cursor: pointer;
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.facilities-filter__button:hover,
.facilities-filter__button:focus-visible,
.facilities-filter__button.is-active {
    border-color: color-mix(in srgb, var(--color-brand) 28%, transparent);
    background: var(--color-brand-surface);
    color: var(--color-brand-strong);
}

.facilities-filter__button:focus-visible,
.facilities-viewer:focus-visible,
.facilities-viewer__button:focus-visible,
.facilities-viewer__dot:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

.facilities-viewer {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(320px, 0.78fr);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 24px 70px rgba(35, 12, 10, 0.075);
    touch-action: pan-y;
}

.facilities-viewer__media {
    position: relative;
    min-height: 440px;
    background: var(--color-brand-dark);
}

.facilities-viewer__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    transform: scale(1.015);
}

.facilities-viewer__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.facilities-viewer__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.facilities-viewer__panel {
    position: relative;
    display: flex;
    min-height: 440px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px, 3.3vw, 42px);
}

.facilities-viewer__content {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1), transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.facilities-viewer__content.is-active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.facilities-viewer__count {
    display: block;
    margin-bottom: 18px;
    color: color-mix(in srgb, var(--color-text) 35%, transparent);
    font-size: 0.78rem;
    font-weight: 760;
    letter-spacing: 0.08em;
}

.facilities-viewer__category {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--color-brand-strong);
    font-size: 0.73rem;
    font-weight: 820;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.facilities-viewer__content h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.7rem, 2.7vw, 2.55rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.facilities-viewer__content p {
    margin: 14px 0 0;
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.62;
}

.facilities-viewer__controls {
    display: flex;
    gap: 8px;
    margin-top: 24px;
}

.facilities-viewer__button {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: #fff;
    color: var(--color-text);
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.facilities-viewer__button:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--color-brand) 24%, transparent);
    color: var(--color-brand);
    box-shadow: 0 10px 22px rgba(35, 12, 10, 0.07);
}

.facilities-viewer__button .material-symbols-rounded {
    font-size: 1.35rem;
}

.facilities-viewer__dots {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
}

.facilities-viewer__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-text) 20%, transparent);
    cursor: pointer;
    transition: width 180ms ease, background 180ms ease;
}

.facilities-viewer__dot.is-active {
    width: 24px;
    background: var(--color-brand);
}

.facilities-empty {
    padding: 28px 30px;
    border: 1px solid var(--color-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.82);
}

.facilities-empty p {
    margin: 0;
    color: var(--color-text-muted);
}

.facilities-summary {
    padding: 0 0 clamp(58px, 7vw, 86px);
}

.facilities-summary__inner {
    display: grid;
    grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(24px, 4vw, 54px);
    align-items: start;
}

.facilities-summary__stats {
    display: grid;
    gap: 10px;
}

.facilities-summary__stats article {
    padding: 17px 18px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 28px rgba(35, 12, 10, 0.045);
}

.facilities-summary__stats strong {
    display: block;
    color: var(--color-brand-strong);
    font-size: clamp(1.35rem, 2.3vw, 1.95rem);
    line-height: 1;
}

.facilities-summary__stats span {
    display: block;
    margin-top: 6px;
    color: var(--color-text-muted);
    font-size: 0.92rem;
    line-height: 1.35;
}

.facilities-summary__copy {
    max-width: 780px;
}

.facilities-summary__copy h2 {
    margin: 0 0 12px;
    color: var(--color-text);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1.1;
}

.facilities-summary__copy p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(0.98rem, 1.08vw, 1.06rem);
    line-height: 1.72;
}

.facilities-summary__copy p + p {
    margin-top: 12px;
    color: var(--color-text-muted);
}

.facilities-page.is-motion-ready [data-facilities-reveal] {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 430ms cubic-bezier(0.22, 1, 0.36, 1), transform 430ms cubic-bezier(0.22, 1, 0.36, 1);
}

.facilities-page.is-motion-ready [data-facilities-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.home-facilities {
    padding: clamp(34px, 4.6vw, 58px) 0;
    background:
        radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--color-brand) 7%, transparent), transparent 28%),
        linear-gradient(180deg, var(--color-surface), var(--color-surface-warm));
}

.home-facilities__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.78fr);
    gap: clamp(20px, 3vw, 34px);
    align-items: center;
}

.home-facilities__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 24px;
    background: var(--color-brand-dark);
    box-shadow: 0 22px 60px rgba(35, 12, 10, 0.09);
}

.home-facilities__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
    transform: scale(1.02);
}

.home-facilities__slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.home-facilities__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-facilities__copy {
    position: relative;
    max-width: 500px;
    padding-left: 18px;
}

.home-facilities__copy::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 2px;
    left: 0;
    width: 4px;
    border-radius: 999px;
    background: var(--color-brand);
}

.home-facilities__eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--color-brand-strong);
    font-size: 0.7rem;
    font-weight: 820;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.home-facilities h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.55rem, 2.5vw, 2.25rem);
    line-height: 1.05;
}

.home-facilities__items {
    position: relative;
    min-height: 128px;
    margin-top: 16px;
}

.home-facilities__item {
    position: absolute;
    inset: 0 auto auto 0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 360ms cubic-bezier(0.22, 1, 0.36, 1), transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home-facilities__item.is-active {
    opacity: 1;
    transform: translateY(0);
}

.home-facilities__item span {
    display: block;
    margin-bottom: 6px;
    color: var(--color-brand-strong);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-facilities__item h3 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.15rem, 1.6vw, 1.45rem);
    line-height: 1.15;
}

.home-facilities__item p {
    margin: 8px 0 0;
    color: var(--color-text-muted);
    font-size: 0.96rem;
    line-height: 1.55;
}

.home-facilities__action {
    margin-top: 12px;
}

@media (max-width: 900px) {
    .facilities-viewer,
    .facilities-summary__inner,
    .home-facilities__inner {
        grid-template-columns: 1fr;
    }

    .facilities-viewer__media,
    .facilities-viewer__panel {
        min-height: 0;
    }

    .facilities-viewer__media {
        aspect-ratio: 16 / 10;
    }

    .facilities-viewer__panel {
        padding: 24px;
    }

    .facilities-summary__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-facilities__copy {
        max-width: 680px;
    }
}

@media (max-width: 620px) {
    .facilities-hero__copy,
    .home-facilities__copy {
        padding-left: 14px;
    }

    .facilities-viewer {
        border-radius: 22px;
    }

    .facilities-viewer__media {
        aspect-ratio: 4 / 3;
    }

    .facilities-viewer__panel {
        padding: 20px;
    }

    .facilities-summary__stats {
        grid-template-columns: 1fr;
    }

    .home-facilities__media {
        border-radius: 20px;
    }

    .home-facilities__items {
        min-height: 150px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .facilities-page.is-motion-ready [data-facilities-reveal],
    .facilities-viewer__slide,
    .facilities-viewer__content,
    .home-facilities__slide,
    .home-facilities__item {
        transform: none;
        transition: none;
    }
}


/* Instalaciones - marquee revision */
.home-facilities__header {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.home-facilities__inner {
    margin-top: 0;
}

.home-facilities__copy::before {
    display: none;
}

.home-facilities__copy {
    padding-left: 0;
}

.home-facilities__kicker {
    display: block;
    margin-bottom: 12px;
    color: var(--color-text);
    font-size: clamp(1.18rem, 1.9vw, 1.55rem);
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: 0;
}

.home-facilities__items {
    margin-top: 0;
}

/* Instalaciones - home facts refinement */
.home-facilities__copy {
    max-width: 480px;
    padding: clamp(20px, 2.3vw, 28px);
    border: 1px solid color-mix(in srgb, var(--color-brand) 12%, transparent);
    border-left: 4px solid var(--color-brand);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-brand) 7%, transparent), transparent 42%),
        rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 42px rgba(35, 12, 10, 0.055);
}

.home-facilities__items {
    min-height: 116px;
}

.home-facilities__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: clamp(16px, 2.2vw, 24px);
}

.home-facilities__fact {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.74);
}

.home-facilities__fact strong {
    flex: 0 0 auto;
    color: var(--color-brand-strong);
    font-size: clamp(1rem, 1.45vw, 1.28rem);
    line-height: 1;
}

.home-facilities__fact span {
    min-width: 0;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    line-height: 1.25;
}

@media (max-width: 900px) {
    .home-facilities__copy {
        max-width: none;
    }

    .home-facilities__facts {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .home-facilities__fact {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

.staff-section-heading::before {
    content: "";
    width: 24px;
    height: 2px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--color-brand);
}

/* Instalaciones - shared page and home showcase */
.home-facilities__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(16px, 3vw, 32px);
}

.home-facilities__action {
    flex: 0 0 auto;
    margin-top: 0;
    margin-left: auto;
}

.facilities-viewer {
    align-items: stretch;
}

.facilities-viewer__media,
.facilities-viewer__panel {
    min-height: clamp(390px, 34vw, 470px);
    height: 100%;
}

.facilities-viewer__panel {
    justify-content: space-between;
    gap: clamp(18px, 2.2vw, 28px);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-brand) 7%, transparent), transparent 42%),
        rgba(255, 255, 255, 0.9);
}

.facilities-viewer__kicker {
    display: block;
    color: var(--color-text);
    font-size: clamp(1.08rem, 1.45vw, 1.35rem);
    font-weight: 760;
    line-height: 1.15;
}

.facilities-viewer__contents {
    position: relative;
    min-height: 200px;
}

.facilities-viewer__nav {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

.facilities-viewer--home {
    grid-template-columns: minmax(0, 1.38fr) minmax(280px, 0.72fr);
    border-radius: 28px;
}

.facilities-viewer--home .facilities-viewer__media,
.facilities-viewer--home .facilities-viewer__panel {
    min-height: clamp(350px, 29vw, 410px);
}

.facilities-viewer--home .facilities-viewer__panel {
    padding: clamp(22px, 2.7vw, 34px);
}

.facilities-viewer--home .facilities-viewer__contents {
    min-height: 170px;
}

.facilities-viewer__content h3 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.55rem, 2.25vw, 2.15rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.facilities-indicators {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
}

.facilities-indicator {
    position: relative;
    min-width: 0;
    padding: 18px 0 8px;
    isolation: isolate;
}

.facilities-indicator::before,
.facilities-indicator::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    border-radius: 999px;
}

.facilities-indicator::before {
    background: color-mix(in srgb, var(--color-brand) 30%, transparent);
}

.facilities-indicator::after {
    right: auto;
    width: 46px;
    height: 2px;
    background: var(--color-brand);
    box-shadow: 0 0 18px color-mix(in srgb, var(--color-brand) 36%, transparent);
}

.facilities-indicator strong {
    display: block;
    color: var(--color-brand);
    font-size: clamp(1.55rem, 3vw, 2.55rem);
    font-weight: 860;
    line-height: 0.95;
    letter-spacing: -0.01em;
}

.facilities-indicator span {
    display: block;
    margin-top: 9px;
    color: var(--color-text-muted);
    font-size: 0.94rem;
    line-height: 1.28;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator {
    animation: facilitiesIndicatorIn 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator span {
    animation: facilitiesIndicatorTextIn 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 130ms;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2) {
    animation-delay: 90ms;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2) span {
    animation-delay: 220ms;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3) {
    animation-delay: 180ms;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3) span {
    animation-delay: 310ms;
}

@keyframes facilitiesIndicatorIn {
    from {
        opacity: 0;
        transform: translateX(-16px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes facilitiesIndicatorTextIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .home-facilities__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-facilities__action {
        margin-left: 0;
    }

    .facilities-viewer--home {
        grid-template-columns: 1fr;
    }

    .facilities-viewer__media,
    .facilities-viewer__panel {
        height: auto;
        min-height: 0;
    }

    .facilities-viewer--home .facilities-viewer__media,
    .facilities-viewer--home .facilities-viewer__panel {
        min-height: 0;
    }

    .facilities-viewer__media {
        aspect-ratio: 16 / 10;
    }

    .facilities-viewer__panel {
        gap: 18px;
    }

    .facilities-indicators {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .facilities-viewer__nav {
        align-items: flex-start;
        flex-direction: column;
    }

    .facilities-indicator {
        padding-top: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator,
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator span {
        animation: none;
    }
}

/* Instalaciones - summary indicators full-width */
.facilities-summary__inner {
    grid-template-columns: 1fr;
    gap: clamp(20px, 3vw, 34px);
}

.facilities-summary__copy {
    max-width: 880px;
}

/* Instalaciones home - action below content */
.home-facilities__header {
    display: block;
}

.home-facilities__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(16px, 2.4vw, 24px);
}

.home-facilities__footer .home-facilities__action {
    margin-left: 0;
}

@media (max-width: 620px) {
    .home-facilities__footer {
        justify-content: flex-start;
    }
}

/* Instalaciones - home indicators and filtered viewer */
.home-facilities__indicators {
    margin-top: clamp(18px, 2.8vw, 30px);
}

.facilities-filter {
    max-width: 100%;
    margin-bottom: clamp(14px, 2vw, 20px);
    -webkit-overflow-scrolling: touch;
}

.facilities-filter__button[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--color-brand) 30%, transparent);
    background: var(--color-brand-surface);
    color: var(--color-brand-strong);
}

.facilities-viewer__nav.is-hidden {
    display: none;
}

.facilities-viewer__button:disabled {
    cursor: default;
    opacity: 0.45;
    pointer-events: none;
}

.facilities-viewer__dot[hidden],
.facilities-viewer__slide[hidden],
.facilities-viewer__content[hidden] {
    display: none;
}

.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator::before,
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator::after {
    transform: scaleX(0);
}

.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator strong,
.home-facilities.is-motion-ready .home-facilities__indicators:not(.is-visible) .facilities-indicator span {
    opacity: 0;
    transform: translateY(10px);
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator::before,
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator::after,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator::before,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator::after {
    animation: facilitiesLineReveal 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
    transform-origin: left center;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator strong,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator strong {
    animation: facilitiesNumberReveal 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 120ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator span,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator span {
    animation: facilitiesLabelReveal 480ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 230ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2)::before,
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2)::after,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2)::before,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2)::after {
    animation-delay: 90ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2) strong,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2) strong {
    animation-delay: 210ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(2) span,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(2) span {
    animation-delay: 320ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3)::before,
.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3)::after,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3)::before,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3)::after {
    animation-delay: 180ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3) strong,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3) strong {
    animation-delay: 300ms;
}

.home-facilities.is-motion-ready .home-facilities__indicators.is-visible .facilities-indicator:nth-child(3) span,
.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator:nth-child(3) span {
    animation-delay: 410ms;
}

.facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator {
    animation: none;
}

@keyframes facilitiesLineReveal {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

@keyframes facilitiesNumberReveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes facilitiesLabelReveal {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 620px) {
    .home-facilities__indicators {
        margin-top: 18px;
    }

    .facilities-filter {
        margin-inline: calc(var(--container-padding) * -1);
        padding-inline: var(--container-padding);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-facilities.is-motion-ready .home-facilities__indicators .facilities-indicator::before,
    .home-facilities.is-motion-ready .home-facilities__indicators .facilities-indicator::after,
    .home-facilities.is-motion-ready .home-facilities__indicators .facilities-indicator strong,
    .home-facilities.is-motion-ready .home-facilities__indicators .facilities-indicator span,
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator::before,
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator::after,
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator strong,
    .facilities-page.is-motion-ready .facilities-summary.is-visible .facilities-indicator span {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* Instalaciones - summary before viewer */
.facilities-page .facilities-summary {
    padding: 0 0 clamp(24px, 3.4vw, 40px);
}

.facilities-page .facilities-summary + .facilities-viewer-section {
    padding-top: 0;
}

.facilities-page .facilities-summary__copy {
    max-width: 760px;
}

.facilities-page .facilities-summary__copy p {
    max-width: 72ch;
}

.facilities-page .facilities-summary__lead {
    color: var(--color-text);
    font-size: clamp(1.04rem, 1.25vw, 1.18rem);
    font-weight: 600;
    line-height: 1.58;
}

.facilities-page .facilities-summary__address {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-top: 16px;
    color: var(--color-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.facilities-page .facilities-summary__address span {
    color: var(--color-brand-strong);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.facilities-viewer-section .facilities-filter__button.is-active,
.facilities-viewer-section .facilities-filter__button[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--color-brand) 42%, transparent);
    color: var(--color-brand-strong);
}

@media (max-width: 760px) {
    .facilities-page .facilities-summary__address {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
}

.agenda-event-card--cancelled {
    opacity: 0.86;
}

.agenda-event-card--cancelled .agenda-event-card__date {
    background: linear-gradient(180deg, rgba(70, 70, 70, 0.95), rgba(28, 28, 28, 0.95));
}



/* Public Agenda V1 */
.public-agenda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 14px;
}

.public-agenda-grid--home,
.public-agenda-grid--sport {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-agenda-card {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 18px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.98);
    color: var(--color-text, #171717);
    box-shadow: 0 12px 34px rgba(17, 17, 17, 0.06);
}

.public-agenda-card--full {
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 16px;
    border-radius: 22px;
}

.public-agenda-card--cancelled {
    border-color: rgba(17, 17, 17, 0.16);
    background: #fbfbfb;
}

.public-agenda-card__date {
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 84px;
    border-radius: 14px;
    padding: 10px 8px;
    background: linear-gradient(180deg, var(--color-brand, #cd352c), #8f1717);
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

.public-agenda-card--cancelled .public-agenda-card__date {
    background: linear-gradient(180deg, #555, #262626);
}

.public-agenda-card__date strong {
    font-size: 2rem;
    line-height: 0.95;
}

.public-agenda-card__date span {
    margin-top: 4px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.public-agenda-card__date small {
    margin-top: 7px;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.public-agenda-card__body {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
}

.public-agenda-card__meta,
.public-agenda-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.public-agenda-card__meta {
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.public-agenda-card__meta a {
    color: var(--color-brand, #cd352c);
    text-decoration: none;
}

.public-agenda-card__meta a:focus-visible,
.public-agenda-card__link:focus-visible,
.public-agenda-filters a:focus-visible,
.public-agenda-filters button:focus-visible,
.public-agenda-filters select:focus-visible,
.sport-detail-heading__action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand, #cd352c) 35%, transparent);
    outline-offset: 3px;
}

.public-agenda-card__status {
    border-radius: 999px;
    padding: 3px 7px;
    background: #2f2f2f;
    color: #fff;
    letter-spacing: 0.03em;
}

.public-agenda-card h3 {
    margin: 0;
    color: var(--color-text, #171717);
    font-size: clamp(1rem, 1.35vw, 1.22rem);
    line-height: 1.18;
}

.public-agenda-card__facts span {
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 999px;
    padding: 5px 8px;
    background: #f8f6f5;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.78rem;
    font-weight: 650;
}

.public-agenda-card__place {
    display: flex;
    gap: 6px;
    align-items: center;
    margin: 0;
    color: rgba(17, 17, 17, 0.68);
    font-size: 0.86rem;
    font-weight: 620;
}

.public-agenda-card__place .material-symbols-rounded {
    color: var(--color-brand, #cd352c);
    font-size: 1rem;
}

.public-agenda-card__schedule {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 2px;
}

.public-agenda-card__schedule div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid rgba(205, 53, 44, 0.12);
    border-radius: 10px;
    padding: 7px 9px;
    background: #fff7f6;
}

.public-agenda-card__schedule span {
    min-width: 0;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.82rem;
    font-weight: 650;
}

.public-agenda-card__schedule strong {
    color: var(--color-brand, #cd352c);
    font-size: 0.82rem;
}

.public-agenda-card__description {
    margin: 4px 0 0;
    max-width: 68ch;
    color: rgba(17, 17, 17, 0.68);
    line-height: 1.55;
}

.public-agenda-card__link {
    width: fit-content;
    color: var(--color-brand, #cd352c);
    font-weight: 800;
    text-decoration: none;
}

.public-agenda-page {
    padding-block: clamp(36px, 6vw, 72px);
    background: linear-gradient(180deg, #fff, #fafafa);
}

.public-agenda-page__container {
    max-width: min(var(--container), 1120px);
}

.public-agenda-page__header {
    max-width: 760px;
    margin-bottom: 22px;
}

.public-agenda-page__header span,
.public-agenda-filters label > span {
    color: var(--color-brand, #cd352c);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.public-agenda-page__header h1 {
    margin: 6px 0;
    color: var(--color-text, #171717);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.02;
}

.public-agenda-page__header p {
    margin: 0;
    color: rgba(17, 17, 17, 0.68);
    font-size: 1.05rem;
}

.public-agenda-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    margin-bottom: 22px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 18px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.84);
}

.public-agenda-filters label {
    display: grid;
    gap: 5px;
    min-width: min(100%, 210px);
}

.public-agenda-filters select,
.public-agenda-filters button,
.public-agenda-filters a {
    min-height: 40px;
    border-radius: 999px;
    font: inherit;
}

.public-agenda-filters select {
    border: 1px solid rgba(17, 17, 17, 0.12);
    padding: 0 12px;
    background: #fff;
    color: var(--color-text, #171717);
}

.public-agenda-filters button,
.public-agenda-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(205, 53, 44, 0.18);
    padding: 0 14px;
    background: var(--color-brand, #cd352c);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.public-agenda-filters a {
    background: #fff;
    color: var(--color-brand, #cd352c);
}

.public-agenda-list {
    display: grid;
    gap: 14px;
}

.public-agenda-empty {
    display: grid;
    gap: 8px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 20px;
    padding: 24px;
    background: #fff;
    color: rgba(17, 17, 17, 0.68);
}

.public-agenda-empty .material-symbols-rounded {
    color: var(--color-brand, #cd352c);
    font-size: 2rem;
}

.public-agenda-empty h2,
.public-agenda-empty p {
    margin: 0;
}

.home-agenda-strip {
    padding-block: 22px 26px;
}

.home-agenda-strip__bar {
    gap: 12px;
}

.home-agenda-strip__label h2 {
    font-size: clamp(1.08rem, 1.55vw, 1.28rem);
}

.home-agenda-strip__link--below {
    justify-self: end;
    margin-top: 0;
}

.sport-detail-section--agenda {
    padding-block: clamp(26px, 4vw, 44px);
    background: #fff;
}

.sport-detail-heading--with-action {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.sport-detail-heading__action {
    flex: 0 0 auto;
}

.sport-detail-section--agenda .sport-detail-heading--agenda {
    width: 100%;
    max-width: none;
    margin-bottom: clamp(20px, 3vw, 30px);
}

.sport-detail-section--agenda .sport-detail-heading__copy {
    display: grid;
    gap: 3px;
}

.sport-detail-section--agenda .sport-detail-heading__copy p {
    margin: 0;
    color: rgba(17, 17, 17, 0.62);
    font-size: clamp(1.02rem, 1.4vw, 1.16rem);
    font-weight: 720;
    line-height: 1.2;
}

.sport-detail-agenda__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(18px, 3vw, 28px);
}

.sport-detail-agenda__link {
    width: fit-content;
}

@media (max-width: 980px) {
    .public-agenda-grid--home,
    .public-agenda-grid--sport {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .public-agenda-grid--home,
    .public-agenda-grid--sport,
    .public-agenda-grid {
        grid-template-columns: 1fr;
    }

    .public-agenda-card,
    .public-agenda-card--full {
        grid-template-columns: 1fr;
    }

    .public-agenda-card__date {
        display: flex;
        justify-content: flex-start;
        gap: 10px;
        min-height: 0;
        text-align: left;
    }

    .public-agenda-card__date small {
        margin-top: 0;
        align-self: center;
    }

    .public-agenda-card__schedule {
        grid-template-columns: 1fr;
    }

    .public-agenda-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .sport-detail-heading--with-action {
        align-items: start;
        flex-direction: column;
    }

    .sport-detail-agenda__footer {
        justify-content: flex-start;
    }
}

/* Agenda institutional/social submission */
.agenda-submit-page {
    padding-block: clamp(36px, 7vw, 76px);
    background: linear-gradient(180deg, #fff, #fafafa);
}

.agenda-submit-page__container {
    max-width: min(var(--container), 720px);
}

.agenda-submit-page__header {
    margin-bottom: 18px;
}

.agenda-submit-page__header span {
    color: var(--color-brand, #cd352c);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.agenda-submit-page__header h1,
.agenda-submit-success h1 {
    margin: 6px 0;
    color: var(--color-text, #171717);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.05;
}

.agenda-submit-page__header p,
.agenda-submit-success p {
    margin: 0;
    color: rgba(17, 17, 17, 0.68);
    line-height: 1.5;
}

.agenda-submit-form,
.agenda-submit-success {
    display: grid;
    gap: 14px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    border-radius: 18px;
    padding: clamp(18px, 4vw, 26px);
    background: #fff;
    box-shadow: 0 16px 38px rgba(17, 17, 17, 0.06);
}

.agenda-submit-form__field {
    display: grid;
    gap: 6px;
}

.agenda-submit-form__field label {
    color: var(--color-text, #171717);
    font-weight: 800;
}

.agenda-submit-form__field input {
    width: 100%;
    min-height: 46px;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    color: var(--color-text, #171717);
    font: inherit;
}

.agenda-submit-form__field input:focus-visible,
.agenda-submit-form__button:focus-visible,
.public-agenda-scope a:focus-visible {
    outline: 3px solid rgba(205, 53, 44, 0.28);
    outline-offset: 2px;
}

.agenda-submit-form__help {
    margin: 0;
    color: rgba(17, 17, 17, 0.62);
    font-size: 0.88rem;
}

.agenda-submit-form__errors {
    color: #a32019;
    font-weight: 700;
}

.agenda-submit-form__errors ul {
    margin: 0;
    padding-left: 18px;
}

.agenda-submit-form__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    padding: 0 18px;
    background: var(--color-brand, #cd352c);
    color: #fff;
    font: inherit;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}

.agenda-submit-success .material-symbols-rounded {
    color: var(--color-brand, #cd352c);
    font-size: 2.2rem;
}

.public-agenda-scope {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.public-agenda-scope a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border: 1px solid rgba(17, 17, 17, 0.09);
    border-radius: 999px;
    padding: 0 13px;
    background: #fff;
    color: rgba(17, 17, 17, 0.72);
    font-weight: 800;
    text-decoration: none;
}

.public-agenda-scope a[aria-current="page"] {
    border-color: rgba(205, 53, 44, 0.26);
    background: #fff4f3;
    color: var(--color-brand, #cd352c);
}

@media (max-width: 720px) {
    .agenda-submit-form__button {
        width: 100%;
    }

    .public-agenda-scope {
        flex-wrap: nowrap;
        margin-inline: calc(var(--container-padding, 20px) * -1);
        overflow-x: auto;
        padding-inline: var(--container-padding, 20px);
        scrollbar-width: none;
    }

    .public-agenda-scope::-webkit-scrollbar {
        display: none;
    }

    .public-agenda-scope a {
        flex: 0 0 auto;
    }
}

/* Home Agenda timeline */
.home-agenda-strip {
    padding-block: clamp(42px, 6vw, 76px);
    background: linear-gradient(180deg, #fff, #fbfbfb);
}

.home-agenda-strip__container {
    max-width: min(var(--container), 1180px);
}

.home-agenda-strip__bar {
    display: grid;
    gap: clamp(22px, 3.2vw, 34px);
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.home-agenda-strip__bar::before,
.home-agenda-strip__bar::after {
    display: none;
}

.home-agenda-strip__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin: 0;
}

.home-agenda-strip__label {
    display: grid;
    gap: 6px;
}

.home-agenda-strip__label span {
    color: var(--color-brand, #cd352c);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.home-agenda-strip__label h2 {
    margin: 0;
    color: var(--color-text, #171717);
    font-size: clamp(1.7rem, 2.55vw, 2.35rem);
    line-height: 1.05;
    letter-spacing: 0;
}

.home-agenda-strip__link,
.home-agenda-strip__link--below {
    justify-self: end;
    min-height: 42px;
    margin: 0;
}

.home-agenda-timeline {
    --timeline-top: 88px;
    --timeline-dot: 12px;
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-agenda-timeline::before {
    content: "";
    position: absolute;
    top: var(--timeline-top);
    right: clamp(20px, 4vw, 44px);
    left: clamp(20px, 4vw, 44px);
    height: 1px;
    background: rgba(17, 17, 17, 0.14);
}

.home-agenda-timeline--count-1::before {
    right: auto;
    width: min(260px, 100% - 40px);
}

.home-agenda-timeline__item {
    position: relative;
    min-width: 0;
    padding-inline: clamp(14px, 2.2vw, 32px);
}

.home-agenda-timeline__item + .home-agenda-timeline__item {
    border-left: 1px solid rgba(17, 17, 17, 0.08);
}

.public-agenda-timeline-event {
    position: relative;
    display: grid;
    gap: 0;
    min-width: 0;
    color: var(--color-text, #171717);
}

.public-agenda-timeline-event__date {
    display: grid;
    gap: 2px;
    min-height: 66px;
    align-content: start;
    color: var(--color-brand, #cd352c);
    text-transform: uppercase;
}

.public-agenda-timeline-event__date strong {
    font-size: clamp(2.15rem, 3.1vw, 2.7rem);
    line-height: 0.9;
    letter-spacing: 0;
}

.public-agenda-timeline-event__date span {
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.14em;
}

.public-agenda-timeline-event__date small {
    margin-top: 3px;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0.03em;
    text-transform: none;
}

.public-agenda-timeline-event__marker {
    position: relative;
    z-index: 1;
    width: var(--timeline-dot);
    height: var(--timeline-dot);
    margin-block: 16px 22px;
    margin-left: 2px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--color-brand, #cd352c);
    box-shadow: 0 0 0 1px rgba(205, 53, 44, 0.28);
}

.public-agenda-timeline-event__body {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.public-agenda-timeline-event__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    color: var(--color-brand, #cd352c);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
}

.public-agenda-timeline-event__meta a {
    color: inherit;
    text-decoration: none;
}

.public-agenda-timeline-event__meta a:focus-visible,
.home-agenda-strip__link:focus-visible {
    outline: 3px solid rgba(205, 53, 44, 0.28);
    outline-offset: 3px;
}

.public-agenda-timeline-event__status {
    border-radius: 999px;
    padding: 3px 7px;
    background: #2f2f2f;
    color: #fff;
    letter-spacing: 0.04em;
}

.public-agenda-timeline-event h3 {
    margin: 0;
    color: var(--color-text, #171717);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.22;
}

.public-agenda-timeline-event__primary-info,
.public-agenda-timeline-event__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 0;
    color: rgba(17, 17, 17, 0.66);
    font-size: 0.88rem;
    line-height: 1.35;
}

.public-agenda-timeline-event__primary-info {
    font-weight: 680;
}

.public-agenda-timeline-event__facts span {
    color: rgba(17, 17, 17, 0.56);
    font-weight: 640;
}

.public-agenda-timeline-event__facts span + span::before {
    content: "·";
    margin-right: 6px;
    color: rgba(17, 17, 17, 0.32);
}

.public-agenda-timeline-event__schedule {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 10px;
    margin-top: 2px;
    max-width: 330px;
}

.public-agenda-timeline-event__schedule div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 9px;
    padding: 5px 9px;
    background: #fff;
}

.public-agenda-timeline-event__schedule span {
    min-width: 0;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.82rem;
    font-weight: 720;
}

.public-agenda-timeline-event__schedule strong {
    color: var(--color-brand, #cd352c);
    font-size: 0.82rem;
    white-space: nowrap;
}

.public-agenda-timeline-event--cancelled .public-agenda-timeline-event__date,
.public-agenda-timeline-event--cancelled .public-agenda-timeline-event__meta {
    color: #444;
}

.public-agenda-timeline-event--cancelled .public-agenda-timeline-event__marker {
    background: #444;
    box-shadow: 0 0 0 1px rgba(17, 17, 17, 0.22);
}

@media (max-width: 1020px) {
    .home-agenda-timeline {
        --timeline-top: 0;
        display: grid;
        gap: 22px;
        padding-left: 28px;
    }

    .home-agenda-timeline::before {
        top: 8px;
        bottom: 8px;
        left: 6px;
        width: 1px;
        height: auto;
    }

    .home-agenda-timeline__item {
        padding-inline: 0;
    }

    .home-agenda-timeline__item + .home-agenda-timeline__item {
        border-left: 0;
    }

    .public-agenda-timeline-event {
        grid-template-columns: minmax(66px, max-content) minmax(0, 1fr);
        column-gap: 16px;
        align-items: start;
    }

    .public-agenda-timeline-event__date {
        min-height: 0;
    }

    .public-agenda-timeline-event__marker {
        position: absolute;
        top: 6px;
        left: -28px;
        margin: 0;
    }

    .public-agenda-timeline-event__body {
        grid-column: 2;
    }
}

@media (max-width: 720px) {
    .home-agenda-strip {
        padding-block: 34px 44px;
    }

    .home-agenda-strip__header {
        align-items: start;
        flex-direction: column;
    }

    .home-agenda-strip__link,
    .home-agenda-strip__link--below {
        justify-self: start;
        width: fit-content;
    }

    .public-agenda-timeline-event {
        grid-template-columns: 58px minmax(0, 1fr);
        column-gap: 13px;
    }

    .public-agenda-timeline-event__date strong {
        font-size: 1.85rem;
    }

    .public-agenda-timeline-event__schedule {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

/* Agenda timeline alignment refinements */
.home-agenda-timeline {
    --timeline-date-space: 76px;
    --timeline-top: calc(var(--timeline-date-space) + (var(--timeline-dot) / 2));
}

.home-agenda-timeline__item + .home-agenda-timeline__item {
    border-left: 0;
}

.public-agenda-timeline-event__date {
    min-height: var(--timeline-date-space);
}

.public-agenda-timeline-event__marker {
    margin-block: 0 22px;
}

.public-agenda-timeline-list {
    position: relative;
    display: grid;
    gap: 28px;
    margin: 0;
    padding: 0 0 0 34px;
    list-style: none;
}

.public-agenda-timeline-list::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 6px;
    width: 1px;
    background: rgba(17, 17, 17, 0.14);
}

.public-agenda-timeline-list__item {
    position: relative;
    min-width: 0;
}

.public-agenda-timeline-list .public-agenda-timeline-event {
    grid-template-columns: minmax(76px, max-content) minmax(0, 1fr);
    column-gap: 18px;
    align-items: start;
}

.public-agenda-timeline-list .public-agenda-timeline-event__date {
    min-height: 0;
}

.public-agenda-timeline-list .public-agenda-timeline-event__marker {
    position: absolute;
    top: 6px;
    left: -34px;
    margin: 0;
}

.public-agenda-timeline-list .public-agenda-timeline-event__body {
    grid-column: 2;
}

.public-agenda-timeline-event__description {
    margin: 2px 0 0;
    max-width: 68ch;
    color: rgba(17, 17, 17, 0.68);
    line-height: 1.55;
}

.public-agenda-timeline-event__link {
    width: fit-content;
    color: var(--color-brand, #cd352c);
    font-weight: 800;
    text-decoration: none;
}

.public-agenda-timeline-event__link:focus-visible {
    outline: 3px solid rgba(205, 53, 44, 0.28);
    outline-offset: 3px;
}

@media (max-width: 1020px) {
    .home-agenda-timeline {
        --timeline-date-space: 0px;
    }

    .public-agenda-timeline-event__date {
        min-height: 0;
    }
}

@media (max-width: 720px) {
    .public-agenda-timeline-list {
        gap: 24px;
        padding-left: 28px;
    }

    .public-agenda-timeline-list .public-agenda-timeline-event {
        grid-template-columns: 58px minmax(0, 1fr);
        column-gap: 13px;
    }

    .public-agenda-timeline-list .public-agenda-timeline-event__marker {
        left: -28px;
    }
}

/* Home editorial news and header CTA alignment */
.home-news__header,
.home-agenda-strip__header,
.home-facilities__header .section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(16px, 3vw, 28px);
    width: 100%;
}

.home-news__all-link,
.home-agenda-strip__link,
.home-facilities__action {
    flex: 0 0 auto;
    align-self: flex-end;
    margin-left: auto;
}

.home-news-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, 0.88fr);
    gap: clamp(22px, 3vw, 34px);
    align-items: stretch;
}

.home-news-editorial--count-1 {
    grid-template-columns: minmax(0, min(760px, 100%));
}

.home-news-featured,
.home-news-secondary {
    min-width: 0;
}

.home-news-featured__link,
.home-news-secondary__link {
    color: inherit;
    text-decoration: none;
}

.home-news-featured__link {
    position: relative;
    display: grid;
    min-height: clamp(340px, 36vw, 460px);
    overflow: hidden;
    border-radius: 8px;
    background: #171717;
    isolation: isolate;
}

.home-news-featured__media,
.home-news-secondary__media {
    margin: 0;
    overflow: hidden;
    background: color-mix(in srgb, var(--color-brand, #cd352c) 12%, #f5f5f5);
}

.home-news-featured__media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.home-news-featured__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 18%, rgba(0, 0, 0, 0.78) 100%);
}

.home-news-featured__media img,
.home-news-secondary__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

.home-news-featured__fallback,
.home-news-secondary__fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: color-mix(in srgb, var(--color-brand, #cd352c) 70%, #fff);
}

.home-news-featured__fallback .material-symbols-rounded,
.home-news-secondary__fallback .material-symbols-rounded {
    font-size: 2.8rem;
}

.home-news-featured__content {
    display: grid;
    align-self: end;
    gap: 10px;
    padding: clamp(22px, 3.2vw, 34px);
    color: #fff;
}

.home-news-editorial__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    color: var(--color-brand, #cd352c);
    font-size: 0.72rem;
    font-weight: 860;
    letter-spacing: 0.065em;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-news-editorial__meta time {
    color: rgba(17, 17, 17, 0.48);
    font-weight: 680;
    letter-spacing: 0.02em;
}

.home-news-editorial__meta span + time::before {
    content: "·";
    margin-right: 7px;
    color: rgba(17, 17, 17, 0.34);
}

.home-news-featured__meta {
    color: #fff;
}

.home-news-featured__meta time,
.home-news-featured__meta span + time::before {
    color: rgba(255, 255, 255, 0.82);
}

.home-news-featured h3,
.home-news-secondary h3 {
    margin: 0;
    letter-spacing: 0;
}

.home-news-featured h3 {
    max-width: 15ch;
    color: #fff;
    font-size: clamp(1.72rem, 3.2vw, 2.55rem);
    line-height: 1.02;
}

.home-news-featured p {
    max-width: 54ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.98rem;
    line-height: 1.45;
}

.home-news-editorial__read {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin-top: 6px;
    color: inherit;
    font-size: 0.88rem;
    font-weight: 820;
}

.home-news-editorial__read .material-symbols-rounded {
    font-size: 1rem;
}

.home-news-secondary-list {
    display: grid;
    align-content: stretch;
    gap: clamp(18px, 2.5vw, 28px);
}

.home-news-secondary + .home-news-secondary {
    border-top: 1px solid rgba(17, 17, 17, 0.12);
    padding-top: clamp(18px, 2.5vw, 28px);
}

.home-news-secondary__link {
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 22px);
    align-items: center;
}

.home-news-secondary__media {
    aspect-ratio: 16 / 9;
    border-radius: 7px;
}

.home-news-secondary__content {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.home-news-secondary h3 {
    color: var(--color-text, #171717);
    font-size: clamp(1.04rem, 1.45vw, 1.32rem);
    line-height: 1.16;
}

.home-news-secondary .home-news-editorial__read {
    color: var(--color-brand, #cd352c);
}

.home-news-featured__link:focus-visible,
.home-news-secondary__link:focus-visible,
.home-news__all-link:focus-visible,
.home-agenda-strip__link:focus-visible,
.home-facilities__action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand, #cd352c) 35%, transparent);
    outline-offset: 4px;
}

.home-news-featured__link:hover img,
.home-news-secondary__link:hover img {
    transform: scale(1.025);
}

@media (max-width: 980px) {
    .home-news-editorial {
        grid-template-columns: 1fr;
    }

    .home-news-editorial--count-2,
    .home-news-editorial--count-3 {
        gap: 22px;
    }

    .home-news-secondary-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-news-secondary + .home-news-secondary {
        border-top: 0;
        padding-top: 0;
    }

    .home-news-secondary__link {
        grid-template-columns: 1fr;
        align-content: start;
    }
}

@media (max-width: 760px) {
    .home-news__header,
    .home-agenda-strip__header,
    .home-facilities__header .section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .home-news__all-link,
    .home-agenda-strip__link,
    .home-facilities__action {
        align-self: flex-start;
        margin-left: 0;
    }

    .home-news-featured__link {
        min-height: 340px;
    }

    .home-news-featured h3 {
        max-width: none;
    }

    .home-news-secondary-list {
        grid-template-columns: 1fr;
    }

    .home-news-secondary__link {
        grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .home-news-secondary__link {
        grid-template-columns: 1fr;
    }
}
.home-facilities__header .home-facilities__action {
    margin-top: 0;
}

/* Home news secondary balance refinement */
@media (min-width: 981px) {
    .home-news-editorial--count-3 .home-news-featured__link,
    .home-news-editorial--count-3 .home-news-secondary-list {
        min-height: clamp(380px, 36vw, 460px);
    }

    .home-news-editorial--count-3 .home-news-secondary-list {
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 0;
    }

    .home-news-editorial--count-3 .home-news-secondary {
        display: grid;
        min-height: 0;
    }

    .home-news-editorial--count-3 .home-news-secondary + .home-news-secondary {
        margin-top: clamp(18px, 2.5vw, 28px);
    }

    .home-news-editorial--count-3 .home-news-secondary__link {
        min-height: 0;
    }
}

.home-news-secondary__content p {
    margin: 0;
    color: rgba(17, 17, 17, 0.64);
    font-size: 0.9rem;
    line-height: 1.42;
}

/* Home news editorial proportion tuning */
@media (min-width: 981px) {
    .home-news-editorial {
        grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.98fr);
        align-items: stretch;
    }

    .home-news-featured__link {
        min-height: clamp(330px, 31vw, 420px);
        height: 100%;
    }

    .home-news-editorial--count-3 .home-news-featured__link,
    .home-news-editorial--count-3 .home-news-secondary-list {
        min-height: clamp(330px, 31vw, 420px);
    }

    .home-news-editorial--count-3 .home-news-secondary-list {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: clamp(18px, 2.1vw, 26px);
    }

    .home-news-editorial--count-3 .home-news-secondary {
        flex: 1 1 0;
    }

    .home-news-secondary + .home-news-secondary {
        margin-top: 0;
    }

    .home-news-secondary__link {
        grid-template-columns: minmax(230px, 0.82fr) minmax(0, 1fr);
        height: 100%;
        align-items: stretch;
    }

    .home-news-secondary__media {
        height: 100%;
        min-height: 150px;
        aspect-ratio: auto;
    }

    .home-news-secondary__content {
        align-content: center;
    }
}

/* Global compact internal page headers */
.news-index-hero--portal,
.facilities-hero {
    padding-block: clamp(28px, 4.2vw, 52px) clamp(16px, 2.6vw, 28px);
}

.news-index-hero--portal {
    background:
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--color-brand, #cd352c) 5%, transparent), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f8f8f9 100%);
}

.news-index-hero__inner,
.news-index-hero__inner--classic,
.facilities-hero__inner {
    align-items: end;
}

.news-index-hero--classic .news-index-hero__copy,
.facilities-hero__copy {
    max-width: min(760px, 100%);
    padding-left: 14px;
}

.news-index-hero--classic .news-index-hero__copy::before,
.facilities-hero__copy::before {
    top: 0.25rem;
    bottom: 0.25rem;
    width: 2px;
    border-radius: 999px;
    opacity: 0.42;
}

.news-index-hero--portal h1,
.news-index-hero--classic h1,
.facilities-hero h1 {
    margin: 0;
    max-width: 760px;
    color: var(--color-text, #171717);
    font-size: clamp(1.85rem, 3.25vw, 2.85rem);
    font-weight: 780;
    letter-spacing: 0;
    line-height: 1.02;
}

.news-index-hero--portal p,
.news-index-hero--classic p,
.facilities-hero p {
    max-width: 620px;
    margin: 8px 0 0;
    color: color-mix(in srgb, var(--color-text, #171717) 66%, transparent);
    font-size: clamp(0.96rem, 0.5vw + 0.9rem, 1.08rem);
    line-height: 1.48;
}

.section-heading__eyebrow,
.facilities-eyebrow {
    margin-bottom: 7px;
    font-size: 0.68rem;
    font-weight: 840;
    letter-spacing: 0.12em;
}

@media (max-width: 760px) {
    .news-index-hero--portal,
    .facilities-hero {
        padding-block: 24px 16px;
    }

    .news-index-hero--classic .news-index-hero__copy,
    .facilities-hero__copy {
        padding-left: 12px;
    }

    .news-index-hero--portal h1,
    .news-index-hero--classic h1,
    .facilities-hero h1 {
        font-size: clamp(1.65rem, 9vw, 2.25rem);
    }
}

html:has(.home-sports),
html:has(.site-footer) { scroll-behavior: smooth; }
#deportes { scroll-margin-top: calc(var(--header-height) + 24px); }
@media (prefers-reduced-motion: reduce) {
    html:has(.home-sports),
    html:has(.site-footer) { scroll-behavior: auto; }
}

/* Sports index. */
.sports-index {
    background:
        radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--color-brand) 10%, transparent), transparent 30%),
        linear-gradient(180deg, var(--color-surface-warm), var(--color-brand-surface));
}

.sports-index__container {
    display: grid;
    gap: clamp(24px, 3vw, 36px);
}

.sports-index__header {
    max-width: 720px;
}

.sports-index__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 18px;
}

.sports-index__grid .sport-card {
    width: 100%;
}

/* Home news: editorial background word. */
.home-news {
    overflow: hidden;
}

.home-news__header {
    position: relative;
    isolation: isolate;
    overflow: visible;
    padding-block: 24px 18px;
}

.home-news__heading {
    position: relative;
    flex: 1 1 auto;
    z-index: 2;
    width: min(100%, 560px);
    max-width: 100%;
    display: grid;
    gap: 8px;
}

.home-news__header::before {
    content: "ACTUALIDAD";
    position: absolute;
    z-index: -1;
    right: max(-90px, -7vw);
    bottom: clamp(-480px, calc(-38vw + 20px), -330px);
    max-width: min(980px, 78vw);
    overflow: visible;
    color: var(--color-brand, #cd352c);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(6.8rem, 10.5vw, 10.5rem);
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1;
    opacity: 0.05;
    pointer-events: none;
    transform: scaleX(0.92);
    transform-origin: right center;
    user-select: none;
    white-space: nowrap;
}

.home-news__heading h2 {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 0.96;
    text-transform: uppercase;
}

.home-news__heading p {
    position: relative;
    z-index: 1;
    max-width: 46ch;
    margin: 0;
    color: rgba(17, 17, 17, 0.66);
    font-size: clamp(0.98rem, 0.5vw + 0.9rem, 1.08rem);
    line-height: 1.45;
}

/* Ajuste puntual de identidad y rojo del hero. */
.home-hero__content p { color: #F05249; }
.home-hero__content .button {
    background: #fff;
    border-color: #fff;
    color: #72070D;
}
.home-hero__content .button:hover,
.home-hero__content .button:focus-visible { background: #72070D; border-color: #72070D; color: #fff; }
.home-hero__content .button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.home-hero__content .button:active { background: #58050A; border-color: #58050A; color: #fff; }

/* El emblema acompaña el bloque de título sin cambiar su escala. */
.home-institute--editorial .home-institute__logo { align-self: center; margin-top: 0; }

/* Instituto Maestro Roberto Petit de Meurville */
.institute-page {
    --institute-blue: #35436e;
    --institute-blue-deep: #273354;
    --institute-blue-soft: #eef0f7;
    color: var(--color-text);
    background: var(--color-surface-warm);
}

.institute-hero {
    padding: clamp(46px, 6vw, 76px) 0;
    color: var(--color-text-on-brand);
    background: var(--institute-blue);
}

.institute-hero__inner {
    display: flex;
    gap: clamp(22px, 4vw, 48px);
    align-items: center;
}

.institute-hero__logo {
    flex: 0 0 auto;
    width: clamp(96px, 12vw, 148px);
    height: auto;
    padding: 8px;
    border-radius: 18px;
    background: var(--color-surface);
}

.institute-hero__copy { max-width: 760px; }

.institute-hero__eyebrow,
.institute-section-heading__eyebrow,
.institute-level-card__label {
    margin: 0 0 8px;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.institute-hero__eyebrow { color: rgba(255, 255, 255, .72); }

.institute-hero h1,
.institute-section-heading h2,
.institute-support h2,
.institute-primary h2,
.institute-enquiries h2 {
    margin: 0;
    font-family: "Barlow Condensed", var(--font-base);
    font-weight: 800;
    line-height: .98;
    letter-spacing: .015em;
}

.institute-hero h1 { font-size: clamp(2.35rem, 6.2vw, 5.4rem); }

.institute-section { padding: clamp(62px, 8vw, 108px) 0; }

.institute-section-heading { margin-bottom: clamp(26px, 4vw, 44px); }

.institute-section-heading__eyebrow { color: var(--institute-blue); }

.institute-section-heading h2,
.institute-support h2,
.institute-primary h2,
.institute-enquiries h2 { font-size: clamp(2.35rem, 4.5vw, 4.1rem); }

.institute-section-heading--split {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
}

.institute-history { background: var(--color-surface); }

.institute-history__inner {
    display: grid;
    grid-template-columns: minmax(200px, .45fr) minmax(0, 1fr);
    gap: clamp(30px, 7vw, 100px);
    align-items: start;
}

.institute-history__copy {
    display: grid;
    gap: 20px;
    max-width: 730px;
    color: var(--color-text-muted);
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
    line-height: 1.75;
}

.institute-history__copy p { margin: 0; }

.institute-initial { background: var(--color-surface-warm); }

.institute-initial__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

.institute-level-card {
    display: grid;
    gap: 24px;
    min-height: 100%;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(53, 67, 110, .15);
    border-radius: 20px;
    background: var(--color-surface);
    box-shadow: 0 14px 36px rgba(35, 51, 84, .07);
}

.institute-level-card--extended { background: var(--institute-blue-soft); }
.institute-level-card__number { color: var(--color-brand); font-family: "Barlow Condensed", var(--font-base); font-size: 1.15rem; font-weight: 800; }
.institute-level-card h3 { margin: -12px 0 0; color: var(--institute-blue-deep); font-family: "Barlow Condensed", var(--font-base); font-size: clamp(1.75rem, 2.3vw, 2.35rem); line-height: 1; }
.institute-level-card__group { display: grid; gap: 10px; }
.institute-level-card__group p { margin: 0; line-height: 1.6; }
.institute-level-card__label { color: var(--institute-blue); }
.institute-level-card ul,
.institute-primary__list { display: grid; gap: 8px; margin: 0; padding-left: 1.2rem; line-height: 1.5; }

.institute-support { padding: clamp(46px, 6vw, 72px) 0; color: var(--color-text-on-brand); background: var(--institute-blue-deep); }
.institute-support__inner { display: grid; grid-template-columns: minmax(210px, .5fr) minmax(0, 1fr); gap: clamp(26px, 6vw, 94px); align-items: center; }
.institute-support .institute-section-heading__eyebrow { color: rgba(255, 255, 255, .7); }
.institute-support__copy { display: grid; gap: 12px; max-width: 720px; font-size: clamp(1.03rem, 1.4vw, 1.16rem); line-height: 1.65; }
.institute-support__copy p { margin: 0; }

.institute-primary { background: var(--color-surface); }
.institute-primary__layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(30px, 7vw, 108px); }
.institute-primary__intro { display: grid; align-content: start; gap: 20px; }
.institute-primary__growth { margin: 0; padding: 18px 0 0; border-top: 3px solid var(--color-brand); color: var(--institute-blue-deep); font-family: "Barlow Condensed", var(--font-base); font-size: clamp(1.45rem, 2.2vw, 2rem); font-weight: 800; line-height: 1.04; }
.institute-primary__content { display: grid; gap: 28px; }
.institute-primary__schedule { display: grid; gap: 6px; padding: clamp(24px, 3vw, 34px); border-radius: 18px; color: var(--color-text-on-brand); background: var(--institute-blue); }
.institute-primary__schedule span { font-size: 1rem; font-weight: 650; }
.institute-primary__schedule strong { font-family: "Barlow Condensed", var(--font-base); font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: .9; }
.institute-primary__schedule p { margin: 4px 0 0; }
.institute-primary__list { padding: 0 0 0 1.2rem; color: var(--color-text-muted); font-size: 1.04rem; }

.institute-news { background: var(--color-surface-warm); }
.institute-news__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.institute-enquiries { padding: clamp(50px, 7vw, 82px) 0; background: var(--color-brand-surface); }
.institute-enquiries__inner { display: flex; gap: 28px; justify-content: space-between; align-items: center; }
.institute-enquiries__phone { display: inline-flex; align-items: center; min-height: 54px; padding: 0 24px; border-radius: 10px; color: var(--color-text-on-brand); background: var(--color-brand); font-family: "Barlow Condensed", var(--font-base); font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 800; letter-spacing: .04em; text-decoration: none; }
.institute-enquiries__phone:hover { background: var(--color-brand-hover); }
.institute-enquiries__phone:focus-visible { outline: 3px solid var(--institute-blue); outline-offset: 4px; }

.institute-closing { padding: clamp(70px, 10vw, 132px) 0; color: var(--color-text-on-brand); background: var(--color-brand-dark); }
.institute-closing blockquote { max-width: 940px; margin: 0 auto; text-align: center; }
.institute-closing p { margin: 0; font-family: "Barlow Condensed", var(--font-base); font-size: clamp(2rem, 4vw, 3.75rem); font-weight: 800; line-height: 1.02; }
.institute-closing p + p { margin-top: 28px; color: rgba(255, 255, 255, .78); font-size: clamp(1.35rem, 2.5vw, 2.2rem); }

@media (max-width: 980px) {
    .institute-initial__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .institute-level-card--extended { grid-column: span 2; }
    .institute-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .institute-hero__inner,
    .institute-history__inner,
    .institute-support__inner,
    .institute-primary__layout { grid-template-columns: 1fr; }
    .institute-hero__inner { display: grid; }
    .institute-hero__logo { width: 104px; }
    .institute-section-heading--split,
    .institute-enquiries__inner { align-items: start; flex-direction: column; }
    .institute-initial__grid,
    .institute-news__grid { grid-template-columns: 1fr; }
    .institute-level-card--extended { grid-column: auto; }
    .institute-enquiries__phone { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .institute-enquiries__phone { transition: none; }
}

/* Instituto visual refinement: official crest geometry and editorial rhythm. */
.institute-page {
    --institute-blue: #343d68;
    --institute-blue-deep: #242b4a;
    --institute-blue-soft: #edf0f8;
    --institute-red: #ed1c24;
}

.institute-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-block: clamp(40px, 5vw, 64px);
    background: var(--institute-blue-deep);
}

.institute-hero::before,
.institute-hero::after {
    position: absolute;
    z-index: -1;
    width: min(52vw, 630px);
    aspect-ratio: 1 / 1.08;
    border: clamp(22px, 3vw, 40px) solid rgba(255, 255, 255, .055);
    border-radius: 42% 42% 48% 48% / 31% 31% 55% 55%;
    content: "";
    pointer-events: none;
}

.institute-hero::before { top: -47%; right: -8%; transform: rotate(12deg); }
.institute-hero::after { bottom: -78%; left: 34%; border-color: rgba(237, 28, 36, .20); transform: rotate(-18deg); }

.institute-hero__inner { gap: clamp(28px, 5vw, 72px); }

.institute-hero__emblem {
    position: relative;
    display: grid;
    flex: 0 0 auto;
    width: clamp(140px, 17vw, 205px);
    aspect-ratio: 1;
    place-items: center;
}

.institute-hero__emblem-shape { display: none; }

.institute-hero__logo {
    position: relative;
    width: 86%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .24));
}

.institute-hero h1 { max-width: 13ch; font-size: clamp(2.45rem, 5.8vw, 5.15rem); letter-spacing: .025em; }
.institute-hero__eyebrow { display: flex; gap: 10px; align-items: center; color: rgba(255, 255, 255, .76); }
.institute-hero__eyebrow::before { width: 26px; height: 2px; background: var(--institute-red); content: ""; }

.institute-history { position: relative; overflow: hidden; }
.institute-history::after { position: absolute; right: 4vw; bottom: -92px; width: 240px; height: 240px; border: 1px solid rgba(52, 61, 104, .11); border-radius: 45% 45% 48% 48% / 31% 31% 55% 55%; content: ""; transform: rotate(15deg); }
.institute-history__inner { position: relative; z-index: 1; grid-template-columns: minmax(250px, .55fr) minmax(0, 1.15fr); }
.institute-history__timeline { gap: 0; max-width: 800px; }
.institute-history__milestone { position: relative; display: grid; grid-template-columns: 114px minmax(0, 1fr); gap: 26px; padding: 0 0 34px; }
.institute-history__milestone:last-child { padding-bottom: 0; }
.institute-history__milestone::before { position: absolute; top: 11px; left: 95px; width: 10px; height: 10px; border: 3px solid var(--color-surface); border-radius: 50%; background: var(--institute-red); box-shadow: 0 0 0 1px rgba(52, 61, 104, .32); content: ""; }
.institute-history__milestone:not(:last-child)::after { position: absolute; top: 23px; bottom: 0; left: 99px; width: 1px; background: rgba(52, 61, 104, .24); content: ""; }
.institute-history__year { color: var(--institute-blue); font-family: "Barlow Condensed", var(--font-base); font-size: clamp(2.4rem, 4vw, 3.6rem); font-weight: 800; line-height: .8; }

.institute-initial { background: #f8f7f4; }
.institute-initial__grid { gap: 0; border-top: 1px solid rgba(52, 61, 104, .18); border-bottom: 1px solid rgba(52, 61, 104, .18); }
.institute-level-card { position: relative; gap: 26px; padding: clamp(27px, 3vw, 42px); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.institute-level-card + .institute-level-card { border-left: 1px solid rgba(52, 61, 104, .18); }
.institute-level-card::before { position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: transparent; content: ""; }
.institute-level-card:nth-child(2)::before { background: var(--institute-blue); }
.institute-level-card--extended { background: var(--institute-blue-soft); }
.institute-level-card--extended::before { background: var(--institute-red); }
.institute-level-card__number { color: var(--institute-red); font-size: 1.35rem; letter-spacing: .08em; }
.institute-level-card h3 { margin-top: -9px; font-size: clamp(1.9rem, 2.8vw, 2.65rem); }
.institute-level-card__group { padding-top: 18px; border-top: 1px solid rgba(52, 61, 104, .14); }
.institute-level-card__group:first-of-type { padding-top: 0; border-top: 0; }
.institute-level-card ul,
.institute-primary__list { padding-left: 0; list-style: none; }
.institute-level-card li,
.institute-primary__list li { position: relative; padding-left: 16px; }
.institute-level-card li::before,
.institute-primary__list li::before { position: absolute; top: .63em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--institute-red); content: ""; }

.institute-support { position: relative; overflow: hidden; padding-block: clamp(58px, 7vw, 88px); background: var(--institute-blue-deep); }
.institute-support::before { position: absolute; top: -120px; right: clamp(-20px, 8vw, 110px); width: 340px; aspect-ratio: 1; border: 26px solid rgba(255, 255, 255, .055); border-radius: 46% 46% 49% 49% / 32% 32% 55% 55%; content: ""; transform: rotate(-17deg); }
.institute-support__inner { position: relative; grid-template-columns: minmax(220px, .5fr) minmax(0, 1fr) auto; }
.institute-support h2 { font-size: clamp(2.5rem, 4.8vw, 4.5rem); }
.institute-support__copy { padding-left: clamp(0px, 3vw, 34px); border-left: 2px solid var(--institute-red); }
.institute-support__symbols { display: grid; grid-template-columns: repeat(2, 44px); gap: 10px; }
.institute-support__symbols span { display: grid; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 50%; place-items: center; color: rgba(255, 255, 255, .92); font-size: 21px; }

.institute-primary { position: relative; overflow: hidden; }
.institute-primary__layout { position: relative; gap: clamp(38px, 7vw, 112px); }
.institute-primary__intro { padding-top: 6px; }
.institute-primary__growth { position: relative; padding: 26px 0 0 28px; border-top: 0; }
.institute-primary__growth::before { position: absolute; top: 0; bottom: 0; left: 0; width: 5px; background: var(--institute-red); content: ""; }
.institute-primary__content { gap: 0; border: 1px solid rgba(52, 61, 104, .14); border-radius: 4px 22px 22px 22px; overflow: hidden; }
.institute-primary__schedule { position: relative; padding: clamp(29px, 4vw, 44px); border-radius: 0; background: var(--institute-blue); }
.institute-primary__schedule::after { position: absolute; right: 28px; bottom: -26px; width: 52px; height: 52px; border: 2px solid rgba(255, 255, 255, .3); border-radius: 46% 46% 49% 49% / 32% 32% 55% 55%; content: ""; transform: rotate(18deg); }
.institute-primary__schedule strong { font-size: clamp(3rem, 5.2vw, 4.6rem); }
.institute-primary__list { display: grid; gap: 13px; padding: clamp(27px, 4vw, 40px); background: var(--color-surface); }

.institute-enquiries { position: relative; overflow: hidden; background: var(--color-brand-surface); }
.institute-enquiries::after { position: absolute; right: 7vw; bottom: -105px; width: 230px; height: 230px; border: 20px solid rgba(237, 28, 36, .11); border-radius: 46% 46% 49% 49% / 32% 32% 55% 55%; content: ""; transform: rotate(14deg); }
.institute-enquiries__inner { position: relative; z-index: 1; padding: clamp(24px, 3vw, 36px); border-left: 5px solid var(--institute-red); background: rgba(255, 255, 255, .54); }
.institute-enquiries__phone { min-height: 68px; padding-inline: clamp(24px, 4vw, 38px); border-radius: 0 16px 16px 16px; background: var(--institute-blue); font-size: clamp(2.1rem, 4vw, 3rem); }
.institute-enquiries__phone:hover { background: var(--institute-blue-deep); }

.institute-closing { position: relative; isolation: isolate; overflow: hidden; background: var(--color-brand-dark); }
.institute-closing--banner {
    background-image: linear-gradient(90deg, rgba(8, 18, 43, .86), rgba(8, 18, 43, .62)), url("../img/instituto-banner.jpg");
    background-position: center;
    background-size: cover;
}
.institute-closing p:first-child { color: var(--color-text-on-brand); }
.institute-closing p + p { color: rgba(255, 255, 255, .8); }

@media (max-width: 980px) {
    .institute-level-card + .institute-level-card { border-left: 0; }
    .institute-level-card:nth-child(2) { border-left: 1px solid rgba(52, 61, 104, .18); }
    .institute-level-card--extended { border-top: 1px solid rgba(52, 61, 104, .18); }
    .institute-support__inner { grid-template-columns: minmax(190px, .45fr) minmax(0, 1fr); }
    .institute-support__symbols { grid-column: 2; justify-self: start; }
}

@media (max-width: 720px) {
    .institute-hero { padding-block: 38px 44px; }
    .institute-hero__emblem { width: 132px; }
    .institute-history__milestone { grid-template-columns: 80px minmax(0, 1fr); gap: 18px; }
    .institute-history__milestone::before { left: 66px; }
    .institute-history__milestone:not(:last-child)::after { left: 70px; }
    .institute-history__year { font-size: 2.2rem; }
    .institute-level-card + .institute-level-card,
    .institute-level-card:nth-child(2) { border-top: 1px solid rgba(52, 61, 104, .18); border-left: 0; }
    .institute-support__copy { padding-left: 22px; }
    .institute-support__symbols { grid-column: auto; }
    .institute-primary__content { border-radius: 3px 16px 16px 16px; }
    .institute-enquiries__inner { padding: 24px; }
}

/* Instituto Visual B — shared 12-column rhythm and deliberate symmetry. */
.institute-page {
    --institute-grid-gap: clamp(24px, 3.4vw, 44px);
    --institute-surface-radius: 18px;
    --institute-rule: rgba(52, 61, 104, .17);
}

.institute-section,
.institute-support,
.institute-enquiries,
.institute-closing { padding-block: clamp(68px, 7.5vw, 104px); }

.institute-hero {
    display: grid;
    min-height: clamp(270px, 29vw, 370px);
    align-items: center;
}

.institute-hero__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--institute-grid-gap);
    align-items: center;
}

.institute-hero__emblem { grid-column: 2 / span 3; justify-self: center; }
.institute-hero__copy { grid-column: 5 / span 6; max-width: none; }

.institute-hero__emblem-shape { inset: -7%; border-width: 2px; }
.institute-hero h1 { max-width: 11.7ch; font-size: clamp(2.55rem, 5.3vw, 5rem); line-height: .91; }

.institute-history__inner,
.institute-primary__layout {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--institute-grid-gap);
}

.institute-history__inner > .institute-section-heading { grid-column: 1 / span 4; margin-bottom: 0; align-self: start; }
.institute-history__copy { grid-column: 5 / span 8; }
.institute-history__milestone { grid-template-columns: 132px 30px minmax(0, 1fr); gap: 24px; min-height: 134px; padding-bottom: 0; }
.institute-history__milestone + .institute-history__milestone { padding-top: 30px; }
.institute-history__milestone::before { position: static; grid-column: 2; grid-row: 1; align-self: start; width: 12px; height: 12px; margin-top: 8px; border: 3px solid var(--color-surface); box-shadow: 0 0 0 1px var(--institute-rule); }
.institute-history__milestone:not(:last-child)::after { top: 14px; right: auto; bottom: -44px; left: 162px; height: auto; }
.institute-history__year { grid-column: 1; grid-row: 1; text-align: right; }
.institute-history__milestone p { grid-column: 3; grid-row: 1; margin: 0; max-width: 44ch; }

.institute-initial__grid {
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--institute-rule);
    border-radius: var(--institute-surface-radius);
    background: var(--color-surface);
}

.institute-level-card {
    display: flex;
    min-height: clamp(520px, 47vw, 675px);
    flex-direction: column;
    gap: 22px;
    padding: clamp(28px, 3vw, 42px);
}

.institute-level-card__group { margin: 0; }
.institute-level-card__group:last-child { margin-top: auto; }
.institute-level-card h3 { min-height: 2em; }
.institute-level-card--extended { box-shadow: inset 0 4px 0 var(--institute-red); }
.institute-level-card:nth-child(2) { box-shadow: inset 0 4px 0 var(--institute-blue); }

.institute-support__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--institute-grid-gap);
}

.institute-support__inner > div:first-child { grid-column: 1 / span 5; }
.institute-support__copy { grid-column: 6 / span 7; align-self: center; }
.institute-support__symbols { grid-column: 6 / span 7; grid-template-columns: repeat(4, 44px); gap: 14px; }
.institute-support h2 { max-width: 6ch; line-height: .9; }

.institute-primary__intro { grid-column: 1 / span 6; min-height: 468px; padding: clamp(28px, 3vw, 42px); border-top: 1px solid var(--institute-rule); border-bottom: 1px solid var(--institute-rule); }
.institute-primary__content { grid-column: 7 / span 6; min-height: 468px; }
.institute-primary__growth { margin-top: auto; }
.institute-primary__schedule { min-height: 218px; }
.institute-primary__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 24px; flex: 1; align-content: start; }

.institute-enquiries__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-height: 144px;
    gap: var(--institute-grid-gap);
    align-items: center;
    border-radius: var(--institute-surface-radius);
}

.institute-enquiries__inner > div { grid-column: 1 / span 7; }
.institute-enquiries__phone { grid-column: 8 / span 5; justify-content: center; min-height: 74px; border-radius: 0 14px 14px 14px; }

.institute-closing { padding-block: clamp(88px, 10vw, 142px); }
.institute-closing blockquote { position: relative; display: grid; gap: 28px; max-width: 890px; }
.institute-closing p + p { margin-top: 0; }

@media (max-width: 980px) {
    .institute-hero__emblem { grid-column: 1 / span 4; }
    .institute-hero__copy { grid-column: 5 / span 7; }
    .institute-history__inner > .institute-section-heading { grid-column: 1 / span 4; }
    .institute-history__copy { grid-column: 5 / span 8; }
    .institute-initial__grid { grid-template-columns: 1fr; }
    .institute-level-card { min-height: 0; }
    .institute-level-card + .institute-level-card,
    .institute-level-card:nth-child(2),
    .institute-level-card--extended { border-top: 1px solid var(--institute-rule); border-left: 0; }
    .institute-level-card h3 { min-height: 0; }
    .institute-level-card__group:last-child { margin-top: 0; }
    .institute-support__inner > div:first-child { grid-column: 1 / span 5; }
    .institute-support__copy,
    .institute-support__symbols { grid-column: 6 / span 7; }
    .institute-primary__intro { grid-column: 1 / span 6; }
    .institute-primary__content { grid-column: 7 / span 6; }
}

@media (max-width: 720px) {
    .institute-section,
    .institute-support,
    .institute-enquiries,
    .institute-closing { padding-block: 62px; }
    .institute-hero__inner,
    .institute-history__inner,
    .institute-primary__layout,
    .institute-support__inner,
    .institute-enquiries__inner { display: grid; grid-template-columns: 1fr; gap: 24px; }
    .institute-hero__emblem,
    .institute-hero__copy,
    .institute-history__inner > .institute-section-heading,
    .institute-history__copy,
    .institute-support__inner > div:first-child,
    .institute-support__copy,
    .institute-support__symbols,
    .institute-primary__intro,
    .institute-primary__content,
    .institute-enquiries__inner > div,
    .institute-enquiries__phone { grid-column: auto; }
    .institute-hero__emblem { justify-self: center; }
    .institute-hero__copy { text-align: center; }
    .institute-hero__eyebrow { justify-content: center; }
    .institute-hero h1 { margin-inline: auto; font-size: clamp(2.35rem, 12vw, 3.4rem); }
    .institute-history__milestone { grid-template-columns: 68px 24px minmax(0, 1fr); min-height: 0; gap: 14px; }
    .institute-history__milestone:not(:last-child)::after { left: 88px; }
    .institute-history__year { font-size: 2rem; }
    .institute-support h2 { max-width: none; }
    .institute-support__symbols { grid-template-columns: repeat(4, minmax(0, 44px)); }
    .institute-primary__intro,
    .institute-primary__content { min-height: 0; }
    .institute-primary__list { grid-template-columns: 1fr; }
    .institute-enquiries__inner { min-height: 0; }
}

/* Instituto Visual C — horizontal institutional lockup and contextual icon anchors. */
.institute-hero {
    min-height: clamp(292px, 27vw, 348px);
    padding-block: clamp(46px, 5.2vw, 68px);
}

.institute-hero::before {
    top: -64%;
    right: 2%;
    width: min(44vw, 510px);
    border-width: clamp(17px, 2.1vw, 29px);
}

.institute-hero::after {
    bottom: -94%;
    left: 23%;
    width: min(36vw, 420px);
    border-width: 2px;
    border-color: rgba(255, 255, 255, .1);
}

.institute-hero__inner { gap: clamp(28px, 4vw, 58px); }
.institute-hero__emblem { grid-column: 1 / span 3; width: clamp(160px, 14vw, 198px); }
.institute-hero__copy { grid-column: 4 / span 8; }
.institute-hero h1 { display: grid; gap: .04em; max-width: none; font-size: clamp(2.35rem, 4.5vw, 4.75rem); line-height: .88; letter-spacing: .018em; white-space: nowrap; }
.institute-hero h1 span { display: block; }
.institute-hero__eyebrow { margin-bottom: 15px; }

.institute-section-heading__eyebrow { display: inline-flex; gap: 7px; align-items: center; font-size: .76rem; }
.institute-section-heading__eyebrow .material-symbols-rounded { font-size: 1rem; }
.institute-level-card__label { display: inline-flex; gap: 7px; align-items: center; color: var(--institute-blue); font-size: .74rem; }
.institute-level-card__label .material-symbols-rounded { color: var(--institute-red); font-size: 1rem; }
.institute-level-card__group p:not(.institute-level-card__label),
.institute-level-card li { font-size: 1rem; line-height: 1.62; }

.institute-support__copy { padding-bottom: 4px; }
.institute-support__roles { display: grid; grid-column: 6 / span 7; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.institute-support__roles span { display: grid; gap: 8px; min-width: 0; color: rgba(255, 255, 255, .88); font-size: .84rem; font-weight: 650; line-height: 1.2; }
.institute-support__roles i { display: grid; width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 50%; place-items: center; color: var(--color-text-on-brand); font-size: 19px; font-style: normal; }
.institute-support__symbols { display: none; }

.institute-primary__content { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.institute-primary__schedule { min-height: 208px; border-radius: 0; }
.institute-primary__schedule span,
.institute-primary__schedule p,
.institute-primary__schedule strong { display: flex; gap: 9px; align-items: center; }
.institute-primary__schedule .material-symbols-rounded { flex: 0 0 auto; color: rgba(255, 255, 255, .76); font-size: 1.08rem; }
.institute-primary__schedule strong .material-symbols-rounded { color: var(--color-text-on-brand); font-size: clamp(1.6rem, 2.5vw, 2.3rem); }
.institute-primary__list { border-right: 1px solid var(--institute-rule); border-bottom: 1px solid var(--institute-rule); border-left: 1px solid var(--institute-rule); background: var(--color-surface); }
.institute-primary__list li { display: flex; gap: 8px; padding-left: 0; font-size: 1rem; line-height: 1.48; }
.institute-primary__list li::before { display: none; }
.institute-primary__list li .material-symbols-rounded { flex: 0 0 auto; margin-top: .08em; color: var(--institute-blue); font-size: 1.08rem; }

.institute-enquiries__phone { gap: 12px; }
.institute-enquiries__phone .material-symbols-rounded { font-size: clamp(1.45rem, 2.5vw, 1.8rem); }

@media (max-width: 1120px) {
    .institute-hero h1 { font-size: clamp(2.15rem, 4.35vw, 3.75rem); }
}

@media (max-width: 860px) {
    .institute-hero__emblem { grid-column: 1 / span 4; }
    .institute-hero__copy { grid-column: 5 / span 8; }
    .institute-hero h1 { font-size: clamp(2.05rem, 4.4vw, 3.25rem); }
    .institute-support__roles { grid-column: 6 / span 7; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .institute-hero { min-height: 0; }
    .institute-hero::before { top: -42%; right: -32%; width: 86vw; }
    .institute-hero::after { display: none; }
    .institute-hero__copy { width: 100%; }
    .institute-hero h1 { gap: .1em; max-width: 12ch; font-size: clamp(2rem, 10.4vw, 3rem); line-height: .91; white-space: normal; }
    .institute-hero h1 span:last-child { max-width: 12ch; }
    .institute-support__roles { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .institute-primary__list { border-right: 1px solid var(--institute-rule); border-bottom: 1px solid var(--institute-rule); border-left: 1px solid var(--institute-rule); }
}

.home-news__all-link {
    position: relative;
    z-index: 2;
}

.home-news-editorial {
    position: relative;
    z-index: 1;
}

@media (min-width: 761px) and (max-width: 900px) {
    .home-news__header::before {
        bottom: -80px;
    }
}

@media (max-width: 760px) {
    .home-news__header {
        padding-block: 40px 18px;
    }

    .home-news__heading {
        width: 100%;
    }

    .home-news__header::before {
        right: -48px;
        bottom: clamp(-70px, calc(-14vw + 10px), -42px);
        max-width: min(520px, 118vw);
        font-size: clamp(4.4rem, 20vw, 5.6rem);
        opacity: 0.045;
        transform: scaleX(0.82);
    }

    .home-news__heading h2 {
        font-size: clamp(2rem, 9vw, 2.5rem);
    }

    .home-news__heading p {
        max-width: 31ch;
        font-size: 0.96rem;
    }
}

/* News index editorial hero word. */
.news-index-hero--classic {
    isolation: isolate;
    overflow: hidden;
}

.news-index-hero--classic .news-index-hero__inner--classic {
    position: relative;
    z-index: 1;
    min-height: clamp(104px, 12vw, 150px);
}

.news-index-hero--classic:not(.public-agenda-hero) .news-index-hero__inner--classic::before {
    content: "ACTUALIDAD";
    position: absolute;
    right: 0;
    top: clamp(8px, 1.6vw, 24px);
    z-index: -1;
    max-width: min(920px, 74vw);
    overflow: hidden;
    color: var(--color-brand, #cd352c);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(5rem, 7.2vw, 7.2rem);
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 0.74;
    opacity: 0.055;
    pointer-events: none;
    transform: scaleX(0.92);
    transform-origin: right center;
    user-select: none;
    white-space: nowrap;
}

.news-index-hero--classic .news-index-hero__copy {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    padding-left: 0;
}

.news-index-hero--classic .news-index-hero__copy::before {
    content: none;
}

.news-index-hero--classic h1 {
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.7rem, 5.2vw, 4.3rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 0.92;
    text-transform: uppercase;
}

.news-index-hero--classic p {
    margin: 0;
    max-width: 52ch;
}

@media (max-width: 760px) {
    .news-index-hero--classic .news-index-hero__inner--classic {
        min-height: 142px;
    }

    .news-index-hero--classic:not(.public-agenda-hero) .news-index-hero__inner--classic::before {
        right: -24px;
        top: 130px;
        max-width: min(620px, 132vw);
        font-size: clamp(3.4rem, 14vw, 4.2rem);
        opacity: 0.05;
        transform: scaleX(0.86);
    }
}

/* Reusable internal page header: first applied to the news index. */
.internal-page-header {
    --internal-page-header-accent: var(--color-brand, #cd352c);
    padding-block: clamp(31px, 3vw, 40px) clamp(25px, 2.7vw, 32px);
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf9 100%);
}

.internal-page-header__inner {
    display: block;
    min-height: 0;
}

.internal-page-header__content {
    position: relative;
    display: grid;
    gap: 7px;
    max-width: min(720px, 100%);
    padding-left: 16px;
}

.internal-page-header__content::after {
    position: absolute;
    top: 2px;
    bottom: 3px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--internal-page-header-accent);
    content: "";
}

.internal-page-header__eyebrow {
    color: var(--color-brand-strong, #72070d);
    font-size: clamp(0.69rem, 0.22vw + 0.64rem, 0.82rem);
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.internal-page-header__title {
    margin: 0;
    color: var(--color-secondary, #171717);
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(3.25rem, 3.95vw, 3.75rem);
    font-weight: 800;
    letter-spacing: 0.025em;
    line-height: 0.84;
    text-transform: uppercase;
}

.internal-page-header + .news-index--classic {
    padding-top: clamp(8px, 1.15vw, 14px);
}

@media (max-width: 760px) {
    .internal-page-header {
        padding-block: 25px 21px;
    }

    .internal-page-header__content {
        gap: 6px;
        padding-left: 13px;
    }

    .internal-page-header__content::after {
        top: 1px;
        bottom: 2px;
        width: 2px;
    }

    .internal-page-header__eyebrow {
        font-size: 0.66rem;
        letter-spacing: 0.105em;
    }

    .internal-page-header__title {
        font-size: clamp(2.45rem, 11vw, 2.75rem);
        line-height: 0.88;
    }
}

/* Home agenda heading alignment. */
.home-agenda-strip__label h2 {
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 0.96;
    text-transform: uppercase;
}

.home-agenda-strip__label p {
    max-width: 46ch;
    margin: 0;
    color: rgba(17, 17, 17, 0.66);
    font-size: clamp(0.98rem, 0.5vw + 0.9rem, 1.08rem);
    line-height: 1.45;
}

/* Agenda final polish: scoped to home agenda and public agenda only. */
.home-agenda-strip__label {
    gap: 8px;
}

/* Main home headings share hierarchy while retaining each section's color and layout. */
h2.home-section-title {
    margin: 0;
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 0.96;
    text-transform: uppercase;
}

.facilities-page .facilities-hero h1 {
    font-family: "Barlow Condensed", var(--font-base), sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 0.96;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .facilities-page .facilities-hero h1 {
        font-size: clamp(2rem, 8.5vw, 2.5rem);
    }
}

.public-agenda-hero.news-index-hero--classic {
    overflow: hidden;
}

.public-agenda-hero.news-index-hero--classic .news-index-hero__inner--classic {
    min-height: clamp(112px, 11vw, 146px);
}

.public-agenda-hero .news-index-hero__copy {
    max-width: 46ch;
    gap: 8px;
}

.public-agenda-hero.news-index-hero--classic h1 {
    margin: 0;
    font-size: clamp(2.1rem, 3.2vw, 3.15rem);
    letter-spacing: 0.06em;
    line-height: 0.96;
}

.public-agenda-hero.news-index-hero--classic p {
    max-width: 46ch;
    color: rgba(17, 17, 17, 0.66);
    font-size: clamp(0.98rem, 0.5vw + 0.9rem, 1.08rem);
    line-height: 1.45;
}

.public-agenda-page {
    padding-block: clamp(24px, 4vw, 44px) clamp(48px, 7vw, 84px);
}

.public-agenda-page__container {
    display: grid;
    gap: clamp(24px, 3vw, 34px);
    width: min(100% - 32px, var(--container));
    max-width: var(--container);
    margin-inline: auto;
}

.public-agenda-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 14px 18px;
}

.public-agenda-scope {
    flex: 1 1 360px;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.public-agenda-scope a {
    min-height: 42px;
    padding-inline: 15px;
}

.public-agenda-filters {
    flex: 0 1 520px;
    align-items: end;
    justify-content: flex-end;
    gap: 8px;
    min-width: min(100%, 320px);
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

.public-agenda-filters label {
    flex: 1 1 220px;
    min-width: min(100%, 220px);
}

.public-agenda-filters select,
.public-agenda-filters button,
.public-agenda-filters a {
    box-sizing: border-box;
    min-height: 42px;
}

.public-agenda-filters select {
    height: 42px;
}

.public-agenda-timeline-list {
    gap: clamp(26px, 3vw, 36px);
    padding-left: 42px;
}

.public-agenda-timeline-list::before {
    left: 8px;
    background: rgba(17, 17, 17, 0.12);
}

.public-agenda-timeline-list .public-agenda-timeline-event {
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: clamp(20px, 3vw, 34px);
}

.public-agenda-timeline-list .public-agenda-timeline-event__marker {
    left: -42px;
}

.public-agenda-timeline-event__body {
    gap: 10px;
}

.public-agenda-timeline-event__meta,
.public-agenda-timeline-event__facts {
    min-width: 0;
}

.public-agenda-timeline-event h3 {
    max-width: 46ch;
}

.public-agenda-empty {
    margin-top: 0;
}

@media (max-width: 1020px) {
    .public-agenda-toolbar {
        align-items: stretch;
        display: grid;
        gap: 14px;
    }

    .public-agenda-filters {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .public-agenda-hero.news-index-hero--classic .news-index-hero__inner--classic {
        min-height: 128px;
    }

    .public-agenda-page {
        padding-block: 22px 54px;
    }

    .public-agenda-page__container {
        gap: 22px;
    }

    .public-agenda-scope {
        flex-wrap: wrap;
        margin-inline: 0;
        overflow-x: visible;
        padding-inline: 0;
    }

    .public-agenda-scope a {
        flex: 1 1 auto;
        justify-content: center;
        min-width: min(100%, 138px);
    }

    .public-agenda-filters {
        align-items: stretch;
        flex-direction: column;
        min-width: 0;
    }

    .public-agenda-filters label,
    .public-agenda-filters button,
    .public-agenda-filters a {
        width: 100%;
    }

    .public-agenda-filters select {
        width: 100%;
        height: 42px;
    }

    .public-agenda-timeline-list {
        gap: 26px;
        padding-left: 30px;
    }

    .public-agenda-timeline-list::before {
        left: 6px;
    }

    .public-agenda-timeline-list .public-agenda-timeline-event {
        grid-template-columns: 54px minmax(0, 1fr);
        column-gap: 12px;
    }

    .public-agenda-timeline-list .public-agenda-timeline-event__marker {
        left: -30px;
    }

    .public-agenda-timeline-event__facts {
        align-items: flex-start;
    }
}

/* Instituto: información práctica editorial. */
.institute-practical {
    padding-block: clamp(60px, 8vw, 104px);
    background: var(--color-surface-warm);
}

.institute-practical__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 42px);
    align-items: start;
}

.institute-practical__heading {
    grid-column: 1 / span 4;
}

.institute-practical h2,
.institute-practical h3 {
    margin: 0;
    color: var(--institute-blue-deep);
    font-family: "Barlow Condensed", var(--font-base);
    font-weight: 800;
    line-height: .95;
}

.institute-practical h2 { font-size: clamp(2.1rem, 4vw, 3.5rem); }
.institute-practical h3 { font-size: clamp(1.25rem, 2.1vw, 1.65rem); }

.institute-practical__documents {
    grid-column: 5 / span 5;
    padding-left: clamp(20px, 3vw, 38px);
    border-left: 1px solid var(--institute-rule);
}

.institute-practical__documents h3 {
    display: flex;
    gap: 9px;
    align-items: center;
}

.institute-practical .material-symbols-rounded {
    color: var(--institute-red);
    font-size: 1.2em;
}

.institute-practical ul {
    display: grid;
    gap: 8px;
    margin: 20px 0 0;
    padding: 0;
    color: var(--color-text-muted);
    line-height: 1.45;
    list-style: none;
}

.institute-practical li {
    position: relative;
    padding-left: 15px;
}

.institute-practical li::before {
    position: absolute;
    top: .6em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--institute-red);
    content: "";
}

.institute-practical__summer {
    display: grid;
    grid-column: 10 / span 3;
    gap: 12px;
    align-content: start;
    color: var(--institute-blue-deep);
}

.institute-practical__summer .material-symbols-rounded { font-size: 1.65rem; }
.institute-practical__summer p { margin: 0; line-height: 1.45; }

@media (max-width: 820px) {
    .institute-practical__heading,
    .institute-practical__documents,
    .institute-practical__summer { grid-column: 1 / -1; }

    .institute-practical__documents {
        padding-top: 24px;
        padding-left: 0;
        border-top: 1px solid var(--institute-rule);
        border-left: 0;
    }
}

/* Nivel Inicial: una única superficie editorial de tres etapas. */
.institute-initial__grid {
    align-items: stretch;
    border-color: var(--institute-rule);
    box-shadow: 0 18px 42px rgba(35, 51, 84, .055);
}

.institute-level-card {
    min-height: clamp(590px, 48vw, 700px);
    gap: 0;
    padding: clamp(30px, 3vw, 44px);
}

.institute-level-card__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: start;
    min-height: 86px;
    padding-bottom: clamp(20px, 2.2vw, 30px);
    border-bottom: 1px solid var(--institute-rule);
}

.institute-level-card__number {
    display: grid;
    width: 34px;
    height: 34px;
    border: 1px solid color-mix(in srgb, var(--institute-red) 34%, transparent);
    border-radius: 50%;
    place-items: center;
    color: var(--institute-red);
    font-size: .9rem;
    letter-spacing: .04em;
}

.institute-level-card h3 {
    min-height: 0;
    margin: 0;
    font-size: clamp(1.8rem, 2.4vw, 2.42rem);
    line-height: .94;
}

.institute-level-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: clamp(20px, 2.2vw, 30px);
    padding-top: clamp(22px, 2.4vw, 32px);
}

.institute-level-card__group {
    gap: 11px;
    padding-top: 0;
    border-top: 0;
}

.institute-level-card__group + .institute-level-card__group {
    padding-top: clamp(18px, 2vw, 26px);
    border-top: 1px solid var(--institute-rule);
}

.institute-level-card__label {
    gap: 9px;
    margin-bottom: 2px;
    color: var(--institute-blue-deep);
    font-size: .72rem;
    letter-spacing: .12em;
}

.institute-level-card__label .material-symbols-rounded {
    display: grid;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    place-items: center;
    color: var(--institute-red);
    background: color-mix(in srgb, var(--institute-blue-soft) 72%, var(--color-surface));
    font-size: .92rem;
}

.institute-level-card__group p:not(.institute-level-card__label),
.institute-level-card li {
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.58;
}

.institute-level-card ul { gap: 9px; }

.institute-level-card__group:last-child {
    margin-top: auto;
    padding: 16px 17px 17px;
    border: 1px solid var(--institute-rule);
    border-radius: 0 12px 12px 12px;
    background: rgba(52, 61, 104, .035);
}

.institute-level-card__group:last-child .institute-level-card__label { color: var(--institute-blue); }
.institute-level-card--extended .institute-level-card__group:last-child { background: rgba(255, 255, 255, .44); }

@media (max-width: 980px) {
    .institute-level-card { min-height: 0; }
    .institute-level-card__header { min-height: 0; }
    .institute-level-card__group:last-child { margin-top: 0; }
}

/* Instituto consultas: contacto institucional compacto. */
.institute-enquiries {
    padding-block: clamp(42px, 5.5vw, 68px);
}

.institute-enquiries::after { display: none; }

.institute-enquiries__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-height: 112px;
    gap: clamp(20px, 3vw, 38px);
    padding: clamp(22px, 2.4vw, 30px) clamp(24px, 3vw, 38px);
    border-left-width: 3px;
    border-radius: 12px;
}

.institute-enquiries__inner > div {
    grid-column: 1 / span 7;
    align-self: center;
}

.institute-enquiries h2 {
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: .94;
}

.institute-enquiries__phone {
    grid-column: 8 / span 5;
    min-height: 58px;
    padding-inline: clamp(18px, 2.5vw, 28px);
    border-radius: 10px;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    letter-spacing: .025em;
}

@media (max-width: 720px) {
    .institute-enquiries { padding-block: 52px; }
    .institute-enquiries__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 20px;
        padding: 24px;
    }
    .institute-enquiries__inner > div,
    .institute-enquiries__phone { grid-column: auto; }
    .institute-enquiries__inner > div { min-width: 0; }
    .institute-enquiries__phone { justify-self: stretch; min-height: 56px; }
}

/* Comisión Directiva: Vicepresidencias sin fotografías. */
.commission-page .commission-vice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
    align-items: stretch;
    gap: clamp(12px, 1.45vw, 18px);
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 108px;
    align-items: center;
    gap: 14px;
    padding: 16px 18px 16px 16px;
    border-color: color-mix(in srgb, var(--color-brand) 24%, transparent);
    border-radius: 14px;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable)::before {
    display: none;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) .commission-person-card__photo {
    width: 52px;
    height: 52px;
    min-height: 52px;
    margin: 0;
    align-self: center;
    justify-self: center;
    border-radius: 50%;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) .commission-person-card__body {
    align-self: center;
    gap: 5px;
    padding: 0;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) .commission-person-card__role {
    order: 1;
    min-height: 1.25em;
    font-size: .64rem;
    line-height: 1.25;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) h3 {
    order: 2;
    font-size: 1rem;
    line-height: 1.15;
}

.commission-page .commission-vice-grid .commission-person-card--vice:is(.commission-person-card--no-photo, .is-photo-unavailable) h3::after {
    width: 22px;
    margin-top: 9px;
}

@media (max-width: 980px) {
    .commission-page .commission-vice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .commission-page .commission-vice-grid { grid-template-columns: minmax(0, 1fr); }
}
