/* TV landing only: reuse shared tokens, navigation, buttons, FAQ and footer. */
.tv-landing { min-width: 0; }
.tv-landing .tv-service-link { padding-left: 26px; border-left: 1px solid var(--line); }
.tv-landing .site-nav [aria-current="page"] { color: var(--accent); }
.tv-landing .tv-hero { min-height: auto; padding: 76px 0; }
.tv-landing .tv-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.tv-landing .tv-hero h1 { font-size: clamp(2.7rem, 4.7vw, 4.9rem); line-height: 1.04; letter-spacing: -.055em; }
.tv-landing .tv-hero .lead { font-size: 1.05rem; }
.tv-landing .tv-hero .hero-actions { gap: 10px; }
.tv-landing .tv-hero .button { padding-inline: 16px; font-size: .82rem; }
.tv-landing .tv-section { padding: 96px 0; }
.tv-landing .tv-section--alternate { background: var(--bg-2); }
.tv-landing .tv-capture { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #030911; box-shadow: var(--shadow); }
.tv-landing .tv-capture--hero { border-color: rgba(82, 213, 255, .25); }
.tv-landing .tv-capture figcaption { padding: 12px 16px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: .75rem; }
.tv-landing .tv-capture img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.tv-landing .tv-remote-grid .feature-card { min-height: 220px; }
.tv-landing .tv-remote-grid .feature-symbol { margin-bottom: 24px; }
.tv-landing .tv-story-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: center; }
.tv-landing .tv-story-copy h2, .tv-landing .tv-install-panel h2 { margin-bottom: 22px; font-size: clamp(2.4rem, 4vw, 4.4rem); line-height: 1.06; letter-spacing: -.045em; }
.tv-landing .tv-story-copy > p, .tv-landing .tv-points { color: var(--muted); }
.tv-landing .tv-points { padding-left: 20px; }
.tv-landing .tv-points li { padding-left: 6px; margin-block: 10px; }
.tv-landing .tv-note { font-size: .82rem; }
.tv-landing .tv-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tv-landing .tv-library-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--surface); }
.tv-landing .tv-library-copy { padding: 28px; }
.tv-landing .tv-library-copy h3 { margin-bottom: 10px; font-size: 1.35rem; }
.tv-landing .tv-library-copy p { margin: 0; color: var(--muted); font-size: .92rem; }
.tv-landing .tv-library-card .tv-capture { margin: auto 18px 18px; box-shadow: none; }
.tv-landing .tv-playback-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tv-landing .tv-playback-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.tv-landing .tv-playback-card h3 { margin-bottom: 10px; font-size: 1.2rem; }
.tv-landing .tv-playback-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.tv-landing .tv-provider-panel { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; }
.tv-landing .tv-provider-panel .source-types { margin-top: 0; }
.tv-landing .tv-install-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: center; padding: 48px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.tv-landing .tv-install-panel p { color: var(--muted); }
.tv-landing .tv-install-status { padding: 28px; border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: rgba(3, 9, 17, .6); }
.tv-landing .tv-status-label { color: var(--accent); font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.tv-landing .tv-install-status p { margin-block: 14px 22px; }
@media (max-width: 900px) {
  .tv-landing .tv-service-link { padding-left: 0; border-left: 0; }
  .no-js .tv-landing .site-nav { flex-wrap: wrap; justify-content: flex-end; gap: 10px 16px; padding-block: 12px; }
  .no-js .tv-landing .site-nav > a { display: inline-flex; }
  .tv-landing .tv-hero-grid, .tv-landing .tv-story-grid, .tv-landing .tv-provider-panel, .tv-landing .tv-install-panel { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .tv-landing .tv-hero h1 { max-width: 690px; font-size: clamp(3rem, 7vw, 4.8rem); }
  .tv-landing .tv-playback-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .tv-landing .tv-hero { padding: 46px 0 54px; }
  .tv-landing .tv-hero h1 { font-size: clamp(2.6rem, 11vw, 3.8rem); }
  .tv-landing .tv-hero .hero-actions { display: grid; }
  .tv-landing .tv-section { padding: 64px 0; }
  .tv-landing .tv-library-grid { grid-template-columns: minmax(0, 1fr); }
  .tv-landing .tv-library-copy { padding: 24px; }
  .tv-landing .tv-install-panel { padding: 28px 22px; }
  .tv-landing .tv-install-status { padding: 22px 18px; }
  .tv-landing .tv-install-status .button { width: 100%; padding-inline: 12px; font-size: .8rem; }
}
