/* Talk City Engine v1.34.0 — page-scoped premium Toronto sports landings. */
body.tce-sports-landing-view,
body.tce-sports-landing-view #primary,
body.tce-sports-landing-view .site-content,
body.tce-sports-landing-view .content-area {
    background: #070a10;
    color: #f7f9ff;
}

body.tce-sports-landing-view .entry-header,
body.tce-sports-landing-view .page-header,
body.tce-sports-landing-view .header-empty-space,
body.tce-sports-landing-view .first-section > .page-height {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Modesto adds `.fixed` to the primary direct-body header. On sports pages it
 * must remain the normal in-flow header, then scroll away instead of covering
 * the premium navigation. The native header is transparent before the theme
 * adds `.scrolled`; normal pages supply a white canvas beneath it, while the
 * sports shell is dark. Supply that canonical light surface here and keep its
 * stacking context above an open dropdown without making it sticky again.
 * This selector does not affect any other page. */
body.tce-sports-landing-view > header.type-4.fixed {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 100%;
    z-index: 40;
    color: #3c3c3c;
    background-color: #fff;
}

.tce-sports-landing {
    --tce-sport-accent: #19d3ff;
    --tce-sport-purple: #8e5cff;
    --tce-sport-panel: #111722;
    --tce-sport-panel-2: #0b1019;
    --tce-sport-line: rgba(255,255,255,.13);
    width: 100%;
    max-width: none;
    overflow: clip;
    color: #f7f9ff;
    background:
        radial-gradient(circle at 12% 5%, color-mix(in srgb, var(--tce-sport-accent) 17%, transparent), transparent 28rem),
        linear-gradient(180deg, #090d15, #070a10 60%, #0a0e16);
}

.tce-sports-landing a { color: inherit; }
.tce-sports-team-nav,
.tce-sports-jump-nav {
    width: 100%;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: thin;
    padding: 12px max(20px, calc((100vw - 1240px) / 2));
    background: rgba(5,8,13,.94);
    border-block: 1px solid var(--tce-sport-line);
}
.tce-sports-team-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    isolation: isolate;
    pointer-events: auto;
}
.tce-sports-team-nav a { position: relative; z-index: 1; pointer-events: auto; }
body.admin-bar.tce-sports-landing-view .tce-sports-team-nav { top: 32px; }
.tce-sports-team-nav a,
.tce-sports-jump-nav a {
    flex: 0 0 auto;
    padding: 9px 14px;
    border-radius: 999px;
    color: #cbd3e4;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none;
}
.tce-sports-team-nav a:hover,
.tce-sports-team-nav a:focus-visible,
.tce-sports-team-nav a[aria-current="page"],
.tce-sports-jump-nav a:hover,
.tce-sports-jump-nav a:focus-visible {
    color: #071018;
    background: var(--tce-sport-accent);
    outline: none;
}

.tce-sports-hero {
    position: relative;
    min-height: min(690px, 78vh);
    display: grid;
    align-items: end;
    background: #111722 var(--tce-sports-hero-image) center/cover no-repeat;
    isolation: isolate;
}
.tce-sports-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(4,7,12,.98) 0%, rgba(4,7,12,.84) 46%, rgba(4,7,12,.28) 78%),
        linear-gradient(0deg, #070a10 0%, transparent 42%);
}
.tce-sports-hero-copy {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(90px, 12vw, 160px) 0 clamp(58px, 8vw, 96px);
    max-width: 1240px;
}
.tce-sports-hero-copy > * { max-width: 820px; }
.tce-sports-eyebrow {
    display: inline-block;
    color: var(--tce-sport-accent);
    font-weight: 900;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.tce-sports-hero h1 {
    margin: 15px 0 20px;
    color: #fff;
    font-size: clamp(44px, 7.2vw, 104px);
    line-height: .94;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.tce-sports-hero p {
    color: #d5dbea;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.65;
}
.tce-sports-hero-logo { width: 104px; height: 104px; margin-bottom: 22px; }
.tce-sports-team-logo-hero,
.tce-sports-hero-logo .tce-sports-team-monogram { width: 100%; height: 100%; }
.tce-sports-team-logo { display: block; object-fit: contain; filter: drop-shadow(0 14px 28px rgba(0,0,0,.46)); }
.tce-sports-team-monogram {
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tce-sport-accent) 66%, #fff);
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(145deg, color-mix(in srgb, var(--tce-sport-accent) 36%, #101725), #0a0f18);
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.04em;
}
.tce-sports-next-game {
    display: grid;
    gap: 4px;
    width: fit-content;
    margin-top: 24px;
    padding: 14px 17px;
    border: 1px solid color-mix(in srgb, var(--tce-sport-accent) 55%, transparent);
    border-radius: 14px;
    background: rgba(6,10,17,.72);
    backdrop-filter: blur(10px);
}
.tce-sports-next-game span { color: var(--tce-sport-accent); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.tce-sports-next-game strong { color: #fff; font-size: 17px; }
.tce-sports-next-game time { color: #cbd3e4; font-size: 13px; }
.tce-sports-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.tce-sports-hero-actions .tce-btn:focus-visible,
.tce-sports-landing button:focus-visible,
.tce-sports-landing a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.tce-sports-jump-nav { position: relative; top: auto; z-index: 1; justify-content: center; }
.tce-sports-main { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 78px 0 96px; }
.tce-sports-section-heading { max-width: 820px; margin-bottom: 30px; }
.tce-sports-section-heading h2,
.tce-sports-editorial > h2 {
    margin: 10px 0 14px;
    color: #fff;
    font-size: clamp(32px, 4.5vw, 58px);
    line-height: 1.03;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.tce-sports-section-heading p,
.tce-sports-editorial > .tce-landing-editorial-intro { color: #c4ccdb; font-size: 17px; line-height: 1.75; }

.tce-sports-game-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.tce-sports-game-wrap { min-width: 0; }
.tce-sports-game-wrap.is-deferred { display: none; }
.tce-sports-game-card,
.tce-sports-game-wrap .tce-event-card {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--tce-sport-line);
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(22,29,43,.98), rgba(10,14,23,.98));
    box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.tce-sports-game-logos {
    min-height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding: 28px;
    background: radial-gradient(circle, color-mix(in srgb, var(--tce-sport-accent) 13%, transparent), transparent 70%);
    border-bottom: 1px solid var(--tce-sport-line);
}
.tce-sports-game-logos img { width: 76px; height: 76px; object-fit: contain; filter: drop-shadow(0 10px 24px rgba(0,0,0,.4)); }
.tce-sports-game-hero { aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid var(--tce-sport-line); background: #070b12; }
.tce-sports-game-hero img { width: 100%; height: 100%; display: block; object-fit: cover; }
.tce-sports-game-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 25px; }
.tce-sports-game-copy h3 { margin: 13px 0 11px; color: #fff; font-size: 23px; line-height: 1.2; }
.tce-sports-game-copy p { color: #bdc6d8; line-height: 1.65; }
.tce-sports-game-copy .tce-btn { margin-top: auto; }
.tce-sports-pill {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid color-mix(in srgb, var(--tce-sport-accent) 58%, transparent);
    border-radius: 999px;
    color: var(--tce-sport-accent);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.tce-sports-load-more { display: block; margin: 32px auto 0; }
.tce-sports-empty { padding: 36px; border: 1px dashed var(--tce-sport-line); border-radius: 22px; background: var(--tce-sport-panel); }
.tce-sports-empty h3 { color: #fff; }
.tce-sports-empty p { color: #c4ccdb; }

.tce-sports-hub-grid { margin-bottom: 70px; }
.tce-sports-team-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.tce-sports-team-card {
    position: relative;
    min-height: 310px;
    padding: 25px;
    border: 1px solid var(--tce-sport-line);
    border-top-color: var(--tce-team-accent);
    border-radius: 20px;
    background: linear-gradient(160deg, color-mix(in srgb, var(--tce-team-accent) 12%, #121824), #0b1018 55%);
    box-shadow: 0 18px 55px rgba(0,0,0,.22);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.tce-sports-team-card:hover,
.tce-sports-team-card:focus-within { transform: translateY(-6px); border-color: var(--tce-team-accent); box-shadow: 0 24px 68px color-mix(in srgb, var(--tce-team-accent) 20%, rgba(0,0,0,.6)); }
.tce-sports-team-card .tce-sports-team-logo,
.tce-sports-team-card .tce-sports-team-monogram { width: 74px; height: 74px; transition: transform .24s ease; }
.tce-sports-team-card:hover .tce-sports-team-logo,
.tce-sports-team-card:focus-within .tce-sports-team-logo,
.tce-sports-team-card:hover .tce-sports-team-monogram,
.tce-sports-team-card:focus-within .tce-sports-team-monogram { transform: translateY(-3px) scale(1.03); }
.tce-sports-team-card-copy > span { color: var(--tce-team-accent); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.tce-sports-team-card h3 { margin: 18px 0 10px; color: #fff; font-size: 27px; }
.tce-sports-team-card p { color: #aeb8ca; }
.tce-sports-team-card .tce-text-link { position: absolute; bottom: 24px; color: #fff; font-weight: 900; }
.tce-sports-team-card .tce-text-link::after { position: absolute; inset: -12px -14px; content: ''; }
.tce-sports-coming-soon { position: absolute; bottom: 24px; color: #aeb8ca; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.tce-sports-more-teams { margin-top: 88px; }
.tce-sports-more-teams .tce-sports-team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

.tce-sports-kinetic-heading {
    text-shadow: 0 0 24px color-mix(in srgb, var(--tce-sport-accent) 32%, transparent);
    animation: tce-sports-heading-glow 4.8s ease-in-out infinite;
}
@keyframes tce-sports-heading-glow {
    0%, 100% { text-shadow: 0 0 18px color-mix(in srgb, var(--tce-sport-accent) 24%, transparent); }
    50% { text-shadow: 0 0 36px color-mix(in srgb, var(--tce-sport-accent) 52%, transparent), 0 0 70px rgba(142,92,255,.18); }
}

.tce-sports-toronto-plays {
    min-height: 390px;
    display: grid;
    align-items: end;
    margin-bottom: 84px;
    padding: clamp(28px,6vw,74px);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tce-plays-color) 66%, var(--tce-sport-line));
    border-radius: 30px;
    background: radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--tce-plays-color) 42%, transparent), transparent 42%), linear-gradient(145deg,#111927,#070b12);
    box-shadow: 0 34px 90px rgba(0,0,0,.34);
    transition: border-color .5s ease, background .5s ease;
}
.tce-sports-toronto-plays h2 { margin: 8px 0 12px; color: #fff; font-size: clamp(58px,10vw,142px); line-height: .82; letter-spacing: -.065em; }
.tce-sports-toronto-plays p { margin: 0; color: #d9e0ee; font-size: clamp(15px,2vw,21px); font-weight: 800; letter-spacing: .08em; }
.tce-sports-toronto-plays.is-changing h2,
.tce-sports-toronto-plays.is-changing p { opacity: .18; transform: translateY(8px); }
.tce-sports-toronto-plays h2,
.tce-sports-toronto-plays p { transition: opacity .22s ease, transform .22s ease; }
.tce-sports-league-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.tce-sports-league-pills span { padding: 6px 10px; border: 1px solid var(--tce-sport-line); border-radius: 999px; color: #cbd3e4; font-size: 10px; font-weight: 900; letter-spacing: .13em; }

.tce-sports-editorial-visual { margin: 76px 0; border: 1px solid var(--tce-sport-line); border-radius: 28px; overflow: hidden; box-shadow: 0 28px 80px rgba(0,0,0,.32); }
.tce-sports-editorial-image { width: 100%; min-height: 300px; max-height: 620px; display: block; object-fit: cover; }

.tce-sports-season-guide,
.tce-sports-venue-guide { margin-top: 90px; }
.tce-sports-season-grid,
.tce-sports-venue-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.tce-sports-season-grid article,
.tce-sports-venue-grid article { min-width: 0; padding: 24px; border: 1px solid var(--tce-sport-line); border-radius: 18px; background: linear-gradient(145deg,rgba(18,25,38,.96),rgba(9,13,21,.96)); }
.tce-sports-season-grid article > span { width: 10px; height: 10px; display: block; margin-bottom: 22px; border-radius: 50%; background: var(--tce-sport-accent); box-shadow: 0 0 20px var(--tce-sport-accent); }
.tce-sports-season-grid h3,
.tce-sports-venue-grid h3 { margin: 0 0 10px; color: #fff; font-size: 22px; line-height: 1.2; }
.tce-sports-season-grid p,
.tce-sports-venue-grid p { margin: 0; color: #b9c3d5; line-height: 1.65; }
.tce-sports-venue-grid a { color: #fff; text-decoration-color: var(--tce-sport-accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.tce-sports-venue-grid a:hover,
.tce-sports-venue-grid a:focus-visible { color: var(--tce-sport-accent); }

.tce-sports-editorial { margin-top: 90px; }
.tce-sports-editorial .tce-landing-editorial-intro { max-width: 860px; }
.tce-sports-editorial .tce-landing-editorial-sections {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
    margin-top: 34px;
}
.tce-sports-editorial .tce-landing-editorial-card {
    padding: clamp(24px,3vw,38px);
    border: 1px solid var(--tce-sport-line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(18,24,36,.96), rgba(10,14,22,.96));
}
.tce-sports-editorial .tce-landing-editorial-card h3 { margin: 0 0 16px; color: #fff; font-size: clamp(23px,3vw,33px); line-height: 1.15; }
.tce-sports-editorial .tce-landing-editorial-card h3:not(:first-child) { margin-top: 28px; font-size: 21px; }
.tce-sports-editorial p,
.tce-sports-editorial li { color: #c4ccdb; font-size: 16px; line-height: 1.78; }
.tce-sports-editorial a { color: var(--tce-sport-accent); text-decoration-thickness: 2px; }
.tce-sports-disclosure { margin-top: 52px; padding: 24px 28px; border-left: 3px solid var(--tce-sport-accent); background: rgba(255,255,255,.045); }
.tce-sports-disclosure strong { color: #fff; }
.tce-sports-disclosure p { margin: 7px 0 0; color: #aeb8ca; font-size: 14px; line-height: 1.65; }

@media (max-width: 1100px) {
    .tce-sports-game-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tce-sports-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tce-sports-more-teams .tce-sports-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tce-sports-season-grid,
    .tce-sports-venue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px) {
    body.admin-bar.tce-sports-landing-view .tce-sports-team-nav { top: 46px; }
    .tce-sports-hero { min-height: 610px; background-position: 62% center; }
    .tce-sports-hero-overlay { background: linear-gradient(0deg,#070a10 0%,rgba(4,7,12,.86) 62%,rgba(4,7,12,.45)); }
    .tce-sports-hero-copy { width: calc(100% - 28px); padding-bottom: 48px; }
    .tce-sports-main { width: calc(100% - 28px); padding: 56px 0 76px; }
    .tce-sports-team-nav { padding-inline: 14px; }
    .tce-sports-jump-nav { justify-content: flex-start; padding-inline: 14px; }
    .tce-sports-game-grid,
    .tce-sports-team-grid,
    .tce-sports-more-teams .tce-sports-team-grid,
    .tce-sports-editorial .tce-landing-editorial-sections { grid-template-columns: 1fr; }
    .tce-sports-team-card { min-height: 220px; }
    .tce-sports-season-grid,
    .tce-sports-venue-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
    .tce-sports-hero h1 { font-size: 46px; }
    .tce-sports-hero-actions .tce-btn { width: 100%; text-align: center; }
    .tce-sports-game-copy { padding: 21px; }
    .tce-sports-game-logos { min-height: 126px; }
    .tce-sports-game-logos img { width: 62px; height: 62px; }
}
@media (prefers-reduced-motion: reduce) {
    .tce-sports-landing *, .tce-sports-landing *::before, .tce-sports-landing *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* v1.34.1 sports hub polish */
.tce-sports-team-nav { align-items: center; overflow: visible; }
.tce-sports-team-nav-primary { min-width: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.tce-sports-team-nav-more { position: relative; flex: 0 0 auto; margin-left: auto; }
.tce-sports-team-nav-more summary {
    list-style: none;
    cursor: pointer;
    padding: 9px 14px;
    border: 1px solid var(--tce-sport-line);
    border-radius: 999px;
    color: #d8e0f1;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    user-select: none;
}
.tce-sports-team-nav-more summary::-webkit-details-marker { display: none; }
.tce-sports-team-nav-more summary::after { content: ' +'; color: var(--tce-sport-accent); }
.tce-sports-team-nav-more[open] summary::after { content: ' −'; }
.tce-sports-team-nav-more-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(330px, calc(100vw - 28px));
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--tce-sport-line);
    border-radius: 18px;
    background: rgba(8,12,20,.98);
    box-shadow: 0 24px 70px rgba(0,0,0,.45);
}
.tce-sports-team-nav-more-panel a { width: 100%; border-radius: 12px; }

.tce-sports-team-logo-wrap { position: relative; width: 74px; height: 74px; display: inline-grid; place-items: center; }
.tce-sports-team-logo-wrap > .tce-sports-team-logo,
.tce-sports-team-logo-wrap > .tce-sports-team-logo-fallback { grid-area: 1 / 1; }
.tce-sports-team-logo-fallback { display: none; }
.tce-sports-team-logo-wrap.is-fallback > .tce-sports-team-logo { display: none; }
.tce-sports-team-logo-wrap.is-fallback > .tce-sports-team-logo-fallback { display: inline-grid; }

.tce-sports-team-card {
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(155deg, color-mix(in srgb, var(--tce-team-accent) 18%, rgba(15,22,34,.96)), rgba(7,10,16,.98) 66%);
}
.tce-sports-team-card::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: '';
    background-image:
        linear-gradient(180deg, rgba(6,9,14,.34), rgba(6,9,14,.92) 78%),
        var(--tce-team-card-image, linear-gradient(135deg, transparent, transparent));
    background-position: center;
    background-size: cover;
    opacity: .52;
    transform: scale(1.02);
    transition: opacity .32s ease, transform .45s ease;
}
.tce-sports-team-card::after {
    position: absolute;
    inset: auto -34px -48px auto;
    z-index: -1;
    content: '';
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--tce-team-accent) 38%, transparent), transparent 70%);
    filter: blur(5px);
    transition: transform .35s ease, opacity .35s ease;
}
.tce-sports-team-card:hover::before,
.tce-sports-team-card:focus-within::before { opacity: .72; transform: scale(1.075); }
.tce-sports-team-card:hover::after,
.tce-sports-team-card:focus-within::after { transform: scale(1.22); opacity: .95; }
.tce-sports-team-card-sport {
    position: absolute;
    right: 18px;
    top: 12px;
    z-index: -1;
    font-size: clamp(92px, 9vw, 160px);
    line-height: 1;
    opacity: .08;
    filter: grayscale(1);
    transform: rotate(-8deg);
}
.tce-sports-team-card-copy { position: relative; z-index: 2; }
.tce-sports-team-card .tce-sports-team-logo,
.tce-sports-team-card .tce-sports-team-monogram,
.tce-sports-team-card .tce-sports-team-logo-wrap { position: relative; z-index: 2; }
.tce-sports-team-card--sports-maple-leafs .tce-sports-team-logo,
.tce-sports-team-card--sports-maple-leafs .tce-sports-team-logo-wrap { width: 94px; height: 94px; }

.tce-sports-league-pills a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--tce-sport-line);
    border-radius: 999px;
    color: #cbd3e4;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.tce-sports-league-pills a:hover,
.tce-sports-league-pills a:focus-visible,
.tce-sports-league-pills a.is-active {
    color: #061018;
    border-color: var(--tce-plays-color);
    background: var(--tce-plays-color);
    transform: translateY(-2px);
    outline: none;
}

@media (max-width: 900px) {
    .tce-sports-team-nav { overflow-x: visible; }
    .tce-sports-team-nav-primary { flex: 1 1 auto; }
    .tce-sports-team-nav-more { margin-left: 4px; }
}
@media (max-width: 560px) {
    .tce-sports-team-nav { padding-inline: 10px; }
    .tce-sports-team-nav-more summary { padding-inline: 11px; font-size: 10px; }
    .tce-sports-team-nav-more-panel { position: fixed; top: auto; right: 10px; left: 10px; width: auto; }
}

/* v1.34.1 team-brand depth */
.tce-sports-team-card {
    scroll-margin-top: 118px;
    background:
        radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--tce-team-accent-2) 20%, transparent), transparent 38%),
        linear-gradient(145deg, color-mix(in srgb, var(--tce-team-accent) 20%, #101826), color-mix(in srgb, var(--tce-team-accent-2) 10%, #070a10) 66%);
}
.tce-sports-team-card::after {
    background:
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tce-team-accent) 42%, transparent), transparent 66%),
        radial-gradient(circle at 65% 35%, color-mix(in srgb, var(--tce-team-accent-2) 24%, transparent), transparent 58%);
}
.tce-sports-team-card--sports-tempo .tce-sports-team-card-sport,
.tce-sports-team-card--sports-raptors .tce-sports-team-card-sport,
.tce-sports-team-card--sports-shooting-stars .tce-sports-team-card-sport { transform: rotate(-12deg) scale(1.08); }
.tce-sports-team-card--sports-sceptres .tce-sports-team-card-sport,
.tce-sports-team-card--sports-marlies .tce-sports-team-card-sport,
.tce-sports-team-card--sports-maple-leafs .tce-sports-team-card-sport { transform: rotate(-7deg) scale(1.02); }

/* v1.34.2 sports visual depth: expansion teams, seasons and venues */
.tce-sports-more-teams .tce-sports-team-card {
    min-height: 318px;
    border-color: color-mix(in srgb, var(--tce-team-accent) 68%, var(--tce-sport-line));
}
.tce-sports-team-card-bg--venue::before,
.tce-sports-team-card-bg--page::before,
.tce-sports-team-card-bg--editorial::before {
    background-size: 100% 100%, cover;
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
}
.tce-sports-team-card-bg--logo::before {
    background-image:
        radial-gradient(circle at 82% 32%, color-mix(in srgb, var(--tce-team-accent) 16%, transparent), transparent 34%),
        linear-gradient(180deg, rgba(6,9,14,.12), rgba(6,9,14,.92) 82%),
        var(--tce-team-card-image, linear-gradient(135deg, transparent, transparent));
    background-size: 100% 100%, 100% 100%, min(58%, 240px) auto;
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: center, center, 86% 30%;
    opacity: .68;
    filter: saturate(.9) contrast(1.04);
}
.tce-sports-more-teams .tce-sports-team-card-bg--venue::before,
.tce-sports-more-teams .tce-sports-team-card-bg--page::before { opacity: .66; }
.tce-sports-more-teams .tce-sports-team-card-bg--abstract {
    background:
        radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--tce-team-accent-2) 24%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, var(--tce-team-accent) 24%, #101826), #070a10 72%);
}
.tce-sports-more-teams .tce-sports-team-card-copy {
    max-width: min(80%, 390px);
    padding-top: 8px;
}

.tce-sports-season-grid article.tce-sports-season-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 230px;
    padding: 28px;
    border-color: color-mix(in srgb, var(--tce-season-accent) 42%, var(--tce-sport-line));
    background: #0a0f18;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.tce-sports-season-card::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: '';
    background-image:
        linear-gradient(165deg, rgba(7,10,16,.42), rgba(7,10,16,.96) 84%),
        var(--tce-season-image, linear-gradient(135deg, transparent, transparent));
    background-size: cover;
    background-position: center;
    opacity: .66;
    transform: scale(1.02);
    transition: opacity .3s ease, transform .42s ease;
}
.tce-sports-season-card::after {
    position: absolute;
    right: -36px;
    bottom: -50px;
    z-index: -1;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    content: '';
    background: radial-gradient(circle, color-mix(in srgb, var(--tce-season-accent) 38%, transparent), transparent 68%);
    filter: blur(4px);
}
.tce-sports-season-card:hover,
.tce-sports-season-card:focus-within {
    transform: translateY(-5px);
    border-color: var(--tce-season-accent);
    box-shadow: 0 22px 54px color-mix(in srgb, var(--tce-season-accent) 15%, rgba(0,0,0,.55));
}
.tce-sports-season-card:hover::before,
.tce-sports-season-card:focus-within::before { opacity: .79; transform: scale(1.07); }
.tce-sports-season-grid article > span.tce-sports-season-icon {
    width: 46px;
    height: 46px;
    display: inline-grid;
    place-items: center;
    margin: 0 0 34px;
    border: 1px solid color-mix(in srgb, var(--tce-season-accent) 65%, transparent);
    border-radius: 14px;
    color: #fff;
    background: color-mix(in srgb, var(--tce-season-accent) 18%, rgba(5,9,15,.78));
    box-shadow: 0 0 28px color-mix(in srgb, var(--tce-season-accent) 25%, transparent);
    font-size: 20px;
    line-height: 1;
}
.tce-sports-season-card h3,
.tce-sports-season-card p { position: relative; z-index: 1; }

.tce-sports-venue-grid article.tce-sports-venue-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 230px;
    padding: 0;
    border-color: color-mix(in srgb, var(--tce-venue-accent) 44%, var(--tce-sport-line));
    background:
        radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--tce-venue-accent) 25%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(18,25,38,.98), rgba(9,13,21,.98));
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.tce-sports-venue-card::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: '';
    background-image:
        linear-gradient(180deg, rgba(6,9,14,.18), rgba(6,9,14,.95) 85%),
        var(--tce-venue-image, linear-gradient(135deg, transparent, transparent));
    background-size: cover;
    background-position: center;
    opacity: .68;
    transform: scale(1.02);
    transition: opacity .3s ease, transform .44s ease;
}
.tce-sports-venue-card::after {
    position: absolute;
    inset: auto -28px -54px auto;
    z-index: -1;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    content: '';
    background: radial-gradient(circle, color-mix(in srgb, var(--tce-venue-accent) 34%, transparent), transparent 70%);
}
.tce-sports-venue-card-copy {
    position: relative;
    z-index: 1;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
}
.tce-sports-venue-card h3 { font-size: clamp(22px,2.1vw,30px); }
.tce-sports-venue-card h3 a { text-decoration: none; }
.tce-sports-venue-card h3 a::after {
    position: absolute;
    inset: 0;
    z-index: 2;
    content: '';
}
.tce-sports-venue-card p { position: relative; z-index: 3; pointer-events: none; }
.tce-sports-venue-cta {
    position: relative;
    z-index: 3;
    margin-top: 18px;
    color: color-mix(in srgb, var(--tce-venue-accent) 74%, #fff);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .11em;
    pointer-events: none;
}
.tce-sports-venue-card:hover,
.tce-sports-venue-card:focus-within {
    transform: translateY(-5px);
    border-color: var(--tce-venue-accent);
    box-shadow: 0 24px 60px color-mix(in srgb, var(--tce-venue-accent) 16%, rgba(0,0,0,.58));
}
.tce-sports-venue-card:hover::before,
.tce-sports-venue-card:focus-within::before { opacity: .82; transform: scale(1.075); }

@media (max-width: 780px) {
    .tce-sports-more-teams .tce-sports-team-card,
    .tce-sports-season-grid article.tce-sports-season-card,
    .tce-sports-venue-grid article.tce-sports-venue-card { min-height: 220px; }
    .tce-sports-venue-card-copy { min-height: 220px; }
}

/* v1.34.3 — More Toronto Teams card parity */
.tce-sports-more-teams .tce-sports-team-card {
    min-height: 310px;
    padding: 25px;
}
.tce-sports-more-teams .tce-sports-team-card-copy {
    max-width: none;
    padding-top: 0;
    padding-bottom: 52px;
}
.tce-sports-more-teams .tce-sports-team-card-bg--sport::before {
    background-size: cover;
    background-position: center;
    opacity: .56;
}
.tce-sports-more-teams .tce-sports-team-card-bg--sport:hover::before,
.tce-sports-more-teams .tce-sports-team-card-bg--sport:focus-within::before {
    opacity: .72;
}
.tce-sports-more-teams .tce-sports-team-card .tce-sports-team-logo,
.tce-sports-more-teams .tce-sports-team-card .tce-sports-team-logo-wrap,
.tce-sports-more-teams .tce-sports-team-card .tce-sports-team-monogram {
    width: 74px;
    height: 74px;
}
@media (max-width: 780px) {
    .tce-sports-more-teams .tce-sports-team-card { min-height: 260px; }
}
