:root {
    --bs-body-font-family: "Cairo", Arial, "Helvetica Neue", Helvetica, sans-serif;
    --brand: #996F32;
    --brand-rgb: 153, 111, 50;
    --brand-soft: #F1E9DC;
    --sand: #C4A77A;
    --ink: #111111;
    --ink-2: #1D1D1B;
    --smoke: #F7F4EF;
    --line: #E5DED2;
    --muted: #6E6E6E;
    --white: #FFFFFF;
    --rail-w: 174px;
    --radius: 0;
    --shadow: 0 24px 70px rgba(17, 17, 17, .16);
    --shadow-soft: 0 16px 45px rgba(17, 17, 17, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Cairo", Arial, "Helvetica Neue", Helvetica, sans-serif;
    background: var(--white);
    color: var(--ink);
    overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--brand); text-decoration: none; transition: color .22s ease, opacity .22s ease, background .22s ease, border-color .22s ease; }
a:hover { color: var(--ink); }
.text-balance { text-wrap: balance; }
.text-brand { color: var(--brand) !important; }
.fw-black { font-weight: 900; letter-spacing: -.055em; }
.shadow-soft { box-shadow: var(--shadow-soft); }
.rounded-panel { border-radius: 0; overflow: hidden; }
.skip-link {
    position: fixed;
    top: 12px;
    left: -999px;
    z-index: 9999;
    background: var(--brand);
    color: var(--white);
    padding: .75rem 1rem;
    font-weight: 900;
}
.skip-link:focus { left: 12px; }

.site-main,
.site-footer {
    width: 100%;
}
@media (min-width: 1200px) {
    .site-main,
    .site-footer {
        margin-left: var(--rail-w);
        width: calc(100% - var(--rail-w));
    }
}

/* Dylan-style fixed left rail */
.site-rail {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--rail-w);
    z-index: 1040;
    background: var(--ink);
    color: var(--white);
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid rgba(255,255,255,.08);
}
.rail-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    padding: 1.75rem 1.3rem 1.25rem;
    color: var(--white);
    min-height: 150px;
}
.rail-brand:hover { color: var(--white); }
.rail-brand img { width: 58px; height: 58px; object-fit: contain; margin-bottom: .35rem; }
.rail-brand-title { font-size: 1.55rem; font-weight: 900; letter-spacing: -.08em; line-height: 1; }
.rail-brand-subtitle { font-size: .64rem; color: rgba(255,255,255,.58); text-transform: uppercase; letter-spacing: .13em; line-height: 1.25; }
.rail-nav {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: 0 0 1rem;
    margin-top: auto;
    margin-bottom: auto;
}
.rail-item { position: relative; }
.rail-link {
    display: flex;
    align-items: center;
    min-height: 43px;
    padding: 0 1.25rem;
    color: rgba(255,255,255,.78);
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
    border-left: 4px solid transparent;
}
.rail-link:hover,
.rail-item.active > .rail-link,
.rail-item:focus-within > .rail-link {
    color: var(--white);
    border-left-color: var(--brand);
    background: rgba(153, 111, 50, .18);
}
.rail-submenu {
    position: absolute;
    top: 0;
    left: calc(100% + 1px);
    min-width: 260px;
    list-style: none;
    margin: 0;
    padding: .75rem;
    background: var(--ink);
    border: 1px solid rgba(255,255,255,.08);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-8px);
    transition: opacity .22s ease, transform .22s ease;
    box-shadow: var(--shadow);
}
.rail-item:hover .rail-submenu,
.rail-item:focus-within .rail-submenu {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}
.rail-submenu a {
    display: block;
    padding: .7rem .8rem;
    color: rgba(255,255,255,.76);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-left: 3px solid transparent;
}
.rail-submenu a:hover,
.rail-submenu a.active {
    color: var(--white);
    background: rgba(153,111,50,.22);
    border-left-color: var(--brand);
}
.rail-follow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1.1rem 1.2rem 1.5rem;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.62);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.rail-follow a {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    color: var(--white);
    font-size: .65rem;
}
.rail-follow a:hover { background: var(--brand); border-color: var(--brand); }

/* Mobile header */
.mobile-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1040;
    background: var(--ink);
    border-bottom: 1px solid rgba(255,255,255,.08);
    transition: box-shadow .22s ease;
}
.mobile-header.is-scrolled { box-shadow: 0 12px 32px rgba(0,0,0,.22); }
.mobile-header .navbar { min-height: 76px; }
.mobile-header .navbar-brand { color: var(--white); font-weight: 900; letter-spacing: .02em; }
.mobile-header .nav-link {
    color: rgba(255,255,255,.78);
    font-size: .84rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.mobile-header .nav-link.active,
.mobile-header .nav-link:hover { color: var(--white); }
.mobile-header .dropdown-menu {
    background: #161616;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
}
.dropdown-item.active,
.dropdown-item:active {
    background: var(--brand);
    color: var(--white);
}
@media (max-width: 1199.98px) {
    .site-main { padding-top: 76px; }
}

/* Buttons and typography */
.btn {
    border-radius: 0;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .9rem 1.15rem;
    font-size: .76rem;
}
.btn-brand {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: var(--white);
}
.btn-brand:hover,
.btn-brand:focus {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--white);
}
.bg-ink .btn-brand:hover,
.black-callout .btn-brand:hover {
    background: var(--white);
    border-color: var(--white);
    color: var(--ink);
}
.btn-outline-brand {
    color: var(--brand);
    border: 1px solid var(--brand);
    background: transparent;
}
.btn-outline-brand:hover { background: var(--brand); color: var(--white); }
.btn-outline-light {
    color: var(--white);
    border: 1px solid rgba(255,255,255,.7);
}
.btn-outline-light:hover { background: var(--white); color: var(--ink); border-color: var(--white); }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
    color: var(--brand);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.eyebrow::before {
    content: "";
    display: inline-block;
    width: 45px;
    height: 2px;
    background: currentColor;
}
.section-title {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.055em;
    line-height: .98;
}
.section-intro {
    color: var(--muted);
    font-size: 1.07rem;
    max-width: 760px;
}
.section-pad { padding: 7rem 0; }
.section-pad-sm { padding: 4.5rem 0; }
.bg-soft { background: var(--smoke); }
.bg-ink { background: var(--ink); color: var(--white); }
.bg-brand { background: var(--brand); color: var(--white); }
.bg-ink .section-intro,
.bg-brand .section-intro { color: rgba(255,255,255,.68); }
.text-muted { color: var(--muted) !important; }
.text-white-50 { color: rgba(255,255,255,.60) !important; }

/* Home hero */
.hero-carousel.dylan-hero {
    position: relative;
    height: 100vh;
    min-height: 720px;
    background: var(--ink);
    color: var(--white);
    overflow: hidden;
    isolation: isolate;
}
@supports (height: 100svh) {
    .hero-carousel.dylan-hero { height: 100svh; }
}
.hero-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(380px, 48vw) 1fr;
    opacity: 0;
    pointer-events: none;
    transition: opacity .65s ease;
    overflow: hidden;
}
.hero-slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}
.hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--ink);
    overflow: hidden;
}
.hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.045);
    transition: transform 7s ease;
    display: block;
}
.hero-slide.active .hero-media img { transform: scale(1); }
.hero-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17,17,17,.28);
    z-index: 1;
    pointer-events: none;
}
.hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(153,111,50,.20);
    mix-blend-mode: multiply;
    z-index: 2;
    pointer-events: none;
}
.hero-copy-panel {
    grid-column: 1;
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem clamp(2rem, 4.2vw, 5.2rem);
    background: rgba(17,17,17,.44);
    min-height: 100%;
    width: min(48vw, 880px);
    max-width: 100%;
}
.hero-copy-panel::after {
    content: "";
    position: absolute;
    top: 0;
    right: -74px;
    width: 74px;
    height: 100%;
    background: rgba(153,111,50,.88);
    pointer-events: none;
}
.hero-copy-panel h1 {
    font-size: clamp(3rem, 5.4vw, 6.8rem);
    line-height: .86;
    max-width: 8.8em;
    overflow-wrap: normal;
}
.hero-copy-panel .lead { color: rgba(255,255,255,.78); max-width: 620px; }
.hero-side-label {
    position: absolute;
    right: 2rem;
    bottom: 2.2rem;
    z-index: 3;
    color: rgba(255,255,255,.75);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
.hero-index {
    position: absolute;
    left: clamp(2rem, 4vw, 4.8rem);
    bottom: 2.3rem;
    z-index: 3;
    display: flex;
    gap: .55rem;
}
.hero-dot {
    width: 34px;
    height: 4px;
    border: 0;
    padding: 0;
    background: rgba(255,255,255,.35);
    cursor: pointer;
}
.hero-dot.active { background: var(--brand); }
.hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(17,17,17,.45);
    color: var(--white);
    display: grid;
    place-items: center;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .22s ease, border-color .22s ease;
}
.hero-arrow:hover { background: var(--brand); border-color: var(--brand); }
.hero-prev { left: calc(min(48vw, 880px) + 6.5rem); }
.hero-next { right: 2rem; }

/* Page hero */
.page-hero {
    min-height: 62vh;
    position: relative;
    display: grid;
    grid-template-columns: minmax(360px, 42%) 1fr;
    background: var(--ink);
    color: var(--white);
    overflow: hidden;
}
.page-hero-media {
    position: relative;
    grid-column: 2;
    background-size: cover;
    background-position: center;
    min-height: 62vh;
}
.page-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17,17,17,.18);
    pointer-events: none;
}
.page-hero-panel {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 6rem clamp(2rem, 4vw, 4.5rem);
    background: var(--ink);
}
.page-hero-panel::after {
    content: "";
    position: absolute;
    top: 0;
    right: -44px;
    width: 44px;
    height: 100%;
    background: var(--brand);
}
.page-hero-panel .lead { color: rgba(255,255,255,.72); }
.page-hero-mark {
    position: absolute;
    right: 3vw;
    bottom: -1.2rem;
    z-index: 2;
    color: rgba(255,255,255,.14);
    font-size: clamp(4rem, 10vw, 12rem);
    font-weight: 900;
    letter-spacing: -.08em;
    line-height: 1;
}
.page-hero-light .page-hero-panel { background: var(--white); color: var(--ink); }
.page-hero-light .page-hero-panel .lead { color: var(--muted); }
.page-hero-light .page-hero-mark { color: rgba(153,111,50,.16); }

/* Dylan sections */
.intro-dylan { background: var(--white); }
.image-stack {
    position: relative;
    min-height: 520px;
}
.image-stack img {
    position: absolute;
    object-fit: cover;
    box-shadow: var(--shadow-soft);
    background: var(--white);
    border: 14px solid var(--white);
}
.dylan-stack img:nth-child(1) {
    width: 64%;
    height: 430px;
    right: 0;
    top: 0;
}
.dylan-stack img:nth-child(2) {
    width: 44%;
    height: 330px;
    left: 0;
    bottom: 0;
}
.dylan-stack img:nth-child(3) {
    width: 36%;
    height: 230px;
    left: 30%;
    top: 48%;
    border-color: var(--brand);
}
.get-better-panel { position: relative; }
.split-image-card {
    position: relative;
    min-height: 470px;
    width: min(440px, 100%);
    margin: 0 auto;
    background: var(--white);
}
.split-image-card img {
    position: relative;
    z-index: 2;
    width: 78%;
    height: 470px;
    object-fit: cover;
    display: block;
    margin-left: auto;
}
.solid-brand-block {
    position: absolute;
    z-index: 1;
    inset: 0 auto 0 0;
    width: 54%;
    background: var(--brand);
}
.stat-inline {
    color: var(--white);
    border-top: 2px solid var(--brand);
    padding-top: 1rem;
}
.stat-inline .stat-number {
    color: var(--brand);
    font-size: clamp(2.2rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1;
}
.stat-inline h3 {
    color: rgba(255,255,255,.72);
    font-size: .75rem;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: .08em;
    margin: .5rem 0 0;
}
.match-row { align-items: stretch; }
.dylan-match-card {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: var(--white);
    border: 1px solid var(--line);
}
.quote-section {
    background: var(--white);
}

.quote-block {
    position: relative;
    overflow: hidden;
    background-image: url('../images/eiev-home/EIEV-Home-Section-Wellfare-background.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--white);
    min-height: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem;
}

.quote-block::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(27, 29, 29, 0.62);
    z-index: 1;
}

.quote-block > * {
    position: relative;
    z-index: 2;
}
.quote-block blockquote {
    max-width: 900px;
    margin: 0 auto 1rem;
    font-size: clamp(1.9rem, 4vw, 4.2rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.045em;
    line-height: 1.05;
}
.quote-block p { color: rgba(255,255,255,.86); margin-bottom: 1.5rem; }
.portrait-tile {
    width: 100%;
    min-height: 520px;
    object-fit: cover;
    box-shadow: var(--shadow-soft);
}
.black-callout {
    background: var(--ink);
    color: var(--white);
    padding: clamp(2rem, 5vw, 5rem);
    position: relative;
    overflow: hidden;
}
.black-callout::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 14px;
    height: 100%;
    background: var(--brand);
}
.partner-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.partner-grid > span {
    display: grid;
    place-items: center;
    min-height: 70px;
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.72);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 900;
}

/* Cards */
.feature-card,
.service-card,
.news-card,
.publication-card,
.partner-card,
.contact-card,
.stat-card,
.color-swatch,
.video-card,
.mini-service {
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--ink);
    box-shadow: none;
}
.feature-card,
.service-card,
.news-card,
.publication-card,
.partner-card,
.contact-card,
.stat-card,
.color-swatch,
.mini-service {
    padding: 2rem;
}
.feature-card:hover,
.service-card:hover,
.event-card:hover,
.gallery-card:hover,
.video-card:hover {
    box-shadow: var(--shadow-soft);
    transform: translateY(-4px);
}
.feature-card,
.service-card,
.event-card,
.gallery-card,
.video-card {
    transition: box-shadow .25s ease, transform .25s ease;
}
.feature-icon {
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    background: var(--brand);
    color: var(--white);
    font-weight: 900;
    margin-bottom: 1.25rem;
}
.value-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    color: var(--white);
    padding: .9rem 1.1rem;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.service-card {
    position: relative;
    padding: 2rem;
    min-height: 260px;
}
.service-card::before {
    content: attr(data-code);
    position: absolute;
    top: 1.1rem;
    right: 1.1rem;
    color: var(--brand);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.service-card p { color: var(--muted); }
.event-card {
    background: var(--white);
    border: 1px solid var(--line);
    height: 100%;
    overflow: hidden;
}
.event-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}
.event-card-body { padding: 1.6rem; }
.tag,
.badge-brand {
    display: inline-flex;
    align-items: center;
    background: var(--brand);
    color: var(--white);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .35rem .55rem;
    margin-bottom: .8rem;
}
.stat-card { height: 100%; }
.stat-card .stat-number {
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    font-weight: 900;
    color: var(--brand);
    line-height: .9;
}
.timeline {
    border-left: 4px solid var(--brand);
    padding-left: 1.5rem;
}
.timeline-item {
    padding: 1.3rem 0 1.3rem 1rem;
    border-bottom: 1px solid var(--line);
}
.timeline-year {
    font-size: .72rem;
    font-weight: 900;
    color: var(--brand);
    text-transform: uppercase;
    letter-spacing: .16em;
    margin-bottom: .45rem;
}

/* Welfare and galleries */
.welfare-card {
    height: 100%;
    background: var(--white);
    border: 1px solid var(--line);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.welfare-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.welfare-card img { width: 100%; height: 220px; object-fit: cover; display: block; }
.welfare-card-body { padding: 1.5rem; }
.welfare-no {
    display: inline-flex;
    color: var(--brand);
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: .75rem;
}
.arabic-title { color: var(--brand); font-weight: 800; }
.policy-gallery img,
.gallery-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}
.policy-gallery a,
.gallery-card {
    display: block;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--white);
}
.gallery-caption {
    padding: 1rem;
    font-size: .82rem;
    font-weight: 800;
    color: var(--ink);
}
.gallery-filter { display: flex; flex-wrap: wrap; gap: .6rem; }
.filter-btn {
    border: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    padding: .75rem 1rem;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.filter-btn.active,
.filter-btn:hover { background: var(--brand); color: var(--white); border-color: var(--brand); }
.pulse-mosaic {
    columns: 3 250px;
    column-gap: 1rem;
}
.pulse-mosaic .gallery-card { break-inside: avoid; margin-bottom: 1rem; }
.pulse-mosaic img { height: auto; }


/* Instagram live feed */
.instagram-dylan {
    position: relative;
    background: var(--ink);
    color: var(--white);
    overflow: hidden;
}
.instagram-dylan::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 16px;
    background: var(--brand);
}
.instagram-dylan .section-intro { color: rgba(255,255,255,.66); }
.instagram-live-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--white);
    border: 1px solid rgba(255,255,255,.22);
    padding: .95rem 1.1rem;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.instagram-live-badge::before {
    content: "";
    width: 9px;
    height: 9px;
    background: var(--brand);
    display: inline-block;
}
.instagram-live-badge:hover {
    color: var(--white);
    background: var(--brand);
    border-color: var(--brand);
}
.instagram-square-wrap {
    position: relative;
    width: min(100%, 1080px);
    margin-inline: auto;
}
.instagram-square-wrap::before,
.instagram-square-wrap::after {
    content: "";
    position: absolute;
    z-index: 0;
    background: var(--brand);
    pointer-events: none;
}
.instagram-square-wrap::before {
    width: 92px;
    height: 6px;
    left: -18px;
    top: -18px;
}
.instagram-square-wrap::after {
    width: 6px;
    height: 92px;
    right: -18px;
    bottom: 52px;
}
.instagram-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: clamp(.45rem, 1vw, 1rem);
    width: 100%;
    aspect-ratio: 1 / 1;
}
.instagram-card {
    min-width: 0;
    min-height: 0;
    background: #171717;
    border: 1px solid rgba(255,255,255,.12);
    color: var(--white);
    overflow: hidden;
    position: relative;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.instagram-card:hover {
    transform: translateY(-5px);
    border-color: rgba(153,111,50,.86);
    box-shadow: 0 24px 70px rgba(0,0,0,.26);
}
.instagram-card-media {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background: #222;
    overflow: hidden;
}
.instagram-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.01);
    transition: transform .45s ease;
}
.instagram-card:hover .instagram-card-media img { transform: scale(1.055); }
.instagram-card-media::after {
    content: "@eiev_endurance";
    position: absolute;
    left: .75rem;
    top: .75rem;
    z-index: 2;
    background: rgba(17,17,17,.88);
    color: var(--white);
    padding: .38rem .5rem;
    font-size: clamp(.48rem, .65vw, .62rem);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.instagram-card-caption {
    position: absolute;
    left: .75rem;
    right: .75rem;
    bottom: .75rem;
    z-index: 2;
    display: block;
    min-height: 0;
    padding: .75rem;
    background: rgba(17,17,17,.88);
    color: rgba(255,255,255,.82);
    overflow: hidden;
}
.instagram-card-caption strong {
    display: block;
    color: var(--white);
    font-size: clamp(.68rem, .95vw, .98rem);
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.05;
    margin-bottom: .32rem;
    text-transform: uppercase;
}
.instagram-card-caption small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: rgba(255,255,255,.7);
    font-size: clamp(.58rem, .76vw, .78rem);
    line-height: 1.35;
}
.instagram-square-meta {
    width: min(100%, 1080px);
    margin: 1rem auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(255,255,255,.58);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.instagram-square-meta span:first-child { color: var(--brand); }
.instagram-feed-status {
    width: min(100%, 1080px);
    position: relative;
    z-index: 1;
    margin: .4rem auto 0;
    color: rgba(255,255,255,.54);
    font-size: .82rem;
}
.instagram-feed-status.live { color: rgba(255,255,255,.78); }

/* Media and brand */
.video-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--line);
}
.video-card img { width: 100%; height: 260px; object-fit: cover; display: block; }
.play-badge {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: var(--brand);
    color: var(--white);
    font-weight: 900;
}
.play-badge.small { width: 40px; height: 40px; margin-bottom: 1rem; }
.video-card .play-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
}
.video-card-body { padding: 1.35rem; }
.color-swatch { padding: 0; overflow: hidden; }
.swatch-block {
    height: 132px;
    display: flex;
    align-items: flex-end;
    padding: 1rem;
    color: var(--white);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.swatch-body { padding: 1.2rem; }
.publication-card,
.news-card { height: 100%; }
.news-card .badge { border-radius: 0; }
.mini-service {
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .78rem;
}
.mini-service span { color: var(--brand); font-size: 1.4rem; line-height: 1; }

/* Contact */
.contact-info-item {
    display: flex;
    gap: 1rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--line);
}
.contact-info-item strong {
    display: block;
    font-size: .73rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand);
    margin-bottom: .2rem;
}
.map-frame {
    width: 100%;
    min-height: 420px;
    border: 0;
    display: block;
    filter: grayscale(1);
}
.contact-tabs {
    gap: .5rem;
}
.contact-tabs .nav-link {
    border: 1px solid var(--line);
    border-radius: 0;
    color: var(--ink);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .72rem;
}
.contact-tabs .nav-link.active,
.contact-tabs .nav-link:hover {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
}
.form-control,
.form-select {
    border-radius: 0;
    border: 1px solid var(--line);
    min-height: 48px;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(153,111,50,.16);
}
.form-label {
    color: var(--ink);
    font-weight: 800;
    font-size: .82rem;
}
.required::after { content: " *"; color: var(--brand); }
.alert-inline {
    display: none;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
    font-weight: 800;
}
.alert-inline.success { display: block; background: rgba(0,137,61,.12); color: var(--brand); }
.alert-inline.error { display: block; background: rgba(209,19,31,.10); color: #A00E18; }

/* Tables and admin */
.result-table-wrap,
.admin-table {
    background: var(--white);
    border: 1px solid var(--line);
    overflow-x: auto;
}
.table { margin-bottom: 0; }
.table thead th {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th,
.admin-table td { padding: .85rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.admin-table th { background: var(--ink); color: var(--white); }

/* Footer */
.site-footer {
    background: var(--ink);
    color: rgba(255,255,255,.66);
    border-top: 1px solid rgba(255,255,255,.08);
}
.footer-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--white);
}
.footer-brand:hover { color: var(--white); }
.footer-brand strong {
    display: block;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.08em;
}
.footer-brand small {
    display: block;
    color: rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 800;
    font-size: .65rem;
    max-width: 260px;
}
.footer-intro { max-width: 430px; }
.footer-heading {
    color: var(--white);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 900;
    margin-bottom: 1.25rem;
}
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.footer-links a,
.footer-contact li {
    color: rgba(255,255,255,.62);
    font-size: .88rem;
}
.footer-links a:hover { color: var(--white); }
.social-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.social-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 .8rem;
    border: 1px solid rgba(255,255,255,.14);
    color: var(--white);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.social-row a:hover { background: var(--brand); border-color: var(--brand); color: var(--white); }
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.45);
    font-size: .78rem;
}
.back-to-top {
    position: fixed;
    right: 1.2rem;
    bottom: 1.2rem;
    z-index: 1045;
    width: 44px;
    height: 44px;
    border: 0;
    background: var(--brand);
    color: var(--white);
    font-weight: 900;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .22s ease, transform .22s ease;
}
.back-to-top.show { opacity: 1; pointer-events: auto; transform: translateY(0); }

/* Motion */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease, transform .65s ease;
}
.reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .12s; }
.reveal-delay-2 { transition-delay: .22s; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}

/* Responsive */
@media (max-width: 1399.98px) {
    .hero-copy-panel h1 { font-size: clamp(2.85rem, 5.25vw, 6.1rem); }
}
@media (max-width: 1199.98px) {
    .hero-carousel.dylan-hero { height: calc(100vh - 76px); min-height: 640px; }
    @supports (height: 100svh) {
        .hero-carousel.dylan-hero { height: calc(100svh - 76px); }
    }
    .hero-slide { grid-template-columns: 1fr; }
    .hero-media::before { background: rgba(17,17,17,.42); }
    .hero-media::after { background: rgba(153,111,50,.14); mix-blend-mode: multiply; }
    .hero-copy-panel {
        grid-column: 1;
        grid-row: 1;
        background: rgba(17,17,17,.82);
        width: min(680px, 92vw);
        min-height: 100%;
        align-self: stretch;
        justify-content: flex-end;
        padding: 4rem 2rem 6rem;
    }
    .hero-copy-panel::after { display: none; }
    .hero-prev { left: 1.2rem; }
    .hero-next { right: 1.2rem; }
    .hero-index { left: 2rem; }
    .page-hero {
        grid-template-columns: 1fr;
        min-height: 58vh;
    }
    .page-hero-media {
        grid-column: 1;
        grid-row: 1;
        min-height: 58vh;
    }
    .page-hero-panel {
        grid-column: 1;
        grid-row: 1;
        background: rgba(17,17,17,.82);
        min-height: 58vh;
        padding: 5rem 2rem 3rem;
    }
    .page-hero-panel::after { display: none; }
    .page-hero-light .page-hero-panel { background: rgba(255,255,255,.9); }
}
@media (max-width: 991.98px) {
    .section-pad { padding: 5rem 0; }
    .section-pad-sm { padding: 3.5rem 0; }
    .image-stack { min-height: 430px; }
    .dylan-stack img:nth-child(1) { height: 340px; width: 70%; }
    .dylan-stack img:nth-child(2) { height: 250px; width: 48%; }
    .dylan-stack img:nth-child(3) { height: 190px; width: 40%; }
    .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .hero-carousel.dylan-hero { min-height: 620px; }
    .hero-copy-panel h1 { font-size: clamp(2.35rem, 12.5vw, 4.35rem); max-width: 100%; }
    .hero-copy-panel { width: 100%; padding: 3rem 1.25rem 6rem; }
    .hero-copy-panel .lead { font-size: 1rem; }
    .hero-side-label { display: none; }
    .hero-arrow { width: 38px; height: 38px; font-size: 1.6rem; top: auto; bottom: 1.5rem; transform: none; }
    .hero-prev { left: auto; right: 4.3rem; }
    .hero-next { right: 1.2rem; }
    .hero-index { bottom: 1.85rem; left: 1.25rem; }
    .page-hero-panel { padding: 4rem 1.25rem 2.5rem; }
    .page-hero-panel h1 { font-size: clamp(2.4rem, 12vw, 4rem); }
    .section-title { letter-spacing: -.045em; }
    .image-stack { min-height: auto; display: grid; gap: 1rem; }
    .image-stack img { position: static; width: 100% !important; height: auto !important; border: 0; }
    .quote-block { padding: 2rem 1.25rem; }
    .portrait-tile { min-height: 360px; }
    .black-callout { padding: 2rem; }
    .partner-grid { grid-template-columns: 1fr; }
    .instagram-dylan::before { width: 8px; }
    .instagram-square-grid,
    .instagram-grid { gap: .38rem; }
    .instagram-card-media::after {
        left: .35rem;
        top: .35rem;
        padding: .24rem .32rem;
        font-size: .42rem;
        content: "EIEV";
    }
    .instagram-square-wrap::before,
    .instagram-square-wrap::after { display: none; }
    .instagram-card-caption { display: none; }
    .instagram-square-meta { flex-direction: column; align-items: flex-start; gap: .3rem; }
    .pulse-mosaic { columns: 1; }
}

@media (max-width: 575.98px) {
    .instagram-square-grid,
    .instagram-grid { gap: .3rem; }
    .instagram-card-media::after { display: none; }
}

