/* ============================================================
   Sport landing pages — "Varsity Editorial" overlay
   Loaded ONLY by marketing/seo/sport.html, after
   marketing-landing-pages.css. Scoped to .lp-sport-page.
   Per-sport identity keys off [data-sport] set by the template.
   No gradients: solids, color-mix tints, blurred solid shapes.
   ============================================================ */

/* Self-hosted display fonts (latin subset, from Google Fonts) */
@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/barlow-condensed-latin-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/barlow-condensed-latin-700.woff2') format('woff2');
}
@font-face {
    font-family: 'Instrument Serif';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/instrument-serif-latin-400italic.woff2') format('woff2');
}

.lp-sport-page {
    /* Sport accent + text-on-accent (defaults; tuned per sport below) */
    --sp: #E8590C;
    --sp-on: #ffffff;
    /* Derived palette — everything else mixes from the accent */
    --sp-ink: color-mix(in srgb, var(--sp) 20%, #0C1014);
    --sp-ink-soft: color-mix(in srgb, var(--sp) 30%, #171B20);
    --sp-paper: color-mix(in srgb, var(--sp) 4%, #FCFBF8);
    --sp-soft: color-mix(in srgb, var(--sp) 9%, #ffffff);
    --sp-line: color-mix(in srgb, var(--sp) 22%, #E7E4DC);
    --sp-wash: color-mix(in srgb, var(--sp) 13%, transparent);
    --font-disp: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    --font-serif: 'Instrument Serif', Georgia, serif;
    --ease: cubic-bezier(0.22, 0.9, 0.28, 1);
    background: var(--sp-paper);
}
.lp-sport-page[data-sport="basketball"]   { --sp: #E8590C; }
.lp-sport-page[data-sport="soccer"]       { --sp: #0E8A4D; }
.lp-sport-page[data-sport="hockey"]       { --sp: #2F6BFF; }
.lp-sport-page[data-sport="football"]     { --sp: #B02A37; }
.lp-sport-page[data-sport="flag-football"]{ --sp: #74B816; --sp-on: #1A2005; }
.lp-sport-page[data-sport="volleyball"]   { --sp: #D6336C; }
.lp-sport-page[data-sport="baseball"]     { --sp: #274690; }
.lp-sport-page[data-sport="softball"]     { --sp: #F08C00; --sp-on: #241703; }
.lp-sport-page[data-sport="bowling"]      { --sp: #0B7285; }

.lp-sport-page ::selection { background: var(--sp); color: var(--sp-on); }

/* ---------- Display typography: varsity poster ---------- */
.lp-sport-page h1,
.lp-sport-page h2 {
    font-family: var(--font-disp);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.005em;
}
.lp-sport-page h1 {
    font-size: clamp(3.6rem, 7.6vw, 7rem);
    line-height: 0.92;
    margin-bottom: 1.4rem;
}
.lp-sport-page h1 em {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    line-height: 1.15;
    color: var(--sp);
    margin-top: 0.55rem;
}
.lp-sport-page h2 {
    font-size: clamp(2.4rem, 4.2vw, 3.9rem);
    line-height: 0.98;
}
.lp-sport-page h3 { font-weight: 650; }

/* Eyebrows become team chips with a live accent dot */
.lp-sport-page .lp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--sp-line);
    border-radius: 999px;
    background: #fff;
    color: var(--sp-ink);
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
}
.lp-sport-page .lp-eyebrow::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sp);
    flex-shrink: 0;
}
.lp-sport-page .lp-section--dark .lp-eyebrow,
.lp-sport-page .lp-final .lp-eyebrow {
    background: color-mix(in srgb, #ffffff 8%, transparent);
    border-color: color-mix(in srgb, #ffffff 18%, transparent);
    color: #fff;
}

/* ---------- Hero: watermark, glow, poster composition ---------- */
.lp-sport-page .lp-hero {
    position: relative;
    overflow: clip;
    padding: 3.25rem 0 4.5rem;
}
.lp-sport-page .lp-hero::after {
    content: '';
    position: absolute;
    top: -220px;
    left: -180px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--sp) 24%, transparent);
    filter: blur(120px);
    pointer-events: none;
}
.lp-hero-mark {
    position: absolute;
    top: 0.25rem;
    right: -0.75rem;
    z-index: 0;
    font-family: var(--font-disp);
    font-weight: 700;
    font-size: clamp(9rem, 23vw, 21rem);
    line-height: 0.78;
    text-transform: uppercase;
    text-align: right;
    color: transparent;
    -webkit-text-stroke: 2px color-mix(in srgb, var(--sp) 26%, transparent);
    user-select: none;
    pointer-events: none;
}
.lp-sport-page .lp-hero-grid { position: relative; z-index: 1; }
.lp-sport-page .lp-hero-copy > p:not(.lp-eyebrow):not(.lp-reassurance) {
    font-size: 1.0625rem;
    max-width: 520px;
}

/* Hero entrance: staggered rise, photo settles in */
@keyframes lpRise {
    from { opacity: 0; transform: translateY(26px); }
    to   { opacity: 1; transform: none; }
}
@keyframes lpSettle {
    from { opacity: 0; transform: translateY(20px) rotate(1.3deg) scale(0.985); }
    to   { opacity: 1; transform: none; }
}
.lp-sport-page .lp-hero-copy > * { animation: lpRise 0.75s var(--ease) both; }
.lp-sport-page .lp-hero-copy > *:nth-child(2) { animation-delay: 0.08s; }
.lp-sport-page .lp-hero-copy > *:nth-child(3) { animation-delay: 0.16s; }
.lp-sport-page .lp-hero-copy > *:nth-child(4) { animation-delay: 0.24s; }
.lp-sport-page .lp-hero-copy > *:nth-child(5) { animation-delay: 0.32s; }
.lp-sport-page .lp-photo { animation: lpSettle 0.9s 0.18s var(--ease) both; }

/* CTA buttons: chunky ink pills, arrow nudges on hover */
.lp-sport-page .lp-actions .btn {
    background: var(--sp-ink);
    border: none;
    color: #fff;
    border-radius: 999px;
    min-height: 56px;
    padding: 1rem 1.7rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--sp-ink) 65%, transparent);
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background 0.25s var(--ease);
}
.lp-sport-page .lp-actions .btn:hover {
    background: var(--sp-ink-soft);
    transform: translateY(-3px);
    box-shadow: 0 22px 38px -14px color-mix(in srgb, var(--sp-ink) 70%, transparent);
}
.lp-sport-page .lp-actions .btn i { transition: transform 0.25s var(--ease); }
.lp-sport-page .lp-actions .btn:hover i { transform: translateX(4px); }
.lp-sport-page .lp-text-link { color: var(--sp-ink); }
.lp-sport-page .lp-text-link i { color: var(--sp); }
.lp-sport-page .lp-reassurance { font-size: 0.6875rem; color: var(--color-text-secondary); }
.lp-sport-page .lp-reassurance i { color: var(--sp); }

/* Hero photo: offset accent plate + framed image + scoreboard chip */
.lp-sport-page .lp-photo {
    position: relative;
    height: auto;
    background: none;
    border-radius: 0;
    overflow: visible;
}
.lp-sport-page .lp-photo::before {
    content: '';
    position: absolute;
    inset: 1.4rem -1.1rem -1.1rem 1.4rem;
    background: var(--sp);
    border-radius: 26px;
    transform: rotate(-1.6deg);
}
.lp-photo-frame {
    position: relative;
    height: 500px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--sp-ink) 16%, transparent);
    box-shadow: 0 30px 60px -28px color-mix(in srgb, var(--sp-ink) 55%, transparent);
}
.lp-photo-frame > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lp-sport-page .lp-photo-stamp {
    position: absolute;
    top: 1.15rem;
    left: 1.15rem;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 1.8rem;
    background: var(--sp);
    color: var(--sp-on);
    box-shadow: 0 8px 20px -8px color-mix(in srgb, var(--sp-ink) 60%, transparent);
}
.lp-sport-page .lp-photo figcaption {
    position: absolute;
    left: 1.1rem;
    right: auto;
    bottom: -1.35rem;
    max-width: calc(100% - 2.2rem);
    padding: 1rem 1.3rem;
    border-radius: 14px;
    background: var(--sp-ink);
    color: #fff;
    box-shadow: 0 18px 34px -18px color-mix(in srgb, var(--sp-ink) 80%, transparent);
}
.lp-sport-page .lp-photo figcaption strong {
    font-family: var(--font-disp);
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.lp-sport-page .lp-photo figcaption span { color: color-mix(in srgb, #fff 68%, transparent); font-size: 0.6875rem; }
.lp-sport-page .lp-photo figcaption > i { color: var(--sp); font-size: 1.35rem; }

/* ---------- Stat ticker: the scoreboard strip ---------- */
.lp-ticker {
    overflow: hidden;
    background: var(--sp-ink);
    border-block: 3px solid var(--sp);
    padding: 0.8rem 0;
}
.lp-ticker-track {
    display: flex;
    width: max-content;
    animation: lpTicker 30s linear infinite;
}
@keyframes lpTicker { to { transform: translateX(-50%); } }
.lp-ticker-run {
    display: flex;
    align-items: center;
    font-family: var(--font-disp);
    font-weight: 600;
    font-size: 1.2rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: color-mix(in srgb, #fff 88%, transparent);
    white-space: nowrap;
}
.lp-ticker-run i { font-style: normal; color: var(--sp); font-size: 0.5rem; margin: 0 1.6rem; }

/* ---------- Benefits: three cards, accent icon chips ---------- */
.lp-sport-page .lp-benefits {
    border-top: none;
    gap: 1.25rem;
    padding-block: 2.75rem;
}
.lp-sport-page .lp-benefits > div {
    background: #fff;
    border: 1px solid var(--sp-line);
    border-radius: 18px;
    padding: 1.25rem 1.4rem;
    transition: transform 0.3s var(--ease), border-color 0.3s var(--ease);
}
.lp-sport-page .lp-benefits > div:hover { transform: translateY(-3px); border-color: var(--sp); }
.lp-sport-page .lp-benefits i {
    color: var(--sp-on);
    background: var(--sp);
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    flex-shrink: 0;
}
.lp-sport-page .lp-benefits strong { font-size: 0.8125rem; }

/* ---------- Jump nav: numbered lineup ---------- */
.lp-sport-page .lp-jump { background: #fff; border-color: var(--sp-line); }
.lp-sport-page .lp-jump .lp-wrap { counter-reset: jump; }
.lp-sport-page .lp-jump a {
    counter-increment: jump;
    font-family: var(--font-disp);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    gap: 0.75rem;
}
.lp-sport-page .lp-jump a::before {
    content: '0' counter(jump);
    color: var(--sp);
    font-size: 0.75rem;
}
.lp-sport-page .lp-jump a:hover { color: var(--sp); }
.lp-sport-page .lp-jump-label { letter-spacing: 0.14em; }

/* ---------- Sections ---------- */
.lp-sport-page .lp-section--soft { background: var(--sp-soft); }
.lp-sport-page .lp-section--dark { background: var(--sp-ink); position: relative; overflow: clip; }
.lp-sport-page .lp-section--dark::after {
    content: '';
    position: absolute;
    right: -160px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--sp) 30%, transparent);
    filter: blur(130px);
    pointer-events: none;
}
.lp-sport-page .lp-section--dark .lp-wrap { position: relative; z-index: 1; }
.lp-sport-page .lp-section--dark .lp-eyebrow::before,
.lp-sport-page .lp-final .lp-eyebrow::before { background: var(--sp); }

/* ---------- Workflow: ghost numerals ---------- */
.lp-sport-page .lp-workflow article {
    position: relative;
    border-top: 2px solid color-mix(in srgb, var(--sp) 55%, transparent);
    padding-top: 4.6rem;
}
.lp-step-ghost {
    position: absolute;
    top: 0.55rem;
    left: 0;
    font-family: var(--font-disp);
    font-weight: 700;
    font-size: 4.6rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px color-mix(in srgb, var(--sp) 62%, transparent);
    pointer-events: none;
}
.lp-sport-page .lp-step-number {
    color: var(--sp);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.lp-sport-page .lp-workflow h3 { font-size: 1.2rem; }

/* ---------- Features: bento grid + embedded CTA card ---------- */
.lp-sport-page .lp-capabilities {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}
.lp-sport-page .lp-capabilities article {
    border: 1px solid var(--sp-line);
    border-top: 1px solid var(--sp-line);
    background: #fff;
    border-radius: 20px;
    padding: 1.7rem;
    margin: 0;
    transition: transform 0.3s var(--ease), border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.lp-sport-page .lp-capabilities article:hover {
    transform: translateY(-4px);
    border-color: var(--sp);
    box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--sp-ink) 45%, transparent);
}
.lp-sport-page .lp-capabilities article:first-child {
    grid-column: span 2;
    background: var(--sp-soft);
}
.lp-sport-page .lp-capabilities article:first-child h3 { font-size: 1.35rem; }
.lp-sport-page .lp-capabilities article:first-child p { max-width: 52ch; }
.lp-sport-page .lp-capabilities article > i {
    color: var(--sp-on);
    background: var(--sp);
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
}
.lp-capability-cta {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.7rem;
    border-radius: 20px;
    background: var(--sp);
    color: var(--sp-on);
    text-decoration: none;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.lp-capability-cta:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 44px -20px color-mix(in srgb, var(--sp) 70%, transparent);
}
.lp-capability-cta > span {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.85;
}
.lp-capability-cta > strong {
    font-family: var(--font-disp);
    font-weight: 700;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    line-height: 1.02;
    text-transform: uppercase;
    text-wrap: balance;
}
.lp-capability-cta > em {
    font-style: normal;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.8125rem;
    font-weight: 700;
}
.lp-capability-cta:hover > em i { transform: translateX(4px); }
.lp-capability-cta > em i { transition: transform 0.25s var(--ease); }

/* ---------- Product proof: broadcast window ---------- */
.lp-sport-page .lp-product-proof {
    border: 1px solid var(--sp-line);
    border-radius: 22px;
    box-shadow: 0 32px 64px -32px color-mix(in srgb, var(--sp-ink) 45%, transparent);
}
.lp-sport-page .lp-window-bar { align-items: center; }
.lp-sport-page .lp-window-bar > span:first-child { display: inline-flex; align-items: center; gap: 0.6rem; }
.lp-sport-page .lp-window-bar > span:first-child::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sp);
    box-shadow: 14px 0 0 color-mix(in srgb, var(--sp) 45%, #fff), 28px 0 0 var(--sp-line);
    margin-right: 26px;
    flex-shrink: 0;
}
.lp-sport-page .lp-proof-intro li i { color: var(--sp); }
.lp-sport-page .lp-proof-intro li strong { color: var(--color-text); }

/* ---------- Migration: big numbered play calls ---------- */
.lp-sport-page .lp-migration li {
    grid-template-columns: 3.6rem 1fr;
    border-top: 1px solid var(--sp-line);
    align-items: start;
}
.lp-sport-page .lp-migration li::before {
    font-family: var(--font-disp);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.3px var(--sp);
}

/* ---------- FAQ: card accordion ---------- */
.lp-sport-page .lp-accordion { border-top: none; display: grid; gap: 0.75rem; }
.lp-sport-page .lp-accordion details {
    border: 1px solid var(--sp-line);
    border-radius: 14px;
    background: #fff;
    padding: 0 1.25rem;
    transition: border-color 0.25s var(--ease);
}
.lp-sport-page .lp-accordion details[open] { border-color: var(--sp); }
.lp-sport-page .lp-accordion summary { font-size: 0.875rem; padding: 1.15rem 0; }
.lp-sport-page .lp-accordion summary::after {
    content: '+';
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sp-soft);
    color: var(--sp);
    font-size: 1rem;
    flex-shrink: 0;
    transition: transform 0.25s var(--ease);
}
.lp-sport-page .lp-accordion details[open] summary::after { content: '−'; transform: rotate(180deg); }

/* ---------- Related: chip links ---------- */
.lp-sport-page .lp-related { border-top: 1px solid var(--sp-line); padding: 2.5rem 0; }
.lp-sport-page .lp-related a {
    border: 1px solid var(--sp-line);
    background: #fff;
    border-radius: 999px;
    padding: 0.6rem 1.1rem;
    font-weight: 600;
    transition: border-color 0.25s var(--ease), transform 0.25s var(--ease);
}
.lp-sport-page .lp-related a:hover { text-decoration: none; border-color: var(--sp); transform: translateY(-2px); }
.lp-sport-page .lp-related a i { color: var(--sp); }

/* ---------- Final CTA: the locker-room speech ---------- */
.lp-sport-page .lp-final {
    background: var(--sp-ink);
    position: relative;
    overflow: clip;
    padding: 6.5rem 0;
}
.lp-sport-page .lp-final::before {
    content: '';
    position: absolute;
    left: -140px;
    top: -220px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--sp) 32%, transparent);
    filter: blur(120px);
    pointer-events: none;
}
.lp-sport-page .lp-final .lp-wrap { position: relative; z-index: 1; }
.lp-sport-page .lp-final h2 { font-size: clamp(2.8rem, 5vw, 4.6rem); }
.lp-sport-page .lp-final .lp-actions .btn { background: #fff; color: var(--sp-ink); }
.lp-sport-page .lp-final .lp-actions .btn:hover { background: color-mix(in srgb, var(--sp) 12%, #fff); }
.lp-sport-page .lp-final .lp-text-link { color: #fff; }

/* ---------- Scroll reveals (JS adds .is-in; no-JS shows everything) ---------- */
html.lp-js .lp-sport-page [data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
html.lp-js .lp-sport-page [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Mobile sticky CTA (shown once hero scrolls away) ---------- */
.lp-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.7rem 1rem calc(0.7rem + env(safe-area-inset-bottom, 0px));
    background: var(--sp-ink);
    color: #fff;
    box-shadow: 0 -12px 30px color-mix(in srgb, var(--sp-ink) 35%, transparent);
    transform: translateY(105%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.35s var(--ease), opacity 0.35s var(--ease), visibility 0s 0.35s;
}
.lp-sticky-cta.is-live { transform: none; opacity: 1; visibility: visible; transition-delay: 0s; }
.lp-sticky-cta > div { flex: 1 1 auto; min-width: 0; overflow: hidden; display: grid; gap: 0.1rem; }
.lp-sticky-cta strong {
    font-family: var(--font-disp);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.lp-sticky-cta span { font-size: 0.625rem; color: color-mix(in srgb, #fff 65%, transparent); }
.lp-sticky-cta .btn {
    background: var(--sp);
    color: var(--sp-on);
    border: none;
    border-radius: 999px;
    min-height: 44px;
    padding: 0.65rem 1.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .lp-sticky-cta { display: flex; }
}

/* ---------- Focus ---------- */
.lp-sport-page a:focus-visible,
.lp-sport-page summary:focus-visible { outline: 2px solid var(--sp); outline-offset: 4px; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
    .lp-hero-mark { font-size: clamp(7rem, 20vw, 13rem); }
    .lp-photo-frame { height: 440px; }
    .lp-sport-page .lp-benefits { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .lp-hero-mark { display: none; }
    .lp-sport-page .lp-hero { padding: 2rem 0 3.25rem; }
    .lp-sport-page h1 { font-size: clamp(3rem, 13vw, 4.6rem); letter-spacing: 0; }
    .lp-sport-page h1 em { font-size: clamp(1.7rem, 6.4vw, 2.4rem); }
    .lp-sport-page .lp-photo::before { inset: 1rem -0.6rem -0.6rem 1rem; }
    .lp-photo-frame { height: 340px; }
    .lp-sport-page .lp-photo figcaption { position: static; margin: 1.4rem 0 0; max-width: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .lp-ticker-run { font-size: 1rem; }
    .lp-ticker-run i { margin: 0 1rem; }
    .lp-sport-page .lp-workflow article { padding-top: 3.9rem; }
    .lp-step-ghost { font-size: 3.6rem; }
    .lp-sport-page .lp-capabilities { grid-template-columns: 1fr; }
    .lp-sport-page .lp-capabilities article:first-child,
    .lp-capability-cta { grid-column: auto; }
    .lp-sport-page .lp-actions .btn { min-height: 52px; width: 100%; justify-content: center; }
    .lp-sport-page .lp-final { padding: 4.5rem 0; }
}
