/* ========================================================
   CIRCUITO CITY 2026 — Dirección visual refinada
   Inspiración: running premium agresivo, limpio, editorial.
   ======================================================== */

:root {
    /* La paleta original se conserva, pero se controla con más negro, off-white y aire. */
    --c-bull-red: #9a0028;
    --c-sky-green: #00f5c8;
    --c-sky-blue: #00a7e1;
    --c-nike-orange: #ff5a00;
    --c-offwhite: #f4f1ea;
    --c-black: #0b0d0f;
    --c-ink: #15191d;
    --c-muted: #6f7479;
    --c-line: rgba(11, 13, 15, 0.16);
    --c-white: #ffffff;

    /* Se baja la agresividad del borde para que el brutalismo se vea premium, no ruidoso. */
    --border-width: 2px;
    --radius-soft: 18px;
    --shadow-clean: 0 24px 70px rgba(11, 13, 15, 0.14);
    --shadow-tight: 0 12px 30px rgba(11, 13, 15, 0.12);
    --shadow-accent: 8px 8px 0 rgba(11, 13, 15, 0.95);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--c-offwhite);
    color: var(--c-black);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: var(--c-nike-orange); color: var(--c-white); }

img, video, iframe { max-width: 100%; }
a { color: inherit; }

/* =======================================================
   UTILIDADES DE COLOR CITY 2026
   ======================================================= */
.bg-bull-red { background-color: var(--c-bull-red) !important; color: var(--c-white) !important; }
.text-bull-red { color: var(--c-bull-red) !important; }
.bg-sky-green { background-color: var(--c-sky-green) !important; color: var(--c-black) !important; }
.text-sky-green { color: var(--c-sky-green) !important; }
.bg-sky-blue { background-color: var(--c-sky-blue) !important; color: var(--c-black) !important; }
.text-sky-blue { color: var(--c-sky-blue) !important; }
.bg-nike-orange { background-color: var(--c-nike-orange) !important; color: var(--c-white) !important; }
.text-nike-orange { color: var(--c-nike-orange) !important; }
.bg-offwhite { background-color: var(--c-offwhite) !important; }
.bg-ink { background-color: var(--c-ink) !important; }
.text-white-75 { color: rgba(255,255,255,0.76) !important; }

.fw-black { font-weight: 900 !important; }
.z-index-1 { z-index: 1; }
.z-index-2 { z-index: 2; }
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }
.object-fit-cover { object-fit: cover; object-position: center; }
.cursor-pointer { cursor: pointer; }

/* =======================================================
   SISTEMA DE BORDES / CAJAS — brutalista refinado
   ======================================================= */
.brutal-border,
.brutal-border-heavy {
    border: var(--border-width) solid var(--c-black) !important;
    border-radius: var(--radius-soft) !important;
}
.border-bottom-thick { border-bottom: var(--border-width) solid var(--c-black) !important; }
.border-top-thick { border-top: var(--border-width) solid var(--c-black) !important; }

@media (min-width: 992px) {
    .border-end-lg-thick { border-right: var(--border-width) solid var(--c-black); }
}

.brutal-box {
    border: var(--border-width) solid var(--c-black);
    border-radius: var(--radius-soft);
    background-color: var(--c-white);
    box-shadow: var(--shadow-tight);
    overflow: hidden;
}

.brutal-card {
    border: var(--border-width) solid var(--c-black);
    border-radius: var(--radius-soft);
    background: var(--c-white);
    box-shadow: var(--shadow-tight);
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.brutal-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-clean);
    border-color: rgba(11, 13, 15, 0.92);
}

.brutal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: 0.92rem 1.35rem;
    border: var(--border-width) solid var(--c-black);
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease;
    cursor: pointer;
}
.brutal-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(11, 13, 15, 0.18);
}
.brutal-btn:active { transform: translateY(0); }