/* V4 modules: Results, Learning Hub, News filters, Sponsors, Contact map */
.results-hero,
.learning-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: var(--ink);
    color: var(--white);
    position: relative;
    overflow: hidden;
    padding: clamp(6rem, 10vw, 10rem) 0;
}
.results-hero::before,
.learning-hero::before,
.home-partners-slider::before,
.sponsor-universe-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 43%;
    width: 58px;
    background: rgba(var(--brand-rgb), .86);
    pointer-events: none;
}
.results-hero > *,
.learning-hero > *,
.home-partners-slider > *,
.sponsor-universe-section > * { position: relative; z-index: 1; }
.results-phone-web {
    background: var(--white);
    color: var(--ink);
    padding: clamp(1rem, 2.3vw, 1.8rem);
    box-shadow: var(--shadow);
    border: 1px solid rgba(255,255,255,.14);
}
.results-app-logo { text-align: center; margin-bottom: 1.35rem; }
.results-app-logo img { height: 60px; width: auto; }
.results-discipline-row,
.results-social-row,
.results-country-row,
.country-scroll,
.course-category-row {
    display: flex;
    gap: .8rem;
    overflow-x: auto;
    padding-bottom: .4rem;
    scrollbar-width: thin;
}
.results-discipline {
    flex: 1 0 150px;
    min-height: 112px;
    border: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    font-weight: 900;
    box-shadow: 0 10px 26px rgba(17,17,17,.08);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}
.results-discipline span { display: block; font-size: 2.1rem; line-height: 1; margin-bottom: .65rem; color: var(--brand); }
.results-discipline.active,
.results-discipline:hover { background: var(--brand); color: var(--white); border-color: var(--brand); transform: translateY(-3px); }
.results-discipline.active span,
.results-discipline:hover span { color: var(--white); }
.results-social-row { margin: 1rem 0; }
.results-social-row a {
    display: grid;
    place-items: center;
    min-width: 82px;
    min-height: 62px;
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 900;
    background: var(--white);
}
.country-chip {
    border: 0;
    background: #E8E6E1;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1rem;
    min-width: max-content;
    font-weight: 900;
    border-radius: 999px;
    transition: background .22s ease, color .22s ease, transform .22s ease;
}
.country-chip span { font-size: 1.1rem; }
.country-chip.active,
.country-chip:hover { background: var(--brand); color: var(--white); transform: translateY(-2px); }
.results-mini-list { display: grid; gap: .75rem; margin-top: .8rem; max-height: 360px; overflow: auto; padding-right: .3rem; }
.mini-result-card,
.result-web-card {
    display: grid;
    grid-template-columns: 94px 1fr auto;
    gap: 1.2rem;
    align-items: center;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: 0 10px 28px rgba(17,17,17,.08);
}
.mini-result-card { padding: .9rem 1rem; grid-template-columns: 76px 1fr auto; }
.mini-rides,
.result-web-rides {
    display: grid;
    place-items: center;
    border-right: 1px dashed rgba(17,17,17,.22);
    min-height: 74px;
}
.mini-rides strong,
.result-web-rides strong { font-size: 1.65rem; line-height: 1; }
.mini-rides span,
.result-web-rides span {
    border: 1px solid var(--brand);
    color: var(--brand);
    padding: .2rem .55rem;
    font-size: .72rem;
    font-weight: 900;
    border-radius: 999px;
}
.mini-copy span,
.result-web-meta,
.result-web-bottom { color: var(--muted); font-size: .8rem; }
.mini-copy strong { display: block; font-size: .95rem; line-height: 1.15; }
.mini-copy small { color: var(--muted); }
.mini-status,
.result-web-action { color: var(--brand); font-weight: 900; font-size: .8rem; }
.results-search-panel,
.course-search-panel,
.news-filter-bar {
    display: grid;
    grid-template-columns: 1fr 160px auto auto;
    gap: .75rem;
}
.results-search-panel { grid-template-columns: 1fr 160px; }
.course-search-panel { grid-template-columns: 1fr 160px; }
.discipline-web-card {
    width: 100%;
    min-height: 170px;
    text-align: left;
    border: 1px solid var(--line);
    background: var(--white);
    padding: 1.4rem;
    color: var(--ink);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}
.discipline-web-card:hover,
.discipline-web-card.active { background: var(--ink); color: var(--white); border-color: var(--ink); transform: translateY(-4px); }
.discipline-icon { display: block; font-size: 2.6rem; color: var(--brand); margin-bottom: .8rem; }
.discipline-web-card strong { display: block; font-size: 1.4rem; text-transform: uppercase; font-weight: 900; }
.discipline-web-card small { color: inherit; opacity: .68; }
.result-web-card { grid-template-columns: 110px 1fr 110px; padding: 0 1.2rem 0 0; margin-bottom: 1rem; overflow: hidden; }
.result-web-rides { background: var(--white); min-height: 132px; }
.result-web-meta,
.result-web-bottom { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: space-between; }
.result-web-copy h3 { font-size: clamp(1.15rem, 2vw, 1.7rem); font-weight: 900; text-transform: uppercase; line-height: 1.05; margin: .3rem 0 .8rem; }
.result-web-action { justify-self: end; }
.api-panel,
.leaderboard-card,
.learning-sidebar,
.learning-path-card,
.sponsor-story-card,
.certificate-card {
    background: var(--ink);
    color: var(--white);
    padding: clamp(1.6rem, 3.5vw, 2.6rem);
    border: 1px solid rgba(255,255,255,.14);
}
.api-panel code {
    display: block;
    white-space: normal;
    color: var(--white);
    background: rgba(255,255,255,.08);
    border-left: 4px solid var(--brand);
    padding: 1rem;
}
.api-stats-grid,
.course-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .8rem;
}
.api-stats-grid div,
.course-detail-grid div {
    border: 1px solid rgba(255,255,255,.12);
    padding: .9rem;
}
.api-stats-grid strong,
.course-detail-grid strong { display: block; font-size: 1.45rem; font-weight: 900; }
.api-stats-grid span,
.course-detail-grid span { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.55); }
.api-status-line { margin-top: 1rem; color: rgba(255,255,255,.58); font-size: .82rem; }
.leaderboard-card { background: var(--white); color: var(--ink); margin-top: 1rem; border-color: var(--line); }
.leader-row { display: grid; grid-template-columns: 34px 1fr auto; gap: .7rem; align-items: center; border-top: 1px solid var(--line); padding: .85rem 0; }
.leader-row span { display: grid; place-items: center; background: var(--brand); color: var(--white); width: 28px; height: 28px; font-weight: 900; }
.no-results-message { display: none; padding: 1.2rem; border: 1px dashed var(--brand); color: var(--brand); font-weight: 900; text-transform: uppercase; letter-spacing: .05em; margin-top: 1rem; }
.no-results-message.show { display: block; }

.learning-hero { background: var(--ink); }
.learning-path-card { background: var(--white); color: var(--ink); }
.learning-path-card h2 { font-weight: 900; text-transform: uppercase; margin: 0 0 1.2rem; }
.learning-path-step { display: grid; grid-template-columns: 48px 1fr auto; gap: .8rem; align-items: center; border-top: 1px solid var(--line); padding: 1rem 0; }
.learning-path-step span { color: var(--brand); font-weight: 900; }
.learning-path-step strong { text-transform: uppercase; }
.learning-path-step small { color: var(--muted); }
.course-category-row { padding: .4rem 0 1rem; }
.course-category-chip {
    border: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    padding: .7rem 1.05rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .74rem;
    font-weight: 900;
    min-width: max-content;
}
.course-category-chip.active,
.course-category-chip:hover { background: var(--brand); border-color: var(--brand); color: var(--white); }
.learning-sidebar { position: sticky; top: 1.5rem; background: var(--white); color: var(--ink); border-color: var(--line); }
.learning-sidebar h3 { font-weight: 900; text-transform: uppercase; }
.learning-sidebar ul { padding-left: 1.1rem; color: var(--muted); display: grid; gap: .7rem; }
.course-card { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-soft); overflow: hidden; }
.course-media { position: relative; height: 210px; background: var(--ink); }
.course-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.12); }
.course-media span { position: absolute; left: 1rem; bottom: 1rem; background: var(--brand); color: var(--white); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; padding: .45rem .7rem; font-size: .72rem; }
.course-body { padding: 1.35rem; }
.course-meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .8rem; }
.course-meta span { background: var(--smoke); color: var(--muted); font-size: .68rem; font-weight: 900; padding: .35rem .5rem; text-transform: uppercase; letter-spacing: .06em; }
.course-body h3 { font-weight: 900; text-transform: uppercase; font-size: 1.2rem; line-height: 1.08; }
.course-body p { color: var(--muted); font-size: .92rem; }
.course-instructor { font-weight: 900; color: var(--brand); margin-bottom: .85rem; }
.course-skills { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0; }
.course-skills span { border: 1px solid var(--line); padding: .35rem .55rem; font-size: .72rem; color: var(--muted); }
.course-progress { height: 6px; background: var(--smoke); margin: 1rem 0; }
.course-progress span { display: block; height: 100%; background: var(--brand); }
.course-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.course-modal .modal-content { border-radius: 0; border: 0; }
.course-modal .modal-header,
.course-modal .modal-footer { border-color: var(--line); }
.course-module-list { display: grid; gap: .65rem; }
.course-detail-grid { grid-template-columns: repeat(2, 1fr); }
.course-detail-grid div { border-color: var(--line); }
.course-detail-grid span { color: var(--muted); }
.course-detail-grid strong { color: var(--ink); font-size: 1.05rem; }
.learning-certificate-strip { background: var(--ink); color: var(--white); }
.certificate-card { display: grid; justify-items: center; text-align: center; min-height: 260px; align-content: center; background: rgba(255,255,255,.06); }
.certificate-card img { height: 58px; margin-bottom: 1rem; }
.certificate-card strong { font-size: 1.5rem; font-weight: 900; text-transform: uppercase; }
.certificate-card span { color: var(--brand-soft); }
.certificate-card small { color: rgba(255,255,255,.5); }

.news-filter-bar { grid-template-columns: 1fr 1fr auto auto; background: var(--white); border: 1px solid var(--line); padding: .9rem; box-shadow: var(--shadow-soft); }
.news-feature-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); background: var(--ink); color: var(--white); margin-top: 3rem; }
.news-feature-media img { width: 100%; height: 100%; min-height: 410px; object-fit: cover; }
.news-feature-body { padding: clamp(2rem, 4vw, 4rem); align-self: center; }
.news-feature-body time { display: block; color: rgba(255,255,255,.55); margin: .9rem 0; }
.news-feature-body h2 { font-weight: 900; text-transform: uppercase; font-size: clamp(2rem, 4vw, 4rem); line-height: .96; }
.news-feature-body p { color: rgba(255,255,255,.68); max-width: 620px; }
.news-count-line { display: flex; align-items: baseline; gap: .7rem; margin-bottom: 1.5rem; }
.news-count-line strong { font-size: 3rem; line-height: 1; font-weight: 900; color: var(--brand); }
.news-count-line span { text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 900; }
.news-rich-card { background: var(--white); border: 1px solid var(--line); overflow: hidden; box-shadow: var(--shadow-soft); }
.news-rich-media { position: relative; height: 260px; background: var(--ink); }
.news-rich-media img { width: 100%; height: 100%; object-fit: cover; }
.news-rich-media span { position: absolute; left: 1rem; bottom: 1rem; background: var(--brand); color: var(--white); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; padding: .45rem .65rem; font-size: .72rem; }
.news-rich-body { padding: 1.4rem; }
.news-rich-body time { color: var(--muted); font-size: .85rem; }
.news-rich-body h2 { font-size: 1.38rem; line-height: 1.08; text-transform: uppercase; font-weight: 900; margin: .55rem 0 .75rem; }
.news-rich-body p { color: var(--muted); }
.news-full-copy { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; color: var(--ink); }
.news-full-copy h3 { font-size: 1rem; text-transform: uppercase; font-weight: 900; margin-top: 1rem; }
.news-full-copy ul { padding-left: 1.1rem; }
.source-link { display: inline-block; margin: 1rem 0; font-weight: 900; }

.sponsor-universe-section { position: relative; overflow: hidden; }
.partner-orbit { position: relative; width: min(560px, 90vw); aspect-ratio: 1; margin: 0 auto; border: 1px solid rgba(255,255,255,.12); }
.partner-orbit::before,
.partner-orbit::after { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(153,111,50,.28); border-radius: 50%; }
.partner-orbit::after { inset: 24%; }
.orbit-core {
    position: absolute;
    inset: 34%;
    background: var(--brand);
    color: var(--white);
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 50%;
    z-index: 2;
}
.orbit-core span { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 900; }
.orbit-core strong { display: block; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; font-weight: 900; }
.orbit-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 128px;
    height: 68px;
    margin: -34px 0 0 -64px;
    display: grid;
    place-items: center;
    background: var(--white);
    border: 1px solid rgba(255,255,255,.18);
    transform: rotate(var(--angle)) translateX(235px) rotate(calc(-1 * var(--angle)));
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.orbit-logo img { max-width: 88%; max-height: 48px; object-fit: contain; }
.sponsor-story-card { background: rgba(255,255,255,.07); }
.sponsor-story-card h2 { font-weight: 900; text-transform: uppercase; font-size: clamp(1.6rem, 3vw, 2.6rem); }
.sponsor-story-card p,
.sponsor-story-card li { color: rgba(255,255,255,.72); }
.sponsor-story-card ul { display: grid; gap: .8rem; padding-left: 1.1rem; }
.partner-marquee-section,
.partner-home-slider { overflow: hidden; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.partner-marquee-section { background: var(--ink); padding: 1.2rem 0; }
.partner-marquee-track,
.partner-home-track { display: flex; gap: 1rem; width: max-content; animation: partnerSlide 38s linear infinite; }
.partner-home-track { animation-duration: 45s; }
@keyframes partnerSlide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.partner-logo-card,
.sponsor-logo-card {
    background: var(--white);
    border: 1px solid var(--line);
    display: grid;
    place-items: center;
    min-height: 92px;
    padding: 1rem;
    transition: transform .22s ease, box-shadow .22s ease;
}
.partner-logo-card { width: 190px; }
.partner-logo-card img { max-width: 150px; max-height: 54px; object-fit: contain; }
.partner-logo-card span { color: var(--muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; margin-top: .45rem; }
.partner-logo-card:hover,
.sponsor-logo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.sponsor-logo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.sponsor-logo-card { color: var(--ink); text-align: center; min-height: 160px; }
.sponsor-logo-card img { max-width: 165px; max-height: 58px; object-fit: contain; margin-bottom: .9rem; }
.sponsor-logo-card strong { display: block; font-size: .85rem; text-transform: uppercase; line-height: 1.15; }
.sponsor-logo-card span { color: var(--brand); font-weight: 900; text-transform: uppercase; font-size: .62rem; letter-spacing: .08em; margin-top: .35rem; }
.home-partners-slider { position: relative; color: var(--white); overflow: hidden; }
.home-logo { min-width: 210px; }

.contact-map-hero { min-height: 84vh; position: relative; overflow: hidden; background: var(--ink); display: flex; align-items: flex-end; }
.contact-map-hero iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1); }
.contact-map-shade { position: absolute; inset: 0; background: rgba(17,17,17,.62); pointer-events: none; }
.contact-map-panel {
    position: relative;
    z-index: 1;
    width: min(760px, 92vw);
    margin: 0 0 clamp(2rem, 6vw, 5rem) clamp(1rem, 6vw, 5rem);
    background: rgba(17,17,17,.88);
    color: var(--white);
    padding: clamp(2rem, 5vw, 4rem);
    border-left: 14px solid var(--brand);
}
.contact-map-panel p { color: rgba(255,255,255,.72); }

@media (max-width: 1199.98px) {
    .results-hero::before,
    .learning-hero::before,
    .home-partners-slider::before,
    .sponsor-universe-section::before { display: none; }
    .sponsor-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .orbit-logo { transform: rotate(var(--angle)) translateX(190px) rotate(calc(-1 * var(--angle))); }
}
@media (max-width: 991.98px) {
    .results-hero,
    .learning-hero { min-height: auto; padding: 6rem 0 4rem; }
    .news-feature-card { grid-template-columns: 1fr; }
    .news-feature-media img { min-height: 300px; }
    .results-search-panel,
    .course-search-panel,
    .news-filter-bar { grid-template-columns: 1fr; }
    .sponsor-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-orbit { aspect-ratio: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; border: 0; }
    .partner-orbit::before,
    .partner-orbit::after,
    .orbit-core { display: none; }
    .orbit-logo { position: static; transform: none; margin: 0; width: 100%; height: 82px; }
    .learning-sidebar { position: static; }
}
@media (max-width: 767.98px) {
    .mini-result-card,
    .result-web-card { grid-template-columns: 76px 1fr; padding: .75rem; }
    .mini-status,
    .result-web-action { grid-column: 2; justify-self: start; }
    .result-web-rides { min-height: 100px; }
    .api-stats-grid,
    .course-detail-grid { grid-template-columns: 1fr; }
    .sponsor-logo-grid { grid-template-columns: 1fr; }
    .contact-map-hero { min-height: 760px; }
    .contact-map-panel { margin: 0; width: 100%; border-left: 0; border-top: 10px solid var(--brand); }
    .course-media,
    .news-rich-media { height: 220px; }
}

/* v5 sponsor logo update: logos are sourced from the uploaded Sponsors package. */
.sponsor-style-section .sponsor-callout::after,
.home-partners-slider::before {
    content: none;
    display: none;
}
.partner-grid > span {
    display: grid;
    place-items: center;
    min-height: 70px;
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.72);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 900;
}
.home-sponsor-mini {
    min-height: 86px;
    background: var(--white);
    border: 1px solid rgba(255,255,255,.18);
    display: grid;
    place-items: center;
    padding: .85rem;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}
.home-sponsor-mini:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0,0,0,.26);
}
.home-sponsor-mini img {
    max-width: 128px;
    max-height: 42px;
    object-fit: contain;
}
.home-sponsor-mini span {
    margin-top: .45rem;
    color: var(--muted);
    font-size: .56rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
}
.partner-logo-card img,
.sponsor-logo-card img,
.orbit-logo img,
.home-sponsor-mini img {
    display: block;
}
@media (max-width: 575.98px) {
    .home-sponsor-mini img { max-width: 112px; }
}

