/* =========================================================
   OMEGA HOUSE CHILD v1.1
   Components for Gutenberg HTML blocks
   Brand rule: blue is dominant; green, yellow and red are accents.
   ========================================================= */

/* ---------- Generic labels / text ---------- */
.omega-eyebrow,
.omega-kicker,
.omega-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 34px;
  padding: 8px 14px;
  border: 1px solid rgba(22,150,193,.22);
  border-radius: 999px;
  color: var(--omega-blue-700);
  background: rgba(22,150,193,.08);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}

.omega-eyebrow::before,
.omega-kicker::before,
.omega-section-kicker::before {
  content: '';
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  background: var(--omega-blue);
  box-shadow: 0 0 0 6px rgba(22,150,193,.12);
}

.omega-lead {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.75);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.68;
}

.omega-section-head h2,
.omega-two-col h2,
.omega-feature-content h2,
.omega-cta-box h2 {
  margin: 16px 0 14px;
  color: var(--omega-ink);
  font-size: clamp(34px, 5vw, 64px);
  line-height: .98;
  font-weight: 800;
  letter-spacing: -0.055em;
}

.omega-section-head p,
.omega-two-col p,
.omega-feature-content p,
.omega-cta-box p {
  margin: 0;
  color: var(--omega-muted);
  font-size: clamp(16px, 1.28vw, 20px);
  line-height: 1.72;
}

.omega-section-dark .omega-eyebrow,
.omega-section-dark .omega-kicker,
.omega-hero .omega-eyebrow,
.omega-hero .omega-kicker {
  color: #d8f7ff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
}

.omega-section-dark .omega-eyebrow::before,
.omega-section-dark .omega-kicker::before,
.omega-hero .omega-eyebrow::before,
.omega-hero .omega-kicker::before {
  background: var(--omega-cyan);
  box-shadow: 0 0 0 6px rgba(54,182,220,.16);
}

.omega-section-dark h1,
.omega-section-dark h2,
.omega-section-dark h3,
.omega-section-dark strong,
.omega-hero h1,
.omega-hero h2,
.omega-hero h3,
.omega-hero strong { color: #fff; }

.omega-section-dark p,
.omega-section-dark li,
.omega-section-dark span:not(.omega-eyebrow):not(.omega-kicker):not(.omega-card-number) { color: rgba(255,255,255,.72); }

/* ---------- Section backgrounds ---------- */
.omega-section-soft {
  background:
    radial-gradient(circle at 82% 8%, rgba(22,150,193,.10), transparent 32%),
    linear-gradient(180deg, #f6fbfe, #ffffff);
}

.omega-section-dark {
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(54,182,220,.26), transparent 31%),
    radial-gradient(circle at 12% 20%, rgba(26,196,168,.12), transparent 28%),
    linear-gradient(135deg, var(--omega-blue-950), var(--omega-blue-900) 58%, #082d3b);
  overflow: hidden;
}

.omega-section-dark::before,
.omega-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
  pointer-events: none;
}

.omega-section-dark > *,
.omega-hero > * { position: relative; z-index: 1; }

/* ---------- Hero ---------- */
.omega-hero {
  min-height: 760px;
  display: flex;
  align-items: center;
  padding-block: clamp(72px, 10vw, 130px);
  color: var(--omega-white);
  background:
    radial-gradient(circle at 82% 18%, rgba(54,182,220,.38), transparent 30%),
    radial-gradient(circle at 10% 10%, rgba(26,196,168,.13), transparent 28%),
    linear-gradient(135deg, var(--omega-blue-950), var(--omega-blue-900) 58%, #082d3b);
  overflow: hidden;
}

.omega-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
  gap: clamp(34px, 5.8vw, 82px);
  align-items: center;
}

.omega-hero-content h1,
.omega-hero h1 {
  margin: 20px 0;
  max-width: 880px;
  color: #fff;
  font-size: clamp(44px, 7vw, 86px);
  line-height: .94;
  font-weight: 800;
  letter-spacing: -0.07em;
}

.omega-trust-line {
  margin-top: 22px;
  padding-left: 14px;
  border-left: 3px solid rgba(54,182,220,.75);
  max-width: 560px;
}

.omega-trust-line span { font-size: 14px; color: rgba(255,255,255,.68) !important; }

.omega-hero-visual {
  position: relative;
  min-height: 520px;
}

.omega-photo-card {
  position: relative;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 34px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  box-shadow: 0 30px 100px rgba(0,0,0,.32);
}

.omega-photo-card img,
.omega-feature-image img,
.omega-case-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.omega-photo-card-main {
  height: 500px;
  transform: rotate(1.2deg);
}

.omega-photo-card-main::after,
.omega-feature-image::after,
.omega-case-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(3,16,22,.42));
  pointer-events: none;
}

.omega-dashboard-card {
  position: absolute;
  right: -14px;
  bottom: 26px;
  width: min(360px, 88%);
  padding: 22px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 26px;
  color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  box-shadow: 0 26px 80px rgba(0,0,0,.34);
  backdrop-filter: blur(20px);
}

.omega-dashboard-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.omega-dashboard-top span { font-size: 14px; color: rgba(255,255,255,.72) !important; }
.omega-dashboard-top strong { font-size: 30px; letter-spacing: -0.05em; }

.omega-dashboard-bars { display: grid; gap: 10px; margin-bottom: 18px; }
.omega-dashboard-bars span {
  display: block;
  width: var(--w, 75%);
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--omega-blue), var(--omega-cyan));
  box-shadow: 0 0 28px rgba(54,182,220,.28);
}
.omega-dashboard-bars span:nth-child(2) { opacity: .72; }
.omega-dashboard-bars span:nth-child(3) { opacity: .48; }

.omega-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.omega-dashboard-metrics div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.10);
}
.omega-dashboard-metrics strong { display: block; font-size: 20px; }
.omega-dashboard-metrics small { display: block; color: rgba(255,255,255,.62); font-size: 11px; }

/* ---------- Buttons ---------- */
.omega-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.omega-actions-center { justify-content: center; }

