/* AltaFibra global design system */
:root {
    --blue: #1769aa;
    --blue-bright: #2388d9;
    --blue-deep: #0d4f8b;
    --blue-dark: #09365f;
    --blue-pale: #eaf4ff;
    --ink: #141820;
    --muted: #69717e;
    --surface: #f8f7f5;
    --line: #e7e1dc;
    --white: #ffffff;
    --success: #2f6f4a;
    --container: 1180px;
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 28px;
    --shadow-soft: 0 14px 38px rgba(8, 41, 71, 0.09);
    --shadow-card: 0 20px 55px rgba(4, 35, 63, 0.14);
    --font: "Trebuchet MS", "Avenir Next", Avenir, "Segoe UI", sans-serif;
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    color: var(--ink);
    background: var(--white);
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.62;
    -webkit-font-smoothing: antialiased;
}
img {
    display: block;
    max-width: 100%;
}
a {
    color: inherit;
    text-decoration: none;
}
button,
input,
textarea {
    font: inherit;
}
button {
    cursor: pointer;
}
.container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}
.narrow {
    width: min(calc(100% - 40px), 820px);
}
.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 9999;
    padding: 10px 14px;
    color: #fff;
    background: #111;
    border-radius: 8px;
    transform: translateY(-150%);
}
.skip-link:focus {
    transform: translateY(0);
}
.eyebrow {
    margin: 0 0 10px;
    color: var(--blue-deep);
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.eyebrow-light {
    color: #edf6ff;
}
h1,
h2,
h3 {
    margin: 0 0 16px;
    letter-spacing: -0.028em;
    line-height: 1.08;
}
h1 {
    max-width: 760px;
    font-size: clamp(2.45rem, 5vw, 4.2rem);
    font-weight: 700;
}
h2 {
    font-size: clamp(1.85rem, 3.3vw, 3rem);
    font-weight: 700;
}
h3 {
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
    font-weight: 700;
}
p {
    margin: 0 0 18px;
}
.btn {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.btn:hover {
    transform: translateY(-2px);
}
.btn:focus-visible,
.nav-link:focus-visible,
.dropdown-toggle:focus-visible,
.faq-item button:focus-visible,
.menu-toggle:focus-visible,
a:focus-visible {
    outline: 3px solid rgba(23,105,170,0.34);
    outline-offset: 3px;
}
.btn-primary {
    color: #fff;
    background: var(--blue);
    box-shadow: 0 10px 24px rgba(23,105,170,0.18);
}
.btn-light {
    color: var(--blue-deep);
    background: #fff;
}
.btn-outline-light {
    color: #fff;
    background: transparent;
    border-color: rgba(255, 255, 255, 0.72);
}
.btn-secondary {
    color: var(--ink);
    background: #fff;
    border-color: var(--line);
}
.btn-block {
    width: 100%;
}
.text-link {
    color: var(--blue-deep);
    font-weight: 700;
}
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid rgba(20, 24, 32, 0.08);
    backdrop-filter: blur(14px);
}
.header-inner {
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.brand {
    flex: 0 0 auto;
}
.brand img {
    width: 176px;
    height: auto;
}
.main-nav {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #343a44;
    font-size: 0.9rem;
}
.nav-link {
    position: relative;
    padding: 28px 0;
    font-weight: 650;
    white-space: nowrap;
}
.nav-link::after {
    position: absolute;
    right: 0;
    bottom: 21px;
    left: 0;
    height: 2px;
    background: var(--blue);
    content: "";
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms ease;
}
.nav-link:hover,
.nav-link.active {
    color: var(--blue-deep);
}
.nav-link:hover::after,
.nav-link.active::after {
    transform: scaleX(1);
}
.nav-dropdown {
    position: relative;
}
.dropdown-row {
    display: flex;
    align-items: center;
    gap: 5px;
}
.dropdown-toggle {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
}
.dropdown-toggle svg {
    width: 11px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transition: transform 180ms ease;
}
.nav-dropdown.open .dropdown-toggle svg {
    transform: rotate(180deg);
}
.dropdown-menu {
    position: absolute;
    top: calc(100% - 8px);
    left: 0;
    width: 250px;
    display: grid;
    gap: 2px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: var(--shadow-card);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.nav-dropdown.open .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dropdown-menu a {
    padding: 9px 11px;
    border-radius: 9px;
}
.dropdown-menu a:hover {
    color: var(--blue-deep);
    background: var(--blue-pale);
}
.header-call {
    display: grid;
    gap: 2px;
    padding: 9px 13px;
    color: #fff;
    background: var(--blue);
    border-radius: 10px;
    line-height: 1.05;
}
.header-call span {
    font-size: 0.65rem;
    opacity: 0.86;
}
.menu-toggle {
    width: 44px;
    height: 44px;
    display: none;
    padding: 9px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
}
.menu-toggle span {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: var(--ink);
}
.page-hero {
    position: relative;
    overflow: hidden;
    padding: 68px 0 0;
    color: #fff;
    background: linear-gradient(135deg, #125b99 0%, #1769aa 54%, #2d96e3 100%);
}
.page-hero::after {
    position: absolute;
    right: -80px;
    bottom: -160px;
    width: 420px;
    height: 420px;
    border: 68px solid rgba(255, 255, 255, 0.055);
    border-radius: 50%;
    content: "";
}
.hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    align-items: center;
    gap: 44px;
}
.hero-copy {
    min-width: 0;
}
.hero-lead {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.07rem;
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 25px 0 30px;
}
.hero-photo {
    width: min(100%, 700px);
    aspect-ratio: 16 / 7.7;
    margin: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 28px 28px 0 0;
    box-shadow: 0 30px 72px rgba(0, 55, 105, 0.2);
}
.hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-orb {
    position: absolute;
    border: 2px solid rgba(255, 255, 255, 0.23);
    border-radius: 50%;
}
.hero-orb-a {
    top: 8%;
    right: 28%;
    width: 190px;
    height: 190px;
}
.hero-orb-b {
    right: 4%;
    bottom: 14%;
    width: 110px;
    height: 110px;
}
.assist-card {
    padding: 27px;
    color: var(--ink);
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(0, 46, 88, 0.2);
}
.assist-card h2 {
    margin-bottom: 12px;
    font-size: clamp(1.45rem, 2vw, 2rem);
}
.assist-card > p:not(.eyebrow):not(.trust) {
    color: var(--muted);
}
.assist-card ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 20px;
    padding: 0;
    list-style: none;
}
.assist-card li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}
.check {
    color: var(--blue);
    font-weight: 800;
}
.assist-card small {
    display: block;
    margin-top: 10px;
    color: #777d86;
    line-height: 1.45;
}
.assist-card .trust {
    margin: 13px 0 0;
    color: var(--success);
    font-size: 0.88rem;
    font-weight: 700;
}
.section {
    padding: 94px 0;
}
.section.alt {
    background: var(--surface);
}
.section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}
.home-feature-strip {
    position: relative;
    z-index: 4;
    margin-top: -1px;
    padding-bottom: 18px;
}
.feature-strip-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: -22px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}
.feature-strip-grid article {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 21px 24px;
}
.feature-strip-grid article + article {
    border-left: 1px solid var(--line);
}
.feature-strip-grid p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 0.84rem;
}
.mini-icon {
    width: 32px;
    height: 32px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 50%;
    font-size: 0.83rem;
}
.provider-strip {
    padding-top: 76px;
}
.logo-marquee {
    overflow: hidden;
    padding: 22px 0;
    border-block: 1px solid var(--line);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.logo-track {
    width: max-content;
    display: flex;
    gap: 15px;
    animation: marquee 38s linear infinite;
}
.logo-marquee:hover .logo-track {
    animation-play-state: paused;
}
.provider-logo-card {
    width: 182px;
    min-height: 104px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    gap: 7px;
    padding: 17px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.provider-logo-card img {
    max-width: 130px;
    max-height: 42px;
    object-fit: contain;
}
.provider-logo-card span {
    color: var(--muted);
    font-size: 0.76rem;
}
@keyframes marquee {
    to {
        transform: translateX(-50%);
    }
}
.split-grid,
.editorial-grid,
.coverage-map,
.property-grid,
.provider-editorial,
.contact-layout,
.scorecard,
.decision-matrix,
.story-grid,
.app-style-grid,
.performance-board,
.provider-fit,
.equipment-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 56px;
}
.stack-cards {
    display: grid;
    gap: 12px;
}
.stack-cards article {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 19px 21px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(20, 24, 32, 0.05);
}
.stack-cards article:nth-child(2) {
    transform: translateX(26px);
}
.stack-cards span {
    color: var(--blue);
    font-weight: 700;
}
.stack-cards p {
    margin: 0;
    color: var(--muted);
}
.blue-stage {
    position: relative;
    overflow: hidden;
    padding: 88px 0 103px;
    color: #fff;
    background: linear-gradient(135deg, #007ff2, #0086ff);
}
.blue-stage::before {
    position: absolute;
    bottom: -220px;
    left: -140px;
    width: 620px;
    height: 620px;
    background: rgba(0, 70, 133, 0.15);
    border-radius: 50%;
    content: "";
}
.stage-head {
    position: relative;
    max-width: 780px;
    margin-inline: auto;
    text-align: center;
}
.stage-head p:last-child {
    color: rgba(255, 255, 255, 0.83);
}
.plan-cards,
.three-cards,
.fit-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}
.plan-cards article,
.three-cards article,
.fit-grid article {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 25px;
    color: var(--ink);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 17px;
    box-shadow: 0 14px 31px rgba(0, 39, 75, 0.12);
}
.plan-cards .plan-card-featured {
    transform: translateY(-16px);
}
.plan-cards a {
    margin-top: auto;
    color: var(--blue-deep);
    font-weight: 700;
}
.card-kicker,
.three-cards article > span {
    margin-bottom: 11px;
    color: var(--blue-deep);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.app-style-grid {
    align-items: center;
}
.device-art {
    position: relative;
    min-height: 430px;
    display: grid;
    place-items: center;
}
.phone-frame {
    position: relative;
    z-index: 2;
    width: 214px;
    height: 398px;
    display: grid;
    place-items: center;
    background: #111;
    border: 8px solid #181818;
    border-radius: 34px;
    box-shadow: var(--shadow-card);
}
.phone-frame::before {
    position: absolute;
    top: 7px;
    width: 72px;
    height: 16px;
    background: #181818;
    border-radius: 0 0 11px 11px;
    content: "";
}
.phone-frame img {
    width: 92px;
    height: 92px;
    object-fit: contain;
}
.blob {
    position: absolute;
    background: var(--blue);
    border-radius: 40% 60% 54% 46%;
}
.blob-a {
    width: 250px;
    height: 250px;
    transform: translate(-55px, 35px) rotate(26deg);
}
.blob-b {
    width: 130px;
    height: 130px;
    transform: translate(92px, -100px) rotate(-16deg);
    opacity: 0.82;
}
.check-list {
    display: grid;
    gap: 9px;
    margin: 19px 0 0;
    padding: 0;
    list-style: none;
}
.check-list li::before {
    margin-right: 9px;
    color: var(--blue);
    content: "✓";
    font-weight: 800;
}
.promo-band-section {
    padding-top: 8px;
    padding-bottom: 48px;
}
.promo-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 34px 40px;
    color: #fff;
    background: linear-gradient(100deg, var(--blue-deep), var(--blue-bright));
    border-radius: 19px;
    box-shadow: var(--shadow-soft);
}
.promo-band h2 {
    margin-bottom: 9px;
    font-size: clamp(1.65rem, 2.7vw, 2.5rem);
}
.promo-band p {
    max-width: 700px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.87);
}
.story-media,
.property-grid figure {
    margin: 0;
    overflow: hidden;
    border-radius: 25px;
    box-shadow: var(--shadow-card);
}
.story-media img,
.property-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.fact-stack,
.score-grid,
.principles {
    display: grid;
    gap: 12px;
}
.fact-stack article,
.score-grid article,
.principles article {
    display: grid;
    gap: 4px;
    padding: 19px 21px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.fact-stack span {
    color: var(--muted);
}
.media-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow-card);
}
.media-card.reverse {
    grid-template-columns: 1fr 1fr;
}
.media-card > img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}
.media-card > div {
    align-self: center;
    padding: 46px;
}
.quad {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}
.quad article {
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.quad p {
    margin-bottom: 0;
    color: var(--muted);
}
.tech-spectrum {
    overflow: hidden;
}
.spectrum-line {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 31px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 17px;
}
.spectrum-line article {
    display: grid;
    gap: 7px;
    padding: 25px;
}
.spectrum-line article + article {
    border-left: 1px solid var(--line);
}
.spectrum-line b {
    color: var(--blue-deep);
}
.spectrum-line span {
    color: var(--muted);
}
.performance-board {
    grid-template-columns: 0.45fr 1.55fr;
    align-items: start;
}
.big-number {
    color: #d3eaff;
    font-size: clamp(7rem, 15vw, 13rem);
    font-weight: 800;
    line-height: 0.75;
}
.rooms {
    position: relative;
    min-height: 340px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
    padding: 14px;
    background: #fff;
    border: 2px solid #d7d3cf;
    border-radius: 21px;
}
.rooms span {
    display: grid;
    place-items: center;
    color: var(--muted);
    border: 1px solid var(--line);
    border-radius: 11px;
}
.router-dot {
    position: absolute;
    top: 47%;
    left: 48%;
    width: 24px;
    height: 24px;
    background: var(--blue);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(23, 105, 170, 0.12), 0 0 0 42px rgba(23, 105, 170, 0.06);
}
.timeline {
    display: grid;
    gap: 11px;
    margin-top: 24px;
}
.timeline span {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid var(--line);
}
.matrix-grid {
    display: grid;
    grid-template-columns: 0.7fr 1.3fr;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
}
.matrix-grid > * {
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
}
.matrix-grid > *:nth-child(odd) {
    color: var(--blue-deep);
    background: var(--blue-pale);
}
.matrix-grid > *:nth-last-child(-n+2) {
    border-bottom: 0;
}
.journey-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 29px;
}
.journey-row article {
    padding: 23px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
}
.journey-row span {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    color: #fff;
    background: var(--blue);
    border-radius: 50%;
    font-weight: 800;
}
.prep-panel,
.transparency-panel,
.privacy-note {
    padding: 38px;
    background: var(--blue-pale);
    border: 1px solid #badeff;
    border-radius: 22px;
}
.equipment-rail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.equipment-rail span {
    padding: 12px 15px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-weight: 700;
}
.equipment-rail i {
    color: var(--blue);
    font-style: normal;
    font-weight: 800;
}
.role-diagram {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}
.role-diagram span,
.role-diagram strong {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
}
.role-diagram b {
    color: var(--blue);
}
.role-diagram strong {
    width: 100%;
    color: #fff;
    background: var(--blue);
    border-color: var(--blue);
}
.principles article {
    grid-template-columns: 44px 1fr;
}
.principles article > span {
    color: var(--blue);
    font-weight: 800;
}
.contact-layout {
    grid-template-columns: 1.15fr 0.85fr;
    align-items: start;
}
.inquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 25px;
}
.inquiry-grid article {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.contact-card {
    padding: 28px;
    background: var(--blue-pale);
    border: 1px solid #badeff;
    border-radius: 21px;
}
.contact-card small {
    display: block;
    margin-top: 11px;
    color: var(--muted);
}
.provider-directory {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    margin-top: 30px;
}
.directory-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(20, 24, 32, 0.04);
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.directory-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-soft);
}
.directory-logo {
    height: 76px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
}
.directory-logo img {
    max-width: 140px;
    max-height: 48px;
    object-fit: contain;
}
.directory-card p {
    color: var(--muted);
}
.directory-card span {
    margin-top: auto;
    color: var(--blue-deep);
    font-weight: 700;
}
.matching-board {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 50px;
    align-items: center;
}
.matching-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.matching-chips span {
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
}
.provider-editorial {
    grid-template-columns: 0.7fr 1.3fr;
}
.provider-logo-hero {
    min-height: 250px;
    display: grid;
    place-items: center;
    padding: 30px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 22px;
}
.provider-logo-hero img {
    max-width: 72%;
    max-height: 92px;
    object-fit: contain;
}
.provider-disclaimer {
    padding-top: 15px;
    color: var(--muted);
    border-top: 1px solid var(--line);
    font-size: 0.9rem;
}
.equipment-compare,
.provider-fit {
    align-items: start;
}
.fit-grid {
    margin-top: 0;
}
.fit-grid article {
    box-shadow: none;
}
.faq-section {
    background: #fbfaf8;
}
.faq-list {
    margin-top: 26px;
    border-top: 1px solid var(--line);
}
.faq-item {
    border-bottom: 1px solid var(--line);
}
.faq-item h3 {
    margin: 0;
    font-size: 1rem;
    letter-spacing: 0;
}
.faq-item button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 0;
    color: var(--ink);
    background: transparent;
    border: 0;
    font-weight: 700;
    text-align: left;
}
.faq-item button span {
    color: var(--blue);
    font-size: 1.35rem;
    transition: transform 180ms ease;
}
.faq-item.open button span {
    transform: rotate(45deg);
}
.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 220ms ease;
}
.faq-answer > div {
    overflow: hidden;
}
.faq-answer p {
    max-width: 720px;
    margin-top: -3px;
    padding-bottom: 17px;
    color: var(--muted);
}
.faq-item.open .faq-answer {
    grid-template-rows: 1fr;
}
.final-cta {
    padding-top: 68px;
}
.cta-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 42px 46px;
    color: #fff;
    background: linear-gradient(125deg, #0080f4, #0086ff);
    border-radius: 26px;
    box-shadow: var(--shadow-card);
}
.cta-shell h2 {
    max-width: 700px;
    margin-bottom: 9px;
}
.cta-shell p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.86);
}
.legal-hero {
    padding: 85px 0 46px;
    background: linear-gradient(180deg, #e7f4ff, #fff);
}
.legal-copy {
    padding-top: 46px;
}
.legal-copy section {
    padding: 25px 0;
    border-bottom: 1px solid var(--line);
}
.legal-copy section h2 {
    font-size: 1.6rem;
}
.legal-review {
    margin-top: 30px;
    padding: 18px 20px;
    background: #d9edff;
    border: 1px solid #88c1f4;
    border-radius: 12px;
}
.status-page {
    min-height: 72vh;
    display: grid;
    place-items: center;
    padding: 80px 0;
    background: linear-gradient(180deg, #fff8f2, #fff);
}
.status-card {
    max-width: 720px;
    text-align: center;
}
.status-card > img {
    width: 92px;
    margin: 0 auto 22px;
}
.status-card h1 {
    margin-inline: auto;
}
.status-card .hero-actions {
    justify-content: center;
}
.status-number {
    display: block;
    margin-bottom: 10px;
    color: #bfe1ff;
    font-size: clamp(5rem, 17vw, 11rem);
    font-weight: 800;
    line-height: 0.8;
}
.site-footer {
    margin-top: 86px;
    padding: 62px 0 20px;
    color: #fff;
    background: #0080f4;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 0.9fr 0.9fr;
    gap: 40px;
}
.footer-logo {
    width: 182px;
    height: auto;
    margin-bottom: 16px;
}
.site-footer p,
.site-footer a {
    color: rgba(255, 255, 255, 0.85);
}
.site-footer h2 {
    margin-bottom: 14px;
    font-size: 1rem;
    letter-spacing: 0;
}
.site-footer ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-footer a:hover {
    color: #fff;
    text-decoration: underline;
}
.footer-phone {
    display: inline-block;
    margin-top: 7px;
    font-weight: 800;
}
.footer-credit {
    margin-top: 17px;
    font-size: 0.86rem;
}
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 34px;
    padding-top: 18px;
    color: rgba(255, 255, 255, 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    font-size: 0.82rem;
}
.mobile-call {
    display: none;
}
@media (max-width: 1120px) {
    .main-nav {
        gap: 12px;
        font-size: 0.83rem;
    }
    .header-call {
        display: none;
    }
    .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
        gap: 30px;
    }
    .provider-directory {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    body.menu-open {
        overflow: hidden;
    }
    .menu-toggle {
        display: block;
    }
    .main-nav {
        position: fixed;
        top: 82px;
        right: 0;
        left: 0;
        max-height: calc(100dvh - 82px);
        display: grid;
        align-content: start;
        gap: 0;
        overflow: auto;
        padding: 20px;
        background: #fff;
        border-top: 1px solid var(--line);
        box-shadow: var(--shadow-card);
        transform: translateY(-125%);
        transition: transform 250ms ease;
    }
    .main-nav.open {
        transform: translateY(0);
    }
    .nav-link {
        display: block;
        width: 100%;
        padding: 13px 0;
        border-bottom: 1px solid var(--line);
    }
    .nav-link::after {
        display: none;
    }
    .dropdown-row {
        width: 100%;
    }
    .dropdown-row .nav-link {
        flex: 1 1 auto;
    }
    .dropdown-toggle {
        width: 46px;
        height: 46px;
        border-bottom: 1px solid var(--line);
    }
    .dropdown-menu {
        position: static;
        width: 100%;
        display: none;
        padding: 7px 0 8px 13px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .nav-dropdown.open .dropdown-menu {
        display: grid;
    }
    .hero-grid,
    .split-grid,
    .editorial-grid,
    .coverage-map,
    .property-grid,
    .provider-editorial,
    .contact-layout,
    .scorecard,
    .decision-matrix,
    .story-grid,
    .app-style-grid,
    .performance-board,
    .provider-fit,
    .equipment-compare,
    .matching-board {
        grid-template-columns: 1fr;
    }
    .feature-strip-grid {
        grid-template-columns: 1fr;
    }
    .feature-strip-grid article + article {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
    .plan-cards,
    .three-cards,
    .fit-grid,
    .journey-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .plan-cards .plan-card-featured {
        transform: none;
    }
    .media-card,
    .media-card.reverse {
        grid-template-columns: 1fr;
    }
    .provider-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .spectrum-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .spectrum-line article:nth-child(3) {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
    .spectrum-line article:nth-child(4) {
        border-top: 1px solid var(--line);
    }
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .container {
        width: min(calc(100% - 28px), var(--container));
    }
    .header-inner {
        min-height: 72px;
    }
    .brand img {
        width: 145px;
    }
    .main-nav {
        top: 72px;
        max-height: calc(100dvh - 72px);
    }
    .page-hero {
        padding-top: 50px;
    }
    h1 {
        font-size: clamp(2.08rem, 11vw, 3.35rem);
    }
    h2 {
        font-size: clamp(1.72rem, 8.7vw, 2.45rem);
    }
    .hero-actions .btn {
        flex: 1 1 145px;
    }
    .hero-photo {
        aspect-ratio: 4 / 3;
        border-radius: 20px 20px 0 0;
    }
    .assist-card {
        padding: 21px;
    }
    .section {
        padding: 70px 0;
    }
    .section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .stack-cards article:nth-child(2) {
        transform: none;
    }
    .plan-cards,
    .three-cards,
    .fit-grid,
    .journey-row,
    .provider-directory,
    .quad,
    .footer-grid,
    .inquiry-grid {
        grid-template-columns: 1fr;
    }
    .device-art {
        min-height: 360px;
    }
    .phone-frame {
        width: 184px;
        height: 342px;
    }
    .promo-band,
    .cta-shell {
        align-items: flex-start;
        flex-direction: column;
        padding: 30px 23px;
    }
    .media-card > img {
        min-height: 270px;
    }
    .media-card > div {
        padding: 27px 21px;
    }
    .spectrum-line {
        grid-template-columns: 1fr;
    }
    .spectrum-line article + article {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
    .matrix-grid {
        grid-template-columns: 1fr;
    }
    .matrix-grid > * {
        border-bottom: 1px solid var(--line) !important;
    }
    .matrix-grid > *:nth-child(odd) {
        font-weight: 700;
    }
    .timeline span {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
    }
    .mobile-call {
        position: fixed;
        right: 14px;
        bottom: 12px;
        left: 14px;
        z-index: 900;
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: var(--ink);
        border-radius: 13px;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
        font-weight: 800;
    }
    .site-footer {
        padding-bottom: 88px;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Premium global interaction system */
.top-bar {
    position: relative;
    z-index: 1100;
    color: rgba(255, 255, 255, 0.92);
    background: #11151d;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.top-bar-inner {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-size: 0.76rem;
}
.top-bar p {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.top-bar a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
}
.top-bar a span {
    color: rgba(255, 255, 255, 0.68);
}
.top-pulse {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    background: var(--blue-bright);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(0, 134, 255, 0.13);
}
.site-header {
    transition: box-shadow 220ms ease, background-color 220ms ease;
}
.site-header.scrolled {
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 12px 36px rgba(14, 21, 28, 0.09);
}
.brand img {
    transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.brand:hover img {
    transform: translateY(-1px) scale(1.025);
}
.mega-dropdown {
    position: relative;
}
.mega-menu {
    left: 50%;
    width: min(760px, calc(100vw - 42px));
    grid-template-columns: 0.9fr 1.55fr 0.75fr;
    gap: 22px;
    padding: 22px;
    transform: translate(-50%, 14px);
    transform-origin: top center;
}
.nav-dropdown.open .mega-menu,
.nav-dropdown:focus-within .mega-menu,
.nav-dropdown:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.mega-intro {
    padding: 18px;
    color: #ffffff;
    background: linear-gradient(145deg, var(--blue-deep), var(--blue-bright));
    border-radius: 14px;
}
.mega-intro strong {
    display: block;
    margin: 6px 0 8px;
    font-size: 1.03rem;
    line-height: 1.22;
}
.mega-intro p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.79rem;
    line-height: 1.55;
}
.mega-kicker {
    display: block;
    color: var(--blue-deep);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}
.mega-intro .mega-kicker {
    color: rgba(255, 255, 255, 0.75);
}
.mega-phone {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 12px;
    color: var(--blue-deep);
    background: #ffffff;
    border-radius: 8px;
    font-size: 0.76rem;
    font-weight: 800;
}
.mega-provider-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.mega-provider {
    display: grid;
    gap: 1px;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}
.mega-provider span {
    color: var(--ink);
    font-size: 0.84rem;
    font-weight: 750;
}
.mega-provider small {
    color: var(--muted);
    font-size: 0.68rem;
}
.mega-provider:hover,
.mega-provider.active {
    background: var(--blue-pale);
    border-color: #b8ddff;
    transform: translateX(2px);
}
.mega-shortcuts {
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 8px 0;
}
.mega-shortcuts a {
    padding: 8px 9px;
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 700;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.mega-shortcuts a:hover {
    color: var(--blue-deep);
    background: var(--blue-pale);
    transform: translateX(2px);
}
.page-hero {
    padding-top: 74px;
}
.hero-copy-no-media {
    max-width: 720px;
    padding-bottom: 68px;
}
.hero-grid {
    align-items: stretch;
}
.hero-copy-no-media,
.assist-card {
    align-self: center;
}
.assist-card {
    position: relative;
    overflow: hidden;
    transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 280ms ease;
}
.assist-card::before {
    position: absolute;
    top: -42px;
    right: -42px;
    width: 112px;
    height: 112px;
    background: radial-gradient(circle, rgba(0, 134, 255, 0.14), transparent 67%);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}
.assist-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 82px rgba(0, 46, 88, 0.25);
}
.btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.btn::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(110deg, transparent 18%, rgba(255, 255, 255, 0.24) 46%, transparent 74%);
    content: "";
    transform: translateX(-125%);
    transition: transform 520ms ease;
}
.btn:hover::before {
    transform: translateX(125%);
}
.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(12, 29, 44, 0.15);
}
.btn:active {
    transform: translateY(-1px) scale(0.99);
}
.section-call-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 30px;
}
.section-call {
    min-height: 48px;
    gap: 10px;
    padding-inline: 17px;
    border-radius: 10px;
}
.section-call span {
    font-size: 0.76rem;
    font-weight: 700;
    opacity: 0.84;
}
.section-call strong {
    font-size: 0.86rem;
}
.provider-logo-card {
    transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms ease, border-color 220ms ease;
}
.provider-logo-card:hover {
    border-color: #a4d4ff;
    box-shadow: 0 16px 34px rgba(8, 42, 72, 0.1);
    transform: translateY(-5px);
}
.provider-logo-card img {
    filter: saturate(0.92);
    transition: transform 220ms ease, filter 220ms ease;
}
.provider-logo-card:hover img {
    filter: saturate(1.08);
    transform: scale(1.055);
}
.feature-strip-grid article,
.stack-cards article,
.plan-cards article,
.three-cards article,
.fit-grid article,
.quad article,
.fact-stack article,
.score-grid article,
.principles article,
.inquiry-grid article,
.directory-card,
.contact-card,
.faq-item,
.spectrum-line article,
.journey-row article {
    transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 240ms ease, border-color 240ms ease, background-color 240ms ease;
}
.stack-cards article:hover,
.plan-cards article:hover,
.three-cards article:hover,
.fit-grid article:hover,
.quad article:hover,
.fact-stack article:hover,
.score-grid article:hover,
.principles article:hover,
.inquiry-grid article:hover,
.directory-card:hover,
.contact-card:hover,
.faq-item:hover,
.spectrum-line article:hover,
.journey-row article:hover {
    border-color: rgba(23,105,170,0.34);
    box-shadow: 0 18px 42px rgba(8, 41, 71, 0.1);
    transform: translateY(-4px);
}
.feature-strip-grid article:hover {
    background: rgba(233, 245, 255, 0.55);
}
.check-list li,
.assist-card li,
.equipment-rail span,
.matching-chips span {
    transition: transform 180ms ease, color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.check-list li:hover,
.assist-card li:hover {
    color: var(--blue-deep);
    transform: translateX(4px);
}
.equipment-rail span:hover,
.matching-chips span:hover {
    color: var(--blue-deep);
    background: var(--blue-pale);
    border-color: #a4d4ff;
    transform: translateY(-2px);
}
.story-media,
.property-grid figure,
.media-card > img,
.device-art,
.rooms,
.provider-logo-hero {
    overflow: hidden;
}
.story-media img,
.property-grid img,
.media-card > img,
.provider-logo-hero img {
    transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 400ms ease;
}
.story-media:hover img,
.property-grid figure:hover img,
.media-card:hover > img,
.provider-logo-hero:hover img {
    filter: saturate(1.05) contrast(1.02);
    transform: scale(1.035);
}
.motion-item.in-view {
    animation: premium-rise 620ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.motion-item.motion-delay-1.in-view {
    animation-delay: 70ms;
}
.motion-item.motion-delay-2.in-view {
    animation-delay: 140ms;
}
.motion-item.motion-delay-3.in-view {
    animation-delay: 210ms;
}
@keyframes premium-rise {
    from {
        transform: translateY(14px);
    }
    to {
        transform: translateY(0);
    }
}
@media (max-width: 1120px) {
    .mega-menu {
        width: min(690px, calc(100vw - 28px));
    }
}
@media (max-width: 900px) {
    .top-bar-inner {
        min-height: 34px;
    }
    .top-bar a span {
        display: none;
    }
    .mega-menu {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px 0 8px 13px;
        transform: none;
    }
    .nav-dropdown.open .mega-menu,
    .nav-dropdown:focus-within .mega-menu,
    .nav-dropdown:hover .mega-menu {
        transform: none;
    }
    .mega-intro {
        margin-right: 13px;
    }
    .mega-provider-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-right: 13px;
    }
    .mega-shortcuts {
        padding-right: 13px;
    }
}
@media (max-width: 600px) {
    .top-bar-inner {
        min-height: 32px;
        justify-content: center;
        font-size: 0.7rem;
    }
    .top-bar p {
        display: none;
    }
    .hero-copy-no-media {
        padding-bottom: 24px;
    }
    .section-call-row {
        margin-top: 24px;
    }
    .section-call {
        width: 100%;
    }
    .mega-provider-grid {
        grid-template-columns: 1fr;
    }
}
@media (prefers-reduced-motion: reduce) {
    .motion-item.in-view {
        animation: none !important;
    }
    .logo-track {
        animation: none !important;
    }
}

/* Section CTA alignment and mobile sticky-header offsets */
.section-call-row {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .main-nav {
        top: 118px;
        max-height: calc(100dvh - 118px);
    }
    .site-header.scrolled .main-nav {
        top: 82px;
        max-height: calc(100dvh - 82px);
    }
}
@media (max-width: 600px) {
    .main-nav {
        top: 104px;
        max-height: calc(100dvh - 104px);
    }
    .site-header.scrolled .main-nav {
        top: 72px;
        max-height: calc(100dvh - 72px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .brand img,
    .assist-card,
    .provider-logo-card,
    .provider-logo-card img,
    .story-media img,
    .property-grid img,
    .media-card > img,
    .provider-logo-hero img {
        transform: none !important;
    }
}

/* Premium global interaction refresh */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    padding: 7px 12px 7px 10px;
    margin-bottom: 14px;
    color: var(--blue-deep);
    background: linear-gradient(135deg, #fff7f0, #e6f3ff);
    border: 1px solid rgba(23, 105, 170, 0.16);
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(23, 105, 170, 0.07);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}
.eyebrow::before {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(23, 105, 170, 0.1);
    content: "";
}
.eyebrow-light {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.24);
    box-shadow: none;
}
.eyebrow-light::before {
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.14);
}
.title-motion {
    opacity: 1;
    transform: translateY(12px);
    transition: transform 720ms cubic-bezier(0.2, 0.8, 0.2, 1), letter-spacing 720ms ease;
}
.title-motion.title-in-view {
    letter-spacing: -0.028em;
    transform: translateY(0);
}
.btn {
    --button-shine: rgba(255, 255, 255, 0.26);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms ease, border-color 220ms ease, background-color 220ms ease;
}
.btn::after {
    position: absolute;
    top: -40%;
    left: -55%;
    width: 42%;
    height: 180%;
    background: linear-gradient(90deg, transparent, var(--button-shine), transparent);
    content: "";
    pointer-events: none;
    transform: rotate(18deg) translateX(-130%);
    transition: transform 620ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.btn:hover::after {
    transform: rotate(18deg) translateX(430%);
}
.btn:hover {
    transform: translateY(-4px) scale(1.015);
}
.btn-primary:hover {
    background: var(--blue-deep);
    box-shadow: 0 18px 38px rgba(0, 122, 232, 0.28);
}
.btn-light:hover {
    color: var(--blue-dark);
    box-shadow: 0 18px 38px rgba(8, 37, 64, 0.18);
}
.block-call {
    min-height: 50px;
    gap: 10px;
    padding-inline: 17px;
    border-radius: 12px;
}
.block-call span {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    opacity: 0.84;
}
.block-call strong {
    font-size: 0.88rem;
    letter-spacing: -0.01em;
}
.plan-cards .block-call,
.directory-card .block-call {
    width: 100%;
    margin-top: auto;
}
.directory-card {
    display: flex;
    flex-direction: column;
}
.directory-call {
    margin-top: auto;
}

/* Supplied provider-logo presentation */
.provider-logo-card img,
.directory-logo img {
    width: 100%;
    max-width: 190px;
    height: 72px;
    object-fit: contain;
}
.provider-logo-card {
    min-width: 225px;
    background: linear-gradient(180deg, #ffffff, #fffaf6);
}
.provider-logo-card:hover {
    box-shadow: 0 20px 44px rgba(4, 46, 84, 0.13);
    transform: translateY(-6px) rotateX(2deg);
}

/* Home section 1: signal map */
.signal-lab-section {
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f3f9ff 100%);
}
.signal-lab-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
    align-items: center;
    gap: 72px;
}
.signal-copy {
    max-width: 570px;
}
.signal-map {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background:
        linear-gradient(rgba(255,255,255,.86), rgba(255,255,255,.86)),
        repeating-linear-gradient(0deg, transparent 0 46px, rgba(23,105,170,.08) 47px),
        repeating-linear-gradient(90deg, transparent 0 46px, rgba(23,105,170,.08) 47px);
    border: 1px solid #d2e2f0;
    border-radius: 34px;
    box-shadow: 0 30px 80px rgba(8, 55, 97, 0.12);
}
.signal-map::before {
    position: absolute;
    inset: 34px;
    border: 1px dashed rgba(23, 105, 170,.22);
    border-radius: 24px;
    content: "";
}
.signal-core {
    position: absolute;
    top: 50%;
    left: 47%;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 116px;
    height: 116px;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 50%;
    box-shadow: 0 18px 40px rgba(23, 105, 170,.28);
    transform: translate(-50%, -50%);
}
.signal-core span {
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
}
.signal-core b {
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.signal-ring {
    position: absolute;
    top: 50%;
    left: 47%;
    border: 1px solid rgba(23, 105, 170,.22);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.ring-one { width: 220px; height: 220px; }
.ring-two { width: 350px; height: 350px; }
.ring-three { width: 500px; height: 500px; opacity: .7; }
.room-node {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 190px;
    padding: 14px 16px;
    background: rgba(255,255,255,.94);
    border: 1px solid #cadced;
    border-radius: 16px;
    box-shadow: 0 16px 34px rgba(5, 41, 73, .09);
    transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.room-node:hover {
    border-color: rgba(23, 105, 170,.4);
    box-shadow: 0 22px 44px rgba(5, 41, 73,.13);
    transform: translateY(-5px);
}
.room-node > span,
.rail-number,
.premium-points span,
.priority-stack > article > span {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 10px;
    font-size: .73rem;
    font-weight: 800;
}
.room-node b,
.room-node small {
    display: block;
}
.room-node small {
    color: var(--muted);
    font-size: .72rem;
}
.room-one { top: 60px; right: 34px; }
.room-two { right: 28px; bottom: 58px; }
.room-three { bottom: 48px; left: 32px; }

/* Home section 2: cost lens */
.cost-lens-section {
    background: #141820;
}
.cost-lens-shell {
    position: relative;
    overflow: hidden;
    padding: 58px;
    color: #fff;
    background: linear-gradient(135deg, #1d232e, #11151c);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 34px;
    box-shadow: 0 30px 70px rgba(13,17,23,.28);
}
.cost-lens-shell::after {
    position: absolute;
    top: -160px;
    right: -120px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(23, 105, 170,.24), transparent 66%);
    content: "";
    pointer-events: none;
}
.cost-lens-head {
    max-width: 760px;
}
.cost-lens-head p:not(.eyebrow) {
    color: #c6cbd4;
}
.cost-rail {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 34px 0 30px;
}
.cost-rail article {
    min-height: 240px;
    padding: 24px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.cost-rail article:hover {
    background: rgba(23,105,170,.12);
    border-color: rgba(52, 159, 255,.32);
    transform: translateY(-6px);
}
.cost-rail h3 { margin-top: 22px; }
.cost-rail p { color: #c6cbd4; font-size: .9rem; }

/* Home section 3: installation path */
.install-path-grid {
    display: grid;
    grid-template-columns: minmax(400px, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 72px;
}
.install-visual {
    position: relative;
    min-height: 480px;
    overflow: hidden;
    background: linear-gradient(135deg, #2388d9, #0d4f8b);
    border-radius: 34px;
    box-shadow: 0 30px 70px rgba(23, 105, 170,.24);
}
.install-orbit {
    position: absolute;
    inset: 70px;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 50%;
}
.install-orbit::before,
.install-orbit::after {
    position: absolute;
    inset: 52px;
    border: 1px dashed rgba(255,255,255,.26);
    border-radius: 50%;
    content: "";
}
.install-orbit::after { inset: 108px; }
.install-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 154px;
    height: 154px;
    place-items: center;
    align-content: center;
    color: var(--ink);
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 22px 45px rgba(0, 56, 106,.2);
    transform: translate(-50%, -50%);
}
.install-badge span { color: var(--blue-deep); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.install-badge strong { max-width: 92px; text-align: center; line-height: 1.1; }
.install-step {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    color: #fff;
    background: rgba(0, 63, 119, .22);
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 14px;
    backdrop-filter: blur(8px);
    transition: transform 240ms ease, background-color 240ms ease;
}
.install-step:hover { background: rgba(0, 47, 90,.32); transform: translateY(-5px); }
.install-step b { font-size: .73rem; }
.install-step span { font-size: .8rem; font-weight: 700; }
.install-step-a { top: 50px; left: 50px; }
.install-step-b { top: 86px; right: 32px; }
.install-step-c { right: 58px; bottom: 54px; }
.premium-points {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 24px 0 28px;
    list-style: none;
}
.premium-points li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #fffaf6;
    border: 1px solid #d0e1f0;
    border-radius: 14px;
    transition: transform 200ms ease, border-color 200ms ease;
}
.premium-points li:hover { border-color: rgba(23, 105, 170,.38); transform: translateX(5px); }

/* Home section 4: decision deck */
.decision-deck-section {
    background: linear-gradient(135deg, #1769aa, #105f9f);
}
.decision-deck {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 62px;
    color: #fff;
}
.decision-deck-copy p:not(.eyebrow) { color: #e7f4ff; }
.priority-stack {
    display: grid;
    gap: 12px;
}
.priority-stack article {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    color: var(--ink);
    background: #fff;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(0, 59, 112,.12);
    transition: transform 240ms ease, box-shadow 240ms ease;
}
.priority-stack article:hover { transform: translateX(-7px); box-shadow: 0 22px 48px rgba(0, 53, 101,.18); }
.priority-stack h3 { margin: 0 0 4px; font-size: 1rem; }
.priority-stack p { margin: 0; color: var(--muted); font-size: .84rem; }
.priority-stack article > b {
    padding: 6px 9px;
    color: var(--blue-deep);
    background: var(--blue-pale);
    border-radius: 999px;
    font-size: .68rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Global block hover language */
.signal-map,
.cost-lens-shell,
.install-visual,
.priority-stack article,
.story-grid,
.app-style-grid,
.decision-matrix,
.matching-board,
.transparency-panel,
.privacy-note {
    transition: transform 260ms cubic-bezier(.2,.8,.2,1), box-shadow 260ms ease, border-color 260ms ease;
}
.story-grid:hover,
.app-style-grid:hover,
.decision-matrix:hover,
.matching-board:hover,
.transparency-panel:hover,
.privacy-note:hover {
    transform: translateY(-3px);
}

@media (max-width: 1000px) {
    .signal-lab-grid,
    .install-path-grid,
    .decision-deck {
        grid-template-columns: 1fr;
        gap: 42px;
    }
    .signal-map,
    .install-visual { min-height: 430px; }
    .cost-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .cost-lens-shell { padding: 32px 22px; border-radius: 24px; }
    .cost-rail { grid-template-columns: 1fr; }
    .cost-rail article { min-height: 0; }
    .signal-map { min-height: 520px; border-radius: 24px; }
    .signal-core { top: 44%; left: 50%; }
    .signal-ring { top: 44%; left: 50%; }
    .room-one { top: 32px; right: 18px; }
    .room-two { right: 18px; bottom: 42px; }
    .room-three { bottom: 132px; left: 18px; }
    .install-visual { min-height: 500px; border-radius: 24px; }
    .install-orbit { inset: 92px 28px; }
    .install-step-a { top: 34px; left: 18px; }
    .install-step-b { top: 104px; right: 18px; }
    .install-step-c { right: 18px; bottom: 34px; }
    .priority-stack article { grid-template-columns: auto 1fr; }
    .priority-stack article > b { grid-column: 2; width: fit-content; }
    .block-call { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .title-motion,
    .title-motion.title-in-view,
    .btn,
    .room-node,
    .cost-rail article,
    .install-step,
    .priority-stack article,
    .premium-points li {
        transform: none !important;
        transition-duration: 0.01ms !important;
    }
    .btn::after { display: none; }
}

/* === Home refinement: 2026-09-15 === */
.home-page main h1,
.home-page main h2 {
    text-wrap: balance;
}
.home-page main h1 {
    max-width: 650px;
    font-size: clamp(2.55rem, 4.5vw, 4.05rem);
    line-height: 0.98;
}
.home-page main h2 {
    max-width: 760px;
    line-height: 1.04;
}
.home-page .stage-head h2,
.home-page .section-head h2,
.home-page .cost-lens-head h2 {
    margin-inline: auto;
}
.home-page .stack-cards h3,
.home-page .plan-cards h3,
.home-page .cost-rail h3,
.home-page .priority-stack h3,
.home-page .feature-strip-grid strong {
    white-space: nowrap;
}

/* Word-by-word blur reveal, equivalent to requested TextBlurReveal motion in vanilla JS. */
.blur-reveal-ready .blur-word {
    display: inline-block;
    filter: blur(10px);
    opacity: 0;
    transform: translateY(-34px);
}
.blur-reveal-in-view .blur-word {
    animation: altaTextBlurReveal 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: var(--word-delay, 0ms);
}
.blur-word.text-accent {
    color: var(--blue);
}
.page-hero .blur-word.text-accent,
.blue-stage .blur-word.text-accent,
.decision-deck-section .blur-word.text-accent,
.final-cta .blur-word.text-accent,
.cost-lens-section .blur-word.text-accent {
    color: #add8ff;
}
@keyframes altaTextBlurReveal {
    0% {
        filter: blur(10px);
        opacity: 0;
        transform: translateY(-34px);
    }
    50% {
        filter: blur(5px);
        opacity: 0.55;
        transform: translateY(5px);
    }
    100% {
        filter: blur(0);
        opacity: 1;
        transform: translateY(0);
    }
}

/* Home hero: three-image loop under a strong AltaFibra overlay. */
.home-page .page-hero {
    isolation: isolate;
    padding: 74px 0 70px;
    background: #007be9;
}
.home-page .page-hero::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(0, 97, 185, 0.96) 0%, rgba(0, 127, 241, 0.90) 43%, rgba(0, 134, 255, 0.78) 100%),
        linear-gradient(180deg, rgba(20, 24, 32, 0.10), rgba(20, 24, 32, 0.20));
    content: "";
    pointer-events: none;
}
.home-page .page-hero::after {
    z-index: 1;
}
.hero-slides {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.hero-slide {
    position: absolute;
    inset: -2%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transform: scale(1.045);
    animation: heroSlideLoop 18s ease-in-out infinite;
    will-change: opacity, transform;
}
.hero-slide-1 {
    animation-delay: 0s;
}
.hero-slide-2 {
    animation-delay: 6s;
}
.hero-slide-3 {
    animation-delay: 12s;
}
@keyframes heroSlideLoop {
    0% {
        opacity: 0;
        transform: scale(1.06);
    }
    8% {
        opacity: 1;
    }
    30% {
        opacity: 1;
        transform: scale(1.015);
    }
    39% {
        opacity: 0;
    }
    100% {
        opacity: 0;
        transform: scale(1.015);
    }
}
.home-page .hero-grid {
    z-index: 3;
}
.home-page .hero-copy-no-media {
    max-width: 680px;
    align-self: center;
    padding-bottom: 0;
    text-shadow: 0 2px 22px rgba(0, 34, 65, 0.18);
}
.home-page .hero-lead {
    max-width: 620px;
    font-weight: 600;
}
.home-page .assist-card {
    align-self: center;
    margin-bottom: 0;
}
.home-page .home-feature-strip {
    margin-top: 0;
    padding: 30px 0 20px;
}
.home-page .feature-strip-grid {
    margin-top: 0;
    overflow: visible;
    border-radius: 20px;
}

/* Feature strip: larger authored icons and richer supporting text. */
.feature-strip-grid article {
    min-height: 210px;
    align-items: flex-start;
    gap: 17px;
    padding: 26px 25px;
}
.feature-strip-grid article:hover {
    background: linear-gradient(145deg, #fff, #edf6ff);
    box-shadow: 0 18px 44px rgba(6, 45, 80, 0.10);
    transform: translateY(-5px);
}
.mini-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border: 7px solid #e4f2ff;
    border-radius: 17px;
    box-shadow: 0 10px 24px rgba(23,105,170,0.18);
}
.mini-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.feature-strip-grid strong {
    display: block;
    margin-top: 3px;
    font-size: 1.02rem;
}
.feature-strip-grid p {
    margin-top: 8px;
    color: #626b77;
    font-size: 0.86rem;
    line-height: 1.62;
}

/* Provider showcase redesign. */
.provider-strip {
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 8% 20%, rgba(23, 105, 170, 0.08), transparent 24%),
        linear-gradient(180deg, #fff 0%, #f3f9ff 100%);
}
.provider-strip .section-head {
    display: block;
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}
.provider-strip .section-head > div {
    width: 100%;
}
.provider-strip .provider-intro {
    max-width: 680px;
    margin: 12px auto 0;
    color: var(--muted);
}
.provider-marquee-shell {
    position: relative;
    overflow: hidden;
    padding: 22px 0;
    background: linear-gradient(135deg, #151a22, #242b36);
    border: 1px solid rgba(23, 105, 170, 0.15);
    border-radius: 30px;
    box-shadow: 0 28px 70px rgba(15, 22, 28, 0.16);
}
.provider-marquee-shell::before,
.provider-marquee-shell::after {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 3;
    width: 92px;
    content: "";
    pointer-events: none;
}
.provider-marquee-shell::before {
    left: 0;
    background: linear-gradient(90deg, #151a22, transparent);
}
.provider-marquee-shell::after {
    right: 0;
    background: linear-gradient(-90deg, #242b36, transparent);
}
.provider-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(45, 155, 255, 0.09);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.provider-orbit span {
    position: absolute;
    border: 1px solid rgba(45, 155, 255, 0.08);
    border-radius: 50%;
}
.provider-orbit span:nth-child(1) {
    inset: 58px;
}
.provider-orbit span:nth-child(2) {
    inset: 118px;
}
.provider-orbit span:nth-child(3) {
    inset: 176px;
}
.provider-strip .logo-marquee {
    position: relative;
    z-index: 2;
    padding: 20px 0;
    border: 0;
    mask-image: none;
}
.provider-strip .logo-track {
    gap: 18px;
    animation-duration: 32s;
}
.provider-strip .provider-logo-card {
    width: 196px;
    min-height: 118px;
    padding: 20px;
    background: rgba(255,255,255,0.98);
    border-color: rgba(255,255,255,0.20);
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.14);
}
.provider-strip .provider-logo-card::after {
    position: absolute;
    inset: 7px;
    border: 1px solid transparent;
    border-radius: 15px;
    content: "";
    pointer-events: none;
    transition: border-color 220ms ease;
}
.provider-strip .provider-logo-card:hover {
    border-color: #58b0ff;
    box-shadow: 0 22px 46px rgba(0,0,0,0.22);
    transform: translateY(-8px) scale(1.025);
}
.provider-strip .provider-logo-card:hover::after {
    border-color: rgba(23, 105, 170, 0.20);
}
.provider-strip .provider-logo-card img {
    max-width: 142px;
    max-height: 48px;
}
.provider-strip .provider-logo-card span {
    color: #59616d;
    font-weight: 700;
}

/* Simultaneous-use point icons and dark hover state. */
.choice-section .stack-cards article {
    grid-template-columns: 58px 1fr;
    align-items: center;
    min-height: 122px;
    overflow: hidden;
}
.stack-icon {
    position: relative;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: #fff !important;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 16px;
    box-shadow: 0 10px 22px rgba(23, 105, 170, 0.20);
}
.stack-icon::after {
    position: absolute;
    right: -5px;
    bottom: -7px;
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    color: var(--ink);
    background: #fff;
    border: 2px solid #d2eaff;
    border-radius: 999px;
    content: attr(data-step);
    font-size: 0.56rem;
    font-weight: 800;
}
.stack-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}
.choice-section .stack-cards article h3,
.choice-section .stack-cards article p,
.choice-section .stack-icon {
    transition: color 220ms ease, transform 220ms ease;
}
.choice-section .stack-cards article:hover {
    color: #fff;
    background: #171c24;
    border-color: #171c24;
    box-shadow: 0 22px 46px rgba(17, 22, 30, 0.18);
}
.choice-section .stack-cards article:hover h3 {
    color: #fff;
}
.choice-section .stack-cards article:hover p {
    color: #c9cfd8;
}
.choice-section .stack-cards article:hover .stack-icon {
    transform: rotate(-4deg) scale(1.05);
}
.choice-section .stack-cards article:nth-child(2):hover {
    transform: translateX(26px) translateY(-4px);
}

/* Network cards: maintain readable 4-line depth and visible phone buttons. */
.plan-cards article > p {
    min-height: 6.3em;
    color: #5e6672;
    line-height: 1.58;
}
.plan-cards .btn-primary,
.plan-cards a.btn-primary {
    color: #fff;
    background: #171c24;
    border-color: #171c24;
}
.plan-cards .btn-primary:hover,
.plan-cards a.btn-primary:hover {
    color: #fff;
    background: var(--blue-deep);
    border-color: var(--blue-deep);
}

/* Coverage split: replace device mockup with real router photography. */
.coverage-photo {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #ece8e4;
    border-radius: 30px;
    box-shadow: var(--shadow-card);
}
.coverage-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 54%, rgba(20, 24, 32, 0.22));
    content: "";
    pointer-events: none;
}
.coverage-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.coverage-photo:hover img {
    transform: scale(1.055);
}
.app-style-section .app-style-grid > div:not(.section-call-row) {
    align-self: center;
}
.coverage-call {
    margin-top: 24px;
}

@media (max-width: 1000px) {
    .home-page .page-hero {
        padding-bottom: 58px;
    }
    .home-page .hero-copy-no-media {
        padding-bottom: 0;
    }
    .feature-strip-grid article {
        min-height: 0;
    }
    .provider-marquee-shell::before,
    .provider-marquee-shell::after {
        width: 52px;
    }
}

@media (max-width: 700px) {
    .home-page main h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 11vw, 3.35rem);
        line-height: 1.01;
    }
    .home-page main h2 {
        max-width: 100%;
        font-size: clamp(1.7rem, 8.8vw, 2.45rem);
        line-height: 1.06;
    }
    .home-page .page-hero {
        padding: 54px 0 52px;
    }
    .hero-slide {
        background-position: 60% center;
    }
    .feature-strip-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
    .feature-strip-grid article + article {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
    .feature-strip-grid p {
        font-size: 0.9rem;
    }
    .provider-marquee-shell {
        margin-inline: -4px;
        border-radius: 22px;
    }
    .provider-strip .provider-logo-card {
        width: 170px;
        min-height: 108px;
    }
    .choice-section .stack-cards article,
    .choice-section .stack-cards article:nth-child(2) {
        transform: none;
    }
    .choice-section .stack-cards article:nth-child(2):hover {
        transform: translateY(-4px);
    }
    .plan-cards article > p {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide {
        animation: none !important;
        opacity: 0;
        transform: none !important;
    }
    .hero-slide:first-child {
        opacity: 1;
    }
    .blur-reveal-ready .blur-word,
    .blur-reveal-in-view .blur-word {
        animation: none !important;
        filter: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Hero stacking safeguard */
.home-page .hero-slides {
    z-index: 0;
}
.home-page .page-hero::before {
    z-index: 1;
}
.home-page .page-hero::after {
    z-index: 2;
}
.home-page .hero-grid {
    z-index: 3;
}
@media (max-width: 420px) {
    .home-page main h1 {
        font-size: clamp(2rem, 10.2vw, 2.6rem);
    }
    .home-page main h2 {
        font-size: clamp(1.55rem, 7.8vw, 2rem);
    }
}


/* === Home refinement: 2026-09-15 second pass === */
.home-page .page-hero {
    padding: 84px 0 132px;
}
.home-page .hero-copy-no-media {
    max-width: 640px;
}
.home-page .hero-copy-no-media h1 {
    max-width: 10ch;
    line-height: 0.92;
}
.home-page .hero-lead {
    max-width: 590px;
    line-height: 1.6;
}
.home-page .hero-slide {
    background-position: 76% center;
}
.home-page .assist-card {
    background: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.home-page .home-feature-strip {
    position: relative;
    z-index: 5;
    margin-top: -78px;
    padding: 0 0 20px;
}
.home-page .feature-strip-grid {
    background: #fff;
    box-shadow: 0 26px 48px rgba(10, 20, 29, 0.12);
}
.home-page .feature-strip-grid article {
    min-height: 246px;
}
.home-page .feature-strip-grid p {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.provider-strip {
    background: #fff;
}
.provider-marquee-shell {
    padding: 10px 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.provider-marquee-shell::before,
.provider-marquee-shell::after,
.provider-orbit {
    display: none;
}
.provider-strip .provider-logo-card {
    border: 1px solid rgba(23, 105, 170, 0.12);
    box-shadow: 0 14px 32px rgba(15, 22, 36, 0.08);
}
.choice-section .split-grid {
    align-items: start;
}
.choice-section .section-copy p:not(.eyebrow) {
    max-width: 540px;
    line-height: 1.68;
}
.choice-section .stack-cards article {
    min-height: 170px;
    align-items: start;
}
.choice-section .stack-cards article p {
    line-height: 1.65;
}
.promo-band-section {
    background: transparent;
}
.promo-band {
    position: relative;
    overflow: hidden;
    min-height: 290px;
    align-items: center;
    padding: 42px 46px;
    background-image: linear-gradient(90deg, rgba(22, 36, 58, 0.88), rgba(22, 36, 58, 0.66)), url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1400&q=82');
    background-size: cover;
    background-position: center;
}
.promo-band::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(27, 44, 68, 0.86), rgba(23, 105, 170, 0.38));
    content: "";
}
.promo-band > * {
    position: relative;
    z-index: 1;
}
.story-grid {
    align-items: stretch;
}
.story-media,
.story-grid > div:first-of-type {
    height: 100%;
}
.story-grid > div:first-of-type {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.device-points {
    margin: 18px 0 0;
}
.device-points li {
    line-height: 1.55;
}
.signal-lab-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 34px;
    align-items: stretch;
}
.signal-photo-card {
    display: grid;
    gap: 18px;
}
.signal-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    aspect-ratio: 16 / 11;
    box-shadow: var(--shadow-card);
}
.signal-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.signal-photo:hover img {
    transform: scale(1.05);
}
.room-focus-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.room-focus-grid article {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow-soft);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.room-focus-grid article:hover {
    transform: translateY(-4px);
    border-color: rgba(23, 105, 170, 0.20);
    box-shadow: 0 18px 30px rgba(29, 33, 37, 0.1);
}
.room-focus-grid h3 {
    margin-bottom: 8px;
}
.room-focus-grid p {
    margin: 0;
    color: #636c78;
    line-height: 1.6;
}
.cost-lens-shell {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}
.cost-rail article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.cost-rail article .btn {
    margin-top: auto;
    white-space: nowrap;
}
.install-path-grid {
    align-items: stretch;
}
.install-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: var(--shadow-card);
}
.install-photo img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.install-photo:hover img {
    transform: scale(1.045);
}
.premium-points li {
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}
.premium-points li:hover {
    color: #fff;
    background: #1a2434;
    border-color: #1a2434;
    transform: translateY(-4px);
}
.premium-points li:hover span {
    background: #fff;
    color: #1a2434;
}
.priority-stack article {
    grid-template-columns: 58px 1fr auto;
    align-items: start;
    min-height: 150px;
}
.priority-stack article span:not(.priority-icon) {
    display: none;
}
.priority-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(23,105,170,0.22);
}
.priority-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.priority-stack article:hover {
    background: #111722;
    border-color: #111722;
}
.priority-stack article:hover h3,
.priority-stack article:hover b {
    color: #fff;
}
.priority-stack article:hover p {
    color: #d1d8e2;
}
.faq-section .narrow {
    max-width: 920px;
    text-align: center;
}
.faq-list {
    text-align: left;
}
.final-cta {
    padding-bottom: 0;
}
.cta-shell {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    min-height: 320px;
    margin: 0;
    padding: 58px 0;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-image: linear-gradient(90deg, rgba(82, 173, 255, 0.55), rgba(23, 105, 170, 0.45) 36%, rgba(23, 105, 170, 0.20) 100%), url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&w=1600&q=82');
    background-size: cover;
    background-position: center;
}
.cta-shell::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(220, 238, 255, 0.92) 0%, rgba(220, 238, 255, 0.82) 35%, rgba(220, 238, 255, 0.18) 100%);
    content: "";
}
.cta-shell > * {
    position: relative;
    z-index: 1;
}
.cta-shell > div {
    width: min(100%, 620px);
    padding-left: clamp(20px, 4vw, 54px);
}
.cta-shell h2,
.cta-shell p,
.cta-shell .eyebrow {
    color: #111722;
}
.cta-shell .eyebrow {
    background: rgba(255, 255, 255, 0.62);
    border-color: rgba(17, 23, 34, 0.08);
}
.cta-shell .btn {
    margin: 24px 0 0 clamp(20px, 4vw, 54px);
    white-space: nowrap;
}
.site-footer {
    margin-top: 0;
    background: #1b2c44;
}
.site-footer a,
.site-footer p,
.site-footer li,
.site-footer h2 {
    color: #edf3fb;
}
.site-footer .footer-phone {
    color: #fff;
}
@media (max-width: 1000px) {
    .home-page .page-hero {
        padding: 70px 0 118px;
    }
    .signal-lab-grid {
        grid-template-columns: 1fr;
    }
    .room-focus-grid {
        grid-template-columns: 1fr;
    }
    .cta-shell {
        min-height: 280px;
    }
}
@media (max-width: 700px) {
    .home-page .page-hero {
        padding: 50px 0 110px;
    }
    .home-page .hero-slide {
        background-position: 82% center;
    }
    .home-page .home-feature-strip {
        margin-top: -58px;
    }
    .home-page .feature-strip-grid article {
        min-height: 0;
    }
    .promo-band {
        padding: 32px 24px;
    }
    .cta-shell {
        padding: 42px 0;
        background-position: 58% center;
    }
    .cta-shell .btn {
        width: calc(100% - 40px);
        margin-right: 20px;
    }
}

/* === Home refinement: 2026-09-15 third pass === */
.home-page .hero-copy-no-media h1 {
    max-width: 13.5ch;
    font-size: clamp(2.65rem, 4.3vw, 3.9rem);
    line-height: 0.94;
}
.home-page .assist-card h2 {
    max-width: 100%;
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    line-height: 1.05;
    white-space: nowrap;
}
.home-page .assist-card h2 .blur-word.text-accent {
    color: var(--blue-deep);
}
.home-page .page-hero::before {
    background:
        linear-gradient(90deg, rgba(0, 93, 177, 0.92) 0%, rgba(0, 123, 234, 0.80) 42%, rgba(0, 134, 255, 0.42) 72%, rgba(0, 134, 255, 0.18) 100%),
        linear-gradient(180deg, rgba(20, 24, 32, 0.06), rgba(20, 24, 32, 0.12));
}
.home-page .hero-slide {
    background-position: 86% center;
    filter: saturate(1.05) contrast(1.04);
}
.home-page .assist-card {
    background: rgba(255, 255, 255, 0.84);
}
.home-page .feature-strip-grid article {
    transition: transform 260ms ease, background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}
.home-page .feature-strip-grid article:hover {
    color: #fff;
    background: #162338;
    border-color: #162338;
}
.home-page .feature-strip-grid article:hover strong,
.home-page .feature-strip-grid article:hover p {
    color: #fff;
}
.home-page .feature-strip-grid article:hover .mini-icon {
    transform: translateY(-2px) scale(1.04);
}
.home-page .feature-strip-grid p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.55;
}
.choice-section .stack-cards article p,
.wifi-room-rail article p,
.priority-stack article p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Equipment split balance */
.story-section .story-grid {
    align-items: stretch;
}
.story-section .story-media {
    min-height: 520px;
    height: 100%;
}
.story-section .story-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.story-section .story-grid > div {
    display: flex;
    min-height: 520px;
    flex-direction: column;
    justify-content: center;
}
.story-section .device-points {
    margin-top: 18px;
    margin-bottom: 0;
}
.story-section .device-inline-call {
    width: auto;
    align-self: flex-start;
    margin-top: 28px;
    white-space: nowrap;
}

/* Unique image-led Wi-Fi room map with spotlight motion */
.signal-lab-section {
    overflow: hidden;
}
.signal-lab-section .container {
    width: min(calc(100% - 40px), 1240px);
}
.wifi-media-stage {
    --spot-x: 70%;
    --spot-y: 32%;
    position: relative;
    min-height: 680px;
    overflow: hidden;
    border-radius: 34px;
    box-shadow: 0 30px 80px rgba(17, 26, 40, 0.20);
    isolation: isolate;
}
.wifi-media-image,
.wifi-media-shade,
.wifi-spotlight {
    position: absolute;
    inset: 0;
}
.wifi-media-image {
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}
.wifi-media-stage:hover .wifi-media-image {
    transform: scale(1.035);
}
.wifi-media-shade {
    z-index: 1;
    background: linear-gradient(90deg, rgba(14, 24, 39, 0.90) 0%, rgba(14, 24, 39, 0.73) 40%, rgba(14, 24, 39, 0.20) 72%, rgba(14, 24, 39, 0.08) 100%);
}
.wifi-spotlight {
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle 230px at var(--spot-x) var(--spot-y), rgba(54, 160, 255, 0.30), rgba(54, 160, 255, 0.08) 45%, transparent 72%);
    transition: opacity 220ms ease;
}
.wifi-media-stage:hover .wifi-spotlight {
    opacity: 1;
}
.wifi-stage-copy {
    position: relative;
    z-index: 3;
    width: min(560px, 52%);
    padding: 64px 0 0 64px;
    color: #fff;
}
.wifi-stage-copy h2 {
    max-width: 11ch;
    color: #fff;
}
.wifi-stage-copy p:not(.eyebrow) {
    max-width: 540px;
    color: #e4ebf3;
    line-height: 1.68;
}
.wifi-stage-call {
    margin-top: 12px;
}
.wifi-room-rail {
    position: absolute;
    right: 34px;
    bottom: 34px;
    left: 34px;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.wifi-room-rail article {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    padding: 20px;
    color: #fff;
    background: rgba(17, 28, 45, 0.76);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 22px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.wifi-room-rail article:hover {
    background: rgba(23, 105, 170, 0.90);
    border-color: rgba(255, 255, 255, 0.36);
    transform: translateY(-6px);
}
.wifi-room-rail article > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 14px;
    font-size: 0.76rem;
    font-weight: 800;
}
.wifi-room-rail h3 {
    margin-bottom: 6px;
    color: #fff;
    font-size: 1rem;
    white-space: nowrap;
}
.wifi-room-rail p {
    margin: 0;
    color: #dce5ef;
    font-size: 0.84rem;
    line-height: 1.52;
}

/* Installation image crop and relevance */
.install-photo {
    min-height: 560px;
}
.install-photo img {
    object-position: 46% center;
}

/* Priority equal-height composition */
.decision-deck {
    align-items: stretch;
}
.decision-deck-copy {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
}
.priority-stack {
    display: grid;
    grid-template-rows: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.priority-stack article {
    min-height: 0;
    height: 100%;
    margin: 0;
}
.priority-stack article:last-child {
    margin-bottom: 0;
}

/* Full-width CTA alignment repair */
.final-cta {
    padding: 0;
}
.final-cta .cta-shell {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 62px max(24px, calc((100vw - var(--container)) / 2));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}
.final-cta .cta-shell > div {
    width: min(620px, 100%);
    padding-left: 0;
}
.final-cta .cta-shell .btn {
    margin: 0;
    justify-self: end;
    white-space: nowrap;
}
.final-cta .cta-shell h2 {
    max-width: 12ch;
}

@media (max-width: 1000px) {
    .home-page .assist-card h2 {
        white-space: normal;
    }
    .story-section .story-media,
    .story-section .story-grid > div {
        min-height: 0;
    }
    .wifi-media-stage {
        min-height: 760px;
    }
    .wifi-stage-copy {
        width: 72%;
    }
    .wifi-room-rail {
        grid-template-columns: 1fr;
    }
    .final-cta .cta-shell {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .final-cta .cta-shell .btn {
        justify-self: start;
    }
}

@media (max-width: 700px) {
    .home-page .hero-copy-no-media h1 {
        max-width: 14ch;
        font-size: clamp(2.05rem, 10.5vw, 3rem);
        line-height: 0.98;
    }
    .home-page .hero-slide {
        background-position: 78% center;
    }
    .wifi-media-stage {
        min-height: 920px;
        border-radius: 26px;
    }
    .wifi-stage-copy {
        width: 100%;
        padding: 38px 28px 0;
    }
    .wifi-stage-copy h2 {
        max-width: 100%;
    }
    .wifi-room-rail {
        right: 20px;
        bottom: 20px;
        left: 20px;
    }
    .final-cta .cta-shell {
        padding: 46px 20px;
        gap: 22px;
    }
    .final-cta .cta-shell .btn {
        width: auto;
        max-width: 100%;
        white-space: nowrap;
    }
}

/* Content-led equal-height safeguard for equipment split */
@media (min-width: 1001px) {
    .story-section .story-media,
    .story-section .story-grid > div {
        min-height: 0;
    }
    .story-section .story-media {
        height: 100%;
    }
}

/* === Home cleanup + Internet redesign pass === */
.home-page .cost-lens-section {
    position: relative;
    overflow: hidden;
    background: #111722;
}
.home-page .cost-lens-section::before {
    position: absolute;
    top: 42px;
    right: 3vw;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(28, 147, 255, 0.26) 0%, rgba(28, 147, 255, 0.10) 34%, transparent 72%);
    content: "";
    pointer-events: none;
}
.home-page .cost-lens-section .container {
    position: relative;
    z-index: 1;
}
.home-page .choice-section .section-copy > p:not(.eyebrow) {
    max-width: 560px;
}
.home-page .wifi-room-planner {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 48px;
    align-items: center;
}
.home-page .wifi-room-copy {
    max-width: 520px;
}
.home-page .wifi-room-copy > p:not(.eyebrow) {
    line-height: 1.72;
}
.home-page .wifi-room-call {
    margin-top: 22px;
    width: fit-content;
}
.home-page .wifi-room-visual {
    position: relative;
    min-height: 560px;
}
.home-page .wifi-room-photo {
    position: absolute;
    inset: 0 0 74px 62px;
    margin: 0;
    overflow: hidden;
    border-radius: 30px 30px 12px 30px;
    box-shadow: 0 28px 60px rgba(18, 24, 34, 0.18);
}
.home-page .wifi-room-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 44%, rgba(17, 23, 34, 0.28));
    content: "";
    pointer-events: none;
}
.home-page .wifi-room-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 780ms cubic-bezier(0.16, 1, 0.3, 1);
}
.home-page .wifi-room-visual:hover .wifi-room-photo img {
    transform: scale(1.04);
}
.home-page .wifi-room-cards {
    position: absolute;
    right: 24px;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.home-page .wifi-room-cards article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    min-height: 136px;
    padding: 20px;
    background: rgba(17, 23, 34, 0.95);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    box-shadow: 0 18px 36px rgba(17, 23, 34, 0.18);
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.home-page .wifi-room-cards article:hover {
    background: var(--blue-deep);
    border-color: var(--blue-deep);
    transform: translateY(-7px);
}
.home-page .wifi-room-cards span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 13px;
    font-weight: 800;
}
.home-page .wifi-room-cards h3,
.home-page .wifi-room-cards p {
    color: #fff;
}
.home-page .wifi-room-cards h3 {
    margin: 1px 0 7px;
    font-size: 1rem;
}
.home-page .wifi-room-cards p {
    margin: 0;
    line-height: 1.55;
    opacity: 0.84;
}
.home-page .decision-deck {
    align-items: stretch;
}
.home-page .decision-deck-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-page .decision-inline-call {
    width: fit-content;
    margin-top: 22px;
    white-space: nowrap;
}
.home-page .priority-stack {
    display: grid;
    align-content: stretch;
}
.home-page .priority-stack article {
    min-height: 0;
}

/* Internet page: unique editorial system */
.internet-page .page-hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,0.12), transparent 24%),
        linear-gradient(135deg, #007eef 0%, #0086ff 68%, #42a5ff 100%);
}
.internet-page .hero-copy-no-media h1 {
    max-width: 13ch;
    line-height: 0.98;
}
.internet-page .assist-card {
    background: rgba(255,255,255,0.94);
}
.internet-page .internet-rhythm {
    padding: 92px 0;
}
.internet-page .rhythm-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 60px;
    align-items: center;
}
.internet-page .rhythm-copy p:not(.eyebrow) {
    max-width: 560px;
    line-height: 1.72;
}
.internet-page .day-rail {
    position: relative;
    display: grid;
    gap: 14px;
}
.internet-page .day-rail::before {
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 29px;
    width: 2px;
    background: linear-gradient(var(--blue-bright), #c6e2f8);
    content: "";
}
.internet-page .day-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.internet-page .day-card:hover {
    border-color: rgba(23, 105, 170,0.24);
    box-shadow: 0 20px 34px rgba(25, 28, 31, 0.11);
    transform: translateX(8px);
}
.internet-page .day-badge {
    position: relative;
    z-index: 1;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border: 6px solid #fff;
    border-radius: 50%;
    box-shadow: 0 8px 18px rgba(23, 105, 170,0.20);
    font-weight: 800;
}
.internet-page .day-card h3 {
    margin-bottom: 6px;
}
.internet-page .day-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}
.internet-page .path-section {
    padding: 0 0 92px;
}
.internet-page .path-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 0;
    overflow: hidden;
    background: #111722;
    border-radius: 32px;
    box-shadow: 0 30px 70px rgba(17,23,34,0.18);
}
.internet-page .path-media {
    margin: 0;
    min-height: 540px;
    overflow: hidden;
}
.internet-page .path-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}
.internet-page .path-shell:hover .path-media img {
    transform: scale(1.04);
}
.internet-page .path-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 46px;
    color: #fff;
}
.internet-page .path-copy h2,
.internet-page .path-copy p {
    color: #fff;
}
.internet-page .path-copy > p:not(.eyebrow) {
    color: #ced5df;
    line-height: 1.7;
}
.internet-page .path-steps {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
}
.internet-page .path-step {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 14px;
}
.internet-page .path-step span {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: #111722;
    background: #fff;
    border-radius: 11px;
    font-weight: 800;
}
.internet-page .factor-section {
    padding: 92px 0;
    background: #f3f9ff;
}
.internet-page .factor-head {
    max-width: 760px;
    margin-bottom: 34px;
}
.internet-page .factor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.internet-page .factor-grid article {
    min-height: 280px;
    padding: 26px;
    background: #fff;
    border: 1px solid rgba(23, 105, 170,0.11);
    border-radius: 24px;
    box-shadow: 0 14px 30px rgba(30, 36, 41, 0.07);
    transition: transform 240ms ease, background-color 240ms ease, color 240ms ease;
}
.internet-page .factor-grid article:hover {
    color: #fff;
    background: #1b2c44;
    transform: translateY(-8px);
}
.internet-page .factor-grid article:hover h3,
.internet-page .factor-grid article:hover p {
    color: #fff;
}
.internet-page .factor-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 28px;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 16px;
}
.internet-page .factor-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.internet-page .factor-grid p {
    color: var(--muted);
    line-height: 1.65;
}
.internet-page .wifi-loss-section {
    padding: 92px 0;
}
.internet-page .wifi-loss-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 42px;
    align-items: stretch;
}
.internet-page .wifi-loss-media {
    position: relative;
    margin: 0;
    overflow: hidden;
    min-height: 520px;
    border-radius: 30px;
    box-shadow: var(--shadow-card);
}
.internet-page .wifi-loss-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.internet-page .wifi-loss-tag {
    position: absolute;
    left: 22px;
    bottom: 22px;
    max-width: 310px;
    padding: 18px 20px;
    color: #fff;
    background: rgba(17,23,34,0.86);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    backdrop-filter: blur(10px);
}
.internet-page .wifi-loss-tag strong {
    display: block;
    margin-bottom: 5px;
}
.internet-page .wifi-loss-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.internet-page .wifi-loss-points {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
}
.internet-page .wifi-loss-points li {
    list-style: none;
    padding: 15px 17px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.internet-page .wifi-loss-points li:hover {
    color: #fff;
    background: #111722;
    transform: translateX(6px);
}
.internet-page .equipment-section {
    padding: 92px 0;
    background: #111722;
    color: #fff;
}
.internet-page .equipment-section h2,
.internet-page .equipment-section p {
    color: #fff;
}
.internet-page .equipment-head {
    max-width: 760px;
}
.internet-page .equipment-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
    margin-top: 34px;
}
.internet-page .equipment-board article {
    min-height: 260px;
    padding: 26px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 22px;
}
.internet-page .equipment-board small {
    display: block;
    margin-bottom: 16px;
    color: #8ac8ff;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.internet-page .equipment-board p {
    color: #cad1dc;
    line-height: 1.65;
}
.internet-page .readiness-section {
    padding: 92px 0;
}
.internet-page .readiness-head {
    max-width: 760px;
    margin-bottom: 34px;
}
.internet-page .readiness-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
}
.internet-page .readiness-row article {
    position: relative;
    padding: 26px 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
}
.internet-page .readiness-row article::after {
    position: absolute;
    top: 50%;
    right: -14px;
    width: 14px;
    height: 2px;
    background: #8ac8ff;
    content: "";
}
.internet-page .readiness-row article:last-child::after {
    display: none;
}
.internet-page .readiness-row b {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 20px;
    color: #fff;
    background: var(--blue-bright);
    border-radius: 12px;
}
.internet-page .readiness-row p {
    color: var(--muted);
    line-height: 1.62;
}
.internet-page .internet-final {
    padding: 0;
}
.internet-page .internet-final .cta-shell {
    border-radius: 30px 30px 0 0;
    background-image: linear-gradient(90deg, rgba(233,244,255,0.94), rgba(233,244,255,0.60), rgba(23, 105, 170,0.12)), url('https://images.unsplash.com/photo-1648737966326-eb0770cec304?auto=format&fit=crop&w=1600&q=82');
}
@media (max-width: 1050px) {
    .internet-page .factor-grid,
    .internet-page .readiness-row {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .internet-page .equipment-board {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .home-page .wifi-room-planner,
    .internet-page .rhythm-grid,
    .internet-page .path-shell,
    .internet-page .wifi-loss-grid {
        grid-template-columns: 1fr;
    }
    .home-page .wifi-room-visual {
        min-height: 630px;
    }
    .home-page .wifi-room-photo {
        inset: 0 0 160px 0;
    }
    .home-page .wifi-room-cards {
        right: 0;
    }
    .internet-page .path-media {
        min-height: 420px;
    }
}
@media (max-width: 700px) {
    .home-page .wifi-room-visual {
        min-height: auto;
    }
    .home-page .wifi-room-photo {
        position: relative;
        inset: auto;
        aspect-ratio: 4 / 3;
        border-radius: 24px;
    }
    .home-page .wifi-room-cards {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        grid-template-columns: 1fr;
        margin-top: 14px;
    }
    .internet-page .factor-grid,
    .internet-page .readiness-row {
        grid-template-columns: 1fr;
    }
    .internet-page .readiness-row article::after {
        display: none;
    }
    .internet-page .path-copy {
        padding: 30px 24px;
    }
    .internet-page .wifi-loss-media {
        min-height: 360px;
    }
}

/* === Global mobile calls + mega menu provider logo refresh === */
.mobile-header-call,
.mobile-sticky-callbar {
    display: none;
}
.mega-menu {
    width: min(680px, calc(100vw - 42px));
    grid-template-columns: 0.78fr 1.72fr;
}
.mega-provider-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.mega-provider {
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    padding: 9px 10px;
}
.mega-provider img {
    width: 42px;
    height: 28px;
    object-fit: contain;
    filter: saturate(0.92);
    transition: transform 180ms ease, filter 180ms ease;
}
.mega-provider:hover img,
.mega-provider.active img {
    filter: saturate(1.08);
    transform: scale(1.05);
}
.mega-provider span {
    white-space: nowrap;
}

/* Home micro refinements */
.home-page .choice-section .section-copy > p:not(.eyebrow) {
    max-width: 545px;
    line-height: 1.68;
}
.home-page .wifi-room-copy {
    max-width: 560px;
}
.home-page .priority-inline-call {
    display: inline-flex;
    width: auto;
    margin-top: 22px;
    white-space: nowrap;
}

/* Internet page refinement */
.internet-page .page-hero {
    padding-bottom: 72px;
}
.internet-page .network-route-wrap {
    display: grid;
    gap: 30px;
}
.internet-page .network-route-head {
    max-width: 780px;
}
.internet-page .network-route-head > p:not(.eyebrow) {
    max-width: 700px;
    line-height: 1.7;
}
.internet-page .network-route-stage {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background: #111722;
    border-radius: 32px;
    box-shadow: 0 30px 70px rgba(17, 23, 34, 0.17);
}
.internet-page .network-route-photo {
    position: absolute;
    inset: 0;
    margin: 0;
}
.internet-page .network-route-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(17, 23, 34, 0.94) 0%, rgba(17, 23, 34, 0.72) 45%, rgba(17, 23, 34, 0.22) 100%);
    content: "";
}
.internet-page .network-route-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 66% center;
    transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}
