/* Final touch and tablet adjustments, including account/admin surfaces. */
.studio-site{overflow-x:clip}
.quote-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.studio-site :focus-visible{outline:3px solid #007cc0;outline-offset:4px}
.studio-site .s-main [id],.studio-site .s-footer [id]{scroll-margin-top:90px}
.studio-site .s-main>*,.s-two-col>*,.s-plan-layout>*,.s-footer-grid>*{min-width:0}
.studio-site .s-button,.studio-site .s-menu-utilities button{min-height:44px}
.studio-site .s-bank-row strong{overflow-wrap:anywhere}
.studio-site .s-salespoint iframe{display:block;width:100%;border:0}
.studio-site input,.studio-site select,.studio-site textarea{max-width:100%}
.studio-site .s-carousel-nav button{position:relative}
.studio-site .s-carousel-nav button:before{content:"";position:absolute;inset:-10px}
.studio-site .s-carousel-nav{gap:17px}
.studio-site .s-carousel-arrow{width:36px;height:36px}
.studio-site .admin-shell{height:100dvh;z-index:200}
.studio-site .modal-wrap{z-index:5000}
.studio-site .cart-drawer{z-index:4000}
.studio-site #overlay{z-index:3999}
.studio-site:has(.modal-wrap.open,.cart-drawer.open) .zoni-widget,.studio-site:has(.cart-drawer.open) .support-chat{visibility:hidden;pointer-events:none}
.studio-site .admin-sidebar{overflow-y:auto;overscroll-behavior:contain}
.studio-site .admin-topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.studio-site .admin-topbar button{min-height:44px}
.studio-site .admin-topbar .admin-top-logout{display:inline-flex!important;align-items:center;justify-content:center}
.studio-site .admin-content,.studio-site .admin-main{min-width:0}
.studio-site .ops-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.studio-site .account-profile-tabs{overflow-x:auto;max-width:100%;scrollbar-width:thin}
.studio-site .account-profile-tabs button{flex-shrink:0;min-height:44px}
#serverSaveStatus{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:20000;max-width:min(90vw,560px);padding:12px 18px;border-radius:12px;background:#114576;color:white;box-shadow:0 5px 22px #00132340;font:600 13px/1.5 system-ui}
#serverSaveStatus[data-error=true]{background:#94352f}
.hosting-password{border:1px solid #dbe8ee;border-radius:18px;padding:26px;max-width:min(92vw,400px);color:#114576}
.hosting-password::backdrop{background:#071c3199}
.hosting-password label{display:grid;gap:8px;margin:16px 0;font:600 14px system-ui}
.hosting-password input{border:1px solid #b9cdd8;padding:12px;border-radius:8px;font-size:16px;width:100%;box-sizing:border-box}
.hosting-password form>div{display:flex;justify-content:flex-end;gap:12px}
.hosting-password button{min-height:44px;border:0;border-radius:10px;background:#114576;color:white;padding:10px 18px;cursor:pointer}
.hosting-password h2{font:700 22px system-ui}
@media(max-width:1100px){
 .studio-site .site-header{padding-inline:22px;gap:14px}
 .studio-site .brand img{width:125px}
 .studio-site .main-nav a{padding:10px 8px;font-size:10px}
 .studio-site .account-trigger{padding-inline:13px}
}
@media(max-width:1024px){
 .studio-site .admin-shell{grid-template-columns:minmax(0,1fr)}
 .studio-site .admin-sidebar{position:absolute;top:0;bottom:0;left:-290px;width:270px;z-index:10;box-shadow:6px 0 25px #071c3133;transition:left .2s}
 .studio-site .admin-shell.sidebar-open .admin-sidebar{left:0}
 .studio-site .admin-menu-toggle{display:inline-flex}
 .studio-site .admin-topbar{height:auto;min-height:96px;gap:12px;padding-block:14px;align-items:center}
 .studio-site .site-header{position:sticky;flex-wrap:nowrap;min-height:64px}
 .studio-site .header-actions{display:none}
 .studio-site .menu-toggle{display:grid;place-items:center;margin-left:auto;min-width:44px;min-height:44px;border-radius:10px}
 .studio-site .main-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);margin:0;background:#fff;padding:16px;border:1px solid #e3edf4;border-radius:16px;box-shadow:0 12px 30px #11457620;max-height:calc(100dvh - 100px);overflow:auto;z-index:100;gap:4px}
 .studio-site .main-nav.open{display:flex;flex-direction:column;align-items:stretch}
 .studio-site .main-nav a{padding:14px 16px;font-size:14px;min-height:44px;display:flex;align-items:center;border-radius:10px}
 .s-menu-utilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #e5edf8;padding-top:14px;margin-top:8px}
 .s-menu-utilities button{border:1px solid #dde8f8;border-radius:10px;background:#eff5ff;color:#114576;font:700 12px Manrope,system-ui;cursor:pointer}
 .s-hero-copy{padding-left:40px}
 .s-plan-layout{grid-template-columns:minmax(0,1fr) 230px}
 .s-plan-layout .s-product-grid{gap:10px}
 .s-plan-layout .s-plan{padding-inline:13px}
 .s-plan-layout .s-plan-popular{right:12px}
 .s-plan-layout .s-plan-heading{flex-wrap:wrap}
 .s-plan-layout .s-plan-price strong{font-size:25px}
 .s-plan-layout .s-plan .s-button{padding-inline:12px;gap:10px}
 .s-home-connected{padding:23px 20px}
}
@media(min-width:681px) and (max-width:900px){
 .studio-site[data-page=index] .s-plan-layout .s-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .studio-site[data-page=index] .s-plan-layout .s-plan:last-child{display:flex}
 .s-plan-layout{grid-template-columns:1fr}
 .s-home-connected{min-height:220px;overflow:hidden;display:block}
 .s-home-connected>span{position:absolute;right:24px;top:22px}
 .s-home-connected>div:first-child{max-width:47%}
 .s-home-connected .s-router-scene{right:0!important;left:auto!important;width:360px!important;height:280px!important;bottom:-36px!important}
 .s-home-connected>small{position:static;margin-top:18px;padding:0;width:45%;gap:12px}
 .s-promo h2{font-size:25px}
 .s-promo-mobile{padding-left:45%}
 .s-promo-mobile .s-phone-back{left:-40px;transform:rotate(-25deg) scale(.8);transform-origin:top left}
 .s-promo-store .s-laptop-scene{width:85%;right:-25%;bottom:-45px}
 .s-benefits-row{grid-template-columns:1fr}
 .s-benefits-row .s-network-card{display:none}
 .s-footer-grid{grid-template-columns:1.2fr 1fr 1fr}
 .s-footer-brand{grid-column:1/-1}
}
@media(max-width:680px){
 .s-footer summary{min-height:44px;display:flex;align-items:center}
 .studio-site .admin-topbar{flex-direction:column;align-items:stretch;position:relative;padding-block:16px}
 .studio-site .admin-topbar-actions{justify-content:flex-start}
 .studio-site .admin-back,.studio-site .admin-top-logout{font-size:12px;padding:10px 12px}
 .studio-site .site-header{padding-inline:16px;min-height:60px}
 .studio-site input:not([type=checkbox]):not([type=radio]),.studio-site select,.studio-site textarea{font-size:16px!important}
 .studio-site .modal-wrap{padding:12px;align-items:center}
 .studio-site .modal-card{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:24px 19px}
 .studio-site .cart-drawer{width:min(100vw,430px);max-height:100dvh}
 .studio-site .support-chat-panel,.studio-site .zoni-panel{max-width:calc(100vw - 24px);max-height:calc(100dvh - 95px);overscroll-behavior:contain}
 .studio-site .support-chat-widget{bottom:max(12px,env(safe-area-inset-bottom))}
 .studio-site .zoni-widget{bottom:max(12px,env(safe-area-inset-bottom))}
 .s-plan-layout{grid-template-columns:minmax(0,1fr)}
 .s-plan-layout .s-plan-heading{flex-wrap:nowrap}
 .s-legal a{min-height:50px;font-size:12px}
 .s-legal a span{overflow-wrap:anywhere}
 .s-legal small{font-size:9px}
 .s-bank-row{gap:8px}
 .s-bank-row>button{min-height:44px;min-width:58px}
 .studio-site .admin-shell .admin-header{flex-wrap:wrap;gap:10px;padding:14px}
 .studio-site .admin-shell .admin-header button{min-height:44px}
 .studio-site .admin-content{padding:16px 12px}
 .studio-site .ops-form,.studio-site .admin-form-grid,.studio-site .account-profile-editor{grid-template-columns:minmax(0,1fr)}
 .studio-site .ops-stats{grid-template-columns:1fr}
 .studio-site .admin-panel{padding:17px 13px;min-width:0}
 .studio-site .ops-page-head{align-items:flex-start;flex-direction:column}
 .studio-site .admin-table{display:table;min-width:590px}
 .studio-site .admin-panel:has(>.admin-table){overflow-x:auto}
 .studio-site .account-profile-card{min-width:0}
 .studio-site .account-profile-main{min-width:0;overflow-wrap:anywhere}
 .studio-site .account-profile-panel-heading{flex-direction:column;align-items:flex-start}
 .s-hero-copy{padding-left:26px}
 .s-carousel-arrow{width:30px;height:30px}
 .s-prev{left:5px}.s-next{right:5px}
}
@media(max-width:360px){
 .s-hero-copy{padding-left:25px;width:92%}
 .s-hero h1{font-size:30px}
 .s-hero .s-actions{gap:8px}
 .s-hero .s-button{padding-inline:14px;gap:10px;font-size:10px}
 .s-main,.studio-site .site-header,.s-footer{width:calc(100% - 24px)}
 .s-catalog-heading .catalog-tabs{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.studio-site *{scroll-behavior:auto!important}}
/* The Internet banner features only the modem, centered in its artwork area. */
.s-wireless-scene>.s-router-scene{left:0;bottom:0;width:480px;height:350px;transform:rotate(-6deg)}
/* Keep banner artwork in view, below the copy, on narrow layouts. */
@media(min-width:681px) and (max-width:1024px){
 .s-hero-wireless .s-hero-art{inset:0 0 0 48%;width:auto}
 .s-hero-wireless .s-wireless-scene{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.72);transform-origin:center}
 .s-hero-wireless .s-hero-copy{width:56%;padding-right:12px}
 .s-hero-wireless p{max-width:330px}
}
@media(max-width:680px){
 .s-hero.s-hero-wireless,.s-hero.s-hero-camera{min-height:470px;align-items:flex-start}
 .s-hero-wireless .s-hero-copy,.s-hero-camera .s-hero-copy{width:100%;max-width:none;padding:26px 24px 225px}
 .s-hero-wireless h1,.s-hero-camera h1{font-size:clamp(28px,7.8vw,34px);max-width:330px}
 .s-hero-wireless p,.s-hero-camera p{max-width:320px}
 .s-hero-wireless .s-actions,.s-hero-camera .s-actions{flex-direction:row;flex-wrap:nowrap;gap:8px;margin-top:16px}
 .s-hero-wireless .s-button,.s-hero-camera .s-button{min-width:0;min-height:44px;padding:10px 12px;gap:7px;font-size:10px;white-space:nowrap}
 .s-hero-wireless .s-hero-art,.s-hero-camera .s-hero-art{inset:auto 0 38px;height:210px;width:100%;opacity:1}
 .s-hero-wireless .s-hero-art{bottom:32px}
 .s-hero-wireless .s-wireless-scene{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.66);transform-origin:center}
 .s-hero-camera .s-camera-scene{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%) scale(.72);transform-origin:center}
 .s-hero-wireless:after,.s-hero-camera:after{background:linear-gradient(180deg,#071c3140,transparent 60%)}
}
@media(max-width:360px){
 .s-hero-wireless .s-hero-copy,.s-hero-camera .s-hero-copy{padding-inline:22px}
 .s-hero-wireless .s-button,.s-hero-camera .s-button{padding-inline:9px;font-size:9px;gap:5px}
 .s-hero-wireless .s-wireless-scene{transform:translate(-50%,-50%) scale(.6)}
 .s-hero-camera .s-camera-scene{transform:translate(-50%,-50%) scale(.63)}
}
