@charset "UTF-8";
/* =============================================================================
   O SEGREDO — home-premium.css (REDESIGN v2)
   ---------------------------------------------------------------------------
   Premium editorial home for osegredo.com.br
   - Targets the existing classes emitted by front-page.php (no PHP changes).
   - Reuses theme fonts: --hff (Outfit) + --bff (Figtree).
   - ZERO box-shadow. Depth comes from hairlines, type weight, and color blocks.
   - Supports light + dark ([data-site-skin="dark"]).
   - Single drop-in replacement. Drop into framework/css/home-premium.css.
   ============================================================================= */

/* =========================================================================
   1) TOKENS — extend the existing :root with redesign tokens.
   These coexist with the legacy --os-* values; legacy names kept as aliases.
   ========================================================================= */
:root {
  /* New editorial palette (warm, low-chroma neutrals) */
  --osr-bg:        oklch(0.985 0.003 80);
  --osr-surface:   #ffffff;
  --osr-surface-2: oklch(0.965 0.004 80);
  --osr-surface-3: oklch(0.94 0.005 80);

  --osr-line:        oklch(0.90 0.005 80);
  --osr-line-2:      oklch(0.93 0.005 80);
  --osr-line-strong: oklch(0.82 0.008 80);

  --osr-ink:    oklch(0.20 0.010 60);
  --osr-ink-2:  oklch(0.34 0.010 60);
  --osr-muted:  oklch(0.52 0.010 60);
  --osr-soft:   oklch(0.68 0.010 60);

  --osr-accent:      #ff532c;
  --osr-accent-ink:  #b53310;
  --osr-accent-soft: rgba(255,83,44,.10);

  --osr-deep:     #241734;
  --osr-deep-ink: #ffffff;

  --osr-gap:    28px;
  --osr-stack:  76px; /* escala v2 — era 56px: mais ar entre seções */
  --osr-radius: 4px;

  --osr-thumb-w: 110px;

  /* Legacy aliases — keep the old --os-* tokens pointing at the new values
     so nothing else in the theme breaks. */
  --os-bg:        var(--osr-bg);
  --os-card:      var(--osr-surface);
  --os-line:      var(--osr-line);
  --os-line2:     var(--osr-line-2);
  --os-line-soft: var(--osr-line-2);
  --os-text:      var(--osr-ink);
  --os-muted:     var(--osr-muted);
  --os-soft:      var(--osr-muted);
  --os-ink:       var(--osr-ink);
  --os-orange:    var(--osr-accent);
  --os-brand-secondary: #6428ec;
  --os-brand-tertiary:  #d63384;
  --os-brand-deep:      var(--osr-deep);
  --os-brand-soft:      var(--osr-accent-soft);
  --os-surface-soft:    var(--osr-surface-2);

  /* Kill all the legacy shadows by aliasing them to nothing. */
  --os-shadow-1: none;
  --os-shadow-2: none;
  --gp-shadow-sm: none;
  --gp-shadow-md: none;
  --gp-shadow-lg: none;
  --mow-box-shadow: none;
}

[data-site-skin="dark"]:root,
[data-site-skin="dark"] body.home {
  --osr-bg:        oklch(0.16 0.008 60);
  --osr-surface:   oklch(0.20 0.008 60);
  --osr-surface-2: oklch(0.23 0.008 60);
  --osr-surface-3: oklch(0.26 0.008 60);
  --osr-line:        oklch(0.32 0.008 60);
  --osr-line-2:      oklch(0.28 0.008 60);
  --osr-line-strong: oklch(0.42 0.008 60);
  --osr-ink:    oklch(0.96 0.005 60);
  --osr-ink-2:  oklch(0.85 0.005 60);
  --osr-muted:  oklch(0.65 0.005 60);
  --osr-soft:   oklch(0.52 0.005 60);
  --osr-accent-soft: rgba(255,83,44,.16);
  --osr-deep:     #ffffff;
  --osr-deep-ink: oklch(0.20 0.008 60);
}

/* =========================================================================
   2) GLOBAL: kill box-shadow inside the home (catch-all safety net)
   The redesign relies on borders and contrast — never on shadows.
   ========================================================================= */
body.home .os-homeWrap,
body.home .os-homeWrap *,
body.home .ose-premium-card,
body.home .ose-premium-section,
body.home .ose-home-special-widget,
body.home .ose-premium-list,
body.home .ose-premium-grid {
  box-shadow: none !important;
}

/* =========================================================================
   3) WRAP / FOUNDATION
   ========================================================================= */
body.home .mow_fn_content { background: var(--osr-bg); }
body.home .mow_fn_blog_content { background: transparent; }

.os-homeWrap {
  width: min(1320px, calc(100% - 28px));
  margin: 18px auto 64px;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  color: var(--osr-ink);
  font-family: var(--bff);
  font-size: 16px;
  line-height: 1.55;
}

.os-homeWrap *,
.os-homeWrap *::before,
.os-homeWrap *::after { box-sizing: border-box; }

.os-homeWrap a {
  color: inherit;
  text-decoration: none;
  transition: color .18s ease;
  cursor: pointer;
}
.os-homeWrap a:hover { color: var(--osr-accent); }
.os-homeWrap img { max-width: 100%; height: auto; display: block; }

.os-homeWrap h1, .os-homeWrap h2, .os-homeWrap h3, .os-homeWrap h4,
.os-homeWrap h5, .os-homeWrap h6 {
  font-family: var(--hff);
  color: var(--osr-ink);
  letter-spacing: -0.01em;
  line-height: 1.18;
  margin: 0;
}

.os-homeWrap ol, .os-homeWrap ul { margin: 0; padding: 0; list-style: none; }

@media (min-width: 1440px) {
  .os-homeWrap { width: min(1340px, calc(100% - 40px)); }
}

/* Section divider */
.os-sectionDivider {
  height: 1px;
  background: var(--osr-line);
  margin: 36px 0;
  border: none;
}

/* =========================================================================
   4) GRID SYSTEM
   ========================================================================= */
.os-homeGrid {
  display: grid;
  gap: var(--osr-gap);
  align-items: start;
  margin: var(--osr-stack) 0;
}
.os-homeGrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.os-homeGrid--2 { grid-template-columns: 1.25fr .75fr; }
.os-homeGrid--services { grid-template-columns: 1fr; margin: 24px 0; }
.os-homeGrid--servicesTop { margin-top: 0; }

/* Linhas incompletas do grid (última linha com 2 ou 1 seção) esticam para
   preencher a largura toda — sem espaços em branco na capa (decisão Jader).
   Só no desktop; no mobile o grid já vira 1 coluna (@media max-width:880px). */