.internet-page .network-route-stage:hover .network-route-photo img {
    transform: scale(1.035);
}
.internet-page .route-flow {
    position: relative;
    z-index: 2;
    width: min(680px, 58%);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 42px;
}
.internet-page .route-flow article {
    position: relative;
    min-height: 190px;
    padding: 24px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.internet-page .route-flow article:hover {
    background: rgba(23, 105, 170, 0.88);
    border-color: rgba(255, 255, 255, 0.22);
    transform: translateY(-7px);
}
.internet-page .route-flow span {
    display: inline-grid;
    min-width: 40px;
    height: 40px;
    place-items: center;
    margin-bottom: 18px;
    color: #111722;
    background: #fff;
    border-radius: 12px;
    font-weight: 850;
}
.internet-page .route-flow h3 {
    margin-bottom: 8px;
    color: #fff;
}
.internet-page .route-flow p {
    margin: 0;
    color: #d7dde7;
    line-height: 1.6;
}
.internet-page .route-flow article:hover p {
    color: #fff;
}
.internet-page .wifi-loss-points {
    padding-left: 0;
}
.internet-page .wifi-loss-points li {
    margin-left: 0;
    padding-left: 18px;
}
.internet-page .wifi-inline-call {
    display: inline-flex;
    width: fit-content;
    margin-top: 24px;
    white-space: nowrap;
}
.internet-page .factor-grid article {
    position: relative;
}
.internet-page .factor-number,
.internet-page .equipment-number {
    display: inline-grid;
    min-width: 40px;
    height: 40px;
    place-items: center;
    color: var(--blue-deep);
    background: #edf6ff;
    border: 1px solid rgba(23,105,170,0.18);
    border-radius: 12px;
    font-weight: 850;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.internet-page .factor-number {
    position: absolute;
    top: 26px;
    right: 26px;
}
.internet-page .factor-grid article:hover .factor-number {
    color: #111722;
    background: #fff;
    transform: rotate(-5deg) scale(1.05);
}
.internet-page .equipment-board article {
    position: relative;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}
.internet-page .equipment-board article:hover {
    background: rgba(23, 105, 170, 0.16);
    border-color: rgba(90, 177, 255, 0.36);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16);
    transform: translateY(-8px);
}
.internet-page .equipment-number {
    position: absolute;
    top: 22px;
    right: 22px;
    color: #fff;
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.15);
}
.internet-page .equipment-board article:hover .equipment-number {
    color: var(--blue-deep);
    background: #fff;
    transform: scale(1.06);
}
.internet-page .equipment-board article small {
    padding-right: 52px;
}
.internet-page .readiness-row article {
    overflow: hidden;
    transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease, background-color 240ms ease;
}
.internet-page .readiness-row article:hover {
    color: #fff;
    background: #1b2c44;
    border-color: #1b2c44;
    box-shadow: 0 22px 40px rgba(27, 44, 68, 0.16);
    transform: translateY(-7px);
}
.internet-page .readiness-row article:hover h3,
.internet-page .readiness-row article:hover p {
    color: #fff;
}
.internet-page .readiness-row article:hover b {
    color: #1b2c44;
    background: #fff;
    transform: rotate(-5deg) scale(1.05);
}
.internet-page .readiness-row b {
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

@media (max-width: 900px) {
    body {
        padding-bottom: 68px;
    }
    .header-inner {
        gap: 10px;
    }
    .brand img {
        width: 146px;
    }
    .mobile-header-call {
        display: inline-flex;
        min-height: 38px;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        padding: 0 11px;
        color: #fff;
        background: var(--blue);
        border-radius: 10px;
        font-size: 0.76rem;
        font-weight: 800;
        white-space: nowrap;
    }
    .mobile-sticky-callbar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1500;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, 0.97);
        border-top: 1px solid rgba(17, 23, 34, 0.10);
        box-shadow: 0 -12px 28px rgba(17, 23, 34, 0.10);
        backdrop-filter: blur(14px);
    }
    .mobile-sticky-callbar a {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 12px;
        border-radius: 12px;
        font-size: 0.82rem;
        font-weight: 850;
        white-space: nowrap;
    }
    .mobile-sticky-number {
        color: #fff;
        background: var(--blue);
    }
    .mobile-sticky-text {
        color: #fff;
        background: #1b2c44;
    }
    .mega-menu {
        grid-template-columns: 1fr;
    }
    .mega-provider-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .internet-page .network-route-stage {
        min-height: auto;
        padding-top: 340px;
    }
    .internet-page .network-route-photo {
        bottom: auto;
        height: 360px;
    }
    .internet-page .network-route-photo::after {
        background: linear-gradient(180deg, rgba(17, 23, 34, 0.16), rgba(17, 23, 34, 0.86));
    }
    .internet-page .route-flow {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 28px;
    }
}
@media (max-width: 600px) {
    .brand img {
        width: 124px;
    }
    .mobile-header-call {
        min-height: 36px;
        padding-inline: 9px;
        font-size: 0.69rem;
    }
    .menu-toggle {
        width: 40px;
        height: 40px;
    }
    .mega-provider-grid {
        grid-template-columns: 1fr;
    }
    .mega-provider {
        min-height: 52px;
    }
    .internet-page .page-hero {
        padding-bottom: 54px;
    }
    .internet-page .network-route-stage {
        padding-top: 260px;
        border-radius: 24px;
    }
    .internet-page .network-route-photo {
        height: 280px;
    }
    .internet-page .route-flow {
        grid-template-columns: 1fr;
        padding: 22px;
    }
    .internet-page .route-flow article {
        min-height: 0;
    }
}

