/*
Theme Name: OCR Red Screen
Theme URI: https://ocrslots.com/
Author: OCR Slots
Description: Lightweight custom theme for OCR Slots — Red Screen Nation.
Version: 0.56.0
Text Domain: ocr-red-screen
*/

:root {
  --ocr-bg: #050607;
  --ocr-bg-2: #0c0e10;
  --ocr-card: #121518;
  --ocr-line: rgba(255,255,255,.09);
  --ocr-green: #a8ff19;
  --ocr-red: #ef233c;
  --ocr-gold: #d7b45a;
  --ocr-text: #f7f7f5;
  --ocr-muted: #a6a8ab;
  --ocr-max: 1400px;
  --ocr-radius: 18px;
  --ocr-shadow: 0 20px 70px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ocr-bg);
  color: var(--ocr-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input { font: inherit; }

.ocr-wrap { width: min(calc(100% - 40px), var(--ocr-max)); margin-inline: auto; }
.ocr-section { padding: 96px 0; position: relative; }
.ocr-section--tight { padding: 62px 0; }
.ocr-kicker {
  margin: 0 0 12px;
  color: var(--ocr-green);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ocr-title {
  margin: 0;
  max-width: 980px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3rem, 7vw, 7.5rem);
  line-height: .9;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.ocr-title--sm { font-size: clamp(2.7rem, 5.3vw, 5.8rem); }
.ocr-lede { max-width: 760px; color: var(--ocr-muted); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.ocr-grid { display: grid; gap: 22px; }
.ocr-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ocr-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled {
  background: rgba(5,6,7,.82);
  border-color: rgba(168,255,25,.22);
  backdrop-filter: blur(18px);
}
.header-inner { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.site-branding { display: flex; align-items: center; min-width: 180px; }
.custom-logo { max-height: 50px; width: auto; }
.ocr-wordmark { font-weight: 950; font-size: 1.35rem; letter-spacing: -.03em; }
.ocr-wordmark span { color: var(--ocr-green); }
.primary-nav { margin-left: auto; }
.primary-nav ul { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { color: #eceeea; font-size: .86rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.primary-nav a:hover { color: var(--ocr-green); }
.header-actions { display: flex; gap: 10px; }
.mobile-toggle { display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--ocr-line); background: rgba(255,255,255,.05); color: white; }

/* Buttons */
.ocr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 18px;
  border-radius: 999px; border: 1px solid transparent;
  font-size: .8rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ocr-btn:hover { transform: translateY(-2px); }
.ocr-btn--green { background: var(--ocr-green); color: #0a0c08; box-shadow: 0 0 35px rgba(168,255,25,.18); }
.ocr-btn--ghost { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.ocr-btn--red { background: var(--ocr-red); color: #fff; box-shadow: 0 0 35px rgba(239,35,60,.2); }

/* Hero */
.ocr-hero {
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(239,35,60,.16), transparent 33%),
    radial-gradient(circle at 18% 18%, rgba(168,255,25,.12), transparent 32%),
    linear-gradient(180deg, #080a0c, #030405 68%);
}
.ocr-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(2,3,3,.94) 0%, rgba(2,3,3,.82) 25%, rgba(2,3,3,.46) 45%, rgba(2,3,3,.10) 70%, rgba(2,3,3,.02) 100%),
    linear-gradient(180deg, rgba(4,5,6,.06) 0%, rgba(4,5,6,.12) 58%, #050607 100%);
  z-index: 1;
}
.ocr-hero-media { position: absolute; inset: 0; background:#050607; }
.ocr-hero-media img, .ocr-hero-media video { width: 100%; height: 100%; object-fit: cover; opacity: .88; filter: saturate(1.08) contrast(1.03); }
.ocr-hero-noise { position: absolute; inset: 0; z-index: 2; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(to bottom, black, transparent); }
.ocr-hero-inner { position: relative; z-index: 3; padding: 156px 0 66px; }
.ocr-hero-heading {
  margin: 0;
  max-width: 820px;
  text-transform: uppercase;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  letter-spacing: -.035em;
}
.ocr-hero-intro {
  display: block;
  color: #f7f7f5;
  font-size: clamp(2.5rem, 4.2vw, 4.9rem);
  line-height: .94;
  text-shadow: 0 0 24px rgba(255,255,255,.05);
}
.ocr-hero-main {
  display: block;
  margin-top: .04em;
  color: #fff;
  font-size: clamp(3.9rem, 5.75vw, 6.65rem);
  line-height: .93;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgba(239,35,60,.85);
  paint-order: stroke fill;
  text-shadow:
    0 0 8px rgba(239,35,60,.72),
    0 0 24px rgba(239,35,60,.48),
    0 0 58px rgba(239,35,60,.28);
}
.ocr-hero-main::after {
  content: "";
  display: block;
  width: 150px;
  height: 2px;
  margin-top: 18px;
  background: linear-gradient(90deg, var(--ocr-green), rgba(168,255,25,0));
  box-shadow: 0 0 18px rgba(168,255,25,.35);
}
.ocr-hero-copy { max-width: 690px; margin-top: 22px; color: #eceeeb; font-size: clamp(1.02rem, 1.35vw, 1.2rem); text-shadow: 0 2px 18px rgba(0,0,0,.75); }
.ocr-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.ocr-hero-actions .ocr-btn { min-height: 54px; padding-inline: 22px; }
.ocr-hero-actions .ocr-btn--green::before { content: "▶"; font-size: .72em; }
.ocr-scroll-cue { margin-top: 54px; color: #c3c5c2; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.ocr-scroll-cue::after { content:""; display:block; width:10px; height:10px; margin:11px 0 0 70px; border-right:2px solid var(--ocr-green); border-bottom:2px solid var(--ocr-green); transform:rotate(45deg); }

/* Stats */
.ocr-stats {
  position: relative;
  border-block: 1px solid rgba(168,255,25,.13);
  background:
    radial-gradient(circle at 50% -60%, rgba(168,255,25,.09), transparent 42%),
    #07090a;
}
.ocr-stats .ocr-wrap { padding-block: 30px 36px; }
.ocr-stats-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 8px 22px;
  border-bottom: 1px solid var(--ocr-line);
}
.ocr-stats-heading span {
  color: var(--ocr-green);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .18em;
}
.ocr-stats-heading strong {
  color: #d9dbd8;
  font-size: .75rem;
  letter-spacing: .13em;
  text-align: right;
}
.ocr-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.ocr-stat {
  position: relative;
  padding: 32px 24px 20px;
  text-align: center;
  border-right: 1px solid var(--ocr-line);
}
.ocr-stat:last-child { border-right: 0; }
.ocr-stat::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 52px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--ocr-green);
  box-shadow: 0 0 18px rgba(168,255,25,.42);
}
.ocr-stat strong {
  display: block;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.7rem, 4.7vw, 5rem);
  line-height: .9;
  letter-spacing: -.035em;
  text-shadow: 0 0 32px rgba(168,255,25,.10);
}
.ocr-stat span {
  display: block;
  margin-top: 10px;
  color: var(--ocr-green);
  font-size: .71rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Feature card */
.ocr-feature {
  position: relative; overflow: hidden; min-height: 500px;
  border: 1px solid var(--ocr-line); border-radius: 28px; background: var(--ocr-card); box-shadow: var(--ocr-shadow);
}
.ocr-feature-media { position: absolute; inset: 0; }
.ocr-feature-media img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.ocr-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,5,6,.96), rgba(4,5,6,.6) 45%, rgba(4,5,6,.15)); }
.ocr-feature-content { position: relative; z-index: 2; padding: clamp(34px, 6vw, 72px); max-width: 760px; }
.ocr-countdown { display: flex; gap: 12px; margin: 28px 0; flex-wrap: wrap; }
.ocr-count { min-width: 92px; padding: 16px; border-radius: 16px; background: rgba(0,0,0,.4); border: 1px solid rgba(255,255,255,.12); }
.ocr-count strong { display:block; font-size: 1.7rem; }
.ocr-count span { color: var(--ocr-muted); font-size: .67rem; text-transform: uppercase; letter-spacing: .12em; }

/* Cards */
.ocr-card { border: 1px solid var(--ocr-line); border-radius: var(--ocr-radius); background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); overflow: hidden; transition: transform .22s ease, border-color .22s ease; }
.ocr-card:hover { transform: translateY(-5px); border-color: rgba(168,255,25,.35); }
.ocr-card-media { aspect-ratio: 16/10; background: #16191c; overflow: hidden; }
.ocr-card-media img { width:100%; height:100%; object-fit:cover; transition: transform .35s ease; }
.ocr-card:hover .ocr-card-media img { transform: scale(1.035); }
.ocr-card-body { padding: 22px; }
.ocr-card-label { color: var(--ocr-green); font-size: .69rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ocr-card h3 { margin: 8px 0 8px; font-size: 1.45rem; line-height: 1.1; }
.ocr-card p { margin: 0; color: var(--ocr-muted); }

/* Red screen section */
.ocr-redscreen { overflow: hidden; background: radial-gradient(circle at 88% 46%, rgba(239,35,60,.18), transparent 28%), #07090a; border-block: 1px solid rgba(239,35,60,.15); }
.red-glow { color: #fff; text-shadow: 0 0 40px rgba(239,35,60,.48); }

/* Community */
.ocr-community { background: linear-gradient(135deg, rgba(168,255,25,.06), transparent 35%), #0a0c0e; }
.ocr-quote { padding: 34px; border-radius: 24px; border: 1px solid var(--ocr-line); background: rgba(255,255,255,.025); font-size: clamp(1.25rem, 2.4vw, 2rem); line-height: 1.3; }

/* Newsletter */
.ocr-newsletter { border-radius: 30px; padding: clamp(34px, 6vw, 72px); border: 1px solid rgba(168,255,25,.26); background: radial-gradient(circle at 85% 25%, rgba(168,255,25,.12), transparent 27%), #0b0e0d; }
.ocr-newsletter-form { display: flex; gap: 10px; margin-top: 26px; max-width: 690px; }
.ocr-newsletter-form input[type="email"] { flex: 1; min-height: 54px; border-radius: 999px; border: 1px solid var(--ocr-line); background: rgba(0,0,0,.35); color:white; padding: 0 20px; }

/* Footer */
.site-footer { padding: 70px 0 96px; border-top: 1px solid var(--ocr-line); background: #030404; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; }
.footer-title { color: var(--ocr-muted); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 900; }
.site-footer ul { list-style:none; padding:0; margin:14px 0 0; }
.site-footer li { margin: 8px 0; }
.site-footer a:hover { color: var(--ocr-green); }
.footer-legal { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--ocr-line); color: #7f8388; font-size: .82rem; }

/* Reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

/* Content pages */
.ocr-content { padding: 140px 0 90px; }
.ocr-content article { max-width: 900px; }
.ocr-content h1 { font-size: clamp(2.8rem, 6vw, 5rem); line-height: .95; }
.ocr-content p { color: #c7cac6; }

@media (max-width: 1050px) {
  .primary-nav, .header-actions { display: none; }
  .mobile-toggle { display: inline-grid; place-items: center; }
  .primary-nav.is-open { display:block; position: fixed; top:82px; left:0; right:0; bottom:0; background:#050607; padding:30px 20px; }
  .primary-nav.is-open ul { display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
  .primary-nav.is-open a { font-size:1.3rem; }
  .ocr-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}


@media (max-width: 1250px) and (min-width: 761px) {
  .ocr-hero-heading { max-width: 700px; }
  .ocr-hero-main { font-size: clamp(4rem, 6.3vw, 5.9rem); }
  .ocr-hero-copy { max-width: 620px; }
}

@media (max-width: 760px) {
  .ocr-wrap { width: min(calc(100% - 32px), var(--ocr-max)); }
  .header-inner { min-height: 70px; }
  .primary-nav.is-open { top:70px; }
  .ocr-hero-inner { padding: 126px 0 52px; }
  .ocr-hero::before { background: linear-gradient(180deg, rgba(2,3,3,.38), rgba(2,3,3,.62) 50%, #050607 100%); }
  .ocr-hero-media img, .ocr-hero-media video { opacity: .72; object-position: 68% center !important; }
  .ocr-hero-heading { max-width: 100%; }
  .ocr-hero-intro { font-size: clamp(2.2rem, 11vw, 3.7rem); }
  .ocr-hero-main { font-size: clamp(3.25rem, 16.2vw, 5.6rem); white-space: normal; max-width: 9.7ch; }
  .ocr-hero-main::after { width: 105px; margin-top: 14px; }
  .ocr-section { padding: 72px 0; }
  .ocr-grid--3, .ocr-grid--4 { grid-template-columns: 1fr; }
  .ocr-stats-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .ocr-stats-heading strong { text-align: left; }
  .ocr-stats-grid { grid-template-columns: 1fr; }
  .ocr-stat { border-right: 0; border-bottom: 1px solid var(--ocr-line); }
  .ocr-stat:last-child { border-bottom: 0; }
  .ocr-event-countdown { grid-template-columns: repeat(4, 1fr); }
  .ocr-event-countdown > div { padding-inline: 5px; }
  .ocr-feature { min-height: 640px; }
  .ocr-feature::after { background: linear-gradient(180deg, rgba(4,5,6,.38), rgba(4,5,6,.96) 68%); }
  .ocr-feature-content { position:absolute; inset:auto 0 0; }
  .ocr-newsletter-form { flex-direction: column; }
  .ocr-newsletter-form .ocr-btn { width:100%; }
  .footer-grid { grid-template-columns: 1fr; }
}


/* v0.3: next experience + staging polish */
body.admin-bar .site-header { top: 32px; }

.ocr-next {
  padding-top: 72px;
}
.ocr-next-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  min-height: 470px;
  overflow: hidden;
  border: 1px solid rgba(168,255,25,.20);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 15%, rgba(168,255,25,.09), transparent 30%),
    linear-gradient(135deg, #0b0e0d, #090a0c 60%, #0d090a);
  box-shadow: var(--ocr-shadow);
}
.ocr-next-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 6vw, 76px);
}
.ocr-next-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(168,255,25,.28);
  border-radius: 999px;
  background: rgba(168,255,25,.08);
  color: var(--ocr-green);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ocr-next-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ocr-green);
  box-shadow: 0 0 18px rgba(168,255,25,.65);
}
.ocr-next-title {
  margin: 0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3rem, 5vw, 6.3rem);
  line-height: .9;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.ocr-next-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
  color: #d8dad7;
  font-size: .96rem;
  font-weight: 750;
}
.ocr-next-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ocr-event-countdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(68px, 1fr));
  gap: 8px;
  max-width: 500px;
  margin-top: 22px;
}
.ocr-event-countdown > div {
  padding: 13px 10px 12px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.28);
}
.ocr-event-countdown strong {
  display: block;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: .95;
}
.ocr-event-countdown span {
  display: block;
  margin-top: 6px;
  color: var(--ocr-green);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ocr-next-desc {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--ocr-muted);
  font-size: 1.02rem;
}
.ocr-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.ocr-next-media {
  position: relative;
  min-height: 390px;
  background:
    radial-gradient(circle at 60% 40%, rgba(239,35,60,.20), transparent 30%),
    linear-gradient(145deg, #121518, #070809);
}
.ocr-next-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #0b0e0d 0%, rgba(11,14,13,.25) 28%, rgba(11,14,13,0) 58%);
  pointer-events: none;
}
.ocr-next-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ocr-next-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 30px;
  text-align: center;
  color: rgba(255,255,255,.35);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .ocr-redscreen-games { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .ocr-next-card { grid-template-columns: 1fr; }
  .ocr-next-media { order: -1; min-height: 320px; }
  .ocr-next-media::after { background: linear-gradient(180deg, rgba(11,14,13,0) 55%, #0b0e0d 100%); }
}

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* v0.6: polished empty-state + signature photo default */
.ocr-next-copy--empty { position: relative; z-index: 2; }
.ocr-next-eyebrow {
  margin: 0 0 12px;
  color: #d9dbd8;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ocr-next-title--empty {
  color: #fff;
  font-size: clamp(4rem, 6.2vw, 7.3rem);
  line-height: .92;
  text-shadow: 0 0 42px rgba(168,255,25,.07);
}
.ocr-next-media--empty {
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 66% 50%, rgba(239,35,60,.18), transparent 24%),
    radial-gradient(circle at 40% 30%, rgba(168,255,25,.08), transparent 26%),
    linear-gradient(145deg, #111416, #070809 64%, #100709);
}
.ocr-next-media--empty::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 34px 34px;
  transform: perspective(600px) rotateX(62deg) translateY(28%);
  transform-origin: center bottom;
  opacity: .55;
}
.ocr-next-watermark {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,.055);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(6rem, 11vw, 12rem);
  line-height: .72;
  letter-spacing: -.04em;
  text-align: center;
  text-transform: uppercase;
  user-select: none;
}
.ocr-next-route {
  position: absolute;
  z-index: 2;
  left: 14%;
  right: 14%;
  bottom: 15%;
  display: flex;
  align-items: center;
  gap: 14px;
}
.ocr-next-route span {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, rgba(168,255,25,.08), var(--ocr-green));
  box-shadow: 0 0 18px rgba(168,255,25,.22);
}
.ocr-next-route strong {
  color: var(--ocr-green);
  font-size: .7rem;
  letter-spacing: .16em;
  white-space: nowrap;
}

.ocr-feature-media img { filter: saturate(.95) contrast(1.02); }
.ocr-feature::after {
  background:
    linear-gradient(90deg, rgba(4,5,6,.97) 0%, rgba(4,5,6,.74) 40%, rgba(4,5,6,.18) 72%, rgba(4,5,6,.08) 100%),
    linear-gradient(180deg, rgba(4,5,6,.06), rgba(4,5,6,.32));
}
.ocr-feature-content .ocr-title { max-width: 780px; }

@media (max-width: 980px) {
  .ocr-next-media--empty { min-height: 280px; }
  .ocr-next-route { left: 10%; right: 10%; bottom: 13%; }
}

@media (max-width: 760px) {
  .ocr-next-title--empty { font-size: clamp(3.4rem, 17vw, 5.6rem); }
  .ocr-next-media--empty { min-height: 240px; }
  .ocr-next-watermark { font-size: clamp(5.5rem, 30vw, 8.4rem); }
  .ocr-next-route strong { font-size: .58rem; }
}

/* v0.7: Signature Group Pulls showcase */
.ocr-feature {
  min-height: 620px;
  border-color: rgba(168,255,25,.20);
  background: #080a0b;
}
.ocr-feature-media {
  left: 42%;
}
.ocr-feature-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, #080a0b 0%, rgba(8,10,11,.80) 18%, rgba(8,10,11,.24) 55%, rgba(8,10,11,.06) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.30));
  pointer-events: none;
}
.ocr-feature-media img {
  opacity: .86;
  object-position: center center;
  filter: saturate(1.05) contrast(1.02);
}
.ocr-feature::after {
  background:
    radial-gradient(circle at 21% 52%, rgba(168,255,25,.08), transparent 28%),
    linear-gradient(90deg, rgba(4,5,6,.99) 0%, rgba(4,5,6,.97) 35%, rgba(4,5,6,.45) 57%, rgba(4,5,6,.05) 84%);
}
.ocr-feature-content {
  display: flex;
  min-height: 620px;
  max-width: 790px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 5vw, 78px);
}
.ocr-feature-title {
  margin: 10px 0 20px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.15rem, 5.35vw, 6.6rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-wrap: balance;
}
.ocr-feature-title span { display: block; }
.ocr-feature-content .ocr-lede {
  max-width: 650px;
  color: #d4d6d4;
  font-size: clamp(1.04rem, 1.35vw, 1.28rem);
}
.ocr-feature-content .ocr-countdown {
  margin: 30px 0 32px;
  gap: 10px;
}
.ocr-feature-content .ocr-count {
  display: flex;
  min-width: 128px;
  min-height: 108px;
  flex: 0 1 150px;
  flex-direction: column;
  justify-content: center;
  padding: 17px 18px;
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(14,16,17,.82), rgba(3,4,5,.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.ocr-feature-content .ocr-count strong {
  color: #fff;
  font-size: clamp(1.65rem, 2.3vw, 2.15rem);
  line-height: 1;
}
.ocr-feature-content .ocr-count span {
  margin-top: 12px;
  color: #c8cbc8;
  line-height: 1.35;
}
.ocr-feature-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.ocr-feature-textlink {
  color: #fff;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ocr-feature-textlink span {
  color: var(--ocr-green);
  font-size: 1.2em;
}
.ocr-feature-textlink:hover { color: var(--ocr-green); }

@media (max-width: 1100px) {
  .ocr-feature-media { left: 34%; }
  .ocr-feature-content { max-width: 700px; }
  .ocr-feature-title { font-size: clamp(3.8rem, 7vw, 5.8rem); }
}
@media (max-width: 760px) {
  .ocr-feature { min-height: 760px; }
  .ocr-feature-media { left: 0; top: 0; bottom: auto; height: 46%; }
  .ocr-feature-media::before {
    background: linear-gradient(180deg, rgba(8,10,11,.05) 0%, rgba(8,10,11,.18) 55%, #080a0b 100%);
  }
  .ocr-feature::after {
    background: linear-gradient(180deg, rgba(4,5,6,.02) 0%, rgba(4,5,6,.12) 32%, #080a0b 49%, #080a0b 100%);
  }
  .ocr-feature-content {
    min-height: 760px;
    justify-content: flex-end;
    padding: 34px 26px 38px;
  }
  .ocr-feature-title { font-size: clamp(3.4rem, 16vw, 5rem); }
  .ocr-feature-content .ocr-count { min-width: 0; flex: 1 1 30%; padding: 14px 10px; }
  .ocr-feature-content .ocr-count span { font-size: .58rem; letter-spacing: .08em; }
}


/* v0.8: RED SCREEN TIME showcase */
.ocr-redscreen {
  overflow: hidden;
  padding-top: 116px;
  padding-bottom: 118px;
  background:
    radial-gradient(circle at 76% 30%, rgba(239,35,60,.13), transparent 27%),
    radial-gradient(circle at 18% 24%, rgba(168,255,25,.035), transparent 24%),
    linear-gradient(180deg, #050607 0%, #090506 52%, #050607 100%);
}
.ocr-redscreen::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .38;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
.ocr-redscreen .ocr-wrap { position: relative; z-index: 1; }
.ocr-redscreen-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: stretch;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(239,35,60,.30);
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 40%, rgba(239,35,60,.08), transparent 34%),
    linear-gradient(135deg, #0a0b0c 0%, #08090a 55%, #120608 100%);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 70px rgba(239,35,60,.055);
}
.ocr-redscreen-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 5.3vw, 78px);
}
.ocr-redscreen-title {
  margin: 3px 0 24px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.2rem, 6.1vw, 7.6rem);
  line-height: .86;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.ocr-redscreen-title span { display: block; }
.ocr-redscreen-title span:first-child {
  text-shadow:
    0 0 1px #fff,
    0 0 12px rgba(239,35,60,.55),
    0 0 34px rgba(239,35,60,.28);
}
.ocr-redscreen-title span:last-child {
  color: var(--ocr-red);
  -webkit-text-stroke: 1px rgba(255,255,255,.28);
  text-shadow: 0 0 20px rgba(239,35,60,.45), 0 0 50px rgba(239,35,60,.20);
}
.ocr-redscreen-lede {
  max-width: 650px;
  margin: 0;
  color: #c9cbca;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.7;
}
.ocr-redscreen-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.ocr-btn--red {
  color: #fff;
  border-color: rgba(239,35,60,.8);
  background: linear-gradient(180deg, #fa3048, #d91831);
  box-shadow: 0 12px 32px rgba(239,35,60,.22), 0 0 34px rgba(239,35,60,.12);
}
.ocr-btn--red:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(239,35,60,.30); }
.ocr-redscreen-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.ocr-redscreen-tags span {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  color: #b9bcba;
  background: rgba(255,255,255,.025);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ocr-redscreen-visual {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  background: #120507;
}
.ocr-redscreen-visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #090a0b 0%, rgba(9,10,11,.58) 12%, rgba(9,10,11,.08) 40%, transparent 68%),
    linear-gradient(180deg, transparent 52%, rgba(5,6,7,.72) 100%);
}
.ocr-redscreen-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 80px rgba(239,35,60,.16);
}
.ocr-redscreen-visual img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.18) contrast(1.06) brightness(.93);
}
.ocr-redscreen-visual-badge {
  position: absolute;
  z-index: 3;
  top: 28px;
  right: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 999px;
  color: #fff;
  background: rgba(4,5,6,.70);
  backdrop-filter: blur(12px);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ocr-redscreen-visual-badge span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ocr-red);
  box-shadow: 0 0 15px rgba(239,35,60,.9);
}
.ocr-redscreen-visual-caption {
  position: absolute;
  z-index: 3;
  right: 28px;
  bottom: 26px;
  max-width: 390px;
  color: rgba(255,255,255,.82);
  text-align: right;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.5;
}

.ocr-redscreen-games-wrap {
  margin-top: 26px;
}
.ocr-redscreen-games-head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 900px;
  margin: 0 0 22px;
}
.ocr-redscreen-games-title {
  margin: 0;
  max-width: 980px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.35rem, 3.25vw, 3.85rem);
  line-height: 1.00;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.ocr-redscreen-games-copy {
  margin: 0;
  color: var(--ocr-muted);
  max-width: 760px;
  line-height: 1.7;
}
.ocr-redscreen-games {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 18px;
}
.ocr-redscreen-game {
  position: relative;
  overflow: hidden;
  min-height: 285px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 19px;
  background:
    radial-gradient(circle at 80% 15%, rgba(239,35,60,.14), transparent 30%),
    linear-gradient(155deg, #111315, #08090a 76%);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ocr-redscreen-game::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 1px solid rgba(239,35,60,.18);
  pointer-events: none;
}
.ocr-redscreen-game:hover {
  transform: translateY(-5px);
  border-color: rgba(239,35,60,.38);
  box-shadow: 0 18px 45px rgba(0,0,0,.34), 0 0 30px rgba(239,35,60,.06);
}
.ocr-redscreen-game > a {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 285px;
  flex-direction: column;
  padding: 24px;
}
.ocr-redscreen-game-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 28px;
}
.ocr-redscreen-game-num {
  color: rgba(255,255,255,.16);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 2.2rem;
  line-height: 1;
}
.ocr-redscreen-game-label {
  color: var(--ocr-red);
  text-align: right;
  font-size: .59rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ocr-redscreen-game h3 {
  margin: 0 0 14px;
  text-wrap: balance;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(1.7rem, 1.85vw, 2.28rem);
  line-height: 1.02;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
.ocr-redscreen-game p {
  margin: 0 0 22px;
  color: var(--ocr-muted);
  font-size: .94rem;
  line-height: 1.6;
}
.ocr-redscreen-game-link {
  margin-top: auto;
  color: #fff;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ocr-redscreen-game-link b { color: var(--ocr-red); font-size: 1.2em; }
.ocr-redscreen-game-image {
  height: 115px;
  margin: -10px -10px 18px;
  overflow: hidden;
  border-radius: 12px;
}
.ocr-redscreen-game-image img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 980px) {
  .ocr-redscreen-games-head { margin-bottom: 18px; }
}

@media (max-width: 1100px) {
  .ocr-redscreen-hero { grid-template-columns: 1fr 1fr; }
  .ocr-redscreen-games { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .ocr-redscreen { padding-top: 78px; padding-bottom: 80px; }
  .ocr-redscreen-hero { grid-template-columns: 1fr; }
  .ocr-redscreen-visual { order: -1; min-height: 360px; }
  .ocr-redscreen-visual img { min-height: 360px; }
  .ocr-redscreen-visual::before {
    background: linear-gradient(180deg, rgba(5,6,7,.02) 45%, #090a0b 100%);
  }
  .ocr-redscreen-title { font-size: clamp(4rem, 16vw, 6rem); }
}
@media (max-width: 600px) {
  .ocr-redscreen-games { grid-template-columns: 1fr; }
  .ocr-redscreen-copy { padding: 34px 24px 38px; }
  .ocr-redscreen-visual { min-height: 300px; }
  .ocr-redscreen-visual img { min-height: 300px; }
  .ocr-redscreen-visual-caption { left: 24px; right: 24px; text-align: left; }
  .ocr-redscreen-actions .ocr-btn { width: 100%; }
}


/* v0.11: automatic Latest From OCR YouTube feed */
.ocr-youtube-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgba(168,255,25,.055), transparent 24%),
    linear-gradient(180deg, #070809 0%, #050607 100%);
}
.ocr-youtube-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}
.ocr-youtube-heading > div:first-child { max-width: 850px; }
.ocr-youtube-auto {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  color: var(--ocr-green);
  white-space: nowrap;
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ocr-youtube-auto span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ocr-green);
  box-shadow: 0 0 16px rgba(168,255,25,.7);
}
.ocr-youtube-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 38px;
}
.ocr-youtube-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ocr-youtube-card:hover {
  transform: translateY(-5px);
  border-color: rgba(168,255,25,.32);
  box-shadow: 0 22px 55px rgba(0,0,0,.34);
}
.ocr-youtube-card > a { display: block; height: 100%; }
.ocr-youtube-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 40%, rgba(168,255,25,.08), transparent 35%),
    #111315;
}
.ocr-youtube-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.ocr-youtube-card:hover .ocr-youtube-thumb img {
  transform: scale(1.035);
  filter: brightness(.92);
}
.ocr-youtube-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 48%, rgba(4,5,6,.62) 100%);
}
.ocr-youtube-type {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 16px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  color: #fff;
  background: rgba(5,6,7,.76);
  backdrop-filter: blur(10px);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ocr-youtube-type.is-live-now {
  border-color: rgba(239,35,60,.55);
  background: rgba(190,18,40,.90);
  box-shadow: 0 0 25px rgba(239,35,60,.24);
}
.ocr-youtube-play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  color: #050607;
  background: var(--ocr-green);
  box-shadow: 0 14px 32px rgba(0,0,0,.32), 0 0 30px rgba(168,255,25,.14);
  font-size: 1rem;
  transition: transform .22s ease;
}
.ocr-youtube-card:hover .ocr-youtube-play { transform: translate(-50%, -50%) scale(1.08); }
.ocr-youtube-body { padding: 22px 23px 24px; }
.ocr-youtube-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--ocr-green);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ocr-youtube-meta time { color: #858a87; }
.ocr-youtube-card h3 {
  margin: 12px 0 24px;
  color: #fff;
  font-size: clamp(1.2rem, 1.55vw, 1.65rem);
  line-height: 1.15;
}
.ocr-youtube-watch {
  color: #fff;
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ocr-youtube-watch b { color: var(--ocr-green); font-size: 1.2em; }
.ocr-youtube-card--live .ocr-youtube-type:not(.is-live-now) { color: #fff; border-color: rgba(239,35,60,.32); }
.ocr-youtube-card--short .ocr-youtube-type { color: #fff; border-color: rgba(215,180,90,.32); }
.ocr-youtube-thumb--empty { min-height: 220px; }
.ocr-youtube-admin-note {
  margin: 12px 0 0;
  color: #8f9491;
  font-size: .8rem;
  line-height: 1.5;
}
.ocr-youtube-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 22px;
}
.ocr-youtube-footer p {
  margin: 0;
  color: #7f8581;
  font-size: .82rem;
}

@media (max-width: 980px) {
  .ocr-youtube-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .ocr-youtube-grid { grid-template-columns: 1fr; }
  .ocr-youtube-footer { align-items: flex-start; flex-direction: column; }
}


/* v0.12: polish automatic YouTube cards */
.ocr-youtube-grid {
  align-items: stretch;
}
.ocr-youtube-card {
  height: 100%;
}
.ocr-youtube-card > a {
  display: flex;
  height: 100%;
  flex-direction: column;
}
.ocr-youtube-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.ocr-youtube-card h3 {
  display: -webkit-box;
  min-height: calc(1.15em * 3);
  max-height: calc(1.15em * 3);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.ocr-youtube-watch {
  margin-top: auto;
  padding-top: 4px;
}
@media (max-width: 980px) {
  .ocr-youtube-card h3 {
    min-height: 0;
    max-height: none;
    -webkit-line-clamp: 3;
  }
}


/* v0.13: WHERE OCR PLAYS / Casino Adventures */
.ocr-casinos {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(168,255,25,.045), transparent 24%),
    radial-gradient(circle at 88% 70%, rgba(239,35,60,.045), transparent 26%),
    #050607;
}
.ocr-casino-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}
.ocr-casino-heading > div { max-width: 900px; }
.ocr-casino-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}
.ocr-casino-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  background: linear-gradient(160deg, #111315, #08090a 72%);
  box-shadow: 0 20px 48px rgba(0,0,0,.24);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.ocr-casino-card:hover {
  transform: translateY(-6px);
  border-color: rgba(168,255,25,.36);
  box-shadow: 0 28px 65px rgba(0,0,0,.38), 0 0 36px rgba(168,255,25,.05);
}
.ocr-casino-card > a { display: flex; height: 100%; flex-direction: column; }
.ocr-casino-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #111416;
}
.ocr-casino-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 50%, rgba(5,6,7,.55) 100%);
}
.ocr-casino-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .38s ease, filter .38s ease;
}
.ocr-casino-card:hover .ocr-casino-media img { transform: scale(1.04); filter: saturate(1.08); }
.ocr-casino-photo-tag {
  position: absolute;
  z-index: 3;
  left: 18px;
  bottom: 16px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #fff;
  background: rgba(5,6,7,.72);
  backdrop-filter: blur(9px);
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.ocr-casino-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(168,255,25,.11), transparent 26%),
    linear-gradient(135deg, #171b1d 0%, #0b0d0f 60%, #12090b 100%);
}
.ocr-casino-fallback::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .36;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 34px 34px;
}
.ocr-casino-fallback-mark {
  position: relative;
  z-index: 2;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4rem, 6vw, 7rem);
  line-height: .9;
  letter-spacing: -.04em;
  text-shadow: 0 0 34px rgba(168,255,25,.12);
}
.ocr-casino-fallback-label {
  position: relative;
  z-index: 2;
  margin-top: 12px;
  color: var(--ocr-green);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .16em;
}
.ocr-casino-fallback i {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ocr-green);
  box-shadow: 0 0 18px rgba(168,255,25,.55);
}
.ocr-casino-fallback i:nth-of-type(1) { left: 18%; top: 27%; }
.ocr-casino-fallback i:nth-of-type(2) { right: 17%; top: 38%; }
.ocr-casino-fallback i:nth-of-type(3) { left: 26%; bottom: 22%; }
.ocr-casino-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 26px 26px;
}
.ocr-casino-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--ocr-green);
  font-size: .61rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ocr-casino-location { color: #8d938f; text-align: right; }
.ocr-casino-location::first-letter { color: var(--ocr-green); }
.ocr-casino-card h3 {
  margin: 12px 0 11px;
  color: #fff;
  font-size: clamp(1.35rem, 1.7vw, 1.8rem);
  line-height: 1.08;
}
.ocr-casino-card p {
  margin: 0 0 24px;
  color: var(--ocr-muted);
  line-height: 1.6;
}
.ocr-casino-link {
  margin-top: auto;
  color: #fff;
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ocr-casino-link b { color: var(--ocr-green); font-size: 1.2em; }
.ocr-casino-route {
  display: grid;
  grid-template-columns: 12px 1fr 12px 1fr 12px auto;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  color: #737975;
}
.ocr-casino-route span {
  width: 10px;
  height: 10px;
  border: 2px solid var(--ocr-green);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(168,255,25,.18);
}
.ocr-casino-route b { height: 1px; background: linear-gradient(90deg, rgba(168,255,25,.18), rgba(168,255,25,.75), rgba(168,255,25,.18)); }
.ocr-casino-route strong { color: var(--ocr-green); font-size: .58rem; letter-spacing: .13em; white-space: nowrap; }

@media (max-width: 1080px) {
  .ocr-casino-grid { grid-template-columns: 1fr 1fr; }
  .ocr-casino-grid .ocr-casino-card:last-child { grid-column: span 2; }
  .ocr-casino-grid .ocr-casino-card:last-child .ocr-casino-media { aspect-ratio: 2.2 / 1; }
}
@media (max-width: 760px) {
  .ocr-casino-heading { align-items: flex-start; flex-direction: column; }
  .ocr-casino-grid { grid-template-columns: 1fr; }
  .ocr-casino-grid .ocr-casino-card:last-child { grid-column: auto; }
  .ocr-casino-grid .ocr-casino-card:last-child .ocr-casino-media { aspect-ratio: 16 / 10; }
  .ocr-casino-route { grid-template-columns: 10px 1fr 10px; }
  .ocr-casino-route b:nth-of-type(2), .ocr-casino-route span:nth-of-type(3), .ocr-casino-route strong { display: none; }
}


/* v0.14.0 - OCR Family section */
.ocr-family {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(168,255,25,.06), transparent 26%),
    radial-gradient(circle at 80% 68%, rgba(87,120,255,.06), transparent 22%),
    #080a0b;
}
.ocr-family-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: 28px;
  align-items: stretch;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--ocr-line);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
  box-shadow: var(--ocr-shadow);
}
.ocr-family-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(8px, 1vw, 12px);
}
.ocr-family-copy .ocr-title { margin-bottom: 18px; }
.ocr-family-copy .ocr-lede { max-width: 760px; }
.ocr-family-values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 0;
}
.ocr-family-values span {
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ocr-family-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 26px;
}
.ocr-family-quote {
  margin-top: 28px;
  padding: 22px 24px;
  border-left: 3px solid var(--ocr-green);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  color: #e9ece8;
  font-size: clamp(1rem, 1.45vw, 1.22rem);
  line-height: 1.55;
}
.ocr-family-lead {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: #111315;
}
.ocr-family-lead img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ocr-family-lead::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,5,6,.06), rgba(4,5,6,.18) 42%, rgba(4,5,6,.82) 100%);
}
.ocr-family-lead-badge {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(7,9,10,.58);
  backdrop-filter: blur(12px);
}
.ocr-family-lead-badge span {
  color: var(--ocr-green);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ocr-family-lead-badge strong {
  color: #fff;
  font-size: clamp(1.05rem, 1.7vw, 1.4rem);
  line-height: 1.1;
  text-align: right;
}
.ocr-family-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
}
.ocr-family-card {
  overflow: hidden;
  border: 1px solid var(--ocr-line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ocr-family-card:hover {
  transform: translateY(-4px);
  border-color: rgba(168,255,25,.3);
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.ocr-family-card-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #14171a;
}
.ocr-family-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.ocr-family-card:hover .ocr-family-card-media img { transform: scale(1.03); }
.ocr-family-card-body { padding: 22px; }
.ocr-family-card-body h3 {
  margin: 10px 0 10px;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.04;
}
.ocr-family-card-body p { margin: 0; color: var(--ocr-muted); line-height: 1.75; }

@media (max-width: 1080px) {
  .ocr-family-shell { grid-template-columns: 1fr; }
  .ocr-family-lead { min-height: 540px; }
}
@media (max-width: 760px) {
  .ocr-family-shell { padding: 18px; border-radius: 24px; }
  .ocr-family-values { gap: 8px; }
  .ocr-family-values span { font-size: .62rem; }
  .ocr-family-lead { min-height: 420px; }
  .ocr-family-lead-badge {
    left: 16px; right: 16px; bottom: 16px;
    flex-direction: column; align-items: flex-start;
  }
  .ocr-family-lead-badge strong { text-align: left; }
  .ocr-family-grid { grid-template-columns: 1fr; }
}


/* v0.16.0 - better OCR Family supporting-photo focal points */
.ocr-family-card:first-child .ocr-family-card-media img {
  object-position: center 18%;
}
.ocr-family-card:nth-child(2) .ocr-family-card-media img {
  object-position: center 28%;
}
@media (max-width: 760px) {
  .ocr-family-card:first-child .ocr-family-card-media img { object-position: center 16%; }
  .ocr-family-card:nth-child(2) .ocr-family-card-media img { object-position: center 24%; }
}


/* v0.21.0 - Final CTA + footer polish */
.ocr-join-section { padding-top: 72px; padding-bottom: 80px; }
.ocr-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: center;
  overflow: hidden;
  position: relative;
}
.ocr-newsletter::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  right: -80px;
  top: -140px;
  border-radius: 50%;
  background: rgba(168,255,25,.07);
  filter: blur(30px);
  pointer-events: none;
}
.ocr-newsletter-main,
.ocr-newsletter-social { position: relative; z-index: 1; }
.ocr-newsletter-title {
  max-width: 920px;
  margin: 8px 0 20px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3.4rem, 5.8vw, 6.4rem);
  line-height: .92;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.ocr-newsletter-form--preview input:disabled,
