/**
 * PM Media — pristine HD lock for visual-world / niche funny plates
 * Kills blur-until-scroll, cinema wash, letterbox bars, and scribble black lines.
 * Cache-bust with ?v= on index.html when changing this file.
 */

/* ── Never blur reveal on gallery cards (pm-fx + pm50) ── */
#visual-world .pm-fx-reveal,
#visual-world .pm-fx-reveal.is-in,
#visual-world .pm50-reveal,
#visual-world .pm50-reveal.is-visible,
#visual-world .pm50-stagger-child,
#visual-world .visual-world-card,
#visual-world .visual-world-card--niche,
#visual-world .visual-world-grid--niches figure,
#visual-world .visual-world-grid--system figure,
#visual-world figure {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  -webkit-filter: none !important;
  transition: none !important;
}

#visual-world .visual-world-card img,
#visual-world .visual-world-card--niche img,
#visual-world .visual-world-grid--niches img,
#visual-world .visual-world-grid--system img,
#visual-world figure img,
html.pm-50k-cinema #visual-world figure img,
html.pm-50k-cinema #visual-world img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
  -ms-interpolation-mode: bicubic;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

/* Hover: tiny scale only — never re-blur */
@media (hover: hover) and (pointer: fine) {
  #visual-world .visual-world-card--niche:hover img,
  #visual-world .visual-world-grid--niches figure:hover img {
    transform: scale(1.03) !important;
    filter: none !important;
  }
}

/* ── Kill black scribble / underline under visual-world titles ── */
#visual-world .pm-fx-scribble,
#visual-world h2 .pm-fx-scribble,
#visual-world h3 .pm-fx-scribble,
#visual-world .is-drawn > .pm-fx-scribble {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* ── Mobile: no cinema letterbox bars (read as black lines) ── */
@media (max-width: 900px), (pointer: coarse) {
  .pm50-letterbox,
  .pm50-letterbox--top,
  .pm50-letterbox--bot {
    display: none !important;
    height: 0 !important;
    opacity: 0 !important;
  }

  /* Soft overlays must not wash niche plates */
  .pm50-grade,
  .pm50-vignette,
  .pm50-grain {
    opacity: 0.12 !important;
  }

  /* Blurred hero photo stage — hide under silk (looks like murky pics) */
  html.pm-silk-aurora .pm-fx-hero-stage,
  html[data-hero-bg="silk"] .pm-fx-hero-stage,
  .pm-fx-hero-stage__slide {
    display: none !important;
    opacity: 0 !important;
    filter: none !important;
  }

  /* Global mobile: never leave fx-reveal blurred */
  .pm-fx-reveal,
  .pm-fx-reveal.is-in,
  .section.pm-fx-reveal {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  /* Silk neon stage: drop thick black ring that reads as a bar */
  html.pm-silk-aurora .pm-noon-3d-stage.pm-neon-sign-stage,
  html[data-hero-bg="silk"] .pm-noon-3d-stage.pm-neon-sign-stage {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.14),
      0 18px 48px rgba(0, 0, 0, 0.35),
      0 0 40px rgba(0, 212, 238, 0.14) !important;
  }

  html.pm-silk-aurora .pm-neon-sign-veil,
  html[data-hero-bg="silk"] .pm-neon-sign-veil {
    background: transparent !important;
    opacity: 0 !important;
  }
}

#visual-world h2.gradient-text,
#visual-world .visual-world-niche-title {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: manual;
  line-break: auto;
}

/* ── REV DE$K lockup hero (bigger mark + full words) ── */
.visual-world-card--lockup {
  cursor: default;
}
.visual-world-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(0.65rem, 2vw, 1.1rem);
  min-height: 420px;
  padding: clamp(1.25rem, 4vw, 2.25rem);
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 32%, rgba(0, 212, 238, 0.14), transparent 58%),
    radial-gradient(ellipse at 50% 88%, rgba(232, 50, 138, 0.08), transparent 52%),
    #050508;
}
.visual-world-lockup-logo {
  width: min(78%, 340px);
  max-width: 340px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  padding: 0;
  filter: drop-shadow(0 12px 32px rgba(0, 212, 238, 0.22));
}
.visual-world-lockup-brand {
  margin: 0;
  font-size: clamp(1.45rem, 3.2vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
  color: #f8f8fc;
  text-shadow: 0 0 28px rgba(0, 212, 238, 0.35);
}
.visual-world-lockup-tagline {
  margin: 0;
  max-width: 18rem;
  font-size: clamp(0.72rem, 1.6vw, 0.88rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.45;
  color: rgba(244, 244, 250, 0.88);
}
.visual-world-lockup-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.35rem;
  padding: 0.55rem 1.05rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 212, 238, 0.45);
  background: linear-gradient(120deg, rgba(0, 212, 238, 0.18), rgba(232, 50, 138, 0.12));
  color: #f4f4fa;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  pointer-events: auto;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.visual-world-lockup-cta:hover,
.visual-world-lockup-cta:focus-visible {
  border-color: rgba(0, 212, 238, 0.75);
  box-shadow: 0 0 24px rgba(0, 212, 238, 0.2);
  transform: translateY(-1px);
  outline: none;
}
.visual-world-card--lockup > figcaption {
  pointer-events: none;
}

/* ── Niche caption + CTA micro-line ── */
.visual-world-niche-cap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  pointer-events: none;
}
.vw-niche-cap {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.35;
  color: #f4f4fa;
}
.vw-niche-cta {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 196, 92, 0.45);
  background: rgba(8, 10, 16, 0.72);
  color: rgba(255, 220, 150, 0.95);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-decoration: none;
  pointer-events: auto;
  transition: border-color 200ms ease, color 200ms ease, background 200ms ease;
}
.vw-niche-cta:hover,
.vw-niche-cta:focus-visible {
  border-color: rgba(0, 212, 238, 0.65);
  color: #fff;
  background: rgba(0, 212, 238, 0.12);
  outline: none;
}
#visual-world .visual-world-card--niche figcaption {
  padding-bottom: 0.75rem;
}

@media (max-width: 640px) {
  .visual-world-lockup {
    min-height: 320px;
  }
  .visual-world-lockup-logo {
    width: min(64%, 220px);
  }
}
