/* Shared type families and editorial hierarchy; compact components retain their scale. */
body.home .oc-home-hero h1 {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}
.oc-main .oc-directory-copy,
.oc-main .oc-free-games-prose { --oc-editorial-measure: none; }
.oc-general-guide .oc-payment-guide__hero { grid-template-columns: minmax(0, 1fr); margin-bottom: 40px; }
.oc-general-guide .oc-dev-hero-copy { max-width: none; }
.oc-general-guide .oc-blog-guide__contents { border: 0; padding: 0; }
.oc-general-guide .oc-blog-guide__contents > summary { cursor: pointer; font-size: 13px; font-weight: 700; margin-bottom: 16px; }
.oc-general-guide .oc-blog-guide__contents .oc-payment-guide__toc > strong { display: none; }
.oc-main .oc-rs .oc-rs-hero h1 { font-size: 36px; }
.oc-main .oc-rs .oc-rs-hero .oc-rs-hero-description-text { font-size: 18px; }
.oc-main .oc-page-hero.oc-page-hero--general {
  background: #2c4035 !important;
  color: #fff;
  display: block;
  min-height: 0 !important;
  padding: 40px;
}
.oc-page-hero--general::before,
.oc-page-hero--general::after,
.oc-page-hero--general .oc-page-hero__art { display: none !important; }
.oc-page-hero--general .oc-page-hero__copy { max-width: none; }
.oc-main .oc-page-hero--general h1,
.oc-main .oc-page-hero--general a { color: #fff !important; }
.oc-main .oc-page-hero--general :is(p, .oc-hero-breadcrumb, .oc-page-hero__author) { color: #d4e0d8; }
@media (max-width: 760px) {
  body.home .oc-home-hero h1 { font-size: 32px !important; }
  .oc-main .oc-rs .oc-rs-hero h1 { font-size: 28px; }
  .oc-main .oc-rs .oc-rs-hero .oc-rs-hero-description-text { font-size: 17px; }
  .oc-main .oc-page-hero.oc-page-hero--general { padding: 24px; }
}
:root {
  --oc-font: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  --oc-body-font: var(--oc-font);
  --oc-display-font: "Arial Rounded MT Bold", "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  --oc-type-title: 52px;
  --oc-type-h2: 28px;
  --oc-type-h3: 22px;
  --oc-type-body: 18px;
  --oc-reading-line-height: 1.8;
  --oc-reading-paragraph-gap: 24px;
  --oc-reading-inset: 40px;
}
body, button, input, select, textarea {
  font-family: var(--oc-font);
}
.oc-main, .oc-dev, .oc-main.oc-blog-index {
  font-family: var(--oc-font);
  --bi-display: var(--oc-display-font);
}
:is(.oc-main, .oc-dev) :is(h1, h2, h3, h4), .oc-site-footer :is(h2, h3, h4) {
  font-family: var(--oc-display-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
:is(.oc-main, .oc-dev) h1 {
  font-size: var(--oc-type-title);
  line-height: 1.13;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) {
  font-family: var(--oc-font);
  font-size: var(--oc-type-body);
  font-weight: 400;
  line-height: var(--oc-reading-line-height);
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > :is(p, ul, ol) {
  max-width: var(--oc-editorial-measure, 70ch);
  margin-top: 0;
  margin-bottom: var(--oc-reading-paragraph-gap);
  font-family: var(--oc-font);
  font-size: var(--oc-type-body);
  font-weight: 400;
  line-height: var(--oc-reading-line-height);
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > :is(ul, ol) > li {
  font-size: inherit;
  line-height: inherit;
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > h2 {
  font-size: var(--oc-type-h2);
  font-weight: 700;
  line-height: 1.3;
  margin: 44px 0 18px;
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > h3 {
  font-size: var(--oc-type-h3);
  font-weight: 700;
  line-height: 1.4;
  margin: 30px 0 12px;
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > :is(h2, h3):first-child {
  margin-top: 0;
}
:is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) :is(strong, b) {
  font-weight: 700;
}
:is(.oc-main, .oc-dev) :is(.oc-rs-section > h2, .oc-dev-section-title h2, .oc-section-heading h2, .oc-section-head h2, .bi-results-header h2) {
  font-size: var(--oc-type-h2);
  font-weight: 700;
  line-height: 1.3;
}
:is(.oc-main, .oc-dev) :is(.oc-payment-guide__toc, .oc-dev-sidebar nav) a {
  font-family: var(--oc-font);
  font-size: 14px;
  line-height: 1.55;
}
@media (max-width: 1000px) {
  :root { --oc-type-title: 44px; }
}
/* Fill the article track while keeping the sidebar at the container's right edge. */
@media (min-width: 1001px) {
  .oc-dev .oc-dev-article-layout,
  .oc-payment-guide .oc-payment-guide__columns.has-toc {
    font-size: var(--oc-type-body);
    max-width: none;
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: 40px;
  }
  .oc-dev .oc-dev-article-layout { max-width: 1180px; }
  /* Inset only the reading track; preserve media, CTAs and sidebar positions. */
  .oc-blog-guide #article-content,
  .oc-dev .oc-dev-article-layout > .oc-dev-editorial,
  .oc-payment-guide:not(.oc-blog-guide) .oc-payment-guide__columns > .oc-prose,
  .oc-page-content-shell.has-toc > .oc-prose {
    margin-inline-start: var(--oc-reading-inset);
    width: auto;
    min-width: 0;
  }
}
/* The column already bounds the text; do not add a second reading-width cap. */
@media (min-width: 761px) {
  .oc-dev .oc-dev-article-layout > .oc-dev-editorial,
  .oc-payment-guide .oc-payment-guide__columns.has-toc > .oc-prose,
  .oc-rs-layout:not(.oc-rs-layout--no-offer) > .oc-rs-article {
    --oc-editorial-measure: none;
  }
  .oc-payment-guide .oc-payment-guide__columns.has-toc > .oc-prose {
    max-width: none !important; /* Override the legacy 1040px prose cap. */
  }
  .oc-rs-layout:not(.oc-rs-layout--no-offer) .oc-rs-reputation {
    max-width: none;
  }
}
@media (min-width: 981px) {
  .oc-page-content-shell.has-toc > .oc-prose,
  .oc-review-page-wrap:not(.oc-review-page-wrap--legacy) > .oc-review-prose {
    --oc-editorial-measure: none;
  }
}
@media (min-width: 1121px) {
  .oc-slot-layout > .oc-slot-player-card {
    --oc-editorial-measure: none;
  }
}
@media (max-width: 760px) {
  :root { --oc-type-title: 34px; --oc-type-h2: 26px; --oc-type-h3: 21px; }
  :is(.oc-main, .oc-dev) h1 { line-height: 1.18; }
  :is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > h2 { margin-top: 36px; }
  :is(.oc-main, .oc-dev) :is(.oc-prose, .oc-dev-editorial, .oc-rs-narrative, .oc-rs-reputation, .oc-slot-player-card) > h2:first-child { margin-top: 0; }
}
