/* OCHBS Exhibitor World hero — WordPress overrides
   Boxed copy card + readability overlay, per deploy plan §1 */

#ochbs-world { --sw-bg: #0c0f0d; --sw-ink: #f3efe6; --sw-ink-soft: #b8b2a4; --sw-accent: #1f7a4d;
  --sw-font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --sw-font-body: "Archivo", "Helvetica Neue", Arial, sans-serif; }

/* Soft global gradient — subtle, video stays visible (overlay layer 1) */
#ochbs-world .sw-copylayer::before {
  width: min(52vw, 700px);
  background: linear-gradient(90deg, rgba(12,15,13,.55) 0%, rgba(12,15,13,.25) 55%, transparent 100%);
}

/* Boxed copy card (overlay layer 2 — contrast guarantee) */
#ochbs-world .sw-copy {
  width: min(88vw, 520px);
  padding: clamp(24px, 3vw, 40px);
  border-radius: 16px;
  background: rgba(12, 15, 13, 0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(243, 239, 230, 0.08);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

/* Premium editorial type (brief §14) */
#ochbs-world .sw-copy__title {
  text-transform: uppercase; font-weight: 800;
  font-size: clamp(1.7rem, 3.2vw, 2.7rem);
  line-height: 1.06; letter-spacing: .015em; text-shadow: none;
}
#ochbs-world .sw-copy__eyebrow { letter-spacing: .22em; font-weight: 700; }
#ochbs-world .sw-copy__body { letter-spacing: .01em; text-shadow: none; }
#ochbs-world .sw-btn--primary { text-transform: uppercase; letter-spacing: .08em; background: var(--sw-accent); color: #fff; }
#ochbs-world .sw-btn--primary:hover { background: #2a9a64; }
#ochbs-world .sw-btn--ghost { text-transform: uppercase; letter-spacing: .08em; }

/* Site header owns the top — pull engine hint above safe area, keep rail clear */
#ochbs-world .sw-topbar { display: none; }

/* Animated static over the video stage (under copy cards) — tiled gif, screen blend, 10% */
#ochbs-world .sw-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/wp-content/uploads/ochbs-hero/noise.gif') repeat;
  opacity: 0.1;
  mix-blend-mode: screen;
  pointer-events: none;
  /* scenes inside the stage get z 100–120 dynamically — grain must sit above them,
     while the whole stage (z10) stays under the copy-card layer (z20) */
  z-index: 200;
}

/* Route rail labels: navy text on the light pill (site header navy) */
#ochbs-world .sw-route__label { color: #0e1230; }

/* Mobile: card docks lower-third, full safe width; route rail hidden */
@media (max-width: 860px) {
  #ochbs-world .sw-route { display: none; }
  #ochbs-world .sw-copy {
    width: auto; max-width: 560px;
    padding: 20px 22px;
    /* lift the card so the scroll hint never touches it */
    bottom: calc(clamp(92px, 15dvh, 140px) + env(safe-area-inset-bottom));
  }
  #ochbs-world .sw-copy__title { font-size: clamp(1.45rem, 6vw, 2rem); }
  #ochbs-world .sw-copy__body { font-size: .95rem; line-height: 1.45; }
  /* tag pills: single row, never wrap */
  #ochbs-world .sw-copy__tags { flex-wrap: nowrap; gap: 6px; margin-top: 14px; }
  #ochbs-world .sw-copy__tags li { font-size: .7rem; padding: 5px 10px; white-space: nowrap; }
  /* hint: one line, pinned low, clear of the card */
  #ochbs-world .sw-hint { white-space: nowrap; font-size: .6rem; letter-spacing: .1em; bottom: calc(16px + env(safe-area-inset-bottom)); width: max-content; }
  #ochbs-world .sw-copylayer::before {
    width: 100%; height: 55%; top: auto; bottom: 0;
    background: linear-gradient(0deg, rgba(12,15,13,.6) 10%, transparent 100%);
  }
}
