/* ── Variables ─────────────────────────────────────────────────────────── */
:root {
    --device-size: 1920;
    --c-orange: #F2AF1D;
    --c-yellow: #FAD506;
    --c-cream: #fdf8ee;
    --c-dark: #09090b;

    --c-gray: #6b7280;
    --c-card: #18181b;
    --white-06: rgba(255, 255, 255, 0.06);
    --white-08: rgba(255, 255, 255, 0.08);
    --white-10: rgba(255, 255, 255, 0.1);
    --white-40: rgba(255, 255, 255, 0.4);
    --white-60: rgba(255, 255, 255, 0.6);

    --light-bg: #fdf8ee;
    --light-text: #09090b;
    --light-text-75: rgba(9, 9, 11, 0.75);
    --light-text-60: rgba(9, 9, 11, 0.60);
    --light-text-50: rgba(9, 9, 11, 0.50);
    --light-text-40: rgba(9, 9, 11, 0.40);
    --light-text-15: rgba(9, 9, 11, 0.15);
    --light-border: rgba(9, 9, 11, 0.06);
    --light-divider: rgba(9, 9, 11, 0.08);

    /*--text-hero: calc(140 / var(--device-size) * 100vw);*/
    --text-hero: calc(130 / var(--device-size) * 100vw);
    --text-section: calc(98 / var(--device-size) * 100vw);
    --text-card: calc(58 / var(--device-size) * 100vw);
    --text-ui: calc(19 / var(--device-size) * 100vw);
}

@media (max-width: 849px) {
    :root {
        --device-size: 768;
        --text-hero: calc(55 / var(--device-size) * 100vw);
        --text-section: calc(40 / var(--device-size) * 100vw);
        --text-card: calc(32 / var(--device-size) * 100vw);
    }


}

@media (max-width: 549px) {
    :root {
        --device-size: 530;
        --text-hero: calc(48 / var(--device-size) * 100vw);
        --text-section: calc(36 / var(--device-size) * 100vw);
    }
}

/* ── Fonts ─────────────────────────────────────────────────────────────── */
@font-face {
    font-family: 'FixelText';
    src: url('../font/FixelText/FixelText-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FixelText';
    src: url('../font/FixelText/FixelText-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FixelText';
    src: url('../font/FixelText/FixelText-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FixelText';
    src: url('../font/FixelText/FixelText-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FixelText';
    src: url('../font/FixelText/FixelText-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ── Reset ─────────────────────────────────────────────────────────────── */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img,
svg {
    display: block;
    max-width: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

button {
    cursor: pointer;
    font-family: inherit;
}

input,
select,
textarea {
    font-family: inherit;
}

body {
    background-color: #000;
    color: #fff;
    font-family: 'FixelText', sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
    text-wrap: balance;
}

section {
    padding-top: calc(128 / var(--device-size) * 100vw);
    padding-bottom: calc(128 / var(--device-size) * 100vw);
    background: var(--c-dark);
}

section.white {
    background: var(--light-bg);
    color: var(--light-text);
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.bg-zinc-900 {
    background-color: #09090b;
}

.text-brand-orange {
    color: var(--c-orange);
}

.font-unbounded {
    font-family: 'Unbounded';
}

/* ── Utilities ─────────────────────────────────────────────────────────── */
.hidden {
    display: none !important;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.glass {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #000;
}

::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--c-orange);
}

/* ── GSAP reveal initial states ────────────────────────────────────────── */
[data-reveal] {
    opacity: 0;
    transform: translateY(30px);
}

[data-reveal-left] {
    opacity: 0;
    transform: translateX(-50px);
}

[data-reveal-right] {
    opacity: 0;
    transform: translateX(50px);
}

[data-team-card],
[data-location-card] {
    opacity: 0;
    transform: translateY(30px);
}

/* ── Custom Cursor ──────────────────────────────────────────────────────── */
.custom-cursor {
    display: none;
}

@media (min-width: 850px) {
    .custom-cursor {
        display: block;
        width: 15px;
        height: 15px;
        background: var(--c-orange);
        border-radius: 50%;
        position: fixed;
        pointer-events: none;
        z-index: 9999;
        /*mix-blend-mode: difference;*/
        transition: transform 0.15s ease-out;
    }
}

/* ── Animations ─────────────────────────────────────────────────────────── */
@keyframes kenburns {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.15);
    }
}

.animate-kenburns {
    animation: kenburns 30s ease-in-out infinite alternate;
}

@keyframes scrollMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes noise {
    0% {
        transform: translate(0, 0);
    }

    10% {
        transform: translate(-1%, -1%);
    }

    20% {
        transform: translate(1%, 1%);
    }

    100% {
        transform: translate(0, 0);
    }
}

@keyframes ping {

    75%,
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    transition: background 0.3s;
}

.header__bar {
    display: flex;
    align-items: center;
    gap: calc(32 / var(--device-size) * 100vw);
    padding: calc(20 / var(--device-size) * 100vw) calc(48 / var(--device-size) * 100vw);
    transition: background 0.3s, backdrop-filter 0.3s;
}

.site-header.is-scrolled .header__bar {
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(20px);
}

.site-header.menu-is-open .header__bar {
    background: #000;
    backdrop-filter: none;
}

.header__logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.header__logo img {
    height: calc(48 / var(--device-size) * 100vw);
    max-height: 64px;
    min-height: 32px;
    width: auto;
}

.header__nav {
    display: none;
    align-items: center;
    gap: calc(32 / var(--device-size) * 100vw);
    margin-left: auto;
}

@media (min-width:850px) {
    .header__nav {
        display: flex;
    }
}

.header__nav-link {
    font-size: calc(12 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--white-60);
    transition: color 0.2s;
}

.header__nav-link:hover {
    color: #fff;
}

.header__burger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    padding: 8px;
    z-index: 10001;
    margin-left: auto;
}

@media (min-width:850px) {
    .header__burger {
        display: none;
    }
}

.burger__line {
    display: block;
    width: 24px;
    height: 1.5px;
    background: #fff;
    transition: transform 0.3s, opacity 0.3s;
}

.burger__line--short {
    width: 16px;
}

.header__actions {
    display: flex;
    align-items: center;
    gap: calc(16 / var(--device-size) * 100vw);
}

@media (max-width:849px) {
    .header__actions .header__action-icon {
        display: none;
    }
}

.header__action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(40 / var(--device-size) * 100vw);
    height: calc(40 / var(--device-size) * 100vw);
    min-width: 32px;
    min-height: 32px;
    max-width: 44px;
    max-height: 44px;
    border-radius: 50%;
    border: 1px solid var(--white-10);
    color: var(--white-60);
    transition: all 0.2s;
}

.header__action-icon:hover {
    background: var(--white-08);
    color: #fff;
}

.header__cta-btn {
    background: var(--c-orange);
    color: #000;
    font-family: 'FixelText', sans-serif;
    font-weight: 900;
    font-size: calc(11 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: calc(12 / var(--device-size) * 100vw) calc(24 / var(--device-size) * 100vw);
    border-radius: 999px;
    border: none;
    transition: background 0.2s, transform 0.2s;
}

.header__cta-btn:hover {
    background: var(--c-yellow);
    transform: scale(1.04);
}

/* ── Mobile menu ─────────────────────────────────────────────────────────── */
.mobile-menu {
    position: fixed;
    top: calc(88 / var(--device-size) * 100vw);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: calc(40 / var(--device-size) * 100vw) calc(40 / var(--device-size) * 100vw) calc(160 / var(--device-size) * 100vw);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-menu.is-closed {
    transform: translateX(100%);
    pointer-events: none;
}

.mobile-menu__nav {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mobile-menu__link {
    font-size: calc(55 / var(--device-size) * 100vw);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: #fff;
    line-height: 1;
    transition: color 0.2s;
}

.mobile-menu__link:hover {
    color: var(--c-orange);
}

.mobile-menu__footer {
    position: absolute;
    bottom: calc(48 / var(--device-size) * 100vw);
    left: calc(40 / var(--device-size) * 100vw);
    right: calc(40 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--white-06);
}

.mobile-menu__contacts {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mobile-menu__phone {
    font-size: 1rem;
    font-weight: 700;
    color: var(--white-60);
    text-decoration: none;
    transition: color 0.2s;
}

.mobile-menu__phone:hover {
    color: #fff;
}

.mobile-menu__email {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--white-40);
    text-decoration: none;
    transition: color 0.2s;
}

.mobile-menu__email:hover {
    color: var(--c-orange);
}

.mobile-menu__socials {
    display: flex;
    gap: 16px;
}

.mobile-menu__social-link {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--white-40);
    transition: color 0.2s;
}

.mobile-menu__social-link:hover {
    color: var(--c-orange);
}

/* ── Preloader ──────────────────────────────────────────────────────────── */
.preloader {
    position: fixed;
    inset: 0;
    background: #000;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(40 / var(--device-size) * 100vw);
}

.preloader__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.preloader__logo-wrap {
    position: relative;
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width:549px) {
    .preloader__logo-wrap {
        width: 200px;
        height: 200px;
    }
}

.preloader__logo-wrap .preloader__bg-svg,
.preloader__logo-wrap .preloader__stroke-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.preloader__bg-svg {
    opacity: 0.07;
}

.preloader-stroke {
    filter: drop-shadow(0 0 10px rgba(242, 175, 29, 0.8)) drop-shadow(0 0 24px rgba(242, 175, 29, 0.4));
}

.preloader__logo-img {
    position: relative;
    z-index: 1;
    width: 128px;
    opacity: 0.9;
}

.preloader__counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.preloader__num-row {
    display: flex;
    align-items: flex-end;
    gap: 4px;
}

.preloader__num {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    font-size: 4.5rem;
    line-height: 1;
}

.preloader__pct {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: 1.6rem;
    margin-bottom: 5px;
    line-height: 1;
}

.preloader__label {
    font-family: 'Unbounded', cursive;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 0.6em;
    color: #4b5563;
}

/* ── Section shared layout ──────────────────────────────────────────────── */
.sc-section-pad {
    padding-top: calc(128 / var(--device-size) * 100vw);
    padding-bottom: calc(128 / var(--device-size) * 100vw);
}

@media (max-width:849px) {
    .sc-section-pad {
        padding-top: calc(64 / var(--device-size) * 100vw);
        padding-bottom: calc(64 / var(--device-size) * 100vw);
    }
}

.sc-container {
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.w-container {
    max-width: calc(1560 / var(--device-size) * 100vw) !important;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width:1420px) {

    .w-container,
    .hero__inner {
        max-width: 100% !important;
        padding-left: calc(80 / var(--device-size) * 100vw) !important;
        padding-right: calc(80 / var(--device-size) * 100vw) !important;
    }
}

@media (max-width:1220px) {

    .w-container,
    .hero__inner {
        padding-left: calc(60 / var(--device-size) * 100vw) !important;
        padding-right: calc(60 / var(--device-size) * 100vw) !important;
    }
}

@media (max-width:849px) {

    .w-container,
    .hero__inner {
        padding-left: calc(30 / var(--device-size) * 100vw) !important;
        padding-right: calc(30 / var(--device-size) * 100vw) !important;
    }
}


/* ── Inline-style utilities ──────────────────────────────────────────────── */

/* Filter / sticky bar (archive-sc_trainer) */
.filter-sticky-bar {
    position: relative;
    z-index: 20;
    background: #09090b;
    border-bottom: 1px solid var(--white-06);
}

/* Filter row inside the sticky bar */
.filter-row-inner {
    display: flex;
    flex-direction: column;
}

/* Filter icon (search magnifier) */
.filter-icon {
    color: var(--c-gray);
    flex-shrink: 0;
}

/* Search text input */
.search-input {
    width: 100%;
    background: transparent;
    border: none;
    font-size: 1rem;
    color: #fff;
    outline: none;
    font-family: 'FixelText', sans-serif;
}

/* Dropdown trigger button */
.filter-dropdown-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
}

/* Dropdown selected label */
.filter-dropdown-label {
    font-size: 1rem;
    color: var(--white-40);
}

/* Dropdown chevron arrow */
.filter-chevron {
    flex-shrink: 0;
    color: var(--c-gray);
    transition: transform 0.2s;
}

/* Dropdown panel */
.filter-dropdown-panel {
    z-index: 9999;
    min-width: 220px;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 4px;
    background: #111113;
    border: 1px solid var(--white-08);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
}

/* Clear filters button */
.filter-clear-btn {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
    background: none;
    border: none;
    cursor: pointer;
    line-height: 1.4;
    text-align: center;
}

/* Generic text-center */
.text-center {
    text-align: center;
}


/* Individual filter cell with padding + separator */
.filter-cell {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: calc(20/var(--device-size)*100vw) calc(32/var(--device-size)*100vw);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.filter-cell--relative {
    position: relative;
}

/* Results count cell (no border-bottom, shrinks) */
.filter-cell--results {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: calc(20/var(--device-size)*100vw) calc(32/var(--device-size)*100vw);
    flex-shrink: 0;
}

/* Results big number */
.filter-results-number {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: calc(28/var(--device-size)*100vw);
    display: block;
}

/* Section hero eyebrow wrapper */
.hero-eyebrow-mb {
    margin-bottom: calc(32/var(--device-size)*100vw);
}


/* Section heading margins (used with sc-heading--hero) */
.sc-heading-mb-sm {
    margin-bottom: calc(24/var(--device-size)*100vw);
}

.sc-heading-mb-md {
    margin-bottom: calc(32/var(--device-size)*100vw);
}

.sc-heading-mb-lg {
    margin-bottom: calc(48/var(--device-size)*100vw);
}

.sc-heading-mb-xl {
    margin-bottom: calc(64/var(--device-size)*100vw);
}

.sc-heading-mb-2xl {
    margin-bottom: calc(80/var(--device-size)*100vw);
}

/* Section heading with generic top spacing */
.sc-heading-mt-lg {
    margin-top: calc(64/var(--device-size)*100vw);
}

/* sc-section background variants */
.sc-section--dark {
    background: #000;
}

.sc-section--darker {
    background: rgba(9, 9, 11, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.sc-section--dim {
    background: rgba(9, 9, 11, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.sc-section--light {
    background: var(--light-bg);
    color: var(--light-text);
}

/* Section description text */
.sec-desc-text {
    color: #9ca3af;
    font-size: calc(20/var(--device-size)*100vw);
    line-height: 1.7;
}

/* Section content heading */
.sec-content-heading {
    font-size: calc(64/var(--device-size)*100vw);
    color: #fff;
    margin-bottom: calc(48/var(--device-size)*100vw);
}

/* Location layout (section single) */
.sec-loc-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(32 / var(--device-size) * 100vw);
    align-items: start;
}

@media (min-width: 850px) {
    .sec-loc-layout {
        grid-template-columns: 1fr 1fr;
    }
}

.sec-loc-map-wrap {
    position: sticky;
    top: calc(var(--header-h, 80px) + 24px);
    align-self: start;
    border-radius: calc(20 / var(--device-size) * 100vw);
    overflow: hidden;
}

.sec-loc-minimap {
    width: 100%;
    height: calc(480 / var(--device-size) * 100vw);
    min-height: 320px;
    border-radius: calc(20 / var(--device-size) * 100vw);
}

@media (max-width: 849px) {
    .sec-loc-map-wrap {
        position: static;
        border-radius: 16px;
    }

    .sec-loc-minimap {
        height: 260px;
        border-radius: 16px;
    }
}

/* Location grid (section single) */
.sec-loc-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

/* Trainer grid (section single) */
.sec-tr-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

/* Location card button inside location grid */
.loc-card-btn {
    padding: calc(32/var(--device-size)*100vw);
    background: var(--c-card);
    border: 1px solid var(--white-06);
    border-radius: 16px;
    text-align: left;
    cursor: pointer;
    width: 100%;
    transition: border-color 0.3s;
}

.loc-card-btn:hover {
    border-color: var(--c-orange);
}

/* Location card icon wrapper */
.loc-card-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(242, 175, 29, 0.1);
    border: 1px solid rgba(242, 175, 29, 0.2);
    margin-bottom: 24px;
}

/* Location card title */
.loc-card-title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    font-size: calc(24/var(--device-size)*100vw);
    margin-bottom: 8px;
}

/* Location card address */
.loc-card-address {
    color: var(--c-gray);
    font-size: 0.875rem;
    margin-top: 8px;
}

/* Schedule header row (filter pills + section heading) */
.sched-header-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: calc(64/var(--device-size)*100vw);
}

/* Schedule location filter pill container */
.sched-loc-filter-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Tag pills (neutral) */
.tag-pill {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
    border: 1px solid var(--white-10);
    border-radius: 999px;
    padding: 8px 16px;
}

/* Tag pill – orange accent */
.tag-pill--orange {
    color: var(--c-orange);
    border-color: rgba(242, 175, 29, 0.3);
}


/* Filter count label (archive pages) */
.filter-count-label {
    margin-left: auto;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
}

/* Sections/trainers filter pill row */
.filter-pills-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: calc(48/var(--device-size)*100vw);
}

/* Grids */
.sections-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(32/var(--device-size)*100vw);
}

.trainers-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(24/var(--device-size)*100vw);
}

.team-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(32/var(--device-size)*100vw);
}

.values-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(24/var(--device-size)*100vw);
}

/* Mission grid (page-about) */
.about-mission-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(96/var(--device-size)*100vw);
    align-items: center;
}