.section-kicker {
    align-items: center;
    gap: .55rem;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.section-kicker::before {
    content: "";
    width: 34px;
    height: 2px;
    background: currentColor;
}
.section-title {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.06em;
    line-height: .94;
    font-size: clamp(2.7rem, 7vw, 6.8rem);
}
.section-lead {
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.34;
    font-weight: 700;
    max-width: 760px;
}

/* =======================================================
   NAVEGACIÓN — limpia, compacta y e-commerce premium
   ======================================================= */
.brutal-navbar {
    background-color: rgba(255,255,255,0.92) !important;
    border-bottom: 1px solid rgba(11, 13, 15, 0.14) !important;
    padding: 12px 0;
    backdrop-filter: blur(18px);
}
.brutal-navbar .navbar-brand img {
    max-height: 48px;
    width: auto;
}
.brutal-navbar .nav-link {
    position: relative;
    color: var(--c-black) !important;
    font-size: .74rem;
    font-weight: 900 !important;
    letter-spacing: .075em;
    text-transform: uppercase;
    padding: .65rem .15rem;
    border: 0;
}
.brutal-navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: .4rem;
    height: 2px;
    background: var(--c-nike-orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}
.brutal-navbar .nav-link:hover::after { transform: scaleX(1); }
.brutal-navbar .brutal-btn {
    padding: .75rem 1.05rem;
    font-size: .72rem;
    box-shadow: none;
}
.navbar-toggler {
    border-radius: 999px !important;
    padding: .62rem .75rem;
}

/* =======================================================
   HERO VIDEO — más editorial, menos ruido
   ======================================================= */
.brutal-hero-container {
    min-height: 88vh !important;
    overflow: hidden;
}
.video-hero-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.video-hero-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.92) contrast(1.04);
}
.hero-overlay {
    opacity: 1 !important;
    background: linear-gradient(90deg, rgba(6,7,9,.82) 0%, rgba(6,7,9,.58) 46%, rgba(6,7,9,.24) 100%) !important;
}
.hero-kicker { color: rgba(255,255,255,.82) !important; }
.city-hero-text-shadow { text-shadow: none !important; }
.hero-title-brutal {
    font-size: clamp(4rem, 12vw, 11.5rem);
    font-weight: 900 !important;
    letter-spacing: -.085em;
    line-height: .78;
    text-transform: uppercase;
}
.hero-title-brutal .text-bull-red {
    color: #d20a36 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.hero-subtitle-brutal {
    max-width: 850px;
    font-size: clamp(1.2rem, 2.55vw, 2.45rem);
    font-weight: 800 !important;
    line-height: 1.05;
    letter-spacing: -.035em;
    color: rgba(255,255,255,.9) !important;
}

/* =======================================================
   CONTADOR
   ======================================================= */
.translucent-counter {
    background: rgba(10, 12, 14, 0.82);
    backdrop-filter: blur(14px);
    border-top: 1px solid rgba(255,255,255,.1) !important;
}
#countdown-section h6 {
    font-size: .72rem;
    letter-spacing: .14em;
    color: rgba(255,255,255,.68) !important;
}
#next-race-name { font-size: clamp(1rem, 1.8vw, 1.35rem); }
.min-w-60 { min-width: 64px !important; }
.cd-item {
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    padding: .58rem .72rem !important;
}
.cd-item span { font-size: clamp(1.25rem, 2vw, 1.8rem) !important; }
.small-text { font-size: .62rem; letter-spacing: .08em; }

/* =======================================================
   BANNER NIKE / SPONSOR TOP
   ======================================================= */
#nike-banner {
    background: var(--c-offwhite) !important;
    padding: clamp(2rem, 5vw, 4.5rem) 0 !important;
}
#nike-banner .brutal-box {
    border: 1px solid var(--c-black);
    border-radius: var(--radius-soft);
    box-shadow: none;
    background: var(--c-white);
}
.banner-hover img { transition: transform .45s ease, opacity .45s ease, filter .45s ease; }
.banner-hover:hover img {
    opacity: .94;
    transform: scale(1.015);
    filter: contrast(1.04);
}

/* =======================================================
   PREVENTA — bloque editorial más premium
   ======================================================= */
#preventa {
    position: relative;
    background:
        radial-gradient(circle at 18% 10%, rgba(255,90,0,.34), transparent 28%),
        linear-gradient(135deg, #171a1e 0%, #20050b 42%, var(--c-bull-red) 100%) !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

#preventa.brutal-box {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#preventa::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 1px;
    background: rgba(255,255,255,.18);
}
#preventa h2 {
    letter-spacing: -.07em;
    line-height: .88;
}
#preventa p {
    max-width: 620px;
    color: rgba(255,255,255,.86);
    line-height: 1.35;
}
#preventa .brutal-box[style] {
    transform: none !important;
    border-radius: var(--radius-soft) !important;
    box-shadow: var(--shadow-accent);
}
#preventa img { border-radius: 12px !important; }

