:root {
    --force-black: #050505;
    --force-ink: #111111;
    --force-white: #ffffff;
    --force-soft: #f4f1ea;
    --force-muted: #9d9d9d;
    --force-line: rgba(255,255,255,.18);
    --force-red: #ff263f;
    --force-red-dark: #c40018;
    --force-radius: 28px;
    --force-cta-radius: 12px;
    --force-shadow: 0 28px 80px rgba(0,0,0,.28);
    --font-display: "Bangers", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html {
    scroll-behavior: smooth;
    scroll-padding-top: 150px;
}
body {
    margin: 0;
    background-color: #050506;
    background-image:
        radial-gradient(rgba(255,255,255,.105) 1px, transparent 1px),
        radial-gradient(circle at 50% -12%, rgba(255,38,63,.20), transparent 34%),
        linear-gradient(180deg, #030304 0%, #08080a 52%, #050506 100%);
    background-size: 12px 12px, 100% 100%, 100% 100%;
    background-attachment: fixed;
    color: var(--force-white);
    font-family: var(--font-body);
    line-height: 1.5;
    text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
.site-header {
    position: fixed;
    z-index: 50;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1180px, calc(100vw - 32px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    color: #fff;
    background: rgba(5,5,5,.72);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 60px rgba(0,0,0,.22);
}
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark {
    width: 42px; height: 42px; display: grid; place-items: center;
    border-radius: 50%; background: var(--force-red); color: #fff;
    font-weight: 950; letter-spacing: -.08em; font-size: 24px;
}
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-size: 15px; letter-spacing: .16em; }
.brand-copy small { color: rgba(255,255,255,.62); font-size: 11px; text-transform: uppercase; letter-spacing: .16em; margin-top: 4px; }
.primary-nav { display: flex; align-items: center; gap: 4px; }
.primary-nav a { padding: 12px 14px; border-radius: 999px; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; }
.primary-nav a:hover, .primary-nav .nav-cta { background: #fff; color: #050505; }
.nav-toggle { display: none; border: 0; background: #fff; border-radius: 999px; padding: 11px 15px; font-weight: 800; }
.section { padding: 110px max(24px, calc((100vw - 1180px)/2)); }
.hero {
    min-height: 100vh;
    display: flex; flex-direction: column; justify-content: flex-end;
    position: relative; overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 75% 25%, rgba(255,38,63,.35), transparent 28%),
        linear-gradient(135deg, #030303 0%, #111 46%, #310006 100%);
    padding-top: 160px;
}
.hero::before {
    content: ""; position: absolute; inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 72px 72px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);
}
.hero-bg-word {
    position: absolute; right: -5vw; top: 18vh;
    font-size: clamp(110px, 21vw, 340px);
    font-weight: 1000; letter-spacing: -.12em; color: rgba(255,255,255,.055); line-height: .8;
}
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 42px; align-items: end; width: min(1180px, 100%); margin: 0 auto 58px; }
.eyebrow { color: var(--force-red); font-weight: 900; text-transform: uppercase; letter-spacing: .18em; font-size: 13px; margin: 0 0 18px; }
h1, h2, h3 { font-family: var(--font-display); margin: 0; letter-spacing: -.055em; line-height: .92; }
h1 { font-size: clamp(58px, 9vw, 128px); max-width: 860px; }
h2 { font-size: clamp(42px, 6vw, 86px); }
h3 { font-size: 34px; }
.lead { font-size: clamp(18px, 2vw, 24px); color: rgba(255,255,255,.72); max-width: 720px; margin: 26px 0 0; }
.hero-actions, .quick-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: var(--force-fs-button) !important;
    font-weight: 400;
    line-height: .86;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary,
.button-secondary {
    border-radius: var(--force-cta-radius);
}
.button-primary {
    color: #fff;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    box-shadow: 0 14px 28px rgba(255,38,63,.28);
}
.button-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    transform: translateX(-120%) skewX(-18deg);
    transition: transform .45s ease;
}
.button-primary:hover::before { transform: translateX(120%) skewX(-18deg); }
.button-secondary {
    color: #fff;
    background: rgba(5,5,6,.20);
    border-color: rgba(255,255,255,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 36px rgba(0,0,0,.18);
}
.button-secondary::before {
    content: "";
    position: absolute;
    inset: auto 18px 9px;
    z-index: 0;
    pointer-events: none;
    height: 2px;
    background: var(--force-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
    box-shadow: 0 0 16px rgba(255,38,63,.70);
}
.button-secondary:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.64); }
.button-secondary:hover::before { transform: scaleX(1); }
.button-ghost { border: 1px solid rgba(255,255,255,.2); color: #fff; }
.button-ghost.light { border-color: rgba(255,255,255,.25); }
.button.big { min-height: 64px; padding-inline: 34px; }
.hero-card {
    padding: 30px; min-height: 380px; display: flex; flex-direction: column; justify-content: space-between;
    border: 1px solid rgba(255,255,255,.16); border-radius: var(--force-radius);
    background: rgba(255,255,255,.08); backdrop-filter: blur(20px); box-shadow: var(--force-shadow);
}
.card-kicker { color: rgba(255,255,255,.58); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 900; }
.value-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.value-list li { display: flex; gap: 16px; align-items: center; font-size: 28px; font-weight: 950; letter-spacing: -.04em; }
.value-list span { color: var(--force-red); font-size: 13px; letter-spacing: .16em; }
.ticker { position: relative; width: calc(100% + 48px); margin-left: -24px; display: flex; gap: 28px; overflow: hidden; white-space: nowrap; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); padding: 18px 0; }
.ticker span { font-size: clamp(22px, 4vw, 56px); font-weight: 1000; letter-spacing: -.06em; color: rgba(255,255,255,.86); }
.section-label { color: var(--force-red); font-weight: 1000; letter-spacing: .18em; text-transform: uppercase; font-size: 13px; margin-bottom: 28px; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr); gap: 72px; align-items: start; }
.split p { font-size: 20px; color: rgba(17,17,17,.72); margin-top: 0; }
.dark-panel { background: var(--force-black); color: #fff; border-radius: 44px 44px 0 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.section-heading h2 { max-width: 780px; }
.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.program-card { min-height: 410px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--force-radius); background: #121212; display: flex; flex-direction: column; }
.program-card.accent { background: var(--force-red); }
.program-card span { color: rgba(255,255,255,.52); font-weight: 900; letter-spacing: .16em; }
.program-card h3 { margin-top: auto; }
.program-card p { color: rgba(255,255,255,.68); font-size: 17px; }
.program-card a { margin-top: 20px; color: #fff; font-weight: 950; text-decoration: underline; text-underline-offset: 5px; }
.schedule-strip { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--force-red); color: #fff; }
.schedule-strip .eyebrow { color: rgba(255,255,255,.68); }
.trainers { background: #fff; }
.compact { margin-bottom: 28px; }
.trainer-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #ddd; border-left: 1px solid #ddd; }
.trainer-grid article { min-height: 160px; padding: 24px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; display: flex; flex-direction: column; justify-content: flex-end; }
.trainer-grid strong { font-size: 24px; letter-spacing: -.04em; }
.trainer-grid span { color: #777; margin-top: 8px; }
.merch-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: stretch; background: var(--force-soft); }
.merch-copy { padding: 50px; border-radius: var(--force-radius); background: #fff; }
.merch-copy p:not(.eyebrow) { font-size: 18px; color: #666; }
.merch-copy .button { margin-top: 22px; }
.merch-placeholder { min-height: 470px; border-radius: var(--force-radius); background: linear-gradient(135deg, #111, #2b0006 60%, var(--force-red)); color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 38px; overflow: hidden; }
.merch-placeholder > span { font-size: clamp(72px, 13vw, 210px); font-weight: 1000; letter-spacing: -.12em; opacity: .22; }
.merch-placeholder > strong { font-size: clamp(28px, 5vw, 72px); letter-spacing: -.06em; line-height: .9; max-width: 600px; }
.signup { display: flex; align-items: center; justify-content: space-between; gap: 40px; color: #fff; background: #050505; }
.signup p:not(.eyebrow) { color: rgba(255,255,255,.66); font-size: 20px; max-width: 650px; }
.contact { background: #fff; }
.contact-card { padding: 34px; border-radius: var(--force-radius); background: var(--force-soft); }
.contact-card a { font-size: 32px; font-weight: 950; letter-spacing: -.04em; }
.muted { color: #777; }
.site-footer { display: flex; justify-content: space-between; gap: 30px; padding: 42px max(24px, calc((100vw - 1180px)/2)); background: #050505; color: #fff; }
.site-footer p { color: rgba(255,255,255,.58); margin: 8px 0 0; }
.footer-links { display: flex; gap: 16px; flex-wrap: wrap; color: rgba(255,255,255,.72); font-weight: 800; }
.reveal-up { animation: forceReveal .8s ease both; }
.delay-1 { animation-delay: .14s; }
@keyframes forceReveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) {
    .site-header { top: 10px; width: calc(100vw - 20px); }
    .nav-toggle { display: inline-flex; }
    .primary-nav { position: absolute; top: calc(100% + 10px); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; padding: 14px; background: rgba(5,5,5,.95); border-radius: 24px; }
    .primary-nav.is-open { display: flex; }
    .primary-nav a { text-align: center; }
    .hero-grid, .split, .merch-section { grid-template-columns: 1fr; }
    .hero-card { min-height: 260px; }
    .section { padding: 78px 20px; }
    .program-grid, .trainer-grid { grid-template-columns: 1fr; }
    .section-heading, .schedule-strip, .signup, .site-footer { flex-direction: column; align-items: flex-start; }
}

/* FORCE navigation v2 — floating performance/stage style */
h1, h2, h3, .brand-copy strong {
    font-family: var(--font-display);
    font-weight: 400;
}
h1, h2, h3 {
    letter-spacing: .015em;
}
.force-floating-header {
    top: 20px;
    width: min(1160px, calc(100vw - 32px));
    padding: 10px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.035)),
        rgba(3,3,3,.78);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 22px;
    backdrop-filter: blur(20px) saturate(130%);
    box-shadow:
        0 22px 70px rgba(0,0,0,.38),
        0 0 0 1px rgba(255,38,63,.08),
        inset 0 1px 0 rgba(255,255,255,.14);
}
.force-floating-header::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    background:
        radial-gradient(circle at 12% 50%, rgba(255,38,63,.48), transparent 20%),
        radial-gradient(circle at 88% 50%, rgba(255,255,255,.18), transparent 18%);
    filter: blur(16px);
    opacity: .7;
}
.force-floating-header::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,38,63,.9), rgba(255,255,255,.55), transparent);
    opacity: .82;
}
.force-floating-header .brand {
    min-width: 210px;
    padding: 6px 12px 6px 7px;
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
}
.force-floating-header .brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background:
        linear-gradient(145deg, #ff263f 0%, #a90014 100%);
    box-shadow:
        0 12px 30px rgba(255,38,63,.35),
        inset 0 1px 0 rgba(255,255,255,.28);
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: 0;
    transform: rotate(-2deg);
}
.force-floating-header .brand-copy strong {
    font-size: 30px;
    letter-spacing: .04em;
    line-height: .82;
}
.force-floating-header .brand-copy small {
    margin-top: 5px;
    color: rgba(255,255,255,.64);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .28em;
}
.force-floating-header .primary-nav {
    gap: 2px;
    padding: 4px;
    border-radius: 16px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.07);
}
.force-floating-header .primary-nav a {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 14px 13px 12px;
    border-radius: 12px;
    color: rgba(255,255,255,.76);
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    line-height: .86;
    letter-spacing: .03em;
    text-transform: uppercase;
    transition: color .18s ease, transform .18s ease, background .18s ease;
}
.force-floating-header .primary-nav a::before {
    content: "";
    position: absolute;
    inset: auto 10px 6px;
    height: 3px;
    z-index: -1;
    background: var(--force-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
    box-shadow: 0 0 18px rgba(255,38,63,.85);
}
.force-floating-header .primary-nav a:hover {
    color: #fff;
    transform: translateY(-1px);
    background: rgba(255,255,255,.07);
}
.force-floating-header .primary-nav a:hover::before {
    transform: scaleX(1);
}
.force-floating-header .primary-nav .nav-cta {
    margin-left: 6px;
    padding-inline: 20px;
    color: #fff;
    background:
        linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    box-shadow: 0 14px 28px rgba(255,38,63,.28);
}
.force-floating-header .primary-nav .nav-cta::before {
    inset: 0;
    height: auto;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
    transform: translateX(-120%) skewX(-18deg);
    transition: transform .45s ease;
}
.force-floating-header .primary-nav .nav-cta:hover::before {
    transform: translateX(120%) skewX(-18deg);
}
.force-floating-header .nav-toggle {
    align-items: center;
    gap: 8px;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
.force-floating-header .nav-toggle span {
    display: block;
    width: 16px;
    height: 2px;
    background: #fff;
    border-radius: 99px;
}
.force-floating-header .nav-toggle em {
    font-family: var(--font-display);
    font-style: normal;
    font-size: 21px;
    line-height: .8;
    letter-spacing: .04em;
}
@media (max-width: 1040px) {
    .force-floating-header .brand { min-width: auto; }
    .force-floating-header .primary-nav a { font-size: 20px; padding-inline: 10px; }
}
@media (max-width: 900px) {
    .force-floating-header {
        top: 10px;
        width: calc(100vw - 20px);
        border-radius: 18px;
    }
    .force-floating-header .nav-toggle { display: inline-flex; }
    .force-floating-header .primary-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        display: none;
        padding: 10px;
        border-radius: 18px;
        background:
            linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
            rgba(5,5,5,.96);
        box-shadow: 0 24px 70px rgba(0,0,0,.38);
    }
    .force-floating-header .primary-nav.is-open { display: grid; }
    .force-floating-header .primary-nav a {
        width: 100%;
        padding: 18px 16px 15px;
        text-align: center;
        font-size: 30px;
    }
    .force-floating-header .primary-nav .nav-cta { margin-left: 0; }
}

/* Header real logos */
.force-floating-header {
    min-height: 76px;
}
.header-logos {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    min-width: 0;
    padding-left: 8px;
}
.force-logo-link,
.plesni-val-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    line-height: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0;
    overflow: visible !important;
}
.force-logo-link::before,
.force-logo-link::after,
.plesni-val-logo-link::before,
.plesni-val-logo-link::after {
    display: none !important;
    content: none !important;
}
.force-logo-link img {
    display: block;
    width: auto;
    height: 62px;
    max-width: none;
    object-fit: contain;
    transform: scale(1.10);
    transform-origin: center;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.40));
}
.plesni-val-logo-link img {
    display: block;
    width: auto;
    height: 26px;
    max-width: none;
    object-fit: contain;
    opacity: .86;
    filter: brightness(0) invert(1) drop-shadow(0 8px 16px rgba(0,0,0,.24));
}
.force-logo-link:hover,
.plesni-val-logo-link:hover {
    transform: translateY(-1px);
}
.force-floating-header .force-logo-link,
.force-floating-header .plesni-val-logo-link {
    transition: transform .18s ease, opacity .18s ease;
}
.force-floating-header .plesni-val-logo-link:hover img {
    opacity: 1;
}
@media (max-width: 1040px) {
    .header-logos { gap: 13px; padding-left: 4px; }
    .force-logo-link img { height: 56px; }
    .plesni-val-logo-link img { height: 23px; }
}
@media (max-width: 900px) {
    .force-floating-header { min-height: 66px; }
    .header-logos { gap: 10px; }
    .force-logo-link img { height: 50px; }
    .plesni-val-logo-link img { height: 20px; }
}
@media (max-width: 420px) {
    .plesni-val-logo-link { display: none; }
    .force-logo-link img { height: 48px; }
}

/* Hero v2 — YouTube video background + FORCE center lockup */
.hero-video-stage {
    min-height: 100svh;
    height: 100svh;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
    padding: 0;
    color: #fff;
    background: #030303;
    isolation: isolate;
}
.hero-video-bg {
    position: absolute;
    inset: 0;
    z-index: -4;
    overflow: hidden;
    background: #030303;
}
.hero-video-poster,
.hero-video-player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.hero-video-poster {
    z-index: 0;
    object-fit: cover;
    transform: scale(1.035);
    filter: saturate(.92) contrast(1.16) brightness(.52) blur(.5px);
    transition: opacity .72s ease;
}
.hero-video-player {
    z-index: 1;
    opacity: 0;
    transition: opacity .72s ease;
}
.hero-video-bg.is-playing .hero-video-player {
    opacity: 1;
}
.hero-video-bg.is-playing .hero-video-poster {
    opacity: 0;
}
.hero-video-bg iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: max(100vw, 177.78svh);
    height: max(56.25vw, 100svh);
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%) scale(1.16);
    transform-origin: center center;
    border: 0;
    pointer-events: none;
    filter: saturate(1.08) contrast(1.16) brightness(.66);
}
@media (prefers-reduced-motion: reduce) {
    .hero-video-player {
        display: none !important;
    }
    .hero-video-poster {
        transition: none !important;
    }
    .hero-force-title span {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }
}
.hero-video-overlay {
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        radial-gradient(circle at 50% 52%, rgba(255,38,63,.16), transparent 28%),
        linear-gradient(180deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.30) 45%, rgba(0,0,0,.72) 100%),
        linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.10), rgba(0,0,0,.70));
}
.hero-video-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: radial-gradient(circle at center, rgba(0,0,0,.34), transparent 70%);
    opacity: .48;
}
.hero-video-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(ellipse at center, transparent 0%, transparent 38%, rgba(0,0,0,.62) 100%),
        linear-gradient(180deg, rgba(0,0,0,.34), transparent 28%, transparent 58%, rgba(0,0,0,.70));
    pointer-events: none;
}
.hero-stage-center {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(94vw, 1280px);
    height: min(54vw, 520px);
    min-height: 280px;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    text-align: center;
}
.hero-force-title {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(2px, .45vw, 9px);
    margin: 0;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(118px, 23vw, 330px);
    font-weight: 400;
    line-height: .72;
    letter-spacing: .018em;
    text-transform: uppercase;
    text-shadow:
        0 0 18px rgba(255,255,255,.20),
        0 0 54px rgba(255,38,63,.24),
        0 24px 58px rgba(0,0,0,.80);
}
.hero-force-title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(1.05em) rotate(3deg);
    animation: forceLetterUp .72s cubic-bezier(.2,.92,.22,1) forwards;
    animation-delay: calc(.16s + var(--i) * .105s);
}
@keyframes forceLetterUp {
    0% { opacity: 0; transform: translateY(1.05em) rotate(3deg); filter: blur(8px); }
    72% { opacity: 1; transform: translateY(-.045em) rotate(-.6deg); filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) rotate(0); filter: blur(0); }
}
.hero-force-bg-mark {
    position: absolute;
    z-index: 3;
    right: clamp(4px, 8vw, 120px);
    top: 50%;
    width: auto;
    height: clamp(120px, 19vw, 280px);
    max-width: 42vw;
    object-fit: contain;
    opacity: .95;
    transform: translateY(-50%) rotate(-3deg);
    filter:
        drop-shadow(0 0 20px rgba(255,38,63,.28))
        drop-shadow(0 24px 42px rgba(0,0,0,.72));
    pointer-events: none;
}
@media (max-width: 760px) {
    .hero-stage-center {
        width: 96vw;
        height: 62vh;
    }
    .hero-force-title {
        font-size: clamp(112px, 38vw, 178px);
    }
    .hero-force-bg-mark {
        right: 50%;
        top: 58%;
        height: clamp(110px, 32vw, 160px);
        max-width: 70vw;
        transform: translate(50%, -50%) rotate(-4deg);
        opacity: .90;
    }
}