@media (min-width: 850px) {
    .about-mission-grid .sc-heading {
        font-size: calc(82 / var(--device-size) * 100vw);
    }
}

/* Mission image frame */
.mission-img-frame {
    border-radius: calc(48/var(--device-size)*100vw);
    overflow: hidden;
    aspect-ratio: 4/5;
    position: relative;
}

/* Mission image overlay gradient */
.mission-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(9, 9, 11, 0.8) 0%, transparent 60%);
}

/* Mission year badge (bottom-left of image) */
.mission-img-badge {
    position: absolute;
    bottom: calc(40/var(--device-size)*100vw);
    left: calc(40/var(--device-size)*100vw);
}

/* Mission year label */
.mission-year-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
    font-weight: 700;
}

/* Mission year value */
.mission-year-value {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: calc(36/var(--device-size)*100vw);
}

/* Hero desc paragraph */
.hero-desc-para {
    color: #9ca3af;
    font-size: calc(22/var(--device-size)*100vw);
    max-width: calc(800 / var(--device-size) * 100vw);
    font-weight: 300;
    line-height: 1.6;
}

/* About mission body copy */
.about-mission-body {
    color: var(--light-text-60);
    font-size: calc(20/var(--device-size)*100vw);
    line-height: 1.7;
    font-weight: 300;
    max-width: calc(600 / var(--device-size) * 100vw);
}

/* Section background SVG watermark */
.bg-svg-watermark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 5vw;
    pointer-events: none;
    opacity: 0.03;
}

.bg-svg-watermark--center {
    justify-content: center;
    padding-right: 0;
}

.bg-svg-watermark--overflow {
    overflow: hidden;
    opacity: 0.04;
}

/* Back link */
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #dedede;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    transition: color 0.2s;
}

.back-link:hover {
    color: var(--c-orange);
}

/* Hero meta tags row */
.hero-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

/* Orange pill button */
.btn-orange {
    background: var(--c-orange);
    color: #000;
    font-family: 'FixelText', sans-serif;
    font-weight: 900;
    font-size: calc(12 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: calc(14 / var(--device-size) * 100vw) calc(32 / var(--device-size) * 100vw);
    border-radius: 999px;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.btn-orange:hover {
    background: var(--c-yellow);
    transform: scale(1.04);
}

.btn-signup {
    margin-left: auto;
}

.btn-signup--phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    text-decoration: none;
    margin-left: auto;
    font-family: 'FixelText', sans-serif;
    font-weight: 700;
    font-size: calc(14 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: calc(12 / var(--device-size) * 100vw) calc(24 / var(--device-size) * 100vw);
    border-radius: 999px;
    transition: background 0.2s, transform 0.2s;
}

.btn-signup--phone:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
}

/* Partner logo badge — hero */
.page-hero__partner-logo {
    position: absolute;
    top: calc(140 / var(--device-size) * 100vw);
    right: calc(60 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 2;
}

.page-hero__partner-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.5);
}

.page-hero__partner-img {
    max-height: calc(80 / var(--device-size) * 100vw);
    max-width: calc(120 / var(--device-size) * 100vw);
    object-fit: contain;
    /*filter: brightness(0) invert(1);*/
    opacity: 0.7;
}

/* Accent inline text span */
.text-orange {
    color: var(--c-orange);
}

/* Eyebrow icon color override (when sc-eyebrow-icon already has class) */
.sc-eyebrow-icon--orange {
    color: var(--c-orange);
}

/* ── Empty-state block ───────────────────────────────────────────────────── */
.empty-state {
    padding: calc(96/var(--device-size)*100vw) 0;
    text-align: center;
}

.empty-state__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--c-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 24px;
}

.empty-state__icon svg {
    color: var(--c-gray);
}

.empty-state__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.empty-state__heading--mb-md {
    margin-bottom: 12px;
}

.empty-state__sub {
    color: var(--c-gray);
    font-size: 0.875rem;
    margin-bottom: 32px;
}


/* Hero watermark – right side decorative SVG panel */
.hero-watermark {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    opacity: 0.04;
    pointer-events: none;
    user-select: none;
}

.hero-watermark svg {
    width: 100%;
    height: 100%;
}

/* Hero watermark – centred/right variant (page-about) */
.hero-watermark--center {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 5vw;
    pointer-events: none;
    opacity: 0.03;
}



/* Map container */
.map-container {
    height: 60vh;
}

/* Popup name link */
.popup-name-link {
    text-decoration: none;
    cursor: pointer;
}

/* Review avatar letter */
.review-avatar-letter {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: 0.875rem;
}

/* Footer select chevron */
.select-chevron {
    pointer-events: none;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #4b5563;
}

/* Mobile map section flex */
.mobile-map-section {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* Footer label overrides */
.form-label--inline {
    margin-bottom: 0 !important;
}

.label-optional {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
}

/* Sidebar empty state variation */
.empty-state--sidebar {
    padding: 64px 24px;
    text-align: center;
}

.empty-state__heading--sidebar {
    font-family: 'Unbounded', cursive;
    color: #374151;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.empty-state__sub--sidebar {
    color: #4b5563;
    font-size: 0.875rem;
    margin-top: 8px;
}

/* Helper for full-width and full-height elements */
.full-size {
    width: 100%;
    height: 100%;
}

/* Margin utilities */
.mt-24 {
    margin-top: 24px;
}


/* Leaflet map interactive hint */
.map-hint-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 500;
    opacity: 0;
    transition: opacity .25s;
}

.map-hint-text {
    background: rgba(0, 0, 0, .75);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 8px;
    letter-spacing: .05em;
}

.map-kbd-style {
    background: #F2AF1D;
    color: #000;
    border-radius: 4px;
    padding: 1px 6px;
}

/* Active Leaflet map marker */
.sc-marker--active {
    transform: scale(1.3) !important;
    filter: drop-shadow(0 0 12px rgba(242, 175, 29, 0.9)) !important;
}




/* ── Eyebrow / crown icon + label ───────────────────────────────────────── */
.sc-eyebrow-icon {
    display: block;
    margin-bottom: 12px;
    color: var(--c-orange);
}

.sc-eyebrow {
    display: block;
    font-family: 'Unbounded', cursive;
    font-size: calc(12 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--c-orange);
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.sc-heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.9;
    letter-spacing: -0.02em;
}

.sc-heading--hero {
    font-size: var(--text-hero);
}

.sc-heading--section {
    font-size: var(--text-section);
}

.sc-accent {
    color: var(--c-orange);
}

/* ── Hero (shared across pages) ─────────────────────────────────────────── */
.page-hero {
    position: relative;
    min-height: 55svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #000;
    overflow: hidden;
    padding-bottom: 0;
}

.page-hero--55 {
    min-height: 55svh;
}

.page-hero--tall {
    min-height: 65svh;
}

.page-hero--70 {
    min-height: 70svh;
}

.page-hero--full {
    min-height: 100svh;
}

.page-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.page-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.75;
}

.page-hero__img--dim {
    opacity: 0.6;
}

.page-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.2) 50%, transparent 100%);
}

.page-hero__overlay--bottom {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 40%, #000 100%);
}

.page-hero__content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
    padding-top: calc(160 / var(--device-size) * 100vw);
    padding-bottom: calc(64 / var(--device-size) * 100vw);
}

/* ── Home Hero ──────────────────────────────────────────────────────────── */
.hero {
    position: relative;
    height: 100svh;
    display: flex;
    align-items: flex-end;
    padding-bottom: calc(96 / var(--device-size) * 100vw);
    background: #000;
}

.hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
    transition: all 1s;
}

.hero__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.2) 40%, transparent 100%);
}

.hero__inner {
    position: relative;
    z-index: 20;
    width: 100%;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.hero__layout {
    display: flex;
    /*flex-direction: column;*/
    gap: calc(48 / var(--device-size) * 100vw);
    align-items: flex-end;
}

@media (min-width:850px) {
    .hero__layout {
        flex-direction: row;
        justify-content: space-between;
    }
}

.hero__text {
    /*max-width: 900px;*/
}

.hero__eyebrow {
    display: flex;
    align-items: center;
    gap: calc(16 / var(--device-size) * 100vw);
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.hero__eyebrow-line {
    width: calc(48 / var(--device-size) * 100vw);
    height: 1px;
    background: var(--c-orange);
    flex-shrink: 0;
}

.hero__eyebrow-text {
    font-size: calc(10 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5em;
    color: var(--c-orange);
}

.hero__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: var(--text-hero);
    color: #fff;
    line-height: 0.8;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-bottom: calc(40 / var(--device-size) * 100vw);
}

.hero__title-accent {
    color: var(--c-orange);
}

.hero__cta-row {
    display: inline-flex;
    align-items: center;
    gap: calc(24 / var(--device-size) * 100vw);
}

.hero__cta-btn {
    display: inline-flex;
    align-items: center;
    background: var(--c-orange);
    color: #000;
    font-weight: 900;
    font-size: calc(12 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: calc(20 / var(--device-size) * 100vw) calc(40 / var(--device-size) * 100vw);
    border-radius: 999px;
    border: none;
    transition: background 0.2s, transform 0.2s;
    cursor: pointer;
}

.hero__cta-btn:hover {
    background: var(--c-yellow);
    transform: scale(1.05);
}

.hero__cta-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(64 / var(--device-size) * 100vw);
    height: calc(64 / var(--device-size) * 100vw);
    width: calc(64 / var(--device-size) * 100vw);
    height: calc(64 / var(--device-size) * 100vw);
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.2s;
    color: #fff;
}

.hero__cta-row:hover .hero__cta-arrow {
    background: #fff;
    color: #000;
}

.hero__stat {
    text-align: right;
    padding-bottom: 16px;
}

.hero__stat-label-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 12px;
}

.hero__stat-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--c-gray);
    line-height: 1;
}