/* === Refinement v5: Home + Internet + Broadband === */
.home-page .home-feature-strip {
    padding-bottom: 44px;
}
.home-page .choice-section .split-grid {
    align-items: stretch;
}
.home-page .choice-section .section-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-page .choice-section .section-copy > p:not(.eyebrow) {
    max-width: 565px;
}
.home-page .cost-lens-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 44px;
    align-items: stretch;
}
.home-page .cost-lens-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-page .cost-lens-copy > p:not(.eyebrow) {
    max-width: 520px;
    line-height: 1.72;
}
.home-page .cost-inline-call {
    display: inline-flex;
    width: fit-content;
    margin-top: 24px;
    white-space: nowrap;
}
.home-page .cost-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.home-page .cost-rail article {
    min-height: 218px;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, 0.08);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(17, 23, 34, 0.07);
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.home-page .cost-rail article:hover {
    color: #fff;
    background: #1b2c44;
    border-color: #1b2c44;
    box-shadow: 0 22px 44px rgba(17, 23, 34, 0.16);
    transform: translateY(-6px);
}
.home-page .cost-rail article:hover h3,
.home-page .cost-rail article:hover p {
    color: #fff;
}
.home-page .cost-rail .rail-number {
    display: inline-grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 18px;
    color: var(--blue-deep);
    background: #ebf6ff;
    border: 1px solid rgba(23,105,170,0.18);
    border-radius: 12px;
    font-weight: 850;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.home-page .cost-rail article:hover .rail-number {
    color: #1b2c44;
    background: #fff;
    transform: rotate(-5deg) scale(1.05);
}

.internet-page .page-hero .hero-grid {
    align-items: stretch;
}
.internet-page .page-hero .hero-copy-no-media,
.internet-page .page-hero .assist-card {
    height: 100%;
}
.internet-page .page-hero .hero-copy-no-media {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.internet-page .assist-card .blur-word.text-accent {
    color: var(--blue-deep) !important;
}
.internet-page .network-route-stage {
    display: flex;
    align-items: center;
}
.internet-page .route-flow {
    padding-top: 42px;
    padding-bottom: 42px;
}
.internet-page .number-button {
    display: inline-grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    color: var(--blue-deep);
    background: #eaf4ff;
    border: 1px solid rgba(23,105,170,0.18);
    border-radius: 12px;
    font-weight: 850;
    box-shadow: 0 8px 18px rgba(23, 105, 170, 0.10);
}
.internet-page .factor-grid article:hover .number-button,
.internet-page .readiness-row article:hover .number-button {
    color: #1b2c44;
    background: #fff;
}

/* Broadband redesign */
.broadband-page .broadband-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #077fec;
}
.broadband-page .broadband-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(0, 111, 211, 0.95) 0%, rgba(0, 126, 239, 0.86) 48%, rgba(23, 145, 255, 0.55) 100%),
        url('https://images.unsplash.com/photo-1544197150-b99a580bb7a8?auto=format&fit=crop&w=1800&q=82') center/cover no-repeat;
}
.broadband-page .broadband-hero .hero-grid {
    position: relative;
    z-index: 2;
}
.broadband-page .broadband-hero .assist-card .blur-word.text-accent {
    color: var(--blue-deep) !important;
}
.broadband-page .broadband-metrics-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: 46px;
    align-items: center;
}
.broadband-page .broadband-metrics-copy > p:not(.eyebrow) {
    line-height: 1.72;
}
.broadband-page .metric-orbit {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.broadband-page .metric-orbit article {
    min-height: 190px;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, 0.08);
    border-radius: 26px 8px 26px 8px;
    box-shadow: 0 16px 36px rgba(17, 23, 34, 0.08);
    transition: transform 240ms ease, background-color 240ms ease, color 240ms ease, box-shadow 240ms ease;
}
.broadband-page .metric-orbit article:nth-child(even) {
    transform: translateY(22px);
}
.broadband-page .metric-orbit article:hover {
    color: #fff;
    background: #1b2c44;
    box-shadow: 0 24px 46px rgba(17, 23, 34, 0.17);
    transform: translateY(-6px);
}
.broadband-page .metric-orbit article:nth-child(even):hover {
    transform: translateY(14px);
}
.broadband-page .metric-orbit span,
.broadband-page .type-index,
.broadband-page .policy-cards > article > span {
    display: inline-grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 18px;
    color: var(--blue-deep);
    background: #eaf4ff;
    border-radius: 12px;
    font-weight: 850;
}
.broadband-page .metric-orbit strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.08rem;
}
.broadband-page .metric-orbit p {
    margin: 0;
    color: #626d79;
    line-height: 1.62;
}
.broadband-page .metric-orbit article:hover p {
    color: #dce4ef;
}
.broadband-page .broadband-entry {
    padding-top: 44px;
}
.broadband-page .broadband-entry-stage {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    border-radius: 34px;
    background: #111722;
    box-shadow: 0 30px 70px rgba(17, 23, 34, 0.18);
}
.broadband-page .broadband-entry-photo {
    position: absolute;
    inset: 0;
    margin: 0;
}
.broadband-page .broadband-entry-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(17, 23, 34, 0.16), rgba(17, 23, 34, 0.86) 55%, rgba(17, 23, 34, 0.94));
    content: "";
}
.broadband-page .broadband-entry-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.broadband-page .broadband-entry-stage:hover .broadband-entry-photo img {
    transform: scale(1.04);
}
.broadband-page .broadband-entry-panel {
    position: relative;
    z-index: 2;
    width: min(620px, 52%);
    margin-left: auto;
    padding: 64px 52px;
    color: #fff;
}
.broadband-page .broadband-entry-panel h2,
.broadband-page .broadband-entry-panel p {
    color: #fff;
}
.broadband-page .entry-steps {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}
.broadband-page .entry-steps article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 18px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 18px;
    backdrop-filter: blur(10px);
    transition: transform 220ms ease, background-color 220ms ease;
}
.broadband-page .entry-steps article:hover {
    background: rgba(23, 105, 170, 0.82);
    transform: translateX(-7px);
}
.broadband-page .entry-steps b {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #111722;
    background: #fff;
    border-radius: 12px;
}
.broadband-page .entry-steps h3 {
    margin-bottom: 5px;
    color: #fff;
}
.broadband-page .entry-steps p {
    margin: 0;
    color: #d8e0ea;
}
.broadband-page .broadband-types {
    background: #111722;
}
.broadband-page .broadband-types-head {
    max-width: 760px;
    margin-bottom: 34px;
}
.broadband-page .broadband-types-head h2,
.broadband-page .broadband-types-head p {
    color: #fff;
}
.broadband-page .broadband-type-deck {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.broadband-page .broadband-type-deck article {
    min-height: 310px;
    padding: 26px;
    color: #fff;
    background: #1a2434;
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 24px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.broadband-page .broadband-type-deck article:hover {
    background: var(--blue-deep);
    border-color: var(--blue-deep);
    transform: translateY(-8px);
}
.broadband-page .broadband-type-deck h3,
.broadband-page .broadband-type-deck p,
.broadband-page .broadband-type-deck small {
    color: inherit;
}
.broadband-page .broadband-type-deck p {
    line-height: 1.65;
}
.broadband-page .broadband-type-deck small {
    display: block;
    margin-top: 18px;
    opacity: 0.78;
    line-height: 1.5;
}
.broadband-page .broadband-bottleneck-grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 40px;
    align-items: start;
}
.broadband-page .bottleneck-copy {
    position: sticky;
    top: 140px;
}
.broadband-page .bottleneck-copy > p:not(.eyebrow) {
    line-height: 1.72;
}
.broadband-page .bottleneck-matrix {
    display: grid;
    gap: 14px;
}
.broadband-page .bottleneck-matrix article {
    display: grid;
    grid-template-columns: 0.85fr 1fr;
    gap: 8px 20px;
    padding: 24px;
    background: #fff;
    border-left: 5px solid #1769aa;
    box-shadow: 0 14px 30px rgba(17, 23, 34, 0.07);
    transition: transform 220ms ease, box-shadow 220ms ease;
}
.broadband-page .bottleneck-matrix article:hover {
    transform: translateX(8px);
    box-shadow: 0 20px 40px rgba(17, 23, 34, 0.11);
}
.broadband-page .bottleneck-matrix article > span {
    font-weight: 850;
}
.broadband-page .bottleneck-matrix p {
    grid-column: 1 / -1;
    margin: 0;
    color: #67717e;
}
.broadband-page .broadband-coverage {
    background: #f1f8ff;
}
.broadband-page .broadband-coverage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 42px;
    align-items: stretch;
}
.broadband-page .coverage-photo-stack {
    position: relative;
    min-height: 560px;
}
.broadband-page .coverage-photo-stack figure {
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 34px;
}
.broadband-page .coverage-photo-stack img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.broadband-page .coverage-note {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    padding: 20px 22px;
    color: #fff;
    background: rgba(17, 23, 34, 0.84);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    backdrop-filter: blur(12px);
}
.broadband-page .coverage-note strong {
    display: block;
    margin-bottom: 5px;
}
.broadband-page .coverage-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.broadband-page .coverage-checks {
    display: grid;
    gap: 12px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}
.broadband-page .coverage-checks li {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    padding: 18px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, 0.08);
    border-radius: 18px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.broadband-page .coverage-checks li:hover {
    color: #fff;
    background: #1b2c44;
    transform: translateY(-4px);
}
.broadband-page .coverage-checks span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 12px;
    font-weight: 850;
}
.broadband-page .coverage-checks h3 {
    margin-bottom: 5px;
}
.broadband-page .coverage-checks p {
    margin: 0;
    color: #69727e;
}
.broadband-page .coverage-checks li:hover h3,
.broadband-page .coverage-checks li:hover p {
    color: #fff;
}
.broadband-page .policy-head {
    max-width: 760px;
    margin-bottom: 28px;
}
.broadband-page .policy-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.broadband-page .policy-cards article {
    min-height: 250px;
    padding: 26px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, 0.08);
    border-radius: 22px;
    box-shadow: 0 14px 30px rgba(17, 23, 34, 0.07);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.broadband-page .policy-cards article:hover {
    border-color: rgba(23, 105, 170, 0.32);
    box-shadow: 0 22px 42px rgba(17, 23, 34, 0.12);
    transform: translateY(-7px);
}
.broadband-page .broadband-final .cta-shell {
    background-image: linear-gradient(90deg, rgba(220, 238, 255,.94), rgba(220, 238, 255,.76) 40%, rgba(220, 238, 255,.18)), url('https://images.unsplash.com/photo-1691435828932-911a7801adfb?auto=format&fit=crop&w=1800&q=82');
}

@media (max-width: 1000px) {
    .home-page .cost-lens-shell,
    .broadband-page .broadband-metrics-grid,
    .broadband-page .broadband-bottleneck-grid,
    .broadband-page .broadband-coverage-grid {
        grid-template-columns: 1fr;
    }
    .broadband-page .bottleneck-copy {
        position: static;
    }
    .broadband-page .broadband-type-deck {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .broadband-page .broadband-entry-panel {
        width: min(680px, 68%);
    }
}
@media (max-width: 700px) {
    .home-page .home-feature-strip {
        padding-bottom: 30px;
    }
    .home-page .cost-rail,
    .broadband-page .metric-orbit,
    .broadband-page .broadband-type-deck,
    .broadband-page .policy-cards {
        grid-template-columns: 1fr;
    }
    .broadband-page .metric-orbit article:nth-child(even),
    .broadband-page .metric-orbit article:nth-child(even):hover {
        transform: none;
    }
    .broadband-page .broadband-entry-stage {
        min-height: auto;
        padding-top: 300px;
    }
    .broadband-page .broadband-entry-photo {
        height: 330px;
        bottom: auto;
    }
    .broadband-page .broadband-entry-photo::after {
        background: linear-gradient(180deg, rgba(17,23,34,.1), rgba(17,23,34,.88));
    }
    .broadband-page .broadband-entry-panel {
        width: 100%;
        padding: 30px 22px;
    }
    .broadband-page .bottleneck-matrix article {
        grid-template-columns: 1fr;
    }
    .broadband-page .bottleneck-matrix p {
        grid-column: auto;
    }
    .broadband-page .coverage-photo-stack {
        min-height: 420px;
    }
}

/* === Refinement v6: layout containment, mobile callbar, shared inner patterns === */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}
.home-page main,
.home-page main section,
.home-page main .container,
.home-page .split-grid,
.home-page .decision-deck,
.home-page .wifi-room-planner,
.home-page .cost-lens-shell {
    min-width: 0;
    max-width: 100%;
}
.home-page .choice-section .stack-cards article:nth-child(2),
.home-page .choice-section .stack-cards article:nth-child(2):hover,
.home-page .priority-stack article:hover {
    transform: translateY(-4px);
}
.home-page .home-inline-call,
.home-page .priority-inline-call,
.home-page .cost-inline-call {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-self: flex-start;
    white-space: nowrap;
}
.home-page .cost-rail article h3,
.home-page .cost-rail article .cost-card-title {
    color: #141820;
}
.home-page .cost-rail article p,
.home-page .cost-rail article .cost-card-copy {
    color: #66707c;
}
.home-page .cost-rail article:hover h3,
.home-page .cost-rail article:hover .cost-card-title,
.home-page .cost-rail article:hover p,
.home-page .cost-rail article:hover .cost-card-copy {
    color: #fff;
}
.home-page .cost-rail .number-button {
    display: inline-grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    place-items: center;
    color: var(--blue-deep);
    background: #eaf4ff;
    border: 1px solid rgba(23,105,170,0.22);
    border-radius: 13px;
    font-weight: 850;
    box-shadow: 0 7px 18px rgba(23, 105, 170, 0.08);
}