/* V6 Learning Hub full LMS module */
.lms-hero {
    position: relative;
    min-height: 100vh;
    background: var(--ink);
    color: var(--white);
    overflow: hidden;
}
.lms-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .34;
    filter: grayscale(.15);
}
.lms-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.58);
    pointer-events: none;
}
.lms-hero .container-fluid { z-index: 1; }
.lms-hero h1 { max-width: 980px; line-height: .82; }
.lms-hero .lead { max-width: 760px; }
.lms-hero-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 1px;
    max-width: 760px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
}
.lms-hero-metrics div {
    background: rgba(0,0,0,.46);
    padding: 1.2rem;
}
.lms-hero-metrics strong {
    display: block;
    font-size: clamp(2rem, 4vw, 4.4rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.07em;
}
.lms-hero-metrics span {
    display: block;
    margin-top: .4rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(255,255,255,.62);
    font-weight: 900;
}
.lms-command-card {
    background: rgba(17,17,17,.88);
    border: 1px solid rgba(255,255,255,.14);
    padding: clamp(1.4rem, 3vw, 2.4rem);
    box-shadow: var(--shadow);
}
.lms-command-card h2 {
    font-size: clamp(1.55rem, 2vw, 2.4rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.05em;
}
.lms-command-list { display: grid; gap: .85rem; }
.lms-command-list button {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: .75rem;
    text-align: left;
    background: rgba(255,255,255,.05);
    color: var(--white);
    border: 1px solid rgba(255,255,255,.12);
    padding: .9rem;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.lms-command-list button:hover,
.lms-command-list button.active { border-color: var(--brand); background: rgba(var(--brand-rgb), .22); transform: translateX(4px); }
.lms-command-list span { color: var(--brand); font-weight: 900; }
.lms-command-list strong { display: block; text-transform: uppercase; letter-spacing: .02em; }
.lms-command-list small { grid-column: 2; color: rgba(255,255,255,.62); }
.lms-live-status {
    margin-top: 1.3rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    color: rgba(255,255,255,.7);
    font-size: .82rem;
    font-weight: 800;
}
.lms-live-status span {
    width: 10px;
    height: 10px;
    background: #22c55e;
    display: inline-block;
    border-radius: 99px;
}
.lms-feature-wall { background: var(--ink); color: var(--white); }
.lms-feature-wall .section-intro { color: rgba(255,255,255,.62); }
.lms-search-mini {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: .85rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    padding: .85rem;
}
.lms-search-mini .form-control,
.lms-filter-panel .form-control,
.lms-filter-panel .form-select,
.lms-builder-board .form-control,
.lms-builder-board .form-select,
.lms-application-card .form-control,
.lms-checkout-card .form-control,
.lms-auth-modal .form-control,
#lmsLearnerNotes {
    border-radius: 0;
    border: 1px solid var(--line);
    min-height: 48px;
    box-shadow: none;
}
.lms-search-mini .form-control { background: #1b1b1b; border-color: rgba(255,255,255,.16); color: var(--white); }
.lms-search-mini span { color: var(--brand); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.lms-feature-card {
    border: 1px solid rgba(255,255,255,.12);
    background: #171717;
    padding: 1.4rem;
    min-height: 100%;
}
.lms-feature-card > span {
    color: var(--brand);
    font-weight: 900;
    letter-spacing: -.04em;
    font-size: 1.8rem;
}
.lms-feature-card h3 {
    margin: .6rem 0 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.04em;
    font-size: 1.25rem;
}
.lms-feature-card ul { padding-left: 1.05rem; display: grid; gap: .55rem; color: rgba(255,255,255,.68); margin: 0; }
.lms-market-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; }
.lms-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) repeat(6, minmax(125px, 1fr)) auto;
    gap: .85rem;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
    align-items: end;
}
.lms-filter-panel label {
    display: block;
    margin-bottom: .35rem;
    color: var(--muted);
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 900;
}
.lms-layout-toggle { display: flex; border: 1px solid var(--line); height: 48px; }
.lms-layout-toggle button {
    border: 0;
    background: var(--white);
    padding: 0 .9rem;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .7rem;
    color: var(--muted);
}
.lms-layout-toggle button.active { background: var(--brand); color: var(--white); }
.lms-category-scroller {
    display: flex;
    gap: .65rem;
    overflow-x: auto;
    padding: 1.2rem 0 .2rem;
    scrollbar-width: thin;
}
.lms-category-scroller button {
    flex: 0 0 auto;
    border: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    padding: .75rem 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .75rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}
.lms-category-scroller button.active,
.lms-category-scroller button:hover { border-color: var(--brand); background: var(--brand); color: var(--white); }
.lms-sidebar-card,
.lms-dashboard-card,
.lms-application-card,
.lms-payout-card,
.lms-admin-card,
.lms-checkout-card,
.lms-report-card,
.lms-player-shell,
.lms-curriculum-panel,
.lms-builder-board {
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
    padding: 1.35rem;
}
.lms-sidebar-card { top: 1rem; }
.lms-sidebar-card h3,
.lms-admin-card h3,
.lms-application-card h3,
.lms-payout-card h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.04em; }
.lms-bundle-list { display: grid; gap: .9rem; }
.lms-bundle-list article {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .65rem;
    border: 1px solid var(--line);
}
.lms-bundle-list img { width: 72px; height: 72px; object-fit: cover; }
.lms-bundle-list strong { display: block; text-transform: uppercase; line-height: 1.1; }
.lms-bundle-list small { color: var(--muted); }
.lms-chip-cloud { display: flex; flex-wrap: wrap; gap: .45rem; }
.lms-chip-cloud span,
.lms-skill-row span,
.lms-mobile-chip-row span {
    border: 1px solid var(--line);
    background: var(--smoke);
    color: var(--muted);
    padding: .38rem .55rem;
    font-size: .72rem;
    font-weight: 800;
}
.lms-results-line {
    display: flex;
    gap: .45rem;
    align-items: center;
    font-weight: 800;
    color: var(--muted);
    margin-bottom: 1rem;
}
.lms-results-line strong { color: var(--brand); font-size: 1.2rem; }
.lms-course-card {
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.lms-course-media { position: relative; height: 230px; background: var(--ink); }
.lms-course-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.08); }
.lms-course-media::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.12); }
.lms-course-media > span {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 1;
    background: var(--brand);
    color: var(--white);
    font-weight: 900;
    text-transform: uppercase;
    padding: .42rem .65rem;
    font-size: .68rem;
    letter-spacing: .08em;
}
.lms-wishlist-btn {
    position: absolute;
    top: .9rem;
    right: .9rem;
    z-index: 1;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.42);
    background: rgba(0,0,0,.44);
    color: var(--white);
    font-size: 1.35rem;
}
.lms-wishlist-btn.active { background: var(--brand); border-color: var(--brand); }
.lms-course-body { padding: 1.2rem; display: flex; flex-direction: column; flex: 1; }
.lms-course-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem; }
.lms-course-meta span {
    background: var(--smoke);
    color: var(--muted);
    font-weight: 900;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    padding: .35rem .48rem;
}
.lms-course-body h3 { font-weight: 900; text-transform: uppercase; font-size: 1.17rem; line-height: 1.08; letter-spacing: -.035em; }
.lms-course-body p { color: var(--muted); font-size: .93rem; }
.lms-instructor-line { color: var(--brand); font-weight: 900; font-size: .88rem; margin-bottom: .75rem; }
.lms-course-stats { display: flex; flex-wrap: wrap; gap: .55rem; color: var(--muted); font-size: .78rem; margin-bottom: .7rem; }
.lms-skill-row { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0 .85rem; }
.lms-price-row { display: flex; align-items: baseline; gap: .65rem; margin-top: auto; margin-bottom: .9rem; }
.lms-price-row strong { color: var(--ink); font-size: 1.25rem; font-weight: 900; }
.lms-price-row small { color: var(--muted); text-decoration: line-through; }
.lms-course-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.lms-course-grid.list-view > .lms-course-column { width: 100%; max-width: 100%; flex: 0 0 100%; }
.lms-course-grid.list-view .lms-course-card { display: grid; grid-template-columns: minmax(240px, 340px) 1fr; }
.lms-course-grid.list-view .lms-course-media { height: 100%; min-height: 260px; }
.lms-course-room { background: var(--ink); color: var(--white); }
.lms-course-room .section-intro { color: rgba(255,255,255,.62); }
.lms-player-shell,
.lms-curriculum-panel { background: #161616; border-color: rgba(255,255,255,.12); color: var(--white); }
.lms-player-screen { position: relative; min-height: 430px; background: var(--ink); overflow: hidden; }
.lms-player-screen img { width: 100%; height: 430px; object-fit: cover; opacity: .72; }
.lms-player-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    background: var(--brand);
    color: var(--white);
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: .08em;
    padding: .45rem .65rem;
    font-size: .72rem;
}
.lms-play-button {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 82px;
    height: 82px;
    border: 1px solid rgba(255,255,255,.5);
    background: var(--brand);
    color: var(--white);
    font-size: 1.6rem;
    display: grid;
    place-items: center;
}
.lms-player-body { padding: 1.35rem; }
.lms-player-body h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.04em; }
.lms-player-body p { color: rgba(255,255,255,.68); }
.lms-progress-frame { margin: 1.2rem 0; display: grid; grid-template-columns: 1fr auto; gap: .6rem; align-items: center; }
.lms-progress-frame > span { color: rgba(255,255,255,.6); font-size: .72rem; text-transform: uppercase; font-weight: 900; letter-spacing: .1em; }
.lms-progress { grid-column: 1 / -1; height: 7px; background: rgba(255,255,255,.12); overflow: hidden; }
.lms-progress span { display: block; height: 100%; background: var(--brand); transition: width .25s ease; }
.lms-room-tabs { border-color: rgba(255,255,255,.14); }
.lms-room-tabs .nav-link {
    border-radius: 0;
    color: inherit;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .08em;
}
.lms-room-tabs .nav-link.active { background: var(--brand); border-color: var(--brand); color: var(--white); }
.lms-room-tab-content { padding: 1rem 0 0; color: rgba(255,255,255,.72); }
.lms-resource-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.lms-resource-list a { border: 1px solid rgba(255,255,255,.14); padding: .65rem .8rem; color: var(--white); }
.lms-resource-list a:hover { background: var(--brand); border-color: var(--brand); }
.lms-forum-box { border-left: 4px solid var(--brand); padding: 1rem; background: rgba(255,255,255,.06); }
.lms-forum-box span { display: block; margin-top: .4rem; color: rgba(255,255,255,.65); }
.lms-quiz-mini label { margin-right: 1.5rem; }
.lms-curriculum-panel h3 { font-weight: 900; text-transform: uppercase; line-height: 1.05; }
.lms-curriculum .accordion-item { background: transparent; border-color: rgba(255,255,255,.12); }
.lms-curriculum .accordion-button { background: #1d1d1d; color: var(--white); border-radius: 0; box-shadow: none; gap: .7rem; font-weight: 900; text-transform: uppercase; }
.lms-curriculum .accordion-button span { color: var(--brand); }
.lms-curriculum .accordion-button small { margin-left: auto; color: rgba(255,255,255,.52); font-size: .65rem; }
.lms-curriculum .accordion-button::after { filter: invert(1); }
.lms-curriculum .accordion-body { background: #121212; padding: .85rem; }
.lms-lesson-row {
    width: 100%;
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: .65rem;
    align-items: center;
    background: transparent;
    color: var(--white);
    border: 1px solid rgba(255,255,255,.1);
    text-align: left;
    padding: .75rem;
    margin-bottom: .55rem;
}
.lms-lesson-row:hover,
.lms-lesson-row.active { border-color: var(--brand); background: rgba(var(--brand-rgb), .18); }
.lms-lesson-row span { background: var(--brand); color: var(--white); width: 34px; height: 34px; display: grid; place-items: center; font-size: .68rem; font-weight: 900; }
.lms-lesson-row strong { font-size: .9rem; }
.lms-lesson-row small { color: rgba(255,255,255,.58); font-weight: 800; }
.lms-lesson-row em { grid-column: 2; font-size: .66rem; color: var(--brand); font-style: normal; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.lms-profile-card,
.lms-admin-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
}
.lms-profile-card img { width: 64px; height: 64px; object-fit: contain; }
.lms-profile-card strong,
.lms-admin-status strong { display: block; font-weight: 900; text-transform: uppercase; }
.lms-profile-card span,
.lms-admin-status span { color: var(--muted); }
.lms-dashboard-card > .eyebrow { margin-bottom: 1rem; }
.lms-progress-course { display: grid; grid-template-columns: 1fr auto; gap: .5rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.lms-progress-course strong { display: block; font-weight: 900; line-height: 1.1; }
.lms-progress-course small { color: var(--muted); }
.lms-progress-course > span { color: var(--brand); font-weight: 900; }
.lms-dashboard-card .lms-progress { background: var(--smoke); }
.lms-message-row {
    width: 100%;
    text-align: left;
    border: 1px solid var(--line);
    background: var(--smoke);
    padding: .9rem;
    margin-bottom: .7rem;
}
.lms-message-row strong { display: block; font-weight: 900; }
.lms-message-row span { color: var(--muted); font-size: .82rem; }
.lms-notification-row,
.lms-device-row {
    border-left: 4px solid var(--brand);
    padding: .75rem 0 .75rem .85rem;
    margin-bottom: .75rem;
    background: var(--smoke);
}
.lms-notification-row strong,
.lms-device-row strong { display: block; font-weight: 900; }
.lms-notification-row span,
.lms-device-row span { color: var(--muted); font-size: .85rem; }
.lms-certificate-band {
    margin-top: 2rem;
    background: var(--ink);
    color: var(--white);
    padding: clamp(1.4rem, 3vw, 2.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}
.lms-certificate-band h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.04em; }
.lms-certificate-band p { color: rgba(255,255,255,.64); margin: 0; }
.lms-builder-board label,
.lms-application-card label { font-size: .72rem; color: var(--muted); text-transform: uppercase; font-weight: 900; letter-spacing: .08em; margin-bottom: .35rem; }
.lms-builder-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; align-items: center; margin-bottom: 1rem; }
.lms-builder-toolbar span { font-weight: 900; text-transform: uppercase; color: var(--brand); letter-spacing: .08em; }
.lms-lesson-type-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; }
.lms-lesson-type-grid button {
    border: 1px solid var(--line);
    background: var(--smoke);
    color: var(--ink);
    min-height: 62px;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .72rem;
}
.lms-lesson-type-grid button:hover { background: var(--brand); border-color: var(--brand); color: var(--white); }
.lms-money-line { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 1rem 0; }
.lms-money-line strong { font-size: 2rem; font-weight: 900; letter-spacing: -.06em; }
.lms-money-line span { color: var(--muted); }
.lms-admin-card h3 { margin-bottom: 1rem; }
.lms-admin-tools { display: flex; flex-wrap: wrap; gap: .5rem; }
.lms-admin-tools button {
    border: 1px solid var(--line);
    background: var(--smoke);
    color: var(--ink);
    font-weight: 900;
    font-size: .72rem;
    padding: .58rem .72rem;
    text-transform: uppercase;
}
.lms-admin-tools button:hover { background: var(--brand); border-color: var(--brand); color: var(--white); }
.lms-checkout-card { background: var(--ink); color: var(--white); border-color: rgba(255,255,255,.12); }
.lms-checkout-row { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.12); padding: .9rem 0; }
.lms-checkout-row span { color: rgba(255,255,255,.62); text-transform: uppercase; font-weight: 900; font-size: .72rem; letter-spacing: .08em; }
.lms-checkout-row strong { font-size: 1.5rem; font-weight: 900; }
.lms-coupon-box { display: grid; grid-template-columns: 1fr auto; gap: .7rem; margin-top: 1rem; }
.lms-coupon-result { margin-top: .75rem; color: rgba(255,255,255,.62); font-size: .85rem; }
.lms-gateway-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; }
.lms-gateway-card {
    background: var(--white);
    border: 1px solid var(--line);
    min-height: 136px;
    padding: 1rem;
    display: grid;
    align-content: center;
    gap: .5rem;
    text-align: center;
    box-shadow: var(--shadow-soft);
}
.lms-gateway-card img { max-height: 32px; width: auto; margin: 0 auto; object-fit: contain; }
.lms-gateway-card strong { font-weight: 900; text-transform: uppercase; }
.lms-gateway-card span { color: var(--muted); font-size: .78rem; }
.lms-mobile-chip-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.lms-report-row { display: grid; grid-template-columns: 180px 1fr; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.lms-report-row strong { display: block; font-size: 2rem; font-weight: 900; letter-spacing: -.06em; }
.lms-report-row span { color: var(--muted); font-size: .82rem; }
.lms-report-bar { height: 10px; background: var(--smoke); }
.lms-report-bar span { display: block; height: 100%; background: var(--brand); }
.lms-api-table-wrap { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-soft); overflow-x: auto; }
.lms-api-table th { background: var(--ink); color: var(--white); text-transform: uppercase; font-size: .75rem; letter-spacing: .08em; }
.lms-api-table td { vertical-align: middle; }
.lms-api-table code { color: var(--brand); white-space: nowrap; }
.lms-course-modal .modal-content,
.lms-auth-modal { border-radius: 0; border: 0; }
.lms-course-modal .modal-header,
.lms-course-modal .modal-footer,
.lms-auth-modal .modal-header { border-color: var(--line); }
.lms-modal-image { width: 100%; height: 340px; object-fit: cover; }
.lms-modal-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; margin-top: .8rem; }
.lms-modal-stats div { background: var(--smoke); padding: .85rem; }
.lms-modal-stats span { display: block; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.lms-modal-stats strong { font-weight: 900; font-size: 1.15rem; }
.lms-modal-tab-content { padding: 1rem 0; }
.lms-modal-tab-content h3 { font-weight: 900; text-transform: uppercase; font-size: 1rem; }
.lms-check-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem 1rem; padding-left: 1rem; }
.lms-check-list li::marker { color: var(--brand); }
.lms-modal-section { border: 1px solid var(--line); padding: .9rem; margin-bottom: .75rem; }
.lms-modal-section strong { display: block; font-weight: 900; text-transform: uppercase; }
.lms-modal-section > span { color: var(--brand); font-weight: 900; font-size: .8rem; }
.lms-modal-section small { display: block; color: var(--muted); padding-top: .35rem; }
.lms-instructor-modal strong { display: block; font-weight: 900; font-size: 1.2rem; }
.lms-instructor-modal span { color: var(--brand); font-weight: 900; }
.lms-faq-item { border-bottom: 1px solid var(--line); padding: .85rem 0; }
.lms-faq-item strong { display: block; font-weight: 900; }
.lms-faq-item span { color: var(--muted); }
.lms-compare-tray {
    position: fixed;
    left: calc(var(--rail-w) + 1rem);
    right: 1rem;
    bottom: 1rem;
    z-index: 1045;
    background: var(--ink);
    color: var(--white);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: var(--shadow);
    padding: .85rem 1rem;
    display: none;
    align-items: center;
    gap: 1rem;
}
.lms-compare-tray.show { display: flex; }
.lms-compare-tray strong { color: var(--brand); text-transform: uppercase; }
.lms-compare-tray span { flex: 1; color: rgba(255,255,255,.72); }
.lms-compare-tray button { border: 1px solid rgba(255,255,255,.18); background: transparent; color: var(--white); font-weight: 900; text-transform: uppercase; padding: .45rem .7rem; }
@media (max-width: 1599.98px) {
    .lms-filter-panel { grid-template-columns: repeat(4, 1fr); }
    .lms-filter-search { grid-column: span 2; }
    .lms-gateway-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1199.98px) {
    .lms-hero { min-height: auto; }
    .lms-hero .min-vh-100 { min-height: auto !important; padding: 5rem 0; }
    .lms-hero h1 { line-height: .9; }
    .lms-filter-panel { grid-template-columns: repeat(2, 1fr); }
    .lms-market-actions { justify-content: flex-start; }
    .lms-compare-tray { left: 1rem; }
}
@media (max-width: 767.98px) {
    .lms-hero h1 { font-size: clamp(3.2rem, 16vw, 5rem); }
    .lms-hero-metrics { grid-template-columns: repeat(2, 1fr); }
    .lms-filter-panel { grid-template-columns: 1fr; }
    .lms-filter-search { grid-column: auto; }
    .lms-course-grid.list-view .lms-course-card { display: flex; }
    .lms-course-grid.list-view .lms-course-media { height: 230px; min-height: 230px; }
    .lms-player-screen,
    .lms-player-screen img { min-height: 260px; height: 260px; }
    .lms-lesson-type-grid { grid-template-columns: repeat(2, 1fr); }
    .lms-gateway-grid { grid-template-columns: repeat(2, 1fr); }
    .lms-report-row { grid-template-columns: 1fr; }
    .lms-check-list { grid-template-columns: 1fr; }
    .lms-certificate-band { display: grid; }
    .lms-mobile-chip-row { justify-content: flex-start; }
    .lms-coupon-box { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .lms-hero-metrics { grid-template-columns: 1fr; }
    .lms-gateway-grid { grid-template-columns: 1fr; }
    .lms-modal-stats { grid-template-columns: 1fr; }
}

/* Full built-in LMS module v10 */
.lms-built-hero .lms-command-card .form-control,
.lms-admin-card .form-control,
.lms-admin-card .form-select,
.lms-builder-board .form-control,
.lms-builder-board .form-select,
.lms-application-card .form-control,
.lms-application-card .form-select,
.lms-built-filter .form-control,
.lms-built-filter .form-select,
.lms-review-form .form-control,
.lms-review-form .form-select,
.lms-quiz-form .form-control,
.lms-quiz-form .form-select { border-radius: 0; min-height: 46px; }
.lms-flash { padding: 1rem 1.2rem; margin-bottom: 1.5rem; border-left: 5px solid var(--brand); background: #fff; color: var(--ink); font-weight: 800; box-shadow: 0 12px 40px rgba(0,0,0,.08); }
.lms-flash.success { border-color: #188754; }
.lms-flash.error { border-color: #c02b2b; }
.lms-access-note { display: grid; gap: .25rem; padding: 1rem; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: var(--white); }
.lms-access-note strong { text-transform: uppercase; letter-spacing: .08em; color: var(--brand); font-size: .76rem; }
.lms-access-note span { color: rgba(255,255,255,.72); font-size: .86rem; }
.lms-built-filter { display: grid; gap: .65rem; }
.lms-built-filter label,
.lms-builder-board label,
.lms-admin-card label,
.lms-application-card label { margin-top: .45rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 900; }
.lms-cart-mini { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.lms-cart-mini span { font-weight: 800; line-height: 1.15; }
.lms-cart-mini strong { color: var(--brand); white-space: nowrap; }
.lms-course-card h3 a { color: inherit; text-decoration: none; }
.lms-course-detail-hero { position: relative; min-height: 86vh; display: flex; align-items: flex-end; padding: 8rem 0 4rem; overflow: hidden; background: var(--ink); }
.lms-course-detail-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .48; filter: grayscale(.16); }
.lms-course-detail-hero::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.62); }
.lms-course-detail-hero .container-fluid { z-index: 1; }
.lms-detail-meta { display: flex; flex-wrap: wrap; gap: .7rem; }
.lms-detail-meta span { border: 1px solid rgba(255,255,255,.16); color: var(--white); padding: .55rem .75rem; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.lms-detail-buybox img { width: 100%; height: 230px; object-fit: cover; margin-bottom: 1.2rem; }
.lms-detail-buybox h2 { font-size: 2.2rem; font-weight: 900; color: var(--brand); }
.lms-built-tabs { border-bottom: 1px solid var(--line); gap: .35rem; }
.lms-built-tabs .nav-link,
.lms-built-pills .nav-link { border-radius: 0; color: var(--ink); font-weight: 900; text-transform: uppercase; letter-spacing: .04em; border: 1px solid var(--line); background: var(--white); }
.lms-built-tabs .nav-link.active,
.lms-built-pills .nav-link.active { background: var(--brand); border-color: var(--brand); color: var(--white); }
.lms-built-pills { gap: .5rem; flex-wrap: wrap; }
.lms-built-tab-content { padding: 2rem 0; }
.lms-built-tab-content h2,
.lms-built-tab-content h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.035em; }
.lms-check-item { background: #fff; border: 1px solid var(--line); padding: 1rem; font-weight: 800; min-height: 100%; }
.lms-list { display: grid; gap: .6rem; padding-left: 1.1rem; color: var(--muted); }
.lms-curriculum-light .accordion-button { background: var(--white); color: var(--ink); border: 1px solid var(--line); }
.lms-curriculum-light .accordion-button::after { filter: none; }
.lms-curriculum-light .accordion-body { background: #fff; border: 1px solid var(--line); border-top: 0; }
.lms-lesson-row-light { color: var(--ink); background: var(--smoke); border-color: var(--line); }
.lms-lesson-row-light small { color: var(--muted); }
.lms-instructor-profile { display: grid; grid-template-columns: 110px 1fr; gap: 1.5rem; align-items: start; }
.lms-instructor-profile img { width: 110px; height: 110px; object-fit: cover; background: var(--smoke); }
.lms-review-form { background: #fff; border: 1px solid var(--line); padding: 1rem; }
.min-vh-75 { min-height: 75vh; }
.lms-dashboard-hero,
.lms-admin-hero,
.lms-instructor-hero { background: var(--ink); color: var(--white); padding: 8rem 0 5rem; position: relative; overflow: hidden; }
.lms-dashboard-hero::after,
.lms-admin-hero::after,
.lms-instructor-hero::after { content: "EIEV"; position: absolute; right: 3vw; bottom: -3vw; font-size: 18vw; font-weight: 900; line-height: .8; color: rgba(255,255,255,.035); }
.lms-profile-card-dark { background: #161616; color: var(--white); border-color: rgba(255,255,255,.12); }
.lms-profile-card-dark span { color: rgba(255,255,255,.6); }
.lms-profile-card-dark small { color: var(--brand); text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.lms-stat-tile { background: #fff; border: 1px solid var(--line); padding: 1.2rem; min-height: 120px; display: grid; align-content: center; }
.lms-stat-tile strong { display: block; font-size: clamp(1.7rem,3vw,3rem); line-height: .9; font-weight: 900; color: var(--brand); }
.lms-stat-tile span { margin-top: .6rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; color: var(--muted); font-size: .78rem; }
.lms-dashboard-img { width: 100%; height: 180px; object-fit: cover; margin: -1.2rem -1.2rem 1rem; width: calc(100% + 2.4rem); max-width: none; }
.lms-certificate-card { background: var(--white); border: 1px solid var(--line); padding: 1.4rem; min-height: 220px; display: grid; align-content: space-between; }
.lms-certificate-card > span { color: var(--brand); text-transform: uppercase; font-weight: 900; letter-spacing: .08em; font-size: .76rem; }
.lms-certificate-card h3 { font-weight: 900; text-transform: uppercase; }
.lms-table-wrap { overflow-x: auto; }
.lms-table { background: #fff; border: 1px solid var(--line); }
.lms-table th { text-transform: uppercase; letter-spacing: .07em; font-size: .76rem; color: var(--muted); }
.lms-table td, .lms-table th { padding: 1rem; vertical-align: middle; border-color: var(--line); }
.lms-room-content { color: rgba(255,255,255,.74); }
.lms-quiz-question { border: 1px solid rgba(255,255,255,.14); padding: 1rem; margin-bottom: 1rem; }
.lms-quiz-question legend { float: none; font-size: 1rem; font-weight: 900; color: var(--white); }
.lms-quiz-question label { display: block; margin: .45rem 0; }
.lms-admin-card h3,
.lms-builder-board h3,
.lms-payout-card h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.04em; }
.lms-report-card { background: var(--smoke); border: 1px solid var(--line); padding: 1rem; display: grid; gap: .35rem; min-height: 130px; }
.lms-report-card span { color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 900; }
.lms-report-card strong { color: var(--brand); font-size: 2rem; font-weight: 900; }
.lms-gateway-card { background: var(--smoke); border: 1px solid var(--line); padding: 1rem; min-height: 120px; display: grid; place-items: center; text-align: center; gap: .45rem; }
.lms-gateway-card img { max-width: 120px; max-height: 44px; object-fit: contain; }
.lms-gateway-card strong { font-weight: 900; }
.lms-gateway-card span { color: var(--muted); font-size: .78rem; }
.lms-curriculum-mini { border: 1px solid var(--line); background: #fff; padding: 1rem; margin-bottom: 1rem; display: grid; gap: .5rem; }
.lms-curriculum-mini strong { text-transform: uppercase; font-weight: 900; color: var(--brand); }
.lms-curriculum-mini span { color: var(--muted); border-top: 1px solid var(--line); padding-top: .45rem; }
.lms-mini-course { display: grid; grid-template-columns: 92px 1fr; gap: .8rem; border: 1px solid var(--line); padding: .8rem; background: #fff; }
.lms-mini-course img { width: 92px; height: 92px; object-fit: cover; grid-row: span 3; }
.lms-mini-course strong { font-weight: 900; text-transform: uppercase; line-height: 1.1; }
.lms-mini-course span { color: var(--muted); font-size: .82rem; }
.lms-mini-course a { color: var(--brand); font-weight: 900; font-size: .82rem; text-transform: uppercase; }
.lms-payout-card strong { display: block; font-size: 2.4rem; color: var(--brand); font-weight: 900; }
.lms-print-page { background: var(--smoke); }
.lms-certificate-large,
.lms-invoice-large { background: #fff; border: 1px solid var(--line); padding: clamp(2rem,6vw,5rem); max-width: 1100px; margin: 0 auto; box-shadow: 0 30px 80px rgba(0,0,0,.08); }
.lms-certificate-large { text-align: center; }
.lms-cert-logo { width: 220px; max-width: 60%; margin-bottom: 2rem; }
.lms-certificate-large h1 { font-size: clamp(2.4rem,7vw,5.5rem); font-weight: 900; text-transform: uppercase; color: var(--brand); }
.lms-certificate-large h2 { font-size: clamp(1.6rem,4vw,3rem); font-weight: 900; text-transform: uppercase; }
.lms-cert-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 2rem 0; }
.lms-cert-grid div { border: 1px solid var(--line); padding: 1rem; }
.lms-cert-grid strong { display: block; text-transform: uppercase; color: var(--muted); font-size: .76rem; letter-spacing: .08em; }
.lms-cert-grid span { font-weight: 900; }
@media print {
    .site-rail, .mobile-header, .site-footer, .back-to-top, .btn { display: none !important; }
    .site-main { margin-left: 0 !important; }
    .lms-print-page { padding: 0 !important; background: #fff !important; }
    .lms-certificate-large, .lms-invoice-large { box-shadow: none; border: 0; max-width: none; }
}
@media (max-width: 991.98px) {
    .lms-course-detail-hero, .lms-dashboard-hero, .lms-admin-hero, .lms-instructor-hero { padding: 6rem 0 3rem; min-height: auto; }
    .lms-instructor-profile { grid-template-columns: 1fr; }
    .lms-cert-grid { grid-template-columns: 1fr; }
    .lms-course-grid.list-view .lms-course-card { display: flex; }
}

/* EIEV Learning Hub v11 full LMS */
.lms-v11-hero { position: relative; min-height: 100vh; display:flex; align-items:flex-end; background: var(--ink); color: var(--white); overflow:hidden; padding: 7rem 0 4rem; }
.lms-v11-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.42; filter:grayscale(.12); }
.lms-v11-hero::after { content:""; position:absolute; inset:0; background: rgba(0,0,0,.66); }
.lms-v11-hero .container-fluid { z-index:1; }
.lms-v11-metrics { display:grid; grid-template-columns: repeat(4, 1fr); gap:1rem; max-width: 980px; }
.lms-v11-metrics div { border:1px solid rgba(255,255,255,.16); padding:1rem; background:rgba(255,255,255,.055); }
.lms-v11-metrics strong { display:block; font-size:clamp(2rem,4vw,4.5rem); line-height:.9; color:var(--brand); font-weight:900; }
.lms-v11-metrics span { text-transform:uppercase; letter-spacing:.09em; color:rgba(255,255,255,.7); font-size:.75rem; font-weight:900; }
.lms-v11-login-card { background:#151515; color:var(--white); border:1px solid rgba(255,255,255,.14); padding:clamp(1.25rem,3vw,2rem); box-shadow:var(--shadow); }
.lms-v11-login-card h3 { color:var(--white); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; }
.lms-v11-login-card p { color:rgba(255,255,255,.7); }
.lms-v11-login-card .form-control, .lms-v11-login-card .form-select { border-radius:0; min-height:48px; }
.lms-mini-tabs .nav-link { border-radius:0; font-weight:900; text-transform:uppercase; color:var(--white); border:1px solid rgba(255,255,255,.16); }
.lms-mini-tabs .nav-link.active { background:var(--brand); border-color:var(--brand); }
.lms-user-avatar { width:72px; height:72px; object-fit:cover; border:2px solid var(--brand); background:var(--white); }
.lms-v11-role-strip { display:flex; flex-wrap:wrap; gap:.4rem; }
.lms-v11-role-strip span { border:1px solid rgba(255,255,255,.14); color:var(--brand); padding:.35rem .55rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; font-size:.7rem; }
.lms-v11-feature-tile { background:#fff; border:1px solid var(--line); padding:1.4rem; min-height:100%; box-shadow:var(--shadow-soft); }
.lms-v11-feature-tile span { display:block; color:var(--brand); font-weight:900; font-size:2.4rem; line-height:1; margin-bottom:1rem; }
.lms-v11-feature-tile h3, .lms-v11-sidebar h3, .lms-admin-card h3, .lms-builder-board h3, .lms-dashboard-card h3 { font-weight:900; text-transform:uppercase; letter-spacing:-.04em; }
.lms-v11-feature-tile p { color:var(--muted); margin:0; }
.lms-v11-sidebar { background:#fff; border:1px solid var(--line); padding:1.3rem; box-shadow:var(--shadow-soft); }
.lms-v11-filter { display:grid; gap:.55rem; }
.lms-v11-filter label, .lms-v11-sidebar label, .lms-admin-card label, .lms-builder-board label, .lms-dashboard-card label { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:900; margin-top:.35rem; }
.lms-v11-filter .form-control, .lms-v11-filter .form-select, .lms-admin-card .form-control, .lms-admin-card .form-select, .lms-builder-board .form-control, .lms-builder-board .form-select, .lms-dashboard-card .form-control, .lms-dashboard-card .form-select, .lms-application-card .form-control, .lms-application-card .form-select { border-radius:0; min-height:46px; }
.lms-v11-db-badge { padding:.7rem 1rem; border:1px solid var(--line); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; }
.lms-v11-db-badge.ok { background:var(--brand); color:#fff; border-color:var(--brand); }
.lms-v11-db-badge.warn { background:#fff; color:#a93a3a; border-color:#a93a3a; }
.lms-v11-feature-course { display:block; background:#fff; color:var(--ink); border:1px solid var(--line); min-height:100%; overflow:hidden; }
.lms-v11-feature-course img { width:100%; height:170px; object-fit:cover; filter:grayscale(.15); }
.lms-v11-feature-course span { display:block; color:var(--brand); text-transform:uppercase; letter-spacing:.08em; font-weight:900; font-size:.72rem; padding:1rem 1rem .3rem; }
.lms-v11-feature-course strong { display:block; font-weight:900; text-transform:uppercase; line-height:1.05; padding:0 1rem 1rem; }
.lms-v11-mini-grid { display:grid; grid-template-columns: 1fr auto; gap:.45rem .8rem; border-top:1px solid var(--line); padding-top:1rem; }
.lms-v11-mini-grid span { color:var(--muted); text-transform:uppercase; letter-spacing:.07em; font-size:.72rem; font-weight:900; }
.lms-v11-mini-grid strong { font-weight:900; color:var(--brand); }
.lms-v11-permission-cloud { display:flex; flex-wrap:wrap; gap:.7rem; }
.lms-v11-permission-cloud span { border:1px solid rgba(255,255,255,.16); padding:1rem 1.2rem; color:#fff; font-weight:900; text-transform:uppercase; letter-spacing:.04em; background:rgba(255,255,255,.06); }
.lms-v11-permission-cloud.light span { color:var(--ink); background:#fff; border-color:var(--line); }
.lms-room-hero { padding:7rem 0 3rem; }
.lms-progress { height:10px; border-radius:0; background:rgba(153,111,50,.18); }
.lms-progress .progress-bar { background:var(--brand); }
.lms-room-shell { background:var(--ink); color:var(--white); min-height:85vh; }
.lms-room-sidebar { background:#151515; border-right:1px solid rgba(255,255,255,.1); padding:1.4rem; min-height:85vh; }
.lms-room-sidebar h3 { color:var(--white); font-weight:900; text-transform:uppercase; }
.lms-room-section { border-top:1px solid rgba(255,255,255,.12); padding:1rem 0; }
.lms-room-section > strong { display:block; color:var(--brand); text-transform:uppercase; font-size:.8rem; letter-spacing:.08em; margin-bottom:.6rem; }
.lms-room-section a { display:grid; grid-template-columns:24px 1fr auto; gap:.6rem; align-items:center; color:rgba(255,255,255,.72); padding:.6rem; border:1px solid transparent; }
.lms-room-section a.active, .lms-room-section a:hover { color:#fff; border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.06); }
.lms-room-section small { color:var(--brand); text-transform:uppercase; font-size:.65rem; font-weight:900; }
.lms-room-main { padding:clamp(1rem,3vw,2rem); }
.lms-player-screen { width:100%; min-height:460px; background:#070707; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); overflow:hidden; }
.lms-player-screen iframe, .lms-player-screen img { width:100%; height:520px; object-fit:cover; border:0; }
.lms-player-text { padding:clamp(2rem,5vw,5rem); max-width:900px; }
.lms-player-text h2 { color:#fff; font-weight:900; text-transform:uppercase; }
.lms-player-text p { color:rgba(255,255,255,.74); font-size:1.1rem; }
.lms-resource-row { display:grid; grid-template-columns:1fr auto; gap:1rem; border:1px solid var(--line); padding:.9rem; margin:.5rem 0; color:var(--ink); background:#fff; }
.lms-resource-row strong { font-weight:900; }
.lms-resource-row span { color:var(--brand); font-weight:900; text-transform:uppercase; }
.lms-qna-row { border-top:1px solid var(--line); padding:1rem 0; }
.lms-qna-row strong { display:block; font-weight:900; text-transform:uppercase; }
.lms-qna-row p { color:var(--muted); margin:.25rem 0 0; }
.lms-dashboard-card, .lms-admin-card, .lms-builder-board, .lms-application-card, .lms-payout-card { background:#fff; border:1px solid var(--line); padding:1.3rem; box-shadow:var(--shadow-soft); }
.lms-dashboard-card > h3, .lms-admin-card > h3, .lms-builder-board > h3 { margin-bottom:1rem; }
.lms-permission-table td, .lms-permission-table th { min-width:120px; }
.lms-permission-table td:first-child { min-width:260px; }
.lms-permission-table small { display:block; color:var(--brand); text-transform:uppercase; font-weight:900; letter-spacing:.08em; }
.lms-mini-course { display:grid; grid-template-columns:84px 1fr; gap:.75rem; align-items:center; background:#fff; border:1px solid var(--line); padding:.65rem; }
.lms-mini-course img { width:84px; height:84px; object-fit:cover; grid-row:span 3; }
.lms-mini-course strong { font-weight:900; text-transform:uppercase; line-height:1.05; }
.lms-mini-course span { color:var(--muted); font-size:.85rem; }
.lms-mini-course a { color:var(--brand); font-weight:900; text-transform:uppercase; font-size:.78rem; }
.lms-gateway-card { background:#fff; border:1px solid var(--line); padding:1rem; min-height:180px; display:grid; place-items:center; text-align:center; gap:.5rem; }
.lms-gateway-card img { max-width:140px; max-height:48px; object-fit:contain; }
.lms-gateway-card strong { font-weight:900; }
.lms-gateway-card span { color:var(--muted); font-size:.8rem; }
.lms-print-page { background:var(--smoke); }
@media (max-width: 1199.98px) {
    .lms-v11-hero { min-height:auto; padding:6rem 0 3rem; }
    .lms-v11-metrics { grid-template-columns:repeat(2,1fr); }
    .lms-room-sidebar { min-height:auto; }
}
@media (max-width: 767.98px) {
    .lms-v11-metrics { grid-template-columns:1fr; }
    .lms-player-screen, .lms-player-screen iframe, .lms-player-screen img { min-height:280px; height:280px; }
    .lms-room-section a { grid-template-columns:22px 1fr; }
    .lms-room-section small { grid-column:2; }
}

/* v15 logo, home highlights and clinic module */
.rail-brand { align-items: center; padding: 1.45rem 1rem 1rem; min-height: 138px; }
.rail-brand img.eiev-mark-full { width: 92px; height: auto; max-height: 92px; object-fit: contain; margin: 0 auto; display: block; }
.mobile-header .navbar-brand img.eiev-mark-mobile { width: 62px; height: auto; object-fit: contain; }
.footer-brand img.footer-logo-full { width: 128px; height: auto; object-fit: contain; }
.footer-brand { align-items: center; }
.home-eiev-console { background: var(--ink); color: var(--white); position: relative; overflow: hidden; padding-bottom: 6rem; }
.home-action-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); position: relative; z-index: 1; }
.home-action-tile { min-height: 168px; padding: 1.4rem; color: var(--white); display: flex; flex-direction: column; justify-content: flex-end; background-size: cover; background-position: center; position: relative; overflow: hidden; border-right: 1px solid rgba(255,255,255,.22); }
.home-action-tile::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5); transition: background .25s ease; }
.home-action-tile::after { content: ""; position: absolute; left: 1.4rem; top: 1.4rem; width: 42px; height: 3px; background: var(--brand); transform: scaleX(.7); transform-origin: left; transition: transform .25s ease; }
.home-action-tile span, .home-action-tile strong { position: relative; z-index: 1; }
.home-action-tile span { color: var(--sand); text-transform: uppercase; letter-spacing: .14em; font-size: .68rem; font-weight: 900; margin-bottom: .45rem; }
.home-action-tile strong { color: var(--white); font-size: clamp(1.05rem, 1.6vw, 1.45rem); line-height: 1; text-transform: uppercase; letter-spacing: -.04em; }
.home-action-tile:hover { color: var(--white); }
.home-action-tile:hover::before { background: rgba(0,0,0,.28); }
.home-action-tile:hover::after { transform: scaleX(1); }
.home-eiev-console .container-fluid { position: relative; z-index: 1; padding-top: 5.5rem; }
.highlight-square-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; max-width: 640px; }
.highlight-square-card { aspect-ratio: 1 / 1; position: relative; overflow: hidden; background: #050505; color: var(--white); border: 1px solid rgba(153,111,50,.55); }
.highlight-square-card img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.08); transform: scale(1.05); transition: transform .35s ease, opacity .35s ease; opacity: .72; }
.highlight-square-card::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.38); z-index: 1; }
.highlight-square-card::after { content: "›"; position: absolute; right: 1rem; bottom: 1rem; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.46); color: var(--white); font-size: 1.7rem; transition: background .25s ease, border-color .25s ease; }
.highlight-square-card span { position: absolute; left: 1rem; bottom: 1.05rem; right: 3.8rem; z-index: 2; color: var(--white); font-size: clamp(1.1rem, 2vw, 1.55rem); font-weight: 900; line-height: .95; text-transform: uppercase; letter-spacing: -.05em; }
.highlight-square-card:hover img { transform: scale(1.1); opacity: .9; }
.highlight-square-card:hover::after { background: var(--brand); border-color: var(--brand); }
.youtube-stage { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); padding: 1rem; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.youtube-frame { aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.youtube-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.youtube-actions { display: flex; justify-content: center; gap: .8rem; flex-wrap: wrap; padding: 1.15rem 0; }
.youtube-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.youtube-mini-card { background: var(--white); color: var(--ink); display: block; min-height: 100%; }
.youtube-mini-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.youtube-mini-card strong { display: block; padding: .9rem .9rem .35rem; color: var(--ink); text-transform: uppercase; font-size: .82rem; line-height: 1.2; }
.youtube-mini-card span { display: block; padding: 0 .9rem .9rem; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.youtube-mini-card:hover strong { color: var(--brand); }
.clinic-hero { position: relative; min-height: 100vh; background: var(--ink); color: var(--white); overflow: hidden; }
.clinic-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .42; filter: grayscale(.05); }
.clinic-hero::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.66); }
.clinic-hero .container-fluid { z-index: 1; }
.clinic-hero h1 { max-width: 1000px; line-height: .82; }
.clinic-status-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); padding: 2rem; backdrop-filter: blur(8px); max-width: 360px; margin-left: auto; }
.clinic-status-card img { width: 135px; height: auto; display: block; }
.clinic-status-card strong { display: block; font-size: 3rem; line-height: .9; font-weight: 900; color: var(--white); margin-top: 1.25rem; }
.clinic-status-card span { display: block; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 900; }
.clinic-module { background: var(--smoke); }
.clinic-alert { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; background: var(--ink); color: var(--white); padding: 1rem 1.25rem; margin-bottom: 1rem; border-left: 5px solid var(--brand); }
.clinic-alert strong { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; }
.clinic-alert.error { border-left-color: #cf2e2e; }
.clinic-alert.warning { border-left-color: #c98c1c; }
.clinic-tab-buttons { display: flex; gap: .8rem; flex-wrap: wrap; }
.clinic-tab-btn { border: 1px solid var(--ink); background: transparent; color: var(--ink); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; padding: .9rem 1rem; }
.clinic-tab-btn.active, .clinic-tab-btn:hover { background: var(--ink); color: var(--white); }
.clinic-feature-list { display: grid; gap: .8rem; }
.clinic-feature-list div { background: var(--white); border-left: 4px solid var(--brand); padding: 1rem; box-shadow: var(--shadow-soft); }
.clinic-feature-list span { display: block; color: var(--brand); font-weight: 900; font-size: .75rem; letter-spacing: .13em; }
.clinic-feature-list strong { display: block; color: var(--ink); text-transform: uppercase; font-weight: 900; }
.clinic-feature-list small { color: var(--muted); }
.clinic-panel { display: none; background: var(--white); padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: var(--shadow); border-top: 6px solid var(--brand); }
.clinic-panel.active { display: block; }
.clinic-form label { width: 100%; font-weight: 900; text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; color: var(--ink); }
.clinic-form .form-control, .clinic-form .form-select { margin-top: .45rem; border-radius: 0; min-height: 52px; border-color: #d8d0c4; box-shadow: none !important; }
.clinic-form textarea.form-control { min-height: 110px; }
.clinic-help { display: block; margin-top: .45rem; color: var(--muted); font-size: .78rem; text-transform: none; letter-spacing: 0; }
.clinic-date-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.clinic-date-chip { border: 1px solid var(--brand); background: rgba(153,111,50,.08); color: var(--brand); padding: .35rem .55rem; font-weight: 900; font-size: .72rem; }
.clinic-date-chip:hover { background: var(--brand); color: var(--white); }
.clinic-form-footer { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.clinic-price span { display: block; color: var(--muted); font-weight: 900; text-transform: uppercase; font-size: .7rem; letter-spacing: .08em; }
.clinic-price strong { display: block; font-size: 1.5rem; font-weight: 900; color: var(--ink); }
.quarantine-estimate { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-top: 1.2rem; }
.quarantine-estimate div { background: var(--ink); color: var(--white); padding: 1rem; }
.quarantine-estimate span { display: block; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; font-weight: 900; }
.quarantine-estimate strong { display: block; font-size: 1.1rem; font-weight: 900; color: var(--white); }
.clinic-info-card { background: var(--ink); color: var(--white); padding: 2rem; min-height: 100%; position: relative; overflow: hidden; }
.clinic-info-card::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 120px; height: 120px; background: rgba(153,111,50,.22); }
.clinic-info-card span { color: var(--sand); font-weight: 900; letter-spacing: .12em; }
.clinic-info-card h3 { text-transform: uppercase; font-weight: 900; margin: .8rem 0; }
.clinic-info-card p { color: rgba(255,255,255,.7); margin: 0; }
.clinic-recent { background: var(--ink); color: var(--white); padding: 2rem; }
.clinic-status-pill { display: inline-block; background: rgba(153,111,50,.18); color: var(--sand); border: 1px solid rgba(153,111,50,.55); padding: .25rem .55rem; font-weight: 900; text-transform: uppercase; font-size: .68rem; }
@media (max-width: 1199.98px) {
    .home-action-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-eiev-console .container-fluid { padding-top: 4rem; }
    .clinic-hero { min-height: auto; }
    .clinic-hero .min-vh-100 { min-height: auto !important; padding-top: 6rem !important; }
    .clinic-hero h1 { line-height: .92; }
}
@media (max-width: 767.98px) {
    .rail-brand img.eiev-mark-full { width: 78px; }
    .home-action-strip, .highlight-square-grid, .youtube-video-grid, .quarantine-estimate { grid-template-columns: 1fr; }
    .home-action-tile { min-height: 138px; }
    .clinic-panel { padding: 1rem; }
    .clinic-alert { grid-template-columns: 1fr; }
    .clinic-form-footer { align-items: stretch; }
    .clinic-form-footer .btn { width: 100%; }
    .clinic-hero h1 { font-size: clamp(3.2rem, 16vw, 5rem); }
}

/* v16 multilingual, SEO and mobile hardening */
.rail-language{display:flex;flex-direction:row;flex-wrap:wrap;gap:.35rem;margin-top:auto;margin-bottom:.8rem;align-items:center;justify-content:center}
.rail-language a,.mobile-language a{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-width:2.35rem;height:2rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;text-decoration:none;font-size:.62rem;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.05)}.lang-flag{font-size:1rem;line-height:1}.lang-code{font-size:.56rem}
.rail-language a.active,.mobile-language a.active{background:#996F32;border-color:#996F32;color:#fff}
.mobile-language{gap:.35rem;margin-inline-start:auto;margin-inline-end:.75rem}
html[dir="rtl"] body{direction:rtl;text-align:right}
html[dir="rtl"] .site-rail{right:0;left:auto;border-left:1px solid rgba(255,255,255,.1);border-right:0}
html[dir="rtl"] .site-main{margin-left:0;margin-right:var(--rail-w,174px)}
html[dir="rtl"] .hero-copy-panel{left:auto;right:calc(var(--rail-w,174px) + 2.5vw)}
html[dir="rtl"] .hero-side-label{right:auto;left:2rem;writing-mode:vertical-rl}
html[dir="rtl"] .rail-submenu{left:auto;right:100%;border-left:0;border-right:1px solid rgba(255,255,255,.12)}
html[dir="rtl"] .ms-auto{margin-left:0!important;margin-right:auto!important}
html[dir="rtl"] .text-lg-end{text-align:left!important}
html[dir="rtl"] .text-xl-end{text-align:left!important}
html[dir="rtl"] .dropdown-menu{text-align:right}
html[dir="rtl"] .form-control,html[dir="rtl"] .form-select,html[dir="rtl"] textarea{text-align:right}
html[dir="rtl"] .partner-home-track{animation-direction:reverse}
html[dir="rtl"] .back-to-top{right:auto;left:1.25rem}
img{max-width:100%;height:auto}
.hero-media img,.page-hero-media img{content-visibility:auto}
.youtube-frame iframe{border:0;aspect-ratio:16/9;width:100%;height:auto;display:block}
@media (max-width:1199.98px){
    html[dir="rtl"] .site-main{margin-right:0}.mobile-language a{min-width:1.85rem;height:1.85rem;font-size:.62rem}.navbar-brand{max-width:120px}.mobile-header .container-fluid{gap:.5rem}
}
@media (max-width:767.98px){
    .hero-copy-panel{width:min(92vw,560px);padding:1.2rem}.hero-copy-panel h1{font-size:clamp(2.25rem,15vw,4.5rem);line-height:.88}.hero-copy-panel .lead{font-size:1rem}.hero-arrow{width:2.4rem;height:2.4rem}.home-action-strip{grid-template-columns:1fr 1fr}.highlight-square-grid,.instagram-square-grid{grid-template-columns:1fr 1fr}.youtube-video-grid{grid-template-columns:1fr}.section-pad{padding-top:4rem;padding-bottom:4rem}.section-title{word-break:normal;overflow-wrap:break-word}.rail-language{display:none}
}
@media (max-width:480px){.home-action-strip{grid-template-columns:1fr}.highlight-square-grid,.instagram-square-grid{grid-template-columns:1fr}.btn{white-space:normal}.mobile-language{order:3;width:100%;justify-content:center;margin:0 0 .5rem}.navbar-toggler{margin-inline-start:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.partner-home-track{animation:none!important}}


/* Final v18 refinements: Cairo typeface, flag-only language switcher, highlight sliders and prepared collage */
html, body, button, input, select, textarea, .btn, .dropdown-menu, .form-control, .form-select {
    font-family: "Cairo", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}
.rail-language,
.mobile-language {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: .38rem;
}
.rail-language a,
.mobile-language a {
    width: 2.12rem;
    min-width: 2.12rem;
    height: 2.12rem;
    padding: 0;
    border-radius: 999px;
    line-height: 1;
    overflow: hidden;
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.rail-language a:hover,
.mobile-language a:hover { transform: translateY(-2px); }
.lang-flag {
    display: block;
    font-size: 1.16rem;
    line-height: 1;
}
.lang-code { display: none !important; }

.highlight-card-slider {
    display: block;
    isolation: isolate;
}
.highlight-square-card::before,
.highlight-square-card::after { pointer-events: none; }
.highlight-square-slide {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--white);
    opacity: 0;
    z-index: 0;
    transition: opacity 1.15s ease, transform 1.15s ease;
    transform: scale(1.025);
}
.highlight-square-slide.active {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
}
.highlight-square-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(.08);
    opacity: .72;
    transform: scale(1.05);
    transition: transform 5s ease, opacity .5s ease;
}
.highlight-square-slide.active img { transform: scale(1.09); }
.highlight-square-slide span {
    position: absolute;
    left: 1rem;
    bottom: 1.05rem;
    right: 3.8rem;
    z-index: 3;
    color: var(--white);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -.05em;
}
.highlight-square-card:hover .highlight-square-slide.active img { opacity: .92; }
html[dir="rtl"] .highlight-square-slide span {
    right: 1rem;
    left: 3.8rem;
}
html[dir="rtl"] .highlight-square-card::after {
    right: auto;
    left: 1rem;
    content: "‹";
}

.prepared-image-collage {
    position: relative;
    min-height: clamp(360px, 42vw, 620px);
    max-width: 670px;
    margin-inline: auto;
    isolation: isolate;
}
.prepared-image-collage .prepared-image {
    position: absolute;
    margin: 0;
    overflow: hidden;
    background: #050505;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.prepared-image-collage .prepared-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(.95) contrast(1.02);
}
.prepared-image-1 {
    left: 6%;
    top: 8%;
    width: 70%;
    height: 74%;
    z-index: 2;
    border: 1px solid rgba(153,111,50,.78);
}
.prepared-image-2 {
    right: 0;
    top: 0;
    width: 42%;
    height: 39%;
    z-index: 3;
    border: 1px solid rgba(255,255,255,.16);
}
.prepared-image-3 {
    right: 7%;
    bottom: 0;
    width: 43%;
    height: 40%;
    z-index: 4;
    border: 1px solid rgba(255,255,255,.16);
}
.prepared-gold-block {
    position: absolute;
    left: 0;
    top: 0;
    width: 22%;
    height: 78%;
    background: var(--brand);
    z-index: 5;
    opacity: .95;
}
.prepared-frame {
    position: absolute;
    left: 13%;
    bottom: 7%;
    width: 66%;
    height: 76%;
    border: 1px solid rgba(153,111,50,.5);
    z-index: 1;
}
html[dir="rtl"] .prepared-image-1 { left: auto; right: 6%; }
html[dir="rtl"] .prepared-image-2 { right: auto; left: 0; }
html[dir="rtl"] .prepared-image-3 { right: auto; left: 7%; }
html[dir="rtl"] .prepared-gold-block { left: auto; right: 0; }
html[dir="rtl"] .prepared-frame { left: auto; right: 13%; }
@media (max-width: 991.98px) {
    .prepared-image-collage { min-height: 520px; }
}
@media (max-width: 575.98px) {
    .prepared-image-collage { min-height: 420px; }
    .prepared-image-1 { left: 9%; width: 82%; height: 64%; top: 12%; }
    .prepared-image-2 { width: 48%; height: 32%; }
    .prepared-image-3 { width: 50%; height: 32%; right: 0; }
    .prepared-gold-block { width: 20%; height: 68%; }
    html[dir="rtl"] .prepared-image-1 { right: 9%; left: auto; }
    html[dir="rtl"] .prepared-image-3 { left: 0; right: auto; }
}


/* v18 final home sliders and prepared-media polish */
.highlight-square-slider {
    aspect-ratio: 1 / 1;
    position: relative;
    overflow: hidden;
    background: #050505;
    color: var(--white);
    border: 1px solid rgba(153,111,50,.62);
    isolation: isolate;
}
.highlight-square-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.36);
    z-index: 2;
    pointer-events: none;
}
.highlight-square-slider::after {
    content: "›";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 4;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.46);
    color: var(--white);
    font-size: 1.7rem;
    transition: background .25s ease, border-color .25s ease;
    pointer-events: none;
}
.highlight-square-slider:hover::after { background: var(--brand); border-color: var(--brand); }
.highlight-square-slider .highlight-square-slide {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--white);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    transition: opacity 1.15s ease, visibility 1.15s ease;
}
.highlight-square-slider .highlight-square-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.highlight-square-slider .highlight-square-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(.08) contrast(1.04);
    opacity: .74;
    transform: scale(1.045);
    transition: transform 7s ease, opacity 1.15s ease;
}
.highlight-square-slider .highlight-square-slide.active img { transform: scale(1.1); }
.highlight-square-slider:hover .highlight-square-slide.active img { opacity: .9; }
.highlight-square-slider .highlight-square-slide span {
    position: absolute;
    left: 1rem;
    right: 3.8rem;
    bottom: 1.05rem;
    z-index: 3;
    color: var(--white);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -.05em;
}
.highlight-slider-dots {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 4;
    display: flex;
    gap: .28rem;
    pointer-events: none;
}
.highlight-slider-dots button {
    width: 18px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(255,255,255,.42);
    opacity: .75;
}
.highlight-slider-dots button.active { background: var(--brand); opacity: 1; }
html[dir="rtl"] .highlight-square-slider::after { right: auto; left: 1rem; content: "‹"; }
html[dir="rtl"] .highlight-square-slider .highlight-square-slide span { right: 1rem; left: 3.8rem; }
html[dir="rtl"] .highlight-slider-dots { left: auto; right: 1rem; }

.prepared-image-collage .prepared-image { color: var(--white); }
.prepared-image-collage .prepared-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0,0,0,.32);
    transition: background .3s ease;
}
.prepared-image-collage .prepared-image::after {
    content: "";
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 42px;
    height: 3px;
    background: var(--brand);
    z-index: 2;
}
.prepared-image-collage .prepared-image span {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    color: var(--white);
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.05;
    font-size: clamp(.92rem, 1.35vw, 1.15rem);
}
.prepared-image-collage .prepared-image:hover { color: var(--white); }
.prepared-image-collage .prepared-image:hover::before { background: rgba(0,0,0,.16); }
.prepared-image-collage .prepared-image:hover img { transform: scale(1.075); opacity: .96; }
.prepared-image-collage .prepared-image img { transition: transform .65s ease, opacity .65s ease; }
.prepared-gold-block,
.prepared-frame { pointer-events: none; }
@media (max-width: 575.98px) {
    .prepared-image-collage {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: .9rem;
    }
    .prepared-gold-block,
    .prepared-frame { display: none; }
    .prepared-image-1,
    .prepared-image-2,
    .prepared-image-3 {
        position: relative;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / .82;
    }
}

/* v18 compatibility for existing home markup */
.highlight-square-slider {
    aspect-ratio: 1 / 1;
    position: relative;
    overflow: hidden;
    background: #050505;
    color: var(--white);
    border: 1px solid rgba(153,111,50,.55);
}
.highlight-square-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.38);
    z-index: 2;
    pointer-events: none;
}
.highlight-square-slider::after {
    content: "›";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 4;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.46);
    color: var(--white);
    font-size: 1.7rem;
    transition: background .25s ease, border-color .25s ease;
    pointer-events: none;
}
.highlight-square-slider:hover::after { background: var(--brand); border-color: var(--brand); }
.highlight-square-slider .highlight-square-slide {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--white);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    transition: opacity 1.15s ease, visibility 1.15s ease;
}
.highlight-square-slider .highlight-square-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.highlight-square-slider .highlight-square-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(.08);
    opacity: .72;
    transform: scale(1.04);
    transition: transform 10s ease, opacity .6s ease;
}
.highlight-square-slider .highlight-square-slide.active img { transform: scale(1.12); }
.highlight-square-slider:hover .highlight-square-slide.active img { opacity: .92; }
.highlight-square-slider .highlight-square-slide span {
    position: absolute;
    left: 1rem;
    bottom: 1.05rem;
    right: 3.8rem;
    z-index: 3;
    color: var(--white);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -.05em;
}
.highlight-slider-dots {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 5;
    display: flex;
    gap: .35rem;
}
.highlight-slider-dots button {
    width: 18px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(255,255,255,.35);
}
.highlight-slider-dots button.active { background: var(--brand); }
html[dir="rtl"] .highlight-square-slider::after { right: auto; left: 1rem; content: "‹"; }
html[dir="rtl"] .highlight-square-slider .highlight-square-slide span { right: 1rem; left: 3.8rem; }
html[dir="rtl"] .highlight-slider-dots { left: auto; right: 1rem; }

.prepared-image-collage .prepared-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 1;
    transition: background .3s ease;
}
.prepared-image-collage .prepared-image::after {
    content: "";
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 42px;
    height: 3px;
    background: var(--brand);
    z-index: 2;
}
.prepared-image-collage .prepared-image span {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    color: var(--white);
    font-size: clamp(.92rem, 1.4vw, 1.18rem);
    line-height: 1.05;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: -.035em;
}
.prepared-image-collage .prepared-image:hover::before { background: rgba(0,0,0,.18); }
.prepared-image-collage .prepared-image:hover img { transform: scale(1.06); }
.prepared-image-collage .prepared-image img { transition: transform .6s ease; }

/* v18.1 final requested refinements */
.highlight-square-slider {
    aspect-ratio: 1 / 1;
    position: relative;
    overflow: hidden;
    background: #050505;
    color: var(--white);
    border: 1px solid rgba(153,111,50,.55);
    isolation: isolate;
}
.highlight-square-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.38);
    z-index: 2;
    pointer-events: none;
}
.highlight-square-slider::after {
    content: "›";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 4;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.46);
    color: var(--white);
    font-size: 1.7rem;
    transition: background .25s ease, border-color .25s ease;
    pointer-events: none;
}
.highlight-square-slider:hover::after { background: var(--brand); border-color: var(--brand); }
.highlight-square-slider .highlight-square-slide {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--white);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    transition: opacity 1.15s ease, visibility 1.15s ease, transform 1.15s ease;
    transform: scale(1.015);
}
.highlight-square-slider .highlight-square-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: scale(1);
}
.highlight-square-slider .highlight-square-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(.08);
    opacity: .72;
    transform: scale(1.05);
    transition: transform 10s ease, opacity .5s ease;
}
.highlight-square-slider .highlight-square-slide.active img { transform: scale(1.12); }
.highlight-square-slider:hover .highlight-square-slide.active img { opacity: .92; }
.highlight-square-slider .highlight-square-slide span {
    position: absolute;
    left: 1rem;
    bottom: 1.05rem;
    right: 3.8rem;
    z-index: 3;
    color: var(--white);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -.05em;
}
.highlight-slider-dots {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 5;
    display: flex;
    gap: .35rem;
}
.highlight-slider-dots button {
    width: .45rem;
    height: .45rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
}
.highlight-slider-dots button.active { background: var(--brand); }
html[dir="rtl"] .highlight-square-slider::after { right: auto; left: 1rem; content: "‹"; }
html[dir="rtl"] .highlight-square-slider .highlight-square-slide span { right: 1rem; left: 3.8rem; }
html[dir="rtl"] .highlight-slider-dots { left: auto; right: 1rem; }