/* =======================================================
   CAMPAÑA VIDEO — YouTube Short vertical con portada custom
   ======================================================= */
.campaign-section {
    background:
        linear-gradient(180deg, #14171b 0%, #090a0c 100%) !important;
    overflow: hidden;
}
.campaign-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 520px;
}
.campaign-meta-grid > div {
    padding: 1.15rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.045);
}
.campaign-meta-grid small {
    display: block;
    margin-bottom: .35rem;
    color: rgba(255,255,255,.52);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.campaign-meta-grid strong { font-size: .98rem; }
.campaign-video-frame {
    position: relative;
    width: min(100%, 380px);
    aspect-ratio: 9 / 16;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 30px;
    padding: 10px;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
    box-shadow: 0 34px 80px rgba(0,0,0,.36);
}
.campaign-video-card,
.campaign-iframe {
    position: absolute;
    inset: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 0;
    border-radius: 24px;
    overflow: hidden;
}
.campaign-video-card {
    padding: 0;
    background: var(--c-black);
    color: var(--c-white);
    cursor: pointer;
}
.campaign-video-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: contrast(1.06) saturate(.92) brightness(.78);
    transition: transform .45s ease, filter .45s ease;
}
.campaign-video-card:hover img {
    transform: scale(1.04);
    filter: contrast(1.08) saturate(1) brightness(.62);
}
.campaign-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 78px;
    height: 78px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c-nike-orange);
    color: var(--c-white);
    border: 2px solid var(--c-white);
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.campaign-play i { margin-left: 4px; }
.campaign-label {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: block;
    padding: .85rem 1rem;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: var(--c-black);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.campaign-iframe { display: none; background: #000; }
.campaign-video-frame.is-playing .campaign-video-card { display: none; }
.campaign-video-frame.is-playing .campaign-iframe { display: block; }

/* =======================================================
   RUTAS — tarjetas ordenadas, con color como acento
   ======================================================= */
#carreras { background: var(--c-offwhite) !important; }
#carreras > .container { max-width: 1180px; }
#carreras h2 {
    border-bottom: 0 !important;
    position: relative;
    font-size: clamp(2.1rem, 4vw, 4.1rem);
    letter-spacing: -.06em;
    line-height: .92;
}
#carreras h2::after {
    content: "";
    display: block;
    width: 78px;
    height: 4px;
    margin-top: .8rem;
    background: var(--c-nike-orange);
}
.city-card-horizontal { min-height: 100%; }
.city-card-img-wrap { background: #d9d5cd; overflow: hidden; }
.city-card-img-wrap img {
    transition: transform .55s ease, filter .55s ease;
    filter: saturate(.88) contrast(1.02);
}
.brutal-card:hover .city-card-img-wrap img { transform: scale(1.05); }
.city-card-content-wrap .card-header {
    border-bottom: 1px solid rgba(11, 13, 15, .12) !important;
    padding: 1.1rem 1.25rem !important;
}
.city-card-content-wrap .card-header h3 {
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    letter-spacing: -.045em;
    line-height: .9;
}
.city-card-content-wrap .card-header p {
    font-size: .77rem !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.city-card-content-wrap .p-4 { padding: 1.35rem !important; }
.city-card-content-wrap h4 {
    letter-spacing: -.065em;
    line-height: .9;
    margin-bottom: .75rem;
}
.city-card-content-wrap p {
    font-size: .92rem;
    color: rgba(11,13,15,.72);
}
.city-card-content-wrap .brutal-btn {
    width: 100%;
    border-radius: 999px;
    background: var(--c-black) !important;
    color: var(--c-white) !important;
    border-color: var(--c-black) !important;
}

@media (min-width: 992px) {
    .city-card-horizontal { flex-direction: row !important; }
    .city-card-img-wrap {
        width: 42% !important;
        border-bottom: none !important;
        border-right: 1px solid rgba(11,13,15,.18) !important;
        flex-shrink: 0;
        display: flex;
    }
    .city-card-content-wrap { width: 58% !important; }
    .city-card-img-wrap picture { width: 100%; height: 100%; display: block; }
    .city-card-img-wrap img { height: 100% !important; aspect-ratio: 4 / 5 !important; }
}

/* =======================================================
   MEDALLAS — más escala, más presencia, mejor lightbox trigger
   ======================================================= */
.medals-section {
    background:
        radial-gradient(circle at 20% 0%, rgba(0,245,200,.16), transparent 30%),
        radial-gradient(circle at 92% 8%, rgba(255,90,0,.18), transparent 25%),
        #11161a !important;
    overflow: hidden;
}
.medals-grid { align-items: stretch; }
.medal-square {
    position: relative;
    min-height: clamp(320px, 34vw, 460px);
    aspect-ratio: 4 / 5;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 3.2rem 1.15rem 1.15rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,1), rgba(244,241,234,1));
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.medal-square::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(11,13,15,.1);
    border-radius: 14px;
    pointer-events: none;
}
.medal-square:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 70px rgba(0,0,0,.35);
}
.medal-square img {
    position: static;
    width: 100%;
    height: 100%;
    max-height: 350px;
    object-fit: contain;
    filter: grayscale(100%) contrast(1.08);
    transition: filter .38s ease, transform .38s ease;
}
.medal-square:hover img {
    filter: grayscale(0%) contrast(1.04);
    transform: scale(1.06);
}
.medal-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    z-index: 2;
    display: block;
    padding: .72rem .85rem;
    border-radius: 999px;
    border: 1px solid rgba(11,13,15,.22);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
}
#medalLightbox .modal-dialog { max-width: min(92vw, 820px); }
#medalLightbox .modal-body {
    border-radius: 24px;
    box-shadow: 0 40px 90px rgba(0,0,0,.42);
}
#lightboxImg { max-height: 82vh; object-fit: contain; }