.hero__stat-number {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(75 / var(--device-size) * 100vw);
    color: #fff;
    line-height: 1;
}

.hero__stat-desc {
    font-size: calc(14 / var(--device-size) * 100vw);
    color: #9ca3af;
    max-width: calc(320 / var(--device-size) * 100vw);
    line-height: 1.6;
    font-weight: 500;
}

/* ping dot */
.ping-dot {
    position: relative;
    display: inline-flex;
}

.ping-dot__pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--c-orange);
    opacity: 0.75;
    animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.ping-dot__core {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-orange);
}

.hero__scroll-hint {
    position: absolute;
    bottom: calc(40 / var(--device-size) * 100vw);
    left: 50%;
    transform: translateX(-50%);
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    opacity: 0.3;
}

@media (min-width:850px) {
    .hero__scroll-hint {
        display: flex;
    }
}

.hero__scroll-line {
    width: 1px;
    height: 48px;
    background: #fff;
}

/* ── Marquee ────────────────────────────────────────────────────────────── */
.marquee-stats {
    width: 100%;
    overflow: hidden;
    background: #000;
    border-top: 1px solid var(--white-10);
    border-bottom: 1px solid var(--white-10);
    padding: calc(4 / var(--device-size) * 100vw) 0;
    position: relative;
    z-index: 20;
}

.marquee-content {
    display: flex;
    white-space: nowrap;
    animation: scrollMarquee 30s linear infinite;
}

.marquee-item {
    font-family: 'Unbounded', cursive;
    font-size: calc(68 / var(--device-size) * 100vw);
    font-weight: 900;
    padding: calc(58 / var(--device-size) * 100vw) calc(77 / var(--device-size) * 100vw);
    padding: 0.65em 0.9em;
    color: #fff;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.2);
}

.marquee-item.active {
    color: var(--c-orange);
    -webkit-text-stroke: 0;
}

/* ── Mission section ────────────────────────────────────────────────────── */
.mission {
    background: var(--light-bg);
    color: var(--light-text);
    position: relative;
    overflow: hidden;
}

.mission__bg-logo {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
}

.mission__bg-logo svg {
    width: 100%;
    max-width: 900px;
    opacity: 0.04;
}

.mission__inner {
    position: relative;
}

.mission__heading-block {
    margin-bottom: calc(128 / var(--device-size) * 100vw);
}

.mission__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--light-text);
    font-size: var(--text-section);
}

.mission__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(64 / var(--device-size) * 100vw);
    align-items: stretch;
}

@media (min-width:850px) {
    .mission__grid {
        grid-template-columns: 5fr 7fr;
    }
}

.mission__lead {
    font-size: calc(24 / var(--device-size) * 100vw);
    color: var(--light-text-60);
    line-height: 1.4;
    font-weight: 300;
    margin-bottom: calc(80 / var(--device-size) * 100vw);
}

.mission__pillars {
    display: grid;
    gap: calc(48 / var(--device-size) * 100vw);
}

@media (min-width:640px) and (max-width:849px) {
    .mission__pillars {
        grid-template-columns: 1fr 1fr;
    }
}

.mission__pillar {
    position: relative;
    padding-left: calc(48 / var(--device-size) * 100vw);
}

.mission__pillar-line {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--light-text-15);
    border-radius: 99px;
    transition: background 0.5s;
}

.mission__pillar:hover .mission__pillar-line {
    background: var(--c-orange);
}

.mission__pillar-icon {
    margin-bottom: 16px;
}

.mission__pillar-num {
    font-family: 'Unbounded', cursive;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-orange);
    opacity: 0.6;
    margin-bottom: 16px;
    transition: opacity 0.3s;
}

.mission__pillar:hover .mission__pillar-num {
    opacity: 1;
}

.mission__pillar-title {
    font-size: calc(30 / var(--device-size) * 100vw);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: var(--light-text);
    margin-bottom: 12px;
}

.mission__pillar-desc {
    font-size: 0.9375em;
    color: var(--light-text-50);
    line-height: 1.6;
    max-width: 320px;
}

.mission__image-col {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 480px;
}

.mission__img-wrap {
    position: relative;
    border-radius: calc(48 / var(--device-size) * 100vw);
    overflow: hidden;
    flex: 1;
}

.mission__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.75);
    transform: scale(1);
    transition: filter 1s, transform 1s;
}

.mission__img-wrap:hover .mission__img {
    filter: brightness(1);
    transform: scale(1.05);
}

.mission__img-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(9, 9, 11, 0.6) 0%, transparent 60%);
}

.mission__img-footer {
    position: absolute;
    bottom: calc(48 / var(--device-size) * 100vw);
    left: calc(48 / var(--device-size) * 100vw);
    right: calc(48 / var(--device-size) * 100vw);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.mission__est-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
    font-weight: 700;
}

.mission__est-text {
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
}

.mission__ping-ring {
    width: calc(80 / var(--device-size) * 100vw);
    height: calc(80 / var(--device-size) * 100vw);
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s;
}

.mission__img-wrap:hover .mission__ping-ring {
    border-color: var(--c-orange);
}

.mission__tag-float {
    position: absolute;
    bottom: calc(-40 / var(--device-size) * 100vw);
    left: calc(-40 / var(--device-size) * 100vw);
    padding: calc(32 / var(--device-size) * 100vw);
    background: rgba(9, 9, 11, 0.9);
    backdrop-filter: blur(12px);
    border-radius: calc(32 / var(--device-size) * 100vw);
    border: 1px solid rgba(242, 175, 29, 0.25);
    display: none;
}

@media (min-width:850px) {
    .mission__tag-float {
        display: block;
    }
}

.mission__tag-title {
    font-family: 'Unbounded', cursive;
    color: var(--c-orange);
    font-weight: 900;
    font-size: calc(36 / var(--device-size) * 100vw);
    margin-bottom: 4px;
    font-style: italic;
}

.mission__tag-sub {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.5);
}

/* ── Sports section ─────────────────────────────────────────────────────── */
.sports {
    background: #000;
    overflow: hidden;
}

.sports__header {
    max-width: 1500px;
    margin: 0 auto;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
    margin-bottom: calc(80 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media (min-width:850px) {
    .sports__header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
}

.sports__nav {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}

.sports__nav-btn {
    width: calc(72 / var(--device-size) * 100vw);
    height: calc(72 / var(--device-size) * 100vw);
    border-radius: 50%;
    border: 1px solid var(--white-10);
    background: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.sports__nav-btn:hover {
    background: #fff;
    color: #000;
}

.sport-card-container {
    display: flex;
    gap: calc(16 / var(--device-size) * 100vw);
    padding-left: calc(16 / var(--device-size) * 100vw);
    padding-right: calc(16 / var(--device-size) * 100vw);
    padding-bottom: calc(35 / var(--device-size) * 100vw);
    overflow-x: auto;
    scroll-behavior: smooth;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sport-card {
    width: calc(450 / var(--device-size) * 100vw);
    flex-shrink: 0;
    cursor: pointer;
}

@media (min-width:850px) {
    .sport-card {
        width: calc(369 / var(--device-size) * 100vw);
    }
}

.sport-card__link {
    display: block;
}

.sport-card__inner {
    position: relative;
    height: 60vh;
    min-height: 380px;
    max-height: 800px;
    border-radius: calc(56 / var(--device-size) * 100vw);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background: var(--c-card);
    transition: border-color 0.5s;
}

.sport-card:hover .sport-card__inner {
    border-color: rgba(242, 175, 29, 0.3);
}

.sport-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s;
}

.sport-card:hover .sport-card__img {
    transform: scale(1.1);
}

.sport-card__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.2) 40%, transparent 100%);
}

.sport-card__content {
    position: absolute;
    inset: 0;
    padding: calc(40 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.sport-card__age-tag {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    background: rgba(242, 175, 29, 0.1);
    color: var(--c-orange);
    border: 1px solid rgba(242, 175, 29, 0.2);
    width: fit-content;
}

.sport-card__title {
    font-family: 'Unbounded', cursive;
    font-size: calc(30 / var(--device-size) * 100vw);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    transition: color 0.5s;
}

.sport-card:hover .sport-card__title {
    color: var(--c-orange);
}

.sport-card__price {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    color: #9ca3af;
    font-size: 1.125rem;
    line-height: 1.6;
    margin-bottom: 24px;
    transition: max-height 0.7s ease-in-out, opacity 0.7s ease-in-out;
}

.sport-card:hover .sport-card__price {
    max-height: 160px;
    opacity: 1;
}

.sport-card__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-orange);
}

.sports__all-link {
    max-width: 1500px;
    margin: calc(48 / var(--device-size) * 100vw) auto 0;
    padding-left: calc(80 / var(--device-size) * 100vw);
    display: flex;
}

.sports__all-link a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #dedede;
    transition: color 0.2s;
}

.sports__all-link a:hover {
    color: var(--c-orange);
}

/* ── Reviews ────────────────────────────────────────────────────────────── */
.reviews {
    background: var(--light-bg);
    position: relative;
    overflow: hidden;
}

.reviews__heading-wrap {
    text-align: center;
    margin-bottom: calc(96 / var(--device-size) * 100vw);
}

.reviews__heading-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}

.reviews__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(32 / var(--device-size) * 100vw);
}

@media (min-width:850px) {
    .reviews__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:1280px) {
    .reviews__grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* ── Scroll snap: mobile only (≤849px) ─────────────────────────────────── */
@media (max-width: 849px) {
    .reviews__inner {
        overflow: visible;
    }

    .reviews__grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-left: calc(30 / var(--device-size) * 100vw);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: calc(16 / var(--device-size) * 100vw);
        margin-left: calc(-30 / var(--device-size) * 100vw);
        margin-right: calc(-30 / var(--device-size) * 100vw);
        padding-left: calc(30 / var(--device-size) * 100vw);
        padding-right: calc(30 / var(--device-size) * 100vw);
        padding-bottom: 6px;
    }

    .reviews__grid::-webkit-scrollbar {
        display: none;
    }

    .review-card {
        flex: 0 0 80%;
        scroll-snap-align: start;
    }
}

.review-card {
    background: #fff;
    background: rgb(255 255 255 / 65%);
    border-radius: calc(24 / var(--device-size) * 100vw);
    padding: calc(40 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 32px rgba(9, 9, 11, 0.07);
    border: 1px solid var(--light-border);
    transition: box-shadow 0.3s;
}

.review-card:hover {
    box-shadow: 0 8px 48px rgba(9, 9, 11, 0.12);
}

.review-card__quote {
    color: var(--c-orange);
    margin-bottom: 16px;
}

.review-card__text {
    font-size: calc(17 / var(--device-size) * 100vw);
    color: var(--light-text-75);
    line-height: 1.7;
    flex: 1;
    margin-bottom: calc(32 / var(--device-size) * 100vw);
    font-weight: 500;
}

.review-card__footer {
    padding-top: calc(24 / var(--device-size) * 100vw);
    border-top: 1px solid var(--light-divider);
    display: flex;
    align-items: center;
    gap: 16px;
}

.review-card__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(242, 175, 29, 0.2);
}

.review-card__avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(242, 175, 29, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid rgba(242, 175, 29, 0.2);
}

.review-card__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(14 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--light-text);
    line-height: 1.2;
}

.review-card__role {
    font-size: 10px;
    color: var(--c-orange);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-top: 2px;
}

/* ── Map section ────────────────────────────────────────────────────────── */
.map-section {
    padding-bottom: 0;
    background: #0c0c0f;
    position: relative;
    overflow: hidden;
}

.map-section__header {
    max-width: 1500px;
    margin: 0 auto;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
    margin-bottom: calc(56 / var(--device-size) * 100vw);
}

.map-section__title-row {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media (min-width:850px) {
    .map-section__title-row {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}

.map-section__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: var(--text-section);
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -0.02em;
    color: #fff;
}

.map-section__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gray);
    transition: color 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.map-section__link:hover {
    color: var(--c-orange);
}

.map-wrap {
    position: relative;
}

.map-wrap::before,
.map-wrap::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 140px;
    z-index: 1000;
    pointer-events: none;
}

