/* Apple TV presentation. Uses the shared site's light/dark theme tokens. */
.tv-hero,.tv-hero-screen,.tv-highlights,.tv-features,.tv-controls,.tv-setup,.tv-faq,.tv-cta,.tv-home {
  width:calc(100% - 56px); max-width:var(--page); margin-left:auto; margin-right:auto;
}
.tv-hero { text-align:center; padding:68px 0 40px; }
.tv-hero .eyebrow { letter-spacing:.16em; }
.tv-hero h1 { max-width:1000px; margin:0 auto 24px; font-size:clamp(2.7rem,6.4vw,5.4rem); line-height:1.12; letter-spacing:-.055em; }
.tv-hero h1 span { display:block; color:var(--accent-text); }
.tv-hero .lead { max-width:690px; margin:auto; text-wrap:pretty; }
.tv-hero .actions,.tv-cta .actions { justify-content:center; }
.tv-install-note { font-size:13px; margin-top:18px; }
.tv-shell { position:relative; min-width:0; padding:8px; border:1px solid #333642; border-radius:17px; background:#08090c; box-shadow:0 18px 50px rgba(10,14,35,.15); overflow:hidden; }
.tv-shell img { width:100%; aspect-ratio:16/9; object-fit:contain; border-radius:9px; }
.tv-shell figcaption { padding:10px 8px 3px; color:#b6bed0; font-size:12px; text-align:center; }
.tv-hero-screen { max-width:1060px; box-shadow:0 24px 72px rgba(47,43,110,.2); }
.tv-highlights { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:35px 0 45px; text-align:center; }
.tv-highlights>div { min-width:0; }
.tv-highlights strong { display:block; color:var(--text); font-size:18px; font-weight:650; }
.tv-highlights p,.tv-highlights span { color:var(--muted); font-size:14px; }
.tv-features { margin-top:20px; margin-bottom:40px; }
.tv-feature { display:grid; grid-template-columns: .85fr 1.5fr; gap:48px; align-items:center; padding:62px 0; border-top:1px solid var(--line); }
.tv-feature:nth-child(even) { grid-template-columns:1.5fr .85fr; }
.tv-feature:nth-child(even) .tv-feature-copy { order:2; }
.tv-feature-copy { min-width:0; }
.tv-feature-copy h2 { margin-bottom:22px; font-size:clamp(1.9rem,3.3vw,2.65rem); }
.tv-feature-copy p { font-size:17px; line-height:1.85; }
.tv-feature-copy ul { color:var(--muted); font-size:15px; margin-bottom:0; }
.tv-controls { padding:40px 0 68px; }
.tv-controls>h2,.tv-controls>header { margin-bottom:35px; }
.tv-controls-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.tv-control { border-top:2px solid var(--accent); padding-top:23px; min-width:0; }
.tv-control h3 { font-size:22px; margin-bottom:14px; }
.tv-control p { font-size:15px; line-height:1.9; }
.tv-control-number { display:block; color:var(--accent-text); font-size:13px; margin-bottom:16px; letter-spacing:.08em; }
.tv-setup { padding:48px; background:var(--surface-alt); border-radius:24px; }
.tv-setup>header { max-width:740px; margin-bottom:32px; }
.tv-setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }
.tv-setup-grid h3 { font-size:23px; margin-bottom:17px; }
.tv-setup-grid p,.tv-setup-grid li { font-size:15px; color:var(--muted); line-height:1.85; }
.tv-setup-grid ol { padding-left:22px; margin:16px 0 0; }
.tv-setup-grid li::marker { color:var(--accent-text); font-weight:650; }
.tv-setup-note { border-top:1px solid var(--line); margin-top:24px; padding-top:20px; font-size:13px; }
.tv-faq { max-width:850px; padding:75px 0 30px; }
.tv-faq>h2 { margin-bottom:28px; }
.tv-faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.tv-faq summary { font-size:18px; font-weight:600; cursor:pointer; }
.tv-faq details p { margin-top:16px; font-size:15px; line-height:1.9; }
.tv-cta { text-align:center; padding:55px 24px; margin-top:45px; margin-bottom:75px; border-top:1px solid var(--line); }
.tv-cta>img { width:64px; height:64px; border-radius:16px; margin:0 auto 24px; }
.tv-cta h2 { max-width:800px; margin:0 auto 20px; }
.tv-cta>p:not(.eyebrow) { max-width:650px; margin:0 auto; }
.tv-support-link { display:inline-flex; align-items:center; min-height:44px; padding:0 4px; color:var(--accent-text); }
/* A visible, localized entry on each existing homepage. */
.tv-home { margin-top:75px; margin-bottom:75px; display:grid; grid-template-columns:.9fr 1.2fr; gap:45px; align-items:center; padding:40px; border:1px solid var(--line); background:var(--accent-soft); border-radius:24px; }
.tv-home-copy { min-width:0; }
.tv-home h2 { font-size:clamp(1.8rem,3.2vw,2.6rem); margin-bottom:17px; }
.tv-home-copy>p:not(.eyebrow) { font-size:16px; line-height:1.85; }
.tv-home .text-link { margin-top:17px; }
.tv-home .tv-shell { box-shadow:0 15px 30px rgba(12,15,35,.15); }
@media (max-width:900px) {
  .tv-hero { padding-top:48px; }
  .tv-feature,.tv-feature:nth-child(even) { grid-template-columns:1fr; gap:28px; padding:42px 0; }
  .tv-feature:nth-child(even) .tv-feature-copy { order:0; }
  .tv-feature-copy { max-width:700px; }
  .tv-feature-copy h2 { max-width:650px; }
  .tv-controls-grid { gap:24px; }
  .tv-control h3 { font-size:20px; }
  .tv-setup { padding:32px; }
  .tv-setup-grid { gap:30px; }
  .tv-home { gap:28px; padding:28px; }
}
@media (max-width:640px) {
  .tv-hero,.tv-hero-screen,.tv-highlights,.tv-features,.tv-controls,.tv-setup,.tv-faq,.tv-cta,.tv-home { width:calc(100% - 40px); }
  .tv-hero { padding:38px 0 28px; }
  .tv-hero h1 { font-size:clamp(2.25rem,9.8vw,3.8rem); line-height:1.2; margin-bottom:20px; }
  .tv-hero .lead { font-size:16px; line-height:1.9; }
  .tv-hero .actions { gap:10px; }
  .tv-hero .button { padding:11px 15px; font-size:14px; }
  .tv-install-note { font-size:12px; }
  .tv-shell { padding:4px; border-radius:10px; }
  .tv-shell img { border-radius:6px; }
  .tv-shell figcaption { padding:8px 6px 4px; font-size:11px; }
  .tv-highlights { gap:16px 10px; padding:24px 0; }
  .tv-highlights strong { font-size:14px; line-height:1.55; }
  .tv-highlights p,.tv-highlights span { font-size:11px; line-height:1.6; }
  .tv-feature { padding:32px 0!important; gap:22px; }
  .tv-feature-copy h2 { font-size:29px; margin-bottom:17px; }
  .tv-feature-copy p { font-size:16px; }
  .tv-feature-copy ul { font-size:14px; }
  .tv-features { margin-bottom:10px; }
  .tv-controls { padding:24px 0 42px; }
  .tv-controls-grid { grid-template-columns:1fr; gap:27px; }
  .tv-control { padding-top:17px; }
  .tv-control-number { margin-bottom:9px; }
  .tv-control h3 { font-size:23px; }
  .tv-setup { padding:27px 23px; border-radius:18px; }
  .tv-setup h2 { font-size:28px; }
  .tv-setup-grid { grid-template-columns:1fr; gap:30px; }
  .tv-setup-grid h3 { font-size:22px; }
  .tv-faq { padding:48px 0 20px; }
  .tv-faq>h2 { font-size:29px; }
  .tv-faq summary { font-size:16px; }
  .tv-cta { padding:36px 0; margin:25px auto 35px; }
  .tv-cta h2 { font-size:29px; }
  .tv-home { grid-template-columns:1fr; gap:25px; padding:26px 22px; margin-top:58px; margin-bottom:58px; }
  .tv-home h2 { font-size:29px; }
}
