/*
Theme Name: 1stMile Signal Pro
Theme URI: https://1stmile.net/
Author: OpenAI / ChatGPT
Description: Dark blue, electric blue, and gold/orange WordPress theme for 1stMile.Net using the supplied logo and wireless signal styling.
Version: 3.0.82
License: GPLv2 or later
Text Domain: firstmile-modern
*/
:root{--bg:#020815;--panel:#061326;--panel2:#081b33;--line:#15375d;--blue:#0d8fe8;--blue2:#18c8ff;--gold:#ffae19;--gold2:#ffcf45;--text:#f7fbff;--muted:#b9c9dd;--white:#fff;--shadow:0 28px 90px rgba(0,0,0,.42);--max:1180px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% 0,rgba(21,135,231,.22),transparent 34%),linear-gradient(180deg,#020815 0%,#051225 48%,#020815 100%);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);line-height:1.55}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(var(--max),calc(100% - 42px));margin:auto}.topbar{background:#01050d;border-bottom:1px solid #17365c;color:#e7f4ff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:16px 0;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;background:rgba(2,8,21,.94);backdrop-filter:blur(12px);border-bottom:1px solid #17416f}.navwrap{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:0}.brand{display:flex;align-items:center;text-decoration:none;padding:10px 0}.brand-logo{width:205px;max-height:84px;object-fit:contain;display:block}.brand-fallback{display:none}.mobile-toggle{display:none;background:linear-gradient(180deg,#1265ae,#073d78);border:1px solid #2d9df4;color:#fff;border-radius:9px;padding:11px 14px;font-weight:900}.main-nav{display:flex;align-items:center;gap:0;flex-wrap:wrap}.main-nav a{display:inline-flex;align-items:center;min-height:52px;padding:0 14px;border-left:1px solid rgba(255,255,255,.06);text-decoration:none;color:#f4f8ff;font-weight:900;font-size:.84rem;text-transform:uppercase;letter-spacing:.02em}.main-nav a:hover{background:linear-gradient(180deg,#1282d4,#07518d);color:#fff}.main-nav .btn{margin-left:12px;min-height:auto;border-left:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#1a9ff2,#075faf);color:#fff!important;text-decoration:none;font-weight:950;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,125,224,.28)}.btn:hover{transform:translateY(-2px);filter:saturate(1.12)}.btn.secondary{background:rgba(5,20,40,.78);border-color:#3079bc;color:#dff4ff!important}.btn.gold,.btn.green{background:linear-gradient(180deg,var(--gold2),#f28b00);color:#06101d!important;border-color:#ffd05b;box-shadow:0 14px 32px rgba(255,162,0,.28)}.hero{position:relative;overflow:hidden;min-height:560px;background:radial-gradient(circle at 78% 32%,rgba(26,200,255,.38),transparent 18%),linear-gradient(90deg,rgba(2,8,21,.96) 0%,rgba(3,14,29,.86) 48%,rgba(3,14,29,.35)),url('assets/hero-signal.svg'),linear-gradient(145deg,#04101f,#0a2545 56%,#061120);background-size:cover,cover,cover,cover;background-position:center;color:#fff;border-bottom:1px solid #18466f}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 56%,rgba(0,0,0,.78) 100%)}.hero .container{position:relative;z-index:1;padding:78px 0 96px;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;gap:9px;align-items:center;color:var(--gold2);font-weight:950;text-transform:uppercase;letter-spacing:.09em}.eyebrow:before{content:"";width:10px;height:10px;background:var(--gold);border-radius:99px;box-shadow:0 0 0 7px rgba(255,174,25,.13)}.hero h1{font-size:clamp(2.5rem,5.2vw,5.1rem);line-height:.95;margin:15px 0 18px;letter-spacing:-.055em;text-transform:uppercase;text-shadow:0 5px 0 rgba(0,0,0,.22)}.hero h1 strong{display:block;color:var(--blue2);text-shadow:0 0 18px rgba(24,200,255,.4)}.hero p{color:#e0edff;font-size:1.15rem;max-width:620px}.hero-actions,.hero-meta{display:flex;gap:14px;flex-wrap:wrap}.hero-actions{margin-top:28px}.hero-meta{margin-top:24px}.hero-meta span{font-weight:900;text-transform:uppercase;color:#fff}.hero-meta span:before{content:"✓";color:var(--gold);margin-right:8px}.hero-card{border:1px solid #21629b;background:linear-gradient(145deg,rgba(3,12,25,.82),rgba(10,31,56,.74));border-radius:24px;padding:26px;box-shadow:var(--shadow)}.signal{height:260px;border-radius:20px;background:radial-gradient(circle at 54% 44%,rgba(24,200,255,.25),transparent 10%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));position:relative;overflow:hidden;border:1px solid rgba(24,200,255,.18);margin-bottom:18px}.tower{position:absolute;left:51%;bottom:22px;transform:translateX(-50%);width:90px;height:178px;background:url('assets/tower.svg') center bottom/contain no-repeat;filter:drop-shadow(0 0 18px rgba(24,200,255,.3))}.wave{position:absolute;left:50%;top:24px;transform:translateX(-50%);border:3px solid rgba(24,200,255,.82);border-bottom:0;border-radius:160px 160px 0 0;filter:drop-shadow(0 0 10px rgba(24,200,255,.6))}.w1{width:105px;height:55px}.w2{top:6px;width:175px;height:91px;opacity:.72}.w3{top:-15px;width:255px;height:138px;opacity:.5}.hill{position:absolute;left:-8%;right:-8%;bottom:-5px;height:86px;background:linear-gradient(135deg,#341b03,#d47700 58%,#ffba2f);clip-path:polygon(0 65%,16% 38%,34% 70%,54% 26%,75% 58%,100% 31%,100% 100%,0 100%);opacity:.8}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}.checklist li{color:#d9e8f8}.checklist li:before{content:"✓";color:var(--gold);font-weight:950;margin-right:10px}.feature-strip{margin-top:-50px;position:relative;z-index:3}.feature-strip .grid{grid-template-columns:repeat(4,1fr)}.mini-card,.card,.price-card,.contact-box{background:linear-gradient(145deg,rgba(5,20,40,.96),rgba(4,13,28,.95));border:1px solid #1c4f80;box-shadow:var(--shadow);border-radius:var(--radius)}.mini-card{padding:18px;display:flex;gap:14px;align-items:center}.mini-card span:first-child,.icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#31dcff,#0063b9 68%,#041b34);border:1px solid #46caff;color:#fff;box-shadow:0 0 24px rgba(24,200,255,.27);font-size:1.55rem;flex:0 0 52px}.mini-card b{display:block;text-transform:uppercase;font-size:.9rem}.section{padding:78px 0}.section.alt{background:linear-gradient(180deg,rgba(11,34,60,.65),rgba(2,8,21,.2));border-block:1px solid rgba(24,77,121,.65)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section h2{font-size:clamp(2rem,3.7vw,3.35rem);line-height:1;margin:0 0 12px;text-transform:uppercase;text-shadow:0 4px 0 rgba(0,0,0,.25);letter-spacing:-.045em}.section h2 em{color:var(--blue2);font-style:normal}.lead,.card p,.price-card li{color:var(--muted)}.grid{display:grid;gap:20px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{padding:26px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;right:-45px;bottom:-45px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(24,200,255,.16),transparent 68%)}.card:hover,.price-card:hover{transform:translateY(-4px);transition:.2s;border-color:#2faeff}.card h3{font-size:1.35rem;margin:0 0 8px;text-transform:uppercase}.icon{margin-bottom:16px}.pricing{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}.price-card{padding:23px;position:relative;overflow:hidden}.price-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--blue2))}.price-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(255,174,25,.38),var(--shadow)}.price-card.featured:after{content:"Popular";position:absolute;right:12px;top:12px;background:var(--gold);color:#071324;border-radius:99px;font-size:.7rem;font-weight:950;padding:4px 9px;text-transform:uppercase}.plan-name{font-weight:950;font-size:1.18rem;text-transform:uppercase}.price{font-size:2.35rem;font-weight:950;color:#fff}.price small{font-size:.82rem;color:#9eb3ca}.speed{display:inline-flex;background:rgba(24,200,255,.12);border:1px solid #1d7dc4;color:#bfefff;border-radius:99px;padding:7px 10px;font-weight:950;margin:4px 0 13px}.price-card ul{padding-left:18px;margin:0 0 20px}.price-card .btn{width:100%;padding:12px 13px}.coverage{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:center;padding:34px;border-radius:24px;background:linear-gradient(145deg,rgba(6,21,41,.96),rgba(5,12,26,.96));border:1px solid #1d527f}.area-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.area-pills span{border:1px solid #a76304;background:rgba(255,174,25,.11);color:#ffe5af;border-radius:99px;padding:9px 12px;font-weight:900}.map-card{min-height:300px;border-radius:18px;border:1px solid #b56d09;background:url('assets/coverage-map.svg') center/cover no-repeat,linear-gradient(135deg,#07192f,#040c18);box-shadow:inset 0 0 55px rgba(255,174,25,.22),0 0 35px rgba(255,174,25,.12)}.cta{display:flex;justify-content:space-between;gap:28px;align-items:center;background:linear-gradient(135deg,#082947,#07599a 56%,#f49b09);border:1px solid #44baff;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.cta h2{margin:0 0 8px}.page-hero{background:linear-gradient(135deg,#041123,#073b6f);border-bottom:1px solid #194e83;padding:75px 0}.page-hero h1{font-size:clamp(2.3rem,4.8vw,4.2rem);margin:0;text-transform:uppercase}.page-hero p{color:#d8e9ff;font-size:1.15rem}.form{display:grid;gap:14px}.form input,.form textarea{width:100%;padding:14px 15px;border:1px solid #285b89;border-radius:10px;background:#020b18;color:#fff}.form textarea{min-height:170px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.contact-box{padding:28px}.site-footer{background:#01050d;border-top:1px solid #17416f;padding:44px 0 0;color:#d7e7fa}.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.foot-logo{max-width:220px;margin-bottom:12px}.site-footer a{color:#fff}.copyright{text-align:center;margin-top:34px;padding:16px 0;background:linear-gradient(180deg,#116ab4,#064b90);color:#fff;font-size:.9rem}@media(max-width:980px){.hero .container,.coverage,.contact-grid{grid-template-columns:1fr}.pricing,.grid.cols-4{grid-template-columns:repeat(2,1fr)}.feature-strip .grid{grid-template-columns:repeat(2,1fr)}.main-nav{display:none;width:100%;padding-bottom:14px}.main-nav.open{display:flex;flex-direction:column;align-items:stretch}.main-nav a{border:1px solid rgba(255,255,255,.08);border-radius:8px;margin:3px 0}.mobile-toggle{display:inline-flex}.navwrap{flex-wrap:wrap}.section-head,.cta{align-items:flex-start;flex-direction:column}.brand-logo{width:170px}}@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.hero .container{padding:54px 0 80px}.pricing,.grid.cols-4,.grid.cols-3,.grid.cols-2,.feature-strip .grid,.foot-grid{grid-template-columns:1fr}.topbar .container{display:block}.brand-logo{width:150px}.hero h1{font-size:2.65rem}}


/* v1.4: shorter homepage + fixed internal links */
.compact-hero{min-height:430px}.compact-hero .container{padding:52px 0 62px;grid-template-columns:1.15fr .75fr}.compact-hero h1{font-size:clamp(2.35rem,4.6vw,4.45rem)}.compact-hero .hero-card{padding:18px}.compact-hero .signal{height:190px;margin-bottom:10px}.compact-card .checklist{display:none}.short-section{padding:52px 0}.home-service-grid .card{padding:22px}.home-service-grid .card p{margin-bottom:12px}.gold-icon{background:radial-gradient(circle at 35% 25%,#ffcf45,#a75d00 68%,#241100)!important;border-color:#ffbd31!important}.compact-coverage{padding:26px}.compact-coverage .map-card{min-height:260px}.yakima-glow-map{position:relative;overflow:hidden;background:url('assets/coverage-map.svg') center/cover no-repeat,radial-gradient(circle at 45% 48%,rgba(255,174,25,.24),transparent 23%),linear-gradient(135deg,#07192f,#040c18)}.yakima-glow-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 43% 48%,rgba(255,174,25,.55),transparent 3%),radial-gradient(circle at 30% 33%,rgba(255,174,25,.45),transparent 2%),radial-gradient(circle at 64% 62%,rgba(255,174,25,.38),transparent 2.2%),repeating-linear-gradient(34deg,transparent 0 32px,rgba(255,174,25,.16) 33px 35px,transparent 36px 70px);mix-blend-mode:screen;opacity:.82}.yakima-glow-map:after{content:"Yakima\A Selah\A Wenas\A Moxee\A Wapato";white-space:pre;position:absolute;left:28px;top:24px;color:#fff;text-shadow:0 2px 3px #000,0 0 14px #ffae19;font-size:.9rem;font-weight:950;line-height:2.6}.site-footer{padding-top:34px}.cta{padding:28px}.page-hero{padding:58px 0}.narrow{max-width:860px}
@media(max-width:980px){.compact-hero .container{grid-template-columns:1fr}.compact-hero .hero-card{display:none}.compact-coverage .map-card{min-height:230px}}
@media(max-width:640px){.compact-hero{min-height:auto}.compact-hero .container{padding:42px 0 62px}.short-section{padding:38px 0}.home-service-grid .card{padding:20px}.compact-coverage{padding:18px}}

/* v1.5 transparent logo + realistic coverage map refinements */
.brand-logo,.foot-logo{background:transparent!important;box-shadow:none!important;border:0!important;object-fit:contain;}
.brand{background:transparent!important;}
.coverage-map,.map-card img{filter:drop-shadow(0 0 18px rgba(247,169,27,.28));}
.yakima-glow-map:before,.yakima-glow-map:after{display:none!important;content:none!important;}
.yakima-glow-map{background-image:url('assets/coverage-map.svg'),radial-gradient(circle at 45% 48%,rgba(255,174,25,.18),transparent 23%),linear-gradient(135deg,#07192f,#040c18)!important;background-size:cover!important;background-position:center!important;}

/* v1.6 more realistic Yakima Valley coverage map */
.map-card,
.yakima-glow-map{
  background-image: url('assets/coverage-map-realistic.png') !important;
  background-size: cover !important;
  background-position: center !important;
  border-color: rgba(255,174,25,.72) !important;
  box-shadow: inset 0 0 65px rgba(0,0,0,.25), 0 0 36px rgba(255,174,25,.16) !important;
}
.yakima-glow-map:before,
.yakima-glow-map:after{display:none!important;content:none!important;}
.compact-coverage .map-card{min-height:300px;}
@media(max-width:640px){.compact-coverage .map-card{min-height:220px;background-size:cover!important;}}


/* v1.9 realistic satellite-style Yakima Valley coverage image */
.coverage.compact-coverage{
  grid-template-columns: 1.25fr .95fr;
  gap: 34px;
  align-items: center;
}
.map-card.yakima-glow-map{
  background-image: url('assets/coverage-map-realistic.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  min-height: 430px !important;
  border: 1px solid rgba(33,143,232,.65) !important;
  border-radius: 20px !important;
  box-shadow: inset 0 0 80px rgba(0,0,0,.18), 0 0 32px rgba(13,143,232,.22) !important;
}
.compact-coverage{
  background: linear-gradient(145deg,rgba(3,12,28,.98),rgba(4,18,36,.96)) !important;
  border-color: rgba(33,143,232,.55) !important;
}
.compact-coverage .area-pills span{
  border-color: rgba(13,143,232,.75) !important;
  background: rgba(13,143,232,.10) !important;
  color: #f5fbff !important;
}
.compact-coverage .btn.secondary{
  background: linear-gradient(180deg,#168ff0,#0867c4) !important;
  border-color: #39aaff !important;
}
@media(max-width:980px){
  .coverage.compact-coverage{grid-template-columns:1fr;}
  .map-card.yakima-glow-map{min-height:360px!important;}
}
@media(max-width:640px){
  .map-card.yakima-glow-map{min-height:260px!important;}
}

/* v2.0: Added Zillah to Yakima Valley service area map and badges. */


/* v2.3 - Match all call buttons to the header phone button */
a[href^="tel:"],
.fm-call-button,
.call-button,
.call-now,
.btn-call,
.header-call,
.phone-button,
.wp-block-button__link[href^="tel:"],
.fm-btn[href^="tel:"],
a.button[href^="tel:"],
a.btn[href^="tel:"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #071421 !important;
  background: linear-gradient(135deg, #ff9f16 0%, #ffc247 100%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 13px 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 35px rgba(255,159,22,.25) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

a[href^="tel:"]:hover,
.fm-call-button:hover,
.call-button:hover,
.call-now:hover,
.btn-call:hover,
.header-call:hover,
.phone-button:hover,
.wp-block-button__link[href^="tel:"]:hover,
.fm-btn[href^="tel:"]:hover,
a.button[href^="tel:"]:hover,
a.btn[href^="tel:"]:hover {
  color: #071421 !important;
  background: linear-gradient(135deg, #ffc247 0%, #ff9f16 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 40px rgba(255,159,22,.34) !important;
}

/* Keep phone links inside normal paragraphs readable but styled consistently when they are CTA links */
p a[href^="tel:"],
li a[href^="tel:"] {
  margin-top: 4px;
}


/* v2.6 actual pricing cards from 1stmile.net */
.pricing,
.firstmile-pricing-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
  margin:28px 0;
}
.price-card,
.firstmile-price-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:26px 22px;
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(24,200,255,.17), transparent 36%),
    linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border:1px solid rgba(47,174,255,.42);
  box-shadow:0 22px 58px rgba(0,0,0,.34);
  position:relative;
  overflow:hidden;
  color:#fff;
}
.price-card:before,
.firstmile-price-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--gold,#ffae19),var(--blue2,#18c8ff));
}
.price-card.featured,
.firstmile-price-card.featured{
  border-color:var(--gold,#ffae19);
  box-shadow:0 0 0 1px rgba(255,174,25,.38),0 24px 70px rgba(255,174,25,.15),0 28px 90px rgba(0,0,0,.42);
}
.price-card.featured:after,
.firstmile-price-card.featured:after{
  content:"Most Popular";
  position:absolute;
  top:14px;
  right:14px;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gold2,#ffcf45),#f28b00);
  color:#06101d;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.plan-name,
.firstmile-plan-name{
  font-size:1.18rem;
  font-weight:950;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:8px;
  padding-right:92px;
}
.price,
.firstmile-price{
  font-size:2.55rem;
  line-height:1;
  font-weight:950;
  color:#fff;
  letter-spacing:-.04em;
  margin:4px 0 10px;
}
.price small,
.firstmile-price small{
  font-size:.84rem;
  color:#b9c9dd;
  letter-spacing:normal;
}
.speed,
.firstmile-speed{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:rgba(24,200,255,.12);
  border:1px solid rgba(29,125,196,.9);
  color:#bfefff;
  border-radius:999px;
  padding:8px 11px;
  font-weight:950;
  margin:2px 0 16px;
}
.price-card ul,
.firstmile-price-card ul{
  margin:0 0 22px;
  padding-left:18px;
  color:#b9c9dd;
  flex:1;
}
.price-card li,
.firstmile-price-card li{margin:6px 0;}
.price-card .btn,
.price-card a[href^="tel:"],
.firstmile-price-card .btn,
.firstmile-price-card a[href^="tel:"]{
  width:100%;
  margin-top:auto;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--gold,#ffae19),var(--gold2,#ffcf45))!important;
  color:#06101d!important;
  box-shadow:0 12px 35px rgba(255,159,22,.25)!important;
  text-align:center;
}
.firstmile-plan-note{
  color:#9eb3ca;
  font-size:.95rem;
  margin-top:20px;
}
@media(max-width:1100px){
  .pricing,.firstmile-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:720px){
  .pricing,.firstmile-pricing-grid{grid-template-columns:1fr;}
  .plan-name,.firstmile-plan-name{padding-right:0;}
  .price-card.featured:after,.firstmile-price-card.featured:after{position:static;display:inline-block;margin-bottom:10px;order:-1;width:max-content;}
}


/* v2.7 removed service blue hero bands */
body:not(.home) main > .section:first-child{
  padding-top:70px;
}


/* v2.8 Cloud Backup plan cards */
.cloud-pricing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin:30px 0;
}
.cloud-price-card{
  display:flex;
  flex-direction:column;
  padding:28px 24px;
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(24,200,255,.17), transparent 36%),
    linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border:1px solid rgba(47,174,255,.42);
  box-shadow:0 22px 58px rgba(0,0,0,.34);
  position:relative;
  overflow:hidden;
  color:#fff;
}
.cloud-price-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--gold,#ffae19),var(--blue2,#18c8ff));
}
.cloud-price-card.featured{
  border-color:var(--gold,#ffae19);
  box-shadow:0 0 0 1px rgba(255,174,25,.38),0 24px 70px rgba(255,174,25,.15),0 28px 90px rgba(0,0,0,.42);
}
.cloud-price-card.featured:after{
  content:"Best Value";
  position:absolute;
  top:14px;
  right:14px;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gold2,#ffcf45),#f28b00);
  color:#06101d;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cloud-plan-name{
  font-size:1.2rem;
  font-weight:950;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:8px;
  padding-right:85px;
}
.cloud-price{
  font-size:2.55rem;
  line-height:1;
  font-weight:950;
  color:#fff;
  letter-spacing:-.04em;
  margin:4px 0 10px;
}
.cloud-price small{
  font-size:.84rem;
  color:#b9c9dd;
  letter-spacing:normal;
}
.cloud-storage{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  background:rgba(24,200,255,.12);
  border:1px solid rgba(29,125,196,.9);
  color:#bfefff;
  border-radius:999px;
  padding:8px 13px;
  font-weight:950;
  margin:2px 0 16px;
}
.cloud-price-card ul{
  margin:0 0 22px;
  padding-left:18px;
  color:#b9c9dd;
  flex:1;
}
.cloud-price-card li{margin:6px 0;}
.cloud-price-card .btn,
.cloud-price-card a[href^="tel:"]{
  width:100%;
  margin-top:auto;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--gold,#ffae19),var(--gold2,#ffcf45))!important;
  color:#06101d!important;
  box-shadow:0 12px 35px rgba(255,159,22,.25)!important;
  text-align:center;
}
@media(max-width:900px){.cloud-pricing{grid-template-columns:1fr;}.cloud-plan-name{padding-right:0;}.cloud-price-card.featured:after{position:static;display:inline-block;margin-bottom:10px;order:-1;width:max-content;}}


/* v2.9 corrected Cloud Backup plans from 1stmile.net */
.cloud-price-card.quote .cloud-price{
  font-size:1.95rem;
  letter-spacing:-.03em;
  color:var(--gold2,#ffcf45);
}
.cloud-price-card.quote .cloud-storage{
  background:rgba(255,174,25,.12);
  border-color:rgba(255,174,25,.75);
  color:#ffefbf;
}
.cloud-footnote{
  color:#9eb3ca;
  font-size:.95rem;
  margin-top:18px;
}


/* v3.0 polish: consistent cards, contact form, coverage page, footer CTA */
.service-page-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:32px;
  align-items:center;
  margin-bottom:34px;
}
.service-page-intro .intro-card{
  background:linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border:1px solid rgba(47,174,255,.35);
  border-radius:22px;
  padding:28px;
  box-shadow:0 22px 58px rgba(0,0,0,.30);
}
.service-page-intro h2{margin-top:0}
.service-bullets{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:20px 0 0;
}
.service-bullets span{
  display:flex;
  align-items:center;
  gap:9px;
  background:rgba(24,200,255,.10);
  border:1px solid rgba(47,174,255,.28);
  border-radius:999px;
  padding:10px 13px;
  color:#dcecff;
  font-weight:800;
}
.service-bullets span:before{
  content:"✓";
  color:var(--gold,#ffae19);
  font-weight:950;
}

.cloud-pricing{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
  margin:28px 0;
}
.cloud-price-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:26px 22px;
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(24,200,255,.17), transparent 36%),
    linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border:1px solid rgba(47,174,255,.42);
  box-shadow:0 22px 58px rgba(0,0,0,.34);
  position:relative;
  overflow:hidden;
  color:#fff;
}
.cloud-price-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--gold,#ffae19),var(--blue2,#18c8ff));
}
.cloud-price-card.featured{
  border-color:var(--gold,#ffae19);
  box-shadow:0 0 0 1px rgba(255,174,25,.38),0 24px 70px rgba(255,174,25,.15),0 28px 90px rgba(0,0,0,.42);
}
.cloud-price-card.featured:after{
  content:"Best Value";
  position:absolute;
  top:14px;
  right:14px;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gold2,#ffcf45),#f28b00);
  color:#06101d;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cloud-plan-name{
  font-size:1.12rem;
  font-weight:950;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:8px;
  padding-right:85px;
}
.cloud-price{
  font-size:2.35rem;
  line-height:1;
  font-weight:950;
  color:#fff;
  letter-spacing:-.04em;
  margin:4px 0 10px;
}
.cloud-price small{font-size:.84rem;color:#b9c9dd;letter-spacing:normal;}
.cloud-storage{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  background:rgba(24,200,255,.12);
  border:1px solid rgba(29,125,196,.9);
  color:#bfefff;
  border-radius:999px;
  padding:8px 13px;
  font-weight:950;
  margin:2px 0 16px;
}
.cloud-price-card ul{margin:0 0 22px;padding-left:18px;color:#b9c9dd;flex:1;}
.cloud-price-card li{margin:6px 0;}
.cloud-price-card .btn,
.cloud-price-card a[href^="tel:"]{
  width:100%;
  margin-top:auto;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--gold,#ffae19),var(--gold2,#ffcf45))!important;
  color:#06101d!important;
  box-shadow:0 12px 35px rgba(255,159,22,.25)!important;
  text-align:center;
}
.cloud-price-card.quote .cloud-price{
  font-size:1.9rem;
  letter-spacing:-.03em;
  color:var(--gold2,#ffcf45);
}
.cloud-price-card.quote .cloud-storage{
  background:rgba(255,174,25,.12);
  border-color:rgba(255,174,25,.75);
  color:#ffefbf;
}

.contact-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:start;
}
.contact-panel{
  background:linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border:1px solid rgba(47,174,255,.38);
  border-radius:22px;
  padding:28px;
  box-shadow:0 22px 58px rgba(0,0,0,.30);
}
.contact-panel h2,.contact-panel h3{margin-top:0}
.contact-list{display:grid;gap:14px;margin-top:18px}
.contact-list div{
  background:rgba(24,200,255,.09);
  border:1px solid rgba(47,174,255,.22);
  border-radius:14px;
  padding:14px;
}
.contact-list strong{display:block;color:#fff;margin-bottom:4px}
.contact-list a{color:#bfefff;text-decoration:none;font-weight:900}
.contact-form label{display:block;margin:14px 0 7px;font-weight:900;color:#fff}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(73,169,255,.35);
  background:#06182b;
  color:#fff;
  border-radius:11px;
  padding:13px;
  font-size:16px;
}
.contact-form textarea{min-height:150px}
.contact-form .two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notice-success,.notice-error{
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:18px;
  font-weight:850;
}
.notice-success{background:rgba(30,180,90,.16);border:1px solid rgba(30,180,90,.5);color:#c9ffd9}
.notice-error{background:rgba(255,90,90,.16);border:1px solid rgba(255,90,90,.5);color:#ffd0d0}

.coverage-polish{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:0;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(47,174,255,.42);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  background:linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
}
.coverage-polish .map-pane{min-height:520px;background:#07131f}
.coverage-polish .map-pane img{width:100%;height:100%;object-fit:cover;display:block}
.coverage-polish .coverage-content{padding:46px}
.coverage-polish .area-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.coverage-polish .area-pills span{
  border:1px solid rgba(47,174,255,.55);
  background:rgba(24,200,255,.10);
  border-radius:999px;
  padding:10px 15px;
  color:#fff;
  font-weight:900;
}

.footer-cta{
  background:
    radial-gradient(circle at 82% 28%,rgba(24,200,255,.20),transparent 35%),
    linear-gradient(145deg,rgba(6,23,44,.98),rgba(3,12,26,.98));
  border-top:1px solid rgba(47,174,255,.35);
  border-bottom:1px solid rgba(47,174,255,.22);
  padding:42px 0;
}
.footer-cta-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.footer-cta h2{margin:0 0 8px;text-transform:uppercase}
.footer-cta p{margin:0;color:#b9c9dd}
@media(max-width:1100px){
  .cloud-pricing{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-page-intro,.coverage-polish,.contact-layout{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .cloud-pricing,.service-bullets,.contact-form .two-col{grid-template-columns:1fr;}
  .cloud-plan-name{padding-right:0;}
  .cloud-price-card.featured:after{position:static;display:inline-block;margin-bottom:10px;order:-1;width:max-content;}
  .coverage-polish .map-pane{min-height:360px}
  .coverage-polish .coverage-content{padding:28px}
}


/* v3.0.2 - force desktop menu onto a single line */
@media (min-width: 1025px){

  .main-nav,
  .primary-menu,
  .site-navigation ul,
  .menu,
  .nav-menu{
    display:flex !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    align-items:center !important;
    gap:12px !important;
  }

  .site-navigation li,
  .menu li,
  .nav-menu li{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .site-navigation a,
  .menu a,
  .nav-menu a{
    font-size:14px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    white-space:nowrap !important;
  }

  .site-branding img,
  .custom-logo{
    max-width:220px !important;
  }

  header .container,
  .site-header .container{
    max-width:1400px !important;
  }
}


/* v3.0.3 restore logo */
.custom-logo,
.site-branding img{
  max-width:none !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* v3.0.4 remove redundant header phone button */
.site-header a[href^="tel:"],
header a[href^="tel:"].fm-call-button,
header .fm-call-button{
  display:none !important;
}


/* v3.0.5 larger logo */
.site-branding,
.custom-logo-link{
  display:flex;
  align-items:center;
}

.custom-logo,
.site-branding img,
.site-logo img{
  max-height:90px !important;
  width:auto !important;
  max-width:420px !important;
}

@media (min-width:1025px){
  .custom-logo,
  .site-branding img,
  .site-logo img{
    max-height:110px !important;
    max-width:500px !important;
  }
}


/* v3.0.6 logo above menu */
.site-header,
header{
  display:flex;
  flex-direction:column !important;
}

.site-branding,
.site-logo,
.custom-logo-link{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:100% !important;
  margin-bottom:10px !important;
}

.site-navigation,
.main-nav,
.primary-menu-wrapper{
  width:100% !important;
  clear:both !important;
}

.custom-logo,
.site-branding img,
.site-logo img{
  max-height:120px !important;
  max-width:550px !important;
}


/* v3.0.7 bigger logo + slightly smaller menu */
@media (min-width:1025px){

  .site-navigation a,
  .menu a,
  .nav-menu a,
  .primary-menu a{
    font-size:13px !important;
    letter-spacing:0 !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .custom-logo,
  .site-branding img,
  .site-logo img{
    max-height:145px !important;
    max-width:700px !important;
    width:auto !important;
  }

  .site-branding,
  .custom-logo-link{
    margin-bottom:6px !important;
  }
}


/* v3.0.8 targeted real header fix */
.topbar{
  display:none !important;
}

/* Make the header stack: logo row on top, menu row below */
.site-header .navwrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:4px !important;
  padding:8px 0 6px !important;
}

/* Put logo on the left above the menu */
.site-header .brand{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

/* Actual logo class in this theme */
.site-header .brand-logo{
  width:360px !important;
  max-width:45vw !important;
  max-height:125px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}

/* Menu line below logo */
.site-header .main-nav{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  gap:0 !important;
  overflow:hidden !important;
}

/* Actual menu links in this theme */
.site-header .main-nav a{
  font-size:12px !important;
  min-height:38px !important;
  padding:0 9px !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  line-height:1.1 !important;
}

/* Keep header compact */
.site-header .container{
  width:min(1280px,calc(100% - 28px)) !important;
}

/* Hide redundant phone button if any is still injected in menu/header */
.site-header .main-nav a[href^="tel:"],
.site-header a.fm-call-button[href^="tel:"]{
  display:none !important;
}

@media(max-width:1024px){
  .site-header .brand-logo{
    width:260px !important;
    max-width:70vw !important;
    max-height:95px !important;
  }
  .site-header .main-nav{
    flex-wrap:wrap !important;
  }
  .site-header .main-nav a{
    font-size:12px !important;
    padding:8px 9px !important;
    min-height:auto !important;
  }
}


/* v3.0.9 reduce logo size from v3.0.8 */
.site-header .brand-logo{
  width:280px !important;
  max-width:38vw !important;
  max-height:95px !important;
}

@media(max-width:1024px){
  .site-header .brand-logo{
    width:220px !important;
    max-width:60vw !important;
    max-height:80px !important;
  }
}


/* v3.0.10 forced smaller actual header logo */
header.site-header a.brand img.brand-logo,
.site-header .brand img.brand-logo,
.brand img.brand-logo,
img.brand-logo{
  width:220px !important;
  max-width:220px !important;
  max-height:75px !important;
  height:auto !important;
  object-fit:contain !important;
}
@media(max-width:1024px){
  header.site-header a.brand img.brand-logo,
  .site-header .brand img.brand-logo,
  .brand img.brand-logo,
  img.brand-logo{
    width:190px !important;
    max-width:190px !important;
    max-height:65px !important;
  }
}


/* v3.0.12 restore visible menu beside logo */
.site-header .navwrap{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  padding:8px 0 !important;
}

.site-header .brand{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
}

.site-header .brand-logo{
  width:220px !important;
  max-width:220px !important;
  max-height:75px !important;
  height:auto !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.site-header .main-nav{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  width:auto !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}

.site-header .main-nav ul,
.site-header .main-nav .menu{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.site-header .main-nav li{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.site-header .main-nav a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:0 8px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* keep only redundant header phone hidden, not the menu */
.site-header .main-nav a[href^="tel:"],
.site-header a.fm-call-button[href^="tel:"]{
  display:none !important;
}

@media(max-width:1024px){
  .site-header .navwrap{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .site-header .main-nav{
    width:100% !important;
  }
}


/* v3.0.13 force menu across top in line with logo */
.site-header .container.navwrap,
header.site-header .container.navwrap{
  display:grid !important;
  grid-template-columns:220px minmax(0, 1fr) !important;
  align-items:center !important;
  column-gap:18px !important;
  padding:8px 0 !important;
}

.site-header .brand{
  grid-column:1 !important;
  width:220px !important;
  max-width:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin:0 !important;
  padding:0 !important;
}

.site-header .brand-logo{
  width:220px !important;
  max-width:220px !important;
  max-height:75px !important;
  height:auto !important;
  display:block !important;
}

.site-header .mobile-toggle{
  display:none !important;
}

.site-header .main-nav{
  grid-column:2 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
}

.site-header .main-nav li{
  display:inline-flex !important;
  flex:0 1 auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  white-space:nowrap !important;
}

.site-header .main-nav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 6px !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* Hide only the redundant phone CTA in the header/menu */
.site-header .main-nav a[href^="tel:"],
.site-header a.fm-call-button[href^="tel:"]{
  display:none !important;
}

@media(max-width:1024px){
  .site-header .container.navwrap,
  header.site-header .container.navwrap{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .site-header .main-nav{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  .site-header .main-nav li{
    display:inline-flex !important;
  }
  .site-header .main-nav a{
    font-size:12px !important;
    padding:8px 9px !important;
    min-height:auto !important;
  }
}


/* v3.0.14 remove footer phone links only */
.footer-cta a[href^="tel:"],
footer a[href^="tel:"]{
  display:none !important;
}


/* v3.0.16 reduced footer/site redundancies */
.site-footer .simplified-footer{
  grid-template-columns:1.4fr 1fr 1fr;
}
.site-footer a{
  color:#bfefff;
  text-decoration:none;
}
.site-footer a:hover{
  color:var(--gold2,#ffcf45);
}
.footer-cta p{
  max-width:680px;
}
.contact-us{
  display:none !important;
}
@media(max-width:800px){
  .site-footer .simplified-footer{
    grid-template-columns:1fr;
  }
}


/* v3.0.20 tower graphic only: replace CSS drawing with realistic WISP tower image */
.hero-card .signal{
  background:
    linear-gradient(180deg,rgba(2,8,21,.02),rgba(2,8,21,.22)),
    url('assets/realistic-wisp-tower.png') center center / cover no-repeat !important;
}
.hero-card .signal .tower,
.hero-card .signal .hill,
.hero-card .signal .wave{
  display:none !important;
}


/* v3.0.21 ONLY replace the 'Internet built for rural addresses' tower graphic */
.hero-card .signal.realistic-wisp-tower-photo,
.hero-card .signal{
  background:
    linear-gradient(180deg, rgba(2,8,21,.00), rgba(2,8,21,.18)),
    url('assets/realistic-wisp-tower-photo.png') center center / cover no-repeat !important;
}

.hero-card .signal.realistic-wisp-tower-photo .tower,
.hero-card .signal.realistic-wisp-tower-photo .hill,
.hero-card .signal.realistic-wisp-tower-photo .wave,
.hero-card .signal .tower,
.hero-card .signal .hill,
.hero-card .signal .wave{
  display:none !important;
}


/* v3.0.22 orange title on tower card */
.hero-card h3{
    color:#ffae19 !important;
}


/* v3.0.23 ONLY change the tower card title color */
.hero-card .signal + h3,
.hero-card h3{
  color:#ffae19 !important;
}


/* v3.0.24 center title under tower image */
.hero-card h3,
.hero-card .signal + h3{
    text-align:center !important;
    width:100% !important;
    display:block !important;
    color:#ffae19 !important;
}


/* v3.0.30 reduce blank space under tower card text */
.hero-card{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}

.hero-card .signal + h3{
    margin-bottom:2px !important;
}

.hero-card p,
.hero-card .card-text{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

.hero-card > *:last-child{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}


/* v3.0.31 slightly larger menu text */
.site-header .main-nav a,
.main-nav a,
.nav-menu a,
.menu a{
    font-size:13px !important;
}


/* v3.0.32 reduce space above 'Locally owned and operated since 1991' */
.hero.compact-hero,
.hero{
    padding-top:20px !important;
}

.hero .eyebrow{
    margin-top:0 !important;
}


/* v3.0.33 targeted reduction above 'Locally owned and operated since 1991' */
section.hero.compact-hero > .container{
    padding-top:18px !important;
}

/* keep the hero balanced after reducing top space */
section.hero.compact-hero{
    min-height:auto !important;
}


/* v3.0.37 Residential Internet: move pricing cards higher */
.page-residential .hero,
.page-template-page-residential .hero,
body.page-residential .hero{
    min-height:320px !important;
}

.page-residential .hero .container,
.page-template-page-residential .hero .container,
body.page-residential .hero .container{
    padding-top:24px !important;
    padding-bottom:24px !important;
}

.page-residential .hero p,
.page-template-page-residential .hero p{
    margin-bottom:10px !important;
}

.page-residential .hero + section,
.page-template-page-residential .hero + section{
    padding-top:20px !important;
}


/* v3.0.38 Residential page: compact intro so pricing appears higher */
.residential-compact-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px 0 !important;
    padding:0 !important;
}

.residential-compact-intro h2{
    margin:0 0 6px 0 !important;
}

.residential-compact-intro .lead{
    margin:0 !important;
    max-width:760px !important;
}

.residential-compact-intro .btn{
    flex:0 0 auto !important;
}

body .section:has(.residential-compact-intro){
    padding-top:28px !important;
}

@media(max-width:800px){
    .residential-compact-intro{
        display:block !important;
    }
    .residential-compact-intro .btn{
        margin-top:14px !important;
    }
}


/* v3.0.39 compact intro on other service pages so plans/content appears higher */
.service-compact-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px 0 !important;
    padding:0 !important;
}

.service-compact-intro h2{
    margin:0 0 6px 0 !important;
}

.service-compact-intro .lead{
    margin:0 !important;
    max-width:820px !important;
}

.service-compact-intro .btn{
    flex:0 0 auto !important;
}

body .section:has(.service-compact-intro),
body .section:has(.residential-compact-intro){
    padding-top:28px !important;
}

@media(max-width:800px){
    .service-compact-intro{
        display:block !important;
    }
    .service-compact-intro .btn{
        margin-top:14px !important;
    }
}


/* v3.0.41 Contact page intro removed */
body.page-template-page-contact .section,
body.page-id-contact .section{
    padding-top:28px !important;
}

.pay-bill-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 padding:8px 14px;
 margin-right:12px;
 background:linear-gradient(180deg,#ffcf45,#f28b00);
 color:#06101d !important;
 font-weight:700;
 border-radius:6px;
 text-decoration:none;
 white-space:nowrap;
}


/* v3.0.44 logo + pay button + menu on one line */
.site-header .container.navwrap,
header.site-header .container.navwrap,
.site-header .navwrap{
    display:grid !important;
    grid-template-columns:auto auto 1fr !important;
    align-items:center !important;
    column-gap:12px !important;
}

.site-header .brand{
    grid-column:1 !important;
}

.pay-bill-btn{
    grid-column:2 !important;
    margin-right:0 !important;
}

.site-header .main-nav{
    grid-column:3 !important;
    justify-content:flex-end !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    width:100% !important;
}


/* v3.0.46 support six Residential plan cards */
.pricing,
.firstmile-pricing-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
}


/* v3.0.47 keep residential plans on one row */
.firstmile-pricing-grid,
.pricing-grid{
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0,1fr)) !important;
    gap:12px !important;
}

.firstmile-pricing-grid .plan-card,
.pricing-grid .plan-card{
    min-width:0 !important;
}

@media (max-width:1200px){
    .firstmile-pricing-grid,
    .pricing-grid{
        grid-template-columns:repeat(3,1fr) !important;
    }
}


/* v3.0.48 keep six Business plans aligned with Residential */
.pricing,
.firstmile-pricing-grid{
    grid-template-columns:repeat(6, minmax(0,1fr)) !important;
    gap:12px !important;
}
@media (max-width:1200px){
    .pricing,
    .firstmile-pricing-grid{
        grid-template-columns:repeat(3,1fr) !important;
    }
}
@media (max-width:700px){
    .pricing,
    .firstmile-pricing-grid{
        grid-template-columns:1fr !important;
    }
}


/* v3.0.50 ensure Most Popular badge is formatted, not part of plan name */
.firstmile-price-card.featured::after,
.price-card.featured::after{
  content:"Most Popular" !important;
}


/* v3.0.51 site-wide Most Popular badge fix */
.price-card.featured,
.firstmile-price-card.featured,
.cloud-price-card.featured{
  padding-top:46px !important;
}

.price-card.featured:after,
.firstmile-price-card.featured:after,
.cloud-price-card.featured:after{
  top:12px !important;
  right:50% !important;
  transform:translateX(50%) !important;
  left:auto !important;
  max-width:calc(100% - 28px) !important;
  white-space:nowrap !important;
  z-index:2 !important;
  font-size:.68rem !important;
  line-height:1 !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,var(--gold2,#ffcf45),#f28b00) !important;
  color:#06101d !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.plan-name,
.firstmile-plan-name,
.cloud-plan-name{
  padding-right:0 !important;
  text-align:center !important;
}

.price,
.firstmile-price,
.cloud-price,
.speed,
.firstmile-speed,
.cloud-storage{
  align-self:center !important;
  text-align:center !important;
}

.price-card,
.firstmile-price-card,
.cloud-price-card{
  text-align:center !important;
}

.price-card ul,
.firstmile-price-card ul,
.cloud-price-card ul{
  text-align:left !important;
}


/* v3.0.52 keep featured and non-featured plans aligned */
.price-card,
.firstmile-price-card,
.cloud-price-card{
    padding-top:46px !important;
    position:relative !important;
}

/* Only show badge on featured cards */
.price-card:not(.featured)::after,
.firstmile-price-card:not(.featured)::after,
.cloud-price-card:not(.featured)::after{
    content:'' !important;
}

/* Reserve the same header space on every card */
.plan-name,
.firstmile-plan-name,
.cloud-plan-name{
    margin-top:0 !important;
    min-height:2.4em !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}


/* v3.0.60 compress all plan cards to show more info */
.pricing,
.firstmile-pricing-grid,
.cloud-pricing{
    gap:8px !important;
}

.price-card,
.firstmile-price-card,
.cloud-price-card{
    padding:34px 10px 12px !important;
    border-radius:14px !important;
    min-height:auto !important;
}

.price-card.featured,
.firstmile-price-card.featured,
.cloud-price-card.featured{
    padding-top:34px !important;
}

.price-card.featured:after,
.firstmile-price-card.featured:after,
.cloud-price-card.featured:after{
    top:7px !important;
    font-size:.58rem !important;
    padding:4px 8px !important;
}

.plan-name,
.firstmile-plan-name,
.cloud-plan-name{
    font-size:.95rem !important;
    line-height:1.05 !important;
    min-height:1.8em !important;
    margin-bottom:4px !important;
}

.price,
.firstmile-price,
.cloud-price{
    font-size:1.85rem !important;
    margin:2px 0 6px !important;
}

.price small,
.firstmile-price small,
.cloud-price small{
    font-size:.7rem !important;
}

.speed,
.firstmile-speed,
.cloud-storage{
    font-size:.72rem !important;
    padding:5px 7px !important;
    margin:0 0 8px !important;
}

.price-card ul,
.firstmile-price-card ul,
.cloud-price-card ul{
    font-size:.78rem !important;
    line-height:1.25 !important;
    margin:0 0 12px !important;
    padding-left:14px !important;
}

.price-card li,
.firstmile-price-card li,
.cloud-price-card li{
    margin:2px 0 !important;
}

.price-card .btn,
.firstmile-price-card .btn,
.cloud-price-card .btn{
    padding:9px 10px !important;
    font-size:.72rem !important;
    min-height:auto !important;
}

/* Keep six internet plans visible on one desktop row */
.firstmile-pricing-grid,
.pricing{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}

@media(max-width:1200px){
    .firstmile-pricing-grid,
    .pricing{
        grid-template-columns:repeat(3,1fr) !important;
    }
}
@media(max-width:700px){
    .firstmile-pricing-grid,
    .pricing,
    .cloud-pricing{
        grid-template-columns:1fr !important;
    }
}


/* v3.0.61 Home page: tower card moved up, Google map below in bordered container */
.hero-side-stack{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    align-self:start !important;
}

.hero-side-stack .tower-card{
    margin:0 !important;
    padding-bottom:10px !important;
}

.hero-side-stack .tower-card .signal{
    height:185px !important;
    margin-bottom:8px !important;
    background-position:center top !important;
}

.hero-side-stack .tower-card h3{
    margin:6px 0 0 !important;
    text-align:center !important;
}

.home-map-card{
    border:1px solid #21629b;
    background:linear-gradient(145deg,rgba(3,12,25,.82),rgba(10,31,56,.74));
    border-radius:18px;
    padding:10px;
    box-shadow:var(--shadow);
    overflow:hidden;
}

.home-map-card iframe{
    display:block;
    width:100%;
    height:185px;
    border:0;
    border-radius:12px;
}

@media(max-width:900px){
    .home-map-card iframe{
        height:240px;
    }
}


/* v3.0.62 prettier and more accurate Home page map */
.home-map-card{
    position:relative !important;
    border:1px solid rgba(255,174,25,.55) !important;
    background:
      linear-gradient(145deg,rgba(3,12,25,.92),rgba(10,31,56,.86)) !important;
    border-radius:18px !important;
    padding:10px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.35), 0 0 0 1px rgba(24,200,255,.10) inset !important;
    overflow:hidden !important;
}

.map-label{
    padding:4px 4px 9px !important;
    color:#fff !important;
    line-height:1.25 !important;
}

.map-label strong{
    display:block !important;
    color:#ffcf45 !important;
    font-size:.95rem !important;
    font-weight:950 !important;
}

.map-label span{
    display:block !important;
    color:#d7e7f7 !important;
    font-size:.78rem !important;
}

.home-map-card iframe{
    display:block !important;
    width:100% !important;
    height:210px !important;
    border:0 !important;
    border-radius:13px !important;
    filter:saturate(1.08) contrast(1.02) !important;
}

.map-link{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin-top:9px !important;
    min-height:34px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#ffcf45,#f28b00) !important;
    color:#06101d !important;
    font-size:.78rem !important;
    font-weight:950 !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
}

.map-link:hover{
    filter:saturate(1.1) brightness(1.05) !important;
}

@media(max-width:900px){
    .home-map-card iframe{
        height:260px !important;
    }
}


/* v3.0.74 Hosting & Email compact intro */
.service-compact-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px 0 !important;
    padding:0 !important;
}

.service-compact-intro h2{
    margin:0 0 6px 0 !important;
}

.service-compact-intro .lead{
    margin:0 !important;
    max-width:820px !important;
}

.service-compact-intro .btn{
    flex:0 0 auto !important;
}

body .section:has(.service-compact-intro){
    padding-top:28px !important;
}

@media(max-width:800px){
    .service-compact-intro{
        display:block !important;
    }
    .service-compact-intro .btn{
        margin-top:14px !important;
    }
}


/* v3.0.81 Websites content restored */
.hosting-compact-intro,
.service-compact-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px 0 !important;
    padding:0 !important;
}
.hosting-compact-intro h2,
.service-compact-intro h2{
    margin:0 0 6px 0 !important;
}
.hosting-compact-intro .lead,
.service-compact-intro .lead{
    margin:0 !important;
    max-width:820px !important;
}
.hosting-compact-intro .btn,
.service-compact-intro .btn{
    flex:0 0 auto !important;
}
@media(max-width:800px){
    .hosting-compact-intro,
    .service-compact-intro{
        display:block !important;
    }
    .hosting-compact-intro .btn,
    .service-compact-intro .btn{
        margin-top:14px !important;
    }
}

/* v3.0.82 force Websites page content */
.hosting-compact-intro,
.service-compact-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 18px 0 !important;
    padding:0 !important;
}
.hosting-compact-intro h2,
.service-compact-intro h2{
    margin:0 0 6px 0 !important;
}
.hosting-compact-intro .lead,
.service-compact-intro .lead{
    margin:0 !important;
    max-width:820px !important;
}
.hosting-compact-intro .btn,
.service-compact-intro .btn{
    flex:0 0 auto !important;
}
.websites-plan-grid{
    align-items:stretch !important;
}
@media(max-width:800px){
    .hosting-compact-intro,
    .service-compact-intro{
        display:block !important;
    }
    .hosting-compact-intro .btn,
    .service-compact-intro .btn{
        margin-top:14px !important;
    }
}


/* v3.0.84 Pay My Bill spacing fix */
.pay-bill-btn,
a.pay-bill-btn{
    margin-right: 18px !important;
    margin-left: 10px !important;
}

.site-header .main-nav{
    gap: 14px !important;
}

.site-header .navwrap{
    gap: 18px !important;
}


/* =========================
   v3.0.84 POLISH PASS
   (visual-only improvements)
========================= */

/* HEADER ALIGNMENT */
.site-header .navwrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:16px;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:16px;
    margin-left:auto;
}

/* Pay My Bill button spacing refinement */
.pay-bill-btn,
a.pay-bill-btn{
    margin-left:18px;
    padding:10px 16px;
    white-space:nowrap;
}

/* LOGO BALANCE */
.brand-logo{
    max-width:220px;
    height:auto;
}

/* NAV TYPOGRAPHY CONSISTENCY */
.main-nav a{
    font-weight:600;
    font-size:15px;
}

/* BUTTON SYSTEM UNIFICATION */
.btn,
.fm-call-button,
.pay-bill-btn{
    border-radius:6px;
    letter-spacing:0.2px;
}

/* SERVICE CARDS UNIFORM HEIGHT */
.price-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.price-card ul{
    flex:1;
}

/* GRID ALIGNMENT FIX */
.grid.cols-4{
    align-items:stretch;
    gap:20px;
}

/* MOBILE CLEANUP */
@media(max-width:900px){
    .site-header .navwrap{
        flex-wrap:wrap;
    }

    .main-nav{
        width:100%;
        justify-content:flex-start;
        margin-left:0;
    }

    .pay-bill-btn{
        margin-left:0;
        margin-top:10px;
    }
}


/* =========================
   v3.0.84 MICRO POLISH PASS
========================= */

/* Slightly tighter header for cleaner premium feel */
.site-header{
    padding-top:10px !important;
    padding-bottom:10px !important;
}

/* Refine nav spacing */
.main-nav a{
    padding:6px 10px;
}

/* Improve hover feel */
.main-nav a:hover{
    opacity:0.85;
    transition:all 0.2s ease;
}

/* Button refinement (subtle) */
.btn,
.fm-call-button,
.pay-bill-btn{
    transition:all 0.2s ease;
}

.btn:hover,
.fm-call-button:hover,
.pay-bill-btn:hover{
    transform:translateY(-1px);
}

/* Normalize section spacing slightly */
.section{
    padding-top:50px;
    padding-bottom:50px;
}

/* Improve readability of intro blocks */
.service-compact-intro{
    gap:22px;
}

/* Slight container tightening for better focus */
.container{
    max-width:1180px;
}