/* Hero center fix — keep FORCE lockup mathematically centered */
.hero-video-stage .hero-stage-center {
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    animation: none !important;
}
.hero-video-stage .hero-force-title {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: max-content;
    max-width: 94vw;
}
.hero-video-stage .hero-force-bg-mark {
    right: auto;
    left: calc(50% + clamp(170px, 26vw, 390px));
    top: calc(50% + clamp(18px, 4vw, 58px));
    transform: translate(-50%, -50%) rotate(-3deg);
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-title {
        max-width: 96vw;
    }
    .hero-video-stage .hero-force-bg-mark {
        left: 50%;
        top: calc(50% + 74px);
        transform: translate(-50%, -50%) rotate(-4deg);
    }
}

/* Hero team image placement — centered from bottom to mid hero */
.hero-video-stage .hero-force-bg-mark {
    right: auto !important;
    left: 50% !important;
    top: auto !important;
    bottom: 0 !important;
    width: auto !important;
    height: clamp(360px, 50svh, 560px) !important;
    max-width: min(92vw, 1180px) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    opacity: .96;
    transform: translateX(-50%) rotate(0deg) !important;
    transform-origin: center bottom;
    z-index: 3;
    filter:
        drop-shadow(0 0 22px rgba(255,38,63,.22))
        drop-shadow(0 24px 44px rgba(0,0,0,.78));
}
.hero-video-stage .hero-force-title {
    z-index: 2;
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-bg-mark {
        left: 50% !important;
        top: auto !important;
        bottom: 0 !important;
        height: clamp(260px, 44svh, 420px) !important;
        max-width: 104vw !important;
        transform: translateX(-50%) rotate(0deg) !important;
    }
}

/* Hero final scale tune — larger FORCE and oversized bottom team image */
.hero-video-stage .hero-force-title {
    font-size: clamp(150px, 28vw, 430px) !important;
    line-height: .70 !important;
    letter-spacing: .014em !important;
}
.hero-video-stage .hero-force-bg-mark {
    right: auto !important;
    left: 50% !important;
    top: auto !important;
    bottom: -8svh !important;
    width: auto !important;
    height: clamp(620px, 86svh, 980px) !important;
    max-width: min(150vw, 1900px) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    opacity: .98;
    transform: translateX(-50%) rotate(0deg) !important;
    transform-origin: center bottom;
    z-index: 3;
    filter:
        drop-shadow(0 0 26px rgba(255,38,63,.24))
        drop-shadow(0 32px 56px rgba(0,0,0,.82));
}
@media (max-width: 1200px) {
    .hero-video-stage .hero-force-title {
        font-size: clamp(128px, 30vw, 330px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -6svh !important;
        height: clamp(520px, 78svh, 780px) !important;
        max-width: 150vw !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-title {
        font-size: clamp(118px, 42vw, 220px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -4svh !important;
        height: clamp(380px, 62svh, 620px) !important;
        max-width: 160vw !important;
    }
}

/* Hero image swap/position — new Photoroom image lower, text stays above */
.hero-video-stage .hero-force-title {
    z-index: 4 !important;
}
.hero-video-stage .hero-force-bg-mark {
    z-index: 3 !important;
    bottom: -22svh !important;
    height: clamp(640px, 88svh, 1040px) !important;
    max-width: min(150vw, 1900px) !important;
    opacity: .98;
    transform: translateX(-50%) rotate(0deg) !important;
}
@media (max-width: 1200px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -18svh !important;
        height: clamp(540px, 80svh, 820px) !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -12svh !important;
        height: clamp(390px, 64svh, 650px) !important;
    }
}

/* Hero layering tune — FORCE behind people and placed in upper marked area */
.hero-video-stage .hero-force-title {
    z-index: 2 !important;
    top: 36% !important;
    font-size: clamp(138px, 24vw, 360px) !important;
    opacity: .98;
    text-shadow:
        0 0 18px rgba(255,255,255,.18),
        0 0 54px rgba(255,38,63,.22),
        0 24px 58px rgba(0,0,0,.84);
}
.hero-video-stage .hero-force-bg-mark {
    z-index: 4 !important;
    bottom: -18svh !important;
    height: clamp(640px, 88svh, 1040px) !important;
}
@media (max-width: 1200px) {
    .hero-video-stage .hero-force-title {
        top: 37% !important;
        font-size: clamp(120px, 27vw, 310px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -15svh !important;
        height: clamp(540px, 80svh, 820px) !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-title {
        top: 39% !important;
        font-size: clamp(100px, 36vw, 190px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -10svh !important;
        height: clamp(390px, 64svh, 650px) !important;
    }
}

/* Hero correction — FORCE centered, people image pushed far down */
.hero-video-stage .hero-force-title {
    z-index: 2 !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: clamp(150px, 28vw, 430px) !important;
}
.hero-video-stage .hero-force-bg-mark {
    z-index: 4 !important;
    left: 50% !important;
    top: auto !important;
    bottom: -40svh !important;
    height: clamp(620px, 90svh, 1080px) !important;
    max-width: min(150vw, 1900px) !important;
    transform: translateX(-50%) rotate(0deg) !important;
    object-position: center bottom !important;
}
@media (max-width: 1200px) {
    .hero-video-stage .hero-force-title {
        top: 50% !important;
        font-size: clamp(130px, 30vw, 340px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -36svh !important;
        height: clamp(540px, 86svh, 860px) !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-title {
        top: 50% !important;
        font-size: clamp(112px, 40vw, 210px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -28svh !important;
        height: clamp(390px, 72svh, 680px) !important;
    }
}

/* Hero micro tune — FORCE slightly above center */
.hero-video-stage .hero-force-title {
    top: 45% !important;
}
@media (max-width: 1200px) {
    .hero-video-stage .hero-force-title {
        top: 45% !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage .hero-force-title {
        top: 46% !important;
    }
}

/* Hero large-screen tune — push people lower only on wide displays */
@media (min-width: 1600px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -52svh !important;
        height: clamp(620px, 88svh, 1040px) !important;
    }
    .hero-video-stage .hero-force-title {
        top: 45% !important;
    }
}
@media (min-width: 2200px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -56svh !important;
        height: clamp(660px, 88svh, 1120px) !important;
    }
}

/* Hero laptop tune — raise people image on 13-16 inch screens, keep large screens lower */
@media (max-width: 1599px) and (min-width: 761px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -30svh !important;
        height: clamp(560px, 86svh, 900px) !important;
    }
}
@media (max-width: 1280px) and (min-width: 761px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -26svh !important;
        height: clamp(520px, 82svh, 820px) !important;
    }
}

/* Hero layout reset — taller flowing hero, dynamic responsive scale */
.hero-video-stage {
    --hero-title-size: clamp(9rem, 24vw, 26rem);
    --hero-title-top: clamp(22rem, 46svh, 31rem);
    --hero-people-height: clamp(42rem, 92svh, 64rem);
    --hero-people-bottom: clamp(-18rem, -24svh, -10rem);
    min-height: clamp(64rem, 132svh, 88rem) !important;
    height: auto !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.hero-video-bg {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
}
.hero-video-bg iframe {
    width: max(100vw, 177.78svh) !important;
    height: max(100%, 100svh, 56.25vw) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    transform: translate(-50%, -50%) scale(1.16) !important;
}
.hero-video-stage .hero-stage-center {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    transform: none !important;
    animation: none !important;
    display: block !important;
}
.hero-video-stage .hero-force-title {
    position: absolute !important;
    left: 50% !important;
    top: var(--hero-title-top) !important;
    transform: translate(-50%, -50%) !important;
    width: max-content !important;
    max-width: 112vw !important;
    z-index: 2 !important;
    font-size: var(--hero-title-size) !important;
    line-height: .70 !important;
    letter-spacing: .014em !important;
}
.hero-video-stage .hero-force-bg-mark {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: var(--hero-people-bottom) !important;
    width: auto !important;
    height: var(--hero-people-height) !important;
    max-width: min(150vw, 120rem) !important;
    z-index: 4 !important;
    transform: translateX(-50%) rotate(0deg) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}
@media (max-width: 1599px) and (min-width: 761px) {
    .hero-video-stage {
        --hero-title-size: clamp(8rem, 26vw, 22rem);
        --hero-title-top: clamp(20rem, 45svh, 28rem);
        --hero-people-height: clamp(36rem, 84svh, 54rem);
        --hero-people-bottom: clamp(-14rem, -19svh, -8rem);
        min-height: clamp(58rem, 124svh, 78rem) !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage {
        --hero-title-size: clamp(7rem, 38vw, 13rem);
        --hero-title-top: clamp(18rem, 44svh, 24rem);
        --hero-people-height: clamp(28rem, 66svh, 42rem);
        --hero-people-bottom: clamp(-10rem, -13svh, -5rem);
        min-height: clamp(50rem, 116svh, 66rem) !important;
    }
}

/* Hero restore compact viewport composition — match approved screenshot */
.hero-video-stage {
    min-height: 100svh !important;
    height: 100svh !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.hero-video-bg {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
}
.hero-video-bg iframe {
    width: max(100vw, 177.78svh) !important;
    height: max(56.25vw, 100svh) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    transform: translate(-50%, -50%) scale(1.16) !important;
}
.hero-video-stage .hero-stage-center {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    transform: translate(-50%, -50%) !important;
    animation: none !important;
    display: block !important;
}
.hero-video-stage .hero-force-title {
    position: absolute !important;
    left: 50% !important;
    top: 45% !important;
    transform: translate(-50%, -50%) !important;
    width: max-content !important;
    max-width: 112vw !important;
    z-index: 2 !important;
    font-size: clamp(150px, 28vw, 430px) !important;
    line-height: .70 !important;
    letter-spacing: .014em !important;
}
.hero-video-stage .hero-force-bg-mark {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -40svh !important;
    width: auto !important;
    height: clamp(620px, 90svh, 1080px) !important;
    max-width: min(150vw, 1900px) !important;
    z-index: 4 !important;
    transform: translateX(-50%) rotate(0deg) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}
@media (min-width: 1600px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -52svh !important;
        height: clamp(620px, 88svh, 1040px) !important;
    }
}
@media (min-width: 2200px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -56svh !important;
        height: clamp(660px, 88svh, 1120px) !important;
    }
}
@media (max-width: 1599px) and (min-width: 761px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -30svh !important;
        height: clamp(560px, 86svh, 900px) !important;
    }
}
@media (max-width: 1280px) and (min-width: 761px) {
    .hero-video-stage .hero-force-bg-mark {
        bottom: -26svh !important;
        height: clamp(520px, 82svh, 820px) !important;
    }
}
@media (max-width: 760px) {
    .hero-video-stage {
        min-height: 100svh !important;
        height: 100svh !important;
    }
    .hero-video-stage .hero-force-title {
        top: 46% !important;
        font-size: clamp(112px, 40vw, 210px) !important;
        max-width: 112vw !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        bottom: -28svh !important;
        height: clamp(390px, 72svh, 680px) !important;
        max-width: 160vw !important;
    }
}

/* Hero seamless flow — one long page, FORCE above image with a slight overlap */
.hero-video-stage {
    min-height: clamp(940px, 122svh, 1280px) !important;
    height: auto !important;
    display: block !important;
    overflow: hidden !important;
}
.hero-video-stage::after {
    background:
        radial-gradient(ellipse at center, transparent 0%, transparent 42%, rgba(0,0,0,.54) 100%),
        linear-gradient(180deg, rgba(0,0,0,.32) 0%, transparent 24%, transparent 61%, rgba(244,241,234,.10) 75%, rgba(244,241,234,.64) 91%, var(--force-soft) 100%) !important;
}
.hero-video-stage .hero-stage-center {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    display: block !important;
}
.hero-video-stage .hero-force-title {
    top: clamp(200px, 30svh, 315px) !important;
    z-index: 5 !important;
    font-size: clamp(150px, 28vw, 420px) !important;
    max-width: 114vw !important;
    text-shadow:
        0 0 18px rgba(255,255,255,.20),
        0 0 54px rgba(255,38,63,.24),
        0 28px 68px rgba(0,0,0,.88) !important;
}
.hero-video-stage .hero-force-bg-mark {
    top: clamp(350px, 56svh, 660px) !important;
    bottom: auto !important;
    z-index: 6 !important;
    height: clamp(560px, 78svh, 960px) !important;
    max-width: min(150vw, 1840px) !important;
    transform: translate(-50%, -50%) rotate(0deg) !important;
}
.intro-section {
    position: relative;
    z-index: 2;
    margin-top: -1px;
    padding-top: clamp(80px, 11vw, 150px);
    background: var(--force-soft);
}
@media (min-width: 1600px) {
    .hero-video-stage .hero-force-title {
        top: clamp(220px, 28svh, 335px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        top: clamp(405px, 57svh, 720px) !important;
        height: clamp(660px, 78svh, 1040px) !important;
    }
}
@media (max-width: 900px) {
    .hero-video-stage {
        min-height: clamp(760px, 112svh, 940px) !important;
    }
    .hero-video-stage .hero-force-title {
        top: clamp(165px, 28svh, 245px) !important;
        font-size: clamp(108px, 39vw, 230px) !important;
        max-width: 118vw !important;
        z-index: 5 !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        top: clamp(335px, 59svh, 535px) !important;
        height: clamp(410px, 66svh, 650px) !important;
        max-width: 170vw !important;
        z-index: 6 !important;
    }
}
@media (max-width: 480px) {
    .hero-video-stage {
        min-height: clamp(700px, 108svh, 860px) !important;
    }
    .hero-video-stage .hero-force-title {
        top: clamp(155px, 27svh, 215px) !important;
        font-size: clamp(98px, 42vw, 178px) !important;
        z-index: 5 !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        top: clamp(310px, 57svh, 475px) !important;
        height: clamp(360px, 61svh, 560px) !important;
        z-index: 6 !important;
    }
}

/* Seamless page reset — remove old section-divider language */
.section {
    border-radius: 0 !important;
}
.dark-panel,
.schedule-strip,
.signup {
    border-radius: 0 !important;
}
.dark-panel {
    margin-top: 0;
    box-shadow: inset 0 90px 110px rgba(244,241,234,.05);
}
.program-card,
.merch-copy,
.merch-placeholder,
.contact-card {
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

/* Unified dark dotted canvas + floating sections */
.hero-video-stage::after {
    background:
        radial-gradient(ellipse at center, transparent 0%, transparent 42%, rgba(0,0,0,.58) 100%),
        linear-gradient(180deg, rgba(0,0,0,.30) 0%, transparent 24%, transparent 58%, rgba(5,5,6,.28) 76%, rgba(5,5,6,.82) 92%, #050506 100%) !important;
}
.section,
.intro-section,
.dark-panel,
.schedule-strip,
.trainers,
.merch-section,
.signup,
.contact {
    background: transparent !important;
    color: #fff !important;
}
.section {
    position: relative;
    z-index: 0;
    isolation: isolate;
}
.section::before {
    content: "";
    position: absolute;
    inset: clamp(18px, 2.4vw, 34px) max(14px, calc((100vw - 1240px)/2));
    z-index: -1;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: clamp(28px, 4vw, 56px);
    background:
        linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.018)),
        rgba(255,255,255,.025);
    box-shadow: 0 30px 90px rgba(0,0,0,.28);
    pointer-events: none;
}
.intro-section::before,
.trainers::before,
.merch-section::before,
.contact::before {
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(244,241,234,.82)),
        rgba(255,255,255,.86);
    border-color: rgba(255,255,255,.38);
}
.intro-section,
.trainers,
.merch-section,
.contact {
    color: var(--force-ink) !important;
}
.intro-section h2,
.trainers h2,
.merch-section h2,
.contact h2 {
    color: #080808 !important;
}
.intro-section .split p,
.merch-copy p:not(.eyebrow),
.contact-card p,
.trainer-grid span {
    color: rgba(17,17,17,.68) !important;
}
.dark-panel::before,
.signup::before {
    background:
        radial-gradient(circle at 50% 0%, rgba(255,38,63,.13), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.012)),
        rgba(0,0,0,.48);
}
.schedule-strip::before {
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.20), transparent 24%),
        linear-gradient(135deg, rgba(255,38,63,.94), rgba(178,0,20,.84));
}
.merch-copy,
.contact-card {
    background: rgba(255,255,255,.82) !important;
}
.trainer-grid {
    background: rgba(255,255,255,.70);
}
.site-footer {
    background: rgba(0,0,0,.72) !important;
}

/* Laptop/wide hero clearance — keep header from covering the FORCE word */
@media (min-width: 1400px) and (max-width: 1900px) and (max-height: 1050px) {
    .hero-video-stage {
        min-height: clamp(980px, 128svh, 1220px) !important;
    }
    .hero-video-stage .hero-force-title {
        top: clamp(285px, 38svh, 390px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        top: clamp(500px, 68svh, 680px) !important;
    }
}
@media (min-width: 1901px) and (max-height: 1500px) {
    .hero-video-stage .hero-force-title {
        top: clamp(360px, 36svh, 470px) !important;
    }
    .hero-video-stage .hero-force-bg-mark {
        top: clamp(560px, 66svh, 840px) !important;
    }
}

/* No-section-break flow — video fades into dots, content floats without section slabs */
.hero-video-stage {
    overflow: visible !important;
    background: transparent !important;
    min-height: clamp(760px, 102svh, 1120px) !important;
    margin-bottom: 0 !important;
}
.hero-video-bg,
.hero-video-overlay,
.hero-video-stage::before,
.hero-video-stage::after {
    pointer-events: none;
}
.hero-video-bg {
    background: transparent !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 62%, rgba(0,0,0,.82) 76%, rgba(0,0,0,.28) 91%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 62%, rgba(0,0,0,.82) 76%, rgba(0,0,0,.28) 91%, transparent 100%);
}
.hero-video-overlay {
    background:
        radial-gradient(circle at 50% 45%, rgba(255,38,63,.14), transparent 30%),
        linear-gradient(180deg, rgba(0,0,0,.54) 0%, rgba(0,0,0,.22) 42%, rgba(0,0,0,.54) 72%, rgba(5,5,6,.12) 91%, transparent 100%),
        linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.10), rgba(0,0,0,.68)) !important;
}
.hero-video-stage::after {
    inset: 0 0 -16vw 0 !important;
    background:
        radial-gradient(ellipse at center, transparent 0%, transparent 44%, rgba(0,0,0,.54) 100%),
        linear-gradient(180deg, transparent 0%, transparent 58%, rgba(5,5,6,.10) 72%, rgba(5,5,6,.42) 86%, transparent 100%) !important;
}
.hero-video-stage .hero-force-bg-mark {
    filter:
        drop-shadow(0 0 26px rgba(255,38,63,.24))
        drop-shadow(0 36px 70px rgba(0,0,0,.86)) !important;
}
.section::before {
    content: none !important;
    display: none !important;
}
.section,
.intro-section,
.dark-panel,
.schedule-strip,
.trainers,
.merch-section,
.signup,
.contact {
    background: transparent !important;
    box-shadow: none !important;
}
.section {
    padding-top: clamp(58px, 8vw, 120px) !important;
    padding-bottom: clamp(58px, 8vw, 120px) !important;
}
.intro-section {
    margin-top: 0 !important;
    padding-top: clamp(18px, 3vw, 48px) !important;
}
.intro-section,
.trainers,
.merch-section,
.contact {
    color: #fff !important;
}
.intro-section h2,
.trainers h2,
.merch-section h2,
.contact h2 {
    color: #fff !important;
    text-shadow: 0 18px 55px rgba(0,0,0,.52);
}
.intro-section .split p,
.merch-copy p:not(.eyebrow),
.contact-card p,
.trainer-grid span {
    color: rgba(255,255,255,.66) !important;
}
.intro-section .split > div,
.trainer-grid,
.merch-copy,
.contact-card {
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
        rgba(0,0,0,.26) !important;
    color: #fff !important;
    box-shadow: 0 28px 88px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(9px);
}
.intro-section .split > div,
.contact-card {
    border-radius: var(--force-radius);
    padding: clamp(24px, 4vw, 42px);
}
.trainer-grid {
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: var(--force-radius);
    overflow: hidden;
}
.trainer-grid article {
    border-color: rgba(255,255,255,.10) !important;
}
.trainer-grid strong,
.contact-card a {
    color: #fff !important;
}
.schedule-strip {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    width: min(1180px, calc(100vw - 48px));
    margin-inline: auto;
    border-radius: var(--force-section-radius) !important;
    padding-inline: clamp(28px, 6vw, 72px) !important;
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(135deg, rgba(255,38,63,.94), rgba(178,0,20,.84)) !important;
    box-shadow: 0 30px 90px rgba(255,38,63,.18), 0 30px 90px rgba(0,0,0,.28) !important;
}
.schedule-strip .quick-actions {
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 0;
}
.schedule-strip .button {
    min-height: 58px;
    min-width: 138px;
    padding-inline: 28px;
    font-size: var(--force-fs-button) !important;
    line-height: .86;
    letter-spacing: .04em;
}
.schedule-strip .button-primary {
    color: #fff;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    border-color: transparent;
    box-shadow: 0 14px 28px rgba(255,38,63,.28);
}
.schedule-strip .button-primary:hover {
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    box-shadow: 0 18px 42px rgba(255,38,63,.34), 0 12px 34px rgba(0,0,0,.20);
}
.schedule-strip .button-secondary {
    color: #fff;
    background: rgba(5,5,6,.20);
    border-color: rgba(255,255,255,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 36px rgba(0,0,0,.18);
}
.schedule-strip .button-secondary:hover {
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.64);
}
.signup {
    width: min(1180px, calc(100vw - 48px));
    margin-inline: auto;
    padding: clamp(54px, 5vw, 82px) clamp(42px, 5vw, 72px) !important;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: var(--force-section-radius) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,38,63,.13), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.012)),
        rgba(0,0,0,.48) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.28) !important;
}
.signup-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    align-items: center;
    gap: clamp(28px, 5vw, 72px);
    overflow: hidden;
    min-height: 0;
}
.signup-cta::after {
    content: "VPIS";
    position: absolute;
    right: clamp(20px, 5vw, 78px);
    bottom: clamp(26px, 4vw, 56px);
    z-index: 0;
    color: rgba(255,255,255,.035);
    font-family: var(--font-display);
    font-size: clamp(90px, 14vw, 210px);
    line-height: .75;
    letter-spacing: -.06em;
    transform: rotate(-4deg);
    pointer-events: none;
}
.signup-cta-copy,
.signup-cta-side {
    position: relative;
    z-index: 1;
    min-width: 0;
}
.signup-cta-copy h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(46px, 6.6vw, 94px);
    line-height: .88;
    text-wrap: balance;
}
.signup-cta-copy p:not(.eyebrow) {
    max-width: 620px;
    margin-top: 24px;
    overflow-wrap: normal;
    word-break: normal;
}
.signup-cta-side {
    display: grid;
    gap: 22px;
    justify-items: stretch;
    align-content: center;
}
.signup-steps {
    display: grid;
    gap: 10px;
    width: 100%;
    padding: clamp(16px, 2vw, 22px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: var(--force-r-lg);
    background: rgba(255,255,255,.045);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.signup-steps span {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.25;
}
.signup-steps strong {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 30px;
    border-radius: 11px;
    color: #fff;
    background: rgba(255,38,63,.84);
    font-size: 12px;
    letter-spacing: .08em;
}
.signup-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    justify-items: stretch;
}
.signup-actions .button {
    width: 100%;
    justify-content: center;
    white-space: nowrap;
}
@media (max-width: 1180px) {
    .signup-cta {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
        padding-inline: clamp(22px, 6vw, 42px) !important;
    }
    .signup-cta-copy h2 {
        max-width: 680px;
        font-size: clamp(44px, 13vw, 82px);
    }
    .signup-cta-copy p:not(.eyebrow) {
        max-width: 640px;
        font-size: 17px !important;
    }
    .signup-cta-side {
        width: min(100%, 460px);
        justify-self: start;
    }
}
.site-footer {
    background: transparent !important;
}
@media (max-width: 900px) {
    .schedule-strip,
    .signup {
        width: calc(100vw - 32px);
        grid-template-columns: 1fr;
    }
    .schedule-strip .quick-actions {
        width: 100%;
        justify-content: stretch;
        flex-direction: column;
        align-items: stretch;
    }
    .schedule-strip .button {
        width: 100%;
        min-width: 0;
    }
}

/* Simple video-to-page-background fade — video disappears into the same dotted page background */
.hero-video-stage {
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
}
.hero-video-bg {
    inset: 0 !important;
    height: 100% !important;
    background: transparent !important;
    -webkit-mask-image: linear-gradient(to bottom,
        #000 0%,
        #000 46%,
        rgba(0,0,0,.72) 62%,
        rgba(0,0,0,.30) 78%,
        rgba(0,0,0,.06) 90%,
        transparent 98%,
        transparent 100%) !important;
    mask-image: linear-gradient(to bottom,
        #000 0%,
        #000 46%,
        rgba(0,0,0,.72) 62%,
        rgba(0,0,0,.30) 78%,
        rgba(0,0,0,.06) 90%,
        transparent 98%,
        transparent 100%) !important;
}
.hero-video-bg iframe {
    top: 50% !important;
    left: 50% !important;
    width: max(100vw, 177.78svh) !important;
    height: max(56.25vw, 100svh) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    transform: translate(-50%, -50%) scale(1.16) !important;
    transform-origin: center center !important;
}
.hero-video-stage::before {
    content: none !important;
    display: none !important;
}
.hero-video-stage::after {
    content: none !important;
    display: none !important;
}
.hero-video-overlay {
    inset: 0 !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,38,63,.10), transparent 34%),
        linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 42%, transparent 100%) !important;
}
.intro-section {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 0 !important;
    padding-top: clamp(78px, 8vw, 128px) !important;
}
.intro-section::before {
    content: none !important;
    display: none !important;
}