@media (min-width: 881px) {
  .os-homeWrap .os-homeGrid--3.os-homeGrid--fill2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .os-homeWrap .os-homeGrid--3.os-homeGrid--fill1 { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================================
   5) META / KICKER
   Output: <div class="os-meta"><a class="os-meta__cat">Cat</a><span class="os-meta__icons">…</span></div>
   ========================================================================= */
.os-homeWrap .os-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--bff);
  font-size: 11px; /* escala v2 −1px (Jader, 2026-09-12) — 12px era a escala v2; era 11px antes dela */
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--osr-muted);
  white-space: nowrap;
}
.os-homeWrap .os-meta__cat {
  color: var(--osr-accent-ink);
  font-weight: 700;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 5;
}
.os-homeWrap .os-meta__cat:hover { color: var(--osr-accent); }
.os-homeWrap .os-meta__icons {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--osr-soft);
  margin-left: 4px;
  position: static;
}
.os-homeWrap .os-meta__icons svg { width: 13px; height: 13px; }
.os-homeWrap .os-accessIcon {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border: 1px solid var(--osr-line);
  border-radius: 50%;
  background: var(--osr-surface);
  color: var(--osr-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  position: relative;
  z-index: 5;
  cursor: pointer;
  text-decoration: none;
}
.os-homeWrap .os-accessIcon:hover,
.os-homeWrap .os-accessIcon.is-active,
.os-homeWrap .os-accessIcon.active,
.os-homeWrap .os-accessIcon.saved {
  border-color: var(--osr-accent);
  color: var(--osr-accent);
  background: var(--osr-accent-soft);
}
.os-homeWrap .os-accessIcon svg {
  width: 12px;
  height: 12px;
  display: block;
  fill: currentColor;
}

/* Small-image cards stay clean: no status/favorite badges on top of thumbnails. */
.os-homeWrap .os-heroMini__thumb .os-videoBadge,
.os-homeWrap .os-heroMini__thumb .mow_fn_gallery_count,
.os-homeWrap .os-heroMini__thumb .gallery_count,
.os-homeWrap .os-heroMini__thumb .osemp-card-badges,
.os-homeWrap .os-feature__media .os-videoBadge,
.os-homeWrap .os-feature__media .mow_fn_gallery_count,
.os-homeWrap .os-feature__media .gallery_count,
.os-homeWrap .os-feature__media .osemp-card-badges,
.os-homeWrap .os-accessCard__media .os-videoBadge,
.os-homeWrap .os-accessCard__media .mow_fn_gallery_count,
.os-homeWrap .os-accessCard__media .gallery_count,
.os-homeWrap .os-accessCard__media .osemp-card-badges {
  display: none;
}
.os-homeWrap .os-heroMini .os-accessIcon--premium,
.os-homeWrap .os-heroMini .os-accessIcon--registered,
.os-homeWrap .os-feature .os-accessIcon--premium,
.os-homeWrap .os-feature .os-accessIcon--registered,
.os-homeWrap .os-accessCard .os-accessIcon--premium,
.os-homeWrap .os-accessCard .os-accessIcon--registered {
  display: none;
}

/* Media badges (video / gallery count) */
.os-homeWrap .os-videoBadge {
  position: absolute;
  top: 10px; left: 10px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--osr-accent);
  display: inline-flex; align-items: center; justify-content: center;
  z-index: 3;
}
.os-homeWrap .os-videoBadge::before {
  content: "";
  width: 0; height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #fff;
  margin-left: 2px;
}
.os-homeWrap .mow_fn_gallery_count,
.os-homeWrap .gallery_count {
  position: absolute;
  top: 10px; left: 10px;
  background: rgba(0,0,0,.78);
  color: #fff;
  font-family: var(--bff);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 4px 8px;
  border-radius: 2px;
  z-index: 2;
}

/* =========================================================================
   6) SECTION TITLES — used by .os-blockTitle, .os-col__title, .os-widget__title
   ========================================================================= */
.os-homeWrap .os-blockTitle,
.os-homeWrap .os-col__title,
.os-homeWrap .os-widget__title {
  font-family: var(--hff);
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--osr-ink);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* --- Escala v2 (Jader, 2026-09-12) ---------------------------------------
   A regra acima é compartilhada por .os-blockTitle, .os-col__title e
   .os-widget__title. O documento de escala pede tamanhos DIFERENTES para o
   título de seção e para o de serviço, então eles ganham regra própria aqui em
   vez de eu mexer no valor comum — assim o .os-blockTitle fica como está. */
.os-homeWrap .os-col__title { font-size: clamp(23px, 2.2vw, 29px); }  /* escala v2 −1px; era clamp(20px, 1.6vw, 24px) */
.os-homeWrap .os-widget__title { font-size: 25px; }                   /* escala v2 −1px; era clamp(20px, 1.6vw, 24px) */
.os-homeWrap .os-blockTitle .text,
.os-homeWrap .os-col__title .text,
.os-homeWrap .os-widget__title .text {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--osr-ink);
}
.os-homeWrap .os-blockTitle .text::before,
.os-homeWrap .os-col__title .text::before,
.os-homeWrap .os-widget__title .text::before {
  content: "";
  width: 4px;
  height: 18px;
  background: var(--osr-accent);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}
/* Hide the legacy `.r_decor` flourish — clean title only */
.os-homeWrap .r_decor { display: none; }

/* Section header (head + more button) */
.os-homeWrap .os-col__head,
.os-homeWrap .os-numbered__head,
.os-homeWrap .os-access__head,
.os-homeWrap .ose-premium-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--osr-line);
}

/* "Ver mais" button */
.os-homeWrap .os-home-moreBtn,
.os-homeWrap .ose-premium-section__more,
.os-homeWrap .os-blockMore {
  font-family: var(--bff);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--osr-ink-2);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  border: none;
  background: none;
  padding: 0;
  border-radius: 0;
}
.os-homeWrap .os-home-moreBtn:hover,
.os-homeWrap .ose-premium-section__more:hover,
.os-homeWrap .os-blockMore:hover { color: var(--osr-accent); }
.os-homeWrap .os-home-moreBtn__icon {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  line-height: 1;
}
.os-homeWrap .os-home-moreBtn--orange { color: var(--osr-ink-2); }
.os-homeWrap .os-home-moreBtn--dark { color: var(--osr-ink); }

/* =========================================================================
   7) TICKER — Em alta
   ========================================================================= */