.omega-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
}

.omega-btn:hover { transform: translateY(-2px); }

.omega-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--omega-blue), var(--omega-blue-700));
  box-shadow: var(--omega-shadow-blue);
}

.omega-btn-secondary {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
}

.omega-section:not(.omega-section-dark):not(.omega-hero) .omega-btn-secondary {
  color: var(--omega-blue-700) !important;
  border-color: rgba(22,150,193,.22);
  background: rgba(22,150,193,.08);
}

/* ---------- Logo strip ---------- */
.omega-logo-strip {
  padding-block: clamp(38px, 5vw, 62px);
  border-bottom: 1px solid rgba(22,150,193,.12);
}

.omega-logo-strip .omega-section-kicker {
  margin-bottom: 22px;
}

.omega-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.omega-logo-grid span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 74px;
  padding: 16px;
  border: 1px solid rgba(22,150,193,.15);
  border-radius: 18px;
  color: rgba(6,26,36,.62);
  background: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 14px 40px rgba(6,26,36,.045);
}

/* ---------- Grids / split ---------- */
.omega-two-col,
.omega-feature-grid,
.omega-compare-wrap {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
}

.omega-feature-grid { grid-template-columns: minmax(320px, 1.08fr) minmax(0, .92fr); }

.omega-problem-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.omega-mini-card {
  padding: 22px;
  border: 1px solid rgba(22,150,193,.16);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--omega-shadow-soft);
}

.omega-mini-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--omega-blue-700);
  font-size: 18px;
}

.omega-mini-card span {
  color: var(--omega-muted);
  line-height: 1.58;
  font-size: 14px;
}

/* ---------- Cards ---------- */
.omega-card-grid {
  display: grid;
  gap: 20px;
}
.omega-card-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.omega-card {
  position: relative;
  padding: 28px;
  border: 1px solid var(--omega-line);
  border-radius: var(--omega-radius-md);
  background: rgba(255,255,255,.86);
  box-shadow: var(--omega-shadow-soft);
  overflow: hidden;
}

.omega-card::after {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--omega-blue), var(--omega-cyan));
  opacity: .78;
}

.omega-card-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 18px;
  border-radius: 14px;
  color: var(--omega-blue-700);
  background: rgba(22,150,193,.10);
  font-weight: 800;
  font-size: 13px;
}

.omega-card h3 { margin: 0 0 10px; font-size: 22px; letter-spacing: -0.04em; }
.omega-card p { margin: 0; color: var(--omega-muted); font-size: 15px; }

.omega-card-dark {
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  box-shadow: 0 24px 80px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
}
.omega-card-dark p { color: rgba(255,255,255,.68); }

/* ---------- Photo feature ---------- */
.omega-photo-feature { overflow: hidden; }

.omega-feature-image {
  position: relative;
  min-height: 520px;
  border-radius: 36px;
  overflow: hidden;
  border: 1px solid rgba(22,150,193,.18);
  box-shadow: var(--omega-shadow-card);
}

.omega-check-list {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.omega-check-list li {
  position: relative;
  padding: 14px 16px 14px 44px;
  border: 1px solid rgba(22,150,193,.13);
  border-radius: 16px;
  background: rgba(22,150,193,.055);
  color: var(--omega-ink);
  line-height: 1.5;
}

.omega-check-list li::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 20px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--omega-blue);
  box-shadow: 0 0 0 6px rgba(22,150,193,.12);
}

/* ---------- Stats ---------- */
.omega-stats {
  padding-block: clamp(50px, 7vw, 92px);
}

.omega-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.omega-stat {
  min-height: 150px;
  padding: 26px;
  border: 1px solid rgba(22,150,193,.16);
  border-radius: 26px;
  background: linear-gradient(180deg, #fff, #f7fcfe);
  box-shadow: var(--omega-shadow-soft);
}

.omega-stat strong {
  display: block;
  margin-bottom: 8px;
  color: var(--omega-blue-700);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -0.07em;
}

.omega-stat span { color: var(--omega-muted); line-height: 1.5; }

.omega-note {
  margin: 20px 0 0;
  color: rgba(94,115,128,.86);
  font-size: 13px;
}

/* ---------- Cases ---------- */
.omega-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.omega-case-card {
  position: relative;
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(22,150,193,.16);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--omega-shadow-soft);
}

.omega-case-card img {
  height: 240px;
  background: #eaf6fb;
}

.omega-case-card > div {
  padding: 24px;
}

.omega-case-card span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--omega-blue-700);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
}

.omega-case-card h3 {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.12;
}

.omega-case-card p { margin: 0; color: var(--omega-muted); font-size: 14px; }

/* ---------- Compare ---------- */
.omega-compare {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(22,150,193,.14);
  border-radius: 28px;
  background: linear-gradient(180deg, #fff, #f7fcfe);
  box-shadow: var(--omega-shadow-card);
}

.omega-compare-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(22,150,193,.10);
}

.omega-compare-row span { color: var(--omega-muted); }
.omega-compare-row strong { color: var(--omega-blue-700); }

/* ---------- FAQ ---------- */
.omega-faq-wrap { max-width: 930px; }
.omega-faq-list,
.omega-faq { display: grid; gap: 12px; }

.omega-faq-item,
.omega-faq details {
  border: 1px solid var(--omega-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 34px rgba(6,26,36,.06);
  overflow: hidden;
}

.omega-faq-item summary,
.omega-faq summary {
  cursor: pointer;
  padding: 22px 24px;
  font-weight: 800;
  color: var(--omega-ink);
}

.omega-faq-item p,
.omega-faq details p {
  padding: 0 24px 24px;
  margin: 0;
  color: var(--omega-muted);
}

/* ---------- CTA ---------- */
.omega-cta {
  padding: clamp(38px, 6vw, 70px);
  border-radius: var(--omega-radius-xl);
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(26,196,168,.18), transparent 34%),
    linear-gradient(135deg, var(--omega-blue-900), var(--omega-blue-700));
  box-shadow: var(--omega-shadow-blue);
}