/* =======================================================
   SPONSORS / MODALES / STRAVA
   ======================================================= */
.sponsor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow .2s ease;
    filter: grayscale(100%);
    box-shadow: none;
}
.sponsor-item:hover { transform: translateY(-4px); filter: grayscale(0%); box-shadow: var(--shadow-tight); }
.sponsor-platinum { height: 140px; padding: 1.5rem; }
.sponsor-platinum img,
.sponsor-gold img,
.sponsor-silver img { max-height: 100%; width: auto; object-fit: contain; }
.sponsor-gold { height: 100px; padding: 1rem; }
.sponsor-silver { height: 70px; padding: .55rem; }

.brutal-tabs { border-bottom: 1px solid rgba(11,13,15,.22); gap: .5rem; }
.brutal-tabs .nav-link {
    border: 1px solid rgba(11,13,15,.18);
    color: var(--c-black);
    font-weight: 900;
    border-radius: 999px;
    background: rgba(255,255,255,.6);
    margin-bottom: .7rem;
}
.brutal-tabs .nav-link.active {
    border-color: var(--c-black);
    background-color: var(--c-black) !important;
    color: var(--c-white) !important;
    margin-bottom: .7rem;
}
.modal-content { border-radius: 24px !important; overflow: hidden; }
.modal-header { border-bottom-width: 1px !important; }
.btn-close.brutal-close {
    border: 1px solid currentColor;
    border-radius: 999px;
    opacity: 1;
    background-color: var(--c-white);
    padding: .65rem;
    transition: transform .18s ease, background-color .18s ease;
}
.btn-close.brutal-close:hover { transform: rotate(90deg); background-color: var(--c-nike-orange); }
.strava-container { min-height: 405px; width: 100%; }
.strava-embed-placeholder iframe { width: 100% !important; height: 100% !important; min-height: 400px; border-radius: 14px; }

/* =======================================================
   FOOTER
   ======================================================= */
footer {
    background: var(--c-ink) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
}
.brutal-social {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    color: var(--c-white);
    border: 1px solid rgba(255,255,255,.22);
    font-size: 1.08rem;
    transition: all .2s ease;
    text-decoration: none;
    box-shadow: none;
}
.brutal-social:hover {
    background: var(--c-nike-orange) !important;
    color: var(--c-white) !important;
    border-color: var(--c-nike-orange) !important;
    transform: translateY(-3px);
}

/* =======================================================
   ANIMACIÓN DE ENTRADA — discreta para mantener performance
   ======================================================= */
.scroll-reveal-section {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}
.scroll-reveal-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
    .scroll-reveal-section { opacity: 1; transform: none; }
}

/* =======================================================
   RESPONSIVE
   ======================================================= */
