/* =========================================================
   MISSION
========================================================= */

.mission {
    padding-bottom: 76px;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.info-card {
    background: var(--theme-card);
    border: 1px solid var(--theme-border);
    border-radius: var(--radiusLg);
    padding: 22px 22px 24px;
    box-shadow: var(--theme-shadow-md);
    transition: box-shadow .18s ease;
    min-height: 190px;
    will-change: transform;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: relative;
    overflow: hidden;
}

.info-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .70);
}

.info-ico {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: var(--theme-card-strong);
    border: 1px solid var(--theme-border);
    box-shadow: var(--theme-shadow-sm);
    margin-bottom: 14px;
    color: var(--maroon);
    font-weight: 900;
}

.info-card h3 {
    margin: 0 0 10px;
    color: var(--maroon);
    font-size: 18px;
}

.info-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
    font-weight: 600;
    font-size: 14.5px;
}

a.info-card {
    display: block;
}

a.info-card:hover {
    text-decoration: none;
}


/* =========================================================
   EVENTS
========================================================= */

.events {
    background: transparent;
    padding-bottom: 86px;
}

.event-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.event-card {
    background: var(--theme-card);
    border-radius: var(--radiusLg);
    border: 1px solid var(--theme-border);
    box-shadow: var(--theme-shadow-md);
    overflow: hidden;
    transition: box-shadow .18s ease;
    will-change: transform;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: relative;
}

.event-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .70);
}

.event-media {
    height: 210px;
    background: #e5e7eb center/cover no-repeat;
    position: relative;
}

.tag {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 7px 11px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 12px;
}

.tag-yellow {
    background: var(--yellow);
    color: #3b0010;
}

.event-card h3 {
    margin: 16px 18px 8px;
    color: var(--maroon);
    font-size: 18px;
}

.event-meta {
    list-style: none;
    margin: 0 18px 18px;
    padding: 0;
    color: var(--muted);
    font-weight: 650;
    display: grid;
    gap: 6px;
    font-size: 13.5px;
}

/* 1) Nav underline animation (does not change layout) */
.nav-list a {
    position: relative;
    padding: 8px 2px;
}

.nav-list a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(.4);
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
}

.nav-list a:hover::after,
.nav-list .current-menu-item>a::after {
    opacity: .7;
    transform: scaleX(1);
}

/* 2) Event image parallax (only affects background layer) */
.event-media {
    overflow: hidden;
}

.event-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    transform: scale(1.03);
    transition: transform .6s cubic-bezier(.2, .8, .2, 1);
    z-index: 0;
    pointer-events: none;
}

/* Keep existing tag above */
.event-media .tag {
    z-index: 2;
}

/* Put content above ::before */
.event-card h3,
.event-meta {
    position: relative;
    z-index: 1;
}

.event-card:hover .event-media::before {
    transform: scale(1.10) translateY(-6px);
}

@media (max-width: 980px) {

    .card-grid,
    .event-grid {
        grid-template-columns: 1fr;
    }
}