/* /partners/neon-wood/ — "Neon house": navy night, mint neon glow, a CSS facade with lit
   windows, glowing numbered chips on a rail. Base tokens in /partners/partners.css. */

:root {
  --pv-brand: #2ad19c;
  --pv-brand-ink: #002140;
  --pv-brand-soft: rgba(42, 209, 156, 0.14);
  --pv-accent: #e96df2;
  --pv-bg: #002140;
  --pv-surface: #072c54;
  --pv-surface-2: #0f3560;
  --pv-ink: #fbfaf1;
  --pv-muted: #b7c4d6;
  --pv-border: rgba(142, 232, 204, 0.18);
  --pv-link: #8ee8cc;
  --pv-ok: #6ee7b7;
  --pv-warn: #ffed8f;
  --pv-radius: 20px;
  --pv-radius-sm: 12px;
  --pv-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  --pv-nav-bg: rgba(0, 33, 64, 0.9);
  --pv-nav-ink: #fbfaf1;
  --pv-nav-line: rgba(142, 232, 204, 0.2);
  --nw-mint: #2ad19c;
  --nw-mint-2: #8ee8cc;
  --nw-pink: #e96df2;
  --nw-yellow: #ffed8f;
  --nw-cream: #fbfaf1;
}

/* Shared blocks on a dark surface */
.pv-card__badge { color: #002140; }
.pv-card__media { background: #0b2f57; }
.pv-stat__value { color: var(--nw-cream); }
.pv-guides a:hover { border-color: var(--nw-mint); color: var(--nw-mint); }
.pv-faq details p a, .pv-stats__note a { color: var(--nw-mint-2); }
.pv-btn--ink { background: var(--nw-cream); color: #002140; }
.pv-nav__cta { box-shadow: 0 0 18px rgba(42, 209, 156, 0.35); }

/* =========================================================================
   Hero
   ========================================================================= */
.nw-hero {
  position: relative; overflow: hidden;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 6vw, 5rem);
  background:
    radial-gradient(60rem 30rem at 85% -10%, rgba(42, 209, 156, 0.16), transparent 60%),
    linear-gradient(180deg, #00172e 0%, #002140 70%);
}
.nw-glow {
  position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; opacity: 0.5;
}
.nw-glow--a { width: 28rem; height: 28rem; right: -8rem; top: -10rem; background: rgba(42, 209, 156, 0.35); }
.nw-glow--b { width: 18rem; height: 18rem; left: -6rem; bottom: -6rem; background: rgba(233, 109, 242, 0.25); }
.nw-glow--c { width: 30rem; height: 30rem; right: -10rem; bottom: -16rem; background: rgba(42, 209, 156, 0.3); }

.nw-hero__inner {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 5vw, 4rem); align-items: center;
}
.nw-hero__kicker {
  display: inline-flex; align-items: center; gap: 0.9rem; margin-bottom: 1.2rem;
  padding: 0.35rem 0.9rem 0.35rem 0.5rem; border-radius: 999px;
  border: 1px solid rgba(142, 232, 204, 0.25); background: rgba(255, 255, 255, 0.04);
  font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pv-muted);
}
.nw-hero__kicker img { height: 34px; width: auto; }
.nw-hero h1 {
  font-family: var(--pv-font-display);
  font-size: clamp(2.3rem, 5.2vw, 3.9rem); font-weight: 600; line-height: 1.03; letter-spacing: -0.035em;
  color: var(--nw-cream);
}
.nw-hero h1 em {
  font-style: normal; color: var(--nw-mint);
  text-shadow: 0 0 10px rgba(42, 209, 156, 0.55), 0 0 28px rgba(42, 209, 156, 0.3);
  animation: nw-flicker 7s linear infinite;
}
@keyframes nw-flicker {
  0%, 93%, 100% { opacity: 1; }
  94% { opacity: 0.72; }
  95% { opacity: 1; }
  97% { opacity: 0.85; }
}
.nw-hero__dek { max-width: 36rem; margin-top: 1.25rem; font-size: clamp(1.02rem, 1.4vw, 1.15rem); color: var(--pv-muted); }
.nw-hero__dek strong { color: var(--nw-cream); }
.nw-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.nw-hero__actions .pv-btn--brand { box-shadow: 0 0 24px rgba(42, 209, 156, 0.4); }
.nw-hero__facts { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px dashed rgba(142, 232, 204, 0.3); list-style: none; }
.nw-hero__facts li { display: flex; flex-direction: column; min-width: 0; }
.nw-hero__facts strong { font-family: var(--pv-font-display); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; color: var(--nw-cream); line-height: 1.1; }
.nw-hero__facts span { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pv-muted); margin-top: 0.25rem; }

