:root{--red:#ed1c24;--red2:#ff3b42;--ink:#101319;--muted:#68717f;--line:#e7eaf0;--soft:#f6f8fb;--white:#fff;--max:1180px;--shadow:0 18px 55px rgba(16,19,25,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(237,28,36,.035),transparent 28%),radial-gradient(circle at 85% 65%,rgba(237,28,36,.025),transparent 30%);z-index:-2}a{text-decoration:none;color:inherit}.container{width:min(100% - 40px,var(--max));margin:auto}.topbar{height:44px;background:#111318;color:#fff;font-size:12px;letter-spacing:.02em}.topbar-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar i{color:#ff2d35;margin-right:7px}.topbar a{color:#fff}.locations{color:#f4f4f5}.header{height:92px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,229,235,.85);position:sticky;top:0;z-index:1000;transition:.35s}.header.scrolled{box-shadow:0 10px 35px rgba(16,19,25,.08);height:78px}.nav{height:100%;display:flex;align-items:center;gap:28px}.logo img{width:174px;height:auto;display:block;transition:.3s}.header.scrolled .logo img{width:156px}.nav nav{display:flex;align-items:center;gap:27px;margin-left:auto}.nav nav a{font-size:13px;font-weight:750;color:#23262d;position:relative;padding:35px 0;transition:.25s}.header.scrolled .nav nav a{padding:28px 0}.nav nav a:after{content:"";position:absolute;left:0;bottom:23px;width:0;height:3px;border-radius:99px;background:var(--red);transition:.3s}.header.scrolled .nav nav a:after{bottom:17px}.nav nav a:hover,.nav nav a.active{color:var(--red)}.nav nav a:hover:after,.nav nav a.active:after{width:100%}.nav nav i{font-size:9px}.header-cta,.btn-red{position:relative;overflow:hidden;background:var(--red);color:#fff!important;padding:14px 21px;border-radius:7px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 12px 28px rgba(237,28,36,.17);transition:.3s}.header-cta:before,.btn-red:before{content:"";position:absolute;top:-30%;left:-80%;width:55%;height:160%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-20deg);transition:.65s}.header-cta:hover:before,.btn-red:hover:before{left:130%}.header-cta:hover,.btn-red:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(237,28,36,.24)}.menu-btn{display:none;border:1px solid #e1e4e9;background:#fff;width:42px;height:42px;border-radius:9px;font-size:22px;color:var(--ink)}
.hero{position:relative;min-height:660px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#fff 53%,#fafbfd 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:660px}.hero-copy{padding:50px 0}.eyebrow,.kicker{font-size:11px;font-weight:850;letter-spacing:.15em;color:#6d7480}.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:22px}.eyebrow span{display:inline-block;width:28px;height:3px;background:var(--red);border-radius:10px}.hero h1{font-family:Manrope,Inter,sans-serif;font-size:76px;line-height:.98;letter-spacing:-.065em;margin:0 0 24px;font-weight:800}.hero h1 em{font-style:normal;color:var(--red)}.hero-copy>p{font-size:17px;line-height:1.75;color:#68717f;max-width:610px;margin:0 0 30px}.benefits{display:flex;gap:0;margin:5px 0 34px;max-width:650px}.benefits div{min-width:104px;padding:0 17px;border-right:1px solid #e3e6eb;display:flex;flex-direction:column;gap:3px}.benefits div:first-child{padding-left:0}.benefits div:last-child{border:0}.benefits i{font-size:20px;color:var(--red);margin-bottom:5px}.benefits b{font-size:12px}.benefits small{font-size:10px;color:#7b8491}.hero-actions{display:flex;gap:13px;align-items:center}.btn-light{position:relative;overflow:hidden;border:1px solid #cfd5dd;background:#fff;padding:14px 20px;border-radius:7px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:10px;transition:.3s}.btn-light i{color:#16a85a;font-size:18px}.btn-light:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,19,25,.1);border-color:#aeb6c2}.hero-side{height:570px;position:relative;display:flex;align-items:center;justify-content:flex-end}.family-wrap{width:min(100%,590px);position:relative;transform-style:preserve-3d;transition:transform .15s ease-out}.family-wrap:before{content:"";position:absolute;inset:-24px -18px -34px 15%;border-radius:38px;background:radial-gradient(circle at 65% 35%,rgba(237,28,36,.14),transparent 38%),radial-gradient(circle at 45% 65%,rgba(237,28,36,.06),transparent 45%);filter:blur(18px);z-index:-1}.family-wrap img{display:block;width:100%;height:420px;object-fit:cover;object-position:center;border-radius:26px;box-shadow:0 28px 70px rgba(16,19,25,.16);border:1px solid rgba(255,255,255,.9)}.family-wrap:after{content:"";position:absolute;inset:-1px;border-radius:27px;background:linear-gradient(135deg,rgba(255,255,255,.8),transparent 35%,rgba(237,28,36,.15));pointer-events:none}.speed-badge{position:absolute;right:-8px;top:38px;display:flex;align-items:center;gap:11px;background:rgba(17,19,24,.94);color:#fff;padding:15px 18px;border-radius:14px;box-shadow:0 15px 35px rgba(16,19,25,.2);animation:floatBadge 4s ease-in-out infinite}.speed-badge i{font-size:26px;color:#ff2831}.speed-badge span{font-size:12px;line-height:1.35;letter-spacing:.04em}.speed-badge b{font-size:13px}.speed-badge small{display:block;color:#aeb5bf;font-size:9px;letter-spacing:.12em;margin-top:4px}.side-orbit{position:absolute;right:8%;bottom:54px;width:210px;height:210px;border:1px dashed rgba(237,28,36,.22);border-radius:50%;animation:spin 20s linear infinite}.side-orbit:before,.side-orbit:after{content:"";position:absolute;border-radius:50%;background:var(--red);box-shadow:0 0 0 8px rgba(237,28,36,.08)}.side-orbit:before{width:8px;height:8px;top:20px;left:32px}.side-orbit:after{width:6px;height:6px;right:18px;bottom:38px}.hero-dots{position:absolute;right:-30px;top:0;width:52%;height:100%;opacity:.55;background-image:radial-gradient(#ed1c24 1.3px,transparent 1.3px);background-size:17px 17px;mask-image:linear-gradient(to left,black,transparent 88%);animation:dotsDrift 12s linear infinite}.hero:after{content:"";position:absolute;right:-10%;top:28%;width:52%;height:2px;background:linear-gradient(90deg,transparent,rgba(237,28,36,.35),transparent);filter:blur(1px);animation:beam 7s ease-in-out infinite}
.trust{position:relative;margin-top:-22px;z-index:5}.trust-grid{background:#fff;border:1px solid #e7e9ee;box-shadow:var(--shadow);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.trust-grid div{padding:24px 20px;display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center;border-right:1px solid #edf0f4}.trust-grid div:last-child{border:0}.trust-grid i{grid-row:span 2;color:var(--red);font-size:25px}.trust-grid b{font-size:22px}.trust-grid span{font-size:11px;color:#707987}
.section{padding:105px 0;position:relative}.section-title{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;margin-bottom:48px}.kicker{margin-bottom:15px}.section h2{font-family:Manrope,Inter,sans-serif;font-size:53px;line-height:1.02;letter-spacing:-.055em;margin:0;font-weight:800}.section h2 span{color:var(--red)}.section-title>p{color:#6c7480;line-height:1.7;font-size:14px;margin:0}.plans{background:linear-gradient(#fff,#fafbfc)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan{position:relative;background:#fff;border:1px solid #e1e5eb;border-radius:17px;padding:32px;min-height:510px;overflow:hidden;transition:.4s;box-shadow:0 8px 30px rgba(16,19,25,.035)}.plan:before{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-75px;border-radius:50%;background:rgba(237,28,36,.055);transition:.5s}.plan:after{content:"";position:absolute;inset:auto -30% -40% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.08),transparent 68%);opacity:0;transition:.5s}.plan:hover{transform:translateY(-10px);box-shadow:0 24px 55px rgba(16,19,25,.11);border-color:#d7dce3}.plan:hover:before{transform:scale(1.5)}.plan:hover:after{opacity:1}.plan.popular{border:2px solid var(--red);box-shadow:0 18px 50px rgba(237,28,36,.12)}.popular-tag{position:absolute;right:0;top:0;background:var(--red);color:#fff;font-size:10px;font-weight:850;padding:9px 16px;border-radius:0 15px 0 12px;letter-spacing:.08em;animation:badgePulse 2.8s ease-in-out infinite}.plan-label{position:relative;z-index:1;font-size:10px;font-weight:850;letter-spacing:.14em;color:#727b88;margin-bottom:17px}.plan-speed{position:relative;z-index:1;font-family:Manrope;font-size:60px;font-weight:800;letter-spacing:-.06em}.plan-speed small{font-family:Inter;font-size:12px;letter-spacing:0;color:#65707f;font-weight:700}.plan h3{position:relative;z-index:1;font-size:21px;margin:4px 0 10px}.plan>p{position:relative;z-index:1;color:#718090;font-size:12px;line-height:1.65;min-height:42px}.price{position:relative;z-index:1;border-top:1px solid #e8ebef;border-bottom:1px solid #e8ebef;padding:22px 0;margin:25px 0;font-family:Manrope;font-size:30px;font-weight:800}.price small{font-family:Inter;font-size:11px;color:#68717f;font-weight:500}.plan ul{position:relative;z-index:1;padding:0;margin:0 0 26px;list-style:none;display:grid;gap:11px}.plan li{font-size:12px;color:#5f6a79}.plan li:before{content:"✓";color:var(--red);font-weight:900;margin-right:9px}.plan>a{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:10px;background:#111318;color:#fff;padding:13px;border-radius:7px;font-size:12px;font-weight:800;transition:.3s}.plan.popular>a,.plan>a:hover{background:var(--red);transform:translateY(-2px)}
.about{background:#f8f9fb}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.about .lead{font-size:18px;line-height:1.8;color:#626d7b;margin:0 0 28px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:15px}.checks span{font-size:12px;font-weight:700;color:#303640;display:flex;align-items:center;gap:8px}.checks i{color:var(--red)}
.services{background:#111318;color:#fff;overflow:hidden}.services:before{content:"";position:absolute;width:500px;height:500px;right:-200px;top:80px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.12),transparent 65%);animation:ambient 8s ease-in-out infinite}.services .section-title>p{color:#9ca5b2}.services .kicker{color:#b7bec8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #2c3038;position:relative;z-index:1}.service-card{min-height:245px}.service-grid article{position:relative;padding:34px;border-right:1px solid #2c3038;border-bottom:1px solid #2c3038;overflow:hidden;transition:.45s;background:rgba(17,19,24,.74)}.service-grid article:nth-child(3n){border-right:0}.service-grid article:nth-child(n+4){border-bottom:0}.service-grid article:before{content:"";position:absolute;left:0;bottom:0;width:3px;height:0;background:var(--red);transition:.45s}.service-grid article:after{content:"";position:absolute;width:180px;height:180px;right:-100px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.16),transparent 68%);opacity:0;transition:.5s}.service-grid article:hover{background:#171a20;transform:translateY(-3px)}.service-grid article:hover:before{height:75%}.service-grid article:hover:after{opacity:1}.service-grid article>i{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(237,28,36,.65);border-radius:16px;color:#ff2831;font-size:23px;box-shadow:0 0 0 9px rgba(237,28,36,.035);transition:.4s}.service-grid article:hover>i{transform:translateY(-5px) rotate(-4deg);box-shadow:0 0 0 12px rgba(237,28,36,.06),0 0 30px rgba(237,28,36,.14)}.service-grid article>span{position:absolute;right:25px;top:28px;color:#69717e;font-size:10px}.service-grid h3{font-size:19px;margin:43px 0 10px}.service-grid p{font-size:12px;line-height:1.65;color:#9ba5b4;max-width:320px;margin:0}
.why{background:#fff}.why-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.why-box>div:first-child>p{color:#6b7583;line-height:1.8;font-size:14px;max-width:480px;margin:25px 0 30px}.why-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e3e6eb;border-radius:16px;overflow:hidden;box-shadow:0 15px 40px rgba(16,19,25,.05)}.why-grid div{min-height:190px;padding:28px;border-right:1px solid #e3e6eb;border-bottom:1px solid #e3e6eb;transition:.35s;position:relative;overflow:hidden}.why-grid div:nth-child(2n){border-right:0}.why-grid div:nth-child(n+3){border-bottom:0}.why-grid div:after{content:"";position:absolute;width:120px;height:120px;right:-70px;bottom:-70px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.12),transparent 70%);transition:.4s}.why-grid div:hover{background:#fafbfc;transform:translateY(-3px)}.why-grid div:hover:after{transform:scale(1.4)}.why-grid i{font-size:24px;color:var(--red);display:block;margin-bottom:30px}.why-grid b{display:block;font-size:15px;margin-bottom:7px}.why-grid span{font-size:11px;color:#707a88;line-height:1.5}
.coverage{background:#f7f8fa}.coverage-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.coverage-box p{color:#6d7785;line-height:1.8;font-size:14px}.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.locations-grid span{background:#fff;border:1px solid #e2e6eb;border-radius:12px;padding:22px;font-weight:800;font-size:14px;position:relative;overflow:hidden;transition:.35s;box-shadow:0 6px 22px rgba(16,19,25,.03)}.locations-grid span:before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:10px;box-shadow:0 0 0 6px rgba(237,28,36,.08);animation:pinPulse 2.5s infinite}.locations-grid span:hover{transform:translateX(5px);border-color:#f1a3a7;box-shadow:0 15px 30px rgba(16,19,25,.07)}
.network{background:#fff}.network-box{position:relative;min-height:340px;border:1px solid #e4e7ec;border-radius:22px;overflow:hidden;background:linear-gradient(120deg,#fff,#fafbfd);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.network-box:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ed1c24 1px,transparent 1px);background-size:20px 20px;opacity:.09}.network-center{position:relative;z-index:2;width:145px;height:145px;border-radius:50%;background:#111318;color:#fff;display:grid;place-items:center;text-align:center;box-shadow:0 0 0 12px rgba(237,28,36,.06),0 20px 50px rgba(16,19,25,.18)}.network-center i{font-size:28px;color:#ff2932}.network-center b{font-size:12px;letter-spacing:.08em}.network-node{position:absolute;z-index:2;background:#fff;border:1px solid #e2e6ec;border-radius:12px;padding:14px 18px;box-shadow:0 12px 30px rgba(16,19,25,.08);font-size:11px;font-weight:800;display:flex;align-items:center;gap:9px}.network-node i{color:var(--red);font-size:18px}.n1{left:8%;top:22%}.n2{left:12%;bottom:18%}.n3{right:8%;top:22%}.n4{right:12%;bottom:18%}.network-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);transform-origin:left center;animation:lineFlow 3s linear infinite}.l1{width:34%;left:18%;top:40%;transform:rotate(11deg)}.l2{width:33%;left:18%;top:62%;transform:rotate(-11deg)}.l3{width:34%;right:18%;top:40%;transform:rotate(169deg)}.l4{width:33%;right:18%;top:62%;transform:rotate(191deg)}
.contact{background:linear-gradient(115deg,#111318,#181b22);color:#fff;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:480px;height:480px;right:-170px;top:-170px;border-radius:50%;border:1px solid rgba(237,28,36,.25);box-shadow:0 0 0 40px rgba(237,28,36,.025),0 0 0 80px rgba(237,28,36,.018)}.contact-box{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.contact .kicker{color:#aab2bf}.contact h2{font-size:56px}.contact p{color:#aab2bf;line-height:1.8;max-width:500px}.contact-links{display:grid;grid-template-columns:1fr;gap:10px}.contact-links a{border:1px solid #2e333d;border-radius:12px;padding:17px 19px;display:flex;justify-content:space-between;align-items:center;transition:.35s;background:rgba(255,255,255,.015)}.contact-links a:hover{border-color:#6b3135;background:rgba(237,28,36,.05);transform:translateX(5px)}.contact-links span{font-size:11px;color:#aeb6c2}.contact-links i{color:#ff2b34;margin-right:7px}.contact-links b{font-size:13px}
footer{background:#0e1014;color:#fff;padding:70px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:50px}.footer-logo{width:170px;background:#fff;padding:7px;border-radius:8px;margin-bottom:16px}.footer-grid p{color:#8e98a7;font-size:12px;line-height:1.7;max-width:300px}.footer-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:5px 0 18px}.footer-grid a{display:block;color:#9aa3b0;font-size:12px;margin:10px 0;transition:.25s}.footer-grid a:hover{color:#fff;transform:translateX(3px)}.copyright{border-top:1px solid #242831;padding:20px 0;color:#6f7886;font-size:11px}
.float{position:fixed;right:22px;bottom:20px;display:flex;flex-direction:column;gap:9px;z-index:1000}.float a{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#111318;color:#fff;border:1px solid #30343c;box-shadow:0 10px 25px rgba(0,0,0,.12);transition:.3s}.float a:hover{transform:translateY(-4px) scale(1.04)}.float .wa{background:#18b95d;border-color:#18b95d;font-size:21px;animation:floatBtn 3s ease-in-out infinite}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.stagger.in>*{opacity:1;transform:none}.stagger.in>*:nth-child(2){transition-delay:.08s}.stagger.in>*:nth-child(3){transition-delay:.16s}.stagger.in>*:nth-child(4){transition-delay:.24s}.stagger.in>*:nth-child(5){transition-delay:.32s}.stagger.in>*:nth-child(6){transition-delay:.4s}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes floatBtn{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dotsDrift{to{background-position:34px 34px}}@keyframes beam{0%,100%{transform:translateX(10%);opacity:.2}50%{transform:translateX(-18%);opacity:.75}}@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(237,28,36,.25)}50%{box-shadow:0 0 0 8px rgba(237,28,36,0)}}@keyframes ambient{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:1}}@keyframes pinPulse{0%,100%{box-shadow:0 0 0 6px rgba(237,28,36,.08)}50%{box-shadow:0 0 0 10px rgba(237,28,36,0)}}@keyframes lineFlow{0%{opacity:.15}50%{opacity:.9}100%{opacity:.15}}
@media(max-width:1050px){.nav nav{gap:18px}.nav nav a{font-size:12px}.header-cta{padding:12px 15px}.hero-grid{grid-template-columns:1fr}.hero-side{height:470px;justify-content:center;margin-top:-20px}.family-wrap{max-width:650px}.hero-copy{padding-bottom:10px}.section-title{grid-template-columns:1fr;gap:15px}.about-grid,.why-box,.coverage-box,.contact-box{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3n){border-right:1px solid #2c3038}.service-grid article:nth-child(2n){border-right:0}.service-grid article:nth-child(n+5){border-bottom:0}.plans-grid{grid-template-columns:1fr 1fr}.plan:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.network-box{min-height:430px}}
@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.topbar{height:38px}.topbar-in{justify-content:center;font-size:10px}.topbar-in>span:last-child,.locations{display:none}.header{height:78px}.header.scrolled{height:70px}.logo img{width:145px}.header.scrolled .logo img{width:135px}.nav nav{display:none;position:absolute;left:14px;right:14px;top:88px;background:#fff;border:1px solid #e3e6eb;border-radius:12px;padding:10px 18px;box-shadow:0 18px 40px rgba(16,19,25,.12);flex-direction:column;align-items:stretch;gap:0}.header.scrolled .nav nav{top:78px}.nav nav.open{display:flex;animation:menuIn .25s ease}.nav nav a,.header.scrolled .nav nav a{padding:14px 0;font-size:14px}.nav nav a:after,.header.scrolled .nav nav a:after{bottom:5px}.header-cta{display:none}.menu-btn{display:block;margin-left:auto}.hero{min-height:auto}.hero-grid{min-height:auto}.hero-copy{padding:55px 0 20px}.hero h1{font-size:53px}.hero-copy>p{font-size:14px}.benefits{flex-wrap:wrap;gap:14px}.benefits div{min-width:85px;margin:0;padding-right:12px}.benefits div:nth-child(3){border:0}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions a{justify-content:center}.hero-side{height:320px}.family-wrap img{height:255px;border-radius:19px}.speed-badge{right:5px;top:10px;padding:12px 14px}.speed-badge i{font-size:22px}.speed-badge b{font-size:12px}.speed-badge span{font-size:10px}.side-orbit{right:0;bottom:20px;width:140px;height:140px}.trust{margin-top:0}.trust-grid{grid-template-columns:1fr 1fr;border-radius:0}.trust-grid div{padding:18px 15px}.trust-grid b{font-size:18px}.trust-grid span{font-size:9px}.section{padding:75px 0}.section h2{font-size:42px}.plans-grid{grid-template-columns:1fr}.plan:last-child{grid-column:auto}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(3n),.service-grid article:nth-child(2n){border-right:0;border-bottom:1px solid #2c3038}.service-grid article:last-child{border-bottom:0}.why-box{padding:0}.why-grid{grid-template-columns:1fr}.why-grid div,.why-grid div:nth-child(2n),.why-grid div:nth-child(n+3){border-right:0;border-bottom:1px solid #e3e6eb}.why-grid div:last-child{border-bottom:0}.checks{grid-template-columns:1fr}.locations-grid{grid-template-columns:1fr}.contact-links a{flex-direction:column;align-items:flex-start;gap:7px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.network-box{min-height:520px}.network-node{font-size:10px;padding:11px 12px}.n1{left:5%;top:12%}.n2{left:5%;bottom:12%}.n3{right:5%;top:12%}.n4{right:5%;bottom:12%}.network-line{display:none}.network-center{width:125px;height:125px}}
@media(max-width:430px){.hero h1{font-size:45px}.hero-side{height:270px}.family-wrap img{height:220px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.float{right:12px;bottom:12px}.float a{width:42px;height:42px}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}
.packet{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(237,28,36,.08),0 0 15px rgba(237,28,36,.35);animation:packetMove 3.8s ease-in-out infinite;z-index:1}@keyframes packetMove{0%,100%{transform:translate3d(-12px,8px,0);opacity:.15}50%{transform:translate3d(18px,-12px,0);opacity:1}}

/* ===== SpeedNET optical-fiber visual upgrade ===== */
.fiber-visual{position:relative;width:min(100%,610px);height:520px;isolation:isolate;overflow:hidden;border-radius:34px;background:radial-gradient(circle at 50% 50%,rgba(237,28,36,.055),transparent 28%),linear-gradient(145deg,#fff 0%,#f7f9fc 58%,#fff 100%);border:1px solid #e7eaf0;box-shadow:0 30px 75px rgba(16,19,25,.10),inset 0 1px 0 #fff;transform-style:preserve-3d;animation:fiberFloat 7s ease-in-out infinite}.fiber-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(237,28,36,.22) 1px,transparent 1px);background-size:20px 20px;opacity:.22;mask-image:radial-gradient(circle at 50% 50%,black,transparent 70%);animation:fiberGrid 14s linear infinite}.fiber-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.85) 48%,transparent 62%);transform:translateX(-120%);animation:fiberSweep 6s ease-in-out infinite;pointer-events:none}.fiber-glow{position:absolute;width:360px;height:360px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.14),rgba(237,28,36,.04) 38%,transparent 68%);filter:blur(5px);animation:fiberPulse 4s ease-in-out infinite}.fiber-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:154px;height:154px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(145deg,#171a21,#0f1116);color:#fff;border:7px solid #fff;box-shadow:0 0 0 1px #dfe3e9,0 0 0 16px rgba(237,28,36,.055),0 22px 45px rgba(16,19,25,.16);z-index:4}.fiber-core i{font-size:25px;color:#ff2630;margin-bottom:4px;animation:coreBlink 1.8s ease-in-out infinite}.fiber-core b{font:800 14px/1.05 Manrope,Inter,sans-serif;letter-spacing:.06em}.fiber-core small{font-size:7px;letter-spacing:.16em;color:#aeb6c2;margin-top:6px}.fiber-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(237,28,36,.23);border-radius:50%;transform:translate(-50%,-50%);z-index:1}.ring-a{width:255px;height:255px;animation:ringPulse 4.5s ease-in-out infinite}.ring-b{width:410px;height:410px;border-style:dashed;animation:ringSpin 18s linear infinite}.fiber-strand{position:absolute;left:50%;top:50%;width:620px;height:130px;border:2px solid rgba(237,28,36,.28);border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;transform-origin:center;z-index:2;filter:drop-shadow(0 0 5px rgba(237,28,36,.08))}.s1{transform:translate(-50%,-50%) rotate(8deg) scaleY(.92)}.s2{transform:translate(-50%,-50%) rotate(-8deg) scaleY(.92)}.s3{transform:translate(-50%,-50%) rotate(24deg) scaleY(.76);opacity:.72}.s4{transform:translate(-50%,-50%) rotate(-24deg) scaleY(.76);opacity:.72}.s5{transform:translate(-50%,-50%) rotate(40deg) scaleY(.6);opacity:.48}.s6{transform:translate(-50%,-50%) rotate(-40deg) scaleY(.6);opacity:.48}.fiber-packet{position:absolute;width:7px;height:7px;border-radius:50%;background:#ff2630;box-shadow:0 0 0 6px rgba(237,28,36,.08),0 0 16px rgba(237,28,36,.65);z-index:5}.p1{left:13%;top:39%;animation:packetOne 4.2s linear infinite}.p2{left:26%;top:62%;animation:packetTwo 3.8s linear infinite 1s}.p3{right:18%;top:31%;animation:packetThree 4.8s linear infinite .5s}.p4{right:25%;bottom:25%;animation:packetFour 3.6s linear infinite 1.6s}.fiber-node{position:absolute;z-index:6;background:rgba(255,255,255,.92);border:1px solid #e2e6ec;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 30px rgba(16,19,25,.08);font-size:9px;font-weight:850;letter-spacing:.06em;color:#2c323c;animation:nodeFloat 5s ease-in-out infinite}.fiber-node i{color:var(--red);font-size:16px}.node-home{left:34px;top:86px}.node-business{right:32px;top:96px;animation-delay:-1.4s}.node-cloud{right:45px;bottom:82px;animation-delay:-2.6s}.fiber-label{position:absolute;z-index:7;display:flex;align-items:center;gap:10px;background:#111318;color:#fff;border-radius:12px;padding:12px 15px;box-shadow:0 16px 35px rgba(16,19,25,.16);animation:labelFloat 4.5s ease-in-out infinite}.fiber-label i{color:#ff2932;font-size:21px}.fiber-label span{font-size:10px;line-height:1.35;letter-spacing:.05em}.fiber-label b{font-size:12px}.fiber-label small{display:block;color:#aeb6c2;font-size:7px;letter-spacing:.12em;margin-top:3px}.label-speed{right:18px;top:30px}.label-data{left:18px;bottom:28px;animation-delay:-1.8s}.side-orbit{display:none}

/* Light, premium services section */
.light-services{background:linear-gradient(180deg,#fbfcfe 0%,#f5f7fa 100%);color:var(--ink);overflow:hidden}.light-services:before{content:"";position:absolute;width:620px;height:620px;right:-260px;top:20px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.075),transparent 68%);animation:ambient 8s ease-in-out infinite}.light-services .section-title>p{color:#68717f}.light-services .kicker{color:#737b87}.light-services .service-grid{border:1px solid #e0e4ea;background:#fff;box-shadow:0 20px 55px rgba(16,19,25,.055);border-radius:18px;overflow:hidden}.light-services .service-grid article{min-height:255px;background:rgba(255,255,255,.96);border-color:#e5e8ed;transition:transform .45s ease,box-shadow .45s ease,background .45s ease,border-color .45s ease}.light-services .service-grid article:before{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--red);transition:width .45s ease}.light-services .service-grid article:after{content:"";position:absolute;width:190px;height:190px;right:-95px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.09),transparent 68%);opacity:0;transition:.45s}.light-services .service-grid article:hover{transform:translateY(-5px);background:#fff;box-shadow:0 20px 45px rgba(16,19,25,.09);border-color:#f1c6c9;z-index:2}.light-services .service-grid article:hover:before{width:100%}.light-services .service-grid article:hover:after{opacity:1}.light-services .service-grid article>i{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;border:1px solid rgba(237,28,36,.5);background:linear-gradient(145deg,#fff,#fff6f6);color:var(--red);font-size:26px;box-shadow:0 0 0 9px rgba(237,28,36,.035);transition:.45s;position:relative;z-index:2}.light-services .service-grid article:hover>i{transform:translateY(-4px) rotate(-4deg);box-shadow:0 0 0 13px rgba(237,28,36,.055),0 12px 28px rgba(237,28,36,.10)}.light-services .service-grid article>span{color:#9299a4}.light-services .service-grid h3{color:#111318;font-size:20px}.light-services .service-grid p{color:#697381}.light-services .service-grid article:nth-child(5){background:linear-gradient(145deg,#fff,#fff9f9)}

@keyframes fiberFloat{0%,100%{transform:translateY(0) rotateX(0deg)}50%{transform:translateY(-7px) rotateX(1deg)}}
@keyframes fiberGrid{to{background-position:40px 40px}}
@keyframes fiberSweep{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes fiberPulse{0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}
@keyframes ringPulse{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.04);opacity:1}}
@keyframes ringSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes coreBlink{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}
@keyframes nodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes labelFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes packetOne{0%{left:13%;top:39%;opacity:0}15%{opacity:1}50%{left:48%;top:47%;opacity:1}85%{left:80%;top:40%;opacity:1}100%{left:88%;top:33%;opacity:0}}
@keyframes packetTwo{0%{left:22%;top:66%;opacity:0}20%{opacity:1}55%{left:48%;top:54%;opacity:1}100%{left:84%;top:65%;opacity:0}}
@keyframes packetThree{0%{right:15%;top:30%;opacity:0}20%{opacity:1}50%{right:48%;top:47%;opacity:1}100%{right:86%;top:34%;opacity:0}}
@keyframes packetFour{0%{right:20%;bottom:24%;opacity:0}20%{opacity:1}55%{right:50%;bottom:46%;opacity:1}100%{right:84%;bottom:28%;opacity:0}}

@media(max-width:1050px){.fiber-visual{max-width:650px;height:470px}.fiber-strand{width:580px}.light-services .service-grid article{min-height:250px}}
@media(max-width:760px){.fiber-visual{height:310px;border-radius:24px}.fiber-core{width:105px;height:105px;border-width:5px}.fiber-core i{font-size:18px}.fiber-core b{font-size:10px}.fiber-core small{font-size:5px}.ring-a{width:170px;height:170px}.ring-b{width:260px;height:260px}.fiber-strand{width:360px;height:85px}.fiber-node{padding:7px 9px;font-size:7px}.fiber-node i{font-size:12px}.node-home{left:12px;top:44px}.node-business{right:12px;top:48px}.node-cloud{right:14px;bottom:42px}.fiber-label{padding:8px 10px;border-radius:9px;gap:6px}.fiber-label i{font-size:15px}.fiber-label span{font-size:7px}.fiber-label b{font-size:9px}.fiber-label small{font-size:5px}.label-speed{right:8px;top:9px}.label-data{left:8px;bottom:9px}.light-services .service-grid{border-radius:14px}.light-services .service-grid article{min-height:230px;padding:28px}.light-services .service-grid article>i{width:56px;height:56px;font-size:23px}}
@media(prefers-reduced-motion:reduce){.fiber-visual,.fiber-glow,.fiber-ring,.fiber-strand,.fiber-packet,.fiber-node,.fiber-label{animation:none!important}}

/* Premium light Why + Contact refresh */
.why{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);overflow:hidden}
.why:before{content:"";position:absolute;width:520px;height:520px;left:-300px;top:30px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.07),transparent 68%);animation:ambient 9s ease-in-out infinite}
.why-box{position:relative;z-index:1}
.why-intro .kicker,.contact-intro .kicker{color:#737b87}
.why-box>div:first-child>p{font-size:14px;color:#687381;line-height:1.85;max-width:510px}
.why-grid{background:#fff;border-color:#dfe4ea;box-shadow:0 20px 55px rgba(16,19,25,.07)}
.why-grid div{background:rgba(255,255,255,.9);min-height:205px;padding:30px;transition:.45s cubic-bezier(.2,.7,.2,1)}
.why-grid div:before{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--red);transition:.45s}
.why-grid div:hover{background:#fff;transform:translateY(-5px);box-shadow:inset 0 0 0 1px rgba(237,28,36,.12)}
.why-grid div:hover:before{width:100%}
.why-grid i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff5f5;border:1px solid #ffd6d8;font-size:20px;margin-bottom:28px;transition:.4s}
.why-grid div:hover i{transform:translateY(-4px) rotate(-4deg);box-shadow:0 10px 24px rgba(237,28,36,.13)}
.why-grid b{font-size:16px}
.why-grid span{display:block;max-width:220px;line-height:1.65;color:#6d7785}

.contact{background:linear-gradient(180deg,#f7f9fb 0%,#fff 100%);color:var(--ink);overflow:hidden;border-top:1px solid #e8ebef}
.contact:before{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-260px;border-radius:50%;border:1px solid rgba(237,28,36,.13);box-shadow:0 0 0 45px rgba(237,28,36,.025),0 0 0 90px rgba(237,28,36,.018);animation:contactOrbit 10s linear infinite}
.contact:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 65%,rgba(237,28,36,.035),transparent 25%);pointer-events:none}
.contact-box{position:relative;z-index:1}
.contact h2{color:#111318}
.contact p{color:#667180;line-height:1.85}
.contact-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn-contact-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border:1px solid #d7dce3;border-radius:7px;color:#16191f;background:#fff;font-size:13px;font-weight:800;transition:.3s}
.btn-contact-outline i{color:#13b95c;font-size:16px}
.btn-contact-outline:hover{transform:translateY(-3px);border-color:#f0aeb2;box-shadow:0 14px 30px rgba(16,19,25,.08)}
.contact-links a{position:relative;border:1px solid #dde2e8;border-radius:13px;padding:17px 20px;background:rgba(255,255,255,.88);box-shadow:0 7px 25px rgba(16,19,25,.035);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 15px;transition:.4s}
.contact-links a:hover{border-color:#f1b8bc;background:#fff;transform:translateX(5px);box-shadow:0 16px 34px rgba(16,19,25,.09)}
.contact-links span{color:#65707d;font-size:11px}
.contact-links span i{color:var(--red)}
.contact-links b{color:#111318;font-size:13px;grid-column:2;grid-row:1/3;align-self:center}
.contact-links small{color:#8a929e;font-size:10px}

footer{background:#fff;color:#16191f;border-top:1px solid #e5e9ee;padding:65px 0 0}
.footer-logo{background:#fff;border:1px solid #e1e5ea;box-shadow:0 10px 30px rgba(16,19,25,.06)}
.footer-grid p{color:#6e7885}
.footer-grid h4{color:#111318}
.footer-grid a{color:#687381}
.footer-grid a:hover{color:var(--red)}
.copyright{border-top:1px solid #e7eaee;color:#8a929e}
.copyright span{float:right}
@keyframes contactOrbit{to{transform:rotate(360deg)}}
@media(max-width:760px){.contact-actions{flex-direction:column;align-items:stretch}.contact-actions a{width:100%}.contact-links b{font-size:12px}.copyright span{float:none;display:block;margin-top:6px}.why-grid div{min-height:175px}}

/* ===== Premium light Why + live fiber ecosystem ===== */
.why-premium{background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);overflow:hidden}
.why-premium:before{content:"";position:absolute;width:620px;height:620px;left:-330px;top:0;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.075),transparent 68%);animation:ambient 9s ease-in-out infinite}
.why-premium-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center;position:relative;z-index:1}
.why-premium-copy h2{font-family:Manrope,Inter,sans-serif;font-size:57px;line-height:1.01;letter-spacing:-.06em;margin:0;font-weight:800}
.why-premium-copy h2 span{color:var(--red)}
.why-premium-copy p{color:#697482;font-size:14px;line-height:1.85;max-width:500px;margin:26px 0 30px}
.why-premium-cards{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe4eb;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 24px 65px rgba(16,19,25,.08)}
.why-premium-cards article{min-height:195px;padding:31px 30px;position:relative;overflow:hidden;border-right:1px solid #e3e7ed;border-bottom:1px solid #e3e7ed;background:linear-gradient(145deg,#fff 55%,#fffafa);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
.why-premium-cards article:nth-child(2n){border-right:0}.why-premium-cards article:nth-child(n+3){border-bottom:0}
.why-premium-cards article:after{content:"";position:absolute;width:170px;height:170px;right:-90px;bottom:-105px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.12),transparent 68%);transition:.5s}
.why-premium-cards article:before{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--red);transition:.45s}
.why-premium-cards article:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(16,19,25,.1);border-color:#f0c5c8;z-index:2}
.why-premium-cards article:hover:after{transform:scale(1.35)}.why-premium-cards article:hover:before{width:100%}
.why-premium-cards i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--red);background:#fff5f5;border:1px solid #ffd4d6;font-size:21px;margin-bottom:29px;transition:.4s;box-shadow:0 0 0 7px rgba(237,28,36,.025)}
.why-premium-cards article:hover i{transform:translateY(-5px) rotate(-5deg);box-shadow:0 0 0 11px rgba(237,28,36,.045),0 10px 25px rgba(237,28,36,.12)}
.why-premium-cards b{display:block;font-size:16px;margin-bottom:8px;position:relative;z-index:1}.why-premium-cards span{display:block;color:#718090;font-size:11px;line-height:1.65;max-width:230px;position:relative;z-index:1}

.network-premium{background:#fff;overflow:hidden}.fiber-ecosystem{height:520px;position:relative;border:1px solid #dce3eb;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f8fbff 55%,#fff 100%);box-shadow:0 28px 75px rgba(20,40,65,.1)}
.eco-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(237,28,36,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(237,28,36,.045) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at center,black 10%,transparent 85%);animation:gridMove 14s linear infinite}
.eco-glow{position:absolute;width:470px;height:470px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.09),rgba(237,28,36,.025) 35%,transparent 68%);animation:coreGlow 4s ease-in-out infinite}
.eco-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(237,28,36,.13);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg);pointer-events:none}.eco-orbit-a{width:430px;height:240px;animation:orbitSpin 11s linear infinite}.eco-orbit-b{width:590px;height:320px;animation:orbitSpin 17s linear infinite reverse}
.eco-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.fiber-path{fill:none;stroke:url(#fiberRed);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 12;animation:fiberFlow 4s linear infinite}.fiber-path.reverse{animation-direction:reverse;animation-duration:5.2s}
.eco-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:152px;height:152px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#151820,#2b3039);border:1px solid rgba(237,28,36,.75);box-shadow:0 0 0 11px rgba(237,28,36,.055),0 0 0 24px rgba(237,28,36,.025),0 22px 55px rgba(16,19,25,.2);z-index:5;animation:coreFloat 4s ease-in-out infinite}
.eco-core i{font-size:28px;color:var(--red);margin-bottom:5px}.eco-core b{font-size:14px;letter-spacing:.08em}.eco-core small{font-size:8px;color:#aeb6c1;letter-spacing:.14em;margin-top:5px}.core-pulse{position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(237,28,36,.45);animation:corePulse 2.3s ease-out infinite}
.eco-node{position:absolute;z-index:6;width:154px;min-height:90px;padding:16px 17px;border-radius:16px;background:rgba(255,255,255,.94);border:1px solid #dfe5ec;box-shadow:0 15px 35px rgba(16,19,25,.09);display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center;transition:.4s;backdrop-filter:blur(8px)}
.eco-node:hover{transform:translateY(-7px);border-color:#f2aeb2;box-shadow:0 20px 40px rgba(237,28,36,.12)}.eco-node i{grid-row:span 2;color:var(--red);font-size:23px}.eco-node b{font-size:12px}.eco-node small{font-size:8px;color:#788290;letter-spacing:.02em}.node-home{left:8%;top:17%}.node-business{left:8%;bottom:17%}.node-network{right:8%;top:17%}.node-security{right:8%;bottom:17%}
.data-packet{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--red);box-shadow:0 0 0 5px rgba(237,28,36,.08),0 0 18px rgba(237,28,36,.55);z-index:4}.p1{left:15%;top:24%;animation:packetOne 4s linear infinite}.p2{left:16%;bottom:23%;animation:packetTwo 5s linear infinite}.p3{right:15%;top:24%;animation:packetThree 4.6s linear infinite}.p4{right:16%;bottom:23%;animation:packetFour 5.4s linear infinite}
.eco-caption{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid #e2e6eb;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(16,19,25,.06);z-index:7}.eco-caption i{color:var(--red);font-size:17px}.eco-caption span{font-size:9px;font-weight:850;letter-spacing:.1em}.eco-caption small{display:block;font-size:7px;color:#7a8490;letter-spacing:.06em;margin-top:2px}
@keyframes fiberFlow{to{stroke-dashoffset:-90}}@keyframes corePulse{0%{transform:scale(.9);opacity:.9}70%,100%{transform:scale(1.3);opacity:0}}@keyframes coreFloat{50%{transform:translate(-50%,-54%)}}@keyframes coreGlow{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.75}}@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(348deg)}}@keyframes gridMove{to{background-position:32px 32px}}@keyframes packetOne{0%{left:14%;top:24%;opacity:0}12%{opacity:1}50%{left:43%;top:48%}88%{opacity:1}100%{left:48%;top:50%;opacity:0}}@keyframes packetTwo{0%{left:14%;bottom:23%;opacity:0}15%{opacity:1}55%{left:44%;bottom:48%}90%{opacity:1}100%{left:48%;bottom:50%;opacity:0}}@keyframes packetThree{0%{right:14%;top:24%;opacity:0}12%{opacity:1}52%{right:43%;top:48%}88%{opacity:1}100%{right:48%;top:50%;opacity:0}}@keyframes packetFour{0%{right:14%;bottom:23%;opacity:0}15%{opacity:1}55%{right:44%;bottom:48%}90%{opacity:1}100%{right:48%;bottom:50%;opacity:0}}
@media(max-width:1050px){.why-premium-grid{grid-template-columns:1fr;gap:45px}.why-premium-copy h2{font-size:52px}.fiber-ecosystem{height:500px}}
@media(max-width:760px){.why-premium-grid{gap:35px}.why-premium-copy h2{font-size:42px}.why-premium-cards{grid-template-columns:1fr}.why-premium-cards article,.why-premium-cards article:nth-child(n){border-right:0;border-bottom:1px solid #e3e7ed}.why-premium-cards article:last-child{border-bottom:0}.fiber-ecosystem{height:620px;border-radius:20px}.eco-node{width:130px;min-height:78px;padding:12px;font-size:10px}.node-home{left:4%;top:11%}.node-business{left:4%;bottom:14%}.node-network{right:4%;top:11%}.node-security{right:4%;bottom:14%}.eco-core{width:125px;height:125px}.eco-orbit-a{width:300px;height:220px}.eco-orbit-b{width:390px;height:300px}.eco-lines{display:none}.data-packet{display:none}.eco-caption{bottom:16px;max-width:90%;white-space:nowrap}.eco-caption small{font-size:6px}}
@media(prefers-reduced-motion:reduce){.eco-grid,.eco-glow,.eco-orbit,.eco-core,.core-pulse,.fiber-path,.data-packet{animation:none!important}.why-premium-cards article{transition:none}}

/* SpeedNET Core: multi-uplink to customer-network visualization */
.network-premium{position:relative}.fiber-ecosystem{min-height:540px}
.eco-orbit-c{width:760px;height:390px;border-color:rgba(237,28,36,.07);animation:orbitSpin 23s linear infinite}
.eco-side-label.right-label{color:#ed1c24}.right-label .pulse-dot{box-shadow:0 0 0 5px rgba(237,28,36,.08),0 0 16px rgba(237,28,36,.28)}
.eco-side-label{position:absolute;top:18px;z-index:8;font-size:8px;font-weight:850;letter-spacing:.14em;color:#7a8490;display:flex;align-items:center;gap:7px}.left-label{left:26px}.right-label{right:26px}.pulse-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.08);animation:livePulse 1.6s ease-in-out infinite}
.eco-node{width:178px;min-height:82px;padding:13px 14px;grid-template-columns:30px 1fr;position:absolute}.eco-node i{font-size:21px}.eco-node b{font-size:11px}.eco-node small{font-size:7.5px}.eco-node .link-status{position:absolute;right:10px;top:9px;font-size:6px;font-weight:850;letter-spacing:.08em;color:#ed1c24}.uplink-1{left:2.2%;top:10%}.uplink-2{left:2.2%;top:calc(50% - 41px)}.uplink-3{left:2.2%;bottom:10%}.customer-1{right:2.2%;top:10%}.customer-2{right:2.2%;top:calc(50% - 41px)}.customer-3{right:2.2%;bottom:10%}
.eco-node:before{content:"";position:absolute;inset:-5px;border-radius:18px;border:1px solid rgba(237,28,36,.0);transition:.4s;pointer-events:none}.eco-node:hover:before{border-color:rgba(237,28,36,.22);box-shadow:0 0 25px rgba(237,28,36,.08)}
.eco-core{width:164px;height:164px;animation:coreFloat 4s ease-in-out infinite,coreHeartbeat 3.2s ease-in-out infinite}.eco-core b{font-size:13px}.eco-core em{font-style:normal;font-size:6px;letter-spacing:.13em;color:#fff;background:#ed1c24;border-radius:999px;padding:4px 7px;margin-top:7px;box-shadow:0 0 15px rgba(237,28,36,.35)}.core-ring{position:absolute;inset:-16px;border:1px dashed rgba(237,28,36,.22);border-radius:50%;animation:coreRing 8s linear infinite}.core-ring:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#ed1c24;box-shadow:0 0 15px rgba(237,28,36,.7)}
.fiber-path{stroke-width:2.2;stroke-dasharray:9 13}.uplink-line{animation:fiberFlow 3.7s linear infinite}.downlink-line{animation:fiberFlow 3.1s linear infinite}.data-packet{width:7px;height:7px}.p1{left:13%;top:17%;animation:uplinkPacket1 3.6s linear infinite}.p2{left:13%;top:48%;animation:uplinkPacket2 3.2s linear infinite .4s}.p3{left:13%;top:80%;animation:uplinkPacket3 4s linear infinite .8s}.p4{right:13%;top:17%;animation:downPacket1 3.3s linear infinite .2s}.p5{right:13%;top:48%;animation:downPacket2 3.6s linear infinite .6s}.p6{right:13%;top:80%;animation:downPacket3 3.9s linear infinite 1s}
.eco-caption{bottom:18px;padding:9px 14px 9px 13px}.eco-caption strong{font-size:7px;letter-spacing:.08em;color:#ed1c24;display:flex;align-items:center;gap:6px;margin-left:6px}.live-dot{width:5px;height:5px}
@keyframes livePulse{0%,100%{transform:scale(.8);opacity:.7}50%{transform:scale(1.2);opacity:1}}
@keyframes coreRing{to{transform:rotate(360deg)}}
@keyframes coreHeartbeat{0%,100%{box-shadow:0 0 0 11px rgba(237,28,36,.055),0 0 0 24px rgba(237,28,36,.025),0 22px 55px rgba(16,19,25,.2)}50%{box-shadow:0 0 0 14px rgba(237,28,36,.07),0 0 0 31px rgba(237,28,36,.035),0 22px 65px rgba(237,28,36,.16)}}
@keyframes uplinkPacket1{0%{left:13%;top:17%;opacity:0}10%{opacity:1}55%{left:40%;top:42%}90%{opacity:1}100%{left:48%;top:48%;opacity:0}}@keyframes uplinkPacket2{0%{left:13%;top:48%;opacity:0}10%{opacity:1}58%{left:41%;top:49%}92%{opacity:1}100%{left:48%;top:50%;opacity:0}}@keyframes uplinkPacket3{0%{left:13%;top:80%;opacity:0}10%{opacity:1}55%{left:40%;top:58%}90%{opacity:1}100%{left:48%;top:51%;opacity:0}}
@keyframes downPacket1{0%{right:48%;top:49%;opacity:0}10%{opacity:1}45%{right:40%;top:42%}88%{opacity:1}100%{right:13%;top:17%;opacity:0}}@keyframes downPacket2{0%{right:48%;top:50%;opacity:0}10%{opacity:1}48%{right:41%;top:49%}92%{opacity:1}100%{right:13%;top:48%;opacity:0}}@keyframes downPacket3{0%{right:48%;top:51%;opacity:0}10%{opacity:1}45%{right:40%;top:58%}88%{opacity:1}100%{right:13%;top:80%;opacity:0}}
@media(max-width:760px){.fiber-ecosystem{height:700px}.eco-side-label{font-size:7px}.left-label{left:15px}.right-label{right:15px}.eco-node{width:145px;min-height:72px}.uplink-1{left:3%;top:10%}.uplink-2{left:3%;top:calc(50% - 36px)}.uplink-3{left:3%;bottom:12%}.customer-1{right:3%;top:10%}.customer-2{right:3%;top:calc(50% - 36px)}.customer-3{right:3%;bottom:12%}.eco-core{width:120px;height:120px}.eco-core b{font-size:11px}.eco-core small{font-size:6px}.eco-core em{font-size:5px;padding:3px 5px}.eco-orbit-a{width:340px;height:250px}.eco-orbit-b{width:460px;height:330px}.eco-orbit-c{width:560px;height:420px}.eco-lines{display:block}.eco-caption{max-width:94%;bottom:12px}.eco-caption span{font-size:7px}.eco-caption small{font-size:5.5px}.eco-caption strong{font-size:6px}.data-packet{display:block}}
@media(prefers-reduced-motion:reduce){.eco-orbit-c,.core-ring,.eco-core,.pulse-dot,.live-dot,.fiber-path,.data-packet{animation:none!important}}

/* SpeedNET Infrastructure Hero Ecosystem */
.speednet-infra-visual{position:relative;width:min(100%,620px);height:520px;border-radius:34px;overflow:hidden;isolation:isolate;background:linear-gradient(145deg,#fff 0%,#f8fafc 55%,#fff 100%);border:1px solid #e2e7ed;box-shadow:0 30px 75px rgba(16,19,25,.10),inset 0 1px 0 #fff;animation:infraFloat 7s ease-in-out infinite}
.infra-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(237,28,36,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(237,28,36,.035) 1px,transparent 1px);background-size:26px 26px;animation:gridMove 12s linear infinite;opacity:.8}
.infra-grid:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#ed1c24 1px,transparent 1px);background-size:18px 18px;opacity:.12;mask-image:radial-gradient(circle at 50% 50%,black,transparent 72%)}
.infra-glow{position:absolute;left:50%;top:50%;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.14),rgba(237,28,36,.04) 40%,transparent 70%);filter:blur(8px);animation:infraGlow 3.8s ease-in-out infinite}
.infra-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(237,28,36,.18);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit-1{width:230px;height:230px;animation:infraOrbit 12s linear infinite}.orbit-2{width:350px;height:300px;animation:infraOrbitReverse 17s linear infinite}.orbit-3{width:500px;height:400px;border-color:rgba(237,28,36,.08);animation:infraOrbit 24s linear infinite}
.infra-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2}.infra-path{fill:none}
.fiber-cable{fill:none;stroke:url(#fiberCable);stroke-width:9;stroke-linecap:round;opacity:.34;filter:url(#fiberGlow)}
.fiber-light{fill:none;stroke:#ed1c24;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:70 520;stroke-dashoffset:0;animation:fiberDraw 3.8s linear infinite;filter:drop-shadow(0 0 7px rgba(237,28,36,.72))}
.fiber-light.outbound{animation-direction:reverse;animation-duration:3.4s}
.fiber-cable-set{overflow:visible}
.infra-label{position:absolute;top:18px;z-index:7;font-size:8px;font-weight:850;letter-spacing:.13em;color:#7b8491;display:flex;align-items:center;gap:7px}.infra-label span{width:6px;height:6px;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.08);animation:livePulse 1.5s ease-in-out infinite}.infra-left{left:22px}.infra-right{right:22px;color:#ed1c24}
.infra-node{position:absolute;z-index:6;width:166px;min-height:74px;padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.94);border:1px solid #dfe5ec;box-shadow:0 15px 34px rgba(16,19,25,.08);display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:center;transition:.4s;backdrop-filter:blur(8px)}
.infra-node:hover{transform:translateY(-7px) scale(1.02);border-color:#f1a7ac;box-shadow:0 20px 42px rgba(237,28,36,.13)}.infra-node i{grid-row:span 2;color:#ed1c24;font-size:21px}.infra-node b{font-size:10.5px;line-height:1.25}.infra-node small{font-size:7.5px;color:#788290}.node-a{left:2.5%;top:12%}.node-b{left:2.5%;top:calc(50% - 37px)}.node-c{left:2.5%;bottom:12%}.node-d{right:2.5%;top:12%}.node-e{right:2.5%;top:calc(50% - 37px)}
.infra-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:164px;height:164px;border-radius:50%;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#171a21,#292e37);border:1px solid rgba(237,28,36,.75);box-shadow:0 0 0 11px rgba(237,28,36,.055),0 0 0 25px rgba(237,28,36,.025),0 22px 55px rgba(16,19,25,.20);animation:coreFloat 4s ease-in-out infinite,coreHeartbeat 3.2s ease-in-out infinite}.infra-core i{font-size:28px;color:#ff2730;margin-bottom:5px}.infra-core b{font-size:13px;line-height:1.12;letter-spacing:.02em}.infra-core small{font-size:7px;color:#aeb6c1;letter-spacing:.11em;margin-top:7px}.infra-core em{font-style:normal;font-size:6px;letter-spacing:.13em;background:#ed1c24;border-radius:999px;padding:4px 7px;margin-top:7px;box-shadow:0 0 15px rgba(237,28,36,.35)}.infra-core-ring{position:absolute;inset:-16px;border:1px dashed rgba(237,28,36,.23);border-radius:50%;animation:coreRing 8s linear infinite}.infra-core-ring:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#ed1c24;box-shadow:0 0 15px rgba(237,28,36,.7)}
.infra-packet{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.08),0 0 18px rgba(237,28,36,.55);z-index:7}.ip1{left:13%;top:18%;animation:infraIn1 3.4s linear infinite}.ip2{left:13%;top:49%;animation:infraIn2 3.1s linear infinite .35s}.ip3{left:13%;top:80%;animation:infraIn3 3.7s linear infinite .7s}.ip4{right:13%;top:18%;animation:infraOut1 3.2s linear infinite .2s}.ip5{right:13%;top:49%;animation:infraOut2 3.5s linear infinite .55s}.ip6{right:13%;top:80%;animation:infraOut3 3.8s linear infinite .9s}
.infra-status{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #e1e6ec;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(16,19,25,.07);white-space:nowrap}.infra-status i{color:#ed1c24;font-size:15px}.infra-status b{display:block;font-size:8px;letter-spacing:.09em}.infra-status small{display:block;color:#7a8490;font-size:6.5px;letter-spacing:.05em;margin-top:2px}.infra-status strong{display:flex;align-items:center;gap:5px;color:#ed1c24;font-size:6.5px;letter-spacing:.08em}.infra-status strong span{width:5px;height:5px;border-radius:50%;background:#ed1c24;animation:livePulse 1.3s infinite}
.speednet-infra-visual .speed-badge{right:14px;top:25px;z-index:10}
@keyframes infraFloat{50%{transform:translateY(-5px)}}@keyframes infraGlow{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.72}}@keyframes infraOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes infraOrbitReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes infraFlow{to{stroke-dashoffset:-84}}
@keyframes infraIn1{0%{left:13%;top:18%;opacity:0}10%{opacity:1}55%{left:39%;top:41%}90%{opacity:1}100%{left:48%;top:48%;opacity:0}}@keyframes infraIn2{0%{left:13%;top:49%;opacity:0}10%{opacity:1}58%{left:41%;top:49%}92%{opacity:1}100%{left:48%;top:50%;opacity:0}}@keyframes infraIn3{0%{left:13%;top:80%;opacity:0}10%{opacity:1}55%{left:39%;top:59%}90%{opacity:1}100%{left:48%;top:51%;opacity:0}}
@keyframes infraOut1{0%{right:48%;top:49%;opacity:0}10%{opacity:1}45%{right:40%;top:41%}88%{opacity:1}100%{right:13%;top:18%;opacity:0}}@keyframes infraOut2{0%{right:48%;top:50%;opacity:0}10%{opacity:1}48%{right:41%;top:49%}92%{opacity:1}100%{right:13%;top:49%;opacity:0}}@keyframes infraOut3{0%{right:48%;top:51%;opacity:0}10%{opacity:1}45%{right:40%;top:59%}88%{opacity:1}100%{right:13%;top:80%;opacity:0}}
@media(max-width:760px){.speednet-infra-visual{height:540px;border-radius:22px}.infra-node{width:145px;min-height:68px;padding:11px}.node-a{left:2%;top:11%}.node-b{left:2%;top:calc(50% - 34px)}.node-c{left:2%;bottom:12%}.node-d{right:2%;top:11%}.node-e{right:2%;top:calc(50% - 34px)}.infra-core{width:124px;height:124px}.infra-core b{font-size:10px}.infra-core small{font-size:5.5px}.infra-core em{font-size:5px}.infra-orbit.orbit-3{width:430px;height:350px}.infra-status{max-width:92%;overflow:hidden}.infra-status small{font-size:5.5px}.speednet-infra-visual .speed-badge{right:7px;top:9px}.infra-lines{opacity:.8}}
@media(prefers-reduced-motion:reduce){.speednet-infra-visual,.infra-grid,.infra-orbit,.infra-glow,.infra-path,.infra-packet,.infra-core,.infra-core-ring,.infra-status strong span{animation:none!important}}

@keyframes fiberDraw{to{stroke-dashoffset:-590}}
@media(prefers-reduced-motion:reduce){.fiber-light{animation:none!important}}
.speednet-infra-visual .speed-badge{display:none!important}

/* ===== Live Coverage Map ===== */
.live-coverage{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);overflow:hidden}
.coverage-title{margin-bottom:32px}
.coverage-title>p{max-width:510px}
.coverage-map{position:relative;min-height:520px;border:1px solid #dfe5ec;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(237,28,36,.055),transparent 28%),linear-gradient(145deg,#fff,#f7f9fc);box-shadow:0 24px 70px rgba(16,19,25,.08);isolation:isolate}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(104,119,139,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(104,119,139,.07) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 88%,transparent 100%);animation:gridDrift 16s linear infinite}
.map-glow{position:absolute;width:480px;height:480px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.11),rgba(237,28,36,.035) 34%,transparent 68%);filter:blur(2px);animation:coveragePulse 4s ease-in-out infinite}
.coverage-routes{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.route{fill:none;stroke:rgba(237,28,36,.28);stroke-width:2;stroke-dasharray:5 9;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(237,28,36,.15));animation:routeDash 4s linear infinite}
.route-b{animation-delay:-1s}.route-c{animation-delay:-2s}.route-d{animation-delay:-3s}
.coverage-core{position:absolute;z-index:6;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#181b22,#0f1116);border:5px solid #fff;box-shadow:0 0 0 1px #d9dfe7,0 0 0 16px rgba(237,28,36,.05),0 0 45px rgba(237,28,36,.18);animation:coreFloat 5s ease-in-out infinite}
.coverage-core>i{font-size:24px;color:#ff2630;animation:coreBlink 1.8s ease-in-out infinite}.coverage-core b{font:800 14px/1 Manrope,Inter,sans-serif;margin-top:4px}.coverage-core small{font-size:7px;letter-spacing:.13em;color:#aeb6c2;margin-top:6px}.coverage-core span{margin-top:8px;background:#ed1c24;color:#fff;border-radius:20px;padding:4px 9px;font-size:7px;font-weight:800;letter-spacing:.1em;box-shadow:0 0 15px rgba(237,28,36,.35)}.coverage-core span i{font-size:8px}
.coverage-node{position:absolute;z-index:7;min-width:150px;padding:14px 15px 13px 42px;border:1px solid #dfe5ec;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 16px 35px rgba(16,19,25,.09);animation:coverageNode 5s ease-in-out infinite;transition:.35s}
.coverage-node:hover{transform:translateY(-7px) scale(1.025);border-color:#f1a8ac;box-shadow:0 22px 42px rgba(16,19,25,.13),0 0 25px rgba(237,28,36,.08)}
.coverage-node>i{position:absolute;left:14px;top:17px;color:var(--red);font-size:19px}.coverage-node strong{display:block;font-size:12px;color:#151922}.coverage-node small{display:block;margin-top:5px;color:#748091;font-size:8px}.coverage-node em{position:absolute;right:10px;top:8px;color:#ed1c24;font-size:6px;font-style:normal;font-weight:900;letter-spacing:.1em}.node-madhupur{left:6%;top:14%}.node-sarath{left:5%;bottom:15%;animation-delay:-1s}.node-deoghar{left:35%;top:6%;animation-delay:-2s}.node-rohini{right:5%;top:14%;animation-delay:-1.6s}.node-jasidih{right:5%;bottom:15%;animation-delay:-2.4s}.node-devipur{right:32%;top:76%;animation-delay:-3s}
.signal{position:absolute;z-index:5;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.07),0 0 18px rgba(237,28,36,.55)}.s-a{animation:signalA 4.2s linear infinite}.s-b{animation:signalB 4.8s linear infinite 1s}.s-c{animation:signalC 4.4s linear infinite 1.6s}.s-d{animation:signalD 5s linear infinite 2.2s}
.coverage-legend{position:absolute;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:18px;padding:9px 14px;border:1px solid #e1e6ec;background:rgba(255,255,255,.9);border-radius:30px;box-shadow:0 10px 25px rgba(16,19,25,.07);font-size:8px;font-weight:800;color:#657181;white-space:nowrap}.coverage-legend span{display:flex;align-items:center;gap:6px}.coverage-legend i{width:7px;height:7px;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 4px rgba(237,28,36,.08)}.coverage-legend b{width:18px;height:2px;background:linear-gradient(90deg,transparent,#ed1c24,transparent)}
.coverage-locations{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}.coverage-locations span{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border:1px solid #e2e7ed;background:#fff;border-radius:10px;color:#343b46;font-size:10px;font-weight:800;box-shadow:0 7px 18px rgba(16,19,25,.035);transition:.3s}.coverage-locations span i{color:var(--red);font-size:13px}.coverage-locations span:hover{transform:translateY(-3px);border-color:#f1b2b5;box-shadow:0 14px 25px rgba(16,19,25,.07)}
@keyframes gridDrift{to{background-position:34px 34px}}@keyframes coveragePulse{0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.07);opacity:1}}@keyframes routeDash{to{stroke-dashoffset:-56}}@keyframes coreFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-53%)}}@keyframes coverageNode{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes signalA{0%{left:18%;top:30%;opacity:0}12%{opacity:1}50%{left:50%;top:50%}88%{opacity:1}100%{left:75%;top:64%;opacity:0}}@keyframes signalB{0%{left:20%;top:72%;opacity:0}12%{opacity:1}50%{left:50%;top:50%}88%{opacity:1}100%{left:72%;top:29%;opacity:0}}@keyframes signalC{0%{left:67%;top:12%;opacity:0}12%{opacity:1}50%{left:50%;top:50%}88%{opacity:1}100%{left:28%;top:75%;opacity:0}}@keyframes signalD{0%{left:79%;top:72%;opacity:0}12%{opacity:1}50%{left:50%;top:50%}88%{opacity:1}100%{left:32%;top:25%;opacity:0}}
@media(max-width:900px){.coverage-locations{grid-template-columns:repeat(3,1fr)}.coverage-map{min-height:560px}.node-deoghar{left:33%;top:8%}.node-devipur{right:30%;top:79%}}
@media(max-width:700px){.coverage-title{display:block}.coverage-title>p{margin-top:18px}.coverage-map{min-height:620px;border-radius:20px}.coverage-node{min-width:125px;padding:11px 10px 10px 35px}.coverage-node>i{left:11px;top:13px;font-size:16px}.coverage-node strong{font-size:10px}.coverage-node small{font-size:7px}.node-madhupur{left:4%;top:9%}.node-sarath{left:4%;bottom:10%}.node-deoghar{left:50%;top:7%;transform:translateX(-50%)}.node-rohini{right:4%;top:9%}.node-jasidih{right:4%;bottom:10%}.node-devipur{right:auto;left:50%;top:auto;bottom:27%;transform:translateX(-50%)}.coverage-core{width:125px;height:125px}.coverage-core b{font-size:12px}.coverage-core small{font-size:6px}.coverage-legend{bottom:12px;gap:8px;font-size:7px}.coverage-locations{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.coverage-map{min-height:650px}.coverage-node{min-width:112px}.node-madhupur{left:2%}.node-sarath{left:2%}.node-rohini{right:2%}.node-jasidih{right:2%}.coverage-locations span{font-size:9px}}

/* Live geographic coverage map */
.live-map-coverage{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);}
.live-map-shell{position:relative;border:1px solid #dfe5ec;border-radius:24px;overflow:hidden;background:#eef3f7;box-shadow:0 24px 60px rgba(17,24,39,.10);}
.speednet-map{height:500px;width:100%;background:#e9eef2;}

.map-topbar{position:absolute;z-index:1000;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;}
.map-topbar>div:first-child,.map-status,.map-overlay,.map-legend{background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border:1px solid rgba(215,222,230,.95);box-shadow:0 12px 30px rgba(15,23,42,.10);}
.map-topbar>div:first-child{padding:10px 14px;border-radius:14px;display:flex;gap:9px;align-items:center;}
.map-topbar b{font-size:11px;letter-spacing:.12em;color:#172033}.map-topbar small{color:#718096;font-size:10px;margin-left:4px}.map-live-dot{width:8px;height:8px;border-radius:50%;background:#ef1f2b;box-shadow:0 0 0 5px rgba(239,31,43,.12);animation:snPulse 1.6s infinite}.map-status{padding:10px 14px;border-radius:14px;font-size:11px;font-weight:800;color:#ef1f2b}.map-status i{margin-right:5px}
.map-overlay{position:absolute;z-index:900;bottom:18px;padding:12px 14px;border-radius:14px;display:flex;align-items:center;gap:10px}.map-overlay-left{left:18px}.map-overlay-right{right:18px}.map-overlay b{display:block;font-size:11px;color:#182131}.map-overlay small{display:block;font-size:9px;color:#738096;margin-top:2px}.pulse-ring{width:10px;height:10px;border-radius:50%;background:#ef1f2b;box-shadow:0 0 0 0 rgba(239,31,43,.4);animation:snRing 1.7s infinite}.map-overlay-right i{color:#ef1f2b;font-size:18px}.map-legend{position:absolute;z-index:900;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 13px;border-radius:999px;display:flex;gap:16px;font-size:9px;color:#637083}.legend-live,.legend-route{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#ef1f2b}.legend-route{width:18px;height:2px;border-radius:2px;vertical-align:middle}
.speednet-live-marker{background:none!important;border:0!important}.sn-pin{position:relative;min-width:170px;height:58px;padding:9px 10px 8px 10px;border-radius:14px;background:rgba(255,255,255,.96);border:1px solid #dce3eb;box-shadow:0 14px 28px rgba(17,24,39,.12);display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;animation:snFloat 3.4s ease-in-out infinite}.sn-pin:after{content:"";position:absolute;inset:-5px;border-radius:17px;border:1px solid rgba(239,31,43,.12);animation:snMarkerGlow 2.2s ease-in-out infinite}.sn-wifi{width:26px;height:26px;display:grid;place-items:center;color:#ef1f2b;font-size:17px}.sn-pin b{display:block;font-size:11px;color:#192231;white-space:nowrap}.sn-pin small{display:block;color:#7b8798;font-size:8px;margin-top:3px;white-space:nowrap}.sn-pin em{align-self:start;font-style:normal;font-size:7px;font-weight:900;color:#ef1f2b;letter-spacing:.08em;white-space:nowrap}.live-location-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.live-location-strip span{background:#fff;border:1px solid #e2e7ed;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:700;color:#263143;box-shadow:0 8px 20px rgba(15,23,42,.05)}.live-location-strip i{color:#ef1f2b;margin-right:5px}.live-location-strip em{font-style:normal;font-size:7px;color:#ef1f2b;margin-left:7px;letter-spacing:.08em}
@keyframes snPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}@keyframes snRing{0%{box-shadow:0 0 0 0 rgba(239,31,43,.42)}70%{box-shadow:0 0 0 10px rgba(239,31,43,0)}100%{box-shadow:0 0 0 0 rgba(239,31,43,0)}}@keyframes snFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes snMarkerGlow{0%,100%{opacity:.2;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@media(max-width:900px){.speednet-map{height:560px}.map-topbar{top:10px}.map-topbar small{display:none}.map-overlay-right{display:none}.map-legend{bottom:16px}.sn-pin{min-width:145px}.live-location-strip{gap:6px}.live-location-strip span{font-size:9px}}
@media(max-width:640px){.speednet-map{height:620px}.map-topbar{position:absolute;left:10px;right:10px}.map-topbar>div:first-child{padding:8px 10px}.map-topbar b{font-size:9px}.map-status{font-size:9px;padding:8px 10px}.map-overlay-left{left:10px;bottom:12px}.map-legend{bottom:12px;font-size:8px}.sn-pin{min-width:130px;height:54px;padding:7px}.sn-pin b{font-size:10px}.sn-pin small{font-size:7px}.sn-pin em{font-size:6px}}

/* Offline geographic coverage map - no external tile provider */
.vector-map{position:relative;overflow:hidden;background:#f4f7f9!important}
.geo-map-svg{width:100%;height:100%;display:block}
.geo-map-svg .district{fill:#eef2f5;stroke:#d3dbe4;stroke-width:2}
.geo-map-svg .water{fill:none;stroke:#dcecf1;stroke-width:12;opacity:.75}
.geo-map-svg .road{fill:none;stroke-linecap:round;opacity:.9}
.geo-map-svg .road.major{stroke:url(#roadMain);stroke-width:9}
.geo-map-svg .road.minor{stroke:#dce2e8;stroke-width:4}
.geo-map-svg .map-labels text{font:700 11px Inter,Arial,sans-serif;letter-spacing:.16em;fill:#8a95a3;opacity:.8}
.geo-map-svg .map-labels .district-label{font-size:18px;letter-spacing:.12em;fill:#b0b8c2;opacity:.55}
.geo-map-svg .fiber-routes path{fill:none;stroke:url(#fiberRoute);stroke-width:4;stroke-linecap:round;stroke-dasharray:1 18;filter:url(#softGlow);animation:geoFiberFlow 2.6s linear infinite}
.geo-map-svg .fiber-routes path:nth-child(2){animation-duration:3.1s}.geo-map-svg .fiber-routes path:nth-child(3){animation-duration:2.3s}.geo-map-svg .fiber-routes path:nth-child(4){animation-duration:3.4s}.geo-map-svg .fiber-routes path:nth-child(5){animation-duration:2.8s}.geo-map-svg .fiber-routes path:nth-child(6){animation-duration:3.6s}
.geo-marker{cursor:pointer}.geo-marker .dot{r:7;fill:#ef1f2b;stroke:#fff;stroke-width:3;filter:url(#markerGlow)}.geo-marker .pulse{r:16;fill:none;stroke:#ef1f2b;stroke-width:2;opacity:.22;animation:geoPulse 1.8s ease-out infinite}.geo-marker text{font:800 13px Inter,Arial,sans-serif;fill:#1b2430}.geo-marker small{font:800 8px Inter,Arial,sans-serif;letter-spacing:.1em;fill:#ef1f2b}.flow-points circle{fill:#fff;stroke:#ef1f2b;stroke-width:2;filter:url(#markerGlow)}
@keyframes geoFiberFlow{to{stroke-dashoffset:-95}}@keyframes geoPulse{0%{r:8;opacity:.7}75%{r:25;opacity:0}100%{r:25;opacity:0}}
@media(max-width:700px){.geo-map-svg{min-width:820px;transform:translateX(-130px)}.speednet-map{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.geo-map-svg .fiber-routes path,.geo-marker .pulse{animation:none!important}}
/* Professional code-built wireless coverage visual */
.wireless-coverage{background:#f7f9fc;overflow:hidden}
.wireless-coverage .coverage-title{margin-bottom:28px}
.wireless-stage{position:relative;height:560px;border:1px solid #dce3eb;border-radius:26px;overflow:hidden;background:
  radial-gradient(circle at 50% 48%,rgba(237,28,36,.09),transparent 26%),
  radial-gradient(circle at 18% 30%,rgba(218,231,244,.72),transparent 32%),
  linear-gradient(180deg,#fdfefe 0%,#eef3f7 100%);
  box-shadow:0 24px 65px rgba(16,19,25,.10);isolation:isolate}
.wireless-field{position:absolute;inset:0;z-index:0;overflow:hidden;background:
  linear-gradient(rgba(148,165,183,.08) 1px,transparent 1px),
  linear-gradient(90deg,rgba(148,165,183,.08) 1px,transparent 1px);
  background-size:36px 36px;animation:gridMove 16s linear infinite}
.field-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 54%,rgba(255,255,255,.92),rgba(255,255,255,.12) 48%,transparent 70%)}
.field-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(237,28,36,.13);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg);animation:orbitSpin 18s linear infinite}
.orbit-1{width:760px;height:270px}.orbit-2{width:900px;height:360px;transform:translate(-50%,-50%) rotate(18deg);animation-duration:25s;animation-direction:reverse}
.wireless-photo,.wireless-vignette{display:none}
.wireless-header,.wireless-status{position:absolute;z-index:12;top:18px;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #dce3eb;background:rgba(255,255,255,.92);color:#1a2028;border-radius:999px;box-shadow:0 12px 30px rgba(30,42,55,.10);font-size:10px;letter-spacing:.08em;backdrop-filter:blur(10px)}
.wireless-header{left:18px}.wireless-header small{color:#738091;letter-spacing:0}.live-pulse,.status-dot{width:7px;height:7px;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.11);animation:livePulse 1.6s ease-in-out infinite}.wireless-status{right:18px;color:#ed1c24;font-weight:900}
.wireless-beams{position:absolute;inset:0;width:100%;height:100%;z-index:6;overflow:visible}.wireless-beams .beam{fill:none;stroke:url(#beamRed);stroke-width:3.2;stroke-linecap:round;filter:url(#beamGlow);stroke-dasharray:1 12;animation:beamFlow 2.2s linear infinite}.wireless-beams .beam:nth-child(2){animation-duration:2.8s}.wireless-beams .beam:nth-child(3){animation-duration:2.5s}.signal-packets circle{fill:#fff;stroke:#ff2630;stroke-width:2;filter:drop-shadow(0 0 8px #ff2630)}
.coverage-tower{position:absolute;z-index:5;width:7px;background:linear-gradient(90deg,#aeb9c5,#f8fafc 45%,#aeb9c5);border-radius:8px;box-shadow:0 0 16px rgba(237,28,36,.08);opacity:.86}
.tower-a{left:32%;top:20%;height:215px}.tower-b{left:67%;top:28%;height:175px}.tower-c{right:12%;top:37%;height:145px}
.coverage-tower:before,.coverage-tower:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:78px;height:1px;background:#b8c4cf;box-shadow:0 -32px 0 #b8c4cf,0 32px 0 #b8c4cf}.coverage-tower:before{top:18%}.coverage-tower:after{top:60%}
.coverage-tower i{position:absolute;left:50%;top:48%;width:120px;height:70px;transform:translate(-50%,-50%);border:1px solid rgba(237,28,36,.15);border-left-color:transparent;border-right-color:transparent;border-radius:50%;animation:wirelessWave 2.8s ease-out infinite}.tower-b i{animation-delay:.7s}.tower-c i{animation-delay:1.3s}
.tower-light{position:absolute;top:-7px;left:50%;width:7px;height:7px;border-radius:50%;background:#ff2630;box-shadow:0 0 14px 5px rgba(255,38,48,.55);animation:towerBlink 1.5s infinite}
.coverage-node{position:absolute;z-index:13;min-width:145px;padding:13px 16px 12px 42px;border:1px solid #dce3eb;border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 16px 30px rgba(30,42,55,.12);color:#151a22;transition:.35s;animation:nodeFloat 4.5s ease-in-out infinite;backdrop-filter:blur(8px)}
.coverage-node:hover{transform:translateY(-8px) scale(1.035);box-shadow:0 22px 38px rgba(30,42,55,.16),0 0 24px rgba(237,28,36,.18);border-color:#ff9ca0}.coverage-node>i{position:absolute;left:15px;top:16px;color:#ed1c24;font-size:18px}.coverage-node strong{display:block;font-size:12px}.coverage-node small{display:block;color:#738091;font-size:8px;margin-top:4px}.coverage-node em{position:absolute;right:10px;top:8px;color:#ed1c24;font-size:6px;font-weight:900;font-style:normal;letter-spacing:.08em}
.n-madhupur{left:4%;top:22%}.n-sarath{left:5%;bottom:17%;animation-delay:-1s}.n-deoghar{left:39%;top:8%;animation-delay:-2s}.n-rohini{right:5%;top:18%;animation-delay:-1.5s}.n-jasidih{right:5%;bottom:18%;animation-delay:-2.5s}.n-devipur{right:31%;bottom:6%;animation-delay:-3.2s}
.wireless-caption{position:absolute;z-index:14;left:50%;bottom:17px;transform:translateX(-50%);display:flex;align-items:center;gap:28px;padding:10px 16px;border:1px solid #d7dfe8;border-radius:16px;background:rgba(255,255,255,.90);backdrop-filter:blur(12px);color:#1a2028;box-shadow:0 12px 28px rgba(30,42,55,.12);white-space:nowrap}.wireless-caption span{display:flex;align-items:center;gap:8px}.wireless-caption span i{color:#ed1c24}.wireless-caption span small{display:block;color:#7b8794;font-size:7px;margin-left:2px}.wireless-caption strong{font-size:8px;color:#1f2933;letter-spacing:.08em}.wireless-caption strong i{color:#ed1c24;margin-right:5px}
@keyframes beamFlow{to{stroke-dashoffset:-52}}@keyframes gridMove{to{background-position:36px 36px}}@keyframes livePulse{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.35);opacity:1}}@keyframes towerBlink{0%,70%,100%{opacity:.35}80%{opacity:1}}@keyframes nodeFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(348deg)}}@keyframes wirelessWave{0%{transform:translate(-50%,-50%) scale(.55);opacity:0}30%{opacity:.8}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}
@media(max-width:800px){.wireless-stage{height:680px}.wireless-header{left:12px}.wireless-status{right:12px}.coverage-node{min-width:125px;padding:11px 12px 10px 36px}.coverage-node>i{left:12px;top:14px}.n-madhupur{left:3%;top:18%}.n-sarath{left:3%;bottom:24%}.n-deoghar{left:50%;top:9%;transform:translateX(-50%)}.n-rohini{right:3%;top:18%}.n-jasidih{right:3%;bottom:24%}.n-devipur{left:50%;right:auto;bottom:8%;transform:translateX(-50%)}.tower-a{left:32%;top:23%}.tower-b{left:66%;top:31%}.tower-c{right:8%;top:42%}.wireless-caption{bottom:14px;gap:12px;font-size:8px}.wireless-caption span small{display:none}.orbit-1{width:560px;height:230px}.orbit-2{width:650px;height:290px}}
@media(prefers-reduced-motion:reduce){.wireless-grid,.wireless-beams .beam,.live-pulse,.status-dot,.tower-light,.coverage-node,.field-orbit,.coverage-tower i{animation:none!important}}
/* Optical-core coverage network visual */
.optical-coverage-stage .wireless-beams,.optical-coverage-stage .coverage-tower{display:none!important}
.optical-network-lines{position:absolute;inset:0;width:100%;height:100%;z-index:6;overflow:visible;pointer-events:none}
.fiber-cables path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.fiber-cables-glow path{stroke:rgba(237,28,36,.16);stroke-width:12;filter:blur(7px);animation:fiberGlowPulse 2.8s ease-in-out infinite}
.fiber-cables-core path{stroke:url(#fiberCable);stroke-width:5;filter:url(#fiberGlow);opacity:.95}
.fiber-cables-core path:nth-child(2){animation-delay:.2s}.fiber-cables-core path:nth-child(3){animation-delay:.4s}.fiber-cables-core path:nth-child(4){animation-delay:.6s}.fiber-cables-core path:nth-child(5){animation-delay:.8s}.fiber-cables-core path:nth-child(6){animation-delay:1s}
.fiber-signals circle{fill:#fff;stroke:#ed1c24;stroke-width:2.5;filter:drop-shadow(0 0 10px rgba(237,28,36,.95));animation:signalPulse 1.5s ease-in-out infinite}
.fiber-core-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(237,28,36,.18);box-shadow:0 0 20px rgba(237,28,36,.14);margin-bottom:7px;z-index:2}.fiber-core-mark i{color:#ed1c24;font-size:20px}
@keyframes fiberGlowPulse{0%,100%{opacity:.35}50%{opacity:.9}}
@keyframes signalPulse{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.25);opacity:1}}
.optical-junction{position:absolute;left:50%;top:50%;z-index:12;width:128px;height:128px;transform:translate(-50%,-50%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#ffffff 0%,#fff7f7 35%,#f2f5f8 100%);border:2px solid rgba(237,28,36,.55);box-shadow:0 0 0 9px rgba(237,28,36,.06),0 0 38px rgba(237,28,36,.22),0 18px 40px rgba(30,42,55,.13);text-align:center;animation:coreBreath 2.6s ease-in-out infinite}
.optical-junction i{color:#ed1c24;font-size:24px;line-height:1;margin-bottom:7px;z-index:2}.optical-junction b{font-size:11px;letter-spacing:.04em;color:#151a22;z-index:2}.optical-junction small{font-size:7px;letter-spacing:.12em;color:#738091;margin-top:3px;z-index:2}.optical-junction em{font-style:normal;font-size:6px;font-weight:900;color:#fff;background:#ed1c24;border-radius:99px;padding:3px 7px;margin-top:6px;letter-spacing:.1em;z-index:2}
.junction-ring{position:absolute;inset:-12px;border:1px solid rgba(237,28,36,.22);border-radius:50%;animation:coreRing 3.2s ease-out infinite}.junction-ring:after{content:"";position:absolute;inset:13px;border:1px dashed rgba(237,28,36,.18);border-radius:50%;animation:coreSpin 12s linear infinite}.junction-light{position:absolute;top:10px;right:27px;width:7px;height:7px;border-radius:50%;background:#ed1c24;box-shadow:0 0 14px 5px rgba(237,28,36,.45);animation:coreDot 1.5s ease-in-out infinite}
.optical-coverage-stage .coverage-node>i{font-size:20px;animation:wifiGlow 1.8s ease-in-out infinite}.optical-coverage-stage .coverage-node:nth-of-type(2)>i{animation-delay:.25s}.optical-coverage-stage .coverage-node:nth-of-type(3)>i{animation-delay:.5s}.optical-coverage-stage .coverage-node:nth-of-type(4)>i{animation-delay:.75s}.optical-coverage-stage .coverage-node:nth-of-type(5)>i{animation-delay:1s}.optical-coverage-stage .coverage-node:nth-of-type(6)>i{animation-delay:1.25s}.optical-coverage-stage .coverage-node:nth-of-type(7)>i{animation-delay:1.5s}
@keyframes fiberCableFlow{to{stroke-dashoffset:-40}}@keyframes coreBreath{0%,100%{transform:translate(-50%,-50%) scale(.98)}50%{transform:translate(-50%,-50%) scale(1.035)}}@keyframes coreRing{0%{transform:scale(.86);opacity:.8}100%{transform:scale(1.28);opacity:0}}@keyframes coreSpin{to{transform:rotate(360deg)}}@keyframes coreDot{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.35)}}@keyframes wifiGlow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(237,28,36,0))}50%{transform:scale(1.16);filter:drop-shadow(0 0 9px rgba(237,28,36,.6))}}
@media(max-width:800px){.optical-junction{width:105px;height:105px}.optical-junction i{font-size:20px}.optical-junction b{font-size:9px}.optical-junction small{font-size:6px}.optical-network-lines{min-width:760px;transform:translateX(-70px)}.optical-coverage-stage .wireless-grid{background-size:28px 28px}}
@media(prefers-reduced-motion:reduce){.fiber-cables path,.optical-junction,.junction-ring,.junction-ring:after,.junction-light,.optical-coverage-stage .coverage-node>i{animation:none!important}}

/* ===== Coverage: inbound optical-fiber connectivity ===== */
.optical-coverage-stage .optical-network-lines .fiber-cables-glow path{stroke:rgba(22,180,105,.18)!important;stroke-width:13px!important;filter:blur(8px);}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path{stroke:#18b66b!important;stroke-width:6px!important;filter:drop-shadow(0 0 6px rgba(24,182,107,.72)) drop-shadow(0 0 14px rgba(24,182,107,.35));}
.optical-coverage-stage .fiber-signals circle{fill:#fff!important;stroke:#18b66b!important;filter:drop-shadow(0 0 8px rgba(24,182,107,.95)) drop-shadow(0 0 16px rgba(24,182,107,.45));}
.optical-coverage-stage .optical-junction{border-color:rgba(24,182,107,.65)!important;box-shadow:0 0 0 9px rgba(24,182,107,.07),0 0 42px rgba(24,182,107,.24),0 18px 40px rgba(30,42,55,.13)!important;}
.optical-coverage-stage .optical-junction i{color:#18b66b!important;}
.optical-coverage-stage .optical-junction em{background:#18b66b!important;}
.optical-coverage-stage .junction-light{background:#18b66b!important;box-shadow:0 0 16px rgba(24,182,107,.9)!important;}
.optical-coverage-stage .junction-ring{border-color:rgba(24,182,107,.22)!important;}
.optical-coverage-stage .coverage-node>i{color:#18b66b!important;filter:drop-shadow(0 0 5px rgba(24,182,107,.55));}
.optical-coverage-stage .coverage-node em{color:#18b66b!important;}
.optical-coverage-stage .coverage-node{border-color:rgba(24,182,107,.22);}
.optical-coverage-stage .live-pulse,.optical-coverage-stage .status-dot{background:#18b66b!important;box-shadow:0 0 0 5px rgba(24,182,107,.12)!important;}
.optical-coverage-stage .wireless-status{color:#18b66b!important;}
.optical-coverage-stage .wireless-caption strong{color:#18b66b!important;}
.optical-coverage-stage .wireless-caption strong i{color:#18b66b!important;}
@keyframes inboundFiberGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(24,182,107,.35));opacity:.72}50%{filter:drop-shadow(0 0 11px rgba(24,182,107,.85));opacity:1}}
.optical-coverage-stage .fiber-cables-core path{animation:inboundFiberGlow 2.4s ease-in-out infinite!important;}
.optical-coverage-stage .coverage-node>i{animation:wifiGreenPulse 1.8s ease-in-out infinite!important;}
@keyframes wifiGreenPulse{0%,100%{transform:scale(.94);opacity:.75;filter:drop-shadow(0 0 2px rgba(24,182,107,.25))}50%{transform:scale(1.16);opacity:1;filter:drop-shadow(0 0 10px rgba(24,182,107,.9))}}

/* ===== Mixed optical + wireless coverage visual ===== */
.optical-coverage-stage .wireless-grid{opacity:.7}
.optical-coverage-stage .optical-network-lines .fiber-cables-glow path{stroke:rgba(237,28,36,.22)!important;stroke-width:15px!important;filter:blur(8px)!important}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path{stroke:#ed1c24!important;stroke-width:6px!important;filter:drop-shadow(0 0 5px rgba(237,28,36,.85)) drop-shadow(0 0 14px rgba(237,28,36,.45))!important;stroke-dasharray:18 7;animation:sharpFiberFlow 1.35s linear infinite!important}
.optical-coverage-stage .fiber-signals circle{fill:#fff!important;stroke:#ed1c24!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 7px rgba(237,28,36,.95)) drop-shadow(0 0 15px rgba(237,28,36,.55))!important}
.optical-coverage-stage .wireless-waves{display:block}
.optical-coverage-stage .wireless-waves .wave-path{fill:none;stroke:#ed1c24;stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;filter:drop-shadow(0 0 5px rgba(237,28,36,.8)) drop-shadow(0 0 12px rgba(237,28,36,.35));animation:wirelessWaveFlow 1.7s linear infinite}
.optical-coverage-stage .wireless-waves .wave-path:nth-child(2){animation-duration:2s}
.optical-coverage-stage .wireless-waves .wave-path:nth-child(3){animation-duration:1.55s}
.optical-coverage-stage .wireless-waves .wave-packet{fill:#fff;stroke:#ed1c24;stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(237,28,36,.95))}
.optical-coverage-stage .wireless-node>i{color:#ed1c24!important;filter:drop-shadow(0 0 6px rgba(237,28,36,.6))!important;animation:wifiRedPulse 1.65s ease-in-out infinite!important}
.optical-coverage-stage .optical-node>i{color:#ed1c24!important;filter:drop-shadow(0 0 8px rgba(237,28,36,.75))!important;animation:wifiRedPulse 1.9s ease-in-out infinite!important}
.optical-coverage-stage .coverage-node em{color:#ed1c24!important}
.optical-coverage-stage .live-pulse,.optical-coverage-stage .status-dot{background:#ed1c24!important;box-shadow:0 0 0 5px rgba(237,28,36,.12)!important}
.optical-coverage-stage .wireless-status{color:#ed1c24!important}
.optical-coverage-stage .wireless-caption strong,.optical-coverage-stage .wireless-caption strong i{color:#ed1c24!important}
.optical-coverage-stage .optical-junction{border-color:rgba(237,28,36,.65)!important;box-shadow:0 0 0 9px rgba(237,28,36,.07),0 0 42px rgba(237,28,36,.24),0 18px 40px rgba(30,42,55,.13)!important}
.optical-coverage-stage .optical-junction i{color:#ed1c24!important}
.optical-coverage-stage .optical-junction em{background:#ed1c24!important}
.optical-coverage-stage .junction-light{background:#ed1c24!important;box-shadow:0 0 16px rgba(237,28,36,.9)!important}
.optical-coverage-stage .junction-ring{border-color:rgba(237,28,36,.22)!important}
@keyframes sharpFiberFlow{to{stroke-dashoffset:-50}}
@keyframes wirelessWaveFlow{to{stroke-dashoffset:-56}}
@keyframes wifiRedPulse{0%,100%{transform:scale(.94);opacity:.72;filter:drop-shadow(0 0 2px rgba(237,28,36,.25))}50%{transform:scale(1.18);opacity:1;filter:drop-shadow(0 0 11px rgba(237,28,36,.95))}}
@media(prefers-reduced-motion:reduce){.optical-coverage-stage .fiber-cables-core path,.optical-coverage-stage .wireless-waves .wave-path,.optical-coverage-stage .coverage-node>i{animation:none!important}}

/* ===== Final coverage polish: thin optical core + sharp glowing outbound wireless waves ===== */
.optical-coverage-stage .optical-network-lines .fiber-cables-glow path{
  stroke:#ed1c24!important;
  stroke-width:8px!important;
  filter:blur(5px) drop-shadow(0 0 7px rgba(237,28,36,.55))!important;
  opacity:.48!important;
}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path{
  stroke:#ed1c24!important;
  stroke-width:3px!important;
  stroke-dasharray:10 7!important;
  filter:drop-shadow(0 0 4px rgba(237,28,36,.95)) drop-shadow(0 0 9px rgba(237,28,36,.45))!important;
  animation:sharpFiberFlow 1.05s linear infinite!important;
}
.optical-coverage-stage .fiber-signals circle{
  r:4px;
  stroke-width:2px!important;
  filter:drop-shadow(0 0 7px rgba(237,28,36,.95)) drop-shadow(0 0 13px rgba(237,28,36,.55))!important;
}
.optical-coverage-stage .optical-junction{
  width:108px!important;height:108px!important;
  border:1px solid rgba(237,28,36,.72)!important;
  box-shadow:0 0 0 6px rgba(237,28,36,.045),0 0 28px rgba(237,28,36,.22),0 14px 32px rgba(30,42,55,.11)!important;
}
.optical-coverage-stage .optical-junction i{font-size:20px!important;margin-bottom:5px!important}
.optical-coverage-stage .optical-junction b{font-size:10px!important}
.optical-coverage-stage .junction-ring{inset:-9px!important;border-color:rgba(237,28,36,.18)!important}
.optical-coverage-stage .junction-ring:after{inset:10px!important;border-color:rgba(237,28,36,.12)!important}
.optical-coverage-stage .wireless-waves .wave-path{
  stroke:#ed1c24!important;
  stroke-width:3px!important;
  stroke-linecap:round!important;
  stroke-dasharray:2 10!important;
  filter:drop-shadow(0 0 5px rgba(237,28,36,.9)) drop-shadow(0 0 12px rgba(237,28,36,.45))!important;
  animation:wirelessWaveFlow 1.15s linear infinite, wirelessWaveGlow 1.8s ease-in-out infinite!important;
}
.optical-coverage-stage .wireless-waves .wave-path:nth-child(2){animation-duration:1.25s,1.8s!important}
.optical-coverage-stage .wireless-waves .wave-path:nth-child(3){animation-duration:1.05s,1.65s!important}
.optical-coverage-stage .wireless-waves .wave-packet{
  fill:#fff!important;stroke:#ed1c24!important;stroke-width:2px!important;
  filter:drop-shadow(0 0 7px rgba(237,28,36,1)) drop-shadow(0 0 15px rgba(237,28,36,.6))!important;
}
@keyframes wirelessWaveGlow{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:800px){.optical-coverage-stage .optical-junction{width:92px!important;height:92px!important}.optical-coverage-stage .optical-junction b{font-size:8px!important}.optical-coverage-stage .optical-junction i{font-size:17px!important}}


/* =========================================================
   SPEEDNET PREMIUM REFINEMENT — SHARP OPTICAL CORE
   ========================================================= */
:root{
  --sn-red:#ed1c24;
  --sn-red-bright:#ff343d;
  --sn-ink:#101319;
  --sn-muted:#68717f;
}

/* cleaner premium section rhythm */
.section{position:relative}
.section-title h2{letter-spacing:-.045em}
.section-title h2 span{color:var(--sn-red)}
.section-title p{max-width:620px}
.section-title .kicker{position:relative}
.section-title .kicker:after{content:"";display:inline-block;width:28px;height:2px;margin-left:9px;vertical-align:middle;background:var(--sn-red);box-shadow:0 0 9px rgba(237,28,36,.35)}

/* cards: restrained depth + red interaction edge */
.plans .plan-card,.services .service-card,.contact .contact-card{
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.plans .plan-card:hover,.services .service-card:hover,.contact .contact-card:hover{
  transform:translateY(-7px);
  border-color:rgba(237,28,36,.24);
  box-shadow:0 22px 55px rgba(16,19,25,.11),0 0 28px rgba(237,28,36,.055);
}

/* ===== Coverage: thin sharp optical fiber / flower network ===== */
.optical-coverage-stage{
  background:
    radial-gradient(circle at 50% 50%,rgba(237,28,36,.075),transparent 20%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.95),transparent 54%),
    linear-gradient(180deg,#fcfdff 0%,#f0f4f8 100%);
  border-color:#dbe2ea;
}
.optical-coverage-stage .wireless-grid{
  opacity:.42;
  background-size:42px 42px;
}

/* Keep the fiber visibly thin; glow sits behind the sharp core. */
.optical-coverage-stage .fiber-cables-glow path{
  stroke:rgba(237,28,36,.22)!important;
  stroke-width:8px!important;
  filter:blur(5px)!important;
}
.optical-coverage-stage .fiber-cables-core path{
  stroke:#ed1c24!important;
  stroke-width:2.2px!important;
  opacity:.98!important;
  filter:drop-shadow(0 0 3px rgba(237,28,36,.8)) drop-shadow(0 0 7px rgba(237,28,36,.32))!important;
  stroke-dasharray:13 9;
  animation:snSharpFiber 1.55s linear infinite!important;
}
.optical-coverage-stage .fiber-cables-core path:nth-child(2){animation-delay:-.22s!important}
.optical-coverage-stage .fiber-cables-core path:nth-child(3){animation-delay:-.44s!important}
.optical-coverage-stage .fiber-cables-core path:nth-child(4){animation-delay:-.66s!important}
.optical-coverage-stage .fiber-cables-core path:nth-child(5){animation-delay:-.88s!important}
.optical-coverage-stage .fiber-cables-core path:nth-child(6){animation-delay:-1.1s!important}

/* moving optical light: small, crisp, not a thick beam */
.optical-coverage-stage .fiber-signals circle{
  r:3.2;
  stroke-width:1.6!important;
  filter:drop-shadow(0 0 5px rgba(237,28,36,.95))!important;
}

/* wireless should feel different from fiber: softer wave packets */
.optical-coverage-stage .wireless-waves .wave-path{
  stroke-width:1.8!important;
  stroke-dasharray:1 11!important;
  opacity:.9;
  filter:drop-shadow(0 0 4px rgba(237,28,36,.65)) drop-shadow(0 0 8px rgba(237,28,36,.22))!important;
}
.optical-coverage-stage .wireless-waves .wave-packet{
  r:3.2;
  stroke-width:1.7;
  filter:drop-shadow(0 0 6px rgba(237,28,36,.9))!important;
}

/* central core becomes the visual source of the whole flower */
.optical-junction{
  width:118px!important;height:118px!important;
  background:radial-gradient(circle at 50% 40%,#fff 0%,#fff8f8 38%,#eef2f6 100%)!important;
  border:1.5px solid rgba(237,28,36,.7)!important;
  box-shadow:0 0 0 7px rgba(237,28,36,.045),0 0 28px rgba(237,28,36,.18),0 18px 38px rgba(30,42,55,.12)!important;
}
.optical-junction .fiber-core-mark{
  width:36px;height:36px;margin-bottom:5px;
  box-shadow:0 0 16px rgba(237,28,36,.12);
}
.optical-junction b{font-size:10px!important}
.optical-junction small{font-size:6.5px!important}

/* location petals: compact, crisp and visually separated */
.optical-coverage-stage .coverage-node{
  min-width:154px;
  padding:13px 13px 12px 40px;
  border-radius:13px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(16,19,25,.075),0 0 0 1px rgba(255,255,255,.55);
  backdrop-filter:blur(8px);
}
.optical-coverage-stage .coverage-node:before{
  content:"";
  position:absolute;left:0;top:10px;bottom:10px;width:2px;
  border-radius:2px;background:var(--sn-red);
  opacity:.55;
}
.optical-coverage-stage .coverage-node strong{font-size:12px;letter-spacing:-.01em}
.optical-coverage-stage .coverage-node small{font-size:7.5px}
.optical-coverage-stage .coverage-node em{font-size:5.5px}

/* flower/radial arrangement around the optical core */
.optical-coverage-stage .n-madhupur{left:4%;top:19%}
.optical-coverage-stage .n-sarath{left:4%;bottom:19%}
.optical-coverage-stage .n-deoghar{left:calc(50% - 77px);top:5%}
.optical-coverage-stage .n-rohini{right:4%;top:19%}
.optical-coverage-stage .n-jasidih{right:4%;bottom:19%}
.optical-coverage-stage .n-devipur{right:calc(50% - 77px);bottom:4%}

/* gentle floating + glow, but no exaggerated animation */
.optical-coverage-stage .coverage-node{
  animation:snNodeFloat 5.8s ease-in-out infinite;
}
.optical-coverage-stage .n-sarath{animation-delay:-1.1s}
.optical-coverage-stage .n-deoghar{animation-delay:-2s}
.optical-coverage-stage .n-rohini{animation-delay:-2.8s}
.optical-coverage-stage .n-jasidih{animation-delay:-3.7s}
.optical-coverage-stage .n-devipur{animation-delay:-4.6s}

.optical-coverage-stage .optical-node>i,
.optical-coverage-stage .wireless-node>i{
  filter:drop-shadow(0 0 6px rgba(237,28,36,.55))!important;
}

/* coverage footer/caption gets a more technical dashboard feel */
.optical-coverage-stage .wireless-caption{
  border-radius:12px;
  padding:9px 14px;
  box-shadow:0 10px 25px rgba(16,19,25,.075);
}

/* subtle section-wide red accent */
.coverage:before{
  content:"";
  position:absolute;left:50%;top:0;width:110px;height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--sn-red),transparent);
  box-shadow:0 0 16px rgba(237,28,36,.28);
}

@keyframes snSharpFiber{to{stroke-dashoffset:-44}}
@keyframes snNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media(max-width:800px){
  .optical-coverage-stage .coverage-node{min-width:126px;padding:11px 10px 10px 35px}
  .optical-coverage-stage .n-madhupur{left:2%;top:18%}
  .optical-coverage-stage .n-sarath{left:2%;bottom:24%}
  .optical-coverage-stage .n-deoghar{left:50%;top:8%;right:auto;transform:translateX(-50%)}
  .optical-coverage-stage .n-rohini{right:2%;top:18%}
  .optical-coverage-stage .n-jasidih{right:2%;bottom:24%}
  .optical-coverage-stage .n-devipur{left:50%;right:auto;bottom:7%;transform:translateX(-50%)}
  .optical-junction{width:94px!important;height:94px!important}
  .optical-junction .fiber-core-mark{width:30px;height:30px}
  .optical-junction b{font-size:8px!important}
  .optical-junction small{font-size:5.5px!important}
}
@media(prefers-reduced-motion:reduce){
  .optical-coverage-stage .fiber-cables-core path,
  .optical-coverage-stage .coverage-node{animation:none!important}
}

/* ===== Server & Colocation inspired coverage infrastructure ===== */
.optical-coverage-stage{background:radial-gradient(circle at 50% 50%,rgba(237,28,36,.09),transparent 18%),linear-gradient(180deg,#fbfcfe,#eef2f6)!important;overflow:hidden}
.optical-coverage-stage:after{content:"CORE 01  •  EDGE POP  •  OPTICAL BACKBONE  •  24×7 MONITORED";position:absolute;left:50%;bottom:58px;transform:translateX(-50%);font-size:7px;letter-spacing:.18em;color:#8b96a4;white-space:nowrap;z-index:9}
.optical-coverage-stage .fiber-cables-glow path{stroke:rgba(237,28,36,.16)!important;stroke-width:7px!important;filter:blur(5px)!important}
.optical-coverage-stage .fiber-cables-core path{stroke:#ed1c24!important;stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-dasharray:12 8!important;filter:drop-shadow(0 0 3px rgba(237,28,36,.8))!important;animation:snInfraFiberFlow 1.15s linear infinite!important}
.optical-coverage-stage .fiber-signals circle{r:3!important;fill:#fff!important;stroke:#ed1c24!important;filter:drop-shadow(0 0 6px rgba(237,28,36,.95))!important}
.optical-coverage-stage .wireless-waves .wave-path{stroke-width:1.5!important;opacity:.6!important}
.optical-coverage-stage .coverage-node{border-radius:10px!important;border:1px solid #d8dee7!important;background:rgba(255,255,255,.96)!important;box-shadow:0 14px 30px rgba(25,35,48,.09),inset 0 1px 0 #fff!important}
.optical-coverage-stage .coverage-node:before{width:3px!important;opacity:.8!important}
.optical-coverage-stage .coverage-node strong{font-size:11px!important;letter-spacing:.02em!important;text-transform:uppercase}
.optical-coverage-stage .coverage-node small{font-size:7px!important;letter-spacing:.05em;text-transform:uppercase}
.infrastructure-core{width:142px!important;height:142px!important;border-radius:14px!important;background:linear-gradient(145deg,#15191f,#252b33 58%,#111419)!important;border:1px solid rgba(237,28,36,.72)!important;box-shadow:0 0 0 7px rgba(237,28,36,.035),0 0 42px rgba(237,28,36,.2),0 22px 45px rgba(15,20,27,.22)!important;color:#fff!important}
.infrastructure-core .junction-ring{border-color:rgba(237,28,36,.24)!important;border-radius:16px!important}
.infrastructure-core .junction-light{background:#ed1c24!important;box-shadow:0 0 14px rgba(237,28,36,.95)!important}
.infrastructure-core b{font-size:10px!important;letter-spacing:.08em!important;color:#fff!important}
.infrastructure-core small{font-size:5.5px!important;color:#aeb7c2!important;letter-spacing:.08em}
.infrastructure-core em{background:#ed1c24!important;color:#fff!important}
.rack-stack{width:40px;height:45px;display:flex;flex-direction:column;gap:4px;margin-bottom:7px;position:relative}
.rack-stack:before{content:"";position:absolute;inset:-5px -7px;border:1px solid rgba(255,255,255,.12);border-radius:5px}
.rack-stack i{display:block;height:11px;border-radius:2px;background:linear-gradient(90deg,#343b44,#171b20);border:1px solid rgba(255,255,255,.12);position:relative;box-shadow:inset 0 1px 2px rgba(255,255,255,.08)}
.rack-stack i:after{content:"";position:absolute;right:5px;top:3px;width:4px;height:4px;border-radius:50%;background:#ed1c24;box-shadow:0 0 7px rgba(237,28,36,.9)}
@keyframes snInfraFiberFlow{to{stroke-dashoffset:-40}}
@media(max-width:800px){.infrastructure-core{width:108px!important;height:108px!important}.rack-stack{transform:scale(.78);margin-bottom:2px}.infrastructure-core b{font-size:7px!important}.infrastructure-core small{font-size:4.5px!important}.optical-coverage-stage:after{font-size:5px;bottom:54px;letter-spacing:.12em}}


/* =========================================================
   COVERAGE FINAL — PINGX SERVER / COLOCATION STYLE
   Solid optical trunks, no dotted/dashed route effect.
   Madhupur + Deoghar = Edge; all remaining locations = POP.
   ========================================================= */
.optical-coverage-stage .optical-network-lines .fiber-cables-glow path{
  stroke:#ed1c24!important;
  stroke-width:9px!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:none!important;
  filter:blur(5px) drop-shadow(0 0 7px rgba(237,28,36,.42))!important;
  opacity:.30!important;
}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path{
  stroke:#ed1c24!important;
  stroke-width:2.6px!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:none!important;
  stroke-dashoffset:0!important;
  filter:drop-shadow(0 0 3px rgba(237,28,36,.9)) drop-shadow(0 0 8px rgba(237,28,36,.28))!important;
  animation:snCoreBreath 2.8s ease-in-out infinite!important;
}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path:nth-child(2){animation-delay:-.45s!important}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path:nth-child(3){animation-delay:-.9s!important}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path:nth-child(4){animation-delay:-1.35s!important}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path:nth-child(5){animation-delay:-1.8s!important}
.optical-coverage-stage .optical-network-lines .fiber-cables-core path:nth-child(6){animation-delay:-2.25s!important}

/* Remove the dotted signal/wave layer completely. */
.optical-coverage-stage .fiber-signals,
.optical-coverage-stage .wireless-waves{display:none!important}

/* All location cards share one PingX-like infrastructure language. */
.optical-coverage-stage .coverage-node{
  min-width:154px!important;
  padding:14px 15px 13px 42px!important;
  border:1px solid #dbe2ea!important;
  border-left:3px solid #ed1c24!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 14px 32px rgba(16,19,25,.08),0 0 20px rgba(237,28,36,.035)!important;
}
.optical-coverage-stage .coverage-node>i{
  color:#ed1c24!important;
  filter:drop-shadow(0 0 5px rgba(237,28,36,.35))!important;
  animation:none!important;
}
.optical-coverage-stage .coverage-node strong{text-transform:uppercase;letter-spacing:.025em}
.optical-coverage-stage .coverage-node small{text-transform:uppercase;letter-spacing:.055em}
.optical-coverage-stage .coverage-node em{color:#ed1c24!important}

@keyframes snCoreBreath{
  0%,100%{opacity:.86;filter:drop-shadow(0 0 2px rgba(237,28,36,.65)) drop-shadow(0 0 6px rgba(237,28,36,.20))}
  50%{opacity:1;filter:drop-shadow(0 0 4px rgba(237,28,36,1)) drop-shadow(0 0 12px rgba(237,28,36,.40))}
}
@media(prefers-reduced-motion:reduce){
  .optical-coverage-stage .optical-network-lines .fiber-cables-core path{animation:none!important}
}

/* =========================================================
   SPEEDNET FINAL UI — PREMIUM PLANS + LOWER COVERAGE BAR
   ========================================================= */
.plans{background:
  radial-gradient(circle at 10% 18%,rgba(237,28,36,.035),transparent 25%),
  linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.plans .section-title{margin-bottom:42px}
.plans-grid{gap:20px;perspective:1200px}
.plan{
  min-height:525px!important;
  padding:30px 32px 28px!important;
  border-radius:22px!important;
  isolation:isolate;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(249,250,252,.98))!important;
  box-shadow:0 12px 38px rgba(16,19,25,.055),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.plan:before{width:210px!important;height:210px!important;right:-105px!important;top:-100px!important;background:radial-gradient(circle,rgba(237,28,36,.10),rgba(237,28,36,.025) 48%,transparent 70%)!important}
.plan:after{content:"";position:absolute;left:-40px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.08),transparent 67%);opacity:.55!important;pointer-events:none;z-index:-1}
.plan:hover{transform:translateY(-12px) rotateX(1deg)!important;box-shadow:0 28px 65px rgba(16,19,25,.12),0 0 36px rgba(237,28,36,.065)!important;border-color:rgba(237,28,36,.28)!important}
.plan.popular{border:1.5px solid var(--red)!important;box-shadow:0 20px 55px rgba(237,28,36,.13),0 0 0 5px rgba(237,28,36,.035)!important}
.plan.popular:before{background:radial-gradient(circle,rgba(237,28,36,.15),rgba(237,28,36,.035) 48%,transparent 70%)!important}
.plan-label{margin-bottom:12px!important;color:#7a8492!important;font-size:9px!important;letter-spacing:.16em!important}
.plan-live{position:absolute;right:22px;top:22px;font-size:7px;font-weight:900;letter-spacing:.12em;color:#8a94a1;display:flex;align-items:center;gap:5px}
.plan-live i{width:5px;height:5px;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 4px rgba(237,28,36,.08),0 0 8px rgba(237,28,36,.6);animation:planReady 1.8s ease-in-out infinite}
.plan-speed{display:flex!important;align-items:flex-end;gap:7px;margin-top:2px}
.plan-speed strong{font-family:Manrope;font-size:68px!important;line-height:.92!important;letter-spacing:-.075em!important;font-weight:850!important;background:linear-gradient(180deg,#101319 10%,#343b45 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.plan-speed small{padding-bottom:7px!important;font-size:11px!important;color:#697483!important}
.speed-line{position:relative;height:4px;margin:15px 0 15px;border-radius:99px;background:#edf0f3;overflow:hidden}
.speed-line span{display:block;width:var(--speed-progress,42%);height:100%;border-radius:99px;background:linear-gradient(90deg,#ed1c24,#ff5960);box-shadow:0 0 10px rgba(237,28,36,.35);animation:speedLine 2.8s ease-in-out infinite}
.plan-30{--speed-progress:30%}.plan-50{--speed-progress:55%}.plan-100{--speed-progress:100%}
.plan h3{font-size:22px!important;margin:2px 0 8px!important}
.plan>p{min-height:40px!important;font-size:12px!important}
.price{display:flex;align-items:baseline;gap:6px;padding:20px 0!important;margin:22px 0!important;border-color:#e9edf1!important;font-size:31px!important}
.plan ul{gap:10px!important;margin-bottom:25px!important}
.plan li{font-size:11.5px!important}
.plan li:before{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(237,28,36,.07);margin-right:8px;font-size:10px}
.plan>a{border-radius:10px!important;padding:13px 15px!important;box-shadow:0 8px 20px rgba(16,19,25,.09)}
.plan.popular>a{box-shadow:0 10px 25px rgba(237,28,36,.22)}
.popular-tag{padding:10px 17px!important;border-radius:0 20px 0 14px!important;font-size:9px!important}
@keyframes planReady{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.25)}}
@keyframes speedLine{0%,100%{transform:translateX(-3%);opacity:.75}50%{transform:translateX(3%);opacity:1}}

/* Coverage information strip is now below the infrastructure canvas. */
.coverage-infra-bar{position:relative;margin:16px auto 0;display:flex;align-items:center;justify-content:center;gap:28px;width:min(530px,100%);padding:10px 16px;border:1px solid #d7dfe8;border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(30,42,55,.10);color:#1a2028}
.coverage-infra-bar span{display:flex;align-items:center;gap:8px}.coverage-infra-bar span i{color:var(--sn-red);font-size:14px}.coverage-infra-bar b{font-size:12px;letter-spacing:.02em}.coverage-infra-bar small{font-size:7px;color:#7b8794;letter-spacing:.06em;margin-left:2px}.coverage-infra-bar strong{font-size:8px;color:var(--sn-red);letter-spacing:.08em;white-space:nowrap}.coverage-infra-bar strong i{margin-right:5px}
@media(max-width:800px){.plan{min-height:500px!important;padding:26px 24px!important}.plan-speed strong{font-size:60px!important}.plan-live{right:18px;top:18px}.coverage-infra-bar{width:calc(100% - 20px);gap:12px;padding:9px 12px}.coverage-infra-bar small{display:none}.coverage-infra-bar b{font-size:10px}.coverage-infra-bar strong{font-size:7px}.optical-coverage-stage{margin-bottom:0!important}}

/* =========================================================
   SPEEDNET FINAL SERVICE + COVERAGE REFINEMENT
   ========================================================= */
/* Hero service ecosystem: add sixth service without disturbing the core */
.speednet-infra-visual .node-c{left:auto;right:2.5%;bottom:12%;top:auto}
.speednet-infra-visual .node-d{right:2.5%;top:12%}
.speednet-infra-visual .node-e{right:2.5%;top:calc(50% - 37px)}
@media(max-width:760px){
  .speednet-infra-visual .node-c{left:auto;right:2%;bottom:12%;top:auto}
}

/* Coverage: live indicators are green to distinguish operational status from brand red */
.optical-coverage-stage .coverage-node em,
.optical-coverage-stage .infrastructure-core em,
.optical-coverage-stage .wireless-status{
  color:#159a5b!important;
}
.optical-coverage-stage .infrastructure-core em{
  background:#18b66b!important;
  box-shadow:0 0 14px rgba(24,182,107,.34)!important;
}
.optical-coverage-stage .wireless-status .status-dot,
.optical-coverage-stage .live-pulse{
  background:#18b66b!important;
  box-shadow:0 0 0 4px rgba(24,182,107,.10),0 0 12px rgba(24,182,107,.45)!important;
}
.optical-coverage-stage .coverage-node em::before{
  content:"";
  display:inline-block;
  width:4px;height:4px;border-radius:50%;
  margin-right:3px;vertical-align:1px;
  background:#18b66b;
  box-shadow:0 0 6px rgba(24,182,107,.65);
}

/* Keep SpeedNET Core visually premium while preserving red optical infrastructure */
.optical-coverage-stage .infrastructure-core b{letter-spacing:.075em!important}
.optical-coverage-stage .infrastructure-core .junction-light{background:#ed1c24!important}

/* Extra service card stays aligned with the existing premium grid */
.services .service-grid article{min-height:100%}
.services .service-grid article:hover{transform:translateY(-7px)}

/* Final core status badge: green LIVE background with white lettering */
.optical-coverage-stage .infrastructure-core em{
  color:#fff!important;
  background:#18b66b!important;
  -webkit-text-fill-color:#fff!important;
}

/* =========================================================
   SPEEDNET 2026 CORPORATE GLASS SYSTEM + MOBILE PRESS UX
   ========================================================= */
:root{--glass-bg:rgba(255,255,255,.72);--glass-bg-strong:rgba(255,255,255,.86);--glass-line:rgba(255,255,255,.92);--glass-shadow:0 24px 70px rgba(18,28,45,.10);--red-glow:rgba(237,28,36,.18)}
body{background:linear-gradient(135deg,#fff 0%,#f7f9fc 52%,#fff 100%)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 12% 12%,rgba(237,28,36,.06),transparent 24%),radial-gradient(circle at 88% 42%,rgba(38,111,173,.055),transparent 28%)}
.header{background:rgba(255,255,255,.70)!important;border-bottom:1px solid rgba(255,255,255,.85)!important;box-shadow:0 10px 35px rgba(15,23,42,.05);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.header.scrolled{background:rgba(255,255,255,.88)!important;box-shadow:0 14px 40px rgba(15,23,42,.09)}
.topbar{background:linear-gradient(90deg,#0d1015,#171a20,#0d1015)!important}
.plan,.service-grid article,.workflow-card,.contact-box,.coverage-infra-bar,.trust-grid>div,.float a,.speednet-infra-visual,.wireless-stage{box-shadow:var(--glass-shadow);border:1px solid rgba(255,255,255,.86)}
.plan,.service-grid article,.workflow-card,.contact-box,.trust-grid>div{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(246,249,253,.60));backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
.plan:hover,.service-grid article:hover,.workflow-card:hover,.trust-grid>div:hover{transform:translateY(-5px);box-shadow:0 28px 75px rgba(18,28,45,.13);border-color:rgba(237,28,36,.18)}
.btn-red,.btn-light,.header-cta,.btn-contact-outline,.map-open,.btn-review-outline,.review-btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn-red:hover,.header-cta:hover,.map-open:hover,.review-btn:hover{box-shadow:0 14px 34px rgba(237,28,36,.20);transform:translateY(-2px)}
/* New map + Google review area */
.connect-premium{position:relative;overflow:hidden;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}
.connect-premium:before,.connect-premium:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(4px)}
.connect-premium:before{width:440px;height:440px;left:-220px;top:80px;background:radial-gradient(circle,rgba(237,28,36,.10),transparent 68%)}
.connect-premium:after{width:520px;height:520px;right:-280px;bottom:-180px;background:radial-gradient(circle,rgba(26,125,191,.08),transparent 68%)}
.connect-title{position:relative;z-index:2}.connect-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;position:relative;z-index:2}
.glass-card{background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(245,248,252,.62));border:1px solid rgba(255,255,255,.95);box-shadow:0 28px 80px rgba(20,31,48,.11),inset 0 1px 0 rgba(255,255,255,.95);border-radius:26px;padding:22px;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);overflow:hidden}
.map-card-head,.review-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.mini-kicker{display:block;font-size:10px;letter-spacing:.16em;font-weight:800;color:#758197;margin-bottom:7px}.map-card-head h3,.review-top h3{margin:0;font-family:Manrope,Inter,sans-serif;font-size:22px;line-height:1.2}.map-open{display:inline-flex;align-items:center;gap:7px;color:#fff;background:#11151b;border-radius:12px;padding:10px 13px;font-size:12px;font-weight:800;white-space:nowrap}
.map-frame-wrap{height:330px;border-radius:20px;overflow:hidden;position:relative;border:1px solid rgba(15,23,42,.08);background:#eef2f6;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.map-frame-wrap iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.9) contrast(.98)}.map-overlay{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.84);backdrop-filter:blur(14px);padding:11px 14px;border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.10);display:flex;flex-direction:column;gap:3px}.map-overlay span{font-weight:800;font-size:12px}.map-overlay span i{color:var(--red);margin-right:5px}.map-overlay small{color:#657084;font-size:10px}.address-row{display:flex;gap:12px;margin-top:15px;align-items:flex-start}.address-row>i{color:var(--red);font-size:18px;margin-top:2px}.address-row span{display:flex;flex-direction:column;gap:3px}.address-row b{font-size:13px}.address-row small{font-size:11px;line-height:1.6;color:#697586}
.google-badge{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;border:1px solid #e8ebf0;box-shadow:0 8px 22px rgba(0,0,0,.07);font-size:19px}.review-live-panel{display:flex;align-items:center;gap:14px;padding:17px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(246,249,252,.72));border:1px solid rgba(226,231,238,.9)}.stars{display:flex;gap:2px;color:#f5b400;font-size:20px;letter-spacing:1px;flex:none}.review-live-panel>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.review-live-panel strong{font-size:14px}.review-live-panel small{font-size:11px;color:#6b7585;line-height:1.5}.live-chip{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;letter-spacing:.1em;color:#12824c;background:#eaf9f1;border:1px solid #c9efd9;padding:7px 9px;border-radius:999px}.live-chip i{width:6px;height:6px;border-radius:50%;background:#16b86a;box-shadow:0 0 0 4px rgba(22,184,106,.10);animation:livePulse 1.6s infinite}.review-actions{display:flex;gap:10px;margin-top:16px}.review-actions a{flex:1;justify-content:center;text-align:center}.btn-review-outline{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce2ea;background:rgba(255,255,255,.72);border-radius:12px;padding:12px 14px;font-size:12px;font-weight:800}.review-note{display:flex;gap:9px;margin-top:14px;padding:11px 12px;border-radius:13px;background:rgba(245,248,252,.72);color:#657084;font-size:10px;line-height:1.55}.review-note i{color:#17a964;font-size:15px}.review-contact{margin-top:16px}.review-contact a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:15px;background:linear-gradient(90deg,rgba(37,211,102,.10),rgba(255,255,255,.65));border:1px solid rgba(37,211,102,.16)}.review-contact a>i:first-child{color:#20b964;font-size:22px}.review-contact span{display:flex;flex-direction:column;gap:2px;flex:1}.review-contact b{font-size:12px}.review-contact small{font-size:10px;color:#6c7787}.review-contact a>i:last-child{color:#748092}
.float{z-index:99}.float a{width:52px;height:52px;background:rgba(255,255,255,.74)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px!important}.float a.wa{background:rgba(255,255,255,.80)!important;color:#16b866!important}
/* tactile click / press feedback throughout the site */
a,button,.plan,.service-grid article,.workflow-card,.trust-grid>div,.float a,.header-cta,.map-open{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:active,button:active,.plan:active,.service-grid article:active,.workflow-card:active,.trust-grid>div:active,.float a:active,.header-cta:active,.map-open:active{transform:translateY(2px) scale(.975)!important;box-shadow:0 6px 16px rgba(18,28,45,.12)!important;filter:brightness(.985)}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 3px rgba(22,184,106,.08)}50%{box-shadow:0 0 0 7px rgba(22,184,106,.03)}}
@media (max-width:900px){.connect-grid{grid-template-columns:1fr}.map-frame-wrap{height:300px}.glass-card{border-radius:22px;padding:17px}.review-live-panel{align-items:flex-start}.stars{font-size:18px}.map-card-head,.review-top{align-items:flex-start}.header-cta{display:none}}
@media (max-width:620px){.connect-premium{padding-top:58px;padding-bottom:58px}.connect-title h2{font-size:30px}.map-card-head h3,.review-top h3{font-size:19px}.map-open{padding:9px 10px;font-size:10px}.map-frame-wrap{height:270px;border-radius:17px}.map-overlay{left:9px;right:9px;bottom:9px}.address-row small{font-size:10px}.review-live-panel{display:grid;grid-template-columns:auto 1fr;gap:10px}.live-chip{grid-column:2;justify-self:start}.review-actions{flex-direction:column}.float{right:12px!important;bottom:15px!important}.float a{width:48px;height:48px}.menu-btn{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.75);box-shadow:0 8px 24px rgba(15,23,42,.09);border:1px solid rgba(255,255,255,.95)}}

/* ===== CONNECT / MAP + GOOGLE REVIEWS SLIDER V2 ===== */
.connect-premium{padding-top:88px;padding-bottom:88px}
.connect-title{max-width:920px;margin:0 auto 34px;text-align:center}
.connect-title>div{width:100%}
.connect-title p{max-width:690px;margin:14px auto 0}
.connect-grid{display:block}
.map-glass-card,.review-glass-card{width:100%}
.map-glass-card{padding:26px}
.map-card-head{margin-bottom:18px}
.map-card-head h3{font-size:24px}
.map-frame-wrap{height:390px;border-radius:22px}
.map-overlay{left:18px;bottom:18px;min-width:235px}
.address-row{padding:13px 14px;border:1px solid rgba(224,230,238,.8);border-radius:15px;background:rgba(255,255,255,.52)}
.review-glass-card{margin-top:24px;padding:26px}
.review-top{justify-content:flex-start}
.review-top h3{font-size:25px}
.review-slider{position:relative;margin-top:18px;overflow:hidden;border-radius:20px}
.review-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 10px;scrollbar-width:none}
.review-track::-webkit-scrollbar{display:none}
.review-slide{flex:0 0 calc(33.333% - 10px);min-height:190px;scroll-snap-align:start;border:1px solid rgba(220,227,237,.95);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(245,248,252,.72));box-shadow:0 15px 35px rgba(22,31,45,.06);padding:20px;display:flex;flex-direction:column}
.review-slide-head{display:flex;align-items:center;gap:11px}
.review-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e4e8ee;font-weight:900;font-size:16px}
.review-slide-head strong{font-size:13px}.review-slide-head small{display:block;color:#7a8595;font-size:10px;margin-top:3px}
.review-stars{color:#f5b400;letter-spacing:1px;font-size:15px;margin:14px 0 8px}
.review-slide p{font-size:11px;line-height:1.65;color:#5f6b7d;margin:0}
.review-source{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8791a0;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.review-source b{color:#4285f4}
.review-slider-nav{display:flex;justify-content:center;gap:8px;margin-top:12px}
.review-slider-nav button{width:34px;height:34px;border-radius:11px;border:1px solid #dce3eb;background:rgba(255,255,255,.78);font-size:14px;cursor:pointer}
.review-live-panel{margin-top:4px}
.review-actions{max-width:620px;margin:18px auto 0}
.review-note{max-width:760px;margin:14px auto 0;justify-content:center}
.review-contact{max-width:760px;margin:16px auto 0}
.google-live-badge{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 10px;border-radius:999px;background:#ecf9f1;border:1px solid #c9efd9;color:#14834d;font-size:9px;font-weight:900;letter-spacing:.08em}
.google-live-badge i{width:6px;height:6px;border-radius:50%;background:#17bd6c;animation:livePulse 1.6s infinite}
@media(max-width:980px){.review-slide{flex-basis:calc(50% - 7px)}}
@media(max-width:620px){.connect-premium{padding-top:62px;padding-bottom:62px}.map-glass-card,.review-glass-card{padding:17px}.map-frame-wrap{height:300px}.map-card-head{flex-direction:column;align-items:flex-start}.map-open{align-self:flex-start}.review-top{align-items:flex-start}.review-top h3{font-size:20px}.google-live-badge{display:none}.review-slide{flex-basis:86%;min-height:185px}.review-actions{flex-direction:column}.review-note{justify-content:flex-start}.address-row{padding:11px}.map-overlay{min-width:0;right:10px}.review-slider-nav button{width:38px;height:38px}}

/* Final compact Google Reviews + map refinement */
.connect-premium .map-glass-card{max-width:980px;margin:0 auto;padding:20px}
.connect-premium .review-glass-card{max-width:980px;margin:18px auto 0;padding:20px}
.connect-premium .map-frame-wrap{height:245px;border-radius:18px}
.connect-premium .review-slider{margin-top:14px;position:relative}
.connect-premium .review-track{gap:12px;padding:0 0 7px}
.connect-premium .review-slide{flex:0 0 100%;min-height:128px;height:128px;border-radius:15px;padding:14px;box-shadow:0 9px 24px rgba(22,31,45,.045)}
.connect-premium .review-slide-head{gap:9px}
.connect-premium .review-avatar{width:34px;height:34px;font-size:14px}
.connect-premium .review-slide-head strong{font-size:12px}
.connect-premium .review-slide-head small{font-size:9px}
.connect-premium .review-stars{font-size:13px;margin:8px 0 5px}
.connect-premium .review-slide p{font-size:10px;line-height:1.45}
.connect-premium .review-source{padding-top:7px;font-size:8px}
.review-count-pill{position:absolute;right:12px;top:10px;z-index:3;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid #e0e6ee;color:#667286;font-size:9px;font-weight:900;letter-spacing:.06em}
.review-slider-status{text-align:center;font-size:9px;color:#8993a2;font-weight:800;margin-top:7px}
.connect-premium .review-slider-nav{margin-top:7px}
.connect-premium .review-slider-nav button{width:30px;height:30px;border-radius:9px;font-size:12px}
@media(max-width:620px){.connect-premium .map-glass-card,.connect-premium .review-glass-card{padding:14px}.connect-premium .map-frame-wrap{height:210px;border-radius:15px}.connect-premium .review-slide{height:132px;min-height:132px;padding:12px}.review-count-pill{right:8px;top:8px}.connect-premium .review-actions{margin-top:12px}}

/* SpeedNET booking CTA */
.btn-book{display:inline-flex;align-items:center;gap:9px;padding:13px 19px;border-radius:12px;background:#111827;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 28px rgba(15,23,42,.12);font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn-book:hover{background:#ef1b24;color:#fff;transform:translateY(-2px);box-shadow:0 14px 34px rgba(239,27,36,.2)}
.plan-book{display:inline-flex!important;align-items:center;justify-content:center;gap:8px!important}
.booking-cta-section{padding:18px 0 4px}
.booking-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border-radius:24px}
.booking-cta h2{margin:5px 0 7px}.booking-cta h2 span{color:#ef1b24}.booking-cta p{margin:0;max-width:720px;color:#68758a}
.booking-main-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:9px}
.is-pressed{transform:translateY(2px) scale(.985)!important;box-shadow:0 3px 10px rgba(15,23,42,.16)!important}
@media(max-width:700px){.booking-cta{padding:20px;border-radius:20px;flex-direction:column;align-items:flex-start}.booking-main-btn{width:100%;justify-content:center}.btn-book{padding:12px 16px}}

/* ===== SPEEDNET FINAL CORPORATE REFINEMENT ===== */
:root{--sn-red:#ed1c24;--sn-red-dark:#c91017;--sn-ink:#101827;--sn-muted:#667085;--sn-line:rgba(18,32,52,.10);--sn-glass:rgba(255,255,255,.72)}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fb 52%,#fff 100%);color:var(--sn-ink);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 8% 8%,rgba(237,28,36,.055),transparent 24%),radial-gradient(circle at 92% 30%,rgba(38,128,255,.045),transparent 22%)}
.header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(255,255,255,.84)!important;border-bottom:1px solid rgba(18,32,52,.07)!important;box-shadow:0 10px 35px rgba(18,32,52,.05)}
.header.scrolled{background:rgba(255,255,255,.92)!important;box-shadow:0 12px 40px rgba(18,32,52,.08)}
.logo img{filter:drop-shadow(0 4px 10px rgba(18,32,52,.08))}
.btn-red,.btn-book,.plan-book,.header-cta,.review-btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn-red:hover,.btn-book:hover,.plan-book:hover,.header-cta:hover,.review-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(237,28,36,.20)}
.btn-red:active,.btn-book:active,.plan-book:active,.header-cta:active,.review-btn:active,.btn-light:active,.btn-contact-outline:active,.btn-review-outline:active,.menu-btn:active{transform:translateY(2px) scale(.985)!important;box-shadow:0 4px 12px rgba(18,32,52,.12)!important}
.plan,.service-grid article,.workflow-card,.trust-grid>div,.glass-card,.contact-box{background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(248,250,253,.68));border:1px solid rgba(255,255,255,.92);box-shadow:0 18px 55px rgba(18,32,52,.075),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.plan:hover,.service-grid article:hover,.workflow-card:hover,.trust-grid>div:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(18,32,52,.11),inset 0 1px 0 rgba(255,255,255,.96)}
.plan,.service-grid article,.workflow-card,.trust-grid>div{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.trust{background:transparent!important;border:0!important}
.trust-grid{gap:14px!important}.trust-grid>div{border-radius:18px!important;padding:18px 16px!important}
.trust-grid>div b{font-family:Manrope,sans-serif}
.booking-cta{border-radius:26px!important;overflow:hidden;position:relative}.booking-cta:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-100px;top:-130px;background:rgba(237,28,36,.08);filter:blur(4px);pointer-events:none}
.connect-grid{align-items:start!important}.map-glass-card,.review-glass-card{border-radius:24px!important;overflow:hidden!important}.map-frame-wrap{height:270px!important;border-radius:18px!important}.map-frame-wrap iframe{min-height:270px!important}.map-overlay{bottom:12px!important;left:12px!important;right:12px!important;border-radius:13px!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(255,255,255,.82)!important}
.review-track{scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}.review-slide{scroll-snap-align:start!important}.review-live-panel{border-radius:16px!important}.review-actions a{min-height:50px}
.float a{transition:transform .2s ease,box-shadow .2s ease}.float a:hover{transform:translateY(-3px) scale(1.04)}.float a:active{transform:scale(.91)!important}
.menu-btn{transition:transform .16s ease,box-shadow .16s ease}.menu-btn:active{transform:scale(.9)}
@media(max-width:900px){.header{position:sticky!important;top:0;z-index:1000}.nav{min-height:68px}.header-cta{display:none}.hero{padding-top:42px}.hero-actions{gap:10px}.hero-actions>a{width:100%;justify-content:center}.trust-grid{grid-template-columns:repeat(2,1fr)!important}.plan,.service-grid article,.workflow-card,.trust-grid>div{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.map-frame-wrap{height:225px!important}.map-frame-wrap iframe{min-height:225px!important}.map-card-head{gap:12px!important}.review-actions{grid-template-columns:1fr!important}.connect-grid{gap:18px!important}.booking-cta{padding:24px!important}.booking-cta .btn-red{width:100%;justify-content:center}.float a{width:48px!important;height:48px!important}}
@media(max-width:560px){.topbar .locations{display:none}.topbar-in{justify-content:center!important}.hero h1{font-size:clamp(38px,11vw,54px)!important}.section{padding-top:68px!important;padding-bottom:68px!important}.section-title h2{font-size:30px!important}.trust-grid{grid-template-columns:1fr 1fr!important}.trust-grid>div{min-height:105px}.plan{padding:22px!important}.map-frame-wrap{height:205px!important}.map-frame-wrap iframe{min-height:205px!important}.address-row{font-size:13px}.review-top h3{font-size:22px!important}.review-live-panel{grid-template-columns:1fr!important;gap:8px!important}.review-slide{min-height:190px!important}.review-slider-nav{margin-top:12px}.review-slider-status{margin-top:8px}.booking-cta h2{font-size:28px!important}.footer-grid{gap:26px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Final service restoration: CCTV / surveillance */
.speednet-infra-visual .node-f{
  display:grid!important;
  left:2.5%;
  right:auto;
  bottom:12%;
  top:auto;
}
@media(max-width:760px){
  .speednet-infra-visual .node-f{
    display:grid!important;
    left:2%;
    right:auto;
    bottom:12%;
    top:auto;
  }
}


/* =========================================================
   SPEEDNET PLANS — REFINED HEADER ALIGNMENT
   ========================================================= */
#plans .section-title{
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr);
  align-items:center;
  gap:48px;
  margin-bottom:38px;
}
#plans .section-title > div{min-width:0}
#plans .section-title h2{
  font-size:clamp(44px,4.2vw,56px);
  line-height:.98;
  max-width:720px;
}
#plans .section-title > p{
  align-self:center;
  max-width:430px;
  margin:10px 0 0 auto;
  font-size:13px;
  line-height:1.75;
  color:#687381;
  padding-left:8px;
  position:relative;
}
#plans .section-title > p:before{
  content:"";
  position:absolute;
  left:0;
  top:.45em;
  width:2px;
  height:2.7em;
  border-radius:99px;
  background:linear-gradient(#ed1c24,rgba(237,28,36,.12));
}
#plans .plans-grid{margin-top:0}
@media(max-width:1050px){
  #plans .section-title{grid-template-columns:1fr .72fr;gap:28px}
  #plans .section-title > p{max-width:360px}
}
@media(max-width:760px){
  #plans .section-title{grid-template-columns:1fr;gap:14px;margin-bottom:30px}
  #plans .section-title h2{font-size:clamp(36px,10vw,46px)}
  #plans .section-title > p{max-width:100%;margin:0;padding-left:12px;font-size:12.5px}
}

/* ===== SpeedNET enquiry form + map — compact premium contact layout ===== */
.contact-form-section{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);position:relative;overflow:hidden}
.contact-form-section:before{content:"";position:absolute;width:560px;height:560px;right:-250px;top:-260px;border-radius:50%;border:1px solid rgba(237,28,36,.11);box-shadow:0 0 0 45px rgba(237,28,36,.022),0 0 0 95px rgba(237,28,36,.014);animation:contactOrbit 14s linear infinite;pointer-events:none}
.contact-form-section:after{content:"";position:absolute;left:-170px;bottom:-240px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.045),transparent 68%);pointer-events:none}
.contact-layout{position:relative;z-index:2;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px;align-items:stretch}
.contact-map-card,.contact-form-card{border:1px solid #e1e6ed;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 20px 55px rgba(18,32,52,.08),inset 0 1px 0 #fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.contact-map-card{padding:26px;display:flex;flex-direction:column;min-height:100%}
.contact-map-head{margin-bottom:17px}.contact-map-head .kicker{color:var(--red);font-size:10px;font-weight:900;letter-spacing:.22em;margin-bottom:8px}.contact-map-head h3{font-family:Manrope,Inter,sans-serif;color:#17385e;font-size:28px;line-height:1.1;letter-spacing:-.035em;margin:0 0 8px;font-weight:850}.contact-map-head h3 span{color:#176eb2}.contact-map-head p{margin:0;color:#7a8797;font-size:12px;line-height:1.65}
.contact-map-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid #dce4ed;background:#eef3f7;height:330px;min-height:330px;flex:none;flex:0 0 330px}.contact-map-wrap iframe{width:100%;height:100%;min-height:0;border:0;display:block;filter:saturate(.9)}
.contact-map-info{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:14px;color:#68788c;font-size:10px;font-weight:700}.contact-map-info span{display:inline-flex;align-items:center;gap:6px}.contact-map-info i{color:var(--red);font-size:12px}.map-open-link{display:inline-flex;align-items:center;gap:7px;margin-top:13px;width:max-content;color:var(--red);font-size:10px;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(237,28,36,.2);padding-bottom:3px;transition:.25s}.map-open-link:hover{color:#111318;border-color:#111318;transform:translateX(2px)}
.contact-form-card{padding:30px 30px 28px}.contact-form-head{margin-bottom:20px}.contact-form-head .kicker{color:var(--red);font-size:10px;font-weight:900;letter-spacing:.22em;margin-bottom:8px}.contact-form-head h2{font-family:Manrope,Inter,sans-serif;color:#111318;font-size:34px;line-height:1.08;letter-spacing:-.045em;margin:0 0 8px;font-weight:850}.contact-form-head h2 span{color:var(--red)}.contact-form-head p{margin:0;color:#66707d;font-size:12px;line-height:1.6}
.speednet-contact-form{display:grid;gap:13px}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field{min-width:0}.form-field label{display:block;color:#45536a;font-size:10px;font-weight:800;margin:0 0 6px;letter-spacing:.01em}.input-wrap{position:relative}.input-wrap>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#9aacbf;font-size:14px;pointer-events:none;z-index:1}.input-wrap input,.input-wrap select,.input-wrap textarea{width:100%;border:1px solid #dce4ed;border-radius:8px;background:#fbfcfe;color:#304c70;font:inherit;font-size:11px;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}.input-wrap input,.input-wrap select{height:48px;padding:0 13px 0 37px}.input-wrap select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer}.select-wrap:after{content:"\f282";font-family:"bootstrap-icons";position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:#9aacbf;pointer-events:none}.input-wrap textarea{min-height:105px;padding:12px 13px 12px 37px;resize:vertical;line-height:1.5}.textarea-wrap>i{top:17px;transform:none}.input-wrap input::placeholder,.input-wrap textarea::placeholder{color:#a5b1bf}.input-wrap input:focus,.input-wrap select:focus,.input-wrap textarea:focus{border-color:#9fc4e2;background:#fff;box-shadow:0 0 0 4px rgba(23,110,178,.08)}.input-wrap input:invalid:not(:placeholder-shown),.input-wrap select:invalid:not(:focus),.input-wrap textarea:invalid:not(:placeholder-shown){border-color:#e3b4b7}
.form-submit-row{display:flex;align-items:center;gap:13px;margin-top:1px}.contact-submit{border:0;cursor:pointer;padding:12px 19px;display:inline-flex;align-items:center;gap:8px;font-size:12px}.contact-submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(237,28,36,.22)}.form-note{display:flex;align-items:center;gap:6px;color:#8995a4;font-size:9px;line-height:1.4}.form-note i{color:#16a566;font-size:13px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-map-card{min-height:0}.contact-map-wrap{height:300px;min-height:300px;flex:0 0 300px}.contact-map-wrap iframe{height:100%;min-height:0}.contact-form-card{padding:28px 24px}}
@media(max-width:760px){.contact-layout{gap:16px}.contact-map-card{padding:22px 18px;border-radius:16px}.contact-map-head h3{font-size:26px}.contact-map-wrap{height:250px;min-height:250px;flex:0 0 250px}.contact-map-wrap iframe{height:100%;min-height:0}.contact-form-card{padding:26px 18px;border-radius:16px}.contact-form-head h2{font-size:31px}.form-row-two{grid-template-columns:1fr;gap:13px}.form-submit-row{align-items:flex-start;flex-direction:column}.contact-submit{width:100%;justify-content:center}.form-note{font-size:9px}.input-wrap input,.input-wrap select{height:50px}}

/* ===== Final SpeedNET polish ===== */
.topbar{display:none!important}
.header{top:0!important}
.logo img{width:205px!important;max-height:68px;object-fit:contain;image-rendering:auto}
.header.scrolled .logo img{width:185px!important}

/* Contact map: branded location + directions */
.contact-map-wrap{position:relative!important}
.map-location-badge{position:absolute;left:14px;top:14px;z-index:5;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(16,19,25,.16);backdrop-filter:blur(12px)}
.map-location-badge strong{display:block;color:#111318;font-size:12px;line-height:1.15}.map-location-badge small{display:block;color:#737e8d;font-size:9px;margin-top:3px}.map-pin-dot{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#fff1f2;color:var(--red);font-size:14px;border:1px solid #ffd2d5}
.map-direction-btn{position:absolute;right:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:10px;background:#111318;color:#fff!important;font-size:10px;font-weight:800;box-shadow:0 12px 28px rgba(16,19,25,.22);transition:.25s}.map-direction-btn:hover{background:var(--red);transform:translateY(-2px);box-shadow:0 14px 30px rgba(237,28,36,.25)}

/* Plan CTA */
.plan-get-started{position:relative!important;display:flex!important;align-items:center;justify-content:center;gap:8px;border-radius:10px!important;padding:13px 15px!important;background:#111318!important;color:#fff!important;box-shadow:0 10px 24px rgba(16,19,25,.10)!important;transition:.25s!important}.plan-get-started i{color:#fff}.plan-get-started:hover{background:var(--red)!important;transform:translateY(-3px)!important;box-shadow:0 14px 28px rgba(237,28,36,.22)!important}

/* Contact heading: strict red + black */
.contact-form-head h2{color:#111318!important}.contact-form-head h2 span{color:var(--red)!important}

/* Premium footer */
.speednet-footer{position:relative;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);color:#16191f;border-top:1px solid #e5e9ee;padding:62px 0 0;overflow:hidden}.speednet-footer:before{content:"";position:absolute;right:-180px;top:-260px;width:560px;height:560px;border-radius:50%;border:1px solid rgba(237,28,36,.10);box-shadow:0 0 0 45px rgba(237,28,36,.018),0 0 0 95px rgba(237,28,36,.012);pointer-events:none}.speednet-footer .footer-accent{position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,transparent 0%,var(--red) 18%,#111318 50%,var(--red) 82%,transparent 100%);opacity:.9}.speednet-footer .footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.55fr 1fr 1fr 1.25fr;gap:46px;padding-bottom:48px}.footer-logo-wrap{display:inline-flex;padding:9px 13px;border:1px solid #e0e5eb;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(16,19,25,.06);margin-bottom:16px}.speednet-footer .footer-logo{width:205px;height:auto;background:transparent;border:0;box-shadow:none;padding:0;margin:0;display:block}.speednet-footer .footer-brand p{color:#697586;font-size:12px;line-height:1.75;max-width:330px;margin:0 0 18px}.speednet-footer h4{color:#111318;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:6px 0 18px;font-weight:900}.speednet-footer .footer-grid>div:not(.footer-brand) a{display:flex;align-items:center;gap:7px;color:#687381;font-size:11.5px;margin:11px 0;transition:.25s}.speednet-footer .footer-grid>div:not(.footer-brand) a i{font-size:8px;color:#a2aab5;transition:.25s}.speednet-footer .footer-grid>div:not(.footer-brand) a:hover{color:var(--red);transform:translateX(3px)}.speednet-footer .footer-grid>div:not(.footer-brand) a:hover i{color:var(--red)}.footer-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #e1e6ec;border-radius:11px;background:#fff}.footer-badge>i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff1f2;color:var(--red);font-size:14px}.footer-badge b{display:block;font-size:10px;color:#20242b}.footer-badge small{display:block;font-size:8px;color:#8993a1;margin-top:3px}.speednet-footer .footer-contact a{display:flex!important;align-items:center!important;gap:10px!important;margin:10px 0!important;padding:9px 10px;border:1px solid #e3e7ec;border-radius:10px;background:rgba(255,255,255,.72)}.speednet-footer .footer-contact a>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#fff1f2;color:var(--red);font-size:11px}.speednet-footer .footer-contact a span{display:flex;flex-direction:column;gap:2px;color:#22262d}.speednet-footer .footer-contact a small{font-size:8px;color:#929ba8;text-transform:uppercase;letter-spacing:.08em}.speednet-footer .footer-contact a:hover{border-color:#f0b8bc;transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(16,19,25,.06)}.speednet-footer .copyright{position:relative;z-index:1;border-top:1px solid #e5e9ee;padding:18px 0;color:#8993a0;font-size:10px;display:flex;justify-content:space-between;gap:20px}.speednet-footer .copyright span:last-child{color:#7d8795}

@media(max-width:900px){.speednet-footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.speednet-footer .footer-brand{grid-column:1/-1}.speednet-footer .copyright{flex-direction:column;gap:5px}}
@media(max-width:760px){.logo img{width:154px!important}.header.scrolled .logo img{width:142px!important}.map-location-badge{left:10px;top:10px}.map-direction-btn{right:10px;bottom:10px}.speednet-footer{padding-top:48px}.speednet-footer .footer-grid{grid-template-columns:1fr}.speednet-footer .footer-brand{grid-column:auto}.speednet-footer .copyright{font-size:9px}.speednet-footer .footer-logo{width:180px}}

/* Floating contact buttons - visibility fix */
.float{position:fixed!important;right:22px!important;bottom:24px!important;display:flex!important;flex-direction:column!important;gap:10px!important;z-index:2147483000!important;visibility:visible!important;opacity:1!important}
.float a{position:relative!important;display:grid!important;place-items:center!important;width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border-radius:16px!important;background:#fff!important;color:#ed1c24!important;border:1px solid #dfe5eb!important;box-shadow:0 12px 30px rgba(16,19,25,.14)!important;visibility:visible!important;opacity:1!important;text-decoration:none!important;overflow:visible!important}
.float a i{display:block!important;font-size:20px!important;line-height:1!important;color:#ed1c24!important;visibility:visible!important;opacity:1!important}
.float a.wa{background:#fff!important;color:#16b866!important;border-color:#16b866!important}
.float a.wa i{color:#16b866!important}
.float a:not(.wa):hover{background:#fff7f7!important;border-color:#ed1c24!important}
.float a.wa:hover{background:#f3fff8!important}
@media(max-width:560px){.float{right:12px!important;bottom:18px!important;gap:9px!important}.float a{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:15px!important}.float a i{font-size:19px!important}}

/* SpeedNET logo sizing refinement */
.header .logo img{width:230px!important;height:auto!important;max-height:76px;object-fit:contain}
.header.scrolled .logo img{width:205px!important;max-height:70px}
.speednet-footer .footer-logo-wrap{display:inline-flex;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:12px}
.speednet-footer .footer-logo{width:145px!important;height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;display:block}
@media(max-width:1050px){.header .logo img{width:210px!important}.header.scrolled .logo img{width:190px!important}}
@media(max-width:760px){.header .logo img{width:175px!important;max-height:62px}.header.scrolled .logo img{width:160px!important;max-height:58px}.speednet-footer .footer-logo{width:135px!important}.speednet-footer .footer-logo-wrap{margin-bottom:10px}}

/* ===== SpeedNET Management Team ===== */
.management-team-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff8f8 100%)}
.management-team-section:before{content:"";position:absolute;inset:auto -12% 5% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.09),transparent 66%);pointer-events:none}
.management-team-head{position:relative;z-index:1;align-items:end}
.management-team-head h2{margin-bottom:0}
.management-team-head h2 span{color:#ed1c24}
.management-team-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}
.management-card{position:relative;min-height:390px;padding:30px 28px 26px;border:1px solid #e1e7ef;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 16px 45px rgba(15,23,42,.07);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.management-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#ed1c24,#ff5960,transparent);transform:scaleX(.35);transform-origin:left;transition:transform .35s ease}
.management-card:after{content:"";position:absolute;right:-70px;top:-80px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.10),transparent 68%);transition:transform .5s ease}
.management-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(15,23,42,.12);border-color:rgba(237,28,36,.28)}
.management-card:hover:before{transform:scaleX(1)}
.management-card:hover:after{transform:scale(1.35)}
.management-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;position:relative;z-index:2}
.team-number{font-size:12px;font-weight:800;letter-spacing:.14em;color:#8a96a8}
.team-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#fff2f2;border:1px solid #ffd5d7;color:#ed1c24;font-size:24px;box-shadow:0 8px 20px rgba(237,28,36,.08)}
.team-role{font-size:11px;font-weight:800;letter-spacing:.13em;color:#ed1c24;margin-bottom:9px;position:relative;z-index:2}
.management-card h3{font-size:25px;line-height:1.15;margin:0 0 13px;color:#111827;position:relative;z-index:2}
.management-card p{font-size:14px;line-height:1.8;color:#64748b;margin:0;position:relative;z-index:2}
.team-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;position:relative;z-index:2}
.team-tags span{font-size:11px;font-weight:700;color:#334155;background:#f8fafc;border:1px solid #e5eaf0;border-radius:999px;padding:7px 10px}
.team-line{position:absolute;left:28px;right:28px;bottom:25px;height:1px;background:#edf0f4}
.team-line span{display:block;width:46px;height:2px;background:#ed1c24;box-shadow:0 0 10px rgba(237,28,36,.35)}
.management-team-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:16px 20px;border:1px solid #e6eaf0;border-radius:14px;background:rgba(255,255,255,.75);color:#697586}
.management-team-footer span{font-size:11px;font-weight:800;letter-spacing:.11em;color:#1f2937}.management-team-footer span i{color:#ed1c24;margin-right:8px}
.management-team-footer small{font-size:10px;font-weight:700;letter-spacing:.08em;color:#98a2b3}
@media (max-width:900px){.management-team-grid{grid-template-columns:1fr 1fr}.management-card{min-height:360px}.management-team-footer{flex-direction:column;align-items:flex-start}}
@media (max-width:620px){.management-team-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.management-card{min-height:auto;padding:25px 22px 25px}.team-line{left:22px;right:22px}.management-team-footer small{line-height:1.7}.management-card h3{font-size:23px}}


/* SpeedNET local-trust messaging */
.speednet-local-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:14px;
  color:#5f6b7a;
  font-size:13px;
  line-height:1.5;
}
.speednet-local-trust span{display:inline-flex;align-items:center;}
.speednet-local-trust span::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#ed1c24;
  margin-right:7px;
  flex:0 0 auto;
}
.speednet-local-trust strong{color:#171717;margin-right:3px;}
@media (max-width:767px){
  .speednet-local-trust{display:grid;grid-template-columns:1fr;gap:7px;}
}

/* Final Why Choose SpeedNET + Visit SpeedNET styling */
.visit-kicker{color:#ed1c24!important;}
.visit-speednet-title{color:#171717!important;}
.visit-speednet-title span{color:#ed1c24!important;}
.why-choose-speednet{background:#fff;}
.why-title h2{color:#171717;}
.why-title h2 span{color:#ed1c24;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;}
.why-card{padding:28px;border:1px solid rgba(20,20,20,.08);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.06);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.why-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(0,0,0,.11);border-color:rgba(237,28,36,.28);}
.why-card i{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:12px;background:#ed1c24;color:#fff;font-size:22px;margin-bottom:17px;}
.why-card h3{color:#171717;font-size:19px;margin:0 0 9px;}
.why-card p{color:#667085;margin:0;line-height:1.7;}
.why-tagline{margin:30px auto 0;max-width:900px;text-align:center;font-weight:700;color:#171717;font-size:18px;}
.why-tagline::first-letter{color:#ed1c24;}
@media(max-width:991px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}.why-card{padding:23px;}.why-tagline{font-size:16px;}}

/* Why Choose SpeedNET — compact premium cards */
.why-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border:0;
  box-shadow:none;
  background:transparent;
  overflow:visible;
  margin-top:28px;
}
.why-card{
  min-height:0;
  padding:20px 21px 19px;
  border:1px solid #e4e8ed;
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(16,19,25,.055);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;
  position:relative;
  overflow:hidden;
}
.why-card::after{
  content:"";
  position:absolute;
  width:110px;height:110px;
  right:-65px;bottom:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(237,28,36,.09),transparent 68%);
  transition:transform .45s ease;
  pointer-events:none;
}
.why-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(16,19,25,.10);
  border-color:rgba(237,28,36,.25);
}
.why-card:hover::after{transform:scale(1.35)}
.why-card i{
  width:42px;height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#ed1c24;
  color:#fff;
  font-size:18px;
  margin:0 0 14px;
  box-shadow:0 7px 16px rgba(237,28,36,.16);
  position:relative;
  animation:speednetIconFloat 3.8s ease-in-out infinite;
}
.why-card i::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(237,28,36,.18);
  border-radius:13px;
  animation:speednetIconPulse 2.8s ease-out infinite;
  pointer-events:none;
}
.why-card:nth-child(2) i{animation-delay:.25s}
.why-card:nth-child(3) i{animation-delay:.5s}
.why-card:nth-child(4) i{animation-delay:.75s}
.why-card:nth-child(5) i{animation-delay:1s}
.why-card:nth-child(6) i{animation-delay:1.25s}
.why-card:hover i{transform:translateY(-2px) rotate(-4deg);animation-play-state:paused}
.why-card h3{font-size:16px;line-height:1.35;margin:0 0 7px;color:#111318;font-weight:800}
.why-card p{font-size:13px;line-height:1.6;margin:0;color:#667085;max-width:none}
.why-card:nth-child(5){border-color:rgba(237,28,36,.24)}
@keyframes speednetIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes speednetIconPulse{0%{transform:scale(.9);opacity:.65}70%,100%{transform:scale(1.18);opacity:0}}
@media(max-width:991px){
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:600px){
  .why-grid{grid-template-columns:1fr;gap:12px;margin-top:22px}
  .why-card{padding:18px 18px 17px}
  .why-card i{width:40px;height:40px;font-size:17px;margin-bottom:12px}
  .why-card h3{font-size:15px}
  .why-card p{font-size:12.5px;line-height:1.55}
}
@media(prefers-reduced-motion:reduce){
  .why-card,.why-card i,.why-card i::after{animation:none!important;transition:none!important}
}

/* Why Choose SpeedNET — extra compact + creative icon glow */
.why-grid{
  gap:12px;
  margin-top:22px;
}
.why-card{
  padding:15px 16px 14px;
  border-radius:13px;
  min-height:132px;
  box-shadow:0 6px 18px rgba(16,19,25,.045);
}
.why-card:hover{
  transform:translateY(-4px);
  box-shadow:0 13px 28px rgba(16,19,25,.09),0 0 24px rgba(237,28,36,.08);
}
.why-card i{
  width:34px;
  height:34px;
  border-radius:9px;
  font-size:15px;
  margin:0 0 10px;
  background:linear-gradient(145deg,#ff2832 0%,#ed1c24 55%,#c80f18 100%);
  box-shadow:0 5px 12px rgba(237,28,36,.20),0 0 0 1px rgba(255,255,255,.5) inset,0 0 14px rgba(237,28,36,.14);
  animation:speednetIconFloat 3.8s ease-in-out infinite, speednetIconGlow 2.4s ease-in-out infinite;
}
.why-card i::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:7px;
  background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 42%,rgba(255,255,255,.06));
  pointer-events:none;
}
.why-card i::after{
  inset:-5px;
  border:1px solid rgba(237,28,36,.22);
  border-radius:12px;
  box-shadow:0 0 10px rgba(237,28,36,.16);
  animation:speednetIconPulse 2.6s ease-out infinite;
}
.why-card h3{
  font-size:14.5px;
  line-height:1.3;
  margin:0 0 5px;
  letter-spacing:-.1px;
}
.why-card p{
  font-size:12px;
  line-height:1.5;
  color:#667085;
}
@keyframes speednetIconGlow{
  0%,100%{box-shadow:0 5px 12px rgba(237,28,36,.20),0 0 0 1px rgba(255,255,255,.5) inset,0 0 10px rgba(237,28,36,.10)}
  50%{box-shadow:0 6px 15px rgba(237,28,36,.28),0 0 0 1px rgba(255,255,255,.55) inset,0 0 22px rgba(237,28,36,.24)}
}
.why-card:hover i{
  transform:translateY(-2px) scale(1.04) rotate(-3deg);
  filter:saturate(1.08);
  animation-play-state:paused;
}
.why-card:nth-child(2) i{animation-delay:.25s,.35s}
.why-card:nth-child(3) i{animation-delay:.5s,.7s}
.why-card:nth-child(4) i{animation-delay:.75s,1.05s}
.why-card:nth-child(5) i{animation-delay:1s,1.4s}
.why-card:nth-child(6) i{animation-delay:1.25s,1.75s}
@media(max-width:991px){
  .why-grid{gap:11px}
  .why-card{min-height:128px;padding:14px 15px 13px}
}
@media(max-width:600px){
  .why-grid{gap:10px;margin-top:20px}
  .why-card{min-height:0;padding:15px 15px 14px}
  .why-card i{width:34px;height:34px;font-size:14px;margin-bottom:9px}
  .why-card h3{font-size:14px}
  .why-card p{font-size:12px;line-height:1.48}
}
@media(prefers-reduced-motion:reduce){
  .why-card i{animation:none!important}
}


/* =========================================================
   SpeedNET Local Expertise — transparent layered icon effect
   The card/icon rectangle is transparent; the Bootstrap icon remains visible.
   ========================================================= */
.why-card i{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  isolation:isolate;
  overflow:visible;
  border-radius:12px;
  background:transparent !important;
  color:#ed1c24 !important;
  font-size:17px;
  margin:0 0 11px;
  box-shadow:none !important;
  animation:speednetIconFloat 3.8s ease-in-out infinite;
  z-index:2;
}
/* Keep Bootstrap Icons glyph above the decorative layers. */
.why-card i.bi::before{
  position:relative;
  z-index:3;
  display:inline-block;
  color:#ed1c24 !important;
  text-shadow:0 0 7px rgba(237,28,36,.22);
}
/* Decorative inner diamond — separate element so it cannot hide .bi::before */
.why-card .why-icon-layer{
  position:absolute;
  width:27px;
  height:27px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1.5px solid rgba(237,28,36,.34);
  border-radius:9px;
  background:transparent;
  box-shadow:0 0 12px rgba(237,28,36,.12);
  z-index:0;
  pointer-events:none;
  animation:speednetIconDiamondA 5.5s ease-in-out infinite;
}
/* Outer floating diamond ring */
.why-card i::after{
  content:"";
  position:absolute;
  width:43px;
  height:43px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1px solid rgba(237,28,36,.22);
  border-radius:11px;
  background:transparent;
  box-shadow:0 0 18px rgba(237,28,36,.10);
  z-index:0;
  pointer-events:none;
  animation:speednetIconDiamondB 6.5s ease-in-out infinite;
}
.why-card:hover i{
  color:#e71922 !important;
  filter:drop-shadow(0 0 7px rgba(237,28,36,.28));
  transform:translateY(-2px) scale(1.04);
  animation-play-state:paused;
}
.why-card:hover i.bi::before{color:#e71922 !important;}
.why-card:hover .why-icon-layer{border-color:rgba(237,28,36,.52);}
.why-card:hover i::after{border-color:rgba(237,28,36,.36);}

@keyframes speednetIconDiamondA{
  0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.94);opacity:.72;}
  50%{transform:translate(-50%,-50%) rotate(52deg) scale(1.04);opacity:1;}
}
@keyframes speednetIconDiamondB{
  0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.92);opacity:.58;}
  50%{transform:translate(-50%,-50%) rotate(38deg) scale(1.07);opacity:.92;}
}
@media(max-width:600px){
  .why-card i{width:35px;height:35px;font-size:15px;margin-bottom:9px;}
  .why-card .why-icon-layer{width:25px;height:25px;}
  .why-card i::after{width:40px;height:40px;}
}
@media(prefers-reduced-motion:reduce){
  .why-card i,.why-card .why-icon-layer,.why-card i::after{animation:none!important;}
}

/* FINAL FIX — Why Choose SpeedNET icons: keep Bootstrap icon glyph visible */
.why-card i{
  position:relative !important;
  width:44px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 10px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#ed1c24 !important;
  font-size:21px !important;
  line-height:1 !important;
  box-shadow:none !important;
  isolation:isolate;
  animation:speednetIconFloat 3.8s ease-in-out infinite !important;
}

/* Do NOT use i::before here — Bootstrap Icons uses ::before for the actual glyph. */
.why-card i::before{
  position:relative !important;
  inset:auto !important;
  /* Keep Bootstrap Icons' own content declaration intact. */
  z-index:3 !important;
  color:#ed1c24 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  pointer-events:none !important;
}

/* Decorative transparent diamond layers */
.why-card .why-icon-layer{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:30px !important;
  height:30px !important;
  transform:translate(-50%,-50%) rotate(45deg) !important;
  border:1px solid rgba(237,28,36,.24) !important;
  border-radius:7px !important;
  background:transparent !important;
  box-shadow:0 0 12px rgba(237,28,36,.10) !important;
  z-index:1 !important;
  pointer-events:none !important;
  animation:speednetDiamondFloat 3.4s ease-in-out infinite;
}
.why-card .why-icon-layer::before,
.why-card .why-icon-layer::after{
  content:"";
  position:absolute;
  inset:-6px;
  border:1px solid rgba(237,28,36,.13);
  border-radius:9px;
  background:transparent;
}
.why-card .why-icon-layer::after{
  inset:-11px;
  opacity:.7;
  border-color:rgba(237,28,36,.08);
}

/* Remove the old glow pseudo-element that could cover the glyph */
.why-card i::after{
  content:none !important;
  display:none !important;
}

@keyframes speednetDiamondFloat{
  0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:.82}
  50%{transform:translate(-50%,-53%) rotate(52deg) scale(1.05);opacity:1}
}

.why-card:hover i{
  color:#ed1c24 !important;
  filter:drop-shadow(0 0 8px rgba(237,28,36,.28));
  transform:translateY(-2px) !important;
}
.why-card:hover .why-icon-layer{
  border-color:rgba(237,28,36,.42) !important;
  box-shadow:0 0 18px rgba(237,28,36,.18) !important;
}

@media(max-width:600px){
  .why-card i{width:40px !important;height:40px !important;font-size:19px !important;}
  .why-card .why-icon-layer{width:28px !important;height:28px !important;}
}

/* =========================================================
   FINAL ICON GLYPH RESTORE — Why Choose SpeedNET
   Explicit glyph mapping prevents earlier decorative ::before
   rules from hiding the Bootstrap Icons.
   ========================================================= */
.why-card i.bi::before{
  font-family:"bootstrap-icons" !important;
  font-style:normal !important;
  font-weight:normal !important;
  line-height:1 !important;
  display:inline-block !important;
  color:#ed1c24 !important;
  position:relative !important;
  z-index:4 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:0 0 7px rgba(237,28,36,.22);
}
.why-card i.bi-geo-alt-fill::before{content:"\f3e7" !important;}
.why-card i.bi-lightning-charge-fill::before{content:"\f46c" !important;}
.why-card i.bi-headset::before{content:"\f42e" !important;}
.why-card i.bi-person-heart::before{content:"\f8e0" !important;}
.why-card i.bi-diagram-3-fill::before{content:"\f2de" !important;}
.why-card i.bi-tools::before{content:"\f5db" !important;}

/* Global logo transparency + focus cleanup */
.logo,
.logo:focus,
.logo:focus-visible,
.logo:active {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent !important;
}

.logo img,
.footer-logo,
.footer-logo-wrap,
.speednet-footer .footer-logo,
.speednet-footer .footer-logo-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.logo img {
  display: block;
  outline: none !important;
}

.footer-logo {
  padding: 0 !important;
  border-radius: 0 !important;
}

.footer-logo:focus,
.footer-logo:focus-visible {
  outline: none !important;
}


/* =========================================================
   SPEEDNET CORPORATE VISUAL SYSTEM — 2026
   Shared premium layer. Keeps existing markup/content intact.
   ========================================================= */
:root{
  --sn-red:#ed1c24;--sn-red2:#ff3941;--sn-ink:#0c1118;--sn-navy:#121a24;
  --sn-muted:#687483;--sn-line:#e5e9ef;--sn-surface:#f7f9fb;
  --sn-shadow:0 24px 70px rgba(12,17,24,.10);
}
html{scroll-padding-top:92px}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.18;
background-image:radial-gradient(rgba(12,17,24,.11) .6px,transparent .6px);background-size:6px 6px;mix-blend-mode:multiply}
::selection{background:rgba(237,28,36,.16);color:#111}
a,button{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease,background .25s ease}
.header{box-shadow:0 1px 0 rgba(12,17,24,.04)}
.header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#ed1c24 35%,#ed1c24 65%,transparent);opacity:.35}
.logo{position:relative;isolation:isolate}
.logo:before{content:"";position:absolute;inset:8px -10px;background:radial-gradient(ellipse,rgba(237,28,36,.10),transparent 68%);z-index:-1;filter:blur(7px);pointer-events:none}
.logo img{background:transparent!important;mix-blend-mode:multiply}
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;width:620px;height:620px;right:-210px;top:-190px;border-radius:50%;
background:radial-gradient(circle,rgba(237,28,36,.075),rgba(237,28,36,.018) 43%,transparent 70%);
animation:snFloat 9s ease-in-out infinite;pointer-events:none}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(237,28,36,.3),transparent)}
@keyframes snFloat{50%{transform:translate3d(-22px,24px,0) scale(1.04)}}
.eyebrow span{box-shadow:0 0 14px rgba(237,28,36,.35)}
.hero h1{letter-spacing:-.055em}
.hero h1 em{background:linear-gradient(110deg,#ed1c24,#ff5960,#ed1c24);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:snGradient 5s ease infinite}
@keyframes snGradient{50%{background-position:100% 50%}}
.btn-red,.header-cta{box-shadow:0 12px 30px rgba(237,28,36,.18)}
.btn-red:hover,.header-cta:hover{box-shadow:0 18px 42px rgba(237,28,36,.27)}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(12,17,24,.08)}
section:not(.hero){position:relative}
section:not(.hero):before{content:"";position:absolute;left:50%;top:0;width:min(92%,1100px);height:1px;transform:translateX(-50%);
background:linear-gradient(90deg,transparent,rgba(12,17,24,.07),transparent);pointer-events:none}
.service-grid article,.plan,.trust-grid>div,.feature-card,.stats-card,.process-card{
  position:relative;overflow:hidden;border:1px solid rgba(225,230,236,.95);
  box-shadow:0 10px 32px rgba(12,17,24,.045);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s
}
.service-grid article:before,.plan:before,.trust-grid>div:before,.feature-card:before,.stats-card:before,.process-card:before{
  content:"";position:absolute;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,#ed1c24,#ff6670);transition:width .45s ease
}
.service-grid article:after,.plan:after,.trust-grid>div:after,.feature-card:after,.stats-card:after,.process-card:after{
  content:"";position:absolute;width:120px;height:120px;right:-65px;bottom:-65px;border-radius:50%;
  background:radial-gradient(circle,rgba(237,28,36,.10),transparent 70%);opacity:.7;transition:transform .5s ease
}
.service-grid article:hover,.plan:hover,.trust-grid>div:hover,.feature-card:hover,.stats-card:hover,.process-card:hover{
  transform:translateY(-8px);box-shadow:0 24px 55px rgba(12,17,24,.11);border-color:rgba(237,28,36,.22)
}
.service-grid article:hover:before,.plan:hover:before,.trust-grid>div:hover:before,.feature-card:hover:before,.stats-card:hover:before,.process-card:hover:before{width:100%}
.service-grid article:hover:after,.plan:hover:after,.trust-grid>div:hover:after,.feature-card:hover:after,.stats-card:hover:after,.process-card:hover:after{transform:scale(1.65)}
.service-grid i,.plan i,.feature-card i,.trust-grid i{transition:transform .4s ease,text-shadow .4s ease}
.service-grid article:hover i,.plan:hover i,.feature-card:hover i,.trust-grid>div:hover i{transform:translateY(-3px) scale(1.08);text-shadow:0 0 18px rgba(237,28,36,.35)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(2){transition-delay:.07s}.stagger.in>*:nth-child(3){transition-delay:.14s}
.stagger.in>*:nth-child(4){transition-delay:.21s}.stagger.in>*:nth-child(5){transition-delay:.28s}.stagger.in>*:nth-child(6){transition-delay:.35s}
.sn-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#ed1c24,#ff6670);z-index:10001;box-shadow:0 0 12px rgba(237,28,36,.45)}
.sn-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:1px solid #dfe4ea;border-radius:50%;background:rgba(255,255,255,.88);
backdrop-filter:blur(12px);display:grid;place-items:center;color:#111;z-index:999;opacity:0;transform:translateY(15px);pointer-events:none;transition:.3s;box-shadow:0 10px 28px rgba(12,17,24,.10)}
.sn-top.show{opacity:1;transform:none;pointer-events:auto}.sn-top:hover{color:#ed1c24;transform:translateY(-3px)}
@media(max-width:900px){.hero:before{width:420px;height:420px}.hero h1{font-size:clamp(44px,10vw,68px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}


/* =========================================================
   SPEEDNET — CLEAN CURSOR + PHYSICAL PRESS INTERACTION
   Removes the red mouse-follow ring/text caret and adds a
   subtle "pressed into the screen" tactile response.
   ========================================================= */
html,body{cursor:default!important}
body{-webkit-user-select:none!important;user-select:none!important}
body *{-webkit-user-select:none!important;user-select:none!important}
input,textarea,select,[contenteditable="true"],[contenteditable=""]{
  -webkit-user-select:text!important;user-select:text!important;cursor:text!important
}
select,button,a,[role="button"]{cursor:pointer!important}
img{-webkit-user-drag:none!important;user-drag:none!important}
.sn-cursor{display:none!important}
.sn-press-overlay{position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 0 rgba(12,17,24,0);transition:opacity .12s ease,box-shadow .12s ease}
body.sn-screen-pressed .sn-press-overlay{opacity:1;box-shadow:inset 0 0 38px rgba(12,17,24,.12),inset 0 0 90px rgba(237,28,36,.025)}

/* Clean, compact press-down physics for the whole UI. */
a,button,.btn-red,.btn-light,.header-cta,.menu-btn,
.plan,.service-grid article,.workflow-card,.trust-grid>div,
.feature-card,.stats-card,.process-card,.card,.footer-badge,
.speed-badge,.benefits div,.input-wrap input,.input-wrap select,
.input-wrap textarea,.sn-top{transform-origin:center center;}

.is-pressed{
  transform:translateY(1px) scale(.965)!important;
  box-shadow:inset 0 2px 7px rgba(12,17,24,.16),0 3px 10px rgba(12,17,24,.08)!important;
  filter:saturate(.94)!important;
  transition:transform .08s ease,box-shadow .08s ease,filter .08s ease!important;
}

/* A very subtle full-screen pressure cue; content itself does not move. */
body.sn-screen-pressed:after{opacity:.24;transition:opacity .08s ease}

/* Prevent accidental text-caret appearance on headings/paragraphs. */
h1,h2,h3,h4,h5,h6,p,span,small,strong,b,em,li,label{caret-color:transparent!important}
input,textarea{caret-color:#ed1c24!important}

@media(hover:hover) and (pointer:fine){
  a:hover,.btn-red:hover,.btn-light:hover,.header-cta:hover{cursor:pointer}
}
@media(prefers-reduced-motion:reduce){
  .is-pressed{transition:none!important}
  body.sn-screen-pressed:after,.sn-press-overlay{transition:none!important}
}

/* SPEEDNET NETWORK COVERAGE — PREMIUM VISUAL LAYER */
.optical-coverage-stage{isolation:isolate;overflow:hidden}
.optical-coverage-stage::before{
 content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
 background:radial-gradient(circle at 50% 50%,rgba(237,28,36,.075),transparent 19%),
 radial-gradient(circle at 18% 25%,rgba(255,255,255,.72),transparent 30%),
 radial-gradient(circle at 84% 76%,rgba(255,255,255,.62),transparent 28%);
 mix-blend-mode:multiply
}
.optical-coverage-stage::after{
 content:"";position:absolute;left:50%;top:50%;width:380px;height:380px;z-index:5;
 pointer-events:none;transform:translate(-50%,-50%);border:1px solid rgba(237,28,36,.055);
 border-radius:50%;box-shadow:0 0 0 36px rgba(237,28,36,.018),0 0 0 78px rgba(237,28,36,.012);
 animation:snCoverageRadar 5.5s ease-in-out infinite
}
.fiber-packets{position:relative;z-index:11}
.fiber-packets circle{
 fill:#fff;stroke:#ed1c24;stroke-width:1.6;opacity:.98;
 filter:drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 0 8px rgba(237,28,36,.95)) drop-shadow(0 0 15px rgba(237,28,36,.5))
}
.infrastructure-core{position:relative;overflow:visible}
.infrastructure-core::before{
 content:"";position:absolute;inset:-22px;border:1px solid rgba(237,28,36,.13);
 border-radius:20px;transform:rotate(45deg) scale(.72);animation:snCoreFrame 6s linear infinite;pointer-events:none
}
.infrastructure-core::after{
 content:"";position:absolute;left:50%;top:-29px;width:5px;height:5px;transform:translateX(-50%);
 border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(237,28,36,.35),0 0 12px 3px rgba(237,28,36,.9);
 animation:snCoreBeacon 2s ease-in-out infinite
}
.optical-coverage-stage .coverage-node{will-change:transform,box-shadow}
.optical-coverage-stage .coverage-node::after{
 content:"";position:absolute;left:12px;right:12px;bottom:-5px;height:8px;border-radius:50%;
 background:rgba(237,28,36,.10);filter:blur(6px);opacity:.45;transform:scale(.72);transition:.35s ease;pointer-events:none
}
.optical-coverage-stage .coverage-node:hover::after{opacity:.85;transform:scale(1)}
.optical-coverage-stage .coverage-node em{color:#0aaf63}
.optical-coverage-stage .coverage-node em::before{
 content:"";display:inline-block;width:4px;height:4px;margin:0 4px 1px 0;border-radius:50%;
 background:#16bd6a;box-shadow:0 0 7px rgba(22,189,106,.8);animation:snLiveDot 1.5s ease-in-out infinite
}
@keyframes snCoverageRadar{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.86)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes snCoreFrame{0%{transform:rotate(45deg) scale(.72);opacity:.25}50%{transform:rotate(225deg) scale(.82);opacity:.65}100%{transform:rotate(405deg) scale(.72);opacity:.25}}
@keyframes snCoreBeacon{0%,100%{opacity:.45;transform:translateX(-50%) scale(.8)}50%{opacity:1;transform:translateX(-50%) scale(1.15)}}
@keyframes snLiveDot{0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.fiber-packets circle,.optical-coverage-stage::after,.infrastructure-core::before,.infrastructure-core::after,.optical-coverage-stage .coverage-node em::before{animation:none!important}}
@media(max-width:800px){.optical-coverage-stage::after{width:270px;height:270px}.infrastructure-core::before{inset:-16px;border-radius:16px}}


/* =========================================================
   COVERAGE OUTBOUND DATA PULSES + DEVIPUR ALIGNMENT FIX
   Core -> POP direction, with a clean bright moving optical pulse.
   ========================================================= */
.optical-coverage-stage .fiber-flow-paths{display:none!important;fill:none!important;stroke:none!important}
.optical-coverage-stage .fiber-packets{z-index:20!important;overflow:visible!important}
.optical-coverage-stage .fiber-packets .flow-light{
  fill:#fff!important;
  stroke:#ed1c24!important;
  stroke-width:1.8!important;
  filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px rgba(237,28,36,.95)) drop-shadow(0 0 16px rgba(237,28,36,.72))!important;
  opacity:1!important;
}
.optical-coverage-stage .fiber-packets .flow-light-soft{
  fill:#ff6268!important;
  stroke:#fff!important;
  stroke-width:1!important;
  opacity:.82!important;
  filter:drop-shadow(0 0 5px rgba(237,28,36,.9))!important;
}
/* Devipur card is centered exactly on the lower vertical fiber trunk. */
.optical-coverage-stage .n-devipur{
  left:calc(50% - 77px)!important;
  right:auto!important;
  bottom:4%!important;
  transform:none!important;
}
@media(prefers-reduced-motion:reduce){
  .optical-coverage-stage .fiber-packets .flow-light,
  .optical-coverage-stage .fiber-packets .flow-light-soft{animation:none!important}
}

/* =========================================================
   DEVIPUR FIBER TRUNK — SOLID OPTICAL LINK RESTORE
   Keep a clearly visible physical fiber line underneath the
   moving Core -> Devipur data pulse.
   ========================================================= */
.optical-coverage-stage .optical-network-lines #glow-route-devipur{
  display:block!important;
  fill:none!important;
  stroke:#ed1c24!important;
  stroke-width:9px!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:none!important;
  opacity:.30!important;
  filter:blur(5px) drop-shadow(0 0 7px rgba(237,28,36,.42))!important;
}
.optical-coverage-stage .optical-network-lines #route-devipur{
  display:block!important;
  fill:none!important;
  stroke:#ed1c24!important;
  stroke-width:2.6px!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:none!important;
  stroke-dashoffset:0!important;
  opacity:.98!important;
  filter:drop-shadow(0 0 3px rgba(237,28,36,.9)) drop-shadow(0 0 8px rgba(237,28,36,.28))!important;
  animation:snCoreBreath 2.8s ease-in-out infinite!important;
}
@keyframes snDevipurFiberBreath{
  0%,100%{opacity:.88;filter:drop-shadow(0 0 2px rgba(237,28,36,.75)) drop-shadow(0 0 6px rgba(237,28,36,.25))}
  50%{opacity:1;filter:drop-shadow(0 0 4px rgba(237,28,36,1)) drop-shadow(0 0 12px rgba(237,28,36,.5))}
}
@media(prefers-reduced-motion:reduce){
  .optical-coverage-stage .optical-network-lines #route-devipur{animation:none!important}
}


/* =========================================================
   SPEEDNET MOBILE VIEWPORT / TILT FIX
   Keep desktop visual effects intact while preventing wide
   animated/graphic layers from pushing the mobile viewport.
   ========================================================= */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}

@media (max-width:767px){
  body{
    position:relative;
    left:0!important;
    right:0!important;
    transform:none!important;
  }

  .container,
  .container-fluid,
  main,
  header,
  footer,
  section{
    max-width:100%;
  }

  img,
  video,
  iframe{
    max-width:100%;
  }

  /* Wide SVG/network artwork stays inside its own stage. */
  .speednet-map,
  .vector-map,
  .wireless-stage,
  .optical-coverage-stage,
  .coverage-map{
    max-width:100%;
    overflow:hidden!important;
  }

  .geo-map-svg{
    max-width:none;
  }

  .optical-network-lines,
  .wireless-beams,
  .coverage-routes,
  .infra-lines,
  .eco-lines{
    pointer-events:none;
  }
}

/* ===== Final map cleanup ===== */
.contact-map-wrap iframe{background:#eef3f7}
.map-brand-marker{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);z-index:6;display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(16,19,25,.20))}
.map-brand-pin{width:42px;height:42px;display:grid;place-items:center;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#ed1c24;color:#fff;border:3px solid #fff;box-shadow:0 6px 18px rgba(237,28,36,.28)}
.map-brand-pin i{font-size:18px;transform:rotate(45deg)}
.map-brand-marker strong{margin-top:-3px;padding:5px 9px;border-radius:8px;background:#111318;color:#fff;font-size:10px;line-height:1;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.map-brand-marker small{margin-top:3px;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.94);color:#5f6b7b;font-size:8px;font-weight:800;white-space:nowrap}
.map-direction-btn{display:none!important}
@media(max-width:760px){.map-brand-marker{top:55%}.map-brand-pin{width:38px;height:38px}.map-brand-pin i{font-size:16px}.map-brand-marker strong{font-size:9px}}

/* Footer service navigation: keep every service visible; focus/highlight only the selected card. */
.service-selector-grid > article.service-active {
  position: relative;
  z-index: 2;
  box-shadow: inset 0 0 0 2px var(--red), 0 14px 34px rgba(237,28,36,.10);
  animation: serviceCardFocus .35s ease both;
}
.footer-service-link.active {
  color: var(--red) !important;
  font-weight: 700;
}
@keyframes serviceCardFocus {
  from { opacity: .72; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== Exact SpeedNET Madhupur map refinement ===== */
.contact-map-wrap{box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 14px 32px rgba(18,32,52,.08)}
.contact-map-wrap iframe{filter:saturate(.94) contrast(1.02);}
.map-brand-marker{top:54%;left:50%;}
.map-brand-pin{width:44px;height:44px;box-shadow:0 8px 22px rgba(237,28,36,.30),0 0 0 6px rgba(237,28,36,.08);}
@media(max-width:760px){.map-brand-marker{top:54%;}.map-brand-pin{width:42px;height:42px;}}

/* ===== Professional static Madhupur map ===== */
.static-map-wrap{position:relative;background:#eef2f6;overflow:hidden}
.speednet-static-map{width:100%;height:100%;min-height:270px;display:block;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.02)}
.static-map-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 38%,rgba(15,23,42,.05))}
.static-map-glow{position:absolute;left:50%;top:54%;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(237,28,36,.30) 0%,rgba(237,28,36,.14) 35%,rgba(237,28,36,0) 72%);filter:blur(3px);animation:speednetMapPulse 2s ease-in-out infinite;pointer-events:none;z-index:3}
.map-coordinate-chip{position:absolute;right:14px;bottom:14px;z-index:7;display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:10px;background:rgba(17,19,24,.88);color:#fff;box-shadow:0 8px 22px rgba(15,23,42,.18);font-size:9px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.map-coordinate-chip i{color:#ff3a40;font-size:12px}
.map-brand-marker{z-index:6}
.map-brand-pin{animation:speednetPinGlow 2s ease-in-out infinite}
@keyframes speednetMapPulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.88)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.16)}}
@keyframes speednetPinGlow{0%,100%{box-shadow:0 8px 22px rgba(237,28,36,.30),0 0 0 5px rgba(237,28,36,.08)}50%{box-shadow:0 8px 28px rgba(237,28,36,.46),0 0 0 10px rgba(237,28,36,.13),0 0 34px rgba(237,28,36,.20)}}

/* Footer service click: selected card stays sharp; all other cards remain visible but softly blurred. */
.service-selector-grid.has-service-focus > article:not(.service-active){filter:blur(2.2px);opacity:.48;transform:scale(.995);transition:filter .35s ease,opacity .35s ease,transform .35s ease}
.service-selector-grid.has-service-focus > article.service-active{filter:none;opacity:1;transform:translateY(-3px) scale(1.01);z-index:4;box-shadow:inset 0 0 0 2px var(--red),0 18px 40px rgba(237,28,36,.16)}
.footer-service-link.active{color:var(--red)!important;font-weight:800}

/* ===== Final clean map: image contains all location labels; prevent overlay duplication ===== */
.static-map-wrap .map-location-badge,
.static-map-wrap .map-brand-marker,
.static-map-wrap .map-coordinate-chip { display:none !important; }
.static-map-wrap .static-map-glow {
  width: 72px; height: 72px; left: 50%; top: 54%;
  background: radial-gradient(circle, rgba(237,28,36,.20) 0%, rgba(237,28,36,.08) 38%, rgba(237,28,36,0) 72%);
  animation: speednetMapPulse 2.4s ease-in-out infinite;
}
/* Footer service selection also fills the contact enquiry field. */
.service-selector-grid.has-service-focus > article { transition: filter .35s ease, opacity .35s ease, transform .35s ease, box-shadow .35s ease; }

/* ===== Final service interaction refinement ===== */
.service-selector-grid:not(.has-service-focus) > article {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.service-selector-grid.has-service-focus > article:not(.service-active) {
  filter: blur(2.2px);
  opacity: .48;
}
.service-selector-grid.has-service-focus > article.service-active {
  filter: none;
  opacity: 1;
}
#contactHelp:focus {
  border-color: var(--red, #ed1c24) !important;
  box-shadow: 0 0 0 4px rgba(237,28,36,.10) !important;
}

/* FINAL MAP SIZE FIX: prevent contact map from stretching to form height */
.contact-map-wrap.static-map-wrap{height:330px!important;min-height:330px!important;flex:0 0 330px!important;}
.contact-map-wrap.static-map-wrap .speednet-static-map{height:100%!important;min-height:0!important;object-fit:cover;}
@media(max-width:900px){.contact-map-wrap.static-map-wrap{height:300px!important;min-height:300px!important;flex-basis:300px!important;}}
@media(max-width:760px){.contact-map-wrap.static-map-wrap{height:250px!important;min-height:250px!important;flex-basis:250px!important;}}


/* =========================================================
   SPEEDNET MOBILE MASTER REFINEMENT — 2026
   Responsive layout, no horizontal tilt/overflow,
   cleaner mobile navigation and infrastructure visuals.
   Desktop styling remains unchanged.
   ========================================================= */

@media (max-width: 760px){

  /* ---------- Viewport / horizontal overflow ---------- */
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    overflow-x:clip !important;
    overscroll-behavior-x:none !important;
    touch-action:pan-y;
  }

  body{
    position:relative;
  }

  main,
  header,
  footer,
  section,
  .section,
  .container,
  .container-fluid{
    max-width:100% !important;
  }

  img, svg, video, canvas, iframe{
    max-width:100%;
  }

  /* Remove accidental wide SVG sizing used by the desktop topology. */
  .optical-network-lines{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    transform:none !important;
  }

  /* ---------- Header ---------- */
  .header{
    height:82px !important;
    min-height:82px;
    position:sticky;
    top:0;
    z-index:3000;
    background:rgba(255,255,255,.96);
  }

  .header.scrolled{
    height:72px !important;
  }

  .nav{
    width:100% !important;
    padding:0 18px;
    gap:12px;
  }

  .logo{
    min-width:0;
  }

  .logo img,
  .header.scrolled .logo img{
    width:142px !important;
    max-width:142px;
    height:auto;
  }

  .menu-btn{
    flex:0 0 auto;
    width:48px !important;
    height:48px !important;
    border-radius:15px !important;
    border:1px solid #e5e8ed !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 10px 26px rgba(16,19,25,.08);
    display:grid !important;
    place-items:center;
  }

  /* ---------- Mobile menu ---------- */
  .nav nav,
  .header.scrolled .nav nav{
    position:fixed !important;
    left:14px !important;
    right:14px !important;
    top:92px !important;
    width:auto !important;
    max-height:calc(100svh - 112px);
    overflow:auto;
    padding:18px 20px 20px !important;
    gap:0 !important;
    border:1px solid #e4e7ec !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 28px 70px rgba(16,19,25,.18),0 0 0 9999px rgba(16,19,25,.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transform-origin:top center;
  }

  .nav nav.open{
    display:flex !important;
    animation:snMobileMenuIn .22s ease-out both;
  }

  .nav nav a,
  .header.scrolled .nav nav a{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:15px 0 !important;
    border-bottom:1px solid #eef0f3;
    font-size:17px !important;
    font-weight:750;
    letter-spacing:-.02em;
  }

  .nav nav a:last-child{
    border-bottom:0;
  }

  .nav nav a:after,
  .header.scrolled .nav nav a:after{
    left:0;
    bottom:0;
    width:0;
    height:3px;
    border-radius:99px;
  }

  .nav nav a.active:after{
    width:48px;
  }

  .nav nav a i{
    font-size:11px;
    color:#8b939e;
  }

  /* ---------- Hero ---------- */
  .hero{
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .hero-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
  }

  .hero-copy{
    width:100%;
    padding:48px 0 12px !important;
  }

  .hero h1{
    max-width:100%;
    font-size:clamp(42px,12vw,53px) !important;
    line-height:.98;
    letter-spacing:-.065em;
    word-break:normal;
  }

  .hero-copy>p{
    max-width:100%;
    font-size:15px !important;
    line-height:1.7;
  }

  .benefits{
    width:100%;
    max-width:100%;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 !important;
    margin-top:26px;
    margin-bottom:26px;
  }

  .benefits div{
    min-width:0 !important;
    padding:8px 8px !important;
    border-right:1px solid #e5e8ed !important;
  }

  .benefits div:nth-child(3){
    border-right:0 !important;
  }

  .benefits div:nth-child(4),
  .benefits div:nth-child(5){
    margin-top:4px;
  }

  .benefits div:nth-child(4){
    grid-column:1;
  }

  .benefits div:nth-child(5){
    grid-column:2;
  }

  .benefits b{
    font-size:12px;
  }

  .benefits small{
    font-size:10px;
  }

  .hero-actions{
    width:100%;
    gap:10px;
  }

  .hero-actions a{
    width:100%;
    min-height:50px;
  }

  .hero-side{
    width:100% !important;
    height:auto !important;
    margin:8px 0 0 !important;
    padding-bottom:18px;
  }

  /* ---------- Connected services / infrastructure ---------- */
  .speednet-infra-visual{
    width:100% !important;
    max-width:100% !important;
    height:760px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    transform:none !important;
    animation:none;
  }

  .speednet-infra-visual .infra-grid{
    inset:0;
  }

  .speednet-infra-visual .infra-orbit.orbit-1{
    width:270px;
    height:270px;
  }

  .speednet-infra-visual .infra-orbit.orbit-2{
    width:390px;
    height:330px;
  }

  .speednet-infra-visual .infra-orbit.orbit-3{
    width:520px;
    height:430px;
  }

  .speednet-infra-visual .infra-label{
    top:18px;
    font-size:7px;
    letter-spacing:.11em;
  }

  .speednet-infra-visual .infra-left{
    left:16px;
  }

  .speednet-infra-visual .infra-right{
    right:16px;
  }

  .speednet-infra-visual .infra-node{
    width:calc(50% - 24px) !important;
    min-width:0 !important;
    max-width:170px;
    min-height:72px;
    padding:11px 10px !important;
    grid-template-columns:27px minmax(0,1fr) !important;
    column-gap:7px;
    border-radius:15px;
    z-index:20;
  }

  .speednet-infra-visual .infra-node i{
    font-size:18px;
  }

  .speednet-infra-visual .infra-node b{
    font-size:10px;
    line-height:1.2;
  }

  .speednet-infra-visual .infra-node small{
    font-size:7px;
    line-height:1.2;
  }

  /* 3 clean rows, with the core in the visual centre. */
  .speednet-infra-visual .node-a{
    left:14px !important;
    right:auto !important;
    top:12% !important;
    bottom:auto !important;
  }

  .speednet-infra-visual .node-d{
    right:14px !important;
    left:auto !important;
    top:12% !important;
    bottom:auto !important;
  }

  .speednet-infra-visual .node-b{
    left:14px !important;
    right:auto !important;
    top:37% !important;
    bottom:auto !important;
  }

  .speednet-infra-visual .node-e{
    right:14px !important;
    left:auto !important;
    top:37% !important;
    bottom:auto !important;
  }

  .speednet-infra-visual .node-c{
    left:14px !important;
    right:auto !important;
    top:auto !important;
    bottom:12% !important;
  }

  .speednet-infra-visual .node-f{
    right:14px !important;
    left:auto !important;
    top:auto !important;
    bottom:12% !important;
  }

  .speednet-infra-visual .infra-core{
    width:104px !important;
    height:104px !important;
    z-index:25;
    top:54% !important;
  }

  .speednet-infra-visual .infra-core i{
    font-size:21px;
  }

  .speednet-infra-visual .infra-core b{
    font-size:9px;
  }

  .speednet-infra-visual .infra-core small{
    font-size:5px;
    margin-top:5px;
  }

  .speednet-infra-visual .infra-core em{
    font-size:5px;
    padding:3px 6px;
    margin-top:5px;
  }

  .speednet-infra-visual .infra-core-ring{
    inset:-10px;
  }

  .speednet-infra-visual .infra-status{
    left:50%;
    bottom:17px;
    width:calc(100% - 30px);
    max-width:330px;
    justify-content:center;
    padding:9px 10px;
    white-space:normal;
    text-align:center;
  }

  .speednet-infra-visual .infra-status small{
    font-size:5.5px;
  }

  .speednet-infra-visual .infra-status strong{
    display:none;
  }

  .speednet-infra-visual .infra-lines{
    opacity:.65;
  }

  /* ---------- Section headers ---------- */
  .section{
    width:100%;
    overflow:hidden;
    padding:64px 0 !important;
  }

  .section-title{
    width:100%;
    display:block !important;
    margin-bottom:28px !important;
  }

  .section-title h2,
  #plans .section-title h2{
    max-width:100% !important;
    font-size:clamp(37px,10.5vw,48px) !important;
    line-height:1;
    letter-spacing:-.055em;
  }

  .section-title>p{
    max-width:100% !important;
    margin-top:16px !important;
    font-size:14px;
    line-height:1.65;
  }

  /* ---------- Plans ---------- */
  .plans-grid{
    width:100%;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .plan{
    width:100% !important;
    min-width:0 !important;
    padding:24px !important;
    border-radius:22px !important;
  }

  /* ---------- Why choose ---------- */
  .why-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .why-card{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:22px 20px !important;
    border-radius:20px !important;
  }

  .why-card h3{
    font-size:20px !important;
    line-height:1.15;
  }

  .why-card p{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  /* ---------- Coverage / optical network ---------- */
  .optical-coverage-stage{
    width:100% !important;
    height:700px !important;
    max-width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }

  .optical-coverage-stage .wireless-header{
    left:12px !important;
    right:12px !important;
    top:14px !important;
    width:auto !important;
    max-width:calc(100% - 24px);
    justify-content:center;
    overflow:hidden;
    white-space:nowrap;
  }

  .optical-coverage-stage .wireless-header small{
    display:none;
  }

  .optical-coverage-stage .wireless-status{
    top:66px !important;
    right:12px !important;
  }

  .optical-coverage-stage .coverage-node{
    width:calc(50% - 22px) !important;
    min-width:0 !important;
    max-width:170px;
    padding:11px 10px 10px 35px !important;
    border-radius:14px !important;
  }

  .optical-coverage-stage .coverage-node strong{
    font-size:10px !important;
    line-height:1.2;
  }

  .optical-coverage-stage .coverage-node small{
    font-size:7px !important;
  }

  .optical-coverage-stage .n-madhupur{
    left:12px !important;
    top:18% !important;
  }

  .optical-coverage-stage .n-rohini{
    right:12px !important;
    left:auto !important;
    top:18% !important;
  }

  .optical-coverage-stage .n-sarath{
    left:12px !important;
    top:39% !important;
    bottom:auto !important;
  }

  .optical-coverage-stage .n-jasidih{
    right:12px !important;
    left:auto !important;
    top:39% !important;
    bottom:auto !important;
  }

  .optical-coverage-stage .n-deoghar{
    left:50% !important;
    right:auto !important;
    top:7% !important;
    transform:translateX(-50%) !important;
    width:150px !important;
  }

  .optical-coverage-stage .n-devipur{
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:7% !important;
    transform:translateX(-50%) !important;
    width:150px !important;
  }

  .optical-coverage-stage .optical-junction{
    width:100px !important;
    height:100px !important;
    top:56% !important;
  }

  .optical-coverage-stage .optical-junction b{
    font-size:8px !important;
  }

  .optical-coverage-stage .optical-junction small{
    font-size:5px !important;
  }

  .optical-coverage-stage .coverage-legend{
    bottom:12px !important;
    max-width:calc(100% - 24px);
    overflow:hidden;
  }

  /* ---------- Floating contact buttons ---------- */
  .float{
    right:12px !important;
    bottom:16px !important;
    gap:10px !important;
    z-index:2500 !important;
  }

  .float a{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    border-radius:17px !important;
    box-shadow:0 12px 28px rgba(16,19,25,.13) !important;
  }

  .float a i{
    font-size:21px !important;
  }

  /* Keep floating buttons clear of the mobile Safari bottom controls. */
  @supports (bottom: env(safe-area-inset-bottom)){
    .float{
      bottom:calc(16px + env(safe-area-inset-bottom)) !important;
    }
  }

  /* ---------- Footer ---------- */
  .speednet-footer{
    width:100% !important;
    overflow:hidden !important;
  }
}

@media (max-width:430px){
  .container{
    width:calc(100% - 28px) !important;
  }

  .logo img,
  .header.scrolled .logo img{
    width:136px !important;
  }

  .hero h1{
    font-size:44px !important;
  }

  .benefits{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .speednet-infra-visual{
    height:735px !important;
  }

  .speednet-infra-visual .infra-node{
    width:calc(50% - 20px) !important;
  }

  .speednet-infra-visual .node-a,
  .speednet-infra-visual .node-b,
  .speednet-infra-visual .node-c{
    left:10px !important;
  }

  .speednet-infra-visual .node-d,
  .speednet-infra-visual .node-e,
  .speednet-infra-visual .node-f{
    right:10px !important;
  }

  .speednet-infra-visual .infra-core{
    width:96px !important;
    height:96px !important;
  }

  .optical-coverage-stage{
    height:680px !important;
  }

  .optical-coverage-stage .coverage-node{
    width:calc(50% - 19px) !important;
  }

  .optical-coverage-stage .n-madhupur,
  .optical-coverage-stage .n-sarath{
    left:9px !important;
  }

  .optical-coverage-stage .n-rohini,
  .optical-coverage-stage .n-jasidih{
    right:9px !important;
  }
}

@keyframes snMobileMenuIn{
  from{opacity:0;transform:translateY(-10px) scale(.985)}
  to{opacity:1;transform:none}
}

@media (prefers-reduced-motion:reduce){
  .speednet-infra-visual,
  .speednet-infra-visual *,
  .optical-coverage-stage *,
  .nav nav{
    animation:none !important;
    transition:none !important;
  }
}

@media(max-width:760px){body.mobile-menu-open{overflow:hidden!important;overscroll-behavior:none!important;}}

/* =========================================================
   SPEEDNET — MOBILE CREATIVE LAYOUT V2
   Purpose: clean, intentional mobile composition; no overlaps,
   no desktop-positioned graphics leaking into the viewport.
   ========================================================= */
@media (max-width: 767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important;}
  body{position:relative;}
  .header{z-index:10000;}
  .header .container{padding-left:24px!important;padding-right:24px!important;}
  .header .logo img{max-width:150px;height:auto;}

  /* ---------- Connected Services / Infrastructure ---------- */
  .speednet-infra-visual{
    width:calc(100vw - 48px)!important;
    max-width:none!important;
    height:780px!important;
    margin:12px auto 0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    animation:none!important;
  }
  .speednet-infra-visual .infra-grid{opacity:.65;}
  .speednet-infra-visual .infra-orbit.orbit-1{width:340px!important;height:340px!important;}
  .speednet-infra-visual .infra-orbit.orbit-2{width:440px!important;height:440px!important;}
  .speednet-infra-visual .infra-orbit.orbit-3{width:560px!important;height:560px!important;}
  .speednet-infra-visual .infra-core{
    width:132px!important;height:132px!important;
    left:50%!important;top:50%!important;
    transform:translate(-50%,-50%)!important;
    z-index:12!important;
  }
  .speednet-infra-visual .infra-node{
    width:calc(50% - 30px)!important;
    min-height:88px!important;
    padding:13px 12px!important;
    border-radius:18px!important;
    grid-template-columns:30px 1fr!important;
    z-index:15!important;
  }
  .speednet-infra-visual .node-a{left:14px!important;right:auto!important;top:100px!important;bottom:auto!important;}
  .speednet-infra-visual .node-d{right:14px!important;left:auto!important;top:100px!important;bottom:auto!important;}
  .speednet-infra-visual .node-b{left:14px!important;right:auto!important;top:305px!important;bottom:auto!important;}
  .speednet-infra-visual .node-e{right:14px!important;left:auto!important;top:305px!important;bottom:auto!important;}
  .speednet-infra-visual .node-c{left:14px!important;right:auto!important;top:550px!important;bottom:auto!important;}
  .speednet-infra-visual .node-f{right:14px!important;left:auto!important;top:550px!important;bottom:auto!important;}
  .speednet-infra-visual .infra-node b{font-size:11px!important;line-height:1.3!important;}
  .speednet-infra-visual .infra-node small{font-size:7.5px!important;line-height:1.3!important;}
  .speednet-infra-visual .infra-status{
    left:14px!important;right:14px!important;bottom:16px!important;
    max-width:none!important;width:auto!important;
    padding:10px 12px!important;border-radius:16px!important;
  }
  .speednet-infra-visual .infra-status span{min-width:0!important;}
  .speednet-infra-visual .infra-status b{font-size:8px!important;}
  .speednet-infra-visual .infra-status small{font-size:5.5px!important;white-space:nowrap!important;}
  .speednet-infra-visual .infra-status strong{font-size:7px!important;}
  .speednet-infra-visual .infra-label{font-size:7px!important;}

  /* Keep decorative SVG/pathwork inside the service stage. */
  .speednet-infra-visual .infra-lines{inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;}

  /* ---------- Coverage: dedicated mobile topology ---------- */
  .optical-coverage-stage{
    width:calc(100vw - 48px)!important;
    max-width:none!important;
    height:820px!important;
    min-height:820px!important;
    margin:16px auto 0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    position:relative!important;
  }
  .optical-coverage-stage .wireless-grid{background-size:24px 24px!important;opacity:.55;}
  .optical-coverage-stage .optical-network-lines{display:none!important;}
  .optical-coverage-stage::after{width:330px!important;height:330px!important;}

  .optical-coverage-stage .coverage-node{
    width:calc(50% - 30px)!important;
    min-width:0!important;
    padding:12px 10px 11px 36px!important;
    border-radius:17px!important;
    z-index:20!important;
    animation:none!important;
  }
  .optical-coverage-stage .coverage-node strong{font-size:10.5px!important;line-height:1.2!important;white-space:nowrap!important;}
  .optical-coverage-stage .coverage-node small{font-size:6.8px!important;line-height:1.2!important;}
  .optical-coverage-stage .coverage-node em{font-size:5.5px!important;top:7px!important;right:8px!important;}
  .optical-coverage-stage .coverage-node>i{font-size:16px!important;left:11px!important;top:15px!important;}

  .optical-coverage-stage .n-deoghar{left:50%!important;right:auto!important;top:82px!important;transform:translateX(-50%)!important;}
  .optical-coverage-stage .n-madhupur{left:12px!important;right:auto!important;top:180px!important;}
  .optical-coverage-stage .n-rohini{right:12px!important;left:auto!important;top:180px!important;}
  .optical-coverage-stage .n-sarath{left:12px!important;right:auto!important;top:505px!important;bottom:auto!important;}
  .optical-coverage-stage .n-jasidih{right:12px!important;left:auto!important;top:505px!important;bottom:auto!important;}
  .optical-coverage-stage .n-devipur{left:50%!important;right:auto!important;top:680px!important;bottom:auto!important;transform:translateX(-50%)!important;}

  .optical-coverage-stage .infrastructure-core{
    position:absolute!important;
    left:50%!important;top:390px!important;
    width:118px!important;height:118px!important;
    transform:translate(-50%,-50%)!important;
    z-index:25!important;
  }
  .optical-coverage-stage .infrastructure-core b{font-size:9px!important;}
  .optical-coverage-stage .infrastructure-core small{font-size:5.5px!important;}
  .optical-coverage-stage .infrastructure-core em{font-size:5px!important;}

  /* Clean CSS fiber routes replacing the desktop SVG on phones. */
  .optical-coverage-stage .infrastructure-core::before,
  .optical-coverage-stage .infrastructure-core::after{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    display:block!important;
    background:linear-gradient(90deg,rgba(237,28,36,.18),#ed1c24,rgba(237,28,36,.18))!important;
    box-shadow:0 0 12px rgba(237,28,36,.28)!important;
    transform-origin:center!important;
    border-radius:999px!important;
  }
  .optical-coverage-stage .infrastructure-core::before{
    width:310px!important;height:3px!important;
    left:-96px!important;top:58px!important;
    transform:rotate(0deg)!important;
  }
  .optical-coverage-stage .infrastructure-core::after{
    width:3px!important;height:410px!important;
    left:58px!important;top:-145px!important;
    background:linear-gradient(180deg,rgba(237,28,36,.12),#ed1c24,rgba(237,28,36,.12))!important;
  }
  .optical-coverage-stage .n-madhupur::after,
  .optical-coverage-stage .n-rohini::after,
  .optical-coverage-stage .n-sarath::after,
  .optical-coverage-stage .n-jasidih::after,
  .optical-coverage-stage .n-deoghar::after,
  .optical-coverage-stage .n-devipur::after{
    content:"";position:absolute;z-index:-1;height:2px;width:145px;
    background:linear-gradient(90deg,#ed1c24,rgba(237,28,36,.08));
    box-shadow:0 0 8px rgba(237,28,36,.22);top:50%;
  }
  .optical-coverage-stage .n-madhupur::after{right:-128px;transform:rotate(29deg);}
  .optical-coverage-stage .n-rohini::after{left:-128px;transform:rotate(-29deg);}
  .optical-coverage-stage .n-sarath::after{right:-128px;transform:rotate(-27deg);}
  .optical-coverage-stage .n-jasidih::after{left:-128px;transform:rotate(27deg);}
  .optical-coverage-stage .n-deoghar::after{left:50%;top:100%;height:115px;width:2px;transform:none;background:linear-gradient(180deg,#ed1c24,rgba(237,28,36,.05));}
  .optical-coverage-stage .n-devipur::after{left:50%;bottom:100%;top:auto;height:90px;width:2px;transform:none;background:linear-gradient(180deg,rgba(237,28,36,.05),#ed1c24);}

  .coverage-infra-bar{
    width:calc(100vw - 72px)!important;
    margin:12px auto 0!important;
    padding:10px 12px!important;
    gap:8px!important;
    border-radius:16px!important;
  }
  .coverage-infra-bar b{font-size:8px!important;}
  .coverage-infra-bar small{display:none!important;}
  .coverage-infra-bar strong{font-size:6.5px!important;}

  /* Section rhythm: never let a sticky header visually eat the section title. */
  #services,#coverage,#plans,#team,#workflow{scroll-margin-top:95px;}
  .coverage-title{padding-top:4px!important;}

  /* ---------- Floating actions ---------- */
  .float{right:14px!important;bottom:82px!important;z-index:9999!important;}
  .float a{width:58px!important;height:58px!important;margin-top:10px!important;}
}

@media (max-width:390px){
  .speednet-infra-visual{width:calc(100vw - 32px)!important;height:760px!important;}
  .speednet-infra-visual .infra-node{width:calc(50% - 24px)!important;}
  .speednet-infra-visual .node-a,.speednet-infra-visual .node-b,.speednet-infra-visual .node-c{left:10px!important;}
  .speednet-infra-visual .node-d,.speednet-infra-visual .node-e,.speednet-infra-visual .node-f{right:10px!important;}
  .optical-coverage-stage{width:calc(100vw - 32px)!important;height:800px!important;min-height:800px!important;}
  .optical-coverage-stage .coverage-node{width:calc(50% - 24px)!important;padding-left:32px!important;}
  .optical-coverage-stage .n-madhupur,.optical-coverage-stage .n-sarath{left:10px!important;}
  .optical-coverage-stage .n-rohini,.optical-coverage-stage .n-jasidih{right:10px!important;}
  .optical-coverage-stage .n-devipur{top:665px!important;}
  .optical-coverage-stage .infrastructure-core{top:380px!important;}
}

/* =========================================================
   SPEEDNET — FINAL iOS HORIZONTAL DRAG LOCK
   This is intentionally stronger than overflow-x:hidden.
   It prevents Safari from horizontally dragging the document
   when decorative/animated elements momentarily exceed the viewport.
   ========================================================= */
@media (max-width: 767px){
  html{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    overflow-x:clip !important;
    overscroll-behavior-x:none !important;
  }

  body{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
    overflow-x:clip !important;
    overscroll-behavior-x:none !important;
    touch-action:pan-y pinch-zoom !important;
  }

  /* Never allow a section's decorative artwork to define page width. */
  body > *,
  main,
  main > section,
  .section,
  .hero,
  .speednet-footer,
  .header{
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Keep all common decorative layers inside their owning section. */
  .hero,
  .section,
  .speednet-infra-visual,
  .optical-coverage-stage,
  .coverage-map,
  .workflow-section,
  .contact-form-section,
  .speednet-footer{
    overflow-x:clip !important;
  }

  /* Fixed utilities must not participate in document width. */
  .float,
  .sn-top,
  .sn-progress,
  .sn-press-overlay{
    max-width:100vw !important;
  }
}
