/* Android TV device page: compact, product-first companion to the digital-signage pillar. */
.android-tv-page { --soft:#bed0e8; --ink:#122d54; --gutter:max(24px,7vw,calc((100vw - 1420px)/2)); background:#07142c; }
.android-tv-page main>section { padding:76px var(--gutter); scroll-margin-top:90px; }
.android-tv-page main img { display:block; max-width:100%; height:auto; }
.android-tv-page main figure { margin:0; }
.android-tv-page h1,.android-tv-page h2,.android-tv-page h3 { text-wrap:balance; }
.android-tv-page h1 { max-width:660px; margin:14px 0 24px; font-size:clamp(46px,4.7vw,72px); line-height:1.02; letter-spacing:-.06em; }
.android-tv-page h2 { margin:12px 0 20px; font-size:clamp(34px,3.5vw,56px); line-height:1.08; letter-spacing:-.05em; }
.android-tv-page h3 { margin:0 0 10px; font-size:22px; line-height:1.22; letter-spacing:-.025em; }
.android-tv-page p { color:var(--soft); font-size:17px; line-height:1.65; }
.android-tv-page .eyebrow { margin:0; color:#a9a9ff; font-size:11px; line-height:1.6; letter-spacing:.18em; text-transform:uppercase; font-weight:750; }
.android-tv-page .section-heading { max-width:720px; }
.android-tv-page .text-link { display:inline-block; color:#76dbf3; font-weight:700; text-underline-offset:5px; }
.android-tv-page a:focus-visible,.android-tv-page summary:focus-visible { outline:3px solid #65d8ed; outline-offset:5px; }
.android-tv-page .nav { position:fixed; }
.android-tv-page .nav.scrolled { background:#07142bf2; border-color:#8bb5de30; }
.android-tv-page .button { font-size:15px; padding:13px 21px; }
.android-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:20px; min-height:640px; padding-top:138px!important; padding-bottom:76px!important; overflow:hidden; background:radial-gradient(ellipse at 82% 49%,#1745856a,transparent 52%),radial-gradient(ellipse at 17% 100%,#522daa38,transparent 55%),#040918; }
.hero-copy .lead { max-width:520px; font-size:18px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin:28px 0 0; }
.android-tv-page .hero-actions .quiet { margin:0; color:#e1edff; font-size:15px; font-weight:650; text-underline-offset:6px; }
.hero-device { position:relative; min-height:390px; isolation:isolate; }
.hero-device::before { content:""; position:absolute; z-index:-1; inset:5% -10%; background:radial-gradient(ellipse,#347ace55,transparent 67%); }
.hero-device img { position:absolute; }
.hero-device .hero-tv { width:96%; right:-2%; top:5%; z-index:1; filter:drop-shadow(0 24px 32px #01071580); }
.hero-device .signal { width:96%; left:0; bottom:9%; z-index:2; opacity:.72; }
.requirements { color:var(--ink); background:linear-gradient(135deg,#f5f8fc,#e9f0fb); }
.requirements .eyebrow,.control-section .eyebrow,.android-faq .eyebrow { color:#535bc0; }
.requirements p,.control-section p,.android-faq p { color:#586d89; }
.android-tv-page .control-section .text-link { color:#315eaa; }
.requirement-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; margin:30px 0 0; list-style:none; }
.requirement-grid li { position:relative; min-width:0; padding:22px 24px 8px; border-top:1px solid #bdcbe0; }
.requirement-grid li+li { border-left:1px solid #d6e0ed; }
.requirement-grid h3 { font-size:20px; }
.requirement-grid b { display:grid; place-items:center; width:34px; height:34px; margin-bottom:18px; border:1px solid #bac7e5; border-radius:10px; background:#f7faff; color:#535bc0; font-size:12px; letter-spacing:.06em; }
.requirement-grid p { margin:0; font-size:15px; line-height:1.55; }
.connection { background:radial-gradient(ellipse at 50% 60%,#1e3c6928,transparent 60%),#07142c; }
.connection-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:34px; }
.connection-flow article { position:relative; min-width:0; padding:0 18px; }
.connection-flow article:not(:last-child)::after { content:""; position:absolute; left:54px; right:-50px; top:18px; height:1px; background:linear-gradient(90deg,#6d9fe375,#5fcee350); }
.connection-flow b { position:relative; z-index:1; display:grid; place-items:center; width:38px; height:38px; margin:0; border:1px solid #6d9fe370; border-radius:50%; background:#10213f; color:#a0e1f1; font-size:12px; letter-spacing:.05em; }
.setup-visual { height:180px; margin:16px 0 20px; display:grid; place-items:center; }
.android-tv-page .setup-visual img { width:100%; max-width:290px; margin:0; }
.setup-brand { position:relative; isolation:isolate; }
.setup-brand::before { content:""; position:absolute; z-index:-1; inset:10%; background:radial-gradient(ellipse,#4254b038,transparent 70%); }
.android-tv-page .setup-brand img { max-width:130px; filter:brightness(0) invert(1); opacity:.94; }
.pairing-proof .setup-visual img { width:auto; max-width:100%; max-height:174px; border:1px solid #b5cbe655; border-radius:9px; box-shadow:0 12px 26px #01071545; }
.tv-destination .content-tv { width:100%; max-width:290px; filter:drop-shadow(0 16px 20px #01071560); }
/* The overlay follows the existing TV's inner bezel; only approved media is cropped. */
.content-tv { position:relative; aspect-ratio:16 / 9; }
.android-tv-page .content-tv .tv-frame { width:100%; max-width:none; max-height:none; height:auto; }
.tv-screen { position:absolute; inset:0; overflow:hidden; clip-path:polygon(12.25% 19.22%,87.69% 4.11%,88.06% 83.22%,11.69% 79.78%); }
.android-tv-page .content-tv .tv-screen img { position:absolute; max-width:none; max-height:none; margin:0; height:auto; filter:none; }
.android-tv-page .content-tv .tv-screen--photo img { width:123%; left:-11%; top:-90%; }
.android-tv-page .content-tv .tv-screen--poster img { width:110%; left:-4%; top:-100%; }
.android-tv-page .content-tv .tv-screen--video img { width:125%; left:-12%; top:-15%; }
.android-tv-page .content-tv .tv-screen--scene img { width:100%; height:100%; left:0; top:0; object-fit:cover; }
.connection-flow h3 { font-size:21px; }
.connection-flow p { margin:0 0 16px; font-size:16px; }
.connection-flow .text-link { font-size:14px; }
.control-section { display:grid; grid-template-columns:.86fr 1.14fr; align-items:center; gap:74px; color:var(--ink); background:#f3f6fb; }
.control-copy { max-width:530px; }
.content-visual { position:relative; min-height:410px; overflow:hidden; border:1px solid #d7e3f2; border-radius:22px; background:radial-gradient(ellipse at 46% 70%,#b8ccf8,transparent 63%),linear-gradient(145deg,#fff,#dde8ff); }
.content-visual img { position:absolute; filter:drop-shadow(0 15px 17px #1937742b); }
.content-visual .media-photo { width:28%; left:13%; top:13%; transform:rotate(-8deg); }
.content-visual .media-poster { width:29%; right:13%; top:11%; transform:rotate(8deg); }
.content-visual .media-video { width:59%; left:20%; bottom:14%; }
.capability-tags { position:absolute; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; left:8%; right:8%; bottom:4%; }
.capability-tags span { padding:6px 10px; border:1px solid #d0dff5; border-radius:999px; background:#ffffffcf; color:#315079; font-size:12px; font-weight:700; }
.screen-scale { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:72px; background:#07142c; }
.android-tv-page .scale-visual figure { overflow:hidden; width:94%; margin:auto; border:1px solid #91b5e65c; border-radius:13px; background:#f5f8fd; box-shadow:0 24px 52px #01081650; }
.scale-visual figcaption { padding:11px 16px; background:#122747; color:#d1e5f8; font-size:12px; }
.scale-visual figure img { width:100%; }
.tv-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; position:relative; margin-top:36px; }
.tv-row::before { content:""; position:absolute; top:-20px; left:17%; right:17%; height:18px; border-top:1px solid #62b9db70; border-inline:1px solid #62b9db70; border-radius:12px 12px 0 0; }
.tv-row::after { content:""; position:absolute; top:-36px; left:50%; height:34px; width:1px; background:linear-gradient(#917af2,#61d7e970); }
.tv-row img { width:100%; }
.tv-row .content-tv:nth-child(2) { transform:translateY(10px) scale(1.07); }
.trust-section { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:68px; background:radial-gradient(ellipse at 22% 46%,#234ead45,transparent 55%),radial-gradient(ellipse at 42% 100%,#593cab20,transparent 52%),#07142c; }
.trust-section::before { content:""; position:absolute; top:0; left:var(--gutter); right:var(--gutter); height:1px; background:linear-gradient(90deg,transparent,#82acdf30,transparent); }
.trust-section>div:last-child { max-width:530px; }
.trust-tv { position:relative; isolation:isolate; }
.trust-tv>.content-tv { width:100%; filter:drop-shadow(0 26px 30px #01071570); }
.trust-tv .signal { position:absolute; z-index:-1; width:113%; max-width:none; left:-7%; bottom:-9%; opacity:.56; }
.offline-note { display:flex; gap:12px; border-left:2px solid #5fb9d685; margin-top:22px; padding:4px 0 4px 16px; font-size:15px!important; color:#c4dfed!important; }
.offline-note span { color:#6fe0ec; }
.android-faq { display:grid; grid-template-columns:.78fr 1.22fr; gap:64px; align-items:start; color:var(--ink); background:#fff; }
.android-faq h2 { max-width:400px; font-size:clamp(34px,3vw,46px); }
.android-faq .section-heading>p:last-child { max-width:330px; font-size:16px; }
.android-faq .faq-list { min-width:0; border-top:1px solid #d9e5f1; }
.android-faq .faq-list details { max-width:none; border-bottom:1px solid #d9e5f1; }
.android-faq .faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 4px; color:#183255; font-size:17px; font-weight:730; line-height:1.35; cursor:pointer; list-style:none; }
.android-faq summary::-webkit-details-marker { display:none; }
.android-faq summary i { position:relative; display:block; flex:0 0 21px; width:21px; height:21px; border:1px solid #a7c6e3; border-radius:50%; }
.android-faq summary i::before,.android-faq summary i::after { content:""; position:absolute; left:50%; top:50%; width:8px; height:1.5px; border-radius:99px; background:#3975b9; transform:translate(-50%,-50%); }
.android-faq summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.android-faq details[open] { background:linear-gradient(90deg,#eaf7ff85,transparent 72%); box-shadow:inset 3px 0 #4bd7ef; }
.android-faq details[open] summary { padding-left:17px; color:#173c70; }
.android-faq details[open] summary i { transform:rotate(45deg); }
.android-faq .faq-answer { padding:0 38px 20px 21px; }
.android-faq .faq-answer p { margin:0; font-size:15px; }
.android-final { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; min-height:470px; overflow:hidden; background:radial-gradient(ellipse at 75% 50%,#234e9b55,transparent 55%),radial-gradient(ellipse at 20% 90%,#5b32a54b,transparent 52%),#050a18; }
.android-final>div:first-child { max-width:580px; }
.android-final h2 { font-size:clamp(34px,3.2vw,48px); }
.android-final .button { margin-top:12px; }
.final-tv { position:relative; min-height:330px; isolation:isolate; }
.final-tv>.content-tv { position:absolute; width:96%; right:0; bottom:0; filter:drop-shadow(0 19px 25px #01051170); }
.final-tv .signal { position:absolute; z-index:-1; width:110%; left:-6%; bottom:5%; opacity:.55; }
.android-tv-page footer .footer-links { display:flex; flex-wrap:wrap; gap:20px; }
@media (max-width:1050px) {
    .android-tv-page { --gutter:40px; }
    .android-hero { min-height:600px; }
    .connection-flow { gap:22px; }
    .connection-flow article { padding-inline:10px; }
    .connection-flow article:not(:last-child)::after { right:-32px; left:48px; }
    .setup-visual { height:155px; }
    .pairing-proof .setup-visual img { max-height:145px; }
    .control-section,.screen-scale,.trust-section { gap:42px; }
    .android-faq { gap:45px; }
    .requirement-grid li { padding:20px 18px 8px; }
}
@media (max-width:850px) {
    .android-tv-page { --gutter:28px; }
    .android-tv-page .nav nav { display:none; }
    .android-tv-page .nav { justify-content:space-between; }
    .android-tv-page main>section { padding-block:60px; }
    .android-hero { grid-template-columns:1fr; min-height:0; padding-top:116px!important; padding-bottom:60px!important; gap:15px; }
    .hero-device { max-width:650px; width:100%; min-height:0; aspect-ratio:1.85; margin:auto; }
    .hero-device .hero-tv { width:78%; right:0; top:0; }
    .hero-device .signal { bottom:0; }
    .requirement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:18px; }
    .requirement-grid li:nth-child(3) { border-left:0; }
    .connection-flow { grid-template-columns:1fr; gap:26px; max-width:none; }
    .connection-flow article { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; padding:0 0 0 58px; }
    .connection-flow b { position:absolute; left:0; top:0; }
    .connection-flow article:not(:last-child)::after { left:18px; right:auto; top:38px; bottom:-26px; height:auto; width:1px; background:linear-gradient(#6d9fe375,#5fcee350); }
    .connection-flow h3,.connection-flow p,.connection-flow a { grid-column:1; }
    .setup-visual { grid-column:2; grid-row:1 / 4; height:165px; margin:0; align-self:center; }
    .connection-flow h3 { padding-top:5px; }
    .control-section,.screen-scale,.trust-section,.android-final { grid-template-columns:1fr; }
    .content-visual,.scale-visual,.trust-tv,.final-tv { max-width:650px; width:100%; margin:auto; }
    .screen-scale { gap:30px; }
    .android-faq { grid-template-columns:1fr; gap:25px; }
    .android-faq h2 { max-width:560px; }
    .final-tv { min-height:0; aspect-ratio:1.9; }
}
@media (max-width:560px) {
    .android-tv-page { --gutter:22px; }
    .android-tv-page main>section { padding-block:50px; }
    .android-tv-page h1 { font-size:clamp(38px,10vw,48px); }
    .android-tv-page h2 { font-size:34px; }
    .android-tv-page p { font-size:16px; }
    .android-tv-page .nav { gap:12px; padding-inline:10px; }
    .android-tv-page .nav .brand img { width:110px; }
    .android-tv-page .nav .button { white-space:nowrap; padding:10px 12px; font-size:12px; }
    .android-hero { padding-top:108px!important; padding-bottom:44px!important; }
    .hero-device { aspect-ratio:1.35; }
    .hero-device .hero-tv { width:96%; right:-1%; top:3%; }
    .hero-device .signal { width:100%; left:0; bottom:0; }
    .requirement-grid { grid-template-columns:1fr; gap:0; margin-top:24px; }
    .requirement-grid li { display:grid; grid-template-columns:46px 1fr; padding:17px 0; border-left:0; }
    .requirement-grid b { grid-row:span 2; margin:2px 0 0; width:30px; height:30px; }
    .requirement-grid h3 { margin-bottom:4px; font-size:19px; }
    .connection-flow { gap:26px; margin-top:28px; }
    .connection-flow article { display:block; padding:0 0 0 46px; }
    .connection-flow b { width:32px; height:32px; font-size:11px; }
    .connection-flow article:not(:last-child)::after { left:15px; top:32px; }
    .setup-visual { height:125px; margin:0 0 14px; }
    .android-tv-page .setup-visual img { max-width:220px; max-height:125px; width:auto; }
    .android-tv-page .setup-brand img { max-width:115px; width:85%; }
    .tv-destination .content-tv { max-width:220px; }
    .pairing-proof .setup-visual img { max-height:125px; }
    .connection-flow p { margin-bottom:10px; }
    .connection-flow h3 { padding-top:0; font-size:21px; }
    .content-visual { min-height:330px; }
    .content-visual .media-photo { left:6%; }
    .content-visual .media-poster { right:6%; }
    .content-visual .media-video { width:75%; left:12%; bottom:18%; }
    .capability-tags { bottom:4%; }
    .android-tv-page .scale-visual figure { width:100%; }
    .tv-row { margin-top:36px; gap:5px; }
    .trust-section { gap:24px; }
    .trust-tv .signal { width:100%; left:0; }
    .offline-note { font-size:15px!important; }
    .android-faq .faq-list summary { padding-block:17px; font-size:16px; gap:14px; }
    .android-faq .faq-answer { padding-right:20px; }
    .android-final { min-height:0; gap:20px; padding-bottom:34px!important; }
    .final-tv { min-height:0; aspect-ratio:1.65; }
    .final-tv>.content-tv { width:100%; }
}
@media (prefers-reduced-motion:no-preference) {
    .android-tv-page .hero-device .signal,.android-tv-page .trust-tv .signal,.android-tv-page .final-tv .signal { animation:android-signal 5s ease-in-out 2; }
    .android-tv-page .button { transition:filter .2s,transform .2s; }
    .android-tv-page .button:hover { filter:brightness(1.1); transform:translateY(-2px); }
    .requirement-grid li { transition:background-color .2s; }
    .requirement-grid li:hover { background:#ffffff60; }
    .android-faq summary i { transition:transform .2s; }
}
@keyframes android-signal { 50% { opacity:.38; transform:translateY(-4px); } }
@media (prefers-reduced-motion:reduce) {
    .android-tv-page *, .android-tv-page *::before, .android-tv-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