/* Keep Internet hero compact under the assistance card. */
.internet-page .page-hero.inner-standard-hero {
    padding-bottom: 54px;
}
.internet-page .page-hero .assist-card {
    margin-bottom: 0;
}
.internet-page .factor-grid .number-button,
.internet-page .readiness-row .number-button,
.broadband-page .number-button {
    display: inline-grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    padding: 0 10px;
    color: var(--blue-deep);
    background: #eaf4ff;
    border: 1px solid rgba(23,105,170,0.22);
    border-radius: 12px;
    font-weight: 850;
    box-shadow: 0 8px 18px rgba(23, 105, 170, 0.09);
}

/* Shared FAQ + CTA design language for inner pages. */
body:not(.home-page) .faq-section {
    background: #f3f9ff;
}
body:not(.home-page) .faq-section .narrow {
    max-width: 920px;
    text-align: center;
}
body:not(.home-page) .faq-section .faq-list {
    margin-top: 28px;
    text-align: left;
}
body:not(.home-page) .final-cta {
    padding-bottom: 0;
}
body:not(.home-page) .final-cta .cta-shell {
    min-height: 300px;
    border-radius: 30px 30px 0 0;
}
body:not(.home-page) .final-cta .btn {
    white-space: nowrap;
}

/* Broadband hero follows the Internet page composition with its own image treatment. */
.broadband-page .page-hero.inner-standard-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-bottom: 58px;
    background: #007eef;
}
.broadband-page .broadband-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(90deg, rgba(0, 124, 235, 0.96) 0%, rgba(0, 129, 245, 0.88) 46%, rgba(31, 149, 255, 0.58) 100%),
        url('https://images.unsplash.com/photo-1544197150-b99a580bb7a8?auto=format&fit=crop&w=1800&q=82');
    background-size: cover;
    background-position: 72% center;
}
.broadband-page .page-hero .hero-grid {
    position: relative;
    z-index: 2;
    align-items: stretch;
}
.broadband-page .page-hero .hero-copy-no-media,
.broadband-page .page-hero .assist-card {
    height: 100%;
}
.broadband-page .page-hero .assist-card {
    background: rgba(255,255,255,0.93);
    backdrop-filter: blur(10px);
}

/* Track where performance can change: full-width fixed-image stage, no card border. */
.broadband-page .broadband-entry {
    position: relative;
    padding: 0;
    background-image:
        linear-gradient(90deg, rgba(17,23,34,0.78), rgba(17,23,34,0.90)),
        url('https://images.unsplash.com/photo-1683322499436-f4383dd59f5a?auto=format&fit=crop&w=1800&q=82');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.broadband-page .broadband-entry-stage {
    min-height: 600px;
    display: flex;
    align-items: center;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.broadband-page .broadband-entry-photo {
    display: none;
}
.broadband-page .broadband-entry-panel {
    width: min(720px, 62%);
    margin-left: auto;
    padding: 76px 0 76px 54px;
}
.broadband-page .entry-steps {
    gap: 16px;
}
.broadband-page .entry-steps article {
    grid-template-columns: 54px 1fr;
    align-items: start;
    padding: 20px;
    background: rgba(255,255,255,0.09);
    border: 1px solid rgba(255,255,255,0.14);
}
.broadband-page .entry-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(23, 105, 170, 0.24);
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.broadband-page .entry-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.broadband-page .entry-steps article:hover .entry-icon {
    color: var(--blue-deep);
    background: #fff;
    transform: rotate(-5deg) scale(1.05);
}

/* Equal-height bottleneck columns using content, not forced blank space. */
.broadband-page .broadband-bottleneck-grid {
    align-items: stretch;
}
.broadband-page .bottleneck-copy {
    position: static;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.broadband-page .bottleneck-copy > p:not(.eyebrow) {
    max-width: 500px;
}
.broadband-page .bottleneck-matrix {
    grid-template-rows: repeat(4, minmax(0, 1fr));
}
.broadband-page .bottleneck-matrix article {
    min-height: 0;
    align-content: center;
}

/* More reliable sticky phone actions on phones/tablets. */
@media (max-width: 1024px) {
    body {
        padding-bottom: 74px;
    }
    .mobile-sticky-callbar {
        position: fixed !important;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99999;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255,255,255,0.98);
        border-top: 1px solid rgba(17,23,34,0.10);
        box-shadow: 0 -12px 28px rgba(17,23,34,0.14);
        backdrop-filter: blur(14px);
    }
    .mobile-sticky-callbar a {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 12px;
        border-radius: 12px;
        font-size: 0.82rem;
        font-weight: 850;
        text-decoration: none;
        white-space: nowrap;
    }
    .mobile-sticky-number {
        color: #fff;
        background: var(--blue);
    }
    .mobile-sticky-text {
        color: #fff;
        background: #1b2c44;
    }
}
@media (max-width: 700px) {
    .broadband-page .broadband-entry {
        background-attachment: scroll;
    }
    .broadband-page .broadband-entry-stage {
        min-height: auto;
    }
    .broadband-page .broadband-entry-panel {
        width: 100%;
        padding: 52px 0;
    }
    .broadband-page .entry-steps article {
        grid-template-columns: 50px 1fr;
    }
    body:not(.home-page) .final-cta .btn {
        white-space: normal;
        text-align: center;
    }
}

/* === Refinement v7: global title rules, inner hero balance, broadband + bundles === */
/* White assistance cards must keep animated accent words readable on every page. */
.assist-card .blur-word.text-accent,
.assist-card h2 .text-accent {
    color: var(--blue-deep) !important;
}

/* Inner page hero rhythm: equal top/bottom breathing room and content-led equal columns. */
body:not(.home-page) .page-hero {
    padding-top: 64px;
    padding-bottom: 64px;
}
body:not(.home-page) .page-hero .hero-grid {
    align-items: stretch;
}
body:not(.home-page) .page-hero .hero-copy-no-media,
body:not(.home-page) .page-hero .assist-card {
    height: 100%;
}
body:not(.home-page) .page-hero .hero-copy-no-media {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
body:not(.home-page) .page-hero .hero-actions {
    margin-bottom: 0;
}

/* Number labels are intentionally button-like, not plain text badges. */
.internet-page .number-button,
.broadband-page .number-button,
.number-card-section .number-button {
    display: inline-grid;
    width: 46px;
    min-width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border: 1px solid rgba(23, 105, 170, 0.32);
    border-radius: 13px;
    box-shadow: 0 10px 22px rgba(23,105,170,0.18);
    font-weight: 850;
    line-height: 1;
    transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, color 220ms ease;
}
.internet-page .factor-grid article:hover .number-button,
.internet-page .readiness-row article:hover .number-button,
.broadband-page .policy-cards article:hover .number-button {
    color: #111722;
    background: #fff;
    box-shadow: 0 12px 26px rgba(17, 23, 34, 0.14);
    transform: translateY(-2px) rotate(-3deg);
}

/* Broadband banner: same inner-page composition, no background photography. */
.broadband-page .page-hero.inner-standard-hero,
.broadband-page .broadband-hero {
    background: linear-gradient(135deg, #007ef0 0%, #1769aa 56%, #0f8dff 100%);
}
.broadband-page .broadband-hero-media {
    display: none !important;
}
.broadband-page .page-hero .hero-copy-no-media {
    justify-content: center;
}
.broadband-page .page-hero .hero-lead {
    max-width: 690px;
    line-height: 1.66;
}

/* Broadband performance path: crisp fixed image, edge-to-edge treatment. */
.broadband-page .broadband-entry {
    background-image:
        linear-gradient(90deg, rgba(17, 23, 34, 0.82), rgba(17, 23, 34, 0.93)),
        url('https://images.unsplash.com/photo-1682559736721-c2e77ff4c650?auto=format&fit=crop&w=2000&q=88');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.broadband-page .broadband-entry-stage {
    min-height: 620px;
}
.broadband-page .entry-steps article {
    grid-template-columns: 54px 1fr;
}
.broadband-page .entry-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
.broadband-page .entry-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.broadband-page .broadband-bottleneck-grid {
    align-items: stretch;
}
.broadband-page .bottleneck-copy {
    position: static;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
}
.broadband-page .bottleneck-inline-call {
    width: fit-content;
    margin-top: 24px;
    white-space: nowrap;
}
.broadband-page .bottleneck-matrix {
    height: 100%;
}

/* Bundles: strict title rhythm and distinct section system. */
.bundles-page main h1,
.bundles-page main h2 {
    text-wrap: balance;
    line-height: 1.04;
}
.bundles-page .page-hero h1 {
    max-width: 12ch;
}
.bundles-page .scorecard,
.bundles-page .bundle-fit-grid,
.bundles-page .bundle-room-grid {
    align-items: stretch;
}
.bundles-page .scorecard {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 42px;
}
.bundles-page .scorecard > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundles-page .scorecard > .section-call-row {
    grid-column: 1 / -1;
}
.bundles-page .score-grid {
    display: grid;
    gap: 14px;
}
.bundles-page .score-grid article {
    min-height: 0;
}

/* Price timeline: remove shell/card background and border; content creates equal columns. */
.bundles-page .bundle-price-section {
    background: #fff;
}
.bundles-page .bundle-price-section .media-card {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    align-items: stretch;
    gap: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.bundles-page .bundle-price-section .media-card > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 44px 36px 0;
}
.bundles-page .bundle-price-section .media-card > img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: 0;
}
.bundles-page .bundle-price-section .section-call-row {
    grid-column: 1 / -1;
}

/* Redesigned one-bill section. */
.bundle-fit-section {
    background: #f1f8ff;
}
.bundle-fit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 42px;
}
.bundle-fit-photo {
    min-height: 590px;
    margin: 0;
    overflow: hidden;
    border-radius: 32px 8px 32px 8px;
    box-shadow: 0 24px 54px rgba(17,23,34,.12);
}
.bundle-fit-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.bundle-fit-photo:hover img {
    transform: scale(1.045);
}
.bundle-fit-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundle-fit-copy > p:not(.eyebrow) {
    line-height: 1.7;
}
.bundle-fit-points {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}
.bundle-fit-points article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    padding: 17px 18px;
    background: #fff;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 18px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.bundle-fit-points article > span,
.room-equipment-grid article > span,
.bundle-change-rail article > span {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 12px;
    font-weight: 850;
}
.bundle-fit-points article:hover {
    color: #fff;
    background: #1b2c44;
    transform: translateX(6px);
}
.bundle-fit-points article:hover p {
    color: #dce4ef;
}
.bundle-fit-points h3,
.bundle-fit-points p {
    margin: 0;
}
.bundle-fit-points h3 {
    margin-bottom: 4px;
}
.bundle-fit-points p {
    color: #69727e;
}
.bundle-inline-call {
    width: fit-content;
    margin-top: 24px;
}

/* New room-equipment section: split but visually distinct from other site splits. */
.bundle-room-section {
    background: #fff;
}
.bundle-room-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    background: #111722;
    border-radius: 36px;
}
.bundle-room-copy {
    padding: 54px;
    color: #fff;
}
.bundle-room-copy h2,
.bundle-room-copy > p:not(.eyebrow) {
    color: #fff;
}
.bundle-room-copy > p:not(.eyebrow) {
    color: #d6dde7;
    line-height: 1.7;
}
.room-equipment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px;
}
.room-equipment-grid article {
    min-width: 0;
    padding: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    transition: transform 220ms ease, background-color 220ms ease;
}
.room-equipment-grid article:hover {
    background: rgba(23, 105, 170,.86);
    transform: translateY(-5px);
}
.room-equipment-grid h3 {
    margin: 14px 0 6px;
    color: #fff;
    white-space: nowrap;
}
.room-equipment-grid p {
    margin: 0;
    color: #d7dfe9;
    font-size: .9rem;
    line-height: 1.58;
}
.bundle-room-photo {
    min-height: 620px;
    margin: 0;
}
.bundle-room-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* New lifecycle section: horizontal scenario rail. */
.bundle-change-section {
    color: #fff;
    background: #1b2c44;
}
.bundle-change-head {
    max-width: 760px;
    margin-bottom: 32px;
}
.bundle-change-head h2,
.bundle-change-head > p:not(.eyebrow) {
    color: #fff;
}
.bundle-change-head > p:not(.eyebrow) {
    color: #d5deea;
}
.bundle-change-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.bundle-change-rail article {
    min-height: 230px;
    padding: 24px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px 6px 22px 6px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.bundle-change-rail article:hover {
    background: var(--blue-deep);
    border-color: var(--blue-deep);
    transform: translateY(-7px);
}
.bundle-change-rail h3 {
    margin: 18px 0 8px;
    color: #fff;
    white-space: nowrap;
}
.bundle-change-rail p {
    margin: 0;
    color: #d7e0eb;
    line-height: 1.62;
}

/* Strict heading-width guardrails for the updated sections. */
.internet-page .factor-head h2,
.internet-page .readiness-head h2,
.broadband-page .policy-head h2,
.bundles-page .scorecard h2,
.bundles-page .bundle-price-section h2,
.bundles-page .bundle-fit-copy h2,
.bundles-page .bundle-room-copy h2,
.bundles-page .bundle-change-head h2 {
    max-width: 18ch;
}

@media (max-width: 1000px) {
    .bundles-page .scorecard,
    .bundles-page .bundle-price-section .media-card,
    .bundle-fit-grid,
    .bundle-room-grid {
        grid-template-columns: 1fr;
    }
    .bundles-page .bundle-price-section .media-card > div:first-child {
        padding: 0 0 34px;
    }
    .bundles-page .bundle-price-section .media-card > img,
    .bundle-fit-photo,
    .bundle-room-photo {
        min-height: 430px;
    }
    .bundle-change-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .room-equipment-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    body:not(.home-page) .page-hero {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .broadband-page .broadband-entry {
        background-attachment: scroll;
    }
    .bundle-room-copy {
        padding: 34px 22px;
    }
    .bundle-change-rail {
        grid-template-columns: 1fr;
    }
    .bundle-fit-photo,
    .bundle-room-photo,
    .bundles-page .bundle-price-section .media-card > img {
        min-height: 340px;
    }
}

/* === Refinement v8: strict title rhythm, call-card actions, bundle expansion === */
/* Global content rules requested for current and future page work. */
main h1,
main h2 {
    text-wrap: balance;
}
main h3,
main article > strong,
main article > b {
    text-wrap: balance;
}
@media (min-width: 901px) {
    main h1 {
        max-width: 15ch;
    }
    main h2 {
        max-width: 20ch;
    }
    main h3 {
        max-width: 100%;
        white-space: nowrap;
    }
}

/* All fieldless assistance cards: readable animated accent title. */
.assist-card h2 .blur-word.text-accent,
.assist-card h2 .text-accent,
.assist-card .blur-word.text-accent {
    color: var(--blue-deep) !important;
}

/* Balanced inner banners: top and bottom breathing room match. */
body:not(.home-page) .balanced-inner-hero {
    padding-top: 58px;
    padding-bottom: 58px;
}
body:not(.home-page) .balanced-inner-hero .hero-grid {
    align-items: stretch;
}
body:not(.home-page) .balanced-inner-hero .hero-copy-no-media,
body:not(.home-page) .balanced-inner-hero .assist-card {
    align-self: stretch;
}
body:not(.home-page) .balanced-inner-hero .assist-card {
    margin-top: 0;
    margin-bottom: 0;
}

/* Requested phone-number actions inside numbered cards. */
.card-call-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 18px;
    padding: 10px 13px;
    color: #fff;
    background: #111722;
    border: 1px solid #111722;
    border-radius: 11px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.card-call-number:hover,
.card-call-number:focus-visible {
    color: #fff;
    background: var(--blue-deep);
    border-color: var(--blue-deep);
    box-shadow: 0 10px 22px rgba(23, 105, 170, .18);
    transform: translateY(-2px);
}
.internet-page .factor-grid article,
.internet-page .readiness-row article,
.broadband-page .policy-cards article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.internet-page .factor-grid article .card-call-number,
.internet-page .readiness-row article .card-call-number,
.broadband-page .policy-cards article .card-call-number {
    margin-top: auto;
    padding-top: 10px;
}

/* Broadband: no image in hero, content creates equal column height. */
.broadband-page .page-hero,
.broadband-page .page-hero.inner-standard-hero,
.broadband-page .broadband-hero {
    background-image: none !important;
    background: linear-gradient(135deg, #007ff2 0%, #1769aa 58%, #1892ff 100%) !important;
}
.broadband-page .page-hero .hero-grid {
    align-items: stretch;
}
.broadband-page .page-hero .hero-copy-no-media {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.broadband-page .page-hero .hero-lead {
    max-width: 700px;
    line-height: 1.67;
}

/* Crisp full-width broadband network image with a dark second-colour overlay. */
.broadband-page .broadband-entry {
    border: 0;
    border-radius: 0;
    background-image:
        linear-gradient(90deg, rgba(27, 44, 68, .90), rgba(17, 23, 34, .82)),
        url('https://images.unsplash.com/photo-1594915440248-1e419eba6611?auto=format&fit=crop&w=2200&q=90');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.broadband-page .broadband-entry-stage {
    width: min(1180px, calc(100% - 40px));
    min-height: 620px;
    margin-inline: auto;
}

/* Bundle hero and split sections: equal columns through content, not fake spacing. */
.bundles-page .page-hero .hero-grid,
.bundles-page .scorecard,
.bundles-page .bundle-price-section .media-card,
.bundles-page .bundle-fit-grid,
.bundles-page .bundle-room-grid,
.bundles-page .bundle-value-grid {
    align-items: stretch;
}
.bundles-page .page-hero .hero-copy-no-media {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundles-page .scorecard > div:first-child,
.bundles-page .bundle-price-section .media-card > div:first-child,
.bundle-fit-copy,
.bundle-value-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundles-page .score-grid {
    height: 100%;
}
.bundles-page .score-grid article {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Price timeline: deliberately frameless, with equal image/content height. */
.bundles-page .bundle-price-section,
.bundles-page .bundle-price-clean {
    background: transparent;
    border: 0;
}
.bundles-page .bundle-price-section .media-card,
.bundles-page .bundle-price-clean .media-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.bundles-page .bundle-price-section .media-card > img {
    min-height: 0;
    height: 100%;
    object-fit: cover;
}

/* New bundle value section: asymmetrical comparison board, unique to Bundles. */
.bundle-value-section {
    background: #f1f8ff;
}
.bundle-value-grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    gap: 42px;
}
.bundle-value-copy > p:not(.eyebrow) {
    max-width: 540px;
    line-height: 1.7;
}
.bundle-value-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}
.bundle-value-cards article {
    position: relative;
    min-width: 0;
    padding: 28px 22px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, .08);
    border-radius: 24px 8px 24px 8px;
    box-shadow: 0 16px 36px rgba(17, 23, 34, .06);
    transition: transform 240ms ease, background-color 240ms ease, color 240ms ease, box-shadow 240ms ease;
}
.bundle-value-cards article:nth-child(2) {
    transform: translateY(22px);
}
.bundle-value-cards article:hover {
    color: #fff;
    background: #1b2c44;
    box-shadow: 0 24px 44px rgba(17, 23, 34, .16);
    transform: translateY(-6px);
}
.bundle-value-cards article:nth-child(2):hover {
    transform: translateY(16px);
}
.bundle-value-cards span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 12px;
    font-weight: 850;
}
.bundle-value-cards h3 {
    margin: 26px 0 10px;
}
.bundle-value-cards p {
    margin: 0;
    color: #67717d;
    line-height: 1.65;
}
.bundle-value-cards article:hover p {
    color: #dce4ef;
}

/* New future-flexibility section: full-bleed image stage with overlay panel. */
.bundle-switch-section {
    background: #111722;
}
.bundle-switch-wrap {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    border-radius: 34px;
}
.bundle-switch-photo {
    position: absolute;
    inset: 0;
    margin: 0;
}
.bundle-switch-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(17,23,34,.90), rgba(17,23,34,.66) 48%, rgba(17,23,34,.28));
    content: "";
}
.bundle-switch-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bundle-switch-copy {
    position: relative;
    z-index: 2;
    width: min(620px, 100%);
    min-height: 620px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px;
    color: #fff;
}
.bundle-switch-copy h2,
.bundle-switch-copy > p:not(.eyebrow) {
    color: #fff;
}
.bundle-switch-copy > p:not(.eyebrow) {
    color: #dce4ef;
    line-height: 1.7;
}
.bundle-switch-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
.bundle-switch-points article {
    padding: 18px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    transition: transform 220ms ease, background-color 220ms ease;
}
.bundle-switch-points article:hover {
    background: rgba(23, 105, 170,.88);
    transform: translateY(-5px);
}
.bundle-switch-points h3 {
    margin: 0 0 6px;
    color: #fff;
}
.bundle-switch-points p {
    margin: 0;
    color: #e7edf5;
    font-size: .9rem;
    line-height: 1.55;
}

/* Responsive transformation for new structures. */
@media (max-width: 1000px) {
    .bundle-value-grid {
        grid-template-columns: 1fr;
    }
    .bundle-value-cards article:nth-child(2),
    .bundle-value-cards article:nth-child(2):hover {
        transform: none;
    }
    .bundle-switch-wrap,
    .bundle-switch-copy {
        min-height: 560px;
    }
}
@media (max-width: 760px) {
    main h3 {
        white-space: normal;
    }
    body:not(.home-page) .balanced-inner-hero {
        padding-top: 46px;
        padding-bottom: 46px;
    }
    .card-call-number {
        width: 100%;
    }
    .broadband-page .broadband-entry {
        background-attachment: scroll;
    }
    .bundle-value-cards,
    .bundle-switch-points {
        grid-template-columns: 1fr;
    }
    .bundle-switch-wrap {
        border-radius: 24px;
    }
    .bundle-switch-copy {
        min-height: 620px;
        padding: 34px 24px;
    }
}

/* === Refinement v9: mobile callbar, strict inner banners, bundles + providers === */
/* Keep inner hero content natural: equal rhythm without stretching the assistance card. */
.internet-page .balanced-inner-hero .hero-grid,
.broadband-page .balanced-inner-hero .hero-grid,
.bundles-page .balanced-inner-hero .hero-grid,
.providers-page .balanced-inner-hero .hero-grid {
    align-items: center;
}
.internet-page .balanced-inner-hero .hero-copy-no-media,
.broadband-page .balanced-inner-hero .hero-copy-no-media,
.bundles-page .balanced-inner-hero .hero-copy-no-media,
.providers-page .balanced-inner-hero .hero-copy-no-media,
.internet-page .balanced-inner-hero .assist-card,
.broadband-page .balanced-inner-hero .assist-card,
.bundles-page .balanced-inner-hero .assist-card,
.providers-page .balanced-inner-hero .assist-card {
    align-self: center;
    height: auto;
}
.internet-page .balanced-inner-hero,
.broadband-page .balanced-inner-hero,
.bundles-page .balanced-inner-hero,
.providers-page .balanced-inner-hero {
    padding-top: 58px;
    padding-bottom: 58px;
}
.internet-page .hero-lead,
.broadband-page .hero-lead,
.bundles-page .hero-lead,
.providers-page .hero-lead {
    max-width: 660px;
    line-height: 1.65;
}
.assist-card h2 {
    max-width: 100%;
    font-size: clamp(1.08rem, 1.55vw, 1.56rem);
    line-height: 1.18;
    white-space: nowrap;
}
.assist-card h2 .blur-word {
    white-space: nowrap;
}

/* Requested full-width call actions in numbered inner-page blocks. */
.card-call-full,
.internet-page .factor-grid .card-call-number,
.internet-page .readiness-row .card-call-number,
.broadband-page .policy-cards .card-call-number {
    width: 100%;
    margin-top: 20px;
}

/* Bundle room section: full-width visual band, no rounded outer frame. */
.bundles-page .bundle-room-section {
    width: 100%;
    background: #edf6ff;
    border: 0;
    border-radius: 0;
}
.bundles-page .bundle-room-grid {
    align-items: stretch;
}
.bundles-page .bundle-room-copy,
.bundles-page .bundle-room-photo {
    height: 100%;
}
.bundles-page .bundle-room-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundles-page .bundle-room-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 0;
}
.bundles-page .bundle-room-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Keep bundle CTAs with their content instead of floating at the bottom of the whole grid. */
.bundles-page .scorecard > div:first-child,
.bundles-page .bundle-price-section .media-card > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundles-page .scorecard .section-call-row,
.bundles-page .bundle-price-section .section-call-row {
    margin-top: 24px;
    margin-bottom: 0;
}
.bundles-page .scorecard .section-call,
.bundles-page .bundle-price-section .section-call {
    width: fit-content;
}
.bundles-page .scorecard,
.bundles-page .bundle-price-section .media-card {
    align-items: stretch;
}
.bundles-page .score-grid {
    height: 100%;
}
.bundles-page .bundle-price-section .media-card > img {
    height: 100%;
    min-height: 100%;
    object-fit: cover;
}

/* Redesigned bundle value audit: asymmetric ledger, unique to Bundles. */
.bundle-audit-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 44px;
    align-items: stretch;
}
.bundle-audit-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bundle-audit-copy > p:not(.eyebrow) {
    max-width: 520px;
    line-height: 1.7;
}
.bundle-audit-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.bundle-audit-board article {
    min-width: 0;
    padding: 26px;
    background: #fff;
    border: 1px solid rgba(17, 23, 34, .08);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(17, 23, 34, .06);
    transition: transform 240ms ease, background-color 240ms ease, color 240ms ease, box-shadow 240ms ease;
}
.bundle-audit-board .audit-main {
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #1b2c44;
    color: #fff;
}
.bundle-audit-board article:hover {
    transform: translateY(-6px);
    background: var(--blue);
    color: #fff;
    box-shadow: 0 22px 42px rgba(17, 23, 34, .14);
}
.bundle-audit-board span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 12px;
    background: #edf6ff;
    color: var(--blue-deep);
    font-weight: 850;
}
.bundle-audit-board .audit-main span {
    background: var(--blue);
    color: #fff;
}
.bundle-audit-board h3 {
    margin: 0 0 9px;
}
.bundle-audit-board p {
    margin: 0;
    color: #67717d;
    line-height: 1.62;
}
.bundle-audit-board .audit-main p,
.bundle-audit-board article:hover p {
    color: #edf3fb;
}

/* Redesigned future-change section: stepped rail rather than another image split. */
.bundle-switch-section {
    background: #111722;
}
.bundle-future-wrap {
    display: grid;
    gap: 30px;
}
.bundle-future-head {
    max-width: 700px;
}
.bundle-future-head h2,
.bundle-future-head > p:not(.eyebrow) {
    color: #fff;
}
.bundle-future-head > p:not(.eyebrow) {
    color: #d7dfeb;
}
.bundle-future-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}
.bundle-future-track article {
    position: relative;
    min-width: 0;
    min-height: 220px;
    padding: 24px;
    color: #fff;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.bundle-future-track article:nth-child(even) {
    transform: translateY(24px);
}
.bundle-future-track article:hover {
    transform: translateY(-6px);
    background: rgba(23, 105, 170,.92);
    border-color: rgba(255,255,255,.18);
}
.bundle-future-track article:nth-child(even):hover {
    transform: translateY(18px);
}
.bundle-future-track span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 22px;
    color: #111722;
    background: #fff;
    border-radius: 12px;
    font-weight: 850;
}
.bundle-future-track h3 {
    margin: 0 0 8px;
    color: #fff;
}
.bundle-future-track p {
    margin: 0;
    color: #d7dfeb;
    line-height: 1.6;
}
.bundle-future-track article:hover p {
    color: #fff;
}
.bundle-future-call {
    width: fit-content;
    margin-top: 4px;
}

/* Providers page redesign. */
.providers-page .providers-hero {
    background: linear-gradient(135deg, #007ff2 0%, #1769aa 58%, #1d94ff 100%);
}
.providers-roster-section {
    background: #fff;
}
.providers-roster-wrap {
    display: grid;
    gap: 30px;
}
.providers-roster-head {
    max-width: 720px;
}
.providers-logo-ledger {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.providers-logo-ledger article {
    display: grid;
    grid-template-columns: 118px 1fr 42px;
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(17,23,34,.05);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.providers-logo-ledger article:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 170,.28);
    box-shadow: 0 20px 38px rgba(17,23,34,.09);
}
.providers-logo-ledger img {
    width: 112px;
    height: 54px;
    object-fit: contain;
}
.providers-logo-ledger h3 {
    margin: 0 0 5px;
}
.providers-logo-ledger p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}
.providers-logo-ledger > article > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: var(--blue-deep);
    background: #edf6ff;
    font-weight: 850;
}
.providers-address-section {
    background: #f1f8ff;
}
.providers-address-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: 44px;
    align-items: stretch;
}
.providers-address-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 32px 8px 32px 8px;
    box-shadow: var(--shadow-card);
}
.providers-address-photo img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.providers-address-photo:hover img {
    transform: scale(1.045);
}
.providers-address-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.providers-address-points {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}
.providers-address-points article {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 16px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.providers-address-points article:hover {
    color: #fff;
    background: #1b2c44;
    transform: translateX(7px);
}
.providers-address-points span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 12px;
    font-weight: 850;
}
.providers-address-points h3 {
    margin: 0 0 4px;
}
.providers-address-points p {
    margin: 0;
    color: #68727e;
    line-height: 1.55;
}
.providers-address-points article:hover p {
    color: #dbe3ed;
}
.providers-inline-call {
    width: fit-content;
    margin-top: 22px;
}
.providers-rules-section {
    background: #111722;
}
.providers-rules-head {
    max-width: 760px;
}
.providers-rules-head h2,
.providers-rules-head > p:not(.eyebrow) {
    color: #fff;
}
.providers-rules-head > p:not(.eyebrow) {
    color: #d7dfeb;
}
.providers-rule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}
.providers-rule-grid article {
    min-width: 0;
    padding: 24px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    transition: transform 220ms ease, background-color 220ms ease;
}
.providers-rule-grid article:hover {
    background: var(--blue);
    transform: translateY(-7px);
}
.providers-rule-grid span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 20px;
    color: #111722;
    background: #fff;
    border-radius: 12px;
    font-weight: 850;
}
.providers-rule-grid h3 {
    margin: 0 0 8px;
    color: #fff;
}
.providers-rule-grid p {
    margin: 0;
    color: #d7dfeb;
}
.providers-rule-grid article:hover p {
    color: #fff;
}
.providers-shortlist-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 46px;
    align-items: center;
}
.providers-shortlist {
    display: grid;
    gap: 12px;
}
.providers-shortlist article {
    display: grid;
    grid-template-columns: 50px 1fr;
    column-gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(17,23,34,.05);
}
.providers-shortlist b {
    grid-row: span 2;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 14px;
}
.providers-shortlist h3,
.providers-shortlist p {
    margin: 0;
}
.providers-shortlist p {
    color: var(--muted);
}
.providers-final .cta-shell {
    background-image: linear-gradient(90deg, rgba(233,244,255,.96), rgba(233,244,255,.80) 46%, rgba(23, 105, 170,.18)), url('https://images.unsplash.com/photo-1476703993599-0035a21b17a9?auto=format&fit=crop&w=1600&q=84');
    background-size: cover;
    background-position: center 42%;
}

/* Mobile floating call actions: force visible above browser chrome and every page. */
@media (max-width: 1024px) {
    html {
        overflow-x: hidden;
    }
    body {
        overflow-x: hidden;
        padding-bottom: 92px !important;
    }
    html body .mobile-sticky-callbar {
        position: fixed !important;
        inset: auto 10px calc(10px + env(safe-area-inset-bottom)) 10px !important;
        z-index: 2147483000 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: auto !important;
        min-height: 62px;
        padding: 8px !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translate3d(0,0,0) !important;
        background: rgba(255,255,255,.98) !important;
        border: 1px solid rgba(17,23,34,.10) !important;
        border-radius: 18px !important;
        box-shadow: 0 16px 42px rgba(17,23,34,.22) !important;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }
    html body .mobile-sticky-callbar a {
        min-width: 0;
        min-height: 46px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 12px;
        font-size: .82rem;
        font-weight: 850;
        line-height: 1.1;
        text-align: center;
        white-space: nowrap;
    }
}