/* Intro values section polish */
.intro-section .split {
    align-items: center !important;
}
.intro-section .split > h2 {
    max-width: 700px;
    text-wrap: balance;
}
.intro-section .split > .intro-copy-card {
    position: relative;
    border: 1px solid rgba(255,255,255,.12) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.028)),
        rgba(7,7,8,.62) !important;
    border-radius: var(--force-radius);
    padding: clamp(30px, 4vw, 46px) !important;
    box-shadow:
        0 44px 110px rgba(0,0,0,.64),
        0 18px 46px rgba(0,0,0,.42),
        0 0 54px rgba(255,38,63,.10),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter: blur(12px) saturate(118%);
    transform: translateY(-4px);
}
.intro-section .intro-copy-card p {
    margin: 0 !important;
    font-size: clamp(18px, 1.55vw, 23px) !important;
    line-height: 1.48;
    color: rgba(255,255,255,.70) !important;
}
.intro-section .intro-copy-card strong {
    color: rgba(255,255,255,.90);
    font-weight: 900;
}

/* Program cards with simple top image + bottom fade */
.program-grid {
    align-items: stretch;
}
.program-card.program-card-image {
    --program-card-bg: #09090a;
    --program-image-h: clamp(260px, 20vw, 320px);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(620px, 46vw, 720px) !important;
    padding: clamp(26px, 3vw, 34px) !important;
    padding-top: calc(var(--program-image-h) + 18px) !important;
    background: var(--program-card-bg) !important;
    box-shadow:
        0 34px 92px rgba(0,0,0,.46),
        inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.program-card.program-card-image.accent {
    --program-card-bg: #c40018;
    background: var(--program-card-bg) !important;
}
.program-card.program-card-image > img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: -2;
    width: 100%;
    height: var(--program-image-h);
    object-fit: cover;
    object-position: center;
    filter: saturate(1.05) contrast(1.04) brightness(.9);
}
.program-card.program-card-image::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--program-image-h) - 90px);
    height: 90px;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, var(--program-card-bg) 100%);
}
.program-card.program-card-image::after {
    content: none !important;
    display: none !important;
}
.program-card.program-card-image span,
.program-card.program-card-image h3,
.program-card.program-card-image p,
.program-card.program-card-image a {
    position: relative;
    z-index: 1;
}
.program-card.program-card-image span {
    display: block;
    margin-bottom: 18px;
}
.program-card.program-card-image h3 {
    margin-top: 0;
    text-shadow: none;
}
.program-card.program-card-image p {
    font-size: clamp(15px, 1.12vw, 16.5px) !important;
    line-height: 1.5;
    color: rgba(255,255,255,.74) !important;
}
.program-card.program-card-image a {
    width: fit-content;
}
.program-card.program-card-image .program-card-cta {
    width: fit-content;
    min-height: 50px;
    min-width: 132px;
    margin-top: auto;
    padding: 15px 22px 12px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    border-radius: var(--force-cta-radius);
}
.program-card.program-card-image .program-card-cta::before {
    inset: auto 16px 8px;
}
.program-card.program-card-image.accent .program-card-cta {
    background: rgba(5,5,6,.24);
    border-color: rgba(255,255,255,.50);
}
.program-card.program-card-image.accent .program-card-cta:hover {
    background: rgba(5,5,6,.32);
    border-color: rgba(255,255,255,.70);
}
@media (max-width: 900px) {
    .program-card.program-card-image {
        --program-image-h: 260px;
        min-height: 600px !important;
    }
}

/* Mobile navigation v3 — thumb-friendly full-screen tray */
@media (max-width: 900px) {
    html.force-nav-open,
    html.force-nav-open body {
        overflow: hidden;
        overscroll-behavior: none;
    }

    .force-floating-header {
        top: max(10px, env(safe-area-inset-top));
        width: calc(100vw - 20px);
        min-height: 64px;
        padding: 8px 8px 8px 10px;
        border-radius: 18px;
        z-index: 1000;
    }

    .force-floating-header.nav-is-open {
        background:
            radial-gradient(circle at 12% 50%, rgba(255,38,63,.30), transparent 34%),
            linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.035)),
            rgba(3,3,3,.92);
    }

    .header-logos {
        gap: 9px;
        padding-left: 0;
        max-width: calc(100vw - 118px);
    }

    .force-logo-link img {
        height: clamp(42px, 11vw, 50px);
    }

    .plesni-val-logo-link img {
        height: clamp(16px, 4.4vw, 20px);
    }

    .force-floating-header .nav-toggle {
        position: relative;
        z-index: 1002;
        display: inline-grid;
        grid-template-columns: 18px auto;
        grid-template-rows: 1fr 1fr;
        align-items: center;
        column-gap: 8px;
        min-height: 46px;
        min-width: 82px;
        padding: 9px 13px;
        border-radius: 14px;
        background: rgba(255,255,255,.10);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .force-floating-header .nav-toggle span {
        grid-column: 1;
        width: 18px;
        transform-origin: center;
        transition: transform .22s ease, opacity .18s ease;
    }

    .force-floating-header .nav-toggle span:first-child {
        grid-row: 1;
        align-self: end;
    }

    .force-floating-header .nav-toggle span:nth-child(2) {
        grid-row: 2;
        align-self: start;
    }

    .force-floating-header .nav-toggle em {
        grid-column: 2;
        grid-row: 1 / span 2;
        font-size: 21px;
        transform: translateY(1px);
    }

    .force-floating-header .nav-toggle.is-open span:first-child {
        transform: translateY(4px) rotate(45deg);
    }

    .force-floating-header .nav-toggle.is-open span:nth-child(2) {
        transform: translateY(-4px) rotate(-45deg);
    }

    .force-floating-header .primary-nav {
        position: absolute !important;
        top: calc(100% + 10px) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        z-index: 1001;
        display: grid !important;
        grid-template-columns: 1fr;
        align-content: start;
        gap: 8px;
        max-height: calc(100svh - 94px);
        padding: 14px;
        border-radius: 24px;
        background:
            radial-gradient(circle at 8% 0%, rgba(255,38,63,.30), transparent 34%),
            radial-gradient(circle at 92% 100%, rgba(255,255,255,.12), transparent 30%),
            linear-gradient(145deg, rgba(22,22,22,.98), rgba(5,5,5,.98));
        border: 1px solid rgba(255,255,255,.16);
        box-shadow: 0 30px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.12);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px) scale(.98);
        transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
    }

    .force-floating-header .primary-nav::before {
        content: "MENI";
        display: block;
        margin: 2px 8px 4px;
        color: rgba(255,255,255,.46);
        font-size: 12px;
        font-weight: 900;
        letter-spacing: .22em;
    }

    .force-floating-header .primary-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
        transition-delay: 0s;
    }

    .force-floating-header .primary-nav a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 56px;
        padding: 17px 18px 14px;
        border-radius: 18px;
        text-align: left;
        font-size: clamp(28px, 9vw, 40px);
        color: #fff;
        background: rgba(255,255,255,.055);
        border: 1px solid rgba(255,255,255,.075);
    }

    .force-floating-header .primary-nav a::after {
        content: "→";
        margin-left: 16px;
        color: rgba(255,38,63,.96);
        font-family: var(--font-body);
        font-size: 18px;
        font-weight: 900;
        line-height: 1;
    }

    .force-floating-header .primary-nav a::before {
        inset: auto 18px 10px;
        height: 2px;
    }

    .force-floating-header .primary-nav .nav-cta {
        min-height: 62px;
        margin: 6px 0 0;
        padding-inline: 20px;
        color: #fff;
        background: linear-gradient(135deg, #ff263f 0%, #b90016 100%);
        border-color: rgba(255,255,255,.16);
    }
}

@media (max-width: 420px) {
    .force-floating-header .primary-nav {
        top: calc(100% + 8px) !important;
        padding: 12px;
        gap: 7px;
        max-height: calc(100svh - 88px);
    }

    .force-floating-header .primary-nav a {
        min-height: 52px;
        padding: 15px 16px 12px;
    }
}

@media (max-width: 360px) {
    .force-floating-header .nav-toggle {
        min-width: 72px;
        padding-inline: 10px;
    }

    .force-floating-header .nav-toggle em {
        font-size: 18px;
    }

    .force-floating-header .primary-nav a {
        font-size: 27px;
    }
}

