
/* Scoped redesign: the account and existing installation scene keep their styles. */
#landing .tv-section{
  --tv-blue:#0076ed;--tv-ink:#1d1d1f;
  box-sizing:border-box;width:100%;max-width:none;margin:0;
  padding:100px 24px;background:#050505;color:#f5f5f7;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative;isolation:isolate;letter-spacing:-.025em;
}
#landing .tv-section *{box-sizing:border-box}
#landing .tv-wrap{width:100%;max-width:1120px;margin:0 auto}
#landing .tv-section h1,#landing .tv-section h2,#landing .tv-section h3{
  font-family:inherit;font-weight:800;letter-spacing:-.05em;
  color:inherit;background:none;-webkit-text-fill-color:currentColor;
  margin:0;line-height:1.08;
}
#landing .tv-section h1{font-size:clamp(44px,7.4vw,90px)}
#landing .tv-section h2{font-size:clamp(37px,5.5vw,66px)}
#landing .tv-section h3{font-size:clamp(32px,4.4vw,54px)}
#landing .tv-section em{
  font-style:normal;color:#2997ff;background:none;
  -webkit-text-fill-color:currentColor
}
#landing .tv-section p{line-height:1.55;margin:22px 0}
#landing .tv-section .tv-lead{
  font-size:clamp(18px,2.1vw,25px);
  font-weight:600;color:#929296
}
#landing .tv-center{text-align:center}
#landing .tv-actions{
  display:flex;align-items:center;justify-content:center;
  gap:28px;flex-wrap:wrap;margin-top:34px
}
#landing .tv-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:13px 25px;background:#0076ed;color:#fff;
  border:1px solid #178bff;border-radius:99px;
  font:800 16px/1.35 Manrope,sans-serif;
  text-align:center;text-decoration:none;letter-spacing:-.03em;
  transition:background .2s,transform .2s,box-shadow .2s;
}
#landing .tv-button:hover{
  background:#168bff;transform:translateY(-2px);
  box-shadow:0 10px 28px #0076ed30
}
#landing .tv-link{color:#2997ff;font-weight:800;font-size:17px}
#landing .tv-link span{
  margin-left:10px;font-size:24px;vertical-align:-1px
}
#landing .tv-section a:focus-visible,
#landing .tv-section summary:focus-visible{
  outline:3px solid #2997ff;outline-offset:5px
}
#landing .tv-caption{
  display:block;font-size:12px;line-height:1.5;
  color:#777980;text-align:center;font-weight:500
}
#landing .tv-hero{
  padding:100px 24px 0;text-align:center;overflow:hidden
}
#landing .tv-hero:before{
  content:"";position:absolute;z-index:-1;
  inset:30% 0 0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,#006adc38,transparent 59%)
}
#landing .tv-hero-phone{
  all:unset;display:block;position:relative;
  width:390px;max-width:88vw;height:490px;
  margin:75px auto 0;text-align:left;
  transform:translateY(var(--tv-hero-y,0px));
}
#landing .tv-brand{
  display:flex;align-items:center;gap:8px;
  color:#f5f5f7;font-size:15px;font-weight:800;letter-spacing:-.04em
}
#landing .tv-brand img{
  display:block;width:29px;height:29px;
  object-fit:contain;border-radius:0;background:none
}
#landing .tv-phone{
  width:100%;padding:7px;border:2px solid #8a8b88;border-radius:54px;
  background:linear-gradient(110deg,#626565 0%,#eee 3%,#1b1c1c 7%,#666 49%,#101111 92%,#eee 97%,#777);
  box-shadow:0 0 0 2px #141414,0 0 0 4px #8d8e89,0 35px 65px #0005;
  position:relative;
}
#landing .tv-phone:before{
  content:"";position:absolute;left:-7px;top:135px;
  width:3px;height:55px;border-radius:2px;
  background:linear-gradient(#aaa,#343434,#aaa)
}
#landing .tv-phone-screen{
  overflow:hidden;position:relative;aspect-ratio:.48;
  background:linear-gradient(155deg,#0d1734,#050913);
  border:3px solid #040405;border-radius:44px;color:#f5f7ff
}
#landing .tv-island{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  width:32%;height:26px;background:#000;border-radius:25px
}
#landing .tv-island:after{
  content:"";position:absolute;right:9px;top:9px;
  width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle,#17304e,#05080e)
}
#landing .tv-status{
  display:flex;justify-content:space-between;
  padding:18px 24px 22px;font-size:12px;font-weight:800;letter-spacing:0
}
#landing .tv-phone-content{padding:8px 17px 25px}
#landing .tv-screen-label{
  display:block;color:#a3adbf;font-size:11px;
  font-weight:700;margin:20px 0 7px
}
#landing .tv-phone h3{
  font-size:25px!important;line-height:1.13!important;
  letter-spacing:-.05em!important
}
#landing .tv-profile{
  margin:18px 0 12px;padding:17px;
  border:1px solid #ffffff2c;border-radius:22px;
  background:linear-gradient(130deg,#ffffff1c,#ffffff05);
  box-shadow:inset 0 1px #ffffff16
}
#landing .tv-profile-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;font-size:14px
}
#landing .tv-active{
  display:inline-flex;align-items:center;gap:5px;
  background:#2ed89720;padding:4px 7px;border-radius:30px;
  font-size:10px;color:#a7e9cf;white-space:nowrap;letter-spacing:-.02em
}
#landing .tv-active i{
  width:7px;height:7px;border-radius:50%;background:#32c994;
  box-shadow:0 0 0 3px #32c99430
}
#landing .tv-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;margin-top:18px
}
#landing .tv-stats>div{
  padding:13px 11px;border-radius:14px;background:#ffffff12;min-width:0
}
#landing .tv-stats small{
  display:block;font-size:10px;color:#b6c0d4;margin-bottom:6px
}
#landing .tv-stats strong{
  display:block;font-size:16px;letter-spacing:-.05em;white-space:nowrap
}
#landing .tv-phone .tv-stats{
  grid-template-columns:1fr 1fr;gap:7px;margin-top:12px
}
#landing .tv-phone .tv-stats>div{padding:12px 9px}
#landing .tv-phone .tv-stats strong{font-size:16px}
#landing .tv-screen-button{
  min-height:36px;padding:10px 18px;font-size:12px
}
#landing .tv-phone .tv-screen-button{width:100%;margin-top:2px}
#landing .tv-phone-note{
  font-size:11px;color:#7c8ba8;text-align:center
}
#landing .tv-home-line{
  position:absolute;bottom:8px;left:34%;width:32%;
  height:4px;border-radius:6px;background:#ffffffaa
}
#landing .tv-light{background:#f5f5f7;color:#1d1d1f}
#landing .tv-light em{color:#006bd6}
#landing .tv-eyebrow{
  font-size:20px;font-weight:800;color:#77777c;
  margin:0 0 16px!important
}
#landing .tv-benefit-row{
  display:grid;grid-template-columns:1.25fr 1fr;
  gap:100px;align-items:center;margin-top:80px;
  padding-top:90px;border-top:1px solid #d2d2d7
}
#landing .tv-benefit-copy p{
  color:#76767c;font-size:19px;max-width:490px
}
#landing .tv-benefit-copy .tv-button{margin-top:10px}
#landing .tv-service-card{
  max-width:345px;margin:0 auto;background:white;
  border:1px solid #e2ebfc;border-radius:28px;padding:25px;
  box-shadow:0 25px 45px -16px #4479ce66
}
#landing .tv-service-head{
  display:flex;align-items:center;gap:15px;
  padding-bottom:20px;border-bottom:1px solid #d2d2d7
}
#landing .tv-service-head b{display:block;font-size:18px}
#landing .tv-service-head small{
  display:block;margin-top:3px;color:#228753;
  font-size:13px;font-weight:700
}
#landing .tv-switch{
  width:62px;height:36px;display:block;border-radius:50px;
  background:#2ac77d;flex-shrink:0;padding:3px
}
#landing .tv-switch i{
  display:block;width:30px;height:30px;border-radius:50%;
  background:white;margin-left:26px;box-shadow:0 2px 4px #0002
}
#landing .tv-service{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;border-bottom:1px solid #ededf0;font-size:16px
}
#landing .tv-service:last-child{border:0;padding-bottom:5px}
#landing .tv-service>span{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:#77777c;font-weight:600
}
#landing .tv-service i{
  width:8px;height:8px;border-radius:50%;background:#2ac77d
}
#landing .tv-service-demo>.tv-caption{margin-top:18px}
#landing .tv-devices-section{overflow:hidden;padding-bottom:85px}
#landing .tv-device-stage{
  width:100%;max-width:1030px;margin:80px auto 30px;
  position:relative;aspect-ratio:1.9;--tv-device-shift:0px
}
#landing .tv-laptop{
  position:absolute;left:0;bottom:3%;width:82%;
  transform:translateY(var(--tv-device-shift));
  filter:drop-shadow(0 30px 25px #0003)
}
#landing .tv-laptop-lid{
  width:87%;margin:auto;padding:8px 7px 17px;
  border-radius:20px 20px 5px 5px;
  background:linear-gradient(120deg,#797c78,#050505 4%,#111 95%,#888);
  border:2px solid #858781;box-shadow:inset 0 0 0 2px #171817
}
#landing .tv-laptop-screen{
  aspect-ratio:1.58;border-radius:10px 10px 2px 2px;
  position:relative;overflow:hidden;
  background:linear-gradient(155deg,#0d1734,#050913);
  padding:30px;color:#f5f7ff
}
#landing .tv-laptop-camera{
  position:absolute;top:0;left:43%;width:14%;height:12px;
  border-radius:0 0 6px 6px;background:#000
}
#landing .tv-laptop-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
#landing .tv-laptop-top>small{font-size:10px;color:#9ca7bc}
#landing .tv-laptop h3{font-size:clamp(16px,2.4vw,29px)!important}
#landing .tv-laptop .tv-profile{padding:18px;margin-top:20px}
#landing .tv-laptop .tv-screen-button{margin-top:0}
#landing .tv-laptop-base{
  position:relative;height:25px;
  border-radius:3px 3px 45% 45%/3px 3px 16px 16px;
  background:linear-gradient(#bbbebd,#e3e5e4 25%,#818582 90%,#474a48);
  box-shadow:inset 5px 0 4px #fffa,inset -5px 0 4px #0005
}
#landing .tv-laptop-base i{
  position:absolute;top:0;left:42%;width:16%;height:8px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(90deg,#888,#ddd,#888)
}
#landing .tv-device-phone{
  position:absolute;width:23%;right:1%;bottom:5%;
  transform:translateY(calc(var(--tv-device-shift) * -1))
}
#landing .tv-device-phone .tv-phone{border-radius:37px;padding:5px}
#landing .tv-device-phone .tv-phone-screen{border-radius:29px}
#landing .tv-device-phone .tv-island{height:18px;top:7px}
#landing .tv-device-phone .tv-island:after{
  top:6px;width:5px;height:5px
}
#landing .tv-device-phone .tv-status{
  font-size:8px;padding:13px 15px 17px
}
#landing .tv-device-phone .tv-phone-content{padding:3px 10px 15px}
#landing .tv-device-phone .tv-brand{font-size:12px}
#landing .tv-device-phone .tv-brand img{width:25px;height:25px}
#landing .tv-device-phone .tv-screen-label{display:none}
#landing .tv-device-phone h3{
  font-size:23px!important;margin-top:12px
}
#landing .tv-device-phone .tv-profile{
  padding:10px;border-radius:18px;margin-top:12px
}
#landing .tv-device-phone .tv-profile-top{font-size:10px}
#landing .tv-device-phone .tv-active{
  font-size:8px;padding:3px 5px
}
#landing .tv-device-phone .tv-active i{width:5px;height:5px}
#landing .tv-device-phone .tv-stats{gap:5px}
#landing .tv-device-phone .tv-stats>div{padding:9px 6px}
#landing .tv-device-phone .tv-stats small{font-size:7px}
#landing .tv-device-phone .tv-stats strong{font-size:10px}
#landing .tv-device-phone .tv-screen-button{
  font-size:10px;padding:8px 5px;min-height:30px
}
#landing .tv-device-phone .tv-phone-note{display:none}
#landing .tv-device-bottom .tv-caption{margin:0 0 20px}
#landing .tv-price-section{
  background:#000;padding-top:100px;padding-bottom:100px
}
#landing .tv-price-card{
  max-width:450px;margin:65px auto 0;padding:35px 36px 26px;
  border-radius:28px;border:1px solid #ffffff2b;
  background:radial-gradient(ellipse at 50% 43%,#12366eaa,transparent 55%),linear-gradient(145deg,#1a1a1b,#090909);
  box-shadow:inset 0 1px #ffffff12
}
#landing .tv-price-summary{text-align:center}
#landing .tv-price-number{
  display:flex;align-items:baseline;justify-content:center;
  gap:6px;font-weight:800;line-height:1;letter-spacing:-.075em
}
#landing #tv-monthly{
  font-size:110px;background:linear-gradient(#fff 30%,#a7cfff);
  background-clip:text;-webkit-background-clip:text;color:transparent
}
#landing .tv-price-number small{font-size:29px;color:#bac5d9}
#landing #tv-period-description{
  color:#bac5d9;font-size:17px;font-weight:700;
  min-height:26px;margin:12px 0 28px
}
#landing .tv-plan-list{padding:0;margin:0;border:0;min-width:0}
#landing .tv-plan{
  display:block;position:relative;cursor:pointer;margin:6px 0
}
#landing .tv-plan input{
  position:absolute;width:1px;height:1px;opacity:0
}
#landing .tv-plan-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:15px;padding:13px 12px;border:1px solid transparent;
  border-radius:13px;color:#f5f7ff;font-size:14px;
  transition:background .2s,border-color .2s
}
#landing .tv-plan input:checked+.tv-plan-inner{
  border-color:#168bff88;background:#238fea18
}
#landing .tv-plan input:focus-visible+.tv-plan-inner{
  outline:3px solid #2997ff;outline-offset:3px
}
#landing .tv-plan:hover .tv-plan-inner{background:#ffffff09}
#landing .tv-plan-cost{text-align:right}
#landing .tv-plan-cost small{
  display:block;color:#b6c0d4;font-size:11px;margin-top:3px
}
#landing .tv-best{
  display:block;color:#2997ff;font-size:10px;margin-top:5px
}
#landing .tv-included{list-style:none;padding:0;margin:30px 0}
#landing .tv-included li{
  position:relative;padding:11px 0 11px 24px;
  border-top:1px solid #ffffff22;font-size:12px;
  font-weight:700;line-height:1.6;color:#e7e7eb
}
#landing .tv-included li:before{
  content:"";position:absolute;left:0;top:16px;
  width:13px;height:13px;border:4px solid #579fec;
  border-radius:50%;box-sizing:border-box
}
#landing .tv-buy{width:100%}
#landing .tv-checkout-note{
  font-size:12px;color:#aab5c8;text-align:center;
  margin:14px 0!important
}
#landing .tv-price-card>.tv-caption{font-size:10px;color:#9298a5}
#landing .tv-faq{background:#fff;color:#1d1d1f}
#landing .tv-faq-list{margin-top:65px;max-width:950px}
#landing .tv-faq details{
  border:0;border-top:1px solid #d2d2d7;padding:0;margin:0;
  background:transparent;border-radius:0;box-shadow:none
}
#landing .tv-faq details:last-child{
  border-bottom:1px solid #d2d2d7
}
#landing .tv-faq summary{
  display:flex;align-items:center;justify-content:space-between;
  gap:25px;list-style:none;padding:21px 0;
  font-size:17px;font-weight:800;cursor:pointer;color:#1d1d1f
}
#landing .tv-faq summary::-webkit-details-marker{display:none}
#landing .tv-faq summary:after{display:none}
#landing .tv-faq summary>span{
  width:10px;height:10px;
  border-right:1.5px solid #0076ed;border-bottom:1.5px solid #0076ed;
  transform:rotate(45deg);margin-right:5px;flex-shrink:0;
  transition:transform .25s
}
#landing .tv-faq details[open] summary>span{
  transform:rotate(225deg)
}
#landing .tv-answer{max-width:830px;padding:0 30px 22px 0}
#landing .tv-answer p{
  font-size:16px;color:#6d6d73;margin:0;line-height:1.7
}
#landing .tv-answer a{color:#006bd6;text-decoration:underline}
#landing .tv-faq details[open] .tv-answer{
  animation:tv-answer-in .25s ease-out
}
#landing .tv-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}
body.tv-home{background:#050505}
body.tv-home .header{
  background:#070707e8;border-bottom:1px solid #ffffff12;
  backdrop-filter:blur(20px)
}
body.tv-home .header .brand{color:#f5f5f7}
body.tv-home .header nav a{color:#aaaab0}
body.tv-home .header nav a:hover{color:white}
body.tv-home .header>.button{
  background:transparent;color:#c4c4c8;
  border:0;font-size:13px;padding:8px 0
}
body.tv-home .header .brand img{
  object-fit:contain;border-radius:0;background:none
}
.tv-reveal-ready #landing .tv-enter{
  opacity:0;transform:translateY(32px);
  transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)
}
.tv-reveal-ready #landing .tv-enter.tv-visible{
  opacity:1;transform:translateY(0)
}
@keyframes tv-answer-in{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:none}
}
@media(min-width:1000px){
  #landing .tv-device-stage{margin-top:90px}
}
@media(max-width:760px){
  #landing .tv-section{padding:70px 22px}
  #landing .tv-hero{padding:65px 18px 0}
  #landing .tv-hero-phone{height:420px;width:335px;margin-top:55px}
  #landing .tv-actions{gap:20px}
  #landing .tv-actions .tv-button{font-size:14px}
  #landing .tv-eyebrow{font-size:15px}
  #landing .tv-benefit-row{
    grid-template-columns:1fr;gap:45px;margin-top:45px;padding-top:45px
  }
  #landing .tv-benefit-copy p{font-size:17px}
  #landing .tv-service-demo{width:100%}
  #landing .tv-device-stage{
    aspect-ratio:1.16;margin-top:45px;margin-bottom:30px
  }
  #landing .tv-laptop{width:96%;left:-7%;bottom:13%}
  #landing .tv-laptop-lid{
    padding:5px 4px 10px;border-radius:12px 12px 4px 4px
  }
  #landing .tv-laptop-screen{
    padding:18px 14px;aspect-ratio:1.22
  }
  #landing .tv-laptop-top>.tv-brand{font-size:10px}
  #landing .tv-laptop-top>.tv-brand img{width:21px;height:21px}
  #landing .tv-laptop-top>small{display:none}
  #landing .tv-laptop .tv-screen-label{
    font-size:8px;margin-top:15px
  }
  #landing .tv-laptop h3{font-size:17px!important}
  #landing .tv-laptop .tv-profile{
    padding:10px;margin:12px 0 8px;border-radius:12px
  }
  #landing .tv-laptop .tv-profile-top{font-size:10px}
  #landing .tv-laptop .tv-stats{
    grid-template-columns:1fr 1fr;gap:5px;margin-top:8px
  }
  #landing .tv-laptop .tv-stats>div{
    padding:7px;border-radius:8px
  }
  #landing .tv-laptop .tv-stats small{
    font-size:7px;margin-bottom:3px
  }
  #landing .tv-laptop .tv-stats strong{font-size:10px}
  #landing .tv-laptop .tv-active{font-size:7px}
  #landing .tv-laptop .tv-screen-button{
    font-size:8px;min-height:24px;padding:6px 10px
  }
  #landing .tv-laptop-base{height:15px}
  #landing .tv-device-phone{width:31%;right:-1%;bottom:1%}
  #landing .tv-device-phone .tv-phone{
    padding:3px;border-radius:24px;
    box-shadow:0 0 0 1px #141414,0 0 0 2px #8d8e89,0 18px 25px #0004
  }
  #landing .tv-device-phone .tv-phone-screen{
    border-radius:18px;border-width:2px
  }
  #landing .tv-device-phone .tv-island{top:5px;height:11px}
  #landing .tv-device-phone .tv-island:after{display:none}
  #landing .tv-device-phone .tv-status{
    font-size:5px;padding:9px 8px 12px
  }
  #landing .tv-device-phone .tv-phone-content{padding:2px 6px}
  #landing .tv-device-phone .tv-brand{font-size:8px;gap:4px}
  #landing .tv-device-phone .tv-brand img{width:17px;height:17px}
  #landing .tv-device-phone h3{
    font-size:14px!important;margin-top:8px
  }
  #landing .tv-device-phone .tv-profile{
    padding:7px;border-radius:10px;margin:8px 0
  }
  #landing .tv-device-phone .tv-profile-top{
    font-size:7px;flex-wrap:wrap;gap:4px
  }
  #landing .tv-device-phone .tv-active{font-size:6px}
  #landing .tv-device-phone .tv-stats{grid-template-columns:1fr}
  #landing .tv-device-phone .tv-stats>div{padding:5px}
  #landing .tv-device-phone .tv-stats>div+div{display:none}
  #landing .tv-device-phone .tv-stats small{
    font-size:6px;margin-bottom:2px
  }
  #landing .tv-device-phone .tv-stats strong{font-size:8px}
  #landing .tv-device-phone .tv-screen-button{
    font-size:7px;min-height:22px;padding:5px 2px
  }
  #landing .tv-device-phone .tv-phone:before{
    height:25px;top:60px;left:-5px;width:2px
  }
  #landing .tv-device-phone .tv-home-line{height:2px;bottom:5px}
  #landing .tv-price-card{
    padding:28px 24px;margin-top:40px
  }
  #landing #tv-monthly{font-size:96px}
  #landing .tv-faq-list{margin-top:40px}
  #landing .tv-faq summary{font-size:15px;padding:19px 0}
  #landing .tv-answer p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  #landing .tv-section *,#landing .tv-enter{
    animation:none!important;transition:none!important
  }
  .tv-reveal-ready #landing .tv-enter{
    opacity:1!important;transform:none!important
  }
  #landing .tv-hero-phone,
  #landing .tv-laptop,
  #landing .tv-device-phone{
    transform:none!important
  }
}
body.reduced-motion #landing .tv-section *{
  animation:none!important;transition:none!important
}
body.reduced-motion #landing .tv-enter{
  opacity:1!important;transform:none!important
}
body.reduced-motion #landing .tv-hero-phone,
body.reduced-motion #landing .tv-laptop,
body.reduced-motion #landing .tv-device-phone{
  transform:none!important
}