@media (max-width: 991.98px) {
    .brutal-navbar .navbar-collapse {
        margin-top: .9rem;
        padding: 1rem;
        border: 1px solid rgba(11,13,15,.12);
        border-radius: 18px;
        background: var(--c-white);
    }
    .hero-overlay { background: linear-gradient(180deg, rgba(6,7,9,.62), rgba(6,7,9,.86)) !important; }
    .campaign-video-frame { width: min(100%, 340px); }
    .medal-square { min-height: 360px; }
}

@media (max-width: 767.98px) {
    .brutal-hero-container { min-height: 92vh !important; }
    .hero-title-brutal { font-size: clamp(3.5rem, 19vw, 5.2rem); }
    .hero-subtitle-brutal { font-size: 1.25rem; }
    .section-title { font-size: clamp(2.4rem, 13vw, 4rem); }
    .campaign-meta-grid { grid-template-columns: 1fr; }
    .medal-square { min-height: 330px; }
    .sponsor-platinum { height: 110px; padding: 1rem; }
    .sponsor-gold { height: 80px; padding: .75rem; }
    .sponsor-silver { height: 60px; padding: .5rem; }
}

@media (max-width: 575.98px) {
    #countdown { gap: .38rem !important; }
    .min-w-60 { min-width: 55px !important; }
    .cd-item { padding: .5rem !important; }
    .campaign-video-frame { width: min(100%, 310px); border-radius: 24px; }
    .campaign-video-card,
    .campaign-iframe { border-radius: 18px; }
    #preventa .brutal-btn,
    .campaign-section .brutal-btn { width: 100%; }
}

/* =======================================================
   AJUSTES SOLICITADOS — VÉRTICES RECTOS + MENÚ MÁS GRANDE
   1) Se eliminan radios en botones, cards, contenedores de títulos,
      imágenes, badges, modales, tabs, contador y video.
   2) Se aumenta la escala tipográfica del menú sin romper el layout.
   ======================================================= */

/* Radio base en 0 para que cualquier componente que use la variable quede recto. */
:root {
    --radius-soft: 0px;
}

/* Sistema visual con esquinas rectas: botones, tarjetas, imágenes, títulos y contenedores. */
.brutal-border,
.brutal-border-heavy,
.brutal-box,
.brutal-card,
.brutal-btn,
.navbar-toggler,
.cd-item,
.section-kicker,
#nike-banner .brutal-box,
#preventa .brutal-box,
#preventa .brutal-box[style],
#preventa img,
.city-card-img-wrap,
.city-card-img-wrap img,
.city-card-content-wrap,
.city-card-content-wrap .card-header,
.campaign-meta-grid > div,
.campaign-video-frame,
.campaign-video-card,
.campaign-iframe,
.campaign-play,
.campaign-label,
.medal-square,
.medal-square::before,
.medal-badge,
.sponsor-item,
.brutal-tabs .nav-link,
.modal-content,
.modal-header,
.modal-body,
#medalLightbox .modal-body,
.btn-close.brutal-close,
.strava-container,
.strava-embed-placeholder iframe,
.brutal-social {
    border-radius: 0 !important;
}

/* Las imágenes dentro de contenedores principales también mantienen vértices rectos. */
.brutal-box img,
.brutal-card img,
.medal-square img,
.campaign-video-card img {
    border-radius: 0 !important;
}

/* Menú principal con más presencia visual. */
.brutal-navbar .nav-link {
    font-size: clamp(0.88rem, 0.78vw, 1rem);
    letter-spacing: 0.055em;
    line-height: 1;
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

/* Botón de inscripción del menú alineado con la nueva escala. */
.brutal-navbar .brutal-btn {
    font-size: clamp(0.84rem, 0.72vw, 0.94rem);
    padding: 0.86rem 1.12rem;
    border-radius: 0 !important;
}

/* Ajuste de aire para que el menú ampliado siga limpio en desktop. */
@media (min-width: 992px) {
    .brutal-navbar .navbar-nav {
        gap: 0.82rem !important;
    }
}

/* En móvil el menú desplegado debe sentirse táctil y claro. */
@media (max-width: 991.98px) {
    .brutal-navbar .navbar-collapse {
        border-radius: 0 !important;
    }

    .brutal-navbar .nav-link {
        font-size: 1.05rem;
        padding: 0.88rem 0;
    }

    .brutal-navbar .brutal-btn {
        width: 100%;
        margin-top: 0.35rem;
        font-size: 1rem;
    }
}