/* Mobile hero + section rhythm v1 — scoped to phones only, desktop untouched */
@media (max-width: 760px) {
    .hero-video-stage {
        min-height: clamp(700px, 96svh, 820px) !important;
        overflow: hidden !important;
        background: transparent !important;
        background-image: none !important;
        background-size: auto !important;
    }

    .hero-video-bg iframe {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .hero-video-bg {
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }

    .hero-video-overlay {
        background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.08) 42%, transparent 100%) !important;
    }

    .hero-video-stage .hero-force-title {
        top: clamp(150px, 25svh, 205px) !important;
        font-size: clamp(96px, 34vw, 142px) !important;
        max-width: 100vw !important;
        text-shadow:
            0 0 18px rgba(255,255,255,.22),
            0 0 54px rgba(255,38,63,.28),
            0 24px 62px rgba(0,0,0,.90) !important;
    }

    .hero-video-stage .hero-force-bg-mark {
        top: clamp(365px, 56svh, 470px) !important;
        height: clamp(370px, 56svh, 500px) !important;
        max-width: 150vw !important;
        filter:
            drop-shadow(0 0 22px rgba(255,38,63,.22))
            drop-shadow(0 30px 58px rgba(0,0,0,.86)) !important;
    }

    .intro-section {
        padding-top: clamp(44px, 9vw, 70px) !important;
    }

    .section {
        padding-top: clamp(48px, 12vw, 72px) !important;
        padding-bottom: clamp(48px, 12vw, 72px) !important;
    }

    .section-heading {
        gap: 14px;
        margin-bottom: 28px;
    }

    h2 {
        font-size: clamp(38px, 13vw, 56px);
        line-height: .92;
    }

    .section-label,
    .eyebrow {
        font-size: 12px;
        letter-spacing: .22em;
        margin-bottom: 18px;
    }

    .intro-section .split,
    .section-heading,
    .schedule-strip,
    .signup,
    .site-footer {
        gap: 22px;
    }

    .intro-section .split > .intro-copy-card,
    .merch-copy,
    .contact-card {
        padding: 24px !important;
        border-radius: 22px !important;
    }

    .intro-section .intro-copy-card p,
    .signup p:not(.eyebrow),
    .merch-copy p:not(.eyebrow),
    .contact-card p {
        font-size: 17px !important;
        line-height: 1.52;
    }

    .program-grid {
        gap: 16px;
    }

    .program-card.program-card-image {
        --program-image-h: clamp(170px, 48vw, 220px);
        min-height: auto !important;
        padding: 22px !important;
        padding-top: calc(var(--program-image-h) + 18px) !important;
        border-radius: 24px;
    }

    .program-card.program-card-image p {
        font-size: 15px !important;
        line-height: 1.48;
    }

    .schedule-strip,
    .signup {
        width: calc(100vw - 24px);
        padding: 28px 22px !important;
        border-radius: 24px !important;
    }

    .quick-actions,
    .hero-actions {
        width: 100%;
        gap: 10px;
    }

    .quick-actions .button,
    .signup .button {
        width: 100%;
        min-height: 50px;
    }

    .trainer-grid {
        border-radius: 24px;
    }

    .trainer-grid article {
        min-height: 126px;
        padding: 22px 20px;
    }

    .merch-section {
        gap: 18px;
    }

    .merch-placeholder {
        min-height: 360px;
        border-radius: 24px;
        padding: 28px;
    }

    .merch-placeholder > span {
        font-size: clamp(64px, 22vw, 96px);
    }

    .contact-card a {
        font-size: clamp(27px, 9vw, 34px);
    }
}

@media (max-width: 390px) {
    .hero-video-stage {
        min-height: clamp(660px, 94svh, 780px) !important;
    }

    .hero-video-stage .hero-force-title {
        top: clamp(142px, 24svh, 188px) !important;
        font-size: clamp(92px, 33vw, 128px) !important;
    }

    .hero-video-stage .hero-force-bg-mark {
        top: clamp(340px, 55svh, 440px) !important;
        height: clamp(350px, 54svh, 470px) !important;
    }
}

