
/* Be Connect — compact, full-browser-width redesign (v5).
   Bands run edge to edge; content spans the browser up to 1920px with a fluid gutter. */
:root{
  color-scheme: light;
  --navy:#01224D; --night:#020f2b;
  --blue:#0E63C8; --blue-2:#2f8bff; --cyan:#5AB0E6; --sky:#8fd0ff; --mint:#22b573; --amber:#F5A623; --red:#E2504A;
  --ink:#0c1d38; --soft:#55678a; --paper:#f3f7fc; --card:#fff; --tint:#edf4fd;
  --hair:#e3ebf6; --hair-d:rgba(255,255,255,.13);
  --grad:linear-gradient(120deg,#0E63C8,#2f8bff);
  --max:1920px; --gut:clamp(16px,2.6vw,44px); --sec:clamp(28px,3.2vw,44px);
  --r:14px; --ff:'Poppins',ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ff);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--ff);margin:0;letter-spacing:-.015em;line-height:1.12}
p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%}svg{display:block}button,select,input{font-family:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.sec+.sec{padding-top:0}
.eb{font:600 11.5px/1 var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.dk .eb{color:var(--cyan)}
.h2{font-size:clamp(22px,2.2vw,32px);font-weight:700;color:var(--navy);margin-top:8px}
.lead{color:var(--soft);margin-top:6px;font-size:15px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.more{font:600 13.5px var(--ff);color:var(--blue);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;font:600 14.5px var(--ff);padding:12px 22px;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;min-height:46px;white-space:nowrap}
.btn-g{background:var(--grad);color:#fff;box-shadow:0 10px 24px -12px rgba(14,99,200,.75)}
.btn-g:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(14,99,200,.85)}
.btn-o{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}.btn-o:hover{background:rgba(255,255,255,.1)}
.btn-ol{background:#fff;color:var(--navy);border:1.5px solid #c9dbf3}.btn-ol:hover{border-color:var(--blue);color:var(--blue)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}

.note{position:fixed;z-index:90;top:0;left:0;right:0;height:28px;text-align:center;background:#0b1b33;color:#cfe0ff;font:600 11.5px/1.4 var(--ff);padding:6px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note b{color:#fff}
.page{padding-top:28px}

/* family bar */
.fam{background:#01183a;border-bottom:1px solid var(--hair-d)}
.fam .wrap{display:flex;align-items:center;height:40px;gap:6px}
.fam .l{flex:0 0 auto;font:600 9.5px/1 var(--ff);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.52);padding-right:12px;margin-right:2px;border-right:1px solid var(--hair-d);white-space:nowrap}
.fam .fl{position:relative;display:flex;align-items:stretch;flex:1 1 auto;min-width:0;height:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fam .fl::-webkit-scrollbar{display:none}
.fam .fl a{display:flex;align-items:center;flex:0 0 auto;font:500 13px var(--ff);color:rgba(255,255,255,.74);padding:0 11px;white-space:nowrap;position:relative}
.fam .fl a:hover{color:#fff}.fam .fl a.on{color:var(--cyan);font-weight:600}
.fam .fl a.on::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:2px;border-radius:2px;background:var(--cyan)}
.fam .fl a:focus-visible,.fam .pay:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:6px}
.fam .pay{flex:0 0 auto;display:inline-flex;align-items:center;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:0 14px;font:600 12.5px var(--ff);color:#fff;white-space:nowrap;transition:background .2s,color .2s}
.fam .pay:hover{background:#fff;color:#01224D}
@media(max-width:639px){.fam .l{display:none}.fam .wrap{gap:4px}.fam .fl a{padding:0 10px}.fam .fl a.on::after{left:10px;right:10px}.fam .pay{padding:0 12px}}

[hidden]{display:none!important}

/* ---------- header + mega panels (one design for every dropdown) ---------- */
.i{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle}
.i.sm{width:15px;height:15px}
.nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 28px);z-index:70;background:rgba(2,15,43,.88);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--hair-d)}
.nav .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:66px;position:relative}
.nav .logo{height:34px;width:auto}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.tag{border-left:1px solid rgba(255,255,255,.28);padding:2px 0 2px 12px;font:600 10px/1.45 var(--ff);letter-spacing:.17em;text-transform:uppercase;color:#c9d8ee;white-space:nowrap}
@media(min-width:1121px) and (max-width:1360px){.tag{display:none}}
@media(max-width:480px){.nav .logo{height:30px}.brand{gap:9px}.tag{font-size:8.4px;letter-spacing:.11em;padding-left:9px}}
@media(max-width:340px){.tag{display:none}}
.menu{display:flex;gap:2px;list-style:none;margin:0;padding:0;height:100%;align-items:stretch}
.menu>li{position:static;display:flex;align-items:center}
.menu>li>a{display:inline-flex;align-items:center;gap:6px;color:#d4e2f7;font:500 14.5px var(--ff);padding:10px 12px;border-radius:10px;position:relative;white-space:nowrap}
.menu>li>a:hover,.menu>li:focus-within>a,.menu>li.open>a{color:#fff}
.menu>li>a.on{color:#fff}
.menu>li>a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--cyan)}
.menu .caret{width:13px;height:13px;opacity:.75;transition:transform .2s}
.menu>li.open>a .caret{transform:rotate(180deg)}
.sub.mega{position:absolute;top:100%;left:50%;width:min(900px,calc(100vw - 2 * var(--gut)));background:#fff;border-radius:18px;padding:16px;margin-top:0;box-shadow:0 30px 60px -24px rgba(1,15,43,.55),0 0 0 1px rgba(1,34,77,.06);border-top:3px solid var(--blue);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s,transform .18s,visibility 0s linear .18s;z-index:5}
.sub.mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.menu>li.open .sub.mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s,transform .18s}
.mgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr);gap:6px 12px;align-items:stretch}
.mcol{display:flex;flex-direction:column;gap:2px}
.mi{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:12px;color:var(--navy);transition:background .15s}
.mi:hover,.mi:focus-visible{background:var(--tint)}
.mic{width:40px;height:40px;border-radius:11px;background:var(--tint);color:var(--blue);display:grid;place-items:center;transition:.15s}
.mi:hover .mic{background:var(--grad);color:#fff}
.mi b{display:block;font:600 14px/1.3 var(--ff);color:var(--navy)}
.mi small{display:block;font-size:12.2px;line-height:1.35;color:var(--soft);margin-top:2px}
.mi.on b{color:var(--blue)}
.mfeat{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;color:#fff;background:radial-gradient(90% 90% at 100% 0%,rgba(47,139,255,.45),transparent 60%),linear-gradient(140deg,#04183f,#073a8a);position:relative;overflow:hidden}
.mfeat .mfi{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.12);display:grid;place-items:center;margin-bottom:4px}
.mfeat b{font:700 17px/1.25 var(--ff)}
.mfeat span{font-size:13px;color:#c3d6f2;line-height:1.5}
.mfeat em{margin-top:auto;padding-top:10px;font:600 13.5px var(--ff);font-style:normal;color:#fff;display:inline-flex;align-items:center;gap:6px}
.mfeat:hover em{gap:10px}
.nav .r{display:flex;align-items:center;gap:10px;grid-column:3;justify-self:end}

/* bottom sheet (Services / Call) */
.sbd{position:fixed;inset:0;z-index:98;background:rgba(2,10,30,.55);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}
.sbd.open{opacity:1;visibility:visible;transition:opacity .2s}
.sheet{position:fixed;left:0;right:0;bottom:0;margin-inline:auto;width:min(100%,640px);z-index:99;background:#fff;color:var(--ink);border-radius:22px 22px 0 0;padding:6px 18px calc(18px + env(safe-area-inset-bottom,0px));max-height:85vh;overflow-y:auto;transform:translateY(105%);visibility:hidden;transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility 0s linear .3s;box-shadow:0 -24px 48px -20px rgba(1,15,43,.55)}
.sheet.open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.grab{width:42px;height:5px;border-radius:9px;background:#d5e1f1;margin:6px auto 12px}
.shd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.shd b{font-size:17px;color:var(--navy)}
.shx{width:36px;height:36px;border-radius:50%;border:0;background:var(--tint);color:var(--navy);display:grid;place-items:center;cursor:pointer}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stile{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px;border:1px solid var(--hair);border-radius:16px;text-align:center;transition:.15s}
.stile:active,.stile:hover{border-color:var(--blue);background:#f5f9ff}
.stile .ic{width:46px;height:46px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center}
.stile .ic svg{width:22px;height:22px}
.stile b{font-size:13px;color:var(--navy);line-height:1.25}.stile small{font-size:11.5px;color:var(--soft)}
.sall{display:block;text-align:center;margin-top:14px;font:600 13.5px var(--ff);color:var(--blue)}
.cnum{text-align:center;font:700 32px/1.1 var(--ff);color:var(--navy);user-select:all;letter-spacing:.01em}
.csub{text-align:center;font-size:13px;color:var(--soft);margin-top:4px}
.cbt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.cbt .btn{width:100%;padding-inline:10px;font-size:14px}
.cbt .btn-g{grid-column:1/-1}
.cbt .wa2{background:#25D366;color:#fff}
.cok{text-align:center;font-size:12.5px;color:var(--mint);min-height:18px;margin-top:8px;font-weight:600}
@media(max-width:360px){.cbt{grid-template-columns:1fr}.sgrid{gap:8px}}
.appm:not(.open),.sheet:not(.open){pointer-events:none}
/* phones + tablets: the tab bar stays on top so menu and sheets behave like app screens */
@media(max-width:900px){
  .tabbar.tabbar{z-index:101}
  .sheet{bottom:calc(62px + env(safe-area-inset-bottom,0px));padding-bottom:18px;max-height:calc(85vh - 62px)}
  .appm{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
.nav .r .btn{min-height:40px;padding:8px 18px;font-size:13.5px}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--hair-d);background:none;color:#fff;place-items:center;cursor:pointer}

@media(max-width:1260px){.menu>li>a{padding:10px 8px;font-size:14px}}
@media(max-width:1120px){.menu,.nav .r .btn{display:none}.burger{display:grid}}
/* hero */
.hero{position:relative;color:#fff;overflow:hidden;isolation:isolate;background:#020f2b}
.hero-bg{position:absolute;inset:-4%;z-index:-3;background:#03123a url(img/hero-network.webp) center 60%/cover no-repeat;animation:kb 34s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-1.5%,-1%,0)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,12,36,.88) 0%,rgba(2,12,36,.6) 36%,rgba(2,12,36,.12) 62%,rgba(2,12,36,.22) 100%),linear-gradient(180deg,rgba(2,12,36,.1),rgba(2,12,36,.45))}
.pt{position:absolute;bottom:-10px;border-radius:50%;background:#9fd6ff;box-shadow:0 0 10px 2px rgba(90,176,230,.7);z-index:-1;animation:rise linear infinite;opacity:0}
@keyframes rise{0%{transform:translateY(0);opacity:0}10%{opacity:.9}100%{transform:translateY(-520px);opacity:0}}
.hgrid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:center;min-height:480px;padding-block:clamp(24px,3vw,40px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font:500 13px var(--ff);color:#cfe0f6}
.crumbs i{width:4px;height:4px;border-radius:50%;background:var(--cyan);display:block}
.hero h1{font-size:clamp(36px,4.4vw,64px);font-weight:700;color:#fff;margin-top:14px;line-height:1.02;letter-spacing:-.025em}
.hero h1 span{background:linear-gradient(100deg,#8fd0ff,#2f8bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub-t{font-size:clamp(15px,1.2vw,17.5px);color:#c3d4ec;margin-top:16px;max-width:600px}
.addr{display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 6px 6px 18px;margin-top:22px;max-width:620px;box-shadow:0 0 0 4px rgba(47,139,255,.22),0 20px 40px -20px rgba(0,0,0,.6)}
.addr svg{color:var(--blue);flex:none}
.addr input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 14.5px var(--ff);color:var(--ink);padding:9px 0}
.addr input::placeholder{color:#8a99b3}
.addr .btn{min-height:44px;padding:10px 20px}
.hchips{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font:500 13px var(--ff);color:#cfe0f6}
.hchips span{display:inline-flex;align-items:center;gap:7px}
.hchips svg{width:16px;height:16px;color:var(--cyan)}
.res{display:none;margin-top:18px;max-width:620px;background:rgba(3,18,52,.7);border:1px solid var(--hair-d);border-radius:16px;padding:16px;backdrop-filter:blur(10px)}
.res.show{display:block;animation:up .45s cubic-bezier(.22,.61,.36,1) both}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ok{display:flex;align-items:center;gap:10px;font-weight:600}
.ok .d{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#56dfa0,#169a5f);display:grid;place-items:center;flex:none}
.ok small{display:block;color:#5fe3a5;font:700 10.5px/1 var(--ff);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.r3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.rp{background:rgba(2,15,43,.6);border:1px solid var(--hair-d);border-radius:12px;padding:11px;text-align:center}
.rp.b{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
.rp .n{font:700 10.5px/1.25 var(--ff);text-transform:uppercase;color:var(--cyan)}
.rp .p{font-weight:700;margin-top:6px}.rp .p b{font-size:19px}
.res .f{font-size:12.5px;color:#9fb6d6;margin-top:10px}.res .f a{color:var(--cyan);font-weight:600}
/* hero visual: map in the middle, clickable service nodes, side banner */
.hvw{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;align-items:center}
.hv{position:relative;height:460px}
.hv canvas{position:absolute;inset:0;width:100%;height:100%}
.node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;font:600 12.5px var(--ff);color:#e6f0ff;transform:translate(-50%,-50%);animation:bob 5s ease-in-out infinite;z-index:2}
.node .c{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(8,32,78,.78);border:1.5px solid rgba(143,208,255,.55);box-shadow:0 0 22px -4px rgba(90,176,230,.7),inset 0 0 12px rgba(47,139,255,.35);backdrop-filter:blur(8px);transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.node .c svg{width:23px;height:23px;color:#cfe8ff}
.node:hover .c,.node:focus-visible .c,.node.on .c{transform:scale(1.12);background:var(--grad);border-color:#bfe6ff;box-shadow:0 0 0 6px rgba(47,139,255,.22),0 0 34px rgba(90,176,230,.9)}
.node .t{padding:2px 9px;border-radius:999px;background:rgba(2,15,43,.55)}
.node:hover .t,.node.on .t{background:var(--blue)}
@keyframes bob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 7px))}}
main[data-route="home"] .hub{position:relative;width:100%;padding:16px 16px 14px;border-radius:18px;background:rgba(6,24,62,.78);border:1px solid rgba(143,208,255,.35);backdrop-filter:blur(12px);box-shadow:0 0 40px -6px rgba(47,139,255,.55),inset 0 1px 0 rgba(255,255,255,.12);text-align:center}
main[data-route="home"] .hub .hi{width:48px;height:48px;border-radius:14px;margin:0 auto 10px;background:var(--grad);display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(47,139,255,.9)}
main[data-route="home"] .hub .hi svg{width:24px;height:24px;color:#fff}
main[data-route="home"] .hub b{display:block;font-size:15px}main[data-route="home"] .hub small{display:block;font-size:12px;color:#9fc3ee;margin-top:2px;min-height:36px}
main[data-route="home"] .hub .sp{margin-top:6px;font:700 24px var(--ff);color:#fff}main[data-route="home"] .hub .sp span{font-size:11.5px;color:#8fd0ff;font-weight:600}
main[data-route="home"] .hub .go{display:inline-flex;margin-top:10px;font:600 12.5px var(--ff);color:var(--sky);gap:4px}
main[data-route="home"] .hub.sw{animation:hb .35s ease}
@keyframes hb{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hgrid{grid-template-columns:minmax(0,1fr)}.hvw{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:640px){.hvw{grid-template-columns:minmax(0,1fr)}.hv{height:340px}.node .c{width:44px;height:44px}.node{font-size:11px}main[data-route="home"] .hub{max-width:340px;margin:0 auto;display:grid;grid-template-columns:48px 1fr auto;gap:12px;text-align:left;align-items:center}main[data-route="home"] .hub .hi{margin:0}main[data-route="home"] .hub small{min-height:0}main[data-route="home"] .hub .sp{margin:0;font-size:19px}main[data-route="home"] .hub .go{display:none}}

/* ecosystem — photo cards from beconnect.nz */
.eco{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ec{position:relative;isolation:isolate;overflow:hidden;min-height:300px;border-radius:16px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:18px 16px 16px;background:#061a40 var(--img) 74% center/cover no-repeat;box-shadow:0 18px 36px -26px rgba(1,15,43,.8);transition:transform .2s,box-shadow .2s}
.ec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,13,38,.05) 0%,rgba(2,13,38,.35) 34%,rgba(2,13,38,.86) 62%,rgba(2,13,38,.97) 100%);transition:opacity .2s}
.ec:hover{transform:translateY(-4px);box-shadow:0 26px 44px -24px rgba(1,15,43,.85)}
.ec:hover{background-size:cover}
.ec .ic{position:absolute;top:14px;left:14px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(10,30,70,.55);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.ec .ic svg{width:20px;height:20px;color:#fff}
.ec h3{font-size:17.5px;font-weight:700;color:#fff}
.ec p{font-size:12.8px;color:#c6d6ee;line-height:1.5}
.ec .ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
.ec .fr{font:600 12.5px var(--ff);color:var(--sky)}.ec .fr b{font-size:17px;color:#fff}
.ec .ar{width:34px;height:34px;flex:none;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:grid;place-items:center;transition:.2s}
.ec:hover .ar{background:#fff;color:var(--navy);border-color:#fff}
@media(max-width:1250px){.eco{grid-template-columns:repeat(3,minmax(0,1fr))}.ec{min-height:250px}}
@media(max-width:640px){.eco{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ec{min-height:236px;padding:14px 12px 12px}.ec p{display:none}.ec h3{font-size:15.5px}}

/* bundle — matches the live site's plan selection */
.bnd{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:clamp(18px,2vw,28px);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(18px,2.2vw,32px);box-shadow:0 24px 50px -40px rgba(1,34,77,.45)}
.bnd h2{font-size:clamp(21px,2vw,28px);font-weight:700;color:var(--navy);margin-top:6px}
.pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:14px;margin-top:20px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.lab{display:flex;align-items:center;gap:9px;font:600 14px var(--ff);color:var(--navy)}
.lab i{font-style:normal;width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font:700 12.5px var(--ff);flex:none}
.lab small{font-weight:500;color:#7d8ba0;font-size:12px}
.sel{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:54px;border:1.5px solid #d3e2f5;border-radius:14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230E63C8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat;padding:0 40px 0 14px;font:500 14px var(--ff);color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s;text-overflow:ellipsis}
.sel:hover{border-color:#a9c7ee}.sel:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(14,99,200,.14)}
.sel.has{border-color:var(--blue);background-color:#f5f9ff}
.mo{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}
.qty{display:flex;align-items:center;height:54px;border:1.5px solid #d3e2f5;border-radius:14px;overflow:hidden}
.qty button{width:30px;height:100%;border:0;background:none;color:var(--blue);font-size:18px;cursor:pointer}
.qty button:hover{background:var(--tint)}
.qty input{width:100%;min-width:0;border:0;text-align:center;font:700 15px var(--ff);color:var(--ink);-moz-appearance:textfield;background:none}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.xtr{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.chk{display:flex;align-items:center;gap:10px;border:1.5px solid #d3e2f5;border-radius:12px;padding:10px 14px;font-size:13.5px;cursor:pointer;transition:.15s;color:var(--ink)}
.chk input{width:18px;height:18px;accent-color:var(--blue);margin:0}
.chk b{color:var(--navy)}.chk span{color:var(--soft)}
.chk:has(input:checked){border-color:var(--blue);background:#f5f9ff}
.fine{font-size:12px;color:var(--soft);margin-top:16px}.fine a{color:var(--blue);font-weight:600}
.sum{background:linear-gradient(160deg,#04183f,#062a6b);color:#fff;border-radius:16px;padding:18px;display:flex;flex-direction:column}
.sum .top{display:flex;justify-content:space-between;align-items:center}
.sum h3{font-size:15px;font-weight:700}
.sum .top span{font:600 11px var(--ff);letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.sl{list-style:none;margin:10px 0 0;padding:0;display:grid}
.sl li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.sl li svg{width:16px;height:16px;color:var(--sky)}
.sl li b{font-weight:600;font-variant-numeric:tabular-nums;color:#dbe8fb}
.sl .e{grid-template-columns:1fr;color:#9fb6d6;text-align:center;padding:18px 0}
.tot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;flex-wrap:wrap}
.tot .k{font-size:12px;color:#9fb6d6}
.tot .p{font:700 36px/1 var(--ff);font-variant-numeric:tabular-nums}.tot .p span{font-size:13px;color:#9fb6d6;font-weight:500}
.sum .btn{width:100%;margin-top:14px}
@media(max-width:1250px){.pick{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pick .fld:last-child{grid-column:1/-1}}
@media(max-width:980px){.bnd{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.pick{grid-template-columns:minmax(0,1fr)}}

/* AI band */
.ai{background:radial-gradient(70% 120% at 85% 50%,rgba(47,139,255,.28),transparent 60%),linear-gradient(120deg,#04183f,#062a6b);border-radius:18px;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,.9fr);gap:clamp(18px,2.5vw,40px);align-items:center;padding:clamp(22px,2.4vw,34px) clamp(22px,3vw,48px);overflow:hidden;position:relative}
.ai h2{font-size:clamp(24px,2.3vw,34px);font-weight:700;color:#fff}
.ai h2 span{color:var(--sky)}
.ai p{color:#b8cbe6;margin-top:10px;font-size:14.5px;max-width:460px}
.ai .btn{margin-top:18px}
.fl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.fl li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}
.fl .i{width:38px;height:38px;border-radius:50%;border:1px solid rgba(143,208,255,.4);display:grid;place-items:center;color:#cfe8ff}
.fl .i svg{width:18px;height:18px}
.fl b{display:block;font-size:14px}.fl small{color:#a9bddb;font-size:12.5px}
.bea{position:relative;justify-self:end;width:100%;max-width:320px;background:rgba(3,16,46,.75);border:1px solid rgba(143,208,255,.3);border-radius:22px;padding:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.bea .hd{display:flex;align-items:center;gap:10px}
.av{width:38px;height:38px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:700;color:#fff;flex:none}
.bea .hd b{display:block;font-size:14.5px}.bea .hd small{color:#8fd0ff;font-size:11.5px}
.bub{margin-top:12px;background:rgba(255,255,255,.08);border-radius:14px;border-top-left-radius:4px;padding:10px 12px;font-size:13px;color:#e4eefc}
.qa{display:grid;gap:7px;margin-top:10px}
.qa button{text-align:left;background:rgba(47,139,255,.14);border:1px solid rgba(143,208,255,.28);color:#d8eaff;border-radius:12px;padding:9px 12px;font:500 12.5px var(--ff);cursor:pointer}
.qa button:hover{background:rgba(47,139,255,.26)}
@media(max-width:1250px){.ai{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ai .bea{grid-column:1/-1;justify-self:stretch;max-width:none}}
@media(max-width:760px){.ai{grid-template-columns:minmax(0,1fr)}.fl{grid-template-columns:1fr}}

/* two-up rows */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.box{background:var(--card);border:1px solid var(--hair);border-radius:18px;overflow:hidden}
@media(max-width:980px){.duo{grid-template-columns:minmax(0,1fr)}}
.spdt{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.spdt .img{position:relative;min-height:260px;background:#0a2353 url(img/sol-broadband.webp) 72% center/cover no-repeat}
.spdt .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(255,255,255,.0))}
.spdt .img .tag{position:absolute;left:14px;bottom:14px;background:rgba(2,15,43,.7);color:#fff;border:1px solid var(--hair-d);border-radius:12px;padding:8px 12px;font:600 12px var(--ff);backdrop-filter:blur(6px)}
.spdt .img .tag b{display:block;font-size:20px}
.spdt .bd{padding:20px 24px}
.spdt h3{font-size:20px;font-weight:700;color:var(--navy)}
.trk{margin:18px 0 6px}
.trk input{width:100%;accent-color:var(--blue);margin:0}
.tks{display:flex;justify-content:space-between;font:600 11.5px var(--ff);color:var(--soft);margin-top:4px}
.big{font:700 32px/1 var(--ff);color:var(--navy);margin-top:12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.big span{font-size:16px;color:var(--soft);font-weight:600}
.big em{font:600 12.5px var(--ff);font-style:normal;color:var(--blue);background:var(--tint);border-radius:999px;padding:4px 10px}
.gd{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:12px;font-size:13.5px}
.gd div{display:flex;gap:8px;align-items:center}.gd svg{width:15px;height:15px;color:var(--mint);flex:none}
.spdt .ft{display:flex;justify-content:flex-end;margin-top:10px}
.chipbtn{border:1.5px solid var(--hair);background:#fff;border-radius:999px;padding:7px 14px;font:600 12.5px var(--ff);color:var(--blue);cursor:pointer}
@media(max-width:620px){.spdt{grid-template-columns:minmax(0,1fr)}.spdt .img{min-height:160px}}
.mob{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;background:linear-gradient(135deg,#eaf3ff,#f6f9fe)}
.phm{justify-self:center;width:150px;height:262px;margin:18px 0;border-radius:28px;background:#0b1b33;padding:7px;box-shadow:0 30px 50px -24px rgba(1,34,77,.6);position:relative}
.phm .s{width:100%;height:100%;border-radius:22px;background:#0b2d6b url(img/sol-mobile.webp) 66% center/cover;position:relative;overflow:hidden}
.phm .nt{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:46px;height:12px;border-radius:999px;background:#0b1b33;z-index:2}
.phm .w{position:absolute;left:10px;right:10px;bottom:14px;background:rgba(2,15,43,.72);border-radius:12px;padding:9px;color:#fff;backdrop-filter:blur(6px)}
.phm .w small{display:block;font-size:9px;color:var(--sky);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.phm .w b{font-size:15px}
.mob .bd{padding:20px 24px 18px 6px}
.mob h3{font-size:20px;font-weight:700;color:var(--navy);line-height:1.15}
.mob p{color:var(--soft);font-size:13.5px;margin-top:6px}
.tabs{display:inline-flex;background:#fff;border:1px solid var(--hair);border-radius:999px;padding:3px;margin-top:12px}
.tabs button{border:0;background:none;border-radius:999px;padding:7px 14px;font:600 12px var(--ff);color:var(--soft);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--grad);color:#fff}
.plc{margin-top:12px;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.plc b{font-size:14px;color:var(--navy)}.plc small{display:block;color:var(--soft);font-size:12px}
.plc .pr{font:700 26px/1 var(--ff);color:var(--navy)}.plc .pr span{font-size:12px;color:var(--soft);font-weight:500}
.nv{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.dots{display:flex;gap:5px}.dots i{width:6px;height:6px;border-radius:999px;background:#cbdaf0;display:block;transition:.2s}.dots i.on{width:16px;background:var(--blue)}
.arr{display:flex;gap:6px}.arr button{width:34px;height:34px;border-radius:50%;border:1px solid var(--hair);background:#fff;color:var(--navy);cursor:pointer;display:grid;place-items:center;font-size:16px}
@media(max-width:620px){.mob{grid-template-columns:minmax(0,1fr)}.mob .bd{padding:4px 20px 20px}}

/* why + live network status */
.ws{position:relative;background:#fff;border-block:1px solid var(--hair);overflow:hidden;isolation:isolate}
.ws canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.9}
.wsg{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(18px,2.6vw,40px);align-items:start;padding-block:var(--sec)}
.ws h2{font-size:clamp(24px,2.4vw,36px);font-weight:700;color:var(--navy);margin-top:8px}
.ws .lead{max-width:640px;font-size:15px}
.ws .btn{margin-top:16px}
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:20px}
.wy{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:14px;transition:.18s}
.wy:hover{border-color:#cfe0f7;transform:translateY(-2px);box-shadow:0 14px 28px -22px rgba(1,34,77,.4)}
.wy .i{width:42px;height:42px;border-radius:12px;background:var(--tint);color:var(--blue);display:grid;place-items:center}
.wy .i svg{width:20px;height:20px}
.wy b{display:block;font-size:14.5px;color:var(--navy)}.wy small{display:block;font-size:12.8px;color:var(--soft);line-height:1.5;margin-top:2px}
.ns{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:18px;box-shadow:0 24px 50px -36px rgba(1,34,77,.45)}
.ns .hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ns h3{font-size:20px;font-weight:700;color:var(--navy)}
.chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;font:600 12.5px var(--ff);background:#e9f8f0;color:#138a52}
.chip .pl{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:pl 2s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(34,181,115,.55)}70%{box-shadow:0 0 0 8px rgba(34,181,115,0)}100%{box-shadow:0 0 0 0 rgba(34,181,115,0)}}
.chip.warn{background:#fff5e5;color:#b9770e}.chip.down{background:#fdecea;color:#c0392b}
.ns .meta{font-size:12px;color:var(--soft);margin-top:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ns .meta button{border:0;background:none;color:var(--blue);font:600 12px var(--ff);cursor:pointer;padding:0}
.cats{display:grid;gap:8px;margin-top:14px}
.cat{border:1px solid var(--hair);border-radius:14px;overflow:hidden}
.cat>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;align-items:center;background:#fff;border:0;padding:13px 14px;cursor:pointer;text-align:left;font:600 14.5px var(--ff);color:var(--navy)}
.cat>button:hover{background:#f7faff}
.cat>button svg{width:14px;height:14px;color:var(--soft);transition:transform .2s}
.cat.open>button svg{transform:rotate(180deg)}
.ndots{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ndots i{width:11px;height:11px;border-radius:50%;display:block;background:var(--mint);box-shadow:0 0 0 2px rgba(34,181,115,.14)}
.cl{display:none;list-style:none;margin:0;padding:10px 12px 12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:6px;background:#f6f9fd;border-top:1px solid var(--hair)}
.cat.open .cl{display:grid}
.cl li{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;background:#fff;border:1px solid #e8eff8;border-radius:10px;font-size:13.5px;line-height:1.3;color:var(--ink)}
.cl li i{width:9px;height:9px;border-radius:50%;flex:none;display:block}
.cl li b{flex:1;min-width:0;font-weight:500}
.cl li span{flex:none;font:600 11.5px var(--ff);padding:3px 9px;border-radius:999px;background:#e9f8f0;color:#138a52}
.cl li span.warn{background:#fff5e5;color:#b9770e}
.cl li span.down{background:#fdecea;color:#c0392b}
.ns .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ns .cta .btn{flex:1;min-height:44px;font-size:13.5px}
@media(max-width:1000px){.wsg{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.why{grid-template-columns:minmax(0,1fr)}}

/* portal + switching */
.por{background:linear-gradient(120deg,#04183f,#062a6b);color:#fff;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:16px;align-items:center;padding:20px 24px}
.por h3{font-size:20px;font-weight:700}.por p{color:#b8cbe6;font-size:13.5px;margin-top:6px}
.por .btn{margin-top:16px;min-height:40px;padding:8px 16px;font-size:13px}
.db{background:#fff;border-radius:12px;padding:10px;color:var(--ink);box-shadow:0 20px 40px -22px rgba(0,0,0,.6)}
.db .tb{display:flex;align-items:center;gap:14px;padding:2px 4px 8px;border-bottom:1px solid #eef3fa;font-size:10.5px;color:var(--soft);overflow:hidden}
.db .tb img{height:16px}
.dg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.dc{border:1px solid #eef3fa;border-radius:9px;padding:8px}
.dc .k{font-size:10.5px;color:var(--soft)}.dc .v{font-weight:700;font-size:13px;color:var(--navy)}.dc .v.g{color:var(--mint)}
.dg2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:7px}
.bars{display:flex;gap:2px;margin-top:5px}.bars i{flex:1;height:6px;border-radius:2px;background:var(--blue);display:block}.bars i.o{background:#dbe7f7}
@media(max-width:620px){.por{grid-template-columns:minmax(0,1fr)}.dg2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.swb{padding:20px 24px;background:linear-gradient(135deg,#f6f9fe,#eaf3ff)}
.swb h3{font-size:20px;font-weight:700;color:var(--navy)}.swb p{color:var(--soft);font-size:13.5px;margin-top:4px}
.s3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.s3 div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}
.s3 .n{width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font:700 13px var(--ff)}
.s3 b{display:block;font-size:13.5px;color:var(--navy)}.s3 small{color:var(--soft);font-size:12px}
.swb .btn{margin-top:18px}
@media(max-width:520px){.s3{grid-template-columns:minmax(0,1fr)}}

/* trust */
.trust{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:stretch}
.tl{position:relative;border-radius:18px;padding:22px 24px;background:linear-gradient(120deg,#fff 40%,#eaf3ff);border:1px solid var(--hair);overflow:hidden}
.tl canvas{position:absolute;right:0;top:0;height:100%;width:40%;pointer-events:none}
.tl h3{font-size:20px;font-weight:700;color:var(--navy)}.tl h3 span{color:var(--blue)}
.tl p{color:var(--soft);font-size:13.5px;margin-top:4px}
.stats{display:flex;flex-wrap:wrap;gap:6px 34px;margin-top:18px;position:relative}
.stats b{display:block;font:700 28px/1.1 var(--ff);color:var(--navy)}.stats small{color:var(--soft);font-size:12.5px}
.rv{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:20px 24px;display:flex;flex-direction:column;gap:10px}
.rv .top{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--soft);flex-wrap:wrap}
.rv .stars{color:#f5a623;letter-spacing:2px}
.rv q{font-size:15px;line-height:1.55;color:var(--ink)}
.rv .who{font-size:12.5px;color:var(--soft)}
@media(max-width:980px){.trust{grid-template-columns:minmax(0,1fr)}.tl canvas{opacity:.35}}
/* touch-size fixes */
.linkbtn{border:0;background:none;padding:6px 2px;color:var(--cyan);font:600 12.5px var(--ff);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.more{padding-block:8px}
.qty button{width:34px}
.qty input{height:100%}
.trk input{height:32px}
.ns .meta button{padding:8px 4px;min-height:32px}
.qty button{flex:none;width:36px}
.mo{grid-template-columns:minmax(0,1fr) 116px}
.tabs button{min-height:38px;padding:8px 16px}

/* footer — live site's columns and links, compact layout */
.foot{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(60% 120% at 90% 0%,rgba(14,99,200,.32),transparent 60%),linear-gradient(180deg,#020f2b,#04193f);color:#a9bddb;font-size:13.5px}
.foot canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ftop{display:grid;grid-template-columns:minmax(300px,1.1fr) minmax(0,3fr);gap:clamp(28px,4.5vw,80px);padding-block:clamp(30px,3.2vw,46px) 26px}
.flogo{display:inline-flex;align-items:center;gap:12px}
.flogo img{height:34px;width:auto}
.ftag{border-left:1px solid rgba(255,255,255,.28);padding-left:12px;font:600 9.5px/1.45 var(--ff);letter-spacing:.17em;text-transform:uppercase;color:#c9d8ee;white-space:nowrap}
.fbrand p{margin-top:14px;max-width:340px;font-size:13.5px;line-height:1.6}
.frow{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:16px}
.fphone{display:inline-flex;align-items:center;gap:8px;font:700 19px var(--ff);color:#fff;white-space:nowrap}
.fphone svg{width:18px;height:18px;color:var(--sky)}
.soc{display:flex;gap:8px}
.soc a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(143,208,255,.3);display:grid;place-items:center;color:#fff;transition:.18s}
.soc a svg{width:15px;height:15px}
.soc a:hover{background:var(--blue);border-color:var(--blue)}
.fbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fb{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:999px;background:var(--grad);color:#fff;font:600 13px var(--ff);box-shadow:0 10px 22px -14px rgba(14,99,200,.9);transition:transform .15s,background .15s;white-space:nowrap}
.fb svg{width:16px;height:16px}
.fb2{background:rgba(255,255,255,.06);border:1px solid rgba(143,208,255,.3);box-shadow:none}
.fb:hover{transform:translateY(-2px)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(34,181,115,.25);display:block}
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fh{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;padding:0 0 10px;margin:0;font:700 15px var(--ff);color:#fff;text-align:left;cursor:default;position:relative}
.fh::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;border-radius:2px;background:var(--blue-2)}
.fh svg{display:none;width:16px;height:16px}
.flk{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.flk a{color:#a9bddb;font-size:13.8px;transition:color .15s,padding .15s}
.flk a:hover{color:#fff;padding-left:3px}
.fbot{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding-block:16px;border-top:1px solid var(--hair-d);font-size:12.5px;color:#8ea6c8}
.fbl{display:flex;gap:18px}.fbl a:hover{color:#fff}
@media(min-width:901px){.fbot{padding-right:250px}}
@media(max-width:1180px) and (min-width:901px){.ftop{grid-template-columns:minmax(0,1fr)}.fbrand{display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"logo p p" "row btns btns";gap:14px 32px;align-items:center}.flogo{grid-area:logo}.fbrand p{grid-area:p;margin:0}.frow{grid-area:row;margin:0}.fbtns{grid-area:btns;margin:0}}
@media(max-width:600px){
  .ftop{grid-template-columns:minmax(0,1fr);gap:18px;padding-block:26px 8px}
  .fbrand p{margin-top:12px;max-width:none}
  .frow{justify-content:space-between}
  .fbtns{display:grid;grid-template-columns:1fr 1fr}
  .fcols{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--hair-d)}
  .fc{border-bottom:1px solid var(--hair-d)}
  .fh{padding:15px 2px;cursor:pointer;font-size:15.5px}
  .fh::after{display:none}
  .fh svg{display:block;color:#a9c1e3;transition:transform .2s}
  .fc.open .fh svg{transform:rotate(180deg)}
  .flk{display:none;margin:0 0 14px;grid-template-columns:1fr 1fr;gap:4px 12px}
  .fc.open .flk{display:grid}
  .flk a{display:block;padding:8px 2px;font-size:14px}
  .fbot{flex-direction:column;justify-content:center;text-align:center;gap:8px;padding-block:16px 18px}
}
@media(min-width:601px) and (max-width:900px){.ftop{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:28px 22px}.fbrand p{max-width:none}.frow{justify-content:space-between}.fbtns{display:grid;grid-template-columns:1fr 1fr}.fcols{gap:18px}.fbot{flex-direction:column;text-align:center;gap:8px}}
@media(max-width:380px){.fphone{font-size:17px}.soc a{width:34px;height:34px}.fb{font-size:12.5px;padding-inline:10px}}
/* floating */
.fab{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.askbea{display:flex;align-items:center;gap:10px;background:#04183f;color:#fff;border:1px solid rgba(143,208,255,.35);border-radius:16px;padding:9px 14px 9px 9px;box-shadow:0 18px 40px -16px rgba(1,10,30,.7);cursor:pointer;text-align:left}
.askbea .av{width:34px;height:34px;font-size:14px}
.askbea b{display:block;font-size:13px}.askbea small{color:#a9c4e8;font-size:11.5px}
.wa{width:50px;height:50px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px -10px rgba(37,211,102,.85)}
.tabbar{display:none}
@media(max-width:900px){
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:85;height:calc(62px + env(safe-area-inset-bottom,0px));padding:0 6px env(safe-area-inset-bottom,0px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-top:1px solid var(--hair);justify-content:space-around;align-items:flex-end}
  .tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 9px;font:600 10.5px var(--ff);color:#5a6b84;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .tabbar a svg,.tabbar button svg{width:22px;height:22px}
  .tabbar a.on,.tabbar button.on{color:var(--blue)}
  .tabbar a.mid{position:relative}
  .tabbar a.mid span.c{position:absolute;top:-26px;width:52px;height:52px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 10px 22px -8px rgba(14,99,200,.85),0 0 0 4px #fff}
  .tabbar a.mid .lb{margin-top:26px}
  body{padding-bottom:70px}
  .fab{bottom:80px}
  .askbea{padding:9px}.askbea div{display:none}
}
@media(max-width:560px){.note{font-size:10.5px}.addr{padding-left:14px}.addr .btn .x{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =====================================================================
   COMPONENT KIT — every subpage is composed from these classes only.
   ===================================================================== */
.pg[hidden]{display:none!important}
[id]{scroll-margin-top:110px}
.sec.alt{background:#fff;border-block:1px solid var(--hair)}
.sec.tint{background:var(--tint)}
.sec.dark{background:radial-gradient(70% 120% at 90% 0%,rgba(47,139,255,.25),transparent 60%),linear-gradient(120deg,#04183f,#062a6b);color:#fff}
.sec.alt,.sec.tint,.sec.dark,.sec.alt+.sec,.sec.tint+.sec,.sec.dark+.sec{padding-top:var(--sec)}
.dark .h2,.dark h2,.dark h3{color:#fff}
.dark .lead,.dark p{color:#b8cbe6}
.dark .eb{color:var(--cyan)}
.center{text-align:center}.center .lead{margin-inline:auto}
.head.center{flex-direction:column;align-items:center}
.lead{max-width:760px}
.mt-s{margin-top:12px}.mt-m{margin-top:20px}.mt-l{margin-top:32px}

/* ---------- page hero ---------- */
.ph{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#03153a}
.ph-bg{position:absolute;inset:0;z-index:-2;background:#03123a url(img/hero-network.webp) center 62%/cover no-repeat}
.ph-bg.photo{background-position:center;background-size:cover}
.ph::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,12,36,.94) 0%,rgba(2,12,36,.8) 45%,rgba(2,12,36,.45) 100%),linear-gradient(180deg,rgba(2,12,36,0),rgba(2,12,36,.4))}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3.2vw,52px);align-items:center;padding-block:clamp(26px,3.2vw,48px)}
.ph-grid.solo{grid-template-columns:minmax(0,1fr)}
.ph-grid.solo>div:first-child{max-width:900px}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font:500 12.5px var(--ff);color:#9fb9dd;list-style:none;margin:0;padding:0}
.crumb a{color:#c9daf2}.crumb a:hover{color:#fff}
.crumb li+li::before{content:"/";margin-right:8px;color:#5f7aa3}
.ph .eb{color:var(--cyan);margin-top:14px;display:block}
.ph h1{font-size:clamp(30px,3.5vw,50px);font-weight:700;line-height:1.06;letter-spacing:-.022em;color:#fff;margin-top:10px}
.ph h1 span{background:linear-gradient(100deg,#8fd0ff,#2f8bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph .lede{color:#c3d4ec;font-size:clamp(15px,1.15vw,17.5px);margin-top:12px;max-width:680px;line-height:1.6}
.ph .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ph .chips{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font:500 13px var(--ff);color:#cfe0f6}
.ph .chips span{display:inline-flex;align-items:center;gap:7px}
.ph .chips .i{width:16px;height:16px;color:var(--cyan)}
.ph-card{background:rgba(6,24,62,.72);border:1px solid rgba(143,208,255,.3);border-radius:18px;padding:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ph-card h2,.ph-card h3{font-size:18px;color:#fff;font-weight:700}
.ph-card p{color:#b8cbe6;font-size:14px;margin-top:6px}
.ph-img{border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);border:1px solid rgba(143,208,255,.25)}
.ph-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.ph-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ph-stats div{background:rgba(255,255,255,.06);border:1px solid var(--hair-d);border-radius:14px;padding:14px}
.ph-stats b{display:block;font:700 24px/1.1 var(--ff);color:#fff}.ph-stats small{color:#a9c1e3;font-size:12.5px}
@media(max-width:980px){.ph-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- grids + split ---------- */
.g2,.g3,.g4,.g5,.g6{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){.g5,.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.g5,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3.4vw,56px);align-items:center}
.split.top{align-items:start}
.split.wide{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.split.rev>:first-child{order:2}
@media(max-width:900px){.split,.split.wide{grid-template-columns:minmax(0,1fr)}.split.rev>:first-child{order:0}}
.media{border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -32px rgba(1,34,77,.55);background:#0a2353}
.media img{display:block;width:100%;aspect-ratio:var(--ar,4/3);object-fit:cover}
.prose-col h2{font-size:clamp(22px,2.2vw,32px);font-weight:700;color:var(--navy);margin-top:8px}
.prose-col p{color:var(--soft);margin-top:10px}
.dark .prose-col h2{color:#fff}
.dark .prose-col p{color:#b8cbe6}
.prose-col .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* ---------- cards ---------- */
.card{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:9px;transition:transform .18s,box-shadow .2s,border-color .2s;min-width:0;color:var(--ink)}
a.card:hover,.card.hov:hover{transform:translateY(-3px);border-color:#cfe0f7;box-shadow:0 18px 36px -24px rgba(1,34,77,.4)}
.card .ic{width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex:none}
.card .ic .i{width:22px;height:22px}
a.card:hover .ic{background:var(--grad);color:#fff}
.card h3{font-size:17px;font-weight:700;color:var(--navy);line-height:1.25}
.card p{font-size:14px;color:var(--soft);line-height:1.55}
.card .go{margin-top:auto;padding-top:4px;font:600 13.5px var(--ff);color:var(--blue);display:inline-flex;align-items:center;gap:6px}
.card .num{font:700 13px var(--ff);color:var(--blue);letter-spacing:.06em}
.card.row{flex-direction:row;align-items:flex-start;gap:14px}
.card.row>div{min-width:0}
.dark .card{background:rgba(255,255,255,.05);border-color:rgba(143,208,255,.2);color:#e6eefb}
.dark .card h3{color:#fff}.dark .card p{color:#b8cbe6}
.dark .card .ic{background:rgba(47,139,255,.18);color:#bfe1ff}
.card.feature{padding:24px;background:linear-gradient(160deg,#fff,#f3f8ff)}
.badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border-radius:999px;padding:4px 10px;font:600 11.5px var(--ff);background:var(--tint);color:var(--blue)}
.badge.green{background:#e9f8f0;color:#138a52}.badge.amber{background:#fff5e5;color:#b9770e}.badge.dark{background:var(--navy);color:#fff}

/* ---------- lists ---------- */
.ticks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:9px}
.ticks li{position:relative;padding-left:28px;font-size:14.5px;color:var(--ink);line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:#e9f8f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322b573' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.dark .ticks li{color:#dbe7f8}.dark .ticks li::before{background-color:rgba(34,181,115,.18)}
.ticks.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px}
@media(max-width:620px){.ticks.two{grid-template-columns:minmax(0,1fr)}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;counter-reset:st}
.steps li{counter-increment:st;background:#fff;border:1px solid var(--hair);border-radius:16px;padding:20px;position:relative}
.steps li::before{content:counter(st);width:36px;height:36px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font:700 15px var(--ff);margin-bottom:12px;box-shadow:0 8px 18px -8px rgba(14,99,200,.8)}
.steps h3{font-size:16px;color:var(--navy);font-weight:700}
.steps p{font-size:14px;color:var(--soft);margin-top:4px}
.dark .steps li{background:rgba(255,255,255,.05);border-color:rgba(143,208,255,.2)}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:14px}
.stat{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:18px}
.stat b{display:block;font:700 30px/1.05 var(--ff);color:var(--navy)}
.stat small{display:block;color:var(--soft);font-size:13px;margin-top:4px}
.dark .stat{background:rgba(255,255,255,.05);border-color:rgba(143,208,255,.2)}.dark .stat b{color:#fff}.dark .stat small{color:#a9c1e3}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.chip-l{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hair);background:#fff;border-radius:999px;padding:7px 14px;font:600 13px var(--ff);color:var(--navy)}
a.chip-l:hover{border-color:var(--blue);color:var(--blue)}
.dark .chip-l{background:rgba(255,255,255,.06);border-color:rgba(143,208,255,.25);color:#e2ecfb}

/* ---------- CTA band + callout ---------- */
.cta-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;align-items:center;border-radius:20px;padding:clamp(22px,2.6vw,36px);color:#fff;background:radial-gradient(70% 140% at 100% 0%,rgba(47,139,255,.4),transparent 60%),linear-gradient(120deg,#04183f,#073a8a)}
.cta-band h2{font-size:clamp(21px,2vw,28px);font-weight:700;color:#fff}
.cta-band p{color:#c3d6f2;margin-top:6px;max-width:640px}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
@media(max-width:800px){.cta-band{grid-template-columns:minmax(0,1fr)}.cta-band .acts{justify-content:flex-start}}
.callout{display:flex;gap:12px;align-items:flex-start;border-radius:14px;padding:14px 16px;background:var(--tint);border:1px solid #d6e6fa;color:var(--ink);font-size:14px}
.callout .i{color:var(--blue);margin-top:1px}
.callout.warn{background:#fff8ec;border-color:#f5dcae}.callout.warn .i{color:#b9770e}

/* ---------- plans (rendered by app.js from window.PLANS) ---------- */
.plans-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ptab{border:1.5px solid #d3e2f5;background:#fff;color:var(--navy);border-radius:999px;padding:9px 18px;font:600 13.5px var(--ff);cursor:pointer;transition:.15s;min-height:42px}
.ptab:hover{border-color:var(--blue)}
.ptab[aria-selected=true]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 18px -10px rgba(14,99,200,.8)}
.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.plan-grid.pc-1{grid-template-columns:minmax(0,420px)}
.plan-grid.pc-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
.plan-grid.pc-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.plan-grid.pc-5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1280px){.plan-grid.pc-4,.plan-grid.pc-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.plan-grid.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
@media(max-width:560px){.plan-grid.plan-grid{grid-template-columns:minmax(0,1fr)}}
.plan{position:relative;background:#fff;border:1px solid var(--hair);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .18s,box-shadow .2s,border-color .2s}
.plan:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(1,34,77,.45);border-color:#cfe0f7}
.plan.pop{padding:19px;border:2px solid var(--blue);box-shadow:0 22px 44px -28px rgba(14,99,200,.6)}
.plan .pl-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;min-height:26px}
.plan .seg{font:600 11.5px var(--ff);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.plan .flag{font:700 11px var(--ff);border-radius:999px;padding:4px 10px;background:var(--grad);color:#fff}
.plan .flag.alt{background:#e9f8f0;color:#138a52}
.plan h3{font-size:18px;font-weight:700;color:var(--navy);line-height:1.25}
.plan .spd{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--soft);font-size:13px;padding:10px 12px;border-radius:12px;background:var(--tint)}
.plan .spd b{font:700 22px var(--ff);color:var(--navy)}
.plan .price{display:flex;align-items:baseline;gap:4px;margin-top:2px}
.plan .price b{font:700 38px/1 var(--ff);color:var(--navy);letter-spacing:-.02em}
.plan .price sup{font:700 18px var(--ff);color:var(--navy);align-self:flex-start;margin-top:4px}
.plan .price small{font-size:12.5px;color:var(--soft)}
.plan .ticks{margin-top:4px}
.plan .ticks li{font-size:13.5px}
.plan .btn{margin-top:auto;width:100%}
.plans-note{margin-top:16px;font-size:13px;color:var(--soft)}
.plans-note a{color:var(--blue);font-weight:600}

/* ---------- tabs (generic) ---------- */
.tabset .tabbtns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tabpanel[hidden]{display:none}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--hair);border-radius:14px;overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:#cfe0f7;box-shadow:0 14px 30px -24px rgba(1,34,77,.4)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;font:600 15px/1.4 var(--ff);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E63C8' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 18px 16px;color:var(--soft);font-size:14.5px;line-height:1.65}
.faq .ans p+p{margin-top:8px}

/* ---------- tables ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.tbl th{background:var(--navy);color:#fff;text-align:left;font-weight:600;padding:11px 14px;white-space:nowrap}
.tbl td{padding:10px 14px;border-top:1px solid #eef3fa;color:var(--ink)}
.tbl tr:nth-child(even) td{background:#f9fbfe}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}

/* ---------- forms ---------- */
.form{display:grid;gap:14px}
.frow2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.frow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:620px){.frow2,.frow3{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>label,.field>.lbl{font:600 13.5px var(--ff);color:var(--navy)}
.field .req{color:#d64545}
.field input,.field select,.field textarea{width:100%;min-width:0;height:50px;border:1.5px solid #d3e2f5;border-radius:12px;background:#fff;padding:0 14px;font:500 14.5px var(--ff);color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230E63C8' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(14,99,200,.14)}
.field input[type=file]{height:auto;padding:12px;border-style:dashed;background:#f9fbfe;font-size:13.5px}
.field .hint{font-size:12px;color:var(--soft)}
.field .err{font-size:12.5px;color:#c0392b;font-weight:600;display:none}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#d64545;box-shadow:0 0 0 4px rgba(214,69,69,.1)}
.field.bad .err{display:block}
.choice{display:flex;flex-wrap:wrap;gap:8px}
.choice label{position:relative;display:inline-flex;align-items:center;gap:8px;border:1.5px solid #d3e2f5;border-radius:999px;padding:10px 16px;font:600 13.5px var(--ff);color:var(--navy);cursor:pointer;background:#fff;min-height:44px}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice label:has(input:checked){border-color:var(--blue);background:#f2f7ff;color:var(--blue);box-shadow:0 0 0 3px rgba(14,99,200,.12)}
.choice label:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}
.form .btn[type=submit]{justify-self:start;min-width:180px}
.form-note{font-size:12.5px;color:var(--soft)}
.form-ok{display:none;text-align:center;padding:26px 18px;border-radius:16px;background:#f2fbf6;border:1px solid #c9ecd9}
.form-ok .tick{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;background:radial-gradient(circle at 35% 30%,#56dfa0,#169a5f);display:grid;place-items:center;color:#fff}
.form-ok h3{font-size:19px;color:var(--navy)}
.form-ok p{color:var(--soft);font-size:14px;margin-top:6px}
.form-ok small{display:block;margin-top:10px;font-size:12px;color:#7a8aa5}
form.sent{display:none}
form.sent+.form-ok{display:block}
.dark .field>label,.ph .field>label{color:#e2ecfb}
.formcard{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:clamp(18px,2.2vw,28px);box-shadow:0 24px 50px -36px rgba(1,34,77,.45)}
.formcard h2,.formcard h3{font-size:20px;font-weight:700;color:var(--navy)}
.formcard>p{color:var(--soft);font-size:14px;margin:6px 0 16px}
.addr-inline{display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px 6px 6px 16px;align-items:center;box-shadow:0 0 0 4px rgba(47,139,255,.2)}
.addr-inline .i{color:var(--blue)}
.addr-inline input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 14.5px var(--ff);color:var(--ink);padding:10px 0}
.addr-inline .btn{min-height:44px;padding:10px 18px}
@media(max-width:520px){.addr-inline{flex-wrap:wrap;border-radius:16px;padding:8px}.addr-inline input{flex-basis:calc(100% - 40px)}.addr-inline .btn{width:100%}}

/* ---------- modal (dialog) ---------- */
dialog.modal{border:0;padding:0;border-radius:20px;width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;box-shadow:0 40px 80px -30px rgba(1,15,43,.6);overflow:hidden}
dialog.modal[open]{display:flex;flex-direction:column;animation:mIn .25s cubic-bezier(.22,.61,.36,1)}
dialog.modal::backdrop{background:rgba(2,10,30,.6);backdrop-filter:blur(3px)}
@keyframes mIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.modal-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--hair);flex:none}
.modal-hd h2{font-size:18px;color:var(--navy);font-weight:700}
.modal-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--tint);color:var(--navy);display:grid;place-items:center;cursor:pointer;flex:none}
.modal-bd{padding:20px;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:620px){dialog.modal{width:100%;max-width:none;margin:auto 0 0;max-height:92dvh;border-radius:20px 20px 0 0}}

/* ---------- prose (legal, KB articles) ---------- */
.prose{max-width:840px;color:var(--ink);font-size:15.5px;line-height:1.75}
.prose>*+*{margin-top:14px}
.prose h2{font-size:clamp(20px,1.8vw,26px);color:var(--navy);font-weight:700;margin-top:30px;line-height:1.25}
.prose h3{font-size:18px;color:var(--navy);font-weight:700;margin-top:24px}
.prose h4{font-size:16px;color:var(--navy);font-weight:700;margin-top:20px}
.prose a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{padding-left:22px}
.prose li+li{margin-top:6px}
.prose img{border-radius:12px;border:1px solid var(--hair);height:auto}
.prose table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--hair);padding:8px 10px;text-align:left}
.prose th{background:var(--tint);color:var(--navy)}
.prose code{background:var(--tint);border-radius:6px;padding:1px 6px;font-size:.92em;word-break:break-word}
.prose pre{background:#0b1b33;color:#dce8fa;border-radius:12px;padding:14px;overflow-x:auto;font-size:13px}
.prose blockquote{border-left:4px solid var(--blue);padding:8px 16px;background:var(--tint);border-radius:0 12px 12px 0;color:var(--soft)}
.layout-side{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(20px,3vw,48px);align-items:start}
.layout-side aside{position:sticky;top:112px;display:grid;gap:14px}
@media(max-width:980px){.layout-side{grid-template-columns:minmax(0,1fr)}.layout-side aside{position:static}}
.toc{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:16px}
.toc b{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}
.toc a{display:block;padding:6px 0;font-size:14px;color:var(--navy);border-top:1px solid #eef3fa}
.toc a:first-of-type{border-top:0}
.toc a:hover{color:var(--blue)}

/* ---------- misc ---------- */
.searchbar{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #d3e2f5;border-radius:999px;padding:0 16px;height:50px;max-width:520px}
.searchbar .i{color:var(--soft)}
.searchbar input{flex:1;min-width:0;border:0;outline:0;font:500 14.5px var(--ff);color:var(--ink);background:none}
.searchbar:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(14,99,200,.14)}
.empty{padding:24px;text-align:center;color:var(--soft);border:1px dashed var(--hair);border-radius:14px}
.preview-note{font-size:12.5px;color:var(--soft);display:flex;gap:8px;align-items:flex-start}
.preview-note .i{width:16px;height:16px;color:var(--blue);margin-top:2px}
.logo-row{display:flex;flex-wrap:wrap;gap:10px}
.kbd{display:inline-block;font:600 12px ui-monospace,Consolas,monospace;background:var(--tint);border-radius:6px;padding:2px 6px;color:var(--navy)}

.faq details:not([open]) .ans{display:none}
.plan .spd .nw{white-space:nowrap}
.prose{overflow-wrap:anywhere}
.prose pre{white-space:pre-wrap;word-break:break-word}
.prose code{overflow-wrap:anywhere}
/* text spans the full width (owner preference) */
.ph-grid.solo>div:first-child{max-width:none}
.ph .lede{max-width:none}
.lead{max-width:none}
.cta-band p{max-width:none}

/* address suggestions (all address fields) */
.field,.addr-inline,.addr{position:relative}
.bb-ac{position:fixed;z-index:1000;background:#fff;border:1px solid var(--hair);border-radius:12px;box-shadow:0 18px 40px -20px rgba(1,34,77,.45);overflow:hidden;max-height:264px;overflow-y:auto;text-align:left}
.bb-ac button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 14px;font:500 14px/1.4 var(--ff);color:var(--navy);cursor:pointer;min-height:44px}
.bb-ac button:hover,.bb-ac button:focus{background:var(--tint);outline:0}
.res .rconf{min-height:40px;padding:9px 18px;font-size:13.5px;margin-right:6px}


/* ---------- app-style menu for phones + tablets ---------- */
.appm{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;color:#fff;padding-top:env(safe-area-inset-top,0px);
  background:radial-gradient(120% 60% at 100% 0%,rgba(47,139,255,.35),transparent 60%),radial-gradient(80% 50% at 0% 100%,rgba(90,176,230,.18),transparent 60%),#020f2b;
  opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.appm.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease}
.am-top{flex:none;display:flex;align-items:center;justify-content:space-between;height:64px;padding-inline:var(--gut)}
.am-logo img{height:30px;width:auto;display:block}
.am-x{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}
.am-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px var(--gut) 22px;max-width:760px;width:100%;margin:0 auto}
.am-body>*,.am-main>*{opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--i,0) * 35ms)}
.appm.open .am-body>*,.appm.open .am-main>*{opacity:1;transform:none}
.am-main{display:grid;gap:22px}
.am-hello b{display:block;font:700 26px/1.1 var(--ff)}
.am-hello span{display:block;color:#a9c1e3;font-size:14.5px;margin-top:4px}
.am-search{display:flex;align-items:center;gap:10px;margin:16px 0 18px;height:52px;padding:0 8px 0 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:border-color .15s,background .15s}
.am-search:focus-within{border-color:var(--cyan);background:rgba(255,255,255,.12)}
.am-search>.i{color:#a9c1e3}
.am-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:#fff;font:500 15.5px var(--ff)}
.am-search input::placeholder{color:#8ea6c8}
.am-search input::-webkit-search-cancel-button{display:none}
.am-clear{width:36px;height:36px;border-radius:10px;border:0;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer}
.am-results{display:grid;gap:8px;margin-bottom:20px}
.am-res{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.am-res:active,.am-res:hover{background:rgba(47,139,255,.2)}
.am-res .ri{width:40px;height:40px;border-radius:12px;background:rgba(47,139,255,.2);display:grid;place-items:center;color:#bfe1ff}
.am-res b{display:block;font-size:14.5px}.am-res small{display:block;font-size:12px;color:#9fb6d6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-res em{font-style:normal;font-size:11px;color:#8fd0ff;border:1px solid rgba(143,208,255,.3);border-radius:999px;padding:2px 8px;white-space:nowrap}
.am-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.amq{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;border-radius:16px;border:0;background:rgba(255,255,255,.06);color:#e2ecfb;font:600 12px/1.2 var(--ff);text-align:center;cursor:pointer;transition:background .15s,transform .15s}
.amq span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 20px -10px rgba(14,99,200,.9)}
.amq:active{transform:scale(.97)}
.amq:hover{background:rgba(255,255,255,.1)}
.am-sec h4{font:600 11.5px/1 var(--ff);letter-spacing:.14em;text-transform:uppercase;color:#8ea6c8;margin:0 0 10px}
.am-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.amt{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:18px;min-height:112px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:transform .15s,border-color .15s}
.amt::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(47,139,255,.45),transparent 70%)}
.amt:active{transform:scale(.98)}
.amt:hover{border-color:rgba(143,208,255,.5)}
.amti{width:40px;height:40px;border-radius:12px;background:rgba(47,139,255,.22);color:#cfe8ff;display:grid;place-items:center;margin-bottom:auto}
.amt b{font-size:15px;margin-top:12px}.amt small{font-size:12px;color:#9fb6d6}
.am-chips{display:flex;flex-wrap:wrap;gap:8px}
.amc{padding:9px 14px;border-radius:999px;border:1px solid rgba(143,208,255,.25);background:rgba(255,255,255,.04);font:500 13.5px var(--ff);color:#dbe7f8;min-height:40px;display:inline-flex;align-items:center}
.amc:hover,.amc:active{background:rgba(47,139,255,.25);border-color:transparent}
.am-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.amh{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.05);font:600 13.5px var(--ff);color:#e2ecfb;min-height:52px}
.amh span{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#a9d4ff;flex:none}
.amh span .i{width:17px;height:17px}
.amh:hover,.amh:active{background:rgba(47,139,255,.2)}
.am-status{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;background:rgba(34,181,115,.1);border:1px solid rgba(34,181,115,.3);color:#c9f2dd;font:600 13.5px var(--ff)}
.am-status span{flex:1}
.am-status.warn{background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.35);color:#ffe2b3}
@media(min-width:601px){.am-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.am-help{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:360px){.am-quick{gap:6px}.amq{font-size:11px}.amq span{width:40px;height:40px}}
html.lock,html.lock body{overflow:hidden}
.wa .wai{width:26px;height:26px}
img.av{display:block;object-fit:cover;background:none;border-radius:10px;padding:0}
.askbea img.av{border-radius:9px}

main[data-route="about-us"] .ab-quote{margin:18px 0 0;padding:14px 18px;border-left:4px solid var(--blue);background:#fff;border-radius:0 14px 14px 0;font:600 16px/1.5 var(--ff);color:var(--navy);box-shadow:0 14px 30px -26px rgba(1,34,77,.5)}
main[data-route="about-us"] .ab-story{align-items:stretch}
main[data-route="about-us"] .ab-story .prose-col{align-self:center}
main[data-route="about-us"] .ab-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr);gap:8px;height:100%}
main[data-route="about-us"] .mz-p{position:relative;min-height:0;margin:0;border-radius:14px;overflow:hidden;background:#dfeaf8;box-shadow:0 14px 28px -22px rgba(1,34,77,.6)}
main[data-route="about-us"] .mz-p img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s ease}
main[data-route="about-us"] .mz-p:hover img{transform:scale(1.05)}
main[data-route="about-us"] .mz-stat{border-radius:14px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;color:#fff}
main[data-route="about-us"] .mz-stat b{font:700 clamp(24px,2.2vw,32px)/1 var(--ff)}
main[data-route="about-us"] .mz-stat span{font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.85)}
main[data-route="about-us"] .mz-a{background:radial-gradient(90% 90% at 100% 0%,rgba(90,176,230,.55),transparent 60%),linear-gradient(150deg,#01224D,#0E63C8)}
main[data-route="about-us"] .mz-b{background:linear-gradient(150deg,#0E63C8,#2f8bff)}
@media(max-width:900px){main[data-route="about-us"] .ab-mosaic{grid-auto-rows:auto}main[data-route="about-us"] .mz-p{aspect-ratio:1/1}main[data-route="about-us"] .mz-stat{aspect-ratio:1/1}}
@media(max-width:520px){main[data-route="about-us"] .ab-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}main[data-route="about-us"] .ab-mosaic>:nth-child(n+10){display:none}}
main[data-route="about-us"] .ab-brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
main[data-route="about-us"] .ab-brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 16px 14px;background:#fff;border:1px solid var(--hair);border-top:3px solid var(--bc);border-radius:14px;color:var(--soft);transition:border-color .2s,transform .18s,box-shadow .2s}
main[data-route="about-us"] .ab-brand img{height:30px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
main[data-route="about-us"] .ab-brand span{font-size:12.5px;line-height:1.4;padding-right:22px}
main[data-route="about-us"] .ab-brand .i{position:absolute;top:14px;right:14px;width:16px;height:16px;color:var(--bc);opacity:.75}
main[data-route="about-us"] .ab-brand:hover{transform:translateY(-2px);border-color:var(--bc);box-shadow:0 16px 30px -24px var(--bc)}
main[data-route="about-us"] .ab-brand:hover span{color:var(--bc)}
@media(max-width:1100px){main[data-route="about-us"] .ab-brands{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){main[data-route="about-us"] .ab-brands{grid-template-columns:repeat(2,minmax(0,1fr))}main[data-route="about-us"] .ab-brand:last-child{grid-column:1/-1}main[data-route="about-us"] .ab-brand img{height:26px}}
main[data-route="about-us"] .ab-bea{display:inline-flex;align-items:center;gap:8px;height:30px}
main[data-route="about-us"] .ab-bea img{height:30px;width:30px;border-radius:8px}
main[data-route="about-us"] .ab-bea b{font:800 22px/1 var(--ff);color:#0B1F3A;letter-spacing:.01em}

/* broadband-auckland */
main[data-route="broadband-auckland"] .ak-ticks{margin-top:20px;max-width:560px}
main[data-route="broadband-auckland"] .ak-ticks li{color:#dbe7f8}
main[data-route="broadband-auckland"] .ak-ticks li::before{background-color:rgba(34,181,115,.2)}
main[data-route="broadband-auckland"] .ph-card{padding:clamp(18px,2vw,26px)}
main[data-route="broadband-auckland"] .ph-card .form .btn[type=submit]{width:100%}
main[data-route="broadband-auckland"] .ph-card .form-ok p{color:var(--soft)}
main[data-route="broadband-auckland"] .field{position:relative}
main[data-route="broadband-auckland"] .bb-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--hair);border-radius:12px;box-shadow:0 18px 40px -20px rgba(1,34,77,.45);max-height:264px;overflow-y:auto}
main[data-route="broadband-auckland"] .bb-ac button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 14px;font:500 14px/1.4 var(--ff);color:var(--navy);cursor:pointer;min-height:44px}
main[data-route="broadband-auckland"] .bb-ac button:hover,main[data-route="broadband-auckland"] .bb-ac button:focus{background:var(--tint);outline:0}
main[data-route="broadband-auckland"] .ak-types{display:grid;gap:12px}
main[data-route="broadband-auckland"] .ak-types .card{align-items:center}
main[data-route="broadband-auckland"] .ak-types .card>div{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
main[data-route="broadband-auckland"] .ak-l{color:var(--blue);font-weight:600}
main[data-route="broadband-auckland"] .ak-fq{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
@media(max-width:900px){main[data-route="broadband-auckland"] .ak-fq{grid-template-columns:minmax(0,1fr)}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="broadband-auckland"] .faq details:not([open]) .ans{display:none}
main[data-route="broadband-auckland"] .ak-l{white-space:nowrap}

/* FAQ aside help card (desktop: left of the questions; phones: after them) */
main[data-route="broadband-auckland"] .ak-fq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="broadband-auckland"] .fq-aside{position:sticky;top:112px}
main[data-route="broadband-auckland"] .fq-help{background:linear-gradient(160deg,#fff,#f3f8ff)}
main[data-route="broadband-auckland"] .fq-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media(max-width:900px){main[data-route="broadband-auckland"] .ak-fq{grid-template-columns:minmax(0,1fr)}main[data-route="broadband-auckland"] .fq-aside{display:none}}
main[data-route="broadband-auckland"] .nw{white-space:nowrap}

/* broadband-troubleshooting */
main[data-route="broadband-troubleshooting"] .ts-speed{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
main[data-route="broadband-troubleshooting"] .ts-ic{width:48px;height:48px;border-radius:14px;background:rgba(47,139,255,.2);color:#bfe1ff;display:grid;place-items:center;margin-bottom:8px}
main[data-route="broadband-troubleshooting"] .ts-ic .i{width:24px;height:24px}
main[data-route="broadband-troubleshooting"] .ts-speed h2{font-size:20px}
main[data-route="broadband-troubleshooting"] .ts-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
main[data-route="broadband-troubleshooting"] .ts-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){main[data-route="broadband-troubleshooting"] .ts-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  main[data-route="broadband-troubleshooting"] .ts-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  main[data-route="broadband-troubleshooting"] .ts-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px}
  main[data-route="broadband-troubleshooting"] .ts-steps li::before{grid-row:1/3;margin:0}
  main[data-route="broadband-troubleshooting"] .ts-steps li h3{margin-top:7px}
}
main[data-route="broadband-troubleshooting"] .ts-split{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr)}
main[data-route="broadband-troubleshooting"] .ts-faq summary{justify-content:flex-start}
main[data-route="broadband-troubleshooting"] .ts-faq summary::after{margin-left:auto}
main[data-route="broadband-troubleshooting"] .ts-q{width:36px;height:36px;border-radius:10px;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex:none}
main[data-route="broadband-troubleshooting"] .ts-q .i{width:18px;height:18px}
main[data-route="broadband-troubleshooting"] .ts-faq .ans{padding-left:68px}
main[data-route="broadband-troubleshooting"] .ts-faq .ticks{margin-top:0}
main[data-route="broadband-troubleshooting"] .ts-faq .ticks li{font-size:14.5px;color:var(--ink)}
main[data-route="broadband-troubleshooting"] .ts-l{color:var(--blue);font-weight:600}
main[data-route="broadband-troubleshooting"] .ts-side{display:grid;gap:10px;position:sticky;top:112px}
main[data-route="broadband-troubleshooting"] .ts-side .card{align-items:center;padding:16px 18px}
main[data-route="broadband-troubleshooting"] .ts-side h3{font-size:15.5px}
main[data-route="broadband-troubleshooting"] .ts-side p{font-size:13.5px;margin-top:2px}
@media(max-width:1100px){main[data-route="broadband-troubleshooting"] .ts-split{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
@media(max-width:900px){
  main[data-route="broadband-troubleshooting"] .ts-split{grid-template-columns:minmax(0,1fr)}
  main[data-route="broadband-troubleshooting"] .ts-side{position:static}
}
@media(max-width:900px) and (min-width:621px){main[data-route="broadband-troubleshooting"] .ts-side{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){main[data-route="broadband-troubleshooting"] .ts-faq .ans{padding-left:18px}main[data-route="broadband-troubleshooting"] .ts-faq summary{gap:12px;padding:14px 16px}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="broadband-troubleshooting"] .faq details:not([open]) .ans{display:none}
main[data-route="broadband-troubleshooting"] .ts-l{white-space:nowrap}
main[data-route="broadband-troubleshooting"] .nw{white-space:nowrap}

/* broadband — page-specific layout */
main[data-route="broadband"] .bb-check{margin-top:22px;max-width:640px}
main[data-route="broadband"] .addr-inline{position:relative}
main[data-route="broadband"] .addr-inline .err{position:absolute;left:18px;top:calc(100% + 8px);font:600 12.5px var(--ff);color:#ffc2c2}
main[data-route="broadband"] .addr-inline:not(.bad) .err{display:none}
main[data-route="broadband"] .addr-inline.bad{margin-bottom:26px;box-shadow:0 0 0 4px rgba(226,80,74,.45)}
main[data-route="broadband"] .ph-stats b{font-size:clamp(22px,2vw,28px)}

/* address autocomplete dropdown (live uses the photon open-data geocoder) */
main[data-route="broadband"] .bb-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--hair);border-radius:12px;box-shadow:0 18px 40px -20px rgba(1,34,77,.45);overflow:hidden;max-height:264px;overflow-y:auto}
main[data-route="broadband"] .bb-ac button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 14px;font:500 14px/1.4 var(--ff);color:var(--navy);cursor:pointer;min-height:44px}
main[data-route="broadband"] .bb-ac button:hover,main[data-route="broadband"] .bb-ac button:focus{background:var(--tint);outline:0}
main[data-route="broadband"] .field{position:relative}

/* availability reveal */
main[data-route="broadband"] .bb-avail .head{align-items:flex-end}
main[data-route="broadband"] .bb-echo{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d6e6fa;border-radius:999px;padding:9px 16px;font:600 13.5px var(--ff);color:var(--navy);max-width:100%}
main[data-route="broadband"] .bb-echo .i{width:16px;height:16px;color:var(--blue);flex:none}
main[data-route="broadband"] .bb-echo span{overflow-wrap:anywhere}
main[data-route="broadband"] .bb-av{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
main[data-route="broadband"] .bb-ty{align-items:flex-start}
main[data-route="broadband"] .bb-ty .bb-spd{font:700 16px var(--ff);color:var(--navy)}
main[data-route="broadband"] .bb-ty .bb-from{font-size:13.5px;color:var(--soft);margin-top:-4px}
main[data-route="broadband"] .bb-ty .bb-from b{font-size:17px;color:var(--navy)}
main[data-route="broadband"] .bb-ty .btn{margin-top:auto;width:100%}
@media(max-width:1180px){
  main[data-route="broadband"] .bb-av{grid-template-columns:repeat(6,minmax(0,1fr))}
  main[data-route="broadband"] .bb-ty{grid-column:span 2}
  main[data-route="broadband"] .bb-ty:nth-child(n+4){grid-column:span 3}
}
@media(max-width:620px){
  main[data-route="broadband"] .bb-av{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  main[data-route="broadband"] .bb-ty,main[data-route="broadband"] .bb-ty:nth-child(n+4){grid-column:auto;padding:16px}
  main[data-route="broadband"] .bb-ty:first-child{grid-column:1/-1}
  main[data-route="broadband"] .bb-ty .btn{padding-inline:12px;font-size:13.5px}
}

/* connection type cards */
main[data-route="broadband"] .bb-ct-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
main[data-route="broadband"] .bb-pr{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;padding-top:4px}
main[data-route="broadband"] .bb-pr b{font:700 28px/1 var(--ff);color:var(--navy);letter-spacing:-.02em}
main[data-route="broadband"] .bb-pr small{font-size:12.5px;color:var(--soft)}
main[data-route="broadband"] .bb-ct .btn{margin-top:auto;width:100%;white-space:normal;text-align:center;line-height:1.3}
main[data-route="broadband"] .bb-ct .bb-pr{margin-bottom:6px}

/* switching + form */
main[data-route="broadband"] .bb-steps{grid-template-columns:minmax(0,1fr);gap:10px}
main[data-route="broadband"] .bb-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px 18px;align-items:start}
main[data-route="broadband"] .bb-steps li::before{grid-row:1/3;margin:0}
main[data-route="broadband"] .bb-steps li h3{align-self:center;margin-top:7px}
main[data-route="broadband"] .bb-quote{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:16px;padding:18px 20px;color:#fff;background:radial-gradient(70% 140% at 100% 0%,rgba(47,139,255,.4),transparent 60%),linear-gradient(120deg,#04183f,#073a8a)}
main[data-route="broadband"] .bb-quote .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);color:#bfe1ff;display:grid;place-items:center}
main[data-route="broadband"] .bb-quote b{display:block;font-size:16px;line-height:1.3}
main[data-route="broadband"] .bb-quote span{display:block;color:#c3d6f2;font-size:13.5px;margin-top:2px}
@media(max-width:560px){main[data-route="broadband"] .bb-quote{grid-template-columns:auto minmax(0,1fr)}main[data-route="broadband"] .bb-quote .btn{grid-column:1/-1}}
main[data-route="broadband"] .bb-fticks{margin-top:18px;padding-top:16px;border-top:1px solid var(--hair)}
main[data-route="broadband"] .bb-st{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--hair)}
main[data-route="broadband"] .bb-st>span{font:600 13.5px var(--ff);color:var(--soft)}
main[data-route="broadband"] .bb-st .i{width:18px;height:18px;color:var(--blue)}

/* FAQ + help links */
main[data-route="broadband"] .bb-fq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
main[data-route="broadband"] .bb-help{display:grid;gap:10px}
main[data-route="broadband"] .bb-help .card{padding:16px 18px;align-items:center}
main[data-route="broadband"] .bb-help h3{font-size:15.5px}
main[data-route="broadband"] .bb-help p{font-size:13.5px;margin-top:2px}
@media(max-width:900px){main[data-route="broadband"] .bb-fq{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px) and (min-width:621px){main[data-route="broadband"] .bb-help{grid-template-columns:repeat(3,minmax(0,1fr))}}
main[data-route="broadband"] .plans-note a{white-space:nowrap}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="broadband"] .faq details:not([open]) .ans{display:none}
main[data-route="broadband"] .bb-l{white-space:nowrap}
main[data-route="broadband"] .nw{white-space:nowrap}

main[data-route="bulk-sms-nz"] .bk-stats b{font-size:26px}
main[data-route="bulk-sms-nz"] .bk-link{white-space:nowrap;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}
main[data-route="bulk-sms-nz"] .bk-tbl .tbl{min-width:0;font-size:15px}
main[data-route="bulk-sms-nz"] .bk-tbl .tbl th{padding:14px 18px}
main[data-route="bulk-sms-nz"] .bk-tbl .tbl td{padding:16px 18px}
main[data-route="bulk-sms-nz"] .bk-tbl .tbl td b{font-size:20px;color:var(--navy)}
main[data-route="bulk-sms-nz"] .bk-uses .card{align-items:center;padding:16px}
main[data-route="bulk-sms-nz"] .bk-uses .card h3{font-size:15.5px}
main[data-route="bulk-sms-nz"] .bk-code{margin:0;min-width:0;border-radius:16px;overflow:hidden;background:#06122b;border:1px solid rgba(143,208,255,.22);box-shadow:0 30px 60px -36px rgba(1,34,77,.7)}
main[data-route="bulk-sms-nz"] .bk-code figcaption{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(143,208,255,.16)}
main[data-route="bulk-sms-nz"] .bk-code figcaption i{width:11px;height:11px;border-radius:50%;flex:none}
main[data-route="bulk-sms-nz"] .bk-code figcaption span{margin-left:8px;font:600 12.5px var(--ff);color:#a9c1e3}
main[data-route="bulk-sms-nz"] .bk-code pre{margin:0;padding:20px;overflow-x:auto;font:500 13.5px/1.8 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:#dce8fa;white-space:pre-wrap;overflow-wrap:anywhere}
main[data-route="bulk-sms-nz"] .bk-code pre:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}
main[data-route="bulk-sms-nz"] .bk-code .k{color:#8fd0ff;font-weight:700}
main[data-route="bulk-sms-nz"] .bk-code .s{color:#9be7b4}
main[data-route="bulk-sms-nz"] .bk-code .p{color:#c5b3ff}
main[data-route="bulk-sms-nz"] .bk-faqs{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="bulk-sms-nz"] .bk-acts{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:900px){main[data-route="bulk-sms-nz"] .bk-faqs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){main[data-route="bulk-sms-nz"] .bk-uses{grid-template-columns:repeat(2,minmax(0,1fr))}main[data-route="bulk-sms-nz"] .bk-uses .card{flex-direction:column;align-items:flex-start;gap:10px}}

/* business-broadband-nz */
main[data-route="business-broadband-nz"] .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main[data-route="business-broadband-nz"] .bz-split{gap:clamp(20px,3vw,48px)}
main[data-route="business-broadband-nz"] .bz-tbl .tbl{min-width:0}
main[data-route="business-broadband-nz"] .bz-tbl .tbl th,main[data-route="business-broadband-nz"] .bz-tbl .tbl td{white-space:normal;vertical-align:top;padding:13px 16px}
main[data-route="business-broadband-nz"] .bz-tbl thead th:nth-child(2){background:var(--blue)}
main[data-route="business-broadband-nz"] .bz-tbl tbody th{background:#f3f7fc;color:var(--navy);font-weight:600;width:24%}
main[data-route="business-broadband-nz"] .bz-tbl tbody td:nth-child(2){font-weight:600;color:var(--navy)}
main[data-route="business-broadband-nz"] .bz-tbl tbody td:nth-child(3){color:var(--soft)}
main[data-route="business-broadband-nz"] .bz-tbl tr:nth-child(even) td{background:#fff}
main[data-route="business-broadband-nz"] .bz-tbl tbody tr+tr th,main[data-route="business-broadband-nz"] .bz-tbl tbody tr+tr td{border-top:1px solid #eef3fa}
main[data-route="business-broadband-nz"] .bz-feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
main[data-route="business-broadband-nz"] .bz-feat>*{display:flex;align-items:center;gap:12px;min-height:54px;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:12px 16px;font:600 14.5px/1.3 var(--ff);color:var(--navy)}
main[data-route="business-broadband-nz"] .bz-feat .i{width:20px;height:20px;color:var(--blue);flex:none}
main[data-route="business-broadband-nz"] .bz-feat a{background:var(--tint);border-color:#d6e6fa;color:var(--blue);transition:border-color .2s,transform .18s}
main[data-route="business-broadband-nz"] .bz-feat a:hover{border-color:var(--blue);transform:translateY(-2px)}
@media(max-width:340px){main[data-route="business-broadband-nz"] .bz-feat{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){main[data-route="business-broadband-nz"] .bz-split{gap:36px}}
@media(max-width:480px){main[data-route="business-broadband-nz"] .bz-feat>*{padding:10px 12px;gap:10px;font-size:13.5px}main[data-route="business-broadband-nz"] .bz-tbl .tbl th,main[data-route="business-broadband-nz"] .bz-tbl .tbl td{padding:11px 10px;font-size:13.5px}}
main[data-route="business-broadband-nz"] .bz-price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;align-items:center}
main[data-route="business-broadband-nz"] .bz-price .acts{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:800px){main[data-route="business-broadband-nz"] .bz-price{grid-template-columns:minmax(0,1fr)}}
main[data-route="business-broadband-nz"] .bz-fq{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
main[data-route="business-broadband-nz"] .bz-l{color:var(--blue);font-weight:600}
@media(max-width:900px){main[data-route="business-broadband-nz"] .bz-fq{grid-template-columns:minmax(0,1fr)}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="business-broadband-nz"] .faq details:not([open]) .ans{display:none}
main[data-route="business-broadband-nz"] .bz-l{white-space:nowrap}

/* FAQ aside help card (desktop: left of the questions; phones: after them) */
main[data-route="business-broadband-nz"] .bz-fq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="business-broadband-nz"] .fq-aside{position:sticky;top:112px}
main[data-route="business-broadband-nz"] .fq-help{background:linear-gradient(160deg,#fff,#f3f8ff)}
main[data-route="business-broadband-nz"] .fq-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media(max-width:900px){main[data-route="business-broadband-nz"] .bz-fq{grid-template-columns:minmax(0,1fr)}main[data-route="business-broadband-nz"] .fq-aside{display:none}}
main[data-route="business-broadband-nz"] .nw{white-space:nowrap}

/* business-voip-nz: comparison table, included list, plans grid, FAQ layout */
main[data-route="business-voip-nz"] .bv-tbl{min-width:0;table-layout:fixed}
main[data-route="business-voip-nz"] .bv-tbl th,main[data-route="business-voip-nz"] .bv-tbl td{white-space:normal;vertical-align:top;line-height:1.45}
main[data-route="business-voip-nz"] .bv-tbl tbody th{text-align:left;font-weight:600;color:var(--navy);padding:10px 14px;border-top:1px solid #eef3fa;background:#f9fbfe}
main[data-route="business-voip-nz"] .bv-tbl thead th:nth-child(2){background:var(--blue)}
main[data-route="business-voip-nz"] .bv-tbl tbody td:nth-child(2){font-weight:600;color:var(--navy);background:#f2f7ff}
main[data-route="business-voip-nz"] .bv-tbl tbody td:nth-child(3){color:var(--soft)}
main[data-route="business-voip-nz"] .bv-tbl tr:nth-child(even) td{background:inherit}
main[data-route="business-voip-nz"] .bv-tbl tr:nth-child(even) td:nth-child(2){background:#eaf2fe}
@media(max-width:520px){main[data-route="business-voip-nz"] .bv-tbl{font-size:13px}main[data-route="business-voip-nz"] .bv-tbl th,main[data-route="business-voip-nz"] .bv-tbl td{padding:9px 10px}}

main[data-route="business-voip-nz"] .bv-inc{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:clamp(18px,2vw,26px)}
main[data-route="business-voip-nz"] .bv-inc h2{font-size:clamp(20px,1.8vw,26px);font-weight:700;color:var(--navy);margin-top:8px}
main[data-route="business-voip-nz"] .bv-inc .chip-l{min-height:40px}
main[data-route="business-voip-nz"] .bv-inc .chip-l .i{width:16px;height:16px;color:var(--blue)}
main[data-route="business-voip-nz"] .bv-cmp{align-items:stretch}
main[data-route="business-voip-nz"] .bv-inc{display:flex;flex-direction:column;justify-content:center}

main[data-route="business-voip-nz"] .bv-acts{display:flex;flex-wrap:wrap;gap:10px}
main[data-route="business-voip-nz"] .plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
main[data-route="business-voip-nz"] .plan .pl-top{min-height:24px}
@media(max-width:820px){main[data-route="business-voip-nz"] .plan-grid{grid-template-columns:minmax(0,1fr)}}

main[data-route="business-voip-nz"] .bv-faqs{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
main[data-route="business-voip-nz"] .bv-faqs>.head{flex-direction:column;align-items:flex-start;margin:0}
main[data-route="business-voip-nz"] .faq .ans a{color:var(--blue);font-weight:600}
@media(min-width:901px){main[data-route="business-voip-nz"] .bv-faqs>.head{position:sticky;top:120px}}
@media(max-width:900px){main[data-route="business-voip-nz"] .bv-faqs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
  main[data-route="business-voip-nz"] .g4 .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="business-voip-nz"] .g4 .card>.ic{grid-row:1/span 2}
  main[data-route="business-voip-nz"] .g4 .card>:not(.ic){grid-column:2}
}
main[data-route="business-voip-nz"] .faq details:not([open]) .ans{display:none}
@media(min-width:901px){main[data-route="business-voip-nz"] .bv-inc .ticks.two{grid-template-columns:minmax(0,1fr)}}
main[data-route="business-voip-nz"] .plan .pl-top{min-height:26px}
main[data-route="business-voip-nz"] .plan.pop{padding:19px}

/* byo-modem */
main[data-route="byo-modem"] .by-quick h2{font-size:18px}
main[data-route="byo-modem"] .by-dl{margin:14px 0 0;display:grid;gap:0;border:1px solid rgba(143,208,255,.22);border-radius:12px;overflow:hidden}
main[data-route="byo-modem"] .by-dl>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px}
main[data-route="byo-modem"] .by-dl>div+div{border-top:1px solid rgba(143,208,255,.16)}
main[data-route="byo-modem"] .by-dl dt{font:500 13.5px var(--ff);color:#a9c1e3}
main[data-route="byo-modem"] .by-dl dd{margin:0;font:600 14px var(--ff);color:#fff;text-align:right}
main[data-route="byo-modem"] .by-dl .kbd{background:rgba(143,208,255,.16);color:#fff;font-size:13px;padding:3px 8px}
main[data-route="byo-modem"] .by-qbtn{width:100%;margin-top:14px}
/* steps: 4 / 2 / 1 so no orphan card */
main[data-route="byo-modem"] .by-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){main[data-route="byo-modem"] .by-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  main[data-route="byo-modem"] .by-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  main[data-route="byo-modem"] .by-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px}
  main[data-route="byo-modem"] .by-steps li::before{grid-row:1/3;margin:0}
  main[data-route="byo-modem"] .by-steps li h3{margin-top:7px}
}
/* settings */
main[data-route="byo-modem"] .by-set{margin-top:16px;background:#fff;border:1px solid var(--hair);border-radius:18px;padding:clamp(16px,2vw,24px)}
main[data-route="byo-modem"] .by-sethd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
main[data-route="byo-modem"] .by-sethd h3{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--navy);font-weight:700}
main[data-route="byo-modem"] .by-sethd h3 .i{width:20px;height:20px;color:var(--blue)}
main[data-route="byo-modem"] .by-seg{display:flex;flex-wrap:wrap;gap:8px}
main[data-route="byo-modem"] .by-cap{font:600 12px var(--ff);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}
main[data-route="byo-modem"] .by-tbl{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--hair);border-radius:12px;overflow:hidden;font-size:14.5px}
main[data-route="byo-modem"] .by-tbl th,main[data-route="byo-modem"] .by-tbl td{padding:11px 16px;text-align:left;vertical-align:middle;line-height:1.5}
main[data-route="byo-modem"] .by-tbl th{width:40%;background:#f6f9fd;color:var(--navy);font-weight:600}
main[data-route="byo-modem"] .by-tbl td{color:var(--ink)}
main[data-route="byo-modem"] .by-tbl tr+tr>*{border-top:1px solid #eef3fa}
main[data-route="byo-modem"] .by-tbl .kbd{font-size:13px;padding:3px 8px}
@media(max-width:480px){main[data-route="byo-modem"] .by-tbl th,main[data-route="byo-modem"] .by-tbl td{padding:10px 12px;font-size:13.5px}main[data-route="byo-modem"] .by-tbl th{width:44%}}
main[data-route="byo-modem"] .by-l{color:var(--blue);font-weight:600}
/* find your modem */
main[data-route="byo-modem"] .by-find{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;grid-template-areas:"cab ms" "guide ms";gap:16px clamp(16px,2.4vw,32px);align-items:start}
main[data-route="byo-modem"] .by-cab{grid-area:cab}
main[data-route="byo-modem"] .by-ms{grid-area:ms}
main[data-route="byo-modem"] .by-guide{grid-area:guide}
@media(max-width:900px){main[data-route="byo-modem"] .by-find{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"cab" "ms" "guide"}}
main[data-route="byo-modem"] .by-cab{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:clamp(16px,2vw,22px)}
main[data-route="byo-modem"] .by-svg{width:100%;height:auto;display:block;background:#f6f9fd;border-radius:12px}
main[data-route="byo-modem"] .by-lg{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-size:14px;color:var(--soft)}
main[data-route="byo-modem"] .by-lg span{display:block;position:relative;padding-left:30px;line-height:22px}
main[data-route="byo-modem"] .by-lg b{color:var(--navy)}
main[data-route="byo-modem"] .by-lg i{position:absolute;left:0;top:0;font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:700 12px var(--ff);flex:none}
main[data-route="byo-modem"] .by-ms{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:clamp(16px,2vw,22px)}
main[data-route="byo-modem"] .by-mslead{font-size:14.5px;color:var(--soft)}
main[data-route="byo-modem"] .by-lbl{display:block;font:600 11.5px var(--ff);letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:16px 0 8px}
main[data-route="byo-modem"] .by-chips{display:flex;flex-wrap:wrap;gap:8px}
main[data-route="byo-modem"] .by-chip{border:1.5px solid #d3e2f5;background:#fff;color:var(--navy);border-radius:999px;padding:8px 15px;font:600 13.5px var(--ff);cursor:pointer;min-height:40px;transition:.15s}
main[data-route="byo-modem"] .by-chip:hover{border-color:var(--blue)}
main[data-route="byo-modem"] .by-chip[aria-pressed=true]{background:var(--grad);border-color:transparent;color:#fff}
main[data-route="byo-modem"] .by-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:8px}
@media(max-width:560px){main[data-route="byo-modem"] .by-models{grid-template-columns:repeat(2,minmax(0,1fr))}main[data-route="byo-modem"] .by-mdl{font-size:13px;padding:8px 10px}}
main[data-route="byo-modem"] .by-mdl{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;text-align:left;border:1.5px solid var(--hair);background:#f9fbfe;border-radius:12px;padding:9px 12px;min-height:54px;font:600 13.5px/1.3 var(--ff);color:var(--navy);cursor:pointer;transition:.15s}
main[data-route="byo-modem"] .by-mdl small{font:600 11px var(--ff);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
main[data-route="byo-modem"] .by-mdl:hover{border-color:var(--blue)}
main[data-route="byo-modem"] .by-mdl[aria-pressed=true]{border-color:var(--blue);background:#f2f7ff;box-shadow:0 0 0 3px rgba(14,99,200,.12)}
main[data-route="byo-modem"] .by-none{grid-column:1/-1;padding:14px;border:1px dashed var(--hair);border-radius:12px;color:var(--soft);font-size:14px;text-align:center}

main[data-route="byo-modem"] .by-empty{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 20px;border:1.5px dashed #bcd3f0;border-radius:14px;color:var(--soft);font-size:14px;text-align:center;background:#f9fbfe}
main[data-route="byo-modem"] .by-empty .i{color:var(--blue);flex:none}
main[data-route="byo-modem"] .by-gd{border:1px solid #cfe0f7;border-radius:18px;padding:clamp(16px,2vw,22px);background:#fff;box-shadow:0 18px 40px -30px rgba(1,34,77,.45)}
main[data-route="byo-modem"] .by-gdhd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
main[data-route="byo-modem"] .by-gdhd h3{font-size:17px;color:var(--navy);font-weight:700;line-height:1.3}
main[data-route="byo-modem"] .by-gdmeta{margin:12px 0 0;display:grid;gap:6px}
main[data-route="byo-modem"] .by-gdmeta>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;font-size:14px;align-items:baseline}
main[data-route="byo-modem"] .by-gdmeta dt{font-weight:600;color:var(--soft)}
main[data-route="byo-modem"] .by-gdmeta dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
main[data-route="byo-modem"] .by-gdol{margin:14px 0 0;padding-left:20px;display:grid;gap:7px;font-size:14px;line-height:1.55;color:var(--ink)}
main[data-route="byo-modem"] .by-gdol .kbd,main[data-route="byo-modem"] .by-gdmeta .kbd{word-break:break-all;font-size:12.5px}
main[data-route="byo-modem"] .by-gdnote{margin-top:12px;font-size:13.5px;color:var(--soft);padding:10px 12px;border-radius:10px;background:var(--tint)}
main[data-route="byo-modem"] .by-gdnote a{color:var(--blue);font-weight:600}
main[data-route="byo-modem"] .by-fq{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
@media(max-width:900px){main[data-route="byo-modem"] .by-fq{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){main[data-route="byo-modem"] .by-gdmeta>div{grid-template-columns:minmax(0,1fr);gap:0}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="byo-modem"] .faq details:not([open]) .ans{display:none}
main[data-route="byo-modem"] .by-l{white-space:nowrap}

/* FAQ aside help card (desktop: left of the questions; phones: after them) */
main[data-route="byo-modem"] .by-fq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="byo-modem"] .fq-aside{position:sticky;top:112px}
main[data-route="byo-modem"] .fq-help{background:linear-gradient(160deg,#fff,#f3f8ff)}
main[data-route="byo-modem"] .fq-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media(max-width:900px){main[data-route="byo-modem"] .by-fq{grid-template-columns:minmax(0,1fr)}main[data-route="byo-modem"] .fq-aside{display:none}}
main[data-route="byo-modem"] .nw{white-space:nowrap}

main[data-route="calling-rates"] .rt-bar{padding-block:14px!important}
main[data-route="calling-rates"] .rt-bar .tabbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px;margin-inline:auto}
main[data-route="calling-rates"] .rt-bar .ptab{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-size:14.5px;padding:10px 14px}
main[data-route="calling-rates"] .rt-bar .ptab .i{width:18px;height:18px;flex:none}
main[data-route="calling-rates"] .rt-wide{max-width:none}
main[data-route="calling-rates"] .rt-cards{align-items:start}
main[data-route="calling-rates"] .rt-card{padding:0;gap:0;overflow:hidden}
main[data-route="calling-rates"] .rt-hd{padding:18px 20px 14px;border-bottom:1px solid var(--hair);background:linear-gradient(180deg,#f7faff,#fff)}
main[data-route="calling-rates"] .rt-hd h3{font-size:18px}
main[data-route="calling-rates"] .rt-hd p{font-size:13px;margin-top:3px}
main[data-route="calling-rates"] .rt-sub{font-weight:500;color:var(--soft);font-size:14px}
main[data-route="calling-rates"] .rt-list{margin:0;padding:4px 20px 8px}
main[data-route="calling-rates"] .rt-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #eef3fa}
main[data-route="calling-rates"] .rt-list>div:first-child{border-top:0}
main[data-route="calling-rates"] .rt-list dt{font-size:14.5px;color:var(--ink);min-width:0}
main[data-route="calling-rates"] .rt-list dd{margin:0;font:700 15px var(--ff);color:var(--navy);text-align:right;white-space:nowrap;display:flex;align-items:center;gap:8px;flex:none}
main[data-route="calling-rates"] .rt-list dd.free{color:#138a52}
main[data-route="calling-rates"] .rt-list dd small{font:500 12.5px var(--ff);color:var(--soft)}
main[data-route="calling-rates"] .rt-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--soft);max-width:none}
main[data-route="calling-rates"] .rt-note .i{width:16px;height:16px;flex:none;margin-top:2px;color:var(--blue)}
main[data-route="calling-rates"] .rt-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}
main[data-route="calling-rates"] .rt-tools .searchbar{flex:1 1 320px;max-width:560px;padding-right:6px}
main[data-route="calling-rates"] .rt-tools input::-webkit-search-cancel-button{display:none}
main[data-route="calling-rates"] .rt-clear{width:38px;height:38px;border:0;border-radius:50%;background:var(--tint);color:var(--navy);display:grid;place-items:center;cursor:pointer;flex:none}
main[data-route="calling-rates"] .rt-clear[hidden]{display:none}
main[data-route="calling-rates"] .rt-clear .i{width:16px;height:16px}
main[data-route="calling-rates"] .rt-count{font-size:13.5px;color:var(--soft)}
main[data-route="calling-rates"] .rt-count b{color:var(--navy)}
main[data-route="calling-rates"] .rt-scroll{max-height:min(560px,70vh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9cbe6 transparent}
main[data-route="calling-rates"] .rt-scroll:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
main[data-route="calling-rates"] .rt-tbl{min-width:0}
main[data-route="calling-rates"] .rt-tbl thead th{position:sticky;top:0;z-index:1}
main[data-route="calling-rates"] .rt-tbl th small{font-weight:500;color:#a9c1e3;font-size:12px}
main[data-route="calling-rates"] .rt-tbl th:first-child,main[data-route="calling-rates"] .rt-tbl td:first-child{width:50%}
main[data-route="calling-rates"] .rt-tbl td.num{font-weight:600;color:var(--navy);white-space:nowrap}
main[data-route="calling-rates"] .rt-tbl tbody tr:hover td{background:#eef5ff}
main[data-route="calling-rates"] .rt-tbl mark{background:#fff1c2;color:inherit;border-radius:3px;padding:0 1px}
main[data-route="calling-rates"] .rt-na{color:#9aa9c0;font-weight:500;text-decoration:none;cursor:help}
main[data-route="calling-rates"] .rt-tools input{height:46px}
main[data-route="calling-rates"] .rt-none td{padding:14px;background:#fff!important}
main[data-route="calling-rates"] .rt-none .empty a{color:var(--blue);font-weight:600}
main[data-route="calling-rates"] .rt-chips .chip-l{padding:8px 15px}
@media(max-width:620px){
  main[data-route="calling-rates"] .rt-bar .tabbtns{gap:6px}
  main[data-route="calling-rates"] .rt-bar .ptab{flex-direction:column;gap:4px;font-size:13px;padding:8px 6px;border-radius:14px;min-height:58px}
  main[data-route="calling-rates"] .rt-bar .ptab .x{display:none}
  main[data-route="calling-rates"] .rt-list{padding:2px 16px 6px}
  main[data-route="calling-rates"] .rt-hd{padding:16px 16px 12px}
  main[data-route="calling-rates"] .rt-list dt{font-size:14px}
  main[data-route="calling-rates"] .rt-list dd{flex-direction:column;align-items:flex-end;gap:3px}
  main[data-route="calling-rates"] .rt-tbl{font-size:13.5px}
  main[data-route="calling-rates"] .rt-tbl th,main[data-route="calling-rates"] .rt-tbl td{padding:10px 10px}
  main[data-route="calling-rates"] .rt-tbl th small{display:block}
}
main[data-route="calling-rates"] .rt-intl{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,3vw,48px);align-items:start}
main[data-route="calling-rates"] .rt-intro .head{margin-bottom:16px}
main[data-route="calling-rates"] .rt-intro .rt-tools{flex-direction:column;align-items:stretch;gap:10px}
main[data-route="calling-rates"] .rt-intro .rt-tools .searchbar{flex:none;max-width:none}
main[data-route="calling-rates"] .rt-intl .rt-scroll{max-height:min(620px,72vh)}
main[data-route="calling-rates"] .rt-intro{position:sticky;top:120px}
@media(max-width:1100px){main[data-route="calling-rates"] .rt-intl{display:flex;flex-direction:column;gap:0}main[data-route="calling-rates"] .rt-intro{display:contents}main[data-route="calling-rates"] .rt-intro .rt-note{order:3}main[data-route="calling-rates"] .rt-intl .rt-scroll{order:2;margin-top:2px}main[data-route="calling-rates"] .rt-intro .rt-tools{flex-direction:row;align-items:center}main[data-route="calling-rates"] .rt-intro .rt-tools .searchbar{flex:1 1 320px;max-width:560px}}

main[data-route="cart"] .st-card{display:grid;gap:10px;justify-items:start}
main[data-route="cart"] .st-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px rgba(14,99,200,.9)}
main[data-route="cart"] .st-ic .i{width:23px;height:23px}
main[data-route="cart"] .st-card p{margin-top:0;font-size:14.5px;line-height:1.6}
main[data-route="cart"] .st-card p a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}
main[data-route="cart"] .st-ticks{margin-top:2px;gap:10px}
main[data-route="cart"] .st-ticks li{color:#dbe7f8}
main[data-route="cart"] .st-ticks li::before{background-color:rgba(34,181,115,.2)}
main[data-route="cart"] .st-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
main[data-route="cart"] .card.feature .ticks{margin:2px 0 4px}
main[data-route="cart"] .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){main[data-route="cart"] .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){main[data-route="cart"] .steps{grid-template-columns:minmax(0,1fr)}}
main[data-route="cart"] .st-card p a{white-space:nowrap}

main[data-route="checkout"] .st-card{display:grid;gap:10px;justify-items:start}
main[data-route="checkout"] .st-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px rgba(14,99,200,.9)}
main[data-route="checkout"] .st-ic .i{width:23px;height:23px}
main[data-route="checkout"] .st-card p{margin-top:0;font-size:14.5px;line-height:1.6}
main[data-route="checkout"] .st-card p a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}
main[data-route="checkout"] .st-ticks{margin-top:2px;gap:10px}
main[data-route="checkout"] .st-ticks li{color:#dbe7f8}
main[data-route="checkout"] .st-ticks li::before{background-color:rgba(34,181,115,.2)}
main[data-route="checkout"] .st-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
main[data-route="checkout"] .card.feature .ticks{margin:2px 0 4px}
main[data-route="checkout"] .st-card p a{white-space:nowrap}

main[data-route="contact-us"] .cu-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
main[data-route="contact-us"] .cu-way{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border-radius:16px;background:rgba(6,24,62,.72);border:1px solid rgba(143,208,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;transition:border-color .2s,transform .18s,background .2s}
main[data-route="contact-us"] .cu-way:hover{border-color:rgba(143,208,255,.7);background:rgba(10,36,86,.85);transform:translateY(-2px)}
main[data-route="contact-us"] .cu-way .ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 20px -10px rgba(14,99,200,.9)}
main[data-route="contact-us"] .cu-way .ic .i{width:21px;height:21px}
main[data-route="contact-us"] .cu-way>span:last-child{display:flex;flex-direction:column;min-width:0}
main[data-route="contact-us"] .cu-way small{font:600 11.5px var(--ff);letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
main[data-route="contact-us"] .cu-way b{font:600 15px/1.3 var(--ff);color:#fff;overflow-wrap:anywhere}
main[data-route="contact-us"] .req-mark{color:#d64545;font-weight:700}
main[data-route="contact-us"] .cu-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
main[data-route="contact-us"] .cu-steps{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
main[data-route="contact-us"] .cu-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px}
main[data-route="contact-us"] .cu-steps li::before{grid-row:1/3;margin:0}
main[data-route="contact-us"] .cu-steps p{grid-column:2}
main[data-route="contact-us"] .cu-next .ticks{margin-top:16px}
main[data-route="contact-us"] .ph-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:1300px) and (min-width:981px){main[data-route="contact-us"] .cu-ways{grid-template-columns:minmax(0,1fr)}main[data-route="contact-us"] .cu-way{padding:12px 16px}}
@media(max-width:980px){main[data-route="contact-us"] .ph-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){main[data-route="contact-us"] .cu-split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){main[data-route="contact-us"] .cu-ways{grid-template-columns:minmax(0,1fr)}main[data-route="contact-us"] .cu-way{padding:12px 14px}}

/* fibre-vs-hyperfibre-nz */
main[data-route="fibre-vs-hyperfibre-nz"] .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-side{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:rgba(6,24,62,.72);border:1px solid rgba(143,208,255,.3);border-radius:18px;padding:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-side.hf{background:linear-gradient(150deg,rgba(14,99,200,.55),rgba(6,24,62,.75));border-color:rgba(143,208,255,.5)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-k{font:600 11.5px var(--ff);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-side b{font:700 clamp(26px,2.6vw,38px)/1.05 var(--ff);color:#fff;letter-spacing:-.02em;margin-top:8px;white-space:nowrap}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-side small{font:600 14px var(--ff);color:#a9c1e3}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-p{margin-top:12px;font:600 13px var(--ff);color:#dbe7f8;background:rgba(255,255,255,.08);border-radius:999px;padding:5px 11px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-x{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font:700 13px var(--ff);box-shadow:0 10px 24px -10px rgba(14,99,200,.9)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-what h2{font-size:clamp(19px,1.6vw,23px);font-weight:700;color:var(--navy);line-height:1.25}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-what p{font-size:15px;line-height:1.7}
/* comparison table: table on wide screens, stacked comparison cards on phones */
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl{border:1px solid var(--hair);border-radius:16px;background:#fff;overflow:hidden}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl table{width:100%;border-collapse:collapse;font-size:14.5px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl th,main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl td{padding:14px 18px;text-align:left;vertical-align:top;line-height:1.5}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl thead th{background:var(--navy);color:#fff;font-weight:600;font-size:15px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl thead th.hf{background:var(--blue)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody th{width:24%;color:var(--navy);font-weight:600;background:#f6f9fd}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody td{color:var(--ink)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody td.hf{background:#f4f8ff}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody td b{color:var(--navy)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody tr+tr>*{border-top:1px solid #eef3fa}
@media(max-width:700px){
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl{border:0;background:none;border-radius:0;overflow:visible}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl thead{display:none}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl table,main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody{display:block}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff;border:1px solid var(--hair);border-radius:14px;overflow:hidden;margin-bottom:10px}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody tr+tr>*{border-top:0}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody th{grid-column:1/-1;width:auto;padding:10px 14px;background:var(--navy);color:#fff;font-size:13.5px}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody td{padding:12px 14px;font-size:14px}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl tbody td+td{border-left:1px solid #eef3fa}
  main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl td::before{content:attr(data-l);display:block;font:600 11px var(--ff);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-pick .btn{margin-top:auto;align-self:flex-start}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-pick p{font-size:15px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-pick.hf{border-color:#cfe0f7;background:linear-gradient(160deg,#fff,#f0f6ff)}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-unsure{align-items:center;flex-wrap:wrap;padding:16px 18px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-unsure p{flex:1 1 320px}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-l{color:var(--blue);font-weight:600}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-fq{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
@media(max-width:900px){main[data-route="fibre-vs-hyperfibre-nz"] .fv-fq{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){main[data-route="fibre-vs-hyperfibre-nz"] .fv-side{padding:16px 14px}main[data-route="fibre-vs-hyperfibre-nz"] .fv-vs{gap:8px}main[data-route="fibre-vs-hyperfibre-nz"] .fv-x{width:32px;height:32px;font-size:12px}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="fibre-vs-hyperfibre-nz"] .faq details:not([open]) .ans{display:none}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-l{white-space:nowrap}

/* FAQ aside help card (desktop: left of the questions; phones: after them) */
main[data-route="fibre-vs-hyperfibre-nz"] .fv-fq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="fibre-vs-hyperfibre-nz"] .fq-aside{position:sticky;top:112px}
main[data-route="fibre-vs-hyperfibre-nz"] .fq-help{background:linear-gradient(160deg,#fff,#f3f8ff)}
main[data-route="fibre-vs-hyperfibre-nz"] .fq-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media(max-width:900px){main[data-route="fibre-vs-hyperfibre-nz"] .fv-fq{grid-template-columns:minmax(0,1fr)}main[data-route="fibre-vs-hyperfibre-nz"] .fq-aside{display:none}}
main[data-route="fibre-vs-hyperfibre-nz"] .nw{white-space:nowrap}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl table{table-layout:fixed}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-tbl thead th:first-child{width:24%}
main[data-route="fibre-vs-hyperfibre-nz"] .fv-p{white-space:nowrap}
@media(max-width:420px){main[data-route="fibre-vs-hyperfibre-nz"] .fv-p{font-size:12px;padding:5px 9px}}

main[data-route="knowledge-base"] .kb-hs{display:grid;gap:12px}
main[data-route="knowledge-base"] .kb-hs p{margin-top:0}
main[data-route="knowledge-base"] .kb-hsearch{max-width:none;border-color:transparent}
main[data-route="knowledge-base"] .kb-hstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
main[data-route="knowledge-base"] .kb-hstats div{background:rgba(255,255,255,.06);border:1px solid var(--hair-d);border-radius:14px;padding:12px 14px}
main[data-route="knowledge-base"] .kb-hstats b{display:block;font:700 22px/1.1 var(--ff);color:#fff}
main[data-route="knowledge-base"] .kb-hstats small{color:#a9c1e3;font-size:12.5px}
main[data-route="knowledge-base"] .kb-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:14px 0 14px}
main[data-route="knowledge-base"] .kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
main[data-route="knowledge-base"] .kb-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
main[data-route="knowledge-base"] .kb-chip{display:inline-flex;align-items:center;gap:8px}
main[data-route="knowledge-base"] .kb-chip .n{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:var(--tint);color:var(--blue);font:700 12px var(--ff)}
main[data-route="knowledge-base"] .kb-chip[aria-pressed=true]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 18px -10px rgba(14,99,200,.8)}
main[data-route="knowledge-base"] .kb-chip[aria-pressed=true] .n{background:rgba(255,255,255,.22);color:#fff}
main[data-route="knowledge-base"] .kb-search{flex:0 1 340px;min-width:240px}
main[data-route="knowledge-base"] .kb-count{font-size:14px;font-weight:500;color:var(--soft);margin:0}
main[data-route="knowledge-base"] .kb-card .badge{margin-bottom:2px}
main[data-route="knowledge-base"] .kb-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
main[data-route="knowledge-base"] .kb-meta{margin-top:auto;padding-top:8px;border-top:1px solid #eef3fa;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--soft)}
main[data-route="knowledge-base"] .kb-meta>span:first-child{display:inline-flex;align-items:center;gap:6px}
main[data-route="knowledge-base"] .kb-meta .i{width:15px;height:15px}
main[data-route="knowledge-base"] .kb-meta .go{margin:0;padding:0}
main[data-route="knowledge-base"] .kb-empty{display:grid;justify-items:center;gap:12px;background:#fff;padding:32px 20px}
main[data-route="knowledge-base"] .kb-empty .i{width:30px;height:30px;color:var(--blue)}
main[data-route="knowledge-base"] .kb-empty a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}
@media(max-width:620px){main[data-route="knowledge-base"] .kb-search{flex:1 1 100%;max-width:none}main[data-route="knowledge-base"] .kb-count{order:2}}
@media(max-width:620px){main[data-route="knowledge-base"] .kb-chips{gap:6px}main[data-route="knowledge-base"] .kb-chip{padding:8px 12px;font-size:13px;min-height:44px}main[data-route="knowledge-base"] .kb-search{min-width:0}main[data-route="knowledge-base"] .kb-hstats b{font-size:19px}}
main[data-route="knowledge-base"] .searchbar input{align-self:stretch;height:auto;min-height:44px}
main[data-route="knowledge-base"] .kb-search{margin-left:auto}
@media(max-width:980px){main[data-route="knowledge-base"] .kb-hs{display:none}}

/* microsoftteams: dark prose contrast, guides strip, compact mobile cards */
main[data-route="microsoftteams"] .dark .prose-col p{color:#b8cbe6}
main[data-route="microsoftteams"] .mt-guides{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 20px;align-items:center;background:#fff;border:1px solid var(--hair);border-radius:18px;padding:20px}
main[data-route="microsoftteams"] .mt-guides>.ic{width:48px;height:48px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center}
main[data-route="microsoftteams"] .mt-guides>.ic .i{width:24px;height:24px}
main[data-route="microsoftteams"] .mt-guides h2{font:700 18px/1.3 var(--ff);color:var(--navy)}
main[data-route="microsoftteams"] .mt-guides p{font-size:14px;color:var(--soft);margin-top:3px}
main[data-route="microsoftteams"] .mt-guides .chip-l{min-height:40px;white-space:normal}
@media(max-width:1100px){main[data-route="microsoftteams"] .mt-guides{grid-template-columns:auto minmax(0,1fr)}main[data-route="microsoftteams"] .mt-guides .chiprow{grid-column:1/-1}}
@media(max-width:620px){
  main[data-route="microsoftteams"] .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="microsoftteams"] .card>.ic{grid-row:1/span 2}
  main[data-route="microsoftteams"] .card>:not(.ic){grid-column:2}
}

main[data-route="mobile"] .plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
main[data-route="mobile"] .plan .pl-top{min-height:26px}
main[data-route="mobile"] .plan .spd{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:94px;line-height:1.4}
main[data-route="mobile"] .plan.pop{padding:19px}
main[data-route="mobile"] .cta-band .eb{color:var(--cyan);display:block;margin-bottom:8px}
main[data-route="mobile"] .mo-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
main[data-route="mobile"] .plans-note a{white-space:nowrap}
@media(max-width:1100px){main[data-route="mobile"] .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){main[data-route="mobile"] .mo-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){main[data-route="mobile"] .plan-grid{grid-template-columns:minmax(0,1fr)}main[data-route="mobile"] .plan .spd{min-height:0}
  main[data-route="mobile"] .mo-steps{gap:10px}main[data-route="mobile"] .mo-steps li{padding:16px}}
@media(max-width:350px){main[data-route="mobile"] .mo-steps{grid-template-columns:minmax(0,1fr)}}

main[data-route="my-account"] .st-card{display:grid;gap:10px;justify-items:start}
main[data-route="my-account"] .st-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px rgba(14,99,200,.9)}
main[data-route="my-account"] .st-ic .i{width:23px;height:23px}
main[data-route="my-account"] .st-card p{margin-top:0;font-size:14.5px;line-height:1.6}
main[data-route="my-account"] .st-card p a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}
main[data-route="my-account"] .st-ticks{margin-top:2px;gap:10px}
main[data-route="my-account"] .st-ticks li{color:#dbe7f8}
main[data-route="my-account"] .st-ticks li::before{background-color:rgba(34,181,115,.2)}
main[data-route="my-account"] .st-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
main[data-route="my-account"] .card.feature .ticks{margin:2px 0 4px}
main[data-route="my-account"] .st-card p a{white-space:nowrap}

main[data-route="network-status"]{--ok:#22b573;--warn:#F5A623;--down:#E2504A;--mt:#2f8bff}
main[data-route="network-status"] .st-ok{--c:var(--ok)}
main[data-route="network-status"] .st-warn{--c:var(--warn)}
main[data-route="network-status"] .st-down{--c:var(--down)}
main[data-route="network-status"] .st-mt{--c:var(--mt)}

/* hero summary */
main[data-route="network-status"] .ns-sum{display:grid;gap:8px;--c:#8fd0ff}
main[data-route="network-status"] .ns-sum.is-ok{--c:var(--ok)}main[data-route="network-status"] .ns-sum.is-warn{--c:var(--warn)}main[data-route="network-status"] .ns-sum.is-down{--c:var(--down)}
main[data-route="network-status"] .ns-sum-l{font:600 11.5px/1 var(--ff);letter-spacing:.14em;text-transform:uppercase;color:#9fb9dd}
main[data-route="network-status"] .ns-sum-st{display:flex;align-items:center;gap:12px}
main[data-route="network-status"] .ns-sum-st b{font:700 clamp(19px,1.7vw,24px)/1.2 var(--ff);color:#fff}
main[data-route="network-status"] .ns-dot{width:16px;height:16px;border-radius:50%;flex:none;background:var(--c);box-shadow:0 0 0 0 var(--c);animation:nsPulse 2s infinite}
@keyframes nsPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 70%,transparent)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){main[data-route="network-status"] .ns-dot{animation:none}}
main[data-route="network-status"] .ns-sum p{margin:0;color:#c3d4ec}
main[data-route="network-status"] .ns-sum-f{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:12px;border-top:1px solid rgba(143,208,255,.2)}
main[data-route="network-status"] .ns-sum-f small{font-size:12.5px;color:#a9c1e3}
main[data-route="network-status"] .ns-ref{min-height:42px;padding:9px 16px;font-size:13.5px}
main[data-route="network-status"] .ns-ref .i{width:16px;height:16px}
main[data-route="network-status"] .ns-ref:disabled{opacity:.7;cursor:progress}

/* banner */
main[data-route="network-status"] .ns-banner{display:flex;align-items:center;gap:14px;border-radius:16px;padding:16px 20px;color:#fff;background:#5f7aa3;box-shadow:0 14px 30px -18px rgba(1,34,77,.5);transition:background .4s}
main[data-route="network-status"] .ns-banner.is-ok{background:linear-gradient(120deg,#1a9e62,#2bc47f);box-shadow:0 14px 30px -18px rgba(34,181,115,.7)}
main[data-route="network-status"] .ns-banner.is-warn{background:linear-gradient(120deg,#e0901a,#f5b041);box-shadow:0 14px 30px -18px rgba(245,166,35,.7)}
main[data-route="network-status"] .ns-banner.is-down{background:linear-gradient(120deg,#c93a35,#e9605a);box-shadow:0 14px 30px -18px rgba(226,80,74,.7)}
main[data-route="network-status"] .ns-bi{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;flex:none}
main[data-route="network-status"] .ns-banner b{display:block;font:700 clamp(16px,1.4vw,19px)/1.3 var(--ff)}
main[data-route="network-status"] .ns-banner small{display:block;font-size:13px;opacity:.92;margin-top:2px}
main[data-route="network-status"] .ns-note{margin-top:12px}

/* layout */
main[data-route="network-status"] .ns-events{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:start;margin-top:clamp(18px,2.2vw,26px)}
main[data-route="network-status"] #ns-mt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
main[data-route="network-status"] #ns-mt>.ns-none,main[data-route="network-status"] #ns-mt>.empty{grid-column:1/-1}
main[data-route="network-status"] .ns-main{margin-top:clamp(24px,2.8vw,36px)}
@media(max-width:1100px){main[data-route="network-status"] .ns-events{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){main[data-route="network-status"] #ns-mt{grid-template-columns:minmax(0,1fr)}}
main[data-route="network-status"] .ns-head{margin-bottom:10px;align-items:center}
main[data-route="network-status"] .ns-all{min-height:42px;padding:9px 18px;font-size:13.5px}
main[data-route="network-status"] .ns-legend{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--soft)}
main[data-route="network-status"] .ns-legend li{display:inline-flex;align-items:center;gap:7px}
main[data-route="network-status"] .ns-legend i{width:10px;height:10px;border-radius:50%;background:var(--c)}

/* service groups */
main[data-route="network-status"] .ns-svcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
@media(min-width:1680px){main[data-route="network-status"] .ns-svcs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){main[data-route="network-status"] .ns-svcs{grid-template-columns:minmax(0,1fr)}}
main[data-route="network-status"] .ns-svcs>.empty{grid-column:1/-1}
main[data-route="network-status"] .ns-grp{background:#fff;border:1px solid var(--hair);border-left:4px solid var(--c);border-radius:14px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
main[data-route="network-status"] .ns-grp.open{box-shadow:0 14px 30px -24px rgba(1,34,77,.45)}
main[data-route="network-status"] .ns-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;min-height:62px;background:none;border:0;text-align:left;font:inherit;color:inherit}
main[data-route="network-status"] button.ns-row{cursor:pointer}
main[data-route="network-status"] button.ns-row:hover{background:#f7faff}
main[data-route="network-status"] .ns-nm{display:flex;align-items:center;gap:12px;min-width:0}
main[data-route="network-status"] .ns-nm b{display:block;font:600 15.5px/1.3 var(--ff);color:var(--navy)}
main[data-route="network-status"] .ns-nm small{display:block;font-size:12.5px;color:var(--soft);margin-top:1px}
main[data-route="network-status"] .ns-chev,main[data-route="network-status"] .ns-ic{width:28px;height:28px;border-radius:8px;background:var(--tint);flex:none;display:grid;place-items:center;color:var(--blue)}
main[data-route="network-status"] .ns-ic .i{width:16px;height:16px}
main[data-route="network-status"] .ns-chev::before{content:"";width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E63C8' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
main[data-route="network-status"] .ns-grp.open .ns-chev::before{transform:rotate(45deg)}
main[data-route="network-status"] .ns-rt{display:flex;align-items:center;gap:12px;flex:none}
main[data-route="network-status"] .ns-dots{display:flex;gap:3px;flex-wrap:wrap;max-width:90px;justify-content:flex-end}
main[data-route="network-status"] .ns-dots i{width:7px;height:7px;border-radius:50%;background:var(--c)}
main[data-route="network-status"] .ns-st{display:inline-flex;align-items:center;gap:7px;font:600 13px var(--ff);color:color-mix(in srgb,var(--c) 75%,#0c1d38);white-space:nowrap}
main[data-route="network-status"] .ns-st i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
main[data-route="network-status"] .ns-kids{list-style:none;margin:0;padding:4px 16px 10px 56px;border-top:1px solid #eef3fa}
main[data-route="network-status"] .ns-kids[hidden]{display:none}
main[data-route="network-status"] .ns-kids li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px dashed #e6edf7;font-size:14px;color:var(--ink)}
main[data-route="network-status"] .ns-kids li:first-child{border-top:0}
@media(max-width:520px){main[data-route="network-status"] .ns-dots{display:none}main[data-route="network-status"] .ns-kids{padding-left:16px}}

/* incidents + maintenance */
main[data-route="network-status"] .ns-block{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:16px}
main[data-route="network-status"] .ns-block>h2{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:12px}
main[data-route="network-status"] .ns-block>div{display:grid;gap:10px}
main[data-route="network-status"] .ns-none{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#f2fbf6;color:#1d6b46;font-size:14px;font-weight:500}
main[data-route="network-status"] .ns-none .i{width:20px;height:20px;color:var(--ok);flex:none}
main[data-route="network-status"] .ns-ev{border:1px solid var(--hair);border-left:4px solid var(--c);border-radius:12px;padding:13px 14px;background:#fbfdff}
main[data-route="network-status"] .ns-ev-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
main[data-route="network-status"] .ns-stage{font:600 11.5px var(--ff);border-radius:999px;padding:3px 10px;background:var(--tint);color:var(--blue)}
main[data-route="network-status"] .ns-ev h3{font-size:15px;font-weight:700;color:var(--navy);margin-top:8px;line-height:1.35}
main[data-route="network-status"] .ns-ev-t{display:flex;gap:7px;align-items:flex-start;font-size:13px;color:var(--ink);margin-top:6px}
main[data-route="network-status"] .ns-ev-t .i{width:15px;height:15px;color:var(--blue);flex:none;margin-top:3px}
main[data-route="network-status"] .ns-ev-t em{font-style:normal;color:var(--soft)}
main[data-route="network-status"] .ns-ev-d{font-size:13.5px;color:var(--soft);margin-top:6px;line-height:1.55}
main[data-route="network-status"] .ns-ev-s{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;align-items:center}
main[data-route="network-status"] .ns-ev-s span{font:600 12px var(--ff);color:var(--soft);margin-right:2px}
main[data-route="network-status"] .ns-ev-s b{font:600 12px var(--ff);background:var(--tint);color:var(--navy);border-radius:999px;padding:3px 9px}
main[data-route="network-status"] .ns-meta{margin-top:16px;font-size:12.5px;color:var(--soft);text-align:center}
main[data-route="network-status"] .ns-eb{color:var(--cyan);display:block;margin-bottom:8px}
main[data-route="network-status"] .ns-more{margin-top:8px}
main[data-route="network-status"] .ns-more summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:600 13px var(--ff);color:var(--blue);list-style:none;min-height:32px}
main[data-route="network-status"] .ns-more summary::-webkit-details-marker{display:none}
main[data-route="network-status"] .ns-more summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
main[data-route="network-status"] .ns-more[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
main[data-route="network-status"] .ns-more .ns-ev-d{margin-top:2px}
main[data-route="network-status"] .ns-col{display:grid;gap:16px;align-content:start}
main[data-route="network-status"] .ns-help{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(160deg,#fff,#f1f7ff);border:1px solid var(--hair);border-radius:16px;padding:16px}
main[data-route="network-status"] .ns-help-ic{width:44px;height:44px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
main[data-route="network-status"] .ns-help h3{font-size:16px;font-weight:700;color:var(--navy)}
main[data-route="network-status"] .ns-help p{font-size:14px;color:var(--soft);margin-top:4px}
main[data-route="network-status"] .ns-help-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
main[data-route="network-status"] .ns-help-a .btn{min-height:42px;padding:9px 16px;font-size:13.5px}
@media(max-width:1100px){main[data-route="network-status"] .ns-help{display:none}}
main[data-route="network-status"] a[href^="tel"]:not(.btn){display:inline-block;padding:8px 0}

main[data-route="portal"] .po-ticks{margin-top:14px;gap:12px}
main[data-route="portal"] .po-ticks li{color:#dbe7f8;font-size:15px}
main[data-route="portal"] .po-ticks li::before{background-color:rgba(34,181,115,.2)}
main[data-route="portal"] .po-forgot{display:flex;gap:10px;align-items:flex-start;margin-top:18px;max-width:none;font-size:13.5px;color:#b8cbe6;line-height:1.55}
main[data-route="portal"] .po-forgot .i{width:18px;height:18px;flex:none;color:var(--cyan);margin-top:1px}
main[data-route="portal"] .po-forgot a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px}
main[data-route="portal"] .po-forgot a{white-space:nowrap}

main[data-route="privacypolicy"] .lg-prose{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:clamp(20px,3vw,40px);max-width:none}
main[data-route="privacypolicy"] .lg-prose>:first-child{margin-top:0}
main[data-route="privacypolicy"] .lg-prose h2{padding-top:22px;border-top:1px solid #eef3fa}
main[data-route="privacypolicy"] .lg-prose>h2:first-of-type,main[data-route="privacypolicy"] .lg-part:first-of-type h2{border-top:0;padding-top:0}
main[data-route="privacypolicy"] .lg-part{margin-top:34px;padding-top:30px;border-top:2px solid var(--hair)}
main[data-route="privacypolicy"] .lg-part:first-of-type{border-top:0;padding-top:0;margin-top:26px}
main[data-route="privacypolicy"] .lg-part h2{border-top:0;padding-top:0;margin-top:0}
main[data-route="privacypolicy"] .lg-part>*+*{margin-top:14px}
main[data-route="privacypolicy"] .lg-part h3{margin-top:24px}
main[data-route="privacypolicy"] .lg-lead{font-size:16px;color:var(--soft)}
main[data-route="privacypolicy"] .lg-small{font-size:13px;color:var(--soft);margin-top:22px}
main[data-route="privacypolicy"] .lg-prose .callout{line-height:1.6}
main[data-route="privacypolicy"] .lg-prose .callout a{font-weight:600}
main[data-route="privacypolicy"] .lg-end{margin-top:30px}
main[data-route="privacypolicy"] .lg-toc a{display:flex;align-items:center;min-height:36px;padding:6px 10px;margin-inline:-10px;border-radius:10px;border-top:0}
main[data-route="privacypolicy"] .lg-toc a:hover{background:var(--tint)}
@media(max-width:980px){main[data-route="privacypolicy"] .lg-layout aside{order:-1}main[data-route="privacypolicy"] .lg-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}main[data-route="privacypolicy"] .lg-toc b{grid-column:1/-1}main[data-route="privacypolicy"] .lg-toc a{margin-inline:0;padding-inline:8px;background:var(--paper)}main[data-route="privacypolicy"] .lg-toc a+a{margin-top:6px}main[data-route="privacypolicy"] .lg-toc a:nth-of-type(2){margin-top:0}}
@media(max-width:520px){main[data-route="privacypolicy"] .lg-toc{column-gap:8px;padding:14px}main[data-route="privacypolicy"] .lg-toc a{font-size:13px;line-height:1.3;min-height:40px}main[data-route="privacypolicy"] .lg-prose{font-size:15px;padding:18px 16px;border-radius:16px}}
main[data-route="privacypolicy"] .lg-prose .callout a,main[data-route="privacypolicy"] .lg-prose li a{white-space:nowrap}

main[data-route="shop"] .shop-head{align-items:flex-end}
main[data-route="shop"] .shop-sort{width:min(100%,280px)}
main[data-route="shop"] .shop-sort select{height:46px}
@media(max-width:620px){main[data-route="shop"] .shop-sort{width:100%}}
main[data-route="shop"] .plans-note a{white-space:nowrap}

main[data-route="signup"] .su-pick{display:grid;gap:10px}
main[data-route="signup"] .su-pick h2{margin-bottom:2px}
main[data-route="signup"] .su-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid rgba(143,208,255,.25);background:rgba(255,255,255,.05);color:#fff;font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .18s}
main[data-route="signup"] .su-opt:hover{border-color:rgba(143,208,255,.7);background:rgba(255,255,255,.1);transform:translateY(-2px)}
main[data-route="signup"] .su-opt .ic{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#fff}
main[data-route="signup"] .su-opt .ic .i{width:21px;height:21px}
main[data-route="signup"] .su-opt>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}
main[data-route="signup"] .su-opt b{font:600 15.5px/1.3 var(--ff);color:#fff}
main[data-route="signup"] .su-opt small{font-size:13px;color:#b8cbe6;line-height:1.4}
main[data-route="signup"] .su-opt .go{width:18px;height:18px;color:var(--sky);flex:none}
main[data-route="signup"] .su-row .prose-col p{font-size:15.5px;line-height:1.7}
main[data-route="signup"] .su-fs{border:1px solid var(--hair);border-radius:16px;padding:14px 16px 16px;margin:0;display:grid;gap:14px;min-width:0;background:#f9fbfe}
main[data-route="signup"] .su-fs legend{padding:0 6px;font:700 12px var(--ff);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
main[data-route="signup"] .su-cond>.callout{margin:0}
main[data-route="signup"] .modal .form .btn[type=submit]{min-width:200px}
@media(max-width:620px){main[data-route="signup"] .modal .form .btn[type=submit]{width:100%}}

/* proportional service rows: image 5 parts, copy 7 parts, centred */
main[data-route="signup"] .su-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(24px,4vw,64px)}
main[data-route="signup"] .su-row.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
main[data-route="signup"] .su-row .prose-col h2{font-size:clamp(24px,2.3vw,34px)}
main[data-route="signup"] .su-row .prose-col p{font-size:16px}
main[data-route="signup"] .su-ticks{margin-top:14px}
main[data-route="signup"] .su-media img{aspect-ratio:16/10}
@media(max-width:900px){main[data-route="signup"] .su-row,main[data-route="signup"] .su-row.rev{grid-template-columns:minmax(0,1fr)}main[data-route="signup"] .su-media{max-width:640px}}

/* siptrunking: hero guides list, dark prose contrast, compact mobile cards */
main[data-route="siptrunking"] .dark .prose-col p{color:#b8cbe6}
main[data-route="siptrunking"] .st-guides{display:grid;gap:6px;margin-top:14px}
main[data-route="siptrunking"] .st-guides a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,208,255,.18);color:#e6eefb;font:500 14px/1.35 var(--ff);transition:background .15s,border-color .15s}
main[data-route="siptrunking"] .st-guides a:hover{background:rgba(47,139,255,.18);border-color:rgba(143,208,255,.45);color:#fff}
main[data-route="siptrunking"] .st-guides .i{width:18px;height:18px;color:var(--cyan);flex:none}
main[data-route="siptrunking"] .st-guides .ar{margin-left:auto;color:var(--cyan);font-weight:600}
@media(max-width:620px){
  main[data-route="siptrunking"] .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="siptrunking"] .card>.ic{grid-row:1/span 2}
  main[data-route="siptrunking"] .card>:not(.ic){grid-column:2}
}

main[data-route="sms"] .sm-svc .badge{white-space:normal;line-height:1.35}
main[data-route="sms"] .sm-svc .ticks{margin-top:6px;padding-top:12px;border-top:1px solid var(--hair)}
main[data-route="sms"] .sm-svc .ticks li{font-size:13.5px}
main[data-route="sms"] .sm-badges{margin:-4px 0 20px}
main[data-route="sms"] .sm-badges .chip-l b{color:#fff}
main[data-route="sms"] .sm-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:stretch}
main[data-route="sms"] .sm-caps{align-content:stretch}
main[data-route="sms"] .sm-caps .card{padding:16px}
main[data-route="sms"] .sm-caps .card h3{font-size:15.5px}
main[data-route="sms"] .sm-caps .card p{font-size:13.5px;margin-top:4px}
main[data-route="sms"] .sm-caps .ic{width:40px;height:40px}
main[data-route="sms"] .sm-code{margin:0;min-width:0;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#06122b;border:1px solid rgba(143,208,255,.22);box-shadow:0 30px 60px -36px rgba(0,0,0,.8)}
main[data-route="sms"] .sm-code figcaption{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(143,208,255,.16)}
main[data-route="sms"] .sm-code figcaption i{width:11px;height:11px;border-radius:50%;flex:none}
main[data-route="sms"] .sm-code figcaption span{margin-left:8px;font:600 12.5px var(--ff);color:#a9c1e3;min-width:0;overflow-wrap:anywhere}
main[data-route="sms"] .sm-code pre{flex:1;margin:0;padding:18px;overflow-x:auto;font:500 13px/1.75 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:#dce8fa;white-space:pre;tab-size:2}
main[data-route="sms"] .sm-code pre:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}
main[data-route="sms"] .sm-code .c{color:#6f88ad}
main[data-route="sms"] .sm-code .k{color:#8fd0ff;font-weight:700}
main[data-route="sms"] .sm-code .m{color:#ffcf70}
main[data-route="sms"] .sm-code .s{color:#9be7b4}
main[data-route="sms"] .sm-code .p{color:#c5b3ff}
main[data-route="sms"] .sm-int{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px 32px;align-items:center;margin-top:16px;padding:22px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(143,208,255,.2)}
main[data-route="sms"] .sm-int h3,main[data-route="sms"] .sm-custom h3{font-size:18px;font-weight:700;color:#fff}
main[data-route="sms"] .sm-int p,main[data-route="sms"] .sm-custom p{font-size:14px;margin-top:6px}
main[data-route="sms"] .sm-more{background:transparent;border-style:dashed}
main[data-route="sms"] .sm-custom{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 20px;align-items:center;margin-top:16px;padding:22px;border-radius:16px;background:linear-gradient(120deg,rgba(47,139,255,.22),rgba(47,139,255,.06));border:1px solid rgba(143,208,255,.3)}
main[data-route="sms"] .sm-custom .ic{width:48px;height:48px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center}
main[data-route="sms"] .sm-custom .ic .i{width:24px;height:24px}
@media(max-width:1100px){main[data-route="sms"] .sm-two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){main[data-route="sms"] .sm-int{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){main[data-route="sms"] .sm-custom{grid-template-columns:minmax(0,1fr)}main[data-route="sms"] .sm-custom .btn{justify-self:start}}
@media(max-width:620px){main[data-route="sms"] .sm-code pre{font-size:12px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}}
@supports (grid-template-rows:subgrid){
  main[data-route="sms"] .sm-svc .card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:9px;align-content:start}
  main[data-route="sms"] .sm-svc .card .badge{justify-self:start;align-self:start}
  main[data-route="sms"] .sm-svc .card .ticks{align-self:start}
}

/* speed-test */
main[data-route="speed-test"] .sp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:980px){main[data-route="speed-test"] .sp-grid{grid-template-columns:minmax(0,1fr)}}
main[data-route="speed-test"] .sp-card{text-align:center;padding:clamp(18px,2vw,26px);max-width:620px;width:100%;justify-self:end}
@media(max-width:980px){main[data-route="speed-test"] .sp-card{justify-self:stretch;max-width:none}}
main[data-route="speed-test"] .sp-phase{font:600 12px var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
main[data-route="speed-test"] .sp-gauge{position:relative;width:min(100%,280px);margin:10px auto 0}
main[data-route="speed-test"] .sp-gauge svg{width:100%;height:auto;display:block}
main[data-route="speed-test"] #sp-needle{transition:transform .25s ease-out}
main[data-route="speed-test"] #sp-arc{transition:stroke-dashoffset .25s ease-out}
main[data-route="speed-test"] .sp-read{position:absolute;left:0;right:0;bottom:0;height:36%;justify-content:flex-end;display:flex;flex-direction:column;align-items:center;line-height:1}
main[data-route="speed-test"] .sp-read span{font:700 clamp(34px,3.2vw,44px)/1 var(--ff);color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
main[data-route="speed-test"] .sp-read small{font:600 13px var(--ff);color:#a9c1e3;margin-top:4px}
main[data-route="speed-test"] .sp-btn{margin-top:16px;min-width:220px}
main[data-route="speed-test"] .sp-btn[disabled]{opacity:.6;cursor:default;transform:none}
main[data-route="speed-test"] .sp-verdict{color:#8fd0ff;font:600 14px/1.5 var(--ff);margin:10px auto 0;max-width:440px;min-height:1.5em}
main[data-route="speed-test"] .sp-verdict a{color:#fff;text-decoration:underline;text-underline-offset:2px}
main[data-route="speed-test"] .sp-off .sp-verdict{background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.4);color:#ffe2b0;border-radius:12px;padding:10px 14px;font-weight:500}
main[data-route="speed-test"] .sp-off .sp-phase{color:#ffcf7a}
main[data-route="speed-test"] .sp-server{color:#8ea9cf;font-size:12px;margin-top:6px;min-height:1em}
main[data-route="speed-test"] .sp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
main[data-route="speed-test"] .sp-tiles div{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:10px 6px}
main[data-route="speed-test"] .sp-tiles b{display:block;font:700 18px var(--ff);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
main[data-route="speed-test"] .sp-tiles b small{font-size:12px;color:#a9c1e3;font-weight:500;margin-left:3px}
main[data-route="speed-test"] .sp-tiles span{display:block;color:#a9c1e3;font-size:12.5px;margin-top:2px}
@media(max-width:420px){main[data-route="speed-test"] .sp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
main[data-route="speed-test"] .sp-acc{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
main[data-route="speed-test"] .sp-tips{gap:12px}
main[data-route="speed-test"] .sp-tips li{font-size:15px;color:var(--soft);line-height:1.6}
main[data-route="speed-test"] .sp-tips b{color:var(--navy)}
main[data-route="speed-test"] .sp-fq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
main[data-route="speed-test"] .sp-l{color:var(--blue);font-weight:600}
@media(max-width:900px){main[data-route="speed-test"] .sp-acc,main[data-route="speed-test"] .sp-fq{grid-template-columns:minmax(0,1fr)}}

/* closed FAQ answers take no space (keeps hidden links out of tap/overlap hit-testing) */
main[data-route="speed-test"] .faq details:not([open]) .ans{display:none}
main[data-route="speed-test"] .sp-l{white-space:nowrap}

/* FAQ aside help card (desktop: left of the questions; phones: after them) */
main[data-route="speed-test"] .sp-fq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
main[data-route="speed-test"] .fq-aside{position:sticky;top:112px}
main[data-route="speed-test"] .fq-help{background:linear-gradient(160deg,#fff,#f3f8ff)}
main[data-route="speed-test"] .fq-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media(max-width:900px){main[data-route="speed-test"] .sp-fq{grid-template-columns:minmax(0,1fr)}main[data-route="speed-test"] .fq-aside{display:none}}
main[data-route="speed-test"] .nw{white-space:nowrap}

main[data-route="terms-and-conditions"] .lg-prose{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:clamp(20px,3vw,40px);max-width:none}
main[data-route="terms-and-conditions"] .lg-prose>:first-child{margin-top:0}
main[data-route="terms-and-conditions"] .lg-prose h2{padding-top:22px;border-top:1px solid #eef3fa}
main[data-route="terms-and-conditions"] .lg-prose>h2:first-of-type,main[data-route="terms-and-conditions"] .lg-part:first-of-type h2{border-top:0;padding-top:0}
main[data-route="terms-and-conditions"] .lg-part{margin-top:34px;padding-top:30px;border-top:2px solid var(--hair)}
main[data-route="terms-and-conditions"] .lg-part:first-of-type{border-top:0;padding-top:0;margin-top:26px}
main[data-route="terms-and-conditions"] .lg-part h2{border-top:0;padding-top:0;margin-top:0}
main[data-route="terms-and-conditions"] .lg-part>*+*{margin-top:14px}
main[data-route="terms-and-conditions"] .lg-part h3{margin-top:24px}
main[data-route="terms-and-conditions"] .lg-lead{font-size:16px;color:var(--soft)}
main[data-route="terms-and-conditions"] .lg-small{font-size:13px;color:var(--soft);margin-top:22px}
main[data-route="terms-and-conditions"] .lg-prose .callout{line-height:1.6}
main[data-route="terms-and-conditions"] .lg-prose .callout a{font-weight:600}
main[data-route="terms-and-conditions"] .lg-end{margin-top:30px}
main[data-route="terms-and-conditions"] .lg-toc a{display:flex;align-items:center;min-height:36px;padding:6px 10px;margin-inline:-10px;border-radius:10px;border-top:0}
main[data-route="terms-and-conditions"] .lg-toc a:hover{background:var(--tint)}
@media(max-width:980px){main[data-route="terms-and-conditions"] .lg-layout aside{order:-1}main[data-route="terms-and-conditions"] .lg-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}main[data-route="terms-and-conditions"] .lg-toc b{grid-column:1/-1}main[data-route="terms-and-conditions"] .lg-toc a{margin-inline:0;padding-inline:8px;background:var(--paper)}main[data-route="terms-and-conditions"] .lg-toc a+a{margin-top:6px}main[data-route="terms-and-conditions"] .lg-toc a:nth-of-type(2){margin-top:0}}
@media(max-width:520px){main[data-route="terms-and-conditions"] .lg-toc{column-gap:8px;padding:14px}main[data-route="terms-and-conditions"] .lg-toc a{font-size:13px;line-height:1.3;min-height:40px}main[data-route="terms-and-conditions"] .lg-prose{font-size:15px;padding:18px 16px;border-radius:16px}}
main[data-route="terms-and-conditions"] .lg-prose .callout a,main[data-route="terms-and-conditions"] .lg-prose li a{white-space:nowrap}

/* toll-free-number: contact strip, type cards, routing flow, feature columns */
main[data-route="toll-free-number"] .dark .prose-col p{color:#b8cbe6}
main[data-route="toll-free-number"] .tf-amaze{align-items:center}
main[data-route="toll-free-number"] .tf-amaze>div{flex:1;min-width:0}
main[data-route="toll-free-number"] .tf-amaze .btn{flex:none}
@media(max-width:700px){main[data-route="toll-free-number"] .tf-amaze{flex-wrap:wrap}main[data-route="toll-free-number"] .tf-amaze>div{flex-basis:calc(100% - 40px)}}

main[data-route="toll-free-number"] .tf-types .card{gap:10px}
main[data-route="toll-free-number"] .tf-th{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
main[data-route="toll-free-number"] .tf-num{display:inline-grid;place-items:center;min-width:64px;height:44px;padding:0 12px;border-radius:12px;background:var(--grad);color:#fff;font:700 18px/1 var(--ff);letter-spacing:.02em;box-shadow:0 8px 18px -10px rgba(14,99,200,.8)}
main[data-route="toll-free-number"] .tf-num .i{width:22px;height:22px}
main[data-route="toll-free-number"] .tf-types .btn{margin-top:auto;align-self:flex-start;white-space:normal;text-align:center;line-height:1.3}

main[data-route="toll-free-number"] .tf-flow{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1.25fr);align-items:center;gap:10px}
main[data-route="toll-free-number"] .tf-step{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}
main[data-route="toll-free-number"] .tf-step h3{font:700 16px/1.3 var(--ff);color:var(--navy)}
main[data-route="toll-free-number"] .tf-step p{font-size:14px;color:var(--soft);line-height:1.55}
main[data-route="toll-free-number"] .tf-step .ic{width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex:none}
main[data-route="toll-free-number"] .tf-step .ic .i{width:22px;height:22px}
main[data-route="toll-free-number"] .tf-step.tf-hub{border:2px solid var(--blue);box-shadow:0 18px 36px -26px rgba(14,99,200,.7)}
main[data-route="toll-free-number"] .tf-step.tf-hub .ic{background:var(--grad);color:#fff}
main[data-route="toll-free-number"] .tf-arrow{display:grid;place-items:center;color:var(--blue)}
main[data-route="toll-free-number"] .tf-arrow .i{width:26px;height:26px}
main[data-route="toll-free-number"] .tf-branch{display:grid;gap:10px}
main[data-route="toll-free-number"] .tf-row{display:flex;gap:12px;align-items:flex-start}
main[data-route="toll-free-number"] .tf-row>div{min-width:0}
main[data-route="toll-free-number"] .tf-row p{margin-top:3px}
main[data-route="toll-free-number"] .tag{align-self:flex-start;font:700 11.5px/1 var(--ff);letter-spacing:.06em;border-radius:999px;padding:5px 10px}
main[data-route="toll-free-number"] .yes .tag{background:#e9f8f0;color:#138a52}
main[data-route="toll-free-number"] .no .tag{background:#fff5e5;color:#b9770e}
main[data-route="toll-free-number"] .yes{border-left:4px solid #22b573}
main[data-route="toll-free-number"] .no{border-left:4px solid #F5A623}
@media(max-width:980px){
  main[data-route="toll-free-number"] .tf-flow{grid-template-columns:minmax(0,1fr)}
  main[data-route="toll-free-number"] .tf-arrow{transform:rotate(90deg);height:26px}
  main[data-route="toll-free-number"] .tf-branch{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){main[data-route="toll-free-number"] .tf-branch{grid-template-columns:minmax(0,1fr)}}

main[data-route="toll-free-number"] .tf-feats{background:#fff;border:1px solid #d6e6fa;border-radius:18px;padding:clamp(18px,2vw,26px)}
main[data-route="toll-free-number"] .tf-feats .ticks{display:block;columns:4 220px;column-gap:24px;margin:0}
main[data-route="toll-free-number"] .tf-feats .ticks li{break-inside:avoid;margin-bottom:11px}
main[data-route="toll-free-number"] .tf-feats .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:16px;border-top:1px solid var(--hair)}
@media(max-width:520px){main[data-route="toll-free-number"] .tf-feats .ticks{columns:2;column-gap:14px}main[data-route="toll-free-number"] .tf-feats .ticks li{font-size:13.5px}}
@media(max-width:620px){
  main[data-route="toll-free-number"] .g4 .card,main[data-route="toll-free-number"] .g2 .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="toll-free-number"] .g4 .card>.ic,main[data-route="toll-free-number"] .g2 .card>.ic{grid-row:1/span 2}
  main[data-route="toll-free-number"] .g4 .card>:not(.ic),main[data-route="toll-free-number"] .g2 .card>:not(.ic){grid-column:2}
}
@media(max-width:440px){main[data-route="toll-free-number"] .tf-feats .ticks{columns:1}}

/* voice: hero service list + Big Business Features block */
main[data-route="voice"] .vnav{display:grid;gap:8px;margin-top:14px}
main[data-route="voice"] .vnav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,208,255,.18);color:#fff;transition:background .15s,border-color .15s}
main[data-route="voice"] .vnav a:hover{background:rgba(47,139,255,.18);border-color:rgba(143,208,255,.45)}
main[data-route="voice"] .vnav .ic{width:36px;height:36px;border-radius:10px;background:rgba(47,139,255,.22);color:#bfe1ff;display:grid;place-items:center;flex:none}
main[data-route="voice"] .vnav .ic .i{width:18px;height:18px}
main[data-route="voice"] .vnav b{display:block;font:600 14.5px/1.3 var(--ff);color:#fff}
main[data-route="voice"] .vnav small{display:block;color:#a9c1e3;font-size:12.5px;line-height:1.4}
main[data-route="voice"] .vnav .ar{margin-left:auto;color:var(--cyan);font-weight:600}

main[data-route="voice"] .bbf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:center}
main[data-route="voice"] .bbf-img img{aspect-ratio:1402/1122;height:auto}
main[data-route="voice"] .tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
main[data-route="voice"] .tiles li{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:16px;font:600 14.5px/1.35 var(--ff);color:var(--navy);transition:transform .18s,box-shadow .2s,border-color .2s}
main[data-route="voice"] .tiles li:hover{transform:translateY(-2px);border-color:#cfe0f7;box-shadow:0 14px 30px -22px rgba(1,34,77,.45)}
main[data-route="voice"] .tiles .ic{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 18px -10px rgba(14,99,200,.8)}
main[data-route="voice"] .tiles .ic .i{width:21px;height:21px}
main[data-route="voice"] .bbf-side .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media(min-width:1600px){main[data-route="voice"] .bbf{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}main[data-route="voice"] .tiles li{padding:20px}}
@media(max-width:1180px){
  main[data-route="voice"] .bbf{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  main[data-route="voice"] .tiles{grid-template-columns:minmax(0,1fr);gap:8px}
  main[data-route="voice"] .tiles li{flex-direction:row;align-items:center;padding:8px 12px;gap:12px}
  main[data-route="voice"] .tiles .ic{width:34px;height:34px;border-radius:10px}
  main[data-route="voice"] .tiles .ic .i{width:18px;height:18px}
}
@media(max-width:700px){main[data-route="voice"] .bbf{grid-template-columns:minmax(0,1fr)}}
main[data-route="voice"] .dark .prose-col p{color:#b8cbe6}
main[data-route="voice"] .bbf-img{background:linear-gradient(135deg,#0a2353,#0e3a7a)}
@media(max-width:620px){
  main[data-route="voice"] .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="voice"] .card>.ic{grid-row:1/span 3}
  main[data-route="voice"] .card>:not(.ic){grid-column:2}
  main[data-route="voice"] .card .go{padding-top:2px}
}
@media(min-width:901px) and (max-width:1200px){main[data-route="voice"] .suite{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* voiceplans: hero quick-pick + fixed 3-up plan grid (3 or 6 plans per tab never leave an orphan) */
main[data-route="voiceplans"] .vp-pick{display:grid;gap:10px;margin-top:14px}
main[data-route="voiceplans"] .vp-pick a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(143,208,255,.22);color:#fff;transition:background .15s,border-color .15s}
main[data-route="voiceplans"] .vp-pick a:hover{background:rgba(47,139,255,.2);border-color:rgba(143,208,255,.5)}
main[data-route="voiceplans"] .vp-pick .ic{width:40px;height:40px;border-radius:12px;background:rgba(47,139,255,.24);color:#bfe1ff;display:grid;place-items:center;flex:none}
main[data-route="voiceplans"] .vp-pick b{display:block;font:600 15px/1.3 var(--ff);color:#fff}
main[data-route="voiceplans"] .vp-pick small{display:block;color:#a9c1e3;font-size:12.5px;line-height:1.4}
main[data-route="voiceplans"] .vp-pick .pr{margin-left:auto;text-align:right;white-space:nowrap;color:#a9c1e3;font-size:12.5px}
main[data-route="voiceplans"] .vp-pick .pr b{display:inline;font-size:20px;color:#fff}
main[data-route="voiceplans"] .vp-fine{font-size:12.5px!important;margin-top:12px!important;color:#9fb9dd!important}
main[data-route="voiceplans"] .plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1600px){main[data-route="voiceplans"] .plan-grid{gap:18px}main[data-route="voiceplans"] .plan{padding:24px}}
@media(max-width:820px){main[data-route="voiceplans"] .plan-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){main[data-route="voiceplans"] .vp-pick a{flex-wrap:wrap}main[data-route="voiceplans"] .vp-pick .pr{margin-left:52px;text-align:left}}
main[data-route="voiceplans"] .vp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:480px){main[data-route="voiceplans"] .vp-stats{grid-template-columns:minmax(0,1fr)}}
main[data-route="voiceplans"] .plans-note a{white-space:nowrap}
main[data-route="voiceplans"] .plan .pl-top{min-height:24px}
main[data-route="voiceplans"] .dark .prose-col p{color:#b8cbe6}
@media(max-width:620px){
  main[data-route="voiceplans"] .g4 .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="voiceplans"] .g4 .card>.ic{grid-row:1/span 2}
  main[data-route="voiceplans"] .g4 .card>:not(.ic){grid-column:2}
}
main[data-route="voiceplans"] .plan .pl-top{min-height:26px}
main[data-route="voiceplans"] .plan.pop{padding:19px}
@media(min-width:1600px){main[data-route="voiceplans"] .plan.pop{padding:23px}}

/* voip-features: hero jump list, grouped feature grid with filter, guides strip */
main[data-route="voip-features"] .vf-jump{display:grid;gap:8px;margin-top:14px}
main[data-route="voip-features"] .vf-jump a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,208,255,.18);color:#fff;transition:background .15s,border-color .15s}
main[data-route="voip-features"] .vf-jump a:hover{background:rgba(47,139,255,.18);border-color:rgba(143,208,255,.45)}
main[data-route="voip-features"] .vf-jump .ic{width:36px;height:36px;border-radius:10px;background:rgba(47,139,255,.22);color:#bfe1ff;display:grid;place-items:center;flex:none}
main[data-route="voip-features"] .vf-jump .ic .i{width:18px;height:18px}
main[data-route="voip-features"] .vf-jump b{display:block;font:600 14.5px/1.3 var(--ff);color:#fff}
main[data-route="voip-features"] .vf-jump small{display:block;color:#a9c1e3;font-size:12.5px;line-height:1.4}
main[data-route="voip-features"] .vf-jump .ar{margin-left:auto;color:var(--cyan);font-weight:600}

main[data-route="voip-features"] .vf-search{flex:0 1 360px;min-width:0;width:100%}
main[data-route="voip-features"] .vf-search input::-webkit-search-cancel-button{cursor:pointer}
@media(max-width:700px){main[data-route="voip-features"] .vf-search{flex-basis:100%;max-width:none}}
main[data-route="voip-features"] .vf-groups{align-items:stretch}
main[data-route="voip-features"] .vf-group{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
main[data-route="voip-features"] .vf-group[hidden]{display:none}
main[data-route="voip-features"] .vf-gh{display:flex;align-items:center;gap:10px;font:700 16px/1.25 var(--ff);color:var(--navy);padding-bottom:12px;border-bottom:1px solid var(--hair)}
main[data-route="voip-features"] .vf-gh .ic{width:34px;height:34px;border-radius:10px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
main[data-route="voip-features"] .vf-gh .ic .i{width:18px;height:18px}
main[data-route="voip-features"] .vf-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
main[data-route="voip-features"] .vf-list li{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--paper);transition:background .15s}
main[data-route="voip-features"] .vf-list li:hover{background:var(--tint)}
main[data-route="voip-features"] .vf-list li[hidden]{display:none}
main[data-route="voip-features"] .vf-list .ic{width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--hair);color:var(--blue);display:grid;place-items:center;flex:none}
main[data-route="voip-features"] .vf-list .ic .i{width:19px;height:19px}
main[data-route="voip-features"] .vf-list h4{font:700 15px/1.3 var(--ff);color:var(--navy)}
main[data-route="voip-features"] .vf-list p{font-size:13.8px;line-height:1.55;color:var(--soft);margin-top:3px}
main[data-route="voip-features"] .vf-list p a{color:var(--blue);font-weight:600;white-space:nowrap}
main[data-route="voip-features"] .vf-list p a::after{content:" →"}
@media(min-width:901px) and (max-width:1100px){main[data-route="voip-features"] .vf-list li{flex-direction:column;gap:8px}}
@media(max-width:900px){main[data-route="voip-features"] .vf-groups{grid-template-columns:minmax(0,1fr)}}

main[data-route="voip-features"] .vf-more{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:16px 28px;align-items:center;background:var(--tint);border:1px solid #d6e6fa;border-radius:18px;padding:20px}
main[data-route="voip-features"] .vf-more[hidden]{display:none}
main[data-route="voip-features"] .vf-more h3{font:700 17px/1.3 var(--ff);color:var(--navy)}
main[data-route="voip-features"] .vf-more p{font-size:14px;color:var(--soft);margin-top:4px}
main[data-route="voip-features"] .vf-more .chip-l{min-height:36px}
main[data-route="voip-features"] .vf-more .chip-l[hidden]{display:none}
@media(max-width:900px){main[data-route="voip-features"] .vf-more{grid-template-columns:minmax(0,1fr)}}
main[data-route="voip-features"] .vf-search input{align-self:stretch;height:auto;min-height:44px}
main[data-route="voip-features"] .dark .prose-col p{color:#b8cbe6}
@media(max-width:620px){
  main[data-route="voip-features"] .g2 .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:6px;align-content:start;padding:16px}
  main[data-route="voip-features"] .g2 .card>.ic{grid-row:1/span 2}
  main[data-route="voip-features"] .g2 .card>:not(.ic){grid-column:2}
}

/* ===================== WordPress theme additions ===================== */
.page{padding-top:0}
.nav{top:0}
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
@media(max-width:600px){body.admin-bar .nav{top:0}}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--navy);padding:10px 16px;border-radius:10px;font-weight:600}
.skip-link:focus{left:12px}
[data-elementor-type="popup"],.elementor-location-popup,.be-tabbar,.be-wa,.be-sheet,.be-sheet-bd{display:none!important}
.form-err{margin:2px 0}
.bc-generic h1,.bc-generic h2{color:var(--navy)}
/* WooCommerce, in the brand */
.woo-wrap{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:clamp(16px,2.4vw,32px);color:var(--ink)}
.woocommerce a{color:var(--blue)}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.checkout-button,.woocommerce #place_order,.woocommerce button.button.alt,.woocommerce a.button.alt{background:linear-gradient(120deg,#0E63C8,#2f8bff)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:13px 24px!important;font:600 14.5px var(--ff)!important;box-shadow:0 10px 24px -12px rgba(14,99,200,.75);min-height:46px;line-height:1.2!important}
.woocommerce .button:hover{transform:translateY(-1px)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .quantity .qty,.woocommerce-page .select2-container .select2-selection{border:1.5px solid #d3e2f5!important;border-radius:12px!important;min-height:48px;padding:10px 14px!important;font:500 14.5px var(--ff);background:#fff}
.woocommerce form .form-row label{font:600 13.5px var(--ff);color:var(--navy)}
.woocommerce table.shop_table{border:1px solid var(--hair)!important;border-radius:14px!important;overflow:hidden;border-collapse:separate}
.woocommerce table.shop_table th{background:var(--navy);color:#fff;font-weight:600}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px;border-top-color:var(--blue)!important;background:var(--tint)!important;color:var(--ink)!important}
.woocommerce-error{border-top-color:#d64545!important;background:#fdecea!important}
.woocommerce-checkout #payment{background:var(--tint)!important;border-radius:16px!important}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}
@media(min-width:981px){.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px}}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:10px;background:var(--tint);font-weight:600}
.woocommerce-MyAccount-navigation .is-active a{background:var(--grad);color:#fff!important}
.page-numbers{display:flex;gap:6px;list-style:none;padding:0}
.page-numbers a,.page-numbers span{display:inline-grid;place-items:center;min-width:40px;height:40px;border-radius:10px;border:1px solid var(--hair);background:#fff}
.page-numbers .current{background:var(--grad);color:#fff;border-color:transparent}
/* checkout + cart polish */
.woocommerce select.select2-hidden-accessible,.woocommerce form .form-row select.select2-hidden-accessible,.select2-hidden-accessible{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
body.woocommerce-checkout,body.woocommerce-cart{overflow-x:clip}
.woocommerce form .form-row .woocommerce-input-wrapper{flex-wrap:wrap;max-width:100%}
.woocommerce form .form-row .woocommerce-input-wrapper .description,#choose_router-description{position:static!important;display:block!important;flex:1 0 100%;width:100%!important;margin:8px 0 0!important;padding:0!important;background:none!important;color:#5b6b82!important;font:500 13px/1.5 var(--ff)!important;box-shadow:none!important;border:0!important}
.woocommerce form .form-row .woocommerce-input-wrapper:has(> .description){display:flex;border-radius:16px!important;padding:4px 4px 12px!important}
.woocommerce form .form-row .woocommerce-input-wrapper:has(> .description)>br{display:none}
.woocommerce form .form-row .woocommerce-input-wrapper:has(> .description)>.description{padding:0 12px!important;margin-top:8px!important}
.woocommerce form .form-row .woocommerce-input-wrapper .description::before,.woocommerce form .form-row .woocommerce-input-wrapper .description::after{display:none!important}
.woocommerce #payment .place-order{display:flex;flex-direction:column;gap:12px}
.woocommerce #payment #place_order{float:none!important;width:100%;order:2}
.woocommerce #payment .place-order .woocommerce-terms-and-conditions-wrapper{order:1}
.woocommerce #payment .bc-ck-secure{order:3;width:100%!important;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:12.5px;line-height:1.45;text-align:center;opacity:.85}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-coupon-toggle .woocommerce-info{display:block!important;position:relative;padding:14px 18px 14px 46px!important}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,.woocommerce-form-coupon-toggle .woocommerce-info::before{left:18px!important;top:50%!important;transform:translateY(-50%)}
.woocommerce-form-coupon-toggle .woocommerce-info a{margin-left:4px}
.woocommerce #payment .payment_box{padding:10px!important}
.woocommerce #payment .payment_box fieldset,.woocommerce #payment .payment_box .wc-stripe-upe-form,.woocommerce #payment .payment_box .wc-upe-form{border:0!important;padding:0!important;margin:0!important}
.woocommerce-cart table.cart td.actions .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce-cart table.cart td.actions .coupon #coupon_code{width:220px!important;max-width:100%;min-height:46px;border:1.5px solid #d3e2f5!important;border-radius:12px!important;padding:10px 14px!important}
@media(max-width:768px){.woocommerce-cart table.cart td.actions .coupon{width:100%}.woocommerce-cart table.cart td.actions .coupon #coupon_code{flex:1 1 160px;width:auto!important}.woocommerce-cart table.cart td.actions .coupon .button{flex:0 0 auto}.woocommerce-cart table.cart td.actions>.button{width:100%;margin-top:10px}}
