/* ============================================================
   EKTA PRAKASH PARV 2026 - "Festival of Light" page theme
   Scoped under .epp26 so nothing leaks into the rest of the site.
   Night-sky canvas, neon running borders on every block, glowing
   photo frames with a light sweep, and neon-bar glass buttons.
   ============================================================ */

@property --epp-a {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

.epp26 {
    --ink: #d7dbf3;
    --ink-soft: #aab0d6;
    --saffron: #ff9933;
    --gold: #ffc94d;
    --green: #39d98a;
    --cyan: #2de2ff;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 70px 0 90px;
    color: var(--ink);
    font-family: "Poppins", sans-serif;
    background:
        radial-gradient(ellipse 70% 40% at 15% 0%, rgba(92, 54, 200, .35), transparent 70%),
        radial-gradient(ellipse 50% 35% at 90% 25%, rgba(255, 120, 40, .18), transparent 70%),
        radial-gradient(ellipse 60% 40% at 10% 60%, rgba(0, 170, 200, .16), transparent 70%),
        radial-gradient(ellipse 70% 40% at 80% 95%, rgba(255, 60, 140, .16), transparent 70%),
        linear-gradient(180deg, #060716 0%, #0a0b22 45%, #05060f 100%);
}

/* ---------- twinkling star field ---------- */
.epp26::before,
.epp26::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-repeat: repeat;
}
.epp26::before {
    background-image:
        radial-gradient(1.5px 1.5px at 20px 30px, #fff, transparent),
        radial-gradient(1px 1px at 120px 80px, #ffe9b0, transparent),
        radial-gradient(1.5px 1.5px at 200px 160px, #bfefff, transparent),
        radial-gradient(1px 1px at 60px 200px, #fff, transparent),
        radial-gradient(1px 1px at 260px 40px, #fff, transparent);
    background-size: 300px 240px;
    opacity: .55;
    animation: eppTwinkle 5s ease-in-out infinite alternate;
}
.epp26::after {
    background-image:
        radial-gradient(1px 1px at 90px 20px, #fff, transparent),
        radial-gradient(1.5px 1.5px at 170px 120px, #ffd27a, transparent),
        radial-gradient(1px 1px at 30px 140px, #c9b8ff, transparent);
    background-size: 220px 180px;
    opacity: .35;
    animation: eppTwinkle 7s ease-in-out 1.5s infinite alternate-reverse;
}
@keyframes eppTwinkle {
    from { opacity: .15; }
    to   { opacity: .7; }
}

/* floating light orbs */
.epp26-orb {
    position: absolute;
    z-index: -1;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .28;
    pointer-events: none;
    animation: eppFloat 18s ease-in-out infinite alternate;
}
.epp26-orb.o1 { background: var(--saffron); top: 6%;  left: -120px; }
.epp26-orb.o2 { background: #7b5cff;        top: 38%; right: -140px; animation-delay: -6s; }
.epp26-orb.o3 { background: var(--green);   top: 72%; left: -100px; animation-delay: -11s; }
@keyframes eppFloat {
    0%   { transform: translate(0, 0) scale(1); }
    50%  { transform: translate(60px, -40px) scale(1.15); }
    100% { transform: translate(-30px, 50px) scale(.95); }
}

.epp26 .container { position: relative; }

/* ---------- HERO ---------- */
.epp26-hero {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 70px;
}
.epp26-date {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 14px;
    padding: 9px 22px;
    border-radius: 40px;
    font-size: .92rem;
    font-weight: 600;
    letter-spacing: .6px;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 201, 77, .55);
    box-shadow: 0 0 18px rgba(255, 170, 60, .35), inset 0 0 14px rgba(255, 170, 60, .18);
    margin-bottom: 26px;
}
.epp26-date i { color: var(--gold); margin-right: 6px; }
.epp26-hero h2 {
    margin: 0 0 12px;
    font-size: clamp(2.1rem, 6vw, 4.2rem);
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.1;
    background: linear-gradient(90deg, #ff9933, #ffe08a, #ffffff, #8dffb8, #2fd36b, #ffe08a, #ff9933);
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 14px rgba(255, 170, 60, .45));
    animation: eppTextFlow 9s linear infinite;
}
@keyframes eppTextFlow { to { background-position: 300% center; } }
.epp26-hero .epp26-lead {
    font-size: clamp(1.1rem, 2.4vw, 1.5rem);
    font-weight: 600;
    color: #fff;
    margin-bottom: 10px;
    text-shadow: 0 0 12px rgba(45, 226, 255, .45);
}
.epp26-hero .epp26-sub {
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: var(--ink-soft);
    margin-bottom: 34px;
}

/* ---------- NEON BUTTONS (adapted from the supplied glass/neon-bar button) ---------- */
.epp26-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 26px 30px;
}
.epp26-btn {
    position: relative;
    flex: 0 1 260px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.epp26-btn a {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 18px;
    border-radius: 30px;
    background: rgba(255, 255, 255, .06);
    border-top: 1px solid rgba(255, 255, 255, .14);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 15px 15px rgba(0, 0, 0, .3);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: .98rem;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;
    overflow: hidden;
    z-index: 1;
    transition: .5s;
}
.epp26-btn:hover a { letter-spacing: 2.5px; color: #fff; }
.epp26-btn a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to left, rgba(255, 255, 255, .18), transparent);
    transform: skewX(45deg) translateX(0);
    transition: .5s;
}
.epp26-btn:hover a::before { transform: skewX(45deg) translateX(260px); }
.epp26-btn::before,
.epp26-btn::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 10px;
    border-radius: 10px;
    background: var(--b);
    box-shadow: 0 0 5px var(--b), 0 0 15px var(--b), 0 0 30px var(--b), 0 0 60px var(--b);
    transition: .5s;
    transition-delay: .2s;
}
.epp26-btn::before { bottom: -5px; }
.epp26-btn::after  { top: -5px; }
.epp26-btn:hover::before { bottom: 0; height: 50%; width: 80%; border-radius: 30px; }
.epp26-btn:hover::after  { top: 0;    height: 50%; width: 80%; border-radius: 30px; }
/* Indian tricolour: saffron / white / India green */
.epp26-btn.b-saffron { --b: #ff9933; --bt: rgba(255, 153, 51, .22); }
.epp26-btn.b-white   { --b: #ffffff; --bt: rgba(255, 255, 255, .16); }
.epp26-btn.b-green   { --b: #138808; --bt: rgba(19, 136, 8, .30); }
.epp26-btn.b-white:hover a { color: #000080; font-weight: 700; }
.epp26-btn.b-green::before,
.epp26-btn.b-green::after { box-shadow: 0 0 5px #2fd13a, 0 0 15px #138808, 0 0 30px #138808, 0 0 60px #138808; }
.epp26-btn a {
    background: linear-gradient(180deg, var(--bt), rgba(255, 255, 255, .04));
    border-top-color: color-mix(in srgb, var(--b) 55%, transparent);
    border-bottom-color: color-mix(in srgb, var(--b) 55%, transparent);
    box-shadow: 0 15px 15px rgba(0, 0, 0, .3), 0 0 18px -4px var(--b);
}

/* ---------- NEON CARD (running light border + breathing glow) ---------- */
.epp26-card {
    --c1: #ffb347;
    --c2: #ff6a00;
    position: relative;
    isolation: isolate;
    border-radius: 28px;
    padding: clamp(22px, 4vw, 50px);
    margin-bottom: 56px;
    background: linear-gradient(160deg, rgba(22, 24, 58, .92), rgba(8, 9, 26, .95));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 24px 60px rgba(0, 0, 0, .55), 0 0 34px -12px var(--c1);
    animation: eppBreathe 4.5s ease-in-out infinite;
}
.epp26-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    padding: 2px;
    background: conic-gradient(from var(--epp-a), transparent 0 50%, var(--c1) 65%, #fff 72%, var(--c2) 80%, transparent 95%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: eppSpin 7s linear infinite;
}
.epp26-card::after {
    /* faint static rim so the edge is visible all the way round */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    border: 1px solid color-mix(in srgb, var(--c1) 35%, transparent);
    pointer-events: none;
}
@keyframes eppSpin { to { --epp-a: 360deg; } }
@keyframes eppBreathe {
    0%, 100% { box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 24px 60px rgba(0, 0, 0, .55), 0 0 30px -14px var(--c1); }
    50%      { box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 24px 60px rgba(0, 0, 0, .55), 0 0 60px -6px var(--c1); }
}

/* colourways */
.epp26-card.t-lamp    { --c1: #ffc14d; --c2: #ff6a00; }
.epp26-card.t-modern  { --c1: #2de2ff; --c2: #4d6bff; }
.epp26-card.t-power   { --c1: #ff9933; --c2: #2fd36b; }
.epp26-card.t-space   { --c1: #b07bff; --c2: #2de2ff; }
.epp26-card.t-water   { --c1: #00f0d0; --c2: #1e90ff; }
.epp26-card.t-north   { --c1: #ff5a7a; --c2: #ffc94d; }
.epp26-card.t-east    { --c1: #39ff88; --c2: #00c2a8; }
.epp26-card.t-west    { --c1: #ff9933; --c2: #ff2f8e; }
.epp26-card.t-south   { --c1: #ffd36b; --c2: #ff7a00; }
.epp26-card.t-intro   { --c1: #ffc94d; --c2: #2de2ff; }

/* card heading */
.epp26-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}
.epp26-num {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    border: 2px solid var(--c1);
    background: radial-gradient(circle, color-mix(in srgb, var(--c1) 35%, transparent), transparent 70%);
    box-shadow: 0 0 12px var(--c1), inset 0 0 12px color-mix(in srgb, var(--c1) 60%, transparent);
    text-shadow: 0 0 8px var(--c1);
}
.epp26-num i { font-size: 1.45rem; }
.epp26-card h3 {
    margin: 0;
    font-size: clamp(1.25rem, 2.6vw, 1.85rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 0 6px color-mix(in srgb, var(--c1) 80%, transparent), 0 0 22px color-mix(in srgb, var(--c1) 50%, transparent);
}
.epp26-card h3 small {
    display: block;
    margin-top: 4px;
    font-size: .62em;
    font-weight: 500;
    letter-spacing: .4px;
    color: var(--c1);
    text-shadow: none;
}
.epp26-card p {
    color: var(--ink);
    font-size: 1.02rem;
    line-height: 1.85;
    text-align: justify;
    hyphens: auto;
    margin-bottom: 14px;
}
.epp26-card p em { color: var(--c1); font-style: italic; font-weight: 600; }
.epp26-card p strong { color: #fff; }

/* ---------- PHOTO FRAME (flowing neon rim + glow + light sweep) ---------- */
.epp26-frame {
    position: relative;
    margin-top: 30px;
    padding: 3px;
    border-radius: 22px;
    background: linear-gradient(90deg, var(--c1), var(--c2), #fff, var(--c2), var(--c1));
    background-size: 300% 100%;
    box-shadow: 0 0 18px -2px var(--c1), 0 0 48px -10px var(--c2);
    animation: eppRim 6s linear infinite;
    transition: transform .5s ease, box-shadow .5s ease;
}
@keyframes eppRim { to { background-position: 300% 0; } }
.epp26-frame:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 26px 2px var(--c1), 0 0 80px -6px var(--c2);
}
.epp26-frame .epp26-inner {
    position: relative;
    border-radius: 19px;
    overflow: hidden;
    background: #000;
}
.epp26-frame .epp26-inner::after {
    /* light sweep across the photo */
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%);
    background-size: 250% 100%;
    background-position: 160% 0;
    animation: eppSweep 6.5s ease-in-out infinite;
}
@keyframes eppSweep {
    0%       { background-position: 160% 0; }
    40%, 100% { background-position: -60% 0; }
}
.epp26-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1920 / 601;
    object-fit: cover;
    /* the collages carry their own white rounded corners - clip them */
    border-radius: 3.2% / 10.2%;
    transform: scale(1.012);
    transition: transform .8s ease;
}
.epp26-frame:hover img { transform: scale(1.035); }
.epp26-frame a { display: block; cursor: zoom-in; }

/* swiper inside frame */
.epp26-swiper { width: 100%; }
.epp26-swiper .swiper-slide { background: #000; }
.epp26-swiper .swiper-pagination { bottom: 10px !important; z-index: 6; }
.epp26-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, .6);
    opacity: 1;
    transition: .3s;
}
.epp26-swiper .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 6px;
    background: var(--c1);
    box-shadow: 0 0 8px var(--c1), 0 0 16px var(--c1);
}
.epp26-swiper .swiper-button-prev,
.epp26-swiper .swiper-button-next {
    z-index: 6;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .45);
    border: 1px solid color-mix(in srgb, var(--c1) 70%, transparent);
    box-shadow: 0 0 10px color-mix(in srgb, var(--c1) 70%, transparent);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: .3s;
}
.epp26-swiper .swiper-button-prev::after,
.epp26-swiper .swiper-button-next::after { font-size: 16px; font-weight: 800; }
.epp26-swiper .swiper-button-prev:hover,
.epp26-swiper .swiper-button-next:hover {
    background: color-mix(in srgb, var(--c1) 45%, rgba(0, 0, 0, .4));
    box-shadow: 0 0 18px var(--c1);
}
.epp26-count {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 6;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 1px;
    color: #fff;
    background: rgba(0, 0, 0, .5);
    border: 1px solid color-mix(in srgb, var(--c1) 60%, transparent);
}

/* ---------- two-experience tiles ---------- */
.epp26-exp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 26px 0 26px;
}
.epp26-tile {
    --c1: #ffc94d;
    position: relative;
    display: block;
    padding: 26px 24px 22px;
    border-radius: 22px;
    text-decoration: none;
    color: var(--ink);
    background: rgba(255, 255, 255, .04);
    border: 1px solid color-mix(in srgb, var(--c1) 45%, transparent);
    box-shadow: inset 0 0 26px -8px var(--c1), 0 0 22px -10px var(--c1);
    transition: transform .4s ease, box-shadow .4s ease;
}
.epp26-tile:hover {
    transform: translateY(-6px);
    color: var(--ink);
    box-shadow: inset 0 0 34px -6px var(--c1), 0 0 40px -6px var(--c1);
}
.epp26-tile.k-out { --c1: #ffb347; }
.epp26-tile.k-in  { --c1: #2de2ff; }
.epp26-tile i.bi-lg {
    display: inline-block;
    font-size: 2rem;
    color: var(--c1);
    text-shadow: 0 0 12px var(--c1);
    margin-bottom: 8px;
}
.epp26-tile h4 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}
.epp26-tile p { margin-bottom: 10px; font-size: .97rem; text-align: left; }
.epp26-tile .go {
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--c1);
}

/* ---------- section dividers ---------- */
#epp-outdoor,
#epp-indoor { scroll-margin-top: 110px; }
.epp26-divider {
    text-align: center;
    margin: 30px 0 46px;
}
.epp26-divider .kick {
    display: inline-block;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 10px;
}
.epp26-divider h2 {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 10px;
    font-size: clamp(1.6rem, 4.6vw, 3rem);
    font-weight: 800;
    letter-spacing: 3px;
    color: #fff4dc;
    text-shadow:
        0 0 4px #fff,
        0 0 12px var(--glow, #ff9933),
        0 0 28px var(--glow, #ff9933),
        0 0 56px var(--glow, #ff9933);
    animation: eppFlicker 7s infinite;
}
.epp26-divider.indoor h2 { --glow: #2de2ff; color: #e6fbff; }
.epp26-divider .bar {
    display: block;
    width: min(420px, 70%);
    height: 3px;
    margin: 18px auto 0;
    border-radius: 3px;
    background: linear-gradient(90deg, transparent, var(--glow, #ff9933), #fff, var(--glow, #ff9933), transparent);
    box-shadow: 0 0 12px var(--glow, #ff9933);
}
.epp26-divider.indoor .bar { --glow: #2de2ff; }
.epp26-divider .tag {
    display: block;
    margin-top: 16px;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 600;
    color: #fff;
}
@keyframes eppFlicker {
    0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; }
    20%, 24%, 55% { opacity: .55; }
}

/* ---------- finale ---------- */
.epp26-finale {
    text-align: center;
}
.epp26-finale h2 {
    font-size: clamp(1.8rem, 5vw, 3.2rem);
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 14px;
    background: linear-gradient(90deg, #ff9933, #ffe08a, #ffffff, #8dffb8, #2fd36b, #ffe08a, #ff9933);
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 14px rgba(255, 170, 60, .45));
    animation: eppTextFlow 9s linear infinite;
}
.epp26-finale .line1 {
    font-size: clamp(1.05rem, 2.2vw, 1.35rem);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 0 12px rgba(255, 201, 77, .5);
    margin-bottom: 8px;
    text-align: center;
}
.epp26-finale .line2 {
    color: var(--ink);
    margin-bottom: 34px;
    text-align: center;
}

/* ---------- responsive ---------- */
@media (max-width: 767.98px) {
    .epp26 { padding: 44px 0 60px; }
    .epp26-hero { margin-bottom: 46px; }
    .epp26-card { border-radius: 22px; margin-bottom: 40px; }
    .epp26-card p { text-align: left; font-size: .98rem; line-height: 1.75; }
    .epp26-head { gap: 14px; }
    .epp26-num { width: 46px; height: 46px; font-size: 1.15rem; }
    .epp26-exp { grid-template-columns: 1fr; gap: 18px; }
    .epp26-frame { border-radius: 16px; margin-top: 22px; }
    .epp26-frame .epp26-inner { border-radius: 13px; }
    .epp26-swiper .swiper-button-prev,
    .epp26-swiper .swiper-button-next { width: 32px; height: 32px; }
    .epp26-swiper .swiper-button-prev::after,
    .epp26-swiper .swiper-button-next::after { font-size: 12px; }
    .epp26-swiper .swiper-pagination { bottom: 4px !important; }
    .epp26-count { top: 6px; right: 8px; font-size: .68rem; padding: 2px 8px; }
    .epp26-btns { gap: 22px; }
    .epp26-btn { flex: 1 1 100%; max-width: 300px; }
    .epp26-orb { width: 220px; height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
    .epp26 *,
    .epp26 *::before,
    .epp26 *::after,
    .epp26::before,
    .epp26::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ============================================================
   DAY THEME (approved look) - overrides the night palette above.
   Same light background as every other page of the site
   (linear-gradient 45deg #e9f5ff -> #fafff4); all running neon
   borders, glows, light sweeps, sliders and glow buttons kept.
   ============================================================ */

.epp26 {
    --ink: #364146;
    --ink-soft: #5b6670;
    --head: #1f2a37;
    color: var(--ink);
    background:
        radial-gradient(ellipse 60% 35% at 12% 0%, rgba(255, 170, 80, .16), transparent 70%),
        radial-gradient(ellipse 50% 35% at 92% 30%, rgba(80, 160, 255, .12), transparent 70%),
        radial-gradient(ellipse 60% 40% at 8% 65%, rgba(40, 190, 110, .10), transparent 70%),
        radial-gradient(ellipse 60% 35% at 85% 95%, rgba(255, 120, 60, .10), transparent 70%),
        linear-gradient(45deg, #e9f5ff, #fafff4);
}

/* twinkling lights become warm golden / saffron / green sparkles */
.epp26::before {
    background-image:
        radial-gradient(2px 2px at 20px 30px, rgba(255, 153, 51, .9), transparent),
        radial-gradient(1.5px 1.5px at 120px 80px, rgba(255, 196, 60, .9), transparent),
        radial-gradient(2px 2px at 200px 160px, rgba(19, 136, 8, .55), transparent),
        radial-gradient(1.5px 1.5px at 60px 200px, rgba(255, 153, 51, .8), transparent),
        radial-gradient(1.5px 1.5px at 260px 40px, rgba(255, 196, 60, .8), transparent);
}
.epp26::after {
    background-image:
        radial-gradient(1.5px 1.5px at 90px 20px, rgba(255, 170, 60, .8), transparent),
        radial-gradient(2px 2px at 170px 120px, rgba(255, 196, 60, .8), transparent),
        radial-gradient(1.5px 1.5px at 30px 140px, rgba(30, 80, 160, .45), transparent);
}
.epp26-orb { opacity: .16; }

/* ---------- hero ---------- */
.epp26-hero { margin-bottom: 60px; }
.epp26-date {
    color: #3a3a3a;
    background: #ffffff;
    border-color: rgba(243, 92, 43, .45);
    box-shadow: 0 0 18px rgba(255, 153, 51, .25), 0 6px 18px rgba(0, 0, 0, .05);
}
.epp26-date i { color: #f35c2b; }
.epp26-hero h2,
.epp26-finale h2 {
    background: linear-gradient(90deg, #ff7a1a, #f35c2b, #c1440e, #1d3f8f, #138808, #2a9d3a, #c1440e, #ff7a1a);
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 10px rgba(255, 153, 51, .30));
}
.epp26-hero .epp26-lead {
    color: var(--head);
    text-shadow: 0 0 14px rgba(255, 170, 60, .35);
}
.epp26-hero .epp26-sub { color: var(--ink-soft); margin-bottom: 0; }

/* ---------- three key highlights under the heading ---------- */
.epp26-keys {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    max-width: 920px;
    margin: 30px auto 26px;
}
.epp26-key {
    --c1: #ff9933;
    --c2: #f35c2b;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    text-align: left;
    background: linear-gradient(160deg, #ffffff, #fffaf3);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .07), 0 0 26px -10px var(--c1);
    animation: epKeyGlow 3.6s ease-in-out infinite;
}
.epp26-key::before {
    /* running light border, same as the section cards */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    padding: 2px;
    background: conic-gradient(from var(--epp-a), transparent 0 45%, var(--c1) 62%, #fff 70%, var(--c2) 80%, transparent 95%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: eppSpin 5s linear infinite;
}
.epp26-key::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    border: 1px solid color-mix(in srgb, var(--c1) 40%, transparent);
}
@keyframes epKeyGlow {
    0%, 100% { box-shadow: 0 10px 26px rgba(0, 0, 0, .07), 0 0 20px -10px var(--c1); }
    50%      { box-shadow: 0 10px 26px rgba(0, 0, 0, .07), 0 0 38px -6px var(--c1); }
}
.epp26-key.k-time  { --c1: #ff9933; --c2: #f35c2b; }
.epp26-key.k-fee   { --c1: #2fbf55; --c2: #138808; }
.epp26-key.k-venue { --c1: #4d8dff; --c2: #1d3f8f; }
.epp26-key-ico {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 1.4rem;
    color: var(--c2);
    background: radial-gradient(circle, color-mix(in srgb, var(--c1) 22%, #fff), #fff 72%);
    border: 2px solid var(--c1);
    box-shadow: 0 0 10px color-mix(in srgb, var(--c1) 70%, transparent), inset 0 0 10px color-mix(in srgb, var(--c1) 35%, transparent);
}
.epp26-key-txt { line-height: 1.3; }
.epp26-key-txt small {
    display: block;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--c2) 85%, #000);
}
.epp26-key-txt strong {
    display: block;
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--head);
}

/* ---------- section cards on the light page ---------- */
.epp26-card {
    background: linear-gradient(160deg, #ffffff, #fffaf3);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), 0 18px 44px rgba(0, 0, 0, .08), 0 0 34px -12px var(--c1);
    animation: eppBreatheDay 4.5s ease-in-out infinite;
}
@keyframes eppBreatheDay {
    0%, 100% { box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), 0 18px 44px rgba(0, 0, 0, .08), 0 0 26px -14px var(--c1); }
    50%      { box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), 0 18px 44px rgba(0, 0, 0, .08), 0 0 52px -8px var(--c1); }
}
.epp26-num {
    color: color-mix(in srgb, var(--c1) 55%, #000);
    background: radial-gradient(circle, color-mix(in srgb, var(--c1) 22%, #fff), #fff 72%);
    text-shadow: none;
}
.epp26-card h3 {
    color: var(--head);
    text-shadow: 0 0 14px color-mix(in srgb, var(--c1) 45%, transparent);
}
.epp26-card h3 small { color: color-mix(in srgb, var(--c1) 55%, #000); }
.epp26-card p { color: var(--ink); }
.epp26-card p em { color: color-mix(in srgb, var(--c1) 55%, #000); }
.epp26-card p strong { color: var(--head); }

/* two-experience tiles */
.epp26-tile {
    color: var(--ink);
    background: #ffffff;
    box-shadow: inset 0 0 22px -12px var(--c1), 0 0 22px -10px var(--c1), 0 8px 22px rgba(0, 0, 0, .05);
}
.epp26-tile:hover {
    color: var(--ink);
    box-shadow: inset 0 0 30px -10px var(--c1), 0 0 40px -8px var(--c1), 0 12px 28px rgba(0, 0, 0, .08);
}
.epp26-tile h4 { color: var(--head); }
.epp26-tile i.bi-lg { color: color-mix(in srgb, var(--c1) 70%, #000); text-shadow: 0 0 12px var(--c1); }
.epp26-tile .go { color: color-mix(in srgb, var(--c1) 55%, #000); }

/* neon section headings */
.epp26-divider .kick { color: #c1440e; }
.epp26-divider h2 {
    color: #b8460f;
    text-shadow:
        0 0 2px #fff,
        0 0 10px color-mix(in srgb, var(--glow, #ff9933) 70%, transparent),
        0 0 24px color-mix(in srgb, var(--glow, #ff9933) 45%, transparent);
}
.epp26-divider.indoor h2 { color: #0b5f86; }
.epp26-divider.indoor .bar,
.epp26-divider.indoor h2 { --glow: #2db8ff; }
.epp26-divider .tag { color: var(--head); }

/* finale */
.epp26-finale .line1 { color: var(--head); text-shadow: 0 0 12px rgba(255, 170, 60, .35); }
.epp26-finale .line2 { color: var(--ink); }

/* glow buttons on the light page (same effect, readable text) */
.epp26-btn a {
    color: var(--head);
    font-weight: 600;
    background: linear-gradient(180deg, color-mix(in srgb, var(--b) 16%, #ffffff), #ffffff);
    border-top-color: color-mix(in srgb, var(--b) 70%, transparent);
    border-bottom-color: color-mix(in srgb, var(--b) 70%, transparent);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .08), 0 0 18px -4px var(--b);
}
.epp26-btn:hover a { color: var(--head); }
.epp26-btn a::before { background: linear-gradient(to left, rgba(255, 255, 255, .7), transparent); }

@media (max-width: 768px) {
    .epp26 { padding-top: 96px; }   /* clear the site's stacked register buttons */
}
@media (max-width: 991.98px) {
    .epp26-keys { grid-template-columns: 1fr; max-width: 420px; gap: 14px; }
}