.os-homeWrap .os-ticker {
  --osr-ticker-speed: 126s;
  display: flex;
  align-items: stretch;
  border: 1px solid var(--osr-line);
  background: var(--osr-surface);
  margin: 24px 0 32px;
  overflow: hidden;
  border-radius: var(--osr-radius);
  min-height: 44px;
}
.os-homeWrap .os-ticker__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--osr-ink);
  color: var(--osr-bg);
  padding: 0 16px;
  font-family: var(--bff);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  flex-shrink: 0;
  white-space: nowrap;
  border-radius: 0;
}
.os-homeWrap .os-ticker__label::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--osr-accent);
  animation: osrTickerPulse 1.8s ease-in-out infinite;
}
@keyframes osrTickerPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.85); }
}
.os-homeWrap .os-ticker__track {
  flex: 1; min-width: 0;
  overflow: hidden;
  position: relative;
}
.os-homeWrap .os-ticker__marquee {
  display: inline-flex;
  align-items: center;
  height: 44px;
  white-space: nowrap;
  will-change: transform;
  animation: osrTickerSlide var(--osr-ticker-speed) linear infinite;
}
.os-homeWrap .os-ticker:hover .os-ticker__marquee { animation-play-state: paused; }
.os-homeWrap .os-ticker__item {
  display: inline-flex;
  align-items: center;
  padding: 0 22px;
  font-size: 13.5px;
  color: var(--osr-ink-2);
  border-left: 1px solid var(--osr-line-2);
}
.os-homeWrap .os-ticker__item:first-child { border-left: none; }
.os-homeWrap .os-ticker__text { font-weight: 500; }
@keyframes osrTickerSlide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Chip-row label (used by .ose-premium-chipRow) */
.os-homeWrap .ose-premium-chipRow .ose-premium-chip {
  background: var(--osr-ink);
  color: var(--osr-bg);
}

/* =========================================================================
   8) HERO — main + side + most-read
   Layout: .os-hero__grid → main (1.55fr) | side (1fr) | mostread (1fr)
   ========================================================================= */
.os-homeWrap .os-hero { margin-bottom: var(--osr-stack); }
.os-homeWrap .os-hero__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}
.os-homeWrap .os-hero__title { display: none; } /* visually decorative — hero speaks for itself */
.os-homeWrap .os-hero__grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr 1fr;
  gap: var(--osr-gap);
  align-items: start;
}

/* Hero main */
.os-homeWrap .os-heroMain {
  background: var(--osr-surface);
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.os-homeWrap .os-heroMain__link {
  position: absolute; inset: 0;
  z-index: 0;
  pointer-events: none;
}
.os-homeWrap .os-heroMain__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--osr-surface-2);
  overflow: hidden;
}
.os-homeWrap .os-heroMain__mediaLink { display: block; height: 100%; position: relative; z-index: 3; }
.os-homeWrap .os-heroMain__media img,
.os-homeWrap .os-heroMain__media .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.os-homeWrap .os-heroMain .os-overlay { display: none; } /* drop dark vignette overlay */
.os-homeWrap .os-heroMain__content {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  z-index: 2;
}
.os-homeWrap .os-heroMain__headline {
  font-family: var(--hff);
  font-size: clamp(24px, 2.4vw, 36px); /* Jader, 2026-09-12: revertido ao tamanho anterior à escala v2 */
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0;
}
.os-homeWrap .os-heroMain__headline a { color: var(--osr-ink); position: relative; z-index: 5; }
.os-homeWrap .os-heroMain__headline a:hover { color: var(--osr-accent); }

/* Hero side */
.os-homeWrap .os-heroSide {
  display: flex;
  flex-direction: column;
}
.os-homeWrap .os-heroMini {
  display: grid;
  grid-template-columns: var(--osr-thumb-w) 1fr;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--osr-line);
  align-items: start;
  position: relative;
  background: transparent;
  border-radius: 0;
}
.os-homeWrap .os-heroMini:first-child { padding-top: 0; }
.os-homeWrap .os-heroMini:last-child { border-bottom: none; padding-bottom: 0; }
.os-homeWrap .os-heroMini__link {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.os-homeWrap .os-heroMini__thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--osr-surface-2);
  border-radius: var(--osr-radius);
  overflow: hidden;
}
.os-homeWrap .os-heroMini__thumbLink { display: block; height: 100%; position: relative; z-index: 3; }
.os-homeWrap .os-heroMini__thumb img,
.os-homeWrap .os-heroMini__thumb .wp-post-image {
  width: 100%; height: 100%; object-fit: cover;
}
.os-homeWrap .os-heroMini__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 2;
}
.os-homeWrap .os-heroMini__metaRow { line-height: 1; }
.os-homeWrap .os-heroMini__title {
  font-family: var(--hff);
  font-size: 17px; /* escala v2 −1px; era 15.5px */
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.005em;
  margin: 0;
}
.os-homeWrap .os-heroMini__title a { color: var(--osr-ink); position: relative; z-index: 5; }
.os-homeWrap .os-heroMini__title a:hover { color: var(--osr-accent); }

/* =========================================================================
   9) MOST READ (Mais lidas) — numbered list in hero column
   ========================================================================= */
.os-homeWrap .os-heroRead {
  height: auto !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.os-homeWrap .os-numbered,
.os-homeWrap .ose-home-mostread {
  background: var(--osr-surface);
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
}
.os-homeWrap .os-numbered__head {
  padding-bottom: 14px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--osr-line);
}
.os-homeWrap .os-numbered__head .os-blockTitle {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--osr-muted);
}
.os-homeWrap .os-numbered__head .os-blockTitle .text { color: var(--osr-muted); }
.os-homeWrap .os-numbered__head .os-blockTitle .text::before {
  width: 18px;
  height: 2px;
  background: var(--osr-accent);
}
.os-homeWrap .os-numbered__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
.os-homeWrap .os-numbered__item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid var(--osr-line-2);
}
.os-homeWrap .os-numbered__item:last-child { border-bottom: none; padding-bottom: 4px; }
.os-homeWrap .os-numbered__n {
  font-family: var(--hff);
  font-size: 23px; /* escala v2 −1px; era 22px */
  font-weight: 700;
  color: var(--osr-accent);
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.os-homeWrap .os-numbered__link {
  font-family: var(--hff);
  font-size: 16px; /* escala v2 −1px; era 14px */
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: -0.005em;
  color: var(--osr-ink);
}
.os-homeWrap .os-numbered__link:hover { color: var(--osr-accent); }

/* Hero read ad slot */
.os-homeWrap .os-heroReadAd {
  border: 1px dashed var(--osr-line-strong);
  border-radius: var(--osr-radius);
  background: var(--osr-surface-2);
  padding: 12px;
  margin: 0 0 18px;
}
.os-homeWrap .os-heroReadAd__label {
  font-family: var(--bff);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--osr-muted);
  text-align: center;
  margin-bottom: 8px;
}

/* =========================================================================
   10) MAIS ACESSADOS — 4-card row
   ========================================================================= */
