:root {
  --navy: #06235d;
  --navy-2: #0a367e;
  --blue: #0d61db;
  --blue-2: #1478f5;
  --sky: #e9f6ff;
  --sky-2: #d7efff;
  --cyan: #2ec5ff;
  --yellow: #ffbf32;
  --yellow-light: #fff0c8;
  --ink: #10284d;
  --muted: #59708d;
  --line: #d9e6f2;
  --paper: #ffffff;
  --mist: #f7fbff;
  --green: #13a989;
  --danger: #ca4b59;
  --shadow-sm: 0 10px 26px rgba(25, 69, 126, .08);
  --shadow: 0 21px 52px rgba(25, 69, 126, .14);
  --shadow-lg: 0 35px 80px rgba(7, 46, 105, .22);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 15px;
  --page: min(1180px, calc(100vw - 48px));
  color: var(--ink);
  background: var(--paper);
  font-family: "Avenir Next", "Segoe UI", Inter, Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
svg { display: block; }

.page-shell { width: var(--page); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 200; left: 15px; top: -70px; padding: 11px 16px; color: #06235d; border-radius: 0 0 10px 10px; background: var(--yellow); font-size: .86rem; font-weight: 800; transition: top .2s ease; }
.skip-link:focus { top: 0; }

.utility-bar { color: #dcecff; background: #082762; font-size: .72rem; }
.utility-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.utility-inner span { display: inline-flex; align-items: center; gap: 7px; }
.utility-inner span i { width: 7px; height: 7px; border-radius: 50%; background: #44d8c0; box-shadow: 0 0 0 3px rgba(68,216,192,.12); }
.utility-inner a { color: #fff; opacity: .94; }.utility-inner a b { color: #a9e6ff; font-weight: 750; }

.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid #e2ecf5; background: rgba(255,255,255,.95); box-shadow: 0 4px 18px rgba(26,61,111,.035); backdrop-filter: blur(14px); }
.nav-shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #0a3f98; font-size: 1.43rem; font-weight: 850; letter-spacing: -.07em; }
.brand-mark { display: inline-flex; align-items: flex-end; width: 28px; height: 28px; gap: 3px; transform: skewY(-9deg); }.brand-mark i { display: block; width: 6px; border-radius: 7px; background: var(--blue-2); }.brand-mark i:nth-child(1) { height: 10px; opacity: .65; }.brand-mark i:nth-child(2) { height: 17px; }.brand-mark i:nth-child(3) { height: 25px; background: var(--cyan); }
.primary-nav { display: flex; align-items: center; gap: 27px; color: #385475; font-size: .84rem; font-weight: 720; }.primary-nav > a:not(.nav-cta) { transition: color .18s ease; }.primary-nav > a:not(.nav-cta):hover { color: var(--blue); }
.nav-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; color: #052560; border: 1px solid #ffc84e; border-radius: 10px; background: var(--yellow); font-weight: 850; box-shadow: 0 7px 15px rgba(225,160,7,.16); transition: transform .18s ease, box-shadow .18s ease; }.nav-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(225,160,7,.24); }.nav-cta-icon { font-size: 1rem; }
.menu-toggle { display: none; padding: 9px; color: var(--navy); border: 0; background: transparent; }.menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px; background: currentColor; }

.hero { position: relative; overflow: hidden; padding: 75px 0 80px; background: linear-gradient(116deg, #eef9ff 0%, #e2f4ff 48%, #d1eaff 100%); isolation: isolate; }.hero::before { content: ""; position: absolute; z-index: -1; width: 730px; height: 730px; right: -320px; top: -420px; border: 1px solid rgba(29,126,245,.18); border-radius: 50%; box-shadow: 0 0 0 65px rgba(29,126,245,.045), 0 0 0 130px rgba(29,126,245,.035), 0 0 0 195px rgba(29,126,245,.026); }.hero-decoration { position: absolute; z-index: -1; border-radius: 50%; filter: blur(1px); }.decoration-one { width: 250px; height: 250px; left: -95px; bottom: -150px; background: rgba(45,197,255,.16); }.decoration-two { width: 120px; height: 120px; right: 40%; top: 50px; background: rgba(255,192,48,.17); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr); gap: 58px; align-items: center; }.hero-copy { max-width: 660px; }.eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; font-size: .69rem; font-weight: 850; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }.eyebrow-blue { color: #1471d7; }.eyebrow-light { color: #9edcff; }.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 0 5px rgba(20,120,245,.1); }
.hero h1 { max-width: 700px; margin-bottom: 20px; color: #0b3474; font-size: clamp(3rem, 5.6vw, 5.25rem); line-height: .98; letter-spacing: -.073em; }.hero h1 em { color: var(--blue-2); font-style: normal; }.hero-lede { max-width: 610px; margin-bottom: 29px; color: #496887; font-size: 1.07rem; line-height: 1.65; }
.availability-form { max-width: 644px; padding: 17px; border: 1px solid #d8e8f5; border-radius: 20px; background: rgba(255,255,255,.87); box-shadow: 0 17px 37px rgba(40,91,145,.1); }.checker-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 1px 9px; }.checker-title-row label { color: #173d74; font-size: .86rem; font-weight: 820; }.checker-title-row > span { padding: 4px 8px; color: #147068; border-radius: 999px; background: #def8f1; font-size: .65rem; font-weight: 810; text-transform: uppercase; letter-spacing: .06em; }
.address-row { display: flex; align-items: center; min-height: 62px; border: 1px solid #c9dbea; border-radius: 12px; background: #fff; transition: border .2s ease, box-shadow .2s ease; }.address-row:focus-within { border-color: #2b82ec; box-shadow: 0 0 0 4px rgba(43,130,236,.12); }.address-icon { flex: 0 0 auto; width: 46px; padding-left: 16px; color: #2074dd; }.address-icon svg { width: 21px; height: 21px; }.address-row input { min-width: 0; flex: 1; height: 60px; padding: 0 9px; color: #183a68; border: 0; outline: 0; background: transparent; font-size: .94rem; }.address-row input::placeholder { color: #8398af; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 47px; padding: 0 17px; border: 0; border-radius: 10px; font-weight: 830; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }.button-primary { min-height: 50px; margin-right: 5px; color: #04255f; background: var(--yellow); white-space: nowrap; }.button-primary:hover, .button-lead:hover { transform: translateY(-1px); box-shadow: 0 10px 19px rgba(229,164,12,.24); background: #ffca4d; }.button:disabled { cursor: wait; opacity: .72; transform: none; box-shadow: none; }
.area-hints { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 11px 1px 0; color: #697f96; font-size: .73rem; }.area-chip { padding: 4px 9px; color: #2768b7; border: 1px solid #cddfee; border-radius: 999px; background: #f8fcff; font-size: .7rem; font-weight: 750; transition: border .17s ease, background .17s ease; }.area-chip:hover, .area-chip.is-selected { color: #064fba; border-color: #73b3fd; background: #e9f4ff; }
.form-note { margin: 10px 1px 0; color: #748aa1; font-size: .71rem; line-height: 1.5; }.form-status { min-height: 18px; margin: 6px 1px 0; color: #096d9d; font-size: .77rem; font-weight: 700; }.form-status.is-error { color: var(--danger); }
.checker-progress { display: flex; align-items: center; gap: 0; margin: 13px 1px 1px; color: #8093a7; font-size: .66rem; font-weight: 730; }.checker-progress[hidden] { display: none; }.checker-progress span { display: flex; align-items: center; gap: 5px; }.checker-progress span:not(:last-child)::after { content: ""; width: 19px; height: 1px; margin: 0 8px; background: #c9d9e7; }.checker-progress i { display: grid; place-items: center; width: 17px; height: 17px; color: #6382a3; border: 1px solid #bcd0e2; border-radius: 50%; font-size: .59rem; font-style: normal; }.checker-progress .is-active { color: #1264cd; }.checker-progress .is-active i { color: #fff; border-color: #2078e5; background: #2078e5; }
.hero-benefits { display: flex; flex-wrap: wrap; gap: 10px 23px; margin: 25px 2px 0; color: #5b7592; font-size: .74rem; }.hero-benefits span { display: inline-flex; align-items: center; gap: 5px; }.hero-benefits span::before { content: "✓"; display: grid; place-items: center; width: 16px; height: 16px; color: #0f70d7; border-radius: 50%; background: #d7ecff; font-size: .62rem; font-weight: 900; }.hero-benefits b { color: #234b7d; }

.hero-visual { position: relative; min-height: 487px; }.hero-map-card { position: absolute; z-index: 1; inset: 8px 36px 34px 0; overflow: hidden; border: 1px solid rgba(73,136,204,.25); border-radius: var(--radius-xl); background: linear-gradient(145deg, #fff, #e9f7ff); box-shadow: var(--shadow-lg); }.map-card-head { position: relative; z-index: 4; display: flex; justify-content: space-between; gap: 12px; padding: 20px 20px 0; font-size: .68rem; font-weight: 780; }.map-status { display: inline-flex; align-items: center; gap: 6px; color: #12519f; }.map-status i { width: 7px; height: 7px; border-radius: 50%; background: #20b998; box-shadow: 0 0 0 4px rgba(32,185,152,.12); }.map-caption { color: #8195a8; }.hero-map { position: absolute; inset: 33px 0 0; overflow: hidden; background: linear-gradient(145deg, #d8efff, #f6fcff 58%, #d8f3fb); }.hero-map::before { content: ""; position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(rgba(91,153,196,.19) 1px, transparent 1px), linear-gradient(90deg, rgba(91,153,196,.19) 1px, transparent 1px); background-size: 30px 30px; transform: rotate(-8deg) scale(1.2); }.map-road { position: absolute; z-index: 1; height: 10px; border: 2px solid rgba(255,255,255,.85); border-radius: 999px; background: rgba(122,182,218,.44); transform-origin: left; box-shadow: 0 1px 3px rgba(63,124,166,.1); }.road-a { width: 440px; left: -34px; top: 164px; transform: rotate(-22deg); }.road-b { width: 330px; left: 84px; top: 225px; transform: rotate(43deg); }.road-c { width: 315px; left: 135px; top: 54px; transform: rotate(82deg); }.road-d { width: 225px; left: -27px; top: 281px; transform: rotate(3deg); }.map-block { position: absolute; z-index: 0; border: 1px solid rgba(97,168,140,.17); border-radius: 16px; background: rgba(167,219,176,.33); }.block-a { width: 108px; height: 70px; left: 28px; top: 65px; transform: rotate(17deg); }.block-b { width: 105px; height: 90px; right: 54px; top: 89px; transform: rotate(-11deg); }.block-c { width: 124px; height: 63px; left: 106px; bottom: 49px; transform: rotate(-16deg); }.block-d { width: 70px; height: 70px; right: 23px; bottom: 41px; transform: rotate(25deg); }.coverage-wave { position: absolute; z-index: 2; border: 1px solid rgba(22,120,245,.22); border-radius: 50%; background: radial-gradient(circle, rgba(33,146,255,.13), transparent 67%); }.wave-a { width: 212px; height: 212px; left: 50px; top: 69px; }.wave-b { width: 150px; height: 150px; right: 44px; bottom: 32px; }.wave-c { width: 115px; height: 115px; right: 106px; top: 39px; }.map-label { position: absolute; z-index: 3; padding: 6px 8px; color: #26567c; border: 1px solid rgba(255,255,255,.85); border-radius: 8px; background: rgba(255,255,255,.76); box-shadow: 0 5px 11px rgba(40,91,145,.06); font-size: .68rem; font-weight: 820; }.label-cakovice { left: 63px; top: 118px; }.label-treboradice { right: 61px; top: 183px; }.label-miskovice { left: 132px; bottom: 65px; }.home-pin { position: absolute; z-index: 4; width: 18px; height: 18px; padding: 4px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: var(--blue-2); box-shadow: 0 5px 12px rgba(20,91,200,.27); transform: rotate(-45deg); }.home-pin i { display: block; width: 4px; height: 4px; border-radius: 50%; background: #fff; }.pin-one { left: 45%; top: 34%; }.pin-two { right: 23%; top: 45%; }.pin-three { left: 30%; bottom: 23%; }.map-card-foot { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 10px; padding: 15px 20px; color: #6d829a; background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.86)); font-size: .67rem; }.map-card-foot b { color: #1663cb; font-size: .9rem; }
.hero-offer-card { position: absolute; z-index: 3; right: 0; bottom: 0; width: min(310px, 70%); padding: 22px; color: #e9f7ff; border: 1px solid rgba(93,172,252,.38); border-radius: 18px; background: linear-gradient(139deg, #073978, #075da9); box-shadow: 0 20px 45px rgba(13,60,129,.3); }.offer-card-label { color: #8ed3ff; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.hero-offer-card h2 { margin: 8px 0 18px; font-size: 1.24rem; line-height: 1.15; letter-spacing: -.045em; }.hero-offer-card h2 em { color: #6be6ff; font-style: normal; }.hero-offer-card ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.hero-offer-card li { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 7px; }.offer-check { display: grid; place-items: center; width: 18px; height: 18px; color: #083d71; border-radius: 50%; background: #61d9e3; font-size: .64rem; font-weight: 900; }.hero-offer-card li b { display: block; color: #fff; font-size: .76rem; }.hero-offer-card li small { display: block; margin-top: 1px; color: #afd5ef; font-size: .62rem; }.hero-offer-card li strong { color: #e8f6ff; font-size: .69rem; white-space: nowrap; }

.trust-strip { position: relative; z-index: 4; border-top: 1px solid #e2edf5; border-bottom: 1px solid #e2edf5; background: #fff; }.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.trust-grid > div { min-height: 102px; display: flex; align-items: center; gap: 13px; padding: 20px 28px; border-right: 1px solid #e4edf5; }.trust-grid > div:first-child { padding-left: 0; }.trust-grid > div:last-child { border-right: 0; }.trust-icon { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; color: #1064ce; border-radius: 11px; background: #e7f3ff; font-size: 1rem; font-weight: 900; }.trust-grid p { margin: 0; }.trust-grid b { display: block; margin-bottom: 3px; color: #234a7a; font-size: .79rem; }.trust-grid small { display: block; color: #72869d; font-size: .7rem; line-height: 1.4; }

.section-space { padding: 118px 0; }.section-heading { max-width: 710px; margin-bottom: 47px; }.section-heading-centered { margin-right: auto; margin-left: auto; text-align: center; }.section-heading-centered .eyebrow { justify-content: center; }.section-heading h2, .result-section-heading h2 { margin-bottom: 15px; color: #12386d; font-size: clamp(2.3rem, 4.3vw, 3.8rem); line-height: 1.02; letter-spacing: -.064em; }.section-heading p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.pricing-section { background: var(--mist); }.plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }.plan-card { position: relative; min-height: 465px; display: flex; flex-direction: column; align-items: flex-start; padding: 27px; overflow: hidden; border: 1px solid #d9e6f1; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }.plan-card-featured { color: #f4fbff; border-color: #0d61d5; background: linear-gradient(145deg, #0d55bb, #06418d); box-shadow: 0 18px 41px rgba(17,86,182,.25); }.plan-card-featured::before { content: ""; position: absolute; top: -78px; right: -66px; width: 210px; height: 210px; border: 1px solid rgba(179,229,255,.26); border-radius: 50%; box-shadow: 0 0 0 31px rgba(179,229,255,.04), 0 0 0 63px rgba(179,229,255,.03); }.plan-ribbon { position: absolute; z-index: 2; top: 15px; right: 14px; padding: 6px 8px; color: #063c7a; border-radius: 999px; background: #7ee0ff; font-size: .55rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }.plan-top { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }.plan-icon { display: grid; place-items: center; width: 42px; height: 42px; color: #0965d2; border-radius: 12px; background: #e6f3ff; font-size: 1.3rem; font-weight: 900; }.plan-card-featured .plan-icon { color: #073f8c; background: #75ddff; }.plan-card-fiber .plan-icon { color: #886000; background: #fff0c4; }.plan-kicker { color: #67809a; font-size: .62rem; font-weight: 830; letter-spacing: .085em; text-transform: uppercase; }.plan-card-featured .plan-kicker { color: #b4ddff; }.plan-card h3 { margin-bottom: 7px; font-size: 1.78rem; letter-spacing: -.055em; }.plan-speed { margin-bottom: 21px; color: #647b94; font-size: .92rem; }.plan-speed strong { color: #173e73; }.plan-card-featured .plan-speed { color: #b7d7f3; }.plan-card-featured .plan-speed strong { color: #fff; }.plan-features { display: grid; gap: 11px; margin: 0 0 24px; padding: 0; list-style: none; color: #627890; font-size: .79rem; line-height: 1.45; }.plan-features li { position: relative; padding-left: 18px; }.plan-features li::before { content: "✓"; position: absolute; left: 0; color: #1685d7; font-weight: 900; }.plan-card-featured .plan-features { color: #c8e1f4; }.plan-card-featured .plan-features li::before { color: #6de0ff; }.plan-price { margin-top: auto; margin-bottom: 18px; color: #54708d; font-size: .77rem; }.plan-price span { margin-right: 4px; }.plan-price strong { color: #123a70; font-size: 2.32rem; letter-spacing: -.075em; }.plan-price small { font-size: .76rem; }.plan-card-featured .plan-price { color: #bdd7ec; }.plan-card-featured .plan-price strong { color: #fff; }.button-plan { width: 100%; min-height: 45px; color: #0a5bb9; border: 1px solid #c8ddf0; background: #f6fbff; font-size: .8rem; }.button-plan:hover { color: #fff; border-color: #146bd6; background: #146bd6; }.plan-card-featured .button-plan { color: #063e8b; border-color: #82dfff; background: #7ee0ff; }.plan-card-featured .button-plan:hover { color: #063e8b; background: #b2edff; }.pricing-note { max-width: 780px; margin: 19px auto 0; color: #788da2; text-align: center; font-size: .72rem; line-height: 1.55; }

.technology-section { overflow: hidden; background: #fff; }.technology-layout { display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: 84px; }.technology-copy h2 { max-width: 515px; margin-bottom: 17px; color: #12386d; font-size: clamp(2.25rem, 4.1vw, 3.6rem); line-height: 1.03; letter-spacing: -.064em; }.technology-copy p:not(.eyebrow) { max-width: 515px; margin-bottom: 25px; color: var(--muted); line-height: 1.65; }.text-link { display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 800; }.text-link-blue { color: #1162c7; }.text-link span { transition: transform .18s ease; }.text-link:hover span { transform: translateX(4px); }.technology-comparison { display: grid; gap: 10px; padding: 15px; border: 1px solid #dbe8f3; border-radius: var(--radius-lg); background: #f7fbff; box-shadow: var(--shadow-sm); }.technology-comparison article { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 14px; min-height: 92px; padding: 16px; border: 1px solid transparent; border-radius: 15px; background: #fff; }.technology-comparison article:first-child { border-color: #92c9ff; box-shadow: 0 8px 17px rgba(24,100,197,.09); }.comparison-number { color: #0e6ee6; font-size: 2.2rem; font-weight: 850; letter-spacing: -.08em; }.comparison-fiber { color: #d79600; }.technology-comparison h3 { display: inline; margin: 0 0 4px; color: #163c70; font-size: 1rem; }.technology-comparison p { margin: 3px 0 0; color: #6b8299; font-size: .75rem; line-height: 1.5; }.technology-comparison p b { color: #284f7e; }.comparison-status { padding: 6px 8px; color: #477390; border-radius: 999px; background: #edf4f8; font-size: .61rem; font-weight: 820; white-space: nowrap; }.comparison-status.good { color: #05658a; background: #d9f6ff; }

.process-section { background: #eef7ff; }.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }.process-grid li { position: relative; min-height: 196px; padding: 25px 21px; border: 1px solid #d6e6f3; border-radius: 17px; background: rgba(255,255,255,.88); }.process-grid li:not(:last-child)::after { content: ""; position: absolute; z-index: 1; top: 47px; right: -25px; width: 25px; border-top: 1px dashed #86b4dd; }.process-grid li > span { display: grid; place-items: center; width: 39px; height: 39px; margin-bottom: 23px; color: #0c64ce; border-radius: 50%; background: #dceeff; font-size: .69rem; font-weight: 850; }.process-grid h3 { margin-bottom: 8px; color: #173e73; font-size: 1.02rem; letter-spacing: -.035em; }.process-grid p { margin-bottom: 0; color: #667e97; font-size: .79rem; line-height: 1.58; }

.lead-section { position: relative; overflow: hidden; padding: 104px 0; color: #fff; background: linear-gradient(132deg, #072f6d, #0758ad 54%, #0b75ca); isolation: isolate; }.lead-section::before { content: ""; position: absolute; z-index: -1; width: 690px; height: 690px; right: -320px; top: -510px; border: 1px solid rgba(152,224,255,.26); border-radius: 50%; box-shadow: 0 0 0 65px rgba(152,224,255,.045), 0 0 0 130px rgba(152,224,255,.035), 0 0 0 195px rgba(152,224,255,.027); }.lead-section::after { content: ""; position: absolute; z-index: -1; width: 250px; height: 250px; left: -95px; bottom: -130px; border-radius: 50%; background: rgba(69,207,255,.12); }.lead-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 78px; }.lead-copy h2 { max-width: 490px; margin-bottom: 18px; font-size: clamp(2.45rem, 4.5vw, 3.95rem); line-height: 1.01; letter-spacing: -.067em; }.lead-copy > p:not(.eyebrow) { max-width: 480px; color: #bcdcf7; line-height: 1.66; }.lead-copy-points { display: grid; gap: 12px; margin-top: 30px; }.lead-copy-points span { display: flex; align-items: center; gap: 10px; color: #e7f5ff; font-size: .81rem; }.lead-copy-points i { display: grid; place-items: center; width: 22px; height: 22px; color: #0754a7; border-radius: 50%; background: #93e5ff; font-size: .66rem; font-style: normal; font-weight: 900; }
.lead-form { padding: 29px; color: #173a68; border: 1px solid rgba(229,247,255,.65); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 25px 55px rgba(0,31,89,.27); }.lead-form-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 20px; }.lead-form-head h3 { margin: 0; color: #153b71; font-size: 1.32rem; letter-spacing: -.04em; }.lead-form-head p { margin: 0; color: #748ba3; font-size: .71rem; }.lead-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }.lead-form label { display: grid; gap: 6px; color: #385777; font-size: .72rem; font-weight: 760; }.lead-form label span { color: #8a9caf; font-weight: 500; }.lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea { width: 100%; color: #173a68; border: 1px solid #caddec; border-radius: 9px; outline: 0; background: #fbfdff; font-size: .83rem; transition: border .18s ease, box-shadow .18s ease; }.lead-form input:not([type="checkbox"]), .lead-form select { height: 42px; padding: 0 11px; }.lead-form textarea { padding: 10px 11px; resize: vertical; }.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: #3385eb; box-shadow: 0 0 0 3px rgba(51,133,235,.1); }.lead-field-wide { grid-column: 1 / -1; }.honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }.consent-row { display: flex !important; grid-template-columns: 18px 1fr; gap: 8px !important; align-items: start; margin: 16px 0; color: #5a728d !important; font-size: .7rem !important; font-weight: 590 !important; line-height: 1.45; }.consent-row input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: #176bd4; }.button-lead { width: 100%; color: #062660; background: var(--yellow); }.lead-status { min-height: 18px; margin: 9px 0 0; color: #097359; font-size: .75rem; font-weight: 750; }.lead-status.is-error { color: var(--danger); }.lead-note { margin: 7px 0 0; color: #8497a9; text-align: center; font-size: .67rem; line-height: 1.45; }

.faq-section { background: #fff; }.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 94px; align-items: start; }.faq-intro h2 { margin-bottom: 15px; color: #12386d; font-size: clamp(2.25rem, 3.65vw, 3.3rem); line-height: 1.03; letter-spacing: -.06em; }.faq-intro p:not(.eyebrow) { max-width: 350px; color: var(--muted); line-height: 1.64; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 2px; color: #254a7b; cursor: pointer; font-size: .93rem; font-weight: 800; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { content: "+"; flex: 0 0 auto; color: #1369cf; font-size: 1.42rem; font-weight: 500; }.faq-list details[open] summary::after { content: "−"; }.faq-list details p { max-width: 660px; margin: 0; padding: 0 2px 21px; color: #617992; font-size: .83rem; line-height: 1.66; }

.availability-result { padding: 82px 0 88px; background: #f3f9ff; }.availability-result[hidden] { display: none; }.result-section-heading { margin-bottom: 27px; }.result-section-heading h2 { margin-bottom: 0; font-size: clamp(1.9rem, 3.5vw, 3rem); }.result-shell { overflow: hidden; border: 1px solid #cadfed; border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow); }.result-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 29px; color: #edf8ff; background: linear-gradient(112deg, #0b4aa7, #0975c8); }.result-top p { margin: 0 0 7px; color: #bfe6ff; font-size: .68rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }.result-top h3 { max-width: 690px; margin: 0; color: #fff; font-size: clamp(1.38rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -.045em; }.result-state { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 8px 10px; color: #075079; border-radius: 999px; background: #8ce3f7; font-size: .61rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.result-state.caution { color: #705100; background: #ffe199; }.result-state.outside { color: #7d3a42; background: #ffc7c7; }.result-grid { display: grid; grid-template-columns: .89fr 1.11fr; }.result-map-panel { padding: 25px; border-right: 1px solid #dce8f1; background: #f8fcff; }.result-map-frame { position: relative; min-height: 300px; overflow: hidden; border: 1px solid #d2e2ed; border-radius: 18px; background: linear-gradient(145deg, #e3f4ff, #f7fdff); }.result-map-frame::before { content: ""; position: absolute; inset: -15%; opacity: .5; background-image: linear-gradient(rgba(82,151,195,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(82,151,195,.18) 1px, transparent 1px); background-size: 27px 27px; transform: rotate(-8deg); }.result-map-road { position: absolute; z-index: 1; height: 8px; border: 2px solid rgba(255,255,255,.9); border-radius: 999px; background: rgba(100,178,223,.45); }.result-map-road.a { width: 380px; top: 43%; left: -30px; transform: rotate(-22deg); }.result-map-road.b { width: 260px; top: 67%; left: 75px; transform: rotate(48deg); }.result-map-road.c { width: 280px; top: 19%; right: -74px; transform: rotate(93deg); }.result-map-coverage { position: absolute; z-index: 1; width: 190px; height: 190px; left: 50%; top: 50%; border: 1px solid rgba(20,120,245,.23); border-radius: 50%; background: radial-gradient(circle, rgba(36,151,255,.15), transparent 65%); transform: translate(-50%,-50%); box-shadow: 0 0 0 37px rgba(36,151,255,.035), 0 0 0 74px rgba(36,151,255,.02); }.result-map-pin { position: absolute; z-index: 4; width: 28px; height: 28px; border: 4px solid #fff; border-radius: 50% 50% 50% 0; background: #156edc; box-shadow: 0 8px 17px rgba(17,89,190,.3); transform: translate(-50%,-100%) rotate(-45deg); }.result-map-pin::after { content: ""; position: absolute; top: 7px; left: 7px; width: 7px; height: 7px; border-radius: 50%; background: #fff; }.result-map-place { position: absolute; z-index: 5; max-width: 190px; padding: 7px 9px; color: #164571; border: 1px solid rgba(255,255,255,.9); border-radius: 8px; background: rgba(255,255,255,.9); box-shadow: 0 6px 12px rgba(49,103,148,.11); font-size: .65rem; font-weight: 780; transform: translate(10px, -90%); }.result-map-caption { margin: 12px 1px 0; color: #71879d; font-size: .68rem; line-height: 1.45; }.result-content-panel { padding: 24px 29px; }.result-offers { display: grid; gap: 0; }.offer-row { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid #e3edf4; }.offer-row:last-child { border-bottom: 0; }.offer-icon { display: grid; place-items: center; width: 38px; height: 38px; color: #0e61cb; border-radius: 11px; background: #e4f2ff; font-weight: 900; }.offer-icon.five { color: #1863c2; background: #e5f1ff; }.offer-icon.fiber { color: #806000; background: #fff1c7; }.offer-copy h4 { margin: 0 0 4px; color: #1a4278; font-size: .95rem; letter-spacing: -.025em; }.offer-copy p { margin: 0; color: #647c94; font-size: .76rem; line-height: 1.53; }.offer-price { padding-top: 5px; color: #55718d; font-size: .68rem; font-weight: 750; white-space: nowrap; }.offer-price strong { color: #204a7e; font-size: .91rem; }.result-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; padding-top: 17px; border-top: 1px solid #e0ebf3; }.check-row { min-width: 0; padding-right: 8px; }.check-row strong { display: block; margin-bottom: 3px; color: #2a4c73; font-size: .69rem; }.check-row span:not(.check-mark) { display: block; color: #71869b; font-size: .66rem; line-height: 1.4; }.check-mark { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-bottom: 5px; color: #047d69; border-radius: 50%; background: #d8f8ee; font-size: .58rem; font-weight: 900; }.check-mark.caution { color: #886000; background: #fff0c5; }.result-actions { display: flex; align-items: center; justify-content: space-between; gap: 17px; margin-top: 20px; padding: 16px 17px; border-radius: 13px; background: #eaf5ff; }.result-actions p { margin: 0; color: #37638d; font-size: .74rem; line-height: 1.45; }.result-actions p b { display: block; color: #164b90; margin-bottom: 2px; }.button-result { flex: 0 0 auto; min-height: 43px; color: #fff; background: #146bd5; font-size: .75rem; }.button-result:hover { background: #0c57b3; transform: translateY(-1px); }.result-disclaimer { margin: 14px 0 0; color: #7a8da0; font-size: .65rem; line-height: 1.45; }.result-error { padding: 26px 28px; color: #783942; border: 1px solid #f0c5ca; border-radius: 16px; background: #fff9fa; }.result-error strong { display: block; margin-bottom: 5px; }.result-error p { margin: 0; font-size: .86rem; line-height: 1.55; }

.site-footer { padding: 30px 0; color: #bdd4ed; background: #05245c; }.footer-shell { display: flex; align-items: center; gap: 24px; }.brand-footer { color: #fff; }.brand-footer .brand-mark i { background: #72dfff; }.brand-footer .brand-mark i:nth-child(3) { background: #fff; }.footer-shell > p, .footer-shell > a { margin: 0; font-size: .72rem; }.footer-shell > a { color: #fff; font-weight: 780; }.footer-note { margin-left: auto !important; color: #8eadd0; }

@media (max-width: 1040px) {
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }.hero-copy { max-width: 720px; }.hero-visual { width: min(100%, 620px); }.technology-layout, .lead-layout { grid-template-columns: 1fr; gap: 48px; }.lead-copy > p:not(.eyebrow) { max-width: 620px; }.process-grid { grid-template-columns: repeat(2, 1fr); }.process-grid li:nth-child(2)::after { display: none; }.faq-layout { grid-template-columns: 1fr; gap: 38px; }.faq-intro p:not(.eyebrow) { max-width: 600px; }
}
@media (max-width: 780px) {
  :root { --page: min(100% - 32px, 1180px); }.utility-inner { min-height: 31px; justify-content: center; }.utility-inner a { display: none; }.site-header { position: sticky; }.nav-shell { min-height: 67px; }.menu-toggle { display: block; position: relative; z-index: 2; }.primary-nav { position: absolute; top: 8px; right: 16px; left: 16px; display: none; padding: 64px 19px 20px; border: 1px solid #d9e7f2; border-radius: 16px; background: #fff; box-shadow: var(--shadow); }.primary-nav.is-open { display: grid; gap: 18px; }.nav-cta { justify-content: center; }.hero { padding: 54px 0 58px; }.hero h1 { font-size: clamp(2.75rem, 13vw, 4.1rem); }.hero-lede { font-size: .97rem; }.availability-form { padding: 13px; }.address-row { display: grid; grid-template-columns: 44px 1fr; border-radius: 11px; }.address-row input { height: 56px; padding-left: 4px; font-size: .86rem; }.button-primary { grid-column: 1 / -1; width: 100%; min-height: 48px; margin: 7px 0 0; }.area-hints { margin-top: 65px; }.checker-progress { margin-top: 12px; overflow-x: auto; }.checker-progress span { white-space: nowrap; }.hero-benefits { display: grid; gap: 8px; margin-top: 22px; }.hero-visual { min-height: 425px; }.hero-map-card { inset: 0 18px 30px 0; }.hero-offer-card { width: min(300px, 78%); padding: 18px; }.trust-grid { grid-template-columns: 1fr; }.trust-grid > div { min-height: 76px; padding: 16px 0; border-right: 0; border-bottom: 1px solid #e4edf5; }.trust-grid > div:last-child { border-bottom: 0; }.section-space { padding: 78px 0; }.section-heading { margin-bottom: 31px; }.section-heading h2, .result-section-heading h2 { font-size: clamp(2.05rem, 10vw, 3rem); }.plans-grid { grid-template-columns: 1fr; }.plan-card { min-height: 0; }.technology-comparison article { grid-template-columns: 48px 1fr; gap: 9px; }.comparison-status { grid-column: 2; justify-self: start; }.process-grid { grid-template-columns: 1fr; gap: 12px; }.process-grid li { min-height: 0; }.process-grid li:not(:last-child)::after { display: none; }.lead-section { padding: 76px 0; }.lead-form { padding: 20px; }.lead-form-grid { grid-template-columns: 1fr; }.lead-field-wide { grid-column: auto; }.faq-layout { gap: 26px; }.availability-result { padding: 64px 0; }.result-top { display: block; padding: 21px; }.result-state { margin-top: 14px; }.result-grid { grid-template-columns: 1fr; }.result-map-panel { border-right: 0; border-bottom: 1px solid #dce8f1; padding: 18px; }.result-map-frame { min-height: 250px; }.result-content-panel { padding: 18px; }.result-checks { grid-template-columns: 1fr; gap: 10px; }.check-row { display: grid; grid-template-columns: 20px 1fr; column-gap: 7px; }.check-mark { grid-row: span 2; margin: 0; }.result-actions { display: block; }.button-result { width: 100%; margin-top: 12px; }.footer-shell { display: grid; gap: 13px; }.footer-note { margin-left: 0 !important; }
}
@media (max-width: 420px) {
  .checker-title-row > span { display: none; }.area-hints { gap: 5px; }.area-chip { padding: 4px 7px; }.hero-map-card { inset: 0 4px 30px 0; }.hero-offer-card { width: 85%; right: 0; }.map-card-foot { padding: 13px 14px; }.hero-offer-card li strong { display: none; }.plan-ribbon { font-size: .49rem; }.lead-form-head { display: block; }.lead-form-head p { margin-top: 4px; }.utility-inner { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.button, .nav-cta, .text-link span { transition: none; } }

/* Lightweight motion layer for the hero. It uses compositor-friendly transform
   and opacity changes only, so the availability checker stays responsive. */
@keyframes tn-window-arrive { from { opacity: 0; transform: translate3d(0, 20px, 0) scale(.94); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }
@keyframes tn-window-drift { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -6px, 0); } }
@keyframes tn-window-drift-alt { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, 5px, 0); } }
@keyframes tn-coverage-pulse { 0%, 100% { opacity: .42; transform: scale(.92); } 52% { opacity: .78; transform: scale(1.08); } }
@keyframes tn-pin-hop { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-45deg); } 50% { transform: translate3d(0, -5px, 0) rotate(-45deg); } }
@keyframes tn-scan { 0% { opacity: 0; transform: translate3d(-150%, 0, 0) rotate(-17deg); } 14% { opacity: .8; } 66% { opacity: .55; } 100% { opacity: 0; transform: translate3d(420%, 0, 0) rotate(-17deg); } }
@keyframes tn-packet { 0% { opacity: 0; transform: translate3d(-18px, 0, 0) scaleX(.7); } 13%, 75% { opacity: 1; } 100% { opacity: 0; transform: translate3d(168px, 0, 0) scaleX(1.2); } }
@keyframes tn-loading { from { transform: translate3d(-105%, 0, 0); } to { transform: translate3d(250%, 0, 0); } }
@keyframes tn-orb { to { transform: rotate(1turn); } }
@keyframes tn-orb-pulse { 0%, 100% { opacity: .32; transform: scale(.78); } 50% { opacity: .9; transform: scale(1); } }
@keyframes tn-speed-beam { 0%, 100% { opacity: .18; transform: translate3d(0, 0, 0) scaleX(.72); } 45% { opacity: .9; transform: translate3d(13px, 0, 0) scaleX(1); } }
@keyframes tn-spin { to { transform: rotate(1turn); } }

.hero-map-card { transform: translateZ(0); }
.hero-map::after { content: ""; position: absolute; z-index: 6; top: 45%; left: -26%; width: 41%; height: 2px; pointer-events: none; opacity: 0; border-radius: 99px; background: linear-gradient(90deg, transparent, rgba(19,125,244,.1), rgba(19,125,244,.92), rgba(102,221,255,.1), transparent); box-shadow: 0 0 14px rgba(55,164,255,.6); transform: rotate(-17deg); animation: tn-scan 7.4s 1.5s ease-in-out infinite; will-change: transform, opacity; }
.coverage-wave { animation: tn-coverage-pulse 5.1s ease-in-out infinite; will-change: transform, opacity; }.wave-b { animation-delay: 1.1s; }.wave-c { animation-delay: 2.1s; }
.home-pin { animation: tn-pin-hop 3.4s ease-in-out infinite; will-change: transform; }.pin-two { animation-delay: 1.05s; }.pin-three { animation-delay: 2.1s; }
.signal-path { position: absolute; z-index: 3; display: block; height: 1px; overflow: hidden; pointer-events: none; border-top: 1px dashed rgba(28,123,226,.52); transform-origin: left; }.signal-path i { position: absolute; top: -3px; left: 0; display: block; width: 18px; height: 6px; border-radius: 99px; background: linear-gradient(90deg, transparent, #1e9bf0, #a7efff); box-shadow: 0 0 9px rgba(33,143,237,.7); animation: tn-packet 3.8s ease-in-out infinite; will-change: transform, opacity; }.signal-path-one { width: 175px; left: 103px; top: 159px; transform: rotate(-17deg); }.signal-path-two { width: 130px; right: 68px; top: 163px; transform: rotate(37deg); }.signal-path-two i { animation-delay: 1.75s; }
.map-live-window { position: absolute; z-index: 7; overflow: hidden; pointer-events: none; border: 1px solid rgba(255,255,255,.8); border-radius: 13px; background: rgba(255,255,255,.88); box-shadow: 0 15px 32px rgba(18,75,137,.19); backdrop-filter: blur(8px); will-change: transform, opacity; }.live-window-route { top: 28px; left: 18px; width: 201px; animation: tn-window-arrive .72s .18s cubic-bezier(.22,1,.36,1) both, tn-window-drift 7.6s 1.05s ease-in-out infinite; }.live-window-speed { top: 28px; right: 18px; width: 139px; padding: 12px 13px 11px; color: #effaff; border-color: rgba(126,214,255,.63); background: linear-gradient(135deg, rgba(4,67,145,.96), rgba(9,125,196,.94)); box-shadow: 0 17px 34px rgba(9,64,131,.28); animation: tn-window-arrive .78s .34s cubic-bezier(.22,1,.36,1) both, tn-window-drift-alt 8.5s 1.18s ease-in-out infinite; }
.live-window-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; min-height: 28px; padding: 0 9px; color: #395d82; border-bottom: 1px solid rgba(143,185,223,.31); background: rgba(248,252,255,.78); font-size: .58rem; }.live-window-head b { overflow: hidden; font-size: .58rem; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; letter-spacing: .055em; white-space: nowrap; }.live-dots { display: inline-flex; gap: 3px; }.live-dots i { width: 4px; height: 4px; border-radius: 50%; background: #afc9df; }.live-dots i:nth-child(1) { background: #76c8f5; }.live-state { padding: 3px 5px; color: #097372; border-radius: 99px; background: #dbf8ef; font-size: .5rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }.live-window-body { display: flex; align-items: center; gap: 8px; padding: 10px 10px 8px; color: #244e80; }.live-window-body strong, .live-window-body small { display: block; }.live-window-body strong { margin-bottom: 2px; font-size: .66rem; line-height: 1.15; }.live-window-body small { color: #7088a1; font-size: .56rem; }.scan-orb { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px; border: 1px solid rgba(29,134,229,.35); border-radius: 50%; }.scan-orb::before { content: ""; position: absolute; inset: 4px; border: 2px solid #1d89e5; border-top-color: transparent; border-radius: 50%; animation: tn-orb 1.35s linear infinite; }.scan-orb i { width: 5px; height: 5px; border-radius: 50%; background: #46cce5; box-shadow: 0 0 0 4px rgba(70,204,229,.14); animation: tn-orb-pulse 1.8s ease-in-out infinite; }.loading-line { position: relative; display: block; height: 3px; margin: 0 10px 10px; overflow: hidden; border-radius: 99px; background: #e3eff8; }.loading-line i { position: absolute; inset: 0 auto 0 0; width: 45%; border-radius: inherit; background: linear-gradient(90deg, #4fc7eb, #167be0, #9beaff); animation: tn-loading 2.1s ease-in-out infinite; will-change: transform; }
.speed-chip { display: inline-flex; align-items: center; min-height: 19px; padding: 0 6px; color: #074982; border-radius: 99px; background: #6de2f3; font-size: .53rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }.live-window-speed > strong { display: block; margin-top: 8px; color: #fff; font-size: 1.26rem; line-height: 1; letter-spacing: -.055em; }.live-window-speed > strong em { margin-right: 2px; color: #a4e9ff; font-size: .55rem; font-style: normal; letter-spacing: 0; vertical-align: middle; }.live-window-speed > small { display: block; margin-top: 5px; color: #c0e4fa; font-size: .56rem; }.speed-beams { display: flex; gap: 3px; margin-top: 10px; overflow: hidden; }.speed-beams i { display: block; flex: 1; height: 3px; border-radius: 99px; background: linear-gradient(90deg, #69dcf6, rgba(160,234,255,.25)); transform-origin: left; animation: tn-speed-beam 2.8s ease-in-out infinite; will-change: transform, opacity; }.speed-beams i:nth-child(2) { animation-delay: .28s; }.speed-beams i:nth-child(3) { animation-delay: .56s; }
.hero-offer-card { animation: tn-window-arrive .78s .5s cubic-bezier(.22,1,.36,1) both, tn-window-drift-alt 9s 1.34s ease-in-out infinite; will-change: transform, opacity; }
#availability-submit.is-loading > span:last-child { width: 15px; height: 15px; color: transparent; border: 2px solid rgba(4,37,95,.36); border-right-color: #04255f; border-radius: 50%; font-size: 0; animation: tn-spin .75s linear infinite; }
.hero-visual.is-checking .hero-map::after { animation-duration: 1.35s; }.hero-visual.is-checking .loading-line i { animation-duration: .72s; }.hero-visual.is-checking .scan-orb::before { animation-duration: .7s; }

@media (max-width: 780px) { .live-window-route, .signal-path { display: none; }.live-window-speed { top: 18px; right: 13px; width: 129px; }.hero-map::after { animation-duration: 8.2s; }.hero-offer-card { animation: tn-window-arrive .7s .18s cubic-bezier(.22,1,.36,1) both; }.area-hints { margin-top: 13px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } .hero-map::after, .signal-path, .map-live-window { display: none !important; } }

/* Address autocomplete stays in normal document flow so it works just as well
   above the mobile keyboard as it does in the desktop hero. */
.address-combobox { position: relative; }.address-suggestions { display: grid; gap: 3px; max-height: min(310px, 42dvh); margin-top: 7px; overflow: auto; overscroll-behavior: contain; border: 1px solid #c9dbea; border-radius: 14px; background: #fff; box-shadow: 0 14px 28px rgba(30,76,129,.13); }.address-suggestions[hidden] { display: none; }.address-suggestion { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 54px; padding: 8px 12px; color: #193f70; cursor: pointer; border: 1px solid transparent; border-radius: 10px; outline: none; background: transparent; transition: background .16s ease, border-color .16s ease, transform .16s ease; }.address-suggestion:hover, .address-suggestion.is-active { border-color: #b6d8fa; background: #edf7ff; }.address-suggestion:active { transform: scale(.992); }.address-suggestion-icon { display: grid; place-items: center; width: 25px; height: 25px; color: #1070d9; border-radius: 8px; background: #dceeff; font-size: .9rem; font-weight: 850; }.address-suggestion-copy { min-width: 0; }.address-suggestion-copy strong, .address-suggestion-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.address-suggestion-copy strong { color: #173e70; font-size: .78rem; font-weight: 820; }.address-suggestion-copy small { margin-top: 2px; color: #7288a0; font-size: .66rem; }.address-suggestion-arrow { color: #7ca2c4; font-size: .92rem; }.address-suggestion-notice { display: flex; align-items: center; gap: 9px; min-height: 52px; margin: 0; padding: 11px 13px; color: #5d7893; font-size: .72rem; line-height: 1.42; }.address-suggestion-notice.is-loading { color: #2866a6; font-weight: 720; }.address-suggestion-notice i { display: block; flex: 0 0 auto; width: 14px; height: 14px; border: 2px solid #b6d9f8; border-top-color: #1873d8; border-radius: 50%; animation: tn-spin .78s linear infinite; }.address-row input:disabled { cursor: wait; opacity: .68; }.footer-note small { color: inherit; font-size: .66rem; line-height: 1.55; }.footer-note small a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 780px) { .address-suggestions { max-height: min(260px, 38dvh); }.address-suggestion { min-height: 56px; }.address-suggestion-copy strong { font-size: .77rem; } }

/* Real public network map. Leaflet itself stays local; only the visible map
   tiles are requested when a visitor opens the map. */
.hero-network-map { z-index: 1; background: #dcecf5; }.hero-network-map::before, .hero-network-map::after { content: none; display: none; animation: none; }.hero-map-card > .map-live-window { z-index: 8; }.hero-map-card > .live-window-route { top: 59px; left: 18px; }.hero-map-card > .live-window-speed { top: 59px; right: 18px; }.hero-network-map .leaflet-control-attribution { margin-bottom: 38px; }.leaflet-container { color: #153e69; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #dcecf5; }.leaflet-control-attribution { padding: 3px 6px !important; color: #456784 !important; background: rgba(255,255,255,.9) !important; font-size: .58rem !important; }.leaflet-control-attribution a { color: #185fae !important; }.leaflet-control-zoom a { color: #155ba5 !important; border-color: #c8ddec !important; }.map-fallback { display: grid; place-items: center; min-height: 100%; margin: 0; padding: 24px; color: #315e88; background: linear-gradient(145deg, #e5f5ff, #f8fdff); font-size: .76rem; font-weight: 720; text-align: center; }.is-ready > .map-fallback { display: none; }

.trebonet-site-icon-wrap, .trebonet-customer-icon-wrap { overflow: visible !important; background: transparent; border: 0; }.trebonet-site-marker { position: relative; display: grid; place-items: center; width: 38px; height: 38px; color: #fff; border: 3px solid #fff; border-radius: 50% 50% 50% 10px; background: linear-gradient(140deg, #0b4f9f, #087fc6); box-shadow: 0 7px 16px rgba(12,72,142,.32); transform: rotate(-45deg); }.trebonet-site-marker i { color: #c5f4ff; font-size: 1.06rem; font-style: normal; font-weight: 900; line-height: 1; transform: rotate(45deg); }.trebonet-site-marker b { position: absolute; right: -8px; bottom: -7px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; color: #0c407b; border: 2px solid #fff; border-radius: 99px; background: #8af0ff; box-shadow: 0 3px 8px rgba(8,62,121,.17); font-size: .6rem; font-weight: 900; transform: rotate(45deg); }.trebonet-site-marker.is-primary { background: linear-gradient(140deg, #0951c2, #16a6ee); box-shadow: 0 0 0 6px rgba(47,172,244,.21), 0 8px 19px rgba(15,103,192,.38); animation: tn-site-pulse 2.4s ease-in-out infinite; }.trebonet-customer-marker { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; border: 4px solid #fff; border-radius: 50% 50% 50% 8px; background: #126fdf; box-shadow: 0 7px 17px rgba(13,91,190,.38); transform: rotate(45deg); }.trebonet-customer-marker i { display: block; font-family: Arial, sans-serif; font-size: 1.3rem; font-style: normal; font-weight: 900; line-height: 1; transform: rotate(-45deg); }

.network-site-popup { min-width: 195px; padding: 2px; }.network-site-popup > p { margin: 0; }.network-site-popup > p:first-child { margin-bottom: 5px; color: #12716d; font-size: .62rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }.network-site-popup h3 { margin: 0 0 5px; color: #143f71; font-size: .92rem; line-height: 1.2; }.network-site-popup-address { color: #617a93; font-size: .71rem; line-height: 1.42; }.network-site-popup ul { display: grid; gap: 3px; margin: 10px 0 0; padding: 9px 0 0 18px; color: #3c6185; border-top: 1px solid #e0eaf2; font-size: .66rem; }.customer-popup > p:first-child { color: #0c68c8; }

.result-real-map { min-height: 390px; overflow: hidden; border: 1px solid #c9dde9; border-radius: 18px; background: #dcecf5; }.result-map-caption { margin: 12px 1px 0; color: #71879d; font-size: .68rem; line-height: 1.48; }.map-result-summary { display: block; margin-top: 10px; padding: 9px 10px; color: #245484; border-left: 3px solid #2d8ce7; border-radius: 0 8px 8px 0; background: #eaf6ff; font-weight: 700; }.public-sites-list { margin: 12px 1px 0; color: #52728d; font-size: .69rem; line-height: 1.45; }.public-sites-list summary { color: #1a5795; cursor: pointer; font-weight: 800; }.public-sites-list ul { display: grid; gap: 5px; margin: 9px 0 0; padding-left: 18px; }.trebonet-map-actions { display: grid; gap: 5px; }.trebonet-map-actions button { min-height: 33px; padding: 6px 9px; color: #18538e; cursor: pointer; border: 1px solid #bdd6ea; border-radius: 8px; background: rgba(255,255,255,.95); box-shadow: 0 4px 10px rgba(29,86,136,.12); font: 800 .65rem/1 Inter, ui-sans-serif, system-ui, sans-serif; }.trebonet-map-actions button:hover, .trebonet-map-actions button:focus-visible { color: #fff; border-color: #126dcc; outline: 2px solid #86caf9; outline-offset: 2px; background: #126dcc; }

@keyframes tn-site-pulse { 0%,100% { box-shadow: 0 0 0 5px rgba(47,172,244,.17), 0 8px 19px rgba(15,103,192,.38); } 50% { box-shadow: 0 0 0 10px rgba(47,172,244,.04), 0 8px 19px rgba(15,103,192,.38); } }
@media (max-width: 780px) { .hero-map-card > .map-live-window { display: none; }.hero-network-map .leaflet-control-attribution { margin-bottom: 42px; }.result-real-map { min-height: 322px; }.trebonet-map-actions { gap: 4px; }.trebonet-map-actions button { min-height: 38px; }.public-sites-list { font-size: .67rem; } }
@media (prefers-reduced-motion: reduce) { .trebonet-site-marker.is-primary { animation: none; } }