/* Hero small descriptor */
.hero-force-kicker {
    position: absolute !important;
    left: 50% !important;
    top: clamp(150px, 19svh, 220px) !important;
    z-index: 7 !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: max-content;
    max-width: calc(100vw - 48px);
    padding: 9px 15px 8px;
    color: rgba(255,255,255,.90);
    background: rgba(5,5,6,.34);
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    box-shadow: 0 16px 44px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(9px) saturate(120%);
    font-family: var(--font-body);
    font-size: clamp(12px, .95vw, 15px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .30em;
    text-transform: uppercase;
    text-shadow: 0 8px 24px rgba(0,0,0,.62);
}
@media (min-width: 1600px) {
    .hero-force-kicker {
        top: clamp(178px, 19svh, 232px) !important;
    }
}
@media (max-width: 760px) {
    .hero-force-kicker {
        top: clamp(110px, 15svh, 124px) !important;
        padding: 7px 12px 6px;
        font-size: 11px;
        letter-spacing: .26em;
        background: rgba(5,5,6,.28);
    }
}
@media (max-width: 390px) {
    .hero-force-kicker {
        top: clamp(104px, 14.5svh, 116px) !important;
        font-size: 10px;
        letter-spacing: .24em;
    }
}

/* Trainer prototype — simplified character-on-background interaction */
.trainers {
    background: transparent !important;
    background-image: none !important;
}
.trainers,
.trainer-grid {
    overflow: visible !important;
}
.trainers::before {
    content: none !important;
    display: none !important;
}
.trainer-grid {
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
}
.trainer-grid article {
    position: relative;
    min-height: 170px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}
.trainer-grid article:not(.trainer-card-rivals) {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 170px;
    padding-bottom: 10px !important;
}
.trainer-grid article:not(.trainer-card-rivals) strong {
    color: #fff !important;
    font-family: var(--font-display);
    font-size: clamp(30px, 2.4vw, 42px);
    font-weight: 400;
    letter-spacing: .02em;
    line-height: .92;
}
.trainer-grid article:not(.trainer-card-rivals) span {
    color: rgba(255,255,255,.60) !important;
}
.trainer-card-rivals {
    --trainer-x: 52%;
    --trainer-bottom: -24px;
    --trainer-h: 101%;
    --trainer-y: 28px;
    --trainer-rotate: -3deg;
    --trainer-scale: .88;
    --trainer-hover-y: -38px;
    --trainer-hover-rotate: -5deg;
    --trainer-hover-scale: 1.08;
    --trainer-mobile-x: 55%;
    --trainer-mobile-h: 103%;
    --trainer-mobile-y: 8px;
    --trainer-mobile-rotate: -4deg;
    --trainer-mobile-scale: .96;
    min-height: clamp(470px, 34vw, 560px) !important;
    grid-column: span 2;
    isolation: isolate;
    transform: translateZ(0);
    transition: transform .34s cubic-bezier(.2,.8,.2,1);
}
.trainer-card-rivals:hover,
.trainer-card-rivals:focus-visible {
    transform: translateY(-6px);
    outline: none;
}
.trainer-card-rivals::before {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    top: 13%;
    bottom: 4%;
    z-index: 0;
    border: 0 !important;
    border-radius: 999px;
    background:
        radial-gradient(ellipse at 52% 40%, rgba(255,38,63,.32), transparent 42%),
        radial-gradient(ellipse at 52% 78%, rgba(0,0,0,.58), transparent 58%);
    filter: blur(24px);
    opacity: .38;
    transform: translateY(20px) scale(.86);
    transition: opacity .32s ease, transform .42s cubic-bezier(.16,1,.3,1), filter .32s ease;
    pointer-events: none;
}
.trainer-card-rivals:hover::before,
.trainer-card-rivals:focus-visible::before {
    opacity: .74;
    filter: blur(20px);
    transform: translateY(-8px) scale(1.04);
}
.trainer-card-rivals::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: -6px;
    z-index: 1;
    height: 38%;
    border: 0 !important;
    border-radius: 999px;
    background: radial-gradient(ellipse at center, rgba(0,0,0,.62), transparent 64%);
    opacity: .62;
    transform: scale(.86);
    transition: opacity .32s ease, transform .42s cubic-bezier(.16,1,.3,1);
    pointer-events: none;
}
.trainer-card-rivals:hover::after,
.trainer-card-rivals:focus-visible::after {
    opacity: .78;
    transform: scale(1.04);
}
.trainer-rivals-backplate {
    display: none !important;
}
.trainer-rivals-portrait {
    position: absolute;
    left: var(--trainer-x);
    bottom: var(--trainer-bottom);
    z-index: 2;
    width: auto;
    height: var(--trainer-h);
    max-width: none;
    transform: translateX(-50%) translateY(var(--trainer-y)) rotate(var(--trainer-rotate)) scale(var(--trainer-scale));
    transform-origin: 50% 100%;
    opacity: .82;
    filter:
        saturate(.96)
        contrast(1.03)
        brightness(.92)
        drop-shadow(0 22px 34px rgba(0,0,0,.58));
    transition: transform .46s cubic-bezier(.16,1,.3,1), opacity .28s ease, filter .28s ease;
    pointer-events: none;
}
.trainer-card-rivals:hover .trainer-rivals-portrait,
.trainer-card-rivals:focus-visible .trainer-rivals-portrait {
    transform: translateX(-50%) translateY(var(--trainer-hover-y)) rotate(var(--trainer-hover-rotate)) scale(var(--trainer-hover-scale));
    opacity: 1;
    filter:
        saturate(1.08)
        contrast(1.08)
        brightness(1)
        drop-shadow(0 34px 46px rgba(0,0,0,.64))
        drop-shadow(0 0 32px rgba(255,38,63,.34));
}
.trainer-rivals-copy {
    position: absolute;
    left: clamp(12px, 1.5vw, 22px);
    right: clamp(12px, 1.5vw, 22px);
    bottom: clamp(14px, 1.6vw, 24px);
    z-index: 40;
    display: grid;
    gap: 0;
    padding: clamp(13px, 1.25vw, 17px) clamp(15px, 1.45vw, 20px);
    border: 0 !important;
    border-radius: 18px;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,38,63,.13), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.028)),
        rgba(5,5,6,.66);
    box-shadow: 0 18px 54px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(8px) saturate(115%);
    opacity: .92;
    transform: translateY(6px) scale(.92);
    transition: opacity .26s ease, transform .34s cubic-bezier(.2,.8,.2,1), padding .34s cubic-bezier(.2,.8,.2,1), gap .28s ease, box-shadow .28s ease, background .28s ease;
    pointer-events: none;
}
.trainer-card-rivals:hover .trainer-rivals-copy,
.trainer-card-rivals:focus-visible .trainer-rivals-copy {
    z-index: 42;
    gap: 8px;
    padding: clamp(15px, 1.5vw, 20px);
    opacity: 1;
    transform: translateY(0) scale(1);
    background:
        radial-gradient(circle at 18% 0%, rgba(255,38,63,.18), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
        rgba(5,5,6,.78);
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}
.trainer-rivals-copy p {
    margin: 0;
    color: rgba(255,38,63,.96);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(7px);
    transition: max-height .30s ease, opacity .22s ease, transform .30s cubic-bezier(.2,.8,.2,1);
}
.trainer-rivals-copy strong {
    color: #fff !important;
    font-family: var(--font-display);
    font-size: clamp(30px, 2.55vw, 42px) !important;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: .82;
    text-shadow: 0 12px 34px rgba(0,0,0,.66);
    transition: font-size .30s ease, transform .30s cubic-bezier(.2,.8,.2,1);
}
.trainer-rivals-copy span {
    color: rgba(255,255,255,.74) !important;
    font-size: 15px;
    font-weight: 800;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-3px);
    transition: max-height .30s ease, opacity .22s ease, transform .30s cubic-bezier(.2,.8,.2,1);
}
.trainer-card-rivals:hover .trainer-rivals-copy p,
.trainer-card-rivals:focus-visible .trainer-rivals-copy p,
.trainer-card-rivals:hover .trainer-rivals-copy span,
.trainer-card-rivals:focus-visible .trainer-rivals-copy span {
    max-height: 42px;
    opacity: 1;
    transform: translateY(0);
}
.trainer-card-rivals:hover .trainer-rivals-copy strong,
.trainer-card-rivals:focus-visible .trainer-rivals-copy strong {
    font-size: clamp(34px, 3.2vw, 52px) !important;
}
.trainer-miha {
    --trainer-x: 50%;
    --trainer-h: 124%;
    --trainer-y: 42px;
    --trainer-scale: .80;
    --trainer-hover-y: -12px;
    --trainer-hover-scale: .96;
    --trainer-mobile-x: 52%;
    --trainer-mobile-h: 116%;
    --trainer-mobile-y: 22px;
    --trainer-mobile-scale: .84;
}
.trainer-vanesa {
    --trainer-x: 52%;
    --trainer-h: 128%;
    --trainer-y: 20px;
    --trainer-scale: .90;
    --trainer-hover-y: -38px;
    --trainer-hover-scale: 1.08;
    --trainer-mobile-x: 53%;
    --trainer-mobile-h: 114%;
    --trainer-mobile-y: 8px;
    --trainer-mobile-scale: .96;
}
.trainer-kristjan {
    --trainer-x: 51%;
    --trainer-h: 106%;
    --trainer-y: 22px;
    --trainer-scale: .82;
    --trainer-hover-y: -38px;
    --trainer-hover-scale: 1.02;
    --trainer-mobile-x: 52%;
    --trainer-mobile-h: 100%;
    --trainer-mobile-y: 8px;
    --trainer-mobile-scale: .92;
}
.trainer-anika {
    --trainer-x: 46%;
    --trainer-h: 112%;
    --trainer-y: 24px;
    --trainer-scale: .82;
    --trainer-hover-y: -38px;
    --trainer-hover-scale: 1.02;
    --trainer-mobile-x: 48%;
    --trainer-mobile-h: 106%;
    --trainer-mobile-y: 10px;
    --trainer-mobile-scale: .92;
}
.trainer-sara {
    grid-column: 2 / span 2;
    --trainer-x: 48%;
    --trainer-h: 110%;
    --trainer-y: 24px;
    --trainer-scale: .79;
    --trainer-hover-y: -38px;
    --trainer-hover-scale: .99;
    --trainer-mobile-x: 50%;
    --trainer-mobile-h: 104%;
    --trainer-mobile-y: 10px;
    --trainer-mobile-scale: .88;
}
.trainer-tadej {
    grid-column: 4 / span 2;
    --trainer-x: 60%;
    --trainer-h: 104%;
    --trainer-y: 26px;
    --trainer-scale: .72;
    --trainer-hover-y: -34px;
    --trainer-hover-scale: .90;
    --trainer-mobile-x: 60%;
    --trainer-mobile-h: 94%;
    --trainer-mobile-y: 12px;
    --trainer-mobile-scale: .82;
}
.trainer-manca {
    grid-column: 6 / span 2;
    --trainer-x: 50%;
    --trainer-h: 108%;
    --trainer-y: 24px;
    --trainer-scale: .82;
    --trainer-hover-y: -38px;
    --trainer-hover-scale: 1.02;
    --trainer-mobile-x: 52%;
    --trainer-mobile-h: 104%;
    --trainer-mobile-y: 10px;
    --trainer-mobile-scale: .90;
}
@media (max-width: 1180px) and (min-width: 901px) {
    .trainer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .trainer-card-rivals {
        min-height: clamp(500px, 56vw, 620px) !important;
        grid-column: auto;
    }
}
@media (max-width: 900px) {
    .trainer-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .trainer-card-rivals {
        min-height: 540px !important;
        grid-column: auto;
    }
    .trainer-rivals-portrait {
        left: var(--trainer-mobile-x);
        height: var(--trainer-mobile-h);
        transform: translateX(-50%) translateY(var(--trainer-mobile-y)) rotate(var(--trainer-mobile-rotate)) scale(var(--trainer-mobile-scale));
        opacity: .96;
        filter:
            saturate(1)
            contrast(1.04)
            brightness(.94)
            drop-shadow(0 28px 38px rgba(0,0,0,.58));
    }
    .trainer-rivals-copy {
        gap: 8px;
        padding: clamp(15px, 1.5vw, 20px);
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    .trainer-rivals-copy p,
    .trainer-rivals-copy span {
        max-height: 42px;
        opacity: 1;
        transform: translateY(0);
    }
    .trainer-rivals-copy strong {
        font-size: clamp(34px, 3.2vw, 52px) !important;
    }
}
.trainers .trainer-grid {
    position: relative;
    z-index: 1;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.trainers .trainer-grid::before {
    content: none;
    display: none;
}
.trainers .trainer-grid > .trainer-card-rivals {
    z-index: 1;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: var(--force-card-radius) !important;
    background:
        radial-gradient(circle at 16% 4%, rgba(255,38,63,.10), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.040), rgba(255,255,255,.012)),
        rgba(0,0,0,.08) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.055) !important;
    transition: transform .34s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease, background .28s ease;
}
.trainers .trainer-grid > .trainer-card-rivals::before {
    left: -8%;
    right: -8%;
}
.trainers .trainer-grid > .trainer-card-rivals:hover,
.trainers .trainer-grid > .trainer-card-rivals:focus-visible {
    z-index: 20;
    overflow: visible !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 32px 95px rgba(0,0,0,.30), 0 0 36px rgba(255,38,63,.10), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-portrait,
.trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-portrait {
    z-index: 18;
}
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
    .trainers,
    .trainers .trainer-grid {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        max-width: 100% !important;
    }
    .trainers .trainer-grid {
        contain: paint;
    }
    .trainers .trainer-grid > .trainer-card-rivals,
    .trainers .trainer-grid > .trainer-card-rivals:hover,
    .trainers .trainer-grid > .trainer-card-rivals:focus,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible {
        transform: none !important;
        overflow: hidden !important;
        z-index: 1 !important;
    }
    .trainers .trainer-grid > .trainer-card-rivals::before,
    .trainers .trainer-grid > .trainer-card-rivals:hover::before,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible::before {
        opacity: .66;
        filter: blur(20px);
        transform: translateY(-4px) scale(.98);
    }
    .trainers .trainer-grid > .trainer-card-rivals::after,
    .trainers .trainer-grid > .trainer-card-rivals:hover::after,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible::after {
        opacity: .76;
        transform: scale(.98);
    }
    .trainers .trainer-grid > .trainer-card-rivals .trainer-rivals-portrait,
    .trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-portrait,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-portrait {
        z-index: 2 !important;
        transform: translateX(-50%) translateY(var(--trainer-mobile-y)) rotate(var(--trainer-mobile-rotate)) scale(var(--trainer-mobile-scale)) !important;
        opacity: 1;
        filter:
            saturate(1.06)
            contrast(1.06)
            brightness(1)
            drop-shadow(0 28px 38px rgba(0,0,0,.58))
            drop-shadow(0 0 24px rgba(255,38,63,.24));
    }
    .trainers .trainer-grid > .trainer-card-rivals .trainer-rivals-copy,
    .trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-copy,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-copy {
        z-index: 42;
        gap: 8px;
        opacity: 1;
        transform: translateY(0) scale(1) !important;
        pointer-events: none;
    }
    .trainers .trainer-grid > .trainer-card-rivals .trainer-rivals-copy p,
    .trainers .trainer-grid > .trainer-card-rivals .trainer-rivals-copy span,
    .trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-copy p,
    .trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-copy span,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-copy p,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-copy span {
        max-height: 42px;
        opacity: 1;
        transform: translateY(0);
    }
    .trainers .trainer-grid > .trainer-card-rivals .trainer-rivals-copy strong,
    .trainers .trainer-grid > .trainer-card-rivals:hover .trainer-rivals-copy strong,
    .trainers .trainer-grid > .trainer-card-rivals:focus-visible .trainer-rivals-copy strong {
        font-size: clamp(34px, 9.6vw, 52px) !important;
    }
}
.force-woo-shell {
    padding-top: 160px;
    color: #fff;
}
.force-woo-panel {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--force-radius);
    background:
        radial-gradient(circle at 18% 0%, rgba(255,38,63,.18), transparent 34%),
        rgba(255,255,255,.075);
    box-shadow: 0 28px 80px rgba(0,0,0,.35);
    backdrop-filter: blur(12px);
}
.force-woo-panel .woocommerce-breadcrumb,
.force-woo-panel .woocommerce-result-count,
.force-woo-panel .product_meta,
.force-woo-panel .woocommerce-product-details__short-description,
.force-woo-panel .woocommerce-tabs,
.force-woo-panel .woocommerce-info,
.force-woo-panel .cart-empty,
.force-woo-panel .return-to-shop {
    color: rgba(255,255,255,.74);
}
.force-woo-panel .woocommerce-breadcrumb a,
.force-woo-panel .product_meta a,
.force-woo-panel .woocommerce-tabs a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.force-woo-panel div.product .product_title,
.force-woo-panel .woocommerce-products-header__title,
.force-woo-panel .cart_totals h2,
.force-woo-panel .woocommerce-billing-fields h3,
.force-woo-panel #order_review_heading {
    font-family: var(--font-display);
    font-size: clamp(46px, 7vw, 86px);
    line-height: .9;
    letter-spacing: -.04em;
    color: #fff;
}
.force-woo-panel .woocommerce-products-header__title,
.force-woo-panel .page-title {
    display: inline-block;
    width: auto;
    max-width: none;
    letter-spacing: normal;
    font-stretch: normal;
}
.force-woo-panel div.product p.price,
.force-woo-panel div.product span.price,
.force-woo-panel ul.products li.product .price,
.force-woo-panel .woocommerce-Price-amount {
    color: #fff;
    font-weight: 900;
}
.force-woo-panel div.product p.price,
.force-woo-panel div.product span.price {
    font-size: 30px;
}
.force-woo-panel .button,
.force-woo-panel button.button,
.force-woo-panel input.button,
.force-woo-panel a.button,
.force-woo-panel .checkout-button {
    position: relative;
    overflow: hidden;
    min-height: 50px;
    padding: 15px 24px;
    border: 0;
    border-radius: var(--force-cta-radius) !important;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    line-height: .86;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fff !important;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%) !important;
    box-shadow: 0 14px 28px rgba(255,38,63,.28);
}
.force-woo-panel .quantity .qty,
.force-woo-panel input.input-text,
.force-woo-panel textarea,
.force-woo-panel select {
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 12px;
    color: #fff;
    background: rgba(0,0,0,.28);
}
.force-woo-panel table.shop_table,
.force-woo-panel .woocommerce-tabs .panel,
.force-woo-panel .woocommerce-message,
.force-woo-panel .woocommerce-info,
.force-woo-panel .woocommerce-error {
    border-color: rgba(255,255,255,.16);
    border-radius: 18px;
    color: #fff;
    background: rgba(0,0,0,.20);
}
.force-woo-panel ul.products li.product {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(0,0,0,.18);
}
.force-woo-panel ul.products li.product .woocommerce-loop-product__title {
    color: #fff;
    font-family: var(--font-display);
    font-size: 30px;
    letter-spacing: -.03em;
}
.merch-carousel-shell {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
.merch-carousel-shell > span {
    position: relative;
    z-index: 1;
    font-family: var(--font-display);
    font-weight: 400;
    line-height: .82;
    pointer-events: none;
}
.merch-carousel-shell::after {
    content: none;
    display: none;
}
.merch-carousel-window {
    position: absolute;
    z-index: 3;
    left: clamp(2px, 1.2vw, 16px);
    right: -120px;
    bottom: clamp(36px, 4vw, 58px);
    overflow: visible;
    -webkit-clip-path: inset(-80px -260px -100px 0);
    clip-path: inset(-80px -260px -100px 0);
}
.merch-carousel-track {
    display: flex;
    gap: 18px;
    width: max-content;
    padding: 8px 190px 34px 14px;
    transform: translateX(var(--force-merch-slide-x, 0));
    transition: transform .55s cubic-bezier(.22, .8, .28, 1);
    will-change: transform;
}
.merch-carousel-shell.is-paused .merch-carousel-track,
.merch-carousel-shell:hover .merch-carousel-track {
    transition-duration: .32s;
}
.merch-carousel-card {
    position: relative;
    display: grid;
    width: clamp(168px, 13.4vw, 212px);
    min-height: 258px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 38%),
        rgba(7,7,8,.66);
    box-shadow: 0 18px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.merch-carousel-card:hover {
    transform: translateY(-6px) rotate(-1deg);
    border-color: rgba(255,255,255,.36);
    box-shadow: 0 22px 48px rgba(0,0,0,.34), 0 0 30px rgba(255,38,63,.14), inset 0 1px 0 rgba(255,255,255,.13);
}
.merch-card-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,38,63,.13), transparent 45%),
        rgba(255,255,255,.06);
}
.merch-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .28s ease;
}
.merch-carousel-card:hover .merch-card-image img {
    transform: scale(1.08);
}
.merch-card-title {
    display: -webkit-box;
    min-height: 40px;
    margin-top: 11px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(24px, 1.9vw, 32px);
    letter-spacing: -.03em;
    line-height: .88;
}
.merch-card-price {
    margin-top: 8px;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    font-weight: 900;
}
.merch-card-price .woocommerce-Price-amount {
    color: #fff;
}
.merch-carousel-card.force-product-card {
    width: clamp(220px, 18vw, 260px);
    min-height: 100%;
}
.merch-carousel-card.force-product-card .force-product-card-cta {
    width: 100%;
    margin: 10px 0 0 !important;
}
@media (prefers-reduced-motion: reduce) {
    .merch-carousel-track {
        transition: none;
    }
}
@media (max-width: 900px) {
    .merch-carousel-window {
        left: 4px;
        right: -90px;
        bottom: 34px;
    }
    .merch-carousel-track {
        padding-left: 12px;
        padding-right: 130px;
        padding-bottom: 28px;
    }
    .merch-carousel-card {
        width: 164px;
        min-height: 246px;
    }
}
.single-product .force-woo-shell {
    padding-top: 142px;
}
.single-product .force-woo-panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.single-product .force-woo-panel div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}
.single-product .force-woo-panel div.product::before,
.single-product .force-woo-panel div.product::after {
    display: none;
}
.single-product .force-woo-panel div.product div.images,
.single-product .force-woo-panel div.product div.summary {
    float: none !important;
    width: 100% !important;
    max-width: none;
    margin: 0;
}
.single-product .force-woo-panel div.product div.images {
    position: relative;
    top: auto;
    padding: clamp(12px, 2vw, 18px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--force-card-radius);
    background:
        linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
        rgba(0,0,0,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 24px 70px rgba(0,0,0,.32);
    backdrop-filter: blur(10px);
}
.single-product .force-woo-panel .woocommerce-product-gallery__wrapper {
    margin: 0;
}
.single-product .force-woo-panel .flex-viewport {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    border-radius: var(--force-r-lg);
    background:
        radial-gradient(circle at 50% 12%, rgba(255,38,63,.08), transparent 44%),
        #f4f1ea;
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image {
    width: 100% !important;
    height: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image:not(.flex-active-slide) {
    display: none !important;
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image a,
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: 100%;
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image img {
    object-fit: contain;
}
.single-product .force-woo-panel .woocommerce-product-gallery__image:first-child {
    overflow: hidden;
    border-radius: var(--force-r-lg);
    background:
        radial-gradient(circle at 50% 12%, rgba(255,38,63,.10), transparent 42%),
        rgba(255,255,255,.06);
}
.single-product .force-woo-panel .woocommerce-product-gallery__image:first-child img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    border-radius: var(--force-r-lg);
}
.single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    padding: 2px 2px 10px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,38,63,.55) rgba(255,255,255,.08);
}
.single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 74px;
    width: 74px !important;
    float: none;
    scroll-snap-align: center;
}
.single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--force-r-sm);
    opacity: .74;
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}
.single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1;
    transform: translateY(-2px);
    border-color: rgba(255,38,63,.72);
}
.single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image img {
    border: 0 !important;
    opacity: 1 !important;
    object-fit: contain !important;
    transform: none !important;
}
.single-product .force-woo-panel .zoomImg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.single-product .force-woo-panel div.summary {
    position: relative;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--force-card-radius);
    background:
        radial-gradient(circle at 10% 0%, rgba(255,38,63,.18), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 24px 64px rgba(0,0,0,.28);
}
.single-product .force-woo-panel div.summary::before {
    content: "FORCE MERCH";
    display: inline-flex;
    margin-bottom: 14px;
    padding: 7px 11px 6px;
    border: 1px solid rgba(255,38,63,.38);
    border-radius: var(--force-r-sm);
    color: #ff6b7b;
    background: rgba(255,38,63,.09);
    font-size: var(--force-fs-small);
    font-weight: 900;
    letter-spacing: .16em;
}
.single-product .force-woo-panel div.product .product_title {
    max-width: 12ch;
    font-size: clamp(42px, 5.4vw, 72px);
    letter-spacing: -.035em;
}
.single-product .force-woo-panel div.product p.price,
.single-product .force-woo-panel div.product span.price {
    margin: 18px 0;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1;
}
.single-product .force-woo-panel .summary .price::after {
    content: "\A Izberi variacijo in preveri zalogo spodaj.";
    white-space: pre;
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.55);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
}
.single-product .force-woo-panel .variations_form {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.single-product .force-woo-panel table.variations {
    margin: 0 0 18px;
    border: 0;
}
.single-product .force-woo-panel table.variations tr,
.single-product .force-woo-panel table.variations th,
.single-product .force-woo-panel table.variations td {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
}
.single-product .force-woo-panel table.variations th.label label {
    display: block;
    margin: 0 0 10px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.single-product .force-woo-panel table.variations select {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}
.force-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 16px;
}
.force-swatch {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 13px;
    color: rgba(255,255,255,.84);
    background: rgba(0,0,0,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
}
.force-swatch::after {
    content: none;
}
.force-swatch:hover {
    border-color: rgba(255,255,255,.34);
    color: #fff;
    background: rgba(255,255,255,.055);
}
.force-swatch.is-selected {
    color: #fff;
    border-color: rgba(255,38,63,.72);
    background: rgba(255,38,63,.16);
    box-shadow: 0 0 0 3px rgba(255,38,63,.12), inset 0 1px 0 rgba(255,255,255,.10);
}
.force-swatch.is-selected::before {
    content: none;
}
.force-swatch.is-disabled,
.force-swatch:disabled {
    opacity: .32;
    cursor: not-allowed;
    text-decoration: none;
    filter: grayscale(.4);
}
.force-swatch.is-disabled::before,
.force-swatch:disabled::before {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    top: 50%;
    height: 1px;
    background: rgba(255,255,255,.48);
    transform: rotate(-18deg);
}
.force-swatch-color {
    min-width: 70px;
    justify-content: flex-start;
    gap: 9px;
    padding-inline: 12px;
}
.force-swatch-color::after {
    content: "";
    position: relative;
    order: -1;
    z-index: 0;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    background: var(--swatch-bg, rgba(255,255,255,.16));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
    opacity: .95;
}
.force-swatch-color span {
    padding: 0;
    border-radius: 0;
    background: transparent;
    text-shadow: none;
}
.single-product .force-woo-panel .woocommerce-variation {
    margin: 4px 0 8px;
    color: rgba(255,255,255,.72);
}
.single-product .force-woo-panel .woocommerce-variation-price .price {
    display: block;
    margin-bottom: 4px;
    color: #fff;
}
.single-product .force-woo-panel .woocommerce-variation-availability {
    margin-top: 2px;
}
.single-product .force-woo-panel .stock {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.07);
    font-size: 13px;
    font-weight: 800;
}
.single-product .force-woo-panel .stock.out-of-stock {
    border-color: rgba(255,38,63,.36);
    color: #ff263f;
    background: rgba(255,38,63,.08);
}
.single-product .force-woo-panel .single_add_to_cart_button.disabled,
.single-product .force-woo-panel .single_add_to_cart_button.wc-variation-is-unavailable {
    cursor: not-allowed;
    opacity: .48;
    filter: grayscale(.24);
    box-shadow: none !important;
}
.single-product .force-woo-panel .single_variation_wrap .woocommerce-variation-add-to-cart,
.single-product .force-woo-panel form.cart:not(.variations_form) {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}
.single-product .force-woo-panel .quantity .qty {
    width: 48px;
    text-align: center;
    font-weight: 900;
}
.single-product .force-woo-panel .quantity.force-qty-control {
    display: inline-grid !important;
    grid-template-columns: 38px 48px 38px;
    align-items: stretch;
    min-height: 46px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    background: rgba(0,0,0,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 22px rgba(0,0,0,.16);
}
.single-product .force-woo-panel .quantity.force-qty-control .qty {
    width: 48px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -moz-appearance: textfield;
}
.single-product .force-woo-panel .quantity.force-qty-control .qty::-webkit-outer-spin-button,
.single-product .force-woo-panel .quantity.force-qty-control .qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}
.force-qty-btn {
    display: grid;
    place-items: center;
    min-width: 38px;
    border: 0;
    color: rgba(255,255,255,.9);
    background: rgba(255,255,255,.035);
    font: 900 18px/1 var(--font-body);
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
.force-qty-btn:hover,
.force-qty-btn:focus-visible {
    color: #fff;
    background: rgba(255,38,63,.18);
    outline: none;
}
.single-product .force-woo-panel .single_add_to_cart_button {
    flex: 1 1 220px;
    min-height: 50px;
}
.single-product .force-woo-panel .product_meta {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.10);
    font-size: 13px;
}
.force-product-gallery-nav.merch-carousel-nav {
    left: 24px !important;
    right: 24px !important;
    bottom: auto !important;
    top: 50%;
    z-index: 8;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}
.force-product-gallery-nav .merch-carousel-btn {
    pointer-events: auto;
}
.single-product .force-woo-panel .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 24px;
    padding: clamp(18px, 2.6vw, 30px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--force-card-radius);
    background:
        radial-gradient(circle at 12% 0%, rgba(255,38,63,.10), transparent 34%),
        rgba(255,255,255,.035);
    box-shadow: 0 20px 58px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
}
.single-product .force-woo-panel .woocommerce-tabs .panel {
    margin-bottom: 0;
}
.single-product .force-woo-panel .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 10px;
    padding: 0;
    margin: 0 0 14px;
    border: 0;
}
.single-product .force-woo-panel .woocommerce-tabs ul.tabs::before,
.single-product .force-woo-panel .woocommerce-tabs ul.tabs li::before,
.single-product .force-woo-panel .woocommerce-tabs ul.tabs li::after {
    display: none;
}
.single-product .force-woo-panel .woocommerce-tabs ul.tabs li {
    margin: 0;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(0,0,0,.22);
}
.single-product .force-woo-panel .woocommerce-tabs ul.tabs li.active {
    border-color: rgba(255,38,63,.62);
    background: rgba(255,38,63,.14);
}
.single-product .force-woo-panel .related.products {
    grid-column: 1 / -1;
    margin-top: 30px;
    padding: clamp(18px, 2.6vw, 30px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--force-card-radius);
    background:
        radial-gradient(circle at 80% 0%, rgba(255,38,63,.10), transparent 34%),
        rgba(255,255,255,.030);
    box-shadow: 0 20px 58px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.07);
}
.single-product .force-woo-panel .related.products > h2 {
    margin-bottom: 18px;
    font-size: clamp(36px, 5vw, 64px);
}
@media (max-width: 900px) {
    .single-product .force-woo-shell,
    .single-product .force-woo-shell.section {
        padding-top: 118px !important;
        padding-inline: 20px !important;
    }
    .single-product .force-woo-panel div.product {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px;
        max-width: 100% !important;
        overflow-x: hidden;
    }
    .single-product .force-woo-panel div.product div.images {
        position: relative;
        top: auto;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        padding: 12px;
        border-radius: var(--force-card-radius);
    }
    .single-product .force-woo-panel div.product div.summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
    .single-product .force-woo-panel .woocommerce-product-gallery,
    .single-product .force-woo-panel .flex-viewport,
    .single-product .force-woo-panel .woocommerce-product-gallery__wrapper,
    .single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image,
    .single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image a,
    .single-product .force-woo-panel .flex-viewport .woocommerce-product-gallery__image img {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
    .single-product .force-woo-panel .flex-viewport {
        width: 100% !important;
        max-height: min(72svh, 560px);
        border-radius: var(--force-r-lg);
    }
    .single-product .force-woo-panel div.summary {
        padding: 24px;
        border-radius: var(--force-card-radius);
    }
    .single-product .force-woo-panel div.product .product_title {
        max-width: none;
        font-size: clamp(42px, 12vw, 64px);
    }
    .single-product .force-woo-panel div.product p.price,
    .single-product .force-woo-panel div.product span.price {
        font-size: clamp(28px, 8vw, 36px);
    }
    .force-product-gallery-nav.merch-carousel-nav {
        left: 18px !important;
        right: 18px !important;
    }
    .single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs {
        max-width: 100% !important;
        gap: 12px !important;
        margin: 18px 0 0 !important;
        padding: 0 2px 6px !important;
        align-items: center;
    }
    .single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs li {
        flex-basis: 66px;
        width: 66px !important;
        margin: 0 !important;
    }
    .single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs img:hover,
    .single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
        transform: none;
    }
    .force-swatches {
        gap: 8px;
    }
    .force-swatch {
        min-height: 42px;
        padding: 9px 13px;
    }
    .single-product .force-woo-panel .woocommerce-tabs,
    .single-product .force-woo-panel .related.products {
        margin-top: 22px;
        padding: 20px;
        border-radius: var(--force-card-radius);
    }
    .single-product .force-woo-panel .woocommerce-tabs ul.tabs {
        overflow-x: auto;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }
    .single-product .force-woo-panel .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto;
    }
    .single-product .force-woo-panel .related.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    .single-product .force-woo-panel .related.products ul.products li.product {
        width: auto !important;
        margin: 0 !important;
    }
}
@media (max-width: 700px) {
    .single-product .force-woo-shell,
    .single-product .force-woo-shell.section {
        padding-top: 112px !important;
        padding-inline: 16px !important;
    }
    .single-product .force-woo-panel { padding: 0 !important; border-radius: 0 !important; }
    .single-product .force-woo-panel div.product {
        gap: 18px;
    }
    .single-product .force-woo-panel div.product div.images {
        padding: 10px;
    }
    .single-product .force-woo-panel .flex-viewport {
        max-height: none;
    }
    .single-product .force-woo-panel div.summary {
        padding: 20px;
    }
    .single-product .force-woo-panel .single_variation_wrap .woocommerce-variation-add-to-cart,
    .single-product .force-woo-panel form.cart:not(.variations_form) {
        display: grid;
        grid-template-columns: 126px minmax(0, 1fr);
        gap: 10px;
        width: 100%;
    }
    .single-product .force-woo-panel .single_add_to_cart_button {
        width: 100%;
        min-width: 0;
    }
    .single-product .force-woo-panel .related.products ul.products {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) {
    .single-product .force-woo-shell,
    .single-product .force-woo-shell.section {
        padding-top: 108px !important;
        padding-inline: 12px !important;
    }
    .single-product .force-woo-panel div.product div.images,
    .single-product .force-woo-panel div.summary,
    .single-product .force-woo-panel .woocommerce-tabs,
    .single-product .force-woo-panel .related.products {
        border-radius: var(--force-r-lg);
    }
    .single-product .force-woo-panel div.summary {
        padding: 18px;
    }
    .single-product .force-woo-panel .woocommerce-product-gallery .flex-control-thumbs li {
        flex-basis: 62px;
        width: 62px !important;
    }
    .force-product-gallery-nav .merch-carousel-btn {
        width: 42px;
        height: 40px;
    }
    .single-product .force-woo-panel .single_variation_wrap .woocommerce-variation-add-to-cart,
    .single-product .force-woo-panel form.cart:not(.variations_form) {
        grid-template-columns: 124px minmax(0, 1fr);
    }
}
@media (max-width: 420px) {
    .trainer-card-rivals {
        min-height: 515px !important;
    }
    .trainer-rivals-portrait {
        left: var(--trainer-mobile-small-x, var(--trainer-mobile-x));
        height: var(--trainer-mobile-small-h, var(--trainer-mobile-h));
    }
    .trainer-rivals-copy {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 17px;
        border-radius: 16px;
    }
    .trainer-rivals-copy strong {
        font-size: clamp(38px, 14vw, 54px) !important;
    }
}

/* Contact section v2 — details + simple functional form */
.force-contact-section {
    overflow: hidden;
}
.force-contact-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 520px);
    gap: clamp(34px, 6vw, 86px);
    align-items: start;
}
.force-contact-grid::before {
    content: "KONTAKT";
    position: absolute;
    left: -0.04em;
    bottom: -0.22em;
    z-index: -1;
    color: rgba(255,255,255,.035);
    font-family: var(--font-display);
    font-size: clamp(110px, 18vw, 270px);
    line-height: .72;
    letter-spacing: -.04em;
    transform: rotate(-3deg);
    pointer-events: none;
}
.force-contact-copy h2 {
    max-width: 720px;
    font-size: clamp(58px, 7.8vw, 112px);
    line-height: .84;
    text-wrap: balance;
}
.force-contact-lead {
    max-width: 620px;
    margin: 26px 0 0;
    color: rgba(255,255,255,.70) !important;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.5;
}
.force-contact-details {
    display: grid;
    gap: 10px;
    max-width: 560px;
    margin-top: 30px;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 0%, rgba(255,38,63,.12), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.022)),
        rgba(0,0,0,.26);
    box-shadow: 0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(9px);
}
.force-contact-details a,
.force-contact-details span {
    color: rgba(255,255,255,.74);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.35;
}
.force-contact-details strong {
    color: #fff;
    font-weight: 950;
}
.force-contact-details .force-contact-email,
.force-contact-details .force-contact-phone {
    width: fit-content;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(31px, 3.6vw, 52px);
    line-height: .86;
    letter-spacing: .015em;
    text-shadow: 0 14px 34px rgba(0,0,0,.45);
}
.force-contact-details .force-contact-phone.secondary {
    margin-bottom: 8px;
    color: rgba(255,255,255,.86);
    font-size: clamp(24px, 2.4vw, 34px);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
}
.force-contact-card {
    position: relative;
    isolation: isolate;
    padding: clamp(24px, 3.2vw, 38px) !important;
    overflow: hidden;
    border-color: rgba(255,255,255,.14) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,38,63,.18), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.030)),
        rgba(7,7,8,.64) !important;
    box-shadow:
        0 34px 95px rgba(0,0,0,.36),
        0 0 54px rgba(255,38,63,.08),
        inset 0 1px 0 rgba(255,255,255,.13) !important;
    backdrop-filter: blur(10px) saturate(112%);
}
.force-contact-card::before {
    content: "";
    position: absolute;
    inset: -34% -18% auto auto;
    z-index: -1;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    background: rgba(255,38,63,.20);
    filter: blur(42px);
    pointer-events: none;
}
.force-contact-form {
    display: grid;
    gap: 16px;
}
.force-contact-form label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: rgba(255,255,255,.70);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.force-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.force-contact-form input[type="text"],
.force-contact-form input[type="email"],
.force-contact-form textarea {
    width: 100%;
    min-height: 52px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    padding: 14px 15px;
    color: #fff;
    background: rgba(0,0,0,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
    font: 700 15px/1.35 var(--font-body);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.force-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}
.force-contact-form input:focus,
.force-contact-form textarea:focus {
    border-color: rgba(255,38,63,.72);
    background: rgba(0,0,0,.34);
    box-shadow: 0 0 0 4px rgba(255,38,63,.13), inset 0 1px 0 rgba(255,255,255,.09);
}
.force-contact-form .force-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255,255,255,.66);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.35;
    text-transform: none;
}
.force-consent input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--force-red);
}
.force-contact-form .button {
    justify-self: end;
    min-width: 146px;
    border: 0;
    cursor: pointer;
}
.force-contact-notice {
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    color: #fff;
    font-size: 14px;
    font-weight: 850;
}
.force-contact-notice.success {
    background: rgba(43, 179, 106, .16);
    border-color: rgba(43, 179, 106, .34);
}
.force-contact-notice.error {
    background: rgba(255,38,63,.15);
    border-color: rgba(255,38,63,.38);
}
.force-contact-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
@media (max-width: 980px) {
    .force-contact-grid {
        grid-template-columns: 1fr;
    }
    .force-contact-card {
        max-width: 680px;
    }
}
@media (max-width: 620px) {
    .force-form-row {
        grid-template-columns: 1fr;
    }
    .force-contact-details .force-contact-email {
        font-size: clamp(27px, 10vw, 38px);
    }
    .force-contact-form .button {
        width: 100%;
        justify-self: stretch;
    }
}