.map-wrap::before {
    top: 0;
    background: linear-gradient(to bottom, #09090b 0%, transparent 100%);
}

.map-wrap::after {
    bottom: 0;
    background: linear-gradient(to top, #09090b 0%, transparent 100%);
}

.map-fade-x {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 160px;
    z-index: 1000;
    pointer-events: none;
}

.map-fade-x.left {
    left: 0;
    background: linear-gradient(to right, #09090b 0%, transparent 100%);
}

.map-fade-x.right {
    right: 0;
    background: linear-gradient(to left, #09090b 0%, transparent 100%);
}

#sykhivMap,
#locationsMap,
#locationsMapMobile {
    background: #0a0a0a;
}

/* ── CTA section ────────────────────────────────────────────────────────── */
.cta-section {
    padding-top: calc(256 / var(--device-size) * 100vw);
    padding-bottom: calc(256 / var(--device-size) * 100vw);
    padding-left: calc(24 / var(--device-size) * 100vw);
    padding-right: calc(24 / var(--device-size) * 100vw);
    background: var(--c-yellow);
    position: relative;
    overflow: hidden;
}

.cta-section__bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.cta-section__bg svg {
    width: 100%;
    max-width: 900px;
    opacity: 0.06;
    height: 98%;
}

.cta-section__inner {
    max-width: 1500px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 10;
    padding-left: calc(24 / var(--device-size) * 100vw);
    padding-right: calc(24 / var(--device-size) * 100vw);
}

.cta-section__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: var(--text-section);
    text-transform: uppercase;
    color: #000;
    line-height: 0.8;
    letter-spacing: -0.02em;
    margin-bottom: calc(80 / var(--device-size) * 100vw);
}

.cta-section__btns {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(32 / var(--device-size) * 100vw);
}

@media (min-width:640px) {
    .cta-section__btns {
        flex-direction: row;
        justify-content: center;
    }
}

.cta-btn {
    font-family: 'FixelText', sans-serif;
    font-weight: 900;
    font-size: calc(24 / var(--device-size) * 100vw);
    padding: calc(32 / var(--device-size) * 100vw) calc(64 / var(--device-size) * 100vw);
    padding: 1.4em 2.7em;
    border-radius: 999px;
    cursor: pointer;
    transition: transform 0.2s, background 0.2s;
    display: inline-block;
    text-align: center;
}

.cta-btn--dark {
    background: #000;
    color: #fff;
    border: none;
}

.cta-btn--dark:hover {
    transform: scale(1.05);
}

.cta-btn--outline {
    background: transparent;
    color: #000;
    border: 2px solid #000;
}

.cta-btn--outline:hover {
    background: #000;
    color: #fff;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.site-footer {
    background: #000;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    position: relative;
    overflow: hidden;
}

.footer__inner {
    max-width: 1500px;
    margin: 0 auto;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.footer__main {
    display: flex;
    flex-direction: column;
    gap: calc(64 / var(--device-size) * 100vw);
    padding-top: calc(64 / var(--device-size) * 100vw);
    padding-bottom: calc(64 / var(--device-size) * 100vw);
}

@media (min-width:850px) {
    .footer__main {
        flex-direction: row;
        justify-content: space-between;
    }
}

.footer__contact-label {
    font-family: 'Unbounded';
    display: block;
    font-size: calc(10 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--c-orange);
    margin-bottom: 2em;
}

.footer__email {
    display: block;
    font-family: 'Unbounded', cursive;
    font-weight: 700;
    font-size: calc(56 / var(--device-size) * 100vw);
    color: #fff;
    transition: color 0.2s;
}

.footer__email:hover {
    color: var(--c-orange);
}

.footer__social-links {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.footer__social-link {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-gray);
    transition: color 0.2s;
}

.footer__social-link:hover {
    color: var(--c-orange);
}

.footer__nav-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.footer__nav-label {
    font-family: 'Unbounded';
    display: block;
    font-size: calc(10 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--c-orange);
    margin-bottom: 2em;
}

.footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: calc(12 / var(--device-size) * 100vw);
}

.footer__nav-link {
    font-size: calc(18 / var(--device-size) * 100vw);
    color: #fff;
    transition: color 0.2s;
    font-weight: 700;
}

.footer__nav-link:hover {
    color: var(--c-orange);
}

.footer__contact-info-phone {
    font-size: calc(18 / var(--device-size) * 100vw);
    font-weight: 700;
    color: #fff;
    margin-bottom: .3em;
    text-decoration: none;
    display: block;
    transition: color 0.2s;
}

.footer__contact-info-phone:hover {
    color: var(--c-orange);
}

.footer__contact-info-loc {
    font-size: calc(18 / var(--device-size) * 100vw);
    color: var(--c-gray);
    font-weight: 700;
}

.footer__watermark {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
    opacity: 0.06;
    pointer-events: none;
    user-select: none;
    padding-bottom: calc(64 / var(--device-size) * 100vw);
}

.footer__watermark svg {
    width: 100%;
    height: 100%;
}

.footer__bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: calc(24 / var(--device-size) * 100vw);
    padding-bottom: calc(24 / var(--device-size) * 100vw);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.footer__copyright {
    display: flex;
    align-items: center;
    gap: calc(24 / var(--device-size) * 100vw);
    font-size: calc(10 / var(--device-size) * 100vw);
    color: #4b5563;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.footer__copyright a {
    color: #4b5563;
    transition: color 0.2s;
}

.footer__copyright a:hover {
    color: #fff;
}

.footer__credit-wrap {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-direction: column;
}

.footer__credit-label {
    font-size: calc(11 / var(--device-size) * 100vw);
    color: #374151;
}

.footer__credit-link {
    font-size: calc(14 / var(--device-size) * 100vw);
    font-weight: 900;
    color: var(--c-gray);
    transition: color 0.2s;
    font-family: 'Unbounded';
}

.footer__credit-link:hover {
    color: var(--c-orange);
}

/* ── Popup ──────────────────────────────────────────────────────────────── */
.popup {
    position: fixed;
    inset: 0;
    z-index: 99990;
    display: flex;
    align-items: flex-end;
    align-items: center;
    justify-content: flex-end;
    transition: opacity 0.3s;
}

@media (min-width:640px) {
    .popup {
        align-items: center;
    }
}

.popup.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(7px);
}

.popup__panel {
    position: relative;
    z-index: 1;
    width: 95%;
    max-width: 520px;
    max-height: 96vh;
    background: #0f0f12;
    border: 1px solid var(--white-08);
    border-radius: calc(24 / var(--device-size) * 100vw);
    overflow-y: auto;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 auto !important;
}

.popup__panel.is-closed {
    transform: translateY(100%);
}

@media (min-width:640px) {
    .popup__panel.is-closed {
        transform: scale(0.95) translateY(20px);
    }
}

.popup__progress {
    height: 3px;
    background: linear-gradient(to right, var(--c-orange), var(--c-yellow));
    border-radius: 0;
    width: 0%;
    transition: width 0.3s;
}

.popup__body {
    padding: calc(40 / var(--device-size) * 100vw);
    position: relative;
}

.popup__close {
    position: absolute;
    top: calc(20 / var(--device-size) * 100vw);
    right: calc(20 / var(--device-size) * 100vw);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--white-08);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.5);
    transition: all 0.2s;
    z-index: 10;
}

.popup__close:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.popup__eyebrow {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.3);
    margin-bottom: 8px;
}

.popup__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(36 / var(--device-size) * 100vw);
    color: #fff;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: calc(40 / var(--device-size) * 100vw);
}

.popup__form {
    display: flex;
    flex-direction: column;
    gap: calc(24 / var(--device-size) * 100vw);
}

.popup__form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.popup__form-label {
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.5);
}

.popup__form-input,
.popup__form-select {
    width: 100%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--white-10);
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 1rem;
    font-family: 'FixelText', sans-serif;
    color: #fff;
    outline: none;
    transition: border-color 0.2s;
    appearance: none;
}

.popup__form-input:focus,
.popup__form-select:focus {
    border-color: rgba(242, 175, 29, 0.5);
}

.popup__form-input::placeholder {
    color: #4b5563;
}

.phone-input-wrap {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--white-10);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.phone-input-wrap:focus-within {
    border-color: rgba(242, 175, 29, 0.5);
}

.phone-prefix {
    padding: 14px 12px 14px 16px;
    font-size: 1rem;
    font-family: 'FixelText', sans-serif;
    color: rgba(255, 255, 255, 0.5);
    border-right: 1px solid var(--white-10);
    white-space: nowrap;
    flex-shrink: 0;
}

.phone-digits-input {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding-left: 12px !important;
    flex: 1;
    min-width: 0;
}

.popup__field-error {
    font-size: 12px;
    color: #f87171;
    margin: 0;
    display: none;
}

.popup__field-error.visible {
    display: block;
}

.popup__wizard-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.popup__change-btn {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-orange);
    background: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
}

.popup__change-btn:hover {
    opacity: 0.7;
}

.popup__change-btn.hidden {
    display: none;
}

.popup__schedule-wrap {
    margin-top: 12px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
}

.popup__schedule-wrap.hidden {
    display: none;
}

.popup__schedule-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
    margin-bottom: 4px;
}

.popup__schedule-text {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--c-orange);
}

.popup__submit {
    width: 100%;
    background: var(--c-orange);
    color: #000;
    border: none;
    padding: 1.125em;
    border-radius: 12px;
    font-family: 'FixelText', sans-serif;
    font-weight: 900;
    font-size: calc(16 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    margin-top: 8px;
}

.popup__submit:hover {
    background: var(--c-yellow);
    transform: scale(1.02);
}

.popup__error {
    font-size: 0.875rem;
    color: #f87171;
    text-align: center;
}

.popup__error.hidden {
    display: none;
}

.popup__success {
    text-align: center;
    padding: calc(64 / var(--device-size) * 100vw) 0;
}

.popup__success.hidden {
    display: none;
}

.popup__success-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(242, 175, 29, 0.1);
    border: 1px solid rgba(242, 175, 29, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.popup__success-title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: 1.5rem;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.popup__success-msg {
    font-size: 0.9375rem;
    color: var(--c-gray);
}

/* ── Pick grid (popup wizard) ───────────────────────────────────────────── */
.pick-grid {
    display: grid;
    gap: 10px;
}

.pick-grid.cols-2 {
    grid-template-columns: 1fr 1fr;
}

.pick-grid.cols-1 {
    grid-template-columns: 1fr;
}

.sc-pick-card {
    cursor: pointer;
    border-radius: 12px;
    border: 1px solid var(--white-10);
    background: #27272a;
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.sc-pick-card:hover {
    border-color: rgba(242, 175, 29, 0.4);
}

.sc-pick-card.is-selected {
    border-color: var(--c-orange);
    box-shadow: 0 0 0 1px var(--c-orange);
}

.sc-pick-card img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

.sc-pick-thumb-placeholder {
    width: 100%;
    height: 80px;
    background: #3f3f46;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.4;
}

.sc-pick-card--trainer img {
    height: 150px;
    object-position: top center;
}

.sc-pick-card--trainer .sc-pick-thumb-placeholder {
    height: 150px;
}

.sc-pick-body {
    padding: 12px;
}

.sc-pick-name {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sc-pick-sub {
    font-size: 11px;
    color: var(--c-gray);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 3px;
}

/* ── Trainer card ───────────────────────────────────────────────────────── */
.trainer-card {
    background: var(--c-card);
    border-radius: calc(24 / var(--device-size) * 100vw);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    gap: 0;
    position: relative;
    transition: border-color 0.3s;
}

.trainer-card:hover {
    border-color: rgba(242, 175, 29, 0.2);
}

.trainer-card__photo-wrap {
    position: relative;
    width: calc(160 / var(--device-size) * 100vw);
    flex-shrink: 0;
}

.trainer-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: 76% 0;
    aspect-ratio: 1 / 1.05;
}

.trainer-card__exp-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: var(--c-orange);
    color: #000;
    font-size: 10px;
    font-weight: 900;
    padding: 4px 10px;
    border-radius: 999px;
}

.trainer-card__body {
    flex: 1;
    padding: calc(24 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.trainer-card__rank {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-orange);
    margin-bottom: 4px;
}

.trainer-card__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(18 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
    margin-bottom: 8px;
}

.trainer-card__sports {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

.trainer-card__sport-tag {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--white-08);
    color: #9ca3af;
}

.trainer-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    padding-top: 1em;
    margin-top: 1em;
}

.trainer-card__exp-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--c-gray);
}

.trainer-card__socials {
    display: flex;
    gap: 8px;
}

.trainer-card__link-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* ── Trainer portrait ───────────────────────────────────────────────────── */
.trainer-portrait {
    position: relative;
    overflow: hidden;
    border-radius: calc(32 / var(--device-size) * 100vw);
    background: var(--c-card);
}

.trainer-portrait__photo-wrap {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
}

.trainer-portrait__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: 76% 0;
}

.trainer-portrait__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 50%);
}

.trainer-portrait__body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: calc(32 / var(--device-size) * 100vw);
}

.trainer-portrait__rank {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-orange);
    margin-bottom: 4px;
}

.trainer-portrait__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(18 / var(--device-size) * 100vw);
    text-transform: uppercase;
    color: #fff;
    margin-bottom: calc(20 / var(--device-size) * 100vw);
}

.trainer-portrait__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.trainer-portrait__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: calc(10 / var(--device-size) * 100vw) calc(16 / var(--device-size) * 100vw);
    border-radius: 999px;
    font-size: calc(11 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    font-family: 'FixelText', sans-serif;
}

.trainer-portrait__btn--profile {
    background: var(--white-10);
    border: 1px solid var(--white-10);
    color: #fff;
}

.trainer-portrait__btn--profile:hover {
    background: rgba(255, 255, 255, 0.18);
}

.trainer-portrait__btn--signup {
    background: var(--c-orange);
    color: #000;
}

.trainer-portrait__btn--signup:hover {
    background: var(--c-yellow);
}