.omega-cta-box {
  max-width: 920px;
  margin-inline: auto;
  text-align: center;
}

.omega-cta h2,
.omega-cta-box h2 { color: #fff; font-size: clamp(32px, 5vw, 58px); line-height: 1; margin: 16px 0; }
.omega-cta p,
.omega-cta-box p { color: rgba(255,255,255,.78); max-width: 720px; margin-inline: auto; }

/* ---------- Legacy dashboard demo support ---------- */
.omega-dashboard {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--omega-radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  box-shadow: 0 30px 100px rgba(0,0,0,.34);
  backdrop-filter: blur(22px);
}

.omega-window {
  border-radius: 24px;
  overflow: hidden;
  background: #f8fcfe;
  color: var(--omega-ink);
}
.omega-window-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(6,26,36,.08);
}
.omega-dots { display: flex; gap: 7px; }
.omega-dots span { width: 10px; height: 10px; border-radius: 999px; background: rgba(22,150,193,.34); }
.omega-window-body { padding: 20px; }
.omega-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.omega-metric { padding: 16px; border-radius: 18px; background: #fff; border: 1px solid rgba(22,150,193,.14); }
.omega-metric strong { display: block; font-size: 25px; color: var(--omega-blue-700); }
.omega-metric span { color: var(--omega-muted); font-size: 12px; }
.omega-bars { display: grid; gap: 10px; }
.omega-bar { height: 14px; border-radius: 999px; background: rgba(22,150,193,.10); overflow: hidden; }
.omega-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--omega-blue), var(--omega-cyan)); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .omega-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .omega-card-grid-3,
  .omega-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .omega-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 921px) {
  .omega-hero { min-height: auto; }
  .omega-hero-grid,
  .omega-two-col,
  .omega-feature-grid,
  .omega-compare-wrap { grid-template-columns: 1fr; }
  .omega-hero-visual { min-height: auto; }
  .omega-photo-card-main { height: 420px; transform: none; }
  .omega-dashboard-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: -86px; }
  .omega-actions { flex-direction: column; }
  .omega-btn { width: 100%; }
}

@media (max-width: 680px) {
  .omega-logo-grid,
  .omega-card-grid-3,
  .omega-case-grid,
  .omega-stat-grid,
  .omega-problem-grid,
  .omega-dashboard-metrics { grid-template-columns: 1fr; }
  .omega-section-head h2,
  .omega-two-col h2,
  .omega-feature-content h2,
  .omega-cta-box h2 { letter-spacing: -0.045em; }
  .omega-hero-content h1,
  .omega-hero h1 { font-size: clamp(38px, 13vw, 58px); }
  .omega-feature-image,
  .omega-photo-card-main { min-height: 360px; height: 360px; }
  .omega-compare-row { grid-template-columns: 1fr; }
  .omega-case-card img { height: 220px; }
}

/* =========================================================
   OMEGA HOUSE CHILD v1.2 - Contrast fixes
   Fixes light compare blocks inside dark sections and checklist text on dark sections.
   ========================================================= */