/* Contact section v3 — open form, styled checkbox, full-width details */
.force-contact-section .force-contact-grid {
    grid-template-columns: minmax(0, .94fr) minmax(390px, 500px);
    row-gap: clamp(30px, 4.5vw, 58px);
}
.force-contact-section .force-contact-card {
    align-self: start;
    padding: clamp(12px, 1.8vw, 20px) 0 0 !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
}
.force-contact-section .force-contact-card::before {
    content: "";
    position: absolute;
    left: -12%;
    right: -8%;
    top: -8%;
    bottom: 6%;
    z-index: -1;
    border-radius: 42px;
    background:
        radial-gradient(circle at 74% 0%, rgba(255,38,63,.16), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.042), rgba(255,255,255,.010));
    filter: blur(.2px);
    pointer-events: none;
}
.force-contact-section .force-contact-form {
    gap: 18px;
}
.force-contact-section .force-contact-form label {
    color: rgba(255,255,255,.58);
    letter-spacing: .12em;
}
.force-contact-section .force-contact-form input[type="text"],
.force-contact-section .force-contact-form input[type="email"],
.force-contact-section .force-contact-form textarea {
    border-color: rgba(255,255,255,.20);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.012)),
        rgba(0,0,0,.36);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.075),
        0 12px 34px rgba(0,0,0,.18);
}
.force-contact-section .force-contact-form textarea {
    min-height: 166px;
}
.force-contact-section .force-contact-form input[type="text"]:hover,
.force-contact-section .force-contact-form input[type="email"]:hover,
.force-contact-section .force-contact-form textarea:hover {
    border-color: rgba(255,255,255,.30);
}
.force-contact-section .force-contact-form input:focus,
.force-contact-section .force-contact-form textarea:focus {
    border-color: rgba(255,38,63,.74);
    background:
        linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016)),
        rgba(0,0,0,.42);
    box-shadow:
        0 0 0 4px rgba(255,38,63,.12),
        0 16px 38px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.09);
}
.force-contact-section .force-consent {
    position: relative;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 0;
    color: rgba(255,255,255,.70) !important;
    cursor: pointer;
}
.force-contact-section .force-consent input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}
.force-contact-section .force-consent span {
    position: relative;
    display: block;
    padding-left: 38px;
}
.force-contact-section .force-consent span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 7px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.02)),
        rgba(0,0,0,.34);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.24);
    transform: translateY(-50%);
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.force-contact-section .force-consent span::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    width: 6px;
    height: 11px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    opacity: 0;
    transform: translateY(-62%) rotate(42deg) scale(.65);
    transition: opacity .16s ease, transform .16s ease;
}
.force-contact-section .force-consent input[type="checkbox"]:checked + span::before {
    border-color: rgba(255,38,63,.96);
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    box-shadow: 0 12px 28px rgba(255,38,63,.26), inset 0 1px 0 rgba(255,255,255,.20);
}
.force-contact-section .force-consent input[type="checkbox"]:checked + span::after {
    opacity: 1;
    transform: translateY(-62%) rotate(42deg) scale(1);
}
.force-contact-section .force-consent input[type="checkbox"]:focus-visible + span::before {
    outline: 3px solid rgba(255,38,63,.24);
    outline-offset: 3px;
}
.force-contact-section .force-contact-form .button {
    min-width: 152px;
    margin-top: 6px;
}
.force-contact-section .force-contact-details {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(190px, .65fr) minmax(150px, .45fr) minmax(190px, .7fr) minmax(230px, .95fr);
    align-items: center;
    gap: clamp(14px, 2.2vw, 28px);
    width: 100%;
    max-width: none;
    margin-top: 0;
    padding: clamp(22px, 3vw, 32px) clamp(24px, 4vw, 42px);
    border-color: rgba(255,255,255,.13);
    border-radius: clamp(24px, 3vw, 36px);
    background:
        radial-gradient(circle at 10% 0%, rgba(255,38,63,.14), transparent 28%),
        radial-gradient(circle at 96% 100%, rgba(255,255,255,.07), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.018)),
        rgba(0,0,0,.26);
    box-shadow: 0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.09);
}
.force-contact-section .force-contact-details .force-contact-email {
    font-family: var(--font-body);
    font-size: clamp(21px, 2.2vw, 34px);
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1;
    text-transform: none;
}
.force-contact-section .force-contact-details .force-contact-phone {
    font-family: var(--font-display);
    font-size: clamp(28px, 3vw, 45px);
    white-space: nowrap;
}
.force-contact-section .force-contact-details .force-contact-phone.secondary {
    margin-bottom: 0;
    font-size: clamp(20px, 2vw, 30px);
    white-space: nowrap;
}
.force-contact-section .force-contact-details span {
    font-size: 14px;
}
@media (max-width: 1180px) {
    .force-contact-section .force-contact-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 980px) {
    .force-contact-section .force-contact-grid {
        grid-template-columns: 1fr;
    }
    .force-contact-section .force-contact-card {
        max-width: none;
        padding-top: 0 !important;
    }
    .force-contact-section .force-contact-card::before {
        left: -18px;
        right: -18px;
    }
}
@media (max-width: 620px) {
    .force-contact-section .force-contact-details {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .force-contact-section .force-contact-details .force-contact-email {
        font-size: clamp(20px, 8vw, 30px);
    }
}

/* Contact section v4 — wider form/details alignment */
.force-contact-section .force-contact-grid {
    grid-template-columns: minmax(0, .62fr) minmax(520px, 1fr);
    column-gap: clamp(28px, 4.2vw, 62px);
}
.force-contact-section .force-contact-card,
.force-contact-section .force-contact-form {
    width: 100%;
    max-width: none;
}
.force-contact-section .force-contact-details {
    width: 100%;
    justify-self: stretch;
}
@media (min-width: 981px) {
    .force-contact-section .force-contact-copy h2 {
        max-width: 600px;
    }
    .force-contact-section .force-contact-lead {
        max-width: 520px;
    }
}
@media (max-width: 980px) {
    .force-contact-section .force-contact-grid {
        grid-template-columns: 1fr;
    }
}

/* Dedicated Kontakt page — homepage contact form styling, wider page layout only */
.force-contact-page {
    padding-top: clamp(142px, 12vw, 190px);
}
.force-contact-page-inner {
    display: grid;
    gap: clamp(28px, 4vw, 48px);
    width: min(1180px, 100%);
    margin: 0 auto;
}
.force-contact-page-heading {
    max-width: 850px;
}
.force-contact-page-heading h1 {
    font-size: clamp(64px, 10vw, 136px);
    line-height: .82;
}
.force-contact-page-heading p:not(.eyebrow) {
    max-width: 760px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.70);
    font-size: clamp(18px, 1.6vw, 23px);
    line-height: 1.5;
}
@media (max-width: 620px) {
    .force-contact-page {
        padding-top: 126px;
    }
}

/* Merch carousel manual navigation */
.merch-carousel-nav {
    position: absolute;
    z-index: 5;
    right: clamp(26px, 4vw, 54px);
    bottom: clamp(22px, 3.2vw, 40px);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.merch-carousel-btn {
    position: relative;
    isolation: isolate;
    display: inline-grid;
    place-items: center;
    width: 52px;
    height: 46px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: var(--force-cta-radius);
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035)),
        rgba(5,5,6,.36);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 16px 34px rgba(0,0,0,.24);
    font-family: var(--font-body);
    font-size: var(--force-fs-button) !important;
    font-weight: 950;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.merch-carousel-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    opacity: 0;
    transition: opacity .18s ease;
}
.merch-carousel-btn:hover,
.merch-carousel-btn:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.44);
    box-shadow: 0 18px 38px rgba(255,38,63,.24), 0 16px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.16);
    outline: none;
}
.merch-carousel-btn:hover::before,
.merch-carousel-btn:focus-visible::before {
    opacity: 1;
}
@media (max-width: 900px) {
    .merch-carousel-nav {
        right: 24px;
        bottom: 18px;
    }
    .merch-carousel-btn {
        width: 48px;
        height: 44px;
    }
}