.ocr-newsletter-form--preview button:disabled { opacity: .82; cursor: default; }
.ocr-newsletter-admin-note {
  max-width: 720px;
  margin: 12px 0 0;
  color: #939994;
  font-size: .78rem;
  line-height: 1.55;
}
.ocr-newsletter-fineprint {
  margin: 13px 0 0;
  color: #7f8581;
  font-size: .76rem;
  line-height: 1.55;
}
/* Normalize common newsletter plugin output to the OCR look. */
.ocr-newsletter-plugin-form { max-width: 740px; margin-top: 26px; }
.ocr-newsletter-plugin-form form { display: flex; gap: 10px; align-items: center; }
.ocr-newsletter-plugin-form input[type="email"],
.ocr-newsletter-plugin-form input[type="text"] {
  flex: 1;
  min-width: 0;
  min-height: 56px;
  padding: 0 20px;
  border: 1px solid var(--ocr-line) !important;
  border-radius: 999px !important;
  outline: 0;
  color: #fff !important;
  background: rgba(0,0,0,.35) !important;
}
.ocr-newsletter-plugin-form input[type="submit"],
.ocr-newsletter-plugin-form button {
  min-height: 56px;
  padding: 0 25px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #050607 !important;
  background: var(--ocr-green) !important;
  font-weight: 950 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.ocr-newsletter-social {
  padding: 26px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background: rgba(0,0,0,.22);
}
.ocr-newsletter-social-kicker {
  color: var(--ocr-green);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ocr-newsletter-social h3 {
  margin: 9px 0 10px;
  color: #fff;
  font-size: clamp(1.75rem, 2.6vw, 2.6rem);
  line-height: 1.02;
}
.ocr-newsletter-social p { margin: 0; color: var(--ocr-muted); line-height: 1.65; }
.ocr-social-links { display: grid; gap: 9px; margin-top: 22px; }
.ocr-social-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.ocr-social-links a:hover { transform: translateX(3px); border-color: rgba(168,255,25,.32); background: rgba(168,255,25,.04); }
.ocr-social-links span { color: #fff; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.ocr-social-links b { color: var(--ocr-green); font-size: .7rem; }

.site-footer { padding-top: 66px; }
.ocr-footer-wordmark { font-size: 1.55rem; }
.ocr-footer-tagline { max-width: 420px; margin: 15px 0 0; color: var(--ocr-muted); line-height: 1.65; }
.ocr-footer-badge {
  display: inline-flex;
  margin-top: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  color: #929793;
  background: rgba(255,255,255,.02);
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.footer-grid a { color: #d6d9d6; }
.footer-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.footer-bottom-row p { margin: 0; }
.footer-bottom-row nav { display: flex; gap: 18px; }
.footer-bottom-row nav a { color: #7f8388; }
.footer-bottom-row nav a:hover { color: var(--ocr-green); }

@media (max-width: 980px) {
  .ocr-newsletter { grid-template-columns: 1fr; }
  .ocr-newsletter-social { max-width: none; }
}
@media (max-width: 760px) {
  .ocr-join-section { padding-top: 48px; padding-bottom: 58px; }
  .ocr-newsletter { padding: 30px 24px; gap: 28px; }
  .ocr-newsletter-title { font-size: clamp(3rem, 14vw, 4.8rem); }
  .ocr-newsletter-plugin-form form { flex-direction: column; align-items: stretch; }
  .ocr-newsletter-plugin-form input[type="submit"], .ocr-newsletter-plugin-form button { width: 100%; }
  .footer-bottom-row { align-items: flex-start; flex-direction: column; }
}


/* v0.21.0 - tighter homepage-to-footer transition */
.ocr-join-section {
  padding-bottom: 28px;
}
.site-footer {
  padding-top: 44px;
  padding-bottom: 78px;
}
.footer-legal {
  margin-top: 36px;
}
@media (max-width: 760px) {
  .ocr-join-section { padding-bottom: 20px; }
  .site-footer { padding-top: 36px; padding-bottom: 72px; }
}


/* v0.21.0 — dedicated mobile/tablet hero + header optimization */
@media (max-width: 760px) {
  body.admin-bar .site-header { top: 46px; }

  .site-header {
    background: rgba(4,5,6,.88);
    backdrop-filter: blur(14px);
  }
  .header-inner {
    min-height: 64px;
  }
  .ocr-wordmark {
    font-size: 1rem;
    letter-spacing: -.03em;
  }
  .custom-logo-link img {
    max-height: 30px;
    width: auto;
  }
  .mobile-toggle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.035);
    color: #fff;
    font-size: 0;
  }
  .mobile-toggle::before {
    content: "☰";
    font-size: 1.1rem;
    line-height: 1;
  }

  .ocr-hero {
    display: block;
    min-height: auto;
    background: #050607;
  }
  .ocr-hero-media {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 48svh;
    min-height: 360px;
    max-height: 470px;
  }
  .ocr-hero-media img,
  .ocr-hero-media video {
    opacity: .88;
    object-position: 64% center !important;
    filter: saturate(1.04) contrast(1.03) brightness(.9);
  }
  .ocr-hero::before {
    z-index: 1;
    background:
      linear-gradient(180deg,
        rgba(3,4,5,.08) 0%,
        rgba(3,4,5,.12) 38%,
        rgba(3,4,5,.72) 70%,
        #050607 96%),
      linear-gradient(90deg,
        rgba(3,4,5,.28) 0%,
        rgba(3,4,5,.04) 55%,
        rgba(3,4,5,.08) 100%);
  }
  .ocr-hero-noise {
    height: 48svh;
    max-height: 470px;
  }
  .ocr-hero-inner {
    padding: min(43svh, 420px) 0 34px;
  }
  .ocr-kicker {
    font-size: .62rem;
    line-height: 1.45;
    letter-spacing: .14em;
  }
  .ocr-hero-heading {
    max-width: 100%;
  }
  .ocr-hero-intro {
    font-size: clamp(2rem, 9.7vw, 2.7rem);
    line-height: .94;
  }
  .ocr-hero-main {
    max-width: none;
    white-space: normal;
    font-size: clamp(3rem, 13.2vw, 3.75rem);
    line-height: .91;
    letter-spacing: -.045em;
  }
  .ocr-hero-main::after {
    width: 92px;
    margin-top: 12px;
  }
  .ocr-hero-copy {
    max-width: 37ch;
    margin-top: 16px;
    font-size: .92rem;
    line-height: 1.55;
  }
  .ocr-hero-actions {
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 20px;
  }
  .ocr-hero-actions .ocr-btn {
    min-height: 48px;
    padding-inline: 15px;
    font-size: .64rem;
    letter-spacing: .055em;
    white-space: nowrap;
  }
  .ocr-scroll-cue {
    margin-top: 28px;
    font-size: .58rem;
    letter-spacing: .16em;
  }
  .ocr-scroll-cue::after {
    margin-left: 54px;
    margin-top: 8px;
  }

  .primary-nav.is-open {
    top: 64px;
    padding-top: 34px;
  }
  body.admin-bar .primary-nav.is-open {
    top: 110px;
  }
}

@media (max-width: 390px) {
  .ocr-hero-actions {
    flex-wrap: wrap;
  }
  .ocr-hero-actions .ocr-btn {
    min-width: 0;
  }
  .ocr-hero-main {
    font-size: clamp(2.8rem, 13vw, 3.35rem);
  }
}


/* v0.21.0 — premium mobile navigation */
.mobile-nav-intro,
.mobile-nav-actions,
.mobile-nav-footer { display: none; }

@media (max-width: 1050px) {
  body.menu-open { overflow: hidden; }

  .primary-nav.is-open {
    position: fixed;
    z-index: 998;
    top: 64px;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 28px 22px calc(26px + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      radial-gradient(circle at 92% 8%, rgba(168,255,25,.09), transparent 28%),
      radial-gradient(circle at 12% 90%, rgba(239,35,60,.055), transparent 30%),
      rgba(4,5,6,.985);
    backdrop-filter: blur(24px);
    border-top: 1px solid rgba(168,255,25,.18);
    animation: ocrMenuIn .22s ease both;
  }
  body.admin-bar .primary-nav.is-open { top: 110px; }

  @keyframes ocrMenuIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: none; }
  }

  .mobile-nav-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }
  .mobile-nav-intro span {
    color: var(--ocr-green);
    font-size: .61rem;
    font-weight: 950;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .mobile-nav-intro strong {
    color: #737975;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: right;
  }

  .primary-nav.is-open ul {
    counter-reset: ocr-mobile-menu;
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
  }
  .primary-nav.is-open li {
    counter-increment: ocr-mobile-menu;
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,.075);
  }
  .primary-nav.is-open li:first-child { border-top: 1px solid rgba(255,255,255,.075); }
  .primary-nav.is-open li a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 0 2px;
    color: #f7f8f6;
    font-size: clamp(1.05rem, 5.1vw, 1.28rem);
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  .primary-nav.is-open li a::before {
    content: "0" counter(ocr-mobile-menu);
    color: var(--ocr-green);
    font-size: .57rem;
    font-weight: 950;
    letter-spacing: .08em;
  }
  .primary-nav.is-open li a::after {
    content: "→";
    color: #59605b;
    font-size: .9rem;
    text-align: right;
    transition: color .18s ease, transform .18s ease;
  }
  .primary-nav.is-open li a:hover,
  .primary-nav.is-open li a:focus-visible { color: var(--ocr-green); }
  .primary-nav.is-open li a:hover::after,
  .primary-nav.is-open li a:focus-visible::after {
    color: var(--ocr-green);
    transform: translateX(3px);
  }

  .mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 22px;
  }
  .mobile-nav-actions .ocr-btn {
    min-height: 50px;
    padding-inline: 12px;
    font-size: .64rem;
    letter-spacing: .06em;
  }
  .mobile-nav-footer {
    display: block;
    margin: 20px 0 0;
    color: #676d69;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-align: center;
    text-transform: uppercase;
  }

  .mobile-toggle[aria-expanded="true"] {
    border-color: rgba(168,255,25,.35);
    background: rgba(168,255,25,.08);
  }
  .mobile-toggle[aria-expanded="true"]::before {
    content: "×";
    color: var(--ocr-green);
    font-size: 1.55rem;
    font-weight: 300;
    transform: translateY(-1px);
  }
}

@media (max-width: 760px) {
  .primary-nav.is-open {
    top: 64px;
    padding-right: 18px;
    padding-left: 18px;
  }
  body.admin-bar .primary-nav.is-open { top: 110px; }
}

@media (max-width: 360px) {
  .mobile-nav-actions { grid-template-columns: 1fr; }
}


/* v0.56.0 — true viewport mobile navigation overlay */
.mobile-nav-panel {
  display: none;
}

@media (max-width: 1050px) {
  .desktop-nav,
  .header-actions {
    display: none !important;
  }

  .mobile-toggle {
    display: inline-grid;
    position: relative;
    z-index: 1202;
    place-items: center;
  }

  .mobile-nav-panel {
    position: fixed;
    z-index: 1190;
    inset: 64px 0 0;
    display: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    background:
      radial-gradient(circle at 94% 8%, rgba(168,255,25,.10), transparent 30%),
      radial-gradient(circle at 10% 92%, rgba(239,35,60,.07), transparent 34%),
      #040506;
  }

  body.admin-bar .mobile-nav-panel {
    top: 110px;
  }

  .mobile-nav-panel.is-open {
    display: block;
    animation: ocrMobilePanelIn .2s ease both;
  }

  @keyframes ocrMobilePanelIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: none; }
  }

  .mobile-nav-panel-inner {
    display: flex;
    width: min(100% - 36px, 560px);
    height: 100%;
    margin: 0 auto;
    padding: 25px 0 calc(24px + env(safe-area-inset-bottom));
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .mobile-nav-panel .mobile-nav-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  .mobile-nav-panel .mobile-nav-intro span {
    color: var(--ocr-green);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .mobile-nav-panel .mobile-nav-intro strong {
    color: #7b817d;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-align: right;
    text-transform: uppercase;
  }

  .mobile-nav-menu {
    flex: 0 0 auto;
  }

  .mobile-nav-panel ul {
    counter-reset: ocr-mobile-menu;
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
  }

  .mobile-nav-panel li {
    counter-increment: ocr-mobile-menu;
    width: 100%;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.085);
  }

  .mobile-nav-panel li:first-child {
    border-top: 1px solid rgba(255,255,255,.085);
  }

  .mobile-nav-panel li a {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 62px;
    padding: 0 2px !important;
    color: #f7f8f6 !important;
    font-size: clamp(1.12rem, 5.2vw, 1.36rem) !important;
    font-weight: 900 !important;
    letter-spacing: .025em !important;
    line-height: 1 !important;
    text-transform: uppercase;
  }

  .mobile-nav-panel li a::before {
    content: "0" counter(ocr-mobile-menu);
    color: var(--ocr-green);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .08em;
  }

  .mobile-nav-panel li a::after {
    content: "→";
    color: #555d58;
    font-size: 1rem;
    text-align: right;
  }

  .mobile-nav-panel li a:hover,
  .mobile-nav-panel li a:focus-visible {
    color: var(--ocr-green) !important;
  }

  .mobile-nav-panel .mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 22px 0 0;
  }

  .mobile-nav-panel .mobile-nav-actions .ocr-btn {
    display: inline-flex !important;
    min-height: 52px;
    padding-inline: 12px;
    font-size: .64rem !important;
  }

  .mobile-nav-panel .mobile-nav-footer {
    display: block;
    margin: auto 0 0;
    padding-top: 22px;
    color: #6e746f;
    font-size: .57rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-align: center;
    text-transform: uppercase;
  }

  body.menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .mobile-toggle[aria-expanded="true"] {
    border-color: rgba(168,255,25,.42);
    background: rgba(168,255,25,.10);
  }

  .mobile-toggle[aria-expanded="true"]::before {
    content: "×";
    color: var(--ocr-green);
    font-size: 1.55rem;
  }
}