.prepared-image-collage .prepared-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.34);
    z-index: 1;
    transition: background .3s ease;
}
.prepared-image-collage .prepared-image::after {
    content: "";
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 42px;
    height: 3px;
    background: var(--brand);
    z-index: 2;
}
.prepared-image-collage .prepared-image span {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    color: var(--white);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.035em;
    line-height: 1.05;
    font-size: clamp(.92rem, 1.4vw, 1.18rem);
}
.prepared-image-collage .prepared-image:hover { color: var(--white); }
.prepared-image-collage .prepared-image:hover::before { background: rgba(0,0,0,.18); }
.prepared-image-collage .prepared-image:hover img { transform: scale(1.08); opacity: .95; }
.prepared-image-collage .prepared-image img { transition: transform .6s ease, opacity .6s ease; }
@media (max-width: 575.98px) {
    .highlight-square-grid { grid-template-columns: 1fr; }
}


/* v18 final: Cairo everywhere, flag-only language switcher */
html, body, button, input, select, textarea, .btn, .form-control, .form-select { font-family: "Cairo", Arial, "Helvetica Neue", Helvetica, sans-serif !important; }
.rail-language a, .mobile-language a { gap: 0; width: 2.25rem; min-width: 2.25rem; height: 2.25rem; padding: 0; border-radius: 999px; overflow: hidden; }
.lang-code { display: none !important; }
.lang-flag { display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; line-height: 1; width: 100%; height: 100%; }
.rail-language, .mobile-language { flex-direction: row; flex-wrap: nowrap; }
.mobile-language { align-items: center; }
@media (max-width: 480px) { .mobile-language { width: auto; order: 0; justify-content: flex-end; margin: 0 .5rem 0 auto; } }