@media (max-width: 1000px) {
    .bundle-audit-grid,
    .providers-address-grid,
    .providers-shortlist-grid {
        grid-template-columns: 1fr;
    }
    .bundle-future-track,
    .providers-rule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .providers-logo-ledger {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .assist-card h2 {
        font-size: clamp(1.02rem, 5.2vw, 1.3rem);
    }
    .bundle-audit-board,
    .bundle-future-track,
    .providers-rule-grid {
        grid-template-columns: 1fr;
    }
    .bundle-audit-board .audit-main {
        grid-row: auto;
    }
    .bundle-future-track article:nth-child(even),
    .bundle-future-track article:nth-child(even):hover {
        transform: none;
    }
    .providers-logo-ledger article {
        grid-template-columns: 92px 1fr 38px;
        padding: 16px;
    }
    .providers-logo-ledger img {
        width: 86px;
    }
    .providers-address-points article:hover {
        transform: translateY(-4px);
    }
}

/* === Refinement v10: compact assistance cards, reliable mobile dock, Bundles/Providers/Availability === */
:root {
    --mobile-dock-height: 72px;
}

/* Inner banners: content-led height; assistance card never stretches below its content. */
body:not(.home-page) .page-hero .hero-grid,
body:not(.home-page) .balanced-inner-hero .hero-grid {
    align-items: center !important;
}
body:not(.home-page) .page-hero .hero-copy-no-media,
body:not(.home-page) .balanced-inner-hero .hero-copy-no-media {
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
}
body:not(.home-page) .page-hero .assist-card,
body:not(.home-page) .balanced-inner-hero .assist-card {
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 28px !important;
}
body:not(.home-page) .page-hero .assist-card > :first-child {
    margin-top: 0 !important;
}
body:not(.home-page) .page-hero .assist-card > :last-child {
    margin-bottom: 0 !important;
}
body:not(.home-page) .page-hero .assist-card h2 {
    width: 100%;
    max-width: none !important;
    margin: 0 0 12px;
    font-size: clamp(1.05rem, 1.45vw, 1.45rem);
    line-height: 1.15;
    white-space: nowrap !important;
}
body:not(.home-page) .page-hero .assist-card h2 .blur-word {
    white-space: nowrap !important;
}
body:not(.home-page) .page-hero .hero-lead {
    display: -webkit-box;
    max-width: 650px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-height: 1.65;
}

/* Final CTA title accent: always visible on every completed page. */
.final-cta .cta-shell h2 {
    max-width: 18ch !important;
    line-height: 1.05;
    text-wrap: balance;
}
.final-cta .cta-shell h2 .blur-word.text-accent,
.final-cta .cta-shell h2 .text-accent {
    color: var(--blue-deep) !important;
}

/* Bundles: room section is a true full-width band, without an outer rounded shell. */
.bundles-page .bundle-room-section {
    width: 100%;
    padding-inline: 0;
    background: #111722;
    border: 0 !important;
    border-radius: 0 !important;
}
.bundles-page .bundle-room-section > .container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}
.bundles-page .bundle-room-grid {
    width: 100%;
    max-width: none;
    overflow: hidden;
    border: 0 !important;
    border-radius: 0 !important;
    background: #111722;
}
.bundles-page .bundle-room-copy {
    padding-left: max(54px, calc((100vw - 1180px) / 2));
}
.bundles-page .bundle-room-photo {
    border-radius: 0 !important;
}

/* Removed fourth audit card leaves a deliberate 3-card ledger. */
.bundle-audit-board {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}
.bundle-audit-board .audit-main {
    grid-row: span 2;
}

/* Future-change cards now use designed line icons, not number placeholders. */
.bundle-future-icon {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    place-items: center;
    margin-bottom: 22px;
    color: var(--blue-deep) !important;
    background: #fff !important;
    border-radius: 14px !important;
}
.bundle-future-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Provider comparison rule cards: full-width phone action. */
.providers-rule-grid article {
    display: flex;
    flex-direction: column;
}
.providers-rule-grid .provider-rule-call {
    width: 100%;
    margin-top: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    color: #111722;
    background: #fff;
    border-color: #fff;
    white-space: nowrap;
}
.providers-rule-grid article:hover .provider-rule-call {
    color: var(--blue-deep);
}
.providers-page .faq-section .narrow > .eyebrow,
.providers-page .faq-section .narrow > h2 {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

/* Service Availability: original page-specific visual system. */
.availability-page .availability-hero {
    background:
        radial-gradient(circle at 83% 18%, rgba(255,255,255,.13), transparent 24%),
        linear-gradient(135deg, #007ff1 0%, #0086ff 66%, #40a4ff 100%);
}
.availability-page .availability-hero h1 {
    max-width: 12ch;
}
.availability-address-section {
    background: #fff;
}
.availability-address-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 56px;
    align-items: stretch;
}
.availability-address-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.availability-address-copy > p:not(.eyebrow) {
    max-width: 540px;
    line-height: 1.72;
}
.availability-inline-call {
    width: fit-content;
    margin-top: 24px;
    white-space: nowrap;
}
.address-proof-stack {
    display: grid;
    gap: 12px;
}
.address-proof-stack article {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: start;
    padding: 22px;
    background: #f1f8ff;
    border: 1px solid rgba(23,105,170,.12);
    border-radius: 20px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}
.address-proof-stack article:hover {
    color: #fff;
    background: #1b2c44;
    box-shadow: 0 18px 40px rgba(17,23,34,.13);
    transform: translateX(-7px);
}
.address-proof-stack span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 15px;
    font-weight: 850;
}
.address-proof-stack h3,
.address-proof-stack p {
    margin: 0;
}
.address-proof-stack h3 {
    margin-bottom: 5px;
}
.address-proof-stack p {
    color: #66717f;
    line-height: 1.55;
}
.address-proof-stack article:hover p {
    color: #dce4ee;
}

.availability-property-section {
    background: #f1f8ff;
}
.availability-property-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 44px;
    align-items: stretch;
}
.availability-property-photo {
    min-height: 590px;
    margin: 0;
    overflow: hidden;
    border-radius: 8px 34px 8px 34px;
    box-shadow: 0 26px 58px rgba(17,23,34,.12);
}
.availability-property-photo img,
.availability-visit-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.availability-property-photo:hover img,
.availability-visit-photo:hover img {
    transform: scale(1.045);
}
.availability-property-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.property-access-list {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}
.property-access-list article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 16px;
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.property-access-list article:hover {
    transform: translateX(7px);
    border-color: rgba(23, 105, 170,.28);
    box-shadow: 0 14px 30px rgba(17,23,34,.08);
}
.property-access-list span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: var(--blue-deep);
    background: #eaf4ff;
    border-radius: 13px;
}
.property-access-list svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.property-access-list h3,
.property-access-list p {
    margin: 0;
}
.property-access-list p {
    margin-top: 4px;
    color: var(--muted);
}

.availability-layers-section {
    background: #111722;
}
.availability-layers-head {
    max-width: 720px;
}
.availability-layers-head h2,
.availability-layers-head > p:not(.eyebrow) {
    color: #fff;
}
.availability-layers-head > p:not(.eyebrow) {
    color: #d6deea;
}
.availability-layers-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-top: 32px;
}
.availability-layers-grid article {
    min-width: 0;
    padding: 24px;
    color: #fff;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    transition: transform 220ms ease, background-color 220ms ease;
}
.availability-layers-grid article:hover {
    background: var(--blue);
    transform: translateY(-7px);
}
.availability-layers-grid b {
    display: inline-grid;
    min-width: 40px;
    height: 40px;
    place-items: center;
    margin-bottom: 22px;
    color: #111722;
    background: #fff;
    border-radius: 12px;
}
.availability-layers-grid h3 {
    margin: 0 0 8px;
    color: #fff;
}
.availability-layers-grid p {
    margin: 0;
    color: #d7dfeb;
    line-height: 1.58;
}
.availability-layers-grid article:hover p {
    color: #fff;
}

.availability-visit-section {
    background: #fff;
}
.availability-visit-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 42px;
    align-items: stretch;
}
.availability-visit-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.visit-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}
.visit-chips span {
    padding: 10px 13px;
    color: #1b2c44;
    background: #edf6ff;
    border: 1px solid rgba(23,105,170,.14);
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 750;
}
.availability-visit-photo {
    min-height: 520px;
    margin: 0;
    overflow: hidden;
    border-radius: 30px 30px 8px 30px;
    box-shadow: var(--shadow-card);
}
.availability-faq .narrow > .eyebrow,
.availability-faq .narrow > h2 {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.availability-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.96), rgba(233,244,255,.82) 44%, rgba(23, 105, 170,.18)),
        url('https://images.unsplash.com/photo-1604223711311-ed891085400f?auto=format&fit=crop&w=1800&q=84');
    background-size: cover;
    background-position: center 46%;
}

/* Clean mobile call dock: one implementation, independent of older callbar rules. */
.mobile-call-dock {
    display: none;
}
@media (max-width: 1024px) {
    body {
        padding-bottom: calc(var(--mobile-dock-height) + env(safe-area-inset-bottom) + 14px) !important;
    }
    .mobile-call-dock {
        position: fixed !important;
        right: 10px !important;
        bottom: calc(10px + env(safe-area-inset-bottom)) !important;
        left: 10px !important;
        z-index: 2147483640 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        min-height: var(--mobile-dock-height);
        padding: 8px;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        background: rgba(255,255,255,.98);
        border: 1px solid rgba(17,23,34,.11);
        border-radius: 18px;
        box-shadow: 0 16px 48px rgba(17,23,34,.24);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }
    .mobile-call-dock a {
        display: flex;
        min-width: 0;
        min-height: 52px;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 12px;
        font-size: .84rem;
        font-weight: 850;
        line-height: 1.1;
        text-align: center;
        white-space: nowrap;
    }
    .mobile-call-number {
        color: #fff;
        background: var(--blue);
    }
    .mobile-call-text {
        color: #fff;
        background: #1b2c44;
    }
}

@media (max-width: 1000px) {
    .availability-address-grid,
    .availability-property-grid,
    .availability-visit-grid {
        grid-template-columns: 1fr;
    }
    .availability-layers-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .availability-property-photo,
    .availability-visit-photo {
        min-height: 420px;
    }
}
@media (max-width: 760px) {
    body:not(.home-page) .page-hero .assist-card h2 {
        font-size: clamp(.96rem, 4.6vw, 1.14rem);
    }
    .bundles-page .bundle-room-copy {
        padding: 34px 22px;
    }
    .availability-layers-grid {
        grid-template-columns: 1fr;
    }
    .availability-property-photo,
    .availability-visit-photo {
        min-height: 330px;
    }
    .address-proof-stack article:hover,
    .property-access-list article:hover {
        transform: translateY(-4px);
    }
}

/* === Refinement v11: mobile dock hardening, bundle fixes, About redesign === */

/* Mobile dock: highest practical stacking level and no dependency on page markup. */
.mobile-call-dock {
    display: none;
}
@media (max-width: 1024px) {
    html,
    body {
        overflow-x: hidden;
    }
    body {
        padding-bottom: 96px !important;
    }
    html body .mobile-call-dock {
        position: fixed !important;
        right: 10px !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        left: 10px !important;
        z-index: 2147483647 !important;
        display: flex !important;
        gap: 8px !important;
        width: auto !important;
        min-height: 68px !important;
        padding: 8px !important;
        align-items: stretch;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
        isolation: isolate;
        background: rgba(255, 255, 255, 0.985) !important;
        border: 1px solid rgba(17, 23, 34, 0.12) !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 48px rgba(17, 23, 34, 0.28) !important;
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    html body .mobile-call-dock a {
        display: flex !important;
        flex: 1 1 0;
        min-width: 0;
        min-height: 52px;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 12px;
        font-size: 0.84rem;
        font-weight: 850;
        line-height: 1.05;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
    }
    html body .mobile-call-number {
        color: #fff !important;
        background: var(--blue) !important;
    }
    html body .mobile-call-text {
        color: #fff !important;
        background: #1b2c44 !important;
    }
}

/* Bundles: lifecycle section stays light, readable, and action-led. */
.bundles-page .bundle-change-section {
    color: var(--ink);
    background: #fff;
}
.bundles-page .bundle-change-head h2,
.bundles-page .bundle-change-head > p:not(.eyebrow) {
    color: var(--ink);
}
.bundles-page .bundle-change-head > p:not(.eyebrow) {
    color: var(--muted);
}
.bundles-page .bundle-change-rail article {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    padding: 24px;
    background: #fffaf6;
    border: 1px solid rgba(23, 105, 170, 0.16);
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(17, 23, 34, 0.06);
}
.bundles-page .bundle-change-rail article:hover {
    color: #fff;
    background: #1b2c44;
    border-color: #1b2c44;
    transform: translateY(-6px);
}
.bundles-page .bundle-change-rail h3 {
    margin: 18px 0 8px;
    color: var(--ink);
    white-space: nowrap;
}
.bundles-page .bundle-change-rail p {
    margin: 0;
    color: var(--muted);
    line-height: 1.62;
}
.bundles-page .bundle-change-rail article:hover h3,
.bundles-page .bundle-change-rail article:hover p {
    color: #fff;
}
.bundle-change-icon {
    display: grid !important;
    width: 48px !important;
    height: 48px !important;
    place-items: center;
    margin: 0 !important;
    color: var(--blue-deep) !important;
    background: #fff !important;
    border: 1px solid rgba(23, 105, 170, 0.16);
    border-radius: 14px !important;
}
.bundle-change-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bundle-change-call {
    width: 100%;
    margin-top: auto;
    padding: 12px 14px;
    white-space: nowrap;
}
.bundles-page .bundle-change-rail article:hover .bundle-change-call {
    color: var(--blue-deep);
    background: #fff;
    border-color: #fff;
}

/* Provider rule CTAs need breathing room above the button. */
.providers-rule-grid .provider-rule-call {
    margin-top: 20px !important;
}

/* Service Availability: use a visitor-at-home image, not an unrelated building exterior. */
.availability-property-photo img {
    object-position: center 44%;
}

/* About page: unique editorial system. */
.about-page .about-hero {
    background:
        radial-gradient(circle at 82% 16%, rgba(255, 255, 255, 0.13), transparent 23%),
        linear-gradient(135deg, #007ff2 0%, #0086ff 62%, #40a4ff 100%);
}
.about-page .about-hero h1 {
    max-width: 10.5ch;
}
.about-decision-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 48px;
    align-items: stretch;
}
.about-decision-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.about-decision-copy h2,
.about-boundaries-head h2,
.about-callflow-intro h2,
.about-transparency-copy h2 {
    max-width: 16ch;
}
.about-decision-copy > p:not(.eyebrow),
.about-boundaries-head > p:not(.eyebrow),
.about-callflow-intro > p:not(.eyebrow),
.about-transparency-copy > p:not(.eyebrow) {
    max-width: 62ch;
    color: var(--muted);
    line-height: 1.68;
}
.about-question-stack {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}
.about-question-stack article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: start;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(17, 23, 34, 0.05);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.about-question-stack article:hover {
    transform: translateY(-4px);
    border-color: rgba(23, 105, 170, 0.24);
    box-shadow: 0 18px 34px rgba(17, 23, 34, 0.09);
}
.about-question-stack span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 13px;
    font-weight: 850;
}
.about-question-stack h3,
.about-question-stack p {
    margin: 0;
}
.about-question-stack h3 {
    margin-bottom: 5px;
    white-space: nowrap;
}
.about-question-stack p {
    color: var(--muted);
    line-height: 1.55;
}
.about-decision-photo,
.about-transparency-photo {
    margin: 0;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: var(--shadow-card);
}
.about-decision-photo img,
.about-transparency-photo img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.about-decision-photo:hover img,
.about-transparency-photo:hover img {
    transform: scale(1.045);
}
.about-boundaries-section {
    color: #fff;
    background: #111722;
}
.about-boundaries-wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 48px;
    align-items: center;
}
.about-boundaries-head h2,
.about-boundaries-head > p:not(.eyebrow) {
    color: #fff;
}
.about-boundaries-head > p:not(.eyebrow) {
    color: #d8e0ea;
}
.about-boundaries-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.about-boundaries-grid article {
    min-height: 300px;
    padding: 28px;
    border-radius: 24px;
    transition: transform 220ms ease, background-color 220ms ease;
}
.about-boundaries-grid .about-can {
    color: #152033;
    background: #fff;
}
.about-boundaries-grid .about-cannot {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.about-boundaries-grid article:hover {
    transform: translateY(-6px);
}
.about-status {
    display: inline-flex;
    margin-bottom: 34px;
    padding: 8px 11px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.about-can .about-status {
    color: var(--blue-deep);
    background: #e6f3ff;
}
.about-cannot .about-status {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}
.about-boundaries-grid h3 {
    margin: 0 0 10px;
    white-space: nowrap;
}
.about-boundaries-grid p {
    margin: 0;
    line-height: 1.65;
}
.about-cannot p {
    color: #d7dfeb;
}
.about-callflow-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 54px;
    align-items: stretch;
}
.about-callflow-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.about-inline-call {
    width: fit-content;
    margin-top: 22px;
}
.about-callflow-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.about-callflow-track article {
    min-height: 210px;
    padding: 24px;
    background: #fffaf6;
    border: 1px solid rgba(23, 105, 170, 0.14);
    border-radius: 20px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.about-callflow-track article:hover {
    color: #fff;
    background: var(--blue-deep);
    transform: translateY(-5px);
}
.about-callflow-track b {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    margin-bottom: 22px;
    color: var(--blue-deep);
    background: #fff;
    border-radius: 12px;
}
.about-callflow-track h3 {
    margin: 0 0 8px;
    white-space: nowrap;
}
.about-callflow-track p {
    margin: 0;
    color: var(--muted);
    line-height: 1.58;
}
.about-callflow-track article:hover p {
    color: #fff;
}
.about-transparency-section {
    background: #f1f8ff;
}
.about-transparency-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 48px;
    align-items: stretch;
}
.about-transparency-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.about-transparency-note {
    display: grid;
    gap: 6px;
    margin-top: 24px;
    padding: 20px;
    background: #fff;
    border-left: 4px solid var(--blue);
    box-shadow: 0 12px 28px rgba(17, 23, 34, 0.06);
}
.about-transparency-note span {
    color: var(--muted);
    line-height: 1.55;
}
.about-faq .narrow > .eyebrow,
.about-faq .narrow > h2 {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.about-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(227, 242, 255, 0.96), rgba(227, 242, 255, 0.80) 46%, rgba(23,105,170,0.18)),
        url('https://images.unsplash.com/photo-1633113088983-12fb3b2fe0ac?auto=format&fit=crop&w=1600&q=84');
    background-size: cover;
    background-position: center 48%;
}

@media (max-width: 1000px) {
    .about-decision-grid,
    .about-boundaries-wrap,
    .about-callflow-grid,
    .about-transparency-grid {
        grid-template-columns: 1fr;
    }
    .about-boundaries-grid,
    .about-callflow-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-decision-photo,
    .about-transparency-photo {
        min-height: 420px;
    }
}
@media (max-width: 700px) {
    .about-boundaries-grid,
    .about-callflow-track {
        grid-template-columns: 1fr;
    }
    .about-boundaries-grid article,
    .about-callflow-track article {
        min-height: 0;
    }
    .about-decision-photo,
    .about-transparency-photo {
        min-height: 340px;
    }
}

/* === Refinement v12: static mobile dock, About additions, Contact redesign === */
.title-line {
    display: block;
}

/* Static mobile call dock: visible without JS and above every page layer. */
.mobile-call-dock {
    display: none;
}
@media (max-width: 1024px) {
    html,
    body {
        overflow-x: clip;
    }
    body {
        padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    }
    html body .mobile-call-dock {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        bottom: calc(12px + env(safe-area-inset-bottom)) !important;
        z-index: 2147483647 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        width: auto !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 7px !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateZ(0) !important;
        pointer-events: auto !important;
        isolation: isolate !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border: 1px solid rgba(17, 23, 34, 0.14) !important;
        border-radius: 17px !important;
        box-shadow: 0 18px 50px rgba(17, 23, 34, 0.34) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
    }
    html body .mobile-call-dock a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 0 10px !important;
        border-radius: 11px !important;
        font-size: 0.82rem !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }
    html body .mobile-call-number {
        color: #fff !important;
        background: var(--blue) !important;
    }
    html body .mobile-call-text {
        color: #fff !important;
        background: #1b2c44 !important;
    }
}

/* About: exact 3-line banner title requested for this page only. */
.about-page .about-hero .about-title-lines {
    max-width: 12ch;
}
.about-page .about-hero .about-title-lines .title-line {
    width: max-content;
    max-width: 100%;
}
.about-callflow-track .about-call-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
    box-shadow: 0 12px 28px rgba(23,105,170,0.22);
    transition: transform 220ms ease, box-shadow 220ms ease;
}
.about-callflow-track .about-call-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-callflow-track article:hover .about-call-icon {
    transform: translateY(-3px) rotate(-3deg);
    box-shadow: 0 16px 32px rgba(23, 105, 170, 0.3);
}

.about-lens-section {
    overflow: hidden;
    background: #f1f8ff;
}
.about-lens-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    align-items: stretch;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 105, 170, 0.13);
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(19, 29, 38, 0.1);
}
.about-lens-photo {
    position: relative;
    min-height: 560px;
    margin: 0;
    overflow: hidden;
}
.about-lens-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17, 23, 34, 0.04) 35%, rgba(17, 23, 34, 0.88) 100%);
    content: "";
}
.about-lens-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 750ms cubic-bezier(0.16, 1, 0.3, 1);
}
.about-lens-stage:hover .about-lens-photo img {
    transform: scale(1.035);
}
.about-lens-photo figcaption {
    position: absolute;
    right: 34px;
    bottom: 34px;
    left: 34px;
    z-index: 2;
    color: #fff;
}
.about-lens-photo figcaption h2 {
    max-width: 13ch;
    margin: 14px 0 0;
    color: #fff;
}
.about-lens-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    padding: 42px;
    background: #fff;
}
.about-lens-panel > p {
    margin: 0 0 8px;
    color: #5e6875;
    line-height: 1.7;
}
.about-lens-panel article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 15px;
    align-items: start;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 18px;
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.about-lens-panel article:hover {
    transform: translateX(5px);
    border-color: rgba(23,105,170,0.22);
    box-shadow: 0 16px 32px rgba(28, 34, 45, 0.08);
}
.lens-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--blue);
    background: #e5f3ff;
    border-radius: 13px;
}
.lens-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-lens-panel h3 {
    margin: 0 0 5px;
    white-space: nowrap;
}
.about-lens-panel article p {
    margin: 0;
    color: #68717d;
    line-height: 1.55;
}

/* Contact page: unique composition and strict heading rhythm. */
.contact-page .contact-hero h1 {
    max-width: 12ch;
}
.contact-page .contact-hero .hero-lead {
    max-width: 610px;
}
.contact-triage-section {
    background: #fff;
}
.contact-triage-wrap {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
    gap: 46px;
    align-items: stretch;
}
.contact-triage-head {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-triage-head h2,
.contact-ready-copy h2,
.contact-privacy-copy h2,
.contact-flow-head h2 {
    max-width: 15ch;
}
.contact-triage-head > p:not(.eyebrow),
.contact-ready-copy > p:not(.eyebrow),
.contact-privacy-copy > p:not(.eyebrow),
.contact-flow-head > p:not(.eyebrow) {
    max-width: 600px;
    color: #65707d;
    line-height: 1.7;
}
.contact-triage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.contact-triage-grid article {
    min-width: 0;
    padding: 24px;
    background: #fffaf6;
    border: 1px solid rgba(23, 105, 170, 0.12);
    border-radius: 24px;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}
.contact-triage-grid article:hover {
    transform: translateY(-5px);
    color: #fff;
    background: #172235;
    box-shadow: 0 20px 44px rgba(22, 34, 53, 0.18);
}
.contact-topic-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
}
.contact-topic-icon svg,
.privacy-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.contact-triage-grid h3 {
    margin-bottom: 9px;
    white-space: nowrap;
}
.contact-triage-grid p {
    margin: 0;
    color: #66717e;
    line-height: 1.62;
}
.contact-triage-grid article:hover p {
    color: #dce3ed;
}

.contact-ready-section {
    background: #f1f8ff;
}
.contact-ready-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 38px;
    align-items: stretch;
}
.contact-ready-photo {
    min-height: 540px;
    margin: 0;
    overflow: hidden;
    border-radius: 30px 90px 30px 30px;
    box-shadow: var(--shadow-card);
}
.contact-ready-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 750ms cubic-bezier(0.16, 1, 0.3, 1);
}
.contact-ready-photo:hover img {
    transform: scale(1.04);
}
.contact-ready-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-ready-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}
.contact-ready-list article {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    padding: 15px 0;
    border-bottom: 1px solid rgba(17, 23, 34, 0.09);
}
.contact-ready-list article > span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: var(--blue);
    background: #fff;
    border: 1px solid rgba(23, 105, 170, 0.2);
    border-radius: 12px;
    font-weight: 800;
}
.contact-ready-list h3,
.contact-ready-list p {
    margin: 0;
}
.contact-ready-list h3 {
    margin-bottom: 4px;
    white-space: nowrap;
}
.contact-ready-list p {
    color: #65707d;
    line-height: 1.55;
}
.contact-inline-call {
    align-self: flex-start;
    margin-top: 24px;
}

.contact-privacy-section {
    color: #fff;
    background: #18273d;
}
.contact-privacy-wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: 46px;
    align-items: center;
}
.contact-privacy-copy h2 {
    color: #fff;
}
.contact-privacy-copy > p:not(.eyebrow) {
    color: #cad4e1;
}
.contact-privacy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.contact-privacy-grid article {
    padding: 25px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 24px;
    transition: transform 220ms ease, background-color 220ms ease;
}
.contact-privacy-grid article:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.11);
}
.privacy-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    color: #fff;
    background: rgba(23, 105, 170, 0.92);
    border-radius: 15px;
}
.contact-privacy-grid h3 {
    margin-bottom: 8px;
    color: #fff;
    white-space: nowrap;
}
.contact-privacy-grid p {
    margin: 0;
    color: #d5deea;
    line-height: 1.62;
}

.contact-flow-section {
    background: #fff;
}
.contact-flow-shell {
    padding: 44px;
    background: linear-gradient(135deg, #f1f8ff, #fff 54%, #f7f9fc);
    border: 1px solid rgba(23, 105, 170, 0.12);
    border-radius: 32px;
}
.contact-flow-head {
    max-width: 720px;
    margin-bottom: 30px;
}
.contact-flow-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(17, 23, 34, 0.1);
}
.contact-flow-steps article {
    position: relative;
    padding: 30px 28px 8px 0;
}
.contact-flow-steps article + article {
    padding-left: 28px;
    border-left: 1px solid rgba(17, 23, 34, 0.1);
}
.contact-flow-steps span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    color: var(--blue);
    background: #fff;
    border: 1px solid rgba(23, 105, 170, 0.2);
    border-radius: 12px;
    font-weight: 800;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.contact-flow-steps article:hover span {
    transform: translateY(-4px);
    color: #fff;
    background: var(--blue);
}
.contact-flow-steps h3 {
    margin-bottom: 8px;
    white-space: nowrap;
}
.contact-flow-steps p {
    margin: 0;
    color: #66717e;
    line-height: 1.6;
}
.contact-faq .narrow > .eyebrow,
.contact-faq .narrow > h2 {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.contact-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(227, 242, 255, 0.97), rgba(227, 242, 255, 0.82) 46%, rgba(23, 105, 170, 0.14)),
        url('https://images.unsplash.com/photo-1623685463648-1fa0d86f6b73?auto=format&fit=crop&w=1800&q=84');
    background-size: cover;
    background-position: center 45%;
}

@media (max-width: 1000px) {
    .about-lens-stage,
    .contact-triage-wrap,
    .contact-ready-grid,
    .contact-privacy-wrap {
        grid-template-columns: 1fr;
    }
    .about-lens-photo,
    .contact-ready-photo {
        min-height: 430px;
    }
    .contact-triage-grid,
    .contact-privacy-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .about-page .about-hero .about-title-lines {
        max-width: none;
    }
    .about-lens-stage {
        border-radius: 24px;
    }
    .about-lens-photo {
        min-height: 360px;
    }
    .about-lens-panel {
        padding: 26px 22px;
    }
    .contact-triage-grid,
    .contact-privacy-grid,
    .contact-flow-steps {
        grid-template-columns: 1fr;
    }
    .contact-flow-shell {
        padding: 28px 22px;
        border-radius: 24px;
    }
    .contact-flow-steps article,
    .contact-flow-steps article + article {
        padding: 22px 0;
        border-left: 0;
        border-bottom: 1px solid rgba(17, 23, 34, 0.1);
    }
    .contact-flow-steps article:last-child {
        border-bottom: 0;
    }
    .contact-ready-photo {
        min-height: 340px;
        border-radius: 24px 56px 24px 24px;
    }
}

/* === Refinement v13: About proof board, Contact-specific systems, legal documents === */
.about-proof-section {
    background: #f1f8ff;
}
.about-proof-grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: stretch;
}
.about-proof-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.about-proof-copy > p:not(.eyebrow) {
    max-width: 560px;
    line-height: 1.72;
}
.about-proof-meter {
    display: grid;
    grid-template-columns: 1.3fr .9fr .65fr;
    gap: 7px;
    width: min(100%, 360px);
    margin: 26px 0 0;
}
.about-proof-meter span {
    height: 7px;
    border-radius: 99px;
    background: var(--blue);
}
.about-proof-meter span:nth-child(2) {
    opacity: .52;
}
.about-proof-meter span:nth-child(3) {
    opacity: .24;
}
.about-proof-board {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
}
.about-proof-board article {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    padding: 28px;
    border: 1px solid rgba(17, 23, 34, .09);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(31, 38, 49, .08);
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}
.about-proof-board article::after {
    position: absolute;
    right: -28px;
    bottom: -34px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: rgba(23, 105, 170, .07);
    content: "";
}
.about-proof-board article:hover {
    transform: translateY(-6px);
    border-color: rgba(23, 105, 170, .28);
    box-shadow: 0 24px 52px rgba(31, 38, 49, .13);
}
.about-proof-board .proof-known {
    grid-column: span 7;
}
.about-proof-board .proof-check {
    grid-column: span 5;
    margin-top: 38px;
}
.about-proof-board .proof-final {
    grid-column: 3 / span 8;
}
.proof-tag {
    display: inline-flex;
    margin-bottom: 34px;
    padding: 7px 11px;
    color: var(--blue-deep);
    background: #e8f4ff;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.about-proof-board h3 {
    margin-bottom: 10px;
    white-space: nowrap;
}
.about-proof-board p {
    margin: 0;
    color: #5f6977;
    line-height: 1.65;
}

/* Contact page: switchboard, call card, privacy strip, and handoff lane are intentionally page-specific. */
.contact-switchboard-section {
    background: #fff;
}
.contact-switchboard-grid {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: clamp(30px, 5vw, 72px);
    align-items: center;
}
.contact-switchboard-intro > p:not(.eyebrow) {
    max-width: 520px;
    line-height: 1.72;
}
.contact-switchboard {
    position: relative;
    display: grid;
    gap: 0;
    padding-left: 42px;
}
.contact-switchboard::before {
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 18px;
    width: 2px;
    background: linear-gradient(var(--blue), rgba(23,105,170,.08));
    content: "";
}
.contact-switchboard article {
    position: relative;
    display: grid;
    grid-template-columns: 58px 1fr auto;
    gap: 18px;
    align-items: center;
    min-height: 128px;
    padding: 20px 22px;
    border-bottom: 1px solid rgba(17,23,34,.09);
    transition: transform 220ms ease, background-color 220ms ease;
}
.contact-switchboard article:last-child {
    border-bottom: 0;
}
.contact-switchboard article:hover {
    transform: translateX(8px);
    background: #f1f8ff;
}
.switch-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #111722;
    border-radius: 15px;
    transition: background-color 220ms ease, transform 220ms ease;
}
.contact-switchboard article:hover .switch-icon {
    background: var(--blue);
    transform: rotate(-4deg) scale(1.04);
}
.switch-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.contact-switchboard article h3 {
    margin-bottom: 6px;
    white-space: nowrap;
}
.contact-switchboard article p {
    margin: 0;
    color: #67717e;
    line-height: 1.55;
}
.contact-switchboard article b {
    color: var(--blue-deep);
    font-size: .76rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.contact-callcard-section {
    background: #f5f7fa;
}
.contact-callcard-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    min-height: 600px;
    overflow: hidden;
    border-radius: 34px;
    background: #1b2c44;
    box-shadow: 0 30px 70px rgba(17,23,34,.18);
}
.contact-callcard-image {
    position: relative;
    min-height: 100%;
}
.contact-callcard-image img {
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
}
.contact-callcard-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    color: #fff;
    background: rgba(17,23,34,.76);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 16px;
    backdrop-filter: blur(14px);
}
.contact-callcard-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 5vw, 68px);
    color: #fff;
}
.contact-callcard-copy h2,
.contact-callcard-copy p,
.contact-callcard-copy dt,
.contact-callcard-copy dd {
    color: inherit;
}
.contact-callcard-copy > p:not(.eyebrow) {
    color: #d8e0ea;
    line-height: 1.72;
}
.contact-detail-list {
    margin: 24px 0 0;
}
.contact-detail-list div {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 18px;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.14);
}
.contact-detail-list dt {
    font-weight: 850;
}
.contact-detail-list dd {
    margin: 0;
    color: #c8d2df;
    line-height: 1.55;
}
.contact-privacy-section {
    position: relative;
    overflow: hidden;
    background: #fff6ef;
}
.contact-privacy-wrap {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 50px;
    align-items: center;
}
.contact-privacy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.contact-privacy-grid article {
    min-height: 240px;
    padding: 28px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(17,23,34,.07);
}
.contact-privacy-grid article:last-child {
    color: #fff;
    background: #1b2c44;
}
.contact-privacy-grid article:last-child h3,
.contact-privacy-grid article:last-child p {
    color: inherit;
}
.contact-flow-section {
    background: #fff;
}
.contact-flow-shell {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 60px;
    align-items: start;
}
.contact-flow-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(17,23,34,.09);
    border-radius: 24px;
    background: rgba(17,23,34,.09);
}
.contact-flow-steps article {
    min-height: 250px;
    padding: 30px 24px;
    background: #fff;
    transition: background-color 220ms ease, color 220ms ease;
}
.contact-flow-steps article:hover {
    color: #fff;
    background: #111722;
}
.contact-flow-steps article:hover h3,
.contact-flow-steps article:hover p {
    color: inherit;
}
.contact-flow-steps article > span {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 50px;
    color: var(--blue-deep);
    background: #e8f4ff;
    border-radius: 50%;
    font-weight: 850;
}