@media (max-width: 760px) {
  .mobile-nav-panel {
    top: 64px;
  }

  body.admin-bar .mobile-nav-panel {
    top: 110px;
  }
}

@media (max-width: 360px) {
  .mobile-nav-panel .mobile-nav-actions {
    grid-template-columns: 1fr;
  }
}


/* v0.56.0 — complete homepage mobile optimization */
@media (max-width: 760px) {
  /* General rhythm */
  .ocr-section {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .ocr-title--sm {
    font-size: clamp(2.8rem, 12.6vw, 4rem);
    line-height: .94;
  }
  .ocr-lede {
    font-size: .96rem;
    line-height: 1.65;
  }
  .ocr-btn {
    min-height: 48px;
  }

  /* Stats: keep this compact instead of 3 tall stacked rows */
  .ocr-stats .ocr-wrap {
    padding-block: 24px 26px;
  }
  .ocr-stats-heading {
    padding: 0 4px 17px;
  }
  .ocr-stats-heading span {
    font-size: .6rem;
  }
  .ocr-stats-heading strong {
    max-width: 32ch;
    font-size: .6rem;
    line-height: 1.5;
  }
  .ocr-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ocr-stat {
    padding: 24px 5px 12px;
    border-right: 1px solid var(--ocr-line);
    border-bottom: 0;
  }
  .ocr-stat:last-child {
    border-right: 0;
  }
  .ocr-stat strong {
    font-size: clamp(1.75rem, 9.2vw, 2.55rem);
    line-height: .9;
  }
  .ocr-stat span {
    margin-top: 8px;
    font-size: .48rem;
    line-height: 1.35;
    letter-spacing: .09em;
  }

  /* Next OCR Experience */
  .ocr-next {
    padding-top: 46px;
  }
  .ocr-next-card {
    display: block;
    min-height: 0;
    border-radius: 22px;
  }
  .ocr-next-copy {
    padding: 28px 22px 30px;
  }
  .ocr-next-badge {
    margin-bottom: 15px;
    padding: 7px 10px;
    font-size: .58rem;
  }
  .ocr-next-eyebrow {
    margin-bottom: 10px;
    font-size: .65rem;
  }
  .ocr-next-title {
    font-size: clamp(2.8rem, 14vw, 4.25rem);
    line-height: .94;
  }
  .ocr-next-title--empty {
    font-size: clamp(3.2rem, 16vw, 4.8rem);
    line-height: .94;
  }
  .ocr-next-desc {
    margin-top: 15px;
    font-size: .92rem;
    line-height: 1.6;
  }
  .ocr-next-meta {
    gap: 8px 12px;
    margin-top: 16px;
    font-size: .82rem;
  }
  .ocr-event-countdown {
    gap: 6px;
    margin-top: 17px;
  }
  .ocr-event-countdown > div {
    padding: 10px 4px 9px;
    border-radius: 11px;
  }
  .ocr-event-countdown strong {
    font-size: clamp(1.55rem, 8vw, 2.15rem);
  }
  .ocr-event-countdown span {
    font-size: .48rem;
    letter-spacing: .08em;
  }
  .ocr-next-actions {
    margin-top: 22px;
  }
  .ocr-next-actions .ocr-btn {
    flex: 1 1 auto;
    padding-inline: 14px;
    font-size: .61rem;
    white-space: nowrap;
  }
  .ocr-next-media {
    min-height: 220px;
  }
  .ocr-next-media--empty {
    display: none;
  }

  /* Signature Group Pulls */
  .ocr-feature {
    min-height: 0;
    border-radius: 22px;
  }
  .ocr-feature-media {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    height: 235px;
  }
  .ocr-feature-media img {
    height: 235px;
  }
  .ocr-feature-media::before {
    background: linear-gradient(180deg, rgba(8,10,11,.04), rgba(8,10,11,.12) 62%, #080a0b 100%);
  }
  .ocr-feature::after {
    background: linear-gradient(180deg, transparent 0%, transparent 32%, rgba(8,10,11,.35) 45%, #080a0b 58%, #080a0b 100%);
  }
  .ocr-feature-content {
    position: relative;
    inset: auto;
    min-height: 0;
    padding: 25px 22px 29px;
  }
  .ocr-feature-title {
    margin: 8px 0 15px;
    font-size: clamp(3.25rem, 15.2vw, 4.45rem);
    line-height: .94;
  }
  .ocr-feature-content .ocr-lede {
    font-size: .94rem;
    line-height: 1.58;
  }
  .ocr-feature-content .ocr-countdown {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin: 22px 0 24px;
  }
  .ocr-feature-content .ocr-count {
    min-height: 88px;
    min-width: 0;
    padding: 13px 8px;
  }
  .ocr-feature-content .ocr-count strong {
    font-size: 1.55rem;
  }
  .ocr-feature-content .ocr-count span {
    margin-top: 8px;
    font-size: .49rem;
    letter-spacing: .055em;
  }
  .ocr-feature-actions {
    gap: 14px;
  }
  .ocr-feature-actions .ocr-btn {
    width: 100%;
  }
  .ocr-feature-textlink {
    width: 100%;
    text-align: center;
  }

  /* Red Screen Time */
  .ocr-redscreen {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .ocr-redscreen-hero {
    min-height: 0;
    border-radius: 22px;
  }
  .ocr-redscreen-visual {
    min-height: 260px;
  }
  .ocr-redscreen-visual img {
    min-height: 260px;
  }
  .ocr-redscreen-copy {
    padding: 28px 22px 30px;
  }
  .ocr-redscreen-title {
    margin-bottom: 18px;
    font-size: clamp(3.6rem, 17vw, 5rem);
    line-height: .94;
  }
  .ocr-redscreen-lede {
    font-size: .94rem;
    line-height: 1.62;
  }
  .ocr-redscreen-actions {
    margin-top: 22px;
  }
  .ocr-redscreen-actions .ocr-btn {
    width: 100%;
  }
  .ocr-redscreen-tags {
    margin-top: 20px;
  }
  .ocr-redscreen-games-wrap {
    margin-top: 28px;
  }
  .ocr-redscreen-games-title {
    font-size: clamp(2.65rem, 12vw, 3.5rem);
    line-height: .96;
  }
  .ocr-redscreen-games-copy {
    font-size: .9rem;
  }
  .ocr-redscreen-games {
    gap: 10px;
  }
  .ocr-redscreen-game {
    min-height: 230px;
  }
  .ocr-redscreen-game > a {
    min-height: 230px;
    padding: 20px;
  }
  .ocr-redscreen-game-top {
    margin-bottom: 20px;
  }
  .ocr-redscreen-game h3 {
    font-size: clamp(1.9rem, 10vw, 2.65rem);
    line-height: 1;
  }

  /* YouTube */
  .ocr-youtube-grid {
    gap: 14px;
    margin-top: 28px;
  }
  .ocr-youtube-body {
    padding: 18px 18px 20px;
  }
  .ocr-youtube-card h3 {
    min-height: 0;
    margin: 10px 0 18px;
    font-size: 1.18rem;
    line-height: 1.22;
  }
  .ocr-youtube-meta {
    font-size: .54rem;
  }
  .ocr-youtube-footer {
    margin-top: 18px;
  }
  .ocr-youtube-footer .ocr-btn {
    width: 100%;
  }

  /* Casinos */
  .ocr-casino-heading {
    gap: 20px;
  }
  .ocr-casino-heading .ocr-btn {
    width: 100%;
  }
  .ocr-casino-grid {
    gap: 14px;
    margin-top: 28px;
  }
  .ocr-casino-card {
    border-radius: 20px;
  }
  .ocr-casino-media,
  .ocr-casino-grid .ocr-casino-card:last-child .ocr-casino-media {
    aspect-ratio: 16 / 8.6;
  }
  .ocr-casino-fallback-mark {
    font-size: clamp(4.5rem, 23vw, 6.7rem);
  }
  .ocr-casino-body {
    padding: 19px;
  }
  .ocr-casino-card h3 {
    font-size: 1.5rem;
  }
  .ocr-casino-card p {
    font-size: .9rem;
    line-height: 1.55;
  }
  .ocr-casino-route {
    margin-top: 24px;
  }

  /* OCR Family */
  .ocr-family-shell {
    gap: 18px;
    padding: 18px;
  }
  .ocr-family-copy {
    padding: 0;
  }
  .ocr-family-copy .ocr-title {
    margin-bottom: 14px;
  }
  .ocr-family-values {
    margin-top: 20px;
  }
  .ocr-family-actions {
    margin-top: 20px;
  }
  .ocr-family-actions .ocr-btn {
    width: 100%;
  }
  .ocr-family-actions .ocr-feature-textlink {
    text-align: center;
  }
  .ocr-family-quote {
    margin-top: 20px;
    padding: 18px;
    font-size: .96rem;
  }
  .ocr-family-lead {
    min-height: 345px;
  }
  .ocr-family-lead-badge {
    padding: 13px 14px;
  }
  .ocr-family-grid {
    gap: 14px;
    margin-top: 16px;
  }
  .ocr-family-card-media {
    aspect-ratio: 16 / 8.8;
  }
  .ocr-family-card-body {
    padding: 18px;
  }
  .ocr-family-card-body h3 {
    font-size: 1.45rem;
  }

  /* Newsletter */
  .ocr-join-section {
    padding-top: 44px;
  }
  .ocr-newsletter {
    padding: 25px 20px;
    gap: 22px;
    border-radius: 24px;
  }
  .ocr-newsletter-title {
    margin-bottom: 15px;
    font-size: clamp(3rem, 14vw, 4.25rem);
    line-height: .94;
  }
  .ocr-newsletter-main .ocr-lede {
    font-size: .92rem;
  }
  .ocr-newsletter-form {
    gap: 8px;
    margin-top: 20px;
  }
  .ocr-newsletter-social {
    padding: 20px;
  }
  .ocr-newsletter-social h3 {
    font-size: 1.8rem;
  }
  .ocr-social-links a {
    padding: 13px;
  }

  /* Footer: brand first, then two-column navigation */
  .site-footer {
    padding-top: 32px;
    padding-bottom: 52px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }
  .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }
  .footer-grid > div:last-child {
    grid-column: 1 / -1;
  }
  .footer-title {
    font-size: .64rem;
  }
  .site-footer li {
    margin: 7px 0;
  }
  .site-footer a {
    font-size: .92rem;
  }
  .footer-legal {
    margin-top: 28px;
    padding-top: 20px;
    font-size: .74rem;
    line-height: 1.55;
  }
  .footer-bottom-row {
    gap: 12px;
  }
}

/* Slight tablet refinement so cards do not become too wide before mobile mode. */
@media (min-width: 761px) and (max-width: 980px) {
  .ocr-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .ocr-next-card {
    border-radius: 24px;
  }
  .ocr-feature {
    min-height: 680px;
  }
  .ocr-youtube-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ocr-youtube-grid .ocr-youtube-card:last-child {
    grid-column: 1 / -1;
    max-width: 620px;
  }
  .ocr-casino-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* v0.56.0 — Signature Group Pull archive + event pages */
.ocr-gp-hero {
  position: relative;
  overflow: hidden;
  padding: 170px 0 92px;
  border-bottom: 1px solid rgba(168,255,25,.14);
  background:
    radial-gradient(circle at 82% 32%, rgba(168,255,25,.09), transparent 23%),
    radial-gradient(circle at 92% 80%, rgba(239,35,60,.06), transparent 27%),
    linear-gradient(180deg, #060808, #090b0b);
}
.ocr-gp-hero::after {
  content:"";
  position:absolute;
  right:-3vw;
  top:80px;
  width:46vw;
  height:46vw;
  border:1px solid rgba(168,255,25,.08);
  border-radius:50%;
  box-shadow: 0 0 0 5vw rgba(168,255,25,.018), 0 0 0 10vw rgba(168,255,25,.012);
  pointer-events:none;
}
.ocr-gp-page-title {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 8px 0 26px;
  color:#fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(5rem, 10vw, 10rem);
  line-height:.82;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.ocr-gp-page-lede {
  position:relative;
  z-index:1;
  max-width: 840px;
  margin:0;
  color:#bbc0bc;
  font-size:clamp(1.05rem,1.7vw,1.35rem);
  line-height:1.7;
}
.ocr-gp-history {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1000px;
  margin-top:42px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.025);
}
.ocr-gp-history > div { padding:24px; border-right:1px solid rgba(255,255,255,.08); }
.ocr-gp-history > div:last-child { border-right:0; }
.ocr-gp-history strong {
  display:block;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(2.3rem,4vw,4.2rem);
  line-height:.9;
}
.ocr-gp-history span {
  display:block;
  margin-top:8px;
  color:var(--ocr-green);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ocr-gp-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:38px;
  margin-bottom:34px;
}
.ocr-gp-section-head > p {
  max-width:600px;
  margin:0 0 7px;
  color:var(--ocr-muted);
  line-height:1.65;
}
.ocr-gp-next-card {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  min-height:580px;
  overflow:hidden;
  border:1px solid rgba(168,255,25,.22);
  border-radius:28px;
  background:#090b0b;
  box-shadow:var(--ocr-shadow);
}
.ocr-gp-next-media { position:relative; min-height:580px; overflow:hidden; }
.ocr-gp-next-media::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent 52%,#090b0b 100%), linear-gradient(180deg,transparent 60%,rgba(9,11,11,.55));
}
.ocr-gp-next-media img { width:100%; height:100%; object-fit:cover; }
.ocr-gp-next-fallback {
  display:grid;
  height:100%;
  min-height:580px;
  place-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 50%, rgba(168,255,25,.13), transparent 26%),
    linear-gradient(145deg,#111514,#070909);
}
.ocr-gp-next-fallback span {
  color:#fff; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:8rem; line-height:.8;
}
.ocr-gp-next-fallback strong { margin-top:18px; color:var(--ocr-green); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; }
.ocr-gp-next-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,5vw,68px);
}
.ocr-gp-next-copy h3 {
  margin:16px 0 20px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(3.8rem,6.4vw,7rem);
  line-height:.88;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.ocr-gp-next-copy > p { color:var(--ocr-muted); line-height:1.65; }
.ocr-gp-meta {
  display:flex;
  flex-direction:column;
  gap:9px;
  color:#d5d8d5;
  font-size:.92rem;
}
.ocr-gp-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ocr-gp-loading {
  display:grid;
  grid-template-columns:1fr .8fr;
  min-height:470px;
  overflow:hidden;
  border:1px solid rgba(168,255,25,.22);
  border-radius:28px;
  background:
    radial-gradient(circle at 82% 70%, rgba(239,35,60,.08), transparent 25%),
    linear-gradient(135deg,#0c110d,#070909 60%);
}
.ocr-gp-loading > div:first-child { align-self:center; padding:clamp(36px,6vw,74px); }
.ocr-gp-loading h3 {
  margin:18px 0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(4.5rem,8vw,8rem);
  line-height:.86;
  text-transform:uppercase;
}
.ocr-gp-loading p { max-width:660px; color:var(--ocr-muted); line-height:1.7; }
.ocr-gp-loading-mark {
  display:grid;
  place-content:center;
  color:rgba(255,255,255,.045);
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(6rem,11vw,12rem);
  line-height:.72;
  text-align:center;
}
.ocr-gp-how { background:#070909; }
.ocr-gp-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.ocr-gp-steps article {
  min-height:260px;
  padding:26px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.ocr-gp-steps article > span {
  color:rgba(255,255,255,.16);
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:2.6rem;
}
.ocr-gp-steps h3 { margin:30px 0 10px; font-size:1.4rem; }
.ocr-gp-steps p { margin:0; color:var(--ocr-muted); line-height:1.65; font-size:.9rem; }
.ocr-gp-rule-note {
  margin:20px 0 0;
  padding:18px 20px;
  border-left:3px solid var(--ocr-green);
  border-radius:12px;
  color:#aeb4af;
  background:rgba(255,255,255,.025);
  font-size:.83rem;
  line-height:1.6;
}
.ocr-gp-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ocr-gp-card {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
  transition:transform .22s ease,border-color .22s ease;
}
.ocr-gp-card:hover { transform:translateY(-5px); border-color:rgba(168,255,25,.3); }
.ocr-gp-card > a { display:block; height:100%; }
.ocr-gp-card-media { position:relative; aspect-ratio:16/10; overflow:hidden; background:#101312; }
.ocr-gp-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ocr-gp-card:hover img { transform:scale(1.035); }
.ocr-gp-card-media time {
  position:absolute; left:14px; bottom:14px;
  padding:7px 9px; border:1px solid rgba(255,255,255,.15); border-radius:999px;
  color:#fff; background:rgba(4,5,6,.76); backdrop-filter:blur(10px);
  font-size:.58rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
}
.ocr-gp-card-fallback {
  display:grid; height:100%; place-content:center; text-align:center;
  background:radial-gradient(circle at 50% 48%,rgba(168,255,25,.11),transparent 28%),#101312;
}
.ocr-gp-card-fallback span { color:#fff; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:5rem; line-height:.8; }
.ocr-gp-card-fallback strong { margin-top:12px; color:var(--ocr-green); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; }
.ocr-gp-card-body { padding:22px; }
.ocr-gp-card-body h3 { margin:9px 0 10px; font-size:1.55rem; line-height:1.08; }
.ocr-gp-card-body > p { margin:0; color:var(--ocr-muted); }
.ocr-gp-mini-stats { display:flex; gap:18px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); }
.ocr-gp-mini-stats span { color:#8c928e; font-size:.6rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ocr-gp-mini-stats strong { display:block; color:#fff; font-size:1rem; letter-spacing:0; text-transform:none; }
.ocr-gp-highlight { margin-top:15px; color:#d7dbd7; font-size:.82rem; line-height:1.5; }
.ocr-gp-card-link { display:block; margin-top:20px; color:#fff; font-size:.66rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.ocr-gp-card-link b { color:var(--ocr-green); }
.ocr-gp-empty {
  padding:40px;
  border:1px dashed rgba(168,255,25,.24);
  border-radius:20px;
  text-align:center;
}
.ocr-gp-empty strong { color:#fff; font-size:1.5rem; }
.ocr-gp-empty p { margin:10px 0 0; color:var(--ocr-muted); }

/* single group pull */
.ocr-gp-single-hero {
  position:relative;
  min-height:700px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:160px 0 78px;
  background:#080a0b;
}
.ocr-gp-single-bg { position:absolute; inset:0; }
.ocr-gp-single-bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(4,5,6,.98) 0%,rgba(4,5,6,.88) 42%,rgba(4,5,6,.36) 75%,rgba(4,5,6,.48) 100%),linear-gradient(180deg,rgba(4,5,6,.08),#050607 100%);
}
.ocr-gp-single-bg img { width:100%; height:100%; object-fit:cover; }
.ocr-gp-single-hero-inner { position:relative; z-index:2; }
.ocr-gp-back { display:inline-block; margin-bottom:28px; color:#a7ada8; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.ocr-gp-single-hero h1 {
  max-width:1000px;
  margin:10px 0 24px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(4.7rem,8.5vw,9rem);
  line-height:.86;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.ocr-gp-single-countdown { max-width:600px; margin:28px 0; }
.ocr-gp-single-stats { padding:0 0 24px; background:#050607; }
.ocr-gp-single-stats .ocr-gp-history { margin-top:0; transform:translateY(-1px); }
.ocr-gp-single-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:52px;
  align-items:start;
}
.ocr-gp-story { min-width:0; }
.ocr-gp-result {
  margin-bottom:28px;
  padding:20px 22px;
  border:1px solid rgba(168,255,25,.2);
  border-left:4px solid var(--ocr-green);
  border-radius:15px;
  background:rgba(168,255,25,.035);
}
.ocr-gp-result span { display:block; color:var(--ocr-green); font-size:.62rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.ocr-gp-result strong { display:block; margin-top:8px; color:#fff; font-size:1.2rem; }
.ocr-gp-single-intro { color:#e2e4e1; font-size:1.25rem; line-height:1.7; }
.ocr-prose { color:#c4c8c4; line-height:1.8; }
.ocr-prose h2,.ocr-prose h3 { color:#fff; margin-top:1.5em; }
.ocr-prose a { color:var(--ocr-green); text-decoration:underline; }
.ocr-gp-sidebar { position:sticky; top:115px; display:grid; gap:15px; }
.ocr-gp-sidebar-card {
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#0d1010;
}
.ocr-gp-sidebar-card p { margin:18px 0 0; color:#c6cac6; line-height:1.5; }
.ocr-gp-sidebar-card p strong { display:block; margin-bottom:3px; color:#808681; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; }
.ocr-gp-sidebar-card .ocr-btn { width:100%; margin-top:22px; }
.ocr-gp-sidebar-note p { color:#919792; font-size:.83rem; }
.ocr-gp-watch-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:34px 38px;
  border:1px solid rgba(168,255,25,.22);
  border-radius:22px;
  background:linear-gradient(135deg,#101810,#090b0b);
}
.ocr-gp-watch-card strong { display:block; margin-top:8px; color:#fff; font-size:clamp(1.7rem,3vw,3rem); }
.ocr-gp-watch-card > b {
  display:grid; width:70px; height:70px; place-items:center; flex:0 0 auto;
  border-radius:50%; color:#050607; background:var(--ocr-green); font-size:1.2rem;
}

@media (max-width: 980px) {
  .ocr-gp-next-card { grid-template-columns:1fr; }
  .ocr-gp-next-media { min-height:400px; }
  .ocr-gp-next-media::after { background:linear-gradient(180deg,transparent 55%,#090b0b 100%); }
  .ocr-gp-steps { grid-template-columns:1fr 1fr; }
  .ocr-gp-grid { grid-template-columns:1fr 1fr; }
  .ocr-gp-single-layout { grid-template-columns:1fr; }
  .ocr-gp-sidebar { position:static; grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
  .ocr-gp-hero { padding:125px 0 58px; }
  .ocr-gp-page-title { font-size:clamp(4.2rem,20vw,6.2rem); line-height:.86; }
  .ocr-gp-page-lede { font-size:.96rem; }
  .ocr-gp-history { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; border-radius:16px; }
  .ocr-gp-history > div { padding:16px 7px; text-align:center; }
  .ocr-gp-history strong { font-size:clamp(1.8rem,9vw,2.6rem); }
  .ocr-gp-history span { font-size:.45rem; line-height:1.35; letter-spacing:.07em; }
  .ocr-gp-section-head { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:24px; }
  .ocr-gp-section-head > p { font-size:.9rem; }
  .ocr-gp-next-card { min-height:0; border-radius:22px; }
  .ocr-gp-next-media { min-height:255px; }
  .ocr-gp-next-copy { padding:26px 22px 28px; }
  .ocr-gp-next-copy h3 { font-size:clamp(3rem,15vw,4.5rem); line-height:.92; }
  .ocr-gp-actions .ocr-btn { width:100%; }
  .ocr-gp-loading { grid-template-columns:1fr; min-height:0; }
  .ocr-gp-loading > div:first-child { padding:30px 22px; }
  .ocr-gp-loading h3 { font-size:clamp(3.8rem,18vw,5.4rem); line-height:.9; }
  .ocr-gp-loading-mark { display:none; }
  .ocr-gp-steps { grid-template-columns:1fr; gap:10px; }
  .ocr-gp-steps article { min-height:0; padding:22px; }
  .ocr-gp-steps h3 { margin-top:18px; }
  .ocr-gp-grid { grid-template-columns:1fr; gap:13px; }
  .ocr-gp-single-hero { min-height:620px; padding:125px 0 55px; }
  .ocr-gp-single-hero h1 { font-size:clamp(3.8rem,18vw,5.7rem); line-height:.9; }
  .ocr-gp-sidebar { grid-template-columns:1fr; }
  .ocr-gp-watch-card { padding:24px; }
  .ocr-gp-watch-card > b { width:54px; height:54px; }
}


/* v0.56.0 — The Events Calendar Pro + Event Tickets Plus integration */
.ocr-events-shell {
  min-height: 70vh;
  padding-top: 86px;
  background: #050607;
}
.ocr-event-single {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  color: #fff;
}
.ocr-event-single .tribe-events-notices {
  width: min(calc(100% - 40px), var(--ocr-max));
  margin: 20px auto 0;
}
.ocr-event-hero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 150px 0 75px;
  border-bottom: 1px solid rgba(168,255,25,.14);
  background:
    radial-gradient(circle at 78% 35%, rgba(168,255,25,.07), transparent 25%),
    #080a0b;
}
.ocr-event-hero-media {
  position: absolute;
  inset: 0;
}
.ocr-event-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,4,5,.98) 0%, rgba(3,4,5,.90) 39%, rgba(3,4,5,.45) 72%, rgba(3,4,5,.55) 100%),
    linear-gradient(180deg, rgba(3,4,5,.10) 25%, #050607 100%);
}
.ocr-event-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ocr-event-hero-inner {
  position: relative;
  z-index: 2;
}
.ocr-event-hero h1 {
  max-width: 1050px;
  margin: 10px 0 24px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.7rem, 8.4vw, 9rem);
  line-height: .86;
  letter-spacing: -.042em;
  text-transform: uppercase;
}
.ocr-event-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  max-width: 950px;
  color: #d7dad7;
  font-size: .95rem;
}
.ocr-event-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ocr-event-hero-countdown {
  max-width: 620px;
  margin: 28px 0 26px;
}
.ocr-event-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 55px;
  align-items: start;
}
.ocr-event-main {
  min-width: 0;
}
.ocr-event-main .ocr-prose {
  color: #c8ccc8;
  font-size: 1.02rem;
  line-height: 1.82;
}
.ocr-event-main .ocr-prose > *:first-child {
  margin-top: 0;
}
.ocr-event-main .ocr-prose h2,
.ocr-event-main .ocr-prose h3,
.ocr-event-main .ocr-prose h4 {
  color: #fff;
}
.ocr-event-main .ocr-prose a {
  color: var(--ocr-green);
  text-decoration: underline;
}
.ocr-event-sidebar {
  position: sticky;
  top: 112px;
  display: grid;
  gap: 16px;
}
.ocr-event-detail-card {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background: #0d1010;
}
.ocr-event-detail-card p {
  margin: 18px 0 0;
  color: #d5d8d5;
  line-height: 1.55;
}
.ocr-event-detail-card p strong {
  display: block;
  margin-bottom: 4px;
  color: #7f8681;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.ocr-event-detail-card .ocr-feature-textlink {
  display: inline-block;
  margin-top: 20px;
}
.ocr-event-responsible p {
  color: #949a95;
  font-size: .82rem;
}
.ocr-event-reservations {
  margin-top: 48px;
  scroll-margin-top: 120px;
}
.ocr-event-section-heading {
  margin-bottom: 22px;
}
.ocr-event-section-heading h2 {
  margin: 3px 0 8px;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2.8rem, 4.5vw, 4.7rem);
  line-height: .95;
  text-transform: uppercase;
}
.ocr-event-section-heading > p:last-child {
  margin: 0;
  color: var(--ocr-muted);
}
.ocr-event-after-meta {
  margin-top: 36px;
}

/* Event Tickets / Tickets Plus — new and legacy selectors */
.ocr-tec-single .tribe-tickets__tickets-wrapper,
.ocr-tec-single .tribe-tickets__rsvp-wrapper,
.ocr-tec-single .tribe-events-tickets,
.ocr-tec-single .tribe-common.event-tickets {
  max-width: none !important;
  margin: 0 !important;
  color: #fff !important;
}
.ocr-tec-single .tribe-tickets__tickets-form,
.ocr-tec-single .tribe-tickets__rsvp-form,
.ocr-tec-single .tribe-events-tickets,
.ocr-tec-single .tribe-tickets__tickets-wrapper {
  border-color: rgba(168,255,25,.18) !important;
  border-radius: 20px !important;
  background: linear-gradient(160deg, rgba(168,255,25,.04), rgba(255,255,255,.018)) !important;
  box-shadow: none !important;
}
.ocr-tec-single .tribe-tickets__tickets-item,
.ocr-tec-single .tribe-tickets__rsvp-item,
.ocr-tec-single .tribe-events-tickets .tribe-events-tickets-title,
.ocr-tec-single .tribe-events-tickets .tickets_name {
  border-color: rgba(255,255,255,.09) !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-content-title,
.ocr-tec-single .tribe-tickets__tickets-title,
.ocr-tec-single .tribe-tickets__rsvp-title,
.ocr-tec-single .tribe-events-tickets .tickets_name,
.ocr-tec-single .tribe-common h1,
.ocr-tec-single .tribe-common h2,
.ocr-tec-single .tribe-common h3 {
  color: #fff !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-extra-price,
.ocr-tec-single .tribe-tickets__tickets-footer-total-wrap,
.ocr-tec-single .tribe-tickets__rsvp-actions-rsvp-going,
.ocr-tec-single .tribe-common .tribe-common-b2,
.ocr-tec-single .tribe-common .tribe-common-b3 {
  color: #d8dcd8 !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-content-description,
.ocr-tec-single .tribe-tickets__tickets-item-extra-available,
.ocr-tec-single .tribe-common .tribe-common-b1,
.ocr-tec-single .tribe-common .tribe-common-h7,
.ocr-tec-single .tribe-common .tribe-common-h8 {
  color: #989e99 !important;
}
.ocr-tec-single .tribe-common-c-btn,
.ocr-tec-single button.tribe-common-c-btn,
.ocr-tec-single .tribe-tickets__tickets-buy,
.ocr-tec-single .tribe-tickets__rsvp-actions-button-going,
.ocr-tec-single .tribe-tickets__rsvp-actions-button-not-going,
.ocr-tec-single .tribe-events-button {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #050607 !important;
  background: var(--ocr-green) !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 28px rgba(168,255,25,.13) !important;
}
.ocr-tec-single .tribe-common-c-btn:hover,
.ocr-tec-single .tribe-tickets__tickets-buy:hover,
.ocr-tec-single .tribe-events-button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.ocr-tec-single input,
.ocr-tec-single select,
.ocr-tec-single textarea {
  border-color: rgba(255,255,255,.16) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: rgba(0,0,0,.32) !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-quantity-number-input {
  color: #fff !important;
}
.ocr-tec-single .tribe-events-single-section,
.ocr-tec-single .tribe-events-event-meta,
.ocr-tec-single .tribe-events-meta-group {
  color: #d3d7d3;
  background: transparent !important;
  border-color: rgba(255,255,255,.09) !important;
}
.ocr-tec-single .tribe-events-single-section a,
.ocr-tec-single .tribe-events-event-meta a,
.ocr-tec-single .tribe-tickets__tickets-wrapper a {
  color: var(--ocr-green) !important;
}
.ocr-tec-single .tribe-events-sub-nav {
  display: none;
}

/* Event Tickets attendee registration modal/page compatibility */
.tribe-tickets__registration,
.tribe-tickets__registration-page,
.tribe-dialog__wrapper {
  --tec-color-background: #090b0b;
  --tec-color-text-primary: #f4f6f3;
  --tec-color-accent-primary: #a8ff19;
}
.tribe-tickets__registration-page {
  background: #050607 !important;
}
.tribe-tickets__registration-page h1,
.tribe-tickets__registration-page h2,
.tribe-tickets__registration-page h3 {
  color: #fff !important;
}

/* Block-editor event fallback: inherit OCR styling even when TEC loads the block single template. */
.single-tribe_events .tribe-block__events-link,
.single-tribe_events .tribe-block__event-price,
.single-tribe_events .tribe-block__venue,
.single-tribe_events .tribe-block__organizer__details,
.single-tribe_events .tribe-events-schedule {
  color: #d4d8d4;
}
.single-tribe_events .tribe-block__event-price,
.single-tribe_events .tribe-block__venue,
.single-tribe_events .tribe-block__organizer__details {
  border-color: rgba(255,255,255,.10) !important;
  background: #0d1010 !important;
}
.single-tribe_events .tribe-block__event-price a,
.single-tribe_events .tribe-block__venue a,
.single-tribe_events .tribe-block__organizer__details a {
  color: var(--ocr-green) !important;
}

@media (max-width: 980px) {
  .ocr-event-layout {
    grid-template-columns: 1fr;
  }
  .ocr-event-sidebar {
    position: static;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .ocr-events-shell {
    padding-top: 64px;
  }
  body.admin-bar .ocr-events-shell {
    padding-top: 64px;
  }
  .ocr-event-hero {
    min-height: 620px;
    padding: 120px 0 52px;
  }
  .ocr-event-hero h1 {
    font-size: clamp(3.8rem, 18vw, 5.6rem);
    line-height: .90;
  }
  .ocr-event-hero-meta {
    flex-direction: column;
    gap: 8px;
    font-size: .88rem;
  }
  .ocr-event-hero-countdown {
    margin: 22px 0;
  }
  .ocr-event-body {
    padding-top: 42px;
  }
  .ocr-event-sidebar {
    grid-template-columns: 1fr;
  }
  .ocr-event-reservations {
    margin-top: 38px;
  }
  .ocr-event-section-heading h2 {
    font-size: clamp(2.7rem, 13vw, 3.8rem);
  }
}


/* v0.56.0 — live Event Tickets inventory presentation */
.ocr-next-ticket-note,
.ocr-gp-reservation-note,
.ocr-event-hero-note {
  margin: 12px 0 0;
  color: #b9beb9;
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.5;
}
.ocr-event-hero-note {
  max-width: 620px;
  color: #cbd0cb;
}
.ocr-ticket-snapshot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.ocr-ticket-snapshot-card {
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(168,255,25,.20);
  border-radius: 20px;
  background:
    radial-gradient(circle at 95% 0%, rgba(168,255,25,.08), transparent 34%),
    linear-gradient(155deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}
.ocr-ticket-snapshot-card.is-sold-out {
  border-color: rgba(239,35,60,.22);
  background:
    radial-gradient(circle at 95% 0%, rgba(239,35,60,.08), transparent 34%),
    linear-gradient(155deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.ocr-ticket-snapshot-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.ocr-ticket-snapshot-top > span {
  color: var(--ocr-green);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 2.6rem;
  line-height: .9;
}
.ocr-ticket-snapshot-top > b {
  padding: 6px 9px;
  border: 1px solid rgba(168,255,25,.24);
  border-radius: 999px;
  color: var(--ocr-green);
  background: rgba(168,255,25,.055);
  font-size: .52rem;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.ocr-ticket-snapshot-card.is-sold-out .ocr-ticket-snapshot-top > b {
  border-color: rgba(239,35,60,.28);
  color: #ff6677;
  background: rgba(239,35,60,.055);
}
.ocr-ticket-snapshot-card h3 {
  margin: 17px 0 20px;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.18;
}
.ocr-ticket-numbers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.ocr-ticket-numbers > div {
  min-width: 0;
  padding: 12px 7px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 11px;
  background: rgba(0,0,0,.16);
  text-align: center;
}
.ocr-ticket-numbers strong {
  display: block;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
}
.ocr-ticket-numbers span {
  display: block;
  margin-top: 6px;
  color: #747b76;
  font-size: .46rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ocr-ticket-progress {
  height: 7px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
}
.ocr-ticket-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--ocr-green), #efff99);
  box-shadow: 0 0 16px rgba(168,255,25,.25);
}
.ocr-ticket-snapshot-card.is-sold-out .ocr-ticket-progress i {
  background: linear-gradient(90deg, #d91f3c, #ff7181);
}
.ocr-ticket-progress-label,
.ocr-ticket-open {
  margin: 8px 0 0;
  color: #858c87;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ocr-ticket-total {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 26px;
  padding: 15px 18px;
  border-left: 3px solid var(--ocr-green);
  border-radius: 12px;
  background: rgba(168,255,25,.035);
}
.ocr-ticket-total strong {
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 2rem;
  line-height: .9;
}
.ocr-ticket-total span {
  color: #a5aba6;
  font-size: .78rem;
  line-height: 1.45;
}
.ocr-live-ticket-form {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ocr-live-ticket-label {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 15px;
}
.ocr-live-ticket-label span {
  color: var(--ocr-green);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.ocr-live-ticket-label strong {
  color: #7d847f;
  font-size: .68rem;
  font-weight: 750;
}
.ocr-gp-card-registration {
  margin-top: 14px;
  color: #8f9691;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ocr-gp-card-registration strong {
  color: var(--ocr-green);
  font-size: 1rem;
}

/* Give Event Tickets' own row layout a stronger OCR appearance. */
.ocr-tec-single .tribe-tickets__tickets-item {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-content-title-container {
  align-items: center !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-extra-available {
  font-weight: 800 !important;
}
.ocr-tec-single .tribe-tickets__tickets-item-quantity-add,
.ocr-tec-single .tribe-tickets__tickets-item-quantity-remove {
  border-color: rgba(168,255,25,.24) !important;
  color: var(--ocr-green) !important;
}
.ocr-tec-single .tribe-tickets__tickets-footer-quantity-number,
.ocr-tec-single .tribe-tickets__tickets-footer-total {
  color: #fff !important;
}

@media (max-width: 760px) {
  .ocr-ticket-snapshot {
    grid-template-columns: 1fr;
  }
  .ocr-ticket-snapshot-card {
    padding: 20px;
  }
  .ocr-ticket-snapshot-top > span {
    font-size: 2.35rem;
  }
  .ocr-ticket-numbers strong {
    font-size: 1.15rem;
  }
  .ocr-live-ticket-label {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}


/* v0.56.0 — Event page / Event Tickets polish */
@media (min-width: 981px) {
  .ocr-event-hero {
    min-height: 610px;
    padding-top: 132px;
    padding-bottom: 56px;
  }

  .ocr-event-hero h1 {
    max-width: 1220px;
    font-size: clamp(4.2rem, 6.2vw, 7.2rem);
    line-height: .88;
    letter-spacing: -.038em;
  }

  .ocr-event-hero-countdown {
    margin-top: 22px;
    margin-bottom: 20px;
  }
}

/* Let the real Event Tickets Plus reservation interface use the full main column. */
.ocr-tec-single .ocr-live-ticket-form .tribe-common.event-tickets,
.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-wrapper,
.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-form,
.ocr-tec-single .ocr-live-ticket-form form.tribe-tickets__tickets-form,
.ocr-tec-single .ocr-live-ticket-form .tribe-events-tickets {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-form {
  padding: 28px 30px !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-item {
  grid-template-columns: minmax(0, 1fr) minmax(140px, auto) minmax(105px, auto) !important;
  column-gap: 24px !important;
}

/* On OCR group pulls, $0 is the online reservation price — not the buy-in. */
.ocr-event-reservations.is-free-reservation .tribe-tickets__tickets-item-extra-price {
  font-size: 0 !important;
  white-space: nowrap;
}
.ocr-event-reservations.is-free-reservation .tribe-tickets__tickets-item-extra-price::after {
  content: "FREE RESERVATION";
  color: var(--ocr-green);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ocr-event-reservations.is-free-reservation .tribe-tickets__tickets-footer-total-wrap {
  display: none !important;
}

.ocr-event-reservations.is-free-reservation .tribe-tickets__tickets-buy {
  min-width: 190px !important;
}

/* Native Event Tickets form should feel like part of OCR, not a plugin dropped into the page. */
.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-form,
.ocr-tec-single .ocr-live-ticket-form .tribe-events-tickets {
  border: 1px solid rgba(168,255,25,.22) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(168,255,25,.045), transparent 28%),
    linear-gradient(150deg, #0e120d, #090b0a) !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-title {
  font-weight: 850 !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-item-content-title {
  color: #f4f6f3 !important;
  font-weight: 850 !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-item-extra-available {
  color: #e9ece9 !important;
}

.ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-item-quantity-number-input {
  min-width: 52px !important;
  min-height: 48px !important;
  text-align: center !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
}

/* Re-theme The Events Calendar's subscribe / Add to Calendar control. */
.ocr-tec-single .tribe-events-c-subscribe-dropdown__button,
.ocr-tec-single .tribe-events-c-subscribe-dropdown__button-text,
.ocr-tec-single .tribe-events-c-subscribe-dropdown button,
.ocr-tec-single .tribe-events-c-subscribe-dropdown a {
  border-color: rgba(255,255,255,.16) !important;
  color: #f4f6f3 !important;
  background: #0d1010 !important;
  font-weight: 850 !important;
}
.ocr-tec-single .tribe-events-c-subscribe-dropdown__button:hover,
.ocr-tec-single .tribe-events-c-subscribe-dropdown__button-text:hover,
.ocr-tec-single .tribe-events-c-subscribe-dropdown button:hover,
.ocr-tec-single .tribe-events-c-subscribe-dropdown a:hover {
  border-color: rgba(168,255,25,.42) !important;
  color: var(--ocr-green) !important;
  background: #111611 !important;
}
.ocr-tec-single .tribe-events-c-subscribe-dropdown svg,
.ocr-tec-single .tribe-events-c-subscribe-dropdown path {
  color: var(--ocr-green) !important;
  fill: currentColor !important;
}

@media (max-width: 760px) {
  .ocr-event-hero {
    min-height: 550px;
    padding-top: 112px;
    padding-bottom: 44px;
  }

  .ocr-event-hero h1 {
    font-size: clamp(3.25rem, 15vw, 4.65rem);
    line-height: .91;
  }

  .ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-form {
    padding: 20px 16px !important;
  }

  .ocr-tec-single .ocr-live-ticket-form .tribe-tickets__tickets-item {
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
  }

  .ocr-event-reservations.is-free-reservation .tribe-tickets__tickets-buy {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* v0.56.0 — Group Pulls landing page polish */
.ocr-gp-page-title {
  max-width: 900px;
  font-size: clamp(4.8rem, 8.7vw, 8.8rem);
  line-height: .84;
}

.ocr-gp-next-card {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  min-height: 510px;
}

.ocr-gp-next-media {
  min-height: 510px;
  background:
    radial-gradient(circle at 55% 45%, rgba(168,255,25,.18), transparent 28%),
    radial-gradient(circle at 80% 85%, rgba(239,35,60,.10), transparent 25%),
    #080b09;
}

.ocr-gp-next-media::after {
  background:
    linear-gradient(90deg, rgba(8,11,9,.05) 35%, rgba(9,11,11,.92) 100%),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.25));
}

.ocr-gp-next-media img {
  opacity: .76;
  object-position: center center;
  filter: saturate(1.08) contrast(1.05);
}

.ocr-gp-media-stamp {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 28px;
  max-width: 280px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(4,6,5,.70);
  backdrop-filter: blur(12px);
}

.ocr-gp-media-stamp span {
  display: block;
  margin-bottom: 6px;
  color: var(--ocr-green);
  font-size: .55rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ocr-gp-media-stamp strong {
  display: block;
  color: #fff;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.9rem;
  line-height: .9;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.ocr-gp-next-copy {
  padding: clamp(34px, 4vw, 54px);
}

.ocr-gp-next-copy h3 {
  max-width: 780px;
  margin: 17px 0 18px;
  font-size: clamp(3rem, 4.8vw, 5.25rem);
  line-height: .90;
  letter-spacing: -.035em;
}

.ocr-gp-next-copy > p {
  max-width: 720px;
}

.ocr-gp-reservation-note {
  max-width: 700px;
}

.ocr-gp-ticket-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}

.ocr-gp-ticket-pill {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(168,255,25,.16);
  border-radius: 12px;
  background: rgba(168,255,25,.025);
}

.ocr-gp-ticket-pill strong {
  display: block;
  color: var(--ocr-green);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.7rem;
  line-height: .9;
}

.ocr-gp-ticket-pill span {
  display: block;
  margin-top: 5px;
  color: #919792;
  font-size: .59rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.ocr-gp-next-copy .ocr-event-countdown {
  max-width: 590px;
  margin-top: 20px;
}

.ocr-gp-next-copy .ocr-event-countdown > div {
  min-height: 86px;
}

.ocr-gp-next-copy .ocr-event-countdown strong {
  font-size: clamp(1.7rem, 2.5vw, 2.5rem);
}

.ocr-gp-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.ocr-gp-final-actions .ocr-btn {
  min-width: 190px;
}

.ocr-gp-past + .ocr-section,
.ocr-gp-how + .ocr-section--tight {
  padding-top: 44px;
}

@media (max-width: 980px) {
  .ocr-gp-next-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .ocr-gp-next-media {
    min-height: 360px;
  }

  .ocr-gp-next-media::after {
    background:
      linear-gradient(180deg, rgba(8,11,9,.04) 45%, rgba(9,11,11,.90) 100%);
  }

  .ocr-gp-next-copy h3 {
    font-size: clamp(3.1rem, 8vw, 5rem);
  }
}

@media (max-width: 760px) {
  .ocr-gp-page-title {
    font-size: clamp(4rem, 18.5vw, 5.8rem);
    line-height: .87;
  }

  .ocr-gp-next-media {
    min-height: 245px;
  }

  .ocr-gp-media-stamp {
    left: 18px;
    right: 18px;
    bottom: 17px;
    max-width: none;
  }

  .ocr-gp-media-stamp strong {
    font-size: 1.55rem;
  }

  .ocr-gp-next-copy {
    padding: 24px 20px 27px;
  }

  .ocr-gp-next-copy h3 {
    font-size: clamp(2.75rem, 13.5vw, 4.1rem);
    line-height: .92;
  }

  .ocr-gp-ticket-strip {
    grid-template-columns: 1fr;
  }

  .ocr-gp-final-actions {
    flex-direction: column;
  }

  .ocr-gp-final-actions .ocr-btn {
    width: 100%;
  }
}


/* v0.56.0 — final public-facing Group Pull polish */
.ocr-gp-next-fallback {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(168,255,25,.14), transparent 26%),
    radial-gradient(circle at 68% 78%, rgba(239,35,60,.07), transparent 24%),
    linear-gradient(145deg,#111514,#070909);
}
.ocr-gp-next-fallback::before,
.ocr-gp-next-fallback::after {
  content:"";
  position:absolute;
  border:1px solid rgba(168,255,25,.08);
  border-radius:50%;
}
.ocr-gp-next-fallback::before {
  width:360px;
  height:360px;
  left:-120px;
  bottom:-120px;
}
.ocr-gp-next-fallback::after {
  width:520px;
  height:520px;
  right:-250px;
  top:-230px;
}
.ocr-gp-next-fallback span,
.ocr-gp-next-fallback strong,
.ocr-gp-next-fallback em {
  position:relative;
  z-index:1;
}
.ocr-gp-next-fallback span {
  font-size: clamp(5.5rem, 9vw, 8rem);
  opacity:.92;
}
.ocr-gp-next-fallback strong {
  font-size:.72rem;
}
.ocr-gp-next-fallback em {
  margin-top:8px;
  color:#777e79;
  font-size:.58rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width: 980px) {
  .ocr-gp-next-fallback {
    min-height: 360px;
  }
}

@media (max-width: 760px) {
  .ocr-gp-next-fallback {
    min-height: 245px;
  }
  .ocr-gp-next-fallback span {
    font-size:4.8rem;
  }
}


/* v0.56.0 — Red Screen Nation archive + game profiles */
.ocr-rs-hero {
  position: relative;
  overflow: hidden;
  padding: 165px 0 95px;
  border-bottom: 1px solid rgba(239,35,60,.16);
  background:
    radial-gradient(circle at 82% 30%, rgba(239,35,60,.16), transparent 24%),
    radial-gradient(circle at 66% 75%, rgba(168,255,25,.035), transparent 30%),
    linear-gradient(180deg,#080808,#0a0809);
}
.ocr-rs-hero::after {
  content:"";
  position:absolute;
  right:-4vw;
  top:30px;
  width:46vw;
  height:46vw;
  border:1px solid rgba(239,35,60,.12);
  border-radius:50%;
  box-shadow:
    0 0 0 5vw rgba(239,35,60,.025),
    0 0 0 10vw rgba(239,35,60,.015);
}
.ocr-rs-page-title {
  position:relative;
  z-index:1;
  max-width:930px;
  margin:9px 0 25px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(5rem,9.4vw,9.4rem);
  line-height:.82;
  letter-spacing:-.045em;
  text-transform:uppercase;
  text-shadow: 0 0 26px rgba(239,35,60,.12);
}
.ocr-rs-page-lede {
  position:relative;
  z-index:1;
  max-width:850px;
  margin:0;
  color:#c0c4c0;
  font-size:clamp(1.05rem,1.7vw,1.34rem);
  line-height:1.7;
}
.ocr-rs-hero-tags {
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:30px;
}
.ocr-rs-hero-tags span {
  padding:8px 11px;
  border:1px solid rgba(239,35,60,.20);
  border-radius:999px;
  color:#d4d6d4;
  background:rgba(239,35,60,.035);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ocr-rs-intro {
  background:#070808;
}
.ocr-rs-intro-grid,
.ocr-rs-section-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
  gap:60px;
  align-items:end;
}
.ocr-rs-intro-copy {
  color:#aeb3ae;
  line-height:1.75;
}
.ocr-rs-intro-copy p:first-child { margin-top:0; }
.ocr-rs-intro-copy p:last-child { margin-bottom:0; }
.ocr-rs-library {
  background:
    linear-gradient(180deg,#070808,#09090a);
}
.ocr-rs-section-head {
  margin-bottom:34px;
}
.ocr-rs-section-head > p {
  max-width:560px;
  margin:0 0 8px;
  color:var(--ocr-muted);
  line-height:1.65;
}
.ocr-rs-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.ocr-rs-card {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.032),rgba(255,255,255,.01));
  transition:transform .22s ease,border-color .22s ease;
}
.ocr-rs-card:hover {
  transform:translateY(-5px);
  border-color:rgba(239,35,60,.32);
}
.ocr-rs-card > a {
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);
  height:100%;
}
.ocr-rs-card-media {
  position:relative;
  min-height:360px;
  overflow:hidden;
  background:#0c0b0c;
}
.ocr-rs-card-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 50%,rgba(7,8,8,.45) 100%);
}
.ocr-rs-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.ocr-rs-card:hover img {
  transform:scale(1.035);
}
.ocr-rs-card-number {
  position:absolute;
  z-index:2;
  left:18px;
  top:18px;
  color:rgba(255,255,255,.60);
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:2rem;
}
.ocr-rs-card-fallback {
  display:grid;
  height:100%;
  place-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(239,35,60,.19),transparent 28%),
    radial-gradient(circle at 50% 65%,rgba(168,255,25,.035),transparent 24%),
    #0b090a;
}
.ocr-rs-card-fallback span {
  color:#ff3b50;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(4rem,7vw,6.5rem);
  line-height:.8;
  text-shadow:0 0 24px rgba(239,35,60,.28);
}
.ocr-rs-card-fallback strong {
  margin-top:13px;
  color:#fff;
  font-size:.62rem;
  letter-spacing:.15em;
}
.ocr-rs-card-body {
  display:flex;
  flex-direction:column;
  padding:30px;
}
.ocr-rs-card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.ocr-rs-card-meta span,
.ocr-rs-card-meta b {
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ocr-rs-card-meta span { color:#ff596a; }
.ocr-rs-card-meta b { color:#6f7671; }
.ocr-rs-card h3 {
  margin:22px 0 13px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(2.5rem,4vw,4.5rem);
  line-height:.91;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.ocr-rs-card p {
  margin:0;
  color:#aeb3ae;
  line-height:1.65;
}
.ocr-rs-bet {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:15px;
  margin-top:auto;
  padding-top:24px;
}
.ocr-rs-bet small {
  color:#747b76;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ocr-rs-bet strong {
  color:#fff;
  font-size:1rem;
}
.ocr-rs-card-link {
  display:block;
  margin-top:21px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ocr-rs-card-link b { color:#ff4055; }
.ocr-rs-card--fallback {
  opacity:.94;
}
.ocr-rs-education-card {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:60px;
  padding:clamp(32px,5vw,62px);
  border:1px solid rgba(239,35,60,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 20%,rgba(239,35,60,.09),transparent 30%),
    #0b0b0c;
}
.ocr-rs-education-card h2,
.ocr-rs-watch h2,
.ocr-rs-next h2 {
  margin:7px 0 0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(3rem,5.5vw,5.4rem);
  line-height:.91;
  text-transform:uppercase;
}
.ocr-rs-education-card > div:last-child {
  color:#aeb3ae;
  line-height:1.75;
}
.ocr-rs-watch,
.ocr-rs-next {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:clamp(30px,4vw,48px);
  border:1px solid rgba(239,35,60,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 50%,rgba(239,35,60,.09),transparent 28%),
    #0a0a0b;
}
.ocr-rs-watch p {
  max-width:720px;
  margin:15px 0 0;
  color:#aeb3ae;
  line-height:1.65;
}
.ocr-btn--red {
  color:#fff !important;
  border-color:#e52440 !important;
  background:linear-gradient(180deg,#f02f49,#c91531) !important;
  box-shadow:0 12px 30px rgba(239,35,60,.18);
}

/* Individual Red Screen profile */
.ocr-rs-single-hero {
  position:relative;
  min-height:720px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:150px 0 76px;
  background:
    radial-gradient(circle at 75% 38%,rgba(239,35,60,.10),transparent 28%),
    #080809;
}
.ocr-rs-single-media {
  position:absolute;
  inset:0;
}
.ocr-rs-single-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,5,5,.98) 0%,rgba(4,5,5,.90) 40%,rgba(4,5,5,.34) 76%,rgba(4,5,5,.48) 100%),
    linear-gradient(180deg,rgba(4,5,5,.08),#050607 100%);
}
.ocr-rs-single-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.ocr-rs-single-inner {
  position:relative;
  z-index:2;
}
.ocr-rs-single-hero h1 {
  max-width:1050px;
  margin:10px 0 24px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(5rem,8.2vw,8.5rem);
  line-height:.86;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.ocr-rs-single-meta {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:22px;
}
.ocr-rs-single-meta span {
  min-width:150px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(0,0,0,.25);
  backdrop-filter:blur(10px);
}
.ocr-rs-single-meta small {
  display:block;
  margin-bottom:4px;
  color:#737a75;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ocr-rs-single-meta strong {
  color:#fff;
  font-size:.86rem;
}
.ocr-rs-single-lede {
  max-width:760px;
  color:#c1c6c1;
  font-size:1.05rem;
  line-height:1.7;
}
.ocr-rs-single-body {
  background:#070808;
}
.ocr-rs-single-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:start;
}
.ocr-rs-story {
  min-width:0;
}
.ocr-rs-empty-copy {
  margin-top:20px;
  padding:26px;
  border:1px dashed rgba(239,35,60,.22);
  border-radius:18px;
}
.ocr-rs-empty-copy h2 {
  margin:0 0 8px;
  color:#fff;
}
.ocr-rs-empty-copy p {
  margin:0;
  color:#8e958f;
  line-height:1.65;
}
.ocr-rs-sidebar {
  position:sticky;
  top:112px;
  display:grid;
  gap:15px;
}
.ocr-rs-detail-card {
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#0d1010;
}
.ocr-rs-detail-card p {
  margin:18px 0 0;
  color:#d3d6d3;
}
.ocr-rs-detail-card p strong {
  display:block;
  margin-bottom:4px;
  color:#747b76;
  font-size:.56rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ocr-rs-video-card {
  position:relative;
  display:block;
  overflow:hidden;
  padding:24px 78px 24px 24px;
  border:1px solid rgba(239,35,60,.22);
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 50%,rgba(239,35,60,.15),transparent 30%),
    #100b0c;
}
.ocr-rs-video-card span {
  color:#ff4b60;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ocr-rs-video-card strong {
  display:block;
  margin-top:9px;
  color:#fff;
  font-size:1.2rem;
  line-height:1.2;
}
.ocr-rs-video-card b {
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  width:43px;
  height:43px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#df2039;
}
.ocr-rs-next {
  border-color:rgba(255,255,255,.09);
  background:#0a0b0b;
}

@media (max-width: 1050px) {
  .ocr-rs-grid {
    grid-template-columns:1fr;
  }
  .ocr-rs-card > a {
    grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
  }
  .ocr-rs-single-layout {
    grid-template-columns:1fr;
  }
  .ocr-rs-sidebar {
    position:static;
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 760px) {
  .ocr-rs-hero {
    padding:125px 0 58px;
  }
  .ocr-rs-page-title {
    font-size:clamp(4.3rem,20vw,6.2rem);
    line-height:.85;
  }
  .ocr-rs-page-lede {
    font-size:.96rem;
  }
  .ocr-rs-intro-grid,
  .ocr-rs-section-head,
  .ocr-rs-education-card {
    grid-template-columns:1fr;
    gap:18px;
  }
  .ocr-rs-card > a {
    grid-template-columns:1fr;
  }
  .ocr-rs-card-media {
    min-height:245px;
  }
  .ocr-rs-card-media::after {
    background:linear-gradient(180deg,transparent 55%,rgba(7,8,8,.46) 100%);
  }
  .ocr-rs-card-body {
    padding:22px;
  }
  .ocr-rs-card h3 {
    font-size:clamp(2.7rem,13vw,4rem);
  }
  .ocr-rs-education-card {
    padding:24px 20px;
  }
  .ocr-rs-watch,
  .ocr-rs-next {
    align-items:flex-start;
    flex-direction:column;
    padding:25px 21px;
  }
  .ocr-rs-watch .ocr-btn,
  .ocr-rs-next .ocr-btn {
    width:100%;
  }
  .ocr-rs-single-hero {
    min-height:620px;
    padding:125px 0 55px;
  }
  .ocr-rs-single-hero h1 {
    font-size:clamp(4rem,18vw,5.8rem);
    line-height:.89;
  }
  .ocr-rs-single-meta {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .ocr-rs-single-meta span:last-child {
    grid-column:1 / -1;
  }
  .ocr-rs-sidebar {
    grid-template-columns:1fr;
  }
}


/* v0.56.0 — Red Screen fallback card visual polish */
.ocr-rs-card--fallback .ocr-rs-card-media {
  min-height: 295px;
}

.ocr-rs-card--fallback .ocr-rs-card-fallback {
  position: relative;
  overflow: hidden;
  place-content: center;
  background:
    radial-gradient(circle at 50% 38%, rgba(239,35,60,.20), transparent 27%),
    linear-gradient(145deg, #100a0b, #070707 72%);
}

.ocr-rs-card--fallback .ocr-rs-card-fallback::before {
  content: "";
  position: absolute;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(239,35,60,.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 55px rgba(239,35,60,.025),
    0 0 0 110px rgba(239,35,60,.012);
}

.ocr-rs-fallback-maker,
.ocr-rs-fallback-red,
.ocr-rs-fallback-mark {
  position: relative;
  z-index: 2;
}

.ocr-rs-card--fallback .ocr-rs-fallback-maker {
  color: #ff344d;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.4rem, 6.2vw, 6.4rem);
  line-height: .78;
  text-shadow: 0 0 30px rgba(239,35,60,.28);
}

.ocr-rs-card--fallback .ocr-rs-fallback-red {
  display: block;
  margin-top: 12px;
  color: #f2f2f0;
  font-size: .58rem;
  letter-spacing: .18em;
}

.ocr-rs-fallback-mark {
  display: block;
  margin-top: 27px;
  color: rgba(255,255,255,.09);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.8rem, 8vw, 8rem);
  line-height: .72;
  letter-spacing: -.035em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ocr-rs-fallback-glow {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: -70px;
  width: 65%;
  height: 160px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(239,35,60,.13);
  filter: blur(40px);
}

.ocr-rs-card-fallback--2 {
  background:
    radial-gradient(circle at 50% 38%, rgba(91,154,255,.12), transparent 28%),
    radial-gradient(circle at 70% 75%, rgba(239,35,60,.11), transparent 26%),
    linear-gradient(145deg,#090d13,#070707 72%) !important;
}
.ocr-rs-card-fallback--2::before {
  border-color: rgba(135,184,255,.11) !important;
  box-shadow:
    0 0 0 55px rgba(88,150,255,.018),
    0 0 0 110px rgba(88,150,255,.008) !important;
}

.ocr-rs-card-fallback--3 {
  background:
    radial-gradient(circle at 50% 38%, rgba(218,177,79,.13), transparent 28%),
    radial-gradient(circle at 30% 80%, rgba(239,35,60,.08), transparent 25%),
    linear-gradient(145deg,#100e08,#070707 72%) !important;
}
.ocr-rs-card-fallback--3::before {
  border-color: rgba(218,177,79,.10) !important;
  box-shadow:
    0 0 0 55px rgba(218,177,79,.015),
    0 0 0 110px rgba(218,177,79,.007) !important;
}

.ocr-rs-card-fallback--4 {
  background:
    radial-gradient(circle at 50% 38%, rgba(255,59,97,.21), transparent 28%),
    linear-gradient(145deg,#13080c,#070707 72%) !important;
}

.ocr-rs-card--fallback .ocr-rs-card-body {
  min-height: 315px;
}

.ocr-rs-card--fallback .ocr-rs-card-link {
  color: #858b87;
}

@media (max-width: 760px) {
  .ocr-rs-card--fallback .ocr-rs-card-media {
    min-height: 230px;
  }

  .ocr-rs-card--fallback .ocr-rs-fallback-maker {
    font-size: 4.2rem;
  }

  .ocr-rs-fallback-mark {
    margin-top: 20px;
    font-size: clamp(4rem, 20vw, 5.8rem);
  }

  .ocr-rs-card--fallback .ocr-rs-card-body {
    min-height: 0;
  }
}


/* v0.56.0 — OCR Casino Adventures archive + casino profiles */
.ocr-casino-archive-hero {
  position:relative;
  overflow:hidden;
  padding:165px 0 94px;
  border-bottom:1px solid rgba(168,255,25,.14);
  background:
    radial-gradient(circle at 82% 38%,rgba(168,255,25,.08),transparent 25%),
    radial-gradient(circle at 92% 86%,rgba(239,35,60,.05),transparent 25%),
    #080a09;
}
.ocr-casino-archive-hero::after {
  content:"";
  position:absolute;
  right:-8vw;
  top:20px;
  width:48vw;
  height:48vw;
  border:1px solid rgba(168,255,25,.08);
  border-radius:50%;
  box-shadow:0 0 0 6vw rgba(168,255,25,.018),0 0 0 12vw rgba(168,255,25,.009);
}
.ocr-casino-page-title {
  position:relative;
  z-index:1;
  max-width:900px;
  margin:8px 0 25px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(5rem,9.3vw,9rem);
  line-height:.82;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.ocr-casino-page-lede {
  position:relative;
  z-index:1;
  max-width:830px;
  margin:0;
  color:#bcc1bc;
  font-size:clamp(1.05rem,1.7vw,1.34rem);
  line-height:1.7;
}
.ocr-casino-archive {
  background:#070909;
}
.ocr-casino-archive-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
  gap:60px;
  align-items:end;
  margin-bottom:34px;
}
.ocr-casino-archive-head > p {
  margin:0 0 8px;
  color:var(--ocr-muted);
  line-height:1.65;
}
.ocr-casino-archive-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}
.ocr-casino-profile-card {
  display:flex;
  min-width:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.09);
  border-radius:23px;
  background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
}
.ocr-casino-profile-main {
  display:flex;
  min-height:100%;
  flex:1 1 auto;
  flex-direction:column;
}
a.ocr-casino-profile-main {
  transition:transform .22s ease;
}
.ocr-casino-profile-card:hover {
  border-color:rgba(168,255,25,.26);
}
.ocr-casino-profile-media {
  position:relative;
  aspect-ratio:16/10.2;
  overflow:hidden;
  background:#0e1110;
}
.ocr-casino-profile-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 54%,rgba(7,9,8,.50));
}
.ocr-casino-profile-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.ocr-casino-profile-card:hover img {
  transform:scale(1.035);
}
.ocr-casino-profile-fallback {
  display:grid;
  height:100%;
  place-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(168,255,25,.12),transparent 28%),
    linear-gradient(145deg,#111513,#080a09);
}
.ocr-casino-profile-fallback span {
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(5rem,8vw,7rem);
  line-height:.8;
}
.ocr-casino-profile-fallback strong {
  margin-top:15px;
  color:var(--ocr-green);
  font-size:.58rem;
  letter-spacing:.13em;
}
.ocr-casino-profile-body {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:24px;
}
.ocr-casino-profile-body h3 {
  margin:10px 0 12px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(2.1rem,3vw,3.1rem);
  line-height:.93;
  text-transform:uppercase;
}
.ocr-casino-profile-body p {
  margin:0;
  color:#aeb3ae;
  line-height:1.62;
}
.ocr-casino-profile-link {
  display:block;
  margin-top:auto;
  padding-top:22px;
  color:#fff;
  font-size:.63rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ocr-casino-profile-link b {
  color:var(--ocr-green);
}
.ocr-casino-playlist-link {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:13px 20px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#fff;
  background:rgba(168,255,25,.025);
}
.ocr-casino-playlist-link span {
  display:grid;
  width:31px;
  height:31px;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#050607;
  background:var(--ocr-green);
  font-size:.72rem;
}
.ocr-casino-playlist-link strong {
  overflow:hidden;
  font-size:.65rem;
  font-weight:950;
  letter-spacing:.07em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.ocr-casino-road {
  background:#080909;
}
.ocr-casino-road-card {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:60px;
  padding:clamp(34px,5vw,62px);
  border:1px solid rgba(168,255,25,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 20%,rgba(168,255,25,.08),transparent 28%),
    #0b0e0c;
}
.ocr-casino-road-card h2 {
  margin:7px 0 0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(3rem,5.5vw,5.5rem);
  line-height:.91;
  text-transform:uppercase;
}
.ocr-casino-road-card > div:last-child {
  color:#aeb3ae;
  line-height:1.75;
}

/* single casino */
.ocr-casino-single-hero {
  position:relative;
  min-height:720px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:150px 0 76px;
  background:
    radial-gradient(circle at 78% 35%,rgba(168,255,25,.08),transparent 27%),
    #080a09;
}
.ocr-casino-single-media {
  position:absolute;
  inset:0;
}
.ocr-casino-single-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,5,5,.98) 0%,rgba(4,5,5,.90) 40%,rgba(4,5,5,.34) 76%,rgba(4,5,5,.48) 100%),
    linear-gradient(180deg,rgba(4,5,5,.08),#050607 100%);
}
.ocr-casino-single-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.ocr-casino-single-inner {
  position:relative;
  z-index:2;
}
.ocr-casino-single-hero h1 {
  max-width:1100px;
  margin:10px 0 20px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(4.8rem,8vw,8.4rem);
  line-height:.86;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.ocr-casino-location {
  color:#d5dad5;
  font-size:1rem;
}
.ocr-casino-single-lede {
  max-width:780px;
  margin-top:20px;
  color:#c0c5c0;
  font-size:1.05rem;
  line-height:1.7;
}
.ocr-casino-single-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:25px;
}
.ocr-casino-single-body {
  background:#070909;
}
.ocr-casino-single-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:start;
}
.ocr-casino-story {
  min-width:0;
}
.ocr-casino-empty {
  padding:26px;
  border:1px dashed rgba(168,255,25,.22);
  border-radius:18px;
}
.ocr-casino-empty h2 {
  margin:0 0 8px;
  color:#fff;
}
.ocr-casino-empty p {
  margin:0;
  color:#8d948e;
  line-height:1.65;
}
.ocr-casino-sidebar {
  position:sticky;
  top:112px;
}
.ocr-casino-detail-card {
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#0d1010;
}
.ocr-casino-detail-card p {
  margin:18px 0 0;
  color:#d3d7d3;
}
.ocr-casino-detail-card p strong {
  display:block;
  margin-bottom:4px;
  color:#747b76;
  font-size:.56rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ocr-casino-sidebar-link {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  padding:12px;
  border:1px solid rgba(168,255,25,.16);
  border-radius:12px;
}
.ocr-casino-sidebar-link span {
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:50%;
  color:#050607;
  background:var(--ocr-green);
}
.ocr-casino-sidebar-link strong {
  color:#fff;
  font-size:.66rem;
  text-transform:uppercase;
}
.ocr-casino-detail-card .ocr-feature-textlink {
  display:inline-block;
  margin-top:22px;
}
.ocr-casino-watch-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px 38px;
  border:1px solid rgba(168,255,25,.20);
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 50%,rgba(168,255,25,.08),transparent 27%),
    #0b0e0c;
}
.ocr-casino-watch-card strong {
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:clamp(1.8rem,3.1vw,3.2rem);
}
.ocr-casino-watch-card span:not(.ocr-kicker) {
  display:block;
  margin-top:7px;
  color:#8f9690;
}
.ocr-casino-watch-card > b {
  display:grid;
  width:67px;
  height:67px;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#050607;
  background:var(--ocr-green);
}

@media (max-width: 1050px) {
  .ocr-casino-archive-grid {
    grid-template-columns:1fr 1fr;
  }
  .ocr-casino-single-layout {
    grid-template-columns:1fr;
  }
  .ocr-casino-sidebar {
    position:static;
  }
}

@media (max-width: 760px) {
  .ocr-casino-archive-hero {
    padding:125px 0 58px;
  }
  .ocr-casino-page-title {
    font-size:clamp(4.2rem,19vw,6rem);
    line-height:.86;
  }
  .ocr-casino-page-lede {
    font-size:.96rem;
  }
  .ocr-casino-archive-head,
  .ocr-casino-road-card {
    grid-template-columns:1fr;
    gap:18px;
  }
  .ocr-casino-archive-grid {
    grid-template-columns:1fr;
  }
  .ocr-casino-profile-body h3 {
    font-size:clamp(2.7rem,13vw,4rem);
  }
  .ocr-casino-road-card {
    padding:24px 20px;
  }
  .ocr-casino-single-hero {
    min-height:620px;
    padding:125px 0 55px;
  }
  .ocr-casino-single-hero h1 {
    font-size:clamp(3.9rem,18vw,5.7rem);
    line-height:.89;
  }
  .ocr-casino-single-actions {
    flex-direction:column;
  }
  .ocr-casino-single-actions .ocr-btn {
    width:100%;
  }
  .ocr-casino-watch-card {
    align-items:flex-start;
    padding:25px 21px;
  }
  .ocr-casino-watch-card > b {
    width:52px;
    height:52px;
  }
}


/* v0.56.0 — About / Contact / Responsible Gaming / Partnerships */
.ocr-info-hero {
  position:relative;
  overflow:hidden;
  padding:165px 0 92px;
  border-bottom:1px solid rgba(168,255,25,.13);
  background:
    radial-gradient(circle at 82% 35%,rgba(168,255,25,.07),transparent 25%),
    radial-gradient(circle at 92% 85%,rgba(239,35,60,.045),transparent 26%),
    #080a09;
}
.ocr-info-hero::after {
  content:"";
  position:absolute;
  right:-7vw;
  top:25px;
  width:47vw;
  height:47vw;
  border:1px solid rgba(168,255,25,.07);
  border-radius:50%;
  box-shadow:0 0 0 6vw rgba(168,255,25,.015),0 0 0 12vw rgba(168,255,25,.008);
}
.ocr-info-title {
  position:relative;
  z-index:1;
  max-width:1100px;
  margin:8px 0 24px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(5rem,9vw,9rem);
  line-height:.83;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.ocr-info-lede {
  position:relative;
  z-index:1;
  max-width:840px;
  margin:0;
  color:#bcc1bc;
  font-size:clamp(1.05rem,1.7vw,1.34rem);
  line-height:1.72;
}
.ocr-info-section-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
  gap:60px;
  align-items:end;
  margin-bottom:34px;
}
.ocr-info-section-head > p {
  margin:0 0 8px;
  color:var(--ocr-muted);
  line-height:1.68;
}
.ocr-about-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
  gap:55px;
  align-items:center;
}
.ocr-about-copy {
  color:#b9beb9;
  line-height:1.75;
}
.ocr-about-copy p {
  max-width:780px;
}
.ocr-about-copy blockquote {
  margin:26px 0 0;
  padding:20px 22px;
  border-left:3px solid var(--ocr-green);
  border-radius:12px;
  color:#fff;
  background:rgba(168,255,25,.035);
  font-size:1.05rem;
  line-height:1.6;
}
.ocr-about-photo {
  overflow:hidden;
  min-height:520px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:#0c0f0d;
}
.ocr-about-photo img {
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}
.ocr-value-grid,
.ocr-responsible-grid,
.ocr-partner-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.ocr-value-grid article,
.ocr-responsible-grid article,
.ocr-partner-grid article {
  min-height:250px;
  padding:25px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
}
.ocr-value-grid article > span,
.ocr-responsible-grid article > span {
  color:rgba(255,255,255,.17);
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:2.5rem;
}
.ocr-partner-grid article > span {
  color:var(--ocr-green);
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.ocr-value-grid h3,
.ocr-responsible-grid h3,
.ocr-partner-grid h3 {
  margin:28px 0 10px;
  color:#fff;
  font-size:1.35rem;
  line-height:1.15;
}
.ocr-partner-grid h3 {
  margin-top:24px;
}
.ocr-value-grid p,
.ocr-responsible-grid p,
.ocr-partner-grid p {
  margin:0;
  color:#979e98;
  font-size:.9rem;
  line-height:1.65;
}
.ocr-about-gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ocr-about-gallery figure {
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#0d1010;
}
.ocr-about-gallery img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.ocr-about-gallery figcaption {
  padding:15px 18px;
  color:#9ca29d;
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ocr-info-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:clamp(30px,4vw,48px);
  border:1px solid rgba(168,255,25,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 50%,rgba(168,255,25,.08),transparent 28%),
    #0b0e0c;
}
.ocr-info-cta h2,
.ocr-responsible-callout h2 {
  margin:7px 0 0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(2.8rem,4.8vw,4.8rem);
  line-height:.92;
  text-transform:uppercase;
}
.ocr-info-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  flex:0 0 auto;
}
.ocr-contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:start;
}
.ocr-contact-form {
  margin-top:28px;
  padding:26px;
  border:1px solid rgba(168,255,25,.16);
  border-radius:20px;
  background:#0c0f0d;
}
.ocr-contact-placeholder {
  margin-top:28px;
  padding:28px;
  border:1px dashed rgba(168,255,25,.24);
  border-radius:18px;
  background:rgba(168,255,25,.025);
}
.ocr-contact-placeholder strong {
  color:#fff;
  font-size:1.2rem;
}
.ocr-contact-placeholder p {
  margin:10px 0 0;
  color:#9aa09b;
  line-height:1.6;
}
.ocr-contact-placeholder span {
  display:block;
  margin-top:12px;
  color:var(--ocr-green);
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ocr-contact-sidebar {
  display:grid;
  gap:15px;
}
.ocr-contact-card {
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#0d1010;
}
.ocr-contact-card p {
  color:#9ca29d;
  line-height:1.65;
}
.ocr-contact-card > a:not(.ocr-feature-textlink) {
  display:inline-block;
  margin-top:8px;
  color:var(--ocr-green);
  font-weight:800;
}
.ocr-contact-card .ocr-feature-textlink {
  display:inline-block;
  margin-top:12px;
}
.ocr-responsible-callout {
  padding:clamp(32px,5vw,58px);
  border:1px solid rgba(239,35,60,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 40%,rgba(239,35,60,.08),transparent 27%),
    #100b0c;
}
.ocr-responsible-callout p:not(.ocr-kicker) {
  max-width:900px;
  color:#b0b5b0;
  line-height:1.7;
}
.ocr-responsible-callout .ocr-btn {
  margin-top:12px;
}

@media (max-width: 980px) {
  .ocr-value-grid,
  .ocr-responsible-grid,
  .ocr-partner-grid {
    grid-template-columns:1fr 1fr;
  }
  .ocr-contact-layout {
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px) {
  .ocr-info-hero {
    padding:125px 0 58px;
  }
  .ocr-info-title {
    font-size:clamp(4rem,18.5vw,5.8rem);
    line-height:.86;
  }
  .ocr-info-lede {
    font-size:.96rem;
  }
  .ocr-info-section-head,
  .ocr-about-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .ocr-about-photo,
  .ocr-about-photo img {
    min-height:360px;
  }
  .ocr-value-grid,
  .ocr-responsible-grid,
  .ocr-partner-grid,
  .ocr-about-gallery {
    grid-template-columns:1fr;
  }
  .ocr-value-grid article,
  .ocr-responsible-grid article,
  .ocr-partner-grid article {
    min-height:0;
  }
  .ocr-info-cta {
    align-items:flex-start;
    flex-direction:column;
    padding:24px 20px;
  }
  .ocr-info-actions {
    width:100%;
    flex-direction:column;
  }
  .ocr-info-actions .ocr-btn {
    width:100%;
  }
}


/* v0.56.0 — casino playlist action visibility fix */
.ocr-casino-profile-main {
  min-height: 0 !important;
}

.ocr-casino-profile-card--fallback .ocr-casino-profile-main {
  flex: 1 1 auto;
}

.ocr-casino-profile-card--fallback .ocr-casino-profile-body {
  min-height: 300px;
}

.ocr-casino-profile-card .ocr-casino-playlist-link {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  min-height: 66px;
  padding: 15px 20px;
  border-top: 1px solid rgba(168,255,25,.18);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(168,255,25,.08), rgba(168,255,25,.025));
}

.ocr-casino-profile-card .ocr-casino-playlist-link:hover {
  background:
    linear-gradient(90deg, rgba(168,255,25,.13), rgba(168,255,25,.045));
}

.ocr-casino-profile-card .ocr-casino-playlist-link strong {
  font-size: .68rem;
  letter-spacing: .075em;
}

.ocr-casino-profile-card .ocr-casino-playlist-link::after {
  content: "→";
  margin-left: auto;
  color: var(--ocr-green);
  font-size: 1rem;
  font-weight: 900;
}

@media (max-width: 760px) {
  .ocr-casino-profile-card--fallback .ocr-casino-profile-body {
    min-height: 0;
  }

  .ocr-casino-profile-card .ocr-casino-playlist-link {
    min-height: 62px;
  }

  .ocr-casino-profile-card .ocr-casino-playlist-link strong {
    white-space: normal;
    line-height: 1.25;
  }
}


/* v0.56.0 — About page Mike & Jona photo proportion fix */
.ocr-about-grid {
  align-items: center;
}

.ocr-about-photo {
  min-height: 0 !important;
  height: auto;
  aspect-ratio: 16 / 10.2;
  max-height: 440px;
}

.ocr-about-photo img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: cover;
  object-position: 50% 42%;
}

.ocr-about-copy {
  padding-block: 8px;
}

@media (max-width: 980px) {
  .ocr-about-photo {
    max-height: 400px;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 760px) {
  .ocr-about-photo {
    max-height: none;
    aspect-ratio: 4 / 3;
  }

  .ocr-about-photo img {
    object-position: 50% 38%;
  }
}


/* v0.56.0 — About page final image/spacing polish */

/* Main Mike & Jona story photo: shorter and balanced with the copy */
.ocr-about-photo {
  aspect-ratio: 16 / 9 !important;
  max-height: 390px !important;
  min-height: 0 !important;
}

.ocr-about-photo img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: cover;
  object-position: 50% 40% !important;
}

/* Tighten the gap before the two community/supporter photos */
.ocr-about-gallery {
  margin-top: 0 !important;
}

.ocr-about-gallery figure {
  overflow: hidden;
}

/* Shorter photo cards so faces are less aggressively cropped */
.ocr-about-gallery img {
  width: 100%;
  aspect-ratio: 16 / 8.8 !important;
  height: auto !important;
  max-height: 380px;
  object-fit: cover;
}

/* Individual crop tuning for the two built-in About images */
.ocr-about-gallery figure:first-child img {
  object-position: 50% 32% !important;
}

.ocr-about-gallery figure:last-child img {
  object-position: 50% 28% !important;
}

/* Reduce extra vertical space around the gallery section */
.ocr-about-gallery {
  padding-top: 0 !important;
}

@media (max-width: 980px) {
  .ocr-about-photo {
    max-height: 360px !important;
  }

  .ocr-about-gallery img {
    max-height: 340px;
  }
}

@media (max-width: 760px) {
  .ocr-about-photo {
    aspect-ratio: 4 / 3 !important;
    max-height: none !important;
  }

  .ocr-about-gallery img {
    aspect-ratio: 4 / 3 !important;
    max-height: none;
  }

  .ocr-about-gallery figure:first-child img,
  .ocr-about-gallery figure:last-child img {
    object-position: 50% 28% !important;
  }
}


/* v0.56.0 — About page photo height rebalance */
.ocr-about-photo {
  aspect-ratio: 16 / 10.4 !important;
  max-height: 470px !important;
  min-height: 430px !important;
}

.ocr-about-photo img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: cover;
  object-position: 50% 40% !important;
}

@media (max-width: 980px) {
  .ocr-about-photo {
    min-height: 390px !important;
    max-height: 430px !important;
    aspect-ratio: 16 / 10.3 !important;
  }
}

@media (max-width: 760px) {
  .ocr-about-photo {
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
  }
}


/* v0.56.0 — About page left community photo crop fix */
.ocr-about-gallery figure:first-child img {
  object-position: 50% 19% !important;
}


/* v0.56.0 — native OCR contact form */
.ocr-native-contact-form {
  position: relative;
  display: grid;
  gap: 18px;
  margin-top: 28px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(168,255,25,.18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(168,255,25,.05), transparent 24%),
    #0c0f0d;
}

.ocr-contact-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ocr-native-contact-form label {
  display: grid;
  gap: 8px;
}

.ocr-native-contact-form label > span {
  color: #dfe3df;
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ocr-native-contact-form label > span b {
  color: var(--ocr-green);
}

.ocr-native-contact-form input,
.ocr-native-contact-form select,
.ocr-native-contact-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 11px;
  outline: none;
  color: #fff;
  background: rgba(0,0,0,.28);
  font: inherit;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.ocr-native-contact-form textarea {
  min-height: 175px;
  resize: vertical;
}

.ocr-native-contact-form input:focus,
.ocr-native-contact-form select:focus,
.ocr-native-contact-form textarea:focus {
  border-color: rgba(168,255,25,.56);
  box-shadow: 0 0 0 3px rgba(168,255,25,.07);
}

.ocr-native-contact-form select option {
  color: #111;
}

.ocr-contact-submit-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ocr-contact-submit-row small {
  color: #747b76;
  font-size: .7rem;
}

.ocr-contact-notice {
  margin-top: 24px;
  padding: 15px 17px;
  border-radius: 12px;
  font-size: .85rem;
  font-weight: 800;
}

.ocr-contact-notice--success {
  border: 1px solid rgba(168,255,25,.24);
  color: #dfffb0;
  background: rgba(168,255,25,.06);
}

.ocr-contact-notice--error {
  border: 1px solid rgba(239,35,60,.24);
  color: #ffc3ca;
  background: rgba(239,35,60,.06);
}

.ocr-contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  .ocr-contact-form-grid {
    grid-template-columns: 1fr;
  }

  .ocr-contact-submit-row {
    align-items: stretch;
    flex-direction: column;
  }

  .ocr-contact-submit-row .ocr-btn {
    width: 100%;
  }
}


/* v0.56.0 — current National Problem Gambling Helpline */
.ocr-responsible-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.ocr-responsible-actions .ocr-btn {
  margin-top: 0;
}

@media (max-width: 760px) {
  .ocr-responsible-actions {
    flex-direction: column;
  }

  .ocr-responsible-actions .ocr-btn {
    width: 100%;
  }
}


/* v0.56.0 — mobile header / hamburger positioning fix */
@media (max-width: 1050px) {
  .header-inner {
    gap: 14px !important;
  }

  .site-branding {
    min-width: 0 !important;
    flex: 1 1 auto;
  }

  .site-branding > a,
  .custom-logo-link {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
  }

  .mobile-toggle {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    flex: 0 0 42px;
    margin-left: auto !important;
  }
}

@media (max-width: 760px) {
  .header-inner {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    gap: 10px !important;
  }

  .site-branding {
    min-width: 0 !important;
  }

  .ocr-wordmark {
    white-space: nowrap;
  }

  .mobile-toggle {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px;
    margin-right: 0 !important;
  }
}


/* v0.56.0 — definitive mobile hamburger alignment */
@media (max-width: 1050px) {
  .site-header .header-inner {
    position: relative !important;
  }

  .site-header .mobile-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 1202;
  }

  .site-header .site-branding {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    padding-right: 58px;
  }
}

@media (max-width: 760px) {
  .site-header .header-inner {
    width: auto !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    min-height: 64px !important;
  }

  .site-header .mobile-toggle {
    right: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    flex: none !important;
  }

  .site-header .ocr-wordmark {
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .site-header .header-inner {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}


/* v0.56.0 — homepage mobile QA: next-event no-image fallback */
.ocr-next-media--placeholder {
  background:
    radial-gradient(circle at 50% 42%, rgba(168,255,25,.10), transparent 28%),
    radial-gradient(circle at 72% 82%, rgba(239,35,60,.06), transparent 25%),
    #090c0a;
}

.ocr-next-placeholder {
  display: flex;
  height: 100%;
  min-height: 300px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 28px;
  text-align: center;
  background: transparent !important;
}

.ocr-next-placeholder span {
  color: var(--ocr-green);
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ocr-next-placeholder strong {
  margin-top: 12px;
  color: rgba(255,255,255,.82);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.2rem, 8vw, 6.5rem);
  line-height: .78;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.ocr-next-placeholder b {
  margin-top: 16px;
  color: #626963;
  font-size: .55rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  /* If an upcoming event has no image, don't waste mobile height on a placeholder. */
  .ocr-next-media--placeholder {
    display: none !important;
  }

  .ocr-next-card:has(.ocr-next-media--placeholder) .ocr-next-copy {
    padding-bottom: 30px;
  }
}


/* v0.56.0 — Event Tickets checkout dark-theme readability */
body .tec-tickets__attendees-list,
body .tribe-tickets__tickets-page-wrapper,
body .tribe-tickets__tickets-checkout,
body .tec-tc-view,
body .event-tickets,
body .tribe-common {
  color: #f4f5f4 !important;
}

/* Checkout headings */
body .tribe-tickets__tickets-page-wrapper h1,
body .tribe-tickets__tickets-page-wrapper h2,
body .tribe-tickets__tickets-page-wrapper h3,
body .tribe-tickets__tickets-checkout h1,
body .tribe-tickets__tickets-checkout h2,
body .tribe-tickets__tickets-checkout h3,
body .tec-tc-view h1,
body .tec-tc-view h2,
body .tec-tc-view h3,
body .event-tickets h1,
body .event-tickets h2,
body .event-tickets h3 {
  color: #fff !important;
}

/* Main checkout text, labels, prices, totals */
body .tribe-tickets__tickets-page-wrapper p,
body .tribe-tickets__tickets-page-wrapper span,
body .tribe-tickets__tickets-page-wrapper label,
body .tribe-tickets__tickets-page-wrapper td,
body .tribe-tickets__tickets-page-wrapper th,
body .tribe-tickets__tickets-page-wrapper strong,
body .tribe-tickets__tickets-checkout p,
body .tribe-tickets__tickets-checkout span,
body .tribe-tickets__tickets-checkout label,
body .tribe-tickets__tickets-checkout td,
body .tribe-tickets__tickets-checkout th,
body .tribe-tickets__tickets-checkout strong,
body .tec-tc-view p,
body .tec-tc-view span,
body .tec-tc-view label,
body .tec-tc-view td,
body .tec-tc-view th,
body .tec-tc-view strong,
body .event-tickets p,
body .event-tickets span,
body .event-tickets label,
body .event-tickets td,
body .event-tickets th,
body .event-tickets strong {
  color: #f3f4f3 !important;
}

/* Links */
body .tribe-tickets__tickets-page-wrapper a,
body .tribe-tickets__tickets-checkout a,
body .tec-tc-view a,
body .event-tickets a {
  color: var(--ocr-green) !important;
  text-decoration-color: rgba(168,255,25,.55) !important;
}

body .tribe-tickets__tickets-page-wrapper a:hover,
body .tribe-tickets__tickets-checkout a:hover,
body .tec-tc-view a:hover,
body .event-tickets a:hover {
  color: #d6ff8f !important;
}

/* Muted/helper text */
body .tribe-common .tribe-common-hint,
body .tribe-common .tribe-common-c-small,
body .tribe-tickets__tickets-page-wrapper .tribe-common-hint,
body .tec-tc-view .tribe-common-hint {
  color: #b9beb9 !important;
}

/* Checkout tables / separators */
body .tribe-tickets__tickets-page-wrapper table,
body .tribe-tickets__tickets-page-wrapper tr,
body .tribe-tickets__tickets-page-wrapper td,
body .tribe-tickets__tickets-page-wrapper th,
body .tribe-tickets__tickets-checkout table,
body .tribe-tickets__tickets-checkout tr,
body .tribe-tickets__tickets-checkout td,
body .tribe-tickets__tickets-checkout th,
body .tec-tc-view table,
body .tec-tc-view tr,
body .tec-tc-view td,
body .tec-tc-view th {
  border-color: rgba(255,255,255,.16) !important;
}

/* Form controls */
body .tribe-tickets__tickets-page-wrapper input,
body .tribe-tickets__tickets-page-wrapper select,
body .tribe-tickets__tickets-page-wrapper textarea,
body .tribe-tickets__tickets-checkout input,
body .tribe-tickets__tickets-checkout select,
body .tribe-tickets__tickets-checkout textarea,
body .tec-tc-view input,
body .tec-tc-view select,
body .tec-tc-view textarea {
  background: #111412 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.20) !important;
}

body .tribe-tickets__tickets-page-wrapper input::placeholder,
body .tribe-tickets__tickets-page-wrapper textarea::placeholder,
body .tribe-tickets__tickets-checkout input::placeholder,
body .tribe-tickets__tickets-checkout textarea::placeholder,
body .tec-tc-view input::placeholder,
body .tec-tc-view textarea::placeholder {
  color: #aeb4af !important;
}

/* Primary ticket buttons */
body .tribe-tickets__tickets-page-wrapper button,
body .tribe-tickets__tickets-page-wrapper input[type="submit"],
body .tribe-tickets__tickets-page-wrapper .button,
body .tribe-tickets__tickets-checkout button,
body .tribe-tickets__tickets-checkout input[type="submit"],
body .tribe-tickets__tickets-checkout .button,
body .tec-tc-view button,
body .tec-tc-view input[type="submit"],
body .tec-tc-view .button {
  background: var(--ocr-green) !important;
  color: #050607 !important;
  border-color: var(--ocr-green) !important;
  font-weight: 900 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

body .tribe-tickets__tickets-page-wrapper button:hover,
body .tribe-tickets__tickets-page-wrapper input[type="submit"]:hover,
body .tribe-tickets__tickets-page-wrapper .button:hover,
body .tribe-tickets__tickets-checkout button:hover,
body .tribe-tickets__tickets-checkout input[type="submit"]:hover,
body .tribe-tickets__tickets-checkout .button:hover,
body .tec-tc-view button:hover,
body .tec-tc-view input[type="submit"]:hover,
body .tec-tc-view .button:hover {
  background: #bcff45 !important;
  color: #050607 !important;
}

/* Event Tickets sometimes injects dark navy text directly. Override it inside checkout. */
body .tribe-tickets__tickets-page-wrapper,
body .tribe-tickets__tickets-checkout,
body .tec-tc-view {
  --tec-color-text-primary: #ffffff;
  --tec-color-text-secondary: #c8cdc9;
  --tec-color-text-disabled: #929994;
  --tec-color-link-primary: var(--ocr-green);
  --tec-color-background: #050605;
  --tec-color-background-secondary: #0d100e;
}

/* Specifically target checkout summary/item elements used by current Event Tickets builds */
body .tribe-tickets__tickets-page-wrapper .tribe-tickets__tickets-item,
body .tribe-tickets__tickets-page-wrapper .tribe-tickets__tickets-order,
body .tribe-tickets__tickets-page-wrapper .tribe-tickets__tickets-order-item,
body .tribe-tickets__tickets-page-wrapper .tribe-tickets__tickets-footer,
body .tribe-tickets__tickets-checkout .tribe-tickets__tickets-item,
body .tribe-tickets__tickets-checkout .tribe-tickets__tickets-order,
body .tribe-tickets__tickets-checkout .tribe-tickets__tickets-order-item {
  color: #fff !important;
  background-color: transparent !important;
}

/* Preserve white text on the checkout heading area */
body .tribe-tickets__tickets-page-wrapper .tribe-common-h4,
body .tribe-tickets__tickets-page-wrapper .tribe-common-h5,
body .tribe-tickets__tickets-page-wrapper .tribe-common-h6,
body .tec-tc-view .tribe-common-h4,
body .tec-tc-view .tribe-common-h5,
body .tec-tc-view .tribe-common-h6 {
  color: #fff !important;
}

@media (max-width: 760px) {
  body .tribe-tickets__tickets-page-wrapper,
  body .tribe-tickets__tickets-checkout,
  body .tec-tc-view {
    font-size: .95rem;
  }
}


/* v0.56.0 — precise Tickets Commerce checkout styling */

/*
 * Current Event Tickets checkout uses tribe-tickets__commerce-checkout*
 * classes. Force readable contrast across that entire component first.
 */
body [class*="tribe-tickets__commerce-checkout"] {
  color: #f5f6f5 !important;
}

/* Checkout headings / event title */
body .tribe-tickets__commerce-checkout-header-title,
body .tribe-tickets__commerce-checkout-cart-title,
body .tribe-tickets__commerce-checkout-cart-section-title {
  color: #ffffff !important;
}

body .tribe-tickets__commerce-checkout-header-event-title,
body .tribe-tickets__commerce-checkout-header-event-title a {
  color: var(--ocr-green) !important;
}

/* Back to event */
body .tribe-tickets__commerce-checkout-header-link-back-to-event,
body .tribe-tickets__commerce-checkout-header-link-back-to-event a {
  color: var(--ocr-green) !important;
  text-decoration-color: rgba(168,255,25,.6) !important;
}

/* Ticket name / details */
body .tribe-tickets__commerce-checkout-cart-item-details-title,
body .tribe-tickets__commerce-checkout-cart-item-details-title a,
body .tribe-tickets__commerce-checkout-cart-item-details,
body .tribe-tickets__commerce-checkout-cart-item-details-description {
  color: #ffffff !important;
}

/* Free / quantity / price / totals */
body .tribe-tickets__commerce-checkout-cart-item-price,
body .tribe-tickets__commerce-checkout-cart-item-price *,
body .tribe-tickets__commerce-checkout-cart-item-quantity,
body .tribe-tickets__commerce-checkout-cart-item-quantity *,
body .tribe-tickets__commerce-checkout-cart-footer-quantity,
body .tribe-tickets__commerce-checkout-cart-footer-quantity *,
body .tribe-tickets__commerce-checkout-cart-footer-total,
body .tribe-tickets__commerce-checkout-cart-footer-total *,
body .tribe-tickets__commerce-checkout-cart-footer-total-price,
body .tribe-tickets__commerce-checkout-cart-footer-total-price * {
  color: #ffffff !important;
}

/* Checkout cart separators */
body .tribe-tickets__commerce-checkout-cart-item,
body .tribe-tickets__commerce-checkout-cart-footer {
  border-color: rgba(255,255,255,.22) !important;
}

/* Coupon link/button */
body .tribe-tickets__commerce-checkout-cart-footer-coupon,
body .tribe-tickets__commerce-checkout-cart-footer-coupon *,
body .tribe-tickets__commerce-checkout-cart-footer-coupon-button,
body .tribe-tickets__commerce-checkout-cart-footer-coupon-button * {
  color: var(--ocr-green) !important;
}

body .tribe-tickets__commerce-checkout-cart-footer-coupon-button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(168,255,25,.55) !important;
  text-underline-offset: 3px;
}

/*
 * Free-ticket checkout gateway / submit area.
 * TEC support confirms this is the free-checkout gateway class.
 */
body .event-tickets .tribe-tickets__commerce-checkout-gateway,
body .tribe-common .tribe-tickets__commerce-checkout-gateway,
body .tribe-tickets__commerce-checkout-gateway.tribe-tickets__commerce-checkout-free {
  color: #ffffff !important;
  background: transparent !important;
}

/* The actual Get Tickets / submit control */
body .tribe-tickets__commerce-checkout-gateway button,
body .tribe-tickets__commerce-checkout-gateway .tribe-common-c-btn,
body .tribe-tickets__commerce-checkout-gateway .tribe-common-c-btn-border,
body .tribe-tickets__commerce-checkout-gateway input[type="submit"],
body button[class*="tribe-tickets__commerce-checkout"],
body input[class*="tribe-tickets__commerce-checkout"][type="submit"] {
  background: var(--ocr-green) !important;
  border: 1px solid var(--ocr-green) !important;
  border-radius: 999px !important;
  color: #050607 !important;
  font-weight: 950 !important;
  letter-spacing: .03em;
  box-shadow: 0 10px 26px rgba(168,255,25,.10) !important;
}

body .tribe-tickets__commerce-checkout-gateway button:hover,
body .tribe-tickets__commerce-checkout-gateway .tribe-common-c-btn:hover,
body .tribe-tickets__commerce-checkout-gateway input[type="submit"]:hover,
body button[class*="tribe-tickets__commerce-checkout"]:hover {
  background: #bdff48 !important;
  border-color: #bdff48 !important;
  color: #050607 !important;
}

/* Protect button text from the broad white-text override above */
body .tribe-tickets__commerce-checkout-gateway button *,
body .tribe-tickets__commerce-checkout-gateway .tribe-common-c-btn *,
body button[class*="tribe-tickets__commerce-checkout"] * {
  color: #050607 !important;
}

/* Any remaining checkout text injected with TEC navy variables */
body .tribe-tickets__commerce-checkout {
  --tec-color-text-primary: #ffffff !important;
  --tec-color-text-secondary: #c9ceca !important;
  --tec-color-link-primary: var(--ocr-green) !important;
  --tec-color-accent-primary: var(--ocr-green) !important;
}

/* Checkout surface proportions */
body .tribe-tickets__commerce-checkout {
  max-width: 900px;
}

@media (max-width: 760px) {
  body .tribe-tickets__commerce-checkout-gateway button,
  body .tribe-tickets__commerce-checkout-gateway .tribe-common-c-btn,
  body .tribe-tickets__commerce-checkout-gateway input[type="submit"] {
    width: 100% !important;
    min-height: 52px;
  }
}


/* v0.56.0 — live launch header cleanup */
@media (min-width: 1051px) {
  .site-header .header-inner {
    gap: 20px;
  }

  .site-header .site-branding {
    min-width: 175px;
  }

  .site-header .primary-nav {
    margin-left: auto;
    min-width: 0;
  }

  .site-header .primary-nav ul.ocr-launch-menu {
    gap: clamp(14px, 1.25vw, 24px);
    flex-wrap: nowrap;
  }

  .site-header .primary-nav ul.ocr-launch-menu > li {
    flex: 0 0 auto;
  }

  .site-header .primary-nav ul.ocr-launch-menu a {
    white-space: nowrap;
  }

  .site-header .header-actions {
    flex: 0 0 auto;
  }
}

/* Public YouTube fallback links should look intentional, not like setup text. */
.ocr-youtube-card--empty .ocr-youtube-watch {
  display: inline-flex;
  margin-top: 14px;
  color: var(--ocr-green);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .76rem;
}

.ocr-youtube-card--empty .ocr-youtube-watch:hover {
  color: #d6ff8f;
}


/* v0.56.0 — polished no-upcoming-event state */
.ocr-next-copy--empty .ocr-next-title--empty {
  max-width: 760px;
  font-size: clamp(3.65rem, 5.35vw, 6.35rem);
  line-height: .92;
}

.ocr-next-copy--empty .ocr-next-desc {
  max-width: 660px;
  font-size: 1rem;
  line-height: 1.7;
}

@media (max-width: 760px) {
  .ocr-next-copy--empty .ocr-next-title--empty {
    font-size: clamp(3.15rem, 14vw, 5.15rem);
  }
}


/* v0.56.0 — exact uploaded Meet Mike & Jona homepage photo */
.ocr-family-lead img {
  object-position: center 34%;
}

@media (max-width: 760px) {
  .ocr-family-lead img {
    object-position: center 30%;
  }
}


/* v0.56.0 — The Newsletter Plugin form layout inside homepage CTA */
.ocr-newsletter-plugin-form .tnp,
.ocr-newsletter-plugin-form .tnp-subscription {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ocr-newsletter-plugin-form .tnp form,
.ocr-newsletter-plugin-form .tnp-subscription form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px 16px !important;
  align-items: end !important;
  width: 100% !important;
  margin: 0 !important;
}

.ocr-newsletter-plugin-form .tnp-field {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ocr-newsletter-plugin-form .tnp-field-firstname,
.ocr-newsletter-plugin-form .tnp-field-email {
  grid-column: span 1;
}

.ocr-newsletter-plugin-form .tnp-field-privacy {
  grid-column: 1 / 2;
  align-self: center;
}

.ocr-newsletter-plugin-form .tnp-field-button {
  grid-column: 2 / 3;
  width: 100%;
}

.ocr-newsletter-plugin-form .tnp-field > label:not(:has(input[type="checkbox"])),
.ocr-newsletter-plugin-form .tnp-field-firstname > label,
.ocr-newsletter-plugin-form .tnp-field-email > label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #f3f5f3 !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
}

.ocr-newsletter-plugin-form .tnp-field input[type="text"],
.ocr-newsletter-plugin-form .tnp-field input[type="email"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.34) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(168,255,25,.02) !important;
  font-size: 1rem !important;
  outline: none !important;
}

.ocr-newsletter-plugin-form .tnp-field input[type="text"]:focus,
.ocr-newsletter-plugin-form .tnp-field input[type="email"]:focus {
  border-color: rgba(168,255,25,.65) !important;
  box-shadow: 0 0 0 3px rgba(168,255,25,.08) !important;
}

.ocr-newsletter-plugin-form .tnp-field-privacy label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #d6dad7 !important;
  font-size: .84rem !important;
  line-height: 1.4 !important;
  cursor: pointer;
}

.ocr-newsletter-plugin-form .tnp-field-privacy input[type="checkbox"],
.ocr-newsletter-plugin-form input.tnp-privacy[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: var(--ocr-green);
}

.ocr-newsletter-plugin-form .tnp-field-privacy a {
  color: var(--ocr-green) !important;
  text-decoration: none !important;
}

.ocr-newsletter-plugin-form .tnp-field-privacy a:hover {
  color: #d6ff8f !important;
  text-decoration: underline !important;
}

.ocr-newsletter-plugin-form input.tnp-submit,
.ocr-newsletter-plugin-form .tnp-field-button input[type="submit"] {
  display: block !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border: 1px solid var(--ocr-green) !important;
  border-radius: 999px !important;
  background: var(--ocr-green) !important;
  color: #050607 !important;
  font-size: .9rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.ocr-newsletter-plugin-form input.tnp-submit:hover,
.ocr-newsletter-plugin-form .tnp-field-button input[type="submit"]:hover {
  transform: translateY(-1px);
  background: #bdff48 !important;
  box-shadow: 0 10px 25px rgba(168,255,25,.12) !important;
}

/* Hidden plugin inputs must not consume a grid cell. */
.ocr-newsletter-plugin-form form > input[type="hidden"] {
  display: none !important;
}

@media (max-width: 760px) {
  .ocr-newsletter-plugin-form .tnp form,
  .ocr-newsletter-plugin-form .tnp-subscription form {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ocr-newsletter-plugin-form .tnp-field-firstname,
  .ocr-newsletter-plugin-form .tnp-field-email,
  .ocr-newsletter-plugin-form .tnp-field-privacy,
  .ocr-newsletter-plugin-form .tnp-field-button {
    grid-column: 1 !important;
  }

  .ocr-newsletter-plugin-form .tnp-field-privacy {
    margin-top: 2px !important;
  }
}