/* v18 final override: exact home highlight slider holders and get-prepared collage */
.highlight-square-slider {
    aspect-ratio: 1 / 1;
    position: relative;
    overflow: hidden;
    background: #050505;
    color: var(--white);
    border: 1px solid rgba(153,111,50,.55);
    display: block;
    isolation: isolate;
}
.highlight-square-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.38);
    z-index: 2;
    pointer-events: none;
}
.highlight-square-slider::after {
    content: "›";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 6;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.46);
    color: var(--white);
    font-size: 1.7rem;
    line-height: 1;
    transition: background .25s ease, border-color .25s ease;
    pointer-events: none;
}
.highlight-square-slider:hover::after { background: var(--brand); border-color: var(--brand); }
.highlight-square-slider .highlight-square-slide {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--white);
    opacity: 0;
    z-index: 1;
    transform: scale(1.02);
    transition: opacity 1.2s ease, transform 1.2s ease;
}
.highlight-square-slider .highlight-square-slide.active {
    opacity: 1;
    z-index: 3;
    transform: scale(1);
}
.highlight-square-slider .highlight-square-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .72;
    filter: grayscale(.08);
    transform: scale(1.05);
    transition: transform 9.5s ease, opacity .5s ease;
}
.highlight-square-slider .highlight-square-slide.active img { transform: scale(1.1); }
.highlight-square-slider:hover .highlight-square-slide.active img { opacity: .9; }
.highlight-square-slider .highlight-square-slide span {
    position: absolute;
    left: 1rem;
    right: 3.8rem;
    bottom: 1.05rem;
    z-index: 7;
    color: var(--white);
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: -.045em;
}
.highlight-slider-dots {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 8;
    display: flex;
    gap: .35rem;
}
.highlight-slider-dots button {
    width: 18px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(255,255,255,.38);
    transition: width .25s ease, background .25s ease;
}
.highlight-slider-dots button.active { width: 32px; background: var(--brand); }
html[dir="rtl"] .highlight-square-slider::after { right: auto; left: 1rem; content: "‹"; }
html[dir="rtl"] .highlight-square-slider .highlight-square-slide span { right: 1rem; left: 3.8rem; }
html[dir="rtl"] .highlight-slider-dots { left: auto; right: 1rem; }