/* ── Location card ──────────────────────────────────────────────────────── */
.location-card {
    position: relative;
    background: var(--c-card);
    border-radius: calc(24 / var(--device-size) * 100vw);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.location-card.is-highlighted {
    border-color: rgba(242, 175, 29, 0.5);
    box-shadow: 0 0 0 1px rgba(242, 175, 29, 0.5);
}

.location-card__photo-wrap {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.location-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.location-card__full-body {
    padding: calc(28 / var(--device-size) * 100vw);
}

.location-card__full-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.location-card__icon-wrap {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 175, 29, 0.08);
    border-radius: 8px;
    flex-shrink: 0;
}

.location-card__district {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
}

.location-card__full-name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(20 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
    margin-bottom: 6px;
}

.location-card__full-address {
    font-size: 0.875rem;
    color: var(--c-gray);
    margin-bottom: 12px;
}

/* compact variant */
.location-card--compact {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 16px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--white-06);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.location-card--compact:hover,
.location-card--compact.is-highlighted {
    background: var(--white-06);
    border-color: rgba(242, 175, 29, 0.4);
}

.location-card__thumb {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.location-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.location-card__thumb-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    background: #27272a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.location-card__body {
    flex: 1;
    min-width: 0;
}

.location-card__name {
    font-weight: 700;
    font-size: 0.875rem;
    color: #fff;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.location-card__address {
    font-size: 12px;
    color: var(--c-gray);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 6px;
}

.location-card__sections {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.location-card__section-tag {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(242, 175, 29, 0.08);
    border: 1px solid rgba(242, 175, 29, 0.15);
    color: rgba(242, 175, 29, 0.7);
}

/* ── Section card ───────────────────────────────────────────────────────── */
.section-card {
    display: block;
}

.section-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--c-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: calc(40 / var(--device-size) * 100vw);
    overflow: hidden;
    transition: border-color 0.3s;
    text-decoration: none;
}

.section-card:hover a {
    border-color: rgba(242, 175, 29, 0.25);
}

.section-card__img-wrap {
    position: relative;
    height: calc(224 / var(--device-size) * 100vw);
    overflow: hidden;
    flex-shrink: 0;
}

.section-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s, filter 0.7s;
    filter: brightness(0.95);
}

.section-card:hover .section-card__img {
    transform: scale(1.05);
    filter: brightness(1);
}

.section-card__img-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, var(--c-card) 100%);
}

.section-card__partner-logo {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(6px);
    border-radius: 8px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
}

.section-card__partner-logo img {
    max-height: calc(48 / var(--device-size) * 100vw);
    max-width: calc(72 / var(--device-size) * 100vw);
    object-fit: contain;
    opacity: 0.85;
}

.section-card__body {
    padding: calc(28 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.section-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: calc(20 / var(--device-size) * 100vw);
}

.section-card__age-tag {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    background: rgba(242, 175, 29, 0.1);
    color: var(--c-orange);
    border: 1px solid rgba(242, 175, 29, 0.2);
}

.section-card__title {
    font-family: 'Unbounded', cursive;
    font-size: calc(21 / var(--device-size) * 100vw);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
    margin-bottom: 12px;
    transition: color 0.3s;
}

.section-card:hover .section-card__title {
    color: var(--c-orange);
}

.section-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
    margin-top: auto;
}

.section-card__footer {
    display: flex;
    align-items: center;
    padding-top: calc(20 / var(--device-size) * 100vw);
    margin-top: calc(20 / var(--device-size) * 100vw);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.section-card__more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-orange);
}

.section-card__price {
    margin-left: auto;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-orange);
}

/* ── Schedule table ─────────────────────────────────────────────────────── */
.sched-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.sched-filter-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: none;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.2s;
}

.sched-filter-btn.is-active {
    border-color: var(--c-orange);
    color: #fff;
    background: rgba(242, 175, 29, 0.08);
}

.sched-filter-box {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: var(--c-orange);
    flex-shrink: 0;
}

.sched-header {
    display: none;
    margin-bottom: 0.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--white-06);
}

@media (min-width:850px) {
    .sched-header {
        display: grid;
    }
}

.sched-head-cell {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-gray);
    padding: 0 8px;
}

.sched-head-cell--center {
    text-align: center;
}

.sched-row {
    padding: calc(16 / var(--device-size) * 100vw) 0;
    cursor: pointer;
    transition: background 0.15s;
}

.sched-row:hover {
    background: rgba(255, 255, 255, 0.02);
}

.sched-row--bordered {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* mobile */
.sched-row__mobile {
    display: block;
}

@media (min-width:850px) {
    .sched-row__mobile {
        display: none;
    }
}

.sched-row__title {
    font-weight: 700;
    font-size: 1em;
    color: #fff;
    margin-bottom: 4px;
}

.sched-row__loc-sep {
    font-weight: 400;
}

.sched-row__loc-sep--orange {
    color: var(--c-orange);
}

.sched-row__loc-sep--gray {
    color: var(--white-40);
}

.sched-row__trainer {
    font-size: 0.875rem;
    color: var(--c-gray);
    margin-bottom: 4px;
}

.sched-row__slots {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.5);
}

/* desktop */
.sched-row__desktop {
    display: none;
}

@media (min-width:850px) {
    .sched-row__desktop {
        display: grid;
        align-items: center;
        gap: 0;
    }
}

.sched-row__group {
    padding-right: 12px;
}

.sched-row__sub {
    font-size: 0.875em;
    color: var(--c-gray);
    margin-top: 4px;
    max-width: 300px;
}

.sched-row__cell {
    font-size: 0.875rem;
    color: var(--white-60);
    padding: 0 8px;
}

.sched-row__cell--sm {
    font-size: 0.875em;
}

.sched-row__day {
    text-align: center;
    padding: 4px 4px;
}

.sched-cell {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 3px;
}

.sched-cell.orange,
.sched-cell.gray {
    background: rgba(242, 175, 29, 0.15);
    color: var(--c-orange);
}

.sched-empty {
    color: var(--white-10);
    font-size: 13px;
}

/* ── Social icon ─────────────────────────────────────────────────────────── */
.det-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--white-10);
    color: var(--c-gray);
    transition: all 0.2s;
}

.det-social:hover {
    background: rgba(242, 175, 29, 0.12);
    border-color: rgba(242, 175, 29, 0.4);
    color: var(--c-orange);
}

/* ── Leaflet overrides ──────────────────────────────────────────────────── */
.leaflet-container a {
    color: var(--c-orange) !important;
}

.leaflet-control-attribution a {
    color: rgba(255, 255, 255, 0.3) !important;
}

.leaflet-popup-content-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.leaflet-popup-content {
    margin: 0 !important;
    width: auto !important;
}

.leaflet-popup-tip-container,
.leaflet-popup-close-button {
    display: none !important;
}

.leaflet-control-zoom {
    border: none !important;
    box-shadow: none !important;
    margin: 24px !important;
}

.leaflet-control-zoom a {
    background: rgba(9, 9, 11, 0.85) !important;
    color: #fff !important;
    border: 1px solid var(--white-08) !important;
    width: 46px !important;
    height: 46px !important;
    line-height: 44px !important;
    font-size: 22px !important;
    transition: all 0.2s !important;
    backdrop-filter: blur(10px) !important;
}

.leaflet-control-zoom a:hover {
    background: var(--c-orange) !important;
    color: #000 !important;
    border-color: var(--c-orange) !important;
}

.leaflet-control-attribution {
    background: rgba(0, 0, 0, 0.5) !important;
    color: rgba(255, 255, 255, 0.25) !important;
    font-size: 10px !important;
}

.sc-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    filter: drop-shadow(0 6px 16px rgba(242, 175, 29, 0.45));
    transition: transform 0.2s, filter 0.2s;
    cursor: pointer;
}

.sc-marker:hover {
    filter: drop-shadow(0 8px 24px rgba(242, 175, 29, 0.7));
    transform: translateY(-3px);
}

.sc-marker-pin {
    width: 40px;
    height: 40px;
    background: var(--c-orange);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2.5px solid rgba(0, 0, 0, 0.25);
}

.sc-marker-pin svg {
    transform: rotate(45deg);
}

.sc-marker-tail {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 9px solid var(--c-orange);
    margin-top: -2px;
}

.sc-popup-card {
    display: flex;
    min-width: calc(300 / var(--device-size) * 100vw);
    background: #0c0c0e;
    border: 1px solid rgba(242, 175, 29, 0.18);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.85);
    font-family: 'FixelText', sans-serif;
}

.sc-popup-body {
    padding: calc(22 / var(--device-size) * 100vw);
    flex: 1;
}

.sc-popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.sc-popup-name {
    font-family: 'Unbounded', cursive;
    font-size: calc(23 / var(--device-size) * 100vw);
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    line-height: 1;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: color 0.2s;
}

a.sc-popup-name:hover,
button.sc-popup-name--btn:hover {
    color: var(--c-orange);
}

.sc-popup-sep {
    height: 1px;
    background: var(--white-06);
    margin-bottom: 12px;
}

.sc-popup-addr {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
    color: var(--white-40);
    margin-bottom: 12px;
}

.sc-popup-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.sc-popup-enroll-btn {
    display: none;
    align-items: center;
    justify-content: center;
    padding: calc(10 / var(--device-size) * 100vw) calc(18 / var(--device-size) * 100vw);
    border-radius: 999px;
    font-size: calc(11 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: var(--c-orange);
    color: #000;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    font-family: 'FixelText', sans-serif;
}

.sc-popup-enroll-btn:hover {
    background: var(--c-yellow);
}

@media (max-width: 849px) {
    .sc-popup-enroll-btn {
        display: inline-flex;
    }
}

.sc-tag {
    font-size: 0.875em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: .25em .5em;
    border-radius: 999px;
    color: var(--c-orange);
    border: 1px solid rgba(242, 175, 29, 0.25);
}

/* ── Partners section ───────────────────────────────────────────────────── */

.partners-section {
    color: var(--light-text);
    padding-top: 0 !important;
}

.partners-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: calc(56 / var(--device-size) * 100vw);
}

.partners-head__title {
    font-family: 'Unbounded', cursive;
    font-size: calc(42 / var(--device-size) * 100vw);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--light-text);
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--light-text-15);
    border-left: 1px solid var(--light-text-15);
}

.partner-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(40 / var(--device-size) * 100vw) calc(32 / var(--device-size) * 100vw);
    border-right: 1px solid var(--light-text-15);
    border-bottom: 1px solid var(--light-text-15);
    transition: background 0.25s;
    text-decoration: none;
    min-height: calc(120 / var(--device-size) * 100vw);
}

.partner-cell:hover {
    background: rgba(9, 9, 11, 0.04);
}

.partner-logo {
    max-width: 100%;
    max-height: calc(56 / var(--device-size) * 100vw);
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(1) opacity(0.55);
    transition: filter 0.3s;
}

.partner-cell:hover .partner-logo {
    filter: grayscale(0) opacity(1);
}

.partner-name {
    font-family: 'Unbounded', cursive;
    font-size: calc(13 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--light-text-50);
}

@media (max-width: 849px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partners-head__title {
        font-size: calc(34 / var(--device-size) * 100vw);
    }

    .partner-cell {
        padding: calc(28 / var(--device-size) * 100vw) calc(20 / var(--device-size) * 100vw);
        min-height: calc(90 / var(--device-size) * 100vw);
    }

    .partner-logo {
        max-height: calc(40 / var(--device-size) * 100vw);
    }
}

/* ── Noise bg for hero-visual ───────────────────────────────────────────── */
.hero-visual-bg {
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, #1a1508 0%, #000 70%);
    position: relative;
    overflow: hidden;
}

.hero-visual-bg::after {
    content: '';
    position: absolute;
    inset: -50%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.05;
    pointer-events: none;
    animation: noise 0.2s infinite;
    will-change: transform;
}

@media (max-width:850px) {
    .hero-visual-bg::after {
        animation: none;
    }
}

/* ── Stats bar (about page) ─────────────────────────────────────────────── */
.stats-bar {
    background: #09090b;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.stats-bar__inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.stats-bar__item {
    flex: 1;
    min-width: 50%;
    padding: calc(40 / var(--device-size) * 100vw) 0;
    text-align: center;
    border-bottom: 1px solid var(--white-06);
    border-right: 1px solid var(--white-06);
}

.stats-bar__item:nth-child(2n) {
    border-right: none;
}

@media (min-width: 850px) {
    .stats-bar__item {
        min-width: 0;
        border-bottom: none;
        border-right: 1px solid var(--white-06);
    }

    .stats-bar__item:nth-child(2n) {
        border-right: 1px solid var(--white-06);
    }

    .stats-bar__item:last-child {
        border-right: none;
    }
}

.stats-bar__number {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(64 / var(--device-size) * 100vw);
    color: var(--c-orange);
    line-height: 1;
    margin-bottom: 8px;
    display: block;
}

.stats-bar__number--white {
    color: #fff;
}

.stats-bar__label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gray);
}

/* ── Timeline (about page) ──────────────────────────────────────────────── */
.timeline {
    position: relative;
}

.timeline__center-line {
    display: none;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(-50%);
}

@media (min-width:850px) {
    .timeline__center-line {
        display: block;
    }
}

.timeline__item {
    padding: calc(64 / var(--device-size) * 100vw) 0;
}

