/*
Theme Name: Lake Cumberland Speedway
Theme URI: https://lcspeedway.net/
Author: Lake Cumberland Speedway
Description: Lake Cumberland Speedway dark dirt-racing theme with split navigation, rotating folder-based hero photos, custom hero wordmark, upcoming events, track information, and sponsor marquee.
Version: 1.3.40
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: lcspeedway
*/

:root {
  --lcs-red: #ed1c24;
  --lcs-blue: #0b63d8;
  --lcs-dark: #090b0e;
  --lcs-dark-2: #11151a;
  --lcs-white: #ffffff;
  --lcs-gray: #aeb5bd;
  --lcs-light: #f1f2f3;
  --lcs-max: 1440px;
  --lcs-radius: 2px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--lcs-dark); color: var(--lcs-white); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.lcs-container { width: min(var(--lcs-max), calc(100% - 40px)); margin: 0 auto; }
.lcs-skip-link { position: absolute; left: -9999px; }
.lcs-skip-link:focus { left: 15px; top: 15px; z-index: 9999; background: #fff; color: #000; padding: 10px 15px; }

/* Header: split navigation with centered LCS logo */
.lcs-header { position: relative; z-index: 100; background: rgba(6,8,11,.98); border-bottom: 1px solid rgba(255,255,255,.14); }
.lcs-header-inner { min-height: 76px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 20px; position: relative; }
.lcs-brand { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 260px; position: relative; z-index: 4; align-self: start; }
.lcs-brand img { width: auto; max-width: 100%; max-height: 116px; object-fit: contain; position: relative; z-index: 3; }
.lcs-brand .custom-logo-link { display: block; }
.lcs-nav { min-width: 0; }
.lcs-nav-left { grid-column: 1; grid-row: 1; }
.lcs-nav-right { grid-column: 3; grid-row: 1; }
.lcs-nav ul { display: flex; align-items: center; justify-content: space-evenly; gap: clamp(8px,1.2vw,24px); margin: 0; padding: 0; list-style: none; }
.lcs-nav a { display: block; white-space: nowrap; padding: 27px 0 23px; font-weight: 800; font-size: clamp(10px,.8vw,13px); text-transform: uppercase; letter-spacing: .025em; border-bottom: 3px solid transparent; }
.lcs-nav a:hover, .lcs-nav .current-menu-item > a, .lcs-nav .current_page_item > a { color: var(--lcs-red); border-bottom-color: var(--lcs-red); }
.lcs-menu-toggle { display: none; margin-left: auto; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.25); padding: 10px 12px; cursor: pointer; }
.lcs-header-social { display:flex; align-items:center; gap:8px; }
.lcs-header-social a { width:25px; height:25px; border-radius:50%; background:#1769d2; display:grid; place-items:center; color:#fff; font-size:11px; font-weight:900; }

/* Hero */
.lcs-hero { min-height: 360px; position: relative; overflow: hidden; background: #111; }
.lcs-hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .65s ease; }
.lcs-hero-slide.is-active { opacity: 1; }
.lcs-hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.15) 100%), linear-gradient(0deg, rgba(0,0,0,.60), transparent 55%); }
.lcs-hero-content { position: relative; z-index: 2; min-height: 360px; display: flex; align-items: center; }
.lcs-kicker { color: var(--lcs-blue); font-weight: 900; letter-spacing: .24em; text-transform: uppercase; font-size: 14px; }
.lcs-hero h1 { margin: 8px 0 8px; max-width: 650px; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-size: clamp(52px, 6.4vw, 100px); line-height: .88; text-transform: uppercase; font-weight: 1000; letter-spacing: -.018em; font-stretch: condensed; text-shadow: 2px 2px 0 rgba(0,0,0,.25); }
.lcs-hero h1 span { color: var(--lcs-red); display: block; }
.lcs-hero p { max-width: 650px; color: #e6e8eb; font-size: 19px; }
.lcs-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.lcs-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; border: 1px solid transparent; }
.lcs-btn-red { background: var(--lcs-red); color: #fff; }
.lcs-btn-blue { background: var(--lcs-blue); color: #fff; }
.lcs-btn-outline { border-color: rgba(255,255,255,.45); background: rgba(0,0,0,.15); color: #fff; }
.lcs-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.lcs-hero-dots { position: absolute; z-index: 4; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 7px; }
.lcs-hero-dot { width: 34px; height: 4px; background: rgba(255,255,255,.35); border: 0; cursor: pointer; }
.lcs-hero-dot.is-active { background: var(--lcs-red); }

/* Shared sections */
.lcs-section { padding: 58px 0; }
.lcs-section-light { background: var(--lcs-light); color: #111; }
.lcs-section-dark { background: #0d1014; }
.lcs-section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.lcs-section-title h2 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: .95; text-transform: uppercase; letter-spacing: -.035em; font-weight: 1000; }
.lcs-section-title h2::after { content: ""; display: block; width: 75px; height: 5px; margin-top: 10px; background: var(--lcs-red); transform: skewX(-22deg); }
.lcs-section-title a { color: var(--lcs-blue); font-weight: 900; text-transform: uppercase; font-size: 13px; }

/* Next event */
.lcs-next { background: #090b0e; border-top: 4px solid var(--lcs-red); }
.lcs-next-inner { display: grid; grid-template-columns: 125px minmax(0,1fr) auto; align-items: stretch; min-height: 145px; }
.lcs-date-box { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid rgba(255,255,255,.12); }
.lcs-date-box .month { color: var(--lcs-red); font-size: 14px; font-weight: 900; text-transform: uppercase; }
.lcs-date-box .day { font-size: 54px; line-height: .95; font-weight: 1000; }
.lcs-next-main { padding: 18px 24px; display: flex; align-items: center; gap: 24px; }
.lcs-next-main img { width: 230px; height: 100px; max-height: 100px; object-fit: contain; flex: 0 0 auto; }
.lcs-next-main h2 { font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-size: clamp(28px, 2.8vw, 42px); letter-spacing: -.01em; }
.lcs-next-main h2 { margin: 0; font-size: clamp(28px, 3vw, 46px); line-height: .95; text-transform: uppercase; }
.lcs-next-main p { margin: 8px 0 0; color: var(--lcs-gray); }
.lcs-next-action { display: flex; align-items: center; padding: 25px; }

/* Upcoming */
.lcs-event-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lcs-event-card { position: relative; min-height: 210px; overflow: hidden; background: #161a1f; border: 1px solid rgba(255,255,255,.08); }
.lcs-event-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.88)); }
.lcs-event-card-image { position: absolute; inset: 0; background-size: contain; background-repeat: no-repeat; background-position: center; background-color: #101216; }
.lcs-event-card-content { position: absolute; z-index: 2; inset: auto 0 0; padding: 18px; }
.lcs-event-card-date { color: var(--lcs-red); font-weight: 900; text-transform: uppercase; font-size: 13px; }
.lcs-event-card h3 { margin: 3px 0 6px; font-size: 24px; line-height: 1; text-transform: uppercase; }
.lcs-event-card-meta { color: #d6d9dd; font-size: 12px; }

/* Track */
.lcs-track-grid { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 0; background: #0d1014; }
.lcs-track-copy, .lcs-race-day { padding: 38px; }
.lcs-track-copy h2, .lcs-race-day h2 { margin: 0 0 18px; font-size: 38px; line-height: .95; text-transform: uppercase; }
.lcs-track-copy p { color: #c8cdd3; }
.lcs-track-image { min-height: 330px; background-size: cover; background-position: center; }
.lcs-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.lcs-fact { padding: 13px; border-left: 3px solid var(--lcs-blue); background: #15191e; }
.lcs-fact strong { display: block; font-size: 12px; color: var(--lcs-gray); text-transform: uppercase; }
.lcs-fact span { font-weight: 900; text-transform: uppercase; }
.lcs-race-list { margin: 0 0 24px; padding: 0; list-style: none; }
.lcs-race-list li { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.10); font-weight: 800; text-transform: uppercase; }

/* Sponsor marquee */
.lcs-sponsor-marquee { background:#f1f2f3; color:#080a0d; overflow:hidden; padding:22px 0 26px; border-top:1px solid #d7d7d7; border-bottom:1px solid #d7d7d7; }
.lcs-sponsor-marquee h2 { margin:0; text-align:center; font-size:clamp(30px,5vw,68px); line-height:1; font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:.02em; }
.lcs-sponsor-marquee-track { margin-top:16px; display:flex; gap:42px; justify-content:center; align-items:center; flex-wrap:wrap; }
.lcs-sponsor-marquee-track img { max-height:54px; width:auto; max-width:180px; object-fit:contain; }
.lcs-sponsor-placeholder { font-size:clamp(30px,5vw,68px); font-style:italic; font-weight:900; text-transform:uppercase; letter-spacing:.02em; }

/* Visit */
.lcs-visit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #c9cdd1; }
.lcs-visit-card { padding: 26px; background: #f1f2f3; }
.lcs-visit-card .icon { color: var(--lcs-red); font-size: 28px; font-weight: 900; }
.lcs-visit-card h3 { margin: 8px 0 4px; text-transform: uppercase; font-size: 18px; }
.lcs-visit-card p { margin: 0; color: #555d66; font-size: 14px; }

/* Page */
.lcs-page-hero { padding: 78px 0; background: linear-gradient(120deg, #0b0d10, #171c22); border-bottom: 4px solid var(--lcs-red); }
.lcs-page-hero h1 { margin: 0; font-size: clamp(44px, 6vw, 82px); line-height: .9; text-transform: uppercase; letter-spacing: -.04em; }
.lcs-page-content { background: #f5f5f5; color: #16191d; padding: 60px 0 80px; }
.lcs-prose { max-width: 1000px; margin: 0 auto; }
.lcs-prose a { color: var(--lcs-blue); text-decoration: underline; }
.lcs-prose h2, .lcs-prose h3 { text-transform: uppercase; line-height: 1; }
.lcs-prose table { width: 100%; border-collapse: collapse; background: #fff; }
.lcs-prose th, .lcs-prose td { padding: 12px 14px; border: 1px solid #ddd; text-align: left; }

/* Schedule */
.lcs-schedule { display: grid; gap: 12px; }
.lcs-schedule-row { display: grid; grid-template-columns: 130px minmax(0,1fr) auto; gap: 20px; align-items: center; background: #fff; padding: 20px; border-left: 5px solid var(--lcs-red); box-shadow: 0 3px 14px rgba(0,0,0,.06); }
.lcs-schedule-date { text-align: center; text-transform: uppercase; font-weight: 1000; }
.lcs-schedule-date strong { display: block; font-size: 30px; line-height: .95; }
.lcs-schedule-date span { color: var(--lcs-blue); font-size: 13px; }
.lcs-schedule-row h3 { margin: 0; text-transform: uppercase; font-size: 24px; }
.lcs-schedule-row p { margin: 3px 0 0; color: #666; }

/* Footer */
.lcs-footer { background: #06080a; border-top: 1px solid rgba(255,255,255,.10); }
.lcs-footer-main { padding: 42px 0 28px; display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 30px; }
.lcs-footer-logo img { max-height: 90px; width: auto; }
.lcs-footer h3 { margin: 0 0 12px; font-size: 13px; color: #fff; text-transform: uppercase; letter-spacing: .12em; }
.lcs-footer ul { list-style: none; padding: 0; margin: 0; }
.lcs-footer li { margin: 7px 0; }
.lcs-footer a { color: #aeb5bd; }
.lcs-footer a:hover { color: #fff; }
.lcs-socials { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 15px; }
.lcs-social { width: 38px; height: 38px; display: grid; place-items: center; background: #15191e; border: 1px solid rgba(255,255,255,.1); font-weight: 900; }
.lcs-footer-bottom { border-top: 1px solid rgba(255,255,255,.09); padding: 17px 0; color: #7e8790; font-size: 12px; }
.lcs-footer-bottom-inner { display: flex; justify-content: space-between; gap: 15px; }

/* Compact footer matching the LCS visual concept */
.lcs-footer-compact { min-height:110px; display:grid; grid-template-columns:210px minmax(0,1fr) auto 220px; align-items:center; gap:22px; padding:22px 0; }
.lcs-footer-mark img { max-height:78px; width:auto; }
.lcs-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:0; }
.lcs-footer-links a { color:#d5d8dc; font-size:12px; font-weight:800; text-transform:uppercase; padding:5px 13px; border-right:1px solid #52565b; }
.lcs-footer-links a:last-child { border-right:0; }
.lcs-footer-socials { display:flex; gap:8px; }
.lcs-footer-socials a { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:#1769d2; font-weight:900; }
.lcs-footer-location { text-align:center; border-left:1px solid #444; padding-left:20px; text-transform:uppercase; letter-spacing:.12em; }
.lcs-footer-location strong,.lcs-footer-location span { display:block; }
.lcs-footer-location strong { font-size:12px; }
.lcs-footer-location span { font-size:10px; color:#b8bdc4; margin-top:5px; }

/* WordPress */
.alignwide { width: min(1200px, calc(100% - 40px)); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; }
.wp-caption { max-width: 100%; }
.gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.sticky { outline: 1px solid var(--lcs-red); }

@media (max-width: 1050px) {
  .lcs-header-inner { gap: 10px; }
  .lcs-brand { width: 190px; }
  .lcs-brand img { max-height: 95px; }
  .lcs-nav ul { gap: 8px; }
  .lcs-nav a { font-size: 10px; }
  .lcs-event-grid { grid-template-columns: repeat(2,1fr); }
  .lcs-track-grid { grid-template-columns: 1fr 1fr; }
  .lcs-track-image { grid-column: 1 / -1; grid-row: 1; min-height: 260px; }
  .lcs-footer-main { grid-template-columns: repeat(2,1fr); }
  .lcs-footer-compact { grid-template-columns:150px 1fr; }
  .lcs-footer-location { display:none; }
}
@media (max-width: 760px) {
  .lcs-container { width: min(var(--lcs-max), calc(100% - 28px)); }
  .lcs-header-inner { min-height: 72px; display:flex; justify-content:space-between; gap:12px; }
  .lcs-brand { order:0; width:155px; align-self:center; }
  .lcs-brand img { max-height:66px; }
  .lcs-menu-toggle { display: block; order:2; }
  .lcs-nav { position: absolute; left: 0; right: 0; top: 72px; display: none; background: #080a0d; border-top: 1px solid rgba(255,255,255,.1); }
  .lcs-nav.is-open { display: block; }
  .lcs-nav-left, .lcs-nav-right { grid-column:auto; grid-row:auto; }
  .lcs-nav ul { display: block; padding: 8px 15px 15px; }
  .lcs-nav a { padding: 13px 0; font-size:14px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .lcs-header-social { display:none; }
  .lcs-hero, .lcs-hero-content { min-height: 430px; }
  .lcs-hero h1 { font-size: 54px; }
  .lcs-next-inner { grid-template-columns: 92px 1fr; }
  .lcs-next-main { padding: 20px; }
  .lcs-next-main img { display: none; }
  .lcs-next-action { grid-column: 1 / -1; padding: 0 20px 20px; }
  .lcs-event-grid { grid-template-columns: 1fr; }
  .lcs-track-grid { grid-template-columns: 1fr; }
  .lcs-track-image { grid-column: auto; }
  .lcs-visit-grid { grid-template-columns: 1fr 1fr; }
  .lcs-schedule-row { grid-template-columns: 82px 1fr; }
  .lcs-schedule-row .lcs-btn { grid-column: 1 / -1; width: 100%; }
  .lcs-footer-main { grid-template-columns: 1fr; }
  .lcs-footer-compact { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .lcs-footer-links { gap:4px; }
  .lcs-footer-links a { padding:6px 8px; }
  .lcs-footer-location { display:block; border-left:0; padding-left:0; }
  .lcs-footer-bottom-inner { display: block; }
  .lcs-footer-bottom-inner > * { margin: 4px 0; }
}
@media (max-width: 480px) {
  .lcs-visit-grid { grid-template-columns: 1fr; }
  .lcs-hero h1 { font-size: 45px; }
}

/* LCS reference-style event graphics */
.lcs-event-card::after { background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.18) 45%, rgba(0,0,0,.9) 100%); }
.lcs-event-card-content { text-shadow: 0 2px 4px #000; }
.lcs-event-card h3 { font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; letter-spacing: .01em; }
.lcs-next-main .lcs-event-art { background: #fff; }

/* LCS homepage Plan Your Visit strip */
.lcs-plan-visit{background:#f2f0eb;color:#101114;padding:22px 0;background-image:radial-gradient(rgba(0,0,0,.08) .7px,transparent .7px);background-size:5px 5px}
.lcs-plan-visit h2{margin:0 0 16px;font-size:clamp(24px,3vw,34px);font-style:italic;text-transform:uppercase}
.lcs-visit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.lcs-visit-grid a{display:flex;align-items:center;gap:14px;color:#111;text-decoration:none;border-right:1px solid rgba(0,0,0,.2);padding:8px 18px}
.lcs-visit-grid a:last-child{border-right:0}
.lcs-visit-icon{font-size:34px;color:#ed1c2e;min-width:40px;text-align:center}
.lcs-visit-grid strong,.lcs-visit-grid small{display:block}
.lcs-visit-grid strong{font-size:16px;text-transform:uppercase}
.lcs-visit-grid small{font-size:13px;margin-top:3px}
@media(max-width:800px){.lcs-visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lcs-visit-grid a:nth-child(2){border-right:0}}
@media(max-width:480px){.lcs-visit-grid{grid-template-columns:1fr}.lcs-visit-grid a{border-right:0;border-bottom:1px solid rgba(0,0,0,.15)}.lcs-visit-grid a:last-child{border-bottom:0}}

/* v1.1.3: reference-led hero and next-event treatment */
.lcs-hero{min-height:275px;height:clamp(275px,22vw,340px);background:#080a0d}
.lcs-hero-slide{background-position:center 48%}
.lcs-hero-slide::after{background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.03) 72%),linear-gradient(0deg,rgba(0,0,0,.12),transparent 40%)}
.lcs-hero-content{min-height:inherit;height:100%;align-items:flex-start;padding-top:20px}
.lcs-hero-branding{max-width:600px;text-transform:uppercase}
.lcs-hero .lcs-kicker{font-size:clamp(12px,1.25vw,19px);letter-spacing:.46em;color:#fff;line-height:1.2;font-weight:800;margin-left:8px}
.lcs-hero h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(58px,7.6vw,112px);line-height:.78;letter-spacing:-.035em;margin:7px 0 12px;color:#fff;text-transform:uppercase;text-shadow:2px 3px 0 rgba(0,0,0,.45)}
.lcs-hero-branding p{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(12px,1.4vw,20px);letter-spacing:.22em;line-height:1.2;margin:0;color:#fff;text-transform:uppercase}
.lcs-hero-buttons{display:none}
.lcs-next{position:relative;background:#080a0d;border-top:4px solid var(--lcs-red);min-height:145px;overflow:hidden}
.lcs-next-label{position:absolute;left:0;top:-1px;z-index:5;background:#ed1c24;color:#fff;padding:7px 42px 8px 34px;min-width:235px;clip-path:polygon(0 0,100% 0,87% 100%,0 100%)}
.lcs-next-label span{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-style:italic;font-size:clamp(22px,2.2vw,34px);line-height:1;text-transform:uppercase}
.lcs-next-inner{display:grid;grid-template-columns:125px minmax(280px,1fr) auto;align-items:center;min-height:145px;padding-top:28px;position:relative}
.lcs-date-box{min-height:106px;border:1px solid var(--lcs-red);margin:12px 8px 12px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.lcs-date-box .day-name{font-size:16px;font-weight:900;text-transform:uppercase}
.lcs-date-box .month{font-size:17px;color:#fff;margin:3px 0;text-transform:uppercase}
.lcs-date-box .day{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:35px;font-style:italic;color:#fff}
.lcs-next-main{padding:12px 18px;gap:18px;min-width:0}
.lcs-next-main img{width:250px;height:102px;max-height:102px;object-fit:contain;flex:0 0 250px;background:transparent}
.lcs-next-copy{min-width:0}
.lcs-next-main h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(24px,2.4vw,38px);line-height:.95;font-weight:500;letter-spacing:0;color:#fff}
.lcs-next-main p{font-size:14px;margin:8px 0 0;color:#d7d7d7}
.lcs-next-action{padding:15px 24px}
.lcs-next-action .lcs-btn{white-space:nowrap;min-height:44px;padding:0 22px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:17px;font-weight:500}
.lcs-next-quick{grid-column:1/-1;display:none}
.lcs-event-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lcs-event-card{height:98px;min-height:98px;background:#111;display:flex;align-items:stretch;border:0}
.lcs-event-card::after{background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.03))}
.lcs-event-card-image{left:78px;background-size:cover;background-position:center;background-color:#111}
.lcs-event-card-datebox{position:absolute;z-index:2;left:0;top:0;bottom:0;width:78px;background:#090b0e;border-right:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;color:#fff;line-height:1}
.lcs-event-card-datebox span{font-size:16px;font-weight:900}
.lcs-event-card-datebox strong{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:37px;font-weight:500;margin-top:3px}
.lcs-event-card-arrow{position:absolute;right:10px;bottom:4px;z-index:2;color:#fff;font-size:36px;font-weight:900;text-shadow:0 1px 5px #000}
.lcs-event-card-content{display:none}
.lcs-section-light{padding:14px 0 18px;background:#f0f0ee;background-image:radial-gradient(rgba(0,0,0,.09) .7px,transparent .7px);background-size:5px 5px}
.lcs-section-title{margin-bottom:12px}
.lcs-section-title h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-style:italic;font-size:clamp(26px,2.7vw,40px);letter-spacing:0}
.lcs-section-title h2::after{display:none}
.lcs-section-title a{font-size:12px}
.lcs-track-grid{grid-template-columns:1fr 1.3fr 1fr}
.lcs-track-copy,.lcs-race-day{padding:24px}
.lcs-track-copy h2,.lcs-race-day h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-style:italic;font-size:30px;margin-bottom:12px}
.lcs-sponsor-marquee{min-height:100px;padding:22px 0;background:#f0f0ee;background-image:radial-gradient(rgba(0,0,0,.09) .7px,transparent .7px);background-size:5px 5px}
.lcs-sponsor-marquee h2,.lcs-sponsor-placeholder{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-style:italic;font-size:clamp(30px,4.5vw,58px);font-weight:500;letter-spacing:.01em}
.lcs-plan-visit{display:none!important}
@media(max-width:900px){
 .lcs-next-inner{grid-template-columns:90px minmax(0,1fr);padding-top:28px}
 .lcs-next-action{grid-column:2;padding:0 18px 15px}
 .lcs-next-main{padding:12px}
 .lcs-next-main img{width:130px;flex-basis:130px;height:82px}
 .lcs-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .lcs-hero{height:270px;min-height:270px}
 .lcs-hero-content{padding-top:25px}
 .lcs-hero h1{font-size:60px}
 .lcs-next-inner{grid-template-columns:74px minmax(0,1fr)}
 .lcs-date-box{margin-left:8px;min-height:86px}
 .lcs-next-main{gap:9px;padding:8px}
 .lcs-next-main img{width:82px;height:70px;flex-basis:82px}
 .lcs-next-main h2{font-size:22px}
 .lcs-next-main p{font-size:11px}
 .lcs-next-action{grid-column:1/-1;padding:0 12px 12px}
 .lcs-next-action .lcs-btn{width:100%}
 .lcs-event-grid{grid-template-columns:1fr}
 .lcs-event-card{height:90px}
}

/* v1.1.4 — Next Event banner matched to supplied reference */
.lcs-next{position:relative;isolation:isolate;overflow:hidden;min-height:158px;background:#08090b;border-top:0;border-bottom:3px solid #ed1c24}
.lcs-next:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#070809 0%,#111214 60%,#050607 100%);background-image:radial-gradient(rgba(255,255,255,.055) .7px,transparent .7px),linear-gradient(105deg,#070809 0%,#111214 60%,#050607 100%);background-size:5px 5px,auto}
.lcs-next:after{content:"";position:absolute;z-index:0;right:-20px;top:0;width:44%;height:100%;border-top:3px solid #ed1c24;border-left:3px solid #ed1c24;transform:skewX(34deg);transform-origin:top left;pointer-events:none;opacity:.95}
.lcs-next-label{position:absolute;z-index:4;left:0;top:0;min-width:230px;padding:4px 38px 7px 24px;background:#ed1c24;color:#fff;clip-path:polygon(0 0,100% 0,87% 100%,0 100%);height:36px;display:flex;align-items:center}
.lcs-next-label:after{content:"";position:absolute;left:100%;top:0;width:100px;height:100%;background:repeating-linear-gradient(165deg,rgba(237,28,36,.9) 0 5px,transparent 5px 10px);opacity:.8}
.lcs-next-label span{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(23px,2.3vw,34px);font-style:italic;line-height:1;text-transform:uppercase;font-weight:500;white-space:nowrap}
.lcs-next-inner{position:relative;z-index:2;display:grid;grid-template-columns:122px minmax(200px,1fr) 220px;align-items:center;gap:0;min-height:158px;padding:34px 24px 8px 16px}
.lcs-date-box{box-sizing:border-box;width:90px;height:84px;min-height:84px;margin:0 0 0 0;border:2px solid #ed1c24;background:rgba(0,0,0,.68);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;line-height:1}
.lcs-date-box .day-name{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:18px;font-weight:500;text-transform:uppercase}
.lcs-date-box .month{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:21px;font-style:italic;font-weight:500;text-transform:uppercase;margin:2px 0}
.lcs-date-box .day{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:31px;font-style:italic;font-weight:500;text-transform:uppercase}
.lcs-next-main{display:flex;align-items:center;justify-content:flex-start;min-width:0;padding:0 10px 0 0;margin:0}
.lcs-next-main img.lcs-event-art{display:block;width:100%;max-width:245px;height:96px;max-height:96px;object-fit:contain;object-position:left center;flex:0 1 245px;margin:0;background:transparent}
.lcs-next-copy{display:none}
.lcs-next-action{display:flex;align-items:center;justify-content:center;padding:0 0 0 8px;min-width:0}
.lcs-next-action .lcs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:195px;min-height:42px;padding:0 12px;white-space:nowrap;background:#ed1c24;color:#fff;border:0;border-radius:0;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:16px;font-weight:500;text-transform:uppercase;box-shadow:none}
.lcs-next-action .lcs-btn:hover{background:#c91520}
.lcs-next-quick{display:none!important}
@media(max-width:760px){
 .lcs-next{min-height:145px}
 .lcs-next-inner{grid-template-columns:84px minmax(0,1fr) 150px;min-height:145px;padding:32px 12px 8px}
 .lcs-date-box{width:72px;height:76px;min-height:76px}
 .lcs-date-box .day-name{font-size:15px}.lcs-date-box .month{font-size:18px}.lcs-date-box .day{font-size:27px}
 .lcs-next-main img.lcs-event-art{max-width:100%;height:80px;max-height:80px}
 .lcs-next-action .lcs-btn{font-size:13px;min-height:38px}
 .lcs-next:after{width:25%;right:-30px}
}
@media(max-width:520px){
 .lcs-next-label{min-width:165px;height:30px;padding:3px 26px 5px 14px}
 .lcs-next-label span{font-size:22px}
 .lcs-next-inner{grid-template-columns:70px minmax(0,1fr);padding:34px 10px 10px;row-gap:8px}
 .lcs-date-box{width:60px;height:67px;min-height:67px}
 .lcs-date-box .day-name{font-size:13px}.lcs-date-box .month{font-size:16px}.lcs-date-box .day{font-size:24px}
 .lcs-next-main{padding:0 0 0 4px}
 .lcs-next-main img.lcs-event-art{height:70px;max-height:70px;max-width:100%}
 .lcs-next-action{grid-column:1/-1;padding:0 0 0 70px;justify-content:flex-start}
 .lcs-next-action .lcs-btn{max-width:195px;width:100%}
 .lcs-next:after{display:none}
}


/* v1.1.6 — use supplied transparent LCS logo artwork over the hero photos */
.lcs-hero-content{align-items:center;justify-content:center;padding-top:0;padding-bottom:0}
.lcs-hero-image-branding{width:100%;max-width:1500px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.lcs-hero-wordmark{display:block;width:min(100%,1500px);height:auto;max-height:calc(clamp(275px,22vw,340px) - 38px);object-fit:contain;object-position:center;filter:drop-shadow(0 3px 8px rgba(0,0,0,.24))}
@media(max-width:760px){.lcs-hero-wordmark{width:100%;max-height:230px}.lcs-hero-image-branding{padding:0 8px}}
@media(max-width:520px){.lcs-hero-wordmark{max-height:190px}.lcs-hero-content{padding-left:8px;padding-right:8px}}


/* v1.2.9 — slight counterclockwise tilt and left-aligned hero wordmark */
.lcs-hero-wordmark{transform:rotate(-4deg);}
.lcs-hero-image-branding{margin-left:0;margin-right:auto;justify-content:flex-start;}
.lcs-hero-wordmark{object-position:left center;}


/* v1.2.9 — keep the full hero wordmark visible and refine event branding */
.lcs-hero { overflow: hidden; }
.lcs-hero-content { min-height: 350px; }
.lcs-hero-image-branding { width: 100%; max-width: 1120px; margin-left: 0; margin-right: auto; justify-content: flex-start; padding: 14px 0; }
.lcs-hero-wordmark { display:block; width: min(100%, 980px); max-width: 980px; max-height: 285px; height:auto; object-fit:contain; object-position:left center; transform:rotate(-4deg); transform-origin:center center; }
.lcs-next:after { display:none !important; }
.lcs-next-inner { grid-template-columns: 122px minmax(245px, 290px) auto; justify-content:start; column-gap:14px; padding-right:20px; }
.lcs-next-main { padding:0; }
.lcs-next-main img.lcs-event-art { width:245px; max-width:245px; height:96px; object-position:center; }
.lcs-next-action { justify-content:flex-start; padding:0 0 0 8px; }
.lcs-next-action .lcs-btn { width:auto; min-width:185px; }
.lcs-event-card-image { display:flex; align-items:center; justify-content:center; overflow:hidden; }
.lcs-event-card-image img.lcs-event-card-logo { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; transform:rotate(-4deg); transform-origin:center center; }
@media (max-width:760px) {
  .lcs-hero-content { min-height:300px; }
  .lcs-hero-image-branding { padding:14px 8px; }
  .lcs-hero-wordmark { width: min(100%, 720px); max-height:235px; }
  .lcs-next-inner { grid-template-columns:84px minmax(0,1fr); padding:34px 12px 12px; row-gap:10px; }
  .lcs-next-main { min-width:0; }
  .lcs-next-main img.lcs-event-art { width:100%; max-width:240px; height:80px; }
  .lcs-next-action { grid-column:2; padding:0; }
}
@media (max-width:520px) {
  .lcs-hero-content { min-height:245px; }
  .lcs-hero-wordmark { width:100%; max-height:185px; }
  .lcs-next-inner { grid-template-columns:70px minmax(0,1fr); }
  .lcs-next-main img.lcs-event-art { max-width:100%; height:68px; }
  .lcs-next-action { grid-column:1/-1; padding-left:70px; }
}


/* v1.2.9 — new hero wordmark and layered diagonal Next Event layout */
.lcs-hero {
  position: relative;
  z-index: 1;
  height: 390px;
  min-height: 390px;
  overflow: hidden;
}
.lcs-hero-slide { background-position: center center; }
.lcs-hero-content {
  height: 100%;
  min-height: 390px;
  align-items: center;
  justify-content: flex-start;
  padding-top: 0;
  padding-bottom: 72px;
}
.lcs-hero-image-branding {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}
.lcs-hero-wordmark {
  display: block;
  width: min(100%, 930px);
  max-width: 930px;
  max-height: 300px;
  height: auto;
  object-fit: contain;
  object-position: left center;
  transform: rotate(0deg) !important;
  transform-origin: center center;
}

/* Pull the Next Event panel up over the hero; leave the right side of the
   hero image exposed with a strong diagonal cut. Align its contents to the
   same centered container as the Home navigation/content. */
.lcs-next {
  position: relative;
  z-index: 4;
  width: min(100%, 1370px);
  margin: -78px auto 0;
  min-height: 160px;
  overflow: visible;
  background: transparent;
  border-top: 3px solid #ed1c24;
  border-bottom: 3px solid #ed1c24;
}
.lcs-next:before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    radial-gradient(rgba(255,255,255,.055) .7px, transparent .7px),
    linear-gradient(105deg,#070809 0%,#111214 78%,#08090b 100%);
  background-size: 5px 5px, auto;
  clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
}
.lcs-next:after { display: none !important; }
.lcs-next-label { left: 0; }
.lcs-next-inner {
  position: relative;
  z-index: 2;
  grid-template-columns: 100px minmax(200px, 300px) minmax(180px, 1fr);
  justify-content: start;
  align-items: center;
  column-gap: 18px;
  min-height: 154px;
  padding: 36px 11% 8px 14px;
}
.lcs-next-main { padding: 0; }
.lcs-next-main img.lcs-event-art {
  width: 100%;
  max-width: 290px;
  height: 100px;
  max-height: 100px;
  object-fit: contain;
  object-position: left center;
}
.lcs-next-action { justify-content: flex-start; padding: 0; }
.lcs-next-action .lcs-btn { width: auto; min-width: 185px; }
.lcs-section-light { position: relative; z-index: 1; }

@media (max-width: 1450px) {
  .lcs-next { width: calc(100% - 48px); }
}
@media (max-width: 760px) {
  .lcs-hero, .lcs-hero-content { height: 320px; min-height: 320px; }
  .lcs-hero-content { padding: 0 12px 62px; }
  .lcs-hero-wordmark { width: min(100%, 700px); max-height: 220px; }
  .lcs-next { width: calc(100% - 24px); margin-top: -56px; }
  .lcs-next:before { clip-path: polygon(0 0,100% 0,94% 100%,0 100%); }
  .lcs-next-inner {
    grid-template-columns: 78px minmax(0,1fr);
    column-gap: 12px;
    row-gap: 8px;
    padding: 34px 20px 12px 10px;
  }
  .lcs-next-main img.lcs-event-art { max-width: 240px; height: 78px; }
  .lcs-next-action { grid-column: 2; padding: 0; }
}
@media (max-width: 520px) {
  .lcs-hero, .lcs-hero-content { height: 265px; min-height: 265px; }
  .lcs-hero-content { padding-bottom: 48px; }
  .lcs-hero-wordmark { max-height: 175px; }
  .lcs-next { margin-top: -42px; }
  .lcs-next-inner { grid-template-columns: 65px minmax(0,1fr); padding: 34px 12px 12px 8px; }
  .lcs-next-main img.lcs-event-art { height: 65px; }
  .lcs-next-action { grid-column: 1 / -1; padding-left: 65px; }
}


/* v1.2.9 — event banner graphics, aligned content, full-bleed layered panel */
.lcs-hero { height:470px!important; min-height:470px!important; position:relative; z-index:1; overflow:hidden; }
.lcs-hero-content { height:100%!important; min-height:470px!important; padding-bottom:78px!important; }
.lcs-hero-wordmark { transform:rotate(0deg)!important; width:min(100%,930px)!important; max-height:300px!important; object-position:left center!important; }
.lcs-next { position:relative!important; z-index:5!important; width:100%!important; margin:-82px 0 0!important; padding:0!important; border:0!important; min-height:164px; background:transparent!important; overflow:visible!important; }
.lcs-next:before {
 content:""; position:absolute; inset:0; z-index:0;
 background:linear-gradient(to bottom,#ed1c24 0 3px,transparent 3px calc(100% - 3px),#ed1c24 calc(100% - 3px) 100%),radial-gradient(rgba(255,255,255,.055) .7px,transparent .7px),linear-gradient(105deg,#070809 0%,#111214 80%,#08090b 100%);
 background-size:auto,5px 5px,auto; clip-path:polygon(0 0,91% 0,96% 100%,0 100%);
}
.lcs-next:after { display:none!important; }
.lcs-next-label { position:absolute!important; top:0!important; left:0!important; z-index:6!important; width:279px!important; min-width:0!important; height:35px!important; padding:0!important; background:transparent!important; clip-path:none!important; }
.lcs-next-label img { display:block; width:279px; height:35px; object-fit:contain; }
.lcs-next-inner { position:relative!important; z-index:2!important; width:min(100%,1295px)!important; margin:0 auto!important; padding:42px 0 10px!important; min-height:164px!important; grid-template-columns:105px minmax(0,1fr)!important; gap:16px!important; align-items:center!important; }
.lcs-date-box { min-height:80px!important; height:80px; margin:0!important; border:1px solid #ed1c24!important; display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:center!important; gap:2px!important; }
.lcs-date-box .day-name { font-size:13px!important; line-height:1!important; }
.lcs-date-box .date-inline { display:flex; flex-direction:row; align-items:baseline; justify-content:center; gap:6px; line-height:1; }
.lcs-date-box .month { font-size:18px!important; line-height:1!important; color:#fff!important; }
.lcs-date-box .day { font-size:32px!important; line-height:1!important; }
.lcs-next-main { min-width:0!important; padding:0!important; display:grid!important; grid-template-columns:minmax(180px,270px) minmax(160px,230px)!important; grid-template-rows:auto auto!important; column-gap:18px!important; row-gap:4px!important; align-items:center!important; }
.lcs-next-event-copy { grid-column:1; grid-row:1; align-self:end; }
.lcs-next-event-copy h2 { margin:0!important; color:#fff!important; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important; font-size:clamp(22px,2vw,30px)!important; line-height:1!important; text-transform:uppercase!important; }
.lcs-next-main img.lcs-event-art { grid-column:1; grid-row:2; display:block; width:100%!important; max-width:270px!important; height:70px!important; max-height:70px!important; object-fit:contain!important; object-position:left center!important; transform:rotate(-4deg)!important; transform-origin:center center!important; }
.lcs-next-main .lcs-next-action { grid-column:2; grid-row:2; display:flex!important; justify-content:flex-end!important; align-items:flex-end!important; align-self:stretch!important; padding:0 0 5px!important; }
.lcs-next-action .lcs-btn { min-width:175px; white-space:nowrap; }
.lcs-section-title .lcs-upcoming-heading-art { display:block; width:min(100%,374px); height:auto; max-height:118px; object-fit:contain; object-position:left center; }
.lcs-section-title h2 { display:none; }
@media(max-width:1350px) { .lcs-next-inner { width:calc(100% - 44px)!important; } }
@media(max-width:760px) {
 .lcs-hero,.lcs-hero-content { height:340px!important; min-height:340px!important; }
 .lcs-hero-content { padding-bottom:58px!important; }
 .lcs-hero-wordmark { width:min(100%,700px)!important; max-height:220px!important; }
 .lcs-next { margin-top:-60px!important; }
 .lcs-next:before { clip-path:polygon(0 0,94% 0,100% 100%,0 100%); }
 .lcs-next-inner { width:calc(100% - 24px)!important; grid-template-columns:78px minmax(0,1fr)!important; padding-top:38px!important; gap:12px!important; }
 .lcs-date-box { height:76px; min-height:76px!important; }
 .lcs-next-main { grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto auto auto!important; row-gap:4px!important; }
 .lcs-next-event-copy { grid-column:1; grid-row:1; }
 .lcs-next-main img.lcs-event-art { grid-column:1; grid-row:2; height:60px!important; max-height:60px!important; }
 .lcs-next-main .lcs-next-action { grid-column:1; grid-row:3; justify-content:flex-start!important; padding:0!important; }
 .lcs-next-action .lcs-btn { min-width:0; }
}
@media(max-width:520px) {
 .lcs-hero,.lcs-hero-content { height:290px!important; min-height:290px!important; }
 .lcs-hero-wordmark { max-height:175px!important; }
 .lcs-next-label,.lcs-next-label img { width:225px!important; height:auto!important; }
 .lcs-next { margin-top:-44px!important; }
 .lcs-next-inner { grid-template-columns:64px minmax(0,1fr)!important; padding-top:32px!important; }
 .lcs-date-box .month { font-size:14px!important; }
 .lcs-date-box .day { font-size:27px!important; }
 .lcs-next-event-copy h2 { font-size:20px!important; }
}


/* v1.2.9 — align Next Event graphic with Upcoming Events; show class and payout info */
.lcs-next-label {
  left: max(calc((100vw - var(--lcs-max)) / 2), 20px) !important;
  width: min(374px, calc(100vw - 40px)) !important;
  height: auto !important;
}
.lcs-next-label img { display:block; width:100%!important; height:auto!important; max-height:none!important; object-fit:contain; }
.lcs-section-title .lcs-upcoming-heading-art { width:min(374px,calc(100vw - 40px))!important; max-height:none!important; height:auto!important; }
.lcs-next-event-copy { display:flex!important; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:4px; min-height:0; }
.lcs-next-small-heading { display:block; color:#ed1c24; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; font-size:13px; line-height:1; text-transform:uppercase; letter-spacing:.04em; }
.lcs-next-class-list,.lcs-next-payout-list { display:block; color:#fff; font-size:15px; font-weight:800; line-height:1.2; }
.lcs-next-classes,.lcs-next-payouts { display:block; }
.lcs-next-payouts { margin-top:3px; }
.lcs-next-main { grid-template-rows:auto auto!important; }
.lcs-next-main img.lcs-event-art { grid-row:2!important; }
.lcs-next-main .lcs-next-action { grid-row:2!important; }
@media(max-width:760px) {
 .lcs-next-label { left:12px!important; width:min(374px,calc(100vw - 24px))!important; }
 .lcs-next-event-copy { gap:3px; }
 .lcs-next-class-list,.lcs-next-payout-list { font-size:13px; }
}


/* v1.2.9 — remove decorative red hatch lines and clarify Next Event layout */
.lcs-next-label:after { display:none!important; content:none!important; }
.lcs-next-label {
  left:max(calc((100vw - 1430px)/2),20px)!important;
  width:min(374px,calc(100vw - 40px))!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  clip-path:none!important;
}
.lcs-next-label img { display:block; width:100%!important; height:auto!important; max-height:none!important; object-fit:contain; }
.lcs-next-inner {
  width:min(100% - 40px,1430px)!important;
  margin:0 auto!important;
  padding:42px 0 12px!important;
  min-height:168px!important;
  display:grid!important;
  grid-template-columns:100px 210px minmax(260px,1fr) 220px!important;
  gap:22px!important;
  align-items:center!important;
}
.lcs-date-box {
  width:90px!important;
  height:88px!important;
  min-height:88px!important;
  padding:7px 5px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid #ed1c24!important;
  background:rgba(0,0,0,.25)!important;
  box-sizing:border-box!important;
}
.lcs-date-box .day-name {
  display:block!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.04em;
}
.lcs-date-box .date-inline { display:flex!important; flex-direction:row!important; align-items:baseline!important; justify-content:center!important; gap:7px!important; white-space:nowrap!important; }
.lcs-date-box .month { font-size:19px!important; font-weight:700!important; line-height:1!important; }
.lcs-date-box .day { font-size:32px!important; font-weight:800!important; line-height:1!important; }
.lcs-next-inner > img.lcs-event-art {
  display:block!important;
  width:100%!important;
  max-width:210px!important;
  height:118px!important;
  max-height:118px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:rotate(-4deg)!important;
  transform-origin:center center!important;
  margin:0!important;
  background:transparent!important;
}
.lcs-next-event-copy {
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
}
.lcs-next-small-heading {
  display:block!important;
  margin:0 0 3px!important;
  color:#ed1c24!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.lcs-next-class-list,.lcs-next-payout-list {
  display:block!important;
  color:#f2f2f2!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:400!important;
}
.lcs-next-classes,.lcs-next-payouts { display:block!important; }
.lcs-next-action {
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  align-self:stretch!important;
  padding:0!important;
  margin:0!important;
}
.lcs-next-action .lcs-btn {
  width:auto!important;
  max-width:none!important;
  min-width:185px!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
@media(max-width:1050px) {
  .lcs-next-inner { grid-template-columns:90px 170px minmax(220px,1fr) 190px!important; gap:14px!important; }
  .lcs-next-inner > img.lcs-event-art { max-width:170px!important; height:100px!important; }
  .lcs-next-action .lcs-btn { min-width:165px!important; font-size:14px!important; }
}
@media(max-width:760px) {
  .lcs-next-label { left:12px!important; width:min(374px,calc(100vw - 24px))!important; }
  .lcs-next-inner {
    width:calc(100% - 24px)!important;
    grid-template-columns:76px 125px minmax(0,1fr)!important;
    padding:42px 0 12px!important;
    gap:10px!important;
  }
  .lcs-date-box { width:76px!important; height:80px!important; min-height:80px!important; }
  .lcs-date-box .month { font-size:15px!important; }
  .lcs-date-box .day { font-size:27px!important; }
  .lcs-next-inner > img.lcs-event-art { max-width:125px!important; height:90px!important; }
  .lcs-next-class-list,.lcs-next-payout-list { font-size:13px!important; }
  .lcs-next-action { grid-column:3!important; justify-content:flex-end!important; padding-top:8px!important; }
}
@media(max-width:520px) {
  .lcs-next-inner { grid-template-columns:66px minmax(0,1fr)!important; gap:10px!important; }
  .lcs-date-box { width:66px!important; height:76px!important; min-height:76px!important; }
  .lcs-date-box .day-name { font-size:12px!important; }
  .lcs-date-box .month { font-size:14px!important; }
  .lcs-date-box .day { font-size:25px!important; }
  .lcs-next-inner > img.lcs-event-art { grid-column:2!important; grid-row:1!important; justify-self:start; width:150px!important; max-width:150px!important; height:75px!important; }
  .lcs-next-event-copy { grid-column:1/-1!important; grid-row:2!important; }
  .lcs-next-action { grid-column:1/-1!important; grid-row:3!important; justify-content:flex-end!important; }
}


/* v1.2.9 — compact date block and professional information column beside event logo */
.lcs-next-inner {
  grid-template-columns:100px 220px minmax(280px,1fr) 220px!important;
  column-gap:22px!important;
  row-gap:12px!important;
  align-items:center!important;
}
.lcs-date-box {
  width:90px!important;
  height:86px!important;
  min-height:86px!important;
  box-sizing:border-box!important;
  border:1px solid #ed1c24!important;
  padding:8px 5px!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr!important;
  align-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  gap:3px!important;
  overflow:hidden!important;
}
.lcs-date-box .day-name {
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.lcs-date-box .month {
  display:block!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.lcs-date-box .day {
  display:block!important;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
  font-size:35px!important;
  font-weight:400!important;
  line-height:.95!important;
}
.lcs-next-inner > img.lcs-event-art {
  width:220px!important;
  max-width:220px!important;
  height:115px!important;
  max-height:115px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:rotate(-4deg)!important;
  margin:0!important;
}
.lcs-next-event-copy {
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;
  justify-content:start!important;
  gap:10px!important;
  padding:0!important;
}
.lcs-next-classes,.lcs-next-payouts {
  width:100%!important;
  border-left:2px solid #ed1c24!important;
  padding-left:12px!important;
  box-sizing:border-box!important;
}
.lcs-next-small-heading {
  color:#ed1c24!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  line-height:1.2!important;
  margin-bottom:5px!important;
}
.lcs-next-class-list,.lcs-next-payout-list {
  color:#f1f1f1!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
.lcs-next-action {
  justify-content:flex-end!important;
  align-items:center!important;
  padding:0!important;
  min-width:0!important;
}
@media(max-width:1050px) {
  .lcs-next-inner { grid-template-columns:90px 170px minmax(220px,1fr) 190px!important; column-gap:14px!important; }
  .lcs-next-inner > img.lcs-event-art { width:170px!important; max-width:170px!important; height:100px!important; }
}
@media(max-width:760px) {
  .lcs-next-inner {
    grid-template-columns:78px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:12px!important;
  }
  .lcs-date-box { grid-column:1!important; grid-row:1!important; width:76px!important; height:82px!important; min-height:82px!important; }
  .lcs-next-inner > img.lcs-event-art { grid-column:2!important; grid-row:1!important; width:160px!important; max-width:160px!important; height:82px!important; justify-self:start!important; }
  .lcs-next-event-copy { grid-column:1/-1!important; grid-row:2!important; }
  .lcs-next-action { grid-column:1/-1!important; grid-row:3!important; justify-content:flex-end!important; }
}


/* v1.2.9 — full-width Next Event panel with reduced vertical height */
.lcs-next {
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  min-height:138px!important;
  height:auto!important;
  box-sizing:border-box!important;
}
.lcs-next:before {
  inset:0!important;
  width:100%!important;
  clip-path:none!important;
  border-top:3px solid #ed1c24!important;
  border-bottom:3px solid #ed1c24!important;
  box-sizing:border-box!important;
}
.lcs-next-inner {
  width:min(100% - 40px,1430px)!important;
  min-height:138px!important;
  padding:38px 0 8px!important;
  grid-template-columns:90px 190px minmax(260px,1fr) 220px!important;
  column-gap:18px!important;
  row-gap:8px!important;
}
.lcs-date-box {
  width:84px!important;
  height:76px!important;
  min-height:76px!important;
}
.lcs-next-inner > img.lcs-event-art {
  width:190px!important;
  max-width:190px!important;
  height:96px!important;
  max-height:96px!important;
}
.lcs-next-event-copy { gap:6px!important; }
.lcs-next-classes,.lcs-next-payouts { padding-left:10px!important; }
.lcs-next-small-heading { margin-bottom:3px!important; }
.lcs-next-class-list,.lcs-next-payout-list { line-height:1.35!important; }
@media(max-width:1050px) {
  .lcs-next-inner {
    grid-template-columns:82px 160px minmax(210px,1fr) 185px!important;
    min-height:138px!important;
    padding-top:38px!important;
  }
  .lcs-next-inner > img.lcs-event-art {
    width:160px!important;
    max-width:160px!important;
    height:88px!important;
  }
}
@media(max-width:760px) {
  .lcs-next { min-height:0!important; }
  .lcs-next-inner {
    width:calc(100% - 24px)!important;
    min-height:0!important;
    padding:38px 0 12px!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
  }
  .lcs-date-box { width:76px!important; height:76px!important; min-height:76px!important; }
  .lcs-next-inner > img.lcs-event-art {
    width:150px!important;
    max-width:150px!important;
    height:76px!important;
    max-height:76px!important;
  }
}


/* v1.2.9 — use event artwork or Lake Cumberland Speedway branding in schedule rows */
.lcs-schedule-row {
  display:grid!important;
  grid-template-columns:105px 185px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
}
.lcs-schedule-event-logo {
  width:185px;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.lcs-schedule-event-logo img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
.lcs-schedule-event-info { min-width:0; }
@media(max-width:760px) {
  .lcs-schedule-row {
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .lcs-schedule-event-logo {
    grid-column:2;
    grid-row:1;
    width:150px;
    height:72px;
  }
  .lcs-schedule-event-info { grid-column:1/-1; }
  .lcs-schedule-row > .lcs-btn { grid-column:1/-1; justify-self:end; }
}


/* =========================================================
   LCS v1.3.0 — Clean modern racing homepage event sections
   ========================================================= */
.lcs-next-redesign {
  position:relative;
  isolation:isolate;
  width:100%;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(105deg,rgba(4,6,9,.98) 0%,rgba(8,10,14,.96) 60%,rgba(4,6,9,.98) 100%);
  border-top:2px solid #ed1c24;
  border-bottom:2px solid #ed1c24;
}
.lcs-next-redesign:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.22;
  background:
    linear-gradient(115deg,transparent 0 8%,rgba(237,28,36,.45) 8.2%,transparent 8.8% 10%,rgba(255,255,255,.08) 10.2%,transparent 11%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px);
  pointer-events:none;
}
.lcs-next-redesign .lcs-next-inner {
  width:min(100% - 48px,1480px)!important;
  min-height:188px!important;
  margin:0 auto!important;
  padding:22px 0!important;
  display:grid!important;
  grid-template-columns:minmax(230px,1.05fr) 104px 250px minmax(300px,1.5fr) 220px!important;
  gap:22px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.lcs-next-kicker {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;
  font-size:clamp(38px,4.1vw,66px);
  font-style:italic;
  font-weight:900;
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.lcs-next-kicker span { color:#f5f5f5; }
.lcs-next-kicker strong { color:#ed1c24; font-weight:900; }
.lcs-next-redesign .lcs-date-box {
  width:100px!important;
  height:142px!important;
  min-height:142px!important;
  padding:10px 6px!important;
  border:1px solid rgba(237,28,36,.9)!important;
  border-radius:3px;
  background:linear-gradient(180deg,rgba(237,28,36,.12),rgba(0,0,0,.35))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:2px!important;
  box-sizing:border-box!important;
}
.lcs-next-redesign .lcs-date-box .month {
  color:#f4f4f4!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.08em;
}
.lcs-next-redesign .lcs-date-box .day {
  color:#fff!important;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
  font-size:68px!important;
  font-weight:400!important;
  line-height:.95!important;
}
.lcs-next-redesign .lcs-date-box .day-name {
  color:#ed1c24!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.lcs-next-art-wrap {
  min-width:0;
  height:142px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border-right:1px solid rgba(237,28,36,.65);
}
.lcs-next-redesign .lcs-event-art {
  display:block!important;
  width:100%!important;
  max-width:245px!important;
  height:130px!important;
  max-height:130px!important;
  object-fit:contain!important;
  transform:none!important;
  margin:0!important;
}
.lcs-next-redesign .lcs-next-event-copy {
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:9px!important;
}
.lcs-next-redesign .lcs-next-event-copy h2 {
  margin:0!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(20px,2vw,29px)!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-transform:uppercase!important;
  letter-spacing:-.02em;
}
.lcs-next-redesign .lcs-next-classes,
.lcs-next-redesign .lcs-next-payouts {
  width:100%!important;
  padding:0!important;
  border:0!important;
}
.lcs-next-redesign .lcs-next-small-heading {
  display:block!important;
  margin:0 0 4px!important;
  color:#ed1c24!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.lcs-next-redesign .lcs-next-class-list,
.lcs-next-redesign .lcs-next-payout-list {
  display:block!important;
  color:#e5e7eb!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.lcs-next-redesign .lcs-next-action {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0!important;
  margin:0!important;
}
.lcs-next-redesign .lcs-next-action .lcs-btn {
  min-width:205px;
  padding:16px 18px!important;
  justify-content:center;
  white-space:nowrap;
  font-size:14px;
}
.lcs-upcoming-racing {
  position:relative;
  overflow:hidden;
  padding:38px 0 46px!important;
  color:#fff!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(70,75,82,.22),transparent 58%),
    linear-gradient(180deg,#0b0e12 0%,#101318 100%)!important;
  border-bottom:1px solid rgba(237,28,36,.45);
}
.lcs-upcoming-racing:before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.05) 18px 19px,transparent 19px 38px);
}
.lcs-upcoming-racing .lcs-container { position:relative; z-index:1; }
.lcs-upcoming-title {
  align-items:center!important;
  margin:0 0 22px!important;
}
.lcs-upcoming-title h2 {
  margin:0!important;
  color:#fff!important;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
  font-size:clamp(34px,4vw,54px)!important;
  font-style:italic;
  font-weight:900!important;
  line-height:.95!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
}
.lcs-upcoming-title h2 span { color:#f5f5f5; }
.lcs-upcoming-title h2 em { color:#ed1c24; font-style:italic; }
.lcs-upcoming-title h2:after { display:none!important; }
.lcs-upcoming-title a {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 18px;
  color:#fff!important;
  border:1px solid #ed1c24;
  background:rgba(0,0,0,.35);
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.04em;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}
.lcs-upcoming-title a:hover { background:#ed1c24; transform:translateY(-2px); }
.lcs-event-grid-redesign {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.lcs-event-card-redesign {
  position:relative!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr) 30px!important;
  align-items:center!important;
  min-height:154px!important;
  height:154px!important;
  padding:12px!important;
  overflow:hidden!important;
  border:1px solid rgba(237,28,36,.7)!important;
  border-radius:3px!important;
  background:
    linear-gradient(120deg,rgba(237,28,36,.08),transparent 34%),
    linear-gradient(180deg,#171b20,#0b0e12)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.lcs-event-card-redesign:before {
  content:"";
  position:absolute;
  top:-20%;
  right:8%;
  width:42px;
  height:150%;
  transform:skewX(-28deg);
  border-left:5px solid rgba(237,28,36,.22);
  border-right:2px solid rgba(255,255,255,.07);
  pointer-events:none;
}
.lcs-event-card-redesign:after { display:none!important; }
.lcs-event-card-redesign:hover {
  transform:translateY(-4px);
  border-color:#ed1c24!important;
  box-shadow:0 12px 28px rgba(0,0,0,.42),0 0 16px rgba(237,28,36,.16)!important;
}
.lcs-event-card-redesign .lcs-event-card-datebox {
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:126px!important;
  border:1px solid rgba(237,28,36,.75)!important;
  border-radius:2px!important;
  background:rgba(0,0,0,.48)!important;
  color:#fff!important;
  line-height:1!important;
}
.lcs-event-card-redesign .lcs-event-card-datebox span {
  color:#ed1c24!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.lcs-event-card-redesign .lcs-event-card-datebox strong {
  display:block!important;
  margin:4px 0!important;
  color:#fff!important;
  font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
  font-size:48px!important;
  font-weight:400!important;
  line-height:.9!important;
}
.lcs-event-card-redesign .lcs-event-card-datebox small {
  color:#bfc3c9!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.lcs-event-card-redesign .lcs-event-card-image {
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:126px!important;
  padding:8px!important;
  background:transparent!important;
  overflow:hidden!important;
}
.lcs-event-card-redesign .lcs-event-card-logo {
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.lcs-event-card-redesign .lcs-event-card-arrow {
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:100%!important;
  color:#fff!important;
  font-size:34px!important;
  font-weight:400!important;
  background:linear-gradient(90deg,transparent,rgba(237,28,36,.88))!important;
}
.lcs-event-card-redesign .lcs-event-card-link {
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  display:block!important;
}
.lcs-no-events { color:#d1d5db; }
@media(max-width:1100px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:minmax(180px,.9fr) 90px 190px minmax(240px,1.3fr) 185px!important;
    gap:14px!important;
  }
  .lcs-next-kicker { font-size:clamp(34px,4vw,48px); }
  .lcs-next-redesign .lcs-event-art { height:110px!important; }
  .lcs-event-grid-redesign { gap:12px!important; }
  .lcs-event-card-redesign { grid-template-columns:70px minmax(0,1fr) 24px!important; padding:9px!important; }
  .lcs-event-card-redesign .lcs-event-card-datebox { height:118px!important; }
  .lcs-event-card-redesign .lcs-event-card-image { height:118px!important; }
  .lcs-event-card-redesign .lcs-event-card-datebox strong { font-size:40px!important; }
}
@media(max-width:820px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:86px minmax(0,1fr) 180px!important;
    gap:14px!important;
    min-height:0!important;
    padding:18px 0!important;
  }
  .lcs-next-kicker { grid-column:1/-1; justify-content:flex-start; font-size:38px; }
  .lcs-next-redesign .lcs-date-box { grid-column:1; grid-row:2; width:82px!important; height:112px!important; min-height:112px!important; }
  .lcs-next-art-wrap { grid-column:2; grid-row:2; height:112px; padding:0 10px; border-right:0; }
  .lcs-next-redesign .lcs-event-art { height:105px!important; max-height:105px!important; }
  .lcs-next-redesign .lcs-next-event-copy { grid-column:3; grid-row:2; }
  .lcs-next-redesign .lcs-next-action { grid-column:1/-1; justify-content:flex-end!important; }
  .lcs-event-grid-redesign { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:560px) {
  .lcs-next-redesign .lcs-next-inner { width:calc(100% - 28px)!important; grid-template-columns:76px minmax(0,1fr)!important; gap:12px!important; }
  .lcs-next-kicker { grid-column:1/-1; font-size:34px; }
  .lcs-next-redesign .lcs-date-box { grid-column:1; grid-row:2; width:72px!important; height:98px!important; min-height:98px!important; }
  .lcs-next-redesign .lcs-date-box .day { font-size:52px!important; }
  .lcs-next-redesign .lcs-date-box .month { font-size:16px!important; }
  .lcs-next-art-wrap { grid-column:2; grid-row:2; height:98px; padding:0 6px; }
  .lcs-next-redesign .lcs-event-art { height:92px!important; max-height:92px!important; }
  .lcs-next-redesign .lcs-next-event-copy { grid-column:1/-1; grid-row:3; }
  .lcs-next-redesign .lcs-next-action { grid-column:1/-1; grid-row:4; justify-content:stretch!important; }
  .lcs-next-redesign .lcs-next-action .lcs-btn { width:100%; }
  .lcs-upcoming-racing { padding:28px 0 34px!important; }
  .lcs-upcoming-title { align-items:flex-start!important; flex-direction:column!important; gap:14px!important; }
  .lcs-event-grid-redesign { grid-template-columns:1fr!important; gap:12px!important; }
  .lcs-event-card-redesign { min-height:126px!important; height:126px!important; grid-template-columns:72px minmax(0,1fr) 26px!important; }
  .lcs-event-card-redesign .lcs-event-card-datebox,.lcs-event-card-redesign .lcs-event-card-image { height:100px!important; }
  .lcs-event-card-redesign .lcs-event-card-datebox strong { font-size:40px!important; }
}


/* v1.3.1 — layout correction: prevent legacy Next Event rules from overlapping redesign */
.lcs-next-redesign {
  margin-top:0!important;
  margin-bottom:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2!important;
}
.lcs-next-redesign .lcs-next-inner {
  position:relative!important;
  display:grid!important;
  width:min(100% - 48px,1480px)!important;
  max-width:1480px!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:20px 0 22px!important;
  grid-template-columns:100px 245px minmax(0,1fr) 210px!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "heading heading heading heading"
    "date art info action"!important;
  gap:14px 22px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.lcs-next-redesign .lcs-next-kicker {
  grid-area:heading!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:baseline!important;
  gap:10px!important;
  margin:0!important;
  padding:0 0 2px!important;
  font-size:clamp(32px,3.2vw,48px)!important;
  line-height:.9!important;
}
.lcs-next-redesign .lcs-date-box {
  grid-area:date!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}
.lcs-next-redesign .lcs-next-art-wrap {
  grid-area:art!important;
  width:100%!important;
  min-width:0!important;
  height:132px!important;
  margin:0!important;
  padding:0 16px!important;
  border-right:1px solid rgba(237,28,36,.65)!important;
  box-sizing:border-box!important;
}
.lcs-next-redesign .lcs-event-art {
  width:100%!important;
  max-width:245px!important;
  height:124px!important;
  max-height:124px!important;
  object-fit:contain!important;
  transform:none!important;
}
.lcs-next-redesign .lcs-next-event-copy {
  grid-area:info!important;
  display:flex!important;
  min-width:0!important;
  width:100%!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}
.lcs-next-redesign .lcs-next-event-copy h2 {
  display:block!important;
  margin:0 0 2px!important;
}
.lcs-next-redesign .lcs-next-action {
  grid-area:action!important;
  display:flex!important;
  width:100%!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
}
.lcs-next-redesign .lcs-next-action .lcs-btn {
  min-width:0!important;
  width:100%!important;
  max-width:210px!important;
  box-sizing:border-box!important;
}
.lcs-upcoming-racing {
  display:block!important;
  position:relative!important;
  z-index:1!important;
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding:38px 0 46px!important;
}
.lcs-upcoming-racing .lcs-container {
  display:block!important;
  width:min(100% - 48px,1480px)!important;
  max-width:1480px!important;
  margin:0 auto!important;
}
.lcs-upcoming-racing .lcs-upcoming-title {
  display:flex!important;
  width:100%!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  gap:20px!important;
  margin:0 0 22px!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2 {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2:after { display:none!important; }
.lcs-upcoming-racing .lcs-upcoming-title a {
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
.lcs-upcoming-racing .lcs-event-grid-redesign {
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0!important;
}
.lcs-upcoming-racing .lcs-event-card-redesign {
  display:grid!important;
  min-width:0!important;
  width:100%!important;
  height:154px!important;
  min-height:154px!important;
  box-sizing:border-box!important;
}
@media(max-width:1200px) {
  .lcs-next-redesign .lcs-next-inner {
    width:calc(100% - 40px)!important;
    grid-template-columns:88px 190px minmax(0,1fr) 180px!important;
    gap:12px 14px!important;
  }
  .lcs-next-redesign .lcs-next-kicker { font-size:36px!important; }
  .lcs-next-redesign .lcs-date-box { width:84px!important; height:118px!important; min-height:118px!important; }
  .lcs-next-redesign .lcs-date-box .day { font-size:58px!important; }
  .lcs-next-redesign .lcs-next-art-wrap { height:118px!important; padding:0 10px!important; }
  .lcs-next-redesign .lcs-event-art { height:110px!important; max-height:110px!important; }
  .lcs-next-redesign .lcs-next-action .lcs-btn { max-width:180px!important; font-size:12px!important; padding:14px 10px!important; }
  .lcs-upcoming-racing .lcs-event-grid-redesign { gap:12px!important; }
  .lcs-upcoming-racing .lcs-event-card-redesign { grid-template-columns:70px minmax(0,1fr) 22px!important; }
}
@media(max-width:820px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    grid-template-areas:
      "heading heading"
      "date art"
      "info info"
      "action action"!important;
    padding:18px 0!important;
  }
  .lcs-next-redesign .lcs-next-kicker { font-size:34px!important; }
  .lcs-next-redesign .lcs-date-box { width:78px!important; height:108px!important; min-height:108px!important; }
  .lcs-next-redesign .lcs-date-box .day { font-size:52px!important; }
  .lcs-next-redesign .lcs-next-art-wrap { height:108px!important; border:0!important; }
  .lcs-next-redesign .lcs-event-art { height:102px!important; max-height:102px!important; }
  .lcs-next-redesign .lcs-next-action { justify-content:flex-start!important; }
  .lcs-upcoming-racing .lcs-event-grid-redesign { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:560px) {
  .lcs-next-redesign .lcs-next-inner,
  .lcs-upcoming-racing .lcs-container { width:calc(100% - 28px)!important; }
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .lcs-next-redesign .lcs-next-kicker { font-size:30px!important; }
  .lcs-next-redesign .lcs-date-box { width:68px!important; height:94px!important; min-height:94px!important; }
  .lcs-next-redesign .lcs-date-box .day { font-size:46px!important; }
  .lcs-next-redesign .lcs-date-box .month { font-size:15px!important; }
  .lcs-next-redesign .lcs-next-art-wrap { height:94px!important; padding:0 4px!important; }
  .lcs-next-redesign .lcs-event-art { height:90px!important; max-height:90px!important; }
  .lcs-next-redesign .lcs-next-action .lcs-btn { width:100%!important; max-width:none!important; }
  .lcs-upcoming-racing { padding:28px 0 34px!important; }
  .lcs-upcoming-racing .lcs-upcoming-title {
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  .lcs-upcoming-racing .lcs-event-grid-redesign { grid-template-columns:1fr!important; }
  .lcs-upcoming-racing .lcs-event-card-redesign { height:126px!important; min-height:126px!important; }
}


/* v1.3.2 — crisp, readable homepage section headings */
.lcs-next-redesign .lcs-next-kicker,
.lcs-upcoming-racing .lcs-upcoming-title h2 {
  font-family: "Arial Narrow", "Roboto Condensed", "Arial", sans-serif!important;
  font-style: italic!important;
  font-weight: 900!important;
  letter-spacing: -.035em!important;
  text-transform: uppercase!important;
  text-shadow: none!important;
  filter: none!important;
  -webkit-filter: none!important;
  -webkit-text-stroke: 0!important;
  paint-order: normal!important;
  opacity: 1!important;
  -webkit-font-smoothing: antialiased!important;
  -moz-osx-font-smoothing: grayscale!important;
  line-height: 1!important;
}
.lcs-next-redesign .lcs-next-kicker {
  font-size: clamp(32px,3.2vw,46px)!important;
  color:#fff!important;
  text-shadow:none!important;
}
.lcs-next-redesign .lcs-next-kicker span,
.lcs-next-redesign .lcs-next-kicker strong {
  text-shadow:none!important;
  filter:none!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2 {
  font-size: clamp(32px,3.5vw,46px)!important;
  color:#fff!important;
  text-shadow:none!important;
  filter:none!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2 span,
.lcs-upcoming-racing .lcs-upcoming-title h2 strong {
  text-shadow:none!important;
  filter:none!important;
}


/* v1.3.3 — scroll-triggered red sweep behind upcoming event logos */
.lcs-event-card-redesign .lcs-event-card-image {
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
}
.lcs-event-card-redesign .lcs-event-card-image:before {
  content:"";
  position:absolute;
  z-index:0;
  top:-24%;
  bottom:-24%;
  right:-24%;
  width:28%;
  opacity:0;
  transform:translateX(125%) skewX(-18deg);
  background:linear-gradient(90deg,
    rgba(237,28,36,0) 0%,
    rgba(237,28,36,.18) 22%,
    rgba(237,28,36,.92) 54%,
    rgba(255,52,60,.52) 72%,
    rgba(237,28,36,0) 100%);
  box-shadow:0 0 22px rgba(237,28,36,.28);
  pointer-events:none;
}
.lcs-event-card-redesign .lcs-event-card-logo {
  position:relative!important;
  z-index:1!important;
}
.lcs-event-card-redesign:hover .lcs-event-card-image:before,
.lcs-event-card-redesign:focus-within .lcs-event-card-image:before {
  animation:lcs-red-logo-sweep 1.05s cubic-bezier(.2,.72,.25,1) both;
}
@keyframes lcs-red-logo-sweep {
  0% { opacity:0; transform:translateX(125%) skewX(-18deg); }
  18% { opacity:1; }
  68% { opacity:.82; }
  100% { opacity:.42; transform:translateX(-165%) skewX(-18deg); }
}
@media(prefers-reduced-motion:reduce) {
  .lcs-event-card-redesign:hover .lcs-event-card-image:before,
  .lcs-event-card-redesign:focus-within .lcs-event-card-image:before {
    animation:none!important;
    opacity:.45!important;
    transform:translateX(0) skewX(-18deg)!important;
  }
}


/* v1.3.4 — trigger the red racing sweep when the pointer hovers an event card */
.lcs-event-card-redesign .lcs-event-card-image:before {
  transition:opacity .18s ease;
}
.lcs-event-card-redesign:hover .lcs-event-card-image:before,
.lcs-event-card-redesign:focus-within .lcs-event-card-image:before {
  animation:lcs-red-logo-sweep 1.05s cubic-bezier(.2,.72,.25,1) both;
}


/* v1.3.5 — larger event artwork, one-line Next Race row, light grunge Upcoming Events */
.lcs-next-redesign .lcs-next-inner {
  grid-template-columns:112px minmax(270px,330px) minmax(280px,1fr) 220px!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "heading heading heading heading"
    "date art info action"!important;
  column-gap:24px!important;
  row-gap:12px!important;
  align-items:center!important;
}
.lcs-next-redesign .lcs-next-art-wrap {
  height:156px!important;
  min-height:156px!important;
  padding:0 14px!important;
  border-right:1px solid rgba(237,28,36,.65)!important;
}
.lcs-next-redesign .lcs-event-art {
  width:100%!important;
  max-width:320px!important;
  height:150px!important;
  max-height:150px!important;
  object-fit:contain!important;
  transform:scale(1.12)!important;
  transform-origin:center center!important;
}
.lcs-next-redesign .lcs-date-box {
  width:104px!important;
  height:146px!important;
  min-height:146px!important;
}
.lcs-next-redesign .lcs-next-event-copy {
  align-self:center!important;
}
.lcs-next-redesign .lcs-next-action {
  align-self:center!important;
}
.lcs-upcoming-racing {
  color:#111!important;
  background-color:#efefed!important;
  background-image:
    radial-gradient(circle at 15% 22%,rgba(0,0,0,.055) 0 .7px,transparent .9px),
    radial-gradient(circle at 78% 64%,rgba(0,0,0,.045) 0 .8px,transparent 1px),
    radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.96),rgba(235,235,232,.88) 68%,rgba(222,222,219,.92)),
    repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 1px,transparent 1px 4px)!important;
  background-size:7px 7px,9px 9px,auto,auto!important;
  border-top:1px solid rgba(0,0,0,.1)!important;
  border-bottom:1px solid rgba(0,0,0,.16)!important;
}
.lcs-upcoming-racing:before {
  opacity:.26!important;
  background:
    repeating-linear-gradient(135deg,transparent 0 21px,rgba(0,0,0,.055) 21px 22px,transparent 22px 43px),
    radial-gradient(ellipse at 12% 30%,rgba(0,0,0,.08),transparent 30%),
    radial-gradient(ellipse at 90% 75%,rgba(0,0,0,.07),transparent 32%)!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2 {
  color:#111!important;
  text-shadow:none!important;
}
.lcs-upcoming-racing .lcs-upcoming-title h2 span { color:#111!important; }
.lcs-upcoming-racing .lcs-upcoming-title h2 em { color:#ed1c24!important; }
.lcs-upcoming-racing .lcs-upcoming-title a {
  color:#111!important;
  background:rgba(255,255,255,.55)!important;
  border-color:#ed1c24!important;
}
.lcs-upcoming-racing .lcs-upcoming-title a:hover {
  color:#fff!important;
  background:#ed1c24!important;
}
.lcs-event-card-redesign .lcs-event-card-image {
  padding:4px!important;
}
.lcs-event-card-redesign .lcs-event-card-logo {
  transform:scale(1.16)!important;
  transform-origin:center center!important;
  transition:transform .28s ease!important;
}
.lcs-event-card-redesign:hover .lcs-event-card-logo {
  transform:scale(1.24)!important;
}
@media(max-width:1200px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:92px minmax(210px,250px) minmax(220px,1fr) 180px!important;
    column-gap:14px!important;
  }
  .lcs-next-redesign .lcs-next-art-wrap { height:130px!important; min-height:130px!important; }
  .lcs-next-redesign .lcs-event-art { height:124px!important; max-height:124px!important; }
}
@media(max-width:820px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    grid-template-areas:"heading heading" "date art" "info info" "action action"!important;
    gap:12px!important;
  }
  .lcs-next-redesign .lcs-next-art-wrap {
    height:112px!important;
    min-height:112px!important;
    border:0!important;
  }
  .lcs-next-redesign .lcs-event-art {
    height:108px!important;
    max-height:108px!important;
    transform:scale(1.1)!important;
  }
}
@media(max-width:560px) {
  .lcs-next-redesign .lcs-next-art-wrap { height:96px!important; min-height:96px!important; }
  .lcs-next-redesign .lcs-event-art { height:92px!important; max-height:92px!important; }
  .lcs-event-card-redesign .lcs-event-card-logo { transform:scale(1.1)!important; }
}


/* v1.3.6 — slight event-logo angle and evenly distributed Next Race row */
.lcs-event-card-redesign .lcs-event-card-logo {
  transform:rotate(-4deg) scale(1.12)!important;
  transform-origin:center center!important;
}
.lcs-event-card-redesign:hover .lcs-event-card-logo {
  transform:rotate(-4deg) scale(1.2)!important;
}
.lcs-next-redesign .lcs-next-inner {
  grid-template-columns:
    minmax(104px, .8fr)
    minmax(250px, 1.25fr)
    minmax(0, 1.4fr)
    minmax(250px, 1.35fr)!important;
  column-gap:clamp(20px,2.5vw,42px)!important;
  justify-content:space-between!important;
}
.lcs-next-redesign .lcs-date-box {
  justify-self:center!important;
}
.lcs-next-redesign .lcs-next-art-wrap {
  justify-self:stretch!important;
  width:100%!important;
  padding:0 clamp(12px,1.4vw,24px)!important;
  border-right:1px solid rgba(237,28,36,.8)!important;
}
.lcs-next-redesign .lcs-next-event-copy {
  justify-self:stretch!important;
  width:100%!important;
  padding-left:clamp(4px,1vw,16px)!important;
}
.lcs-next-redesign .lcs-next-action {
  justify-self:stretch!important;
  justify-content:center!important;
  width:100%!important;
}
.lcs-next-redesign .lcs-next-action .lcs-btn {
  width:min(100%,230px)!important;
  max-width:230px!important;
}
@media(max-width:1200px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:90px minmax(200px,1fr) minmax(220px,1.25fr) minmax(180px,.9fr)!important;
    column-gap:16px!important;
  }
}
@media(max-width:820px) {
  .lcs-next-redesign .lcs-next-inner {
    grid-template-columns:82px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  .lcs-next-redesign .lcs-date-box { justify-self:start!important; }
  .lcs-next-redesign .lcs-next-art-wrap { justify-self:stretch!important; }
  .lcs-next-redesign .lcs-next-event-copy { padding-left:0!important; }
  .lcs-next-redesign .lcs-next-action { justify-content:flex-start!important; }
}
@media(max-width:560px) {
  .lcs-event-card-redesign .lcs-event-card-logo {
    transform:rotate(-4deg) scale(1.08)!important;
  }
  .lcs-next-redesign .lcs-next-action { justify-content:stretch!important; }
  .lcs-next-redesign .lcs-next-action .lcs-btn { width:100%!important; max-width:none!important; }
}


/* v1.3.8 — redesigned individual event details page */
.lcs-event-page{
    background:#111317;
    color:#f7f7f7;
    padding:58px 0 76px;
}
.lcs-event-page-container{
    width:min(1180px, calc(100% - 44px));
    margin:0 auto;
}
.lcs-event-heading{
    text-align:center;
    margin:0 auto 30px;
}
.lcs-event-date{
    margin:0 0 7px;
    color:#ef343b;
    font-size:clamp(15px,1.7vw,20px);
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.lcs-event-heading h1{
    color:#fff;
    font-size:clamp(34px,5vw,58px);
    line-height:1.04;
    font-weight:950;
    letter-spacing:.015em;
    text-transform:uppercase;
    margin:0;
    text-shadow:none;
}
.lcs-event-heading-rule{
    display:block;
    width:100px;
    height:4px;
    margin:20px auto 0;
    background:#d92730;
}
.lcs-event-status{
    display:inline-block;
    margin:18px 0 0;
    padding:9px 16px;
    font-weight:900;
    letter-spacing:.07em;
    background:#292d33;
    border-left:4px solid #e2a52b;
}
.lcs-event-status-cancelled{border-color:#d92730;}
.lcs-event-artwork{
    display:grid;
    grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
    gap:30px;
    align-items:center;
    margin:0 0 38px;
    padding:28px;
    background:linear-gradient(135deg,#202329 0%,#17191e 100%);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.lcs-event-artwork-logo{
    min-width:0;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:18px;
}
.lcs-event-logo-image{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:260px;
    object-fit:contain;
}
.lcs-event-artwork-flyer{min-width:0;}
.lcs-event-flyer-link{
    display:block;
    position:relative;
    max-width:100%;
    text-align:center;
}
.lcs-event-flyer-image{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:560px;
    margin:0 auto;
    object-fit:contain;
    box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.lcs-event-flyer-hint{
    display:inline-block;
    margin-top:9px;
    color:#c6c8cc;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
}
.lcs-event-info-section{
    margin:28px 0 0;
    padding:28px 30px 30px;
    background:#f2f2f0;
    color:#17191d;
    border-top:4px solid #d92730;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.lcs-event-section-heading{margin:0 0 20px;}
.lcs-event-section-heading>span{
    display:block;
    margin-bottom:5px;
    color:#c3232c;
    font-size:10px;
    font-weight:950;
    letter-spacing:.19em;
}
.lcs-event-section-heading h2{
    margin:0;
    color:#17191d;
    font-size:clamp(23px,3vw,31px);
    line-height:1.1;
    font-weight:950;
    text-transform:uppercase;
}
.lcs-event-times-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.lcs-event-time-item{
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    padding:15px;
    background:#fff;
    border:1px solid #dedede;
    border-left:3px solid #d92730;
}
.lcs-event-time-item span{
    color:#5e6269;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lcs-event-time-item strong{
    color:#17191d;
    font-size:clamp(17px,2vw,22px);
    font-weight:950;
}
.lcs-event-classes-list{
    display:grid;
    gap:9px;
}
.lcs-event-class-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 18px;
    background:#fff;
    border:1px solid #dedede;
    border-left:3px solid #d92730;
}
.lcs-event-class-row h3{
    margin:0;
    color:#17191d;
    font-size:17px;
    line-height:1.2;
    font-weight:950;
    text-transform:uppercase;
}
.lcs-event-class-details{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px 24px;
    text-align:right;
}
.lcs-event-class-details>span{
    color:#17191d;
    font-size:15px;
    font-weight:850;
}
.lcs-event-class-details>span b{
    display:block;
    margin-bottom:2px;
    color:#777b81;
    font-size:9px;
    font-weight:950;
    letter-spacing:.12em;
}
.lcs-event-class-details .lcs-event-class-note{
    max-width:300px;
    color:#555a61;
    font-size:13px;
    font-weight:600;
}
.lcs-event-description{
    color:#30343a;
    font-size:16px;
    line-height:1.7;
}
.lcs-event-description>*:last-child{margin-bottom:0;}
.lcs-event-admission-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.lcs-event-admission-item{
    padding:20px;
    background:#fff;
    border:1px solid #dedede;
}
.lcs-event-admission-item h3{
    margin:0 0 9px;
    color:#17191d;
    font-size:16px;
    font-weight:950;
    text-transform:uppercase;
}
.lcs-event-admission-item p{
    margin:0;
    color:#3e4248;
    line-height:1.6;
}
.lcs-event-post-content{background:#fff;}
.lcs-event-back-link{
    margin-top:30px;
    text-align:center;
}
.lcs-event-back-link a{
    display:inline-block;
    padding:13px 22px;
    background:#d92730;
    color:#fff!important;
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
    text-decoration:none!important;
    transition:background .2s ease,transform .2s ease;
}
.lcs-event-back-link a:hover{
    background:#ad1e26;
    transform:translateY(-2px);
}
@media(max-width:800px){
    .lcs-event-artwork{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;padding:18px;}
    .lcs-event-logo-image{max-height:210px;}
    .lcs-event-times-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
    .lcs-event-page{padding:38px 0 54px;}
    .lcs-event-page-container{width:min(100% - 28px,1180px);}
    .lcs-event-artwork{grid-template-columns:1fr;gap:16px;padding:16px;}
    .lcs-event-artwork-logo{padding:8px;}
    .lcs-event-logo-image{max-height:155px;}
    .lcs-event-flyer-image{max-height:520px;}
    .lcs-event-info-section{padding:22px 17px;}
    .lcs-event-class-row{align-items:flex-start;flex-direction:column;gap:12px;}
    .lcs-event-class-details{justify-content:flex-start;text-align:left;}
    .lcs-event-admission-grid{grid-template-columns:1fr;}
}


/* v1.3.11 — event page series-in-attendance logos */
.lcs-event-attending-series{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #d6d6d3;
}
.lcs-event-series-heading{
    margin:0 0 15px;
    color:#6b6f75;
    font-size:10px;
    font-weight:950;
    letter-spacing:.16em;
}
.lcs-event-series-logos{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:14px;
}
.lcs-event-series-logo-item{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:140px;
    min-height:82px;
    padding:12px 16px;
    background:#fff;
    border:1px solid #dedede;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lcs-event-series-logo-item a,
.lcs-event-series-logo-item>span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}
.lcs-event-series-logo-item a:hover{
    transform:translateY(-3px);
}
.lcs-event-series-logo-item:has(a:hover){
    border-color:#d92730;
    box-shadow:0 7px 18px rgba(0,0,0,.10);
}
.lcs-event-series-logo{
    display:block;
    width:auto;
    height:auto;
    max-width:170px;
    max-height:66px;
    object-fit:contain;
}
@media(max-width:600px){
    .lcs-event-series-logos{gap:10px;}
    .lcs-event-series-logo-item{min-width:calc(50% - 5px);min-height:74px;padding:9px;}
    .lcs-event-series-logo{max-width:140px;max-height:58px;}
}


/* v1.3.12 — results-only event view */
.lcs-event-results-only{
    width:100%;
    margin:28px 0 0;
    padding:0;
    background:#fff;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 36px rgba(0,0,0,.24);
    overflow:hidden;
}
.lcs-event-results-frame{
    width:100%;
    height:1800px;
    min-height:1800px;
    background:#fff;
}
.lcs-event-results-frame iframe{
    display:block;
    width:100%;
    height:1800px!important;
    min-height:1800px;
    border:0;
    background:#fff;
}


/* v1.3.13 — align interior page and schedule typography with homepage */
.lcs-page-hero h1,
.lcs-event-heading h1,
.lcs-event-section-heading h2,
.lcs-section-title h2,
.lcs-schedule-row h3,
.lcs-schedule-date strong,
.lcs-prose h1,
.lcs-prose h2,
.lcs-prose h3,
.lcs-prose h4{
    font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;
    font-stretch:condensed;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-.02em;
}
.lcs-page-hero h1{
    font-size:clamp(48px,6.4vw,90px);
    line-height:.88;
    text-shadow:2px 3px 0 rgba(0,0,0,.25);
}
.lcs-schedule-row h3{
    font-size:clamp(23px,2.2vw,30px);
    line-height:.98;
}
.lcs-schedule-date strong{
    font-size:36px;
    line-height:.9;
    font-style:italic;
}
.lcs-schedule-date span{
    font-family:Arial,Helvetica,sans-serif;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lcs-prose h1{font-size:clamp(38px,5vw,64px);line-height:.9;}
.lcs-prose h2{font-size:clamp(30px,4vw,48px);line-height:.95;}
.lcs-prose h3{font-size:clamp(23px,3vw,34px);line-height:1;}
.lcs-schedule-row p,
.lcs-prose,
.lcs-prose p,
.lcs-prose li,
.lcs-event-page{
    font-family:Arial,Helvetica,sans-serif;
}


/* v1.3.14 — lighter homepage-style type and consistent left alignment */
.lcs-schedule-row h3{
    font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
    font-size:clamp(21px,2vw,27px)!important;
    font-weight:400!important;
    letter-spacing:0!important;
    line-height:1.02!important;
    text-shadow:none!important;
}
.lcs-schedule-date strong{
    font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif!important;
    font-weight:400!important;
    letter-spacing:0!important;
}
.lcs-page-hero .lcs-container,
.lcs-page-content > .lcs-container{
    width:min(var(--lcs-max),calc(100% - 40px));
    max-width:var(--lcs-max);
    margin-left:auto;
    margin-right:auto;
}
.lcs-page-content .lcs-prose:has(.lcs-schedule){
    max-width:var(--lcs-max);
    width:100%;
}
.lcs-next-kicker{
    justify-self:start;
    align-self:center;
    margin-left:0!important;
}
.lcs-upcoming-title{
    justify-content:flex-start!important;
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
}
.lcs-upcoming-title h2{
    margin-left:0!important;
    text-align:left!important;
}
@media(max-width:760px){
    .lcs-page-hero .lcs-container,
    .lcs-page-content > .lcs-container{
        width:calc(100% - 24px);
    }
}


/* v1.3.16 — match schedule typography to homepage NEXT RACE and use nav container width */
.lcs-schedule-row h3 {
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
    font-size: clamp(24px, 2.4vw, 38px) !important;
    line-height: .95 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    text-shadow: none !important;
}

.lcs-schedule-date strong {
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* The header navigation container defines the site's left and right content walls. */
.lcs-page-hero .lcs-container,
.lcs-page-content > .lcs-container,
.lcs-page-content .lcs-prose:has(.lcs-schedule),
.lcs-page-content .lcs-schedule {
    width: min(var(--lcs-max), calc(100% - 40px)) !important;
    max-width: var(--lcs-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.lcs-page-content .lcs-prose:has(.lcs-schedule) {
    box-sizing: border-box;
}

@media (max-width: 760px) {
    .lcs-page-hero .lcs-container,
    .lcs-page-content > .lcs-container,
    .lcs-page-content .lcs-prose:has(.lcs-schedule),
    .lcs-page-content .lcs-schedule {
        width: calc(100% - 24px) !important;
    }
}


/* v1.3.17 — schedule event titles match the homepage NEXT RACE event title */
.lcs-schedule-row h3 {
    margin: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(20px, 2vw, 29px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
}

/* Keep the schedule and page content inside the same horizontal container as navigation. */
.lcs-page-content .lcs-prose {
    box-sizing: border-box !important;
    width: min(var(--lcs-max), calc(100% - 40px)) !important;
    max-width: var(--lcs-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.lcs-page-content .lcs-prose .lcs-schedule {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 760px) {
    .lcs-page-content .lcs-prose {
        width: calc(100% - 24px) !important;
    }
}


/* v1.3.18 — target the actual RRM schedule shortcode markup.
   The Schedule page uses [rrm_schedule], not the theme's .lcs-schedule markup. */
.rrm-schedule-list .rrm-schedule-month > h2 {
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
}

.rrm-schedule-list .rrm-schedule-item .rrm-schedule-info h3,
.rrm-schedule-list .rrm-schedule-item-static .rrm-schedule-info h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(20px, 2vw, 29px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    text-transform: uppercase !important;
    color: #071b36 !important;
    margin: 0 !important;
}

.rrm-schedule-list .rrm-schedule-info .rrm-schedule-classes {
    font-family: Arial, Helvetica, sans-serif !important;
}


/* v1.3.19 — match Schedule page title and month headings to the homepage condensed display font */
.lcs-page-hero h1,
.lcs-page-hero .lcs-page-title,
.lcs-page-title,
.rrm-schedule-list .rrm-schedule-month,
.rrm-schedule-list .rrm-schedule-month h2,
.rrm-schedule-list h2.rrm-month-title,
.rrm-schedule-list .rrm-month-heading {
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    text-transform: uppercase !important;
}


/* v1.3.20 — improve schedule heading/date readability and align page title with nav */
@media (min-width: 761px) {
    .lcs-page-hero .lcs-container {
        padding-left: 85px !important;
        box-sizing: border-box !important;
    }
}

/* Keep the display character, but reduce the heavy, cramped appearance. */
.lcs-page-hero h1,
.rrm-schedule-list .rrm-schedule-month h2,
.rrm-schedule-list .rrm-schedule-month > h2 {
    font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif !important;
    font-stretch: condensed;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: 1.05 !important;
}

/* Date block: remove the extra-heavy weight, especially the large day numeral. */
.rrm-schedule-list .rrm-schedule-date {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 600 !important;
}

.rrm-schedule-list .rrm-schedule-date strong {
    font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    color: #071b36 !important;
}

.rrm-schedule-list .rrm-schedule-date .rrm-schedule-month-name,
.rrm-schedule-list .rrm-schedule-date span:last-child {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .035em !important;
}


/* v1.3.21 — remove the Schedule page title band and reclaim its vertical space */
body.page .lcs-page-hero:has(+ .lcs-page-content .rrm-schedule-list),
body.page .lcs-page-hero:has(+ .lcs-page-content .lcs-schedule) {
    display: none !important;
}

/* Fallback for themes/browsers where :has() is not available: target the page title only. */
body.page .lcs-page-hero:has(h1) {
    min-height: 0;
}

body.page .lcs-page-hero:has(+ .lcs-page-content .rrm-schedule-list) + .lcs-page-content,
body.page .lcs-page-hero:has(+ .lcs-page-content .lcs-schedule) + .lcs-page-content {
    padding-top: 34px !important;
}


/* v1.3.22 — soften schedule event-title weight for easier reading */
.rrm-schedule-list .rrm-schedule-item .rrm-schedule-info h3,
.rrm-schedule-list .rrm-schedule-item-static .rrm-schedule-info h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 600 !important;
    letter-spacing: -.015em !important;
    line-height: 1.12 !important;
    text-transform: uppercase !important;
}


/* v1.3.23 — Facebook and MyRacePass links in the upper-right navigation */
.lcs-header-inner { position:relative; }
.lcs-header-quicklinks {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex:0 0 auto;
    margin-left:18px;
    z-index:5;
}
.lcs-header-quicklink {
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition:opacity .18s ease, transform .18s ease;
}
.lcs-header-quicklink:hover { opacity:.82; transform:translateY(-1px); }
.lcs-facebook-link { width:28px; height:28px; }
.lcs-facebook-link svg { display:block; width:25px; height:25px; fill:#fff; }
.lcs-myracepass-link { gap:5px; white-space:nowrap; }
.lcs-mrp-mark {
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    border-radius:50%;
    background:#ed1c24;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    font-weight:900;
    font-style:italic;
    letter-spacing:-.7px;
    border:1px solid #fff;
}
.lcs-mrp-wordmark {
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:12px;
    font-weight:800;
    letter-spacing:-.3px;
}
@media (max-width: 1100px) {
    .lcs-header-quicklinks { gap:8px; margin-left:10px; }
    .lcs-mrp-wordmark { display:none; }
}
@media (max-width: 760px) {
    .lcs-header-quicklinks {
        position:absolute;
        top:12px;
        right:58px;
        margin:0;
        gap:9px;
    }
    .lcs-facebook-link,.lcs-facebook-link svg { width:22px; height:22px; }
    .lcs-mrp-mark { width:23px; height:23px; font-size:9px; }
}


/* v1.3.24 — improve readability across individual event detail pages */
.lcs-event-page,
.lcs-event-page p,
.lcs-event-page li,
.lcs-event-page span,
.lcs-event-page strong,
.lcs-event-page b {
    font-family: Arial, Helvetica, sans-serif !important;
}

.lcs-event-page .lcs-event-date {
    font-size: clamp(14px, 1.5vw, 18px) !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
}

.lcs-event-page .lcs-event-heading h1 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(32px, 4.2vw, 48px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
}

.lcs-event-page .lcs-event-section-heading > span {
    font-weight: 700 !important;
    letter-spacing: .14em !important;
}

.lcs-event-page .lcs-event-section-heading h2 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(21px, 2.5vw, 28px) !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
    line-height: 1.2 !important;
}

.lcs-event-page .lcs-event-time-item span {
    font-weight: 600 !important;
    letter-spacing: .045em !important;
}

.lcs-event-page .lcs-event-time-item strong {
    font-size: clamp(17px, 1.8vw, 21px) !important;
    font-weight: 600 !important;
}

.lcs-event-page .lcs-event-class-row h3,
.lcs-event-page .lcs-event-admission-item h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
}

.lcs-event-page .lcs-event-class-details > span {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.lcs-event-page .lcs-event-class-details > span b {
    font-weight: 700 !important;
}

.lcs-event-page .lcs-event-description,
.lcs-event-page .lcs-event-admission-item p {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
}

.lcs-event-page .lcs-event-status {
    font-weight: 700 !important;
}


/* v1.3.25 — social and MyRacePass icons inline after Contact at far right */
.lcs-nav-right {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:clamp(8px,1vw,16px) !important;
}
.lcs-nav-right > ul { flex:1 1 auto; min-width:0; }
.lcs-header-quicklinks {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding-left:4px;
}
.lcs-header-quicklink {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border:0 !important;
    line-height:1 !important;
}
.lcs-facebook-link, .lcs-facebook-link svg {
    width:22px !important;
    height:22px !important;
}
.lcs-facebook-link svg { fill:#fff; }
.lcs-myracepass-link img {
    display:block;
    width:64px;
    height:auto;
    max-width:none;
    object-fit:contain;
}
.lcs-header-quicklink:hover { opacity:.82; }
@media(max-width:1200px) {
    .lcs-nav-right { gap:8px !important; }
    .lcs-header-quicklinks { gap:8px !important; }
    .lcs-myracepass-link img { width:54px; }
}
@media(max-width:760px) {
    .lcs-nav-right { display:none !important; }
    .lcs-header-quicklinks {
        position:absolute !important;
        top:12px;
        right:58px;
        z-index:8;
        padding:0;
    }
    .lcs-myracepass-link img { width:52px; }
}


/* v1.3.26 — site-wide typography system
   Display headings use the same condensed racing face; supporting copy and controls
   use a consistent, readable sans-serif face. */
:root {
    --lcs-font-display: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    --lcs-font-body: Arial, Helvetica, sans-serif;
}

body,
button,
input,
textarea,
select,
.lcs-nav,
.lcs-footer,
.lcs-prose,
.rrm-schedule-list,
.lcs-event-page {
    font-family: var(--lcs-font-body) !important;
}

/* Consistent display typography across homepage, interior pages, schedules and event pages. */
h1, h2, h3, h4, h5, h6,
.lcs-hero h1,
.lcs-next-label span,
.lcs-section-title h2,
.lcs-page-hero h1,
.lcs-event-heading h1,
.lcs-event-section-heading h2,
.rrm-schedule-list .rrm-schedule-month h2,
.rrm-schedule-list .rrm-schedule-month > h2 {
    font-family: var(--lcs-font-display) !important;
    font-stretch: condensed;
}

/* Avoid overly heavy text in schedule cards and event-detail content. */
.rrm-schedule-list .rrm-schedule-item .rrm-schedule-info h3,
.rrm-schedule-list .rrm-schedule-item-static .rrm-schedule-info h3,
.lcs-event-page .lcs-event-heading h1,
.lcs-event-page .lcs-event-section-heading h2,
.lcs-event-page .lcs-event-class-row h3,
.lcs-event-page .lcs-event-admission-item h3 {
    font-family: var(--lcs-font-body) !important;
    font-weight: 600 !important;
}

/* Results/Event links should be clear, not rendered in the extra-condensed display face. */
.rrm-schedule-list a,
.rrm-schedule-list .rrm-schedule-item a,
.rrm-schedule-list .rrm-schedule-item-static a {
    font-family: var(--lcs-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .015em !important;
    line-height: 1.25 !important;
}


/* v1.3.27 — one non-condensed font family across the entire website */
:root {
    --lcs-font-display: Arial, Helvetica, sans-serif;
    --lcs-font-body: Arial, Helvetica, sans-serif;
}

/* Apply the same typeface to all page areas, including homepage hero and headings. */
html,
body,
body *,
button,
input,
textarea,
select {
    font-family: Arial, Helvetica, sans-serif !important;
    font-stretch: normal !important;
}

/* Use weight and size for hierarchy, not a different or condensed typeface. */
h1, h2, h3, h4, h5, h6,
.lcs-hero h1,
.lcs-next-label span,
.lcs-section-title h2,
.lcs-page-hero h1,
.lcs-event-heading h1,
.lcs-event-section-heading h2,
.rrm-schedule-list .rrm-schedule-month h2,
.rrm-schedule-list .rrm-schedule-month > h2,
.rrm-schedule-list .rrm-schedule-item .rrm-schedule-info h3,
.rrm-schedule-list .rrm-schedule-item-static .rrm-schedule-info h3 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-stretch: normal !important;
    letter-spacing: normal !important;
}

/* Keep homepage display headings prominent without using condensed lettering. */
.lcs-hero h1 {
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: .98 !important;
}
.lcs-next-label span,
.lcs-section-title h2,
.lcs-page-hero h1,
.rrm-schedule-list .rrm-schedule-month h2,
.rrm-schedule-list .rrm-schedule-month > h2 {
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}


/* v1.3.28 — smoother, seamless sponsor logo carousel */
.lcs-sponsor-marquee {
    background:#080a0d !important;
    color:#fff !important;
    overflow:hidden;
    padding:34px 0 38px !important;
    border-top:3px solid #ed1c24 !important;
    border-bottom:0 !important;
}
.lcs-sponsor-marquee h2 {
    margin:0 0 24px !important;
    color:#fff !important;
    text-align:center;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:clamp(24px,3vw,36px) !important;
    font-weight:800 !important;
    font-style:normal !important;
    letter-spacing:.04em !important;
}
.lcs-sponsor-marquee-viewport {
    width:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);
    mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);
}
.lcs-sponsor-marquee-track {
    display:flex !important;
    width:max-content;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:0 !important;
    margin:0 !important;
    animation:lcs-sponsor-scroll 42s linear infinite;
    will-change:transform;
}
.lcs-sponsor-marquee-group {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-around;
    gap:clamp(34px,5vw,76px);
    padding:0 clamp(17px,2.5vw,38px);
}
.lcs-sponsor-marquee-group a {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    min-width:130px;
    height:100px;
    padding:8px;
    opacity:.9;
    transition:opacity .2s ease,transform .2s ease;
}
.lcs-sponsor-marquee-group a:hover {
    opacity:1;
    transform:scale(1.06);
}
.lcs-sponsor-marquee-group img {
    display:block;
    max-width:190px !important;
    max-height:82px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain;
}
.lcs-sponsor-marquee-viewport:hover .lcs-sponsor-marquee-track {
    animation-play-state:paused;
}
.lcs-sponsor-empty {
    margin:0;
    text-align:center;
    color:#c7cbd1;
    font-size:15px;
}
@keyframes lcs-sponsor-scroll {
    from { transform:translateX(0); }
    to { transform:translateX(-50%); }
}
@media(max-width:700px) {
    .lcs-sponsor-marquee { padding:26px 0 30px !important; }
    .lcs-sponsor-marquee-group a { min-width:105px; height:82px; }
    .lcs-sponsor-marquee-group img { max-width:145px !important; max-height:65px !important; }
}
@media(prefers-reduced-motion:reduce) {
    .lcs-sponsor-marquee-track { animation:none; }
    .lcs-sponsor-marquee-viewport { overflow-x:auto; }
}


/* v1.3.29 — Media Library sponsor logos, global carousel, and sponsor directory */
.lcs-sponsor-marquee{background:#f0f0ee;color:#080a0d;overflow:hidden;padding:22px 0 26px;border-top:1px solid #d7d7d7;border-bottom:1px solid #d7d7d7}
.lcs-sponsor-marquee h2{margin:0;text-align:center;font-size:clamp(26px,4vw,48px);line-height:1.1;font-weight:700;text-transform:uppercase}
.lcs-sponsor-marquee-viewport{overflow:hidden;margin-top:16px}
.lcs-sponsor-marquee-track{display:flex;width:max-content;animation:lcs-sponsor-scroll 42s linear infinite}
.lcs-sponsor-marquee-group{display:flex;flex:0 0 auto;align-items:center;gap:48px;padding:0 24px}
.lcs-sponsor-marquee-group a,.lcs-sponsor-marquee-group span{display:flex;align-items:center;justify-content:center;min-width:125px;height:90px}
.lcs-sponsor-marquee-group img{display:block;max-width:190px;max-height:82px;width:auto;height:auto;object-fit:contain}
.lcs-sponsor-marquee-viewport:hover .lcs-sponsor-marquee-track{animation-play-state:paused}
@keyframes lcs-sponsor-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.lcs-sponsor-directory{padding:36px 0 60px}
.lcs-sponsor-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px;align-items:center}
.lcs-sponsor-directory-item{min-height:170px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #dedede;border-radius:5px}
.lcs-sponsor-directory-item a{color:inherit;text-decoration:none}
.lcs-sponsor-directory-item img{max-width:100%;width:auto;max-height:115px;object-fit:contain}
.lcs-sponsor-directory-item h3{margin:14px 0 0;font-size:16px;font-weight:600}
@media(max-width:700px){.lcs-sponsor-marquee-group{gap:28px}.lcs-sponsor-marquee-group a,.lcs-sponsor-marquee-group span{min-width:105px;height:76px}.lcs-sponsor-marquee-group img{max-width:145px;max-height:65px}}

/* v1.3.30 compatibility: ensure sponsor listing images stay within their cards */
.lcs-sponsor-directory-item img{display:block;height:auto;margin:0 auto}

/* v1.3.37 sponsor presentation refinements */
.lcs-sponsor-marquee-track { animation-duration:20s !important; }
.lcs-sponsor-marquee-track:has(.lcs-sponsor-marquee-group:only-child) {
    animation:none !important; width:100% !important; justify-content:center !important;
}
.lcs-sponsor-marquee-track:has(.lcs-sponsor-marquee-group:only-child) .lcs-sponsor-marquee-group {
    width:100%; justify-content:center;
}
.lcs-sponsor-directory-item h3 { display:none !important; }
.lcs-sponsor-directory-item { min-height:150px; }

/* v1.3.38: static sponsor support section */
.lcs-sponsor-section {
    background: #eeeeee;
    padding: 34px 0 38px;
    width: 100%;
}
.lcs-sponsor-section h2 {
    text-align: center;
    margin: 0 0 24px;
    color: #222;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: 1.5px;
}
.lcs-sponsor-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 28px 42px;
}
.lcs-sponsor-grid-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    max-width: 220px;
    min-height: 95px;
}
.lcs-sponsor-grid-item img {
    display: block;
    width: auto;
    max-width: 190px;
    max-height: 90px;
    height: auto;
    object-fit: contain;
}
.lcs-sponsor-grid-item a { display:flex; align-items:center; justify-content:center; }

/* v1.3.39: remove generic page-title strips and add custom sponsor-page banner */
.lcs-page-hero { display:none !important; }
.lcs-sponsors-page-banner {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:68px 0 62px;
    text-align:center;
    background:
      radial-gradient(ellipse at 50% 120%, rgba(237,28,36,.34), transparent 58%),
      linear-gradient(112deg,#080a0d 0%,#20242a 48%,#090b0e 100%);
    border-bottom:4px solid var(--lcs-red);
}
.lcs-sponsors-page-banner:before,
.lcs-sponsors-page-banner:after {
    content:"";
    position:absolute;
    z-index:-1;
    top:0; bottom:0;
    width:26%;
    opacity:.18;
    background:repeating-linear-gradient(135deg,transparent 0 15px,#fff 15px 18px,transparent 18px 33px);
}
.lcs-sponsors-page-banner:before { left:-7%; transform:skewX(-18deg); }
.lcs-sponsors-page-banner:after { right:-7%; transform:skewX(-18deg); }
.lcs-sponsors-banner-checker {
    position:absolute;
    left:0; right:0; top:0;
    height:12px;
    opacity:.65;
    background-color:#fff;
    background-image:linear-gradient(45deg,#111 25%,transparent 25%),linear-gradient(-45deg,#111 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#111 75%),linear-gradient(-45deg,transparent 75%,#111 75%);
    background-size:20px 20px;
    background-position:0 0,0 10px,10px -10px,-10px 0;
}
.lcs-sponsors-page-banner .lcs-container { position:relative; }
.lcs-sponsors-kicker {
    display:block;
    margin-bottom:9px;
    color:#c5c9ce;
    font-size:13px;
    font-weight:700;
    letter-spacing:4px;
}
.lcs-sponsors-page-banner h1 {
    margin:0;
    color:#fff;
    font-size:clamp(30px,5vw,58px);
    line-height:1.05;
    font-weight:900;
    letter-spacing:1.5px;
    text-shadow:0 4px 18px rgba(0,0,0,.65);
}
.lcs-sponsors-banner-rule {
    display:block;
    width:115px;
    height:5px;
    margin:23px auto 0;
    background:var(--lcs-red);
    transform:skewX(-25deg);
}

/* v1.3.40: MyRacePass points page embed */
.lcs-points-embed { width:100%; padding:24px 0 40px; }
.lcs-points-embed .lcs-container { width:min(1440px, calc(100% - 24px)); }
.lcs-points-embed iframe {
    display:block;
    width:100%;
    height:1800px;
    border:0;
    background:#fff;
}