.prepared-image-collage {
    position: relative;
    min-height: clamp(390px, 42vw, 610px);
    max-width: 670px;
    margin-inline: auto;
    isolation: isolate;
}
.prepared-image-collage .prepared-image {
    position: absolute;
    margin: 0;
    overflow: hidden;
    background: #050505;
    color: var(--white);
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
    transition: transform .32s ease, border-color .32s ease;
}
.prepared-image-collage .prepared-image:hover { transform: translateY(-5px); border-color: rgba(153,111,50,.9); color: var(--white); }
.prepared-image-collage .prepared-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(.96) contrast(1.03);
    transform: scale(1.02);
    transition: transform .5s ease, opacity .5s ease;
    opacity: .92;
}
.prepared-image-collage .prepared-image:hover img { transform: scale(1.07); opacity: 1; }
.prepared-image-collage .prepared-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.22);
    pointer-events: none;
}
.prepared-image-collage .prepared-image span {
    position: absolute;
    left: .85rem;
    right: .85rem;
    bottom: .85rem;
    z-index: 3;
    padding: .55rem .7rem;
    background: rgba(17,17,17,.82);
    color: var(--white);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.prepared-image-collage .prepared-image-1 { left: 7%; top: 9%; width: 68%; height: 72%; z-index: 2; border: 1px solid rgba(153,111,50,.78); }
.prepared-image-collage .prepared-image-2 { right: 0; top: 0; width: 42%; height: 39%; z-index: 3; border: 1px solid rgba(255,255,255,.16); }
.prepared-image-collage .prepared-image-3 { right: 7%; bottom: 0; width: 43%; height: 40%; z-index: 4; border: 1px solid rgba(255,255,255,.16); }
.prepared-gold-block { position: absolute; left: 0; top: 0; width: 22%; height: 78%; background: var(--brand); z-index: 5; opacity: .95; pointer-events: none; }
.prepared-frame { position: absolute; left: 13%; bottom: 7%; width: 66%; height: 76%; border: 1px solid rgba(153,111,50,.5); z-index: 1; pointer-events: none; }
html[dir="rtl"] .prepared-image-collage .prepared-image-1 { left: auto; right: 7%; }
html[dir="rtl"] .prepared-image-collage .prepared-image-2 { right: auto; left: 0; }
html[dir="rtl"] .prepared-image-collage .prepared-image-3 { right: auto; left: 7%; }
html[dir="rtl"] .prepared-gold-block { left: auto; right: 0; }
html[dir="rtl"] .prepared-frame { left: auto; right: 13%; }
@media (max-width: 991.98px) { .prepared-image-collage { min-height: 520px; } }
@media (max-width: 575.98px) {
    .prepared-image-collage { min-height: 430px; }
    .prepared-image-collage .prepared-image-1 { left: 9%; top: 12%; width: 82%; height: 63%; }
    .prepared-image-collage .prepared-image-2 { width: 48%; height: 32%; }
    .prepared-image-collage .prepared-image-3 { width: 50%; height: 32%; right: 0; }
    .prepared-gold-block { width: 20%; height: 68%; }
    html[dir="rtl"] .prepared-image-collage .prepared-image-1 { right: 9%; left: auto; }
    html[dir="rtl"] .prepared-image-collage .prepared-image-3 { left: 0; right: auto; }
}

/* v19: linked parent navigation, live button, overview pages and official about sections */
.rail-live-now,
.mobile-live-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 42px;
    padding: .65rem 1rem;
    background: #b30000;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 0 0 rgba(179,0,0,.0);
    animation: eievLiveBlink 1.35s infinite;
}
.rail-live-now { margin: .5rem 1rem .9rem; }
.mobile-live-wrap { padding: .25rem 0 1rem; }
.mobile-live-now { width: 100%; }
.live-pulse-dot {
    width: .62rem;
    height: .62rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 0 rgba(255,255,255,.72);
    animation: eievLiveDot 1.35s infinite;
}
@keyframes eievLiveBlink {
    0%, 100% { background:#b30000; transform: translateY(0); }
    50% { background:#e00000; transform: translateY(-1px); }
}
@keyframes eievLiveDot {
    0% { box-shadow: 0 0 0 0 rgba(255,255,255,.72); }
    70% { box-shadow: 0 0 0 .45rem rgba(255,255,255,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}
.mobile-parent-wrap {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: .25rem;
}
.mobile-parent-wrap > .nav-link:first-child { flex: 1 1 auto; }
.mobile-submenu-toggle {
    width: 3.25rem;
    border: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(255,255,255,.04) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
.mobile-submenu-toggle::after { margin: 0 !important; }

.system-summary-card,
.media-summary-card,
.event-summary-card {
    display: block;
    height: 100%;
    color: inherit;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.12);
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.system-summary-card:hover,
.media-summary-card:hover,
.event-summary-card:hover {
    transform: translateY(-6px);
    border-color: var(--brand);
    color: inherit;
}
.system-summary-media,
.media-summary-card,
.event-summary-card { position: relative; }
.system-summary-media {
    display: block;
    aspect-ratio: 16/10;
    color:#fff;
    overflow:hidden;
}
.system-summary-media img,
.media-summary-card img,
.event-summary-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition: transform .35s ease, filter .35s ease;
}
.system-summary-card:hover img,
.media-summary-card:hover img,
.event-summary-card:hover img { transform: scale(1.04); }
.system-summary-media::after,
.media-summary-card::after,
.event-summary-card::after {
    content:"";
    position:absolute;
    inset:0;
    background: rgba(0,0,0,.42);
    pointer-events:none;
}
.system-summary-media span {
    position:absolute;
    left:1.1rem;
    bottom:1.1rem;
    z-index:2;
    color:var(--brand);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.system-summary-body { padding:1.45rem; color:#fff; }
.system-summary-body h3,
.media-summary-card h3,
.event-summary-card h3 { font-weight:900; text-transform:uppercase; letter-spacing:-.035em; margin:0 0 .65rem; color:#fff; }
.system-summary-body p,
.media-summary-card p,
.event-summary-card p { color:rgba(255,255,255,.68); margin-bottom:1rem; }
.text-link { color:var(--brand); font-weight:900; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; }
.media-overview-page .section-title,
.media-overview-page .section-intro { color: var(--ink); }
.media-overview-visual { position:relative; background:#111; overflow:hidden; box-shadow:var(--shadow-soft); }
.media-overview-visual img { width:100%; height:420px; object-fit:cover; filter:brightness(.78); }
.media-overview-visual div { position:absolute; left:2rem; bottom:2rem; right:2rem; padding:1.25rem; border-left:4px solid var(--brand); background:rgba(0,0,0,.7); color:#fff; }
.media-overview-visual strong { display:block; font-size:1.4rem; font-weight:900; text-transform:uppercase; }
.media-summary-card,
.event-summary-card { padding:0; min-height:420px; }
.media-summary-card img,
.event-summary-card img { position:absolute; inset:0; }
.media-summary-card span,
.event-summary-card span,
.media-summary-card h3,
.event-summary-card h3,
.media-summary-card p,
.event-summary-card p { position:relative; z-index:2; }
.media-summary-card span,
.event-summary-card span { display:inline-block; margin:1.35rem 1.35rem 0; color:var(--brand); font-weight:900; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; }
.media-summary-card h3,
.event-summary-card h3 { margin:15rem 1.35rem .55rem; }
.media-summary-card p,
.event-summary-card p { margin-inline:1.35rem; }
.events-stat-panel { display:grid; grid-template-columns: repeat(3,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
.events-stat-panel div { background:#111; padding:1.4rem; color:#fff; }
.events-stat-panel strong { display:block; color:var(--brand); font-size:clamp(2rem,4vw,4rem); font-weight:900; line-height:.9; }
.events-stat-panel span { display:block; margin-top:.6rem; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.68); }

.about-leadership-section,
.about-director-section { background:#fff; }
.about-official-image { position:relative; overflow:hidden; box-shadow: var(--shadow-soft); }
.about-official-image::before { content:""; position:absolute; top:0; bottom:0; left:0; width:22%; opacity:.96; z-index:2; mix-blend-mode:multiply; pointer-events:none; }
.about-official-image img { display:block; width:100%; height:auto; min-height:300px; object-fit:cover; }
.about-official-title,
.about-director-name,
.about-director-role { color:var(--brand); font-weight:900; letter-spacing:-.035em; }
.about-official-title { font-size:clamp(2rem,3vw,3.25rem); margin-bottom:1.5rem; text-transform:uppercase; }
.about-official-copy { font-size:clamp(1rem,1.12vw,1.24rem); line-height:1.7; color:#5b5b5b; max-width:920px; }
.about-official-copy strong { color:#3c3c3c; font-weight:900; }
.about-director-portrait { display:inline-block; overflow:hidden; border:3px solid var(--brand); border-radius:14px; background:#fff; box-shadow:var(--shadow-soft); }
.about-director-portrait img { display:block; width:min(340px,100%); }
.about-director-name { font-size:clamp(1.5rem,2.4vw,2.2rem); margin-bottom:.8rem; }
.about-title-rule { display:block; width:54px; height:4px; background:var(--brand); margin:0 0 1rem; }
.about-director-role { font-size:clamp(1.35rem,1.9vw,2rem); margin-bottom:.35rem; }
.timeline-dark .timeline-item { color:#fff; border-color:rgba(255,255,255,.16); }
.timeline-dark .timeline-year { color:var(--brand); }

@media (max-width: 1199.98px) {
    .rail-live-now { display:none; }
    .media-summary-card,
    .event-summary-card { min-height:360px; }
    .about-official-image::before { width:18%; }
}
@media (max-width: 767.98px) {
    .events-stat-panel { grid-template-columns:1fr; }
    .media-overview-visual img { height:300px; }
    .media-summary-card h3,
    .event-summary-card h3 { margin-top:12rem; }
    .about-official-image::before { width:16%; }
    .about-director-portrait img { width:100%; max-width:320px; }
}
.theme-toggle .theme-toggle-text { font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; line-height:1; }
.theme-toggle-rail { width:auto; min-width:4.9rem; padding-inline:.72rem; gap:.38rem; }
.theme-toggle-mobile { min-width:2.35rem; width:2.35rem; padding:0; }
.theme-toggle-mobile .theme-toggle-icon { font-size:1.05rem; }

/* v20 last-mile overrides requested by client */
.about-official-title,
.about-director-name,
.about-director-role { color: var(--brand) !important; }
.about-director-portrait { border-color: var(--brand) !important; }
.about-title-rule { background: var(--brand) !important; }
html[dir="rtl"] .hero-copy-panel h1 {
    font-size: clamp(2.35rem, 4.25vw, 5rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -.012em !important;
    max-width: 10.2em;
}
html[dir="rtl"] .hero-copy-panel .lead { line-height: 1.9 !important; }
@media (max-width: 767.98px) {
    html[dir="rtl"] .hero-copy-panel h1 { font-size: clamp(1.95rem, 10vw, 3.45rem) !important; line-height: 1.18 !important; }
}

/* V20 final: Light mode option, live event page styling and refined Arabic hero typography */
.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 36px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
    color: var(--white);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
    cursor: pointer;
    transition: background .22s ease, color .22s ease, border-color .22s ease;
}
.theme-toggle:hover { background: var(--brand); border-color: var(--brand); color: var(--white); }
.theme-toggle-icon { width: .95rem; text-align: center; line-height: 1; }
.mobile-theme-area { display:flex; align-items:center; padding:.35rem 0 .85rem; }
.mobile-theme-area .theme-toggle { width:100%; }
html[data-theme="light"] { color-scheme: light; }
html[data-theme="light"] body { background:#FFFDF8; color:#15130F; }
html[data-theme="light"] .site-rail,
html[data-theme="light"] .mobile-header { background:#FFFDF8; color:#15130F; border-color:rgba(153,111,50,.22); box-shadow:0 18px 60px rgba(78,54,24,.12); }
html[data-theme="light"] .rail-brand,
html[data-theme="light"] .mobile-header .navbar-brand { color:#15130F; }
html[data-theme="light"] .rail-link,
html[data-theme="light"] .mobile-header .nav-link { color:rgba(21,19,15,.76); }
html[data-theme="light"] .rail-link:hover,
html[data-theme="light"] .rail-item.active > .rail-link,
html[data-theme="light"] .rail-item:focus-within > .rail-link,
html[data-theme="light"] .mobile-header .nav-link.active,
html[data-theme="light"] .mobile-header .nav-link:hover { color:#15130F; background:rgba(153,111,50,.12); }
html[data-theme="light"] .rail-submenu,
html[data-theme="light"] .mobile-header .dropdown-menu { background:#FFFDF8; border-color:rgba(153,111,50,.25); box-shadow:0 24px 70px rgba(78,54,24,.14); }
html[data-theme="light"] .rail-submenu a,
html[data-theme="light"] .mobile-header .dropdown-item { color:rgba(21,19,15,.78); }
html[data-theme="light"] .rail-submenu a:hover,
html[data-theme="light"] .rail-submenu a.active,
html[data-theme="light"] .dropdown-item.active,
html[data-theme="light"] .dropdown-item:active { color:#15130F; background:rgba(153,111,50,.14); }
html[data-theme="light"] .rail-follow { border-top-color:rgba(153,111,50,.22); color:rgba(21,19,15,.68); }
html[data-theme="light"] .rail-follow a { color:#15130F; border-color:rgba(153,111,50,.28); }
html[data-theme="light"] .theme-toggle { border-color:rgba(153,111,50,.35); background:#F4EBDD; color:#15130F; }
html[data-theme="light"] .theme-toggle:hover { background:var(--brand); color:var(--white); }
html[data-theme="light"] .rail-language,
html[data-theme="light"] .mobile-language { border-color:rgba(153,111,50,.28); background:rgba(153,111,50,.07); }
html[data-theme="light"] .rail-language a,
html[data-theme="light"] .mobile-language a { border-color:rgba(153,111,50,.25); background:#fff; }
html[data-theme="light"] .rail-language a.active,
html[data-theme="light"] .mobile-language a.active { border-color:var(--brand); background:#F1E9DC; }
html[data-theme="light"] .navbar-toggler { border-color:rgba(153,111,50,.35); }
html[data-theme="light"] .navbar-toggler-icon { filter:invert(1); }
html[data-theme="light"] .hero-carousel.dylan-hero { background:#F7F2E9; color:#15130F; }
html[data-theme="light"] .hero-copy-panel { background:rgba(255,253,248,.88); color:#15130F; box-shadow:28px 0 90px rgba(78,54,24,.08); }
html[data-theme="light"] .hero-copy-panel h1,
html[data-theme="light"] .hero-copy-panel .lead { color:#15130F; }
html[data-theme="light"] .hero-copy-panel .lead { color:rgba(21,19,15,.76); }
html[data-theme="light"] .hero-media::before { background:rgba(255,253,248,.18); }
html[data-theme="light"] .hero-media::after { background:rgba(153,111,50,.10); mix-blend-mode:multiply; }
html[data-theme="light"] .hero-side-label { color:rgba(21,19,15,.66); }
html[data-theme="light"] .hero-dot { background:rgba(21,19,15,.28); }
html[data-theme="light"] .hero-arrow { background:rgba(255,253,248,.70); color:#15130F; border-color:rgba(153,111,50,.30); }
html[data-theme="light"] .hero-arrow:hover { background:var(--brand); color:var(--white); border-color:var(--brand); }
html[data-theme="light"] .btn-outline-light { color:#15130F; border-color:rgba(21,19,15,.65); }
html[data-theme="light"] .btn-outline-light:hover { background:#15130F; border-color:#15130F; color:var(--white); }
html[data-theme="light"] .bg-ink,
html[data-theme="light"] .home-eiev-console { background:#F7F2E9; color:#15130F; }
html[data-theme="light"] .bg-soft { background:#FBF7F0; }
html[data-theme="light"] .bg-ink .section-intro,
html[data-theme="light"] .home-eiev-console .section-intro,
html[data-theme="light"] .text-white-50 { color:rgba(21,19,15,.66) !important; }
html[data-theme="light"] .section-intro,
html[data-theme="light"] .text-muted { color:#5D554C !important; }
html[data-theme="light"] .feature-card,
html[data-theme="light"] .system-card,
html[data-theme="light"] .news-card,
html[data-theme="light"] .course-card,
html[data-theme="light"] .lms-card,
html[data-theme="light"] .contact-form-card,
html[data-theme="light"] .live-table-shell,
html[data-theme="light"] .results-phone-web,
html[data-theme="light"] .results-search-panel { background:#FFFFFF; color:#15130F; border-color:rgba(153,111,50,.20); box-shadow:0 18px 50px rgba(78,54,24,.08); }
html[data-theme="light"] .api-panel,
html[data-theme="light"] .leaderboard-card { background:#201A12; color:var(--white); }
html[data-theme="light"] .page-hero { background:#F7F2E9; color:#15130F; }
html[data-theme="light"] .page-hero-panel { background:rgba(255,253,248,.90); color:#15130F; }
html[data-theme="light"] .page-hero-panel .lead { color:rgba(21,19,15,.72) !important; }
html[data-theme="light"] .site-footer { background:#15130F; color:var(--white); }
html[data-theme="light"] .live-event-hero { background:#F7F2E9; color:#15130F; }
html[data-theme="light"] .live-event-meta-grid span { color:rgba(21,19,15,.68); }
html[data-theme="light"] .live-results-table thead th { background:#201A12; }

.live-event-hero { padding:clamp(6rem,9vw,9rem) 0 clamp(4rem,6vw,6rem); }
.live-video-shell { position:relative; background:#050505; border:1px solid rgba(153,111,50,.45); box-shadow:var(--shadow); overflow:hidden; }
.live-video-shell iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#000; }
.live-video-badge { position:absolute; top:1rem; left:1rem; z-index:2; display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .7rem; background:var(--brand); color:var(--white); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.live-event-meta-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:620px; }
.live-event-meta-grid div { border-top:2px solid var(--brand); padding-top:1rem; }
.live-event-meta-grid strong { display:block; color:var(--brand); font-size:clamp(2rem,4vw,3.4rem); font-weight:900; line-height:1; letter-spacing:-.06em; }
.live-event-meta-grid span { display:block; color:rgba(255,255,255,.70); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.live-table-shell { background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow-soft); overflow:hidden; }
.live-results-table { --bs-table-bg:transparent; --bs-table-color:var(--ink); }
.live-results-table thead th { background:var(--ink); color:var(--white); border:0; text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; padding:1rem; }
.live-results-table tbody td { padding:1rem; border-color:var(--line); vertical-align:middle; }
.live-results-table tbody td strong { display:block; font-weight:900; line-height:1.25; }
.live-results-table tbody td small { display:block; color:var(--muted); margin-top:.2rem; }
.live-rides-number { font-size:1.55rem; color:var(--brand); }
.live-result-status { color:var(--brand); font-weight:900; }

html[lang="ar"] .hero-copy-panel h1,
html[dir="rtl"] .hero-copy-panel h1 { font-size:clamp(2.35rem,4.25vw,5rem) !important; line-height:1.14 !important; letter-spacing:-.012em !important; max-width:10.2em; }
html[lang="ar"] .hero-copy-panel .lead,
html[dir="rtl"] .hero-copy-panel .lead { line-height:1.9 !important; }
@media (max-width: 767.98px) {
    html[lang="ar"] .hero-copy-panel h1,
    html[dir="rtl"] .hero-copy-panel h1 { font-size:clamp(1.95rem,10vw,3.45rem) !important; line-height:1.18 !important; }
    .live-event-meta-grid { grid-template-columns:1fr; }
}

/* v20 final: light mode option, live event page, brand-aligned about and Arabic hero tuning */
.theme-toggle {
    display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:38px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;
}
.theme-toggle:hover { transform:translateY(-1px); background:rgba(153,111,50,.22); border-color:rgba(153,111,50,.7); }
.rail-theme-toggle { margin:.1rem 1rem .85rem; width:calc(100% - 2rem); }
.mobile-theme-toggle { width:100%; margin-top:.65rem; }
.theme-icon { font-size:1rem; line-height:1; }

html[data-theme="light"] body { background:#fbf8f2; color:#1d1d1b; }
html[data-theme="light"] .site-rail,
html[data-theme="light"] .mobile-header { background:#ffffff; color:#1d1d1b; border-color:rgba(153,111,50,.25); box-shadow:0 18px 55px rgba(17,17,17,.08); }
html[data-theme="light"] .rail-link,
html[data-theme="light"] .mobile-header .nav-link { color:rgba(17,17,17,.72); }
html[data-theme="light"] .rail-link:hover,
html[data-theme="light"] .rail-item.active > .rail-link,
html[data-theme="light"] .rail-item:focus-within > .rail-link,
html[data-theme="light"] .mobile-header .nav-link.active,
html[data-theme="light"] .mobile-header .nav-link:hover { color:#111; background:rgba(153,111,50,.12); }
html[data-theme="light"] .rail-submenu,
html[data-theme="light"] .mobile-header .dropdown-menu { background:#ffffff; border-color:rgba(153,111,50,.22); }
html[data-theme="light"] .rail-submenu a,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item { color:rgba(17,17,17,.78); }
html[data-theme="light"] .rail-submenu a:hover,
html[data-theme="light"] .rail-submenu a.active,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item:hover,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item.active { color:#111; background:rgba(153,111,50,.12); }
html[data-theme="light"] .rail-follow { color:rgba(17,17,17,.58); border-top-color:rgba(153,111,50,.18); }
html[data-theme="light"] .rail-follow a { color:#111; border-color:rgba(17,17,17,.16); }
html[data-theme="light"] .theme-toggle { background:#f4efe6; color:#111; border-color:rgba(153,111,50,.3); }
html[data-theme="light"] .theme-toggle:hover { background:#996F32; color:#fff; }
html[data-theme="light"] .rail-language a,
html[data-theme="light"] .mobile-language a { border-color:rgba(17,17,17,.15); background:#f7f2e9; color:#111; }
html[data-theme="light"] .rail-language a.active,
html[data-theme="light"] .mobile-language a.active { background:#996F32; border-color:#996F32; color:#fff; }

html[data-theme="light"] .hero-carousel.dylan-hero,
html[data-theme="light"] .bg-ink,
html[data-theme="light"] .get-better-panel,
html[data-theme="light"] .quote-section,
html[data-theme="light"] .live-event-hero { background:#f7f2e9 !important; color:#111; }
html[data-theme="light"] .hero-copy-panel { background:rgba(255,255,255,.84); color:#111; }
html[data-theme="light"] .hero-copy-panel .lead,
html[data-theme="light"] .section-intro.text-white-50,
html[data-theme="light"] .text-white-50 { color:rgba(17,17,17,.66) !important; }
html[data-theme="light"] .btn-outline-light { color:#111; border-color:rgba(17,17,17,.45); }
html[data-theme="light"] .btn-outline-light:hover { color:#fff; background:#111; border-color:#111; }
html[data-theme="light"] .black-callout,
html[data-theme="light"] .api-panel,
html[data-theme="light"] .clinic-info-card,
html[data-theme="light"] .clinic-recent,
html[data-theme="light"] .events-stat-panel div,
html[data-theme="light"] .youtube-stage,
html[data-theme="light"] .live-video-shell { background:#ffffff; color:#111; border-color:rgba(153,111,50,.22); box-shadow:var(--shadow-soft); }
html[data-theme="light"] .black-callout p,
html[data-theme="light"] .api-panel p,
html[data-theme="light"] .clinic-info-card p { color:rgba(17,17,17,.66); }
html[data-theme="light"] .timeline-dark .timeline-item { color:#1d1d1b; border-color:rgba(153,111,50,.25); }
html[data-theme="light"] .timeline-dark .timeline-year { color:var(--brand); }
html[data-theme="light"] .quote-block { background:#fff; color:#111; border-color:rgba(153,111,50,.24); }
html[data-theme="light"] .quote-block blockquote { color:#111; }
html[data-theme="light"] .page-hero-panel { background:rgba(255,255,255,.88); color:#111; }
html[data-theme="light"] .page-hero-panel .lead { color:rgba(17,17,17,.68); }

.about-official-title,
.about-director-name,
.about-director-role { color:var(--brand) !important; }
.about-director-portrait { border-color:var(--brand) !important; border-radius:0 !important; }
.about-title-rule { background:var(--brand) !important; }
.about-leadership-section,
.about-director-section { background:var(--smoke); }

.live-video-shell { position:relative; background:#050505; border:1px solid rgba(255,255,255,.12); padding:1rem; box-shadow:0 36px 95px rgba(0,0,0,.38); }
.live-video-label { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.85rem; padding:.55rem .8rem; background:#b30000; color:#fff; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; animation:eievLiveBlink 1.35s infinite; }
.live-youtube-frame { aspect-ratio:16/9; background:#000; overflow:hidden; }
.live-youtube-frame iframe { width:100%; height:100%; display:block; border:0; }
html[dir="rtl"] .live-event-hero .d-flex { justify-content:flex-start; }

html[dir="rtl"] .hero-copy-panel h1 { font-size:clamp(2.6rem, 4.45vw, 5.6rem); line-height:1.08; letter-spacing:-.025em; max-width:9.8em; }
@media (max-width:1199.98px) { html[dir="rtl"] .hero-copy-panel h1 { font-size:clamp(2.45rem, 7.5vw, 4.8rem); line-height:1.12; } }
@media (max-width:767.98px) { html[dir="rtl"] .hero-copy-panel h1 { font-size:clamp(2.1rem, 10.8vw, 3.75rem); line-height:1.16; } }

/* v20 final override pass: stable theme switch, light mode polish, Arabic hero readability */
.theme-toggle.theme-toggle-rail {
    width: calc(100% - 2.4rem) !important;
    min-height: 40px;
    margin: .4rem 1.2rem .55rem !important;
    padding: .55rem .7rem;
    border-radius: 0;
}
.theme-toggle.theme-toggle-mobile {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 .45rem 0 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    flex: 0 0 42px;
}
html[dir="rtl"] .theme-toggle.theme-toggle-mobile { margin: 0 0 0 .45rem !important; }
.theme-toggle.theme-toggle-mobile .theme-toggle-text { display: none !important; }
.theme-toggle .theme-toggle-icon { display:inline-block; width:18px; height:18px; border-radius:999px; border:2px solid currentColor; position:relative; flex:0 0 18px; }
.theme-toggle .theme-toggle-icon::after { content:""; position:absolute; inset:2px 2px 2px 8px; border-radius:999px; background:currentColor; transition: inset .22s ease; }
.theme-toggle.is-light .theme-toggle-icon::after { inset:2px 8px 2px 2px; }

html[data-theme="light"] body { background:#FBF7EF !important; color:#151515 !important; }
html[data-theme="light"] .site-rail,
html[data-theme="light"] .mobile-header,
html[data-theme="light"] .rail-submenu,
html[data-theme="light"] .mobile-header .dropdown-menu {
    background:#fffaf2 !important;
    color:#151515 !important;
    border-color:#eadfce !important;
    box-shadow:0 18px 55px rgba(153,111,50,.12);
}
html[data-theme="light"] .eiev-mark-full,
html[data-theme="light"] .eiev-mark-mobile,
html[data-theme="light"] .footer-logo-full { filter:none !important; }
html[data-theme="light"] .rail-link,
html[data-theme="light"] .rail-submenu a,
html[data-theme="light"] .mobile-header .nav-link,
html[data-theme="light"] .mobile-header .dropdown-item,
html[data-theme="light"] .rail-follow,
html[data-theme="light"] .rail-follow a,
html[data-theme="light"] .footer-links a,
html[data-theme="light"] .footer-contact li,
html[data-theme="light"] .footer-bottom,
html[data-theme="light"] .mobile-header .navbar-brand { color:rgba(17,17,17,.76) !important; }
html[data-theme="light"] .rail-link:hover,
html[data-theme="light"] .rail-item.active > .rail-link,
html[data-theme="light"] .rail-item:focus-within > .rail-link,
html[data-theme="light"] .rail-submenu a:hover,
html[data-theme="light"] .rail-submenu a.active,
html[data-theme="light"] .mobile-header .nav-link.active,
html[data-theme="light"] .mobile-header .nav-link:hover,
html[data-theme="light"] .mobile-header .dropdown-item:hover,
html[data-theme="light"] .mobile-header .dropdown-item.active { color:#111 !important; background:rgba(153,111,50,.13) !important; }
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .rail-language a,
html[data-theme="light"] .mobile-language a,
html[data-theme="light"] .rail-follow a,
html[data-theme="light"] .social-row a { background:#fff !important; color:#111 !important; border-color:#d9cbb8 !important; }
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .rail-follow a:hover { background:var(--brand) !important; color:#fff !important; border-color:var(--brand) !important; }
html[data-theme="light"] .rail-language a.active,
html[data-theme="light"] .mobile-language a.active { background:var(--brand) !important; border-color:var(--brand) !important; color:#fff !important; }
html[data-theme="light"] .hero-carousel.dylan-hero,
html[data-theme="light"] .home-eiev-console,
html[data-theme="light"] .bg-ink,
html[data-theme="light"] .get-better-panel,
html[data-theme="light"] .results-hero,
html[data-theme="light"] .learning-hero,
html[data-theme="light"] .lms-hero,
html[data-theme="light"] .lms-v11-hero,
html[data-theme="light"] .lms-dashboard-hero,
html[data-theme="light"] .lms-admin-hero,
html[data-theme="light"] .lms-instructor-hero,
html[data-theme="light"] .clinic-hero,
html[data-theme="light"] .live-event-hero,
html[data-theme="light"] .site-footer { background:#F8F1E7 !important; color:#151515 !important; }
html[data-theme="light"] .hero-copy-panel { background:rgba(255,250,242,.86) !important; color:#111 !important; box-shadow:0 28px 80px rgba(153,111,50,.16); }
html[data-theme="light"] .hero-copy-panel .lead,
html[data-theme="light"] .text-white-50,
html[data-theme="light"] .bg-ink .section-intro,
html[data-theme="light"] .home-eiev-console .section-intro,
html[data-theme="light"] .results-hero .lead,
html[data-theme="light"] .learning-hero .lead,
html[data-theme="light"] .clinic-hero .lead,
html[data-theme="light"] .live-event-hero .lead { color:rgba(17,17,17,.66) !important; }
html[data-theme="light"] .section-title,
html[data-theme="light"] .bg-ink .section-title,
html[data-theme="light"] .bg-ink h1,
html[data-theme="light"] .bg-ink h2,
html[data-theme="light"] .bg-ink h3,
html[data-theme="light"] .get-better-panel h2,
html[data-theme="light"] .get-better-panel h3,
html[data-theme="light"] .results-hero h1,
html[data-theme="light"] .learning-hero h1,
html[data-theme="light"] .clinic-hero h1,
html[data-theme="light"] .live-event-hero h1 { color:#151515 !important; }
html[data-theme="light"] .home-action-tile::after,
html[data-theme="light"] .highlight-square-slide::after { background:rgba(17,17,17,.24) !important; }
html[data-theme="light"] .feature-card,
html[data-theme="light"] .service-card,
html[data-theme="light"] .contact-card,
html[data-theme="light"] .course-card,
html[data-theme="light"] .api-panel,
html[data-theme="light"] .leaderboard-card,
html[data-theme="light"] .youtube-mini-card,
html[data-theme="light"] .lms-command-card,
html[data-theme="light"] .lms-auth-card,
html[data-theme="light"] .clinic-card,
html[data-theme="light"] .live-video-card,
html[data-theme="light"] .live-results-table-wrap { background:#fffaf2 !important; color:#151515 !important; border-color:#eadfce !important; box-shadow:0 20px 54px rgba(153,111,50,.10); }
html[data-theme="light"] .live-video-caption,
html[data-theme="light"] .live-video-caption span { color:rgba(17,17,17,.68) !important; }
html[data-theme="light"] .live-video-caption strong { color:var(--brand) !important; }
html[data-theme="light"] .btn-outline-light { color:#151515 !important; border-color:rgba(17,17,17,.42) !important; }
html[data-theme="light"] .btn-outline-light:hover { background:#151515 !important; color:#fff !important; border-color:#151515 !important; }
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] textarea,
html[data-theme="light"] select { background:#fff !important; color:#111 !important; border-color:#d8c8b1 !important; }
html[data-theme="light"] .form-control::placeholder { color:rgba(17,17,17,.46) !important; }
html[data-theme="light"] .about-leadership-section,
html[data-theme="light"] .about-director-section { background:#fffaf2 !important; }
.about-official-title,
.about-director-name,
.about-director-role { color: var(--brand) !important; }
.about-director-portrait { border-color: var(--brand) !important; }
.about-title-rule { background: var(--brand) !important; }

html[dir="rtl"] .hero-copy-panel h1 {
    font-size: clamp(2.25rem, 4.55vw, 5.1rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    max-width: 11em !important;
}
html[dir="rtl"] .hero-copy-panel .lead { line-height: 1.9 !important; }
@media (max-width: 767.98px) {
    html[dir="rtl"] .hero-copy-panel h1 { font-size: clamp(2rem, 10.5vw, 3.55rem) !important; line-height: 1.2 !important; }
    .theme-toggle.theme-toggle-mobile { width: 38px !important; min-width:38px !important; height:38px !important; }
}

/* EIEV Calendar - official 2025-2026 race programme */
.eiev-calendar-program-section {
    position: relative;
    overflow: hidden;
}
.eiev-calendar-program-section::before {
    content: "";
    position: absolute;
    inset-inline-end: -12vw;
    top: 4rem;
    width: 34vw;
    height: 34vw;
    border: 1px solid rgba(153, 111, 50, .18);
    border-radius: 50%;
    pointer-events: none;
}
.calendar-program-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 1px solid rgba(153, 111, 50, .55);
    color: var(--brand);
    background: rgba(153, 111, 50, .08);
    padding: .9rem 1.1rem;
    font-size: .78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.calendar-program-badge::before {
    content: "";
    width: .45rem;
    height: .45rem;
    background: var(--brand);
    display: inline-block;
}
.calendar-program-wrap {
    position: relative;
    background: var(--ink);
    border: 1px solid rgba(153, 111, 50, .36);
    box-shadow: 0 28px 72px rgba(0,0,0,.18);
    padding: 1rem;
}
.calendar-program-wrap::before {
    content: "";
    position: absolute;
    inset-inline-start: 1rem;
    top: 0;
    width: 5.5rem;
    height: .28rem;
    background: var(--brand);
}
.calendar-program-table-scroll {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--brand) rgba(255,255,255,.08);
}
.calendar-program-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 .68rem;
    color: var(--white);
    min-width: 900px;
}
.calendar-program-table thead th {
    background: var(--brand);
    color: var(--white);
    padding: 1rem .95rem;
    font-size: .78rem;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    border: 0;
    white-space: nowrap;
}
.calendar-program-table tbody tr {
    background: rgba(255,255,255,.045);
    transition: transform .24s ease, background .24s ease, box-shadow .24s ease;
}
.calendar-program-table tbody tr:hover {
    transform: translateY(-2px);
    background: rgba(153,111,50,.16);
    box-shadow: 0 14px 34px rgba(0,0,0,.22);
}
.calendar-program-table tbody td {
    padding: 1rem .95rem;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.82);
    vertical-align: middle;
    font-weight: 700;
}
.calendar-program-table tbody td:first-child { border-inline-start: 1px solid rgba(255,255,255,.08); }
.calendar-program-table tbody td:last-child { border-inline-end: 1px solid rgba(255,255,255,.08); }
.calendar-program-name {
    color: var(--white) !important;
    font-weight: 900 !important;
    letter-spacing: .01em;
    min-width: 320px;
}
.calendar-program-no,
.calendar-program-class {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.3rem;
    min-height: 2.3rem;
    border: 1px solid rgba(153,111,50,.65);
    background: rgba(153,111,50,.18);
    color: var(--brand-light, #caa76d);
    font-weight: 900;
}
.calendar-program-class {
    min-width: 3.2rem;
    min-height: 2rem;
    font-size: .8rem;
    letter-spacing: .06em;
}
html[data-theme="light"] .calendar-program-wrap {
    background: #fffaf2 !important;
    color: #151515 !important;
    border-color: #eadfce !important;
    box-shadow: 0 22px 58px rgba(153,111,50,.12);
}
html[data-theme="light"] .calendar-program-table tbody tr { background: #fff; }
html[data-theme="light"] .calendar-program-table tbody tr:hover { background: rgba(153,111,50,.10); }
html[data-theme="light"] .calendar-program-table tbody td {
    color: rgba(17,17,17,.72);
    border-color: #eadfce;
}
html[data-theme="light"] .calendar-program-name { color: #151515 !important; }
@media (max-width: 767.98px) {
    .calendar-program-wrap { padding: .75rem; }
    .calendar-program-table-scroll { overflow-x: visible; }
    .calendar-program-table {
        min-width: 0;
        border-spacing: 0;
    }
    .calendar-program-table thead { display: none; }
    .calendar-program-table,
    .calendar-program-table tbody,
    .calendar-program-table tr,
    .calendar-program-table td { display: block; width: 100%; }
    .calendar-program-table tbody tr {
        margin: 0 0 1rem;
        border: 1px solid rgba(153,111,50,.32);
        padding: .8rem;
    }
    .calendar-program-table tbody td {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        padding: .65rem 0;
        border: 0 !important;
        text-align: end;
    }
    .calendar-program-table tbody td::before {
        content: attr(data-label);
        color: var(--brand);
        font-size: .75rem;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
        text-align: start;
    }
    .calendar-program-name { min-width: 0; }
}
html[dir="rtl"] .calendar-program-table,
html[dir="rtl"] .calendar-program-table tbody td { text-align: right; }
html[dir="rtl"] .calendar-program-table tbody td::before { text-align: right; }

/* V23 service systems gallery and request form */
.service-gallery-showcase {
    position: relative;
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    gap: 14px;
    min-height: 560px;
}
.service-gallery-showcase::before {
    content: "";
    position: absolute;
    left: -18px;
    top: 42px;
    width: 64px;
    height: calc(100% - 84px);
    background: var(--brand);
    opacity: .9;
    z-index: 2;
    pointer-events: none;
}
.service-gallery-item {
    position: relative;
    display: block;
    border: 1px solid rgba(var(--brand-rgb), .45);
    overflow: hidden;
    background: var(--ink);
    color: var(--white);
    min-height: 220px;
    width: 100%;
    padding: 0;
    text-align: left;
    cursor: pointer;
}
.service-gallery-item img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    display: block;
    filter: saturate(.95) contrast(1.04) brightness(.78);
    transform: scale(1.02);
    transition: transform .7s ease, filter .7s ease;
}
.service-gallery-item:hover img,
.service-gallery-item:focus-visible img {
    transform: scale(1.08);
    filter: saturate(1.08) contrast(1.08) brightness(.9);
}
.service-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.56));
    pointer-events: none;
}
.service-gallery-main {
    grid-row: span 2;
    min-height: 560px;
}
.service-gallery-thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.service-gallery-thumbs .service-gallery-item {
    min-height: 171px;
}
.service-gallery-copy {
    position: absolute;
    left: 26px;
    right: 24px;
    bottom: 24px;
    z-index: 4;
}
.service-gallery-copy span {
    display: inline-block;
    color: var(--brand);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: .45rem;
}
.service-gallery-copy strong {
    display: block;
    color: var(--white);
    font-size: clamp(1.15rem, 2vw, 1.8rem);
    line-height: .95;
    text-transform: uppercase;
}
.service-gallery-copy small {
    display: block;
    max-width: 460px;
    margin-top: .55rem;
    color: rgba(255,255,255,.72);
    font-weight: 500;
    line-height: 1.5;
}
.service-gallery-thumbs .service-gallery-copy {
    left: 16px;
    right: 14px;
    bottom: 14px;
}
.service-gallery-thumbs .service-gallery-copy strong {
    font-size: .98rem;
}
.service-gallery-thumbs .service-gallery-copy small {
    display: none;
}
.service-gallery-modal .modal-content {
    border: 1px solid rgba(var(--brand-rgb), .45);
    border-radius: 0;
    background: var(--ink);
    box-shadow: var(--shadow);
}
.service-gallery-modal .carousel-item img {
    width: 100%;
    max-height: 78vh;
    object-fit: contain;
    background: var(--ink);
}
.service-gallery-modal .btn-close {
    filter: invert(1);
    opacity: .85;
}
.service-gallery-caption-bar {
    border-top: 1px solid rgba(var(--brand-rgb), .28);
    padding: 1.1rem 1.35rem;
    background: rgba(0,0,0,.42);
}
.service-gallery-caption-bar strong {
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.service-gallery-caption-bar p {
    color: rgba(255,255,255,.68);
}
.service-request-section {
    background: var(--ink);
    color: var(--white);
}
.service-request-shell {
    position: relative;
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
    border: 1px solid rgba(var(--brand-rgb), .32);
    background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    padding: clamp(1.4rem, 3vw, 3rem);
    overflow: hidden;
}
.service-request-shell::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 7px;
    height: 100%;
    background: var(--brand);
}
.service-request-intro {
    position: sticky;
    top: 96px;
}
.service-request-form {
    position: relative;
    z-index: 1;
}
.service-request-form .form-label {
    color: rgba(255,255,255,.78);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.service-request-form .form-control,
.service-request-form .form-select {
    min-height: 50px;
    border-radius: 0;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.32);
    color: var(--white);
}
.service-request-form .form-control::placeholder {
    color: rgba(255,255,255,.38);
}
.service-request-form .form-control:focus,
.service-request-form .form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(var(--brand-rgb), .18);
    background: rgba(0,0,0,.42);
    color: var(--white);
}
.service-request-form .form-select option {
    color: var(--ink);
}
.service-request-form textarea.form-control {
    min-height: 132px;
}
.form-help,
.service-request-note {
    display: inline-block;
    margin-top: .45rem;
    color: rgba(255,255,255,.58);
    font-size: .86rem;
}
[data-theme="light"] .service-request-section {
    background: var(--sand, #f4efe7);
    color: var(--ink);
}
[data-theme="light"] .service-request-shell {
    background: var(--white);
    border-color: rgba(var(--brand-rgb), .28);
}
[data-theme="light"] .service-request-form .form-label,
[data-theme="light"] .service-request-note,
[data-theme="light"] .form-help {
    color: rgba(27,29,29,.68);
}
[data-theme="light"] .service-request-form .form-control,
[data-theme="light"] .service-request-form .form-select {
    background: #fff;
    color: var(--ink);
    border-color: rgba(27,29,29,.18);
}
[data-theme="light"] .service-request-form .form-control:focus,
[data-theme="light"] .service-request-form .form-select:focus {
    background: #fff;
    color: var(--ink);
}
@media (max-width: 991.98px) {
    .service-gallery-showcase { grid-template-columns: 1fr; min-height: auto; }
    .service-gallery-main { min-height: 430px; grid-row: auto; }
    .service-gallery-thumbs .service-gallery-item { min-height: 210px; }
    .service-request-shell { grid-template-columns: 1fr; }
    .service-request-intro { position: static; }
}
@media (max-width: 575.98px) {
    .service-gallery-showcase::before { left: 0; top: 0; width: 18px; height: 210px; }
    .service-gallery-main { min-height: 330px; }
    .service-gallery-thumbs { grid-template-columns: 1fr; }
    .service-gallery-thumbs .service-gallery-item { min-height: 250px; }
    .service-gallery-copy { left: 20px; right: 18px; bottom: 18px; }
    .service-request-shell { padding: 1.25rem; }
}

/* V24 updates: About heritage, publication covers, Pulse modal gallery */
.about-heritage-section {
    background: var(--white);
}
.about-heritage-image {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(var(--brand-rgb), .28);
    background: var(--sand);
}
.about-heritage-image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 22%;
    height: 100%;
    background: var(--brand);
    opacity: .78;
    z-index: 2;
    pointer-events: none;
    mix-blend-mode: multiply;
}
.about-heritage-image img {
    width: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
    filter: sepia(.18) saturate(.9) contrast(1.03);
}
.about-partners-section {
    border-top: 1px solid rgba(var(--brand-rgb), .22);
    border-bottom: 1px solid rgba(var(--brand-rgb), .22);
}
.about-partner-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}
.about-partner-card {
    min-height: 116px;
    background: var(--white);
    border: 1px solid rgba(var(--brand-rgb), .28);
}
.about-partner-card img {
    max-width: 76%;
    max-height: 58px;
    object-fit: contain;
}
.publications-section .publication-card-visual {
    padding: 0;
    overflow: hidden;
    height: 100%;
    background: var(--white);
    border: 1px solid rgba(var(--brand-rgb), .24);
    box-shadow: var(--shadow-soft);
}
.publication-cover {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--sand);
    border-bottom: 4px solid var(--brand);
}
.publication-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .65s ease, filter .65s ease;
}
.publication-cover:hover img {
    transform: scale(1.055);
    filter: contrast(1.05) saturate(1.04);
}
.publication-card-body {
    padding: 1.25rem;
}
.pulse-mosaic-clickable figure,
.pulse-mosaic-clickable .pulse-image-button {
    border: 0;
    padding: 0;
    background: transparent;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.pulse-image-button {
    position: relative;
    overflow: hidden;
    display: block;
    border: 1px solid rgba(var(--brand-rgb), .28) !important;
}
.pulse-image-button::after,
.pulse-gallery-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.28));
    opacity: .82;
    pointer-events: none;
}
.pulse-image-button img,
.pulse-gallery-card img {
    transition: transform .7s ease, filter .7s ease;
}
.pulse-image-button:hover img,
.pulse-gallery-card:hover img,
.pulse-image-button:focus-visible img,
.pulse-gallery-card:focus-visible img {
    transform: scale(1.06);
    filter: contrast(1.06) brightness(.96);
}
.pulse-gallery-card {
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid rgba(var(--brand-rgb), .28);
    padding: 0;
    background: var(--ink);
    overflow: hidden;
    cursor: pointer;
    text-align: inherit;
}
.pulse-gallery-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}
.pulse-gallery-overlay {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.55);
    z-index: 2;
}
.pulse-gallery-overlay::before,
.pulse-gallery-overlay::after {
    content: "";
    position: absolute;
    background: var(--white);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.pulse-gallery-overlay::before { width: 16px; height: 2px; }
.pulse-gallery-overlay::after { width: 2px; height: 16px; }
.pulse-gallery-modal .modal-content {
    border-radius: 0;
    border: 1px solid rgba(var(--brand-rgb), .4);
    background: var(--ink);
    box-shadow: var(--shadow);
}
.pulse-gallery-modal .btn-close {
    filter: invert(1);
    opacity: .85;
}
.pulse-gallery-modal .carousel-item img {
    width: 100%;
    max-height: 82vh;
    object-fit: contain;
    background: var(--ink);
}
.calendar-program-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
}
@media (max-width: 1199.98px) {
    .about-partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .about-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-heritage-image img { min-height: 360px; }
}
@media (max-width: 575.98px) {
    .about-partner-grid { grid-template-columns: 1fr; }
}

/* V27: service gallery modal portal fix */
body > .service-gallery-modal {
    z-index: 1085;
}
body.modal-open > .service-gallery-modal .modal-dialog {
    margin-left: auto;
    margin-right: auto;
}
body > .service-gallery-modal .modal-content {
    width: 100%;
}

/* Live Event API integration update */
.live-event-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    align-items: center;
}
.live-video-placeholder {
    min-height: 420px;
    aspect-ratio: 16 / 9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 4rem);
    text-align: center;
    background:
        radial-gradient(circle at 50% 20%, rgba(153,111,50,.24), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.12);
}
.live-video-placeholder img {
    width: min(180px, 45vw);
    height: auto;
    filter: drop-shadow(0 20px 40px rgba(0,0,0,.35));
}
.live-video-placeholder h2 {
    margin: 0;
    color: var(--white);
    font-size: clamp(1.45rem, 3vw, 2.6rem);
    font-weight: 900;
    text-transform: uppercase;
}
.live-video-placeholder p {
    max-width: 640px;
    margin: 0;
    color: rgba(255,255,255,.70);
}
.live-video-placeholder code {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .55rem .7rem;
    color: rgba(255,255,255,.74);
    background: rgba(0,0,0,.36);
    border: 1px solid rgba(255,255,255,.12);
    font-size: .78rem;
}
.live-featured-result,
.live-api-status,
.live-info-card {
    border: 1px solid rgba(153,111,50,.26);
    background: var(--white);
    color: var(--ink);
    box-shadow: var(--shadow-soft);
}
.live-featured-result {
    display: block;
    padding: 1.25rem;
}
.live-featured-result span,
.live-api-status strong {
    display: block;
    color: var(--brand);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.live-featured-result strong {
    display: block;
    margin-top: .45rem;
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    line-height: 1.25;
}
.live-featured-result small {
    display: block;
    margin-top: .4rem;
    color: var(--muted);
}
.live-api-toolbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.live-api-status {
    flex: 1 1 auto;
    padding: 1rem 1.15rem;
    border-inline-start: .32rem solid var(--brand);
}
.live-api-status span {
    display: block;
    margin-top: .25rem;
    color: var(--ink);
    font-weight: 800;
}
.live-api-status small {
    display: block;
    margin-top: .35rem;
    color: var(--muted);
    overflow-wrap: anywhere;
}
.live-api-status.is-ok { border-inline-start-color: #187444; }
.live-api-status.is-warning { border-inline-start-color: #b86b00; }
.live-api-status.is-loading { opacity: .82; }
.live-results-table-wrap {
    overflow-x: auto;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
}
.live-results-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}
.live-results-table tbody td span {
    display: block;
    color: var(--muted);
    margin-top: .2rem;
}
.live-results-empty-row td {
    padding: 2rem !important;
    text-align: center;
    color: var(--muted);
    font-weight: 800;
}
.live-info-card {
    height: 100%;
    padding: 1.35rem;
}
.live-info-card h3 {
    margin: .55rem 0 .65rem;
    font-weight: 900;
}
.live-info-card p {
    color: var(--muted);
    margin-bottom: 0;
}
.live-info-card .btn { margin-top: 1rem; }
html[data-theme="light"] .live-video-placeholder {
    background:
        radial-gradient(circle at 50% 20%, rgba(153,111,50,.16), transparent 34%),
        linear-gradient(135deg, rgba(153,111,50,.10), rgba(255,255,255,.5));
    border-color: rgba(153,111,50,.22);
}
html[data-theme="light"] .live-video-placeholder h2 { color: #151515; }
html[data-theme="light"] .live-video-placeholder p { color: rgba(17,17,17,.66); }
html[data-theme="light"] .live-video-placeholder img { filter: none; }
html[data-theme="light"] .live-video-placeholder code {
    background: rgba(153,111,50,.10);
    color: rgba(17,17,17,.70);
    border-color: rgba(153,111,50,.18);
}
html[data-theme="light"] .live-featured-result,
html[data-theme="light"] .live-api-status,
html[data-theme="light"] .live-info-card {
    background: #fffaf2 !important;
    color: #151515 !important;
    border-color: #eadfce !important;
}
html[data-theme="light"] .live-api-status span { color: #151515; }
@media (max-width: 767.98px) {
    .live-api-toolbar { flex-direction: column; }
    .live-api-toolbar .btn { width: 100%; }
    .live-video-placeholder { min-height: 320px; }
}

/* Official EIEV API status additions */
.api-status-line.is-ok { color: rgba(255,255,255,.78); }
.api-status-line.is-warning { color: #d6a866; }
.api-status-line small { display: block; margin-top: .4rem; color: inherit; opacity: .82; line-height: 1.45; }
html[data-theme="light"] .api-status-line.is-ok { color: rgba(16,16,16,.72); }
html[data-theme="light"] .api-status-line.is-warning { color: #9f6100; }

.live-race-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}
.live-race-card {
    background: rgba(15,15,15,.04);
    border: 1px solid rgba(153,111,50,.18);
    padding: 1.1rem;
}
.live-race-card > span {
    display: block;
    color: var(--brand);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: .55rem;
}
.live-race-card h3 {
    font-size: 1.08rem;
    font-weight: 900;
    letter-spacing: -.03em;
    margin-bottom: .35rem;
}
.live-race-card p {
    margin: 0 0 .85rem;
    color: var(--muted);
}
.live-race-stats,
.live-race-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.live-race-stats small,
.live-race-links a {
    border: 1px solid rgba(153,111,50,.25);
    padding: .35rem .55rem;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.live-race-links { margin-top: .65rem; }
.live-race-links a { color: var(--brand); text-decoration: none; }
html[data-theme="dark"] .live-race-card {
    background: rgba(255,255,255,.035);
    border-color: rgba(255,255,255,.08);
}

/* Official EIEV encrypted API full event/race panel */
.official-eiev-panel {
    margin: clamp(2rem, 4vw, 3.5rem) 0;
    padding: clamp(1.2rem, 3vw, 2rem);
    background: var(--white);
    color: var(--ink);
    border: 1px solid rgba(153,111,50,.18);
    box-shadow: var(--shadow-soft);
}
.official-eiev-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.2rem;
}
.official-eiev-status {
    border-inline-start: 5px solid var(--brand);
    background: rgba(153,111,50,.08);
    padding: 1rem;
    overflow-wrap: anywhere;
}
.official-eiev-status strong,
.official-eiev-status span,
.official-eiev-status small { display: block; }
.official-eiev-status strong {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .72rem;
    margin-bottom: .25rem;
}
.official-eiev-status small { color: var(--muted); margin-top: .35rem; font-size: .78rem; }
.official-eiev-status.is-ok { border-inline-start-color: #187444; }
.official-eiev-status.is-warning { border-inline-start-color: #b86b00; }
.official-eiev-status.is-loading { opacity: .75; }
.official-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-bottom: 1.4rem;
}
.official-summary-grid article {
    background: rgba(15,15,15,.035);
    border: 1px solid rgba(153,111,50,.18);
    padding: 1rem;
    min-height: 120px;
}
.official-summary-grid span,
.official-block-title span,
.official-race-list-card > span {
    display: block;
    color: var(--brand);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 900;
    font-size: .68rem;
}
.official-summary-grid strong {
    display: block;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1;
    margin: .45rem 0;
    font-weight: 900;
    letter-spacing: -.04em;
}
.official-summary-grid small { color: var(--muted); }
.official-block-title {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    margin: 1.4rem 0 .85rem;
}
.official-block-title h3,
.official-race-board-head h3 {
    margin: 0;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.04em;
}
.official-race-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: .8rem;
}
.official-race-list-card,
.official-empty-card {
    border: 1px solid rgba(153,111,50,.18);
    background: rgba(15,15,15,.03);
    padding: 1rem;
}
.official-race-list-card.is-selected {
    border-color: var(--brand);
    box-shadow: inset 4px 0 0 var(--brand);
}
.official-race-list-card h4 {
    margin: .45rem 0 .75rem;
    font-weight: 900;
    line-height: 1.12;
}
.official-race-list-card div {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.official-race-list-card small,
.official-pdf-links a {
    border: 1px solid rgba(153,111,50,.22);
    padding: .35rem .5rem;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
}
.official-race-board {
    margin-top: 1.4rem;
    border: 1px solid rgba(153,111,50,.20);
    overflow: hidden;
}
.official-race-board-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    background: rgba(153,111,50,.12);
    padding: 1rem;
    align-items: center;
}
.official-race-board-head p { margin: .35rem 0 0; color: var(--muted); }
.official-race-stat-row {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: .65rem;
    align-items: center;
}
.official-race-stat-row span {
    border: 1px solid rgba(153,111,50,.22);
    background: var(--white);
    padding: .55rem .7rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 800;
}
.official-race-stat-row strong { font-size: 1rem; }
.official-results-table-wrap { overflow-x: auto; }
.official-results-table {
    width: 100%;
    min-width: 880px;
    border-collapse: collapse;
}
.official-results-table th {
    background: var(--brand);
    color: var(--white);
    padding: .8rem;
    text-align: left;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.official-results-table td {
    padding: .9rem .8rem;
    border-bottom: 1px solid rgba(153,111,50,.16);
    vertical-align: middle;
}
.official-results-table td strong { display: block; font-weight: 900; }
.official-results-table td small { display: block; color: var(--muted); margin-top: .2rem; }
.official-bib {
    display: inline-flex;
    min-width: 38px;
    margin-inline-end: .4rem;
    color: var(--brand);
    font-weight: 900;
}
.official-status-pill {
    display: inline-flex;
    border: 1px solid rgba(24,116,68,.22);
    background: rgba(24,116,68,.10);
    color: #187444;
    padding: .35rem .6rem;
    font-weight: 900;
}
.official-rider-gates { margin-top: 1.4rem; }
.official-rider-detail {
    border: 1px solid rgba(153,111,50,.18);
    margin-bottom: .8rem;
    background: rgba(15,15,15,.025);
}
.official-rider-detail summary {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .8rem;
    padding: 1rem;
}
.official-rider-detail summary strong { font-weight: 900; }
.official-rider-detail summary span { color: var(--muted); }
.official-gate-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .8rem;
    padding: 0 1rem 1rem;
}
.official-gate-card {
    background: #403f3d;
    color: var(--white);
    overflow: hidden;
}
.official-gate-card h4 {
    margin: 0;
    background: var(--brand);
    color: var(--white);
    padding: .75rem;
    font-weight: 900;
    font-size: .95rem;
    text-align: center;
}
.official-gate-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.official-gate-card dl div {
    padding: .7rem;
    border-right: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.official-gate-card dt {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.64);
}
.official-gate-card dd {
    margin: .15rem 0 0;
    font-size: 1.15rem;
    font-weight: 900;
}
.official-pdf-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1rem;
}
.official-pdf-links a { color: var(--brand); text-decoration: none; }
.official-json-details {
    margin-top: 1rem;
    border: 1px dashed rgba(153,111,50,.28);
    padding: .8rem 1rem;
}
.official-json-details summary {
    cursor: pointer;
    color: var(--brand);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .78rem;
}
.official-json-details pre {
    margin: 1rem 0 0;
    max-height: 520px;
    overflow: auto;
    background: rgba(15,15,15,.05);
    padding: 1rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: .78rem;
}
html[data-theme="dark"] .official-eiev-panel,
html[data-theme="dark"] .official-summary-grid article,
html[data-theme="dark"] .official-race-list-card,
html[data-theme="dark"] .official-empty-card,
html[data-theme="dark"] .official-rider-detail {
    background: rgba(255,255,255,.035);
    color: var(--white);
    border-color: rgba(255,255,255,.10);
}
html[data-theme="dark"] .official-race-board,
html[data-theme="dark"] .official-eiev-status,
html[data-theme="dark"] .official-json-details { border-color: rgba(255,255,255,.12); }
html[data-theme="dark"] .official-race-board-head { background: rgba(153,111,50,.18); }
html[data-theme="dark"] .official-race-stat-row span { background: rgba(255,255,255,.06); color: var(--white); }
html[data-theme="dark"] .official-json-details pre { background: rgba(0,0,0,.25); color: rgba(255,255,255,.82); }
@media (max-width: 991.98px) {
    .official-eiev-head,
    .official-race-board-head { grid-template-columns: 1fr; }
    .official-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .official-race-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .official-summary-grid,
    .official-race-stat-row { grid-template-columns: 1fr; }
    .official-eiev-panel { padding: 1rem; }
}

/* Official API race-card interaction refinement */
button.official-race-list-card {
    appearance: none;
    width: 100%;
    text-align: left;
    color: inherit;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
button.official-race-list-card:hover,
button.official-race-list-card:focus-visible {
    transform: translateY(-2px);
    border-color: var(--brand);
    outline: 0;
    box-shadow: 0 12px 24px rgba(17,17,17,.08);
}
.official-race-list-card.is-selected::after {
    content: 'Selected';
    display: inline-flex;
    margin-top: .65rem;
    border: 1px solid rgba(153,111,50,.28);
    color: var(--brand);
    font-size: .68rem;
    font-weight: 900;
    padding: .25rem .5rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}



/* Official API results are functional content, never animation-dependent. */
.official-eiev-panel,
.official-eiev-panel.reveal,
.official-hierarchy-panel,
[data-official-hierarchy-panel] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Hierarchical official EIEV results flow: Events -> Rides -> Participants -> Participant result */
.official-hierarchy-panel {
    margin-top: 1.5rem;
}
.official-hierarchy-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.25rem;
}
.official-hierarchy-status {
    border-left: 4px solid var(--brand);
    background: rgba(153,111,50,.08);
    padding: 1rem;
    color: var(--ink);
    box-shadow: var(--shadow-soft);
}
.official-hierarchy-status.is-ok { border-left-color: #16a34a; }
.official-hierarchy-status.is-warning { border-left-color: #c2410c; }
.official-hierarchy-status strong,
.official-hierarchy-status span,
.official-hierarchy-status small { display: block; }
.official-hierarchy-status strong {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .76rem;
    margin-bottom: .25rem;
}
.official-hierarchy-status span { font-weight: 700; line-height: 1.45; }
.official-hierarchy-status small {
    color: var(--muted);
    margin-top: .35rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.official-hierarchy-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.15rem;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.official-hierarchy-breadcrumb a {
    color: var(--brand);
    border: 1px solid rgba(153,111,50,.28);
    padding: .35rem .6rem;
    background: rgba(153,111,50,.06);
}
.official-hierarchy-breadcrumb a:hover { color: var(--ink); background: rgba(153,111,50,.14); }
.official-hierarchy-breadcrumb span { color: var(--muted); }
.official-hierarchy-breadcrumb strong { color: var(--ink); }
.official-event-list,
.official-ride-list {
    display: grid;
    gap: 1rem;
}
.official-event-card,
.official-ride-card {
    position: relative;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: center;
    border: 1px solid rgba(153,111,50,.16);
    background: var(--white);
    padding: 1.2rem;
    color: var(--ink);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}
.official-event-card::before,
.official-ride-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #16c566;
}
.official-event-card:hover,
.official-ride-card:hover {
    transform: translateY(-2px);
    color: var(--ink);
    border-color: var(--brand);
    box-shadow: var(--shadow);
}
.official-event-count,
.official-date-badge {
    display: grid;
    place-items: center;
    min-height: 88px;
    border-right: 1px dashed rgba(153,111,50,.5);
    padding-right: 1rem;
    text-align: center;
}
.official-event-count strong,
.official-date-badge strong {
    display: block;
    color: var(--ink);
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 900;
}
.official-event-count span,
.official-date-badge span {
    display: inline-flex;
    margin-top: .45rem;
    border: 1px solid rgba(153,111,50,.38);
    color: var(--brand);
    background: rgba(153,111,50,.08);
    padding: .25rem .55rem;
    font-weight: 900;
    line-height: 1;
}
.official-event-main span,
.official-ride-main span {
    display: block;
    color: var(--muted);
    font-size: .92rem;
    margin-bottom: .18rem;
}
.official-event-main h3,
.official-ride-main h3 {
    margin: 0;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.1;
}
.official-event-main small,
.official-ride-main small {
    display: inline-flex;
    margin-top: .65rem;
    color: var(--muted);
    font-weight: 700;
}
.official-event-action,
.official-ride-action {
    color: #16a34a;
    font-weight: 900;
    white-space: nowrap;
}
.official-event-action::after,
.official-ride-action::after {
    content: '›';
    display: inline-block;
    color: var(--brand);
    font-size: 2.4rem;
    line-height: .7;
    margin-left: .75rem;
    vertical-align: middle;
}
.official-chip-row,
.official-race-stat-row-large {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}
.official-chip-row small,
.official-race-stat-row-large span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid rgba(153,111,50,.2);
    background: rgba(153,111,50,.06);
    color: var(--ink);
    padding: .35rem .55rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .72rem;
}
.official-api-note {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(153,111,50,.07);
    border: 1px solid rgba(153,111,50,.18);
    color: var(--muted);
    line-height: 1.5;
}
.official-block-title {
    margin: 1.6rem 0 1rem;
}
.official-block-title h3 {
    margin: .15rem 0 0;
    font-weight: 900;
    letter-spacing: -.035em;
    text-transform: uppercase;
}
.official-participants-table-wrap {
    overflow-x: auto;
    background: var(--white);
    border: 1px solid rgba(153,111,50,.18);
    box-shadow: var(--shadow-soft);
}
.official-row-link {
    color: var(--ink);
}
.official-row-link:hover td {
    background: rgba(153,111,50,.08);
}
.official-row-link td:last-child::after {
    content: '›';
    display: inline-block;
    margin-left: .5rem;
    color: var(--brand);
    font-size: 1.6rem;
    vertical-align: middle;
}
.official-participant-profile {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.2rem;
    background: var(--white);
    border: 1px solid rgba(153,111,50,.18);
    box-shadow: var(--shadow-soft);
}
.official-profile-number {
    border-right: 1px dashed rgba(153,111,50,.45);
    text-align: center;
    padding-right: 1rem;
}
.official-profile-number span {
    display: block;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    font-size: .7rem;
}
.official-profile-number strong {
    display: block;
    font-size: 1.75rem;
    font-weight: 900;
    color: var(--ink);
}
.official-profile-main h3 {
    margin: 0;
    font-weight: 900;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
}
.official-profile-main p {
    margin: .25rem 0 0;
    color: var(--muted);
    font-weight: 700;
}
.official-gate-grid-result { padding: 0; }
.results-summary-panel {
    background: var(--white);
    border: 1px solid rgba(153,111,50,.16);
    box-shadow: var(--shadow-soft);
    padding: 1.1rem;
}
.results-summary-panel span,
.results-summary-panel small {
    display: block;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .75rem;
    font-weight: 900;
}
.results-summary-panel strong {
    display: block;
    color: var(--ink);
    font-size: 1.35rem;
    font-weight: 900;
    margin: .3rem 0;
}

/* Dark mode correction for official hierarchy pages */
html[data-theme="dark"] body,
body[data-theme="dark"] {
    background: #0f0f0f;
    color: var(--white);
}
html[data-theme="dark"] .site-main,
html[data-theme="dark"] .bg-soft,
html[data-theme="dark"] .live-results-section,
html[data-theme="dark"] .results-official-section,
html[data-theme="dark"] #resultsWall,
html[data-theme="dark"] #liveResults {
    background: #12110f !important;
    color: var(--white);
}
html[data-theme="dark"] .section-intro,
html[data-theme="dark"] .lead,
html[data-theme="dark"] .official-event-main span,
html[data-theme="dark"] .official-ride-main span,
html[data-theme="dark"] .official-event-main small,
html[data-theme="dark"] .official-ride-main small,
html[data-theme="dark"] .official-hierarchy-status small,
html[data-theme="dark"] .official-profile-main p,
html[data-theme="dark"] .results-summary-panel span,
html[data-theme="dark"] .results-summary-panel small,
html[data-theme="dark"] .official-api-note {
    color: rgba(255,255,255,.66) !important;
}
html[data-theme="dark"] .official-eiev-panel,
html[data-theme="dark"] .official-event-card,
html[data-theme="dark"] .official-ride-card,
html[data-theme="dark"] .official-hierarchy-status,
html[data-theme="dark"] .official-participants-table-wrap,
html[data-theme="dark"] .official-participant-profile,
html[data-theme="dark"] .official-empty-card,
html[data-theme="dark"] .official-api-note,
html[data-theme="dark"] .results-summary-panel,
html[data-theme="dark"] .live-featured-result,
html[data-theme="dark"] .live-info-card,
html[data-theme="dark"] .results-phone-web,
html[data-theme="dark"] .mini-result-card,
html[data-theme="dark"] .official-summary-grid article,
html[data-theme="dark"] .official-race-list-card,
html[data-theme="dark"] .official-rider-detail {
    background: rgba(255,255,255,.045) !important;
    color: var(--white) !important;
    border-color: rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] .official-event-card:hover,
html[data-theme="dark"] .official-ride-card:hover,
html[data-theme="dark"] .official-hierarchy-breadcrumb a:hover {
    color: var(--white);
    background: rgba(153,111,50,.16) !important;
}
html[data-theme="dark"] .official-event-main h3,
html[data-theme="dark"] .official-ride-main h3,
html[data-theme="dark"] .official-event-count strong,
html[data-theme="dark"] .official-date-badge strong,
html[data-theme="dark"] .official-profile-number strong,
html[data-theme="dark"] .official-profile-main h3,
html[data-theme="dark"] .official-hierarchy-breadcrumb strong,
html[data-theme="dark"] .official-chip-row small,
html[data-theme="dark"] .official-race-stat-row-large span,
html[data-theme="dark"] .results-summary-panel strong,
html[data-theme="dark"] .official-results-table td,
html[data-theme="dark"] .official-results-table td strong,
html[data-theme="dark"] .official-row-link {
    color: var(--white) !important;
}
html[data-theme="dark"] .official-chip-row small,
html[data-theme="dark"] .official-race-stat-row-large span,
html[data-theme="dark"] .official-hierarchy-breadcrumb a,
html[data-theme="dark"] .official-event-count span,
html[data-theme="dark"] .official-date-badge span {
    background: rgba(153,111,50,.16) !important;
    border-color: rgba(153,111,50,.38) !important;
}
html[data-theme="dark"] .official-results-table td,
html[data-theme="dark"] .official-results-table th {
    border-color: rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] .official-row-link:hover td {
    background: rgba(153,111,50,.16) !important;
}
html[data-theme="dark"] .official-json-details pre {
    background: rgba(0,0,0,.35) !important;
    color: rgba(255,255,255,.86) !important;
}
html[data-theme="dark"] a:hover { color: var(--sand); }

@media (max-width: 991.98px) {
    .official-hierarchy-title-row,
    .official-event-card,
    .official-ride-card,
    .official-participant-profile {
        grid-template-columns: 1fr;
    }
    .official-event-count,
    .official-date-badge,
    .official-profile-number {
        border-right: 0;
        border-bottom: 1px dashed rgba(153,111,50,.45);
        padding: 0 0 1rem;
        justify-items: start;
        text-align: left;
        min-height: auto;
    }
}
@media (max-width: 575.98px) {
    .official-event-card,
    .official-ride-card,
    .official-participant-profile,
    .official-hierarchy-status,
    .results-summary-panel { padding: .9rem; }
    .official-chip-row small { font-size: .65rem; }
}
.official-row-link { cursor: pointer; }
.official-row-link:focus { outline: 2px solid var(--brand); outline-offset: -2px; }
.official-row-link a { font-weight: 900; color: var(--brand); }

/* Complete official API coverage: race gates, PDFs and participant metadata */
.official-data-coverage-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0 1.25rem;
}
.official-data-coverage-grid article {
    min-width: 0;
    padding: .9rem;
    border: 1px solid rgba(153,111,50,.2);
    background: var(--white);
    box-shadow: var(--shadow-soft);
}
.official-data-coverage-grid article::before {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    margin-bottom: .65rem;
    background: var(--brand);
}
.official-data-coverage-grid article.has-data::before { background: #16a34a; }
.official-data-coverage-grid article.missing-data::before { background: #c2410c; }
.official-data-coverage-grid span,
.official-participant-field-grid span {
    display: block;
    color: var(--muted);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.official-data-coverage-grid strong {
    display: block;
    margin-top: .3rem;
    color: var(--ink);
    font-size: 1.45rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.official-document-actions,
.official-pdf-links {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 1rem 0;
}
.official-document-actions a,
.official-pdf-links a,
.official-diagnostics-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .55rem .8rem;
    border: 1px solid rgba(153,111,50,.42);
    background: rgba(153,111,50,.1);
    color: var(--brand);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.official-document-actions a:hover,
.official-pdf-links a:hover,
.official-diagnostics-link:hover {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
}
.official-diagnostics-link { margin-top: .75rem; }
.official-api-note-critical {
    border-left: 4px solid #c2410c;
    background: rgba(194,65,12,.08);
    color: var(--ink);
}
.official-race-gate-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin: 1rem 0 1.25rem;
}
.official-race-gate-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(153,111,50,.2);
    border-top: 3px solid var(--brand);
    background: var(--white);
    box-shadow: var(--shadow-soft);
}
.official-race-gate-card h4 {
    margin: 0 0 .6rem;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 900;
}
.official-race-gate-card p {
    margin: .2rem 0 0;
    color: var(--muted);
    line-height: 1.45;
}
.official-participant-field-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0 1.25rem;
}
.official-participant-field-grid article {
    min-width: 0;
    padding: .85rem;
    border: 1px solid rgba(153,111,50,.16);
    background: rgba(153,111,50,.045);
}
.official-participant-field-grid strong {
    display: block;
    margin-top: .35rem;
    color: var(--ink);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.official-gate-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}
.official-gate-card dl > div {
    min-width: 0;
    padding: .55rem;
    background: rgba(153,111,50,.055);
}
.official-gate-card dt {
    color: var(--muted);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.official-gate-card dd {
    margin: .2rem 0 0;
    color: var(--ink);
    font-weight: 900;
    overflow-wrap: anywhere;
}

html[data-theme="dark"] .official-data-coverage-grid article,
html[data-theme="dark"] .official-race-gate-card,
html[data-theme="dark"] .official-participant-field-grid article {
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: var(--white) !important;
}
html[data-theme="dark"] .official-data-coverage-grid strong,
html[data-theme="dark"] .official-race-gate-card h4,
html[data-theme="dark"] .official-participant-field-grid strong,
html[data-theme="dark"] .official-gate-card dd,
html[data-theme="dark"] .official-api-note-critical {
    color: var(--white) !important;
}
html[data-theme="dark"] .official-data-coverage-grid span,
html[data-theme="dark"] .official-participant-field-grid span,
html[data-theme="dark"] .official-race-gate-card p,
html[data-theme="dark"] .official-gate-card dt {
    color: rgba(255,255,255,.66) !important;
}
html[data-theme="dark"] .official-gate-card dl > div {
    background: rgba(255,255,255,.055) !important;
}
html[data-theme="dark"] .official-api-note-critical {
    background: rgba(194,65,12,.16) !important;
    border-color: rgba(248,113,113,.42) !important;
}
html[data-theme="dark"] .official-document-actions a,
html[data-theme="dark"] .official-pdf-links a,
html[data-theme="dark"] .official-diagnostics-link {
    background: rgba(153,111,50,.18);
    border-color: rgba(207,166,91,.45);
    color: var(--sand);
}
html[data-theme="dark"] .official-document-actions a:hover,
html[data-theme="dark"] .official-pdf-links a:hover,
html[data-theme="dark"] .official-diagnostics-link:hover {
    background: var(--brand);
    color: var(--white);
}

@media (max-width: 1199.98px) {
    .official-data-coverage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .official-participant-field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .official-data-coverage-grid,
    .official-race-gate-grid,
    .official-participant-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .official-gate-card dl { grid-template-columns: 1fr; }
}
@media (max-width: 479.98px) {
    .official-data-coverage-grid,
    .official-race-gate-grid,
    .official-participant-field-grid { grid-template-columns: 1fr; }
}

/* Markup-aligned refinements for the documented race sections */
.official-data-coverage-grid small {
    display: block;
    margin-top: .35rem;
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.4;
}
.official-race-gate-card > strong {
    display: block;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.3;
}
.official-race-gate-card > span {
    display: block;
    margin-top: .4rem;
    color: var(--brand);
    font-size: 1.1rem;
    font-weight: 900;
}
.official-race-gate-card > small {
    display: block;
    margin-top: .25rem;
    color: var(--muted);
    line-height: 1.4;
}
.official-api-note-critical > strong,
.official-api-note-critical > span {
    display: block;
}
.official-api-note-critical > span { margin-top: .35rem; }
.official-api-note-critical > a {
    display: inline-flex;
    margin-top: .75rem;
    color: var(--brand);
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: .2em;
}
html[data-theme="dark"] .official-data-coverage-grid small,
html[data-theme="dark"] .official-race-gate-card > small {
    color: rgba(255,255,255,.62) !important;
}
html[data-theme="dark"] .official-race-gate-card > strong {
    color: var(--white) !important;
}
html[data-theme="dark"] .official-race-gate-card > span,
html[data-theme="dark"] .official-api-note-critical > a {
    color: var(--sand) !important;
}

/* Clean production result states */
.official-results-pending {
    display: grid;
    gap: .35rem;
    padding: 1.2rem;
}
.official-results-pending strong {
    color: var(--ink);
    font-size: 1.05rem;
    font-weight: 900;
}
.official-results-pending span { color: var(--muted); }
.official-race-information-grid { margin-bottom: 1.5rem; }
html[data-theme="dark"] .official-results-pending strong { color: var(--white) !important; }
html[data-theme="dark"] .official-results-pending span { color: rgba(255,255,255,.66) !important; }

/* Participant list navigation: keeps large official fields fast and readable. */
.official-participant-list-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: 0 0 .75rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(153,111,50,.18);
    background: rgba(153,111,50,.06);
}
.official-participant-list-toolbar strong { font-weight: 900; }
.official-participant-list-toolbar span { color: var(--muted); font-weight: 700; }
.official-participant-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: center;
    margin-top: 1rem;
}
.official-participant-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: .45rem .75rem;
    border: 1px solid rgba(153,111,50,.32);
    background: var(--white);
    color: var(--ink);
    font-weight: 900;
    text-decoration: none;
}
.official-participant-pagination a:hover,
.official-participant-pagination a.is-current {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
}
html[data-theme="dark"] .official-participant-list-toolbar,
html[data-theme="dark"] .official-participant-pagination a {
    background: rgba(255,255,255,.05);
    border-color: rgba(255,255,255,.14);
    color: var(--white);
}
html[data-theme="dark"] .official-participant-pagination a:hover,
html[data-theme="dark"] .official-participant-pagination a.is-current {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--white);
}

/* ============================================================
   EIEV official results application — app-style public release
   ============================================================ */
.live-event-hero-video {
    padding: clamp(4.5rem, 7vw, 7.5rem) 0;
}
.live-youtube-card {
    position: relative;
    padding: .75rem;
    border: 1px solid rgba(255,255,255,.16);
    background: #080808;
    box-shadow: 0 28px 70px rgba(0,0,0,.38);
}
.live-youtube-badge {
    position: absolute;
    z-index: 2;
    top: 1.15rem;
    left: 1.15rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 34px;
    padding: .35rem .7rem;
    background: #e00000;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.live-youtube-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}
.live-youtube-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.eiev-results-page,
.eiev-results-app-section {
    padding: clamp(2rem, 4vw, 4.5rem) 0;
    background: #f5f3ef;
}
.eiev-results-app {
    --app-gold: #d7b25e;
    --app-gold-dark: #a7792e;
    --app-green: #17bf58;
    --app-green-soft: #dcf7e4;
    --app-red: #eb4d45;
    --app-red-soft: #ffdede;
    --app-blue: #4a97e8;
    --app-blue-soft: #e7f2ff;
    --app-text: #171717;
    --app-muted: #8c8c8c;
    --app-line: #e9e7e2;
    --app-card: #fff;
    --app-bg: #f4f4f4;
    width: min(100%, 1180px);
    margin-inline: auto;
    overflow: hidden;
    border: 1px solid rgba(167,121,46,.13);
    background: var(--app-bg);
    color: var(--app-text);
    box-shadow: 0 26px 75px rgba(37,25,6,.11);
}
.eiev-results-app a { text-decoration: none; }
.eiev-app-home-header {
    padding: clamp(1.25rem, 3vw, 2.25rem);
    background: #fff;
    border-bottom: 1px solid var(--app-line);
}
.eiev-app-brand-row {
    display: grid;
    grid-template-columns: 56px 1fr 56px;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.eiev-app-brand-row > img,
.eiev-app-detail-header > img {
    display: block;
    width: clamp(110px, 15vw, 180px);
    max-height: 90px;
    margin-inline: auto;
    object-fit: contain;
}
.eiev-app-menu-mark,
.eiev-app-language {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--app-gold-dark);
    font-size: 1.65rem;
    font-weight: 900;
}
.eiev-app-language {
    border: 3px solid var(--app-gold);
    border-radius: 50%;
    background: #fff;
    font-size: 1.55rem;
}
.eiev-app-discipline-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    max-width: 820px;
    margin: 0 auto 1.35rem;
}
.eiev-app-discipline-row button {
    display: grid;
    place-items: center;
    gap: .55rem;
    min-height: 142px;
    padding: 1rem;
    border: 1px solid #e8e8e8;
    border-radius: 18px;
    background: #fff;
    color: #111;
    box-shadow: 0 4px 13px rgba(0,0,0,.12);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.eiev-app-discipline-row button:hover { transform: translateY(-2px); }
.eiev-app-discipline-row button.is-active {
    border-color: var(--app-gold);
    background: linear-gradient(145deg, #b78835, #e4c273);
    color: #fff;
}
.eiev-app-discipline-row img {
    width: 86px;
    height: 62px;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.eiev-app-discipline-row button.is-active img { filter: brightness(0) invert(1); mix-blend-mode: normal; }
.eiev-app-discipline-row strong { font-size: 1rem; }
.eiev-app-social-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(64px, 1fr));
    gap: .75rem;
    max-width: 920px;
    margin: 0 auto 1.2rem;
}
.eiev-app-social-row a {
    display: grid;
    place-items: center;
    min-height: 64px;
    border: 1px solid #e7e7e7;
    border-radius: 14px;
    background: #fff;
    color: #0d0d0d;
    font-size: 1.15rem;
    font-weight: 900;
    box-shadow: 0 3px 10px rgba(0,0,0,.07);
}
.eiev-app-social-row a:first-child { font-size: .9rem; }
.eiev-app-country-row {
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    padding: .2rem 0 .5rem;
    scrollbar-width: thin;
}
.eiev-app-country-row button {
    flex: 0 0 auto;
    padding: .55rem .9rem;
    border: 0;
    border-radius: 999px;
    background: #e5e5e5;
    color: #171717;
    font-size: .92rem;
    font-weight: 800;
}
.eiev-app-country-row button.is-active { background: var(--app-gold); color: #fff; }
.eiev-event-feature {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: stretch;
    padding: clamp(1.25rem, 3vw, 2.4rem);
    background: linear-gradient(135deg, #fff 0%, #f9f7f2 100%);
    border-bottom: 1px solid var(--app-line);
}
.eiev-event-feature figure {
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(33,40,55,.15);
}
.eiev-event-feature figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}
.eiev-event-programme {
    align-self: center;
    padding: clamp(1rem, 2vw, 2rem);
}
.eiev-app-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--app-gold-dark);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.eiev-app-kicker::before { content: ''; width: 32px; height: 2px; background: var(--app-gold-dark); }
.eiev-event-programme h2,
.eiev-app-section-heading h2 {
    margin: .55rem 0 .35rem;
    color: var(--app-text);
    font-weight: 900;
    letter-spacing: -.035em;
}
.eiev-event-programme h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.eiev-event-programme > p { margin: 0 0 1.3rem; color: var(--app-muted); font-weight: 700; }
.eiev-programme-day {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 1rem;
    padding: 1rem 0;
    border-top: 1px solid var(--app-line);
}
.eiev-programme-day > div {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 70px;
    border-radius: 14px;
    background: #fff7dc;
    color: var(--app-gold-dark);
}
.eiev-programme-day > div strong { font-size: 1.65rem; line-height: 1; }
.eiev-programme-day > div span { font-weight: 900; text-transform: uppercase; }
.eiev-programme-day ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.eiev-programme-day li { display: flex; justify-content: space-between; gap: 1rem; font-size: 1.05rem; }
.eiev-programme-day li span { color: #355b72; }
.eiev-programme-day li strong { color: #254e68; }
.eiev-app-list-section,
.eiev-app-result-view,
.eiev-app-rider-result {
    padding: clamp(1.25rem, 3vw, 2.5rem);
}
.eiev-app-section-heading { margin-bottom: 1.15rem; }
.eiev-app-section-heading h2 { font-size: clamp(1.75rem, 3vw, 2.65rem); }
.eiev-app-event-list,
.eiev-app-ride-list { display: grid; gap: .9rem; }
.eiev-app-event-card,
.eiev-app-ride-card {
    display: grid;
    align-items: stretch;
    min-height: 142px;
    overflow: hidden;
    border: 1px solid #ededed;
    border-left: 5px solid var(--app-green);
    border-radius: 20px;
    background: var(--app-card);
    color: var(--app-text);
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}
.eiev-app-event-card { grid-template-columns: 130px 1fr 105px; }
.eiev-app-ride-card { grid-template-columns: 112px 1fr 105px; }
.eiev-app-event-card:hover,
.eiev-app-ride-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.12); color: var(--app-text); }
.eiev-app-ride-count,
.eiev-app-date {
    display: grid;
    place-items: center;
    align-content: center;
    gap: .45rem;
    padding: 1rem;
    border-right: 1px dashed #bfbfbf;
}
.eiev-app-ride-count strong,
.eiev-app-date strong { font-size: 1.55rem; line-height: 1; }
.eiev-app-ride-count span,
.eiev-app-date span {
    display: inline-flex;
    justify-content: center;
    min-width: 64px;
    padding: .35rem .6rem;
    border: 2px solid #e5c36e;
    border-radius: 999px;
    color: #c29a42;
    font-weight: 900;
}
.eiev-app-event-copy,
.eiev-app-ride-copy {
    display: grid;
    align-content: center;
    padding: 1.15rem 1.35rem;
    min-width: 0;
}
.eiev-app-event-copy > span { color: var(--app-muted); font-size: 1.02rem; }
.eiev-app-event-copy h3,
.eiev-app-ride-copy h3 {
    margin: .15rem 0 .55rem;
    color: var(--app-text);
    font-size: clamp(1.05rem, 2vw, 1.45rem);
    font-weight: 900;
    line-height: 1.2;
}
.eiev-app-event-copy small { color: var(--app-muted); font-size: .98rem; }
.eiev-app-event-open {
    display: grid;
    place-items: center;
    align-content: center;
    gap: .2rem;
    padding: .8rem;
}
.eiev-app-event-open span { color: var(--app-green); font-weight: 900; }
.eiev-app-event-open b { color: var(--app-gold); font-size: 2.4rem; font-weight: 400; line-height: 1; }
.eiev-app-detail-header {
    display: grid;
    grid-template-columns: 64px 1fr 64px;
    align-items: start;
    gap: 1rem;
    min-height: 205px;
    padding: clamp(1.25rem, 3vw, 2.3rem);
    background: #fff;
    border-bottom: 1px solid var(--app-line);
}
.eiev-app-back {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #111;
    font-size: 2rem;
}
.eiev-app-detail-title {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    color: var(--app-gold);
    font-size: clamp(1.2rem, 2.5vw, 2rem);
    text-align: center;
}
.eiev-app-detail-title strong { font-weight: 900; }
.eiev-event-mini-banner {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 1.25rem;
    align-items: center;
    padding: 1.25rem clamp(1.25rem, 3vw, 2.5rem);
    background: #fff;
    border-bottom: 1px solid var(--app-line);
}
.eiev-event-mini-banner img { width: 150px; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }
.eiev-event-mini-banner div { display: grid; gap: .25rem; }
.eiev-event-mini-banner span { color: var(--app-gold-dark); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eiev-event-mini-banner strong { color: var(--app-text); font-size: 1.55rem; }
.eiev-event-mini-banner small { color: var(--app-muted); }
.eiev-app-count-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.eiev-app-count-row span {
    padding: .35rem .65rem;
    border-radius: 7px;
    font-size: .85rem;
    font-weight: 800;
}
.eiev-app-count-row .is-entry { background: var(--app-blue-soft); color: var(--app-blue); }
.eiev-app-count-row .is-finished { background: var(--app-green-soft); color: #159b46; }
.eiev-app-count-row .is-ftq { background: var(--app-red-soft); color: var(--app-red); }
.eiev-app-race-head { background: #fff; border-bottom: 1px solid var(--app-line); }
.eiev-app-race-head > div {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(1rem, 4vw, 3rem);
    padding: .9rem 1rem;
    color: var(--app-gold);
    font-size: 1.05rem;
}
.eiev-app-race-head > div strong { font-weight: 700; }
.eiev-app-result-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--app-line);
}
.eiev-app-result-tabs a {
    position: relative;
    padding: .9rem .5rem;
    color: #222;
    text-align: center;
    font-weight: 700;
}
.eiev-app-result-tabs a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: transparent;
}
.eiev-app-result-tabs a.is-active::after { background: var(--app-gold); }
.eiev-app-result-tools {
    display: grid;
    grid-template-columns: 1fr 210px;
    gap: 1rem;
    margin-bottom: 1.15rem;
}
.eiev-app-result-tools input,
.eiev-app-result-tools select {
    width: 100%;
    min-height: 52px;
    border: 1px solid #d8d8d8;
    border-radius: 14px;
    background: #fff;
    color: #111;
    padding: .75rem 1rem;
    outline: none;
}
.eiev-app-result-tools input:focus,
.eiev-app-result-tools select:focus { border-color: var(--app-gold); box-shadow: 0 0 0 3px rgba(215,178,94,.18); }
.eiev-app-results-table-wrap { overflow-x: auto; }
.eiev-app-results-table {
    width: 100%;
    min-width: 970px;
    border-collapse: separate;
    border-spacing: 0 8px;
}
.eiev-app-results-table thead th {
    padding: .75rem .7rem;
    background: var(--app-gold);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: left;
}
.eiev-app-results-table thead th:first-child { border-radius: 10px 0 0 10px; }
.eiev-app-results-table thead th:last-child { border-radius: 0 10px 10px 0; text-align: center; }
.eiev-app-result-row { cursor: pointer; }
.eiev-app-result-row td {
    padding: .85rem .7rem;
    border-top: 1px solid #eee7d9;
    border-bottom: 1px solid #eee7d9;
    background: #fffdf4;
    color: #171717;
    vertical-align: middle;
}
.eiev-app-result-row td:first-child { border-left: 2px solid #d8bb72; border-radius: 13px 0 0 13px; }
.eiev-app-result-row td:last-child { border-right: 2px solid #d8bb72; border-radius: 0 13px 13px 0; text-align: center; }
.eiev-app-result-row:hover td { background: #fff8df; }
.eiev-app-result-row td > strong { display: block; font-size: .96rem; font-weight: 900; }
.eiev-app-result-row td > small { display: block; margin-top: .2rem; color: #555; }
.eiev-app-bib {
    display: inline-grid;
    place-items: center;
    min-width: 42px;
    min-height: 34px;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font-weight: 900;
}
.eiev-app-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: .38rem .65rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 900;
}
.eiev-app-status.is-finished { background: var(--app-green-soft); color: #119847; }
.eiev-app-status.is-ftq { background: var(--app-red-soft); color: #dc3d35; }
.eiev-app-status.is-live { background: var(--app-blue-soft); color: #397fc8; }
.eiev-app-status.is-neutral { background: #eee; color: #555; }
.eiev-app-gate-count {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    min-height: 34px;
    border-radius: 50%;
    background: #f4e8c5;
    color: var(--app-gold-dark);
    font-weight: 900;
}
.eiev-app-open-result {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: var(--app-gold-dark);
    font-size: 2rem;
    line-height: 1;
}
.eiev-app-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.eiev-app-summary-grid article {
    padding: 1.25rem;
    border: 1px solid var(--app-line);
    border-top: 4px solid var(--app-gold);
    border-radius: 14px;
    background: #fff;
}
.eiev-app-summary-grid article.is-green { border-top-color: var(--app-green); }
.eiev-app-summary-grid article.is-red { border-top-color: var(--app-red); }
.eiev-app-summary-grid span { display: block; color: var(--app-muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.eiev-app-summary-grid strong { display: block; margin-top: .35rem; color: var(--app-text); font-size: 1.45rem; }
.eiev-app-documents { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.eiev-app-documents a {
    padding: .7rem 1rem;
    border-radius: 10px;
    background: var(--app-gold-dark);
    color: #fff;
    font-weight: 900;
}
.eiev-app-race-gates,
.eiev-app-rider-gates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.eiev-app-race-gates article {
    padding: 1.2rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.eiev-app-race-gates article > div { display: flex; justify-content: space-between; align-items: center; }
.eiev-app-race-gates article > div span { color: var(--app-muted); text-transform: uppercase; font-size: .7rem; font-weight: 900; }
.eiev-app-race-gates article > div strong { color: var(--app-gold-dark); font-size: 1.4rem; }
.eiev-app-race-gates h3 { margin: .75rem 0 .3rem; color: var(--app-text); font-size: 1.1rem; font-weight: 900; }
.eiev-app-race-gates p,
.eiev-app-race-gates small { color: var(--app-muted); }
.eiev-app-empty,
.eiev-app-no-match {
    padding: 1.1rem 1.2rem;
    border: 1px solid #e5e2db;
    border-radius: 14px;
    background: #fff;
    color: #666;
    text-align: center;
}
.eiev-app-rider-result { background: #f4f4f4; }
.eiev-app-rider-profile {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 1.25rem;
    align-items: center;
    padding: 1.4rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.eiev-app-rider-bib {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 96px;
    border-right: 1px dashed #c9b274;
}
.eiev-app-rider-bib span { color: var(--app-muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.eiev-app-rider-bib strong { color: var(--app-text); font-size: 2rem; }
.eiev-app-rider-copy span { color: var(--app-muted); }
.eiev-app-rider-copy h1 { margin: .25rem 0 .4rem; color: var(--app-text); font-size: clamp(1.45rem, 3vw, 2.35rem); font-weight: 900; }
.eiev-app-rider-copy h2 { margin: 0; color: #303030; font-size: 1.2rem; font-weight: 800; }
.eiev-app-rider-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .8rem;
    margin: 1rem 0 1.6rem;
}
.eiev-app-rider-summary article {
    padding: .9rem;
    border-radius: 12px;
    background: #3f3f3f;
    color: #fff;
    text-align: center;
}
.eiev-app-rider-summary span { display: block; color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.eiev-app-rider-summary strong { display: block; margin-top: .35rem; font-size: 1.1rem; }
.eiev-app-rider-gate {
    overflow: hidden;
    border-radius: 18px;
    background: #434343;
    color: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.14);
}
.eiev-app-rider-gate header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    background: var(--app-gold);
    color: #111;
}
.eiev-app-rider-gate header strong { font-weight: 900; }
.eiev-app-gate-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.eiev-app-gate-metrics > div { min-width: 0; padding: .85rem; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.eiev-app-gate-metrics span { display: block; color: rgba(255,255,255,.72); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.eiev-app-gate-metrics strong { display: block; margin-top: .3rem; overflow-wrap: anywhere; }
.eiev-app-more-details { margin-top: 1.5rem; border: 1px solid var(--app-line); border-radius: 14px; background: #fff; }
.eiev-app-more-details summary { cursor: pointer; padding: 1rem 1.2rem; color: var(--app-text); font-weight: 900; }
.eiev-app-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; padding: 0 1.1rem 1.1rem; }
.eiev-app-detail-grid article { min-width: 0; padding: .8rem; border-radius: 10px; background: #f5f3ef; }
.eiev-app-detail-grid span { display: block; color: var(--app-muted); font-size: .67rem; font-weight: 900; text-transform: uppercase; }
.eiev-app-detail-grid strong { display: block; margin-top: .3rem; color: var(--app-text); overflow-wrap: anywhere; }
.eiev-app-rider-navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .8rem;
    margin-top: 1.5rem;
}
.eiev-app-rider-navigation a {
    display: inline-flex;
    justify-content: center;
    padding: .8rem 1rem;
    border-radius: 999px;
    background: #ddd;
    color: #222;
    font-weight: 900;
}
.eiev-app-rider-navigation a:last-child { justify-self: end; background: var(--app-gold); color: #fff; }
.eiev-app-rider-navigation a.is-centre { background: #385242; color: #23e35f; }

html[data-theme="dark"] .eiev-results-page,
html[data-theme="dark"] .eiev-results-app-section { background: #0e0e0e; }
html[data-theme="dark"] .eiev-results-app {
    --app-text: #f7f7f7;
    --app-muted: #aaa;
    --app-line: #343434;
    --app-card: #1e1e1e;
    --app-bg: #141414;
    border-color: #2c2c2c;
    background: var(--app-bg);
    color: var(--app-text);
    box-shadow: 0 25px 70px rgba(0,0,0,.42);
}
html[data-theme="dark"] .eiev-app-home-header,
html[data-theme="dark"] .eiev-app-detail-header,
html[data-theme="dark"] .eiev-event-feature,
html[data-theme="dark"] .eiev-event-mini-banner,
html[data-theme="dark"] .eiev-app-race-head { background: #191919; }
html[data-theme="dark"] .eiev-app-language,
html[data-theme="dark"] .eiev-app-discipline-row button,
html[data-theme="dark"] .eiev-app-social-row a,
html[data-theme="dark"] .eiev-app-result-tools input,
html[data-theme="dark"] .eiev-app-result-tools select,
html[data-theme="dark"] .eiev-app-event-card,
html[data-theme="dark"] .eiev-app-ride-card,
html[data-theme="dark"] .eiev-app-summary-grid article,
html[data-theme="dark"] .eiev-app-race-gates article,
html[data-theme="dark"] .eiev-app-rider-profile,
html[data-theme="dark"] .eiev-app-more-details,
html[data-theme="dark"] .eiev-app-empty,
html[data-theme="dark"] .eiev-app-no-match { background: #202020; color: #f7f7f7; border-color: #353535; }
html[data-theme="dark"] .eiev-app-discipline-row button { color: #fff; }
html[data-theme="dark"] .eiev-app-discipline-row button.is-active { background: linear-gradient(145deg, #8a6126, #b98c43); }
html[data-theme="dark"] .eiev-app-event-copy h3,
html[data-theme="dark"] .eiev-app-ride-copy h3,
html[data-theme="dark"] .eiev-event-programme h2,
html[data-theme="dark"] .eiev-app-section-heading h2,
html[data-theme="dark"] .eiev-event-mini-banner strong,
html[data-theme="dark"] .eiev-app-summary-grid strong,
html[data-theme="dark"] .eiev-app-race-gates h3,
html[data-theme="dark"] .eiev-app-rider-copy h1,
html[data-theme="dark"] .eiev-app-rider-copy h2,
html[data-theme="dark"] .eiev-app-more-details summary,
html[data-theme="dark"] .eiev-app-detail-grid strong { color: #fff; }
html[data-theme="dark"] .eiev-app-detail-header > img,
html[data-theme="dark"] .eiev-app-brand-row > img { filter: brightness(0) invert(1); }
html[data-theme="dark"] .eiev-app-back { color: #fff; }
html[data-theme="dark"] .eiev-app-result-tabs a { color: #eee; }
html[data-theme="dark"] .eiev-app-result-row td { background: #1e1e1e; color: #fff; border-color: #3b3528; }
html[data-theme="dark"] .eiev-app-result-row:hover td { background: #29241b; }
html[data-theme="dark"] .eiev-app-bib { background: #303030; color: #fff; }
html[data-theme="dark"] .eiev-app-detail-grid article { background: #292929; }
html[data-theme="dark"] .eiev-app-rider-result { background: #141414; }
html[data-theme="dark"] .eiev-programme-day > div { background: #302817; }
html[data-theme="dark"] .eiev-programme-day li span,
html[data-theme="dark"] .eiev-programme-day li strong { color: #e8e8e8; }

@media (max-width: 991.98px) {
    .eiev-event-feature { grid-template-columns: 1fr; }
    .eiev-event-feature figure img { min-height: 0; max-height: 620px; object-fit: contain; background: #fff; }
    .eiev-app-rider-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .eiev-app-race-gates,
    .eiev-app-rider-gates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .eiev-results-app-section,
    .eiev-results-page { padding: 0; }
    .eiev-results-app { width: 100%; border: 0; box-shadow: none; }
    .eiev-app-home-header { padding: 1.1rem .85rem; }
    .eiev-app-brand-row { grid-template-columns: 42px 1fr 42px; margin-bottom: 1rem; }
    .eiev-app-brand-row > img,
    .eiev-app-detail-header > img { width: 120px; }
    .eiev-app-menu-mark,
    .eiev-app-language { width: 40px; height: 40px; font-size: 1.15rem; }
    .eiev-app-discipline-row { gap: .55rem; }
    .eiev-app-discipline-row button { min-height: 105px; padding: .65rem .35rem; border-radius: 14px; }
    .eiev-app-discipline-row img { width: 58px; height: 44px; }
    .eiev-app-discipline-row strong { font-size: .76rem; }
    .eiev-app-social-row { gap: .45rem; }
    .eiev-app-social-row a { min-height: 52px; border-radius: 10px; }
    .eiev-event-feature { padding: .85rem; }
    .eiev-event-programme { padding: .75rem .35rem; }
    .eiev-programme-day { grid-template-columns: 60px 1fr; }
    .eiev-programme-day li { font-size: .9rem; }
    .eiev-app-list-section,
    .eiev-app-result-view,
    .eiev-app-rider-result { padding: 1rem .8rem 1.35rem; }
    .eiev-app-event-card { grid-template-columns: 92px 1fr 58px; min-height: 132px; border-radius: 16px; }
    .eiev-app-ride-card { grid-template-columns: 74px 1fr 58px; min-height: 148px; border-radius: 16px; }
    .eiev-app-ride-count,
    .eiev-app-date { padding: .65rem .35rem; }
    .eiev-app-ride-count strong,
    .eiev-app-date strong { font-size: 1.25rem; }
    .eiev-app-ride-count span,
    .eiev-app-date span { min-width: 52px; padding: .25rem .3rem; font-size: .75rem; }
    .eiev-app-event-copy,
    .eiev-app-ride-copy { padding: .85rem .65rem; }
    .eiev-app-event-copy > span,
    .eiev-app-event-copy small { font-size: .8rem; }
    .eiev-app-event-copy h3,
    .eiev-app-ride-copy h3 { font-size: .98rem; }
    .eiev-app-event-open { padding: .35rem; }
    .eiev-app-event-open span { font-size: .68rem; }
    .eiev-app-event-open b { font-size: 2rem; }
    .eiev-app-count-row { gap: .3rem; }
    .eiev-app-count-row span { padding: .25rem .38rem; font-size: .68rem; }
    .eiev-app-detail-header { grid-template-columns: 48px 1fr 48px; min-height: 165px; padding: 1rem .8rem; }
    .eiev-app-detail-title { font-size: 1rem; }
    .eiev-event-mini-banner { grid-template-columns: 86px 1fr; gap: .75rem; padding: .85rem; }
    .eiev-event-mini-banner img { width: 86px; border-radius: 10px; }
    .eiev-event-mini-banner strong { font-size: 1.05rem; }
    .eiev-app-result-tabs a { padding: .8rem .25rem; font-size: .75rem; }
    .eiev-app-result-tools { grid-template-columns: 1fr 130px; gap: .55rem; }
    .eiev-app-result-tools input,
    .eiev-app-result-tools select { min-height: 47px; padding: .65rem .7rem; font-size: .78rem; }
    .eiev-app-results-table-wrap { overflow: visible; }
    .eiev-app-results-table { min-width: 0; border-spacing: 0 8px; }
    .eiev-app-results-table thead { display: none; }
    .eiev-app-results-table,
    .eiev-app-results-table tbody { display: block; }
    .eiev-app-result-row {
        display: grid;
        grid-template-columns: 58px 58px minmax(0, 1fr) 70px 34px;
        grid-template-areas:
            "pos bib person status open"
            "pos bib arrival speed gates";
        min-height: 112px;
        overflow: hidden;
        border: 1px solid #eadfbf;
        border-left: 4px solid var(--app-gold);
        border-radius: 14px;
        background: #fffdf4;
    }
    .eiev-app-result-row td {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        padding: .5rem .35rem;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        font-size: .75rem;
    }
    .eiev-app-result-row td:nth-child(1) { grid-area: pos; align-items: center; border-right: 1px dashed #c9b274 !important; }
    .eiev-app-result-row td:nth-child(2) { grid-area: bib; align-items: center; border-right: 1px dashed #c9b274 !important; }
    .eiev-app-result-row td:nth-child(3) { grid-area: person; }
    .eiev-app-result-row td:nth-child(4) { grid-area: status; align-items: center; }
    .eiev-app-result-row td:nth-child(5) { grid-area: arrival; }
    .eiev-app-result-row td:nth-child(6) { grid-area: speed; }
    .eiev-app-result-row td:nth-child(7) { grid-area: gates; align-items: center; }
    .eiev-app-result-row td:nth-child(8) { grid-area: open; align-items: center; }
    .eiev-app-result-row td:nth-child(3) strong { font-size: .82rem; line-height: 1.2; }
    .eiev-app-result-row td:nth-child(3) small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
    .eiev-app-status { min-width: 62px; padding: .3rem .35rem; font-size: .65rem; }
    .eiev-app-bib { min-width: 34px; min-height: 30px; font-size: .72rem; }
    .eiev-app-gate-count { min-width: 28px; min-height: 28px; }
    .eiev-app-open-result { width: 30px; height: 30px; font-size: 1.65rem; }
    .eiev-app-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eiev-app-race-gates,
    .eiev-app-rider-gates { grid-template-columns: 1fr; }
    .eiev-app-rider-profile { grid-template-columns: 70px 1fr; gap: .8rem; padding: .9rem; }
    .eiev-app-rider-bib { min-height: 82px; }
    .eiev-app-rider-status { grid-column: 1 / -1; }
    .eiev-app-rider-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
    .eiev-app-rider-summary article { padding: .65rem .35rem; }
    .eiev-app-rider-summary strong { font-size: .85rem; }
    .eiev-app-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eiev-app-rider-navigation { grid-template-columns: 1fr 1fr; }
    .eiev-app-rider-navigation a.is-centre { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 420px) {
    .eiev-app-result-row {
        grid-template-columns: 48px 48px minmax(0, 1fr) 58px 30px;
    }
    .eiev-app-result-tools { grid-template-columns: 1fr; }
    .eiev-app-detail-grid { grid-template-columns: 1fr; }
    .eiev-app-rider-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.eiev-app-bottom-nav { display: none; }
@media (max-width: 767.98px) {
    .eiev-app-bottom-nav {
        position: sticky;
        z-index: 25;
        bottom: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: 70px;
        border-top: 1px solid #e8e8e8;
        background: rgba(255,255,255,.97);
        box-shadow: 0 -8px 22px rgba(0,0,0,.08);
        backdrop-filter: blur(12px);
    }
    .eiev-app-bottom-nav a {
        display: grid;
        place-items: center;
        align-content: center;
        gap: .2rem;
        color: #a2a2a2;
        font-size: 1.2rem;
    }
    .eiev-app-bottom-nav a strong { font-size: .64rem; font-weight: 800; }
    .eiev-app-bottom-nav a.is-active { color: var(--app-gold-dark); }
    html[data-theme="dark"] .eiev-app-bottom-nav { background: rgba(24,24,24,.97); border-color: #333; }
}

/* API-only event and ride states */
.eiev-app-event-card.is-disabled,
.eiev-app-ride-card.is-disabled {
    cursor: default;
    border-left-color: var(--app-line);
    box-shadow: none;
    opacity: .82;
}
.eiev-app-event-card.is-disabled:hover,
.eiev-app-ride-card.is-disabled:hover {
    transform: none;
    box-shadow: none;
}
.eiev-app-discipline-row button:disabled {
    cursor: default;
    opacity: .55;
}
.eiev-app-ride-distance {
    display: block;
    margin: -.2rem 0 .55rem;
    color: var(--app-muted);
    font-weight: 800;
}
.eiev-event-mini-banner.has-brand-mark img {
    object-fit: contain;
    padding: 1rem;
    background: #fff;
}
html[data-theme="dark"] .eiev-event-mini-banner.has-brand-mark img {
    background: #f6f2e9;
}

/* Click-through ride cards: every link is derived from the official API record. */
.eiev-app-ride-card:not(.is-disabled) {
    cursor: pointer;
    text-decoration: none;
}
.eiev-app-ride-card:not(.is-disabled):focus-visible {
    outline: 3px solid var(--app-gold);
    outline-offset: 4px;
}
.eiev-app-ride-open {
    min-width: 112px;
    padding-inline: .7rem;
    text-align: center;
}
.eiev-app-ride-open .eiev-app-ride-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(28, 196, 95, .1);
    color: var(--app-green);
    font-size: .76rem;
    line-height: 1.1;
}
.eiev-app-ride-open strong {
    color: var(--app-text);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1.15;
}
.eiev-app-ride-card:hover .eiev-app-ride-open strong,
.eiev-app-ride-card:focus-visible .eiev-app-ride-open strong {
    color: var(--app-gold-dark);
}
html[data-theme="dark"] .eiev-app-ride-open .eiev-app-ride-status {
    background: rgba(40, 206, 106, .14);
}
html[data-theme="dark"] .eiev-app-ride-open strong {
    color: #f4f0e8;
}
@media (min-width: 768px) {
    .eiev-app-ride-card { grid-template-columns: 112px minmax(0, 1fr) 132px; }
}
@media (max-width: 767.98px) {
    .eiev-app-ride-card { grid-template-columns: 74px minmax(0, 1fr) 70px; }
    .eiev-app-ride-open { min-width: 0; padding: .3rem; }
    .eiev-app-ride-open strong { display: none; }
    .eiev-app-ride-open .eiev-app-ride-status { padding: .2rem .35rem; font-size: .62rem; }
}