.timeline__item--bordered {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* mobile dot */
.timeline__mobile-dot-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

@media (min-width:850px) {
    .timeline__mobile-dot-row {
        display: none;
    }
}

.timeline__dot {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.timeline__dot--accent {
    background: var(--c-orange);
}

.timeline__dot--normal {
    background: #09090b;
    border: 1px solid rgba(242, 175, 29, 0.3);
}

.timeline__dot--current {
    box-shadow: 0 0 0 4px rgba(242, 175, 29, 0.2);
}

.timeline__dot--sm {
    width: 56px;
    height: 56px;
}

.timeline__dot--md {
    width: 64px;
    height: 64px;
}

.timeline__dot--lg {
    width: 80px;
    height: 80px;
}

.timeline__dot--xlg {
    width: 80px;
    height: 80px;
}

.timeline__dot-year {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: 10px;
    line-height: 1;
}

.timeline__dot--accent .timeline__dot-year {
    color: #000;
}

.timeline__dot--normal .timeline__dot-year {
    color: var(--c-orange);
}

.timeline__mobile-line {
    flex: 1;
    height: 1px;
    background: var(--white-10);
}

/* desktop grid */
.timeline__desktop {
    display: none;
}

@media (min-width:850px) {
    .timeline__desktop {
        display: grid;
        grid-template-columns: 1fr 72px 1fr;
        align-items: center;
    }
}

.timeline__content--left {
    padding-right: calc(64 / var(--device-size) * 100vw);
    text-align: right;
}

.timeline__content--right {
    padding-left: calc(64 / var(--device-size) * 100vw);
}

.timeline__dot-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.timeline__tag {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(14 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    display: block;
}

.timeline__tag--orange {
    color: var(--c-orange);
}

.timeline__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(30 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: #fff;
    margin-bottom: 16px;
}

.timeline__text {
    color: var(--c-gray);
    font-size: 0.9375em;
    line-height: 1.6;
    max-width: calc(540 / var(--device-size) * 100vw);
    text-wrap: balance;
}

.timeline__content--left .timeline__text {
    margin-left: auto;
}

/* ── Team card (about page) ─────────────────────────────────────────────── */
.team-card {
    display: block;
    position: relative;
    border-radius: calc(48 / var(--device-size) * 100vw);
    overflow: hidden;
    background: var(--c-card);
    border: 1px solid rgba(9, 9, 11, 0.1);
    transition: border-color 0.5s;
    text-decoration: none;
    color: inherit;
}

.team-card:hover {
    border-color: rgba(242, 175, 29, 0.4);
}

.team-card__img-wrap {
    aspect-ratio: 3/4;
    position: relative;
    overflow: hidden;
    background: #27272a;
}

.team-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.6);
    transition: filter 1s, transform 1s;
}

.team-card:hover .team-card__img {
    filter: brightness(0.9);
    transform: scale(1.05);
}

.team-card__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.2) 50%, transparent 100%);
}

.team-card__body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: calc(32 / var(--device-size) * 100vw);
}

.team-card__crown {
    margin-bottom: 8px;
    color: var(--c-orange);
}

.team-card__role {
    font-family: 'Unbounded', cursive;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-orange);
    margin-bottom: 8px;
}

.team-card__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(20 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
    margin-bottom: 4px;
}

.team-card__desc {
    font-size: 0.875rem;
    color: #9ca3af;
}

/* ── Team slider (about page) ───────────────────────────────────────────── */
.team-slider__header {
    display: flex;
    flex-direction: column;
    gap: calc(24 / var(--device-size) * 100vw);
    margin-bottom: calc(48 / var(--device-size) * 100vw);
}

@media (min-width:850px) {
    .team-slider__header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
}

.team-slider__nav {
    display: flex;
    gap: calc(16 / var(--device-size) * 100vw);
    flex-shrink: 0;
}

.team-slider__nav-btn {
    width: calc(72 / var(--device-size) * 100vw);
    height: calc(72 / var(--device-size) * 100vw);
    min-width: calc(44 / var(--device-size) * 100vw);
    min-height: calc(44 / var(--device-size) * 100vw);
    border-radius: 50%;
    border: 1px solid rgba(9, 9, 11, 0.15);
    background: transparent;
    color: #09090b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.team-slider__nav-btn:hover {
    background: #09090b;
    color: #fff;
}

.team-slider {
    display: flex;
    gap: calc(20 / var(--device-size) * 100vw);
    padding-left: calc(30 / var(--device-size) * 100vw);
    padding-right: calc(30 / var(--device-size) * 100vw);
    padding-bottom: calc(35 / var(--device-size) * 100vw);
    scroll-padding-left: calc(30 / var(--device-size) * 100vw);
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.team-slider .team-card {
    width: calc(420 / var(--device-size) * 100vw);
    flex-shrink: 0;
    scroll-snap-align: start;
}

@media (max-width: 849px) {
    .team-slider {
        padding-left: calc(20 / var(--device-size) * 100vw);
        padding-right: calc(20 / var(--device-size) * 100vw);
        scroll-padding-left: calc(20 / var(--device-size) * 100vw);
    }

    .team-slider .team-card {
        width: calc(320 / var(--device-size) * 100vw);
    }
}

@media (max-width: 549px) {
    .team-slider .team-card {
        width: 80vw;
    }
}

/* ── Value card (about page) ────────────────────────────────────────────── */
.value-card {
    padding-left: calc(32 / var(--device-size) * 100vw);
    border-left: 1px solid #27272a;
    padding-top: 8px;
    padding-bottom: 8px;
    transition: border-color 0.5s;
}

.value-card:hover {
    border-color: var(--c-orange);
}

.value-card__num {
    font-family: 'Unbounded', cursive;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-orange);
    opacity: 0.5;
    margin-bottom: 16px;
    transition: opacity 0.3s;
}

.value-card:hover .value-card__num {
    opacity: 1;
}

.value-card__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(21 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
    margin-bottom: 16px;
}

.value-card__text {
    color: var(--c-gray);
    font-size: 0.875rem;
    line-height: 1.6;
}

/* ── Filter bar (archive-trainer) ───────────────────────────────────────── */
.filter-bar {
    background: #09090b;
    border-bottom: 1px solid var(--white-06);
    position: relative;
    z-index: 20;
}

.filter-bar__inner {
    max-width: 1500px;
    margin: 0 auto;
}

.filter-bar__row {
    display: flex;
    flex-direction: column;
}

@media (min-width:850px) {
    .filter-bar__row {
        flex-direction: row;
    }
}

.filter-bar__col {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: calc(20 / var(--device-size) * 100vw) calc(32 / var(--device-size) * 100vw);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    position: relative;
}

@media (min-width:850px) {
    .filter-bar__col {
        border-bottom: none;
        border-right: 1px solid rgba(255, 255, 255, 0.07);
    }

    .filter-bar__col:last-child {
        border-right: none;
    }
}

.filter-bar__search-input {
    width: 100%;
    background: transparent;
    border: none;
    font-size: 1rem;
    color: #fff;
    outline: none;
}

.filter-bar__search-input::placeholder {
    color: #4b5563;
}

.filter-bar__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
}

.filter-bar__label {
    font-size: 1rem;
    color: var(--white-40);
}

.filter-bar__count {
    text-align: center;
    flex-shrink: 0;
}

.filter-bar__count-num {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(32 / var(--device-size) * 100vw);
    color: var(--c-orange);
    display: block;
}

.filter-bar__count-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gray);
    margin-top: 2px;
}

.filter-bar__clear {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-gray);
    background: none;
    border: none;
    cursor: pointer;
    line-height: 1.3;
    text-align: center;
    transition: color 0.2s;
}

.filter-bar__clear:hover {
    color: var(--c-orange);
}

/* custom dropdown panel */

.custom-opt {
    padding: 12px 20px;
    font-size: 0.875rem;
    color: #9ca3af;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.custom-opt:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
}

.custom-opt.selected {
    color: var(--c-orange);
}

/* ── Location archive layout ─────────────────────────────────────────────── */
#locLayout {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

#locLayout>.loc-map-col {
    display: none;
    position: relative;
    flex: 1;
    min-width: 0;
}

@media (min-width:850px) {
    #locLayout>.loc-map-col {
        display: block;
    }
}

.loc-map-col>div {
    position: absolute;
    inset: 0;
}

.loc-sidebar {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #09090b;
    border-left: 1px solid rgba(255, 255, 255, 0.04);
    flex-shrink: 0;
    overflow: hidden;
}

@media (min-width:850px) {
    .loc-sidebar {
        width: 460px;
    }
}

.loc-sidebar__head {
    flex-shrink: 0;
    background: #09090b;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding: calc(32 / var(--device-size) * 100vw) calc(24 / var(--device-size) * 100vw) 0;
}

.loc-sidebar__title-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 16px;
}

.loc-sidebar__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(52 / var(--device-size) * 100vw);
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -0.02em;
    color: #fff;
}

.loc-sidebar__title-accent {
    color: var(--c-orange);
}

.loc-sidebar__count {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: 0.875rem;
    color: var(--c-orange);
}

.loc-sidebar__search {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--c-card);
    border-radius: 12px;
    border: 1px solid var(--white-06);
    margin-bottom: 16px;
}

.loc-sidebar__search-input {
    background: transparent;
    border: none;
    font-size: 0.875rem;
    color: #fff;
    outline: none;
    width: 100%;
}

.loc-sidebar__search-input::placeholder {
    color: #4b5563;
}

.loc-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding-bottom: 16px;
    overflow-x: auto;
}

.loc-pill {
    flex-shrink: 0;
    padding: 6px 12px;
    border-radius: 999px;
    font-family: 'Unbounded', cursive;
    font-weight: 700;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.5);
    background: none;
}

.loc-pill.loc-pill--active,
.loc-pill--active {
    background: var(--c-orange);
    color: #000;
    border-color: var(--c-orange);
}

.loc-pill:hover:not(.loc-pill--active) {
    border-color: rgba(242, 175, 29, 0.5);
    color: var(--c-orange);
}

.loc-cards-pane {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
}

.loc-cards-inner {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.loc-mobile-map {
    display: none;
    height: 260px;
}

.loc-mobile-toggle {
    flex-shrink: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    width: 100%;
    padding: 12px;
    text-align: center;
    font-weight: 900;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--c-orange);
    background: none;
    border-bottom: none;
    border-left: none;
    border-right: none;
    cursor: pointer;
}

@media (min-width:850px) {

    .loc-mobile-toggle,
    .loc-mobile-map {
        display: none !important;
    }
}

/* ── Sec-filter pills (archive-section) ─────────────────────────────────── */
.sec-filter {
    flex-shrink: 0;
    padding: calc(10 / var(--device-size) * 100vw) calc(24 / var(--device-size) * 100vw);
    border-radius: 999px;
    font-family: 'Unbounded', cursive;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: none;
    color: rgba(255, 255, 255, 0.5);
    transition: all 0.2s;
}

.sec-filter.is-active,
.sec-filter[data-filter="all"].is-active {
    background: var(--c-orange);
    color: #000;
    border-color: var(--c-orange);
}

.sec-filter:hover:not(.is-active) {
    border-color: rgba(242, 175, 29, 0.5);
    color: var(--c-orange);
}

/* ── Page section shared paddings ───────────────────────────────────────── */
.sc-section {
    padding-top: calc(128 / var(--device-size) * 100vw);
    padding-bottom: calc(128 / var(--device-size) * 100vw);
    position: relative;
    overflow: clip;
}

/* ── Empty state ─────────────────────────────────────────────────────────── */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(128 / var(--device-size) * 100vw) 16px;
    text-align: center;
}

.empty-state__icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--c-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.empty-state__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: 1.25rem;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.empty-state__text {
    font-size: 0.875rem;
    color: var(--c-gray);
    margin-bottom: 32px;
}

.empty-state__btn {
    padding: 12px 32px;
    border-radius: 999px;
    background: var(--c-orange);
    color: #000;
    font-weight: 900;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.empty-state__btn:hover {
    background: var(--c-yellow);
}

/* ── Admin bar offset ───────────────────────────────────────────────────── */
.admin-bar #mainHeader {
    top: 32px;
}

@media screen and (max-width:782px) {
    .admin-bar #mainHeader {
        top: 46px;
    }
}

/* ── Misc from original ─────────────────────────────────────────────────── */
.sport-card-container {
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.header-logo {
    height: 64px;
    width: auto;
}

/* ─────────────────────────────────────────────────────────────────────────────
   DETAIL PAGES — shared utilities
───────────────────────────────────────────────────────────────────────────── */

.detail-eyebrow-block {
    display: block;
}


/* Detail stats bar */
.det-stats {
    background: #09090b;
    border-top: 1px solid var(--white-06);
    border-bottom: 1px solid var(--white-06);
}

.det-stats__inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.det-stats__item {
    flex: 1;
    min-width: 50%;
    padding: calc(40 / var(--device-size) * 100vw) 0;
    text-align: center;
    border-bottom: 1px solid var(--white-06);
}

@media (min-width:850px) {
    .det-stats__item {
        min-width: 0;
        border-bottom: none;
        border-right: 1px solid var(--white-06);
    }

    .det-stats__item:last-child {
        border-right: none;
    }
}

.det-stats__val {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(48 / var(--device-size) * 100vw);
    color: var(--c-orange);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.det-stats__label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gray);
}

/* Dark/dim section wrappers */
.det-dark-section {
    padding-top: calc(128 / var(--device-size) * 100vw);
    padding-bottom: calc(128 / var(--device-size) * 100vw);
    background: #000;
}