/* Legal pages: formal document treatment, not marketing sections. */
.legal-doc-hero {
    padding: 72px 0 52px;
    background: #f7f8fa;
    border-bottom: 1px solid rgba(17,23,34,.08);
}
.legal-doc-hero-inner {
    max-width: 920px;
}
.legal-doc-hero h1 {
    max-width: 16ch;
    margin-bottom: 18px;
}
.legal-doc-hero p:not(.eyebrow) {
    max-width: 780px;
    color: #596473;
    font-size: 1.05rem;
    line-height: 1.72;
}
.legal-date {
    display: inline-block;
    margin-top: 20px;
    color: #7a8490;
    font-size: .86rem;
    font-weight: 700;
}
.legal-document {
    padding: 64px 0 96px;
    background: #fff;
}
.legal-document-grid {
    display: grid;
    grid-template-columns: 250px minmax(0, 760px);
    gap: clamp(38px, 6vw, 92px);
    align-items: start;
    justify-content: center;
}
.legal-toc {
    position: sticky;
    top: 130px;
    padding: 22px 0;
    border-top: 2px solid #111722;
    border-bottom: 1px solid rgba(17,23,34,.1);
}
.legal-toc > strong {
    display: block;
    margin-bottom: 14px;
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.legal-toc ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
}
.legal-toc a {
    color: #606b78;
    font-size: .86rem;
    line-height: 1.35;
    text-decoration: none;
}
.legal-toc a:hover {
    color: var(--blue-deep);
}
.legal-document-copy section {
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 1px solid rgba(17,23,34,.09);
}
.legal-document-copy section:last-of-type {
    margin-bottom: 0;
}
.legal-document-copy h2 {
    margin-bottom: 12px;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    line-height: 1.2;
}
.legal-document-copy p {
    margin: 0;
    color: #4f5a68;
    line-height: 1.78;
}
.legal-review {
    margin-top: 34px;
    padding: 22px 24px;
    background: #fff6ef;
    border-left: 4px solid var(--blue);
}
.legal-review strong {
    display: block;
    margin-bottom: 6px;
}
.legal-review p {
    color: #5e6670;
}

@media (max-width: 1000px) {
    .about-proof-grid,
    .contact-switchboard-grid,
    .contact-callcard-shell,
    .contact-privacy-wrap,
    .contact-flow-shell,
    .legal-document-grid {
        grid-template-columns: 1fr;
    }
    .about-proof-board .proof-known,
    .about-proof-board .proof-check,
    .about-proof-board .proof-final {
        grid-column: span 12;
        margin-top: 0;
    }
    .contact-callcard-image img {
        min-height: 420px;
    }
    .legal-toc {
        position: static;
        top: auto;
    }
    .legal-toc ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 26px;
    }
}
@media (max-width: 700px) {
    .contact-switchboard {
        padding-left: 0;
    }
    .contact-switchboard::before {
        display: none;
    }
    .contact-switchboard article {
        grid-template-columns: 48px 1fr;
        padding: 18px 0;
    }
    .contact-switchboard article b {
        grid-column: 2;
    }
    .contact-callcard-shell {
        border-radius: 24px;
    }
    .contact-callcard-image img {
        min-height: 320px;
    }
    .contact-callcard-caption {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .contact-privacy-grid,
    .contact-flow-steps,
    .legal-toc ol {
        grid-template-columns: 1fr;
    }
    .contact-flow-steps article {
        min-height: 0;
    }
    .contact-flow-steps article > span {
        margin-bottom: 24px;
    }
    .legal-doc-hero {
        padding: 54px 0 38px;
    }
    .legal-document {
        padding: 42px 0 96px;
    }
}

/* === Refinement v14: About/Contact polish, legal hero system, Frontier redesign === */
.about-page .about-hero .about-title-lines {
    max-width: 15.5ch;
    font-size: clamp(3.15rem, 5.1vw, 5.25rem);
    line-height: .98;
}
.about-page .about-hero .about-title-lines .title-line {
    display: block;
    width: auto;
    max-width: none;
    white-space: nowrap;
}
.about-proof-grid {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: stretch;
}
.about-proof-copy,
.about-proof-board {
    min-height: 100%;
}
.about-proof-copy {
    justify-content: center;
}
.about-proof-meter {
    display: none !important;
}
.about-proof-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.about-proof-board article {
    min-height: 0;
    height: 100%;
}
.about-proof-board .proof-known {
    grid-column: 1;
    grid-row: 1;
}
.about-proof-board .proof-check {
    grid-column: 2;
    grid-row: 1;
}
.about-proof-board .proof-final {
    grid-column: 1 / -1;
    grid-row: 2;
}
.contact-switchboard-grid {
    align-items: stretch;
}
.contact-switchboard-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-route-line {
    position: relative;
    display: grid;
    grid-template-columns: 14px 1fr 14px 1fr 14px;
    align-items: center;
    gap: 0;
    width: min(100%, 390px);
    margin: 26px 0 8px;
}
.contact-route-line span {
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 0 5px rgba(23, 105, 170,.10);
}
.contact-route-line i {
    position: relative;
    display: block;
    height: 2px;
    overflow: hidden;
    background: rgba(27,44,68,.12);
}
.contact-route-line i::after {
    position: absolute;
    inset: 0;
    width: 38%;
    background: linear-gradient(90deg, transparent, var(--blue), transparent);
    content: "";
    animation: contact-route-sweep 2.4s ease-in-out infinite;
}
@keyframes contact-route-sweep {
    0% { transform: translateX(-130%); }
    100% { transform: translateX(340%); }
}
.contact-callcard-section {
    padding-right: 0;
    padding-left: 0;
}
.contact-callcard-shell {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    border-radius: 0;
    overflow: hidden;
}
.contact-callcard-image,
.contact-callcard-copy {
    min-height: 620px;
}
.contact-callcard-image img {
    height: 100%;
}
.contact-callcard-copy {
    padding: clamp(44px, 6vw, 84px);
    justify-content: center;
}
.contact-callcard-copy .eyebrow {
    color: var(--blue-deep) !important;
    background: #e8f4ff !important;
    border-color: rgba(23, 105, 170,.18) !important;
}
.contact-privacy-copy h2 {
    color: #121a27 !important;
}
.contact-privacy-copy > p:not(.eyebrow) {
    color: #576273 !important;
}
.contact-privacy-copy .eyebrow {
    color: var(--blue-deep) !important;
    background: #fff !important;
    border-color: rgba(23, 105, 170,.16) !important;
}
.contact-privacy-grid article:first-child h3 {
    color: #121a27 !important;
}
.contact-privacy-grid article:first-child p {
    color: #687385 !important;
}
.contact-flow-section {
    display: none !important;
}

/* Legal pages: same banner family as inner pages, long-form body preserved. */
.legal-standard-hero .hero-copy h1 {
    max-width: 10ch;
}
.legal-standard-hero .hero-lead {
    max-width: 620px;
}
.legal-standard-hero .assist-card {
    align-self: center;
}
.legal-final-cta {
    padding-bottom: 0;
}
.legal-final-cta .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.95), rgba(233,244,255,.80) 46%, rgba(23, 105, 170,.20)),
        url('https://images.unsplash.com/photo-1587560699334-cc4ff634909a?auto=format&fit=crop&w=1800&q=84');
}

/* Frontier page: distinct provider-specific system. */
.frontier-signal-section {
    background: #fff;
}
.frontier-signal-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 40px;
    align-items: stretch;
}
.frontier-signal-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.frontier-signal-copy > p:not(.eyebrow) {
    max-width: 620px;
    color: #5f6979;
    line-height: 1.72;
}
.frontier-signal-points {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}
.frontier-signal-points article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 16px;
    align-items: start;
    padding: 18px 20px;
    border: 1px solid rgba(17,23,34,.09);
    border-radius: 18px;
    background: #f3f9ff;
    transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}
.frontier-signal-points article:hover {
    color: #fff;
    background: #1b2c44;
    transform: translateX(6px);
}
.frontier-signal-points article:hover p {
    color: #d8e0ea;
}
.frontier-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
}
.frontier-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.frontier-signal-photo {
    margin: 0;
    overflow: hidden;
    min-height: 620px;
    border-radius: 30px;
}
.frontier-signal-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.frontier-signal-photo:hover img {
    transform: scale(1.04);
}
.frontier-inline-call {
    align-self: flex-start;
    margin-top: 24px;
}
.frontier-compare-section {
    color: #fff;
    background: #121a27;
}
.frontier-compare-head {
    max-width: 760px;
    margin-bottom: 34px;
}
.frontier-compare-head h2,
.frontier-compare-head p {
    color: inherit;
}
.frontier-compare-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}
.frontier-compare-grid article {
    display: flex;
    min-height: 330px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.06);
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.frontier-compare-grid article:hover {
    transform: translateY(-6px);
    border-color: rgba(23, 105, 170,.48);
    background: rgba(23,105,170,.12);
}
.frontier-compare-grid article > span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    margin-bottom: 22px;
    color: var(--blue);
    background: #fff;
    border-radius: 14px;
    font-weight: 800;
}
.frontier-compare-grid h3,
.frontier-compare-grid p {
    color: #fff;
}
.frontier-compare-grid p {
    color: #cbd4df;
    line-height: 1.65;
}
.frontier-compare-grid a {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    color: #fff;
    background: var(--blue);
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
}
.frontier-room-shell {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 30px;
    background: #fff;
    box-shadow: var(--shadow-card);
}
.frontier-room-shell figure {
    margin: 0;
    min-height: 600px;
}
.frontier-room-shell figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.frontier-room-shell > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px,5vw,64px);
}
.frontier-terms-section {
    background: #f1f8ff;
}
.frontier-terms-grid {
    display: grid;
    grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
    gap: 54px;
    align-items: stretch;
}
.frontier-terms-grid > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.frontier-terms-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}
.frontier-terms-list article {
    min-height: 190px;
    padding: 24px;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 20px;
    background: #fff;
    transition: transform 220ms ease, box-shadow 220ms ease;
}
.frontier-terms-list article:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 34px rgba(17,23,34,.10);
}
.frontier-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.96), rgba(233,244,255,.80) 48%, rgba(23, 105, 170,.18)),
        url('https://images.unsplash.com/photo-1758526213717-9ae81ab43743?auto=format&fit=crop&w=1800&q=84');
}

/* Mobile dock: correct for real devices; coarse-pointer fallback catches mobile browsers reporting wide CSS viewports. */
@media (max-width: 1200px), (pointer: coarse) {
    html body .mobile-call-dock {
        display: flex !important;
        position: fixed !important;
        left: 10px !important;
        right: 10px !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        top: auto !important;
        z-index: 2147483647 !important;
        min-height: 64px !important;
        height: auto !important;
        padding: 7px !important;
        gap: 8px !important;
        align-items: stretch !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
        background: rgba(255,255,255,.985) !important;
        border: 1px solid rgba(17,23,34,.14) !important;
        border-radius: 16px !important;
        box-shadow: 0 18px 54px rgba(0,0,0,.30) !important;
    }
    html body .mobile-call-dock a {
        display: flex !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 50px !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 900px) {
    .about-proof-grid,
    .frontier-signal-grid,
    .frontier-room-shell,
    .frontier-terms-grid,
    .contact-callcard-shell {
        grid-template-columns: 1fr;
    }
    .about-proof-board {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
    .about-proof-board .proof-known,
    .about-proof-board .proof-check,
    .about-proof-board .proof-final {
        grid-column: auto;
        grid-row: auto;
    }
    .contact-callcard-image,
    .contact-callcard-copy {
        min-height: 0;
    }
    .contact-callcard-image {
        min-height: 420px;
    }
    .frontier-compare-grid {
        grid-template-columns: 1fr;
    }
    .frontier-signal-photo,
    .frontier-room-shell figure {
        min-height: 420px;
    }
}
@media (max-width: 620px) {
    .about-page .about-hero .about-title-lines {
        max-width: none;
        font-size: clamp(2.65rem, 13vw, 3.5rem);
    }
    .about-page .about-hero .about-title-lines .title-line {
        white-space: normal;
    }
    .frontier-terms-list {
        grid-template-columns: 1fr;
    }
    .contact-route-line {
        width: 100%;
    }
}
.contact-callcard-copy .eyebrow {
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(255,255,255,.22) !important;
}
.contact-callcard-copy h2 {
    max-width: 15ch;
}
.frontier-page .page-hero .hero-copy h1,
body:has(.frontier-signal-section) .page-hero .hero-copy h1 {
    max-width: 11ch;
}
.contact-switchboard {
    position: relative;
    padding-left: 44px;
}
.contact-switchboard-route {
    position: absolute;
    top: 26px;
    bottom: 26px;
    left: 7px;
    z-index: 2;
    display: grid;
    grid-template-rows: 14px 1fr 14px 1fr 14px 1fr 14px;
    align-items: center;
    width: 14px;
}
.contact-switchboard-route span {
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 0 5px rgba(23, 105, 170,.10);
}
.contact-switchboard-route i {
    position: relative;
    width: 2px;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: rgba(27,44,68,.13);
}
.contact-switchboard-route i::after {
    position: absolute;
    top: -45%;
    left: 0;
    width: 100%;
    height: 38%;
    background: linear-gradient(180deg, transparent, var(--blue), transparent);
    content: "";
    animation: contact-route-drop 2.5s ease-in-out infinite;
}
.contact-switchboard-route i:nth-of-type(2)::after { animation-delay: .28s; }
.contact-switchboard-route i:nth-of-type(3)::after { animation-delay: .56s; }
@keyframes contact-route-drop {
    0% { transform: translateY(-120%); }
    100% { transform: translateY(380%); }
}
@media (max-width: 725px) {
    .contact-switchboard {
        padding-left: 32px;
    }
    .contact-switchboard-route {
        left: 3px;
    }
}

/* === Refinement v15: About balance, Contact route cleanup, legal CTA imagery, Frontier + Verizon === */

/* About: balance proof columns with content, not spacer padding. */
.about-proof-grid {
    align-items: stretch;
}
.about-proof-copy {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
}
.about-proof-extra {
    margin-top: 14px;
    color: #5f6876;
    line-height: 1.72;
}
.about-proof-board {
    align-self: stretch;
}

/* Contact: keep only the premium left-side route line. */
.contact-switchboard::before {
    display: none !important;
    content: none !important;
}
.contact-switchboard-route {
    left: 10px;
}
.contact-switchboard-route i {
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(23, 105, 170,.10), rgba(27,44,68,.16));
}
.contact-switchboard-route i::after {
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, transparent 0%, var(--blue) 38%, #77bfff 62%, transparent 100%);
    box-shadow: 0 0 14px rgba(23,105,170,.55);
}
.contact-switchboard-route span {
    position: relative;
}
.contact-switchboard-route span::after {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    content: "";
    transform: translate(-50%, -50%);
}

/* Legal CTA: unique imagery per page, never shared. */
.legal-privacy-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.84) 48%, rgba(23,105,170,.12)),
        url('https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=1800&q=84');
}
.legal-terms-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.82) 48%, rgba(23,105,170,.12)),
        url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=1800&q=84');
}
.legal-disclaimer-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.83) 48%, rgba(23,105,170,.12)),
        url('https://images.unsplash.com/photo-1632433105322-e410c2a20e49?auto=format&fit=crop&w=1800&q=84');
}

/* Frontier: exact three-line hero requested for this provider. */
body:has(.frontier-signal-section) .page-hero h1 {
    max-width: 11ch;
}
body:has(.frontier-signal-section) .page-hero h1 .title-line {
    display: block;
    white-space: nowrap;
}
.frontier-brand-section {
    padding-top: 36px;
    padding-bottom: 36px;
    background: #fff;
}
.frontier-brand-stage {
    display: grid;
    grid-template-columns: minmax(180px, .62fr) minmax(0, 1.15fr) minmax(260px, .9fr);
    gap: 28px;
    align-items: center;
    padding: 32px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.frontier-brand-logo {
    display: grid;
    min-height: 150px;
    place-items: center;
    padding: 24px;
    background: #fff;
}
.frontier-brand-logo img {
    width: min(100%, 220px);
    max-height: 86px;
    object-fit: contain;
}
.frontier-brand-copy p:not(.eyebrow) {
    margin-bottom: 0;
    color: #626c79;
    line-height: 1.72;
}
.frontier-brand-checks {
    display: grid;
    gap: 10px;
}
.frontier-brand-checks article {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-left: 3px solid rgba(23, 105, 170,.26);
    background: #f3f9ff;
    transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease;
}
.frontier-brand-checks article:hover {
    border-color: var(--blue);
    background: #e7f4ff;
    transform: translateX(4px);
}
.frontier-brand-checks span {
    color: var(--blue-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.frontier-brand-checks strong {
    color: #171d27;
    font-size: .94rem;
}
.frontier-room-section {
    background: #fff !important;
}
.frontier-room-shell {
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.frontier-room-shell figure {
    border-radius: 26px;
    box-shadow: var(--shadow-card);
}
.frontier-room-shell > div {
    padding-top: 12px;
    padding-bottom: 12px;
    background: transparent !important;
}

/* Verizon: distinct provider page system. */
.verizon-hero .hero-copy h1 {
    max-width: 12ch;
}
.verizon-eligibility-section {
    background: #fff;
}
.verizon-eligibility-grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: 34px;
    align-items: stretch;
}
.verizon-logo-panel {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
    background: #111722;
    border-radius: 28px 6px 28px 6px;
}
.verizon-logo-panel img {
    width: min(100%, 240px);
    max-height: 94px;
    margin-bottom: 28px;
    padding: 18px;
    object-fit: contain;
    background: #fff;
    border-radius: 16px;
}
.verizon-logo-panel p {
    margin: 0;
    color: #d7dde7;
    line-height: 1.7;
}
.verizon-eligibility-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.verizon-eligibility-copy > p:not(.eyebrow) {
    max-width: 720px;
    color: #5d6674;
    line-height: 1.72;
}
.verizon-dual-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-top: 20px;
}
.verizon-dual-track article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--line);
    background: #fff9f5;
    border-radius: 18px;
}
.verizon-track-icon,
.verizon-peak-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    background: var(--blue);
    border-radius: 14px;
}
.verizon-track-icon svg,
.verizon-peak-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.verizon-dual-track h3,
.verizon-setup-list h3,
.verizon-peak-points h3,
.verizon-term-ledger h3 {
    white-space: nowrap;
}
.verizon-dual-track p,
.verizon-setup-list p,
.verizon-peak-points p,
.verizon-term-ledger p {
    margin: 6px 0 0;
}
.verizon-setup-section {
    background: #f7f8fa;
}
.verizon-setup-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    background: #fff;
    border-radius: 32px;
    box-shadow: var(--shadow-card);
}
.verizon-setup-photo {
    min-height: 540px;
    margin: 0;
    overflow: hidden;
}
.verizon-setup-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.verizon-setup-stage:hover .verizon-setup-photo img {
    transform: scale(1.035);
}
.verizon-setup-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px;
}
.verizon-setup-copy > p:not(.eyebrow) {
    color: #606a78;
    line-height: 1.72;
}
.verizon-setup-list {
    display: grid;
    gap: 12px;
    margin: 20px 0 22px;
}
.verizon-setup-list article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}
.verizon-setup-list article > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--blue-deep);
    font-size: .76rem;
    font-weight: 850;
    background: #e8f4ff;
    border: 1px solid #b7ddff;
    border-radius: 12px;
}
.verizon-inline-call {
    align-self: flex-start;
}
.verizon-peak-section {
    position: relative;
    overflow: hidden;
    background-image: url('https://images.unsplash.com/photo-1629360021730-3d258452c425?auto=format&fit=crop&w=1900&q=84');
    background-size: cover;
    background-position: center 46%;
    background-attachment: fixed;
}
.verizon-peak-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(16,23,35,.95), rgba(16,23,35,.82) 50%, rgba(23, 105, 170,.38));
}
.verizon-peak-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    gap: 44px;
    align-items: center;
}
.verizon-peak-copy h2,
.verizon-peak-copy p:not(.eyebrow) {
    color: #fff;
}
.verizon-peak-copy p:not(.eyebrow) {
    line-height: 1.72;
}
.verizon-peak-points {
    display: grid;
    gap: 12px;
}
.verizon-peak-points article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 14px;
    padding: 18px;
    color: #fff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    backdrop-filter: blur(10px);
    transition: transform 220ms ease, background-color 220ms ease;
}
.verizon-peak-points article:hover {
    background: rgba(255,255,255,.16);
    transform: translateX(5px);
}
.verizon-peak-points p {
    color: #dbe2ec;
}
.verizon-terms-section {
    background: #fff;
}
.verizon-terms-grid {
    display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: 38px;
    align-items: stretch;
}
.verizon-terms-intro {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
}
.verizon-terms-intro > p:not(.eyebrow) {
    color: #5f6875;
    line-height: 1.72;
}
.verizon-term-ledger {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}
.verizon-term-ledger article {
    min-height: 190px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-soft);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.verizon-term-ledger article:hover {
    border-color: rgba(23, 105, 170,.32);
    transform: translateY(-5px);
    box-shadow: 0 20px 38px rgba(17,23,34,.10);
}
.verizon-term-ledger article > span {
    color: var(--blue-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.verizon-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.96), rgba(233,244,255,.82) 48%, rgba(23, 105, 170,.16)),
        url('https://images.unsplash.com/photo-1628645339131-0c39c7527856?auto=format&fit=crop&w=1800&q=84');
    background-position: center 44%;
}

/* Mobile dock v15: visible by default on mobile; desktop is the only hidden state. */
html body > .mobile-call-dock {
    position: fixed !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    z-index: 2147483647 !important;
    display: flex !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding: 7px !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: #fff !important;
    border: 1px solid rgba(17,23,34,.15) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.32) !important;
}
html body > .mobile-call-dock a {
    display: flex !important;
    flex: 1 1 0 !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
}
@media (min-width: 901px) {
    html body > .mobile-call-dock {
        display: none !important;
    }
}
@media (max-width: 900px) {
    body {
        padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
    }
    .frontier-brand-stage,
    .verizon-eligibility-grid,
    .verizon-setup-stage,
    .verizon-peak-grid,
    .verizon-terms-grid {
        grid-template-columns: 1fr;
    }
    .frontier-brand-checks,
    .verizon-dual-track,
    .verizon-term-ledger {
        grid-template-columns: 1fr;
    }
    .frontier-brand-stage {
        padding: 22px 0;
    }
    .frontier-brand-logo {
        min-height: 110px;
        padding: 18px;
    }
    .verizon-setup-photo {
        min-height: 340px;
    }
    .verizon-setup-copy {
        padding: 30px 24px;
    }
    .verizon-peak-section {
        background-attachment: scroll;
    }
    .verizon-peak-grid {
        gap: 24px;
    }
    .about-proof-board {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .about-proof-board .proof-known,
    .about-proof-board .proof-check,
    .about-proof-board .proof-final {
        grid-column: auto;
        grid-row: auto;
    }
}
@media (max-width: 620px) {
    body:has(.frontier-signal-section) .page-hero h1 .title-line {
        white-space: normal;
    }
    .verizon-logo-panel,
    .verizon-setup-copy {
        padding: 24px 20px;
    }
    .verizon-term-ledger article {
        min-height: 0;
    }
    .verizon-dual-track h3,
    .verizon-setup-list h3,
    .verizon-peak-points h3,
    .verizon-term-ledger h3 {
        white-space: normal;
    }
}

/* === Provider refinement v16: Frontier / Verizon / T-Mobile === */

/* Frontier: equal-height identity row without decorative divider lines. */
.frontier-brand-stage {
    align-items: stretch;
    border-top: 0;
    border-bottom: 0;
}
.frontier-brand-logo,
.frontier-brand-copy,
.frontier-brand-checks {
    min-width: 0;
    height: 100%;
}
.frontier-brand-logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.frontier-logo-note {
    max-width: 250px;
    margin: 0;
    color: #5e6876;
    font-size: .92rem;
    line-height: 1.65;
    text-align: center;
}
.frontier-brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.frontier-brand-copy p:not(.eyebrow) + p {
    margin-top: 14px;
}
.frontier-brand-checks {
    align-content: stretch;
}
.frontier-brand-checks article {
    grid-template-columns: 82px 1fr;
    grid-template-rows: auto auto;
    align-content: center;
}
.frontier-brand-checks article p {
    grid-column: 2;
    margin: 4px 0 0;
    color: #68717e;
    font-size: .82rem;
    line-height: 1.5;
}
.faq-centered-head > .eyebrow,
.faq-centered-head > h2 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.faq-centered-head > h2 {
    max-width: 18ch;
}

/* Verizon: requested 3-line hero and open, animated content system. */
.verizon-hero .hero-copy h1,
body:has(.verizon-eligibility-section) .page-hero h1 {
    max-width: 11.8ch;
}
body:has(.verizon-eligibility-section) .page-hero h1 .title-line {
    display: block;
    white-space: nowrap;
}
.verizon-eligibility-grid {
    align-items: stretch;
}
.verizon-logo-panel,
.verizon-eligibility-copy {
    min-height: 100%;
}
.verizon-logo-meta {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.16);
}
.verizon-logo-meta strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: .95rem;
}
.verizon-logo-meta p {
    color: #cbd4df;
    font-size: .9rem;
}
.verizon-dual-track article {
    position: relative;
    overflow: hidden;
    min-height: 164px;
    transition: transform 260ms cubic-bezier(.16,1,.3,1), box-shadow 260ms ease, background-color 260ms ease, border-color 260ms ease;
}
.verizon-dual-track article::after {
    position: absolute;
    inset: auto -20% -50% 42%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(23, 105, 170,.18), transparent 70%);
    content: "";
    transform: scale(.72);
    opacity: 0;
    transition: transform 360ms ease, opacity 360ms ease;
}
.verizon-dual-track article:hover {
    transform: translateY(-6px);
    border-color: rgba(23, 105, 170,.32);
    background: #edf6ff;
    box-shadow: 0 22px 42px rgba(17,23,34,.10);
}
.verizon-dual-track article:hover::after {
    transform: scale(1);
    opacity: 1;
}
.verizon-dual-track article:hover .verizon-track-icon {
    transform: rotate(-6deg) scale(1.06);
}
.verizon-track-icon {
    transition: transform 260ms cubic-bezier(.16,1,.3,1), box-shadow 260ms ease;
}
.verizon-dual-track article:hover .verizon-track-icon {
    box-shadow: 0 12px 24px rgba(23, 105, 170,.24);
}
.verizon-setup-section.verizon-setup-open {
    background: #fff;
}
.verizon-setup-open .verizon-setup-stage {
    gap: 42px;
    overflow: visible;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}
.verizon-setup-open .verizon-setup-photo {
    overflow: hidden;
    border-radius: 28px;
    box-shadow: var(--shadow-card);
}
.verizon-setup-open .verizon-setup-copy {
    padding: 14px 0;
}
.verizon-setup-open .verizon-setup-list article {
    padding: 14px 0;
    background: transparent;
}
.verizon-peak-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.verizon-peak-call {
    margin-top: 22px;
}
.verizon-faq .faq-list {
    margin-top: 30px;
}

/* T-Mobile: fully distinct provider page. */
.tmobile-page .tmobile-hero .hero-copy h1 {
    max-width: 12ch;
}
.tmobile-page .tmobile-hero .hero-lead {
    max-width: 610px;
}
.tmobile-signal-section {
    background: #fff;
}
.tmobile-signal-grid {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 44px;
    align-items: stretch;
}
.tmobile-signal-copy,
.tmobile-signal-board {
    min-width: 0;
}
.tmobile-signal-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tmobile-signal-copy > p:not(.eyebrow) {
    color: #5e6876;
    line-height: 1.74;
}
.tmobile-inline-call {
    align-self: flex-start;
    margin-top: 18px;
}
.tmobile-signal-board {
    display: grid;
    grid-template-columns: minmax(190px,.7fr) minmax(0,1.3fr);
    gap: 22px;
    min-height: 100%;
    padding: 28px;
    background: #111722;
    border-radius: 10px 34px 10px 34px;
}
.tmobile-logo-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 24px;
    background: #fff;
    border-radius: 24px;
}
.tmobile-logo-stage img {
    width: min(100%,220px);
    max-height: 100px;
    object-fit: contain;
}
.tmobile-logo-stage span {
    color: #111722;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tmobile-signal-rows {
    display: grid;
    gap: 12px;
}
.tmobile-signal-rows article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.tmobile-signal-rows article:hover {
    transform: translateX(6px);
    background: rgba(255,255,255,.14);
    border-color: rgba(23,105,170,.5);
}
.tmobile-signal-icon,
.tmobile-path-icon,
.tmobile-routine-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
}
.tmobile-signal-icon svg,
.tmobile-path-icon svg,
.tmobile-routine-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.tmobile-signal-rows h3,
.tmobile-placement-list h3,
.tmobile-path-steps h3,
.tmobile-routine-cards h3,
.tmobile-term-list h3 {
    white-space: nowrap;
}
.tmobile-signal-rows h3 {
    color: #fff;
}
.tmobile-signal-rows p {
    margin: 6px 0 0;
    color: #cdd5df;
}
.tmobile-placement-section {
    background: #f7f8fa;
}
.tmobile-placement-grid {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
    gap: 40px;
    align-items: stretch;
}
.tmobile-placement-photo {
    min-height: 560px;
    margin: 0;
    overflow: hidden;
    border-radius: 30px 6px 30px 6px;
}
.tmobile-placement-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(.16,1,.3,1);
}
.tmobile-placement-photo:hover img {
    transform: scale(1.04);
}
.tmobile-placement-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tmobile-placement-copy > p:not(.eyebrow) {
    color: #5f6976;
    line-height: 1.72;
}
.tmobile-placement-list {
    display: grid;
    gap: 12px;
    margin-top: 22px;
}
.tmobile-placement-list article {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}
.tmobile-placement-list article > span {
    color: var(--blue-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.tmobile-placement-list p {
    margin: 6px 0 0;
    color: #69727e;
}
.tmobile-path-section {
    background: #111722;
}
.tmobile-path-grid {
    display: grid;
    grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
    gap: 48px;
    align-items: stretch;
}
.tmobile-path-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tmobile-path-copy h2,
.tmobile-path-copy > p:not(.eyebrow) {
    color: #fff;
}
.tmobile-path-copy > p:not(.eyebrow) {
    color: #d4dbe5;
    line-height: 1.75;
}
.tmobile-path-steps {
    display: grid;
    gap: 14px;
    align-content: center;
}
.tmobile-path-steps article {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: center;
    min-height: 126px;
    padding: 22px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}
.tmobile-path-steps article:hover {
    transform: translateX(-6px);
    background: rgba(255,255,255,.14);
    border-color: rgba(23, 105, 170,.46);
}
.tmobile-path-steps h3 {
    color: #fff;
}
.tmobile-path-steps p {
    margin: 6px 0 0;
    color: #d2d9e2;
}
.tmobile-routine-section {
    background: #fff;
}
.tmobile-routine-stage {
    display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    grid-template-rows: auto auto;
    gap: 24px 36px;
    align-items: stretch;
}
.tmobile-routine-head {
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tmobile-routine-head > p:not(.eyebrow) {
    color: #5e6875;
    line-height: 1.74;
}
.tmobile-routine-photo {
    min-height: 330px;
    margin: 0;
    overflow: hidden;
    border-radius: 26px;
}
.tmobile-routine-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tmobile-routine-cards {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
}
.tmobile-routine-cards article {
    min-height: 190px;
    padding: 20px;
    background: #f3f9ff;
    border-radius: 18px;
    transition: transform 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}
.tmobile-routine-cards article:hover {
    transform: translateY(-6px);
    background: #111722;
    box-shadow: 0 20px 40px rgba(17,23,34,.12);
}
.tmobile-routine-cards h3 {
    margin-top: 18px;
}
.tmobile-routine-cards p {
    margin: 8px 0 0;
    color: #66707d;
}
.tmobile-routine-cards article:hover h3,
.tmobile-routine-cards article:hover p {
    color: #fff;
}
.tmobile-terms-section {
    background: #f7f8fa;
}
.tmobile-terms-grid {
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    gap: 42px;
    align-items: stretch;
}
.tmobile-terms-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tmobile-terms-copy > p:not(.eyebrow) {
    color: #616a77;
    line-height: 1.74;
}
.tmobile-term-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}
.tmobile-term-list article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    min-height: 172px;
    padding: 22px;
    background: #fff;
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    transition: transform 240ms ease, box-shadow 240ms ease;
}
.tmobile-term-list article:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 36px rgba(17,23,34,.1);
}
.tmobile-term-list article > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--blue-deep);
    font-size: .76rem;
    font-weight: 850;
    background: #e6f3ff;
    border-radius: 13px;
}
.tmobile-term-list p {
    margin: 8px 0 0;
    color: #66707d;
}
.tmobile-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.80) 50%, rgba(23,105,170,.12)),
        url('https://images.unsplash.com/photo-1560185007-5f0bb1866cab?auto=format&fit=crop&w=1800&q=84');
}

