:root {
  --font-heading: 'Inter Tight', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --pop-stream: #0B6EF8;
  --pop-sports: #79AE02;
  --pop-kids: #6129A8;
  --accent: var(--pop-stream);
}

  html, body { margin:0; padding:0; background:#0b0e10; }
  .pop-wm { font-family:'Inter Tight',sans-serif; font-weight:800; letter-spacing:-0.03em; }
  #popApp { background:#0b0e10; color:#fff; font-family:var(--font-body); min-height:100vh; min-height:100dvh; overflow-x:hidden; }
  .live-dot { width:6px; height:6px; border-radius:50%; background:#fff; display:inline-block; animation:pop-pulse 1.6s infinite; }
  @keyframes pop-pulse { 0%{opacity:1; transform:scale(1);} 50%{opacity:0.4; transform:scale(1.5);} 100%{opacity:1; transform:scale(1);} }
  .pop-poster:hover { transform:scale(1.05); z-index:5; }
  .pop-poster { transition:transform 220ms cubic-bezier(.2,.7,.2,1); }
  .predict-opt:hover, .browse-tab:hover, .trend-chip:hover { background:rgba(255,255,255,0.08); }
  .pop-row-scroll::-webkit-scrollbar { height:6px; }
  .pop-row-scroll::-webkit-scrollbar-thumb { background:#2b333a; }
  .pop-btn { font-family:var(--font-heading); font-weight:600; border:1px solid; border-radius:4px; cursor:pointer; transition:opacity 150ms; }
  .pop-btn:hover { opacity:0.85; }
  .pop-navlinks span:hover { color:#fff; }
  .icon-btn { transition:color 150ms; }
  .icon-btn:hover { color:#fff !important; }
  input::placeholder { color:#5d6a73; }

  /* ================= BRAND ================= */
  .pop-logo-mark { height:30px; width:auto; display:block; flex-shrink:0; }
  @keyframes pop-float { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
  .pop-bubble { animation:pop-float 5s ease-in-out infinite; }

  /* ================= LANDING ================= */
  .value-card, .vertical-card { transition:transform 320ms cubic-bezier(.2,.7,.2,1), border-color 320ms, box-shadow 320ms; }
  .value-card:hover { transform:translateY(-5px); border-color:rgba(255,255,255,0.22); box-shadow:0 16px 40px rgba(0,0,0,0.35); }
  .vertical-card { box-shadow:0 10px 30px rgba(0,0,0,0.25); }
  .vertical-card:hover { transform:translateY(-6px) scale(1.015); box-shadow:0 24px 60px rgba(0,0,0,0.45); }
  .vertical-card img { transition:transform 500ms cubic-bezier(.2,.7,.2,1); }
  .vertical-card:hover img[style*="object-fit"] { transform:scale(1.06); }
  .faq-item .faq-chevron { transition:transform 200ms; }
  .faq-item.faq-open .faq-chevron { transform:rotate(45deg); }
  .faq-item .faq-a { display:grid; grid-template-rows:0fr; transition:grid-template-rows 280ms ease; }
  .faq-item .faq-a-inner { overflow:hidden; }
  .faq-item.faq-open .faq-a { grid-template-rows:1fr; margin-top:12px; }
  .landing-nav-link:hover { color:#fff !important; }
  .reveal { opacity:1; transform:none; transition:opacity 700ms ease, transform 700ms ease; }
  .reveal.reveal-pending { opacity:0; transform:translateY(22px); }

  @media (max-width: 760px) {
    .pop-navlinks { display:none !important; }
    .pop-searchbar { display:none !important; }
    .pop-hero-title { font-size:clamp(28px,9vw,44px) !important; }
    #sportGrid { grid-template-columns:1fr !important; }
  }