/* Contact section v4 — clearer form, no ghost panel, grouped full-width details */
.force-contact-section .force-contact-card::before {
    content: none !important;
    display: none !important;
}
.force-contact-section .force-contact-card {
    padding-top: clamp(8px, 1vw, 12px) !important;
}
.force-contact-section .force-contact-form {
    position: relative;
    padding: clamp(18px, 2.4vw, 28px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 28px;
    background:
        radial-gradient(circle at 92% 0%, rgba(255,38,63,.08), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.032), rgba(255,255,255,.010));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
.force-contact-section .force-contact-form label {
    color: rgba(255,255,255,.82) !important;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .16em;
    text-shadow: 0 8px 22px rgba(0,0,0,.45);
}
.force-contact-section .force-contact-form input[type="text"],
.force-contact-section .force-contact-form input[type="email"],
.force-contact-section .force-contact-form textarea {
    border: 1px solid rgba(255,255,255,.30);
    background:
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.018)),
        rgba(0,0,0,.46);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 16px 34px rgba(0,0,0,.22);
}
.force-contact-section .force-contact-form input[type="text"]::placeholder,
.force-contact-section .force-contact-form input[type="email"]::placeholder,
.force-contact-section .force-contact-form textarea::placeholder {
    color: rgba(255,255,255,.38);
}
.force-contact-section .force-contact-form input[type="text"]:hover,
.force-contact-section .force-contact-form input[type="email"]:hover,
.force-contact-section .force-contact-form textarea:hover {
    border-color: rgba(255,255,255,.44);
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.020)),
        rgba(0,0,0,.50);
}
.force-contact-section .force-contact-form input:focus,
.force-contact-section .force-contact-form textarea:focus {
    border-color: rgba(255,38,63,.84);
    box-shadow:
        0 0 0 4px rgba(255,38,63,.14),
        0 18px 42px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.13);
}
.force-contact-section .force-consent span {
    color: rgba(255,255,255,.76);
}
.force-contact-section .force-contact-details {
    grid-template-columns: minmax(220px, .9fr) minmax(330px, 1.05fr) minmax(300px, 1fr);
    align-items: stretch;
    gap: clamp(14px, 2vw, 22px);
    padding: clamp(18px, 2.5vw, 26px);
    border-radius: clamp(24px, 3vw, 34px);
}
.force-contact-section .force-contact-detail-block {
    display: grid;
    align-content: center;
    gap: 8px;
    min-width: 0;
    padding: clamp(16px, 2vw, 22px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.050), rgba(255,255,255,.014)),
        rgba(0,0,0,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.force-contact-section .contact-email-block {
    background:
        radial-gradient(circle at 0% 20%, rgba(255,38,63,.14), transparent 50%),
        linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.014)),
        rgba(0,0,0,.18);
}
.force-contact-section .force-contact-detail-label {
    display: block;
    color: rgba(255,38,63,.96) !important;
    font-size: 11px !important;
    font-weight: 950;
    letter-spacing: .18em;
    line-height: 1;
    text-transform: uppercase;
}
.force-contact-section .force-contact-details .force-contact-email {
    overflow-wrap: anywhere;
    font-size: clamp(22px, 2.05vw, 32px);
}
.force-contact-section .contact-phone-block {
    grid-template-columns: minmax(0, auto) minmax(0, auto);
    column-gap: clamp(12px, 1.8vw, 22px);
    row-gap: 6px;
    align-items: end;
}
.force-contact-section .contact-phone-block .force-contact-detail-label {
    grid-column: 1 / -1;
}
.force-contact-section .force-contact-details .force-contact-phone {
    font-size: clamp(28px, 2.8vw, 42px);
    line-height: .9;
}
.force-contact-section .force-contact-details .force-contact-phone.secondary {
    align-self: end;
    font-family: var(--font-body);
    font-size: clamp(16px, 1.6vw, 22px);
    font-weight: 950;
    line-height: 1;
    text-decoration-thickness: 1.5px;
}
.force-contact-section .contact-meta-block {
    gap: 10px;
}
.force-contact-section .contact-meta-block span {
    display: block;
    color: rgba(255,255,255,.76) !important;
    font-size: clamp(14px, 1.15vw, 16px);
    line-height: 1.25;
}
.force-contact-section .contact-meta-block strong {
    display: block;
    margin-bottom: 3px;
    color: #fff;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
@media (max-width: 1180px) {
    .force-contact-section .force-contact-details {
        grid-template-columns: 1fr 1fr;
    }
    .force-contact-section .contact-meta-block {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}
@media (max-width: 700px) {
    .force-contact-section .force-contact-form {
        padding: 16px;
        border-radius: 22px;
    }
    .force-contact-section .force-contact-details,
    .force-contact-section .contact-meta-block {
        grid-template-columns: 1fr;
    }
    .force-contact-section .contact-meta-block {
        grid-column: auto;
    }
    .force-contact-section .contact-phone-block {
        grid-template-columns: 1fr;
    }
}

/* Contact strip v5 — no inner cards, phone numbers stacked */
.force-contact-section .force-contact-detail-block {
    padding: clamp(8px, 1.2vw, 14px) clamp(10px, 1.5vw, 18px);
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.force-contact-section .contact-email-block {
    background: transparent !important;
}
.force-contact-section .contact-phone-block {
    grid-template-columns: 1fr;
    align-content: center;
    align-items: start;
    row-gap: 8px;
}
.force-contact-section .contact-phone-block .force-contact-detail-label {
    grid-column: auto;
}
.force-contact-section .force-contact-details .force-contact-phone,
.force-contact-section .force-contact-details .force-contact-phone.secondary {
    display: block;
    align-self: auto;
    width: fit-content;
}
.force-contact-section .force-contact-details .force-contact-phone.secondary {
    margin-top: 0;
    font-size: clamp(18px, 1.8vw, 25px);
}

/* Header social links + FORCE footer */
.force-header-social,
.force-footer-social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.force-header-social a,
.force-footer-social a {
    position: relative;
    isolation: isolate;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 13px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
        rgba(0,0,0,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 12px 26px rgba(0,0,0,.20);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.force-header-social a::before,
.force-footer-social a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    opacity: 0;
    transition: opacity .18s ease;
}
.force-header-social svg,
.force-footer-social svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.force-header-social a:hover,
.force-header-social a:focus-visible,
.force-footer-social a:hover,
.force-footer-social a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.34);
    box-shadow: 0 14px 30px rgba(255,38,63,.22), 0 14px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.12);
    outline: none;
}
.force-header-social a:hover::before,
.force-header-social a:focus-visible::before,
.force-footer-social a:hover::before,
.force-footer-social a:focus-visible::before {
    opacity: 1;
}
.force-floating-header .force-header-social {
    flex: 0 0 auto;
    margin-left: 6px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    background: rgba(0,0,0,.18);
}
.force-floating-header .force-header-social a {
    width: 34px;
    height: 34px;
    border-radius: 11px;
}
.force-floating-header .force-header-social svg {
    width: 16px;
    height: 16px;
}
.force-site-footer {
    position: relative;
    display: block !important;
    padding: clamp(64px, 8vw, 105px) max(24px, calc((100vw - 1180px)/2)) clamp(28px, 4vw, 44px) !important;
    overflow: hidden;
    background: transparent !important;
    color: #fff;
}
.force-site-footer::before {
    content: "";
    position: absolute;
    inset: clamp(18px, 2.8vw, 34px) max(12px, calc((100vw - 1240px)/2));
    z-index: -2;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: clamp(30px, 4vw, 54px);
    background:
        radial-gradient(circle at 10% 0%, rgba(255,38,63,.20), transparent 30%),
        radial-gradient(circle at 88% 100%, rgba(255,255,255,.08), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.064), rgba(255,255,255,.018)),
        rgba(0,0,0,.34);
    box-shadow: 0 32px 92px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.09);
    pointer-events: none;
}
.force-site-footer::after {
    content: "FORCE";
    position: absolute;
    left: max(16px, calc((100vw - 1240px)/2));
    bottom: -0.18em;
    z-index: -1;
    color: rgba(255,255,255,.030);
    font-family: var(--font-display);
    font-size: clamp(120px, 22vw, 330px);
    line-height: .72;
    letter-spacing: -.04em;
    transform: rotate(-3deg);
    pointer-events: none;
}
.force-footer-inner {
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) minmax(170px, .52fr) minmax(260px, .78fr);
    gap: clamp(28px, 5vw, 70px);
    align-items: start;
}
.force-footer-brand,
.force-footer-col,
.force-footer-contact {
    min-width: 0;
}
.force-footer-logo {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 22px;
}
.force-footer-logo img {
    display: block;
    width: auto;
    height: clamp(76px, 8vw, 116px);
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.42));
}
.force-footer-brand p {
    max-width: 470px;
    margin: 0 0 24px;
    color: rgba(255,255,255,.66) !important;
    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.48;
}
.force-footer-col h2 {
    margin: 0 0 18px;
    color: var(--force-red);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .18em;
    line-height: 1;
    text-transform: uppercase;
}
.force-footer-links,
.force-footer-contact {
    display: grid;
    gap: 10px;
}
.force-footer-links a,
.force-footer-contact a {
    width: fit-content;
    color: rgba(255,255,255,.84);
    font-weight: 850;
    line-height: 1.2;
    transition: color .18s ease, transform .18s ease;
}
.force-footer-links a:hover,
.force-footer-contact a:hover {
    color: #fff;
    transform: translateX(3px);
}
.force-footer-contact a:first-of-type {
    color: #fff;
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 950;
    letter-spacing: -.04em;
}
.force-footer-contact p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.70) !important;
    font-size: 14px;
    line-height: 1.35;
}
.force-footer-contact strong {
    display: block;
    margin-bottom: 3px;
    color: rgba(255,255,255,.96);
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.force-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: clamp(38px, 5vw, 62px);
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.52);
    font-size: 13px;
    font-weight: 800;
}
@media (max-width: 1180px) {
    .force-floating-header {
        width: min(1240px, calc(100vw - 24px));
    }
    .force-floating-header .primary-nav a {
        padding-inline: 9px;
        font-size: 19px;
    }
    .force-floating-header .force-header-social {
        gap: 5px;
        margin-left: 4px;
    }
    .force-floating-header .force-header-social a {
        width: 31px;
        height: 31px;
    }
}
@media (max-width: 1040px) {
    .force-floating-header .force-header-social {
        display: none;
    }
}
@media (max-width: 900px) {
    .force-footer-inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }
    .force-site-footer {
        padding: 58px 32px 42px !important;
    }
    .force-site-footer::before {
        inset: 14px !important;
    }
    .force-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 480px) {
    .force-site-footer {
        padding: 52px 26px 38px !important;
    }
    .force-site-footer::before {
        inset: 10px !important;
    }
}

/* Merch carousel nav v2 — left aligned chevrons */
.merch-carousel-nav {
    left: clamp(16px, 2.4vw, 32px) !important;
    right: auto !important;
    bottom: clamp(22px, 3.2vw, 40px);
    gap: 9px;
}
.merch-carousel-btn {
    width: 46px;
    height: 42px;
    border-radius: 14px;
    border-color: rgba(255,255,255,.18);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 58%),
        rgba(7,7,8,.48);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.11),
        0 14px 30px rgba(0,0,0,.24);
    font-size: 0;
}
.merch-carousel-btn svg {
    display: block;
    width: 21px;
    height: 21px;
    fill: currentColor;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.35));
    transition: transform .18s ease;
}
.merch-carousel-btn:hover svg,
.merch-carousel-btn:focus-visible svg {
    transform: scale(1.08);
}
.merch-carousel-btn:hover,
.merch-carousel-btn:focus-visible {
    border-color: rgba(255,255,255,.36);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.18), transparent 58%),
        rgba(7,7,8,.58);
}
@media (max-width: 900px) {
    .merch-carousel-nav {
        left: 18px !important;
        right: auto !important;
        bottom: 18px;
    }
}

/* FORCE Urniki page UI */
.force-urniki-hero {
    position: relative;
    overflow: hidden;
    min-height: clamp(500px, 62svh, 680px);
    display: block;
    padding-top: clamp(132px, 12vw, 174px) !important;
    padding-bottom: clamp(52px, 7vw, 88px) !important;
    color: #fff;
}
.force-urniki-hero::before {
    content: "URNIKI";
    position: absolute;
    right: max(20px, calc((100vw - 1280px)/2));
    top: clamp(120px, 20vw, 220px);
    z-index: -1;
    color: rgba(255,255,255,.035);
    font-family: var(--font-display);
    font-size: clamp(110px, 20vw, 330px);
    line-height: .72;
    letter-spacing: -.04em;
    transform: rotate(-4deg);
}
.force-urniki-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 18% 18%, rgba(255,38,63,.20), transparent 28%),
        radial-gradient(circle at 85% 45%, rgba(255,255,255,.08), transparent 28%);
    pointer-events: none;
}
.force-urniki-hero h1 {
    max-width: 960px;
    font-size: clamp(56px, 8.2vw, 122px);
    line-height: .86;
    text-wrap: balance;
}
.force-urniki-hero .eyebrow {
    margin-bottom: 14px;
}
.force-urniki-hero p:not(.eyebrow) {
    max-width: 900px;
    margin: 14px 0 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.36;
}
.force-urniki-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}
.force-urniki-content {
    display: grid;
    gap: clamp(58px, 8vw, 105px);
    padding-top: clamp(36px, 5vw, 70px) !important;
}
@media (max-width: 900px) {
    .force-urniki-hero {
        min-height: auto;
        padding-top: 118px !important;
        padding-bottom: 42px !important;
    }
    .force-urniki-hero::before {
        top: 112px;
        right: -24px;
        font-size: clamp(96px, 28vw, 190px);
    }
    .force-urniki-hero h1 {
        font-size: clamp(46px, 13vw, 74px);
        line-height: .86;
    }
    .force-urniki-hero p:not(.eyebrow) {
        max-width: 680px;
        margin-top: 12px;
        font-size: 16px;
        line-height: 1.34;
    }
    .force-urniki-actions {
        margin-top: 18px;
        gap: 10px;
    }
    .force-urniki-actions .button {
        width: 100%;
        min-height: 50px;
    }
    .force-urniki-content {
        padding-top: 22px !important;
    }
}
@media (max-width: 480px) {
    .force-urniki-hero {
        padding-top: 108px !important;
        padding-bottom: 34px !important;
    }
    .force-urniki-hero .eyebrow {
        margin-bottom: 10px;
    }
    .force-urniki-hero h1 {
        font-size: clamp(42px, 14vw, 60px);
    }
    .force-urniki-hero p:not(.eyebrow) {
        margin-top: 10px;
    }
    .force-urniki-actions {
        margin-top: 16px;
    }
}
.force-schedule-block,
.force-branches-block {
    position: relative;
    isolation: isolate;
    padding: clamp(22px, 3.4vw, 42px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: clamp(28px, 4vw, 52px);
    background:
        radial-gradient(circle at 12% 0%, rgba(255,38,63,.14), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016)),
        rgba(0,0,0,.30);
    box-shadow: 0 34px 95px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.09);
}
.force-schedule-jazz {
    background:
        radial-gradient(circle at 88% 0%, rgba(156,95,255,.20), transparent 32%),
        radial-gradient(circle at 12% 0%, rgba(255,38,63,.10), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016)),
        rgba(0,0,0,.30);
}
.force-schedule-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: clamp(24px, 4vw, 42px);
}
.force-schedule-heading h2 {
    max-width: 760px;
    font-size: clamp(50px, 7vw, 104px);
    line-height: .85;
}
.force-schedule-heading > span {
    flex: 0 0 auto;
    max-width: 420px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    color: rgba(255,255,255,.84);
    background: rgba(0,0,0,.22);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}
.force-schedule-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(10px, 1.2vw, 16px);
    align-items: stretch;
}
.force-day-card {
    display: grid;
    grid-template-rows: auto 1fr;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.040);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.force-day-card h3 {
    padding: 18px 14px 15px;
    color: #fff;
    background: linear-gradient(135deg, #ff263f 0%, #c40018 100%);
    font-family: var(--font-display);
    font-size: clamp(35px, 3.8vw, 54px);
    line-height: .8;
    text-align: center;
    letter-spacing: .02em;
}
.force-day-slots {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 12px;
}
.force-slot {
    display: grid;
    gap: 4px;
    min-height: 108px;
    padding: 15px 13px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.090), rgba(255,255,255,.030)),
        rgba(255,255,255,.050);
    color: #fff;
}
.force-schedule-hiphop .force-slot:nth-child(even) {
    background:
        linear-gradient(145deg, rgba(255,38,63,.22), rgba(255,255,255,.035)),
        rgba(255,38,63,.10);
}
.force-schedule-jazz .force-slot:nth-child(even) {
    background:
        linear-gradient(145deg, rgba(156,95,255,.26), rgba(255,255,255,.035)),
        rgba(156,95,255,.12);
}
.force-slot strong {
    font-size: clamp(15px, 1.3vw, 18px);
    font-weight: 950;
    line-height: 1.05;
    text-transform: uppercase;
}
.force-slot span {
    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
}
.force-slot time {
    margin-top: auto;
    color: #fff;
    font-size: clamp(18px, 1.5vw, 23px);
    font-weight: 950;
    line-height: 1;
}
.force-slot-trainer {
    min-height: 72px;
    align-content: center;
    background: rgba(0,0,0,.24) !important;
}
.force-slot-trainer strong {
    color: rgba(255,255,255,.86);
    font-family: var(--font-display);
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 400;
    line-height: .85;
}
.force-slot-empty {
    min-height: 108px;
    place-items: center;
    border-style: dashed;
    color: rgba(255,255,255,.42);
    background: rgba(255,255,255,.020) !important;
}
.force-age-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 20px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px;
    background: rgba(0,0,0,.22);
}
.force-age-strip strong {
    margin-right: 8px;
    color: rgba(255,38,63,.96);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.force-age-strip span {
    display: inline-flex;
    gap: 8px;
    align-items: baseline;
    padding: 9px 12px;
    border-radius: 14px;
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.055);
    font-size: 14px;
    font-weight: 800;
}
.force-age-strip b {
    color: #fff;
    text-transform: uppercase;
}
.force-branches-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.force-branch-card {
    display: grid;
    gap: 16px;
    padding: clamp(20px, 2.4vw, 28px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 26px;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,38,63,.10), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.018)),
        rgba(0,0,0,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 22px 60px rgba(0,0,0,.18);
}
.force-branch-top span {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 7px 10px 6px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,38,63,.82);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.force-branch-card h3 {
    margin: 0;
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: .82;
}
.force-branch-card p {
    margin: 8px 0 0;
    color: rgba(255,255,255,.64);
    font-weight: 800;
}
.force-branch-card > strong {
    color: rgba(255,255,255,.86);
    font-size: 13px;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.force-branch-card ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.force-branch-card li {
    padding: 9px 11px;
    border-radius: 12px;
    color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.050);
    font-weight: 760;
    line-height: 1.25;
}
@media (max-width: 1180px) {
    .force-schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .force-branches-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .force-schedule-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .force-schedule-heading > span {
        max-width: none;
    }
}
@media (max-width: 700px) {
    .force-urniki-hero {
        min-height: auto;
        padding-top: 140px !important;
    }
    .force-schedule-block,
    .force-branches-block {
        padding: 18px;
        border-radius: 28px;
    }
    .force-schedule-grid,
    .force-branches-grid {
        grid-template-columns: 1fr;
    }
    .force-day-card h3 {
        text-align: left;
        padding-inline: 18px;
    }
    .force-age-strip {
        align-items: stretch;
        flex-direction: column;
    }
    .force-age-strip span {
        justify-content: space-between;
    }
}

/* Trainer start-position tune — Vanesa down, Sara/Tadej up */
.trainer-vanesa {
    --trainer-y: 34px;
    --trainer-mobile-y: 18px;
}
.trainer-sara {
    --trainer-y: 8px;
    --trainer-mobile-y: -2px;
}
.trainer-tadej {
    --trainer-y: -28px;
    --trainer-mobile-y: -22px;
}