.os-homeWrap .os-access {
  margin-bottom: var(--osr-stack);
}
.os-homeWrap .os-access__head { padding-bottom: 14px; margin-bottom: 22px; }
.os-homeWrap .os-access__row.ose-premium-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--osr-gap);
}
.os-homeWrap .os-accessCard {
  background: var(--osr-surface);
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.os-homeWrap .os-accessCard__link {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.os-homeWrap .os-accessCard__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--osr-surface-2);
  overflow: hidden;
}
.os-homeWrap .os-accessCard__mediaLink { display: block; height: 100%; position: relative; z-index: 3; }
.os-homeWrap .os-accessCard__media img,
.os-homeWrap .os-accessCard__media .wp-post-image {
  width: 100%; height: 100%; object-fit: cover;
}
.os-homeWrap .os-accessCard__overlay { display: none; }
.os-homeWrap .os-accessCard__body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 2;
  flex: 1;
}
.os-homeWrap .os-accessCard__title {
  font-family: var(--hff);
  font-size: 18px; /* escala v2 −1px; era 16px */
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.005em;
  margin: 0;
}
.os-homeWrap .os-accessCard__title a { color: var(--osr-ink); position: relative; z-index: 5; }
.os-homeWrap .os-accessCard__title a:hover { color: var(--osr-accent); }

/* Rank badge — moved to a clean circular tag, no glow */
.os-homeWrap .os-rankBadge {
  position: absolute;
  top: 10px; right: 10px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--osr-ink);
  color: var(--osr-bg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--hff);
  font-weight: 700;
  font-size: 14px;
  z-index: 3;
}
.os-homeWrap .os-rankBadge__icon { display: none; } /* drop the trophy SVG */
.os-homeWrap .os-rankBadge__n { font-variant-numeric: tabular-nums; }

/* =========================================================================
   11) CATEGORY COLUMNS — Notícias, Política, Economia, etc.
   ========================================================================= */
.os-homeWrap .os-col {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
}
.os-homeWrap .os-col__head { padding-bottom: 12px; margin-bottom: 18px; }
.os-homeWrap .os-col__title a.text { color: var(--osr-ink); }
.os-homeWrap .os-col__title a.text:hover { color: var(--osr-accent); }

/* Featured article in column */
.os-homeWrap .os-feature {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
  background: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
  position: relative;
}
.os-homeWrap .os-feature__link {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.os-homeWrap .os-feature__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--osr-surface-2);
  border-radius: var(--osr-radius);
  overflow: hidden;
}
.os-homeWrap .os-feature__mediaLink { display: block; height: 100%; position: relative; z-index: 3; }
.os-homeWrap .os-feature__media img,
.os-homeWrap .os-feature__media .wp-post-image {
  width: 100%; height: 100%; object-fit: cover;
}
.os-homeWrap .os-feature__media .os-overlay { display: none; }
.os-homeWrap .os-feature__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 2;
}
.os-homeWrap .os-feature__title {
  font-family: var(--hff);
  font-size: 23px; /* escala v2 −1px; era 19px */
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.01em;
  margin: 0;
}
.os-homeWrap .os-feature__title a { color: var(--osr-ink); position: relative; z-index: 5; }
.os-homeWrap .os-feature__title a:hover { color: var(--osr-accent); }

/* List inside column */
.os-homeWrap .os-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
.os-homeWrap .os-list__item {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--osr-line);
  align-items: start;
  position: relative;
  background: transparent;
  border-radius: 0;
}
.os-homeWrap .os-list__item:first-child { border-top: none; padding-top: 0; }
.os-homeWrap .os-list__link {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.os-homeWrap .os-list__thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--osr-surface-2);
  border-radius: var(--osr-radius);
  overflow: hidden;
}
.os-homeWrap .os-list__thumbLink { display: block; height: 100%; position: relative; z-index: 3; }
.os-homeWrap .os-list__thumb img,
.os-homeWrap .os-list__thumb .wp-post-image {
  width: 100%; height: 100%; object-fit: cover;
}
.os-homeWrap .os-list__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  z-index: 2;
}
.os-homeWrap .os-list__title {
  font-family: var(--hff);
  font-size: 16px; /* escala v2 −1px; era 14.5px */
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: -0.005em;
  margin: 0;
}
.os-homeWrap .os-list__title a { color: var(--osr-ink); position: relative; z-index: 5; }
.os-homeWrap .os-list__title a:hover { color: var(--osr-accent); }

/* Variant treatments per editorial group — only minor color accent on the bar */
.os-homeWrap .ose-home-section--journal       .os-col__title .text::before { background: oklch(0.55 0.15 30); }
.os-homeWrap .ose-home-section--politica      .os-col__title .text::before { background: oklch(0.45 0.10 260); }
.os-homeWrap .ose-home-section--economia      .os-col__title .text::before { background: oklch(0.50 0.12 150); }
.os-homeWrap .ose-home-section--entertainment .os-col__title .text::before { background: oklch(0.55 0.15 350); }
.os-homeWrap .ose-home-section--utility       .os-col__title .text::before { background: oklch(0.55 0.12 180); }
.os-homeWrap .ose-home-section--lifestyle     .os-col__title .text::before { background: oklch(0.55 0.12 220); }
.os-homeWrap .ose-home-section--mystic        .os-col__title .text::before { background: oklch(0.45 0.15 300); }
.os-homeWrap .ose-home-section--service       .os-col__title .text::before { background: oklch(0.50 0.15 140); }

/* For the "journal" variant (Notícias/Política/Economia) — denser list, no thumbs */
.os-homeWrap .ose-home-section--journal .os-list__item {
  grid-template-columns: 1fr;
}
.os-homeWrap .ose-home-section--journal .os-list__thumb { display: none; }
.os-homeWrap .ose-home-section--journal .os-list__item { padding: 12px 0; }
.os-homeWrap .ose-home-section--journal .os-feature__title { font-size: 21px; }

/* =========================================================================
   12) SERVICE CARDS — Loterias, Futebol
   ========================================================================= */
.os-homeWrap .os-serviceCard,
.os-homeWrap .ose-home-special-widget {
  background: var(--osr-surface);
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  padding: 26px 28px;
  margin: 0;
}
.os-homeWrap .os-serviceCard__head {
  padding-bottom: 12px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--osr-line);
}
.os-homeWrap .os-serviceCard__head .os-widget__title {
  font-size: 25px; /* escala v2 −1px; era 22px. Esta regra é mais específica que
                      a de .os-widget__title, então é aqui que o valor vale. */
}
.os-homeWrap .os-serviceCard__body { color: var(--osr-ink-2); }
.os-homeWrap .os-serviceCard__body a { color: var(--osr-ink); }
.os-homeWrap .os-serviceCard__body a:hover { color: var(--osr-accent); }

/* =========================================================================
   13) NEWSLETTER (Mailchimp form usually rendered via shortcode)
   ========================================================================= */