/* ---------- Night facade ---------- */
.nw-facade { position: relative; display: grid; gap: 1rem; justify-items: center; padding: 1rem 0 0; }
.nw-facade__sign {
  display: inline-flex; flex-direction: column; align-items: center; line-height: 1;
  font-family: var(--pv-font-display); font-weight: 600; letter-spacing: -0.02em; color: var(--nw-mint);
  text-shadow: 0 0 8px rgba(42, 209, 156, 0.7), 0 0 24px rgba(42, 209, 156, 0.4);
}
.nw-facade__sign span:first-child { font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.3em; font-family: var(--pv-font-body); font-weight: 800; }
.nw-facade__sign span:last-child { font-size: 2.4rem; font-style: italic; }
.nw-facade__building {
  position: relative; width: min(100%, 22rem); padding: 1.1rem 1.1rem 0;
  border-radius: 10px 10px 0 0; background: linear-gradient(180deg, #06264a, #031a36);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.nw-facade__roof { position: absolute; left: -0.6rem; right: -0.6rem; top: -0.5rem; height: 0.5rem; border-radius: 3px; background: #0b3a66; }
.nw-facade__grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0.55rem; }
.nw-facade__grid i, .nw-facade__legend i {
  display: block; aspect-ratio: 3 / 4; border-radius: 2px;
  background: #0d2f55; border: 1px solid rgba(255, 255, 255, 0.05);
}
.nw-facade__grid i.is-lit, .nw-facade__legend i.is-lit {
  background: var(--nw-mint-2);
  box-shadow: 0 0 10px rgba(142, 232, 204, 0.7), 0 0 22px rgba(42, 209, 156, 0.35);
  animation: nw-window 6s ease-in-out infinite;
}
.nw-facade__grid i.is-pink { background: var(--nw-pink); box-shadow: 0 0 10px rgba(233, 109, 242, 0.7), 0 0 22px rgba(233, 109, 242, 0.35); animation-delay: -2s; }
.nw-facade__grid i.is-yellow { background: var(--nw-yellow); box-shadow: 0 0 10px rgba(255, 237, 143, 0.7), 0 0 22px rgba(255, 237, 143, 0.35); animation-delay: -4s; }
.nw-facade__grid i.is-lit:nth-child(3n) { animation-delay: -1.5s; }
.nw-facade__grid i.is-lit:nth-child(5n) { animation-delay: -3.2s; }
@keyframes nw-window { 0%, 100% { opacity: 1; } 50% { opacity: 0.72; } }
.nw-facade__door { display: block; width: 3rem; height: 2.2rem; margin: 0.9rem auto 0; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--nw-mint), rgba(42, 209, 156, 0.4)); box-shadow: 0 -4px 20px rgba(42, 209, 156, 0.4); }
.nw-facade__legend { list-style: none; display: grid; gap: 0.4rem; width: min(100%, 22rem); font-size: 0.82rem; color: var(--pv-muted); }
.nw-facade__legend li { display: grid; grid-template-columns: 0.9rem 1fr; gap: 0.6rem; align-items: center; }
.nw-facade__legend i { aspect-ratio: 3 / 4; width: 0.9rem; animation: none; }

@media (max-width: 900px) {
  .nw-hero__inner { grid-template-columns: 1fr; }
}

/* =========================================================================
   Sections
   ========================================================================= */
.nw-data { background: #00172e; }
.pv-stat--wide { flex: 2 1 300px; max-width: min(100%, 52rem); }
@media (max-width: 480px) { .pv-stat--wide { flex-basis: 150px; } }

.nw-houses { background: var(--pv-bg); }
.pv-house { background: linear-gradient(180deg, #0a3159, #072c54); }
.pv-house h3 { color: var(--nw-cream); }
.pv-house__meta span { background: rgba(42, 209, 156, 0.16); color: var(--nw-mint-2); }

/* Glowing chips on a rail */
.nw-rail .pv-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; position: relative; }
.nw-rail .pv-steps::before {
  content: ''; position: absolute; left: 1.5rem; right: 1.5rem; top: 2.1rem; height: 2px;
  background: linear-gradient(90deg, rgba(42, 209, 156, 0.1), var(--nw-mint) 50%, rgba(42, 209, 156, 0.1));
  box-shadow: 0 0 12px rgba(42, 209, 156, 0.5);
}
.nw-rail .pv-step { grid-template-columns: 1fr; padding-top: 1rem; background: rgba(7, 44, 84, 0.8); }
.nw-rail .pv-step::before {
  grid-row: auto; margin-bottom: 0.8rem;
  box-shadow: 0 0 0 6px var(--pv-bg), 0 0 18px rgba(42, 209, 156, 0.6);
}
.nw-rail .pv-step:last-child::before { background: var(--nw-pink); color: #2a0b2e; box-shadow: 0 0 0 6px var(--pv-bg), 0 0 18px rgba(233, 109, 242, 0.6); }
@media (max-width: 900px) {
  .nw-rail .pv-steps { grid-template-columns: 1fr; }
  .nw-rail .pv-steps::before { display: none; }
  .nw-rail .pv-step { grid-template-columns: 3rem minmax(0, 1fr); }
  .nw-rail .pv-step::before { grid-row: 1 / span 2; margin: 0; box-shadow: 0 0 14px rgba(42, 209, 156, 0.5); }
}

.nw-listings { background: #00172e; }
.nw-faq { max-width: 56rem; }
.nw-guides__title { margin: 2rem 0 0.75rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pv-muted); }
.nw-sources { display: grid; gap: 1.25rem; }

/* Final band */
.nw-final { position: relative; overflow: hidden; padding: clamp(3rem, 6vw, 4.5rem) 0; background: #00172e; color: var(--nw-cream); text-align: center; border-top: 1px solid var(--pv-border); }
.nw-final__inner { position: relative; }
.nw-final h2 { font-family: var(--pv-font-display); font-size: clamp(1.8rem, 3.4vw, 2.7rem); font-weight: 600; letter-spacing: -0.03em; }
.nw-final p { max-width: 34rem; margin: 0.8rem auto 1.5rem; color: var(--pv-muted); }
.nw-final .pv-btn--brand { box-shadow: 0 0 24px rgba(42, 209, 156, 0.4); }

@media (prefers-reduced-motion: reduce) {
  .nw-hero h1 em, .nw-facade__grid i.is-lit { animation: none; }
}