.det-dim-section {
    padding-top: calc(128 / var(--device-size) * 100vw);
    padding-bottom: calc(128 / var(--device-size) * 100vw);
    background: rgba(9, 9, 11, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Schedule section on detail pages */
.det-sched-section {
    background: rgba(9, 9, 11, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.det-sched-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: calc(24 / var(--device-size) * 100vw);
    margin-bottom: calc(64 / var(--device-size) * 100vw);
}

/* Schedule location/section filter pills */
.sched-loc-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sched-loc-pill {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: calc(8 / var(--device-size) * 100vw) calc(16 / var(--device-size) * 100vw);
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--c-gray);
    background: none;
    cursor: pointer;
    transition: all 0.2s;
}

.sched-loc-pill.is-active {
    border-color: var(--c-orange);
    color: var(--c-orange);
}

.sched-loc-pill:hover:not(.is-active) {
    border-color: rgba(242, 175, 29, 0.5);
    color: var(--c-orange);
}

/* CTA yellow variant */
.cta-section--yellow {
    background: var(--c-yellow);
}

.cta-section__heading--dark {
    color: #000;
}

.cta-btn--black {
    background: #000;
    color: #fff;
    border: none;
}

.cta-btn--black:hover {
    transform: scale(1.05);
}

.cta-btn--outline-dark {
    background: transparent;
    color: #000;
    border: 2px solid #000;
}

.cta-btn--outline-dark:hover {
    background: #000;
    color: #fff;
}


/* ─────────────────────────────────────────────────────────────────────────────
   SINGLE TRAINER
───────────────────────────────────────────────────────────────────────────── */
.tr-hero {
    position: relative;
    min-height: 85svh;
    min-height: calc(790 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #000;
    overflow: hidden;
    padding-bottom: calc(30 / var(--device-size) * 100vw);
}

.tr-hero__bg {
    position: absolute;
    inset: 0;
}

.tr-hero__img-wrap {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow: hidden;
}

@media (min-width:850px) {
    .tr-hero__img-wrap {
        width: 92%;
        width: 100%;
    }
}

.tr-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% top;
}

@media (min-width:850px) {
    .tr-hero__img {
        object-position: top;
    }
}

.tr-hero__gradient-x {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.6) 40%, rgba(0, 0, 0, 0.2) 70%, transparent 100%);
}

/*
@media (max-width:849px) {
    .tr-hero__gradient-x {
        background: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.6) 100%);
    }
}
*/
.tr-hero__gradient-y {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, transparent 50%, rgba(0, 0, 0, 0.5) 100%);
}

.tr-hero__side-block {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2%;
    background: #000;
}

@media (min-width:850px) {
    .tr-hero__side-block {
        display: block;
    }
}

.tr-hero__side-fade {
    display: none;
    position: absolute;
    left: 2%;
    top: 0;
    bottom: 0;
    width: calc(160 / var(--device-size) * 100vw);
    background: linear-gradient(to right, #000 0%, transparent 100%);
}

@media (min-width:850px) {
    .tr-hero__side-fade {
        display: block;
    }
}

.tr-hero__bg-num {
    display: none;
    position: absolute;
    right: calc(32 / var(--device-size) * 100vw);
    bottom: calc(32 / var(--device-size) * 100vw);
    pointer-events: none;
    user-select: none;
    opacity: 0.04;
}

@media (min-width:1280px) {
    .tr-hero__bg-num {
        display: block;
    }
}

.tr-hero__bg-num-text {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    font-size: calc(538 / var(--device-size) * 100vw);
}

.tr-hero__content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}



.tr-hero__back-row {
    padding-top: calc(144 / var(--device-size) * 100vw);
    margin-bottom: calc(48 / var(--device-size) * 100vw);
}

.tr-hero__body {
    /*padding-bottom: calc(112 / var(--device-size) * 100vw);*/
    max-width: 80%;
}

@media (max-width:849px) {
    .tr-hero__body {
        max-width: 100%;
    }
}

.tr-hero__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.85;
    letter-spacing: -0.03em;
    color: #fff;
    font-size: var(--text-hero);
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.tr-hero__rank {
    color: #9ca3af;
    font-size: calc(21 / var(--device-size) * 100vw);
    font-weight: 300;
    margin-bottom: calc(40 / var(--device-size) * 100vw);
}

.tr-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(24 / var(--device-size) * 100vw);
}

.tr-hero__socials {
    display: flex;
    gap: 12px;
}

/* Trainer About (light section) */
.tr-about {
    background: var(--light-bg);
    color: var(--light-text);
}

.tr-about__inner {
    max-width: 1500px;
    margin: 0 auto;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.tr-about__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(80 / var(--device-size) * 100vw);
    align-items: start;
}

@media (min-width:850px) {
    .tr-about__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.tr-about__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.88;
    letter-spacing: -0.03em;
    color: var(--light-text);
    font-size: calc(88 / var(--device-size) * 100vw);
    margin-bottom: calc(48 / var(--device-size) * 100vw);
}

.tr-about__bio {
    color: var(--light-text-60);
    font-size: calc(20 / var(--device-size) * 100vw);
    line-height: 1.7;
}

.tr-about__bio p {
    margin-bottom: 1em;
}

.tr-about__ach-label {
    font-size: calc(11 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    color: var(--light-text-50);
    margin-bottom: calc(16 / var(--device-size) * 100vw);
    padding-bottom: calc(16 / var(--device-size) * 100vw);
    /*border-bottom: 1px solid var(--light-divider);*/
}

.tr-about__ach-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--light-divider);
}

.tr-about__ach-item {
    display: flex;
    align-items: flex-start;
    gap: calc(32 / var(--device-size) * 100vw);
    padding: calc(28 / var(--device-size) * 100vw) 0;
    border-bottom: 1px solid var(--light-divider);
}

.tr-about__ach-year {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: calc(16 / var(--device-size) * 100vw);
    flex-shrink: 0;
    width: calc(48 / var(--device-size) * 100vw);
    padding-top: 2px;
}

.tr-about__ach-text {
    color: var(--light-text-75);
    font-size: calc(16 / var(--device-size) * 100vw);
    line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SINGLE LOCATION
───────────────────────────────────────────────────────────────────────────── */
.loc-hero {
    position: relative;
    min-height: 65svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #000;
    overflow: hidden;
    padding-bottom: calc(30 / var(--device-size) * 100vw);
}

.loc-hero__bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.loc-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.loc-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.2) 100%);
}

.loc-hero__content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.loc-hero__back-row {
    padding-top: calc(144 / var(--device-size) * 100vw);
    margin-bottom: calc(48 / var(--device-size) * 100vw);
}

.loc-hero__body {
    /* padding-bottom: calc(112 / var(--device-size) * 100vw);*/
}

.loc-hero__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.85;
    letter-spacing: -0.03em;
    color: #fff;
    font-size: var(--text-hero);
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.loc-hero__address {
    color: #9ca3af;
    font-size: calc(21 / var(--device-size) * 100vw);
    font-weight: 300;
}

/* Location sections grid */
.loc-sec-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(16 / var(--device-size) * 100vw);
}

@media (min-width:640px) {
    .loc-sec-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:850px) {
    .loc-sec-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.loc-sec-btn {
    display: flex;
    align-items: center;
    gap: calc(24 / var(--device-size) * 100vw);
    padding: calc(20 / var(--device-size) * 100vw) calc(32 / var(--device-size) * 100vw);
    background: var(--c-card);
    border: 1px solid var(--white-06);
    border-radius: calc(20 / var(--device-size) * 100vw);
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: border-color 0.2s, background 0.2s;
}

.loc-sec-btn:hover {
    border-color: rgba(242, 175, 29, 0.3);
    background: rgba(242, 175, 29, 0.05);
}

.loc-sec-btn__thumb {
    width: calc(56 / var(--device-size) * 100vw);
    height: calc(56 / var(--device-size) * 100vw);
    border-radius: calc(12 / var(--device-size) * 100vw);
    overflow: hidden;
    flex-shrink: 0;
    background: #27272a;
}

.loc-sec-btn__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.loc-sec-btn__info {
    min-width: 0;
}

.loc-sec-btn__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(18 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: #fff;
}

.loc-sec-btn__meta {
    font-size: calc(14 / var(--device-size) * 100vw);
    color: var(--c-gray);
    margin-top: 4px;
}

/* Location trainer grid */
.loc-tr-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(16 / var(--device-size) * 100vw);
}

@media (min-width:640px) {
    .loc-tr-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:850px) {
    .loc-tr-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width:1280px) {
    .loc-tr-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   SINGLE GROUP
───────────────────────────────────────────────────────────────────────────── */
.grp-hero {
    position: relative;
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #09090b;
}

.grp-hero__content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.grp-hero__back-row {
    padding-top: calc(144 / var(--device-size) * 100vw);
    margin-bottom: calc(32 / var(--device-size) * 100vw);
}

.grp-hero__body {
    padding-bottom: calc(80 / var(--device-size) * 100vw);
}

.grp-hero__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.85;
    letter-spacing: -0.03em;
    color: #fff;
    font-size: var(--text-hero);
    margin-bottom: calc(16 / var(--device-size) * 100vw);
}

.grp-hero__schedule {
    color: #9ca3af;
    font-size: calc(21 / var(--device-size) * 100vw);
    font-weight: 300;
}

/* Group info cards grid */
.grp-links-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(16 / var(--device-size) * 100vw);
    margin-bottom: calc(64 / var(--device-size) * 100vw);
}

@media (min-width:850px) {
    .grp-links-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.grp-link-card {
    padding: calc(32 / var(--device-size) * 100vw);
    background: var(--c-card);
    border: 1px solid var(--white-06);
    border-radius: calc(20 / var(--device-size) * 100vw);
}

.grp-link-card__label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-gray);
    margin-bottom: calc(16 / var(--device-size) * 100vw);
}

.grp-link-card__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(18 / var(--device-size) * 100vw);
    text-transform: uppercase;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
}

.grp-link-card__name--link {
    transition: color 0.2s;
}

.grp-link-card__name--link:hover {
    color: var(--c-orange);
}

/* Group schedule list */
.grp-sched-list {
    display: block;
}

.grp-sched-row {
    display: flex;
    align-items: center;
    gap: calc(24 / var(--device-size) * 100vw);
    padding: calc(20 / var(--device-size) * 100vw) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.grp-sched-day {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: calc(16 / var(--device-size) * 100vw);
    width: calc(128 / var(--device-size) * 100vw);
    flex-shrink: 0;
}

.grp-sched-time {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    font-size: calc(21 / var(--device-size) * 100vw);
}

.grp-sched-dur {
    font-size: 0.875rem;
    color: var(--c-gray);
    font-weight: 700;
    margin-left: auto;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CONTACTS PAGE
───────────────────────────────────────────────────────────────────────────── */
.contacts-hero {
    position: relative;
    min-height: 65svh;
    display: flex;
    align-items: flex-end;
    padding-bottom: calc(112 / var(--device-size) * 100vw);
    background: #000;
    overflow: hidden;
}

.contacts-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.contacts-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
    display: block;
}

.contacts-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
}

.contacts-hero__logo-bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: calc(80 / var(--device-size) * 100vw);
    pointer-events: none;
    opacity: 0.04;
}

.contacts-hero__logo-bg svg {
    width: calc(600 / var(--device-size) * 100vw);
}

.contacts-hero__content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding-top: calc(144 / var(--device-size) * 100vw);
    padding-left: calc(80 / var(--device-size) * 100vw);
    padding-right: calc(80 / var(--device-size) * 100vw);
}

.contacts-hero__eyebrow-row {
    display: flex;
    align-items: center;
    gap: calc(16 / var(--device-size) * 100vw);
    margin-bottom: calc(24 / var(--device-size) * 100vw);
}

.contacts-hero__eyebrow-line {
    width: calc(48 / var(--device-size) * 100vw);
    height: 1px;
    background: var(--c-orange);
    flex-shrink: 0;
}

.contacts-hero__eyebrow-text {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5em;
    color: var(--c-orange);
}

.contacts-hero__title {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.85;
    letter-spacing: -0.03em;
    color: #fff;
    font-size: var(--text-hero);
    margin-bottom: calc(32 / var(--device-size) * 100vw);
}

.contacts-hero__desc {
    color: #9ca3af;
    font-size: calc(22 / var(--device-size) * 100vw);
    font-weight: 300;
    line-height: 1.6;
    max-width: calc(720 / var(--device-size) * 100vw);
}

/* Contacts main section */
.contacts-main {
    padding-top: calc(80 / var(--device-size) * 100vw);
    padding-bottom: calc(80 / var(--device-size) * 100vw);
    background: #000;
}

.contacts-top-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(16 / var(--device-size) * 100vw);
    margin-bottom: calc(16 / var(--device-size) * 100vw);
}

