/* GGTV public website. Kept separate from the shared network shell and app UI. */
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
html body.ggtv-product { --bg-0:#080c16; --cyan:#00f0ff; --amber:#f5b738; --line:#26303d; --text:#f4f5f0; --muted:#a2abba; background:#080c16; color:var(--text); font:16px/1.65 "Segoe UI",system-ui,sans-serif; }
html body.ggtv-product :is(h1,h2,h3,p,a) { text-shadow:none; }
html body.ggtv-product :is(h1,h2,h3) { font-family:"Segoe UI",system-ui,sans-serif; letter-spacing:-.045em; }
html body.ggtv-product :is(a,button,summary,input,select,textarea):focus-visible { outline:2px solid #00f0ff; outline-offset:5px; }
html body.ggtv-product header.site { width:calc(100% - 96px); max-width:1280px; margin:0 auto; padding:23px 0; gap:22px; border:0; border-bottom:1px solid #26303d; background:none; box-shadow:none; }
html body.ggtv-product .brand-lockup { display:flex; align-items:center; gap:11px; }
html body.ggtv-product .brand-emblem { width:39px; height:39px; border:0; box-shadow:none; }
html body.ggtv-product .brand { font:750 17px/1.2 "Segoe UI",system-ui,sans-serif; letter-spacing:.025em; color:#f4f5f0; }
html body.ggtv-product .tagline { margin-top:5px; font:11px/1.4 "Segoe UI",system-ui,sans-serif; color:#8e99a9; letter-spacing:.02em; }
html body.ggtv-product nav.site ul { gap:2px; align-items:center; }
html body.ggtv-product nav.site a { border:0; border-radius:0; padding:9px; background:none; box-shadow:none; color:#aeb8c6; font:550 12px/1.5 "Segoe UI",system-ui,sans-serif; white-space:nowrap; }
html body.ggtv-product nav.site a:hover,html body.ggtv-product nav.site [aria-current] { color:#f5b738; background:none; box-shadow:inset 0 -1px #f5b738; }
html body.ggtv-product .site-menu-toggle { display:none; }
html body.ggtv-product main.page { width:calc(100% - 96px); max-width:1280px; padding:48px 0 80px; gap:24px; }
html body.ggtv-product main.page:has(.tv-home) { display:block; padding-top:0; }
html body.ggtv-product section.card { background:#101721; border:1px solid #26303d; border-radius:10px; padding:30px; box-shadow:none; }
html body.ggtv-product section.card h2 { font-size:28px; line-height:1.2; }
html body.ggtv-product p { color:#aeb8c6; }
html body.ggtv-product .cta { background:#00f0ff; border:1px solid #00f0ff; border-radius:5px; color:#080c16; box-shadow:none; font:700 14px/1.4 "Segoe UI",system-ui,sans-serif; text-shadow:none; }
html body.ggtv-product .cta.secondary { background:transparent; border-color:#465464; color:#f4f5f0; }
html body.ggtv-product .cta:hover { background:#c0fbff; }
html body.ggtv-product .cta.secondary:hover { background:#1b2734; }
html body.ggtv-product .status-pill { color:#f5b738; background:#282317; border-color:#5e4d25; }
html body.ggtv-product footer.site { width:calc(100% - 96px); max-width:1280px; padding:32px 0; border-color:#26303d; }
html body.ggtv-product footer.site p { color:#8e99a9; }
html body.ggtv-product footer.site a { color:#b7c2d2; }
.tv-home section { scroll-margin-top:32px; }
.tv-home em { font-style:normal; color:#f5b738; }
.tv-home img { display:block; max-width:100%; }
.tv-home .broadcast-kicker { margin:0 0 22px; color:#a2abba; font:650 10px/1.6 "Consolas",monospace; letter-spacing:.16em; }
.broadcast-hero { position:relative; display:grid; grid-template-columns:.95fr 1.2fr; align-items:center; gap:64px 40px; padding:86px 0 0; }
.broadcast-hero::before { position:absolute; content:""; width:66%; height:540px; top:0; right:-40px; background:radial-gradient(ellipse,#12333c60,transparent 65%); pointer-events:none; z-index:-1; }
.tv-home .broadcast-hero h1 { margin:0 0 26px; font-size:clamp(42px,4.3vw,66px); font-weight:650; line-height:1.06; color:#f4f5f0; letter-spacing:-.055em; }
.broadcast-light { display:inline-block; width:7px; height:7px; margin-right:9px; border-radius:50%; background:#00f0ff; box-shadow:0 0 12px #00f0ff50; }
.tv-home .broadcast-lead { max-width:435px; margin:0; color:#b2bdcc; font-size:17px; line-height:1.8; }
.broadcast-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:30px; }
.tv-home .broadcast-button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-height:49px; padding:13px 21px; border:1px solid #f5b738; border-radius:4px; background:#f5b738; color:#080c16; text-decoration:none; font-size:14px; font-weight:750; transition:background .18s,transform .18s; }
.tv-home .broadcast-button:hover { background:#ffcb64; transform:translateY(-2px); }
.broadcast-button span { font-size:21px; font-weight:400; line-height:1; }
.tv-home .broadcast-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; padding:5px 0; color:#e2e6e9; font-size:13px; font-weight:600; text-decoration:none; border:0; border-bottom:1px solid #46505a; border-radius:0; background:none; box-shadow:none; }
.tv-home .broadcast-text-link:hover { color:#00f0ff; border-color:#00f0ff; }
.tv-home .broadcast-build-note { margin:24px 0 0; font-size:11px; color:#8390a1; }
.broadcast-build-note span { padding:0 9px; color:#5f6b79; }
.broadcast-set { position:relative; min-width:0; margin:0; padding:14px; border:1px solid #46505a; border-bottom:3px solid #171e28; border-radius:15px; background:linear-gradient(155deg,#303943,#171e27 65%); box-shadow:0 26px 60px #0006,inset 0 1px #6d788266; transform:rotate(-1.5deg); }
.broadcast-set-top,.broadcast-set-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.broadcast-set-top { padding:1px 5px 12px; color:#b5bfc8; font:9px/1.4 "Consolas",monospace; letter-spacing:.1em; }
.broadcast-live { color:#00f0ff; font-size:8px; }
.broadcast-screen { position:relative; overflow:hidden; background:#020506; border:5px solid #080c12; border-radius:8px; box-shadow:0 0 0 1px #57616b44; }
.broadcast-screen::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(transparent 0px,transparent 3px,#0002 4px); pointer-events:none; opacity:.45; }
.broadcast-screen img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.broadcast-set-bottom { padding:14px 5px 2px; }
.broadcast-set-wordmark { color:#c9ced2; font:750 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.03em; }
.broadcast-set-wordmark b { margin-left:3px; padding:2px 4px; color:#181f26; background:#b4bfc2; border-radius:2px; font-size:9px; }
.broadcast-set-detail { margin-left:auto; color:#85919b; font:8px/1.4 "Consolas",monospace; letter-spacing:.08em; }
.broadcast-power { width:6px; height:6px; margin:0 5px 0 8px; border-radius:50%; background:#f5b738; box-shadow:0 0 8px #f5b73855; }
.broadcast-set figcaption { position:absolute; right:10px; bottom:-29px; color:#7f8a99; font:9px/1.5 "Consolas",monospace; letter-spacing:.03em; }
.broadcast-source-line { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:16px 30px; margin-top:2px; padding:24px 0; border-top:1px solid #26303d; border-bottom:1px solid #26303d; color:#bcc6cf; font-size:13px; }
.broadcast-source-line>span:first-child { margin-right:auto; color:#8493a4; font:10px/1.5 "Consolas",monospace; letter-spacing:.12em; }
.broadcast-source-line a { margin-left:auto; color:#8c9cad; text-decoration:none; font-size:11px; }
.broadcast-source-line a:hover { color:#00f0ff; }
.broadcast-lineup { padding:58px 0 36px; }
.broadcast-section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:30px; }
.tv-home .broadcast-section-heading .broadcast-kicker { margin-bottom:12px; }
.tv-home h2 { margin:0 0 22px; color:#f4f5f0; font-size:clamp(32px,3.2vw,46px); font-weight:600; line-height:1.1; letter-spacing:-.045em; }
.broadcast-section-heading h2 { margin-bottom:0; }
.tv-home .broadcast-section-heading>p { max-width:330px; margin:0; color:#8d9aab; font-size:13px; line-height:1.8; }
.broadcast-stations { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; padding:24px 0 18px; border-top:1px solid #26303d; }
.broadcast-stations figure { min-width:0; margin:0; }
.broadcast-stations img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:5px; opacity:.95; }
.broadcast-stations figcaption { margin-top:12px; text-align:center; color:#8c99a9; font:9px/1.5 "Consolas",monospace; letter-spacing:.06em; }
.tv-home .broadcast-caption { margin:14px 0 0; color:#8491a2; font-size:11px; line-height:1.7; }
.broadcast-section { padding:70px 0; border-top:1px solid #26303d; }
.broadcast-guide { display:grid; grid-template-columns:.85fr 1.2fr; align-items:center; gap:70px; }
.tv-home .broadcast-section-copy>p:not(.broadcast-kicker,.broadcast-caption) { margin:0 0 25px; max-width:500px; color:#9caabd; font-size:15px; line-height:1.9; }
.broadcast-feature-list { margin:28px 0 20px; }
.broadcast-feature-list>div { padding:15px 0 15px 18px; border-left:1px solid #414957; }
.broadcast-feature-list>div:first-child { border-color:#00f0ff; }
.broadcast-feature-list dt { color:#e2e6e9; font-size:14px; font-weight:650; }
.broadcast-feature-list dd { margin:5px 0 0; color:#8d9caf; font-size:12px; line-height:1.8; }
.broadcast-guide-picture { min-width:0; margin:0; }
.broadcast-picture-label { display:flex; justify-content:space-between; gap:10px; padding:0 0 13px; color:#8e9aa9; font:9px/1.4 "Consolas",monospace; letter-spacing:.08em; }
.broadcast-guide-picture a { display:block; overflow:hidden; border:1px solid #354252; border-radius:7px; box-shadow:0 16px 30px #0003; }
.broadcast-guide-picture img { width:100%; height:auto; }
.broadcast-guide-picture figcaption { padding-top:13px; color:#8390a2; font:10px/1.5 "Consolas",monospace; }
.broadcast-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; margin:44px 0 0; padding:0; }
.broadcast-steps li { padding:0 30px 0 0; border-right:1px solid #26303d; }
.broadcast-steps li:last-child { padding-right:0; border-right:0; }
.broadcast-step-number { display:block; margin-bottom:26px; color:#f5b738; font:400 25px/1 "Consolas",monospace; }
.tv-home .broadcast-steps h3 { margin:0 0 12px; color:#edf0f0; font-size:20px; font-weight:600; letter-spacing:-.03em; }
.tv-home .broadcast-steps p { margin:0; max-width:300px; color:#94a2b5; font-size:13px; line-height:1.9; }
.broadcast-devices { display:grid; grid-template-columns:1.2fr .85fr; align-items:center; gap:85px; }
.broadcast-device-pictures { position:relative; min-width:0; padding-right:55px; padding-bottom:75px; }
.broadcast-desktop { margin:0; }
.broadcast-desktop>img { width:100%; height:auto; border:6px solid #242e39; border-radius:9px; box-shadow:0 18px 35px #0005; }
.broadcast-phone { position:absolute; width:25%; max-width:145px; right:0; bottom:25px; margin:0; padding:4px; border:2px solid #5a6470; border-radius:17px; background:#0b0f13; box-shadow:0 12px 30px #0007; overflow:hidden; }
.broadcast-phone img { width:100%; height:auto; border-radius:11px; }
.broadcast-device-pictures>.broadcast-caption { max-width:70%; }
.broadcast-device-list { margin:28px 0 10px; padding:0; list-style:none; }
.broadcast-device-list li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #26303d; }
.broadcast-device-list li>span:first-child { color:#d9e0e7; font-size:12px; font-weight:650; }
.broadcast-device-list li>span:last-child { color:#91a0b3; font-size:11px; text-align:right; }
.broadcast-device-list .broadcast-experimental { color:#c6a562!important; }
.broadcast-radio { position:relative; display:grid; grid-template-columns:210px minmax(0,1fr) 100px; align-items:center; gap:40px; overflow:hidden; padding:38px 50px 38px 20px; border:1px solid #57482d; border-radius:8px; background:linear-gradient(110deg,#211e18,#131a22 75%); }
.broadcast-radio>img { width:210px; height:210px; object-fit:contain; }
.tv-home .broadcast-radio h2 { margin-bottom:16px; font-size:40px; }
.tv-home .broadcast-radio .broadcast-kicker { color:#bfa269; margin-bottom:14px; }
.tv-home .broadcast-radio p:not(.broadcast-kicker) { margin-bottom:16px; max-width:490px; color:#aaa99f; font-size:14px; }
.broadcast-radio-stamp { color:#655437; font:450 42px/1 "Consolas",monospace; text-align:right; }
.broadcast-radio-stamp span { display:inline-block; color:#b39558; font-size:60px; }
.broadcast-questions { display:grid; grid-template-columns:1fr 1.3fr; align-items:start; gap:70px; margin-top:70px; }
.broadcast-faq details { border-bottom:1px solid #303a45; }
.broadcast-faq details:first-child { border-top:1px solid #303a45; }
.broadcast-faq summary { position:relative; display:block; cursor:pointer; padding:22px 28px 22px 0; list-style:none; color:#d8dfe8; font-size:14px; font-weight:550; }
.broadcast-faq summary::-webkit-details-marker { display:none; }
.broadcast-faq summary::after { content:"+"; position:absolute; right:0; top:16px; color:#f5b738; font:25px "Consolas",monospace; }
.broadcast-faq details[open] summary::after { content:"−"; }
.tv-home .broadcast-faq p { margin:0 24px 22px 0; color:#95a4b7; font-size:13px; line-height:1.9; }
.broadcast-final { padding:58px 0 65px; border-top:1px solid #26303d; text-align:center; }
.tv-home .broadcast-final h2 { margin:0 0 30px; font-size:clamp(36px,4vw,54px); }
.broadcast-final>.broadcast-text-link { margin-left:24px; }
@media(min-width:1101px) {
  html body.ggtv-product { --gg-bottom-bar-height:76px; }
  html body.ggtv-product :is(#radio-dock,#gg-global-radio-bar) { height:76px!important; min-height:76px!important; }
}
@media(max-width:1200px) {
  html body.ggtv-product header.site { gap:16px; }
  html body.ggtv-product nav.site { width:100%; }
  html body.ggtv-product nav.site ul { justify-content:space-between; }
  .broadcast-hero { gap:55px 30px; padding-top:65px; }
  .broadcast-guide,.broadcast-devices { gap:40px; }
  .broadcast-set-detail { display:none; }
}
@media(max-width:900px) {
  .broadcast-hero::before { right:0; width:100%; }
  html body.ggtv-product header.site,html body.ggtv-product main.page,html body.ggtv-product footer.site { width:calc(100% - 48px); }
  html body.ggtv-product header.site { justify-content:space-between; }
  html body.ggtv-product.navigation-ready .site-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 12px; border:1px solid #3d4a58; border-radius:4px; background:transparent; color:#dbe2ec; font:600 11px/1.4 "Segoe UI",sans-serif; box-shadow:none; cursor:pointer; }
  html body.ggtv-product .site-menu-toggle span::after { content:"+"; font-size:17px; color:#f5b738; }
  html body.ggtv-product.site-menu-open .site-menu-toggle span::after { content:"−"; }
  html body.ggtv-product.navigation-ready:not(.site-menu-open) nav.site { display:none; }
  html body.ggtv-product.site-menu-open nav.site ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; overflow:visible; padding:12px 0 0; }
  html body.ggtv-product.site-menu-open nav.site a { min-height:44px; padding:12px 8px; white-space:normal; }
  .broadcast-hero { grid-template-columns:1fr; padding-top:50px; gap:44px; }
  .broadcast-intro { max-width:610px; }
  .tv-home .broadcast-hero h1 { font-size:60px; }
  .tv-home .broadcast-lead { max-width:510px; }
  .broadcast-set { width:90%; max-width:650px; justify-self:center; transform:rotate(-1deg); }
  .broadcast-source-line { margin-top:10px; gap:14px 22px; }
  .broadcast-source-line>span:first-child { width:100%; }
  .broadcast-lineup { padding-top:46px; }
  .broadcast-section-heading { align-items:start; gap:24px; }
  .broadcast-stations { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .broadcast-guide { grid-template-columns:1fr; gap:35px; }
  .broadcast-section-copy { max-width:660px; }
  .broadcast-feature-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .broadcast-feature-list>div { padding-left:12px; }
  .broadcast-steps { gap:24px; }
  .broadcast-steps li { padding-right:16px; }
  .broadcast-devices { grid-template-columns:1fr; }
  .broadcast-device-pictures { max-width:660px; }
  .broadcast-radio { grid-template-columns:150px 1fr; gap:25px; padding:30px; }
  .broadcast-radio>img { width:150px; height:150px; }
  .broadcast-radio-stamp { display:none; }
  .broadcast-questions { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:600px) {
  html body.ggtv-product header.site,html body.ggtv-product main.page,html body.ggtv-product footer.site { width:calc(100% - 36px); }
  html body.ggtv-product header.site { padding:18px 0 12px; gap:15px; }
  html body.ggtv-product header.site .brand { font-size:15px; }
  html body.ggtv-product header.site .tagline { font-size:9px; }
  html body.ggtv-product header.site .brand-emblem { width:32px; height:32px; }
  html body.ggtv-product header.site .brand-lockup { gap:9px; }
  html body.ggtv-product nav.site ul { justify-content:start; gap:7px; overflow-x:auto; padding-bottom:7px; scrollbar-width:thin; }
  html body.ggtv-product nav.site a { padding:8px 7px; font-size:12px; }
  html body.ggtv-product section.card { padding:22px; }
  .broadcast-hero { padding-top:37px; gap:33px; }
  .tv-home .broadcast-kicker { margin-bottom:18px; font-size:9px; letter-spacing:.12em; }
  .tv-home .broadcast-hero h1 { margin-bottom:21px; font-size:clamp(36px,9.7vw,54px); }
  .tv-home .broadcast-lead { font-size:15px; line-height:1.85; }
  .broadcast-actions { margin-top:24px; gap:23px; }
  .broadcast-set { width:97%; padding:9px; border-radius:10px; }
  .broadcast-set-top { padding-bottom:9px; font-size:7px; }
  .broadcast-set-wordmark { font-size:8px; }
  .broadcast-set-bottom { padding-top:10px; }
  .broadcast-set figcaption { bottom:-25px; font-size:8px; }
  .broadcast-source-line { margin-top:17px; padding:20px 0; gap:12px 20px; font-size:11px; }
  .broadcast-source-line a { width:100%; margin:0; }
  .broadcast-lineup { padding:37px 0 30px; }
  .broadcast-section-heading { display:block; margin-bottom:23px; }
  .tv-home .broadcast-section-heading>p { margin-top:18px; max-width:100%; }
  .tv-home h2 { font-size:34px; }
  .broadcast-stations { gap:20px 13px; }
  .broadcast-stations figcaption { font-size:7px; letter-spacing:0; }
  .broadcast-section { padding:42px 0; }
  .broadcast-feature-list { display:block; }
  .broadcast-feature-list>div { padding:13px 0 13px 16px; }
  .broadcast-guide-picture figcaption { font-size:8px; }
  .broadcast-steps { grid-template-columns:1fr; gap:27px; margin-top:30px; }
  .broadcast-steps li { position:relative; padding:0 0 26px 50px; border:0; border-bottom:1px solid #26303d; }
  .broadcast-steps li:last-child { border:0; padding-bottom:0; }
  .broadcast-step-number { position:absolute; left:0; top:3px; font-size:21px; }
  .broadcast-steps p { max-width:none; }
  .broadcast-devices { gap:30px; }
  .broadcast-device-pictures { padding-right:35px; padding-bottom:50px; }
  .broadcast-phone { bottom:20px; border-radius:12px; }
  .broadcast-phone img { border-radius:8px; }
  .broadcast-device-pictures .broadcast-caption { font-size:9px; }
  .broadcast-device-list li>span:first-child { font-size:11px; }
  .broadcast-device-list li>span:last-child { font-size:10px; }
  .broadcast-radio { grid-template-columns:1fr; padding:26px; gap:18px; }
  .broadcast-radio>img { width:135px; height:135px; }
  .tv-home .broadcast-radio h2 { font-size:32px; }
  .broadcast-questions { margin-top:42px; }
  .broadcast-final { padding:38px 0 50px; }
  .tv-home .broadcast-final h2 { font-size:33px; }
  .broadcast-final>.broadcast-text-link { display:table; margin:20px auto 0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .tv-home .broadcast-button { transition:none; }
  .tv-home .broadcast-button:hover { transform:none; }
}
