/* Functional enhancements only. Editorial layout comes from landing-system.css. */
[hidden] { display: none !important; }
:focus-visible, .btn:focus-visible { outline: 3px solid var(--vf-blue-700); outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 16px; background: var(--vf-bg); }
.skip-link:focus { top: 8px; }
.preview-label { background: var(--vf-warning-50); color: var(--vf-warning-900); text-align: center; font-size: 12px; padding: 8px 20px; }
section[id] { scroll-margin-top: 90px; }
.measurement-preferences { margin-top: 24px; background: none; border: 0; padding: 8px 0; font: inherit; font-size: 13px; color: var(--vf-fg-secondary); cursor: pointer; }
dialog { color: var(--vf-fg); background: var(--vf-bg); border: 1px solid var(--vf-border); border-radius: var(--vf-radius-xl); padding: 32px; max-width: 580px; width: calc(100% - 32px); box-shadow: var(--vf-shadow-xl); }
dialog::backdrop { background: rgba(15,23,42,.5); }
dialog p { line-height: 1.6; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 12px; }
button:disabled { cursor: not-allowed; opacity: .65; }
.vo-play:focus-visible, .video-stage:focus-within .vo-play.is-playing { opacity: 1; pointer-events: auto; }
.vo-play-wrap, .vo-controls { display: none; }
.video-enhanced .vo-play-wrap { display: grid; }
.video-enhanced .vo-controls { display: flex; }
.video-status { font-size: 12px; color: var(--vf-fg-secondary); }
@media (max-width: 600px) {
  nav.top .inner { padding: 14px 20px; gap: 12px; }
  nav.top .right { flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
  nav.top .right .pill-status { flex-basis: 100%; justify-content: flex-end; background: none; }
  nav.top .right .btn { font-size: 12px; padding: 8px; }
  .video-chrome .url { margin-left: 0; font-size: 9px; padding: 3px; }
  .video-chrome .live { font-size: 9px; }
  .video-overlay-top, .video-overlay-bot { gap: 8px; }
  .video-overlay-top .vo-pill { font-size: 8px; padding: 4px; }
  .vo-title { font-size: 12px; }
  .vo-label, .vo-meta { font-size: 8px; }
  .vo-time { min-width: 55px; font-size: 9px; }
  .video-overlay-bot { grid-template-columns: 1fr; }
  .problem-grid { grid-template-columns: 1fr; }
  .ctaBanner .btn { white-space: normal; }
  footer .legal .links { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