@media (max-width: 1000px) {
    .frontier-brand-stage,
    .verizon-eligibility-grid,
    .verizon-setup-open .verizon-setup-stage,
    .tmobile-signal-grid,
    .tmobile-placement-grid,
    .tmobile-path-grid,
    .tmobile-routine-stage,
    .tmobile-terms-grid {
        grid-template-columns: 1fr;
    }
    .frontier-brand-checks {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .frontier-brand-checks article {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }
    .frontier-brand-checks article p {
        grid-column: 1;
    }
    .tmobile-signal-board {
        grid-template-columns: minmax(180px,.6fr) minmax(0,1.4fr);
    }
    .tmobile-routine-head {
        grid-row: auto;
    }
}
@media (max-width: 700px) {
    body:has(.verizon-eligibility-section) .page-hero h1 .title-line,
    body:has(.frontier-signal-section) .page-hero h1 .title-line {
        white-space: normal;
    }
    .frontier-brand-stage {
        padding: 18px 0;
    }
    .frontier-brand-checks,
    .verizon-dual-track,
    .tmobile-signal-board,
    .tmobile-routine-cards,
    .tmobile-term-list {
        grid-template-columns: 1fr;
    }
    .tmobile-placement-photo {
        min-height: 360px;
    }
    .tmobile-signal-board {
        padding: 18px;
        border-radius: 22px;
    }
    .tmobile-routine-photo {
        min-height: 280px;
    }
}


/* v17 mobile dock and Xfinity provider refresh */
@media (max-width: 900px) {
    html body.has-mobile-call-dock {
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    }
    html body > .mobile-call-dock {
        position: fixed !important;
        left: 10px !important;
        right: 10px !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        z-index: 2147483647 !important;
        display: flex !important;
        gap: 8px !important;
        align-items: stretch !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 8px !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
        background: rgba(255,255,255,.99) !important;
        border: 1px solid rgba(17,23,34,.15) !important;
        border-radius: 18px !important;
        box-shadow: 0 16px 42px rgba(17,23,34,.24) !important;
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }
    html body > .mobile-call-dock a {
        flex: 1 1 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 0 12px !important;
        border-radius: 12px !important;
        font-size: .84rem !important;
        font-weight: 850 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }
    html body > .mobile-call-dock .mobile-call-number {
        color: #fff !important;
        background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep)) !important;
    }
    html body > .mobile-call-dock .mobile-call-text {
        color: #fff !important;
        background: #1b2c44 !important;
    }
}
@media (min-width: 901px) {
    html body > .mobile-call-dock {
        display: none !important;
    }
}

/* T-Mobile refinements */
.tmobile-signal-board {
    grid-template-columns: 1fr;
    gap: 20px;
    border-radius: 28px;
}
.tmobile-logo-stage {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
    padding: 22px 24px;
}
.tmobile-logo-stage img {
    width: min(100%, 210px);
    max-height: 86px;
}
.tmobile-signal-rows {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.tmobile-signal-rows article {
    grid-template-columns: 48px 1fr;
    align-items: start;
    min-height: 100%;
}
.tmobile-placement-photo {
    min-height: 600px;
}
.tmobile-placement-list article {
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
}
.tmobile-placement-list article > div {
    min-width: 0;
}
.tmobile-placement-list article h3,
.tmobile-placement-list article p {
    grid-column: 2;
}
.tmobile-placement-list article p {
    max-width: 42ch;
}
.tmobile-routine-head > p:not(.eyebrow) {
    max-width: 38ch;
}
.tmobile-routine-notes {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}
.tmobile-routine-notes article {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
}
.tmobile-routine-notes article:last-child {
    border-bottom: 1px solid var(--line);
}
.tmobile-routine-notes span {
    color: var(--blue-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tmobile-routine-notes p {
    margin: 0;
    color: #5f6976;
    line-height: 1.7;
}

/* Xfinity provider page */
.xfinity-page .page-hero .hero-copy h1 {
    max-width: 10.5ch;
}
.xfinity-page .page-hero .hero-lead {
    max-width: 630px;
}
.xfinity-brand-section {
    background: #fff;
}
.xfinity-brand-grid {
    display: grid;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
    gap: 42px;
    align-items: stretch;
}
.xfinity-brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.xfinity-brand-copy > p:not(.eyebrow) {
    color: #5d6775;
    line-height: 1.74;
}
.xfinity-inline-call {
    align-self: flex-start;
    margin-top: 20px;
}
.xfinity-brand-board {
    padding: 28px;
    background: linear-gradient(180deg, #121a28 0%, #1c2940 100%);
    border-radius: 30px;
    display: grid;
    gap: 18px;
    min-height: 100%;
}
.xfinity-logo-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.xfinity-logo-row img {
    width: min(100%, 200px);
    max-height: 62px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
.xfinity-logo-row p {
    margin: 0;
    max-width: 28ch;
    color: #d5dce5;
    line-height: 1.65;
}
.xfinity-brand-checks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.xfinity-brand-checks article {
    min-height: 100%;
    padding: 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}
.xfinity-brand-checks article:hover {
    transform: translateY(-6px);
    border-color: rgba(23,105,170,.5);
    background: rgba(255,255,255,.13);
}
.xfinity-brand-checks span,
.xfinity-flow-stage span,
.xfinity-cost-cards span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    color: #fff;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
}
.xfinity-brand-checks h3,
.xfinity-room-list h3,
.xfinity-setup-cards h3,
.xfinity-usage-cards h3,
.xfinity-cost-cards h3 {
    white-space: nowrap;
}
.xfinity-brand-checks h3 {
    margin: 16px 0 8px;
    color: #fff;
}
.xfinity-brand-checks p {
    margin: 0;
    color: #d7dee7;
}
.xfinity-flow-section {
    background: #f7f8fa;
}
.xfinity-flow-stage {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: 42px;
    align-items: stretch;
}
.xfinity-flow-photo {
    margin: 0;
    min-height: 560px;
    overflow: hidden;
    border-radius: 34px 10px 34px 10px;
}
.xfinity-flow-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 650ms cubic-bezier(.16,1,.3,1);
}
.xfinity-flow-photo:hover img {
    transform: scale(1.04);
}
.xfinity-flow-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.xfinity-flow-copy > p:not(.eyebrow) {
    color: #5e6875;
    line-height: 1.74;
}
.xfinity-room-list {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}
.xfinity-room-list article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}
.xfinity-room-list h3 {
    margin: 0 0 6px;
}
.xfinity-room-list p {
    margin: 0;
    color: #67707d;
}
.xfinity-setup-section {
    background: #111722;
}
.xfinity-setup-head {
    max-width: 720px;
    margin-bottom: 28px;
}
.xfinity-setup-head h2,
.xfinity-setup-head > p:not(.eyebrow) {
    color: #fff;
}
.xfinity-setup-head > p:not(.eyebrow) {
    color: #d5dde6;
}
.xfinity-setup-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.xfinity-setup-cards article {
    min-height: 100%;
    padding: 24px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}
.xfinity-setup-cards article:hover {
    transform: translateY(-6px);
    background: rgba(255,255,255,.12);
    border-color: rgba(23, 105, 170,.46);
}
.xfinity-setup-icon,
.xfinity-usage-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
}
.xfinity-setup-icon svg,
.xfinity-usage-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.xfinity-setup-cards h3 {
    margin: 18px 0 8px;
    color: #fff;
}
.xfinity-setup-cards p {
    margin: 0;
    color: #d2d9e2;
}
.xfinity-usage-section {
    background: #fff;
}
.xfinity-usage-grid {
    display: grid;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
    gap: 42px;
    align-items: stretch;
}
.xfinity-usage-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.xfinity-usage-copy > p:not(.eyebrow) {
    color: #5e6875;
    line-height: 1.74;
}
.xfinity-usage-photo {
    margin: 0 0 18px;
    min-height: 290px;
    overflow: hidden;
    border-radius: 26px;
}
.xfinity-usage-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.xfinity-usage-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.xfinity-usage-cards article {
    min-height: 100%;
    padding: 20px;
    background: #f3f9ff;
    border-radius: 18px;
    transition: transform 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}
.xfinity-usage-cards article:hover {
    transform: translateY(-6px);
    background: #111722;
    box-shadow: 0 18px 38px rgba(17,23,34,.12);
}
.xfinity-usage-cards h3 {
    margin: 16px 0 8px;
}
.xfinity-usage-cards p {
    margin: 0;
    color: #68717e;
}
.xfinity-usage-cards article:hover h3,
.xfinity-usage-cards article:hover p {
    color: #fff;
}
.xfinity-cost-section {
    background: #f7f8fa;
}
.xfinity-cost-grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    gap: 40px;
    align-items: stretch;
}
.xfinity-cost-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.xfinity-cost-copy > p:not(.eyebrow) {
    color: #5f6976;
    line-height: 1.74;
}
.xfinity-cost-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.xfinity-cost-cards article {
    min-height: 100%;
    padding: 22px;
    background: #fff;
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
    transition: transform 240ms ease, box-shadow 240ms ease;
}
.xfinity-cost-cards article:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 32px rgba(17,23,34,.10);
}
.xfinity-cost-cards h3 {
    margin: 18px 0 8px;
}
.xfinity-cost-cards p {
    margin: 0;
    color: #67707d;
}
.xfinity-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.82) 48%, rgba(23,105,170,.14)),
        url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=84');
    background-size: cover;
    background-position: center 48%;
}

@media (max-width: 1000px) {
    .xfinity-brand-grid,
    .xfinity-flow-stage,
    .xfinity-usage-grid,
    .xfinity-cost-grid {
        grid-template-columns: 1fr;
    }
    .xfinity-brand-checks,
    .xfinity-setup-cards,
    .xfinity-usage-cards,
    .xfinity-cost-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .tmobile-signal-rows,
    .xfinity-brand-checks,
    .xfinity-setup-cards,
    .xfinity-usage-cards,
    .xfinity-cost-cards {
        grid-template-columns: 1fr;
    }
    .xfinity-logo-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .xfinity-flow-photo {
        min-height: 360px;
    }
    .xfinity-brand-board {
        padding: 20px;
    }
}


/* v18 tmobile and xfinity refinements */
.tmobile-signal-board {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-content: start;
}
.tmobile-logo-stage {
    padding: 28px 30px;
    align-items: flex-start;
    gap: 14px;
}
.tmobile-logo-stage p {
    margin: 0;
    max-width: 60ch;
    color: #d6dde6;
    line-height: 1.68;
}
.tmobile-signal-rows {
    grid-template-columns: 1fr;
    gap: 14px;
}
.tmobile-signal-rows article {
    grid-template-columns: 50px 1fr;
    gap: 16px;
    align-items: start;
}
.tmobile-signal-rows h3 {
    margin: 0 0 6px;
}
.tmobile-signal-rows p {
    margin: 0;
}
.tmobile-routine-head > p:not(.eyebrow) {
    max-width: 40ch;
}
.tmobile-routine-notes {
    display: grid;
    gap: 12px;
    margin-top: 10px;
}
.tmobile-routine-notes article {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--line);
}
.tmobile-routine-notes article:last-child {
    border-bottom: 1px solid var(--line);
}
.tmobile-routine-notes span {
    color: var(--blue-deep);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.tmobile-routine-notes p {
    margin: 0;
    color: #5f6976;
    line-height: 1.7;
}
.tmobile-inline-call {
    align-self: flex-start;
    margin-top: 18px;
}
.xfinity-page .page-hero .hero-copy h1 {
    max-width: 10.8ch;
}
.xfinity-access-section {
    background: #f7f8fa;
}
.xfinity-access-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 42px;
    align-items: stretch;
}
.xfinity-access-photo {
    min-height: 560px;
    margin: 0;
    overflow: hidden;
    border-radius: 32px;
}
.xfinity-access-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 650ms cubic-bezier(.16,1,.3,1);
}
.xfinity-access-photo:hover img {
    transform: scale(1.04);
}
.xfinity-access-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.xfinity-access-copy > p:not(.eyebrow) {
    color: #5e6875;
    line-height: 1.74;
}
.xfinity-access-list {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}
.xfinity-access-list article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}
.xfinity-access-list article span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 14px;
}
.xfinity-access-list h3 {
    margin: 0 0 6px;
    white-space: nowrap;
}
.xfinity-access-list p {
    margin: 0;
    color: #68717e;
}
.xfinity-usage-photo {
    min-height: 320px;
}
.xfinity-final .cta-shell {
    background-image:
        linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.82) 48%, rgba(23,105,170,.14)),
        url('https://images.unsplash.com/photo-1497366412874-3415097a27e7?auto=format&fit=crop&w=1800&q=84');
    background-size: cover;
    background-position: center 50%;
}
@media (max-width: 1000px) {
    .xfinity-access-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .tmobile-logo-stage,
    .tmobile-signal-board {
        padding: 20px;
    }
    .xfinity-access-photo {
        min-height: 360px;
    }
}


