/* =====================================================================
   CINEMATIC ELITE - homepage design (Homepage Template System, M2A v2)
   Loaded only when this design renders; every rule is scoped to
   body.hp-tpl-cinematic-elite, so the Original design and the Roster,
   Schedule and player pages are never affected.
   Rhythm: dark hero -> light highlights -> dark roster stage -> charcoal
   about -> light schedule -> dark coaches -> team-tinted closing -> footer.
   Team colours from team_color_css(): --red (primary), --accent-ink (text
   on primary), --accent-on-dark(-text) / --accent-on-light (contrast-safe
   accents), --accent-deep(-rgb) (deep team tone). No blend modes; no
   animation beyond short hover colour transitions.
   ===================================================================== */

body.hp-tpl-cinematic-elite {
  --ce-black: #08080a;
  --ce-dark: #0d0d10;
  --ce-charcoal: #16161b;
  --ce-light: #f4f2ee;
  --ce-paper: #fbfaf8;
  --ce-ink: #141416;
  --ce-ink-soft: #55524d;
  --ce-line-d: rgba(255, 255, 255, 0.1);
  --ce-line-l: rgba(20, 20, 22, 0.12);
  --ce-text: #f1efeb;
  --ce-muted: #aaa69f;
  --ce-accent: var(--accent-on-dark, var(--red));
  --ce-accent-text: var(--accent-on-dark-text, var(--red));
  --ce-accent-light: var(--accent-on-light, var(--red));
  --ce-deep-rgb: var(--accent-deep-rgb, var(--red-rgb));
  --ce-nav-h: 66px;
  background: var(--ce-dark);
  color: var(--ce-text);
}
.hp-tpl-cinematic-elite [id] { scroll-margin-top: calc(var(--ce-nav-h) + 12px); } /* sticky nav never hides an anchor target */

/* ---------- shared type + buttons ---------- */
.hp-tpl-cinematic-elite .ce-eyebrow {
  display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
  font: 500 12.5px/1.2 'Oswald', sans-serif; letter-spacing: 0.26em; text-transform: uppercase; color: var(--ce-accent-text);
}
.hp-tpl-cinematic-elite .ce-eyebrow::before { content: ''; width: 30px; height: 2px; flex: none; background: var(--ce-accent); }
.hp-tpl-cinematic-elite .ce-h2 {
  margin: 0; font-family: 'Anton', 'Oswald', sans-serif; font-weight: 400; text-transform: uppercase;
  font-size: clamp(34px, 3.6vw, 54px); line-height: 0.98; letter-spacing: 0.008em; color: #fff; overflow-wrap: anywhere;
}
.hp-tpl-cinematic-elite .ce-lede { margin: 16px 0 0; max-width: 460px; font-size: 16.5px; line-height: 1.65; color: var(--ce-muted); }
.hp-tpl-cinematic-elite .ce-light { background: var(--ce-light); color: var(--ce-ink); }
.hp-tpl-cinematic-elite .ce-light .ce-h2 { color: var(--ce-ink); }
.hp-tpl-cinematic-elite .ce-light .ce-eyebrow { color: var(--ce-accent-light); }
.hp-tpl-cinematic-elite .ce-light .ce-eyebrow::before { background: var(--ce-accent-light); }
.hp-tpl-cinematic-elite .ce-light .ce-lede { color: var(--ce-ink-soft); }
.hp-tpl-cinematic-elite .ce-light { position: relative; box-shadow: inset 0 14px 18px -14px rgba(0, 0, 0, 0.28); }
.hp-tpl-cinematic-elite .ce-light::before { content: ''; position: absolute; top: 0; left: max(20px, calc(50% - 530px)); width: 72px; height: 5px; background: var(--red); }