.os-homeWrap #newsletter {
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  padding: 40px 44px;
  background: var(--osr-surface);
  margin: var(--osr-stack) 0;
  position: relative;
  overflow: hidden;
}
.os-homeWrap #newsletter::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--osr-accent);
}
.os-homeWrap #newsletter h2,
.os-homeWrap #newsletter h3 {
  font-family: var(--hff);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.16;
  margin: 0 0 10px;
  color: var(--osr-ink);
}
.os-homeWrap #newsletter p { color: var(--osr-ink-2); margin: 0 0 18px; max-width: 60ch; font-size: 15px; }
.os-homeWrap #newsletter input[type="email"],
.os-homeWrap #newsletter input[type="text"] {
  height: 46px;
  border: 1px solid var(--osr-line);
  background: var(--osr-surface-2);
  border-radius: 2px;
  padding: 0 16px;
  font-family: var(--bff);
  font-size: 14.5px;
  color: var(--osr-ink);
  width: 100%;
}
.os-homeWrap #newsletter input:focus { outline: none; border-color: var(--osr-ink); background: var(--osr-surface); }
.os-homeWrap #newsletter button,
.os-homeWrap #newsletter input[type="submit"] {
  background: var(--osr-ink);
  color: var(--osr-bg);
  height: 46px;
  padding: 0 22px;
  font-family: var(--bff);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  cursor: pointer;
}
.os-homeWrap #newsletter button:hover,
.os-homeWrap #newsletter input[type="submit"]:hover { background: var(--osr-accent); color: #fff; }