/* v19 xfinity and kinetic refinements */
.tmobile-logo-stage { justify-content:center; min-height:130px; }
.tmobile-logo-stage img { margin:0 auto; }
.xfinity-page .page-hero h1 .title-line { display:block; }
.xfinity-access-list .xfinity-access-icon { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:14px; }
.xfinity-access-list .xfinity-access-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.xfinity-access-list article { grid-template-columns:50px 1fr; align-items:start; }
.xfinity-usage-copy > p:not(.eyebrow) { max-width:42ch; }
.xfinity-cost-section { position:relative; overflow:hidden; background:#111722; }
.xfinity-cost-section::before { position:absolute; inset:-80px auto auto 58%; width:420px; height:420px; background:radial-gradient(circle,rgba(23, 105, 170,.22),rgba(23,105,170,0) 68%); content:""; pointer-events:none; }
.xfinity-cost-ledger { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:52px; align-items:stretch; }
.xfinity-cost-copy { display:flex; flex-direction:column; justify-content:center; }
.xfinity-cost-copy h2,.xfinity-cost-copy > p:not(.eyebrow) { color:#fff; }
.xfinity-cost-copy > p:not(.eyebrow) { color:#d3dbe4; line-height:1.75; }
.xfinity-ledger-lines { display:grid; align-content:center; }
.xfinity-ledger-lines article { display:grid; grid-template-columns:92px 1fr auto; gap:20px; align-items:center; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.14); transition:transform 240ms ease,border-color 240ms ease; }
.xfinity-ledger-lines article:first-child { border-top:1px solid rgba(255,255,255,.14); }
.xfinity-ledger-lines article:hover { transform:translateX(8px); border-color:rgba(23, 105, 170,.65); }
.xfinity-ledger-label { color:#83b9e8; font-size:.76rem; font-weight:850; letter-spacing:.08em; }
.xfinity-ledger-lines h3,.xfinity-ledger-lines p,.xfinity-ledger-lines strong { margin:0; }
.xfinity-ledger-lines h3 { color:#fff; white-space:nowrap; }
.xfinity-ledger-lines p { margin-top:7px; color:#d4dbe4; }
.xfinity-ledger-lines strong { color:#83b9e8; font-size:.82rem; white-space:nowrap; }
.kinetic-page .kinetic-hero .hero-copy h1 { max-width:12ch; }
.kinetic-network-section { background:#fff; }
.kinetic-network-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:46px; align-items:stretch; }
.kinetic-network-copy { display:flex; flex-direction:column; justify-content:center; }
.kinetic-network-copy > p:not(.eyebrow) { color:#5f6875; line-height:1.75; }
.kinetic-inline-call { align-self:flex-start; margin-top:18px; }
.kinetic-network-stage { display:grid; grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr); gap:18px; padding:24px; background:#111722; border-radius:32px; }
.kinetic-logo-panel { display:grid; place-items:center; min-height:100%; padding:26px; background:#fff; border-radius:24px; }
.kinetic-logo-panel img { width:min(100%,230px); max-height:120px; object-fit:contain; }
.kinetic-network-bands { display:grid; gap:12px; }
.kinetic-network-bands article { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:center; padding:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:18px; transition:transform 240ms ease,background-color 240ms ease,border-color 240ms ease; }
.kinetic-network-bands article:hover { transform:translateX(6px); background:rgba(255,255,255,.14); border-color:rgba(23,105,170,.5); }
.kinetic-network-bands article > span { display:grid; width:42px; height:42px; place-items:center; color:#fff; font-size:.76rem; font-weight:850; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:13px; }
.kinetic-network-bands h3 { color:#fff; white-space:nowrap; }
.kinetic-network-bands p { margin:6px 0 0; color:#d4dbe4; }
.kinetic-path-section { background:#111722; }
.kinetic-path-stage { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:42px; align-items:stretch; }
.kinetic-path-copy { display:flex; flex-direction:column; justify-content:center; }
.kinetic-path-copy h2,.kinetic-path-copy > p:not(.eyebrow) { color:#fff; }
.kinetic-path-copy > p:not(.eyebrow) { color:#d6dde5; line-height:1.75; }
.kinetic-path-steps { display:grid; gap:12px; margin-top:20px; }
.kinetic-path-steps article { display:grid; grid-template-columns:50px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.kinetic-path-icon { display:grid; width:44px; height:44px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:14px; }
.kinetic-path-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.kinetic-path-steps h3 { color:#fff; white-space:nowrap; }
.kinetic-path-steps p { margin:6px 0 0; color:#d4dbe4; }
.kinetic-path-photo { min-height:520px; margin:0; overflow:hidden; border-radius:10px 34px 10px 34px; }
.kinetic-path-photo img { width:100%; height:100%; object-fit:cover; transition:transform 650ms cubic-bezier(.16,1,.3,1); }
.kinetic-path-photo:hover img { transform:scale(1.045); }
.kinetic-install-section { background:#f7f8fa; }
.kinetic-install-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:42px; align-items:stretch; }
.kinetic-install-photo { min-height:560px; margin:0; overflow:hidden; border-radius:34px 8px 34px 8px; }
.kinetic-install-photo img { width:100%; height:100%; object-fit:cover; }
.kinetic-install-copy { display:flex; flex-direction:column; justify-content:center; }
.kinetic-install-copy > p:not(.eyebrow) { color:#606a77; line-height:1.74; }
.kinetic-install-checks { display:grid; gap:12px; margin-top:18px; }
.kinetic-install-checks article { display:grid; grid-template-columns:72px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.kinetic-install-checks article > span { color:var(--blue-deep); font-size:.72rem; font-weight:850; letter-spacing:.08em; }
.kinetic-install-checks h3 { white-space:nowrap; }
.kinetic-install-checks p { margin:6px 0 0; color:#66707c; }
.kinetic-routine-section { position:relative; overflow:hidden; background:#1b2c44; }
.kinetic-routine-section::before { position:absolute; inset:auto -120px -120px auto; width:360px; height:360px; background:radial-gradient(circle,rgba(23, 105, 170,.28),rgba(23,105,170,0) 68%); content:""; }
.kinetic-routine-stage { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:48px; align-items:stretch; }
.kinetic-routine-copy { display:flex; flex-direction:column; justify-content:center; }
.kinetic-routine-copy h2,.kinetic-routine-copy > p:not(.eyebrow) { color:#fff; }
.kinetic-routine-copy > p:not(.eyebrow) { color:#d7dfe9; line-height:1.75; }
.kinetic-routine-rail { display:grid; align-content:center; }
.kinetic-routine-rail article { display:grid; grid-template-columns:84px 170px 1fr; gap:16px; align-items:center; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.14); transition:transform 230ms ease,border-color 230ms ease; }
.kinetic-routine-rail article:first-child { border-top:1px solid rgba(255,255,255,.14); }
.kinetic-routine-rail article:hover { transform:translateX(8px); border-color:rgba(23, 105, 170,.68); }
.kinetic-routine-rail strong { color:#83b9e8; font-size:.75rem; letter-spacing:.08em; }
.kinetic-routine-rail h3 { color:#fff; white-space:nowrap; }
.kinetic-routine-rail p { margin:0; color:#d2dae4; }
.kinetic-terms-section { background:#fff; }
.kinetic-terms-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:44px; align-items:stretch; }
.kinetic-terms-copy { display:flex; flex-direction:column; justify-content:center; }
.kinetic-terms-copy > p:not(.eyebrow) { color:#606a77; line-height:1.74; }
.kinetic-term-ledger { display:grid; gap:0; }
.kinetic-term-ledger article { display:grid; grid-template-columns:92px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.kinetic-term-ledger article:first-child { border-top:1px solid var(--line); }
.kinetic-term-ledger article > span { color:var(--blue-deep); font-size:.72rem; font-weight:850; letter-spacing:.08em; }
.kinetic-term-ledger h3 { white-space:nowrap; }
.kinetic-term-ledger p { margin:6px 0 0; color:#67717e; }
.kinetic-final .cta-shell { background-image:linear-gradient(90deg,rgba(233,244,255,.97),rgba(233,244,255,.82) 48%,rgba(23,105,170,.14)),url('https://images.unsplash.com/photo-1713942590390-8b6b45e374b1?auto=format&fit=crop&w=1800&q=84'); background-size:cover; background-position:center 45%; }
@media (max-width:1000px) { .xfinity-cost-ledger,.kinetic-network-grid,.kinetic-path-stage,.kinetic-install-grid,.kinetic-routine-stage,.kinetic-terms-grid { grid-template-columns:1fr; } .kinetic-network-stage { grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr); } }
@media (max-width:700px) { .xfinity-cost-ledger { gap:28px; } .xfinity-ledger-lines article { grid-template-columns:72px 1fr; } .xfinity-ledger-lines strong { grid-column:2; } .kinetic-network-stage { grid-template-columns:1fr; padding:18px; border-radius:22px; } .kinetic-routine-rail article { grid-template-columns:74px 1fr; } .kinetic-routine-rail article p { grid-column:2; } .kinetic-install-photo,.kinetic-path-photo { min-height:360px; } }


/* v21 provider refinements */
html body > .mobile-call-dock {
    position: fixed !important;
}
@media (max-width: 1024px) {
    html body > .mobile-call-dock {
        left: 12px !important;
        right: 12px !important;
        bottom: calc(12px + env(safe-area-inset-bottom)) !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 2147483647 !important;
        transform: none !important;
    }
}

.xfinity-page .page-hero h1,
.kinetic-page .page-hero h1,
.earthlink-page .page-hero h1 {
    max-width: 12ch;
}
.xfinity-page .page-hero h1 .title-line,
.kinetic-page .page-hero h1 .title-line,
.earthlink-page .page-hero h1 .title-line {
    width: max-content;
    max-width: 100%;
}

/* Kinetic v21 */
.kinetic-terms-section {
    background: linear-gradient(180deg, #f8f5f1 0%, #fff 100%);
}
.kinetic-terms-shell {
    display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: 42px;
    align-items: stretch;
}
.kinetic-terms-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
}
.kinetic-terms-points article {
    position: relative;
    padding: 26px 24px;
    background: #fff;
    border: 1px solid rgba(17,23,34,.08);
    border-radius: 24px;
    box-shadow: 0 18px 34px rgba(17,23,34,.08);
    overflow: hidden;
    transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}
.kinetic-terms-points article::after {
    position: absolute;
    inset: auto -50px -50px auto;
    width: 140px;
    height: 140px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(23,105,170,.12), rgba(23,105,170,0) 68%);
    content: "";
    transition: transform 260ms ease;
}
.kinetic-terms-points article:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 42px rgba(17,23,34,.12);
    border-color: rgba(23, 105, 170,.24);
}
.kinetic-terms-points article:hover::after {
    transform: scale(1.12);
}
.kinetic-terms-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 10px 14px;
    color: var(--blue-deep);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    background: rgba(23,105,170,.08);
    border-radius: 999px;
}
.kinetic-terms-points h3 {
    margin: 18px 0 10px;
    white-space: nowrap;
}
.kinetic-terms-points p {
    margin: 0;
    color: #66717e;
    line-height: 1.7;
}

/* EarthLink */
.earthlink-page .earthlink-hero .hero-copy h1 {
    max-width: 12ch;
}
.earthlink-signal-section {
    background: #fff;
}
.earthlink-signal-grid {
    display: grid;
    grid-template-columns: minmax(0,.76fr) minmax(0,1.24fr);
    gap: 42px;
    align-items: stretch;
}
.earthlink-signal-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.earthlink-inline-call {
    align-self:flex-start;
    margin-top:18px;
}
.earthlink-signal-copy > p:not(.eyebrow) {
    color:#616b78;
    line-height:1.76;
}
.earthlink-signal-board {
    display:grid;
    grid-template-columns:minmax(210px,.74fr) minmax(0,1.26fr);
    gap:18px;
    padding:24px;
    background:#111722;
    border-radius:34px;
}
.earthlink-signal-brand {
    display:grid;
    place-items:center;
    padding:28px;
    background:#fff;
    border-radius:24px;
}
.earthlink-signal-brand img {
    width:min(100%, 230px);
    max-height:120px;
    object-fit:contain;
}
.earthlink-signal-cues {
    display:grid;
    gap:12px;
}
.earthlink-signal-cues article {
    display:grid;
    grid-template-columns:44px 1fr;
    gap:14px;
    align-items:start;
    padding:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}
.earthlink-signal-cues article:hover {
    transform: translateX(6px);
    border-color: rgba(23,105,170,.55);
    background: rgba(255,255,255,.12);
}
.earthlink-signal-cues span {
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    color:#fff;
    font-size:.76rem;
    font-weight:850;
    background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep));
    border-radius:13px;
}
.earthlink-signal-cues h3 { color:#fff; white-space:nowrap; }
.earthlink-signal-cues p { margin:6px 0 0; color:#d4dbe4; }

.earthlink-route-section {
    background:#111722;
}
.earthlink-route-wrap {
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:42px;
    align-items:stretch;
}
.earthlink-route-photo {
    min-height:560px;
    margin:0;
    overflow:hidden;
    border-radius: 10px 34px 10px 34px;
}
.earthlink-route-photo img {
    width:100%; height:100%; object-fit:cover;
}
.earthlink-route-copy {
    display:flex; flex-direction:column; justify-content:center;
}
.earthlink-route-copy h2,
.earthlink-route-copy > p:not(.eyebrow) { color:#fff; }
.earthlink-route-copy > p:not(.eyebrow) { color:#d5dce6; line-height:1.76; }
.earthlink-route-steps { display:grid; gap:12px; margin-top:18px; }
.earthlink-route-steps article { display:grid; grid-template-columns:94px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.12); transition:transform 220ms ease,border-color 220ms ease; }
.earthlink-route-steps article:first-child { border-top:1px solid rgba(255,255,255,.12); }
.earthlink-route-steps article:hover { transform:translateX(8px); border-color:rgba(23,105,170,.5); }
.earthlink-route-steps strong { color:#83b9e8; font-size:.74rem; letter-spacing:.08em; }
.earthlink-route-steps h3 { color:#fff; white-space:nowrap; }
.earthlink-route-steps p { margin:6px 0 0; color:#d3dbe4; }

.earthlink-install-section {
    background:#f7f8fa;
}
.earthlink-install-grid {
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:42px;
    align-items:stretch;
}
.earthlink-install-copy {
    display:flex; flex-direction:column; justify-content:center;
}
.earthlink-install-copy > p:not(.eyebrow) { color:#606a77; line-height:1.75; }
.earthlink-install-panels { display:grid; gap:14px; margin-top:18px; }
.earthlink-install-panels article {
    display:grid; grid-template-columns:54px 1fr; gap:14px; align-items:start; padding:18px; background:#fff; border:1px solid rgba(17,23,34,.08); border-radius:20px; transition:transform 230ms ease, box-shadow 230ms ease;
}
.earthlink-install-panels article:hover { transform:translateY(-5px); box-shadow:0 18px 30px rgba(17,23,34,.08); }
.earthlink-install-icon { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:14px; }
.earthlink-install-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.earthlink-install-panels h3 { white-space:nowrap; }
.earthlink-install-panels p { margin:6px 0 0; color:#66707d; }
.earthlink-install-photo { margin:0; min-height:560px; overflow:hidden; border-radius:34px 8px 34px 8px; }
.earthlink-install-photo img { width:100%; height:100%; object-fit:cover; }

.earthlink-usage-section { background:#fff; }
.earthlink-usage-shell { display:grid; gap:28px; }
.earthlink-usage-head { max-width:62ch; }
.earthlink-usage-head > p:not(.eyebrow) { color:#606a77; line-height:1.74; }
.earthlink-usage-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.earthlink-usage-cards article { padding:24px; background:linear-gradient(180deg,#fff,#fff7f2); border:1px solid rgba(23,105,170,.12); border-radius:22px; box-shadow:0 14px 28px rgba(17,23,34,.05); transition:transform 230ms ease, box-shadow 230ms ease; }
.earthlink-usage-cards article:hover { transform:translateY(-7px); box-shadow:0 18px 32px rgba(17,23,34,.09); }
.earthlink-usage-cards span { color:var(--blue-deep); font-size:.74rem; font-weight:850; letter-spacing:.08em; }
.earthlink-usage-cards h3 { margin:14px 0 10px; white-space:nowrap; }
.earthlink-usage-cards p { margin:0; color:#68717d; }

.earthlink-terms-section { position:relative; overflow:hidden; background:#1b2c44; }
.earthlink-terms-section::before { position:absolute; inset:auto auto -160px 62%; width:360px; height:360px; content:""; background:radial-gradient(circle, rgba(23, 105, 170,.3), rgba(23,105,170,0) 68%); }
.earthlink-terms-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); gap:44px; align-items:stretch; }
.earthlink-terms-copy { display:flex; flex-direction:column; justify-content:center; }
.earthlink-terms-copy h2,.earthlink-terms-copy > p:not(.eyebrow) { color:#fff; }
.earthlink-terms-copy > p:not(.eyebrow) { color:#d3dbe5; line-height:1.76; }
.earthlink-terms-track { display:grid; align-content:center; }
.earthlink-terms-track article { display:grid; grid-template-columns:78px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.14); transition:transform 240ms ease,border-color 240ms ease; }
.earthlink-terms-track article:first-child { border-top:1px solid rgba(255,255,255,.14); }
.earthlink-terms-track article:hover { transform:translateX(8px); border-color:rgba(23, 105, 170,.58); }
.earthlink-terms-track strong { color:#83b9e8; font-size:.76rem; letter-spacing:.08em; }
.earthlink-terms-track h3 { color:#fff; white-space:nowrap; }
.earthlink-terms-track p { margin:6px 0 0; color:#d2dbe5; }
.earthlink-final .cta-shell {
    background-image: linear-gradient(90deg, rgba(233,244,255,.97), rgba(233,244,255,.82) 48%, rgba(23,105,170,.14)), url('https://images.unsplash.com/photo-1516321497487-e288fb19713f?auto=format&fit=crop&w=1800&q=84');
    background-size:cover; background-position:center 45%;
}

@media (max-width: 1000px) {
    .kinetic-terms-shell,
    .earthlink-signal-grid,
    .earthlink-route-wrap,
    .earthlink-install-grid,
    .earthlink-terms-grid {
        grid-template-columns: 1fr;
    }
    .earthlink-signal-board {
        grid-template-columns: minmax(180px,.66fr) minmax(0,1.34fr);
    }
    .earthlink-usage-cards {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 700px) {
    .kinetic-terms-points,
    .earthlink-usage-cards {
        grid-template-columns: 1fr;
    }
    .earthlink-signal-board {
        grid-template-columns: 1fr;
        padding: 18px;
        border-radius: 24px;
    }
    .earthlink-route-steps article,
    .earthlink-terms-track article {
        grid-template-columns: 72px 1fr;
    }
    .earthlink-route-photo,
    .earthlink-install-photo {
        min-height: 360px;
    }
}


/* v22 earthlink + cox refinements */
.xfinity-page .page-hero h1,
.kinetic-page .page-hero h1,
.earthlink-page .page-hero h1,
.cox-page .page-hero h1 {
    max-width: none;
}
.xfinity-page .page-hero h1 .title-line,
.kinetic-page .page-hero h1 .title-line,
.earthlink-page .page-hero h1 .title-line,
.cox-page .page-hero h1 .title-line {
    display: block;
    width: 100%;
    white-space: nowrap;
}
.earthlink-page .page-hero h1 { max-width: 15ch; }
.xfinity-page .page-hero h1 { max-width: 15ch; }
.kinetic-page .page-hero h1 { max-width: 15ch; }
.cox-page .page-hero h1 { max-width: 15ch; }

.earthlink-signal-grid {
    display:grid;
    grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
    gap:42px;
    align-items:stretch;
}
.earthlink-signal-stage {
    display:grid;
    grid-template-rows:auto 1fr;
    gap:18px;
    padding:24px;
    background:#111722;
    border-radius:34px;
}
.earthlink-signal-mark {
    display:grid;
    grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);
    gap:18px;
    align-items:center;
    padding:22px;
    background:#fff;
    border-radius:24px;
}
.earthlink-signal-mark img { width:min(100%,220px); max-height:92px; object-fit:contain; }
.earthlink-signal-mark p { margin:0; color:#5f6976; line-height:1.7; }
.earthlink-signal-cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.earthlink-signal-cards article {
    min-width:0;
    padding:22px 18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    transition:transform 240ms ease,border-color 240ms ease, background-color 240ms ease;
}
.earthlink-signal-cards article:hover { transform:translateY(-6px); border-color:rgba(23,105,170,.55); background:rgba(255,255,255,.12); }
.earthlink-signal-cards span {
    display:inline-grid;
    place-items:center;
    min-width:42px;
    height:42px;
    padding:0 12px;
    color:#fff;
    font-size:.76rem;
    font-weight:850;
    background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep));
    border-radius:14px;
}
.earthlink-signal-cards h3 { margin:18px 0 10px; color:#fff; white-space:nowrap; }
.earthlink-signal-cards p { margin:0; color:#d2dbe4; line-height:1.7; }

.earthlink-route-photo img,
.earthlink-install-photo img,
.cox-install-photo img {
    display:block;
}

.earthlink-usage-head { max-width:72ch; }
.earthlink-usage-head > p:not(.eyebrow) { max-width:58ch; }
.earthlink-usage-cards article {
    display:flex;
    flex-direction:column;
    gap:0;
}
.earthlink-usage-cards article .btn { margin-top:auto; }
.earthlink-usage-cards .btn {
    width:100%;
    margin-top:20px;
}

.cox-page .cox-hero .hero-copy h1 { max-width:15ch; }
.cox-address-section { background:#fff; }
.cox-address-grid {
    display:grid;
    grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
    gap:42px;
    align-items:stretch;
}
.cox-address-copy,
.cox-usage-copy,
.cox-install-copy { display:flex; flex-direction:column; justify-content:center; }
.cox-inline-call { align-self:flex-start; margin-top:18px; }
.cox-address-copy > p:not(.eyebrow),
.cox-usage-copy > p:not(.eyebrow) { color:#606a77; line-height:1.76; }
.cox-address-stage {
    display:grid;
    grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);
    gap:18px;
    padding:22px;
    background:#111722;
    border-radius:34px;
}
.cox-address-brand {
    display:grid;
    place-items:center;
    padding:26px;
    background:#fff;
    border-radius:22px;
}
.cox-address-brand img { width:min(100%,200px); max-height:100px; object-fit:contain; }
.cox-address-cards { display:grid; gap:14px; }
.cox-address-cards article {
    padding:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    transition:transform 220ms ease, border-color 220ms ease;
}
.cox-address-cards article:hover { transform:translateX(6px); border-color:rgba(23,105,170,.55); }
.cox-address-cards span {
    display:inline-grid; place-items:center; min-width:42px; height:42px; padding:0 12px; color:#fff; font-size:.76rem; font-weight:850; border-radius:13px; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep));
}
.cox-address-cards h3 { margin:16px 0 10px; color:#fff; white-space:nowrap; }
.cox-address-cards p { margin:0; color:#d4dbe4; }

.cox-install-section { background:#111722; }
.cox-install-wrap {
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:42px;
    align-items:stretch;
}
.cox-install-photo { min-height:540px; margin:0; overflow:hidden; border-radius:12px 32px 12px 32px; }
.cox-install-photo img { width:100%; height:100%; object-fit:cover; }
.cox-install-copy h2,.cox-install-copy > p:not(.eyebrow) { color:#fff; }
.cox-install-copy > p:not(.eyebrow) { color:#d2dae4; line-height:1.76; }
.cox-install-steps { display:grid; gap:12px; margin-top:18px; }
.cox-install-steps article { display:grid; grid-template-columns:88px 1fr; gap:14px; padding:18px 0; border-top:1px solid rgba(255,255,255,.12); }
.cox-install-steps article:last-child { border-bottom:1px solid rgba(255,255,255,.12); }
.cox-install-steps strong { color:#83b9e8; font-size:.76rem; letter-spacing:.08em; }
.cox-install-steps h3 { color:#fff; white-space:nowrap; }
.cox-install-steps p { margin:6px 0 0; color:#d4dbe4; }

.cox-usage-section { background:#f7f8fa; }
.cox-usage-grid {
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    gap:42px;
    align-items:stretch;
}
.cox-usage-panels {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.cox-usage-panels article {
    padding:24px;
    background:#fff;
    border:1px solid rgba(17,23,34,.08);
    border-radius:22px;
    box-shadow:0 14px 28px rgba(17,23,34,.05);
    transition:transform 220ms ease, box-shadow 220ms ease;
}
.cox-usage-panels article:hover { transform:translateY(-6px); box-shadow:0 18px 32px rgba(17,23,34,.08); }
.cox-usage-panels span { color:var(--blue-deep); font-size:.74rem; font-weight:850; letter-spacing:.08em; }
.cox-usage-panels h3 { margin:14px 0 10px; white-space:nowrap; }
.cox-usage-panels p { margin:0; color:#68717d; }

.cox-terms-section { background:#fff; }
.cox-terms-shell { display:grid; gap:28px; }
.cox-terms-head { max-width:62ch; }
.cox-terms-head > p:not(.eyebrow) { color:#606a77; line-height:1.76; }
.cox-terms-cards {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.cox-terms-cards article {
    position:relative;
    overflow:hidden;
    padding:24px;
    background:linear-gradient(180deg,#fff,#fff7f2);
    border:1px solid rgba(23,105,170,.14);
    border-radius:24px;
    transition:transform 240ms ease, box-shadow 240ms ease;
}
.cox-terms-cards article::after {
    content:"";
    position:absolute;
    inset:auto -40px -46px auto;
    width:120px;
    height:120px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(23,105,170,.12), rgba(23,105,170,0) 68%);
}
.cox-terms-cards article:hover { transform:translateY(-6px); box-shadow:0 18px 34px rgba(17,23,34,.08); }
.cox-terms-cards span { display:inline-grid; place-items:center; min-width:42px; height:42px; padding:0 12px; color:var(--blue-deep); font-size:.76rem; font-weight:850; background:rgba(23,105,170,.08); border-radius:14px; }
.cox-terms-cards h3 { margin:16px 0 10px; white-space:nowrap; }
.cox-terms-cards p { margin:0; color:#68717d; }
.cox-final .cta-shell {
    background-image:linear-gradient(90deg,rgba(233,244,255,.97),rgba(233,244,255,.82) 48%,rgba(23,105,170,.14)),url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=84');
    background-size:cover;
    background-position:center 45%;
}

@media (max-width:1000px) {
    .earthlink-signal-grid,
    .earthlink-route-wrap,
    .cox-address-grid,
    .cox-install-wrap,
    .cox-usage-grid {
        grid-template-columns:1fr;
    }
    .earthlink-signal-cards,
    .cox-terms-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cox-address-stage { grid-template-columns:minmax(180px,.66fr) minmax(0,1.34fr); }
}
@media (max-width:700px) {
    .xfinity-page .page-hero h1 .title-line,
    .kinetic-page .page-hero h1 .title-line,
    .earthlink-page .page-hero h1 .title-line,
    .cox-page .page-hero h1 .title-line {
        white-space: normal;
    }
    .earthlink-signal-mark,
    .cox-address-stage,
    .earthlink-signal-cards,
    .earthlink-usage-cards,
    .cox-usage-panels,
    .cox-terms-cards { grid-template-columns:1fr; }
    .earthlink-signal-stage { padding:18px; border-radius:24px; }
    .cox-install-photo,
    .earthlink-route-photo { min-height:360px; }
    .cox-install-steps article,
    .earthlink-route-steps article { grid-template-columns:72px 1fr; }
}


/* v23 provider title + earthlink + cox + spectrum */
.xfinity-page .page-hero .provider-three-line-title,
.kinetic-page .page-hero .provider-three-line-title,
.earthlink-page .page-hero .provider-three-line-title,
.cox-page .page-hero .provider-three-line-title,
.spectrum-page .page-hero .provider-three-line-title {
    max-width: 11.5ch;
    font-size: clamp(3.2rem, 4.7vw, 4.65rem);
    line-height: 0.94;
    letter-spacing: -0.045em;
}
.xfinity-page .provider-three-line-title .title-line,
.kinetic-page .provider-three-line-title .title-line,
.earthlink-page .provider-three-line-title .title-line,
.cox-page .provider-three-line-title .title-line,
.spectrum-page .provider-three-line-title .title-line {
    display:block;
    width:max-content;
    max-width:100%;
    white-space:nowrap;
}
.earthlink-signal-cards article { display:flex; flex-direction:column; }
.earthlink-card-call { width:100%; margin-top:20px; }
.earthlink-usage-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:36px; align-items:stretch; }
.earthlink-usage-copy { display:flex; flex-direction:column; }
.earthlink-usage-copy > p:not(.eyebrow) { color:#606a77; line-height:1.72; }
.earthlink-usage-photo { min-height:300px; margin:20px 0 0; overflow:hidden; border-radius:28px; }
.earthlink-usage-photo img { width:100%; height:100%; object-fit:cover; transition:transform 650ms cubic-bezier(.16,1,.3,1); }
.earthlink-usage-photo:hover img { transform:scale(1.045); }
.earthlink-usage-layout .earthlink-usage-cards { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:stretch; }
.earthlink-usage-layout .earthlink-usage-cards article { min-height:100%; }
.earthlink-usage-layout .earthlink-usage-cards article .btn { width:100%; margin-top:22px; }

.cox-address-section { background:#f7f8fa; }
.cox-address-ledger { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:42px; align-items:stretch; }
.cox-address-head { display:flex; flex-direction:column; justify-content:center; }
.cox-address-head > p:not(.eyebrow) { color:#5f6976; line-height:1.75; }
.cox-address-route { display:grid; grid-template-columns:150px 1fr; gap:0 22px; align-content:center; padding:28px; background:#111722; border-radius:30px; }
.cox-address-logo { grid-row:1/4; display:grid; place-items:center; min-height:100%; padding:18px; background:#fff; border-radius:22px; }
.cox-address-logo img { width:min(100%,130px); max-height:76px; object-fit:contain; }
.cox-address-route article { display:grid; grid-template-columns:50px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); transition:transform 220ms ease,border-color 220ms ease; }
.cox-address-route article:last-child { border-bottom:0; }
.cox-address-route article:hover { transform:translateX(7px); border-color:rgba(23,105,170,.55); }
.cox-route-icon { display:grid; width:44px; height:44px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:14px; }
.cox-route-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.cox-address-route h3 { color:#fff; white-space:nowrap; }
.cox-address-route p { margin:6px 0 0; color:#d3dbe4; }

.spectrum-inline-call { align-self:flex-start; margin-top:18px; }
.spectrum-footprint-section { background:#fff; }
.spectrum-footprint-grid { display:grid; grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr); gap:42px; align-items:stretch; }
.spectrum-footprint-copy { display:flex; flex-direction:column; justify-content:center; }
.spectrum-footprint-copy > p:not(.eyebrow) { color:#5f6976; line-height:1.75; }
.spectrum-footprint-board { display:grid; grid-template-columns:210px 1fr; gap:18px; padding:24px; background:#111722; border-radius:32px; }
.spectrum-logo-slab { display:grid; place-items:center; padding:24px; background:#fff; border-radius:22px; }
.spectrum-logo-slab img { width:min(100%,170px); max-height:90px; object-fit:contain; }
.spectrum-footprint-rail { display:grid; gap:12px; }
.spectrum-footprint-rail article { display:grid; grid-template-columns:84px 1fr; gap:14px; align-items:start; padding:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:18px; transition:transform 230ms ease,border-color 230ms ease,background-color 230ms ease; }
.spectrum-footprint-rail article:hover { transform:translateX(7px); border-color:rgba(23,105,170,.5); background:rgba(255,255,255,.12); }
.spectrum-footprint-rail span { color:#83b9e8; font-size:.72rem; font-weight:850; letter-spacing:.08em; }
.spectrum-footprint-rail h3 { color:#fff; white-space:nowrap; }
.spectrum-footprint-rail p { margin:6px 0 0; color:#d3dbe4; }
.spectrum-room-section { background:#1b2c44; }
.spectrum-room-stage { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:42px; align-items:stretch; }
.spectrum-room-copy { display:flex; flex-direction:column; justify-content:center; }
.spectrum-room-copy h2,.spectrum-room-copy > p:not(.eyebrow) { color:#fff; }
.spectrum-room-copy > p:not(.eyebrow) { color:#d5dde6; line-height:1.75; }
.spectrum-room-chips { display:grid; gap:12px; margin-top:18px; }
.spectrum-room-chips article { display:grid; grid-template-columns:48px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.spectrum-room-chips span { display:grid; width:42px; height:42px; place-items:center; color:#fff; font-size:.76rem; font-weight:850; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:13px; }
.spectrum-room-chips h3 { color:#fff; white-space:nowrap; }
.spectrum-room-chips p { margin:6px 0 0; color:#d3dbe4; }
.spectrum-room-photo { min-height:560px; margin:0; overflow:hidden; border-radius:34px 8px 34px 8px; }
.spectrum-room-photo img { width:100%; height:100%; object-fit:cover; }
.spectrum-hardware-section { background:#f7f8fa; }
.spectrum-hardware-shell { display:grid; grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); grid-template-areas:'head photo' 'ladder photo'; gap:22px 42px; align-items:stretch; }
.spectrum-hardware-head { grid-area:head; }
.spectrum-hardware-head > p:not(.eyebrow) { color:#5f6976; line-height:1.75; }
.spectrum-hardware-ladder { grid-area:ladder; display:grid; align-content:start; }
.spectrum-hardware-ladder article { display:grid; grid-template-columns:54px 1fr; gap:14px; padding:17px 0; border-top:1px solid var(--line); transition:transform 220ms ease; }
.spectrum-hardware-ladder article:hover { transform:translateX(7px); }
.spectrum-hardware-icon { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue-bright),var(--blue-deep)); border-radius:14px; }
.spectrum-hardware-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.spectrum-hardware-ladder h3 { white-space:nowrap; }
.spectrum-hardware-ladder p { margin:6px 0 0; color:#68717d; }
.spectrum-hardware-photo { grid-area:photo; min-height:100%; margin:0; overflow:hidden; border-radius:10px 32px 10px 32px; }
.spectrum-hardware-photo img { width:100%; height:100%; object-fit:cover; }
.spectrum-evening-section { background:#fff; }
.spectrum-evening-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:42px; align-items:stretch; }
.spectrum-evening-copy { display:flex; flex-direction:column; justify-content:center; }
.spectrum-evening-copy > p:not(.eyebrow) { color:#606a77; line-height:1.75; }
.spectrum-evening-matrix { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.spectrum-evening-matrix article { padding:24px; background:linear-gradient(180deg,#fff,#fff7f2); border:1px solid rgba(23,105,170,.14); border-radius:22px; box-shadow:0 14px 28px rgba(17,23,34,.05); transition:transform 230ms ease,box-shadow 230ms ease; }
.spectrum-evening-matrix article:hover { transform:translateY(-6px); box-shadow:0 18px 32px rgba(17,23,34,.08); }
.spectrum-evening-matrix span { color:var(--blue-deep); font-size:.72rem; font-weight:850; letter-spacing:.08em; }
.spectrum-evening-matrix h3 { margin:14px 0 10px; white-space:nowrap; }
.spectrum-evening-matrix p { margin:0; color:#68717d; }
.spectrum-bill-section { background:#111722; }
.spectrum-bill-grid { display:grid; grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr); gap:44px; align-items:stretch; }
.spectrum-bill-copy { display:flex; flex-direction:column; justify-content:center; }
.spectrum-bill-copy h2,.spectrum-bill-copy > p:not(.eyebrow) { color:#fff; }
.spectrum-bill-copy > p:not(.eyebrow) { color:#d4dce5; line-height:1.75; }
.spectrum-bill-lines { display:grid; align-content:center; }
.spectrum-bill-lines article { display:grid; grid-template-columns:84px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.14); transition:transform 230ms ease,border-color 230ms ease; }
.spectrum-bill-lines article:first-child { border-top:1px solid rgba(255,255,255,.14); }
.spectrum-bill-lines article:hover { transform:translateX(8px); border-color:rgba(23, 105, 170,.58); }
.spectrum-bill-lines strong { color:#83b9e8; font-size:.74rem; letter-spacing:.08em; }
.spectrum-bill-lines h3 { color:#fff; white-space:nowrap; }
.spectrum-bill-lines p { margin:6px 0 0; color:#d3dbe4; }
.spectrum-final .cta-shell { background-image:linear-gradient(90deg,rgba(233,244,255,.97),rgba(233,244,255,.82) 48%,rgba(23,105,170,.14)),url('https://images.unsplash.com/photo-1476703993599-0035a21b17a9?auto=format&fit=crop&w=1800&q=84'); background-size:cover; background-position:center 45%; }

@media (max-width:1000px) {
  .earthlink-usage-layout,.cox-address-ledger,.spectrum-footprint-grid,.spectrum-room-stage,.spectrum-hardware-shell,.spectrum-evening-grid,.spectrum-bill-grid { grid-template-columns:1fr; }
  .spectrum-hardware-shell { grid-template-areas:'head' 'photo' 'ladder'; }
}
@media (max-width:700px) {
  .xfinity-page .provider-three-line-title .title-line,.kinetic-page .provider-three-line-title .title-line,.earthlink-page .provider-three-line-title .title-line,.cox-page .provider-three-line-title .title-line,.spectrum-page .provider-three-line-title .title-line { white-space:normal; }
  .earthlink-usage-layout .earthlink-usage-cards,.spectrum-evening-matrix { grid-template-columns:1fr; }
  .cox-address-route,.spectrum-footprint-board { grid-template-columns:1fr; }
  .cox-address-logo { grid-row:auto; min-height:140px; }
  .spectrum-room-photo { min-height:360px; }
  .spectrum-footprint-rail article { grid-template-columns:70px 1fr; }
}


/* === v24 focused refinements and QA hardening === */
.earthlink-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}
.earthlink-card-heading span {
    flex: 0 0 auto;
}
.earthlink-card-heading h3 {
    margin: 0;
}
.earthlink-signal-cards article > p {
    margin-top: 14px;
}
.earthlink-card-call {
    width: 100%;
    margin-top: 20px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: .78rem;
    white-space: nowrap;
}

.cox-term-icon {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
}
.cox-term-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.cox-terms-cards article {
    display: flex;
    flex-direction: column;
}
.cox-term-call {
    width: 100%;
    margin-top: 22px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: .78rem;
    white-space: nowrap;
}

.spectrum-footprint-section {
    background: #f7f8fa;
}
.spectrum-property-grid {
    display: grid;
    grid-template-columns: minmax(0,.76fr) minmax(0,1.24fr);
    gap: 42px;
    align-items: stretch;
}
.spectrum-property-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.spectrum-property-copy > p:not(.eyebrow) {
    color: #5f6976;
    line-height: 1.75;
}
.spectrum-property-visual {
    display: grid;
    grid-template-rows: minmax(300px, 1fr) auto;
    min-width: 0;
    overflow: hidden;
    background: #111722;
    border-radius: 30px;
}
.spectrum-property-photo {
    position: relative;
    min-height: 340px;
    margin: 0;
    overflow: hidden;
}
.spectrum-property-photo > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 650ms cubic-bezier(.16,1,.3,1);
}
.spectrum-property-visual:hover .spectrum-property-photo > img {
    transform: scale(1.035);
}
.spectrum-property-logo {
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 150px;
    min-height: 76px;
    place-items: center;
    padding: 12px 16px;
    background: rgba(255,255,255,.95);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.spectrum-property-logo img {
    width: 100%;
    max-height: 54px;
    object-fit: contain;
}
.spectrum-property-checks {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1px;
    background: rgba(255,255,255,.1);
}
.spectrum-property-checks article {
    min-width: 0;
    padding: 20px;
    background: #111722;
    transition: background-color 220ms ease, transform 220ms ease;
}
.spectrum-property-checks article:hover {
    background: #1b2c44;
}
.spectrum-property-checks span {
    color: #83b9e8;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
}
.spectrum-property-checks h3 {
    margin: 10px 0 8px;
    color: #fff;
    white-space: nowrap;
}
.spectrum-property-checks p {
    margin: 0;
    color: #d3dbe4;
    line-height: 1.6;
}

/* Global overflow protection without forced heights. */
img,
svg,
video {
    max-width: 100%;
}
main,
section,
.container {
    min-width: 0;
}

@media (max-width: 1000px) {
    .spectrum-property-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .spectrum-property-checks {
        grid-template-columns: 1fr;
    }
    .spectrum-property-visual {
        border-radius: 22px;
    }
    .spectrum-property-photo {
        min-height: 300px;
    }
    .spectrum-property-logo {
        width: 126px;
    }
    .earthlink-card-call,
    .cox-term-call {
        font-size: .74rem;
    }
}


/* v26 Spectrum identity section + final mobile dock placement */
.spectrum-brand-section {
    background: #fff;
}
.spectrum-brand-wrap {
    display: grid;
    gap: 28px;
}
.spectrum-brand-head {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.spectrum-brand-head .eyebrow {
    margin-right: auto;
    margin-left: auto;
}
.spectrum-brand-head > p:not(.eyebrow) {
    margin-right: auto;
    margin-left: auto;
    max-width: 62ch;
    color: #5f6976;
    line-height: 1.75;
}
.spectrum-brand-ribbon {
    display: grid;
    grid-template-columns: minmax(220px,.72fr) minmax(0,1.28fr);
    gap: 0;
    overflow: hidden;
    background: #111722;
    border-radius: 28px;
    box-shadow: 0 22px 44px rgba(17,23,34,.13);
}
.spectrum-brand-logo-panel {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 18px;
    min-height: 310px;
    padding: 38px 32px;
    background: #fff;
}
.spectrum-brand-logo-panel img {
    width: min(100%, 245px);
    max-height: 110px;
    object-fit: contain;
}
.spectrum-brand-logo-panel span {
    color: #68717e;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.spectrum-brand-checkpoints {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    align-items: stretch;
}
.spectrum-brand-checkpoints article {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    padding: 30px 24px;
    border-left: 1px solid rgba(255,255,255,.1);
    transition: background-color 230ms ease, transform 230ms ease;
}
.spectrum-brand-checkpoints article:hover {
    background: #1b2c44;
    transform: translateY(-4px);
}
.spectrum-brand-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
    transition: transform 230ms ease;
}
.spectrum-brand-checkpoints article:hover .spectrum-brand-icon {
    transform: rotate(-6deg) scale(1.06);
}
.spectrum-brand-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.spectrum-brand-checkpoints h3 {
    margin: 0;
    color: #fff;
    white-space: nowrap;
}
.spectrum-brand-checkpoints p {
    margin: 0;
    color: #d4dbe4;
    line-height: 1.68;
}
.spectrum-brand-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.spectrum-brand-footer p {
    margin: 0;
    color: #68717e;
}
.spectrum-brand-call {
    flex: 0 0 auto;
    margin: 0;
}

/* Keep the mobile dock above browser UI / tall emulated viewports. */
@media (max-width:1024px) {
    html body > #mobile-call-dock {
        position: fixed !important;
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 2147483647 !important;
        transform: translateZ(0) !important;
        isolation: isolate;
    }
}
@media (max-width:1024px) and (min-height:820px) {
    html body > #mobile-call-dock {
        bottom: calc(118px + env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width:1000px) {
    .spectrum-brand-ribbon {
        grid-template-columns: 1fr;
    }
    .spectrum-brand-logo-panel {
        min-height: 220px;
    }
    .spectrum-brand-checkpoints article:first-child {
        border-left: 0;
    }
}
@media (max-width:700px) {
    .spectrum-brand-checkpoints {
        grid-template-columns: 1fr;
    }
    .spectrum-brand-checkpoints article {
        display: grid;
        grid-template-columns: 52px 1fr;
        align-items: start;
        border-top: 1px solid rgba(255,255,255,.1);
        border-left: 0;
        padding: 22px;
    }
    .spectrum-brand-checkpoints article h3,
    .spectrum-brand-checkpoints article p {
        grid-column: 2;
    }
    .spectrum-brand-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .spectrum-brand-call {
        width: 100%;
    }
}


/* v29 service comparison cards */
.service-choice-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}
.service-choice-section::before {
    position: absolute;
    top: -160px;
    left: 50%;
    width: 720px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(23, 105, 170, 0.08), rgba(23, 105, 170, 0) 70%);
    content: "";
    transform: translateX(-50%);
    pointer-events: none;
}
.service-choice-section .container {
    position: relative;
    z-index: 1;
}
.service-choice-head {
    width: min(100%, 760px);
    margin: 0 auto 34px;
    text-align: center;
}
.service-choice-head .eyebrow {
    margin-bottom: 8px;
}
.service-choice-head h2 {
    max-width: 18ch;
    margin-inline: auto;
}
.service-choice-head > p:last-child {
    max-width: 64ch;
    margin: 0 auto;
    color: #5f6976;
    line-height: 1.72;
}
.service-choice-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.service-choice-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 24px 22px 22px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(23,105,170,0.18);
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(17, 23, 34, 0.07);
    transition:
        transform 240ms ease,
        box-shadow 240ms ease,
        border-color 240ms ease,
        background-color 240ms ease;
}
.service-choice-card:hover {
    transform: translateY(-7px);
    border-color: rgba(23, 105, 170, 0.38);
    box-shadow: 0 24px 46px rgba(17, 23, 34, 0.11);
}
.service-choice-icon {
    display: grid;
    width: 50px;
    height: 50px;
    margin-bottom: 22px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 15px;
    box-shadow: 0 12px 24px rgba(23,105,170,0.18);
    transition: transform 240ms ease;
}
.service-choice-card:hover .service-choice-icon {
    transform: translateY(-3px) rotate(-4deg);
}
.service-choice-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.service-choice-card h3 {
    margin: 0 0 12px;
    font-size: clamp(1.05rem, 1.45vw, 1.22rem);
    white-space: nowrap;
}
.service-choice-card > p {
    margin: 0 0 22px;
    color: #626c79;
    line-height: 1.72;
}
.service-choice-call {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    padding: 0 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
    border-radius: 11px;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(23, 105, 170, 0.16);
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.service-choice-call:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 28px rgba(23,105,170,0.22);
}
.service-choice-call svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.service-choice-call span {
    white-space: nowrap;
}
.service-choice-provider {
    background:
        linear-gradient(180deg, #fff 0%, #f3f9ff 100%);
}
.service-choice-provider .service-choice-card:nth-child(even) {
    transform: translateY(10px);
}
.service-choice-provider .service-choice-card:nth-child(even):hover {
    transform: translateY(3px);
}
@media (max-width: 1050px) {
    .service-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .service-choice-provider .service-choice-card:nth-child(even) {
        transform: none;
    }
    .service-choice-provider .service-choice-card:nth-child(even):hover {
        transform: translateY(-7px);
    }
}
@media (max-width: 640px) {
    .service-choice-head {
        margin-bottom: 26px;
        text-align: left;
    }
    .service-choice-head h2,
    .service-choice-head > p:last-child {
        margin-inline: 0;
    }
    .service-choice-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .service-choice-card {
        padding: 20px;
        border-radius: 18px;
    }
    .service-choice-icon {
        margin-bottom: 18px;
    }
    .service-choice-card h3 {
        white-space: normal;
    }
}
@media (prefers-reduced-motion: reduce) {
    .service-choice-card,
    .service-choice-icon,
    .service-choice-call {
        transition: none;
    }
}


/* v30 variable service-category sections */
.service-choice-grid.service-choice-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.service-choice-grid.service-choice-count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.service-choice-grid.service-choice-count-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.service-choice-grid.service-choice-count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.service-choice-grid.service-choice-count-7,
.service-choice-grid.service-choice-count-8 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.service-choice-home {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}
.service-choice-providers {
    background: linear-gradient(180deg, #f3f9ff 0%, #ffffff 100%);
}
.service-choice-frontier .service-choice-head,
.service-choice-xfinity .service-choice-head,
.service-choice-earthlink .service-choice-head,
.service-choice-spectrum .service-choice-head {
    text-align: left;
    margin-left: 0;
}
.service-choice-verizon .service-choice-head,
.service-choice-tmobile .service-choice-head,
.service-choice-kinetic .service-choice-head,
.service-choice-cox .service-choice-head {
    text-align: right;
    margin-right: 0;
}
.service-choice-frontier .service-choice-head h2,
.service-choice-frontier .service-choice-head > p:last-child,
.service-choice-xfinity .service-choice-head h2,
.service-choice-xfinity .service-choice-head > p:last-child,
.service-choice-earthlink .service-choice-head h2,
.service-choice-earthlink .service-choice-head > p:last-child,
.service-choice-spectrum .service-choice-head h2,
.service-choice-spectrum .service-choice-head > p:last-child {
    margin-left: 0;
    margin-right: auto;
}
.service-choice-verizon .service-choice-head h2,
.service-choice-verizon .service-choice-head > p:last-child,
.service-choice-tmobile .service-choice-head h2,
.service-choice-tmobile .service-choice-head > p:last-child,
.service-choice-kinetic .service-choice-head h2,
.service-choice-kinetic .service-choice-head > p:last-child,
.service-choice-cox .service-choice-head h2,
.service-choice-cox .service-choice-head > p:last-child {
    margin-left: auto;
    margin-right: 0;
}
.service-choice-frontier .service-choice-card,
.service-choice-kinetic .service-choice-card,
.service-choice-spectrum .service-choice-card {
    border-radius: 10px 24px 10px 24px;
}
.service-choice-verizon .service-choice-card,
.service-choice-earthlink .service-choice-card {
    border-radius: 26px 10px 26px 10px;
}
.service-choice-tmobile .service-choice-card,
.service-choice-xfinity .service-choice-card,
.service-choice-cox .service-choice-card {
    border-radius: 18px;
}
.tmobile-routine-head > p:not(.eyebrow) {
    max-width: 42ch;
}
@media (max-width: 1050px) {
    .service-choice-grid.service-choice-count-3,
    .service-choice-grid.service-choice-count-4,
    .service-choice-grid.service-choice-count-5,
    .service-choice-grid.service-choice-count-6,
    .service-choice-grid.service-choice-count-7,
    .service-choice-grid.service-choice-count-8 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .service-choice-verizon .service-choice-head,
    .service-choice-tmobile .service-choice-head,
    .service-choice-kinetic .service-choice-head,
    .service-choice-cox .service-choice-head {
        text-align: left;
        margin-left: 0;
        margin-right: auto;
    }
    .service-choice-verizon .service-choice-head h2,
    .service-choice-verizon .service-choice-head > p:last-child,
    .service-choice-tmobile .service-choice-head h2,
    .service-choice-tmobile .service-choice-head > p:last-child,
    .service-choice-kinetic .service-choice-head h2,
    .service-choice-kinetic .service-choice-head > p:last-child,
    .service-choice-cox .service-choice-head h2,
    .service-choice-cox .service-choice-head > p:last-child {
        margin-left: 0;
        margin-right: auto;
    }
}
@media (max-width: 640px) {
    .service-choice-grid.service-choice-count-3,
    .service-choice-grid.service-choice-count-4,
    .service-choice-grid.service-choice-count-5,
    .service-choice-grid.service-choice-count-6,
    .service-choice-grid.service-choice-count-7,
    .service-choice-grid.service-choice-count-8 {
        grid-template-columns: 1fr;
    }
}


/* v31 service choice alignment refinements */
.service-choice-tmobile .service-choice-head,
.service-choice-kinetic .service-choice-head,
.service-choice-cox .service-choice-head {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}
.service-choice-tmobile .service-choice-head h2,
.service-choice-tmobile .service-choice-head > p:last-child,
.service-choice-kinetic .service-choice-head h2,
.service-choice-kinetic .service-choice-head > p:last-child,
.service-choice-cox .service-choice-head h2,
.service-choice-cox .service-choice-head > p:last-child {
    margin-left: 0;
    margin-right: auto;
}
.service-choice-tmobile .service-choice-head .eyebrow,
.service-choice-kinetic .service-choice-head .eyebrow,
.service-choice-cox .service-choice-head .eyebrow {
    margin-left: 0;
    margin-right: auto;
}