/* Compare cards may appear inside .omega-section-dark, but the compare box itself is light. */
.omega-section-dark .omega-compare {
  background: linear-gradient(180deg, #ffffff, #f7fcfe);
  border-color: rgba(22,150,193,.18);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.omega-section-dark .omega-compare-row {
  background: #ffffff;
  border-color: rgba(22,150,193,.12);
}

.omega-section-dark .omega-compare-row strong {
  color: var(--omega-blue-800, #0b5f83);
}

.omega-section-dark .omega-compare-row span {
  color: var(--omega-muted, #526774) !important;
}

/* Checklist items inside dark sections need a dark-glass style, not the default light style. */
.omega-section-dark .omega-check-list li {
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.84) !important;
}

.omega-section-dark .omega-check-list li::before {
  background: var(--omega-cyan, #36b6dc);
  box-shadow: 0 0 0 6px rgba(54,182,220,.16);
}

.omega-section-dark .omega-check-list strong,
.omega-section-dark .omega-check-list span {
  color: rgba(255,255,255,.88) !important;
}

/* ---------- Fix v1.3: benefit grids and dark cards ---------- */
.omega-card-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.omega-card-dark {
  position: relative;
  min-height: 220px;
  padding: 28px;
  border: 1px solid rgba(22,150,193,.20);
  border-radius: var(--omega-radius-md, 28px);
  background:
    radial-gradient(circle at 88% 12%, rgba(54,182,220,.22), transparent 30%),
    linear-gradient(145deg, #071923 0%, #0a2a39 48%, #0b5f83 100%);
  box-shadow: 0 24px 70px rgba(7,25,35,.18);
  overflow: hidden;
  isolation: isolate;
}

.omega-card-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.13), transparent 46%);
  pointer-events: none;
  z-index: -1;
}

.omega-card-dark h3 {
  margin: 0 0 12px;
  color: #ffffff !important;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.omega-card-dark p {
  margin: 0;
  color: rgba(255,255,255,.78) !important;
  font-size: 15px;
  line-height: 1.62;
}

@media (max-width: 921px) {
  .omega-card-grid-3 { grid-template-columns: 1fr; }
  .omega-card-dark { min-height: auto; }
}

/* =========================================================
   OMEGA HOUSE CHILD v1.4 - Eventos híbridos + Gutenberg independent blocks
   Adds missing component classes used by new commercial pages.
   ========================================================= */

.omega-section,
.omega-hero,
.omega-cta {
  font-family: var(--omega-font, 'Lexend', Arial, Verdana, sans-serif);
}

.omega-section-light {
  background:
    radial-gradient(circle at 82% 0%, rgba(22,150,193,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6fbfe 100%);
}

.omega-section-media {
  background:
    radial-gradient(circle at 16% 12%, rgba(22,150,193,.09), transparent 32%),
    #ffffff;
}

/* Hero standard for service pages. Desktop cap: 70px. */
.omega-hero-title,
.omega-hero h1,
.omega-hero-content h1 {
  font-size: clamp(42px, 5.2vw, 70px) !important;
  line-height: .98 !important;
  letter-spacing: -0.055em !important;
}

.omega-hero-text {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
}

.omega-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.omega-hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
  max-width: 820px;
}

.omega-hero-proof div {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
}

.omega-hero-proof strong {
  display: block;
  margin-bottom: 4px;
  color: #fff !important;
  font-size: 14px;
}

.omega-hero-proof span {
  display: block;
  color: rgba(255,255,255,.66) !important;
  font-size: 12px;
  line-height: 1.45;
}

.omega-pill,
.omega-pill-dark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 34px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}

.omega-pill {
  color: var(--omega-blue-700, #0d6f92);
  background: rgba(22,150,193,.08);
  border: 1px solid rgba(22,150,193,.20);
}

.omega-pill-dark {
  color: #d8f7ff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
}

.omega-pill::before,
.omega-pill-dark::before {
  content: '';
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  background: var(--omega-blue, #1696c1);
  box-shadow: 0 0 0 6px rgba(22,150,193,.12);
}

.omega-pill-dark::before {
  background: var(--omega-cyan, #36b6dc);
  box-shadow: 0 0 0 6px rgba(54,182,220,.16);
}

/* Grids */
.omega-card-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.omega-mini-card p {
  margin: 0;
  color: var(--omega-muted, #5e7380) !important;
  font-size: 15px;
  line-height: 1.62;
}

.omega-split,
.omega-media-feature {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
}

.omega-split-content h2,
.omega-media-copy h2 {
  margin: 16px 0 14px;
  color: inherit;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .98;
  font-weight: 800;
  letter-spacing: -0.055em;
}

.omega-split-content p,
.omega-media-copy p {
  margin: 0 0 16px;
  color: var(--omega-muted, #5e7380);
  font-size: clamp(16px, 1.28vw, 20px);
  line-height: 1.72;
}

.omega-section-dark .omega-split-content p,
.omega-section-dark .omega-media-copy p {
  color: rgba(255,255,255,.74) !important;
}

.omega-check-panel {
  padding: clamp(24px, 4vw, 36px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 32px;
  background:
    radial-gradient(circle at 88% 0%, rgba(54,182,220,.18), transparent 32%),
    rgba(255,255,255,.065);
  box-shadow: 0 28px 90px rgba(0,0,0,.20);
  backdrop-filter: blur(18px);
}

/* Photo/media blocks */
.omega-photo-card-large {
  min-height: 520px;
  box-shadow: 0 30px 100px rgba(0,0,0,.28);
}

.omega-photo-card-large img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.omega-media-image {
  position: relative;
  min-height: 520px;
  border: 1px solid rgba(22,150,193,.18);
  border-radius: 36px;
  overflow: hidden;
  box-shadow: var(--omega-shadow-card, 0 24px 70px rgba(6,26,36,.14));
  background: #dff4fa;
}

.omega-media-image img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.omega-media-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(3,16,22,.22));
  pointer-events: none;
}

/* Dashboard used on service heroes */
.omega-floating-card {
  animation: omegaFloat 7s ease-in-out infinite;
}

.omega-dashboard-topline {
  display: flex;
  gap: 7px;
  margin-bottom: 16px;
}

.omega-dashboard-topline span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
}

.omega-dashboard-title {
  margin-bottom: 16px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.omega-dashboard-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.14);
}

.omega-dashboard-row strong {
  color: #fff !important;
  font-size: 14px;
}

.omega-dashboard-row span {
  color: rgba(255,255,255,.68) !important;
  font-size: 13px;
  text-align: right;
}

.omega-dashboard-meter {
  height: 10px;
  margin-top: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  overflow: hidden;
}

.omega-dashboard-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--omega-blue, #1696c1), var(--omega-cyan, #36b6dc));
  box-shadow: 0 0 28px rgba(54,182,220,.35);
}

/* Feature cards */
.omega-feature-card {
  position: relative;
  padding: 28px;
  border: 1px solid rgba(22,150,193,.16);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--omega-shadow-soft, 0 18px 50px rgba(6,26,36,.10));
}

.omega-feature-card strong {
  display: block;
  margin-bottom: 9px;
  color: var(--omega-blue-700, #0d6f92) !important;
  font-size: 19px;
  letter-spacing: -0.035em;
}

.omega-feature-card p {
  margin: 0;
  color: var(--omega-muted, #5e7380) !important;
  font-size: 15px;
  line-height: 1.62;
}

/* Process */
.omega-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  counter-reset: omegaProcess;
}

.omega-process-step {
  position: relative;
  padding: 28px;
  border: 1px solid rgba(22,150,193,.16);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--omega-shadow-soft, 0 18px 50px rgba(6,26,36,.10));
}

.omega-process-step::before {
  counter-increment: omegaProcess;
  content: counter(omegaProcess, decimal-leading-zero);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 14px;
  color: var(--omega-blue-700, #0d6f92);
  background: rgba(22,150,193,.10);
  font-weight: 800;
  font-size: 13px;
}

.omega-process-step strong {
  display: block;
  margin-bottom: 8px;
  color: var(--omega-ink, #061a24) !important;
  font-size: 19px;
}

.omega-process-step p {
  margin: 0;
  color: var(--omega-muted, #5e7380) !important;
  font-size: 15px;
  line-height: 1.62;
}

/* Compare heading + link */
.omega-compare-head {
  padding: 24px 26px;
  border-bottom: 1px solid rgba(22,150,193,.12);
  background: linear-gradient(180deg, rgba(22,150,193,.06), transparent);
}

.omega-compare-head h3 {
  margin: 0;
  color: var(--omega-blue-700, #0d6f92) !important;
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.045em;
}

.omega-link {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: var(--omega-blue-700, #0d6f92) !important;
  font-weight: 800;
  text-decoration: none !important;
}

.omega-link:hover { color: var(--omega-blue, #1696c1) !important; }

/* CTA inner alias */
.omega-cta-inner {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.omega-cta-inner h2 {
  margin: 0 0 16px;
  color: #fff !important;
  font-size: clamp(34px, 5vw, 64px);
  line-height: .98;
  letter-spacing: -0.055em;
  font-weight: 800;
}

.omega-cta-inner p {
  margin: 0 auto 28px;
  max-width: 740px;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(16px, 1.28vw, 20px);
  line-height: 1.7;
}

@media (max-width: 1100px) {
  .omega-card-grid-4,
  .omega-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .omega-hero-proof { grid-template-columns: 1fr; }
}

@media (max-width: 921px) {
  .omega-split,
  .omega-media-feature { grid-template-columns: 1fr; }
  .omega-photo-card-large,
  .omega-photo-card-large img,
  .omega-media-image,
  .omega-media-image img { min-height: 390px; }
  .omega-dashboard-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: -72px; }
}

@media (max-width: 680px) {
  .omega-hero-title,
  .omega-hero h1,
  .omega-hero-content h1 { font-size: clamp(36px, 12vw, 54px) !important; }
  .omega-card-grid-4,
  .omega-process { grid-template-columns: 1fr; }
  .omega-hero-actions { flex-direction: column; }
  .omega-photo-card-large,
  .omega-photo-card-large img,
  .omega-media-image,
  .omega-media-image img { min-height: 320px; }
}

/* =========================================================
   OMEGA HOUSE CHILD v1.5 - Eventos virtuais support
   Adds missing classes used by omega-eventos-virtuais-blocos.html.
   ========================================================= */

/* Page aliases. Keep page-specific hooks available without forcing visual changes. */
.omega-page-eventos-virtuais {
  font-family: var(--omega-font, 'Lexend', Arial, Verdana, sans-serif);
}

/* Soft blue section for technology/service pages. */
.omega-section-blue-soft {
  background:
    radial-gradient(circle at 82% 8%, rgba(22,150,193,.16), transparent 34%),
    radial-gradient(circle at 14% 18%, rgba(54,182,220,.10), transparent 30%),
    linear-gradient(180deg, #f4fbfe 0%, #ffffff 100%);
}

.omega-section-blue-soft .omega-section-head h2,
.omega-section-blue-soft h2,
.omega-section-blue-soft h3 {
  color: var(--omega-ink, #061a24);
}

.omega-section-blue-soft .omega-section-head p,
.omega-section-blue-soft p {
  color: var(--omega-muted, #5e7380);
}

/* Hero helpers used by virtual-events page. */
.omega-hero-lead {
  max-width: 720px;
  margin: 0 0 28px;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
}

.omega-hero-media {
  position: relative;
  min-height: 520px;
}

.omega-hero-media .omega-photo-card,
.omega-hero-media .omega-photo-card img {
  min-height: 520px;
}

.omega-hero-media .omega-photo-card {
  transform: rotate(1deg);
}

/* Wider editorial/photo block for real event images. */
.omega-photo-wide {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  border: 1px solid rgba(22,150,193,.18);
  border-radius: 38px;
  background: #dff4fa;
  box-shadow: var(--omega-shadow-card, 0 24px 70px rgba(6,26,36,.14));
}

.omega-photo-wide img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.omega-photo-wide::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 46%, rgba(3,16,22,.30)),
    radial-gradient(circle at 12% 12%, rgba(22,150,193,.16), transparent 32%);
  pointer-events: none;
}

/* Dashboard detail line used in service hero mockups. */
.omega-dashboard-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.14);
}

.omega-dashboard-line:first-of-type {
  border-top: 0;
}

.omega-dashboard-line span {
  color: rgba(255,255,255,.66) !important;
  font-size: 13px;
  line-height: 1.4;
}

.omega-dashboard-line strong {
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-align: right;
}

/* Make sure dark cards remain legible inside blue-soft/light contexts. */
.omega-section-blue-soft .omega-card-dark strong,
.omega-section-blue-soft .omega-card-dark h3 {
  color: #fff !important;
}

.omega-section-blue-soft .omega-card-dark p,
.omega-section-blue-soft .omega-card-dark span {
  color: rgba(255,255,255,.76) !important;
}

/* Responsive adjustments for virtual-events media blocks. */
@media (max-width: 921px) {
  .omega-hero-media,
  .omega-hero-media .omega-photo-card,
  .omega-hero-media .omega-photo-card img,
  .omega-photo-wide,
  .omega-photo-wide img {
    min-height: 390px;
  }

  .omega-hero-media .omega-photo-card {
    transform: none;
  }
}

@media (max-width: 680px) {
  .omega-hero-lead {
    font-size: 16px;
  }

  .omega-hero-media,
  .omega-hero-media .omega-photo-card,
  .omega-hero-media .omega-photo-card img,
  .omega-photo-wide,
  .omega-photo-wide img {
    min-height: 320px;
  }
}


/* =========================================================
   Omega House Child v1.6
   Dark theme refresh: more event-tech blue, less black.
   ========================================================= */
:root {
  --omega-blue-900: #0a3d55;
  --omega-blue-950: #06283a;
  --omega-blue-deep: #075f86;
  --omega-event-blue: #0b6f98;
  --omega-dark: #06283a;
  --omega-dark-2: #073a52;
  --omega-dark-3: #0b4f70;
  --omega-ink: #06283a;
}

.omega-section-dark,
.omega-hero,
.omega-cta {
  background:
    radial-gradient(circle at 14% 18%, rgba(22,150,193,.44), transparent 34%),
    radial-gradient(circle at 86% 12%, rgba(26,196,168,.22), transparent 32%),
    radial-gradient(circle at 50% 104%, rgba(255,206,84,.12), transparent 36%),
    linear-gradient(135deg, #06283a 0%, #073a52 42%, #0b6f98 100%) !important;
}

.omega-section-dark::before,
.omega-hero::before,
.omega-cta::before {
  background-image:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(120deg, transparent 0%, rgba(54,182,220,.14) 46%, transparent 72%);
  background-size: 56px 56px, 56px 56px, 100% 100%;
  opacity: .72;
}

.omega-section-dark p,
.omega-section-dark li,
.omega-section-dark span:not(.omega-eyebrow):not(.omega-kicker):not(.omega-card-number),
.omega-hero p,
.omega-hero li,
.omega-hero span:not(.omega-eyebrow):not(.omega-kicker):not(.omega-card-number):not(.omega-gradient-text) {
  color: rgba(255,255,255,.80) !important;
}

.omega-section-dark .omega-eyebrow,
.omega-section-dark .omega-kicker,
.omega-hero .omega-eyebrow,
.omega-hero .omega-kicker {
  color: #e3f9ff !important;
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.24) !important;
}

.omega-card-dark,
.omega-glass,
.omega-dashboard-card,
.omega-floating-card,
.omega-check-panel {
  background:
    radial-gradient(circle at 88% 12%, rgba(54,182,220,.26), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.075)) !important;
  border-color: rgba(255,255,255,.20) !important;
  box-shadow: 0 24px 70px rgba(6,40,58,.24) !important;
}

.omega-card-dark::before {
  background: linear-gradient(135deg, rgba(255,255,255,.16), transparent 48%) !important;
}

.omega-card-dark h3,
.omega-card-dark strong,
.omega-dashboard-card h3,
.omega-dashboard-card strong,
.omega-floating-card h3,
.omega-floating-card strong {
  color: #ffffff !important;
}

.omega-card-dark p,
.omega-card-dark span,
.omega-dashboard-card p,
.omega-dashboard-card span,
.omega-floating-card p,
.omega-floating-card span {
  color: rgba(255,255,255,.80) !important;
}

.omega-btn-primary {
  background: linear-gradient(135deg, #1696c1 0%, #0b86b5 54%, #1ac4a8 100%) !important;
  box-shadow: 0 24px 60px rgba(22,150,193,.30) !important;
}

.omega-gradient-text {
  background: linear-gradient(90deg, #7bdcff 0%, #36b6dc 48%, #1ac4a8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.omega-photo-card,
.omega-photo-wide,
.omega-feature-image {
  border-color: rgba(54,182,220,.26) !important;
  box-shadow: 0 30px 90px rgba(6,40,58,.20) !important;
}

.omega-photo-card-main::after,
.omega-feature-image::after,
.omega-case-card::after,
.omega-photo-wide::after {
  background:
    linear-gradient(180deg, transparent 50%, rgba(6,40,58,.34)),
    radial-gradient(circle at 16% 14%, rgba(22,150,193,.16), transparent 32%) !important;
}

/* Home cinematic hero: reveal more of the real event photo while keeping text readable. */
.omega-home-hero {
  background: #06283a !important;
}

.omega-home-hero .omega-home-hero-bg img {
  opacity: .88 !important;
  filter: saturate(1.08) contrast(1.03) !important;
}

.omega-home-hero .omega-home-hero-bg > div:nth-of-type(1) {
  background:
    radial-gradient(circle at 50% 38%, rgba(22,150,193,.20), transparent 38%),
    linear-gradient(180deg, rgba(3,13,22,.34) 0%, rgba(6,40,58,.48) 62%, rgba(6,40,58,.78) 100%) !important;
}

.omega-home-hero .omega-home-hero-bg > div:nth-of-type(2) {
  height: 26% !important;
  background: linear-gradient(180deg, transparent, #06283a) !important;
}

.omega-home-hero .omega-hero-title,
.omega-home-hero .omega-hero-text {
  text-shadow: 0 10px 34px rgba(0,0,0,.42);
}

.omega-home-hero .omega-card-dark {
  background: rgba(255,255,255,.105) !important;
  border-color: rgba(255,255,255,.20) !important;
}

/* Dark logo boxes on light proof sections should remain blue, not black. */
.omega-home-logo-box,
.omega-client-logo-box {
  background:
    radial-gradient(circle at 20% 10%, rgba(22,150,193,.42), transparent 32%),
    linear-gradient(135deg, #06283a 0%, #073a52 52%, #0b6f98 100%) !important;
  border-color: rgba(54,182,220,.24) !important;
}

/* =========================================================
   Omega House Child v1.7
   Consolidated fixes after service pages/Home QA.
   Keeps the brighter event-tech blue dark sections from v1.6,
   but prevents light cards inside dark sections from inheriting
   white text or transparent glass backgrounds.
   ========================================================= */

/* Reliable 2-column utility used by RSVP cases and other page sections. */
.omega-card-grid-2,
.omega-rsvp-cases {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 32px) !important;
  align-items: stretch !important;
}

.omega-rsvp-cases .omega-card-dark,
.omega-card-grid-2 > .omega-card-dark {
  height: 100%;
}

@media (max-width: 900px) {
  .omega-card-grid-2,
  .omega-rsvp-cases {
    grid-template-columns: 1fr !important;
  }
}

/* Home client logos: light section + dark blue logo boxes for white logos. */
.omega-home-proof-light {
  background:
    radial-gradient(circle at 18% 10%, rgba(22,150,193,.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f4fbfe 100%);
}

.omega-home-proof-light .omega-home-proof-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}

.omega-home-proof-light .omega-home-proof-head h2 {
  color: var(--omega-ink, #06283a) !important;
}

.omega-home-proof-light .omega-home-proof-head p {
  color: var(--omega-muted, #526774) !important;
}

.omega-home-logo-grid,
.omega-client-logo-grid {
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 14px;
  margin-top: clamp(32px, 5vw, 56px);
}

.omega-home-logo-box,
.omega-client-logo-box {
  min-height: 104px;
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 20% 10%, rgba(22,150,193,.42), transparent 32%),
    linear-gradient(135deg, #06283a 0%, #073a52 52%, #0b6f98 100%) !important;
  border: 1px solid rgba(54,182,220,.24) !important;
  box-shadow: 0 18px 42px rgba(7,25,35,.14);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.omega-home-logo-box img,
.omega-client-logo-box img {
  max-width: 120px;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 1100px) {
  .omega-home-logo-grid,
  .omega-client-logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .omega-home-logo-grid,
  .omega-client-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .omega-home-logo-box,
  .omega-client-logo-box {
    min-height: 88px;
    padding: 18px;
  }
}

/* Light components inside dark/hero sections must stay light and readable.
   This corrects the v1.6 broad dark-section text rule. */
.omega-section-dark .omega-card:not(.omega-card-dark),
.omega-section-dark .omega-feature-card,
.omega-section-dark .omega-mini-card,
.omega-section-dark .omega-case-card,
.omega-section-dark .omega-process-step,
.omega-section-dark .omega-faq-item,
.omega-section-dark .omega-faq details,
.omega-section-dark .omega-window,
.omega-section-dark .omega-metric,
.omega-section-dark .omega-stat,
.omega-hero .omega-card:not(.omega-card-dark),
.omega-hero .omega-feature-card,
.omega-hero .omega-mini-card,
.omega-hero .omega-case-card,
.omega-hero .omega-process-step,
.omega-hero .omega-faq-item,
.omega-hero .omega-faq details,
.omega-hero .omega-window,
.omega-hero .omega-metric,
.omega-hero .omega-stat {
  background: linear-gradient(180deg, #ffffff, #f7fcfe) !important;
  border-color: rgba(22,150,193,.16) !important;
  box-shadow: var(--omega-shadow-soft, 0 18px 50px rgba(6,40,58,.10)) !important;
  color: var(--omega-ink, #06283a) !important;
  backdrop-filter: none !important;
}

.omega-section-dark .omega-card:not(.omega-card-dark) h1,
.omega-section-dark .omega-card:not(.omega-card-dark) h2,
.omega-section-dark .omega-card:not(.omega-card-dark) h3,
.omega-section-dark .omega-card:not(.omega-card-dark) strong,
.omega-section-dark .omega-feature-card h1,
.omega-section-dark .omega-feature-card h2,
.omega-section-dark .omega-feature-card h3,
.omega-section-dark .omega-feature-card strong,
.omega-section-dark .omega-mini-card h1,
.omega-section-dark .omega-mini-card h2,
.omega-section-dark .omega-mini-card h3,
.omega-section-dark .omega-mini-card strong,
.omega-section-dark .omega-case-card h1,
.omega-section-dark .omega-case-card h2,
.omega-section-dark .omega-case-card h3,
.omega-section-dark .omega-case-card strong,
.omega-section-dark .omega-process-step h1,
.omega-section-dark .omega-process-step h2,
.omega-section-dark .omega-process-step h3,
.omega-section-dark .omega-process-step strong,
.omega-section-dark .omega-faq-item summary,
.omega-section-dark .omega-faq details summary,
.omega-section-dark .omega-window h1,
.omega-section-dark .omega-window h2,
.omega-section-dark .omega-window h3,
.omega-section-dark .omega-window strong,
.omega-section-dark .omega-metric strong,
.omega-section-dark .omega-stat strong,
.omega-hero .omega-card:not(.omega-card-dark) h1,
.omega-hero .omega-card:not(.omega-card-dark) h2,
.omega-hero .omega-card:not(.omega-card-dark) h3,
.omega-hero .omega-card:not(.omega-card-dark) strong,
.omega-hero .omega-feature-card h1,
.omega-hero .omega-feature-card h2,
.omega-hero .omega-feature-card h3,
.omega-hero .omega-feature-card strong,
.omega-hero .omega-mini-card h1,
.omega-hero .omega-mini-card h2,
.omega-hero .omega-mini-card h3,
.omega-hero .omega-mini-card strong,
.omega-hero .omega-case-card h1,
.omega-hero .omega-case-card h2,
.omega-hero .omega-case-card h3,
.omega-hero .omega-case-card strong,
.omega-hero .omega-process-step h1,
.omega-hero .omega-process-step h2,
.omega-hero .omega-process-step h3,
.omega-hero .omega-process-step strong,
.omega-hero .omega-faq-item summary,
.omega-hero .omega-faq details summary,
.omega-hero .omega-window h1,
.omega-hero .omega-window h2,
.omega-hero .omega-window h3,
.omega-hero .omega-window strong,
.omega-hero .omega-metric strong,
.omega-hero .omega-stat strong {
  color: var(--omega-ink, #06283a) !important;
}

.omega-section-dark .omega-card:not(.omega-card-dark) p,
.omega-section-dark .omega-card:not(.omega-card-dark) li,
.omega-section-dark .omega-card:not(.omega-card-dark) span:not(.omega-card-number),
.omega-section-dark .omega-card:not(.omega-card-dark) small,
.omega-section-dark .omega-feature-card p,
.omega-section-dark .omega-feature-card li,
.omega-section-dark .omega-feature-card span,
.omega-section-dark .omega-mini-card p,
.omega-section-dark .omega-mini-card li,
.omega-section-dark .omega-mini-card span,
.omega-section-dark .omega-case-card p,
.omega-section-dark .omega-case-card li,
.omega-section-dark .omega-case-card span,
.omega-section-dark .omega-process-step p,
.omega-section-dark .omega-process-step li,
.omega-section-dark .omega-process-step span,
.omega-section-dark .omega-faq-item p,
.omega-section-dark .omega-faq details p,
.omega-section-dark .omega-window p,
.omega-section-dark .omega-window span,
.omega-section-dark .omega-window small,
.omega-section-dark .omega-metric span,
.omega-section-dark .omega-metric small,
.omega-section-dark .omega-stat span,
.omega-hero .omega-card:not(.omega-card-dark) p,
.omega-hero .omega-card:not(.omega-card-dark) li,
.omega-hero .omega-card:not(.omega-card-dark) span:not(.omega-card-number),
.omega-hero .omega-card:not(.omega-card-dark) small,
.omega-hero .omega-feature-card p,
.omega-hero .omega-feature-card li,
.omega-hero .omega-feature-card span,
.omega-hero .omega-mini-card p,
.omega-hero .omega-mini-card li,
.omega-hero .omega-mini-card span,
.omega-hero .omega-case-card p,
.omega-hero .omega-case-card li,
.omega-hero .omega-case-card span,
.omega-hero .omega-process-step p,
.omega-hero .omega-process-step li,
.omega-hero .omega-process-step span,
.omega-hero .omega-faq-item p,
.omega-hero .omega-faq details p,
.omega-hero .omega-window p,
.omega-hero .omega-window span,
.omega-hero .omega-window small,
.omega-hero .omega-metric span,
.omega-hero .omega-metric small,
.omega-hero .omega-stat span {
  color: var(--omega-muted, #526774) !important;
}

/* Keep intentionally dark/glass components dark, but more blue and less black. */
.omega-card-dark,
.omega-section-dark .omega-card-dark,
.omega-section-blue-soft .omega-card-dark,
.omega-rsvp-cases .omega-card-dark {
  background:
    radial-gradient(circle at 88% 12%, rgba(54,182,220,.28), transparent 34%),
    linear-gradient(145deg, rgba(11,111,152,.34), rgba(6,40,58,.78)) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: #ffffff !important;
}

.omega-card-dark h1,
.omega-card-dark h2,
.omega-card-dark h3,
.omega-card-dark strong,
.omega-card-dark summary,
.omega-rsvp-cases .omega-card-dark h3,
.omega-rsvp-cases .omega-card-dark strong {
  color: #ffffff !important;
}

.omega-card-dark p,
.omega-card-dark li,
.omega-card-dark span:not(.omega-eyebrow):not(.omega-kicker):not(.omega-card-number),
.omega-card-dark small,
.omega-rsvp-cases .omega-card-dark p,
.omega-rsvp-cases .omega-card-dark span:not(.omega-eyebrow) {
  color: rgba(255,255,255,.80) !important;
}

/* Comparisons are usually light, even when placed in dark sections. */
.omega-section-dark .omega-compare,
.omega-hero .omega-compare {
  background: linear-gradient(180deg, #ffffff, #f7fcfe) !important;
  border-color: rgba(22,150,193,.18) !important;
}

.omega-section-dark .omega-compare-row,
.omega-hero .omega-compare-row {
  background: #ffffff !important;
  border-color: rgba(22,150,193,.12) !important;
}

.omega-section-dark .omega-compare-row strong,
.omega-hero .omega-compare-row strong {
  color: var(--omega-blue-700, #0d6f92) !important;
}

.omega-section-dark .omega-compare-row span,
.omega-hero .omega-compare-row span {
  color: var(--omega-muted, #526774) !important;
}

/* Service hero floating dashboards remain glass/dark and readable. */
.omega-hero .omega-dashboard-card.omega-floating-card,
.omega-section-dark .omega-dashboard-card.omega-floating-card {
  background:
    radial-gradient(circle at 88% 12%, rgba(54,182,220,.28), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.08)) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  backdrop-filter: blur(20px) !important;
}

.omega-hero .omega-dashboard-card.omega-floating-card *,
.omega-section-dark .omega-dashboard-card.omega-floating-card * {
  color: inherit;
}

.omega-hero .omega-dashboard-card.omega-floating-card strong,
.omega-hero .omega-dashboard-card.omega-floating-card h3,
.omega-hero .omega-dashboard-card.omega-floating-card .omega-dashboard-title,
.omega-section-dark .omega-dashboard-card.omega-floating-card strong,
.omega-section-dark .omega-dashboard-card.omega-floating-card h3,
.omega-section-dark .omega-dashboard-card.omega-floating-card .omega-dashboard-title {
  color: #ffffff !important;
}

.omega-hero .omega-dashboard-card.omega-floating-card span,
.omega-hero .omega-dashboard-card.omega-floating-card p,
.omega-section-dark .omega-dashboard-card.omega-floating-card span,
.omega-section-dark .omega-dashboard-card.omega-floating-card p {
  color: rgba(255,255,255,.74) !important;
}

/* Home cinematic modules: keep glass look over photo. */
.omega-home-hero .omega-card-dark {
  background: rgba(255,255,255,.105) !important;
  border-color: rgba(255,255,255,.20) !important;
  backdrop-filter: blur(18px) !important;
}

/* Ensure page-specific wrappers do not force full-width misalignment. */
.omega-section > .omega-container,
.omega-hero > .omega-container,
.omega-cta > .omega-container {
  width: min(100% - 40px, var(--omega-container, 1180px));
  max-width: var(--omega-container, 1180px);
  margin-left: auto;
  margin-right: auto;
}

/* Correção segura para imagens em cards sem invadir o texto */
.omega-photo-card,
.omega-feature-image,
.omega-photo-wide {
  position: relative;
  overflow: hidden;
  background: transparent !important;
}

.omega-photo-card img,
.omega-feature-image img,
.omega-photo-wide img {
  position: static !important;
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Apenas quando o container precisa de proporção fixa */
.omega-feature-image,
.omega-photo-card-large,
.omega-photo-card-main,
.omega-photo-wide {
  aspect-ratio: 4 / 3;
}

.omega-feature-image img,
.omega-photo-card-large img,
.omega-photo-card-main img,
.omega-photo-wide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Garante que grids de imagem + texto não sobreponham */
.omega-feature-grid,
.omega-media-feature,
.omega-split,
.omega-two-col {
  display: grid;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.omega-feature-grid,
.omega-media-feature {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.omega-feature-image,
.omega-photo-card,
.omega-photo-wide {
  max-width: 100%;
}

@media (max-width: 900px) {
  .omega-feature-grid,
  .omega-media-feature,
  .omega-split,
  .omega-two-col {
    grid-template-columns: 1fr;
  }
}

/* Botão principal com gradiente azul → amarelo */
.omega-btn-primary {
  background: linear-gradient(135deg, #1696c1 0%, #ffce54 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: 0 18px 42px rgba(22, 150, 193, .28) !important;
}

.omega-btn-primary:hover {
  background: linear-gradient(135deg, #1aa8d8 0%, #ffce54 100%) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 22px 52px rgba(255, 206, 84, .26) !important;
}