@media (min-width:850px) {
    .contacts-top-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.contact-card {
    position: relative;
    background: var(--c-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: calc(40 / var(--device-size) * 100vw);
    padding: calc(56 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: calc(260 / var(--device-size) * 100vw);
    text-decoration: none;
    overflow: hidden;
    transition: border-color 0.3s;
}

.contact-card:hover {
    border-color: rgba(242, 175, 29, 0.4);
}

.contact-card__bg-text {
    position: absolute;
    right: calc(-32 / var(--device-size) * 100vw);
    bottom: calc(-32 / var(--device-size) * 100vw);
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.03);
    line-height: 1;
    pointer-events: none;
    user-select: none;
    font-size: calc(144 / var(--device-size) * 100vw);
}

.contact-card__inner {
    position: relative;
    z-index: 1;
}

.contact-card__icon-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: calc(32 / var(--device-size) * 100vw);
}

.contact-card__icon-wrap {
    width: calc(48 / var(--device-size) * 100vw);
    height: calc(48 / var(--device-size) * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(16 / var(--device-size) * 100vw);
    background: rgba(242, 175, 29, 0.1);
    border: 1px solid rgba(242, 175, 29, 0.2);
    transition: background 0.3s;
}

.contact-card:hover .contact-card__icon-wrap {
    background: rgba(242, 175, 29, 0.2);
}

.contact-card__arrow {
    color: rgba(255, 255, 255, 0.2);
    transition: color 0.3s, transform 0.3s;
}

.contact-card:hover .contact-card__arrow {
    color: var(--c-orange);
    transform: translate(4px, -4px);
}

.contact-card__type {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: var(--c-orange);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.4em;
    margin-bottom: 12px;
}

.contact-card__value {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-size: calc(35/ var(--device-size) * 100vw);
    transition: color 0.3s;
}

.contact-card:hover .contact-card__value {
    color: var(--c-orange);
}

/* Social cards */
.contacts-socials-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(16 / var(--device-size) * 100vw);
    margin-bottom: calc(64 / var(--device-size) * 100vw);
}

@media (min-width: 850px) {
    .contacts-socials-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.social-card {
    background: var(--c-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: calc(28 / var(--device-size) * 100vw);
    padding: calc(28 / var(--device-size) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(16 / var(--device-size) * 100vw);
    text-decoration: none;
    transition: border-color 0.3s;
}

.social-card:hover {
    border-color: rgba(242, 175, 29, 0.4);
}

.social-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.social-card__icon {
    color: rgba(255, 255, 255, 0.5);
    transition: color 0.3s;
}

.social-card:hover .social-card__icon {
    color: var(--c-orange);
}

.social-card__arrow {
    color: rgba(255, 255, 255, 0.15);
    transition: color 0.3s;
}

.social-card:hover .social-card__arrow {
    color: var(--c-orange);
}

.social-card__name {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    color: #fff;
    font-size: calc(12 / var(--device-size) * 100vw);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.social-card__handle {
    color: var(--c-gray);
    font-size: calc(10 / var(--device-size) * 100vw);
    font-weight: 700;
}

/* ─── Grid responsive breakpoints ──────────────────────────────────────────── */
@media (min-width:640px) {
    .sec-loc-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sec-tr-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sections-grid {
        grid-template-columns: 1fr 1fr;
    }

    .team-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:850px) {
    .trainers-grid {
        grid-template-columns: 1fr 1fr;
    }

    .filter-row {
        flex-direction: row !important;
    }

    .filter-row>div {
        border-bottom: none !important;
        border-right: 1px solid rgba(255, 255, 255, 0.07) !important;
    }

    .filter-row>div:last-child {
        border-right: none !important;
    }
}

@media (min-width:850px) {
    .sec-loc-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .sec-loc-grid--with-map {
        grid-template-columns: 1fr 1fr;
    }

    .sec-tr-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .sections-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .team-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .values-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .about-mission-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:1280px) {
    .sec-tr-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* ─── Page-hero bg dark variant ─────────────────────────────────────────── */
.page-hero__bg--dark {
    background: #09090b;
}

/* ─── Timeline mobile text ───────────────────────────────────────────────── */
.timeline__mobile-text {
    display: block;
}

@media (min-width:850px) {
    .timeline__mobile-text {
        display: none !important;
    }
}

/* ─── Hero stat block (front-page) ──────────────────────────────────────── */
#heroStatBlock {
    display: none;
}

@media (min-width:850px) {
    #heroStatBlock {
        display: block;
    }
}

/* ─── Reviews section watermark ─────────────────────────────────────────── */
.reviews__watermark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
}

.reviews__watermark svg {
    width: 100%;
    max-width: 1200px;
    opacity: 0.03;
}

.reviews__inner {
    position: relative;
}

/* ─── Section watermarks (page-about dark/light sections) ───────────────── */
.sec-watermark-right {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 5vw;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.04;
}

.sec-watermark-right svg {
    width: 55vw;
    max-width: 700px;
}

.sec-watermark-center {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.sec-watermark-center svg {
    width: 100%;
    max-width: 900px;
    opacity: 0.03;
}

/* ─── About page helpers ─────────────────────────────────────────────────── */
.team-card__no-photo {
    width: 100%;
    height: 100%;
    background: #27272a;
}

.mission-img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.75);
    transition: filter 1s, transform 1s;
}

.values-icon-row {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}

.sc-eyebrow--center {
    display: block;
    text-align: center;
}

.values-eyebrow-wrap {
    text-align: center;
}

.mission__pillar-icon svg {
    color: var(--c-orange);
}

/* ─── Empty / not-found text ─────────────────────────────────────────────── */
.sec-empty-text {
    color: var(--c-gray);
    text-align: center;
    padding: 64px 0;
    font-size: 0.875rem;
}

.sec-empty-text--light {
    color: var(--light-text-40);
}

.sched-empty-text {
    color: #4b5563;
    font-size: 1rem;
}

/* ─── detail-eyebrow-block margin variants ───────────────────────────────── */
.detail-eyebrow-block--mb-sm {
    margin-bottom: calc(24/var(--device-size)*100vw);
}

.detail-eyebrow-block--mb-md {
    margin-bottom: calc(40/var(--device-size)*100vw);
}

.detail-eyebrow-block--mb-lg {
    margin-bottom: calc(48/var(--device-size)*100vw);
}

.detail-eyebrow-block--mt-lg {
    margin-top: calc(64/var(--device-size)*100vw);
}

/* ─── Popup select wrapper ───────────────────────────────────────────────── */
.popup__select-wrap {
    position: relative;
}

.popup__select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
}

.popup__select-trigger .select-chevron {
    flex-shrink: 0;
    transition: transform 0.2s;
}

.popup__select-trigger[aria-expanded="true"] .select-chevron {
    transform: rotate(180deg);
}

.popup__select-panel {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #1a1a1f;
    border: 1px solid var(--white-10);
    border-radius: 12px;
    overflow: hidden;
    z-index: 200;
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.popup__select-panel.is-open {
    display: block;
}

.popup__select-opt {
    padding: 12px 16px;
    font-size: 1rem;
    font-family: 'FixelText', sans-serif;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.popup__select-opt:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
}

.popup__select-opt.is-selected {
    color: var(--c-orange);
}

/* ─── Contact card icon SVG ──────────────────────────────────────────────── */
.contact-card__icon-wrap svg {
    color: var(--c-orange);
}

/* ─── Filter bar placeholder ────────────────────────────────────────────── */
.search-placeholder::placeholder {
    color: #4b5563;
}

/* ─── Empty state button top margin ─────────────────────────────────────── */
.sec-empty-btn {
    margin-top: 24px;
}

@media (max-width: 849px) {
    section {
        padding-top: calc(85 / var(--device-size) * 100vw);
        padding-bottom: calc(85 / var(--device-size) * 100vw);
    }

    .sc-section {
        padding-top: calc(85 / var(--device-size) * 100vw);
        padding-bottom: calc(85 / var(--device-size) * 100vw);
    }

    .marquee-item {
        font-size: calc(36 / var(--device-size) * 100vw);
    }

    .mission__heading-block {
        margin-bottom: calc(60 / var(--device-size) * 100vw);
    }

    .mission__lead {
        font-size: calc(18 / var(--device-size) * 100vw);
    }

    .page-hero__content {
        padding-left: calc(30 / var(--device-size) * 100vw);
        padding-right: calc(30 / var(--device-size) * 100vw);
        padding-top: calc(130 / var(--device-size) * 100vw);
        padding-bottom: calc(30 / var(--device-size) * 100vw);
    }

    .hero-desc-para {
        font-size: calc(18 / var(--device-size) * 100vw);
    }

    .stats-bar__number {
        font-size: calc(45 / var(--device-size) * 100vw);
        margin-bottom: calc(8 / var(--device-size) * 100vw);
    }

    .cta-section {
        padding-top: calc(165 / var(--device-size) * 100vw);
        padding-bottom: calc(165 / var(--device-size) * 100vw);
    }

    .cta-section__heading {
        font-size: calc(50 / var(--device-size) * 100vw);
        margin-bottom: calc(50 / var(--device-size) * 100vw);
    }

    .cta-section__btns {
        gap: calc(18 / var(--device-size) * 100vw);
    }

    .cta-btn {
        font-size: calc(18 / var(--device-size) * 100vw);
    }

    .cta-section__bg svg {
        width: auto;
        height: 98%;
    }

    .tr-hero__content {
        padding-left: calc(30 / var(--device-size) * 100vw);
        padding-right: calc(30 / var(--device-size) * 100vw);
        padding-bottom: calc(30 / var(--device-size) * 100vw);
    }



}

@media (max-width: 549px) {}

/* ── Club Life ─────────────────────────────────────────────────────────── */
.club-life {
    background: var(--light-bg);
    color: var(--light-text);
    padding: calc(120 / var(--device-size) * 100vw) 0;
    position: relative;
    overflow: hidden;
}

.club-life__eyebrow {
    text-align: center;
    margin-bottom: calc(16 / var(--device-size) * 100vw);
}

.club-life__eyebrow .sc-eyebrow-icon {
    display: inline-block;
    margin-bottom: calc(10 / var(--device-size) * 100vw);
}

.club-life__heading {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: var(--text-section);
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
    margin-bottom: calc(56 / var(--device-size) * 100vw);
}

.club-life__grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: calc(80 / var(--device-size) * 100vw);
    align-items: center;
}

.club-life__stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(72 / var(--device-size) * 100vw) calc(32 / var(--device-size) * 100vw);
    background: #fff;
    background: #ffffff4f;
    border-radius: calc(20 / var(--device-size) * 100vw);
    border: 1px solid var(--light-border);
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.club-life__stat-num {
    font-family: 'Unbounded', cursive;
    font-weight: 900;
    font-size: calc(86 / var(--device-size) * 100vw);
    line-height: 1;
    color: var(--light-text);
}

.club-life__stat-line {
    width: calc(105 / var(--device-size) * 100vw);
    height: 2px;
    background: rgb(9 9 11 / 6%);
    margin: calc(24 / var(--device-size) * 100vw) auto;
}

.club-life__stat-label {
    line-height: 1.6;
    font-family: 'Unbounded', cursive;
    font-size: calc(12 / var(--device-size) * 100vw);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--c-orange);
    opacity: 1;
    transition: opacity 0.3s;
}

.club-life__center-col {
    display: flex;
    flex-direction: column;
    gap: calc(35 / var(--device-size) * 100vw);
}

.club-life__photo-card {
    border-radius: calc(20 / var(--device-size) * 100vw);
    border: 1px solid var(--light-border);
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    height: calc(680 / var(--device-size) * 100vw);
}

.club-life__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1s;
}

.club-life__photo-card:hover .club-life__photo {
    transform: scale(1.04);
}

.club-life__body {
    display: flex;
    flex-direction: column;
    gap: calc(35 / var(--device-size) * 100vw);
    align-items: center;
}

.club-life__quote {
    font-size: calc(20 / var(--device-size) * 100vw);
    color: var(--light-text-60);
    line-height: 1.4;
    font-weight: 300;
    text-align: center;
    text-wrap: balance;
}

.club-life__body .btn-orange {
    max-width: max-content;
}

@media (max-width: 849px) {
    .club-life__grid {
        grid-template-columns: 1fr 1fr;
        gap: calc(30 / var(--device-size) * 100vw);
    }

    .club-life__center-col {
        grid-column: 1 / -1;
        order: -1;
    }

    .club-life__photo-wrap {
        height: calc(260 / var(--device-size) * 100vw);
    }

    .club-life__stat-card {
        padding: calc(50 / var(--device-size) * 100vw) calc(20 / var(--device-size) * 100vw);
    }


    .contact-card {
        padding: calc(40 / var(--device-size) * 100vw);
    }

    .contact-card__value {
        font-size: calc(26 / var(--device-size) * 100vw);
    }

    .loc-hero__content {
        padding-left: calc(30 / var(--device-size) * 100vw);
        padding-right: calc(30 / var(--device-size) * 100vw);
    }

    .tr-about__heading {
        font-size: calc(42 / var(--device-size) * 100vw);
        margin-bottom: calc(30 / var(--device-size) * 100vw);
    }

    .reviews__heading-wrap {
        margin-bottom: calc(56 / var(--device-size) * 100vw);
    }

    .tr-hero {
        min-height: calc(700 / var(--device-size) * 100vw);
    }


}

@media (max-width: 549px) {
    .club-life__grid {
        grid-template-columns: 1fr 1fr;
    }

    .club-life__heading {
        font-size: calc(52 / var(--device-size) * 100vw);
    }

    .club-life__stat-num {
        font-size: calc(44 / var(--device-size) * 100vw);
    }

    .club-life__photo-wrap {
        height: calc(220 / var(--device-size) * 100vw);
    }

    .values-grid {
        grid-template-columns: 1fr;
        gap: calc(65 / var(--device-size) * 100vw);
    }

    .footer__email {
        font-size: calc(34 / var(--device-size) * 100vw);
    }
}