
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/clients/aw-broadband/assets/font-8.ttf) format('truetype');
}

:root{--navy:#0a2637;--ink:#102e41;--blue:#246aa4;--cyan:#55c9ee;--lime:#eef44a;--paper:#f4f7f7;--line:#d7e1e5;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}svg{display:block}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1.8px;line-height:1.05}
/* The four rules above are the design's base element layer, and as bare element
   selectors they are specificity (0,0,1) - so rd-base.css beats all of them with
   '.rd-root p{margin:0}' and '.rd-root h1,.rd-root h2,.rd-root h3,.rd-root
   h4{line-height:var(--rd-lh-heading);letter-spacing:var(--rd-ls-heading);
   margin:0}'. The design leans on the UA defaults the platform is zeroing (h2
   margin-bottom .83em, p 1em), so section headings sat flush against the copy
   under them: 17 of 78 headings and paragraphs on the home page had the wrong
   margin or line-height.

   Restated here at exactly (0,1,1) to match the platform's reach, and placed
   HERE - before the component rules below - so those still win. Specificity and
   order both matter: re-asserting at 'main .rd-root h2' (0,1,2) inverts the
   cascade instead, outranking ported rules like '.phone h2' and taking the home
   page from 17 differences to 45. At (0,1,1) in this position: home 17 -> 1,
   a town page 4 -> 1, and a blog post unchanged apart from two pixels on the
   footer column headings. 'revert' recovers the UA margins the design expects.
   Measured with getComputedStyle against the v63 reference served locally. */
.rd-root h1,.rd-root h2,.rd-root h3,.rd-root h4{margin:revert;line-height:normal;letter-spacing:normal}
.rd-root p{margin:revert;line-height:1.65}
.rd-root h1,.rd-root h2,.rd-root h3,.rd-root p{margin-top:0}
.rd-root h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1.8px;line-height:1.05}
button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #da5a00;outline-offset:5px}.wrap{width:calc(100% - 80px);max-width:1360px;margin:auto}.skip{position:absolute;top:-60px;left:20px;padding:14px;background:white;z-index:100}.skip:focus{top:10px}header{background:#fff}.utility{height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.utility>div{display:flex;gap:28px;height:100%;align-items:center}.utility .active{border-bottom:2px solid var(--blue);height:100%;display:flex;align-items:center}.nav{height:91px;display:flex;align-items:center;gap:40px}.brand{width:252px;margin-right:auto}.nav nav{display:flex;gap:32px;font-size:14px;font-weight:700}.nav nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 23px;border-radius:8px;font-size:14px;font-weight:700;line-height:1.2;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:21px;line-height:1}.navy{background:var(--navy);color:white}.lime{background:var(--lime);color:var(--navy)}.outline{border:1px solid #6b8593;color:var(--navy)}.menu-toggle{display:none}#mobile-nav[hidden]{display:none}.announcement{display:flex;background:var(--lime);height:39px;overflow:hidden}.marquee{overflow:hidden;flex:1;display:flex;align-items:center}.marquee-track{display:flex;width:max-content;animation:marquee 44s linear infinite}.marquee-track span{flex-shrink:0;white-space:nowrap;font-size:11px;letter-spacing:1.6px;font-weight:800;padding-right:52px;display:flex;align-items:center;gap:52px}.marquee-track b{font-size:23px}#motion{width:44px;flex-shrink:0;border:0;border-left:1px solid #152f3830;background:var(--lime);font-weight:800}.service-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:294px 294px;gap:18px;margin-top:24px}.service{position:relative;overflow:hidden;border-radius:var(--radius)}.fiber{grid-row:span 2;background:radial-gradient(ellipse at 100% 70%,#106082 0,transparent 59%),#082535;color:white}.fiber-art{position:absolute;width:106%;height:100%;inset:0;opacity:.88;animation:fiber-breathe 8s ease-in-out infinite alternate}.fiber-content{position:relative;z-index:1;padding:40px 38px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px #eefe66}.fiber h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(70px,7.8vw,114px);font-weight:800;line-height:.85;letter-spacing:-1.5px;margin:30px 0 26px}.fiber h1 em{font-style:italic;color:var(--lime);font-weight:900}.fiber p{font-size:15px;margin-bottom:20px}.homegrown{position:absolute;right:25px;bottom:25px;width:175px;transform:rotate(-8deg);filter:drop-shadow(0 5px 14px #0005)}.fiber-star{position:absolute;right:27px;top:21px;color:var(--lime);font-size:45px}.phone{background:#86d8ef;color:var(--navy)}.service-copy{padding:34px 30px;position:relative;z-index:1;width:53%}.service-copy h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:56px;letter-spacing:-.5px;margin:14px 0 10px;line-height:.95}.service-copy p{font-size:14px;line-height:1.6;margin-bottom:22px}.text-link{font-size:13px;font-weight:800;display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link:hover span{transform:translate(3px,-3px)}.text-link span{font-size:20px;transition:transform .2s}.phone-art{position:absolute;right:-35px;top:0;width:62%;height:100%;transform:rotate(-10deg);transition:transform .5s}.phone:hover .phone-art{transform:rotate(-2deg)}.tv{background:radial-gradient(ellipse at 90% 30%,#387cc2,transparent 80%),#143e70;color:white}.tv .service-copy{width:53%;padding-top:29px}.awtv{height:30px;width:38px;object-fit:contain;margin-bottom:8px}.tv .service-copy h2{margin-top:0}.tv-art{position:absolute;right:-23px;bottom:14px;width:58%;transform:rotate(-7deg);transition:transform .5s}.tv:hover .tv-art{transform:rotate(-2deg)}.help-strip{margin:50px 0;display:flex;align-items:center;gap:28px;padding:25px 28px;border-block:1px solid var(--line)}.help-strip h2{font-size:21px;letter-spacing:-.6px;margin-bottom:7px}.help-strip p{margin:0;font-size:14px;color:#506975}.help-strip .button{margin-left:auto;white-space:nowrap}.device-icons{display:flex;gap:12px;color:var(--blue)}.device-icons svg{width:29px;height:29px}.coverage{display:grid;grid-template-columns:1.2fr 1fr;border-radius:var(--radius);overflow:hidden;background:#dceef3;min-height:560px;margin-bottom:70px}.coverage-intro{background:var(--blue);color:white;position:relative;overflow:hidden;padding:48px}.coverage-intro h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:65px;letter-spacing:-.8px;margin:20px 0 16px;position:relative;z-index:1}.coverage-intro h2 span{color:var(--lime)}.coverage-intro p{font-size:15px;position:relative;z-index:1}.connection-art{height:240px;position:relative;max-width:440px;margin:0 auto -42px}.connection-orbit{border:1px solid #99d6ee65;border-radius:50%;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%)}.connection-orbit.one{width:180px;height:180px}.connection-orbit.two{width:300px;height:300px}.connection-orbit.three{width:420px;height:420px}.connection-center{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:92px;height:92px;background:var(--lime);border:9px solid #d5ed8850;background-clip:padding-box;border-radius:50%;display:grid;place-items:center;color:var(--navy);box-shadow:0 0 70px #acf3ff50}.connection-center svg{width:46px}.node{position:absolute;background:#194d7c;box-shadow:0 9px 24px #04254340;border:1px solid #77cbe288;border-radius:15px;width:52px;height:52px;padding:13px;color:#d1f8ff}.node-one{left:8%;top:36%}.node-two{right:10%;top:52%}.node-three{left:51%;top:0}.location{padding:46px 48px;display:flex;flex-direction:column;align-items:flex-start}.location-index{font-family:'Barlow Condensed',Impact,sans-serif;font-size:104px;line-height:1;color:var(--blue);font-weight:700;letter-spacing:-1px;margin-bottom:26px}.location-index span{font-size:55px;vertical-align:top;line-height:1.7}.location h3{font-size:28px;letter-spacing:-1px;margin-bottom:13px}.location p{font-size:16px;margin-bottom:28px;max-width:390px}.location-rule{display:flex;gap:12px;align-items:center;width:100%;margin-top:auto;padding-top:36px}.location-rule span{height:5px;background:#8fb6c9;flex:1;border-radius:2px}.location-rule span:first-child{background:var(--blue)}.testimonials{background:var(--navy);color:#fff;padding:62px 0 46px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;gap:20px}.section-heading h2{margin:0;font-weight:650}.review-controls{display:flex;gap:9px}.review-controls button{border:1px solid #8bb2c1;background:transparent;color:#fff;border-radius:50%;width:46px;height:46px;font-size:23px}.review-controls button:hover{background:var(--lime);color:var(--navy)}.review-controls button:disabled{opacity:.3;cursor:default}.reviews{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 12px}.reviews::-webkit-scrollbar{display:none}.review{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;background:#15394c;border:1px solid #315165;border-radius:16px;padding:26px;display:flex;flex-direction:column;min-width:0}.quote-mark{font-family:Georgia,serif;color:var(--lime);font-size:76px;height:53px;line-height:1}.review blockquote{margin:12px 0 30px;font-size:15px;line-height:1.75;max-height:230px;overflow-y:auto;scrollbar-width:thin;padding-right:4px}.review-author{margin-top:auto;padding-top:17px;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;gap:10px;font-size:11px;align-items:center}.review-author a{color:#a1d3e6;white-space:nowrap}.review-progress{display:flex;gap:20px;align-items:center;margin-top:25px;font-size:11px;letter-spacing:2px}.progress-track{height:2px;background:#355162;flex:1}.progress-track span{display:block;width:5%;height:2px;background:var(--lime);transition:width .3s}.reasons{padding-top:76px;padding-bottom:72px}.section-star{color:var(--blue);font-size:82px;line-height:1}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.benefit{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.benefit-photo{height:190px;position:relative;overflow:hidden}.benefit-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.benefit:hover img{transform:scale(1.035)}.benefit-icon{position:absolute;bottom:14px;left:20px;background:var(--lime);border-radius:10px;width:42px;height:42px;display:grid;place-items:center}.benefit-icon svg{width:22px}.benefit-copy{padding:24px}.benefit h3{font-size:20px;line-height:1.15;letter-spacing:-.6px;max-width:250px;margin-bottom:12px}.benefit p{font-size:13px;color:#48616f;margin:0}.cta{display:grid;grid-template-columns:.65fr 1fr;gap:40px;background:var(--navy);color:#fff;padding:50px;border-radius:var(--radius);margin-bottom:72px;overflow:hidden}.cta h2{font-size:43px;line-height:1.08}.cta h2 span{color:var(--lime)}.cta p{font-size:14px;max-width:590px;color:#d0dee5;margin-bottom:25px}.cta-art{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.cta-art:before,.cta-art:after{content:'';position:absolute;border:1px solid #41728a;border-radius:50%;width:320px;height:320px;z-index:-1}.cta-art:after{width:230px;height:230px}.cta-art span{font-size:160px;font-weight:400;color:var(--cyan);margin-left:-50px;letter-spacing:-20px}.cta-art span:first-child{color:#23506a}.cta-art span:last-child{color:var(--lime)}footer{background:#fff;padding:44px 0 24px}.footer-brand{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid var(--line)}.footer-brand>img{width:230px}.social{display:flex;gap:25px;font-size:12px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:32px 0}.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;color:var(--blue)}.footer-grid p{font-size:13px;margin:0 0 10px}.footer-grid iframe{width:100%;height:130px;border:0;border-radius:10px}.badges{display:flex;align-items:center;justify-content:space-around;gap:35px;padding:25px 0 40px}.badges img{max-width:210px;max-height:48px;object-fit:contain}.copyright{border-top:1px solid var(--line);padding-top:20px;text-align:center;color:#5c727e;font-size:11px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}body.motion-paused{scroll-behavior:auto}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes fiber-breathe{to{opacity:.65;transform:scale(1.025)}}
@media(min-width:1450px){.service-grid{grid-template-rows:320px 320px}.fiber h1{font-size:124px}.fiber-content{padding:46px}.service-copy{padding:40px}.service-copy p{font-size:16px}.service-copy h2{font-size:64px}.homegrown{width:200px}.phone-art{right:-12px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.nav{gap:25px}.brand{width:215px}.nav nav{gap:20px}.service-grid{grid-template-columns:1fr 1fr;grid-template-rows:282px 282px}.fiber h1{font-size:83px}.fiber-content{padding:32px 25px}.service-copy{padding:26px 22px}.service-copy h2{font-size:48px}.homegrown{width:130px;right:20px}.service-copy p{font-size:13px}.tv .service-copy{padding-top:24px}.help-strip{padding:24px 0;gap:20px}.help-strip h2{font-size:18px}.device-icons{display:none}.coverage-intro{padding:34px}.coverage-intro h2{font-size:55px}.location{padding:34px}.review{flex-basis:calc((100% - 20px)/2)}.cta h2{font-size:34px}.cta{padding:36px}.benefit-photo{height:165px}}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.utility{font-size:10px;height:32px}.utility>div{gap:20px}.nav{height:77px;gap:16px}.brand{width:185px}.nav nav{display:none}.nav .signup{padding:12px 14px;gap:15px;font-size:12px}.menu-toggle{display:flex;gap:8px;align-items:center;border:0;background:none;padding:8px;font-size:12px}.menu-toggle span{font-size:19px}#mobile-nav{padding:12px 24px 20px;display:flex;gap:30px;font-size:14px;border-top:1px solid var(--line)}.announcement{height:34px}.marquee-track span{font-size:9px}.service-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:14px;margin-top:16px}.fiber{grid-row:auto;min-height:560px}.fiber-content{padding:32px}.fiber h1{font-size:104px;margin-top:32px}.fiber-art{width:100%;inset:0 0 0 auto}.homegrown{width:150px;bottom:27px;right:22px}.fiber-content p{font-size:14px}.phone,.tv{min-height:284px}.service-copy,.tv .service-copy{padding:30px;width:53%}.service-copy h2{font-size:55px}.service-copy p{font-size:14px}.phone-art{right:0;width:55%}.tv-art{width:55%;right:0}.help-strip{margin:34px 0;align-items:flex-start;flex-direction:column;gap:18px}.help-strip h2{font-size:23px;line-height:1.2}.help-strip .button{margin-left:0}.coverage{grid-template-columns:1fr;margin-bottom:44px}.coverage-intro{padding:32px}.coverage-intro h2{font-size:56px}.connection-art{height:190px}.location{padding:30px}.location-index{font-size:88px;margin-bottom:18px}.location p{max-width:100%}.location h3{font-size:27px}.testimonials{padding:42px 0 30px}.section-heading h2{font-size:34px;letter-spacing:-1px}.section-heading{align-items:flex-end;margin-bottom:26px}.review-controls{gap:6px}.review-controls button{width:35px;height:35px;font-size:20px}.review{flex-basis:92%;padding:24px}.review blockquote{max-height:280px}.reasons{padding-top:44px;padding-bottom:44px}.benefits-grid{grid-template-columns:1fr 1fr;gap:14px}.benefit-copy{padding:19px}.benefit h3{font-size:20px}.benefit p{font-size:13px}.benefit-photo{height:165px}.section-star{font-size:58px}.cta{grid-template-columns:1fr;padding:30px;gap:22px;margin-bottom:44px}.cta-art{height:140px;justify-content:flex-start;padding-left:35px}.cta-art span{font-size:130px}.cta-art:before{width:240px;height:240px;left:5px}.cta-art:after{width:170px;height:170px;left:40px}.cta h2{font-size:36px}.footer-brand{align-items:flex-start;gap:25px;flex-direction:column}.footer-brand>img{width:200px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.badges{gap:20px;flex-wrap:wrap;justify-content:flex-start}.badges img{max-width:140px;max-height:38px}.social{gap:25px}}
@media(max-width:440px){.brand{width:157px}.nav{gap:8px}.menu-toggle{font-size:0}.menu-toggle span{font-size:22px}.fiber-content{padding:28px}.fiber h1{font-size:clamp(62px,20.5vw,93px)}.fiber{min-height:554px}.homegrown{width:123px;bottom:34px;right:16px}.fiber-content .button{padding:16px 18px;gap:22px}.service-copy,.tv .service-copy{padding:28px 23px;width:56%}.service-copy h2{font-size:52px}.service-copy p{font-size:13px}.phone-art{right:-29px;width:60%}.tv-art{right:-30px;width:60%}.coverage-intro h2{font-size:49px}.benefits-grid{grid-template-columns:1fr}.benefit-photo{height:210px}.benefit-copy{padding:23px}.benefit h3{max-width:none;font-size:23px}.benefit p{font-size:14px}.section-heading h2{font-size:29px}.section-star{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.site-header{position:relative;z-index:30}.site-header .nav{gap:24px}.site-header .brand{width:220px;flex-shrink:0}.site-header .nav nav{gap:21px;align-items:center;font-size:13px}.site-header .signup{gap:22px;padding:14px 20px}.utility-right{display:flex;gap:25px}.nav a[aria-current=page]{color:var(--blue)}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;display:flex;gap:6px;cursor:pointer;align-items:center}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary span{font-size:17px}.nav-dropdown[open] summary{color:var(--blue)}.dropdown-panel{position:absolute;top:calc(100% + 21px);right:-28px;width:265px;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 40px #0a263724;padding:10px;display:flex;flex-direction:column;gap:2px}.dropdown-panel a{display:block;padding:12px 14px;border-radius:7px}.dropdown-panel a:hover{background:#e5f3f7}.nav-dropdown summary:focus-visible{outline:3px solid #da5a00;outline-offset:6px}.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:11px;line-height:1.7;padding-bottom:24px}.legal-links a:hover,.footer-grid a:hover{text-decoration:underline}.breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#536d7b;padding:28px 0 24px;line-height:1.5}.breadcrumbs a:hover{text-decoration:underline}.page-hero{padding-bottom:40px}.hero-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;padding:12px 0 20px}.hero-copy .eyebrow{font-size:11px;color:#326b8d;letter-spacing:1.8px;line-height:1.8;margin-bottom:22px}.hero-copy h1,.document-hero h1,.directory-hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(48px,5.5vw,82px);font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:-.8px;margin-bottom:27px;overflow-wrap:break-word}.hero-copy p{font-size:16px;color:#405f70;max-width:630px}.hero-copy .button{margin-top:24px}.hero-art{height:445px;position:relative;overflow:hidden;isolation:isolate;border-radius:24px;background:#dceef3;display:grid;place-items:center}.hero-art>img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.hero-art-photo img{object-fit:cover}.hero-art-phone{background:#87d8ed}.hero-art-phone>img{width:90%;height:90%;object-fit:contain;transform:rotate(-8deg)}.hero-art-tv{background:radial-gradient(ellipse at top right,#338ac4,#103c6c)}.hero-art-tv>img{width:97%;height:92%;object-fit:contain;transform:rotate(-4deg)}.hero-art-fiber{background:#082535}.hero-art-fiber .hero-fiber{position:absolute;inset:0;opacity:.7;object-fit:cover}.hero-art .hero-homegrown{position:absolute;width:170px;height:auto;right:26px;bottom:25px;transform:rotate(-6deg)}.hero-signal{position:absolute;width:170px;height:170px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 30px #edf3430b,0 0 0 70px #a4e9f40e;z-index:2;display:grid;place-items:center;color:var(--navy)}.hero-signal>span:first-child{font-size:27px;position:absolute;top:105px}.signal-arc{border:7px solid var(--navy);border-radius:100% 100% 0 0;border-bottom:0;position:absolute;top:44px;width:97px;height:42px}.signal-arc.b{width:63px;height:27px;top:67px}.signal-arc.c{display:none}.hero-art-mobile{background:radial-gradient(circle at 70% 25%,#dff78b,#84d9e6 55%,#3b9ac3)}.mobile-device{width:185px;height:344px;border:7px solid #082b3d;border-radius:30px;background:#113f63;box-shadow:20px 25px 0 #1534492b;transform:rotate(12deg);position:relative;z-index:2;overflow:hidden}.mobile-screen{height:100%;background:radial-gradient(ellipse at 100% 20%,#629eec,transparent 50%),linear-gradient(155deg,#133462,#206c9f);display:flex;flex-direction:column;align-items:flex-start;padding:54px 20px;color:white;overflow:hidden}.mobile-screen>span{font-size:19px;font-weight:800;font-style:italic}.mobile-screen strong{font-family:'Barlow Condensed',Impact,sans-serif;color:var(--lime);font-size:112px;line-height:1}.mobile-screen i{font-size:127px;font-style:normal;color:var(--lime);align-self:flex-end;line-height:.7}.mobile-camera{position:absolute;top:10px;left:55px;width:60px;height:13px;background:#062334;border-radius:15px}.mobile-home{position:absolute;bottom:10px;left:53px;width:65px;height:4px;background:#eafaff;border-radius:4px}.orbit-decoration{width:380px;height:380px;border:1px solid #ffffff99;border-radius:50%;position:absolute}.orbit-decoration:after{content:'';position:absolute;inset:-35px;border-radius:50%;border:1px solid #ffffff70}.hero-art-server{background:radial-gradient(ellipse at top right,#237b9a,#092634)}.server-stack{width:70%;transform:rotate(-7deg);display:grid;gap:15px}.server-stack>div{height:82px;border:1px solid #68bdd2;border-radius:11px;background:linear-gradient(120deg,#295a77,#0d304c);box-shadow:9px 12px 0 #01172470;display:flex;align-items:center;gap:12px;padding:20px}.server-stack span{width:24px;height:36px;border-radius:4px;border:1px solid #90e6f2}.server-stack i{font-size:12px;color:var(--lime);margin-left:auto;letter-spacing:6px;font-style:normal}.hero-glyph{font-size:240px;color:var(--blue);line-height:1}.page-section{padding:55px 0}.page-section .wrap>.content-row+.content-row{margin-top:36px}.tinted-section{background:#e6eff2}.content-row{display:grid;gap:34px;align-items:center}.cols-1{grid-template-columns:minmax(0,1fr)}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.content-column,.image-column{min-width:0}.content-column>.copy-module+.copy-module{margin-top:20px}.interior .copy-module p,.interior .copy-module li{font-size:16px;line-height:1.8;color:#40596a}.interior .copy-module h2{font-size:38px;line-height:1.1;letter-spacing:-1.2px}.interior .copy-module h3{font-size:27px;line-height:1.2;letter-spacing:-.6px}.interior .copy-module h4{font-size:20px;line-height:1.3}.interior .copy-module h5{font-size:18px}.interior .copy-module a:not(.button){color:#175e8b;text-decoration:underline;text-underline-offset:3px}.copy-module>div:empty{display:none}.content-column>.button{margin:20px 10px 0 0}.copy-module ul,.copy-module ol{padding-left:24px}.copy-module li+li{margin-top:9px}.source-image{margin:0}.source-image img{width:100%;max-height:490px;object-fit:cover;border-radius:19px}.coverage-card>.wrap>.content-row{background:var(--rd-surface,#fff);border:1px solid var(--rd-border,#d7e1e5);border-radius:22px;align-items:center;gap:0;padding:26px}.coverage-card>.wrap>.content-row>.content-column{padding:14px 26px 14px 18px}.coverage-card .source-image{margin:0;overflow:hidden;border-radius:22px}.coverage-card .source-image img{width:100%;height:auto;max-height:none;display:block;transition:transform .6s}@media(hover:hover){.coverage-card .source-image:hover img{transform:scale(1.035)}}@media(prefers-reduced-motion:reduce){.coverage-card .source-image:hover img{transform:none}}.content-row .plan-card>.button{margin-top:auto}@media(max-width:640px){.coverage-card>.wrap>.content-row{padding:18px}.coverage-card>.wrap>.content-row>.content-column{padding:10px 6px 4px}}.feature-row{align-items:stretch;gap:20px}.feature-column{display:flex;flex-direction:column;gap:20px}.feature-card{height:100%;padding:26px;background:white;border:1px solid #cadce4;border-radius:16px;box-shadow:0 4px 0 #cbdfe533}.feature-card h4,.feature-card h3{font-size:20px;line-height:1.25;letter-spacing:-.4px;margin:20px 0 12px}.feature-card p,.feature-card li{font-size:14px;line-height:1.7;color:#456272}.feature-card p:last-child{margin-bottom:0}.feature-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--lime);font-size:25px}.feature-card a:not(.button){color:#1a608d;text-underline-offset:3px}.hero-followup{padding:0 0 50px}.hero-followup .feature-card{padding:24px 20px}.hero-followup .feature-card h4{font-size:17px}.hero-followup .copy-module:has(strong){font-size:12px}.hero-followup .content-row+.content-row{margin-top:20px}.assistance-section{padding:25px 0}.assistance-section .content-row{background:var(--navy);color:white;border-radius:18px;padding:30px;grid-template-columns:1fr auto;gap:24px}.assistance-section .copy-module h2,.assistance-section .copy-module h3{font-size:25px}.assistance-section .copy-module p{color:#d9e7ee;margin-bottom:0}.assistance-section .button{background:var(--lime);color:var(--navy);white-space:nowrap;margin:0}.assistance-section .copy-module h2{margin-bottom:10px}.before-help + .page-section.assistance-section{padding-bottom:32px}@media(max-width:640px){.before-help + .page-section.assistance-section{padding-bottom:16px}}main .page-section.cta-flush-top{padding-top:0}.pledge-section{padding:35px 0 60px}.pledge-section .content-row{border:1px solid #b9d3de;background:#dfedf2;border-radius:20px;text-align:center;display:block;padding:38px}.pledge-section .source-image{display:none}.pledge-section p{max-width:850px;margin:0 auto}.pledge-section .copy-module h3{font-size:27px}.bundle-section{padding:22px 0}.bundle-section .content-row{background:var(--lime);border-radius:14px;padding:25px}.bundle-section .copy-module h2,.bundle-section .copy-module h3{font-size:26px;line-height:1.2;margin:0;text-align:center}.map-panel iframe,.embedded-content iframe{width:100%;height:390px;border:0;border-radius:17px}.embedded-content a{color:var(--blue)}.area-links-row{grid-template-columns:.9fr 1.1fr;align-items:start}.area-links-row .content-column:has(>.button){display:flex;flex-wrap:wrap;align-items:flex-start;gap:9px}.area-links-row .content-column>.copy-module{width:100%;margin-top:0}.area-links-row .button{font-size:12px;background:white;color:var(--ink);border:1px solid #c0d4dd;padding:10px 13px;margin:0;gap:8px}.area-links-row .copy-module h4{font-size:14px}.area-links-stacked>.wrap>.area-links-row{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:22px}.area-links-stacked>.wrap>.area-links-row>.content-column{max-width:760px}.area-links-stacked>.wrap>.area-links-row>.content-column:has(>.button){justify-content:center;max-width:860px}.service-rhythm .page-section.area-links-stacked{padding-bottom:24px}.coverage-section .content-row:has(.embedded-content:empty){display:block}.document-hero,.directory-hero{padding-top:35px;padding-bottom:40px}.document-hero .eyebrow,.directory-hero .eyebrow{color:var(--blue);margin:30px 0 20px}.document-hero h1,.directory-hero h1{max-width:900px;font-size:72px}.document-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:60px;padding:10px 0 70px;align-items:start}.contents{position:sticky;top:25px;max-height:85vh;overflow:auto;background:#dfedf2;border-radius:14px;padding:24px}.contents h2{font-size:18px;letter-spacing:0}.contents a{display:block;font-size:12px;line-height:1.5;padding:9px 0;border-bottom:1px solid #bfd4df}.contents a:hover{color:var(--blue)}.document-body{font-size:16px;line-height:1.85;min-width:0;overflow-wrap:anywhere}.document-body h2{font-size:29px;letter-spacing:-.5px;margin:38px 0 16px}.document-body h3,.document-body h4{font-size:23px;margin-top:28px}.document-body p{margin-bottom:20px;line-height:1.85}.document-body a{color:var(--blue);text-decoration:underline}.document-body li{padding-left:4px;margin-bottom:9px}.document-body table{border-collapse:collapse;width:100%}.document-body td,.document-body th{padding:14px;border:1px solid #b9cbd3}.faq-page .hero-layout{grid-template-columns:1.4fr .6fr}.faq-page .hero-art{height:240px}.faq-page .hero-glyph{font-size:160px}.faq-list{max-width:950px;margin:0 auto;display:grid;gap:12px}.faq-entry{border:1px solid #c6d9e1;border-radius:14px;background:white;overflow:hidden}.faq-entry summary{list-style:none;cursor:pointer;padding:24px 62px 24px 24px;font-size:19px;font-weight:650;position:relative;line-height:1.5}.faq-entry summary::-webkit-details-marker{display:none}.faq-entry summary:after{content:'+';position:absolute;right:25px;top:24px;font-size:25px;color:var(--blue)}.faq-entry[open] summary:after{content:'−'}.faq-entry[open] summary{background:#e6f1f5}.faq-entry>div{padding:25px;line-height:1.8;color:#3d5b6e}.faq-entry p:last-child{margin-bottom:0}.directory-tools{display:flex;align-items:center;gap:22px;padding:26px 0 34px;border-bottom:1px solid var(--line);margin-bottom:30px}.directory-tools label{font-size:14px;font-weight:700}.directory-tools input{max-width:430px;width:100%;padding:16px 20px;border:1px solid #9ebcca;border-radius:9px;font:inherit;background:white}.directory-tools>span{margin-left:auto;font-size:13px;white-space:nowrap;color:#5e7a87}.town-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.town-card{border:1px solid #c4d7df;border-radius:16px;padding:25px;background:white;transition:transform .2s,background .2s}.town-card:hover{transform:translateY(-4px);background:#e1f0f5}.town-card h2{font-size:23px;line-height:1.2;letter-spacing:-.5px;margin:20px 0 15px}.town-card>span:last-child{font-size:12px;font-weight:700;color:var(--blue)}.town-icon{width:39px;height:39px;background:var(--lime);display:grid;place-items:center;border-radius:50%;font-size:27px}.town-card[hidden]{display:none}.index-group{margin-top:45px}.index-group h2{font-size:29px}.index-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.index-links a{display:flex;justify-content:space-between;gap:18px;background:white;border:1px solid #c6dbe3;border-radius:10px;padding:20px;font-size:15px}.index-links a:hover{border-color:var(--blue)}.plan-card{background:white;border:1px solid #bad0dd;border-radius:18px;padding:30px;height:100%}.plan-card h3{font-size:23px;margin:0 0 10px}.plan-card>div>div{margin-bottom:10px}.plan-card .button{margin-top:18px}.plan-card>div>div:nth-child(3){font-size:47px;font-family:'Barlow Condensed',Impact,sans-serif;color:var(--blue);font-weight:700}.plan-card>div>div:nth-child(n+5){font-size:13px;line-height:1.6}.content-row:has(.plan-card){align-items:stretch}.content-row:has(.plan-card)>.content-column{height:100%}.guide-page .source-image img{object-fit:contain;max-height:none;background:#fff;padding:12px;border:1px solid #c7dbe4;border-radius:12px}.guide-page .copy-module img{max-width:100%;height:auto}.guide-page .hero-art>img{object-fit:contain;background:#dfedf2;padding:30px}.guide-page .content-row{align-items:start}.guide-page .copy-module table{width:100%;border-collapse:collapse}.guide-page td{border:1px solid #bcd1db;padding:12px}.local-page .copy-module:has(iframe){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.local-page iframe{width:100%;height:260px;border:0;border-radius:12px}.local-page .copy-module .nav-single{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 28px}.prototype-form{background:white;border:1px solid #bfd5df;padding:34px;border-radius:19px;min-width:0}.prototype-notice{padding:14px 18px;background:#eef3d8;border-left:3px solid #cad335;border-radius:5px;font-size:13px;line-height:1.6;margin:0 0 25px}.prototype-form .gform_fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.prototype-form .gfield{min-width:0;border:0;padding:0;margin:0;grid-column:1/-1}.prototype-form .gfield--width-half{grid-column:span 1}.prototype-form label,.prototype-form legend{display:block;font-size:13px;font-weight:650;margin-bottom:9px;color:var(--ink)}.prototype-form .gfield_required{color:#8a3a25;margin-left:3px}.prototype-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.prototype-form select,.prototype-form textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;border:1px solid #b5ccd7;border-radius:7px;background:#f8fbfc;color:var(--ink);min-height:46px}.prototype-form textarea{min-height:140px;resize:vertical}.prototype-form input:focus,.prototype-form textarea:focus,.prototype-form select:focus{outline:2px solid #3c89b5;outline-offset:2px}.prototype-form .ginput_complex{display:flex;gap:15px;flex-wrap:wrap}.prototype-form .ginput_complex>span{flex:1 1 120px}.prototype-form .ginput_complex .address_line_1{flex-basis:100%}.prototype-form .gchoice{display:flex;align-items:center;gap:10px}.prototype-form .gchoice input{margin:0;width:17px;height:17px;accent-color:var(--blue);flex-shrink:0}.prototype-form .gchoice label{margin:0;font-size:14px;font-weight:400}.prototype-form .gfield_checkbox,.prototype-form .gfield_radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.prototype-form .gfield--type-checkbox{padding:20px;background:#eef5f7;border-radius:10px}.prototype-form .gfield--type-checkbox legend{padding:0 5px}.prototype-form .gform_footer{display:none}.prototype-form .preview-submit{margin-top:28px}.prototype-form .form-result{margin:20px 0 0;padding:15px;background:#dff1e9;border-radius:8px;font-size:14px}.signup-form-wrap{margin-bottom:55px}.contact-page .content-row{align-items:start}.contact-page .cols-2{grid-template-columns:.7fr 1.3fr}.contact-page .source-image img{width:40px;height:40px;object-fit:contain}.contact-page .image-column{display:none}.contact-page .copy-module h2{font-size:35px}.sample-body{padding:0 0 65px;line-height:1.8}.sample-body h2{font-size:32px}.sample-body a{color:var(--blue)}.interior video{max-width:100%;border-radius:14px}.embedded-content:empty{display:none}
@media(max-width:1200px){.site-header .brand{width:185px}.site-header .nav{gap:18px}.site-header .nav nav{gap:15px;font-size:12px}.site-header .signup{gap:12px;font-size:12px;padding:13px 16px}.hero-layout{gap:35px}.hero-art{height:380px}.hero-copy h1{font-size:62px}.content-row{gap:25px}.content-row.cols-5{gap:12px}.feature-card{padding:22px}.town-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.site-header .nav nav{display:none}.site-header .menu-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;padding:10px}.site-header .brand{width:220px}.site-header .nav{height:80px}#mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:25px 32px;border-top:1px solid var(--line);background:white}#mobile-nav>div{display:flex;flex-direction:column;gap:13px}#mobile-nav a{font-size:13px}#mobile-nav strong{font-size:11px;color:#46778f;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.hero-copy h1{font-size:52px}.hero-copy p{font-size:15px}.hero-layout{gap:25px}.hero-art{height:340px}.hero-art .hero-homegrown{width:130px}.hero-signal{transform:scale(.8)}.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.content-row h2{font-size:31px!important}.content-row h3{font-size:24px!important}.interior .copy-module p,.interior .copy-module li{font-size:15px}.document-layout{grid-template-columns:200px minmax(0,1fr);gap:30px}.document-hero h1{font-size:58px}.town-grid{gap:14px}.index-links{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card{padding:23px}.mobile-device{transform:scale(.85) rotate(12deg)}.prototype-form{padding:24px}.contact-page .cols-2{grid-template-columns:1fr}.contact-page .cols-2>.content-column:first-child{display:flex;flex-wrap:wrap;gap:10px 25px}.contact-page .cols-2>.content-column:first-child .copy-module{width:100%;margin:0}.contact-page .cols-2>.content-column:first-child .source-image{display:none}}
@media(max-width:640px){.site-header .brand{width:170px}.site-header .nav{gap:12px}.utility-right>a[href^="tel:"]{display:none}.site-header .utility-right{gap:0}#mobile-nav{grid-template-columns:1fr 1fr;padding:24px;gap:26px}#mobile-nav>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}#mobile-nav>div:last-child strong{grid-column:1/-1}.page-hero{padding-bottom:24px}.breadcrumbs{font-size:10px;padding:22px 0;gap:8px}.hero-layout{grid-template-columns:1fr;gap:30px;padding:6px 0 14px}.hero-copy h1{font-size:56px;max-width:520px}.hero-copy .eyebrow{font-size:10px;margin-bottom:18px}.hero-copy p{font-size:16px}.hero-art{height:310px}.hero-art-photo{height:330px}.hero-art-phone>img{width:75%}.hero-art-tv>img{width:85%}.hero-art-mobile{height:350px}.hero-signal{transform:scale(.75)}.hero-art .hero-homegrown{width:133px}.page-section{padding:34px 0}.hero-followup{padding-top:0}.content-row,.cols-2,.cols-3,.cols-4,.cols-5{grid-template-columns:1fr;gap:26px}.feature-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card{padding:20px}.feature-card h4,.feature-card h3{font-size:18px!important}.feature-card p,.feature-card li{font-size:13px}.hero-followup .feature-card{padding:19px}.hero-followup .feature-card h4{font-size:16px}.content-row .copy-module h2{font-size:32px!important}.source-image img{max-height:330px}.content-column>.copy-module+.copy-module{margin-top:18px}.interior .copy-module p,.interior .copy-module li{font-size:16px;line-height:1.8}.assistance-section{padding:20px 0}.assistance-section .content-row{display:flex;flex-direction:column;align-items:flex-start;padding:25px}.assistance-section .copy-module h2{font-size:25px!important}.pledge-section .content-row{padding:26px}.pledge-section{padding:30px 0 45px}.bundle-section .copy-module h2{font-size:24px!important}.map-panel iframe{height:300px}.area-links-row{grid-template-columns:1fr}.area-links-row .button{padding:11px 13px}.document-hero{padding-top:20px;padding-bottom:20px}.document-hero h1,.directory-hero h1{font-size:52px}.document-layout{display:flex;flex-direction:column;gap:30px}.contents{position:static;max-height:230px;width:100%;padding:22px}.contents a{font-size:13px}.document-body{font-size:15px}.document-body h2{font-size:27px}.document-body h3{font-size:22px}.faq-page .hero-layout{grid-template-columns:1fr}.faq-page .hero-art{display:none}.faq-entry summary{font-size:16px;padding:20px 48px 20px 20px}.faq-entry summary:after{right:20px;top:17px}.faq-entry>div{padding:20px;font-size:15px}.directory-tools{align-items:stretch;flex-direction:column;gap:12px;padding:15px 0 25px}.directory-tools>span{margin-left:0}.directory-tools input{max-width:none}.town-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.town-card{padding:20px 16px}.town-card h2{font-size:21px}.index-links{grid-template-columns:1fr}.index-group h2{font-size:27px}.content-row:has(.plan-card){grid-template-columns:1fr}.local-page .copy-module:has(iframe){grid-template-columns:1fr}.prototype-form{padding:22px}.prototype-form .gform_fields{grid-template-columns:1fr}.prototype-form .gfield--width-half{grid-column:1/-1}.prototype-form .gfield_checkbox{grid-template-columns:1fr}.signup-form-wrap{margin-bottom:35px}.legal-links{justify-content:flex-start;font-size:11px}.guide-page .source-image img{max-height:none}.guide-page .hero-art>img{padding:18px}.sample-body img{width:100%}}
@media(prefers-reduced-motion:reduce){.town-card{transition:none}}
.hero-signal svg{width:105px;height:105px;display:block}.content-row:has(.feature-card){align-items:stretch}.content-column:has(>.feature-card){display:flex;flex-direction:column}.content-column:has(>.feature-card)>.feature-card{flex:1}.source-image img{background:#dce9ee}
/* Revision: meaningful feature icons, utility support, and stronger service pledge. */
.feature-symbol{width:44px;height:44px;border-radius:12px;background:#e1eff4;color:#22698e;font-size:22px;flex-shrink:0;margin-bottom:17px}
.feature-symbol svg{display:block;width:26px;height:26px}
.step-symbol{font-weight:750;background:var(--navy);color:white}
.feature-card:has(.feature-symbol) h3,.feature-card:has(.feature-symbol) h4{margin-top:0}
.nav-dropdown summary{align-items:center;line-height:1.3;gap:6px}
.nav-chevron{display:block;width:14px;height:14px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-dropdown[open] .nav-chevron{transform:rotate(180deg)}
.utility .nav-dropdown{display:flex;align-items:center;height:100%;z-index:40}
.utility .nav-dropdown summary{height:100%;display:flex}
.utility .dropdown-panel{top:calc(100% + 4px);right:-15px;font-size:13px;font-weight:600;line-height:1.4}
.utility .dropdown-panel a{height:auto}
.pledge-section .content-row{background:#132f40;border:1px solid #132f40;color:white;padding:46px 38px;position:relative;overflow:hidden}
.pledge-section .copy-module h2,.pledge-section .copy-module h3{color:white}
.pledge-section .copy-module p{color:#eff5f8;line-height:1.85}
.pledge-section .copy-module a{color:#b9e5f3}
.pledge-section .content-row:before{content:'';display:block;width:46px;height:4px;background:var(--lime);margin:0 auto 23px;border-radius:3px}
.source-image.referral-artwork{background:#e6f0f4;border-radius:19px;padding:22px}
.source-image.referral-artwork img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:transparent;border-radius:0}
@media(max-width:640px){
 .site-header .utility{height:auto;min-height:38px;gap:8px;font-size:10px}
 .site-header .utility>div{gap:12px}
 .site-header .utility-right{gap:12px}
 .site-header .utility .portal-link{display:inline}
 .site-header .utility-right>a[href^="tel:"]{display:none}
 .utility .dropdown-panel{right:0;width:min(265px,calc(100vw - 32px));font-size:13px}
 .utility .nav-dropdown summary{min-height:38px}
 .nav-chevron{width:12px;height:12px}
 .pledge-section .content-row{padding:32px 24px}
 .source-image.referral-artwork{padding:14px}
 .source-image.referral-artwork img{max-height:none}
}
/* Homepage mobile service announcement: a full-width third grid row. */
.mobile-announcement{grid-column:1/-1;display:flex;align-items:center;gap:20px;min-height:84px;padding:18px 30px;background:linear-gradient(105deg,#22698e,#315f98);color:white;text-decoration:none;transition:filter .2s}
.mobile-announcement:hover{filter:brightness(1.08)}
.mobile-announcement-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:46px;color:var(--lime)}
.mobile-announcement-icon svg{display:block;width:30px;height:36px}
.mobile-announcement-copy{font-size:19px;line-height:1.5;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px}
.mobile-announcement-copy strong{font-weight:750}
.mobile-announcement-copy>span{color:#e7f3f8;font-size:17px}
.help-strip .device-icons{flex-shrink:0}
@media(max-width:720px){.mobile-announcement{gap:13px;padding:18px 20px;min-height:84px}.mobile-announcement-copy{font-size:18px;line-height:1.4;gap:4px}.mobile-announcement-copy>span{font-size:15px}.mobile-announcement-icon{flex-basis:30px;width:30px}.mobile-announcement-icon svg{width:27px;height:33px}}
@media(prefers-reduced-motion:reduce){.mobile-announcement{transition:none}}
/* AW Go launch, adapted from the supplied postcard. */
.awgo-launch{position:relative;isolation:isolate;margin-top:24px;border-radius:24px;overflow:hidden;border:1px solid #0060b8;background:#fff;color:#092c45;display:grid;grid-template-columns:1fr;min-height:380px}
.awgo-landscape{position:absolute;inset:0 0 0 auto;width:72%;height:100%;object-fit:cover;object-position:center 55%;mask-image:linear-gradient(90deg,transparent 0%,#000 58%);z-index:-2}
.awgo-launch+.service-grid{margin-top:18px}
.awgo-copy{padding:30px 38px 32px;max-width:650px}
.awgo-brand-row{display:flex;gap:20px;align-items:center;margin-bottom:18px}
.awgo-logo{width:208px;height:auto}
.awgo-new{background:#0061b9;color:white;letter-spacing:1.3px;font-size:11px;font-weight:800;border-radius:5px;padding:6px 10px;transform:rotate(-5deg)}
.awgo-copy h2{font-family:'DM Sans',sans-serif;font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-1.1px;margin:0 0 15px;max-width:540px}
.awgo-copy h2 em{font-style:normal;color:#9c4b00;white-space:nowrap}
.awgo-copy p{font-size:15px;line-height:1.65;margin-bottom:20px;color:#294f65}
.awgo-button{background:#ef8514;color:#092b42;gap:23px;padding:13px 19px;font-size:13px}
.awgo-button:hover{background:#ff9a2c}
.awgo-bundle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 38px;background:#0060b8;color:white}
.awgo-bundle strong{font-size:16px;letter-spacing:-.15px}.awgo-bundle strong span{color:#ffd096}
.awgo-bundle>span{font-size:14px}.awgo-bundle b{color:#8dddf5;margin:0 7px;font-weight:400}
@media(max-width:950px){.awgo-copy{max-width:570px;padding:28px}.awgo-copy h2{font-size:32px}.awgo-bundle{padding:17px 28px;gap:8px}.awgo-landscape{width:85%;object-position:65% center}}
@media(max-width:640px){.awgo-launch{margin-top:16px;min-height:0;padding-top:0}.awgo-copy{padding:24px 24px 180px;max-width:none}.awgo-logo{width:178px}.awgo-brand-row{gap:16px}.awgo-copy h2{font-size:31px;letter-spacing:-.8px}.awgo-copy h2 br{display:none}.awgo-copy h2 em{white-space:normal}.awgo-copy p{font-size:14px}.awgo-landscape{top:auto;bottom:84px;height:280px;width:100%;object-position:center 60%;mask-image:linear-gradient(180deg,transparent 0%,#000 60%)}.awgo-launch+.service-grid{margin-top:14px}.awgo-bundle{padding:19px 24px;gap:8px}.awgo-bundle strong{font-size:15px}.awgo-bundle>span{font-size:13px}.awgo-bundle b{margin:0 4px}}

/* Panhandle artwork supplied from the legacy truss banner. */
.coverage-map-layout{grid-template-columns:1fr 1fr;background:#e8f2f5;align-items:stretch}
.panhandle-map{margin:0;background:#216785;position:relative;padding:22px 22px 0;display:flex;flex-direction:column;align-items:center}
.panhandle-map img{width:100%;height:700px;object-fit:contain}
.panhandle-map figcaption{color:#fff;font-size:11px;line-height:1.5;padding:15px 5px;text-align:center}
.coverage-map-layout .location{padding:48px;justify-content:center}
.coverage-map-layout .coverage-intro{background:none;color:var(--navy);padding:0;overflow:visible;margin-bottom:30px}
.coverage-map-layout .coverage-intro h2{font-size:clamp(44px,4.7vw,65px);margin:20px 0;line-height:1}
.coverage-map-layout .coverage-intro h2 span{color:var(--blue)}
.coverage-map-layout .coverage-intro p{margin:0}
.coverage-map-layout .location-index{font-size:86px;margin-bottom:16px}
.coverage-map-layout .location-rule{margin-top:12px}
@media(max-width:950px){.coverage-map-layout .location{padding:30px}.panhandle-map{padding:12px 12px 0}.panhandle-map img{height:680px}.coverage-map-layout .location h3{font-size:25px}}
@media(max-width:640px){.coverage-map-layout{grid-template-columns:1fr}.coverage-map-layout .location{grid-row:1;padding:30px 25px}.coverage-map-layout .coverage-intro{margin-bottom:24px}.coverage-map-layout .coverage-intro h2{font-size:49px}.coverage-map-layout .location-index{font-size:70px}.panhandle-map{padding:18px 18px 0}.panhandle-map img{height:auto;max-height:none}.panhandle-map figcaption{font-size:10px}}

/* Map contrast, enlargement and scroll-triggered CTA arrows. */
.coverage-map-layout,.coverage-map-layout .panhandle-map{background:#292e33;color:#fff}
.coverage-map-layout .coverage-intro{color:#fff}
.coverage-map-layout .coverage-intro h2 span,.coverage-map-layout .location-index{color:#79d7f3}
.coverage-map-layout .location .button{background:var(--lime);color:var(--navy)}
.map-expand{display:block;position:relative;width:100%;border:0;padding:0;background:none;color:#fff;cursor:zoom-in;overflow:hidden;border-radius:var(--radius)}
.map-expand img{width:auto;max-width:100%;margin-inline:auto;border-radius:var(--radius);transition:transform .5s ease}
@media(hover:hover){.map-expand:hover img{transform:scale(1.035)}}
.map-expand:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.map-zoom-label{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);background:#101e2def;border:1px solid #9ccada;border-radius:30px;padding:10px 16px;font-size:12px;white-space:nowrap;pointer-events:none}
.map-lightbox{width:min(960px,94vw);max-width:94vw;max-height:92vh;padding:20px;border:1px solid #607581;border-radius:18px;background:#20262c;color:white;overscroll-behavior:contain}
.map-lightbox::backdrop{background:#06111ce6}
.map-dialog-toolbar{position:sticky;top:-20px;background:#20262c;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;z-index:1}
.map-dialog-toolbar h2{font-size:24px;letter-spacing:-.4px;margin:0}
.map-close{border:1px solid #8597a3;border-radius:7px;background:#fff;color:#102e41;padding:10px 15px;font-size:14px}
.map-lightbox>p{font-size:13px;color:#d5e4ea;margin:4px 0 18px}
.map-lightbox>img{width:100%;height:auto;border-radius:var(--radius)}
body.map-modal-open{overflow:hidden}
.cta.arrows-ready .cta-art span{transform:translateX(calc(var(--stack-offset,0px) * var(--arrow-stack,1)));transition:none}

@media(prefers-reduced-motion:reduce){.cta.arrows-ready .cta-art span{transform:none}.map-expand:hover img{transform:none}}
body.motion-paused .cta.arrows-ready .cta-art span{transform:none;transition:none}

.tv .tv-photo{right:-17px;bottom:36px;width:61%;height:auto;transform:rotate(-5deg);filter:drop-shadow(0 16px 16px #041c4260)}
.tv:hover .tv-photo{transform:rotate(-2deg)}
@media(max-width:720px){.tv .tv-photo{right:-15px;bottom:38px;width:61%}}

.fiber .homegrown{width:clamp(180px,21vw,260px)}
.awgo-bundle a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff70;transition:color .2s}
.awgo-bundle a:hover{color:#ffd096;text-decoration-color:currentColor}
.awgo-bundle a:focus-visible{outline-color:white}
@media(max-width:720px){.fiber .homegrown{width:180px}}
@media(max-width:380px){.fiber .homegrown{width:155px}}

/* Keep primary navigation visible while the utility row scrolls away. */
.site-header{position:sticky;top:calc(-1 * var(--utility-height,38px));z-index:50;box-shadow:0 3px 14px #092c4510}
html{scroll-padding-top:calc(var(--primary-nav-height,91px) + 20px)}
#mobile-nav{max-height:calc(100dvh - var(--primary-nav-height,91px));overflow-y:auto}

/* Floating primary-navigation capsule after the utility row leaves view. */
.site-header.nav-floating{background:transparent;box-shadow:none;pointer-events:none}
.site-header.nav-floating .utility{visibility:hidden;pointer-events:none}
.site-header.nav-floating .nav{pointer-events:auto;position:relative;transform:translateY(12px);background:#fff;border:1px solid #d7e1e5;border-radius:22px;box-shadow:0 8px 30px #0a26371f;padding-inline:24px}
.site-header.nav-floating #mobile-nav:not([hidden]){pointer-events:auto;position:relative;transform:translateY(18px);width:calc(100% - 80px);max-width:1360px;margin-inline:auto;border:1px solid #d7e1e5;border-radius:18px;box-shadow:0 10px 28px #0a263724;max-height:calc(100dvh - var(--primary-nav-height,91px) - 40px)}
html{scroll-padding-top:calc(var(--primary-nav-height,91px) + 36px)}
@media(max-width:1200px){.site-header.nav-floating .nav{padding-inline:18px}}
@media(max-width:720px){.site-header.nav-floating .nav{transform:translateY(10px);padding-inline:12px;border-radius:18px;gap:8px}.site-header.nav-floating .brand{width:150px}.site-header.nav-floating #mobile-nav:not([hidden]){width:calc(100% - 32px)}}
@media(max-width:380px){.site-header.nav-floating .brand{width:125px}}
@media(max-width:380px){.site-header.nav-floating .nav{gap:6px;padding-inline:10px}.site-header.nav-floating .brand{width:110px}.site-header.nav-floating .signup{white-space:nowrap;font-size:11px;padding:12px 10px;gap:7px}.site-header.nav-floating .signup span{font-size:18px}.site-header.nav-floating .menu-toggle{padding:10px}}

.hero-art-referral-video{height:auto;aspect-ratio:16/9;min-width:0;background:#0a2637;border:1px solid var(--line)}
.hero-art-referral-video iframe{display:block;width:100%;height:100%;border:0}
.hero-layout:has(.hero-art-referral-video){grid-template-columns:.85fr 1.15fr;align-items:center;padding-block:22px 36px}
@media(max-width:640px){.hero-layout:has(.hero-art-referral-video){grid-template-columns:1fr;padding-block:6px 18px}.hero-art-referral-video{height:auto}}

/* Restore the source referral program's five connected reward bands. */
.referral-reward-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:28px 38px;min-height:210px;border-radius:var(--radius);margin-top:16px;background:#00c1f2;color:#092c45}
.referral-step-2{background:#04abe9}.referral-step-3{background:#0091e0}.referral-step-4{background:#0281cc}.referral-step-5{background:#0162a7;color:white}
.referral-step-label p{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:46px;line-height:1.1;text-transform:uppercase;max-width:490px;margin:0;letter-spacing:-.5px}
.referral-step-label b{font-weight:800}
.referral-reward{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.referral-reward-intro{font-size:14px;text-transform:uppercase;letter-spacing:1px}
.referral-reward-value{display:block;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:82px;line-height:1;font-weight:700;letter-spacing:-1px}
.referral-reward-value sup{font-family:'DM Sans',sans-serif;font-size:30px;vertical-align:top;line-height:1.6;margin-right:4px}
.referral-reward-note{font-size:15px;line-height:1.5}
.referral-step-4 .referral-reward-note,.referral-step-4 .referral-reward-intro{color:#061e2c}
.referral-step-5 .referral-reward-value{color:var(--lime)}
@media(max-width:640px){.referral-reward-row{grid-template-columns:1fr;gap:22px;padding:28px 22px;min-height:0;text-align:center}.referral-step-label p{font-size:34px;max-width:none}.referral-reward-value{font-size:72px}.referral-reward-note{font-size:14px}}

/* Shared service-help icons and simplified Internet coverage section. */
.assistance-section .service-help-row{display:flex;align-items:center;gap:28px}
.service-help-row>.device-icons{flex-shrink:0}
.service-help-row>.content-column:has(.button){margin-left:auto;flex-shrink:0}
.service-help-row .button{white-space:nowrap}
.coverage-heading-centered{text-align:center;justify-items:center}
/* section-centered: centre a section's OWN intro copy (heading + lede) and
   nothing nested inside it. Rylee's review asked for this on 48 sections; the
   obvious shortcut, text-align:center on the section, also centred every FAQ
   question and answer and every card body, which nobody asked for.

   Three shapes carry that intro, and only these three centre:
     a) a .copy-module sitting directly in the .wrap;
     b) a .content-row whose ONLY child is a .content-column. The column also
        gets margin-inline:auto, because an instruction-row caps its column at
        900px and pins it left, so centring the text alone lands it at the
        column's centre, not the section's;
     c) a .content-row flanked by an .image-column on BOTH sides, which is
        symmetric, so its single content column already sits centred.
   Everything else is left alone on purpose. An asymmetric image+text row
   (eFax) must NOT match: centring inside the narrow text column pushes the
   heading further off-centre than it started. Those sections want vertical
   centring instead, which is a different fix.
   Measured on the published pages, not inferred: the matching sections'
   headings land on the viewport centre at 1440px and 375px, every nested card
   and FAQ heading keeps its exact prior position, and scrollWidth is
   unchanged. */
.section-centered>.wrap>.content-row:not(:has(>*~*))>.content-column{margin-inline:auto}
.section-centered>.wrap>.content-row:not(:has(>*~*))>.content-column>.button,.section-centered>.wrap>.content-row:not(:has(>*~*))>.content-column>.rd-btn{display:flex;width:fit-content;margin-inline:auto}
.section-centered>.wrap>.copy-module,
.section-centered>.wrap>.content-row:not(:has(>*~*))>.content-column>.copy-module,
.section-centered>.wrap>.content-row:has(>.image-column:first-child):has(>.image-column:last-child):not(:has(>.content-column~.content-column))>.content-column>.copy-module{text-align:center}
.section-centered>.wrap>.copy-module>*,
.section-centered>.wrap>.content-row:not(:has(>*~*))>.content-column>.copy-module>*,
.section-centered>.wrap>.content-row:has(>.image-column:first-child):has(>.image-column:last-child):not(:has(>.content-column~.content-column))>.content-column>.copy-module>*{margin-left:auto;margin-right:auto}
/* section-measured: hold a section's OWN prose to the same contained 950px
   column the FAQ list uses, instead of letting it run the full 1236px wrap.
   Rylee asked for this on /telephone-service#phone-package: the copy ran edge
   to edge while every section around it was contained, so it read as unstyled.
   950px is not a new number — it is .faq-list's, and that list sits directly
   below this section on the same page.
   Pairs with section-centered rather than repeating it: that class centres the
   copy-modules, this one sets the measure. The exception is the direct
   > .wrap > p, the trailing link line, which sits outside any copy-module and
   so is the one piece section-centered cannot reach — a centred column with a
   left-flushed link line under it looks broken, so it is centred here.
   Scoped to direct children, so nested cards, tables and accordions keep their
   own widths. */
.section-measured>.wrap>.copy-module,.section-measured>.wrap>p{max-width:950px;margin-inline:auto}
.section-measured>.wrap>p{text-align:center}
/* ---- channel lineup (AwChannelLineup) ----------------------------------
   Tabs per package, a sortable table under them. Header cells are real
   buttons so the sort is reachable by keyboard, and the table scrolls inside
   its own wrapper on narrow screens rather than widening the page. */
.channel-lineup{margin-top:24px}
.channel-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.channel-tabs{display:flex;flex-wrap:wrap;gap:8px}
.channel-pdf{flex-shrink:0;white-space:nowrap}
@media(max-width:720px){.channel-toolbar{flex-direction:column}.channel-pdf{align-self:stretch;text-align:center;justify-content:center}}
.channel-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.channel-tabs button:hover{border-color:var(--blue)}
.channel-tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}
.channel-count{display:inline-block;min-width:20px;padding:1px 6px;border-radius:999px;background:#0000001a;font-size:12px;font-weight:700;text-align:center}
.channel-tabs button.on .channel-count{background:#ffffff2e}
.channel-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.channel-table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}
.channel-table th,.channel-table td{padding:12px 16px;border-bottom:1px solid var(--line)}
.channel-table tbody tr:last-child td{border-bottom:0}
.channel-table thead th{position:sticky;top:0;background:var(--paper);padding:0;white-space:nowrap}
.channel-table thead th button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.channel-table thead th button:hover{color:var(--blue)}
.channel-table thead th:not(:has(button)){padding:12px 16px;font-weight:700}
.channel-table .ch-num{width:110px;font-variant-numeric:tabular-nums}
.channel-table .ch-pkg{color:#506975;font-size:14px;white-space:nowrap}
.channel-table tbody tr:nth-child(odd){background:#0000000a}
.channel-footnote{margin-top:16px;font-size:14px;color:#506975}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html[data-theme=dark] .channel-tabs button.on{background:#8cd1f2;border-color:#8cd1f2;color:#102e41}
html[data-theme=dark] .channel-count{background:#ffffff1f}
html[data-theme=dark] .channel-table tbody tr:nth-child(odd){background:#ffffff0a}
html[data-theme=dark] .channel-table .ch-pkg,html[data-theme=dark] .channel-footnote{color:#9fb6c2}
@media(max-width:640px){.channel-table th,.channel-table td,.channel-table thead th button{padding:10px 12px}.channel-table{font-size:14px}.channel-table .ch-num{width:78px}}
.coverage-heading-centered .copy-module p{margin-bottom:0}
@media(max-width:950px){.assistance-section .service-help-row{flex-wrap:wrap}.service-help-row>.content-column:has(.button){margin-left:0}}
@media(max-width:640px){.assistance-section .service-help-row{align-items:flex-start;gap:20px}.service-help-row>.device-icons{gap:12px}.service-help-row>.device-icons svg{width:29px;height:29px}}
.assistance-section .service-help-row>.device-icons{color:#79d7f3}

/* A lighter homepage-style help strip before the Internet pledge. */
.homepage-help-section{padding:32px 0 24px}
.assistance-section.homepage-help-section .service-help-row{background:transparent;color:var(--ink);border-radius:0;border-block:1px solid var(--line);padding:28px;box-shadow:none}
.homepage-help-section .service-help-row .copy-module h2{color:var(--ink);font-size:25px!important;letter-spacing:-.6px}
.homepage-help-section .service-help-row .copy-module p{color:#506975;font-size:14px;margin-bottom:0}
.assistance-section.homepage-help-section .service-help-row>.device-icons{color:var(--blue)}
.homepage-help-section .service-help-row .button{background:var(--navy);color:white}
@media(max-width:640px){.assistance-section.homepage-help-section .service-help-row{padding:25px 10px}.homepage-help-section .service-help-row .copy-module h2{font-size:23px!important}}

/* Mobile service page: preserve the source's cards and switching sequence. */
.mobile-choice-section .cols-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px}
.mobile-choice-section .feature-card{height:100%;padding:28px}
.mobile-choice-section .content-row+.content-row{margin-top:24px}
.mobile-local-section .feature-column{gap:18px}
.mobile-local-section .feature-card{padding:24px}
.mobile-local-section .feature-card h3{font-size:26px!important}
.interior .source-image img{border-radius:var(--radius)}
.switch-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0 30px}
.switch-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;overflow:hidden}
.switch-step>img{width:100%;height:220px;object-fit:cover;border-radius:15px}
.switch-number{position:absolute;top:24px;left:24px;z-index:1;display:grid;place-items:center;width:40px;height:40px;background:var(--lime);color:var(--navy);font-size:20px;font-weight:800;border-radius:50%;box-shadow:0 2px 10px #0a263725}
.switch-copy{padding:22px 12px 18px;font-size:15px;line-height:1.7}
.switch-copy h3{font-size:26px!important;margin:0 0 12px;letter-spacing:-.6px}
.pledge-section .pledge-motion-row{display:grid;grid-template-columns:.65fr 1fr;align-items:center;gap:50px;text-align:left;margin:0;min-height:320px;padding:48px}
.pledge-section .pledge-motion-row:before{display:none}
.pledge-motion-row .cta-art{min-height:220px}
.pledge-section .pledge-motion-row .copy-module h3{font-size:36px;letter-spacing:-1px}
.pledge-section .pledge-motion-row p{margin:0;max-width:760px}
@media(max-width:950px){.switch-steps{gap:16px}.switch-step>img{height:180px}.mobile-choice-section .cols-3{gap:16px}.mobile-choice-section .feature-card{padding:22px}.pledge-section .pledge-motion-row{gap:28px;padding:36px}}
@media(max-width:640px){.mobile-choice-section .cols-3,.switch-steps{grid-template-columns:1fr}.switch-step>img{height:240px}.pledge-section .pledge-motion-row{grid-template-columns:1fr;padding:30px 25px;gap:24px}.pledge-motion-row .cta-art{display:flex;min-height:180px}.pledge-motion-row .cta-art:before{width:200px;height:200px}.pledge-motion-row .cta-art:after{width:145px;height:145px}.pledge-section .pledge-motion-row .copy-module h3{font-size:30px}.mobile-choice-section .content-row+.content-row{margin-top:20px}}
@media(min-width:641px){.pledge-motion-row .cta-art:before{width:280px;height:280px}.pledge-motion-row .cta-art:after{width:205px;height:205px}}

/* AW Go campaign elements from the supplied postcard. */
.mobile-campaign-logo{width:260px;height:auto;margin-bottom:24px}
.mobile-campaign-copy h1{font-family:'DM Sans',sans-serif;text-transform:none;font-size:clamp(36px,4vw,57px);font-weight:800;line-height:1.1;letter-spacing:-1.8px}
.mobile-campaign-copy .button{background:#ef8514;color:#092b42}
.mobile-campaign-copy .button:hover{background:#ff9a2c}
.hero-art-awgo{border:1px solid #0060b8;background:#0060b8;position:relative;isolation:isolate}
.hero-art-awgo>img{width:100%;height:100%;object-fit:cover;object-position:66% center;z-index:0}
.mobile-campaign-caption{position:absolute;bottom:0;left:0;right:0;background:#0060b8;color:white;padding:22px 28px;font-size:20px;line-height:1.4;z-index:1}
.mobile-campaign-caption strong{color:#ffd096}
.awgo-campaign-line{margin:0;text-align:center;font-size:17px;color:#0060b8;padding:14px 22px;border-inline-start:4px solid #ef8514;background:#e7f3fa;border-radius:8px}
.awgo-campaign-line strong{color:#9c4b00}
@media(max-width:640px){.mobile-campaign-logo{width:215px;margin-bottom:22px}.mobile-campaign-copy h1{font-size:39px;letter-spacing:-1.1px}.hero-art-awgo{height:350px}.mobile-campaign-caption{padding:20px;font-size:18px}.awgo-campaign-line{font-size:15px}}

.business-navigation{display:flex;align-items:center;gap:3px}
.business-submenu summary{padding:8px 5px;min-width:26px;justify-content:center}
.business-submenu .dropdown-panel{top:calc(100% + 13px);right:-20px}
.mobile-usage-card{height:100%;display:flex;flex-direction:column;align-items:flex-start}
.mobile-usage-card p{font-size:14px;line-height:1.7}
.mobile-usage-card .mobile-price-label{font-weight:700;color:var(--blue);margin-top:auto;padding-top:16px}
.mobile-usage-card .button{margin-top:8px}
@media(min-width:951px){.mobile-local-section .split-row{align-items:start}.mobile-local-section .split-row>.content-column:first-child{position:sticky;top:calc(var(--primary-nav-height,91px) + 40px)}}
/* Transparent bridge keeps hover active across the visual dropdown gap. */
.nav-dropdown .dropdown-panel:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:24px}

/* Coverage directory: geometrically centered crosshairs. */
.town-icon{line-height:0}.town-icon svg{display:block;width:24px;height:24px}

/* Support documentation: preserve instructional hierarchy and image relationships. */
.support-page main :is(.copy-module,.feature-card,.faq-entry) :is(ul,ol){padding-left:1.5em;margin:16px 0 22px;list-style-position:outside}
.support-page main :is(.copy-module,.feature-card,.faq-entry) ul{list-style-type:disc}
.support-page main :is(.copy-module,.feature-card,.faq-entry) ol{list-style-type:decimal}
.support-page main li{padding-left:5px;margin:9px 0;line-height:1.7}
.support-page .support-emphasis{color:var(--blue)}
.support-page .copy-module :is(h3,h4){line-height:1.35;margin:20px 0 14px}
.support-page .copy-module p+p{margin-top:16px}
.guide-page .instruction-row{gap:32px;margin-bottom:38px}
.guide-page .instruction-copy{font-size:16px;line-height:1.8;margin-top:18px}
.guide-page .instruction-copy h4{font-size:28px;color:var(--blue);margin:0 0 8px}
.guide-page .instruction-copy p{margin:0 0 16px}
.guide-page .source-image{margin:0 0 18px}
.guide-page .source-image img{display:block;width:auto;max-width:100%;height:auto;max-height:560px;object-fit:contain;margin-inline:auto}
.guide-page .copy-module img.instruction-icon{display:inline-block;width:auto;height:auto;max-width:32px;max-height:28px;vertical-align:middle;border:0;border-radius:0;padding:0;margin:0 4px}
.guide-page .illustrated-steps>div{border:1px solid #c4d7df;border-radius:18px;padding:22px;background:white;overflow:hidden}
.guide-page .illustrated-steps .source-image img{padding:0;border:0;border-radius:10px;max-height:230px;width:100%}
.guide-page .important-instruction{grid-template-columns:80px minmax(0,1fr);padding:28px;background:#e7f3fa;border:1px solid #8bbad6;border-left:5px solid var(--blue);border-radius:16px;align-items:start}
.guide-page .important-instruction .source-image img{padding:0;border:0;background:none;max-width:72px}
.guide-page .important-instruction h3{margin-top:0;font-size:28px;color:var(--blue)}
.guide-page .important-instruction h4{font-size:20px;line-height:1.55}
.guide-page .page-section{padding-block:42px}
.guide-page .content-column:only-child{max-width:900px}
@media(max-width:700px){
 .guide-page .instruction-row{grid-template-columns:1fr;gap:22px;margin-bottom:28px}
 .guide-page .illustrated-steps>div{padding:18px}
 .guide-page .important-instruction{padding:22px;gap:10px}
 .guide-page .important-instruction .source-image img{max-width:48px;margin:0}
 .guide-page .source-image img{max-height:none}
 .guide-page .page-section{padding-block:28px}
}
/* Community articles imported from the production blog. */
.blog-heading{padding-top:52px;padding-bottom:42px;max-width:1000px}
.blog-heading h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(42px,5.3vw,72px);line-height:1.06;margin:20px 0 24px;max-width:950px}
.blog-heading>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:740px}
.blog-heading time,.blog-count{color:#526b79;font-size:14px}
.blog-back{display:inline-block;margin-bottom:35px;color:var(--blue);font-weight:600}
.blog-list{padding-bottom:75px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-card{background:white;border:1px solid #c4d7df;border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #17344815}
.blog-card a{display:block;height:100%}.blog-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.blog-card a>div{padding:25px}.blog-card .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.8;color:#42677c}
.blog-card h2{font-size:23px;line-height:1.3;margin:13px 0 24px;letter-spacing:-.4px}.blog-read{font-size:13px;color:var(--blue);font-weight:700}
.blog-article{max-width:900px;font-size:18px;line-height:1.85;padding-bottom:48px;overflow-wrap:anywhere}
.blog-article p{margin:0 0 24px}.blog-article a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.blog-article iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:18px;margin:0 0 36px;background:#132935}
.blog-article img{max-width:100%;height:auto;border-radius:18px}.blog-article :is(ul,ol){padding-left:1.5em}.blog-article blockquote{border-left:4px solid var(--blue);padding-left:24px}
.blog-more{border-top:1px solid #c4d7df;padding-block:40px 70px}.blog-more>h2{font-size:32px;margin-bottom:26px}
@media(max-width:950px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-heading{padding-top:30px;padding-bottom:26px}.blog-article{font-size:16px}.blog-card a>div{padding:22px}}
.blog-topic-art{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(135deg,#173448,#326b8d);color:white;padding:25px}
.blog-topic-art span{font-size:90px;line-height:1;color:#d5df39}.blog-topic-art b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;text-transform:uppercase;max-width:140px}
.blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.blog-filters a,.blog-pagination a{border:1px solid #a9c4d3;border-radius:24px;padding:10px 18px;font-size:14px;background:white}
.blog-filters [aria-current],.blog-pagination [aria-current]{background:var(--ink);color:white;border-color:var(--ink)}
/* The nav entry for the page you are on (markup #44). aria-current was already
   emitted but styled nowhere, so only a screen reader could tell. */
.site-header .nav nav a[aria-current=page],.site-header .utility a[aria-current=page]{color:var(--blue);font-weight:700}
.site-header .nav nav a[aria-current=page]{box-shadow:inset 0 -2px 0 currentColor}
#mobile-nav a[aria-current=page]{color:var(--blue);font-weight:700}
.blog-pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:38px}

/* News category empty state. */
.blog-empty{border:1px solid #bdd2df;border-radius:20px;background:#e7f1f6;padding:clamp(28px,5vw,56px);margin-bottom:30px}.blog-empty h2{font-size:32px;margin:0 0 16px}.blog-empty p{line-height:1.7;margin-bottom:26px}.blog-empty .button{display:inline-flex}

/* Keep every utility destination accessible on narrow screens. */
@media(max-width:640px){.site-header .utility{flex-wrap:wrap;justify-content:center;gap:0;padding-top:6px;padding-bottom:4px}.site-header .utility>div{justify-content:center}.site-header .utility-right{width:100%;gap:18px}.site-header .utility-right>a{white-space:nowrap;display:inline-flex;align-items:center;min-height:38px}.site-header .utility-right>a[href^="tel:"]{display:none}}
/* Revision 31: raise Homegrown logo 40px, preserving responsive size and rotation. */
.fiber .homegrown{bottom:65px}
@media(max-width:720px){.fiber .homegrown{bottom:67px}}
@media(max-width:440px){.fiber .homegrown{bottom:74px}}
/* Telephone page: consistent compact benefits and section rhythm. */
.telephone-page #section-0{padding-top:20px;padding-bottom:28px}
.telephone-page #section-0>.wrap>.content-row:first-child{gap:20px;margin-bottom:48px}
.telephone-page #section-0>.wrap>.content-row:first-child .feature-card{display:flex;align-items:center;gap:16px;padding:20px 24px}
.telephone-page #section-0>.wrap>.content-row:first-child .feature-symbol{margin:0;flex-shrink:0}
.telephone-page #section-0>.wrap>.content-row:first-child h4{margin:0;font-size:18px;line-height:1.35}
.telephone-page #section-0>.wrap>.content-row+.content-row{margin-top:28px}
.telephone-page #section-0>.wrap>.split-row{margin-bottom:48px}
.telephone-page #section-0 .feature-card{height:auto;min-height:100%}
.telephone-page #section-0 .cols-4{align-items:stretch;gap:20px}
.telephone-page #section-0 .cols-4 .content-column{display:flex;flex-direction:column;gap:18px}
.telephone-page #section-0 .cols-4 .feature-card{min-height:0;flex:1}
.telephone-page #section-0 .cols-4 .feature-card h4{margin:16px 0 0}
.telephone-page #section-0 .cols-4 .feature-card p{margin:10px 0 0}
@media(max-width:640px){.telephone-page #section-0>.wrap>.content-row:first-child{grid-template-columns:1fr;gap:12px;margin-bottom:30px}.telephone-page #section-0>.wrap>.content-row:first-child .feature-card{padding:16px 20px}.telephone-page #section-0>.wrap>.split-row{margin-bottom:30px}.telephone-page #section-0 .cols-4{grid-template-columns:1fr;gap:12px}}
.telephone-lifestyle img{display:block;width:100%;height:auto;object-fit:contain;border-radius:22px}
.telephone-features-action{display:flex;justify-content:center;margin-top:28px}

/* Revision 33: balanced visible spacing around the telephone benefit strip. */
.telephone-page .page-hero{padding-bottom:0}
.telephone-page .hero-layout{padding-bottom:0}
.telephone-page #section-0{padding-top:48px}
.telephone-page #section-0>.wrap>.content-row:first-child{margin-bottom:48px}
.telephone-page #section-0>.wrap>.content-row:first-child+.content-row{margin-top:0}
.image-column{display:grid;gap:24px}
footer .social{display:flex;flex-wrap:wrap;gap:16px 24px}
@media(max-width:640px){
 .telephone-page #section-0{padding-top:30px}
 .telephone-page #section-0>.wrap>.content-row:first-child{margin-bottom:30px}
 .telephone-page #section-0>.wrap>.content-row:first-child+.content-row{margin-top:0}
}

/* Revision 34: consolidate home telephone introduction into the hero. */
.telephone-page .telephone-hero-photo{height:auto;background:transparent;align-self:center}
.telephone-page .telephone-hero-photo>img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.telephone-page .hero-copy p:not(.eyebrow){line-height:1.8;margin-bottom:20px}
.telephone-page .hero-copy p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

/* Shared service cards: restrained pointer feedback without implying a link. */
.service-page :is(.feature-card,.plan-card){transition:transform 220ms ease,border-color 220ms ease,box-shadow 220ms ease}
.service-page :is(.feature-card,.plan-card) .feature-symbol{transition:background-color 220ms ease,color 220ms ease,transform 220ms ease}
@media(hover:hover) and (pointer:fine){
 .service-page :is(.feature-card,.plan-card):hover{transform:translateY(-4px);border-color:#368dc0;box-shadow:0 10px 24px #164b7020}
 .service-page :is(.feature-card,.plan-card):hover .feature-symbol{background:#246aa4;color:#fff;transform:rotate(-5deg)}
 html[data-theme=dark] .service-page :is(.feature-card,.plan-card):hover{border-color:#79cfff;box-shadow:0 10px 26px #0005}
 html[data-theme=dark] .service-page :is(.feature-card,.plan-card):hover .feature-symbol{background:#99dcff;color:#102e41}
}
@media(prefers-reduced-motion:reduce){
 .service-page :is(.feature-card,.plan-card),.service-page :is(.feature-card,.plan-card) .feature-symbol{transition:none}
 .service-page :is(.feature-card,.plan-card):hover,.service-page :is(.feature-card,.plan-card):hover .feature-symbol{transform:none}
}

/* Business VoIP: coherent intro, aligned product comparisons and closing CTA. */
.voip-intro-section{padding:12px 0 48px}
.voip-intro-section .content-row{grid-template-columns:minmax(0,1fr) auto;background:#e1eff5;border:1px solid #bfd8e5;border-left:4px solid var(--blue);border-radius:20px;padding:32px;gap:32px}
.voip-intro-section .copy-module h2{font-size:28px}
.voip-intro-section .copy-module p{margin-bottom:0;max-width:850px}
.voip-intro-section .content-column>.button{margin:0;white-space:nowrap}
.voip-product-grid{align-items:stretch;gap:28px}
.voip-product-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff}
.voip-product-card .source-image{height:280px;display:grid;place-items:center;margin-bottom:32px;background:#fff;border-radius:16px}
.voip-product-card .source-image img{display:block;width:100%;height:100%;max-height:280px;object-fit:contain}
.voip-product-card .copy-module h3,.voip-product-card .copy-module h4{margin-top:0;margin-bottom:0}
.voip-product-card .copy-module p{margin-bottom:0}
.voip-product-card .copy-module ul{margin-bottom:0}
.voip-features-section .content-row{align-items:stretch;gap:24px}
.voip-features-section .content-column{display:flex}
.voip-features-section .feature-card{flex:1;height:auto;padding:30px}
.voip-features-section .feature-card h4{margin-top:0}
.voip-upgrade-section .service-help-row>.content-column:first-child{flex:1;min-width:0}
html[data-theme=dark] .voip-intro-section .content-row{background:#182f3f;border-color:#3a6077;border-left-color:#79cfff}
html[data-theme=dark] .voip-product-card{background:#172e3e;border-color:#365064}
@media(max-width:640px){
 .voip-intro-section{padding:0 0 32px}
 .voip-intro-section .content-row{grid-template-columns:1fr;padding:24px;gap:22px}
 .voip-product-card{padding:24px}
 .voip-product-card .source-image{height:230px;margin-bottom:28px}
 .voip-product-card .source-image img{max-height:230px}
 .voip-features-section .feature-card{padding:24px}
}
/* Mobile navigation: modal panel with independently scrolling links and persistent actions. */
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
#mobile-nav:not([open]){display:none!important}
#mobile-nav[open],.site-header.nav-floating #mobile-nav[open]{display:flex;flex-direction:column;position:fixed;inset:10px 10px 10px auto;transform:none;margin:0;width:min(440px,calc(100% - 20px));height:calc(100dvh - 20px);max-width:none;max-height:none;padding:0;gap:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 16px 60px #001b4055;overflow:hidden;pointer-events:auto}
#mobile-nav::backdrop{background:#061e36a6;backdrop-filter:blur(4px)}
#mobile-nav .mobile-menu-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);gap:20px;flex-shrink:0}
.mobile-menu-head img{display:block;width:190px;max-width:100%}
.mobile-menu-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;font-size:22px;cursor:pointer;flex-shrink:0}
#mobile-nav .mobile-menu-scroll{display:block!important;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:22px 20px;scrollbar-width:thin}
.mobile-menu-intro{font-size:23px;font-weight:700;line-height:1.2;margin:0 0 20px}
#mobile-nav a{font-size:15px}
#mobile-nav .mobile-coverage{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;background:#e0eff6;border-radius:12px;color:#175c87;font-weight:650;line-height:1.4;margin-bottom:16px}
.mobile-menu-group{border-bottom:1px solid var(--line)}
.mobile-menu-group summary{padding:18px 0;cursor:pointer;font-size:18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mobile-menu-group summary::-webkit-details-marker{display:none}
.mobile-menu-group summary:after{content:'+';font-size:23px;font-weight:400}
.mobile-menu-group[open] summary:after{content:'−'}
.mobile-menu-group>div{display:grid;padding:0 0 12px}
#mobile-nav .mobile-menu-group a{padding:13px 12px;min-height:46px;border-radius:8px;line-height:1.4}
#mobile-nav a:hover{color:var(--blue)}
#mobile-nav .mobile-menu-quick{display:flex;flex-wrap:wrap;gap:0 20px;padding-top:16px}
.mobile-menu-quick a{padding:14px 0;min-height:44px}
#mobile-nav .mobile-menu-actions{display:block;flex-shrink:0;padding:16px 20px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
#mobile-nav .mobile-call{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:12px;font-size:13px}
#mobile-nav .mobile-call strong{font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink);margin:0}
#mobile-nav .mobile-menu-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#mobile-nav .button{justify-content:center;min-height:48px;padding:14px 10px;font-size:14px}
#mobile-nav .mobile-contact{background:transparent;color:var(--ink);border:1px solid var(--line)}
#mobile-nav .button.navy:hover{color:white;background:#246aa4}
#mobile-nav :is(a,button,summary):focus-visible{outline:3px solid var(--blue);outline-offset:2px}
html[data-theme=dark] #mobile-nav .mobile-coverage{background:#253f52;color:#9edfff}
@media(max-height:500px){#mobile-nav .mobile-menu-head{padding-block:8px}#mobile-nav .mobile-menu-actions{padding-block:8px}#mobile-nav .mobile-call{margin-bottom:0}}
#mobile-nav[open]>.mobile-menu-actions{display:block;grid-column:auto}
#mobile-nav[open]>.mobile-menu-head{display:flex;grid-column:auto}

/* Shared business CTA layout: copy and action remain one light, bounded strip. */
.business-cta-section .service-help-row>.content-column:first-of-type{flex:1;min-width:0}
.business-cta-section .service-help-row .copy-module h2{line-height:1.25}
.business-cta-section .service-help-row .content-column>.button{margin:0}
@media(max-width:640px){.business-cta-section .service-help-row>.content-column{width:100%}.business-cta-section .service-help-row .button{min-height:48px}}

/* Apartment services: equal-height cards without imported decorative graphics. */
.apartment-services-section .content-row{align-items:stretch;gap:24px}
.apartment-services-section .content-column{display:flex;min-width:0}
.apartment-services-section .feature-card{flex:1;height:auto;width:100%}

/* Apartment services: balanced compact gaps from hero through the pledge. */
.apartment-page .page-hero,.apartment-page .hero-layout{padding-bottom:0}
.apartment-page .apartment-services-section{padding:40px 0 0}
.apartment-page .pledge-section{padding-top:40px}
@media(max-width:640px){.apartment-page .apartment-services-section{padding-top:28px}.apartment-page .pledge-section{padding-top:28px}}
/* Blog titles share the page canvas rather than forming a contrasting panel. */
header.blog-heading,html[data-theme=dark] header.blog-heading{background:transparent;border:0;box-shadow:none}
header.blog-heading:has(+ .blog-article){max-width:900px}

:root{color-scheme:light}
.theme-toggle{display:inline-grid;place-items:center;align-self:center;width:36px;height:36px;flex:0 0 36px;padding:8px;border:1px solid transparent;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.theme-toggle:hover{background:#246aa412;border-color:var(--line)}
.theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
html[data-theme=dark]{color-scheme:dark;--paper:#0c1821;--ink:#e8f0f5;--blue:#80c9ef;--line:#354b5a;--surface:#142632;--raised:#1c3343;--muted:#b8cbd7}
html[data-theme=dark] .theme-toggle .theme-sun{display:block}
html[data-theme=dark] .theme-toggle .theme-moon{display:none}
html[data-theme=dark] :is(header,footer,.dropdown-panel,:where(#mobile-nav),.benefit,.feature-card,.faq-entry,.town-card,.index-links a,.plan-card,.prototype-form,.switch-step,.blog-card,.blog-filters a,.blog-pagination a,.skip){background:var(--surface);border-color:var(--line)}
html[data-theme=dark] .site-header.nav-floating{background:transparent}
html[data-theme=dark] .site-header.nav-floating .nav{background:var(--surface);border-color:var(--line);box-shadow:0 8px 30px #0005}
html[data-theme=dark] :is(.brand img,.footer-brand>img,.mobile-awgo-logo){background:#fff;border-radius:8px;padding:5px}
html[data-theme=dark] :is(.help-strip p,.benefit p,.copyright,.breadcrumbs,.hero-copy p,.hero-copy .eyebrow,.interior .copy-module p,.interior .copy-module li,.feature-card p,.feature-card li,.faq-entry>div,.directory-tools>span,.blog-heading time,.blog-count,.blog-card .eyebrow,.homepage-help-section .service-help-row .copy-module p){color:var(--muted)}
html[data-theme=dark] :is(.interior .copy-module a:not(.button),.feature-card a:not(.button),#mobile-nav strong){color:var(--blue)}
html[data-theme=dark] :is(.tinted-section,.contents,.blog-empty,.guide-page .important-instruction,.prototype-form .gfield--type-checkbox,.source-image.referral-artwork){background:var(--raised);border-color:var(--line)}
html[data-theme=dark] :is(.town-card:hover,.dropdown-panel a:hover,.faq-entry[open] summary){background:var(--raised)}
html[data-theme=dark] :is(.directory-tools input,.prototype-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.prototype-form select,.prototype-form textarea){background:#0c1c27;color:var(--ink);border-color:#597181}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#9db3c1}
html[data-theme=dark] .prototype-notice{background:#303b20;color:#e9efd3}
html[data-theme=dark] .prototype-form .form-result{background:#173e32;color:#dcf5e9}
html[data-theme=dark] .prototype-form .gfield_required{color:#ffb1a1}
html[data-theme=dark] .feature-symbol{background:#294557;color:#99dcff}
html[data-theme=dark] :is(.town-icon,.benefit-icon,.announcement,.bundle-section .content-row){color:#102e41}
html[data-theme=dark] .bundle-section .copy-module :is(p,li){color:#102e41}
html[data-theme=dark] .bundle-section .copy-module a:not(.button){color:#175e8b}
html[data-theme=dark] .guide-page .illustrated-steps>div{background:var(--surface);border-color:var(--line)}
html[data-theme=dark] .guide-page .source-image img{background:#fff}
html[data-theme=dark] .guide-page .important-instruction .source-image img{background:transparent}
html[data-theme=dark] .guide-page .copy-module img.instruction-icon{background:#fff;border-radius:3px}
html[data-theme=dark] .area-links-row .button{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .outline{color:var(--ink);border-color:#76909f}
html[data-theme=dark] .button.navy{background:#275672;color:#fff}
html[data-theme=dark] .menu-toggle{color:var(--ink)}
html[data-theme=dark] :is(.blog-filters [aria-current],.blog-pagination [aria-current]){background:#8cd1f2;color:#102e41;border-color:#8cd1f2}
html[data-theme=dark] :is(.site-header .nav nav,.site-header .utility,#mobile-nav) a[aria-current=page]{color:#8cd1f2}
html[data-theme=dark] .blog-more{border-color:var(--line)}
html[data-theme=dark] .awgo-launch{background:var(--surface);color:var(--ink);border-color:#407fa6}
html[data-theme=dark] .awgo-logo{background:#fff;border-radius:10px;padding:8px}
html[data-theme=dark] .awgo-copy p{color:var(--muted)}
html[data-theme=dark] .awgo-copy h2 em{color:#ffb260}
html[data-theme=dark] .awgo-campaign-line{background:var(--raised);color:#92d1f3}
html[data-theme=dark] .awgo-campaign-line strong{color:#ffb260}
html[data-theme=dark] .pledge-section .copy-module p{color:#eff5f8}
html[data-theme=dark] .assistance-section:not(.homepage-help-section) .copy-module p{color:#d9e7ee}
@media(max-width:640px){.site-header .utility-right{gap:12px}.theme-toggle{width:36px;flex-basis:36px}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
html[data-theme=dark] #motion{color:#102e41}
html[data-theme=dark] .mobile-campaign-logo{background:#fff;border-radius:10px;padding:8px}
@media(max-width:640px){.site-header .utility .portal-link{display:inline-flex;align-items:center}.site-header .utility-right{align-items:center}}

/* platform-theme neutralizer: use the Codex fonts (NOT platform Ubuntu) so ↗ renders in DM Sans = the real arrow */
html,body,.rd-root{background:var(--paper)!important}
body,.rd-root{color:var(--ink)}
.rd-root{font-family:'DM Sans',Arial,sans-serif}

/* testimonial nav: less/greater-than, vertically centered */
#previous,#next{font-size:0!important;line-height:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
#previous::before{content:'\003C';font-size:20px;font-weight:600;line-height:1}
#next::before{content:'\003E';font-size:20px;font-weight:600;line-height:1}

/* dark-mode white logo */
html[data-theme=dark] img[src$="2b3269db52061747.svg"]{background:transparent!important;filter:brightness(0) invert(1)}

/* AWBB-CARD-HOVER (2026-10-05): the Codex card hover (lift + icon fill-solid + rotate)
   is scoped to body.service-page in the source; our render wraps content in .rd-root,
   so re-scope it here to apply on every page. Mirrors the handoff values exactly. */
@media (hover:hover) and (pointer:fine){
  .rd-root :is(.feature-card,.plan-card){transition:transform 220ms ease,border-color 220ms ease,box-shadow 220ms ease}
  .rd-root :is(.feature-card,.plan-card) .feature-symbol{transition:background-color 220ms ease,color 220ms ease,transform 220ms ease}
  .rd-root :is(.feature-card,.plan-card):hover{transform:translateY(-4px);border-color:#368dc0;box-shadow:0 10px 24px #164b7020}
  .rd-root :is(.feature-card,.plan-card):hover .feature-symbol{background:#246aa4;color:#fff;transform:rotate(-5deg)}
  html[data-theme=dark] .rd-root :is(.feature-card,.plan-card):hover{border-color:#79cfff;box-shadow:0 10px 26px #0005}
  html[data-theme=dark] .rd-root :is(.feature-card,.plan-card):hover .feature-symbol{background:#99dcff;color:#102e41}
}
@media (prefers-reduced-motion:reduce){
  .rd-root :is(.feature-card,.plan-card),.rd-root :is(.feature-card,.plan-card) .feature-symbol{transition:none}
  .rd-root :is(.feature-card,.plan-card):hover,.rd-root :is(.feature-card,.plan-card):hover .feature-symbol{transform:none}
}

/* AWBB-STICKY-HEADER (2026-10-05): SiteChrome renders the header in its own short .rd-root
   sibling, so .site-header's position:sticky had no room to stick (it scrolled away with its
   129px parent). Collapse the header's two wrapper boxes with display:contents so the header
   sticks within <body> (full height). Preserves the design's top:-38px (utility scrolls off). */
/* (the wrapper collapse now lives in the platform base stylesheet: body>.rd-root{display:contents}) */
/* EN | ES switch at the end of the utility bar (rendered by AwSiteHeader; styles were once injected by a script) */
.aw-lang{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.4px;line-height:1}
.aw-lang a,.aw-lang button{background:none;border:0;margin:0;padding:2px 3px;cursor:pointer;color:inherit;font:inherit;text-decoration:none;opacity:.5;transition:opacity .15s,color .15s}
.aw-lang a:hover,.aw-lang button:hover{opacity:.85}
.aw-lang a.on,.aw-lang button.on{opacity:1;color:var(--blue,#246aa4)}
html[data-theme=dark] .aw-lang a.on,html[data-theme=dark] .aw-lang button.on{color:var(--blue,#80c9ef)}
.aw-lang .sep{opacity:.35}
/* Soft shadow eases in as the header sticks — scroll-linked over the first ~110px, so the pin
   no longer feels abrupt. Browsers without scroll-driven animations keep the base header (ok). */
@media (prefers-reduced-motion: no-preference){
  .site-header{animation:awbb-header-stick linear both;animation-timeline:scroll(root block);animation-range:10px 120px}
  @keyframes awbb-header-stick{from{box-shadow:0 0 0 0 rgba(9,44,69,0)}to{box-shadow:0 8px 26px 0 rgba(9,44,69,.20)}}
}

/* AWBB-IMAGE-CARD (2026-10-05, v2): internet-service + 37 service-area pages stack a .source-image
   photo above a .feature-card in one column. Merge into ONE cohesive unit: the column is the card
   (border+radius+overflow:hidden), the photo is a flush full-bleed header, the inner feature-card
   drops its chrome. The whole unit hovers together (lift + image zoom + icon fill/rotate). The
   per-card button (e.g. "Learn More") is inset to the card's 26px padding and gets the ↗ arrow. */
.rd-root .content-column:has(> .source-image + .feature-card){
  background:#fff;border:1px solid #cadce4;border-radius:16px;overflow:hidden;
}
html[data-theme=dark] .rd-root .content-column:has(> .source-image + .feature-card){
  background:var(--surface,#142632);border-color:#354b5a;
}
.rd-root .content-column:has(> .source-image + .feature-card) > .source-image{margin:0}
.rd-root .content-column:has(> .source-image + .feature-card) > .source-image img{
  width:100%;height:190px;object-fit:cover;border-radius:0;display:block;
}
.rd-root .content-column:has(> .source-image + .feature-card) > .feature-card{
  border:0;border-radius:0;background:transparent;box-shadow:none;
}
.rd-root .content-column:has(> .source-image + .feature-card) > .button{
  margin:0 26px 26px;justify-content:center;gap:10px;width:auto;
}
.rd-root .content-column:has(> .source-image + .feature-card) > .button::after{
  content:'\2197';font-size:20px;line-height:1;font-weight:400;
}
@media (hover:hover) and (pointer:fine){
  .rd-root .content-column:has(> .source-image + .feature-card){
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  }
  .rd-root .content-column:has(> .source-image + .feature-card) > .source-image img{
    transition:transform .45s ease;
  }
  .rd-root .content-column:has(> .source-image + .feature-card):hover{
    transform:translateY(-4px);border-color:#368dc0;box-shadow:0 14px 30px rgba(9,44,69,.28);
  }
  .rd-root .content-column:has(> .source-image + .feature-card):hover > .source-image img{
    transform:scale(1.05);
  }
  .rd-root .content-column:has(> .source-image + .feature-card):hover .feature-symbol{
    background:#246aa4;color:#fff;transform:rotate(-5deg);
  }
  .rd-root .content-column:has(> .source-image + .feature-card) > .feature-card:hover{
    transform:none;border-color:transparent;box-shadow:none;
  }
}

/* AWBB-CONTACT-CARDS (2026-10-05, v2): Get Connected cards = icon-box LEFT + text right,
   spaced vertically; stop the split-row stretching the column. Plus a Get Directions link
   and a clickable life-ring Support card. */
.rd-root.contact-page .content-row.split-row{align-items:start}
.rd-root.contact-page .content-column > .feature-card{
  display:flex;align-items:center;gap:16px;flex:0 0 auto;padding:16px 20px;
}
.rd-root.contact-page .content-column > .feature-card + .feature-card{margin-top:14px}
.rd-root.contact-page .feature-card .feature-symbol{margin-bottom:0;width:42px;height:42px;flex-shrink:0}
.rd-root.contact-page .feature-card > div{margin:0}
.rd-root.contact-page .feature-card p{margin:0}
.rd-root.contact-page .contact-link{
  display:inline-block;margin-top:5px;font-size:13px;font-weight:600;color:#175e8b;text-decoration:none;
}
html[data-theme=dark] .rd-root.contact-page .contact-link{color:#80c9ef}
.rd-root.contact-page .contact-link:hover{text-decoration:underline}
.rd-root.contact-page a.support-card{text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.rd-root.contact-page a.support-card p{font-weight:600}
@media (hover:hover) and (pointer:fine){
  .rd-root.contact-page a.support-card:hover{border-color:#368dc0;transform:translateY(-2px)}
  .rd-root.contact-page a.support-card:hover .feature-symbol{background:#246aa4;color:#fff}
}
/* tighten the gap under the "Contact Us" title */
.rd-root.contact-page .document-hero{padding-top:28px;padding-bottom:12px}
.rd-root.contact-page .page-section:not(.pledge-section){padding-top:22px}

/* ===== AWBB-RHYTHM + AWBB-V63-COMPONENTS (2026-10-09, applied via MCP) =====
   v62 visual-rhythm section spacing (48/32px) + revision-62 town content styling
   (pricing tables, streaming offer, plan sales bar, town map lightbox).
   Source + rationale: scratchpad/aw_town_styles_customcss.css. ===== */
:root{--section-inset:48px;--section-row-gap:48px;--footer-inset:44px;--section-heading-gap:32px}
@media(max-width:640px){:root{--section-inset:32px;--section-row-gap:32px;--section-heading-gap:24px}}
main .page-section{padding-block:var(--section-inset)}
main .page-hero{padding-bottom:var(--section-inset)}
main .hero-followup{padding-top:0}
main .paired-feature-section{padding-block:var(--section-inset)}
main .paired-feature-section .wrap>.content-row+.content-row{margin-top:var(--section-row-gap)}
main .pledge-section{padding-bottom:var(--footer-inset)}
main .page-section>.wrap>.faq-list{margin-top:var(--section-heading-gap)}
main .page-section>.wrap:has(>.faq-list)>.copy-module{margin-bottom:0}
main .reasons,main .testimonials{padding-block:var(--section-inset)}
main .cta{margin-top:var(--section-inset);margin-bottom:var(--footer-inset)}
.rd-root.telephone-page #section-0{padding-block:var(--section-inset)}
main .page-section.before-bundle-bar{padding-bottom:0}
main .bundle-section{padding-block:var(--section-inset)}
main .bundle-section .content-row{margin-block:0;padding-block:28px}
main .bundle-section .copy-module,
main .bundle-section .copy-module :is(h2,h3,h4){margin-block:0}
@media(max-width:640px){main .bundle-section .content-row{padding:24px}}
.town-template .hero-art.town-hero-photo{padding:0;overflow:hidden;background:var(--paper);min-height:0;height:auto;aspect-ratio:4/3;align-self:start;border-radius:22px}
.town-template .town-hero-photo>img{position:static;display:block;width:100%;height:100%;max-height:none;object-fit:cover;transform:none}
.town-pricing-section .pricing-group+.pricing-group{margin-top:48px}
.town-pricing-section .pricing-group>h3{font-size:24px;letter-spacing:-.5px;margin:0 0 20px}
/* A centred pricing section centres its h2 and intro but left-aligned the group
   titles, so "Fiber Plans" sat hard left under centred copy and read as a stray
   heading (Rylee #60/#61). Scoped to .section-centered: the 36 service-area
   pages whose pricing section is left-aligned are untouched. */
.town-pricing-section.section-centered .pricing-group>h3{text-align:center}

/* The bundle band may now carry a button (Rylee #101). Its heading was already
   centred by a rule on h2/h3 alone, which left an added button hugging the left
   edge -- centre the module so both sit on the same axis. */
.bundle-section .copy-module{text-align:center}
.bundle-section .copy-module .button{margin:18px 0 0}

/* town-story-row: the service-area town write-up. The photo is 490px while the
   copy beside it runs 1,000-3,700 characters, so on every one of the 37 town
   pages the left half went blank for ~480px as you scrolled (Rylee #64).
   The photo keeps its designed size and sticks instead of stretching to fill --
   stretching it to ~970px distorted the proportions for no gain. Offset clears
   the sticky site header. align-self:start is required: a stretched grid item
   has no free space to stick within. Static on mobile, where the row collapses
   to one column and there is nothing to scroll past. */
.town-story-row>.image-column{position:sticky;top:calc(var(--primary-nav-height,91px) + 24px);align-self:start}
@media(max-width:640px){
.town-story-row>.image-column{position:static}
}

/* inline-note-row: a single full-width card carrying one short sentence. On the
   care plan the "Moving?" note rendered as a 1,236x228 box with a 47px heading
   over a 14px line that stopped 45% across, so the right half sat empty and the
   type was wildly out of scale (Rylee #82). Laid out on one line -- icon,
   heading, sentence -- it reads as the aside it is and loses half its height.
   Stacks at the mobile breakpoint, where there is no width to share. */
.inline-note-row .feature-card{display:flex;align-items:center;gap:22px;padding:22px 26px}
.inline-note-row .feature-card>.feature-symbol{flex:0 0 auto}
.inline-note-row .feature-card>h2{font-size:24px;line-height:1.2;letter-spacing:-.4px;margin:0;flex:0 0 auto}
.inline-note-row .feature-card>div{flex:1 1 auto;min-width:0}
.inline-note-row .feature-card p{margin:0}
@media(max-width:640px){
.inline-note-row .feature-card{flex-direction:column;align-items:flex-start;gap:12px}
.inline-note-row .feature-card>h2{font-size:20px}
}

/* Equal-height question cards. .guide-page .content-row forces align-items:start,
   which beats the base .feature-row stretch, so the three question cards sized to
   their own text -- 170/170/137 (Walt, on the router guide). The card chrome comes
   from .illustrated-steps>div, so stretching the column stretches the card. */
.guide-page .content-row.illustrated-steps{align-items:stretch}

/* A centred section centres its copy module, which also centres any list inside
   it -- leaving the bullet markers stranded at the far left while the text floats
   in the middle. Keep the list text left-aligned and centre the list as a block
   instead. display:table shrink-wraps it so margin-inline:auto can do that.
   Affects the router guide, the eFax guide and VoIP. */
.section-centered .copy-module :is(ul,ol){text-align:start;display:table;margin-inline:auto}

/* guide-step: one numbered band per step of a how-to. The router guide ran as a
   single 2,882px column of screenshot-then-prose with nothing marking where one
   step ended and the next began (Walt). Each step is now its own section with
   an alternating tone, and the number is a CSS counter rather than typed into
   the copy, so steps can be reordered or inserted without renumbering by hand.
   The heading sits in its own .copy-module ahead of the body, so the badge
   hangs off that h2. */
.rd-root{counter-reset:rd-step}
.guide-step .content-column>.copy-module:first-child h2{font-size:24px;line-height:1.25;letter-spacing:-.4px}
.guide-step .content-column>.copy-module:first-child h2::before{
counter-increment:rd-step;content:counter(rd-step);
display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
background:var(--lime);color:#0c1821;font-family:'Barlow Condensed',Impact,sans-serif;
font-weight:700;font-size:21px;margin:0 auto 16px}
.pricing-table{display:grid;grid-template-columns:repeat(var(--plan-count),minmax(0,1fr));border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}
.pricing-plan{display:flex;flex-direction:column;min-width:0;padding:28px 24px;border-top:5px solid var(--cyan)}
.pricing-plan+.pricing-plan{border-left:1px solid var(--line)}
.pricing-plan-heading p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:#506975;margin:0 0 8px}
.pricing-plan-heading h4{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0 0 24px}
.pricing-price{min-height:72px;display:flex;align-items:baseline;gap:6px;color:var(--ink)}
.price-amount{font-size:64px;line-height:1;font-weight:800;letter-spacing:-3px}
.price-amount sup{font-size:28px;letter-spacing:-1px;vertical-align:top;position:relative;top:7px;margin-right:3px}
.price-period{font-size:14px;white-space:nowrap;color:#506975}
.price-quote{font-size:27px;font-weight:700;line-height:1.2;max-width:190px;letter-spacing:-.7px}
.pricing-rate-note{font-size:13px;line-height:1.5;min-height:40px;margin:8px 0 16px;color:#506975}
.pricing-details{margin:0 0 24px;font-size:13px;line-height:1.5}
.pricing-details>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);min-height:48px}
.pricing-details dt{color:#506975;flex:1}
.pricing-details dd{margin:0;text-align:right;font-weight:600;flex:1}
.pricing-plan .pricing-action{margin-top:auto;display:flex;width:100%;justify-content:space-between;gap:8px;font-size:13px;padding:16px}
html[data-theme=dark] .pricing-table{background:#142b38}
html[data-theme=dark] .pricing-price{color:#fff}
html[data-theme=dark] :is(.pricing-plan-heading p,.pricing-rate-note,.price-period,.pricing-details dt){color:#b8cbd5}
html[data-theme=dark] .pricing-plan .pricing-action{color:#fff}
@media(max-width:1100px){.pricing-table{grid-template-columns:repeat(min(var(--plan-count),2),minmax(0,1fr))}.pricing-plan{border-bottom:1px solid var(--line)}.pricing-plan:nth-child(odd){border-left:0}}
@media(max-width:640px){.pricing-table{grid-template-columns:1fr}.pricing-plan{padding:24px;border-left:0!important}.pricing-plan-heading h4{margin-bottom:20px}.pricing-price{min-height:0}.pricing-rate-note{min-height:0}.town-pricing-section .pricing-group+.pricing-group{margin-top:32px}.pricing-details>div{min-height:0}.price-quote{max-width:none}}
@media(min-width:641px){.pricing-details>div{height:60px;min-height:60px;padding-block:10px;align-items:center}}
@media(hover:hover){.pricing-plan:hover{background:#e7f6fc}html[data-theme=dark] .pricing-plan:hover{background:#244858}}
.pricing-plan:focus-within{background:#e7f6fc}
html[data-theme=dark] .pricing-plan:focus-within{background:#244858}
.streaming-plan-note{display:block;font-weight:700;color:#17618a;font-size:12px}
html[data-theme=dark] .streaming-plan-note{color:#80d7f2}
.streaming-offer{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;border:1px solid var(--line);border-radius:20px;background:#e1f2f9;padding:28px 32px;margin-top:20px}
.streaming-offer .streaming-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;margin:0 0 8px}
.streaming-offer h4{font-size:32px;line-height:1.1;letter-spacing:-.8px;margin:0 0 12px}
.streaming-offer p{margin:0 0 12px;line-height:1.6}
.streaming-offer .streaming-eligibility{font-size:12px;margin:0}
.streaming-logos{background:#fff;border-radius:12px;padding:24px}
.streaming-logos img{width:100%;height:auto;max-height:160px;object-fit:contain}
html[data-theme=dark] .streaming-offer{background:#193b4c}
@media(max-width:720px){.streaming-offer{grid-template-columns:1fr;padding:24px;gap:20px}.streaming-logos{padding:20px}}
@media(prefers-reduced-motion:reduce){.pricing-plan{transition:none}}
.plan-sales-points{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:24px;margin:0 0 24px;padding:28px 32px;background:#d3eef8;border-radius:18px;color:#102e41}
.plan-sales-points>strong{font-size:21px;line-height:1.25;letter-spacing:-.4px}
.plan-saving strong{display:block;font-size:36px;line-height:1.1;letter-spacing:-1px}
.plan-saving span{display:block;margin-top:6px;font-size:15px}
.plan-fine-print{margin-top:24px;font-size:12px;line-height:1.7;color:#506975}
.plan-fine-print p{margin:0 0 8px}
.plan-fine-print a{text-decoration:underline;text-underline-offset:3px}
html[data-theme=dark] .plan-sales-points{background:#23516a;color:#fff}
html[data-theme=dark] .plan-fine-print{color:#b8cbd5}
@media(max-width:720px){.plan-sales-points{grid-template-columns:1fr 1fr;padding:24px;gap:24px 20px}.plan-sales-points>strong{font-size:18px}.plan-saving strong{font-size:30px}}
.town-map-expand{isolation:isolate;box-shadow:0 12px 32px #0a263718}
.town-map-expand .map-zoom-label{background:#102e41ed;border-color:#55c9ee;color:#fff;font-weight:700;box-shadow:0 4px 18px #102e4140;transition:background .2s,box-shadow .2s}
@media(hover:hover){.town-map-expand:hover .map-zoom-label{background:#174e68;box-shadow:0 0 24px #55c9ee60}}
.town-map-lightbox{background:#102e41;border:1px solid #55c9ee80;border-radius:22px;box-shadow:0 24px 90px #0008;padding:24px}
.town-map-lightbox::backdrop{background:#071521df;backdrop-filter:blur(8px)}
.town-map-lightbox .map-dialog-toolbar{background:#102e41;top:-24px;padding:8px 0 16px}
.town-map-lightbox .map-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;font-size:28px;line-height:1;border:1px solid #55c9ee;background:#163e53;color:#fff;flex-shrink:0}
.town-map-lightbox .map-close:hover{background:#24627e}
.town-map-lightbox>img{max-height:72vh;object-fit:contain;background:#f4f7f7;border-radius:16px}
@media(prefers-reduced-motion:no-preference){.town-map-lightbox[open]{animation:town-map-reveal .2s ease-out}@keyframes town-map-reveal{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}}
@media(max-width:640px){.town-map-lightbox{padding:16px}.town-map-lightbox .map-dialog-toolbar{top:-16px}.town-map-lightbox .map-dialog-toolbar h2{font-size:22px}}

/* ===== AWBB-STICKY-HEADER-FIX (2026-10-09, applied via MCP) =====
   Complements the 10-05 display:contents block above: kills the scroll
   animation that painted a shadow box on the full-width header, moves the
   shadow onto the .nav capsule, and lets <body> grow so the sticky
   containing block spans the document (capsule pins on scroll). ===== */
.site-header{animation:none!important}
.site-header.nav-floating .nav{box-shadow:0 8px 26px 0 rgba(9,44,69,.20)}
body{height:auto;min-height:100%}
/* Story-grid cards share one landscape image box; a portrait photo is cropped
   (head-biased) instead of stretching its column and breaking the row. */
.town-story-grid .source-image img{aspect-ratio:820/550;height:auto;max-height:none;object-position:center 18%}

/* Image captions (Rylee #90). A caption used to render as ordinary body copy --
   16px, muted, left aligned, no separation -- so it read as another paragraph
   rather than as a label for the picture above it. Smaller, italic and centred
   under the image, tucked close to it, so the relationship is obvious.
   Opt-in via the {caption} marker in the copy rather than by position: on the
   guide pages a .copy-module following a figure is a caption four times and an
   ordinary paragraph three times (one 280 characters, two 226 and 598), so a
   positional rule would have restyled real body copy as captions.
   The selector carries .rd-root .copy-module so it outranks
   .interior .copy-module p (0,2,1), which sets the 16px body size in three
   places including inside a breakpoint -- at (0,3,1) the caption wins on
   specificity, so neither source order nor the media query can flip it. */
.rd-root p.caption,.rd-root .copy-module p.caption{font-size:13px;line-height:1.55;font-style:italic;color:var(--muted);text-align:center;margin:0}
.copy-module:has(>div>div>.caption:only-child){margin-top:10px}

/* card-columns: give a plain two-up row the site's card treatment.
   Rylee asks for the same thing in three places -- background, padding and
   rounded corners on each column of a row (#29 /mobile, #53 backup
   connectivity, #81 care-plan). All three rows are the same shape: split-row
   cols-2 with two bare transparent content-columns.
   These values are .feature-card's, not new ones, so the columns match the
   cards already on those pages instead of approximating them -- #53 asked for
   the corners to "match the style" and this makes that literal. The dark rule
   mirrors how .feature-card itself switches, via --surface and --line: AW's
   default theme is dark, and without it the columns would stay white. Measured
   on care-plan: card rgb(20,38,50) on section rgb(28,51,67), the same
   separation the real feature-cards get.
   Typography is deliberately left alone. Rylee asked for background, padding
   and corners; matching .feature-card's 20px/14px type as well would resize
   copy she did not mention. */
.card-columns>.content-column{height:100%;padding:26px;background:#fff;border:1px solid #cadce4;border-radius:16px;box-shadow:0 4px 0 #cbdfe533}
html[data-theme=dark] .card-columns>.content-column{background:var(--surface);border-color:var(--line)}
@media(max-width:640px){.card-columns>.content-column{padding:22px}}

/* Guide pages, Rylee #88: a section's bottom gap was its padding PLUS the last
   instruction-row's 38px margin -- 80px against 42px at the top. The trailing
   margin is only meant to separate one row from the next, so it is dropped on
   the last one. Measured on the router page: all seven sections go from
   42/80 to 42/42. The same imbalance was on every guide-page section, not just
   the one she pinned. */
.guide-page .page-section .wrap>.instruction-row:last-child{margin-bottom:0}

/* Contact page, Rylee #70 and #71.

   #70: the form column is 862px at 1440 but FormRenderer pins the form itself
   to max-width:560 with an INLINE style, so 302px of the column sat empty --
   the blank space she is pointing at. Same cause as #66 on the sign-up page,
   and it needs !important for the same reason: an inline declaration outranks
   any ordinary rule. Dropping the cap lets the form fill its column, taking
   the two-up fields from 237px to 384px.

   #71: the "AW Broadband" heading sat flush against the address card -- the
   measured gap was 0, because .service-rhythm zeroes .copy-module's bottom
   margin and nothing replaced it. 20px matches the spacing this page's own
   rhythm uses elsewhere (.service-rhythm .content-column>.button{margin-top:20px}).

   Both scoped to .rd-root.contact-page, which exists on exactly two pages (the
   EN and ES contact pages). The sign-up form keeps its own 900px cap and every
   other .rd-formgrid on the site is untouched. */
.rd-root.contact-page form.rd-formgrid{max-width:none!important}
.rd-root.contact-page .content-column>.copy-module+.feature-card{margin-top:20px}

/* cta-panel-row: the navy CTA panel, for a row that reads flat on its own.
   Rylee asked for the referral intro to be designed like the sections she
   tagged "dead" (#96, pointing at her #41). Those were rebuilt as the ruled
   homepage-help band; Walt preferred the navy panel presentation instead
   (2026-10-29), so this is the base .assistance-section treatment -- same
   navy, radius and 30px padding, same 25px heading and muted body -- applied
   to one row rather than a whole section, because section-1 also holds the
   referral artwork row that must stay as it is.
   Spacing: the panel is the first row, so the space above it is the section's
   own top padding, which comes from var(--section-inset). Giving the PANEL
   that bottom margin -- rather than setting the next row's margin-top -- means
   the two match by construction at every breakpoint, and it sidesteps a
   cascade trap: .service-rhythm .page-section .wrap>.content-row+.content-row
   sets 28px at the same (0,5,0) weight and sits LATER in this file, so a
   sibling rule here loses on source order no matter how it is written. The
   wrap is display:block, so this margin collapses with that 28px and the
   larger wins. Measured 48/48 at 1440 and 900, 32/32 at 375.
   The dark edge is not decoration: AW's default theme IS dark (html carries
   data-theme=dark even when the OS prefers light), and there the navy panel
   sits at 1.19 contrast against its own tinted section -- effectively
   invisible. A 1px --line border gives it definition so it reads as a panel on
   purpose. In light mode the panel is already 13.37 against the section and
   needs no help. */
.cta-panel-row{background:var(--navy);color:#fff;border-radius:18px;padding:30px;margin-bottom:var(--section-inset)}
.cta-panel-row .copy-module h2,.cta-panel-row .copy-module h3{font-size:25px;margin-bottom:10px;color:#fff}
.cta-panel-row .copy-module p{color:#d9e7ee;margin-bottom:0}
html[data-theme=dark] .cta-panel-row{border:1px solid var(--line)}

/* eFax guide: line the short column up with the middle of the tall one.
   Every instruction-row on that page is a 2-up grid at align-items:start with
   very unequal columns -- 412 vs 208, 623 vs 331, 709 vs 461 -- so the short
   side hangs off the top and reads as unrelated to the image beside it
   (Rylee's review #91, #92, #93: "center text in middle of row").
   Scoped to .efax-guide, a hook added to that page's bodyClass, NOT to
   .guide-page: that class also carries the router-troubleshooting and AWTV
   guides, and #89 already asks for the router page to be redesigned, so
   centring it now would be changing a page that is about to be rebuilt
   (Walt, 2026-10-29: eFax only for now).
   Row heights do not change -- only where the short column sits inside them.

   town pages: Rylee asked for the coverage intro to read left (#62). The row
   sets text-align:center for the whole grid; this puts the text column back to
   left without touching justify-items, so both columns stay exactly where they
   are. Scoped to .town-template so /business-solutions/internet-service, which
   shares .coverage-heading-centered, keeps its centred heading. */
.efax-guide .instruction-row{align-items:center}
.town-template .coverage-heading-centered>.content-column{text-align:left}

/* HD TV tile: break the paragraph after "channels" so it clears the television.
   Rylee's review #1, at her viewport (1440x653): the copy ran under the screen.
   The art is 58% wide and begins around 40% of the tile while .service-copy
   runs to 53%, so the copy's tail always sits over the image; whether it shows
   depends only on where a line happens to break, and at 1440 it does.
   50% is Walt's call, 2026-10-29, and it is the width that puts the break
   exactly after "channels". Measured on a nowrap clone at 1440:
   "Digital TV offers you all the channels" is 235px and "...channels you" is
   262px, so any content width in 235..262px breaks there -- 47.3%..51.6% of
   the tile once the 30px gutters are counted. 50% sits mid-band, giving lines
   of 234px and 179px.
   Clearance was checked against the television's own pixels, not its box: the
   PNG carries 90px of transparent margin (22px at render scale) and the
   element is rotated, so the bounding box starts at 1026 while the picture
   starts at 1048. Text ends at 1040, so there is 8px of real clearance -- the
   bbox alone says -14px and is simply measuring the wrong edge.
   The phone tile has the same geometry and is left as is.
   Bounded to min-width:721px because at (0,2,0), sitting after the
   breakpoints, it would otherwise outrank the max-width:720px and 440px blocks
   that set this element to width:53% / 56%. */
@media(min-width:721px){.tv .service-copy{width:50%}}

/* Platform FormRenderer (form.rd-formgrid > label > span + control, .rd-btn submit)
   dressed in the design's form chrome (the .prototype-form rules above). !important
   beats FormRenderer's inline styles — both the ones on the inputs and the
   style={{ display:'grid', gap:16, maxWidth:560 }} that it puts on the form
   itself, which is why this rule's gap needs it: an inline declaration outranks
   any ordinary rule, so the design's 23px sat here inert until it was marked.
   Name/phone/email/best-way/best-time and city/zip sit two-up like the design's
   half-width fields. */
.rd-root form.rd-formgrid{background:#fff;border:1px solid #bfd5df;padding:34px;border-radius:19px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px!important}
/* Sign-up page: the form card is that page's whole content, so it takes the
   heading's column rather than sitting as a 560px panel inside a centred 900px
   wrap — which lined up with neither the page gutter nor the viewport centre
   (Rylee's review, #66: "awkwardly thin and off center"). .signup-form-wrap is
   now a plain .wrap, so the card's left edge tracks the hero's at every width,
   and 900px is the cap .document-hero h1 already uses, so card and heading
   share one column exactly. !important because FormRenderer sets
   max-width:560 INLINE on the form element, which no ordinary rule can reach —
   that inline style is why the cap appears in no stylesheet. Scoped to
   .signup-form-wrap, an opt-in toggle on AwForm: the contact page's form is a
   .rd-formgrid too and has to keep its 560px column inside its split row. */
.rd-root .signup-form-wrap>form.rd-formgrid{max-width:900px!important}
.rd-root form.rd-formgrid>label{display:block;min-width:0;grid-column:1/-1;font-size:13px;font-weight:650;color:var(--ink);margin:0}
.rd-root form.rd-formgrid>label>span{display:block;margin-bottom:9px}
.rd-root form.rd-formgrid>label:has(input[name=firstName]),.rd-root form.rd-formgrid>label:has(input[name=lastName]),.rd-root form.rd-formgrid>label:has(input[name=phone]),.rd-root form.rd-formgrid>label:has(input[name=email]),.rd-root form.rd-formgrid>label:has(select[name=bestWay]),.rd-root form.rd-formgrid>label:has(select[name=bestTime]),.rd-root form.rd-formgrid>label:has(input[name=city]),.rd-root form.rd-formgrid>label:has(input[name=zip]){grid-column:span 1}
.rd-root form.rd-formgrid input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.rd-root form.rd-formgrid select,.rd-root form.rd-formgrid textarea{width:100%!important;font:inherit!important;font-size:15px!important;padding:13px 14px!important;border:1px solid #b5ccd7!important;border-radius:7px!important;background:#f8fbfc!important;color:var(--ink)!important;min-height:46px!important;box-sizing:border-box}
.rd-root form.rd-formgrid textarea{min-height:140px!important;resize:vertical}
.rd-root form.rd-formgrid input:focus,.rd-root form.rd-formgrid textarea:focus,.rd-root form.rd-formgrid select:focus{outline:2px solid #3c89b5;outline-offset:2px}
.rd-root form.rd-formgrid input[name=_hp_url]{display:none!important}
.rd-root form.rd-formgrid>.rd-btn{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:30px;padding:16px 23px;border-radius:8px;font-size:14px;font-weight:700;line-height:1.2;background:var(--navy);color:#fff;border:0;cursor:pointer;margin-top:5px;transition:transform .2s,background .2s}
.rd-root form.rd-formgrid>.rd-btn:hover{transform:translateY(-3px)}
html[data-theme=dark] .rd-root form.rd-formgrid{background:var(--surface);border-color:var(--line)}
html[data-theme=dark] .rd-root form.rd-formgrid input:not([type=checkbox]):not([type=radio]):not([type=hidden]),html[data-theme=dark] .rd-root form.rd-formgrid select,html[data-theme=dark] .rd-root form.rd-formgrid textarea{background:#0c1c27!important;color:var(--ink)!important;border-color:#597181!important}
@media(max-width:640px){.rd-root form.rd-formgrid{padding:22px;grid-template-columns:1fr}.rd-root form.rd-formgrid>label{grid-column:1/-1!important}}

/* ===== AWBB-HOME-COMMUNITY (2026-10-11) =====
   Ported verbatim from the v63 handoff reference-site/pages.css. These rules were
   never in the customCss paste, so the home page's community grid, the editorial
   card grids and the help-strip phone icon have been unstyled since the v63 content
   pass — not a regression from the block rebuild. Includes the card hover lift,
   the image zoom, dark-mode variants and the reduced-motion opt-out.
   .service-rhythm X is rewritten to main X, as the other rhythm rules were. */
.editorial-grid{align-items:stretch;margin-top:24px}.editorial-grid .feature-card{display:flex;flex-direction:column}.editorial-grid .feature-card>a{margin-top:auto;padding-top:12px;text-decoration:underline;text-underline-offset:3px}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.community-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.community-card:hover,.community-card:focus-within{transform:translateY(-4px);box-shadow:0 12px 26px #102e4112}.community-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}.community-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.community-card:hover .community-image img{transform:scale(1.025)}.community-copy{display:flex;flex:1;flex-direction:column;padding:26px;gap:16px}.community-copy h3{font-size:22px;line-height:1.3;letter-spacing:-.4px;margin:0}.community-copy p{margin:0;color:inherit;opacity:.8;font-size:15px}.community-story-link{margin-top:auto;padding-top:8px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.community-more{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.community-more p{margin:0;line-height:1.5;font-size:17px}.community-more nav{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap}.community-more .button{justify-content:center;min-height:48px}.community-news{border:1px solid var(--line);background:transparent;color:var(--ink)}html[data-theme=dark] .community-card{background:#203746}html[data-theme=dark] .community-news{color:inherit}#home-stories .community-more{margin-top:24px;padding-top:20px;gap:20px}main .editorial-grid+.copy-module{margin-top:28px}
@media(max-width:720px){.editorial-grid{grid-template-columns:1fr}.editorial-grid .feature-card h3{margin-top:0}.community-grid{grid-template-columns:minmax(0,1fr)}.community-more{margin-top:24px;padding-top:24px}.community-more nav{width:100%}.community-more .button{flex:1}.community-copy h3{font-size:23px}#home-stories .community-more{margin-top:20px;padding-top:16px;gap:16px}main .editorial-grid+.copy-module{margin-top:24px}}
@media(max-width:900px){.community-more{align-items:flex-start;flex-direction:column}.community-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.community-card,.community-image img{transition:none}.community-card:hover,.community-card:focus-within,.community-card:hover .community-image img{transform:none}}

/* ===== AWBB-V63-SCOPED-CSS (2026-10-11) =====
   The remaining 202 rules from the v63 reference stylesheets that the customCss
   paste never carried - mostly the page-scoped layers the design puts on <body>
   (.service-rhythm, .town-template, .telephone-page, .research-page, .reviews-page)
   plus standalone pieces (.standalone-cta-panel, .editorial-section, .town-zip-panel,
   .town-direction-card, .tv-devices-section, the .fiber:hover homegrown lift and the
   pledge arrow animation). Selectors are adapted to our DOM: the prototype scopes sit
   on <body> with main inside, while ours land on .rd-root INSIDE main, so a leading body and the main
   hop (with its child combinator) are dropped, so rules the prototype scopes to
   body.<scope> keep winning the same cascade battles they win there. Pages get the matching class via the root
   bodyClass prop. */
.research-contact-art{height:auto;min-height:445px}.research-contact-art .copy-module{width:100%}.research-contact-art h2{font-size:clamp(28px,3vw,38px)!important}.research-page .feature-card{display:flex;flex-direction:column}.research-page .feature-card>a{margin-top:auto;padding-top:12px;text-decoration:underline;text-underline-offset:3px}.fiber:hover .homegrown,.fiber:focus-within .homegrown{transform:rotate(-2deg)}.editorial-section .copy-module{margin-bottom:28px}.editorial-grid{align-items:stretch;margin-top:24px}.editorial-grid .feature-card{display:flex;flex-direction:column}.editorial-grid .feature-card>a{margin-top:auto;padding-top:12px;text-decoration:underline;text-underline-offset:3px}.editorial-source{font-size:13px;margin-top:24px;text-decoration:underline}.editorial-section .faq-list{margin-top:28px}.reasons>.copy-module{max-width:900px;margin:22px 0 32px}.reviews-page .document-hero{padding-top:48px}.reviews-page .testimonials{margin-top:24px}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.community-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.community-card:hover,.community-card:focus-within{transform:translateY(-4px);box-shadow:0 12px 26px #102e4112}.community-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}.community-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.community-card:hover .community-image img{transform:scale(1.025)}.community-copy{display:flex;flex:1;flex-direction:column;padding:26px;gap:16px}.community-copy h3{font-size:22px;line-height:1.3;letter-spacing:-.4px;margin:0}.community-copy p{margin:0;color:inherit;opacity:.8;font-size:15px}.community-story-link{margin-top:auto;padding-top:8px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.community-more{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.community-more p{margin:0;line-height:1.5;font-size:17px}.community-more nav{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap}.community-more .button{justify-content:center;min-height:48px}.community-news{border:1px solid var(--line);background:transparent;color:var(--ink)}html[data-theme=dark] .community-card{background:#203746}html[data-theme=dark] .community-news{color:inherit}#home-stories{padding-bottom:24px}#home-stories .community-more{margin-top:24px;padding-top:20px;gap:20px}#home-questions{padding-top:24px}#home-questions .copy-module{margin-bottom:24px}#home-questions .copy-module h2{margin-bottom:0}#home-questions .faq-list{margin-top:0}.service-rhythm{--section-space:32px;--content-space:20px}.service-rhythm .page-hero{padding-bottom:32px}.service-rhythm .hero-layout{padding-bottom:0}.service-rhythm .page-section{padding-block:var(--section-space)}.service-rhythm .hero-followup{padding-top:0}.service-rhythm .page-section.before-help{padding-bottom:24px}.service-rhythm .assistance-section{padding-block:0 32px}.service-rhythm .page-section .wrap>.content-row+.content-row{margin-top:28px}.service-rhythm .content-column>.copy-module+.copy-module{margin-top:var(--content-space)}.service-rhythm .copy-module{margin-bottom:0}.service-rhythm .copy-module :is(h2,h3,h4){margin-top:0;margin-bottom:16px}.service-rhythm .copy-module p{margin-bottom:16px}.service-rhythm .copy-module :is(h2,h3,h4,p,ul,ol):last-child{margin-bottom:0}.service-rhythm .content-column>.button{margin-top:20px}.service-rhythm .hero-followup .content-row+.content-row{margin-top:20px}.service-rhythm .service-help-row .content-column>.button{margin:0}.service-rhythm .service-help-row .copy-module h2{margin-bottom:8px}.service-rhythm .service-help-row .copy-module p{margin:0}.service-rhythm .area-links-row .content-column>.copy-module{margin:0 0 8px}.service-rhythm .area-links-row .content-column>.button{margin:0}.service-rhythm .editorial-section>.wrap>.copy-module{margin-bottom:24px}.service-rhythm .editorial-section .faq-list{margin-top:24px}.service-rhythm .pledge-section{padding-block:32px 40px}.service-rhythm .pledge-section .pledge-motion-row{margin:0}.service-rhythm .hero-copy>.button+p{margin-top:16px}.service-rhythm.telephone-page #section-0>.wrap>.content-row:first-child{margin-bottom:28px}.service-rhythm .page-section.before-help{padding-bottom:var(--cta-separation)}.page-section>.wrap:has(>.faq-list)>.copy-module{display:flow-root;margin-bottom:0}.page-section>.wrap:has(>.faq-list)>.copy-module :is(h2,h3){margin-bottom:0}.page-section>.wrap>.faq-list,#home-questions .faq-list{margin-top:var(--faq-heading-gap)}.hero-tv-photo{background:#d9edf4;padding:32px;display:grid;place-items:center}.hero-tv-photo>img{width:100%;height:100%;object-fit:contain;max-height:440px}.channel-image-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px}.channel-image-panel img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px}.service-rhythm .standalone-service-cta{padding-block:0 32px}.standalone-cta-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:32px;border:1px solid var(--line);border-radius:20px;background:#e1eff5}.standalone-cta-panel h2,.standalone-cta-panel h3{font-size:clamp(24px,2.4vw,32px);line-height:1.25;letter-spacing:-.6px;margin:0 0 12px}.standalone-cta-panel p{margin:0;max-width:760px}.standalone-cta-panel .button{margin:0!important;white-space:nowrap}.service-rhythm .standalone-cta-panel .content-column>.copy-module{margin:0}.service-rhythm .editorial-grid+.copy-module{margin-top:28px}.service-rhythm .section-intro{margin-bottom:28px}.service-rhythm .feature-card :is(p,ul,ol):last-child{margin-bottom:0}.service-rhythm .feature-row{align-items:stretch}.service-rhythm .feature-row>.content-column{height:100%}.service-rhythm .phone-feature-grid{align-items:stretch;gap:24px}.service-rhythm .phone-feature-grid .feature-card{height:100%}.tv-devices-section .content-row{grid-template-columns:1fr 1.4fr 1fr;gap:32px}.tv-devices-section .source-image{padding:20px;background:#fff;border-radius:20px}.tv-devices-section .source-image img{height:200px;object-fit:contain}.service-rhythm.telephone-page #section-0>.wrap>.content-row:first-child{margin-bottom:0}html[data-theme=dark] .hero-tv-photo{background:#153443}html[data-theme=dark] .standalone-cta-panel{background:#173443}.service-rhythm .page-section.before-help{padding-bottom:32px}.service-rhythm :is(.assistance-section,.standalone-service-cta,.voip-intro-section){padding-block:32px}.service-rhythm .feature-card.card-with-action{display:flex;flex-direction:column;gap:0;height:100%}.service-rhythm .card-with-action>.button{align-self:flex-start;margin-top:auto;padding:14px 20px;text-decoration:none}.service-rhythm .card-with-action>.button:before{content:none}.service-rhythm .card-with-action>:has(+.button){margin-bottom:24px}.service-rhythm .paired-feature-section{background:#e1eff5;padding-block:48px}.service-rhythm .paired-feature-section .wrap>.content-row+.content-row{margin-top:48px}.service-rhythm .paired-feature-section .content-row{column-gap:48px}html[data-theme=dark] .service-rhythm .paired-feature-section{background:#203c4d}.service-rhythm .section-intro{margin-bottom:28px}html .service-rhythm .card-with-action>.button:is(:hover,:focus-visible){color:#fff!important}.town-template .content-row:has(>.image-column){align-items:start}.town-template .town-service-cards,.town-template .town-story-grid{align-items:stretch}.town-template .town-service-cards>.content-column,.town-template .town-story-grid>.content-column{display:flex;min-width:0}.town-template .town-service-cards .feature-card{width:100%;display:flex;flex-direction:column}.town-template .town-service-cards .feature-card>.button{margin-top:auto}.town-template .town-service-cards .feature-card>div,.town-template .town-service-cards .feature-card>p{margin-bottom:24px}.town-template .feature-card.town-story-card{display:flex;flex-direction:column;overflow:hidden;height:100%;width:100%;padding:24px}.town-template .town-story-card>.source-image{margin:-24px -24px 24px;flex-shrink:0}.town-template .town-story-card>.source-image img{width:100%;height:200px;object-fit:cover;border-radius:0}.town-template .town-story-card>.button{margin-top:auto}.town-location-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:32px;align-items:start}.town-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.town-direction-card{margin:0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}.town-template .town-direction-card .map-panel{margin:0;border-radius:0;flex-shrink:0}.town-template .town-direction-card iframe{display:block;width:100%;height:260px;border:0;border-radius:0}.town-direction-card figcaption{padding:16px;line-height:1.5;font-size:14px}.town-zip-panel{padding:24px;border:1px solid var(--line);border-radius:18px}.town-zip-panel h2{font-size:26px;line-height:1.25;letter-spacing:-.5px;margin:0 0 20px}.town-zip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;list-style:none;padding:0;margin:0;line-height:1.5}.service-rhythm .page-section{padding-block:var(--section-inset)}.service-rhythm .page-hero{padding-bottom:var(--section-inset)}.service-rhythm .hero-followup{padding-top:0}.service-rhythm .paired-feature-section{padding-block:var(--section-inset)}.service-rhythm .pledge-section{padding-bottom:var(--footer-inset)}.town-pricing-section .pricing-group{margin-top:32px}.town-template .content-row.town-centered-row:has(>.image-column){align-items:center}.service-rhythm .page-section.before-bundle-bar{padding-bottom:0}.service-rhythm .bundle-section{padding-block:var(--section-inset)}.service-rhythm .bundle-section .content-row{margin-block:0;padding-block:28px}.service-rhythm .bundle-section .copy-module,.service-rhythm .bundle-section .copy-module :is(h2,h3,h4){margin-block:0}
@media(max-width:600px){.research-page .feature-row{grid-template-columns:minmax(0,1fr)}.research-contact-art{height:auto!important;min-height:280px}.research-contact-art .copy-module{padding:28px!important}}
@media(prefers-reduced-motion:reduce){.fiber:hover .homegrown,.fiber:focus-within .homegrown{transform:rotate(-8deg)}.community-card,.community-image img{transition:none}.community-card:hover,.community-card:focus-within,.community-card:hover .community-image img{transform:none}}
@media(max-width:720px){.editorial-grid{grid-template-columns:1fr}.editorial-section{padding-block:36px}.editorial-section .copy-module h2{font-size:32px}.editorial-grid .feature-card h3{margin-top:0}.community-grid{grid-template-columns:minmax(0,1fr)}.community-more{margin-top:24px;padding-top:24px}.community-more nav{width:100%}.community-more .button{flex:1}.community-copy h3{font-size:23px}#home-stories{padding-bottom:20px}#home-stories .community-more{margin-top:20px;padding-top:16px;gap:16px}#home-questions{padding-top:20px}#home-questions .copy-module{margin-bottom:20px}.standalone-cta-panel{grid-template-columns:1fr;gap:20px;padding:24px}.standalone-cta-panel .button{justify-self:start}.hero-tv-photo{padding:20px}.channel-image-panel{padding:18px}.tv-devices-section .content-row{grid-template-columns:1fr 1fr}.tv-devices-section .content-column{grid-column:1/-1;grid-row:1}.tv-devices-section .source-image{padding:16px}.tv-devices-section .source-image img{height:140px}.service-rhythm .phone-feature-grid{grid-template-columns:1fr 1fr;gap:16px}.service-rhythm .editorial-grid+.copy-module{margin-top:24px}.town-template .town-service-cards{grid-template-columns:1fr}.town-location-grid{grid-template-columns:1fr}.town-zip-panel{grid-row:1}.town-template .town-story-grid{grid-template-columns:1fr}.town-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-direction-card figcaption{font-size:13px;padding:12px}.town-template .town-story-card>.source-image img{height:210px}}
@media(max-width:900px){.community-more{align-items:flex-start;flex-direction:column}.community-copy{padding:22px}}
@media(max-width:640px){.service-rhythm{--section-space:24px;--content-space:16px}.service-rhythm .page-hero{padding-bottom:24px}.service-rhythm .page-section.before-help{padding-bottom:20px}.service-rhythm .assistance-section{padding-bottom:24px}.service-rhythm .page-section .wrap>.content-row+.content-row{margin-top:24px}.service-rhythm .pledge-section{padding-block:24px 32px}.service-rhythm .editorial-section>.wrap>.copy-module{margin-bottom:20px}.service-rhythm .hero-followup .content-row+.content-row{margin-top:16px}.service-rhythm .standalone-service-cta{padding-bottom:24px}.service-rhythm .page-section.before-help{padding-bottom:24px}.service-rhythm :is(.assistance-section,.standalone-service-cta,.voip-intro-section){padding-block:24px}.service-rhythm .paired-feature-section{padding-block:32px}.service-rhythm .paired-feature-section .wrap>.content-row+.content-row{margin-top:32px}.service-rhythm .section-intro{margin-bottom:24px}.telephone-page #section-0 .phone-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.telephone-page #phone-benefits .feature-row{grid-template-columns:1fr}.telephone-page #phone-benefits .feature-card{display:flex;align-items:center;gap:16px}.telephone-page #phone-benefits .feature-symbol,.telephone-page #phone-benefits h4{margin:0}.pledge-section .pledge-motion-row .cta-art{display:flex;align-items:center;justify-content:center;width:100%;height:220px;min-height:220px;padding:0;margin:0;gap:0}.pledge-section .pledge-motion-row .cta-art:before,.pledge-section .pledge-motion-row .cta-art:after{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}.pledge-section .pledge-motion-row .cta-art:before{width:200px;height:200px}.pledge-section .pledge-motion-row .cta-art:after{width:145px;height:145px}.pledge-section .pledge-motion-row .cta-art span{flex:0 0 90px;width:90px;line-height:1;font-size:130px;text-align:center;letter-spacing:0;margin:0}.pledge-section .pledge-motion-row .cta-art span+span{margin-left:-30px}.service-rhythm .bundle-section .content-row{padding:24px}}
@media(min-width:721px) and (max-width:950px){.town-location-grid{grid-template-columns:minmax(0,1fr) 220px;gap:24px}}@media(max-width:950px){.town-map-grid{gap:16px}.town-template .town-direction-card iframe{height:220px}}
@media(max-width:480px){.town-map-grid{grid-template-columns:1fr}.town-template .town-direction-card iframe{height:240px}}

/* A single-colour (black-on-transparent) footer badge, e.g. the WISPA member mark,
   is invisible on the dark footer. badge-invert renders it white there; the light
   footer keeps the original, which is correct on white. */
html[data-theme=dark] .badges img.badge-invert{filter:brightness(0) invert(1)}

/* ===== AWBB-FAQ-MOTION (2026-10-11, Walt) =====
   The v63 design has no open/close transition on .faq-entry, so the accordions
   snap. Animate the disclosure's own content box instead of a wrapper, which
   keeps the markup and the native <details> semantics untouched.
   interpolate-size lets block-size animate to the auto keyword, and allow-discrete fades
   content-visibility in step so the panel does not pop in before it has height.
   Progressive enhancement: browsers without ::details-content behave as today.
   The marker rotates rather than swapping glyphs, so it can transition too. */
@media(prefers-reduced-motion:no-preference){
  :root{interpolate-size:allow-keywords}
  .faq-entry::details-content{block-size:0;overflow:hidden;transition:block-size .3s cubic-bezier(.4,0,.2,1),content-visibility .3s allow-discrete}
  .faq-entry[open]::details-content{block-size:auto}
  .faq-entry summary{transition:background-color .2s ease}
  .faq-entry summary:after{transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s ease;transform-origin:50% 50%}
  .faq-entry[open] summary:after{transform:rotate(180deg)}
}

/* ===== AWBB-HOMEGROWN (2026-10-11, Walt) =====
   The hero fiber card's homegrown mark shipped at the narrow-breakpoint size and
   with no transition, because the earlier port skipped any reference rule whose
   selector already existed here - losing the declarations that rule added.
   Desktop size and the hover restored from v63, matching .tv-art / .phone-art:
   transition transform .5s, hover settles to -2deg. */
.fiber .homegrown{width:clamp(225px,26.25vw,325px);transition:transform .5s}
.fiber:hover .homegrown,.fiber:focus-within .homegrown{transform:rotate(-2deg)}
@media(prefers-reduced-motion:reduce){.fiber .homegrown{transition:none}}

/* ===== AWBB-CSS-REVIEW-FIXES (2026-10-11) =====
   Found by comparing computed styles against the v63 reference, page by page and
   in both themes (a text diff of the stylesheets was unreliable - the reference
   declares many selectors more than once and the later one wins).
   Only two real differences survived that check.
   1. The pack uses var(--cta-separation) and var(--faq-heading-gap) but never
      defined them, so .before-help padding-bottom and the FAQ heading gap were
      invalid at computed-value time and collapsed to nothing.
   2. .pricing-plan lost the background ease the reference gives it on hover. */
:root{--cta-separation:48px;--faq-heading-gap:32px}
.pricing-plan{transition:background-color .2s ease}
@media(max-width:640px){:root{--cta-separation:32px;--faq-heading-gap:24px}}

/* ===== AWBB-MOBILE-FIXES (2026-10-12) =====
   Two faults Walt caught on an iPhone, both with the same shape: the platform
   base sheet (rd-base.css, '.rd-root{line-height:var(--rd-lh-body)}' -> 1.7)
   reaches elements the v63 design left at the UA default of 'normal'. On small
   text nobody can tell; on display-size glyphs the line box balloons.

   1. The CTA arrow stack. Three glyphs at 130px in a 140px-tall .cta-art: at
      1.7 each line box is 221px instead of 170px, so the art started 40px above
      the card instead of 15px, was clipped by the card's overflow:hidden, and
      the decorative circles dragged a line across the heading. Restoring
      'normal' puts every box back on the reference's geometry exactly.
   2. .fiber-star, same cause (76.5px box against the reference's 59px).

   The eight-spoked asterisk is now an inline SVG rather than U+2733. No font in
   the stack carries that codepoint - measured: DM Sans reports the same advance
   for it as serif does, i.e. both fall through - so iOS resolved it from Apple
   Color Emoji and painted a green tile with a white asterisk, ignoring the
   'color' the design sets. The SVG is sized to the glyph's measured ink (0.70em
   square, 0.02em in from the origin, bottom 0.01em above the baseline, 0.749em
   advance) so the inline metrics are unchanged, and it paints currentColor, so
   every existing .fiber-star / .section-star rule still governs it. This also
   keeps the site to the flat-monochrome icon rule.
   U+2197 was audited at the same time and is safe: DM Sans has a real glyph for
   it, so none of its 2,024 occurrences can fall through to the emoji font. */
.cta-art span{line-height:normal}
.fiber-star{line-height:normal}
.fiber-star svg,.section-star svg{display:inline-block;width:.695em;height:.695em;margin:0 .034em 0 .02em;vertical-align:.01em;fill:none;stroke:currentColor;stroke-width:1.25}

/* The mobile open/close controls, drawn rather than typed for the same reason.
   One size and one stroke weight for both, so the hamburger and the X match
   each other instead of inheriting two different symbol fonts' idea of 22px.
   The sizes below are the box the glyphs used to occupy: 29px of ink in the
   header, and the 22px the close button's circle was built around. */
.menu-toggle .aw-icon,.mobile-menu-close .aw-icon{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.menu-toggle .aw-icon{width:26px;height:26px}
.mobile-menu-close .aw-icon{width:26px;height:26px;margin:auto}
.menu-toggle span{display:flex;align-items:center}

/* ===== AWBB-CTA-MOBILE (2026-10-12) =====
   Walt, on an iPhone: the arrow slides right to left on scroll and the circles
   paint in front of the heading. Make mobile behave the way the desktop CTA does.

   1. Stacking. .cta-art is position:relative, so it and its two circle
      pseudo-elements paint in the positioned layer, above the copy column, which
      is an ordinary static block. On desktop the two grid columns sit side by
      side and never meet, so it never showed. On one mobile column the 240px
      circle overflows its 140px box and lands on the heading - confirmed with
      elementFromPoint, which returned .cta-art for points inside the h2.
      Lifting the copy column into the same layer puts the text back on top; the
      circles still pass behind it, as the design draws them.

   2. The slide. The script parks every arrow on the art's horizontal centre
      when stacked and releases them as the section scrolls up. Desktop centres
      the art, so that is a 56px convergence straddling zero - they fan out in
      place. Mobile pinned the art to the left (justify-content:flex-start plus
      35px of padding, with the circles pushed left to match), which left the
      arrows 158px from the centre: the whole group slid across the card in one
      direction. Centring the art on mobile too, circles included, brings the
      travel to 37px and the same converge-and-fan reading as desktop. */
.cta>div:not(.cta-art){position:relative;z-index:1}
@media(max-width:640px){.cta-art{justify-content:center;padding-left:0}.cta-art:before,.cta-art:after{left:auto}}