/* Urniki hero visual image */
.force-urniki-hero {
    grid-template-columns: minmax(0, .95fr) minmax(360px, .78fr);
    gap: clamp(28px, 5vw, 76px);
    align-items: center;
}
.force-urniki-hero-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}
.force-urniki-hero-visual {
    position: relative;
    z-index: 1;
    align-self: end;
    width: min(54vw, 760px);
    margin: 0 max(-36px, -3vw) max(-84px, -6vw) auto;
    pointer-events: none;
}
.force-urniki-hero-visual::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 8%;
    bottom: 6%;
    height: 44%;
    z-index: -1;
    border-radius: 999px;
    background: rgba(255,38,63,.24);
    filter: blur(46px);
    opacity: .78;
}
.force-urniki-hero-visual::after {
    content: "";
    position: absolute;
    inset: auto 2% 0 2%;
    height: 38%;
    z-index: 0;
    background: linear-gradient(180deg, transparent, rgba(5,5,6,.50) 72%, rgba(5,5,6,.92));
    pointer-events: none;
}
.force-urniki-hero-visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    filter:
        drop-shadow(0 0 26px rgba(255,38,63,.16))
        drop-shadow(0 34px 64px rgba(0,0,0,.56));
}
@media (max-width: 980px) {
    .force-urniki-hero {
        grid-template-columns: 1fr;
        align-content: start;
    }
    .force-urniki-hero-visual {
        width: min(100%, 760px);
        margin: -20px auto -64px;
        opacity: .92;
    }
}
@media (max-width: 560px) {
    .force-urniki-hero-visual {
        width: 118vw;
        margin-left: -11vw;
        margin-bottom: -50px;
    }
}

/* Urniki hero visual v2 — oversized background feature */
.force-urniki-hero {
    display: grid;
    grid-template-columns: 1fr !important;
    align-content: center;
    min-height: clamp(680px, 82svh, 940px);
}
.force-urniki-hero-copy {
    max-width: 900px;
}
.force-urniki-hero-visual {
    position: absolute;
    z-index: -1;
    right: max(-120px, calc((100vw - 1180px)/2 - 210px));
    bottom: clamp(-92px, -8vw, -42px);
    width: min(72vw, 1060px);
    margin: 0 !important;
    opacity: .38;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 16%, #000 42%, #000 78%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 16%, #000 42%, #000 78%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
}
.force-urniki-hero-visual::before {
    left: 8%;
    right: 4%;
    bottom: 12%;
    height: 54%;
    background: rgba(255,38,63,.32);
    filter: blur(70px);
    opacity: .85;
}
.force-urniki-hero-visual::after {
    content: none !important;
    display: none !important;
}
.force-urniki-hero-visual img {
    width: 100%;
    opacity: .96;
    filter:
        saturate(.95)
        contrast(1.05)
        brightness(.78)
        drop-shadow(0 0 42px rgba(255,38,63,.18))
        drop-shadow(0 38px 74px rgba(0,0,0,.68));
}
.force-urniki-hero::after {
    background:
        radial-gradient(circle at 18% 18%, rgba(255,38,63,.20), transparent 28%),
        radial-gradient(circle at 82% 54%, rgba(255,38,63,.18), transparent 30%),
        linear-gradient(90deg, rgba(5,5,6,.08) 0%, rgba(5,5,6,.22) 55%, rgba(5,5,6,.58) 100%) !important;
}
@media (max-width: 980px) {
    .force-urniki-hero-visual {
        right: -34vw;
        bottom: -42px;
        width: 118vw;
        opacity: .24;
    }
}
@media (max-width: 560px) {
    .force-urniki-hero-visual {
        right: -62vw;
        width: 165vw;
        opacity: .18;
    }
}

/* Footer radius tune — closer to header/menu radius */
.force-site-footer::before {
    border-radius: 22px !important;
}
@media (max-width: 900px) {
    .force-site-footer::before {
        border-radius: 18px !important;
    }
}

/* Urniki hero visual v3 — seamless no clipped glow, soft bottom fade */
.force-urniki-hero {
    overflow: visible !important;
}
.force-urniki-hero-visual {
    overflow: visible !important;
    isolation: isolate;
    right: max(-180px, calc((100vw - 1180px)/2 - 260px));
    bottom: clamp(-130px, -10vw, -72px);
    width: min(78vw, 1160px);
    opacity: .42;
    mix-blend-mode: normal;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    -webkit-mask-composite: initial !important;
    mask-composite: initial !important;
}
.force-urniki-hero-visual::before {
    left: -8%;
    right: -10%;
    bottom: 2%;
    height: 62%;
    z-index: -2;
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 54% 64%, rgba(255,38,63,.34), rgba(255,38,63,.18) 38%, transparent 72%);
    filter: blur(82px);
    opacity: .90;
}
.force-urniki-hero-visual::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: -14%;
    right: -14%;
    bottom: -9%;
    height: 46%;
    z-index: 3;
    background: linear-gradient(180deg, transparent 0%, rgba(5,5,6,.16) 34%, rgba(5,5,6,.72) 76%, rgba(5,5,6,1) 100%);
    pointer-events: none;
}
.force-urniki-hero-visual img {
    -webkit-mask-image:
        linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 10%, rgba(0,0,0,.88) 28%, #000 52%, rgba(0,0,0,.88) 76%, transparent 100%),
        linear-gradient(180deg, #000 0%, #000 52%, rgba(0,0,0,.72) 70%, rgba(0,0,0,.26) 86%, transparent 100%) !important;
    mask-image:
        linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 10%, rgba(0,0,0,.88) 28%, #000 52%, rgba(0,0,0,.88) 76%, transparent 100%),
        linear-gradient(180deg, #000 0%, #000 52%, rgba(0,0,0,.72) 70%, rgba(0,0,0,.26) 86%, transparent 100%) !important;
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
    opacity: .94;
    filter:
        saturate(.94)
        contrast(1.04)
        brightness(.72)
        drop-shadow(0 0 40px rgba(255,38,63,.14))
        drop-shadow(0 44px 92px rgba(0,0,0,.64));
}
.force-urniki-content {
    position: relative;
    z-index: 4;
}
@media (max-width: 980px) {
    .force-urniki-hero-visual {
        right: -46vw;
        bottom: -86px;
        width: 136vw;
        opacity: .30;
    }
}
@media (max-width: 560px) {
    .force-urniki-hero-visual {
        right: -78vw;
        bottom: -54px;
        width: 180vw;
        opacity: .20;
    }
}

/* Urniki compact reset — no hero image, smaller UI scale */
.force-urniki-hero {
    display: block !important;
    overflow: hidden !important;
    min-height: clamp(420px, 50svh, 560px) !important;
    padding-top: clamp(118px, 11vw, 158px) !important;
    padding-bottom: clamp(42px, 5.5vw, 72px) !important;
}
.force-urniki-hero-copy,
.force-urniki-hero-visual {
    display: none !important;
}
.force-urniki-hero::before {
    font-size: clamp(84px, 15vw, 230px) !important;
    top: clamp(118px, 17vw, 190px) !important;
    opacity: .78;
}
.force-urniki-hero h1 {
    max-width: 800px !important;
    font-size: var(--force-fs-page-hero, clamp(42px, 5.8vw, 78px)) !important;
    line-height: .88 !important;
}
.force-urniki-hero p:not(.eyebrow) {
    max-width: 760px !important;
    margin-top: 12px !important;
    font-size: var(--force-fs-body-lg, clamp(16px, 1.25vw, 19px)) !important;
    line-height: 1.34 !important;
}
.force-urniki-actions {
    margin-top: 18px !important;
}
.force-urniki-content {
    gap: clamp(38px, 5.2vw, 72px) !important;
    padding-top: clamp(24px, 3.8vw, 52px) !important;
}
.force-schedule-block,
.force-branches-block {
    padding: clamp(18px, 2.4vw, 30px) !important;
    border-radius: clamp(22px, 3vw, 34px) !important;
}
.force-schedule-heading {
    margin-bottom: clamp(18px, 2.8vw, 30px) !important;
    gap: 18px !important;
}
.force-schedule-heading h2 {
    font-size: clamp(38px, 5.3vw, 76px) !important;
    line-height: .88 !important;
}
.force-schedule-heading > span {
    padding: 10px 13px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
}
.force-schedule-grid {
    gap: clamp(8px, 1vw, 13px) !important;
}
.force-day-card {
    border-radius: 19px !important;
}
.force-day-card h3 {
    padding: 14px 12px 12px !important;
    font-size: clamp(29px, 3vw, 42px) !important;
}
.force-day-slots {
    gap: 8px !important;
    padding: 10px !important;
}
.force-slot {
    min-height: 88px !important;
    padding: 12px 11px !important;
    border-radius: 14px !important;
}
.force-slot strong {
    font-size: clamp(13px, 1.05vw, 16px) !important;
}
.force-slot span {
    font-size: 12px !important;
}
.force-slot time {
    font-size: clamp(16px, 1.25vw, 19px) !important;
}
.force-slot-trainer {
    min-height: 58px !important;
}
.force-slot-trainer strong {
    font-size: clamp(24px, 2.25vw, 32px) !important;
}
.force-slot-empty {
    min-height: 88px !important;
}
.force-age-strip {
    margin-top: 15px !important;
    padding: 12px !important;
    border-radius: 17px !important;
    gap: 8px !important;
}
.force-age-strip strong {
    font-size: 11px !important;
}
.force-age-strip span {
    padding: 7px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
}
.force-branches-grid {
    gap: 13px !important;
}
.force-branch-card {
    gap: 12px !important;
    padding: clamp(16px, 1.8vw, 22px) !important;
    border-radius: 20px !important;
}
.force-branch-top span {
    margin-bottom: 8px !important;
    padding: 6px 9px 5px !important;
    font-size: 10px !important;
}
.force-branch-card h3 {
    font-size: clamp(28px, 2.7vw, 38px) !important;
}
.force-branch-card p {
    margin-top: 6px !important;
    font-size: 14px !important;
}
.force-branch-card > strong {
    font-size: 12px !important;
}
.force-branch-card ul {
    gap: 6px !important;
}
.force-branch-card li {
    padding: 8px 10px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
}
@media (max-width: 700px) {
    .force-urniki-hero {
        padding-top: 128px !important;
        min-height: auto !important;
    }
    .force-urniki-hero h1 {
        font-size: clamp(42px, 13vw, 62px) !important;
    }
    .force-schedule-block,
    .force-branches-block {
        padding: 15px !important;
        border-radius: 22px !important;
    }
}

/* FORCE design presets v1 — standardized typography, radius and spacing */
:root {
    /* Typography scale */
    --force-fs-hero: clamp(48px, 7vw, 96px);
    --force-fs-page-hero: clamp(42px, 5.8vw, 78px);
    --force-fs-section: clamp(38px, 5vw, 72px);
    --force-fs-card-title: clamp(28px, 3vw, 42px);
    --force-fs-subtitle: clamp(18px, 1.65vw, 23px);
    --force-fs-body-lg: clamp(16px, 1.25vw, 19px);
    --force-fs-body: 15px;
    --force-fs-small: 12px;
    --force-fs-button: 22px;

    /* Radius scale: use these presets instead of one-off radii */
    --force-r-xs: 10px;
    --force-r-sm: 14px;
    --force-r-md: 18px;
    --force-r-lg: 22px;
    --force-r-xl: 28px;
    --force-r-2xl: 34px;
    --force-r-pill: 999px;

    /* Spacing scale */
    --force-s-1: 8px;
    --force-s-2: 12px;
    --force-s-3: 16px;
    --force-s-4: 22px;
    --force-s-5: 30px;
    --force-s-6: 42px;
    --force-s-section: clamp(74px, 8vw, 112px);
    --force-s-section-compact: clamp(46px, 5.5vw, 76px);
    --force-site-max: 1180px;

    /* Component aliases */
    --force-radius: var(--force-r-xl);
    --force-cta-radius: var(--force-r-xs);
    --force-card-radius: var(--force-r-lg);
    --force-panel-radius: var(--force-r-xl);
    --force-section-radius: var(--force-r-2xl);
}

/* Global layout rhythm */
.section {
    padding-top: var(--force-s-section);
    padding-bottom: var(--force-s-section);
}
.section-heading {
    gap: var(--force-s-5);
    margin-bottom: var(--force-s-6);
}
.compact,
.section-heading.compact {
    margin-bottom: var(--force-s-5) !important;
}
.eyebrow,
.section-label,
.card-kicker {
    font-size: var(--force-fs-small) !important;
    letter-spacing: .16em !important;
}
h1 {
    font-size: var(--force-fs-hero) !important;
    line-height: .88 !important;
}
h2,
.section-heading h2 {
    font-size: var(--force-fs-section) !important;
    line-height: .88 !important;
}
h3 {
    font-size: var(--force-fs-card-title) !important;
    line-height: .90 !important;
}
.force-footer-col h2 {
    font-family: var(--font-body) !important;
    font-size: var(--force-fs-small) !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
}
.lead,
.signup p:not(.eyebrow),
.force-urniki-hero p:not(.eyebrow),
.force-contact-lead,
.merch-copy p:not(.eyebrow) {
    font-size: var(--force-fs-body-lg) !important;
    line-height: 1.45 !important;
}

/* Shared component radii */
.button,
.nav-cta,
.button-primary,
.button-secondary,
.force-contact-submit,
.force-contact-consent-box,
.merch-carousel-btn {
    border-radius: var(--force-cta-radius) !important;
}
.force-header-social a,
.force-footer-social a {
    border-radius: var(--force-r-sm) !important;
}
.site-header {
    border-radius: var(--force-card-radius) !important;
}
.primary-nav a,
.nav-toggle {
    border-radius: var(--force-r-sm) !important;
}
.brand-mark,
.force-age-strip span,
.force-branch-top span {
    border-radius: var(--force-r-pill) !important;
}
.hero-card,
.program-card,
.merch-copy,
.merch-placeholder,
.trainer-card-rivals,
.force-contact-card,
.force-contact-details,
.force-schedule-block,
.force-branches-block,
.force-day-card,
.force-branch-card,
.force-site-footer::before {
    border-radius: var(--force-card-radius) !important;
}
.force-slot,
.force-age-strip,
.force-schedule-heading > span,
.force-branch-card li,
.force-contact-field input,
.force-contact-field textarea,
.force-form-status,
.force-contact-detail-block,
.contact-card {
    border-radius: var(--force-r-md) !important;
}

/* Homepage component scale normalization */
.hero {
    padding-top: clamp(132px, 12vw, 172px) !important;
}
.hero-grid {
    gap: var(--force-s-6) !important;
    margin-bottom: clamp(42px, 5vw, 66px) !important;
}
.hero-card {
    padding: var(--force-s-5) !important;
    min-height: clamp(300px, 31vw, 380px) !important;
}
.program-grid,
.force-branches-grid {
    gap: var(--force-s-3) !important;
}
.program-card {
    min-height: clamp(330px, 31vw, 410px) !important;
    padding: var(--force-s-5) !important;
}
.program-card p,
.force-branch-card p,
.force-branch-card li {
    font-size: var(--force-fs-body) !important;
}
.merch-copy {
    padding: clamp(30px, 4vw, 48px) !important;
}
.merch-placeholder {
    min-height: clamp(390px, 44vw, 510px) !important;
    padding: clamp(28px, 3.5vw, 40px) !important;
}
.trainer-card-rivals {
    border-radius: var(--force-r-lg) !important;
}
.trainer-rivals-copy {
    border-radius: var(--force-r-md) !important;
}
.force-contact-grid {
    gap: var(--force-s-6) !important;
}
.force-contact-card {
    padding: clamp(20px, 2.6vw, 32px) !important;
}
.force-contact-details {
    padding: clamp(18px, 2.4vw, 30px) !important;
}
.force-site-footer {
    padding-top: clamp(58px, 7vw, 86px) !important;
}
.force-footer-inner {
    gap: clamp(28px, 4vw, 54px) !important;
}

/* Urniki: compact inner-page rhythm */
.force-urniki-hero {
    display: block !important;
    min-height: clamp(420px, 50svh, 560px) !important;
    padding-top: clamp(118px, 11vw, 158px) !important;
    padding-bottom: clamp(42px, 5.5vw, 72px) !important;
}
.force-urniki-hero h1 {
    max-width: 800px !important;
    font-size: var(--force-fs-page-hero) !important;
}
.force-urniki-hero p:not(.eyebrow) {
    max-width: 760px !important;
    margin-top: 12px !important;
    font-size: var(--force-fs-body-lg) !important;
    line-height: 1.34 !important;
}
.force-urniki-actions {
    margin-top: 18px !important;
}
.force-urniki-content {
    gap: var(--force-s-section-compact) !important;
    padding-top: clamp(22px, 3vw, 36px) !important;
}
.force-schedule-block,
.force-branches-block {
    padding: clamp(16px, 2vw, 26px) !important;
}
.force-schedule-heading {
    margin-bottom: var(--force-s-4) !important;
}
.force-schedule-heading h2 {
    font-size: clamp(34px, 4.4vw, 62px) !important;
}
.force-schedule-grid {
    gap: var(--force-s-2) !important;
}
.force-day-card h3 {
    padding: 12px 12px 10px !important;
    font-size: clamp(26px, 2.55vw, 36px) !important;
}
.force-day-slots {
    gap: var(--force-s-1) !important;
    padding: var(--force-s-1) !important;
}
.force-slot {
    min-height: 76px !important;
    padding: 10px !important;
}
.force-slot strong {
    font-size: clamp(12px, .95vw, 15px) !important;
}
.force-slot time {
    font-size: clamp(15px, 1.1vw, 18px) !important;
}
.force-slot-trainer {
    min-height: 50px !important;
}
.force-slot-trainer strong {
    font-size: clamp(22px, 2vw, 29px) !important;
}
.force-age-strip {
    margin-top: var(--force-s-2) !important;
    padding: var(--force-s-2) !important;
}
.force-branch-card {
    padding: clamp(14px, 1.6vw, 20px) !important;
    gap: var(--force-s-2) !important;
}
.force-branch-card h3 {
    font-size: clamp(26px, 2.45vw, 34px) !important;
}

@media (max-width: 900px) {
    :root {
        --force-s-section: clamp(58px, 10vw, 82px);
        --force-s-section-compact: clamp(38px, 8vw, 58px);
    }
    .section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .section-heading {
        gap: var(--force-s-3);
        margin-bottom: var(--force-s-5) !important;
    }
}
@media (max-width: 700px) {
    h1 { font-size: clamp(42px, 13vw, 66px) !important; }
    h2,
    .section-heading h2 { font-size: clamp(36px, 11vw, 58px) !important; }
    .force-urniki-hero {
        min-height: auto !important;
        padding-top: 108px !important;
        padding-bottom: 34px !important;
    }
}