.hp-tpl-cinematic-elite .ce-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 0 24px; border-radius: 2px; text-decoration: none; white-space: nowrap;
  font: 600 13.5px/1 'Oswald', sans-serif; letter-spacing: 0.16em; text-transform: uppercase;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.hp-tpl-cinematic-elite .ce-btn-primary { background: var(--red); color: var(--accent-ink, #fff); border: 1px solid var(--accent-on-dark, var(--red)); } /* lifted edge keeps dark primaries visible on dark */
.hp-tpl-cinematic-elite .ce-btn-primary:hover { background: var(--accent-on-dark, var(--red)); }
.hp-tpl-cinematic-elite .ce-btn-ghost { background: rgba(255, 255, 255, 0.04); color: #fff; border: 1px solid rgba(255, 255, 255, 0.42); }
.hp-tpl-cinematic-elite .ce-btn-ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.1); }
.hp-tpl-cinematic-elite .ce-btn-dark { background: var(--ce-ink); color: #fff; border: 1px solid var(--ce-ink); }
.hp-tpl-cinematic-elite .ce-btn-dark:hover { background: #000; }
.hp-tpl-cinematic-elite .ce-btn:focus-visible { outline: 2px solid var(--ce-accent); outline-offset: 3px; }

/* section spacing: generous but controlled */
.hp-tpl-cinematic-elite .ce-highlights,
.hp-tpl-cinematic-elite .ce-about,
.hp-tpl-cinematic-elite .ce-schedule,
.hp-tpl-cinematic-elite .ce-coaches { position: relative; padding: clamp(64px, 6.5vw, 96px) 0; }

/* ---------- navigation ---------- */
.hp-tpl-cinematic-elite .public-topbar {
  position: sticky; top: 0; z-index: 40; min-height: var(--ce-nav-h); display: flex; align-items: center; padding: 0;
  background: rgba(8, 8, 10, 0.96); border-top: 3px solid var(--red); border-bottom: 1px solid var(--ce-line-d);
}
.hp-tpl-cinematic-elite .public-topbar > .wrap { width: 100%; }
.hp-tpl-cinematic-elite .public-topbar .site-nav a {
  position: relative; margin: 0 4px; padding: 8px 12px; border: 0; border-radius: 0; background: none;
  font: 500 13px/1 'Oswald', sans-serif; letter-spacing: 0.15em; text-transform: uppercase; color: #cfcac3;
}
.hp-tpl-cinematic-elite .public-topbar .site-nav a:hover { color: #fff; }
.hp-tpl-cinematic-elite .public-topbar .site-nav a.is-current { color: #fff; }
.hp-tpl-cinematic-elite .public-topbar .site-nav a.is-current::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: -2px; height: 2px; background: var(--ce-accent); }
.hp-tpl-cinematic-elite .public-topbar .site-nav a.nav-admin-link { margin-left: 16px; padding: 9px 14px; border: 1px solid rgba(255, 255, 255, 0.24); color: #e8e4de; }
.hp-tpl-cinematic-elite .public-topbar .site-nav a.nav-admin-link:hover { border-color: var(--ce-accent); }
@media (max-width: 760px) {
  body.hp-tpl-cinematic-elite { --ce-nav-h: 58px; }
  .hp-tpl-cinematic-elite .public-topbar .site-nav { background: #0b0b0e; border-top: 1px solid var(--ce-line-d); }
  .hp-tpl-cinematic-elite .public-topbar .site-nav a { margin: 0; padding: 15px 20px; border-bottom: 1px solid var(--ce-line-d); }
  .hp-tpl-cinematic-elite .public-topbar .site-nav a.is-current::after { left: 0; right: auto; top: 0; bottom: 0; width: 3px; height: auto; }
  .hp-tpl-cinematic-elite .public-topbar .site-nav a.nav-admin-link { margin: 12px 20px; text-align: center; }
}

/* ---------- hero: "premiere screen" ----------
   The team photo, whole and at its own proportions (--ce-r), is a stadium
   screen on a dark lit stage. Nothing is ever placed on the photo: the
   identity is a broadcast title plate below it, then a slim info bar.
   Stage light = the photo's own colours (heavily diffused, low, masked to
   the centre - an ambient glow, not a visible copy) + restrained team-colour
   stage lighting + a whisper of film grain. Desktop sizes the screen from the
   window height so photo + title plate fit the first screen. */
.hp-tpl-cinematic-elite .ce-hero {
  --ce-gut: clamp(20px, 4vw, 56px);
  --ce-plate-w: min(1180px, calc(100vw - 2 * var(--ce-gut)));
  position: relative; background: #060608; color: #fff; padding: 0; overflow: hidden; isolation: isolate;
}
.hp-tpl-cinematic-elite .ce-stage {
  /* screen height = window - nav - (top space + title plate + breathing room) */
  --ce-top: clamp(16px, 2.6vh, 34px);
  --ce-screen-h: max(calc(100vh - var(--ce-nav-h) - 186px), 340px);
  --ce-screen-w: min(var(--ce-plate-w), calc(var(--ce-screen-h) * var(--ce-r, 1.5)));
  position: relative; padding: var(--ce-top) 0 0; display: flex; flex-direction: column; align-items: center;
}
.hp-tpl-cinematic-elite .ce-stage-ambient {
  position: absolute; inset: -12% -6% 0; z-index: -3; background-size: cover; background-repeat: no-repeat;
  filter: blur(72px) saturate(1.3) brightness(0.55); opacity: 0.9; transform: translateZ(0);
  -webkit-mask-image: radial-gradient(ellipse 70% 72% at 50% 42%, #000 35%, transparent 82%);
  mask-image: radial-gradient(ellipse 70% 72% at 50% 42%, #000 35%, transparent 82%);
}
.hp-tpl-cinematic-elite .ce-stage-light {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 46% 38% at 50% -6%, rgba(var(--ce-deep-rgb), 0.55), transparent 72%),   /* overhead team-colour key light */
    radial-gradient(ellipse 30% 60% at 4% 0%, rgba(255, 255, 255, 0.06), transparent 70%),            /* stadium lights, left */
    radial-gradient(ellipse 30% 60% at 96% 0%, rgba(255, 255, 255, 0.06), transparent 70%),           /* stadium lights, right */
    radial-gradient(ellipse 60% 26% at 50% 100%, rgba(var(--ce-deep-rgb), 0.32), transparent 75%),   /* floor bounce under the plate */
    linear-gradient(90deg, rgba(6, 6, 8, 0.75), transparent 18%, transparent 82%, rgba(6, 6, 8, 0.75)); /* vignette */
}
.hp-tpl-cinematic-elite .ce-stage-light::after { /* film grain */
  content: ''; position: absolute; inset: 0; opacity: 0.07; mix-blend-mode: normal;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* side compositions (desktop / landscape): each side zone spans the screen's height, from the
   page edge to the screen. LEFT = team identity (oversized athletic type of the team's own name,
   vertical tagline, team-colour light; the logo already lives on the title plate, so it is not repeated). RIGHT = the team's supporting action
   team/group photo (administrator-chosen, never one athlete) as a team-colour duotone, beneath
   stadium lights and a softball diamond; without a photo the lights and diamond carry the side. Nothing here ever overlaps the screen or the title plate. */
.hp-tpl-cinematic-elite .ce-side {
  --ce-side-w: calc((100vw - var(--ce-screen-w)) / 2);
  --ce-mid: calc(var(--ce-top) + var(--ce-screen-w) / var(--ce-r, 1.5) / 2); /* vertical centre of the screen */
  position: absolute; z-index: -2; top: 0; bottom: 0; width: var(--ce-side-w);
  overflow: hidden; pointer-events: none; display: none;
}
.hp-tpl-cinematic-elite .ce-side-left { -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent); mask-image: linear-gradient(90deg, #000 70%, transparent); }
.hp-tpl-cinematic-elite .ce-side-right { -webkit-mask-image: linear-gradient(270deg, #000 70%, transparent); mask-image: linear-gradient(270deg, #000 70%, transparent); }
.hp-tpl-cinematic-elite .ce-side-left { left: 0; }
.hp-tpl-cinematic-elite .ce-side-right { right: 0; }
.hp-tpl-cinematic-elite .ce-side-left::before { /* team-colour light raking in from the left edge */
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 95% 58% at 0% 44%, rgba(var(--ce-deep-rgb), 0.7), transparent 74%);
}
.hp-tpl-cinematic-elite .ce-side-type {
  position: absolute; right: clamp(20px, 2.2vw, 36px); top: var(--ce-mid); transform: translateY(-50%);
  display: flex; flex-direction: column; align-items: flex-end; text-align: right;
  font: 400 min(calc((var(--ce-side-w) - 96px) / (var(--ce-mark-len) * 0.46)), 16vh)/0.86 'Anton', 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.01em; white-space: nowrap;
}
.hp-tpl-cinematic-elite .ce-side-line { color: rgba(255, 255, 255, 0.03); -webkit-text-stroke: 1.2px rgba(255, 255, 255, 0.38); }
.hp-tpl-cinematic-elite .ce-side-line-lit { -webkit-text-stroke: 0; background: linear-gradient(180deg, var(--ce-accent) 15%, rgba(var(--ce-deep-rgb), 0.85)); -webkit-background-clip: text; background-clip: text; opacity: 1; }
.hp-tpl-cinematic-elite .ce-side-type { filter: drop-shadow(0 0 26px rgba(var(--ce-deep-rgb), 0.55)); }
.hp-tpl-cinematic-elite .ce-side-vert {
  position: absolute; left: clamp(16px, 1.8vw, 28px); top: calc(var(--ce-top) + var(--ce-screen-w) / var(--ce-r, 1.5) - 6px); transform-origin: left top; transform: rotate(-90deg);
  display: flex; align-items: center; gap: 12px; white-space: nowrap;
  font: 500 10.5px/1 'Oswald', sans-serif; letter-spacing: 0.42em; text-transform: uppercase; color: rgba(255, 255, 255, 0.4);
}
.hp-tpl-cinematic-elite .ce-side-vert::after { content: ''; width: 46px; height: 1px; background: var(--ce-accent); }
/* right: optional supporting team/group photo, duotoned into the team colour and dissolved into the stage */
.hp-tpl-cinematic-elite .ce-support {
  position: absolute; left: 0; right: 0; top: var(--ce-top); height: calc(var(--ce-screen-w) / var(--ce-r, 1.5)); isolation: isolate;
  -webkit-mask-image: radial-gradient(ellipse 74% 56% at 58% 45%, #000 40%, transparent 88%);
  mask-image: radial-gradient(ellipse 74% 56% at 58% 45%, #000 40%, transparent 88%);
}
.hp-tpl-cinematic-elite .ce-support img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.3) brightness(0.98); opacity: 0.95; }
.hp-tpl-cinematic-elite .ce-support::before { content: ''; position: absolute; inset: 0; z-index: 1; background: rgb(var(--ce-deep-rgb)); mix-blend-mode: color; opacity: 0.9; } /* duotone: team colour, photo's own light */
.hp-tpl-cinematic-elite .ce-support::after { content: ''; position: absolute; inset: 0; z-index: 2; background: rgb(var(--ce-deep-rgb)); mix-blend-mode: multiply; opacity: 0.45; } /* depth */
.hp-tpl-cinematic-elite .ce-side-right::before { /* matching team-colour light from the right edge */
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse 80% 50% at 100% 38%, rgba(var(--ce-deep-rgb), 0.3), transparent 72%), linear-gradient(90deg, rgba(6, 6, 8, 0.45), transparent 26%);
}
/* "under the lights": a stadium floodlight bank in the upper corner throwing soft beams toward the
   team photo, above a softball diamond in team-colour line art. Team-level atmosphere - no athlete. */
.hp-tpl-cinematic-elite .ce-side-right { --ce-lx: 80%; --ce-ly: calc(var(--ce-top) + 9%); } /* the main lamps */
.hp-tpl-cinematic-elite .ce-beams {
  position: absolute; inset: 0; z-index: 2;
  background:
    radial-gradient(circle at var(--ce-lx) var(--ce-ly), rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.08) 10%, transparent 26%),   /* bloom */
    radial-gradient(ellipse 60% 40% at var(--ce-lx) var(--ce-ly), rgba(var(--ce-deep-rgb), 0.45), transparent 75%),                     /* coloured haze */
    conic-gradient(from 198deg at var(--ce-lx) var(--ce-ly), transparent 0deg, rgba(255, 255, 255, 0.16) 4deg, transparent 11deg, rgba(var(--ce-deep-rgb), 0.42) 15deg, transparent 25deg,
      rgba(255, 255, 255, 0.12) 29deg, transparent 37deg, rgba(var(--ce-deep-rgb), 0.3) 42deg, transparent 52deg, rgba(255, 255, 255, 0.07) 56deg, transparent 64deg);
  -webkit-mask-image: radial-gradient(circle at var(--ce-lx) var(--ce-ly), #000 12%, rgba(0, 0, 0, 0.55) 50%, transparent 95%);
  mask-image: radial-gradient(circle at var(--ce-lx) var(--ce-ly), #000 12%, rgba(0, 0, 0, 0.55) 50%, transparent 95%);
  filter: blur(2px);
}
.hp-tpl-cinematic-elite .ce-lights { position: absolute; z-index: 3; height: auto; overflow: visible; }
.hp-tpl-cinematic-elite .ce-lights-near { width: min(46%, 150px); left: calc(var(--ce-lx) - min(23%, 75px)); top: calc(var(--ce-ly) - min(7%, 24px)); }
.hp-tpl-cinematic-elite .ce-lights-far { width: min(20%, 64px); left: 18%; top: calc(var(--ce-top) + 17%); opacity: 0.55; filter: blur(0.4px); }
.hp-tpl-cinematic-elite .ce-lights .ce-panel { fill: #141418; stroke: rgba(255, 255, 255, 0.18); stroke-width: 1; }
.hp-tpl-cinematic-elite .ce-lights .ce-pole { fill: rgba(30, 30, 36, 0.9); }
.hp-tpl-cinematic-elite .ce-lamps circle { fill: #fffdf6; }
.hp-tpl-cinematic-elite .ce-lamps { filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 12px rgba(255, 255, 255, 0.75)) drop-shadow(0 0 30px var(--ce-accent)); }
.hp-tpl-cinematic-elite .ce-diamond {
  position: absolute; z-index: 3; left: -22%; width: 138%; height: auto;
  top: calc(var(--ce-top) + var(--ce-screen-w) / var(--ce-r, 1.5) - var(--ce-side-w) * 0.98);
  fill: none; stroke: var(--ce-accent); stroke-width: 1.2; stroke-linecap: round;
  filter: drop-shadow(0 0 8px rgba(var(--ce-deep-rgb), 0.95));
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 42%); mask-image: linear-gradient(180deg, transparent 0%, #000 42%);
}
.hp-tpl-cinematic-elite .ce-diamond .ce-grass { fill: rgba(var(--ce-deep-rgb), 0.28); stroke: none; }
.hp-tpl-cinematic-elite .ce-diamond .ce-field { opacity: 0.4; }
.hp-tpl-cinematic-elite .ce-diamond .ce-dirt { opacity: 0.5; stroke-dasharray: 3 5; }
.hp-tpl-cinematic-elite .ce-diamond .ce-baseline { opacity: 0.95; stroke-width: 1.5; }
.hp-tpl-cinematic-elite .ce-diamond .ce-mound { opacity: 0.75; }
.hp-tpl-cinematic-elite .ce-diamond .ce-bases { fill: rgba(255, 255, 255, 0.9); stroke: none; }
/* narrow side areas (e.g. 1440x900, where the window's height makes the screen wider): keep the light
   tower and the whole infield inside the side instead of clipping them at the edges. Keyed to the side's
   own width, so wider sides (1366x768, 1920x1080...) are unaffected. */
.hp-tpl-cinematic-elite .ce-side-right { container-type: inline-size; }
@container (max-width: 270px) {
  .hp-tpl-cinematic-elite .ce-beams { --ce-lx: 60%; }
  .hp-tpl-cinematic-elite .ce-lights-near { width: 40%; left: 40%; top: calc(var(--ce-top) + 9% - 3.6%); }
  .hp-tpl-cinematic-elite .ce-lights-far { width: 17%; left: 9%; }
  .hp-tpl-cinematic-elite .ce-diamond { left: -4%; width: 108%; top: calc(var(--ce-top) + var(--ce-screen-w) / var(--ce-r, 1.5) - var(--ce-side-w) * 0.8); }
}
/* with an optional team/group photo the graphics step back so the photo leads */
.hp-tpl-cinematic-elite .ce-has-support .ce-diamond { opacity: 0.45; }
.hp-tpl-cinematic-elite .ce-has-support .ce-beams { opacity: 0.7; }
@media (min-width: 1025px), (min-width: 900px) and (orientation: landscape) {
  .hp-tpl-cinematic-elite .ce-side { display: block; }
}
/* broadcast rails: fine lines carrying the screen's top and bottom edges out to the page edges */
.hp-tpl-cinematic-elite .ce-rail { position: absolute; left: 0; right: 0; height: 1px; z-index: 0; pointer-events: none; }
.hp-tpl-cinematic-elite .ce-rail-top { top: var(--ce-top); background: linear-gradient(90deg, transparent 2%, rgba(255, 255, 255, 0.16) 30%, rgba(255, 255, 255, 0.16) 70%, transparent 98%); }
.hp-tpl-cinematic-elite .ce-rail-bottom { top: calc(var(--ce-top) + var(--ce-screen-w) / var(--ce-r, 1.5) - 1px); height: 2px;
  background: linear-gradient(90deg, transparent 4%, rgba(var(--ce-deep-rgb), 0.9) 32%, var(--ce-accent) 50%, rgba(var(--ce-deep-rgb), 0.9) 68%, transparent 96%); box-shadow: 0 0 18px rgba(var(--ce-deep-rgb), 0.8); }
/* the screen: the whole photo, crisp hairline frame, deep shadow, team-colour glow beneath */
.hp-tpl-cinematic-elite .ce-screen {
  position: relative; z-index: 1; width: var(--ce-screen-w); aspect-ratio: var(--ce-r, 1.5); overflow: hidden; background: #0d0d10;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 34px 70px -18px rgba(0, 0, 0, 0.85), 0 40px 120px -50px rgba(var(--ce-deep-rgb), 0.9);
}
.hp-tpl-cinematic-elite .ce-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-tpl-cinematic-elite .ce-screen::after { /* glass sheen along the top edge only - never over the athletes' bodies */
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
}
/* no team photo: a compact screen in the team's deep tone with the logo as one quiet mark */
.hp-tpl-cinematic-elite .ce-no-photo .ce-screen { aspect-ratio: auto; height: clamp(200px, 30vh, 300px); width: var(--ce-plate-w); }
.hp-tpl-cinematic-elite .ce-hero-graphic {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 90% at 50% 0%, rgba(var(--ce-deep-rgb), 0.9), transparent 75%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, #16161b, #08080a);
}
.hp-tpl-cinematic-elite .ce-hero-graphic img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); height: 78%; width: auto; max-width: 60%; object-fit: contain; opacity: 0.2; filter: grayscale(1); }

/* the broadcast title plate */
.hp-tpl-cinematic-elite .ce-plate {
  position: relative; z-index: 1; width: var(--ce-plate-w); margin-top: clamp(14px, 2.2vh, 22px);
  display: flex; align-items: center; justify-content: space-between; gap: 18px 36px;
  padding: 14px 22px 14px 0;
  background: linear-gradient(180deg, rgba(22, 22, 27, 0.92), rgba(11, 11, 14, 0.94));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 24px 50px -24px rgba(0, 0, 0, 0.9);
}
.hp-tpl-cinematic-elite .ce-plate::before { /* team-colour rule that draws in across the plate top */
  content: ''; position: absolute; left: 0; top: 0; height: 2px; width: 100%; transform-origin: left center;
  background: linear-gradient(90deg, var(--ce-accent) 0, var(--ce-accent) 22%, rgba(255, 255, 255, 0.16) 22%, rgba(255, 255, 255, 0.04));
}
.hp-tpl-cinematic-elite .ce-plate-id { display: flex; align-items: center; gap: clamp(16px, 2vw, 26px); min-width: 0; flex: 1 1 auto; }
.hp-tpl-cinematic-elite .ce-hero-badge { /* team-colour tab carrying the logo, broadcast style */
  flex: none; align-self: stretch; display: grid; place-items: center; margin: -14px 0; padding: 0 clamp(16px, 1.8vw, 24px);
  background: linear-gradient(160deg, rgb(var(--ce-deep-rgb)), rgba(var(--ce-deep-rgb), 0.75)); box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
}
.hp-tpl-cinematic-elite .ce-hero-badge img { width: clamp(54px, min(5vw, 9vh), 74px); height: clamp(54px, min(5vw, 9vh), 74px); object-fit: contain; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 8px 22px rgba(0, 0, 0, 0.5); background: #0b0b0e; }
.hp-tpl-cinematic-elite .ce-plate-id:not(:has(.ce-hero-badge)) { padding-left: 24px; }
.hp-tpl-cinematic-elite .ce-hero-text { min-width: 0; }
.hp-tpl-cinematic-elite .ce-hero-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font: 500 12.5px/1.2 'Oswald', sans-serif; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .ce-hero-kicker::before { content: ''; width: 26px; height: 2px; flex: none; background: var(--ce-accent); }
.hp-tpl-cinematic-elite .ce-hero-title {
  margin: 0; font-family: 'Anton', 'Oswald', sans-serif; font-weight: 400; text-transform: uppercase;
  line-height: 0.98; letter-spacing: 0.012em; color: #fff; text-wrap: balance; overflow-wrap: anywhere;
  background: linear-gradient(180deg, #fff 55%, #d9d6d0); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.hp-tpl-cinematic-elite .ce-name-s .ce-hero-title { font-size: clamp(40px, min(4.4vw, 7.6vh), 72px); }
.hp-tpl-cinematic-elite .ce-name-m .ce-hero-title { font-size: clamp(36px, min(3.7vw, 6.6vh), 60px); }
.hp-tpl-cinematic-elite .ce-name-l .ce-hero-title { font-size: clamp(30px, min(3vw, 5.4vh), 48px); }
.hp-tpl-cinematic-elite .ce-name-xl .ce-hero-title { font-size: clamp(26px, min(2.4vw, 4.6vh), 40px); }
/* the team's own expressive name font: written as chosen (no forced caps), a touch larger */
.hp-tpl-cinematic-elite .ce-title-script .ce-hero-title, .hp-tpl-cinematic-elite .ce-title-serif .ce-hero-title { text-transform: none; letter-spacing: 0; line-height: 1.08; font-weight: 700; padding-bottom: 0.06em; }
.hp-tpl-cinematic-elite .ce-title-script.ce-name-s .ce-hero-title { font-size: clamp(44px, min(5vw, 8.4vh), 80px); }
.hp-tpl-cinematic-elite .ce-title-script.ce-name-m .ce-hero-title { font-size: clamp(38px, min(4.2vw, 7.2vh), 66px); }
.hp-tpl-cinematic-elite .ce-hero-wordmark { display: block; max-width: min(100%, 460px); max-height: 92px; width: auto; height: auto; }
.hp-tpl-cinematic-elite .ce-hero-actions { display: flex; gap: 10px; flex: none; }
.hp-tpl-cinematic-elite .ce-hero-actions .ce-btn { white-space: nowrap; }

/* the broadcast information bar */
.hp-tpl-cinematic-elite .ce-bar { position: relative; margin-top: clamp(18px, 2.6vh, 28px); background: rgba(4, 4, 6, 0.9); border-top: 1px solid rgba(255, 255, 255, 0.07); border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.hp-tpl-cinematic-elite .ce-ticker { display: flex; justify-content: center; margin: 0 auto; padding: 0; width: var(--ce-plate-w); }
.hp-tpl-cinematic-elite .ce-ticker-item { display: flex; align-items: baseline; gap: 14px; min-width: 0; padding: 16px 32px; }
.hp-tpl-cinematic-elite .ce-ticker-item + .ce-ticker-item { border-left: 1px solid rgba(255, 255, 255, 0.09); }
.hp-tpl-cinematic-elite .ce-ticker dt { display: flex; align-items: center; gap: 9px; font: 500 11px/1.2 'Oswald', sans-serif; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ce-muted); white-space: nowrap; }
.hp-tpl-cinematic-elite .ce-ticker dt::before { content: ''; width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--ce-accent); box-shadow: 0 0 10px var(--ce-accent); }
.hp-tpl-cinematic-elite .ce-ticker dd { margin: 0; font: 600 17px/1.2 'Oswald', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

/* entrance: the photo resolves, the plate and its team-colour rule arrive, the bar settles - once, ~1s */
@keyframes ce-resolve { from { opacity: 0; transform: scale(1.03); filter: brightness(0.6); } to { opacity: 1; transform: none; filter: none; } }
@keyframes ce-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ce-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ce-fade { from { opacity: 0; } to { opacity: 1; } }
.hp-tpl-cinematic-elite .ce-hero-img { animation: ce-resolve 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.hp-tpl-cinematic-elite .ce-stage-ambient { animation: ce-fade 1.4s ease-out both; }
.hp-tpl-cinematic-elite .ce-plate { animation: ce-rise 0.7s 0.2s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.hp-tpl-cinematic-elite .ce-plate::before { animation: ce-draw 0.9s 0.45s cubic-bezier(0.6, 0, 0.2, 1) both; }
.hp-tpl-cinematic-elite .ce-bar { animation: ce-fade 0.8s 0.5s ease-out both; }
.hp-tpl-cinematic-elite .ce-rail, .hp-tpl-cinematic-elite .ce-side { animation: ce-fade 1.2s 0.3s ease-out both; }
@media (prefers-reduced-motion: reduce) {
  .hp-tpl-cinematic-elite .ce-hero-img, .hp-tpl-cinematic-elite .ce-stage-ambient, .hp-tpl-cinematic-elite .ce-plate,
  .hp-tpl-cinematic-elite .ce-plate::before, .hp-tpl-cinematic-elite .ce-bar, .hp-tpl-cinematic-elite .ce-rail, .hp-tpl-cinematic-elite .ce-side { animation: none; }
}

/* tablet: the screen spans the content width; the plate stacks name over a full-width action row */
@media (max-width: 1024px) {
  .hp-tpl-cinematic-elite .ce-stage { --ce-screen-h: max(calc(100vh - var(--ce-nav-h) - 300px), 360px); }
  .hp-tpl-cinematic-elite .ce-plate { flex-wrap: wrap; padding: 0 0 18px; }
  .hp-tpl-cinematic-elite .ce-plate-id { flex-basis: 100%; padding: 18px 20px 0 0; }
  .hp-tpl-cinematic-elite .ce-hero-badge { margin: -18px 0 0; padding-top: 18px; padding-bottom: 18px; }
  .hp-tpl-cinematic-elite .ce-hero-actions { width: 100%; padding: 0 20px; display: grid; grid-template-columns: 1fr 1fr; }
  .hp-tpl-cinematic-elite .ce-name-s .ce-hero-title { font-size: clamp(44px, 7vw, 64px); }
  .hp-tpl-cinematic-elite .ce-name-m .ce-hero-title { font-size: clamp(38px, 5.8vw, 54px); }
  .hp-tpl-cinematic-elite .ce-name-l .ce-hero-title { font-size: clamp(32px, 4.6vw, 44px); }
  .hp-tpl-cinematic-elite .ce-name-xl .ce-hero-title { font-size: clamp(27px, 3.8vw, 36px); }
  .hp-tpl-cinematic-elite .ce-ticker { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; }
  .hp-tpl-cinematic-elite .ce-ticker-item { display: block; padding: 14px 20px; }
  .hp-tpl-cinematic-elite .ce-ticker dd { margin-top: 6px; white-space: normal; }
}
/* phone: its own composition - the whole photo edge to edge, then a title card and a compact two-up action row */
@media (max-width: 640px) {
  .hp-tpl-cinematic-elite .ce-hero { --ce-gut: 18px; }
  .hp-tpl-cinematic-elite .ce-stage { --ce-screen-w: min(100vw, calc(60vh * var(--ce-r, 1.5))); padding-top: 0; } /* tall photos: whole, capped at 60% of the screen height */
  .hp-tpl-cinematic-elite .ce-stage-ambient, .hp-tpl-cinematic-elite .ce-side, .hp-tpl-cinematic-elite .ce-rail { display: none !important; }
  .hp-tpl-cinematic-elite .ce-stage-light { background: radial-gradient(ellipse 90% 40% at 50% 100%, rgba(var(--ce-deep-rgb), 0.35), transparent 75%); }
  .hp-tpl-cinematic-elite .ce-screen { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1); }
  .hp-tpl-cinematic-elite .ce-screen::after { display: none; }
  .hp-tpl-cinematic-elite .ce-no-photo .ce-screen { height: 150px; width: 100vw; }
  .hp-tpl-cinematic-elite .ce-plate { margin-top: 0; width: 100%; padding: 0 0 18px; background: linear-gradient(180deg, #121216, #0a0a0d); box-shadow: none; }
  .hp-tpl-cinematic-elite .ce-plate::before { background: linear-gradient(90deg, var(--ce-accent) 0 30%, rgba(255, 255, 255, 0.12) 30%); }
  .hp-tpl-cinematic-elite .ce-plate-id { gap: 14px; padding: 18px var(--ce-gut) 0; align-items: center; }
  .hp-tpl-cinematic-elite .ce-hero-badge { margin: 0; padding: 0; background: none; box-shadow: none; align-self: center; }
  .hp-tpl-cinematic-elite .ce-hero-badge img { width: 52px; height: 52px; }
  .hp-tpl-cinematic-elite .ce-hero-kicker { font-size: 10.5px; letter-spacing: 0.24em; margin-bottom: 4px; gap: 8px; }
  .hp-tpl-cinematic-elite .ce-hero-kicker::before { width: 18px; }
  .hp-tpl-cinematic-elite .ce-name-s .ce-hero-title { font-size: clamp(36px, 10.6vw, 46px); }
  .hp-tpl-cinematic-elite .ce-name-m .ce-hero-title { font-size: clamp(30px, 8.6vw, 38px); }
  .hp-tpl-cinematic-elite .ce-name-l .ce-hero-title { font-size: clamp(25px, 7vw, 31px); }
  .hp-tpl-cinematic-elite .ce-name-xl .ce-hero-title { font-size: clamp(22px, 6vw, 27px); }
  .hp-tpl-cinematic-elite .ce-title-script.ce-name-s .ce-hero-title { font-size: clamp(40px, 12vw, 52px); }
  .hp-tpl-cinematic-elite .ce-title-script.ce-name-m .ce-hero-title { font-size: clamp(34px, 9.6vw, 42px); }
  .hp-tpl-cinematic-elite .ce-hero-actions { padding: 0 var(--ce-gut); grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 8px; }
  .hp-tpl-cinematic-elite .ce-hero-actions .ce-btn { min-height: 46px; padding: 0 10px; font-size: 12.5px; letter-spacing: 0.12em; gap: 8px; justify-content: center; }
  .hp-tpl-cinematic-elite .ce-bar { margin-top: 0; }
  .hp-tpl-cinematic-elite .ce-ticker { display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: row; width: 100%; }
  .hp-tpl-cinematic-elite .ce-ticker-item { display: block; padding: 13px var(--ce-gut) 13px; }
  .hp-tpl-cinematic-elite .ce-ticker-item + .ce-ticker-item { padding-left: 14px; }
  .hp-tpl-cinematic-elite .ce-ticker-item:nth-child(3) { grid-column: 1 / -1; padding-left: var(--ce-gut); border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.07); }
  .hp-tpl-cinematic-elite .ce-ticker dt { font-size: 10px; letter-spacing: 0.2em; white-space: normal; }
  .hp-tpl-cinematic-elite .ce-ticker dd { margin-top: 6px; font-size: 15px; white-space: normal; }
}

/* =====================================================================
   PHASE B - the homepage as one documentary sequence of lit "scenes":
   charcoal program stage -> spotlit lineup -> team-colour story ->
   daylight schedule -> graphite staff -> end credits -> credits footer.
   Shared: the broadcast cue (label + rail, echoing the hero's rails),
   Anton headings, team-colour light, soft light falloff between scenes.
   ===================================================================== */
.hp-tpl-cinematic-elite .ce-scene { position: relative; isolation: isolate; overflow: hidden; }
.hp-tpl-cinematic-elite .ce-scene::before { /* scene seam: a hairline that glows at the centre */
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16) 30%, rgba(var(--ce-deep-rgb), 0.9) 50%, rgba(255, 255, 255, 0.16) 70%, transparent);
}
.hp-tpl-cinematic-elite .ce-scene-head { margin: 0 0 clamp(30px, 3.4vw, 46px); }
.hp-tpl-cinematic-elite .ce-cue { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
.hp-tpl-cinematic-elite .ce-cue-label { flex: none; font: 500 12px/1.2 'Oswald', sans-serif; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .ce-cue-label::before { content: ''; display: inline-block; width: 7px; height: 7px; margin: 0 12px 1px 0; border-radius: 50%; background: var(--ce-accent); box-shadow: 0 0 12px var(--ce-accent); vertical-align: middle; }
.hp-tpl-cinematic-elite .ce-cue-line { flex: 1 1 auto; height: 1px; min-width: 24px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.02)); }
.hp-tpl-cinematic-elite .ce-cue-meta { flex: none; font: 500 12px/1.2 'Oswald', sans-serif; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ce-muted); }
.hp-tpl-cinematic-elite .ce-scene-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px 32px; flex-wrap: wrap; }
.hp-tpl-cinematic-elite .ce-scene .ce-h2 { font-size: clamp(36px, 3.9vw, 60px); }
.hp-tpl-cinematic-elite .ce-lede { max-width: 440px; }
/* line-drawn softball (stroke follows the scene) */
.hp-tpl-cinematic-elite svg[class$="-ball"] { position: absolute; pointer-events: none; fill: none; stroke: currentColor; stroke-width: 1.1; }
.hp-tpl-cinematic-elite svg[class$="-ball"] .ce-stitch { stroke-width: 6; stroke-dasharray: 1.4 5; }

/* ---------- Highlights: "The Program" - title cards on a charcoal stage ---------- */
.hp-tpl-cinematic-elite .ce-scene-smoke {
  background:
    radial-gradient(ellipse 52% 70% at 100% 10%, rgba(var(--ce-deep-rgb), 0.38), transparent 70%),
    radial-gradient(ellipse 40% 60% at 0% 100%, rgba(var(--ce-deep-rgb), 0.18), transparent 70%),
    linear-gradient(180deg, #0f0f13, #15151a);
}
.hp-tpl-cinematic-elite .ce-program .ce-lede { margin: 0; max-width: 460px; }
.hp-tpl-cinematic-elite .ce-titlecards { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hp-tpl-cinematic-elite .ce-titlecard {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 10px clamp(24px, 4vw, 64px);
  padding: clamp(22px, 2.4vw, 30px) clamp(24px, 3vw, 40px) clamp(22px, 2.4vw, 30px) clamp(28px, 3vw, 44px);
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015) 60%, transparent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.hp-tpl-cinematic-elite .ce-titlecard::before { /* team-colour light bar */
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--ce-accent), rgba(var(--ce-deep-rgb), 0.2)); box-shadow: 0 0 18px rgba(var(--ce-deep-rgb), 0.9);
}
.hp-tpl-cinematic-elite .ce-titlecard::after { /* soft key light from the bar */
  content: ''; position: absolute; left: 0; top: 0; width: 70%; height: 100%; pointer-events: none;
  background: radial-gradient(ellipse 60% 80% at 0% 0%, rgba(var(--ce-deep-rgb), 0.22), transparent 70%);
}
.hp-tpl-cinematic-elite .ce-titlecard h3 { position: relative; z-index: 1; margin: 0; font: 400 clamp(26px, 2.8vw, 42px)/1 'Anton', 'Oswald', sans-serif; letter-spacing: 0.015em; text-transform: uppercase; color: #fff; }
.hp-tpl-cinematic-elite .ce-titlecard p { position: relative; z-index: 1; margin: 0; font-size: 16.5px; line-height: 1.6; color: #bdb8b1; max-width: 560px; }
@media (max-width: 760px) { .hp-tpl-cinematic-elite .ce-titlecard { grid-template-columns: 1fr; padding: 20px 20px 22px 24px; } }

/* ---------- Roster: "The Lineup" - spotlit stage around the (untouched, equal) cards ---------- */
.hp-tpl-cinematic-elite .ce-roster {
  background:
    radial-gradient(ellipse 46% 52% at 50% -8%, rgba(var(--ce-deep-rgb), 0.6), transparent 72%),        /* overhead spotlight */
    conic-gradient(from 160deg at 50% -6%, transparent 0deg, rgba(255, 255, 255, 0.035) 10deg, transparent 18deg, transparent 22deg, rgba(255, 255, 255, 0.03) 30deg, transparent 38deg),
    radial-gradient(ellipse 70% 22% at 50% 100%, rgba(var(--ce-deep-rgb), 0.25), transparent 75%),       /* floor bounce */
    linear-gradient(180deg, #0a0a0d, #060608);
}
.hp-tpl-cinematic-elite .ce-roster > .mp-cards-section,
.hp-tpl-cinematic-elite .ce-roster > .mp-cards-section.mp-bg-dark,
.hp-tpl-cinematic-elite .ce-roster > .mp-cards-section.mp-bg-team,
.hp-tpl-cinematic-elite .ce-roster > .mp-cards-section.mp-bg-gradient { position: relative; z-index: 1; padding: clamp(68px, 7vw, 104px) 0; background: transparent; }
.hp-tpl-cinematic-elite .ce-roster .mp-cards-section::before,
.hp-tpl-cinematic-elite .ce-roster .mp-cards-section::after { opacity: 0.2; }
.hp-tpl-cinematic-elite .mp-cards-section .section-heading { max-width: none; margin: 0 0 clamp(30px, 3.4vw, 46px); text-align: left; }
.hp-tpl-cinematic-elite .mp-cards-section .section-eyebrow { /* styled as the broadcast cue */
  display: flex; align-items: center; gap: 14px; margin: 0 0 16px;
  font: 500 12px/1.2 'Oswald', sans-serif; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ce-accent-text);
}
.hp-tpl-cinematic-elite .mp-cards-section .section-eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex: none; background: var(--ce-accent); box-shadow: 0 0 12px var(--ce-accent); }
.hp-tpl-cinematic-elite .mp-cards-section .section-eyebrow::after { content: ''; flex: 1 1 auto; height: 1px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.02)); }
.hp-tpl-cinematic-elite .mp-cards-section .section-heading h2 { font-family: 'Anton', 'Oswald', sans-serif; font-weight: 400; font-size: clamp(36px, 3.9vw, 60px); line-height: 0.98; text-transform: uppercase; color: #fff; }
.hp-tpl-cinematic-elite .mp-cards-section .section-heading p { margin-top: 14px; max-width: 620px; font-size: 16.5px; line-height: 1.6; color: #c9c4bd; }
.hp-tpl-cinematic-elite .ce-roster .mp-cards { position: relative; }
.hp-tpl-cinematic-elite .ce-roster .mp-cards > * { box-shadow: 0 22px 44px -22px rgba(0, 0, 0, 0.9); } /* the same lift for every card */
.hp-tpl-cinematic-elite .mp-view-all { text-align: center; margin-top: 46px; }
.hp-tpl-cinematic-elite .mp-view-all-btn {
  border-radius: 2px !important; background: transparent !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.45) !important;
  font-family: 'Oswald', sans-serif; letter-spacing: 0.16em; text-transform: uppercase; padding: 15px 28px;
}
.hp-tpl-cinematic-elite .mp-view-all-btn:hover { border-color: #fff !important; }
.hp-tpl-cinematic-elite .player-showcase-section { background: #0d0d10; }

/* ---------- About: "The Story" - the team-colour scene ---------- */
.hp-tpl-cinematic-elite .ce-scene-team {
  color: #fff;
  background:
    radial-gradient(ellipse 55% 85% at 0% 50%, rgba(var(--ce-deep-rgb), 1), transparent 72%),
    linear-gradient(115deg, rgba(var(--ce-deep-rgb), 0.95) 0%, rgba(var(--ce-deep-rgb), 0.5) 45%, #0b0b0e 100%);
}
.hp-tpl-cinematic-elite .ce-about-ball { right: -6%; top: 50%; width: min(56vw, 720px); height: auto; transform: translateY(-50%) rotate(-16deg); color: rgba(255, 255, 255, 0.07); }
.hp-tpl-cinematic-elite .ce-story { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(36px, 5vw, 84px); align-items: center; }
.hp-tpl-cinematic-elite .ce-story-id { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; container-type: inline-size; }
.hp-tpl-cinematic-elite .ce-story-mark {
  width: clamp(96px, 9vw, 132px); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: #0b0b0e;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 12px rgba(255, 255, 255, 0.06), 0 24px 50px rgba(0, 0, 0, 0.5);
}
.hp-tpl-cinematic-elite .ce-story-mark img { width: 100%; height: 100%; object-fit: contain; }
.hp-tpl-cinematic-elite .ce-story-mark b { font: 400 44px/1 'Anton', sans-serif; color: #fff; }
.hp-tpl-cinematic-elite .ce-story-name { display: flex; flex-direction: column; font: 400 min(clamp(44px, 4.8vw, 82px), calc(100cqi / (var(--ce-mark-len, 8) * 0.5)))/0.88 'Anton', 'Oswald', sans-serif; /* sized so the longest line never breaks */ text-transform: uppercase; letter-spacing: 0.01em; overflow-wrap: anywhere; }
.hp-tpl-cinematic-elite .ce-story-name span { color: transparent; -webkit-text-stroke: 1.2px rgba(255, 255, 255, 0.55); }
.hp-tpl-cinematic-elite .ce-story-name span:last-child { color: #fff; -webkit-text-stroke: 0; }
.hp-tpl-cinematic-elite .ce-story-tag { font: 500 12px/1.3 'Oswald', sans-serif; letter-spacing: 0.34em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); }
.hp-tpl-cinematic-elite .ce-scene-team .ce-cue-label { color: #fff; }
.hp-tpl-cinematic-elite .ce-scene-team .ce-cue-label::before { background: #fff; box-shadow: 0 0 12px rgba(255, 255, 255, 0.8); }
.hp-tpl-cinematic-elite .ce-story-lead { margin: 0; max-width: 700px; font-size: clamp(19px, 1.6vw, 24px); line-height: 1.55; font-weight: 400; color: #fff; }
.hp-tpl-cinematic-elite .ce-story-text { margin-top: 22px; max-width: 760px; font-size: 16px; line-height: 1.7; color: rgba(255, 255, 255, 0.78); }
.hp-tpl-cinematic-elite .ce-story-text p { margin: 0 0 14px; break-inside: avoid; }
.hp-tpl-cinematic-elite .ce-story-cols { column-count: 2; column-gap: 40px; }
@media (max-width: 900px) {
  .hp-tpl-cinematic-elite .ce-story { grid-template-columns: 1fr; }
  .hp-tpl-cinematic-elite .ce-story-id { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 18px 22px; }
  .hp-tpl-cinematic-elite .ce-story-name { font-size: min(clamp(34px, 8vw, 54px), calc(100cqi / (var(--ce-mark-len, 8) * 0.5))); }
  .hp-tpl-cinematic-elite .ce-story-cols { column-count: 1; }
  .hp-tpl-cinematic-elite .ce-about-ball { width: 120vw; right: -50%; }
}

/* ---------- Schedule: "Next Up" - the daylight scene with a broadcast panel ---------- */
.hp-tpl-cinematic-elite .ce-scene-light { color: var(--ce-ink); background: linear-gradient(180deg, #e4dfd7 0, #f3f0ea 110px, #f6f4ef); }
.hp-tpl-cinematic-elite .ce-scene-light::before { background: linear-gradient(90deg, transparent, rgba(20, 20, 22, 0.25) 30%, var(--ce-accent-light) 50%, rgba(20, 20, 22, 0.25) 70%, transparent); }
.hp-tpl-cinematic-elite .ce-scene-light .ce-h2 { color: var(--ce-ink); }
.hp-tpl-cinematic-elite .ce-scene-light .ce-cue-label { color: var(--ce-accent-light); }
.hp-tpl-cinematic-elite .ce-scene-light .ce-cue-label::before { background: var(--ce-accent-light); box-shadow: none; }
.hp-tpl-cinematic-elite .ce-scene-light .ce-cue-line { background: linear-gradient(90deg, rgba(20, 20, 22, 0.28), rgba(20, 20, 22, 0.03)); }
.hp-tpl-cinematic-elite .ce-nextup {
  position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr); color: #fff;
  background: radial-gradient(ellipse 50% 120% at 100% 50%, rgba(var(--ce-deep-rgb), 0.75), transparent 72%), linear-gradient(100deg, #0e0e12, #18181d);
  box-shadow: 0 34px 60px -30px rgba(0, 0, 0, 0.55); border-radius: 2px;
}
.hp-tpl-cinematic-elite .ce-nextup-date {
  display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: clamp(132px, 13vw, 190px); padding: 26px 26px;
  background: var(--red); background: linear-gradient(170deg, var(--red), color-mix(in srgb, var(--red) 78%, #000)); color: var(--accent-ink, #fff); text-align: center; /* the team colour, darkened in itself - the text colour stays readable top to bottom */
}
.hp-tpl-cinematic-elite .ce-date-mon, .hp-tpl-cinematic-elite .ce-date-dow { font: 600 13px/1 'Oswald', sans-serif; letter-spacing: 0.3em; text-transform: uppercase; }
.hp-tpl-cinematic-elite .ce-date-day { font: 400 clamp(64px, 6.6vw, 98px)/0.95 'Anton', sans-serif; letter-spacing: 0.01em; margin: 6px 0; white-space: nowrap; }
.hp-tpl-cinematic-elite .ce-date-tbd { font-size: clamp(44px, 4vw, 60px); }
.hp-tpl-cinematic-elite .ce-nextup-body { position: relative; z-index: 1; padding: clamp(26px, 3vw, 40px) clamp(24px, 3vw, 44px); align-self: center; }
.hp-tpl-cinematic-elite .ce-nextup-label { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font: 500 12px/1 'Oswald', sans-serif; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .ce-nextup-label i { width: 8px; height: 8px; border-radius: 50%; background: var(--ce-accent); box-shadow: 0 0 0 0 rgba(var(--ce-deep-rgb), 0.8); animation: ce-pulse 2.4s ease-out infinite; }
@keyframes ce-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.45); } 70% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
.hp-tpl-cinematic-elite .ce-nextup h3 { margin: 0; font: 400 clamp(30px, 3.4vw, 52px)/1 'Anton', 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.01em; color: #fff; overflow-wrap: anywhere; }
.hp-tpl-cinematic-elite .ce-nextup-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 14px 0 0; font-size: 16px; color: #cfcac3; }
.hp-tpl-cinematic-elite .ce-nextup-meta i, .hp-tpl-cinematic-elite .ce-later-meta i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: 0.5; }
.hp-tpl-cinematic-elite .ce-nextup-ball { right: -60px; top: 50%; width: 300px; height: auto; transform: translateY(-50%) rotate(-14deg); color: rgba(255, 255, 255, 0.08); }
.hp-tpl-cinematic-elite .ce-later { list-style: none; margin: 18px 0 0; padding: 0; }
.hp-tpl-cinematic-elite .ce-later-item { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 6px 24px; padding: 18px 4px; border-bottom: 1px solid var(--ce-line-l); }
.hp-tpl-cinematic-elite .ce-later-date { font: 600 13px/1 'Oswald', sans-serif; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ce-accent-light); }
.hp-tpl-cinematic-elite .ce-later-date b { font: 400 28px/1 'Anton', sans-serif; letter-spacing: 0.01em; color: var(--ce-ink); margin-left: 4px; }
.hp-tpl-cinematic-elite .ce-later-name { font: 600 19px/1.2 'Oswald', sans-serif; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ce-ink); }
.hp-tpl-cinematic-elite .ce-later-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 14.5px; color: var(--ce-ink-soft); justify-content: flex-end; }
.hp-tpl-cinematic-elite .ce-empty {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 28px; padding: 34px clamp(24px, 3vw, 44px); color: #fff;
  background: radial-gradient(ellipse 50% 120% at 100% 50%, rgba(var(--ce-deep-rgb), 0.6), transparent 72%), linear-gradient(100deg, #0e0e12, #18181d); border-radius: 2px;
}
.hp-tpl-cinematic-elite .ce-empty p { margin: 0; font-size: 18px; line-height: 1.5; color: #e6e1da; max-width: 560px; }
.hp-tpl-cinematic-elite .ce-empty-ball { position: relative !important; flex: none; width: 74px; height: 74px; color: var(--ce-accent); opacity: 0.9; }
@media (max-width: 640px) {
  .hp-tpl-cinematic-elite .ce-nextup { grid-template-columns: 1fr; }
  .hp-tpl-cinematic-elite .ce-nextup-date { flex-direction: row; justify-content: flex-start; gap: 14px; min-width: 0; padding: 14px 20px; }
  .hp-tpl-cinematic-elite .ce-date-day { font-size: 44px; margin: 0; }
  .hp-tpl-cinematic-elite .ce-later-item { grid-template-columns: 74px minmax(0, 1fr); }
  .hp-tpl-cinematic-elite .ce-later-meta { grid-column: 2; justify-content: flex-start; }
  .hp-tpl-cinematic-elite .ce-empty { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* ---------- Coaches: "The Staff" - head coach leads, the staff follow ---------- */
.hp-tpl-cinematic-elite .ce-scene-graphite {
  background: radial-gradient(ellipse 50% 70% at 0% 0%, rgba(var(--ce-deep-rgb), 0.3), transparent 70%), linear-gradient(180deg, #131317, #0d0d10);
}
.hp-tpl-cinematic-elite .ce-staff { display: grid; gap: 16px; }
.hp-tpl-cinematic-elite .ce-staff-rest { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.hp-tpl-cinematic-elite .ce-coach {
  position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: center; gap: 20px; padding: 22px 24px;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 18px 40px -26px rgba(0, 0, 0, 0.9);
}
.hp-tpl-cinematic-elite .ce-coach::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--ce-accent), transparent); }
.hp-tpl-cinematic-elite .ce-coach-photo { width: 84px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: linear-gradient(160deg, rgb(var(--ce-deep-rgb)), #0b0b0e); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18); }
.hp-tpl-cinematic-elite .ce-coach-photo img { width: 100%; height: 100%; object-fit: cover; }
.hp-tpl-cinematic-elite .ce-coach-mono { font: 400 30px/1 'Anton', sans-serif; letter-spacing: 0.04em; color: #fff; }
.hp-tpl-cinematic-elite .ce-coach-title { font: 500 11.5px/1.2 'Oswald', sans-serif; letter-spacing: 0.26em; text-transform: uppercase; color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .ce-coach-name { margin: 6px 0 0; font: 400 24px/1.02 'Anton', 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.015em; color: #fff; overflow-wrap: anywhere; }
.hp-tpl-cinematic-elite .ce-coach-contact { list-style: none; margin: 10px 0 0; padding: 0; font-size: 14.5px; }
.hp-tpl-cinematic-elite .ce-coach-contact a, .hp-tpl-cinematic-elite .ce-coach-links a { color: #d6d1ca; text-decoration: none; }
.hp-tpl-cinematic-elite .ce-coach-contact a:hover, .hp-tpl-cinematic-elite .ce-coach-links a:hover { color: #fff; }
.hp-tpl-cinematic-elite .ce-coach-links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font: 500 12px/1.2 'Oswald', sans-serif; letter-spacing: 0.14em; text-transform: uppercase; }
/* the head coach: a featured, wider card (staff hierarchy only - players are never featured) */
.hp-tpl-cinematic-elite .ce-coach-lead { grid-template-columns: clamp(120px, 12vw, 168px) minmax(0, 1fr); gap: clamp(22px, 3vw, 40px); padding: clamp(24px, 3vw, 34px) clamp(24px, 3vw, 40px);
  background: radial-gradient(ellipse 60% 140% at 0% 50%, rgba(var(--ce-deep-rgb), 0.55), transparent 70%), linear-gradient(110deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)); }
.hp-tpl-cinematic-elite .ce-coach-lead::before { width: 3px; box-shadow: 0 0 18px rgba(var(--ce-deep-rgb), 0.9); }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-photo { width: 100%; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85), 0 0 0 10px rgba(255, 255, 255, 0.05); }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-mono { font-size: clamp(44px, 4vw, 60px); }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-title { font-size: 12.5px; }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-name { font-size: clamp(32px, 3.2vw, 50px); }
/* balance on the right of the featured card: the page's softball line graphic in a soft team-colour light;
   when the coach has contact details they take a right-hand column on wide screens */
.hp-tpl-cinematic-elite .ce-coach-lead { overflow: hidden; isolation: isolate; }
.hp-tpl-cinematic-elite .ce-coach-lead::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 38% 120% at 100% 50%, rgba(var(--ce-deep-rgb), 0.42), transparent 72%); }
.hp-tpl-cinematic-elite .ce-coach-ball { right: clamp(-90px, -5vw, -40px); top: 50%; width: clamp(200px, 22vw, 300px); height: auto; transform: translateY(-50%) rotate(-14deg); color: rgba(255, 255, 255, 0.09); z-index: -1; }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px clamp(24px, 4vw, 64px); padding-right: clamp(0px, 14vw, 200px); }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-reach { padding-left: clamp(18px, 2vw, 28px); border-left: 1px solid rgba(255, 255, 255, 0.12); }
.hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-contact { margin-top: 0; font-size: 15.5px; line-height: 1.7; }
@media (max-width: 860px) {
  .hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-body { grid-template-columns: 1fr; padding-right: 0; }
  .hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-reach { padding-left: 0; border-left: 0; }
  .hp-tpl-cinematic-elite .ce-coach-ball { width: 180px; right: -70px; }
}
@media (max-width: 560px) {
  .hp-tpl-cinematic-elite .ce-coach { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 18px; }
  .hp-tpl-cinematic-elite .ce-coach-photo { width: 64px; }
  .hp-tpl-cinematic-elite .ce-coach-lead { grid-template-columns: 96px minmax(0, 1fr); }
  .hp-tpl-cinematic-elite .ce-coach-lead .ce-coach-photo { width: 96px; }
  .hp-tpl-cinematic-elite .ce-staff-rest { grid-template-columns: 1fr; }
}

/* ---------- custom Page Builder sections: inherit the dark language ---------- */
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]):not(.mp-cards-section) {
  position: relative; background: var(--ce-dark); color: var(--ce-text); padding: clamp(60px, 6vw, 90px) 0;
  border-top: 1px solid var(--ce-line-d);
}
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .section-heading { max-width: 700px; margin: 0 0 36px; text-align: left; }
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .section-eyebrow { color: var(--ce-accent-text); letter-spacing: 0.26em; font-weight: 500; }
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .section-heading h2 { font-family: 'Anton', 'Oswald', sans-serif; font-weight: 400; font-size: clamp(32px, 3.3vw, 48px); color: #fff; }
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .section-heading p { color: var(--ce-muted); }
.hp-tpl-cinematic-elite .custom-text-copy,
.hp-tpl-cinematic-elite .video-gallery-caption,
.hp-tpl-cinematic-elite .contact-details { color: #d6d1ca; }
.hp-tpl-cinematic-elite .custom-text-copy h2 { font-family: 'Anton', 'Oswald', sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(30px, 3.2vw, 44px); line-height: 1; color: #fff; }
.hp-tpl-cinematic-elite .custom-text-media img,
.hp-tpl-cinematic-elite .photo-gallery-item img { border-radius: 3px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45); }
.hp-tpl-cinematic-elite .pb-list-card { background: rgba(255, 255, 255, 0.04); border: 1px solid var(--ce-line-d); border-top: 3px solid var(--red); border-radius: 3px; color: var(--ce-text); }
.hp-tpl-cinematic-elite .pb-list-card-eyebrow { color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .pb-list-card-title { color: #fff; }
.hp-tpl-cinematic-elite .pb-list-card-desc { color: var(--ce-muted); }
.hp-tpl-cinematic-elite .pb-stat-value { color: #fff; font-family: 'Anton', sans-serif; }
.hp-tpl-cinematic-elite .pb-stat-label { color: var(--ce-muted); }
.hp-tpl-cinematic-elite .sponsor-tile { background: #fff; border-radius: 3px; }
.hp-tpl-cinematic-elite .contact-details a { color: #fff; }
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .btn { border-radius: 2px; font-family: 'Oswald', sans-serif; letter-spacing: 0.16em; text-transform: uppercase; }
.hp-tpl-cinematic-elite .pb-column > section:not([class^="ce-"]) .btn.btn-outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.45); }

/* ---------- closing: "End Credits" - a centred finale under a team-colour spotlight ---------- */
.hp-tpl-cinematic-elite .ce-closing { position: relative; overflow: hidden; isolation: isolate; padding: clamp(84px, 9vw, 130px) 0 clamp(70px, 7vw, 104px); background: #060608; text-align: center; }
.hp-tpl-cinematic-elite .ce-closing::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16) 30%, rgba(var(--ce-deep-rgb), 0.9) 50%, rgba(255, 255, 255, 0.16) 70%, transparent); }
.hp-tpl-cinematic-elite .ce-closing-light {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 34% 60% at 50% -12%, rgba(var(--ce-deep-rgb), 0.75), transparent 72%),
    conic-gradient(from 150deg at 50% -10%, transparent 0deg, rgba(255, 255, 255, 0.06) 12deg, transparent 22deg, rgba(var(--ce-deep-rgb), 0.3) 30deg, transparent 40deg, rgba(255, 255, 255, 0.05) 48deg, transparent 60deg),
    radial-gradient(ellipse 60% 30% at 50% 100%, rgba(var(--ce-deep-rgb), 0.2), transparent 75%);
}
.hp-tpl-cinematic-elite .ce-closing-inner { display: flex; flex-direction: column; align-items: center; max-width: 920px; }
.hp-tpl-cinematic-elite .ce-closing-badge { width: 84px; height: 84px; border-radius: 50%; padding: 5px; margin-bottom: 26px; background: #0b0b0e; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8), 0 0 0 12px rgba(255, 255, 255, 0.05), 0 20px 50px rgba(var(--ce-deep-rgb), 0.6); display: grid; place-items: center; }
.hp-tpl-cinematic-elite .ce-closing-badge img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.hp-tpl-cinematic-elite .ce-cue-center { width: min(100%, 560px); margin-bottom: 20px; }
.hp-tpl-cinematic-elite .ce-cue-center .ce-cue-line:first-child { background: linear-gradient(270deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.02)); }
.hp-tpl-cinematic-elite .ce-cue-center .ce-cue-label { color: #e9e5df; }
.hp-tpl-cinematic-elite .ce-cue-center .ce-cue-label::before { display: none; }
.hp-tpl-cinematic-elite .ce-closing-title { margin: 0; font: 400 clamp(38px, 5vw, 78px)/0.95 'Anton', 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.01em; color: #fff; text-wrap: balance; overflow-wrap: anywhere; }
.hp-tpl-cinematic-elite .ce-closing-title span { display: block; color: var(--ce-accent-text); }
.hp-tpl-cinematic-elite .ce-closing-facts { margin: 18px 0 0; font: 500 13.5px/1.4 'Oswald', sans-serif; letter-spacing: 0.24em; text-transform: uppercase; color: #bdb8b1; }
.hp-tpl-cinematic-elite .ce-closing-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
@media (max-width: 640px) {
  .hp-tpl-cinematic-elite .ce-closing-actions { width: 100%; display: grid; }
  .hp-tpl-cinematic-elite .ce-cue-center .ce-cue-label { letter-spacing: 0.2em; font-size: 11px; white-space: normal; }
}

/* ---------- footer: the credits ---------- */
.hp-tpl-cinematic-elite .site-footer { position: relative; overflow: hidden; isolation: isolate; background: #060608; color: var(--ce-muted); padding: 54px 0 48px; border-top: 0; text-align: center; }
/* finishing light: a soft team-colour floor glow and a glowing bottom rail - the last frame of the film */
.hp-tpl-cinematic-elite .site-footer::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 100%; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(var(--ce-deep-rgb), 0.9) 35%, var(--ce-accent) 50%, rgba(var(--ce-deep-rgb), 0.9) 65%, transparent) bottom / 100% 2px no-repeat,
    radial-gradient(ellipse 42% 70% at 50% 100%, rgba(var(--ce-deep-rgb), 0.32), transparent 72%);
}
.hp-tpl-cinematic-elite .site-footer::before { content: ''; position: absolute; left: 50%; top: 0; width: min(560px, 80vw); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent); }
.hp-tpl-cinematic-elite .site-footer-grid { display: grid !important; grid-template-columns: 1fr; gap: 22px; justify-items: center; max-width: 920px; }
.hp-tpl-cinematic-elite .site-footer-col + .site-footer-col { padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.06); width: min(100%, 520px); }
.hp-tpl-cinematic-elite .site-footer-col { display: flex; flex-direction: column; align-items: center; }
.hp-tpl-cinematic-elite .site-footer-name { font: 400 28px/1 'Anton', 'Oswald', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
.hp-tpl-cinematic-elite .site-footer-copy { margin-top: 12px; color: #77736e; font-size: 13px; letter-spacing: 0.04em; }
.hp-tpl-cinematic-elite .site-footer-heading { font: 500 11.5px/1.2 'Oswald', sans-serif; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ce-accent-text); margin-bottom: 12px; }
.hp-tpl-cinematic-elite .site-footer-nav { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 26px; }
.hp-tpl-cinematic-elite .site-footer-nav a { margin: 0; font: 500 12.5px/1.4 'Oswald', sans-serif; letter-spacing: 0.2em; text-transform: uppercase; }
.hp-tpl-cinematic-elite .site-footer-social { justify-content: center; }
.hp-tpl-cinematic-elite .site-footer a { color: #d6d1ca; text-decoration: none; }
.hp-tpl-cinematic-elite .site-footer a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) { .hp-tpl-cinematic-elite .ce-nextup-label i { animation: none; } }