.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home {
  border: 1px solid var(--osr-line);
  border-radius: 4px;
  padding: 30px 36px;
  background: var(--osr-surface);
  overflow: hidden;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home::before {
  content: none;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home {
  margin: 0;
  padding: 0;
  display: block;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  gap: 48px;
  align-items: center;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .ose-newsletter-home__copy {
  min-width: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .ose-newsletter-home__form {
  min-width: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form {
  margin: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home:not(.ose-newsletter-home--generated) .mc4wp-form-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 28px;
  align-items: center;
  margin: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home:not(.ose-newsletter-home--generated) .mc4wp-form-fields > div {
  min-width: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home:not(.ose-newsletter-home--generated) .mc4wp-form-fields > div:last-of-type {
  justify-self: end;
  width: min(100%, 520px);
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated .mc4wp-form-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 146px;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 6px;
  border: 1px solid var(--osr-line);
  border-radius: 2px;
  background: var(--osr-surface-2);
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home h2 {
  margin: 14px 0 10px;
  color: var(--osr-ink);
  font-family: var(--hff);
  font-size: clamp(28px, 2.4vw, 40px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .kicker {
  display: inline-flex;
  align-items: center;
  font-family: var(--hff);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
  color: var(--osr-ink);
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .kicker .dot {
  display: none;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home p {
  margin: 0;
  max-width: 68ch;
  color: var(--osr-ink-2);
  font-size: 17px;
  line-height: 1.48;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .form,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .subscribe_holder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 146px;
  gap: 8px;
  margin: 0;
  padding: 6px;
  border: 1px solid var(--osr-line);
  border-radius: 2px;
  background: var(--osr-surface-2);
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated .mc4wp-form-fields p {
  margin: 0;
  max-width: none;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated .mc4wp-form-fields label {
  display: block;
  margin: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="email"],
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="text"] {
  height: 52px;
  border: 0;
  background: var(--osr-surface);
  box-shadow: none;
  padding: 0 18px;
  color: var(--osr-ink);
  font-size: 15.5px;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="email"]::placeholder,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="text"]::placeholder {
  color: #a09a94;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home button[type="submit"],
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="submit"] {
  height: 52px;
  min-width: 146px;
  padding: 0 20px;
  border-radius: 2px;
  background: var(--osr-ink);
  color: var(--osr-bg);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home button[type="submit"]:hover,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="submit"]:hover {
  background: var(--osr-accent);
  color: #fff;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .legal,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form-fields + label,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .agree {
  display: block;
  margin: 8px 0 0;
  color: var(--osr-ink-2);
  font-size: 13px;
  line-height: 1.42;
}
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .legal a,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form-fields + label a,
.os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .agree a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================================================================
   14) ALL CATS — secondary editorial grid
   ========================================================================= */
.os-homeWrap .os-allCats { margin-bottom: var(--osr-stack); }
.os-homeWrap .os-allCats .os-homeGrid { margin: 0 0 var(--osr-gap); }
.os-homeWrap .os-rowHidden { display: none; }
.os-homeWrap .os-rowHidden.is-revealed { display: grid; }

/* =========================================================================
   15) AD SLOTS — visually quiet, clearly labeled
   ========================================================================= */
.os-homeWrap .os-slot,
.os-homeWrap .adsingle {
  margin: 24px 0;
  text-align: center;
  position: relative;
}
.os-homeWrap .os-slot--mid,
.os-homeWrap .os-slot--bottom { margin: 28px 0; }
.os-homeWrap .os-home-manual-ad {
  position: static;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.os-homeWrap .os-home-manual-ad::before {
  content: none;
  display: none;
}
.os-homeWrap .os-home-manual-ad ins { background: transparent; }

/* =========================================================================
   16) RESPONSIVE
   ========================================================================= */
@media (max-width: 1100px) {
  .os-homeWrap .os-hero__grid {
    grid-template-columns: 1.4fr 1fr;
  }
  .os-homeWrap .os-heroRead {
    grid-column: 1 / -1;
    border-top: 1px solid var(--osr-line);
    padding-top: 24px;
    margin-top: 8px;
  }
  .os-homeWrap .os-access__row.ose-premium-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 880px) {
  .os-homeWrap { width: calc(100% - 24px); margin-top: 12px; }
  .os-homeWrap .os-homeGrid--3 { grid-template-columns: 1fr; }
  .os-homeWrap .os-hero__grid { grid-template-columns: 1fr; }
  .os-homeWrap .os-heroSide { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--osr-gap); }
  .os-homeWrap .os-heroMini { padding: 16px 0; }
  .os-homeWrap .os-serviceCard { padding: 22px 20px; }
  .os-homeWrap #newsletter { padding: 28px 22px; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home { padding: 24px 22px; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home { padding: 0; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form-fields {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .mc4wp-form-fields > div:last-of-type {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .os-homeWrap { --osr-gap: 20px; --osr-stack: 52px; --osr-thumb-w: 100px; } /* escala v2 — era 18/40 */

  /* Escala v2 — guarda do próprio documento ("títulos de 2 linhas não podem
     virar 4"). O alvo de 17px foi pensado para a coluna do DESKTOP, onde o
     máximo ficou em 3 linhas. Em 375px a coluna é estreita e 17px levava 15 de
     49 títulos a 4 linhas (eram 3 antes). Medido no navegador: 16px -> 9;
     16,5px -> 12; 17px -> 15. Fica 16px no celular e 17px no desktop. */
  .os-homeWrap .os-list__title { font-size: 15px; } /* escala v2 −1px */
  .os-homeWrap .os-heroSide { grid-template-columns: 1fr; }
  .os-homeWrap .os-heroMain__content { padding: 20px; }
  .os-homeWrap .os-heroMain__headline { font-size: 22px; }
  .os-homeWrap .os-access__row.ose-premium-grid { grid-template-columns: 1fr; }
  .os-homeWrap .os-numbered,
  .os-homeWrap .os-serviceCard { padding: 20px; }
  .os-homeWrap .os-ticker__label { padding: 0 12px; font-size: 10px; letter-spacing: 0.1em; }
  .os-homeWrap .os-ticker__item { padding: 0 14px; font-size: 12.5px; }
  .os-homeWrap .os-heroMini {
    grid-template-columns: 100px 1fr;
    gap: 12px;
  }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home { padding: 22px 18px; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home h2 { font-size: 26px; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home p { font-size: 15px; }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .form,
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home .subscribe_holder,
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home--generated .mc4wp-form-fields {
    display: grid;
    grid-template-columns: 1fr;
  }
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home button[type="submit"],
  .os-homeWrap #newsletter.os-homeNewsletterHost--mailchimp-home .newsletter.ose-newsletter-home input[type="submit"] {
    width: 100%;
  }
}

/* =========================================================================
   17) REDUCED MOTION
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
  .os-homeWrap *,
  .os-homeWrap *::before,
  .os-homeWrap *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================================
   18) FOCUS STATES (a11y)
   ========================================================================= */
.os-homeWrap a:focus-visible,
.os-homeWrap button:focus-visible {
  outline: 2px solid var(--osr-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

/* =========================================================================
   18.5) SHORTCODE SURFACES — canonical visual shell for legacy blocks
   ========================================================================= */
.os-homeWrap .os-shortcodeSurface {
  border: 1px solid var(--osr-line);
  border-radius: var(--osr-radius);
  background: var(--osr-surface);
  box-shadow: none !important;
  overflow: hidden;
  min-width: 0;
}

.os-homeWrap .os-shortcodeSurface__body,
.os-homeWrap .os-shortcodeSurface .os-serviceCard__body {
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.os-homeWrap .os-shortcodeSurface table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--bff);
  color: var(--osr-ink);
}

.os-homeWrap .os-shortcodeSurface th,
.os-homeWrap .os-shortcodeSurface td {
  border-bottom: 1px solid var(--osr-line);
  padding: 12px 10px;
  text-align: left;
}

.os-homeWrap .os-shortcodeSurface th {
  color: var(--osr-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.os-homeWrap .os-shortcodeSurface input,
.os-homeWrap .os-shortcodeSurface select,
.os-homeWrap .os-shortcodeSurface textarea {
  max-width: 100%;
  border: 1px solid var(--osr-line);
  border-radius: 2px;
  background: var(--osr-surface-2);
  color: var(--osr-ink);
  font-family: var(--bff);
}

.os-homeWrap .os-shortcodeSurface button,
.os-homeWrap .os-shortcodeSurface .button,
.os-homeWrap .os-shortcodeSurface .btn,
.os-homeWrap .os-shortcodeSurface a[class*="button"],
.os-homeWrap .os-shortcodeSurface a[class*="btn"] {
  border-radius: 2px;
  font-family: var(--bff);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.os-homeWrap .os-homeGrid--servicesTop {
  display: block;
}

.os-homeWrap .os-homeGrid--servicesTop > .ose-lottery-home {
  width: 100%;
}

.os-homeWrap .os-clubeBlock {
  margin: 0 0 var(--osr-stack);
  padding: 0;
}

.os-homeWrap .os-clubeBlock.os-shortcodeSurface {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.os-homeWrap .os-clubeBlock .ose-clube-home,
.os-homeWrap .os-clubeBlock .osemp-clube-home,
.os-homeWrap .os-clubeBlock .clube-os-home {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover * {
  box-sizing: border-box;
  font-family: var(--bff);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  grid-template-areas:
    "hero plans"
    "benefits plans";
  gap: 22px;
  align-items: stretch;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  overflow: visible;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero {
  grid-area: hero;
  min-width: 0;
  padding: 34px 36px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: #fffaf3;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__eyebrow,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid rgba(255, 83, 44, .24);
  border-radius: 4px;
  background: #fff;
  color: var(--osr-accent);
  font-family: var(--bff);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--osr-ink);
  font-family: var(--hff);
  font-size: clamp(38px, 4.6vw, 68px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.02;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 span {
  color: var(--osr-accent-ink);
  font-style: italic;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero > p {
  max-width: 620px;
  margin: 20px 0 0;
  color: var(--osr-ink-2);
  font-family: var(--bff);
  font-size: 16px;
  line-height: 1.58;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--osr-line);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 0 18px;
  border-left: 1px solid var(--osr-line);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics span:first-child {
  padding-left: 0;
  border-left: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics strong {
  color: var(--osr-ink);
  font-family: var(--hff);
  font-size: 31px;
  font-weight: 400;
  line-height: 1;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics small {
  color: var(--osr-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefits {
  grid-area: benefits;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 0;
  padding: 16px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: var(--osr-surface);
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 83, 44, .24);
  border-radius: 4px;
  background: #fff6f0;
  color: var(--osr-accent);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit strong {
  color: var(--osr-ink);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.22;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit small {
  color: var(--osr-muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plans {
  grid-area: plans;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan {
  position: relative;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: var(--osr-surface);
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured {
  align-content: start;
  min-height: 0;
  padding: 28px;
  border-color: #2a2018;
  background: #211a15;
  color: #f8efe0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured .ose-clube-home__plan-badge {
  border-color: rgba(217, 189, 146, .28);
  background: rgba(247, 239, 223, .08);
  color: #d9bd92;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan-head {
  display: grid;
  gap: 10px;
  align-items: start;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan h3 {
  margin: 0;
  color: var(--osr-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured h3 {
  color: #d9cfbc;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--osr-ink);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__price strong {
  color: inherit;
  font-family: var(--hff);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .98;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured .ose-clube-home__price {
  color: #f8efe0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__price span,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan p {
  margin: 0;
  color: var(--osr-muted);
  font-size: 13px;
  line-height: 1.42;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured .ose-clube-home__price span,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plan--featured p {
  color: #d9cfbc;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  border: 1px solid var(--osr-line);
  border-radius: 4px;
  background: var(--osr-surface);
  color: var(--osr-ink);
  font-family: var(--bff);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: none !important;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button:hover {
  transform: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button--primary {
  border-color: #f8efe0;
  background: #f8efe0;
  color: #211a15 !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button--secondary:hover {
  border-color: var(--osr-accent);
  color: var(--osr-accent-ink);
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover),
.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) * {
  box-sizing: border-box;
  font-family: var(--bff);
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  gap: 22px !important;
  align-items: stretch !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__intro {
  min-width: 0;
  padding: 34px 36px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: #fffaf3;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__eyebrow,
.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid rgba(255, 83, 44, .24);
  border-radius: 4px;
  background: #fff;
  color: var(--osr-accent);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) h2 {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--osr-ink);
  font-family: var(--hff);
  font-size: clamp(38px, 4.6vw, 68px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.02;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) h2 span {
  color: var(--osr-accent-ink);
  font-style: italic;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__intro > p {
  max-width: 620px;
  margin: 20px 0 0;
  color: var(--osr-ink-2);
  font-size: 16px;
  line-height: 1.58;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--osr-line);
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 0;
  padding: 16px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: var(--osr-surface);
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 83, 44, .24);
  border-radius: 4px;
  background: #fff6f0;
  color: var(--osr-accent);
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit strong {
  color: var(--osr-ink);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.22;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefit small {
  color: var(--osr-muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plans {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan {
  position: relative;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--osr-line);
  border-radius: 8px;
  background: var(--osr-surface);
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured {
  padding: 28px;
  border-color: #2a2018;
  background: #211a15;
  color: #f8efe0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured .ose-clube-home__plan-badge {
  border-color: rgba(217, 189, 146, .28);
  background: rgba(247, 239, 223, .08);
  color: #d9bd92;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan-head {
  display: grid;
  gap: 10px;
  align-items: start;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan h3 {
  margin: 0;
  color: var(--osr-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured h3 {
  color: #d9cfbc;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--osr-ink);
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__price strong {
  color: inherit;
  font-family: var(--hff);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .98;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured .ose-clube-home__price {
  color: #f8efe0;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__price span,
.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan p {
  margin: 0;
  color: var(--osr-muted);
  font-size: 13px;
  line-height: 1.42;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured .ose-clube-home__price span,
.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plan--featured p {
  color: #d9cfbc;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  border: 1px solid var(--osr-line);
  border-radius: 4px;
  background: var(--osr-surface);
  color: var(--osr-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: none !important;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__button:hover {
  transform: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__button--primary {
  border-color: #f8efe0;
  background: #f8efe0;
  color: #211a15 !important;
}

@media (max-width: 1120px) {
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__content {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hero"
      "benefits"
      "plans";
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plans {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__content {
    grid-template-columns: 1fr !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plans {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero {
    padding: 26px 22px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 {
    font-size: clamp(34px, 11vw, 48px);
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics,
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefits,
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__plans,
  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__benefits,
  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__plans {
    grid-template-columns: 1fr;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) .ose-clube-home__intro {
    padding: 26px 22px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home:not(.ose-clube-home--cover) h2 {
    font-size: clamp(34px, 11vw, 48px);
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics span {
    padding: 12px 0 0;
    border-top: 1px solid var(--osr-line);
    border-left: 0;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__metrics span:first-child {
    padding-top: 0;
    border-top: 0;
  }
}

/* Clube OS cover: subscription banner matching the production layout reference */
.os-homeWrap .os-clubeBlock .ose-clube-home--cover {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover * {
  box-sizing: border-box;
  font-family: var(--hff);
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .88fr) !important;
  grid-template-areas: "hero benefits" !important;
  align-items: center !important;
  gap: clamp(44px, 6vw, 92px) !important;
  min-height: clamp(430px, 35vw, 560px);
  padding: clamp(56px, 5.6vw, 86px) clamp(54px, 5.8vw, 82px) !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #21152f !important;
  color: #fff;
  box-shadow: none !important;
  overflow: hidden !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero {
  grid-area: hero;
  display: block;
  min-width: 0;
  max-width: 760px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: auto;
  min-height: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f5633d !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__eyebrow::before {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 {
  max-width: 780px;
  margin: 36px 0 0 !important;
  color: #fff !important;
  font-family: var(--hff) !important;
  font-size: clamp(40px, 4.25vw, 68px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  line-height: 1.08 !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero > p {
  max-width: 760px;
  margin: 28px 0 0 !important;
  color: rgba(255, 255, 255, .72) !important;
  font-family: var(--bff) !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.55 !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button {
  display: inline-grid !important;
  grid-template-columns: minmax(0, auto) 64px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  width: auto !important;
  min-width: 270px;
  min-height: 74px;
  margin-top: 38px;
  padding: 12px 30px 12px 34px !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: #f45f3b !important;
  color: #fff !important;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.35;
  text-align: left;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: none !important;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button:hover,
.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button:focus-visible {
  background: #ff6b45 !important;
  color: #fff !important;
  transform: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button span {
  display: block;
  max-width: 130px;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button svg {
  display: block;
  width: 64px;
  height: 28px;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefits {
  grid-area: benefits;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px;
  min-height: 118px;
  padding: 28px 26px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, .015) !important;
  color: #fff;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit strong {
  display: block;
  margin: 0;
  color: rgba(255, 255, 255, .72) !important;
  font-size: clamp(15px, 1.05vw, 19px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}

.os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit small {
  display: block;
  margin: 0;
  color: rgba(255, 255, 255, .62) !important;
  font-family: var(--bff) !important;
  font-size: clamp(14px, 1vw, 18px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.35;
}

@media (max-width: 1180px) {
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__content {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "hero"
      "benefits" !important;
    gap: 42px !important;
    min-height: 0;
    padding: 52px 44px !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero {
    max-width: 850px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 {
    max-width: 840px;
    font-size: clamp(42px, 6vw, 62px) !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero > p {
    max-width: 780px;
  }
}

@media (max-width: 760px) {
  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__content {
    gap: 32px !important;
    padding: 34px 24px !important;
    border-radius: 4px !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__eyebrow {
    gap: 10px;
    font-size: 10.5px;
    letter-spacing: .18em;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__eyebrow::before {
    width: 18px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover h2 {
    margin-top: 26px !important;
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1.08 !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__hero > p {
    margin-top: 22px !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button {
    grid-template-columns: minmax(0, auto) 52px;
    gap: 16px;
    width: 100% !important;
    min-width: 0;
    min-height: 64px;
    margin-top: 30px;
    padding: 12px 22px !important;
    font-size: 16px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button span {
    max-width: none;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__button svg {
    width: 52px;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefits {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .os-homeWrap .os-clubeBlock .ose-clube-home--cover .ose-clube-home__benefit {
    min-height: 0;
    padding: 20px !important;
  }
}

/* Clube OS: mirrored from NOVO LAYOUT/components-home.jsx and styles.css */
.os-homeWrap .os-clubeBlock .clube {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  margin: 0 0 var(--osr-stack) !important;
  padding: 48px 52px !important;
  border: 0 !important;
  border-radius: var(--osr-radius) !important;
  background: var(--osr-deep) !important;
  color: var(--osr-deep-ink) !important;
  position: relative;
  overflow: hidden !important;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .clube,
.os-homeWrap .os-clubeBlock .clube * {
  box-sizing: border-box;
}

.os-homeWrap .os-clubeBlock .clube > div {
  min-width: 0;
}

.os-homeWrap .os-clubeBlock .clube h2 {
  margin: 0 0 14px !important;
  color: var(--osr-deep-ink) !important;
  font-family: var(--hff) !important;
  font-size: clamp(28px, 2.6vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.1 !important;
}

.os-homeWrap .os-clubeBlock .clube p {
  max-width: 50ch;
  margin: 0 0 22px !important;
  color: rgba(255,255,255,0.78) !important;
  font-family: var(--bff) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.os-homeWrap .os-clubeBlock .clube .badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px !important;
  color: var(--osr-accent) !important;
  font-family: var(--bff) !important;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.os-homeWrap .os-clubeBlock .clube .badge::before {
  content: "";
  width: 18px;
  height: 1px;
  background: var(--osr-accent);
}

.os-homeWrap .os-clubeBlock .clube .cta {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--osr-accent) !important;
  color: #fff !important;
  font-family: var(--bff) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: none !important;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .clube .cta svg {
  display: block;
  width: 18px;
  height: 18px;
}

.os-homeWrap .os-clubeBlock .clube .cta:hover {
  background: #fff !important;
  color: var(--osr-deep) !important;
}

.os-homeWrap .os-clubeBlock .clube ul {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.os-homeWrap .os-clubeBlock .clube li {
  display: flex !important;
  flex-direction: column;
  gap: 4px;
  min-height: 0;
  padding: 14px 16px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--osr-radius) !important;
  background: transparent !important;
  color: var(--osr-deep-ink) !important;
  font-family: var(--bff) !important;
  font-size: 13.5px;
  box-shadow: none !important;
}

.os-homeWrap .os-clubeBlock .clube li b {
  color: #fff !important;
  font-family: var(--hff) !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.25;
}

.os-homeWrap .os-clubeBlock .clube li span {
  color: rgba(255,255,255,0.65) !important;
  font-family: var(--bff) !important;
  font-size: 12.5px;
  line-height: 1.35;
}

@media (max-width: 1040px) {
  .os-homeWrap .os-clubeBlock .clube {
    grid-template-columns: 1fr !important;
    padding: 36px 28px !important;
  }
}

@media (max-width: 640px) {
  .os-homeWrap .os-clubeBlock .clube ul {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .os-homeWrap .os-shortcodeSurface th,
  .os-homeWrap .os-shortcodeSurface td {
    padding: 10px 8px;
    font-size: 13px;
  }
}

/* =========================================================================
   19) OS production compatibility: approved ad/device behavior
   ========================================================================= */
body.home,
body.home .mow_fn_wrapper,
body.home .mow_fn_content,
body.home .mow_fn_blog_content {
  max-width: 100%;
  overflow-x: hidden;
}

body.home .ose-home-premium,
body.home .os-homeWrap {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  content-visibility: visible !important;
}

body.home .ose-home-premium .os-homeGrid,
body.home .ose-home-premium .os-hero,
body.home .ose-home-premium .ose-premium-section {
  content-visibility: visible !important;
}

body.home .ose-home-premium .os-slot,
body.home .ose-home-premium .adsingle,
body.home .ose-home-premium .os-home-manual-ad {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

body.home .ose-home-premium .os-slot__adInner,
body.home .ose-home-premium .adsingle {
  min-width: 0;
  text-align: center;
}

body.home .ose-home-premium ins.adsbygoogle,
body.home .ose-home-premium .os-home-ad-slot--inline,
body.home .ose-home-premium .os-home-ad-slot--box {
  max-width: 100%;
  overflow: visible !important;
}

body.home .ose-home-premium .os-home-manual-ad--banner ins.adsbygoogle {
  display: block;
  width: 100%;
  min-width: 250px;
  min-height: 90px;
}

body.home .ose-home-premium .os-home-manual-ad--box ins.adsbygoogle {
  display: inline-block;
  width: 300px;
  height: 250px;
  min-width: 300px;
  min-height: 250px;
}

/* Final home media/ad cleanup: no premium/favorite overlays on home images,
   and ad wrappers keep the approved slots visually distinct. */
body.home .ose-home-premium .osemp-card-media > .osemp-card-badges,
body.home .ose-home-premium .os-heroMain__media .osemp-card-badges,
body.home .ose-home-premium .os-heroMain__media .osemp-card-badge,
body.home .ose-home-premium .os-heroMain__media .osemp-fav-toggle,
body.home .ose-home-premium .os-heroMini__thumb .osemp-card-badge,
body.home .ose-home-premium .os-heroMini__thumb .osemp-fav-toggle,
body.home .ose-home-premium .os-feature__media .osemp-card-badge,
body.home .ose-home-premium .os-feature__media .osemp-fav-toggle,
body.home .ose-home-premium .os-accessCard__media .osemp-card-badge,
body.home .ose-home-premium .os-accessCard__media .osemp-fav-toggle,
body.home .ose-home-premium [class*="__media"] > .os-accessIcon,
body.home .ose-home-premium [class*="__thumb"] > .os-accessIcon,
body.home .ose-home-premium [class*="__media"] > .os-meta__icons,
body.home .ose-home-premium [class*="__thumb"] > .os-meta__icons {
  display: none !important;
}

body.home .ose-home-premium .os-slot,
body.home .ose-home-premium > .adsingle,
body.home .ose-home-premium .os-heroReadAd {
  isolation: isolate;
  padding: 16px;
  border: 1px dashed var(--osr-line);
  border-radius: var(--osr-radius);
  background: var(--osr-surface-2);
}

body.home .ose-home-premium .os-slot::before,
body.home .ose-home-premium > .adsingle::before,
body.home .ose-home-premium .os-heroReadAd::before {
  content: none;
  display: none;
}

body.home .ose-home-premium .os-heroReadAd__label {
  display: none;
}

body.home .ose-home-premium .os-slot .adsingle {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.home .ose-home-premium .os-slot .adsingle::before {
  content: none;
}

body.home .ose-home-premium .os-heroReadAd {
  margin-bottom: 24px !important;
}

body.home .ose-home-premium .os-heroReadAd__inner,
body.home .ose-home-premium .adsingle {
  overflow: visible !important;
}

body.home .ose-home-premium .os-home-manual-ad ins.adsbygoogle,
body.home .ose-home-premium .os-heroReadAd ins.adsbygoogle,
body.home .ose-home-premium .os-slot ins.adsbygoogle {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1040px) {
  body.home .ose-home-premium [data-os-ad-device="desktop"] {
    display: none !important;
  }

  body.home .ose-home-premium [data-os-ad-device="mobile"] {
    display: block !important;
  }
}

@media (min-width: 1041px) {
  body.home .ose-home-premium [data-os-ad-device="mobile"] {
    display: none !important;
  }
}

body.home .ose-home-premium [data-os-ad-suppressed="device"] {
  display: none !important;
}
