:root {
    --utility-black: #030407;
    --utility-ink: #10131a;
    --utility-muted: #5a6473;
    --utility-soft: #eef1f5;
    --utility-silver: #d7dce4;
    --utility-line: rgba(15, 22, 35, 0.12);
    --utility-blue: #6f87ff;
    --utility-purple: #9a64ff;
    --utility-neon: #8ea1ff;
    --utility-gold: #c9a050;
    --utility-radius: 8px;
    --utility-shadow: 0 28px 70px rgba(10, 14, 22, 0.16);
    --utility-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --utility-compact-header-h: 72px;
    --utility-compact-footer-h: 70px;
}

body.utility-page {
    background:
        radial-gradient(ellipse 70% 36% at 50% 0%, rgba(111, 135, 255, 0.06), transparent 64%),
        linear-gradient(180deg, #fafbfd 0%, #f1f3f7 48%, #fafbfd 100%);
    color: var(--utility-ink);
}

body.utility-page .scroll-root {
    background:
        radial-gradient(ellipse 62% 34% at 50% 0%, rgba(111, 135, 255, 0.055), transparent 66%),
        radial-gradient(ellipse 68% 28% at 50% 100%, rgba(111, 135, 255, 0.05), transparent 68%),
        radial-gradient(ellipse 44% 24% at 86% 100%, rgba(201, 160, 80, 0.06), transparent 72%),
        radial-gradient(ellipse 44% 28% at 9% 22%, rgba(201, 160, 80, 0.07), transparent 70%),
        linear-gradient(180deg, #fafbfd 0%, #f1f3f7 48%, #fafbfd 100%);
    scroll-padding: 38px 0 48px;
}

@supports not selector(::-webkit-scrollbar) {
    body.has-scroll-root.utility-page,
    body.utility-page .scroll-root {
        scrollbar-width: thin;
        scrollbar-color: #161616 rgba(238, 242, 247, 0.92);
    }
}

body.has-scroll-root.utility-page::-webkit-scrollbar,
body.utility-page .scroll-root::-webkit-scrollbar {
    width: 10px;
}

body.has-scroll-root.utility-page::-webkit-scrollbar-track,
body.utility-page .scroll-root::-webkit-scrollbar-track {
    background: linear-gradient(180deg, #eef2f7, #f8fafc);
}

body.has-scroll-root.utility-page::-webkit-scrollbar-thumb,
body.utility-page .scroll-root::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #161616;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 0 12px rgba(15, 22, 35, 0.24);
}

body.has-scroll-root.utility-page::-webkit-scrollbar-thumb:hover,
body.utility-page .scroll-root::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--utility-blue) 0%, var(--utility-purple) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 0 20px rgba(111, 135, 255, 0.58),
        0 0 42px rgba(154, 100, 255, 0.34);
}

body.utility-page .main-header {
    background:
        radial-gradient(ellipse 54% 130% at 50% 100%, rgba(111, 135, 255, 0.13), transparent 72%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.008)),
        rgba(2, 3, 6, 0.965) !important;
    border-bottom-color: rgba(190, 204, 255, 0.1);
    box-shadow:
        0 9px 18px rgba(0, 0, 0, 0.32),
        0 18px 42px rgba(111, 135, 255, 0.11),
        0 1px 0 rgba(255, 255, 255, 0.035) inset;
}

body.utility-page .main-header::after {
    left: 18%;
    right: 18%;
    background:
        linear-gradient(90deg, transparent, rgba(126, 151, 255, 0.18), transparent);
    opacity: 0.32;
}

body.utility-page .footer-nav {
    background:
        radial-gradient(ellipse 54% 130% at 50% 0%, rgba(111, 135, 255, 0.13), transparent 72%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.014), rgba(255, 255, 255, 0.004)),
        rgba(2, 3, 6, 0.965) !important;
    border-top-color: rgba(190, 204, 255, 0.1);
    box-shadow:
        0 -9px 18px rgba(0, 0, 0, 0.3),
        0 -18px 42px rgba(111, 135, 255, 0.1),
        0 1px 0 rgba(255, 255, 255, 0.034) inset;
}

body.utility-page .mobile-nav-toggle,
body.utility-page .mobile-nav-spacer,
body.utility-page .footer-mobile-action,
body.utility-page .mobile-support-tray-toggle,
body.utility-page .mobile-support-sheet,
body.utility-page .mobile-support-sheet-backdrop {
    display: none;
}

.utility-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(34px, 3.2vw, 46px) 0 clamp(36px, 3.5vw, 50px);
}

.utility-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.68fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: stretch;
    min-height: clamp(484px, 46vh, 520px);
}

.utility-hero-copy,
.utility-hero-panel,
.utility-dark-band,
.utility-form-panel,
.carrier-system-panel,
.contact-command-panel {
    border-radius: var(--utility-radius);
}

.utility-hero-copy {
    display: grid;
    align-content: center;
    padding: clamp(28px, 4.4vw, 48px);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 252, 0.88)),
        radial-gradient(circle at 12% 0%, rgba(201, 160, 80, 0.12), transparent 34%);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--utility-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.96);
    position: relative;
    overflow: hidden;
}

.utility-hero-copy::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--utility-gold), var(--utility-blue), var(--utility-purple));
}

.page-quotes .utility-hero-copy::before,
.page-booking .utility-hero-copy::before,
.page-contact .utility-hero-copy::before,
.page-carriers .utility-hero-copy::before,
.page-booking .booking-calendar-stage::before {
    background: linear-gradient(
        180deg,
        var(--utility-gold) 0%,
        rgba(238, 208, 139, 0.98) 16%,
        var(--utility-blue) 45%,
        rgba(154, 100, 255, 0.98) 70%,
        var(--utility-gold) 100%
    );
    background-size: 100% 240%;
    box-shadow:
        0 0 18px rgba(111, 135, 255, 0.28),
        0 0 28px rgba(201, 160, 80, 0.18);
    animation: utility-hero-rail-flow 6.8s ease-in-out infinite;
}

.page-quotes .utility-hero-copy::after,
.page-booking .utility-hero-copy::after,
.page-contact .utility-hero-copy::after,
.page-carriers .utility-hero-copy::after,
.page-booking .booking-calendar-stage::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 28px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(111, 135, 255, 0.18), transparent 76%);
    opacity: 0.42;
    animation: utility-hero-rail-glow 5.6s ease-in-out infinite;
}

@keyframes utility-hero-rail-flow {
    0%, 100% {
        background-position: 50% 0%;
        filter: saturate(1) brightness(1);
    }

    50% {
        background-position: 50% 100%;
        filter: saturate(1.18) brightness(1.08);
    }
}

@keyframes utility-hero-rail-glow {
    0%, 100% {
        opacity: 0.34;
        transform: translateX(0);
    }

    50% {
        opacity: 0.58;
        transform: translateX(3px);
    }
}

.utility-kicker,
.utility-card-kicker,
.utility-section-kicker {
    color: var(--utility-blue);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.utility-title {
    max-width: 820px;
    margin: 18px 0 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(34px, 4.05vw, 52px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    text-wrap: balance;
    overflow-wrap: break-word;
}

.utility-lead {
    max-width: 660px;
    margin: 24px 0 0;
    color: #374151;
    font-family: "Inter", "Arial", sans-serif;
    font-size: clamp(16px, 1.45vw, 18px);
    line-height: 1.58;
}

.utility-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 28px;
}

.utility-trust-line {
    margin: 16px 0 0;
    color: #586374;
    font-family: "Inter", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.38;
    letter-spacing: 0;
}

.utility-button,
.utility-submit,
.utility-choice-button,
.utility-mini-link {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 7px;
    border: 1px solid transparent;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    white-space: normal;
    overflow-wrap: break-word;
    isolation: isolate;
    overflow: hidden;
    transition: transform 180ms var(--utility-ease), box-shadow 180ms var(--utility-ease), border-color 180ms var(--utility-ease), background 180ms var(--utility-ease);
}

.utility-button,
.utility-submit {
    min-width: clamp(208px, 16vw, 224px);
}

.utility-button.primary,
.utility-submit {
    color: #fff;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)),
        #050607;
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.24), 0 0 26px rgba(111, 135, 255, 0.14);
}

.utility-button.primary::before,
.utility-submit:not([disabled])::before,
.utility-button.primary::after,
.utility-submit:not([disabled])::after {
    content: "";
    position: absolute;
    border-radius: inherit;
    pointer-events: none;
}

.utility-button.primary::before,
.utility-submit:not([disabled])::before {
    inset: -1px;
    padding: 1px;
    background:
        linear-gradient(150deg,
            transparent 46%,
            rgba(201, 160, 80, 0.58) 49.5%,
            rgba(201, 160, 80, 0.58) 50.5%,
            transparent 54%) -120% 0 / 220% 220% no-repeat,
        linear-gradient(-24deg,
            transparent 46%,
            rgba(255, 255, 255, 0.36) 49.5%,
            rgba(255, 255, 255, 0.36) 50.5%,
            transparent 54%) 130% 0 / 220% 220% no-repeat;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0.68;
    animation: utility-cta-line-sweep 4.6s ease-in-out infinite;
}

.utility-button.primary::after,
.utility-submit:not([disabled])::after {
    inset: 0;
    background: linear-gradient(110deg,
        transparent 18%,
        rgba(255, 255, 255, 0.06) 38%,
        rgba(255, 255, 255, 0.26) 50%,
        rgba(255, 255, 255, 0.06) 62%,
        transparent 82%);
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.16));
    transform: translateX(-140%);
    opacity: 0.64;
    animation: utility-cta-sheen 4.6s ease-in-out infinite;
}

.utility-button.secondary,
.utility-mini-link {
    color: var(--utility-ink);
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 22, 35, 0.13);
}

.utility-button:hover,
.utility-submit:hover,
.utility-choice-card:hover,
.utility-mini-link:hover {
    transform: translateY(-2px);
}

.utility-button.primary:hover,
.utility-submit:hover {
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28), 0 0 34px rgba(111, 135, 255, 0.2);
}

.utility-button.primary:hover::before,
.utility-submit:not([disabled]):hover::before {
    opacity: 0.86;
    animation: utility-cta-line-sweep-hover 1.25s linear infinite;
}

.utility-button.primary:hover::after,
.utility-submit:not([disabled]):hover::after {
    opacity: 0.82;
    animation: utility-cta-sheen-hover 1.15s linear infinite;
}

@keyframes utility-cta-line-sweep {
    0%, 100% {
        background-position: -120% 0, 130% 0;
        opacity: 0.58;
    }

    50% {
        background-position: 40% 0, -30% 0;
        opacity: 0.78;
    }
}

@keyframes utility-cta-sheen {
    0% {
        transform: translateX(-140%);
    }

    54%, 100% {
        transform: translateX(140%);
    }
}

@keyframes utility-cta-line-sweep-hover {
    0% {
        background-position: -96% 0, 108% 0;
        opacity: 0.72;
    }

    100% {
        background-position: 50% 0, -38% 0;
        opacity: 0.88;
    }
}

@keyframes utility-cta-sheen-hover {
    0% {
        transform: translateX(-102%);
    }

    100% {
        transform: translateX(112%);
    }
}

.utility-hero-panel {
    display: grid;
    align-content: center;
    gap: clamp(20px, 2.4vw, 28px);
    min-height: 100%;
    padding: clamp(24px, 3.4vw, 40px);
    color: rgba(248, 250, 252, 0.96);
    background:
        radial-gradient(ellipse 82% 54% at 50% 0%, rgba(111, 135, 255, 0.18), transparent 64%),
        linear-gradient(180deg, #06070b 0%, #020305 100%);
    border: 1px solid rgba(154, 178, 235, 0.14);
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.utility-panel-number {
    color: rgba(201, 160, 80, 0.98);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(54px, 8vw, 96px);
    line-height: 0.9;
    font-weight: 900;
    letter-spacing: 0;
}

.utility-panel-title {
    margin: 24px 0 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(22px, 3vw, 36px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.utility-panel-copy {
    margin: 18px 0 0;
    color: rgba(223, 228, 238, 0.78);
    font-size: 15px;
    line-height: 1.7;
}

.utility-panel-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.utility-panel-list li {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    color: rgba(245, 247, 252, 0.88);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.utility-panel-list li::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--utility-blue), var(--utility-gold));
    box-shadow: 0 0 16px rgba(111, 135, 255, 0.46);
}

@media (min-width: 981px) {
    .page-booking .utility-hero-panel,
    .page-quotes .utility-hero-panel,
    .page-contact .utility-hero-panel,
    .page-carriers .utility-hero-panel {
        gap: clamp(16px, 1.8vw, 22px);
    }

    .page-booking .utility-panel-title,
    .page-quotes .utility-panel-title,
    .page-contact .utility-panel-title,
    .page-carriers .utility-panel-title {
        margin-top: 20px;
    }

    .page-booking .utility-panel-copy,
    .page-quotes .utility-panel-copy,
    .page-contact .utility-panel-copy,
    .page-carriers .utility-panel-copy {
        margin-top: 14px;
        line-height: 1.58;
    }

    .page-booking .utility-panel-list,
    .page-quotes .utility-panel-list,
    .page-contact .utility-panel-list,
    .page-carriers .utility-panel-list {
        gap: 8px;
    }

    .page-booking .utility-panel-list li,
    .page-quotes .utility-panel-list li,
    .page-contact .utility-panel-list li,
    .page-carriers .utility-panel-list li {
        line-height: 1.35;
    }
}

.utility-section {
    margin-top: clamp(40px, 5vw, 60px);
    scroll-margin-top: 38px;
    scroll-margin-bottom: 48px;
}

.utility-shell > .utility-hero + .utility-section,
.utility-shell > .quotes-hero-live + .utility-section,
.utility-shell > .carrier-hero + .utility-section {
    margin-top: clamp(40px, 5vw, 60px);
}

.utility-section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(280px, 0.42fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}

.utility-section-title {
    margin: 10px 0 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(26px, 4vw, 48px);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.utility-section-copy {
    margin: 0;
    color: var(--utility-muted);
    font-size: 15px;
    line-height: 1.62;
}

.utility-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.utility-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.utility-choice-card,
.utility-form-panel {
    min-width: 0;
    border: 1px solid rgba(15, 22, 35, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.92)),
        #fff;
    border-radius: var(--utility-radius);
    box-shadow: 0 18px 48px rgba(12, 18, 30, 0.1);
}

.utility-choice-card {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    align-content: start;
    padding: 22px;
    transition: transform 180ms var(--utility-ease), box-shadow 180ms var(--utility-ease), border-color 180ms var(--utility-ease);
}

.utility-choice-card {
    appearance: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.utility-choice-card:hover,
.utility-choice-card.is-selected {
    border-color: rgba(111, 135, 255, 0.28);
    box-shadow: 0 24px 58px rgba(12, 18, 30, 0.14), 0 0 34px rgba(111, 135, 255, 0.11);
}

.utility-choice-card.is-selected {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(238, 243, 255, 0.94)),
        #fff;
}

.utility-card-title {
    margin: 10px 0 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 18px;
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    text-wrap: balance;
    overflow-wrap: break-word;
}

.utility-card-copy {
    margin: 12px 0 0;
    color: var(--utility-muted);
    font-size: 13.5px;
    line-height: 1.58;
}

.utility-title-mobile-copy {
    display: none;
}

.utility-copy-mobile {
    display: none;
}

.utility-action-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
    padding: clamp(24px, 3.2vw, 42px);
    border: 1px solid rgba(15, 22, 35, 0.11);
    border-top: 4px solid #05070b;
    border-radius: var(--utility-radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 249, 252, 0.94)),
        #fff;
    box-shadow: 0 22px 60px rgba(12, 18, 30, 0.09);
}

.utility-action-copy h2 {
    margin: 10px 0 0;
    color: #05070b;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(24px, 3.1vw, 38px);
    line-height: 0.98;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.utility-action-copy p {
    max-width: 620px;
    margin: 14px 0 0;
    color: rgba(51, 65, 85, 0.82);
    font-size: 15px;
    line-height: 1.52;
}

.utility-action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.utility-action-buttons .utility-mini-link {
    width: clamp(188px, 15vw, 220px);
    color: rgba(248, 250, 252, 0.98);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018)),
        #05070b;
    border-color: rgba(5, 7, 11, 0.86);
    box-shadow: 0 16px 32px rgba(15, 22, 35, 0.18);
}

.page-quotes .utility-action-band,
.page-contact .contact-command-panel,
.page-contact .utility-action-band {
    position: relative;
    overflow: hidden;
    color: rgba(248, 250, 252, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.17);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(112, 145, 255, 0.11) 54%, transparent 78%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.72) 0%, rgba(12, 17, 30, 0.82) 50%, rgba(3, 4, 7, 0.9) 100%);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px) saturate(1.22);
}

.page-quotes .utility-action-band::before,
.page-contact .contact-command-panel::before,
.page-contact .utility-action-band::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 86% 72% at 58% 46%, #000 0%, transparent 74%);
    opacity: 0.26;
    pointer-events: none;
}

.page-quotes .utility-action-band::after,
.page-contact .contact-command-panel::after,
.page-contact .utility-action-band::after {
    content: "";
    position: absolute;
    inset: -44% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 72% at 80% 30%, rgba(128, 154, 255, 0.24), transparent 66%),
        radial-gradient(ellipse 42% 38% at 24% 92%, rgba(201, 160, 80, 0.1), transparent 66%),
        linear-gradient(112deg, transparent 0 30%, rgba(255, 255, 255, 0.17) 42%, rgba(132, 158, 255, 0.12) 52%, transparent 64% 100%);
    opacity: 0.62;
    animation: quotesProofGlassSweep 10s ease-in-out infinite;
    pointer-events: none;
}

.page-quotes .utility-action-band > *,
.page-contact .contact-command-panel > *,
.page-contact .utility-action-band > * {
    position: relative;
    z-index: 1;
}

.page-quotes .utility-action-band .utility-section-kicker,
.page-contact .contact-command-panel .utility-section-kicker,
.page-contact .utility-action-band .utility-section-kicker {
    color: rgba(201, 160, 80, 0.96);
}

.page-quotes .utility-action-band .utility-action-copy h2,
.page-contact .utility-action-band .utility-action-copy h2 {
    color: rgba(248, 250, 252, 0.98);
}

.page-quotes .utility-action-band .utility-action-copy p,
.page-contact .utility-action-band .utility-action-copy p {
    color: rgba(229, 234, 244, 0.76);
}

.page-contact .utility-action-band .utility-action-copy h2,
.page-contact .utility-action-band .utility-action-copy p {
    max-width: none;
    white-space: nowrap;
}

.page-contact .utility-action-band .utility-action-buttons .utility-mini-link:nth-child(2) {
    color: #05070b;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 240, 245, 0.94)) padding-box,
        linear-gradient(180deg, transparent, transparent) border-box;
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link {
    position: relative;
    overflow: hidden;
    width: clamp(188px, 15vw, 220px);
    color: rgba(248, 250, 252, 0.98);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 22%, rgba(255, 255, 255, 0.025) 56%, transparent 76%),
        linear-gradient(180deg, #161a21 0%, #07090d 100%);
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 26px rgba(111, 135, 255, 0.14);
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link::before,
.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link::after {
    content: "";
    position: absolute;
    border-radius: inherit;
    pointer-events: none;
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link::before {
    inset: -1px;
    padding: 1px;
    background:
        linear-gradient(150deg,
            transparent 46%,
            rgba(201, 160, 80, 0.58) 49.5%,
            rgba(201, 160, 80, 0.58) 50.5%,
            transparent 54%) -120% 0 / 220% 220% no-repeat,
        linear-gradient(-24deg,
            transparent 46%,
            rgba(255, 255, 255, 0.36) 49.5%,
            rgba(255, 255, 255, 0.36) 50.5%,
            transparent 54%) 130% 0 / 220% 220% no-repeat;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    opacity: 0.68;
    animation: utility-cta-line-sweep 4.6s ease-in-out infinite;
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link::after {
    inset: 0;
    background: linear-gradient(110deg,
        transparent 18%,
        rgba(255, 255, 255, 0.06) 38%,
        rgba(255, 255, 255, 0.26) 50%,
        rgba(255, 255, 255, 0.06) 62%,
        transparent 82%);
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.16));
    transform: translateX(-140%);
    opacity: 0.64;
    animation: utility-cta-sheen 4.6s ease-in-out infinite;
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link:hover::before {
    opacity: 0.86;
    animation: utility-cta-line-sweep-hover 1.25s linear infinite;
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link:hover::after {
    opacity: 0.82;
    animation: utility-cta-sheen-hover 1.15s linear infinite;
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link:last-child {
    color: #05070b;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 240, 245, 0.94)) padding-box,
        linear-gradient(180deg, transparent, transparent) border-box;
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link:last-child::before,
.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link:last-child::after {
    content: none;
}

.utility-submit-row .utility-mini-link {
    min-width: clamp(208px, 16vw, 224px);
}

.utility-card-foot {
    margin-top: 18px;
    color: #151922;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-quotes .utility-choice-card {
    display: grid;
    grid-template-rows: auto auto minmax(64px, 1fr) auto;
}

.page-quotes .utility-card-foot {
    align-self: end;
}

.page-quotes .utility-hero,
.page-contact .utility-hero,
.page-carriers .utility-hero {
    min-height: clamp(484px, 46vh, 520px);
}

.page-quotes .quotes-hero-live {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    min-height: clamp(440px, 46vh, 534px);
    overflow: hidden;
    padding: clamp(30px, 4vw, 54px);
    border-radius: 10px;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.13), transparent 22%, rgba(112, 145, 255, 0.12) 54%, transparent 76%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.76) 0%, rgba(12, 17, 30, 0.84) 48%, rgba(3, 4, 7, 0.92) 100%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(22px) saturate(1.24);
}

.page-quotes .quotes-hero-live::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(ellipse 76% 64% at 62% 50%, #000 0%, transparent 72%);
    opacity: 0.28;
    pointer-events: none;
}

.page-quotes .quotes-hero-live::after {
    content: "";
    position: absolute;
    inset: -38% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 72% at 78% 38%, rgba(128, 154, 255, 0.28), transparent 66%),
        radial-gradient(ellipse 46% 50% at 98% 8%, rgba(255, 255, 255, 0.14), transparent 64%),
        radial-gradient(ellipse 42% 38% at 70% 88%, rgba(201, 160, 80, 0.13), transparent 66%),
        linear-gradient(112deg, transparent 0 28%, rgba(255, 255, 255, 0.2) 40%, rgba(132, 158, 255, 0.14) 50%, transparent 62% 100%),
        linear-gradient(18deg, transparent 0 48%, rgba(201, 160, 80, 0.12) 54%, transparent 64% 100%);
    opacity: 0.76;
    transform: translate3d(-10%, 0, 0);
    animation: quotesHeroGlassSweep 9s ease-in-out infinite;
    pointer-events: none;
}

.page-quotes .quotes-hero-live-content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.page-quotes .quotes-hero-live-content {
    display: grid;
    align-content: center;
    max-width: 820px;
}

.page-quotes .quotes-hero-kicker {
    color: rgba(201, 160, 80, 0.96);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.page-quotes .quotes-hero-title {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(248, 250, 252, 0.98);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(48px, 5.8vw, 88px);
    line-height: 0.93;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    text-wrap: balance;
}

.page-quotes .quotes-hero-copy {
    max-width: 560px;
    margin: 24px 0 0;
    color: rgba(229, 234, 244, 0.78);
    font-family: "Inter", "Arial", sans-serif;
    font-size: clamp(15px, 1.28vw, 17px);
    line-height: 1.55;
}

.page-quotes .quotes-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 28px;
}

.page-quotes .quotes-hero-actions .utility-button {
    box-sizing: border-box;
    flex: 0 0 clamp(192px, 14vw, 216px);
    width: clamp(192px, 14vw, 216px);
    min-width: 0;
    height: 48px;
    min-height: 48px;
    padding: 0 22px;
    line-height: 1;
    white-space: nowrap;
}

.page-quotes .quotes-hero-actions .utility-button.primary {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02)),
        linear-gradient(180deg, #161a21 0%, #07090d 100%);
    border-color: rgba(255, 255, 255, 0.04);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 26px rgba(111, 135, 255, 0.14);
}

.page-quotes .quotes-hero-actions .utility-button.secondary {
    color: #05070b;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 240, 245, 0.94)) padding-box,
        linear-gradient(180deg, transparent, transparent) border-box;
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.page-quotes .quotes-hero-trust {
    margin: 18px 0 0;
    color: rgba(229, 234, 244, 0.72);
    font-family: "Inter", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.38;
    letter-spacing: 0;
}

@keyframes quotesHeroGlassSweep {
    0%,
    100% {
        opacity: 0.42;
        transform: translate3d(-13%, -2%, 0) rotate(0deg);
    }

    50% {
        opacity: 0.74;
        transform: translate3d(8%, 2%, 0) rotate(1.5deg);
    }
}

.page-booking .utility-hero,
.page-contact .utility-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.page-booking .utility-hero-panel,
.page-contact .utility-hero-panel {
    display: none;
}

.page-booking .utility-hero-copy,
.page-contact .utility-hero-copy {
    position: relative;
    display: grid;
    align-content: center;
    min-height: clamp(440px, 46vh, 534px);
    overflow: hidden;
    padding: clamp(30px, 4vw, 54px);
    color: #fff;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.13), transparent 22%, rgba(112, 145, 255, 0.12) 54%, transparent 76%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.76) 0%, rgba(12, 17, 30, 0.84) 48%, rgba(3, 4, 7, 0.92) 100%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(22px) saturate(1.24);
}

.page-booking .utility-hero-copy::before,
.page-contact .utility-hero-copy::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    width: auto;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 54px 54px;
    box-shadow: none;
    mask-image: radial-gradient(ellipse 76% 64% at 62% 50%, #000 0%, transparent 72%);
    opacity: 0.28;
    pointer-events: none;
    animation: none;
}

.page-booking .utility-hero-copy::after,
.page-contact .utility-hero-copy::after {
    content: "";
    position: absolute;
    inset: -38% -18%;
    z-index: 0;
    width: auto;
    background:
        radial-gradient(ellipse 38% 72% at 78% 38%, rgba(128, 154, 255, 0.28), transparent 66%),
        radial-gradient(ellipse 46% 50% at 98% 8%, rgba(255, 255, 255, 0.14), transparent 64%),
        radial-gradient(ellipse 42% 38% at 70% 88%, rgba(201, 160, 80, 0.13), transparent 66%),
        linear-gradient(112deg, transparent 0 28%, rgba(255, 255, 255, 0.2) 40%, rgba(132, 158, 255, 0.14) 50%, transparent 62% 100%),
        linear-gradient(18deg, transparent 0 48%, rgba(201, 160, 80, 0.12) 54%, transparent 64% 100%);
    opacity: 0.76;
    transform: translate3d(-10%, 0, 0);
    animation: quotesHeroGlassSweep 9s ease-in-out infinite;
    pointer-events: none;
}

.page-booking .utility-hero-copy > *,
.page-contact .utility-hero-copy > * {
    position: relative;
    z-index: 1;
}

.page-booking .utility-kicker,
.page-contact .utility-kicker {
    color: rgba(201, 160, 80, 0.96);
}

.page-booking .utility-title,
.page-contact .utility-title {
    max-width: 760px;
    color: rgba(248, 250, 252, 0.98);
    font-size: clamp(48px, 5.8vw, 88px);
    line-height: 0.93;
    font-weight: 950;
}

.page-booking .utility-lead,
.page-contact .utility-lead {
    max-width: 560px;
    color: rgba(229, 234, 244, 0.78);
    font-family: "Inter", "Arial", sans-serif;
    font-size: clamp(15px, 1.28vw, 17px);
    line-height: 1.55;
}

.page-booking .utility-trust-line,
.page-contact .utility-trust-line {
    color: rgba(229, 234, 244, 0.72);
}

.page-booking .utility-hero-actions .utility-button,
.page-contact .utility-hero-actions .utility-button {
    box-sizing: border-box;
    flex: 0 0 clamp(192px, 14vw, 216px);
    width: clamp(192px, 14vw, 216px);
    min-width: 0;
    height: 48px;
    min-height: 48px;
    padding: 0 22px;
    line-height: 1;
    white-space: nowrap;
}

.page-booking .utility-hero-actions .utility-button.primary,
.page-contact .utility-hero-actions .utility-button.primary {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02)),
        linear-gradient(180deg, #161a21 0%, #07090d 100%);
    border-color: rgba(255, 255, 255, 0.04);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 26px rgba(111, 135, 255, 0.14);
}

.page-booking .utility-hero-actions .utility-button.secondary,
.page-contact .utility-hero-actions .utility-button.secondary {
    color: #05070b;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 240, 245, 0.94)) padding-box,
        linear-gradient(180deg, transparent, transparent) border-box;
    border-color: transparent;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.page-quotes .utility-shell,
.page-contact .utility-shell,
.page-carriers .utility-shell {
    padding-top: clamp(34px, 3.2vw, 46px);
    padding-bottom: clamp(36px, 3.5vw, 50px);
}

.page-quotes .utility-section {
    margin-top: clamp(40px, 5vw, 60px);
}

.page-quotes .utility-section-head,
.page-contact .utility-form-panel .utility-section-head,
.page-carriers .carrier-logo-system .utility-section-head,
.page-carriers section[aria-labelledby="compare-process-title"] .utility-section-head {
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
}

.page-quotes .utility-section-title,
.page-contact .utility-form-panel .utility-section-title {
    max-width: 820px;
    font-size: clamp(24px, 3.2vw, 40px);
}

.page-quotes .utility-section-copy,
.page-contact .utility-form-panel .utility-section-copy,
.page-carriers .carrier-logo-system .utility-section-copy,
.page-carriers section[aria-labelledby="compare-process-title"] .utility-section-copy {
    max-width: 580px;
}

.page-quotes .utility-shell {
    padding-bottom: clamp(36px, 3.5vw, 50px);
}

.utility-dark-band {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.5fr);
    gap: 28px;
    align-items: center;
    padding: clamp(30px, 3.2vw, 42px);
    color: #fff;
    background:
        radial-gradient(ellipse 70% 62% at 85% 12%, rgba(154, 100, 255, 0.16), transparent 66%),
        linear-gradient(180deg, #050607, #010203);
    border: 1px solid rgba(154, 178, 235, 0.14);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
}

.utility-dark-kicker {
    display: block;
    margin-bottom: 11px;
}

.utility-dark-band h2,
.utility-dark-band h3 {
    margin: 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(24px, 4vw, 44px);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.utility-dark-band p {
    margin: 14px 0 0;
    color: rgba(229, 234, 244, 0.78);
    font-size: 15px;
    line-height: 1.65;
}

.utility-proof-list {
    display: grid;
    gap: 10px;
}

.utility-proof-item {
    padding: 13px 14px;
    border-radius: 7px;
    color: rgba(248, 250, 252, 0.9);
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.page-quotes .quotes-proof-glass {
    position: relative;
    overflow: hidden;
    color: rgba(248, 250, 252, 0.96);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(112, 145, 255, 0.11) 54%, transparent 78%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.72) 0%, rgba(12, 17, 30, 0.82) 50%, rgba(3, 4, 7, 0.9) 100%);
    border-color: rgba(255, 255, 255, 0.17);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px) saturate(1.22);
}

.page-quotes .quotes-proof-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 86% 72% at 58% 46%, #000 0%, transparent 74%);
    opacity: 0.26;
    pointer-events: none;
}

.page-quotes .quotes-proof-glass::after {
    content: "";
    position: absolute;
    inset: -44% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 72% at 80% 30%, rgba(128, 154, 255, 0.25), transparent 66%),
        radial-gradient(ellipse 42% 38% at 24% 92%, rgba(201, 160, 80, 0.12), transparent 66%),
        linear-gradient(112deg, transparent 0 30%, rgba(255, 255, 255, 0.18) 42%, rgba(132, 158, 255, 0.13) 52%, transparent 64% 100%);
    opacity: 0.66;
    animation: quotesProofGlassSweep 10s ease-in-out infinite;
    pointer-events: none;
}

.page-quotes .quotes-proof-glass > * {
    position: relative;
    z-index: 1;
}

.page-quotes .quotes-proof-glass .utility-dark-kicker {
    color: rgba(201, 160, 80, 0.96);
}

.page-quotes .quotes-proof-glass h2 {
    color: rgba(248, 250, 252, 0.98);
}

.page-quotes .quotes-proof-glass p {
    color: rgba(229, 234, 244, 0.76);
}

.page-quotes .quotes-proof-glass .utility-proof-item {
    color: rgba(248, 250, 252, 0.9);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.038)),
        rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.13);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 14px 30px rgba(0, 0, 0, 0.14);
}

.page-booking .booking-prep-glass {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(320px, 0.42fr);
    gap: clamp(34px, 4vw, 56px);
    align-items: center;
    overflow: hidden;
    padding: clamp(30px, 3.2vw, 42px);
    color: rgba(248, 250, 252, 0.96);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(112, 145, 255, 0.11) 54%, transparent 78%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.72) 0%, rgba(12, 17, 30, 0.82) 50%, rgba(3, 4, 7, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: var(--utility-radius);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px) saturate(1.22);
}

.page-booking .booking-prep-glass::before,
.page-booking .booking-prep-glass::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.page-booking .booking-prep-glass::before {
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 86% 72% at 58% 46%, #000 0%, transparent 74%);
    opacity: 0.26;
}

.page-booking .booking-prep-glass::after {
    inset: -44% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 72% at 80% 30%, rgba(128, 154, 255, 0.25), transparent 66%),
        radial-gradient(ellipse 42% 38% at 24% 92%, rgba(201, 160, 80, 0.12), transparent 66%),
        linear-gradient(112deg, transparent 0 30%, rgba(255, 255, 255, 0.18) 42%, rgba(132, 158, 255, 0.13) 52%, transparent 64% 100%);
    opacity: 0.66;
    animation: quotesProofGlassSweep 10s ease-in-out infinite;
}

.page-booking .booking-prep-glass > * {
    position: relative;
    z-index: 1;
}

.page-booking .booking-prep-glass .utility-dark-kicker {
    color: rgba(201, 160, 80, 0.96);
}

.page-booking .booking-prep-glass h2 {
    max-width: 720px;
    margin: 0;
    color: rgba(248, 250, 252, 0.98);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(28px, 3.1vw, 38px);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.page-booking .booking-prep-glass p {
    max-width: 680px;
    margin: 14px 0 0;
    color: rgba(229, 234, 244, 0.76);
    font-size: 15px;
    line-height: 1.58;
}

.page-booking .booking-prep-glass .utility-proof-item {
    color: rgba(248, 250, 252, 0.9);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.038)),
        rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.13);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 14px 30px rgba(0, 0, 0, 0.14);
}

@keyframes quotesProofGlassSweep {
    0%,
    100% {
        opacity: 0.46;
        transform: translate3d(-10%, -2%, 0) rotate(0deg);
    }

    50% {
        opacity: 0.72;
        transform: translate3d(7%, 2%, 0) rotate(1.2deg);
    }
}

@media (min-width: 981px) {
    .utility-dark-band {
        grid-template-columns: minmax(0, 0.72fr) minmax(320px, 0.42fr);
        gap: clamp(34px, 4vw, 56px);
        padding: clamp(30px, 3.2vw, 42px);
    }

    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass,
    .page-contact .contact-command-panel {
        box-sizing: border-box;
        height: 228px;
        padding: 42px;
    }

    .utility-dark-band > div:first-child {
        max-width: 760px;
    }

    .utility-dark-band h2,
    .utility-dark-band h3 {
        max-width: 720px;
        font-size: clamp(28px, 3.1vw, 38px);
    }

    .utility-dark-band p {
        max-width: 680px;
        line-height: 1.58;
    }

    .utility-proof-list {
        align-self: center;
    }

    .page-contact .contact-command-panel {
        grid-template-columns: minmax(0, 0.78fr) minmax(430px, 0.66fr);
        gap: 56px;
    }

    .page-contact .contact-command-panel h2 {
        max-width: 560px;
        font-size: clamp(28px, 3.1vw, 38px);
    }

}

.utility-form-panel {
    padding: clamp(24px, 4vw, 44px);
}

.page-quotes .quotes-form-panel {
    overflow: visible;
    padding: 0;
}

.page-contact .utility-form-panel,
.page-booking .booking-followup-section .utility-form-panel {
    overflow: visible;
    padding: 0;
}

.page-quotes .quotes-form-head,
.page-contact .utility-form-panel > .utility-section-head,
.page-booking .booking-followup-section .utility-section-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.68fr) minmax(220px, 0.32fr);
    gap: clamp(16px, 2.2vw, 28px);
    align-items: center;
    overflow: hidden;
    margin: 0;
    padding: clamp(16px, 2.1vw, 24px) clamp(24px, 3.4vw, 36px);
    color: rgba(248, 250, 252, 0.96);
    background:
        radial-gradient(ellipse 58% 140% at 8% 0%, rgba(255, 255, 255, 0.08), transparent 62%),
        linear-gradient(112deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(255, 255, 255, 0.035) 42%, transparent 64%),
        linear-gradient(135deg, rgba(5, 6, 9, 0.96) 0%, rgba(15, 18, 24, 0.94) 48%, rgba(3, 4, 7, 0.98) 100%);
    border-bottom: 1px solid rgba(15, 22, 35, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(255, 255, 255, 0.055),
        0 18px 46px rgba(7, 10, 16, 0.12);
}

.page-quotes .quotes-form-head::before,
.page-contact .utility-form-panel > .utility-section-head::before,
.page-booking .booking-followup-section .utility-section-head::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: radial-gradient(ellipse 82% 74% at 54% 40%, #000 0%, transparent 74%);
    opacity: 0.16;
    pointer-events: none;
}

.page-quotes .quotes-form-head::after,
.page-contact .utility-form-panel > .utility-section-head::after,
.page-booking .booking-followup-section .utility-section-head::after {
    content: "";
    position: absolute;
    inset: -110% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 36% 68% at 78% 38%, rgba(128, 154, 255, 0.14), transparent 66%),
        radial-gradient(ellipse 46% 50% at 98% 8%, rgba(255, 255, 255, 0.07), transparent 64%),
        radial-gradient(ellipse 40% 36% at 70% 88%, rgba(201, 160, 80, 0.07), transparent 66%),
        linear-gradient(112deg, transparent 0 28%, rgba(255, 255, 255, 0.12) 40%, rgba(132, 158, 255, 0.07) 50%, transparent 62% 100%);
    opacity: 0.46;
    transform: translate3d(-10%, 0, 0);
    animation: quotesFormChromeSweep 10s ease-in-out infinite;
    pointer-events: none;
}

.page-quotes .quotes-form-head > *,
.page-contact .utility-form-panel > .utility-section-head > *,
.page-booking .booking-followup-section .utility-section-head > * {
    position: relative;
    z-index: 1;
}

.page-quotes .quotes-form-head .utility-section-kicker,
.page-contact .utility-form-panel > .utility-section-head .utility-section-kicker {
    display: block;
    margin-bottom: 0;
    color: var(--utility-neon);
    font-size: 11px;
    letter-spacing: 0.2em;
    text-shadow: 0 0 16px rgba(111, 135, 255, 0.34);
}

.page-booking .booking-followup-section .utility-section-head .utility-section-kicker {
    color: rgba(201, 160, 80, 0.96);
    font-size: 11px;
    letter-spacing: 0.2em;
}

.page-quotes .quotes-form-head .utility-section-title,
.page-contact .utility-form-panel > .utility-section-head .utility-section-title,
.page-booking .booking-followup-section .utility-section-head .utility-section-title {
    max-width: 560px;
    margin-top: 7px;
    color: rgba(248, 250, 252, 0.98);
    font-size: clamp(24px, 2.55vw, 34px);
    line-height: 1.02;
}

.page-quotes .quotes-form-head .utility-section-title,
.page-contact .utility-form-panel > .utility-section-head .utility-section-title {
    margin-top: 8px;
}

.page-quotes .quotes-form-head .utility-section-copy,
.page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
.page-booking .booking-followup-section .utility-section-head .utility-section-copy {
    justify-self: end;
    max-width: none;
    color: rgba(229, 234, 244, 0.76);
    font-size: 13px;
    line-height: 1.48;
    white-space: nowrap;
}

@keyframes quotesFormChromeSweep {
    0%,
    100% {
        opacity: 0.34;
        transform: translate3d(-12%, -2%, 0) rotate(0deg);
    }

    50% {
        opacity: 0.58;
        transform: translate3d(7%, 2%, 0) rotate(1.2deg);
    }
}

.page-quotes .quotes-form-panel .utility-form,
.page-quotes .quotes-form-panel .utility-success-card,
.page-contact .utility-form-panel .utility-form,
.page-contact .utility-form-panel .utility-success-card,
.page-booking .booking-followup-section .utility-form,
.page-booking .booking-followup-section .utility-success-card {
    padding: clamp(24px, 4vw, 44px);
}

.utility-form {
    display: grid;
    gap: 18px;
}

.utility-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.utility-field {
    display: grid;
    gap: 8px;
    min-width: 0;
    position: relative;
}

.utility-field-with-note {
    position: relative;
}

.utility-field-email-assist {
    position: relative;
}

.utility-field.full {
    grid-column: 1 / -1;
}

.utility-label {
    color: #222936;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.utility-input,
.utility-select,
.utility-textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(15, 22, 35, 0.18);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--utility-ink);
    font-family: "Inter", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.42;
    padding: 13px 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.utility-select {
    appearance: none;
    background-color: rgba(255, 255, 255, 0.94);
    background-image:
        linear-gradient(45deg, transparent 50%, rgba(16, 24, 39, 0.84) 50%),
        linear-gradient(135deg, rgba(16, 24, 39, 0.84) 50%, transparent 50%);
    background-position:
        calc(100% - 18px) 50%,
        calc(100% - 12px) 50%;
    background-repeat: no-repeat;
    background-size: 6px 6px, 6px 6px;
    padding-right: 42px;
}

.utility-select option {
    color: rgba(250, 251, 255, 0.96);
    background: #05070b;
}

.utility-select option:checked {
    color: #ffffff;
    background: #131827;
}

.utility-select:hover {
    border-color: rgba(111, 135, 255, 0.42);
    background-color: #fff;
    box-shadow: 0 10px 24px rgba(15, 22, 35, 0.08);
}

.utility-input::placeholder,
.utility-textarea::placeholder {
    color: rgba(90, 100, 115, 0.72);
    font: inherit;
}

.utility-field-custom-select {
    position: relative;
}

.utility-select.is-native-select-backed {
    position: absolute !important;
    inset: auto !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.utility-custom-select {
    position: relative;
    z-index: 8;
    width: 100%;
}

.utility-custom-select.is-open {
    z-index: 30;
}

.utility-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(15, 22, 35, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--utility-ink);
    cursor: pointer;
    font-family: "Inter", "Arial", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    padding: 13px 14px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.utility-select-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: inherit;
}

.utility-select-trigger:hover,
.utility-select-trigger:focus-visible,
.utility-custom-select.is-open .utility-select-trigger {
    outline: none;
    border-color: rgba(132, 148, 255, 0.4);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(132, 148, 255, 0.1), 0 12px 26px rgba(15, 22, 35, 0.08);
}

.utility-select-caret {
    width: 9px;
    height: 9px;
    margin-left: 16px;
    border-right: 2px solid rgba(16, 24, 39, 0.82);
    border-bottom: 2px solid rgba(16, 24, 39, 0.82);
    transform: translateY(-2px) rotate(45deg);
    transition: transform 160ms ease, border-color 160ms ease;
}

.utility-custom-select.is-open .utility-select-caret {
    border-color: rgba(132, 148, 255, 0.9);
    transform: translateY(2px) rotate(225deg);
}

.utility-select-options {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    display: grid;
    gap: 1px;
    max-height: min(280px, calc(100dvh - 120px));
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px;
    border: 1px solid rgba(132, 148, 255, 0.22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018) 26%, rgba(0, 0, 0, 0.22)),
        radial-gradient(90% 66% at 50% 0%, rgba(132, 148, 255, 0.12), transparent 72%),
        rgba(3, 4, 8, 0.94);
    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.36),
        0 0 28px rgba(132, 148, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 0 1px rgba(255, 255, 255, 0.035);
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

.utility-custom-select.is-drop-up .utility-select-options {
    top: auto;
    bottom: calc(100% + 6px);
}

@supports not selector(::-webkit-scrollbar) {
    .utility-select-options {
        scrollbar-width: thin;
        scrollbar-color: rgba(142, 154, 255, 0.55) rgba(255, 255, 255, 0.05);
    }
}

.utility-select-options::-webkit-scrollbar {
    width: 7px;
}

.utility-select-options::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.045);
}

.utility-select-options::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(142, 154, 255, 0.58), rgba(154, 100, 255, 0.42)),
        #141821;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 14px rgba(132, 148, 255, 0.18);
}

.utility-select-options::-webkit-scrollbar-thumb:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(180deg, rgba(142, 154, 255, 0.76), rgba(154, 100, 255, 0.58)),
        #181d28;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.24),
        0 0 18px rgba(132, 148, 255, 0.26);
}

.utility-select-options::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.1), transparent 26%),
        radial-gradient(ellipse 76% 46% at 92% 0%, rgba(132, 148, 255, 0.08), transparent 72%);
    opacity: 0.55;
    pointer-events: none;
}

.utility-select-options[hidden] {
    display: none;
}

.utility-select-option {
    position: relative;
    z-index: 1;
    width: 100%;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: rgba(250, 251, 255, 0.92);
    cursor: pointer;
    font-family: "Inter", "Arial", sans-serif;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.14;
    padding: 8px 10px;
    text-align: left;
    transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.utility-select-option::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 54%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 140ms ease;
}

.utility-select-option:hover,
.utility-select-option:focus-visible,
.utility-select-option.is-active {
    outline: none;
    background:
        linear-gradient(90deg, rgba(201, 160, 80, 0.18), rgba(132, 148, 255, 0.12) 48%, rgba(255, 255, 255, 0.018));
    color: #ffffff;
    box-shadow:
        inset 3px 0 0 rgba(201, 160, 80, 0.92),
        inset 0 0 0 1px rgba(255, 255, 255, 0.055);
    transform: translateX(1px);
}

.utility-select-option:hover::after,
.utility-select-option:focus-visible::after,
.utility-select-option.is-active::after {
    opacity: 1;
}

.utility-select-option.is-selected {
    background:
        linear-gradient(90deg, rgba(132, 148, 255, 0.14), rgba(255, 255, 255, 0.026));
    color: #ffffff;
    box-shadow:
        inset 3px 0 0 rgba(132, 148, 255, 0.7),
        inset 0 0 0 1px rgba(255, 255, 255, 0.035);
}

.utility-textarea {
    min-height: 116px;
    resize: vertical;
}

.utility-input:focus,
.utility-select:focus,
.utility-textarea:focus {
    outline: none;
    border-color: rgba(111, 135, 255, 0.62);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(111, 135, 255, 0.14);
}

.utility-field.has-error .utility-input,
.utility-field.has-error .utility-select,
.utility-field.has-error .utility-textarea,
.utility-consent.has-error {
    border-color: rgba(194, 50, 83, 0.42);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 250, 0.92)),
        #fff;
    box-shadow:
        0 0 0 4px rgba(194, 50, 83, 0.075),
        0 14px 30px rgba(15, 22, 35, 0.07);
}

.utility-field.has-error .utility-input:focus,
.utility-field.has-error .utility-select:focus,
.utility-field.has-error .utility-textarea:focus {
    border-color: rgba(194, 50, 83, 0.54);
    box-shadow:
        0 0 0 4px rgba(194, 50, 83, 0.095),
        0 14px 30px rgba(15, 22, 35, 0.07);
}

.utility-form-note,
.utility-form-notice,
.utility-disclaimer {
    color: var(--utility-muted);
    font-size: 12px;
    line-height: 1.55;
}

.utility-field-error {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    color: #b4234a;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.32;
    pointer-events: none;
}

.utility-field-note {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    color: var(--utility-muted);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    pointer-events: none;
}

.utility-field-note.is-error-note {
    color: #b4234a;
}

.page-quotes #request .utility-form-grid {
    row-gap: 36px;
}

.utility-email-suggestions {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 25;
    display: grid;
    gap: 3px;
    max-height: 222px;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(129, 145, 255, 0.28);
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018)),
        #06070a;
    box-shadow:
        0 22px 42px rgba(5, 8, 14, 0.2),
        0 0 0 1px rgba(124, 103, 255, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.utility-email-suggestions[hidden] {
    display: none;
}

.utility-email-suggestion {
    width: 100%;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    font-family: "Inter", "Arial", sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    padding: 9px 10px;
    text-align: left;
    transition: background 150ms ease, color 150ms ease, transform 150ms ease;
}

.utility-email-suggestion:hover,
.utility-email-suggestion:focus,
.utility-email-suggestion.is-active {
    outline: none;
    background:
        linear-gradient(90deg, rgba(111, 135, 255, 0.18), rgba(155, 119, 255, 0.12));
    color: #fff;
    box-shadow:
        inset 0 0 0 1px rgba(178, 188, 255, 0.16),
        inset 2px 0 0 rgba(178, 188, 255, 0.58);
    transform: none;
}

.utility-context-note {
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid rgba(201, 160, 80, 0.24);
    border-radius: 7px;
    background: rgba(255, 250, 238, 0.86);
    color: #6f5524;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
}

.utility-context-note-dark {
    border-color: rgba(255, 236, 186, 0.15);
    background: rgba(255, 255, 255, 0.055);
    color: rgba(255, 236, 186, 0.9);
}

.utility-consent {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 11px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid rgba(15, 22, 35, 0.075);
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 253, 0.9)),
        #fff;
    color: var(--utility-muted);
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.48;
    box-shadow:
        0 12px 28px rgba(15, 22, 35, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.utility-consent input {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    border: 1px solid rgba(15, 22, 35, 0.18);
    border-radius: 4px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 245, 250, 0.9)),
        #fff;
    box-shadow:
        0 8px 16px rgba(15, 22, 35, 0.055),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition:
        background 180ms var(--utility-ease),
        border-color 180ms var(--utility-ease),
        box-shadow 180ms var(--utility-ease);
}

.utility-consent input::before {
    content: "";
    width: 7px;
    height: 4px;
    border-bottom: 2px solid #111827;
    border-left: 2px solid #111827;
    opacity: 0;
    transform: translate(0, -1px) rotate(-45deg) scale(0.82);
    transition:
        opacity 160ms var(--utility-ease),
        transform 160ms var(--utility-ease);
}

.utility-consent input:checked {
    border-color: rgba(111, 135, 255, 0.68);
    background:
        linear-gradient(180deg, #95a6ff, #6f62ff),
        #766dff;
    box-shadow:
        0 10px 20px rgba(111, 135, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.utility-consent input:checked::before {
    opacity: 1;
    transform: translate(0, -1px) rotate(-45deg) scale(1);
}

.utility-consent input:focus-visible {
    outline: 2px solid rgba(111, 135, 255, 0.42);
    outline-offset: 3px;
}

.utility-consent .utility-field-error {
    position: static;
    grid-column: 2;
    margin-top: -2px;
}

.utility-consent a {
    color: var(--utility-ink);
    font-weight: 900;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.utility-terms-label-mobile {
    display: none;
}

.utility-form-notice {
    display: none;
    padding: 12px 14px;
    border-radius: 7px;
    border: 1px solid rgba(201, 160, 80, 0.24);
    background: rgba(255, 250, 238, 0.9);
}

.utility-form-notice.is-visible {
    display: block;
}

.utility-form-notice.is-success {
    border-color: rgba(41, 125, 79, 0.28);
    background: rgba(236, 252, 244, 0.92);
    color: #1f5d3b;
}

.utility-form-notice.is-error {
    border-color: rgba(194, 50, 83, 0.28);
    background: rgba(255, 247, 250, 0.94);
    color: #9f1f43;
}

.utility-form-notice.is-info {
    border-color: rgba(111, 135, 255, 0.26);
    background: rgba(240, 244, 255, 0.92);
    color: #354276;
}

.utility-form-panel.is-success-state .utility-section-head,
.utility-form-panel.is-success-state .utility-form {
    display: none;
}

.page-booking .booking-calendar-stage.is-success-state {
    grid-template-columns: 1fr;
    padding: clamp(24px, 4vw, 44px);
    border-color: rgba(15, 22, 35, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.92)),
        #fff;
    box-shadow: 0 18px 48px rgba(12, 18, 30, 0.1);
    overflow: visible;
}

.page-booking .booking-calendar-stage.is-success-state::before,
.page-booking .booking-calendar-stage.is-success-state::after {
    display: none;
}

.page-booking .booking-calendar-stage.is-success-state .booking-calendar-head,
.page-booking .booking-calendar-stage.is-success-state .booking-scheduler-form {
    display: none;
}

.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
    width: 100%;
}

.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
    max-width: 720px;
    color: #fff;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 0.96;
}

.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
    max-width: 720px;
    margin: 0;
    color: rgba(238, 242, 255, 0.86);
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 650;
    line-height: 1.6;
}

.page-booking .booking-calendar-stage.is-success-state .utility-success-steps p {
    max-width: none;
    margin: 0;
    color: rgba(238, 242, 255, 0.72);
    font-size: 13px;
    line-height: 1.45;
}

.utility-success-card {
    position: relative;
    display: grid;
    gap: 20px;
    overflow: hidden;
    padding: clamp(26px, 5vw, 48px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background:
        radial-gradient(circle at 12% 0%, rgba(111, 135, 255, 0.28), transparent 34%),
        radial-gradient(circle at 90% 12%, rgba(201, 160, 80, 0.18), transparent 32%),
        linear-gradient(135deg, #050608 0%, #10111a 52%, #0a0711 100%);
    color: #fff;
    box-shadow:
        0 28px 70px rgba(8, 12, 22, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 5px 0 0 rgba(132, 148, 255, 0.76);
}

.utility-success-card[hidden] {
    display: none;
}

.utility-success-card:focus {
    outline: none;
}

.utility-success-card::after {
    content: "";
    position: absolute;
    right: clamp(18px, 4vw, 44px);
    top: clamp(18px, 4vw, 40px);
    width: 64px;
    height: 64px;
    border: 1px solid rgba(132, 148, 255, 0.18);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.11), transparent 38%),
        radial-gradient(circle at 72% 72%, rgba(132, 148, 255, 0.12), transparent 48%),
        linear-gradient(145deg, rgba(22, 24, 33, 0.94), rgba(5, 6, 11, 0.9));
    box-shadow:
        0 0 30px rgba(132, 148, 255, 0.16),
        0 18px 34px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.13),
        inset 0 -1px 0 rgba(0, 0, 0, 0.55);
}

.utility-success-kicker {
    color: #8395ff;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.utility-success-card h2 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.96;
    text-transform: uppercase;
}

.utility-success-card > p {
    max-width: 720px;
    margin: 0;
    color: rgba(238, 242, 255, 0.86);
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 650;
    line-height: 1.6;
}

.utility-success-time {
    display: inline-grid;
    width: fit-content;
    max-width: 100%;
    gap: 4px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.028)),
        rgba(4, 7, 16, 0.62);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 16px 34px rgba(0, 0, 0, 0.25);
}

.utility-success-time span {
    color: #c9a050;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.utility-success-time strong {
    color: rgba(255, 255, 255, 0.94);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(12.5px, 1.2vw, 15px);
    font-weight: 900;
    line-height: 1.15;
}

.utility-success-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 820px;
    padding: 4px 0 2px;
}

.utility-success-steps > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 13px;
    row-gap: 4px;
    align-items: start;
    min-width: 0;
    padding: 0;
}

.utility-success-steps span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.09), transparent 40%),
        linear-gradient(145deg, rgba(18, 20, 29, 0.98), rgba(4, 5, 9, 0.96));
    color: #9ba9ff;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    grid-row: 1 / span 2;
    box-shadow:
        0 0 0 3px rgba(132, 148, 255, 0.055),
        0 0 18px rgba(132, 148, 255, 0.24),
        0 14px 28px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        inset 0 -1px 0 rgba(0, 0, 0, 0.55);
}

.utility-success-steps strong {
    color: #fff;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}

.utility-success-steps p {
    margin: 0;
    color: rgba(238, 242, 255, 0.72);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
}

.utility-success-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.utility-success-actions button.utility-button {
    border: 0;
    cursor: pointer;
}

.utility-calendar-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 620px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.014)),
        rgba(2, 4, 10, 0.46);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 16px 32px rgba(0, 0, 0, 0.18);
}

.utility-calendar-options[hidden] {
    display: none;
}

.utility-calendar-options a {
    display: grid;
    grid-template-rows: auto auto;
    place-items: center;
    gap: 6px;
    min-height: 66px;
    padding: 7px 8px 6px;
    border: 0;
    border-radius: 12px;
    color: rgba(238, 242, 255, 0.9);
    background: transparent;
    box-shadow: none;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 7.2px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.utility-calendar-options a + a {
    border-left: 1px solid rgba(255, 255, 255, 0.07);
}

.utility-calendar-options a:hover,
.utility-calendar-options a:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.045);
    transform: translateY(-1px);
}

.utility-calendar-mark {
    display: block;
    width: 28px;
    height: 28px;
    overflow: visible;
    filter: drop-shadow(0 8px 13px rgba(0, 0, 0, 0.35));
}

.utility-calendar-mark-apple {
    color: rgba(244, 247, 255, 0.94);
}

.utility-success-actions .utility-button.secondary {
    width: auto;
    min-width: 0;
    border: 0;
    background: transparent;
    color: rgba(238, 242, 255, 0.78);
    box-shadow: none;
    padding-inline: 8px;
    text-decoration: none;
}

.utility-success-actions .utility-button.secondary:hover,
.utility-success-actions .utility-button.secondary:focus {
    color: #fff;
    background: transparent;
    box-shadow: none;
    transform: none;
}

@media (max-width: 700px) {
    .utility-success-card {
        padding: 20px 16px;
    }

    .utility-success-card::after {
        width: 46px;
        height: 46px;
        opacity: 0.72;
    }

    .utility-success-steps {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .utility-success-time {
        width: 100%;
    }

    .utility-success-actions .utility-button {
        width: 100%;
    }

    .utility-success-actions .utility-button.secondary {
        width: 100%;
        justify-content: center;
        padding-block: 12px;
    }

    .utility-calendar-options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        padding: 8px 9px;
    }

    .utility-calendar-options a {
        min-height: 54px;
        padding: 6px 4px 5px;
        font-size: 6px;
        letter-spacing: 0.06em;
    }

    .utility-calendar-mark {
        width: 22px;
        height: 22px;
    }
}

.utility-turnstile {
    min-height: 0;
}

.utility-turnstile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 0;
    overflow: hidden;
}

.utility-turnstile:has(iframe) {
    min-height: 72px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 22, 35, 0.1);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(247, 249, 252, 0.8)),
        rgba(255, 255, 255, 0.86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.page-booking .booking-scheduler-form .utility-turnstile:has(iframe) {
    border-color: rgba(255, 255, 255, 0.085);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.038), rgba(255, 255, 255, 0.014)),
        #050608;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.utility-turnstile iframe {
    max-width: 100%;
}

.utility-submit-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.utility-submit {
    cursor: pointer;
}

.utility-submit[disabled] {
    cursor: not-allowed;
    opacity: 0.72;
}

.carrier-logo-system {
    display: grid;
    gap: 18px;
}

.carrier-system-panel {
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(15, 22, 35, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 247, 251, 0.9)),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 48px rgba(12, 18, 30, 0.09);
}

.carrier-review-pool {
    background:
        radial-gradient(ellipse 70% 120% at 100% 0%, rgba(111, 135, 255, 0.12), transparent 66%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.92)),
        #fff;
}

.carrier-directory {
    margin-top: 20px;
}

.carrier-directory summary {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid rgba(15, 22, 35, 0.12);
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 253, 0.9)),
        #fff;
    box-shadow: 0 14px 30px rgba(15, 22, 35, 0.08);
    color: var(--utility-ink);
    cursor: pointer;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.15;
    list-style: none;
    text-transform: uppercase;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.carrier-directory summary::-webkit-details-marker {
    display: none;
}

.carrier-directory summary::after {
    content: "";
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 999px;
    background:
        linear-gradient(#c9a050, #c9a050) center / 10px 2px no-repeat,
        linear-gradient(#c9a050, #c9a050) center / 2px 10px no-repeat,
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.18), transparent 60%),
        #05070b;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 6px 14px rgba(5, 7, 11, 0.24);
}

.carrier-directory[open] summary {
    border-color: rgba(111, 135, 255, 0.34);
    box-shadow: 0 16px 38px rgba(111, 135, 255, 0.14);
}

.carrier-directory[open] summary::after {
    background:
        linear-gradient(#c9a050, #c9a050) center / 10px 2px no-repeat,
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.18), transparent 60%),
        #05070b;
}

.carrier-directory summary:hover,
.carrier-directory summary:focus-visible {
    border-color: rgba(111, 135, 255, 0.4);
    box-shadow: 0 18px 38px rgba(15, 22, 35, 0.12);
    outline: none;
    transform: translateY(-1px);
}

.carrier-directory-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 14px;
    margin: 18px 0 0;
    padding: 18px;
    border: 1px solid rgba(15, 22, 35, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.66);
    list-style: none;
}

.carrier-directory-list li {
    min-width: 0;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.54);
    color: #263142;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
}

.carrier-directory-note {
    margin: 14px 0 0;
    color: var(--utility-muted);
    font-size: 12px;
    line-height: 1.55;
}

.contact-command-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(300px, 0.55fr);
    gap: 20px;
    padding: clamp(24px, 4vw, 44px);
    color: #fff;
    background:
        radial-gradient(ellipse 80% 64% at 90% 0%, rgba(111, 135, 255, 0.18), transparent 65%),
        linear-gradient(180deg, #050607, #010203);
    border: 1px solid rgba(154, 178, 235, 0.13);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.26);
}

.contact-route-list {
    display: grid;
    gap: 12px;
}

.contact-route {
    display: grid;
    gap: 6px;
    padding: 16px;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.055);
    transition: transform 180ms var(--utility-ease), border-color 180ms var(--utility-ease), background 180ms var(--utility-ease);
}

.contact-route:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 135, 255, 0.38);
    background: rgba(255, 255, 255, 0.08);
}

.contact-route strong {
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact-route span {
    color: rgba(229, 234, 244, 0.72);
    font-size: 13px;
    line-height: 1.45;
    white-space: nowrap;
}

.page-contact .contact-command-panel {
    grid-template-columns: minmax(0, 0.7fr) minmax(420px, 0.66fr);
    gap: clamp(24px, 4vw, 52px);
    align-items: center;
}

.page-contact .contact-command-panel h2 {
    max-width: 560px;
    margin: 8px 0 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(24px, 3.1vw, 40px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.page-contact .contact-command-panel p {
    max-width: 600px;
    margin: 12px 0 0;
    color: rgba(229, 234, 244, 0.78);
    font-size: 15px;
    line-height: 1.58;
}

.page-contact .contact-route-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-contact .contact-route {
    min-height: 92px;
    align-content: center;
}

.page-contact .contact-proof-glass {
    position: relative;
    overflow: hidden;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.5fr);
    gap: 28px;
    padding: clamp(30px, 3.2vw, 42px);
    color: rgba(248, 250, 252, 0.96);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(112, 145, 255, 0.11) 54%, transparent 78%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.72) 0%, rgba(12, 17, 30, 0.82) 50%, rgba(3, 4, 7, 0.9) 100%);
    border-color: rgba(255, 255, 255, 0.17);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px) saturate(1.22);
}

.page-contact .contact-proof-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 86% 72% at 58% 46%, #000 0%, transparent 74%);
    opacity: 0.26;
    pointer-events: none;
}

.page-contact .contact-proof-glass::after {
    content: "";
    position: absolute;
    inset: -44% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 72% at 80% 30%, rgba(128, 154, 255, 0.25), transparent 66%),
        radial-gradient(ellipse 42% 38% at 24% 92%, rgba(201, 160, 80, 0.12), transparent 66%),
        linear-gradient(112deg, transparent 0 30%, rgba(255, 255, 255, 0.18) 42%, rgba(132, 158, 255, 0.13) 52%, transparent 64% 100%);
    opacity: 0.66;
    animation: quotesProofGlassSweep 10s ease-in-out infinite;
    pointer-events: none;
}

.page-contact .contact-proof-glass > * {
    position: relative;
    z-index: 1;
}

.page-contact .contact-proof-glass .utility-section-kicker {
    display: block;
    margin-bottom: 11px;
    color: rgba(201, 160, 80, 0.96);
}

.page-contact .contact-proof-glass h2 {
    margin: 0;
    font-size: clamp(28px, 3.1vw, 38px);
    line-height: 1.06;
}

.page-contact .contact-proof-glass p {
    margin: 14px 0 0;
    line-height: 1.58;
}

.page-contact .contact-proof-glass .utility-proof-list {
    width: min(236px, 100%);
    justify-self: end;
    align-self: center;
    gap: 15px;
    margin-right: clamp(28px, 4.4vw, 56px);
}

.page-contact .contact-proof-glass .utility-proof-item {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 0 0 76px;
    color: rgba(248, 250, 252, 0.92);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: left;
    white-space: nowrap;
}

.page-contact .contact-proof-glass .utility-proof-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 58px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(214, 166, 74, 0.96));
    box-shadow: 0 0 14px rgba(214, 166, 74, 0.35);
    transform: translateY(-50%);
}

.page-contact .contact-proof-glass .utility-proof-item::after {
    content: "";
    position: absolute;
    left: 58px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d6a64a;
    transform: translateY(-50%);
}

@media (min-width: 981px) {
    .page-contact .contact-route-list {
        gap: 10px;
    }

    .page-contact .contact-route {
        min-height: 66px;
        padding: 12px 16px;
    }
}

.calendar-placeholder {
    display: grid;
    gap: 18px;
    padding: clamp(24px, 4vw, 42px);
    border-radius: var(--utility-radius);
    border: 1px dashed rgba(111, 135, 255, 0.34);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 250, 0.88)),
        #fff;
    box-shadow: 0 18px 48px rgba(12, 18, 30, 0.1);
}

.calendar-placeholder.is-connected {
    border-style: solid;
    border-color: rgba(111, 135, 255, 0.24);
    background:
        radial-gradient(ellipse 84% 74% at 88% 0%, rgba(111, 135, 255, 0.13), transparent 66%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 250, 0.9)),
        #fff;
}

.calendar-placeholder h2 {
    margin: 0;
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.calendar-placeholder p {
    margin: 0;
    color: var(--utility-muted);
    font-size: 15px;
    line-height: 1.65;
}

.page-booking .utility-hero {
    grid-template-columns: minmax(0, 1fr);
}

.page-booking .utility-shell {
    padding-top: clamp(34px, 3.2vw, 46px);
    padding-bottom: clamp(36px, 3.5vw, 50px);
}

.page-booking .utility-section {
    margin-top: clamp(40px, 5vw, 60px);
}

.page-booking #schedule,
.page-booking .booking-followup-section {
    scroll-margin-top: 44px;
}

.page-booking .utility-section-title {
    max-width: 780px;
    font-size: clamp(24px, 3.2vw, 40px);
}

.page-booking .utility-section-copy {
    max-width: 340px;
}

.page-booking #review .utility-section-head {
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    margin-bottom: 20px;
}

.page-booking #review .utility-section-copy {
    max-width: 560px;
}

.page-booking #review {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 3.2vw, 42px);
    color: rgba(248, 250, 252, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--utility-radius);
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(112, 145, 255, 0.11) 54%, transparent 78%),
        radial-gradient(ellipse 58% 92% at 86% 0%, rgba(111, 135, 255, 0.17), transparent 66%),
        linear-gradient(135deg, rgba(8, 11, 18, 0.74) 0%, rgba(12, 17, 30, 0.84) 50%, rgba(3, 4, 7, 0.92) 100%);
    box-shadow:
        0 32px 88px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px) saturate(1.2);
}

.page-booking #review::before,
.page-booking #review::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.page-booking #review::before {
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(ellipse 76% 70% at 60% 48%, #000 0%, transparent 75%);
    opacity: 0.26;
}

.page-booking #review::after {
    inset: -48% -18%;
    z-index: 0;
    background:
        radial-gradient(ellipse 38% 70% at 78% 30%, rgba(128, 154, 255, 0.26), transparent 66%),
        radial-gradient(ellipse 44% 38% at 22% 90%, rgba(201, 160, 80, 0.12), transparent 66%),
        linear-gradient(112deg, transparent 0 32%, rgba(255, 255, 255, 0.18) 44%, rgba(132, 158, 255, 0.13) 54%, transparent 66% 100%);
    opacity: 0.64;
    animation: quotesProofGlassSweep 11s ease-in-out infinite;
}

.page-booking #review > * {
    position: relative;
    z-index: 1;
}

.page-booking #review .utility-section-kicker {
    color: rgba(201, 160, 80, 0.96);
}

.page-booking #review .utility-section-title {
    color: rgba(248, 250, 252, 0.98);
    font-size: clamp(34px, 4vw, 50px);
}

.page-booking #review .utility-section-copy {
    color: rgba(229, 234, 244, 0.76);
}

.page-booking #review .utility-grid {
    position: relative;
    overflow: hidden;
    gap: 0;
    margin: 30px 0 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)),
        rgba(255, 255, 255, 0.03);
    box-shadow:
        0 20px 58px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

.page-booking #review .utility-grid::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 4;
    height: 2px;
    background:
        linear-gradient(90deg,
            transparent 0%,
            rgba(111, 135, 255, 0.16) 12%,
            rgba(111, 135, 255, 0.92) 28%,
            rgba(255, 255, 255, 0.86) 36%,
            rgba(201, 160, 80, 0.86) 44%,
            rgba(111, 135, 255, 0.26) 56%,
            transparent 72%);
    background-size: 240% 100%;
    box-shadow:
        0 0 12px rgba(111, 135, 255, 0.44),
        0 0 24px rgba(201, 160, 80, 0.18);
    opacity: 0.86;
    animation: bookingReviewLedRail 5.8s cubic-bezier(0.45, 0, 0.2, 1) infinite;
    pointer-events: none;
}

.page-booking .utility-choice-card {
    display: grid;
    grid-template-rows: auto auto minmax(70px, 1fr) auto;
    position: relative;
    overflow: hidden;
    border-color: rgba(255, 255, 255, 0.74);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(245, 248, 252, 0.76)),
        radial-gradient(ellipse 84% 76% at 92% 0%, rgba(111, 135, 255, 0.12), transparent 66%),
        #fff;
    box-shadow:
        0 20px 54px rgba(12, 18, 30, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-booking #review .utility-choice-card {
    grid-template-rows: auto auto auto;
    align-content: start;
    border-width: 0 1px 0 0;
    border-color: rgba(255, 255, 255, 0.1);
    border-radius: 0;
    padding: clamp(20px, 2.2vw, 28px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012)),
        transparent;
    box-shadow: none;
}

.page-booking #review .utility-choice-card:last-child {
    border-right: 0;
}

.page-booking #review .utility-choice-card::before {
    content: "";
    position: absolute;
    inset: 0 12% auto;
    z-index: 3;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(132, 158, 255, 0.7), rgba(255, 235, 180, 0.42), transparent);
    box-shadow: 0 0 14px rgba(111, 135, 255, 0.32);
    opacity: 0.32;
    animation: bookingReviewLedPulse 4.8s ease-in-out infinite;
    pointer-events: none;
}

.page-booking #review .utility-choice-card:nth-child(2)::before {
    animation-delay: 0.7s;
}

.page-booking #review .utility-choice-card:nth-child(3)::before {
    animation-delay: 1.4s;
}

.page-booking #review .utility-choice-card:hover,
.page-booking #review .utility-choice-card.is-selected {
    transform: none;
    border-color: rgba(255, 255, 255, 0.13);
    background:
        radial-gradient(ellipse 90% 74% at 50% 0%, rgba(111, 135, 255, 0.13), transparent 68%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.022)),
        transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.page-booking .utility-card-foot {
    align-self: end;
}

.page-booking #review .utility-card-kicker {
    display: inline-flex;
    color: rgba(126, 148, 255, 0.98);
    font-size: 11px;
    letter-spacing: 0.14em;
}

.page-booking #review .utility-card-title {
    display: block;
    margin-top: 12px;
    color: rgba(248, 250, 252, 0.98);
    font-size: clamp(17px, 1.65vw, 22px);
    line-height: 1.1;
}

.page-booking #review .utility-card-copy {
    max-width: 320px;
    margin-top: 10px;
    color: rgba(229, 234, 244, 0.72);
    font-size: 14px;
    line-height: 1.48;
}

@keyframes bookingReviewLedRail {
    0%,
    100% {
        background-position: 0 0;
    }

    50% {
        background-position: 100% 0;
    }
}

@keyframes bookingReviewLedPulse {
    0%,
    100% {
        opacity: 0.24;
        transform: scaleX(0.86);
    }

    50% {
        opacity: 0.52;
        transform: scaleX(1);
    }
}

.page-booking .booking-primary-cta {
    min-width: clamp(208px, 16vw, 224px);
    min-height: 54px;
    font-size: 12px;
    letter-spacing: 0.13em;
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.28),
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 0 34px rgba(111, 135, 255, 0.2);
}

.page-booking .booking-calendar-stage {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    padding: 0;
    border-color: rgba(255, 255, 255, 0.74);
    background:
        linear-gradient(118deg, rgba(255, 255, 255, 0.3), transparent 28%, rgba(112, 145, 255, 0.1) 54%, transparent 76%),
        radial-gradient(ellipse 68% 82% at 94% 0%, rgba(111, 135, 255, 0.18), transparent 64%),
        radial-gradient(ellipse 56% 64% at 0% 100%, rgba(201, 160, 80, 0.1), transparent 68%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(241, 245, 250, 0.92)),
        #fff;
    box-shadow:
        0 34px 98px rgba(12, 18, 30, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px) saturate(1.16);
    overflow: hidden;
}

.page-booking .booking-calendar-stage::before {
    content: none;
}

.page-booking .booking-calendar-stage::after {
    inset: -42% -18%;
    width: auto;
    background:
        radial-gradient(ellipse 34% 64% at 82% 28%, rgba(128, 154, 255, 0.2), transparent 66%),
        radial-gradient(ellipse 42% 38% at 18% 94%, rgba(201, 160, 80, 0.12), transparent 66%),
        linear-gradient(112deg, transparent 0 32%, rgba(255, 255, 255, 0.22) 44%, rgba(132, 158, 255, 0.1) 54%, transparent 66% 100%);
    opacity: 0.38;
    animation: quotesProofGlassSweep 11s ease-in-out infinite;
}

.page-booking .booking-calendar-head {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.68fr) minmax(260px, 0.32fr);
    gap: clamp(16px, 2.2vw, 28px);
    align-items: center;
    overflow: hidden;
    padding: clamp(16px, 2.1vw, 24px) clamp(24px, 3.4vw, 36px);
    color: rgba(248, 250, 252, 0.96);
    background:
        radial-gradient(ellipse 58% 140% at 8% 0%, rgba(255, 255, 255, 0.08), transparent 62%),
        linear-gradient(112deg, rgba(255, 255, 255, 0.11), transparent 24%, rgba(255, 255, 255, 0.035) 42%, transparent 64%),
        linear-gradient(135deg, rgba(5, 6, 9, 0.96) 0%, rgba(15, 18, 24, 0.94) 48%, rgba(3, 4, 7, 0.98) 100%);
    border-bottom: 1px solid rgba(15, 22, 35, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(255, 255, 255, 0.055),
        0 18px 46px rgba(7, 10, 16, 0.12);
}

.page-booking .booking-calendar-head .utility-section-kicker {
    display: block;
    margin-bottom: 0;
    color: var(--utility-neon);
    font-size: 11px;
    letter-spacing: 0.2em;
    text-shadow: 0 0 16px rgba(111, 135, 255, 0.38);
}

.page-booking .booking-calendar-head h2 {
    max-width: 620px;
    margin: 8px 0 0;
    color: rgba(248, 250, 252, 0.98);
    font-size: clamp(24px, 2.55vw, 34px);
    line-height: 1.02;
}

.page-booking .booking-title-mobile {
    display: none;
}

.page-booking .booking-calendar-head-copy {
    display: grid;
    justify-items: end;
    gap: 10px;
}

.page-booking .booking-calendar-head p {
    max-width: 460px;
    margin: 0;
    color: rgba(229, 234, 244, 0.76);
    font-size: 13px;
    line-height: 1.48;
    text-align: right;
}

.page-booking .booking-calendar-head .utility-mini-link {
    width: min(100%, 168px);
    color: rgba(248, 250, 252, 0.94);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018)),
        #05070b;
    border-color: rgba(255, 255, 255, 0.08);
}

.page-booking .booking-calendar-preview {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: start;
    align-self: stretch;
    gap: clamp(18px, 2.4vw, 26px);
    width: 100%;
    min-height: clamp(320px, 30vw, 440px);
    margin: 0;
    padding: clamp(24px, 3vw, 34px);
    color: rgba(18, 24, 34, 0.94);
    box-sizing: border-box;
    border-radius: 0;
    border: 0;
    border-top: 1px solid rgba(15, 22, 35, 0.08);
    background:
        radial-gradient(ellipse 84% 74% at 94% 0%, rgba(111, 135, 255, 0.08), transparent 64%),
        radial-gradient(ellipse 72% 68% at 0% 100%, rgba(201, 160, 80, 0.08), transparent 68%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.94)),
        #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        inset 0 22px 50px rgba(255, 255, 255, 0.46);
}

.page-booking .booking-calendar-preview:not(.has-selected-slot) {
    align-self: stretch;
    width: 100%;
    min-height: clamp(320px, 30vw, 440px);
}

.page-booking .booking-scheduler-form {
    gap: clamp(18px, 2.4vw, 26px);
}

.page-booking .booking-scheduler-form.has-selected-slot {
    align-content: start;
}

.page-booking .booking-preview-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-booking .booking-preview-head span {
    color: rgba(219, 226, 240, 0.7);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.48;
}

.page-booking .booking-preview-head strong {
    color: rgba(255, 255, 255, 0.95);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.25;
    text-align: right;
    text-transform: uppercase;
}

.page-booking .booking-slot-panel {
    display: grid;
    gap: 14px;
    margin-top: 0;
}

.page-booking .booking-slot-head {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.page-booking .booking-slot-head:has(.booking-slot-status:empty) {
    display: none;
}

.page-booking .booking-slot-status {
    min-height: 0;
    color: rgba(17, 24, 34, 0.9);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.13em;
    line-height: 1.45;
    text-transform: uppercase;
}

.page-booking .booking-slot-grid {
    display: grid;
    grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 20px);
    align-items: start;
}

.page-booking .booking-scheduler-form.has-selected-slot .booking-slot-grid {
    grid-template-columns: 1fr;
}

.page-booking .booking-scheduler-form.has-selected-slot .booking-day-panel,
.page-booking .booking-scheduler-form.has-selected-slot .booking-time-panel > .booking-panel-label,
.page-booking .booking-scheduler-form.has-selected-slot .booking-time-grid {
    display: none;
}

.page-booking .booking-scheduler-form.has-selected-slot .booking-time-panel {
    grid-column: 1 / -1;
    min-height: auto;
    padding: clamp(14px, 1.8vw, 18px);
}

.page-booking .booking-day-panel,
.page-booking .booking-time-panel {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: clamp(14px, 1.8vw, 18px);
    border: 1px solid rgba(15, 22, 35, 0.08);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(247, 249, 252, 0.72)),
        rgba(255, 255, 255, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        0 14px 38px rgba(15, 22, 35, 0.06);
}

.page-booking .booking-day-panel {
    max-height: none;
    overflow: visible;
}

.page-booking .booking-time-panel {
    grid-template-rows: auto auto minmax(0, 1fr);
}

.page-booking .booking-time-panel.is-empty {
    grid-template-rows: auto minmax(0, 1fr);
}

.page-booking .booking-time-panel.has-selection {
    min-height: clamp(312px, 26vw, 404px);
}

.page-booking .booking-scheduler-form.has-selected-slot .booking-time-panel.has-selection {
    display: block;
    min-height: auto;
}

@media (min-width: 641px) {
    .page-booking .booking-scheduler-form.has-selected-slot .booking-time-panel.has-selection {
        padding: clamp(18px, 1.8vw, 20px);
    }

    .page-booking .booking-scheduler-form.has-selected-slot .booking-selection-summary {
        align-self: center;
        margin-top: 0;
    }
}

.page-booking .booking-time-panel-full {
    grid-column: 1 / -1;
}

.page-booking .booking-panel-label {
    color: rgba(17, 24, 34, 0.68);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
}

.page-booking .booking-day-grid,
.page-booking .booking-time-grid {
    display: grid;
    gap: 10px;
}

.page-booking .booking-day-grid {
    max-height: none;
    overflow: visible;
    overscroll-behavior: contain;
    padding: 8px 4px;
    scroll-padding-top: 8px;
    scroll-padding-bottom: 8px;
}

@supports not selector(::-webkit-scrollbar) {
    .page-booking .booking-day-grid {
        scrollbar-width: thin;
        scrollbar-color: #111318 transparent;
    }
}

.page-booking .booking-day-grid::-webkit-scrollbar {
    width: 6px;
}

.page-booking .booking-day-grid::-webkit-scrollbar-track {
    background: rgba(15, 22, 35, 0.055);
    border-radius: 999px;
}

.page-booking .booking-day-grid::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 32%),
        linear-gradient(180deg, #1b1f28, #05070b);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 0 12px rgba(15, 22, 35, 0.18);
}

.page-booking .booking-day-grid::-webkit-scrollbar-thumb:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 32%),
        linear-gradient(180deg, #242936, #07090d);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 14px rgba(111, 135, 255, 0.16);
}

@media (max-width: 1180px), (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-booking .booking-day-grid {
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-right: 0;
    }

    .page-booking .booking-day-grid::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }
}

.page-booking .booking-time-grid {
    align-self: start;
    align-content: start;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(74px, auto);
}

.page-booking .booking-time-grid[data-slot-count="1"] {
    grid-template-columns: minmax(0, 1fr);
}

.page-booking .booking-time-grid[data-slot-count="2"],
.page-booking .booking-time-grid[data-slot-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-booking .booking-day-button {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    align-content: center;
    gap: 3px;
    min-height: 70px;
    padding: 12px 54px 12px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 7px;
    color: rgba(248, 250, 252, 0.94);
    text-align: left;
    background:
        radial-gradient(ellipse 92% 76% at 50% 0%, rgba(255, 255, 255, 0.105), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018)),
        #05070b;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 14px 28px rgba(15, 22, 35, 0.16);
    cursor: pointer;
    transition: transform 180ms var(--utility-ease), border-color 180ms var(--utility-ease), box-shadow 180ms var(--utility-ease);
}

.page-booking .booking-day-button:hover,
.page-booking .booking-day-button.is-selected {
    border-color: rgba(111, 135, 255, 0.78);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.15),
        0 18px 34px rgba(15, 22, 35, 0.2),
        0 0 0 1px rgba(111, 135, 255, 0.32),
        0 0 30px rgba(111, 135, 255, 0.24);
}

.page-booking .booking-day-button:hover:not(.is-selected) {
    transform: translateY(-2px);
}

.page-booking .booking-day-button.is-selected {
    transform: none;
    background:
        radial-gradient(ellipse 92% 76% at 50% 0%, rgba(142, 154, 255, 0.18), transparent 70%),
        radial-gradient(ellipse 68% 72% at 100% 0%, rgba(154, 100, 255, 0.14), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.022)),
        #05070b;
}

.page-booking .booking-day-button span,
.page-booking .booking-day-button small {
    color: rgba(229, 234, 244, 0.68);
    font-weight: 850;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-booking .booking-day-button span {
    font-size: 9.5px;
}

.page-booking .booking-day-button small {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(229, 190, 112, 0.84);
    font-size: 8.5px;
    letter-spacing: 0.055em;
    line-height: 1.15;
    text-align: right;
    white-space: nowrap;
}

.page-booking .booking-day-button strong {
    color: rgba(255, 255, 255, 0.96);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 17.5px;
    font-weight: 900;
    line-height: 1.05;
}

.page-booking .booking-time-empty {
    display: grid;
    align-self: stretch;
    min-height: 100%;
    height: 100%;
    align-content: center;
    padding: clamp(18px, 2.4vw, 26px);
    border: 1px dashed rgba(15, 22, 35, 0.14);
    border-radius: 8px;
    color: rgba(51, 65, 85, 0.76);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.55;
    text-align: center;
    background: rgba(255, 255, 255, 0.58);
}

.page-booking .booking-selection-summary {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(110px, 0.42fr) minmax(0, 1fr) minmax(150px, 0.48fr) auto;
    gap: clamp(14px, 2vw, 24px);
    align-items: center;
    align-self: end;
    min-height: clamp(86px, 8vw, 112px);
    margin-top: auto;
    padding: clamp(14px, 1.8vw, 18px) clamp(18px, 2.6vw, 28px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    text-align: center;
    background:
        radial-gradient(ellipse 70% 120% at 50% -18%, rgba(255, 255, 255, 0.13), transparent 66%),
        radial-gradient(ellipse 54% 120% at 86% 18%, rgba(111, 135, 255, 0.11), transparent 70%),
        linear-gradient(112deg, rgba(255, 255, 255, 0.09), transparent 30%, rgba(255, 255, 255, 0.03) 56%, transparent 78%),
        linear-gradient(180deg, rgba(19, 22, 30, 0.96), rgba(5, 7, 11, 0.98));
    box-shadow:
        0 18px 36px rgba(15, 22, 35, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(255, 255, 255, 0.045);
}

.page-booking .booking-selection-summary::before {
    content: "";
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    transform: none;
    background:
        linear-gradient(90deg, transparent 32%, rgba(255, 255, 255, 0.075) 50%, transparent 68%),
        linear-gradient(0deg, transparent 49%, rgba(255, 255, 255, 0.07) 50%, transparent 51%);
    opacity: 0.72;
    pointer-events: none;
}

.page-booking .booking-selection-summary::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: clamp(128px, 21%, 210px);
    width: 1px;
    height: auto;
    transform: none;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.12), transparent);
    opacity: 0.72;
    pointer-events: none;
}

.page-booking .booking-selection-summary span {
    position: relative;
    z-index: 1;
    display: block;
    justify-self: start;
    color: rgba(190, 199, 218, 0.68);
    font: 900 10px/1.25 "Montserrat", "Arial", sans-serif;
    letter-spacing: 0.18em;
    text-align: left;
    text-transform: uppercase;
}

.page-booking .booking-selection-summary strong {
    position: relative;
    z-index: 1;
    display: block;
    justify-self: center;
    margin-top: 0;
    color: rgba(255, 255, 255, 0.96);
    font: 900 clamp(22px, 2.3vw, 32px)/1.02 "Montserrat", "Arial", sans-serif;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.12);
}

.page-booking .booking-selection-summary p {
    position: relative;
    z-index: 1;
    justify-self: end;
    margin: 0;
    color: rgba(229, 234, 244, 0.82);
    font: 850 clamp(15px, 1.25vw, 18px)/1.25 "Inter", "Arial", sans-serif;
    text-align: right;
}

.page-booking .booking-selection-change {
    position: relative;
    z-index: 1;
    justify-self: end;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 7px;
    color: rgba(248, 250, 252, 0.92);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.035);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 12px 26px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    font: 900 10px/1 "Montserrat", "Arial", sans-serif;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    transition: border-color 160ms var(--utility-ease), box-shadow 160ms var(--utility-ease), transform 160ms var(--utility-ease);
}

.page-booking .booking-selection-change:hover,
.page-booking .booking-selection-change:focus-visible {
    outline: none;
    transform: translateY(-1px);
    border-color: rgba(111, 135, 255, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 14px 28px rgba(0, 0, 0, 0.2),
        0 0 24px rgba(111, 135, 255, 0.16);
}

.page-booking .booking-slot-button,
.page-booking .booking-slot-skeleton {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 5px;
    min-height: 68px;
    padding: 11px 12px;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.page-booking .booking-slot-button {
    position: relative;
    color: rgba(248, 250, 252, 0.92);
    background:
        radial-gradient(ellipse 92% 76% at 50% 0%, rgba(255, 255, 255, 0.105), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018)),
        #05070b;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 14px 28px rgba(15, 22, 35, 0.16);
    cursor: pointer;
    transition: transform 180ms var(--utility-ease), border-color 180ms var(--utility-ease), background 180ms var(--utility-ease), box-shadow 180ms var(--utility-ease);
}

.page-booking .booking-slot-button:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 135, 255, 0.5);
    background:
        radial-gradient(ellipse 96% 80% at 50% 0%, rgba(255, 255, 255, 0.12), transparent 72%),
        radial-gradient(ellipse 84% 78% at 100% 0%, rgba(154, 100, 255, 0.11), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.035)),
        #05070b;
    box-shadow:
        0 16px 30px rgba(15, 22, 35, 0.2),
        0 0 26px rgba(111, 135, 255, 0.16);
}

.page-booking .booking-slot-button.is-selected {
    transform: translateY(-2px);
    border-color: rgba(111, 135, 255, 0.78);
    background:
        radial-gradient(ellipse 92% 84% at 50% 0%, rgba(255, 255, 255, 0.15), transparent 68%),
        radial-gradient(ellipse 78% 72% at 100% 0%, rgba(154, 100, 255, 0.22), transparent 70%),
        radial-gradient(ellipse 96% 80% at 0% 0%, rgba(111, 135, 255, 0.2), transparent 72%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.032)),
        #05070b;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 18px 34px rgba(15, 22, 35, 0.22),
        0 0 0 1px rgba(111, 135, 255, 0.28),
        0 0 34px rgba(111, 135, 255, 0.24),
        0 0 46px rgba(154, 100, 255, 0.16);
}

.page-booking .booking-slot-button span {
    color: rgba(219, 226, 240, 0.7);
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.page-booking .booking-slot-button strong {
    color: rgba(255, 255, 255, 0.96);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.page-booking .booking-slot-skeleton {
    overflow: hidden;
    background:
        linear-gradient(110deg, rgba(15, 22, 35, 0.055) 8%, rgba(111, 135, 255, 0.12) 18%, rgba(15, 22, 35, 0.05) 32%);
    background-size: 220% 100%;
    animation: booking-slot-shimmer 1.25s ease-in-out infinite;
}

.page-booking .booking-slot-skeleton.is-static {
    opacity: 0.72;
    animation: none;
}

.page-booking .booking-slot-skeleton span,
.page-booking .booking-slot-skeleton strong {
    justify-self: center;
    border-radius: 999px;
    background: rgba(219, 226, 240, 0.2);
}

.page-booking .booking-slot-skeleton span {
    width: 74px;
    height: 8px;
}

.page-booking .booking-slot-skeleton strong {
    width: 96px;
    height: 17px;
}

@keyframes booking-slot-shimmer {
    0% {
        background-position: 120% 0;
    }

    100% {
        background-position: -120% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-booking .booking-slot-skeleton {
        animation: none;
    }
}

.page-booking .booking-selected-time {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.page-booking .booking-scheduler-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 12px;
}

.page-booking .booking-scheduler-fields:has(.has-error) {
    row-gap: 24px;
}

.page-booking .booking-scheduler-fields,
.page-booking .booking-scheduler-form .utility-submit-row {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: max-height 260ms var(--utility-ease), opacity 200ms var(--utility-ease), transform 220ms var(--utility-ease);
}

.page-booking .booking-scheduler-form.has-selected-slot .booking-scheduler-fields {
    max-height: 620px;
    overflow: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.page-booking .booking-scheduler-form.has-selected-slot .utility-submit-row {
    max-height: 68px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.page-booking .booking-scheduler-form.is-loading-slots.has-selected-slot .booking-scheduler-fields,
.page-booking .booking-scheduler-form.is-loading-slots.has-selected-slot .utility-submit-row {
    opacity: 0.46;
    pointer-events: none;
}

.page-booking .booking-scheduler-fields .utility-label,
.page-quotes .quotes-form-panel .utility-form .utility-label,
.page-contact .utility-form-panel .utility-form .utility-label,
.page-booking .booking-followup-section .utility-form .utility-label {
    color: rgba(17, 24, 34, 0.68);
    font-size: 10px;
    letter-spacing: 0.055em;
}

.page-booking .booking-scheduler-fields .utility-input,
.page-booking .booking-scheduler-fields .utility-select,
.page-booking .booking-scheduler-fields .utility-select-trigger,
.page-booking .booking-scheduler-fields .utility-textarea,
.page-quotes .quotes-form-panel .utility-form .utility-input,
.page-quotes .quotes-form-panel .utility-form .utility-select,
.page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
.page-quotes .quotes-form-panel .utility-form .utility-textarea,
.page-contact .utility-form-panel .utility-form .utility-input,
.page-contact .utility-form-panel .utility-form .utility-select,
.page-contact .utility-form-panel .utility-form .utility-select-trigger,
.page-contact .utility-form-panel .utility-form .utility-textarea,
.page-booking .booking-followup-section .utility-form .utility-input,
.page-booking .booking-followup-section .utility-form .utility-select,
.page-booking .booking-followup-section .utility-form .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-textarea {
    border-color: rgba(15, 22, 35, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 249, 252, 0.9)),
        #fff;
    color: rgba(17, 24, 34, 0.94);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.page-booking .booking-scheduler-fields .utility-input::placeholder,
.page-booking .booking-scheduler-fields .utility-textarea::placeholder,
.page-quotes .quotes-form-panel .utility-form .utility-input::placeholder,
.page-quotes .quotes-form-panel .utility-form .utility-textarea::placeholder,
.page-contact .utility-form-panel .utility-form .utility-input::placeholder,
.page-contact .utility-form-panel .utility-form .utility-textarea::placeholder,
.page-booking .booking-followup-section .utility-form .utility-input::placeholder,
.page-booking .booking-followup-section .utility-form .utility-textarea::placeholder {
    color: rgba(71, 85, 105, 0.52);
}

.page-booking .booking-scheduler-fields .utility-textarea::placeholder,
.page-quotes .quotes-form-panel .utility-form .utility-textarea::placeholder,
.page-contact .utility-form-panel .utility-form .utility-textarea::placeholder,
.page-booking .booking-followup-section .utility-form .utility-textarea::placeholder {
    font-size: 13px;
    font-weight: 700;
}

.page-booking .booking-scheduler-fields .utility-input:focus,
.page-booking .booking-scheduler-fields .utility-select:focus,
.page-booking .booking-scheduler-fields .utility-select-trigger:focus-visible,
.page-booking .booking-scheduler-fields .utility-custom-select.is-open .utility-select-trigger,
.page-booking .booking-scheduler-fields .utility-textarea:focus,
.page-quotes .quotes-form-panel .utility-form .utility-input:focus,
.page-quotes .quotes-form-panel .utility-form .utility-select:focus,
.page-quotes .quotes-form-panel .utility-form .utility-select-trigger:focus-visible,
.page-quotes .quotes-form-panel .utility-form .utility-custom-select.is-open .utility-select-trigger,
.page-quotes .quotes-form-panel .utility-form .utility-textarea:focus,
.page-contact .utility-form-panel .utility-form .utility-input:focus,
.page-contact .utility-form-panel .utility-form .utility-select:focus,
.page-contact .utility-form-panel .utility-form .utility-select-trigger:focus-visible,
.page-contact .utility-form-panel .utility-form .utility-custom-select.is-open .utility-select-trigger,
.page-contact .utility-form-panel .utility-form .utility-textarea:focus,
.page-booking .booking-followup-section .utility-form .utility-input:focus,
.page-booking .booking-followup-section .utility-form .utility-select:focus,
.page-booking .booking-followup-section .utility-form .utility-select-trigger:focus-visible,
.page-booking .booking-followup-section .utility-form .utility-custom-select.is-open .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-textarea:focus {
    border-color: rgba(111, 135, 255, 0.46);
    background:
        radial-gradient(ellipse 80% 70% at 50% 0%, rgba(111, 135, 255, 0.09), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94)),
        #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        0 0 0 4px rgba(111, 135, 255, 0.12),
        0 12px 28px rgba(111, 135, 255, 0.08);
}

.page-booking .booking-scheduler-fields .utility-field.has-error .utility-input,
.page-booking .booking-scheduler-fields .utility-field.has-error .utility-select,
.page-booking .booking-scheduler-fields .utility-field.has-error .utility-select-trigger,
.page-booking .booking-scheduler-fields .utility-field.has-error .utility-textarea,
.page-quotes .quotes-form-panel .utility-form .utility-field.has-error .utility-input,
.page-quotes .quotes-form-panel .utility-form .utility-field.has-error .utility-select,
.page-quotes .quotes-form-panel .utility-form .utility-field.has-error .utility-select-trigger,
.page-quotes .quotes-form-panel .utility-form .utility-field.has-error .utility-textarea,
.page-contact .utility-form-panel .utility-form .utility-field.has-error .utility-input,
.page-contact .utility-form-panel .utility-form .utility-field.has-error .utility-select,
.page-contact .utility-form-panel .utility-form .utility-field.has-error .utility-select-trigger,
.page-contact .utility-form-panel .utility-form .utility-field.has-error .utility-textarea,
.page-booking .booking-followup-section .utility-form .utility-field.has-error .utility-input,
.page-booking .booking-followup-section .utility-form .utility-field.has-error .utility-select,
.page-booking .booking-followup-section .utility-form .utility-field.has-error .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-field.has-error .utility-textarea,
.page-booking .booking-scheduler-form .utility-consent.has-error {
    border-color: rgba(255, 128, 166, 0.34);
    background:
        radial-gradient(ellipse 80% 70% at 50% 0%, rgba(255, 128, 166, 0.075), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92)),
        #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        0 0 0 4px rgba(255, 128, 166, 0.075);
}

.page-booking .booking-scheduler-form .utility-field-error {
    color: rgba(166, 40, 72, 0.94);
}

.page-booking .booking-scheduler-fields .utility-textarea {
    min-height: 62px;
}

.page-booking .booking-scheduler-fields .utility-input,
.page-booking .booking-scheduler-fields .utility-select,
.page-booking .booking-scheduler-fields .utility-select-trigger,
.page-booking .booking-scheduler-fields .utility-textarea,
.page-quotes .quotes-form-panel .utility-form .utility-input,
.page-quotes .quotes-form-panel .utility-form .utility-select,
.page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
.page-quotes .quotes-form-panel .utility-form .utility-textarea,
.page-contact .utility-form-panel .utility-form .utility-input,
.page-contact .utility-form-panel .utility-form .utility-select,
.page-contact .utility-form-panel .utility-form .utility-select-trigger,
.page-contact .utility-form-panel .utility-form .utility-textarea,
.page-booking .booking-followup-section .utility-form .utility-input,
.page-booking .booking-followup-section .utility-form .utility-select,
.page-booking .booking-followup-section .utility-form .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-textarea {
    padding-top: 8px;
    padding-bottom: 8px;
}

.page-booking .booking-scheduler-fields .utility-select-trigger,
.page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
.page-contact .utility-form-panel .utility-form .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-select-trigger {
    min-height: 38px;
    border-radius: 7px;
    font-weight: 600;
}

.page-booking .booking-scheduler-fields .utility-custom-select.is-placeholder .utility-select-value,
.page-quotes .quotes-form-panel .utility-form .utility-custom-select.is-placeholder .utility-select-value,
.page-contact .utility-form-panel .utility-form .utility-custom-select.is-placeholder .utility-select-value,
.page-booking .booking-followup-section .utility-form .utility-custom-select.is-placeholder .utility-select-value {
    color: rgba(71, 85, 105, 0.62);
    font-weight: 650;
}

.page-booking .booking-scheduler-form .utility-submit-row {
    margin-top: 2px;
}

.page-booking .booking-scheduler-form .utility-submit {
    min-height: 44px;
    padding-top: 11px;
    padding-bottom: 11px;
}

.page-booking .booking-scheduler-form .utility-form-notice {
    background: rgba(255, 255, 255, 0.72);
    color: rgba(17, 24, 34, 0.78);
}

.page-booking .booking-scheduler-form .utility-consent {
    border-color: rgba(15, 22, 35, 0.11);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 249, 252, 0.82)),
        rgba(255, 255, 255, 0.72);
    color: rgba(17, 24, 34, 0.72);
    box-shadow:
        0 14px 28px rgba(15, 22, 35, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.page-booking .booking-scheduler-form .utility-consent input {
    border-color: rgba(15, 22, 35, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 249, 252, 0.82)),
        #fff;
    box-shadow:
        0 8px 16px rgba(15, 22, 35, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.page-booking .booking-scheduler-form .utility-consent input:hover {
    border-color: rgba(111, 135, 255, 0.52);
    box-shadow:
        0 10px 20px rgba(111, 135, 255, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.page-booking .booking-scheduler-form .utility-consent input:checked {
    border-color: rgba(111, 135, 255, 0.68);
    background:
        linear-gradient(180deg, #95a6ff, #6f62ff),
        #766dff;
    box-shadow:
        0 10px 20px rgba(111, 135, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.page-booking .booking-scheduler-form .utility-consent a {
    color: var(--utility-ink);
}

.page-booking .booking-scheduler-form .utility-form-notice.is-success {
    border-color: rgba(91, 209, 142, 0.32);
    background: rgba(28, 92, 58, 0.32);
    color: rgba(228, 255, 239, 0.94);
}

.page-booking .booking-scheduler-form .utility-form-notice.is-error {
    border-color: rgba(255, 130, 130, 0.28);
    background: rgba(94, 28, 28, 0.34);
    color: rgba(255, 232, 232, 0.94);
}

.page-booking .utility-dark-band {
    padding-top: clamp(30px, 3.4vw, 40px);
    padding-bottom: clamp(30px, 3.4vw, 40px);
}

.page-booking .utility-dark-band h2 {
    font-size: clamp(24px, 3.35vw, 38px);
}

.page-booking .booking-followup-section .utility-form-panel {
    padding: 0;
}

.page-booking .booking-followup-section .utility-section-head {
    align-items: start;
    margin-bottom: 0;
}

.page-booking .booking-followup-section .utility-section-title {
    font-size: clamp(28px, 3.6vw, 44px);
}

.page-booking .booking-followup-section .utility-form {
    gap: 16px;
}

@media (min-width: 1440px) {
    .page-quotes .utility-shell,
    .page-contact .utility-shell,
    .page-carriers .utility-shell,
    .page-booking .utility-shell {
        width: min(1260px, calc(100% - 120px));
    }

    .page-booking .booking-followup-section,
    .page-booking .utility-legal-strip {
        max-width: 1180px;
        margin-left: auto;
        margin-right: auto;
    }
}

.utility-turnstile {
    filter: invert(1) hue-rotate(180deg);
}

.page-booking .booking-preview-steps {
    display: grid;
    gap: 10px;
    margin: 22px 0;
}

.page-booking .booking-preview-steps div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 50px;
    padding: 12px;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
}

.page-booking .booking-preview-steps span {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    color: #050607;
    background: linear-gradient(135deg, var(--utility-gold), #f2d690);
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 11px;
    font-weight: 900;
}

.page-booking .booking-preview-steps strong {
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.page-booking .booking-followup-section {
    margin-top: clamp(30px, 5vw, 56px);
    opacity: 1;
    transform: translateY(0);
    transition: opacity 260ms var(--utility-ease), transform 260ms var(--utility-ease), max-height 320ms var(--utility-ease), margin-top 260ms var(--utility-ease);
}

.page-booking .booking-followup-section.is-collapsed {
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(12px);
}

.page-booking .booking-followup-section.is-revealed {
    max-height: 1000px;
}

.page-booking .booking-followup-section .utility-form-panel {
    position: relative;
    border-color: rgba(15, 22, 35, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.92)),
        #fff;
    box-shadow:
        0 20px 56px rgba(12, 18, 30, 0.11),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-booking .booking-followup-section .utility-section-title {
    max-width: 620px;
}

.page-booking .booking-followup-section .utility-section-copy {
    max-width: 620px;
}

.utility-legal-strip {
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: var(--utility-radius);
    color: #5d6675;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(15, 22, 35, 0.08);
    font-size: 12px;
    line-height: 1.55;
}

@media (prefers-reduced-motion: reduce) {
    .utility-button,
    .utility-submit,
    .utility-choice-card,
    .utility-mini-link,
    .contact-route {
        transition: none;
    }

    .utility-button.primary::before,
    .utility-button.primary::after,
    .page-quotes .utility-hero-copy::before,
    .page-booking .utility-hero-copy::before,
    .page-booking .booking-calendar-stage::before,
    .page-contact .utility-hero-copy::before,
    .page-carriers .utility-hero-copy::before,
    .page-quotes .utility-hero-copy::after,
    .page-booking .utility-hero-copy::after,
    .page-booking .booking-calendar-stage::after,
    .page-contact .utility-hero-copy::after,
    .page-carriers .utility-hero-copy::after,
    .page-quotes .quotes-form-head::after,
    .page-contact .contact-command-panel::after,
    .page-contact .utility-action-band::after,
    .page-contact .utility-form-panel > .utility-section-head::after,
    .page-booking .booking-followup-section .utility-section-head::after,
    .utility-submit::before,
    .utility-submit::after {
        animation: none;
    }

    .utility-button:hover,
    .utility-submit:hover,
    .utility-choice-card:hover,
    .utility-mini-link:hover,
    .contact-route:hover {
        transform: none;
    }
}

@media (max-width: 1180px), (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --utility-compact-header-h: clamp(66px, 8.5svh, 72px);
        --utility-compact-footer-h: clamp(66px, 8.5svh, 72px);
        --utility-shell-edge-gap: 16px;
        --utility-shell-top-gap: 22px;
        --utility-shell-bottom-render-nudge: 1.5px;
    }

    body.utility-page .scroll-root {
        top: var(--utility-compact-header-h);
        bottom: var(--utility-compact-footer-h);
        scrollbar-width: none;
        -ms-overflow-style: none;
        background:
            radial-gradient(ellipse 78% 44% at 50% 52%, rgba(111, 135, 255, 0.06), transparent 70%),
            radial-gradient(ellipse 46% 30% at 12% 26%, rgba(201, 160, 80, 0.055), transparent 72%),
            linear-gradient(180deg, #f8fafc 0%, #eef2f7 50%, #f8fafc 100%);
    }

    body.utility-page .scroll-root::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }

    body.utility-page .utility-shell {
        padding-top: var(--utility-shell-top-gap, var(--utility-shell-edge-gap));
        padding-bottom: calc(var(--utility-shell-edge-gap) + var(--utility-shell-bottom-render-nudge) + env(safe-area-inset-bottom, 0px));
    }

    body.utility-page .main-header {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        height: var(--utility-compact-header-h);
        min-height: var(--utility-compact-header-h);
        padding: 0 14px;
        background:
            radial-gradient(ellipse 54% 130% at 50% 100%, rgba(111, 135, 255, 0.13), transparent 72%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.008)),
            rgba(2, 3, 6, 0.965) !important;
        border-bottom-color: rgba(190, 204, 255, 0.1);
        box-shadow:
            0 4px 10px rgba(0, 0, 0, 0.2),
            0 18px 38px rgba(111, 135, 255, 0.1),
            0 1px 0 rgba(255, 255, 255, 0.035) inset;
    }

    body.utility-page .main-header::after {
        left: 18%;
        right: 18%;
        background:
            linear-gradient(90deg, transparent, rgba(126, 151, 255, 0.18), transparent);
        opacity: 0.32;
    }

    body.utility-page .logo-container {
        justify-content: center;
    }

    body.utility-page .main-header .logo-img {
        height: clamp(34px, 4.8svh, 42px);
        max-height: clamp(34px, 4.8svh, 42px);
        max-width: 220px;
    }

    body.utility-page .mobile-nav-spacer,
    body.utility-page .mobile-nav-toggle {
        display: inline-flex;
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
    }

    body.utility-page .mobile-nav-spacer {
        visibility: hidden;
    }

    body.utility-page .mobile-nav-toggle {
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 4px;
        border: 1px solid rgba(255, 255, 255, 0.045);
        border-radius: 13px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.046), rgba(255, 255, 255, 0.01)),
            rgba(5, 5, 7, 0.985);
        box-shadow:
            0 16px 30px rgba(0, 0, 0, 0.58),
            inset 0 1px 0 rgba(255, 255, 255, 0.046);
        cursor: pointer;
    }

    body.utility-page .mobile-nav-toggle span {
        display: block;
        width: 16px;
        height: 1.5px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(216, 221, 230, 0.82));
        transition: opacity 180ms ease, transform 180ms ease, width 180ms ease;
    }

    body.utility-page .mobile-nav-toggle span:nth-child(2) {
        width: 10px;
        transform: translateX(3px);
    }

    body.utility-page.product-phone-nav-open .mobile-nav-toggle span:nth-child(1) {
        transform: translateY(5.5px) rotate(45deg);
    }

    body.utility-page.product-phone-nav-open .mobile-nav-toggle span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0.35);
    }

    body.utility-page.product-phone-nav-open .mobile-nav-toggle span:nth-child(3) {
        transform: translateY(-5.5px) rotate(-45deg);
    }

    body.utility-page .main-nav {
        position: fixed;
        top: calc(var(--utility-compact-header-h) + 10px);
        left: 12px;
        right: 12px;
        width: auto;
        max-height: calc(100svh - var(--utility-compact-header-h) - var(--utility-compact-footer-h) - 28px);
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 10px;
        overflow-y: auto;
        border-radius: 18px;
        border: 1px solid rgba(255, 255, 255, 0.09);
        background:
            radial-gradient(ellipse 92% 72% at 50% 0%, rgba(111, 135, 255, 0.14), transparent 66%),
            linear-gradient(180deg, rgba(11, 13, 18, 0.98), rgba(3, 4, 7, 0.995));
        box-shadow: 0 26px 70px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.07);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease;
        z-index: 21011;
    }

    body.utility-page.nav-home-band-v6.product-phone-nav-open .main-nav,
    body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.product-phone-nav-open .main-nav {
        border: 1px solid rgba(255, 255, 255, 0.043) !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.047) 0%, rgba(255, 255, 255, 0.01) 24%, rgba(255, 255, 255, 0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 34%, rgba(0, 0, 0, 0) 68%),
            linear-gradient(180deg, rgba(3, 4, 7, 0.34) 0%, rgba(1, 2, 4, 0.18) 100%) !important;
        background-color: rgba(2, 3, 5, 0.92) !important;
        box-shadow:
            0 34px 64px rgba(0, 0, 0, 0.78),
            0 0 34px rgba(255, 255, 255, 0.03),
            inset 0 1px 0 rgba(255, 255, 255, 0.047),
            inset 0 -18px 34px rgba(0, 0, 0, 0.18) !important;
    }

    body.utility-page.product-phone-nav-open .main-nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    body.utility-page .main-nav::before,
    body.utility-page .nav-dropdown::after {
        display: none;
    }

    body.utility-page .main-nav > .nav-btn,
    body.utility-page .main-nav > .nav-dropdown,
    body.utility-page .nav-dropdown > .nav-btn {
        width: 100%;
        min-width: 0;
    }

    body.utility-page .main-nav .nav-btn {
        min-height: 44px;
        padding: 12px 14px;
        border-radius: 12px;
        text-align: left;
        background: rgba(255, 255, 255, 0.035);
        color: rgba(242, 245, 252, 0.86);
    }

    body.utility-page .dropdown-content {
        position: static;
        min-width: 0;
        max-height: 0;
        margin-top: 0;
        overflow: hidden;
        border: 0;
        border-radius: 12px;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        background: rgba(0, 0, 0, 0.26);
        box-shadow: none;
        transition: max-height 220ms ease, margin-top 220ms ease;
    }

    body.utility-page .nav-dropdown.open .dropdown-content {
        max-height: 360px;
        margin-top: 6px;
        border: 1px solid rgba(255, 255, 255, 0.07);
    }

    body.utility-page .dropdown-content a {
        padding: 12px 14px;
        font-size: 10px;
    }

    body.utility-page .footer-link {
        display: none;
    }

    body.utility-page .footer-nav {
        box-sizing: border-box;
        height: var(--utility-compact-footer-h);
        max-height: var(--utility-compact-footer-h);
        min-height: var(--utility-compact-footer-h);
        padding: 0;
        gap: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        background:
            radial-gradient(ellipse 54% 130% at 50% 0%, rgba(111, 135, 255, 0.13), transparent 72%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.014), rgba(255, 255, 255, 0.004)),
            rgba(2, 3, 6, 0.985) !important;
        box-shadow:
            0 -4px 10px rgba(0, 0, 0, 0.2),
            0 -18px 38px rgba(111, 135, 255, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
    }

    body.utility-page .footer-mobile-action {
        display: inline-flex;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        min-width: 0;
        min-height: var(--utility-compact-footer-h);
        padding: 9px 14px;
        border: 0;
        border-radius: 0;
        color: rgba(238, 242, 252, 0.92);
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.013) 22%, rgba(0, 0, 0, 0) 100%),
            linear-gradient(180deg, rgba(10, 11, 14, 0.985) 0%, rgba(3, 4, 6, 0.998) 100%);
        font: inherit;
        cursor: pointer;
    }

    body.utility-page .footer-mobile-action + .footer-mobile-action {
        border-left: 1px solid rgba(255, 255, 255, 0.055);
    }

    body.utility-page .footer-mobile-content {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 11px;
        min-width: 0;
    }

    body.utility-page .footer-mobile-orb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
        border-radius: 999px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.018));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.28);
    }

    body.utility-page .footer-mobile-orb svg {
        display: block;
        width: 14px;
        height: 14px;
    }

    body.utility-page .footer-mobile-resource .footer-mobile-orb svg,
    body.utility-page .footer-mobile-resource .footer-mobile-orb svg * {
        fill: none;
        stroke: #7098e8;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    body.utility-page .footer-mobile-chat .footer-mobile-orb svg,
    body.utility-page .footer-mobile-chat .footer-mobile-orb svg * {
        fill: #e2be6d;
        stroke: #e2be6d;
    }

    body.utility-page .footer-mobile-chat .footer-mobile-orb svg {
        width: 18px;
        height: 18px;
    }

    body.utility-page .footer-mobile-label {
        display: block;
        color: rgba(238, 242, 252, 0.92);
        font-family: "Montserrat", "Arial", sans-serif;
        font-size: 10.6px;
        font-weight: 800;
        letter-spacing: 0.22em;
        line-height: 1;
        text-transform: uppercase;
    }

    body.utility-page .chat-widget {
        display: none !important;
    }

    body.utility-page .mobile-support-sheet,
    body.utility-page .mobile-support-sheet-backdrop {
        display: block;
    }

    body.utility-page .mobile-support-tray-toggle {
        display: none !important;
    }

    body.utility-page .mobile-support-sheet-backdrop {
        position: fixed;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        background:
            radial-gradient(96% 76% at 50% 18%, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.026) 36%, rgba(255, 255, 255, 0) 66%),
            linear-gradient(180deg, rgba(2, 4, 8, 0.58), rgba(1, 2, 5, 0.94));
        backdrop-filter: blur(16px) saturate(114%) brightness(0.72);
        transition: opacity 0.26s ease, visibility 0.26s ease;
        z-index: 21020;
    }

    body.utility-page .mobile-support-sheet {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(12px + var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px));
        max-height: min(520px, calc(100svh - var(--utility-compact-header-h) - var(--utility-compact-footer-h) - 34px));
        padding: 20px 0 12px;
        overflow-y: auto;
        border-radius: 18px;
        border: 1px solid rgba(150, 171, 255, 0.16);
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.012) 20%, rgba(255, 255, 255, 0) 48%),
            rgba(4, 6, 13, 0.82);
        box-shadow:
            0 34px 78px rgba(0, 0, 0, 0.72),
            0 0 46px rgba(98, 138, 255, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.062);
        backdrop-filter: blur(24px) saturate(110%) brightness(0.94);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(18px);
        transition: transform 0.28s var(--utility-ease), opacity 0.28s ease, visibility 0.28s ease;
        z-index: 21030;
    }

    body.utility-page.product-support-open .mobile-support-sheet-backdrop,
    body.utility-page.product-support-open .mobile-support-sheet {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.utility-page.product-support-open .mobile-support-sheet {
        transform: translateY(0);
    }

    body.utility-page .mobile-support-sheet-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0 20px 12px;
    }

    body.utility-page .mobile-support-sheet-kicker,
    body.utility-page .mobile-support-sheet-desc {
        display: none;
    }

    body.utility-page .mobile-support-sheet-title {
        margin: 0;
        color: rgba(248, 250, 255, 0.96);
        font-family: "Montserrat", "Arial", sans-serif;
        font-size: clamp(26px, 7vw, 34px);
        line-height: 1.04;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    body.utility-page .mobile-support-sheet-close {
        position: relative;
        width: 34px;
        height: 34px;
        min-width: 34px;
        border: 0;
        border-radius: 999px;
        color: transparent;
        background: rgba(0, 0, 0, 0.42);
        box-shadow: inset 3px 3px 6px #000, inset -1px -1px 4px #1a1a1a;
        cursor: pointer;
    }

    body.utility-page .mobile-support-sheet-close::before,
    body.utility-page .mobile-support-sheet-close::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 10px;
        height: 2px;
        border-radius: 999px;
        background: #6f87ff;
        box-shadow: 0 0 8px rgba(111, 135, 255, 0.6);
    }

    body.utility-page .mobile-support-sheet-close::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    body.utility-page .mobile-support-sheet-close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    body.utility-page .mobile-support-list {
        display: grid;
        gap: 0;
        padding: 0 0 10px;
    }

    body.utility-page .mobile-support-action {
        display: grid;
        gap: 4px;
        min-height: 56px;
        padding: 14px 22px;
        color: rgba(245, 247, 252, 0.92);
        text-decoration: none;
        background:
            linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent) 22px 100% / calc(100% - 22px) 1px no-repeat;
    }

    body.utility-page .mobile-support-action-label {
        font-family: "Montserrat", "Arial", sans-serif;
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    body.utility-page .mobile-support-action-meta {
        color: rgba(226, 232, 244, 0.66);
        font-size: 12px;
        line-height: 1.35;
    }

    body.utility-page.chat-open .main-header,
    body.utility-page.chat-open .footer-nav {
        filter: blur(8px) brightness(0.7);
        pointer-events: none;
    }

    body.utility-page.product-support-open .main-header,
    body.utility-page.product-support-open .footer-nav {
        z-index: 21025;
        filter: none;
        pointer-events: auto;
    }
}

@media (max-width: 980px) {
    .utility-shell {
        width: min(100% - 28px, 760px);
        padding-top: var(--utility-shell-top-gap, var(--utility-shell-edge-gap));
        padding-bottom: calc(var(--utility-shell-edge-gap) + var(--utility-shell-bottom-render-nudge) + env(safe-area-inset-bottom, 0px));
    }

    .utility-section {
        margin-top: 30px;
    }

    .utility-shell > .utility-hero + .utility-section,
    .utility-shell > .quotes-hero-live + .utility-section,
    .utility-shell > .carrier-hero + .utility-section {
        margin-top: 30px;
    }

    .utility-hero,
    .page-booking .utility-hero,
    .utility-section-head,
    .utility-action-band,
    .utility-dark-band,
    .page-booking .booking-calendar-stage,
    .contact-command-panel {
        grid-template-columns: 1fr;
    }

    .page-booking .utility-section {
        margin-top: 30px;
    }

    .page-quotes .utility-section {
        margin-top: 30px;
    }

    .utility-action-band {
        gap: 16px;
    }

    .utility-action-buttons {
        justify-content: flex-start;
    }

    .page-quotes .quotes-form-head,
    .page-contact .utility-form-panel > .utility-section-head,
    .page-booking .booking-followup-section .utility-section-head {
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: start;
    }

    .page-quotes .quotes-form-head .utility-section-copy,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    .page-booking .booking-followup-section .utility-section-head .utility-section-copy {
        justify-self: start;
        max-width: 420px;
        white-space: normal;
    }

    .utility-hero {
        min-height: 0;
    }

    .page-quotes .utility-hero,
    .page-contact .utility-hero,
    .page-carriers .utility-hero {
        min-height: 0;
    }

    .page-quotes .quotes-hero-live {
        grid-template-columns: 1fr;
        min-height: 420px;
        padding: 28px;
    }

    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        font-size: 12px;
    }

    .page-quotes .quotes-hero-actions {
        flex-wrap: nowrap;
        gap: 10px;
    }

    .page-quotes .quotes-hero-actions .utility-button {
        flex: 1 1 0;
        width: auto;
        height: 44px;
        min-width: 0;
        padding-inline: 10px;
        font-size: 10px;
    }

    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        min-height: 420px;
        padding: 28px;
    }

    .utility-dark-band,
    .page-booking .booking-prep-glass,
    .page-contact .contact-command-panel {
        gap: 12px;
    }

    .page-booking .booking-prep-glass,
    .page-contact .contact-command-panel {
        align-items: start;
        padding: 20px 18px;
    }

    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        flex-wrap: nowrap;
        gap: 10px;
    }

    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button {
        flex: 1 1 0;
        height: 44px;
        min-height: 44px;
        width: auto;
        min-width: 0;
        padding-inline: 10px;
        font-size: 10px;
    }

    .page-booking .booking-calendar-head {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 6px;
        padding: 20px 18px;
    }

    .page-booking .booking-calendar-head-copy {
        justify-items: start;
        gap: 0;
    }

    .page-booking .booking-calendar-head p {
        margin-top: 0;
        text-align: left;
    }

    .page-booking #review {
        padding: 20px 18px;
    }

    .page-booking #review .utility-section-head {
        margin-bottom: 0;
    }

    .page-booking #review .utility-grid {
        margin-top: 18px;
    }

    .page-booking #review .utility-choice-card {
        padding: 16px 14px;
    }

    .page-booking #review .utility-card-kicker {
        font-size: 9.5px;
        letter-spacing: 0.12em;
    }

    .page-booking #review .utility-card-title {
        margin-top: 7px;
        font-size: clamp(14.5px, 2.15vw, 18px);
        line-height: 1.08;
    }

    .page-booking #review .utility-card-copy {
        margin-top: 5px;
        font-size: 12px;
        line-height: 1.38;
    }

    .page-booking .booking-calendar-preview {
        min-height: 380px;
    }

    .page-contact .contact-command-panel {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .page-booking .booking-prep-glass h2 {
        font-size: clamp(24px, 4vw, 44px);
        line-height: 1.06;
    }

    .page-booking .booking-prep-glass {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-self: start;
        gap: 10px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        display: inline-flex;
        flex: 0 0 132px;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 10px 14px;
        text-align: center;
        white-space: nowrap;
    }

    .page-contact .contact-command-panel .contact-route-list {
        gap: 10px;
    }

    .page-contact .contact-command-panel .contact-route {
        min-height: 66px;
        gap: 4px;
        padding: 12px 14px;
    }

    .utility-grid,
    .utility-grid.two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 981px) and (max-width: 1180px) {
    body.utility-page .utility-shell {
        width: min(100% - 28px, 980px);
    }

    body.utility-page .utility-section {
        margin-top: 30px;
    }

    .utility-shell > .utility-hero + .utility-section,
    .utility-shell > .quotes-hero-live + .utility-section,
    .utility-shell > .carrier-hero + .utility-section {
        margin-top: 30px;
    }

    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        box-sizing: border-box;
        min-height: 340px;
        height: 340px;
        padding: 22px 18px;
        align-content: center;
    }

    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero,
    .page-contact .utility-hero,
    .utility-section-head,
    .utility-action-band,
    .utility-dark-band,
    .page-booking .booking-calendar-stage,
    .page-contact .contact-command-panel {
        grid-template-columns: 1fr;
    }

    .page-quotes .quotes-hero-title,
    .page-booking .utility-title,
    .page-contact .utility-title {
        margin-top: 8px;
        font-size: clamp(40px, 5vw, 52px);
        line-height: 0.95;
    }

    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        max-width: 660px;
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.48;
    }

    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        width: 100%;
        margin-top: 16px;
    }

    .page-quotes .quotes-hero-actions .utility-button,
    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        height: 44px;
        min-height: 44px;
        padding-inline: 10px;
        font-size: 10px;
    }

    .utility-dark-band,
    .page-booking .booking-prep-glass,
    .page-contact .contact-command-panel {
        height: auto;
        min-height: 0;
        gap: 12px;
        padding: 20px 18px;
        align-items: start;
    }

    .page-quotes .quotes-proof-glass h2,
    .page-booking .booking-prep-glass h2,
    .page-contact .contact-command-panel h2,
    .utility-section-title,
    .utility-action-copy h2 {
        max-width: none;
        margin-top: 8px;
        font-size: clamp(22px, 3.25vw, 25px);
        line-height: 1.02;
        text-wrap: balance;
    }

    .page-quotes .quotes-proof-glass .utility-title-desktop-copy br,
    .page-booking .booking-prep-glass .utility-title-desktop-copy br,
    .page-contact .contact-command-panel .utility-title-desktop-copy br {
        display: none;
    }

    .utility-section-copy,
    .utility-action-copy p,
    .utility-dark-band p,
    .utility-card-copy,
    .utility-panel-copy,
    .contact-route span,
    .page-booking .booking-calendar-head p,
    .page-quotes .quotes-form-head .utility-section-copy,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    .page-booking .booking-followup-section .utility-section-head .utility-section-copy,
    .page-booking .booking-prep-glass p,
    .page-contact .contact-command-panel p {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.44;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list,
    .utility-proof-list {
        justify-self: start;
        align-self: start;
        gap: 9px;
        margin-top: 10px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item,
    .utility-proof-item {
        font-size: 10.5px;
        line-height: 1.2;
    }

    .page-booking .booking-calendar-stage {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding: 0;
    }

    .page-booking .booking-calendar-head h2 {
        max-width: 620px;
        font-size: clamp(28px, 3.1vw, 34px);
    }
}

@media (min-width: 720px) and (max-width: 980px) {
    .page-booking .booking-prep-glass h2 {
        max-width: 520px;
    }

    .page-booking #review .utility-grid,
    .page-contact section[aria-label="Contact support paths"].utility-grid,
    .page-carriers section[aria-labelledby="compare-process-title"] .utility-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-booking #review .utility-card-title {
        font-size: clamp(16px, 2.15vw, 18px);
    }

    .utility-grid.two .utility-card-title {
        min-height: 2.32em;
    }

    .page-carriers section[aria-labelledby="compare-process-title"] .utility-card-title,
    .page-carriers section[aria-label="Carrier page next steps"] .utility-card-title {
        min-height: 2.32em;
    }

    .carrier-directory-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-booking .booking-calendar-preview {
        min-height: 380px;
        padding: 18px;
    }

    .page-booking .booking-slot-grid {
        grid-template-columns: 1fr;
    }

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

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

    .page-booking .booking-day-button {
        min-height: 58px;
        padding: 9px 48px 9px 10px;
    }

    .page-booking .booking-day-button span {
        font-size: 8.5px;
    }

    .page-booking .booking-day-button small {
        top: 9px;
        right: 10px;
        font-size: 8px;
    }

    .page-booking .booking-day-button strong {
        font-size: 15.5px;
    }

    .page-booking .booking-slot-button,
    .page-booking .booking-slot-skeleton {
        min-height: 62px;
        padding: 9px 10px;
    }

    .page-booking .booking-slot-button strong {
        font-size: 16px;
    }

    .page-booking .booking-selection-summary strong {
        font-size: 20px;
    }

    .page-booking .booking-selection-summary p {
        font-size: 13.5px;
    }

    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-select,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-scheduler-fields .utility-textarea {
        font-size: 15px;
        line-height: 1.25;
    }

    .page-booking .booking-scheduler-fields .utility-textarea::placeholder {
        font-size: 12.5px;
    }
}

@media (min-width: 641px) and (max-width: 980px) {
    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        box-sizing: border-box;
        min-height: 340px;
        height: 340px;
        padding: 22px 18px;
        align-content: center;
    }

    .page-quotes .quotes-hero-live {
        grid-template-columns: 1fr;
    }

    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        margin-top: 16px;
    }

    .page-quotes .quotes-hero-title,
    .page-booking .utility-title,
    .page-contact .utility-title {
        font-size: clamp(40px, 6.8vw, 52px);
        line-height: 0.95;
    }
}

@media (max-width: 640px) {
    body.utility-page {
        --utility-compact-header-h: 68px;
        --utility-compact-footer-h: 68px;
    }

    .utility-shell {
        width: min(100% - 22px, 520px);
        padding-top: var(--utility-shell-top-gap, var(--utility-shell-edge-gap));
        padding-bottom: calc(var(--utility-shell-edge-gap) + var(--utility-shell-bottom-render-nudge) + env(safe-area-inset-bottom, 0px));
    }

    .utility-hero-copy,
    .utility-hero-panel,
    .utility-dark-band,
    .utility-form-panel,
    .carrier-system-panel,
    .contact-command-panel,
    .calendar-placeholder {
        padding: 22px;
    }

    .utility-title {
        font-size: clamp(26px, 7.4vw, 33px);
        line-height: 1.03;
    }

    .utility-kicker,
    .utility-card-kicker,
    .utility-section-kicker {
        font-size: 9.5px;
        letter-spacing: 0.15em;
    }

    .utility-lead {
        margin-top: 16px;
        font-size: 12px;
        line-height: 1.48;
    }

    .utility-section-title,
    .utility-action-copy h2 {
        font-size: clamp(20px, 5.8vw, 24px);
        line-height: 1.04;
    }

    .utility-section-copy,
    .utility-action-copy p {
        font-size: 13px;
        line-height: 1.48;
    }

    .page-quotes .quotes-hero-live {
        grid-template-columns: 1fr;
        gap: 0;
        width: calc(100% + 2px);
        margin-left: -1px;
        margin-right: -1px;
        min-height: 0;
        padding: 20px 18px 22px;
        border-radius: 10px;
    }

    .page-quotes .quotes-hero-kicker {
        font-size: 10px;
        letter-spacing: 0.18em;
    }

    .page-quotes .quotes-hero-title {
        margin-top: 16px;
        font-size: clamp(30px, 8.6vw, 36px);
        line-height: 0.94;
    }

    .page-quotes .quotes-hero-copy {
        margin-top: 16px;
        font-size: 12px;
    }

    .page-quotes .quotes-hero-actions {
        flex-wrap: nowrap;
        gap: 10px;
        margin-top: 22px;
    }

    .page-quotes .quotes-hero-actions .utility-button {
        flex: 1 1 0;
        width: auto;
        height: 48px;
        min-width: 0;
        min-height: 48px;
        padding-inline: 10px;
        font-size: 11px;
    }

    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        width: calc(100% + 2px);
        margin-left: -1px;
        margin-right: -1px;
        min-height: 0;
        padding: 20px 18px 22px;
    }

    .page-booking .utility-title,
    .page-contact .utility-title {
        font-size: clamp(30px, 8.6vw, 36px);
        line-height: 0.94;
    }

    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        flex-wrap: nowrap;
        gap: 10px;
        margin-top: 22px;
    }

    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        min-height: 48px;
        padding-inline: 10px;
        font-size: 11px;
    }

    .page-quotes .quotes-form-panel,
    .page-contact .utility-form-panel,
    .page-booking .booking-followup-section .utility-form-panel {
        padding: 0;
    }

    .page-quotes .quotes-form-head,
    .page-contact .utility-form-panel > .utility-section-head,
    .page-booking .booking-followup-section .utility-section-head {
        padding: 18px;
    }

    .page-quotes .quotes-form-head .utility-section-title,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-title,
    .page-booking .booking-followup-section .utility-section-head .utility-section-title {
        font-size: clamp(19px, 5.6vw, 23px);
    }

    .page-quotes .quotes-form-panel .utility-form,
    .page-quotes .quotes-form-panel .utility-success-card,
    .page-contact .utility-form-panel .utility-form,
    .page-contact .utility-form-panel .utility-success-card,
    .page-booking .booking-followup-section .utility-form,
    .page-booking .booking-followup-section .utility-success-card {
        padding: 18px;
    }

    .utility-hero-copy,
    .utility-hero-panel,
    .utility-dark-band,
    .page-booking .booking-prep-glass,
    .utility-form-panel,
    .utility-action-band,
    .carrier-system-panel,
    .contact-command-panel,
    .calendar-placeholder {
        padding: 18px;
    }

    .utility-hero-actions {
        margin-top: 20px;
    }

    .utility-choice-card {
        padding: 18px;
    }

    .page-booking #review {
        padding: 18px;
    }

    .page-booking #review .utility-grid {
        grid-template-columns: 1fr;
    }

    .page-booking #review .utility-choice-card {
        border-width: 0 0 1px;
        padding: 13px 16px 14px;
    }

    .page-booking #review .utility-choice-card:last-child {
        border-bottom: 0;
    }

    .page-booking #review .utility-card-title {
        font-size: 14.5px;
    }

    .page-booking #review .utility-card-copy {
        font-size: 11.5px;
    }

    .page-booking #review .utility-section-title {
        font-size: 23px;
        line-height: 1.02;
    }

    .utility-card-title {
        font-size: 15px;
    }

    .utility-card-copy {
        margin-top: 8px;
        font-size: 12px;
        line-height: 1.48;
    }

    .utility-button,
    .utility-mini-link {
        min-height: 44px;
        padding: 10px 16px;
        font-size: 10px;
    }

    .utility-action-buttons .utility-mini-link {
        width: clamp(170px, 28vw, 198px);
    }

    .utility-hero-actions,
    .utility-submit-row {
        align-items: stretch;
        flex-direction: column;
    }

    .utility-button,
    .utility-submit,
    .utility-mini-link {
        width: 100%;
    }

    .utility-action-band {
        grid-template-columns: 1fr;
    }

    .page-contact .utility-action-band .utility-action-copy h2,
    .page-contact .utility-action-band .utility-action-copy p {
        white-space: normal;
    }

    .utility-action-buttons {
        justify-content: flex-start;
    }

    .utility-action-buttons .utility-mini-link {
        width: 100%;
    }

    .utility-consent {
        grid-template-columns: 17px minmax(0, 1fr);
        gap: 8px;
        padding: 10px 12px;
        font-size: 8.5px;
        line-height: 1.34;
    }

    .utility-consent input {
        width: 15px;
        height: 15px;
        margin-top: 0;
    }

    .utility-legal-strip,
    .carrier-directory-note {
        font-size: 8px;
        line-height: 1.34;
    }

    .utility-title-desktop-copy {
        display: none;
    }

    .utility-title-mobile-copy {
        display: inline;
    }

    .utility-copy-desktop {
        display: none;
    }

    .utility-copy-mobile {
        display: inline;
    }

    .page-booking .booking-primary-cta {
        min-width: 0;
    }

    .page-booking .booking-calendar-head h2 {
        font-size: 23px;
        line-height: 1.01;
        white-space: nowrap;
    }

    .page-booking .booking-title-wide {
        display: none;
    }

    .page-booking .booking-title-mobile {
        display: inline;
    }

    .page-booking .booking-calendar-stage {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-booking .booking-calendar-head,
    .page-booking .booking-scheduler-form {
        min-width: 0;
        max-width: 100%;
    }

    .page-booking .booking-calendar-head-copy {
        justify-items: stretch;
    }

    .page-booking .booking-calendar-preview {
        min-height: 340px;
        margin: 0;
        padding: 16px;
    }

    .page-booking .booking-slot-button,
    .page-booking .booking-slot-skeleton {
        min-height: 54px;
        padding: 8px 9px;
    }

    .page-booking .booking-slot-button strong {
        font-size: 15.5px;
    }

    .page-booking .booking-preview-head {
        display: grid;
    }

    .page-booking .booking-preview-head strong {
        text-align: left;
    }

    .page-booking .booking-slot-grid,
    .page-booking .booking-scheduler-fields {
        grid-template-columns: 1fr;
    }

    .page-booking .booking-day-grid,
    .page-booking .booking-time-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .page-booking .booking-time-grid .booking-slot-button,
    .page-booking .booking-time-grid .booking-slot-skeleton {
        grid-column: auto;
        min-width: 0;
        min-height: 52px;
        padding: 9px 2px;
        font-family: "Montserrat", "Arial", sans-serif;
        font-size: 7px;
        font-weight: 750;
        letter-spacing: 0;
        line-height: 1.1;
        white-space: nowrap;
    }

    .page-booking .booking-time-empty {
        min-height: 140px;
    }

    .page-booking .booking-scheduler-form.has-selected-slot .booking-scheduler-fields {
        max-height: 820px;
    }

    .page-contact .contact-route-list {
        grid-template-columns: 1fr;
    }

    .page-contact .contact-command-panel .contact-route-list {
        gap: 8px;
    }

    .page-contact .contact-command-panel .contact-route {
        min-height: 62px;
        padding: 11px 14px;
    }

    .utility-grid,
    .utility-grid.two,
    .utility-form-grid {
        grid-template-columns: 1fr;
    }

    .page-quotes #request .utility-form-grid {
        row-gap: 36px;
    }

    .carrier-directory summary {
        width: 100%;
    }

    .carrier-directory-list {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 12px;
    }

    .carrier-directory-list li {
        padding: 9px 10px;
        font-size: 13px;
    }

    body.utility-page .main-header {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        padding: 0 12px;
    }

    body.utility-page .mobile-nav-spacer,
    body.utility-page .mobile-nav-toggle {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    body.utility-page .main-header .logo-img {
        height: 31px;
        max-height: 31px;
        max-width: 156px;
    }

    body.utility-page .footer-mobile-label {
        font-size: 10.2px;
        letter-spacing: 0.2em;
    }

    body.utility-page .footer-mobile-orb {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }

    body.utility-page .mobile-support-sheet {
        left: 10px;
        right: 10px;
    }
}

@media (min-width: 641px) and (max-width: 980px) {
    .utility-legal-strip,
    .carrier-directory-note,
    .utility-form-note {
        font-size: 8.75px;
        line-height: 1.34;
    }

    .utility-legal-strip,
    .carrier-directory-note {
        padding: 12px 14px;
    }

    .utility-legal-strip .utility-copy-desktop,
    .carrier-directory-note .utility-copy-desktop,
    .utility-form-note .utility-copy-desktop {
        display: none;
    }

    .utility-legal-strip .utility-copy-mobile,
    .carrier-directory-note .utility-copy-mobile,
    .utility-form-note .utility-copy-mobile {
        display: inline;
    }

    .page-booking #review .utility-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-booking #review .utility-choice-card {
        padding: 14px 14px 16px;
    }

    .page-booking #review .utility-card-copy {
        font-size: 10.6px;
        line-height: 1.28;
        white-space: normal;
    }

    .page-carriers .carrier-reference-band h2,
    .page-quotes .quotes-proof-glass h2,
    .page-booking .booking-prep-glass h2,
    .page-contact .contact-command-panel h2 {
        max-width: none;
        font-size: clamp(22px, 3.25vw, 25px);
        line-height: 1.02;
        text-wrap: balance;
    }

    .page-carriers .carrier-reference-band .utility-title-desktop-copy br,
    .page-quotes .quotes-proof-glass .utility-title-desktop-copy br,
    .page-booking .booking-prep-glass .utility-title-desktop-copy br,
    .page-contact .contact-command-panel .utility-title-desktop-copy br {
        display: none;
    }
}

@media (min-width: 981px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .utility-legal-strip,
    .carrier-directory-note,
    .utility-form-note {
        font-size: 8.75px;
        line-height: 1.34;
    }

    .utility-legal-strip,
    .carrier-directory-note {
        padding: 12px 14px;
    }

    .utility-legal-strip .utility-copy-desktop,
    .carrier-directory-note .utility-copy-desktop,
    .utility-form-note .utility-copy-desktop {
        display: none;
    }

    .utility-legal-strip .utility-copy-mobile,
    .carrier-directory-note .utility-copy-mobile,
    .utility-form-note .utility-copy-mobile {
        display: inline;
    }
}

@media (max-width: 980px) {
    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy,
    .utility-dark-band,
    .utility-action-band,
    .page-quotes .quotes-form-head,
    .page-contact .utility-form-panel > .utility-section-head,
    .page-booking .booking-followup-section .utility-section-head {
        padding: 20px 18px;
    }

    .page-quotes .quotes-hero-kicker,
    .utility-kicker,
    .utility-card-kicker,
    .utility-section-kicker {
        display: block;
        font-size: 9.5px;
        letter-spacing: 0.15em;
    }

    .utility-section-head,
    .page-quotes .quotes-form-head,
    .page-contact .utility-form-panel > .utility-section-head,
    .page-booking .booking-followup-section .utility-section-head,
    .page-booking #review .utility-section-head {
        gap: 0;
    }

    .utility-dark-kicker,
    .page-quotes .quotes-form-head .utility-section-kicker,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-kicker,
    .page-booking .booking-followup-section .utility-section-head .utility-section-kicker,
    .page-booking .booking-calendar-head .utility-section-kicker {
        margin-bottom: 0;
    }

    .page-quotes .quotes-hero-title,
    .page-booking .utility-title,
    .page-contact .utility-title,
    .page-booking .booking-prep-glass h2,
    .utility-dark-band h2,
    .utility-dark-band h3,
    .utility-section-title,
    .utility-action-copy h2,
    .page-quotes .quotes-form-head .utility-section-title,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-title,
    .page-booking .booking-followup-section .utility-section-head .utility-section-title {
        margin-top: 8px;
    }

    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        margin-top: 14px;
        font-size: 12px;
        line-height: 1.48;
    }

    .utility-section-copy,
    .utility-action-copy p,
    .utility-dark-band p,
    .utility-card-copy,
    .utility-panel-copy,
    .contact-route span,
    .page-booking .booking-calendar-head p,
    .page-booking .booking-selection-summary p,
    .page-quotes .quotes-form-head .utility-section-copy,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    .page-booking .booking-followup-section .utility-section-head .utility-section-copy {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.44;
    }

    .page-booking .booking-prep-glass p,
    .page-contact .contact-command-panel p {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.44;
    }

    .page-booking .booking-calendar-head p {
        margin-top: 0;
    }

    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions,
    .utility-hero-actions {
        margin-top: 20px;
    }

    .utility-action-buttons {
        margin-top: 0;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list,
    .utility-proof-list {
        gap: 9px;
        margin-top: 10px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item,
    .utility-proof-item {
        font-size: 10.5px;
        line-height: 1.2;
    }

    .page-quotes .quotes-form-panel .utility-form,
    .page-contact .utility-form-panel .utility-form,
    .page-booking .booking-followup-section .utility-form {
        gap: 14px;
        padding: 18px;
    }

    .utility-form-grid,
    .page-quotes #request .utility-form-grid {
        row-gap: 20px;
    }

    .utility-label {
        font-size: 9px;
        letter-spacing: 0.065em;
    }

    .utility-input,
    .utility-select,
    .utility-select-trigger,
    .utility-select-value,
    .utility-textarea {
        font-size: 12px;
        line-height: 1.3;
    }

    .utility-input,
    .utility-select,
    .utility-select-trigger {
        min-height: 42px;
        padding: 10px 12px;
    }

    .utility-select {
        padding-right: 38px;
    }

    .utility-textarea {
        min-height: 88px;
        padding: 10px 12px;
    }

    .utility-textarea::placeholder {
        font-size: 12px;
    }

    .utility-select-option {
        font-size: 12px;
        padding: 8px 10px;
    }

    .utility-field-note {
        top: calc(100% + 2px);
        font-size: 8px;
        line-height: 1.25;
        text-align: right;
        white-space: normal;
    }

    .utility-field-with-note {
        margin-bottom: 8px;
    }

    .utility-form-note,
    .utility-form-notice,
    .utility-disclaimer {
        font-size: 8px;
        line-height: 1.35;
    }
}

@media (max-width: 640px) and (orientation: portrait) {
    body.utility-page {
        --utility-shell-edge-gap: 14px;
        --utility-shell-top-gap: 20px;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    body.utility-page {
        --utility-shell-edge-gap: 10px;
        --utility-shell-top-gap: 22px;
    }
}

/* White utility mobile/tablet cleanup lock: keep same-family cards compact,
   prevent landscape heroes from clipping, and tighten lead-to-content gaps. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        margin-top: 10px;
    }

    .page-contact .contact-command-panel {
        box-sizing: border-box;
        grid-template-columns: 1fr;
        gap: 0;
        min-height: 0;
        padding: 20px 18px;
        align-items: start;
    }

    .page-contact .contact-command-panel .utility-title-desktop-copy,
    .page-contact .contact-command-panel .utility-copy-desktop {
        display: none;
    }

    .page-contact .contact-command-panel .utility-title-mobile-copy,
    .page-contact .contact-command-panel .utility-copy-mobile {
        display: inline;
    }

    .page-contact .contact-command-panel h2 {
        max-width: 100%;
        font-size: clamp(24px, 3.7vw, 29px);
        line-height: 1.02;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .page-contact .contact-command-panel p {
        max-width: 100%;
        margin-top: 6px;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .page-contact .contact-command-panel .contact-route-list {
        margin-top: 10px;
    }

    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        box-sizing: border-box;
        min-height: 148px;
        padding: 18px;
    }

    .page-quotes .utility-action-band .utility-action-buttons,
    .page-contact .utility-action-band .utility-action-buttons {
        margin-top: 12px;
    }

    .page-quotes .utility-action-band .utility-mini-link,
    .page-contact .utility-action-band .utility-mini-link {
        min-height: 44px;
        height: 44px;
    }
}

@media (max-width: 640px) {
    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list,
    .page-contact .contact-command-panel .contact-route-list {
        margin-top: 10px;
    }

    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        min-height: 148px;
        padding: 18px;
    }

    .page-quotes .utility-action-band .utility-action-buttons,
    .page-contact .utility-action-band .utility-action-buttons {
        margin-top: 12px;
    }

    .page-quotes .utility-action-band .utility-mini-link,
    .page-contact .utility-action-band .utility-mini-link {
        min-height: 44px;
        height: 44px;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        height: 164px;
        min-height: 164px;
        padding: 16px 22px;
        align-content: center;
    }

    .page-quotes .quotes-hero-title br,
    .page-booking .utility-title br,
    .page-contact .utility-title br {
        display: none;
    }

    .page-quotes .quotes-hero-title,
    .page-booking .utility-title,
    .page-contact .utility-title {
        margin-top: 8px;
        font-size: clamp(28px, 3.8vw, 35px);
        line-height: 1;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        max-width: 760px;
        margin-top: 7px;
        font-size: clamp(11.5px, 1.25vw, 12.5px);
        line-height: 1.3;
    }

    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        margin-top: 10px;
    }

    .page-quotes .quotes-hero-actions .utility-button,
    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button {
        height: 40px;
        min-height: 40px;
    }

    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        height: 136px;
        min-height: 136px;
        padding: 18px 24px;
    }

    .page-quotes .utility-action-band .utility-action-copy h2,
    .page-contact .utility-action-band .utility-action-copy h2 {
        margin-top: 7px;
        font-size: clamp(22px, 3.1vw, 27px);
    }

    .page-quotes .utility-action-band .utility-action-buttons .utility-mini-link,
    .page-contact .utility-action-band .utility-action-buttons .utility-mini-link {
        height: 40px;
        min-height: 40px;
    }
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .utility-input,
    .utility-select,
    .utility-select-trigger,
    .utility-textarea {
        font-size: 16px;
        line-height: 1.35;
    }

    .utility-input,
    .utility-select,
    .utility-select-trigger {
        min-height: 48px;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
    .page-contact .utility-form-panel .utility-form .utility-select-trigger,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-followup-section .utility-form .utility-select-trigger {
        min-height: 48px;
    }

    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-textarea {
        font-size: 16px;
        line-height: 1.35;
    }

    .page-booking .booking-scheduler-fields .utility-input {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .page-booking .booking-scheduler-fields .utility-textarea {
        min-height: 72px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) {
        min-height: 0;
        align-content: stretch;
        gap: 14px;
        padding-bottom: 14px;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) .booking-slot-panel,
    .page-booking .booking-calendar-preview:not(.has-selected-slot) .booking-slot-grid {
        height: 100%;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) .booking-scheduler-fields,
    .page-booking .booking-calendar-preview:not(.has-selected-slot) .utility-submit-row,
    .page-booking .booking-calendar-preview:not(.has-selected-slot) .utility-form-notice {
        display: none;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) .booking-slot-panel {
        align-content: stretch;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) .booking-slot-grid {
        align-content: stretch;
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(128px, 1fr);
    }

    .page-booking .booking-time-panel.is-empty {
        align-content: stretch;
        gap: 9px;
        min-height: clamp(136px, 15vw, 178px);
        padding: 12px 14px;
    }

    .page-booking .booking-time-panel.is-empty .booking-panel-label {
        font-size: 9.5px;
        letter-spacing: 0.12em;
    }

    .page-booking .booking-time-empty {
        min-height: clamp(82px, 10vw, 118px);
        height: auto;
        align-content: center;
        padding: 12px 14px;
        border-style: solid;
        border-color: rgba(15, 22, 35, 0.08);
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(247, 249, 252, 0.72)),
            rgba(255, 255, 255, 0.72);
        color: rgba(71, 85, 105, 0.74);
        font-size: 10.5px;
        font-weight: 750;
        line-height: 1.28;
        text-wrap: balance;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
    .page-contact .utility-form-panel .utility-form .utility-select-trigger,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-followup-section .utility-form .utility-select-trigger {
        min-height: 42px;
        padding: 9px 12px;
        font-size: 13px;
        line-height: 1.25;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-select-value,
    .page-contact .utility-form-panel .utility-form .utility-select-value,
    .page-booking .booking-scheduler-fields .utility-select-value,
    .page-booking .booking-followup-section .utility-form .utility-select-value {
        font-size: 13px;
        line-height: 1.25;
    }
}

@media (max-width: 980px) {
    .page-quotes .quotes-form-panel .utility-form .utility-input,
    .page-quotes .quotes-form-panel .utility-form .utility-select,
    .page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
    .page-contact .utility-form-panel .utility-form .utility-input,
    .page-contact .utility-form-panel .utility-form .utility-select,
    .page-contact .utility-form-panel .utility-form .utility-select-trigger,
    .page-booking .booking-followup-section .utility-form .utility-input,
    .page-booking .booking-followup-section .utility-form .utility-select,
    .page-booking .booking-followup-section .utility-form .utility-select-trigger {
        height: 42px;
        min-height: 42px;
        padding: 9px 12px;
        font-size: 13px;
        line-height: 1.25;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-select-value,
    .page-contact .utility-form-panel .utility-form .utility-select-value,
    .page-booking .booking-followup-section .utility-form .utility-select-value {
        font-size: 13px;
        line-height: 1.25;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-textarea,
    .page-contact .utility-form-panel .utility-form .utility-textarea,
    .page-booking .booking-followup-section .utility-form .utility-textarea {
        min-height: 72px;
        padding: 9px 12px;
        font-size: 13px;
        line-height: 1.3;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-textarea::placeholder,
    .page-contact .utility-form-panel .utility-form .utility-textarea::placeholder,
    .page-booking .booking-followup-section .utility-form .utility-textarea::placeholder {
        font-size: 12px;
    }

    .utility-field-with-note {
        margin-bottom: 0;
    }

    .utility-field-note:not(.is-error-note) {
        display: none;
    }
}

@media (max-width: 980px) and (max-height: 520px) and (orientation: landscape) {
    body.utility-page {
        --utility-compact-header-h: clamp(54px, 14svh, 60px);
        --utility-compact-footer-h: clamp(54px, 14svh, 60px);
    }

    body.utility-page .utility-shell {
        width: min(100% - 48px, 920px);
        padding-top: var(--utility-shell-top-gap, var(--utility-shell-edge-gap));
        padding-bottom: calc(var(--utility-shell-edge-gap) + var(--utility-shell-bottom-render-nudge) + env(safe-area-inset-bottom, 0px));
    }

    .utility-hero {
        grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.7fr);
        gap: 14px;
        align-items: stretch;
    }

    .page-quotes .quotes-hero-live {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 16px 22px;
    }

    .page-quotes .quotes-hero-title {
        margin-top: 8px;
        font-size: clamp(28px, 6vw, 42px);
    }

    .page-quotes .quotes-hero-copy {
        max-width: 450px;
        margin-top: 8px;
        font-size: 12.5px;
        line-height: 1.35;
    }

    .page-quotes .quotes-hero-actions {
        margin-top: 11px;
    }

    .page-quotes .quotes-hero-trust {
        display: none;
    }

    .utility-hero-copy,
    .utility-hero-panel {
        min-height: 0;
        padding: 18px 22px;
    }

    .utility-title {
        margin-top: 9px;
        font-size: clamp(24px, 3.7vw, 31px);
        line-height: 1.02;
    }

    .utility-lead {
        margin-top: 11px;
        font-size: 13px;
        line-height: 1.38;
    }

    .utility-hero-actions {
        flex-direction: row;
        gap: 10px;
        margin-top: 13px;
    }

    .utility-button,
    .utility-submit,
    .utility-mini-link {
        width: auto;
        min-height: 40px;
        min-width: 150px;
        padding: 10px 15px;
        font-size: 9.8px;
        letter-spacing: 0.08em;
    }

    .utility-trust-line {
        display: none;
    }

    .utility-panel-number {
        font-size: clamp(40px, 7.8vw, 56px);
    }

    .utility-panel-title {
        margin-top: 10px;
        font-size: clamp(17px, 3vw, 22px);
        line-height: 1.08;
    }

    .utility-panel-copy {
        margin-top: 10px;
        font-size: 12.5px;
        line-height: 1.45;
    }

    .utility-panel-list {
        display: none;
    }

    .utility-panel-list li {
        gap: 9px;
        font-size: 11.5px;
        line-height: 1.32;
    }

    .page-booking .utility-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .page-booking .utility-title {
        max-width: 560px;
    }

    .page-booking .booking-primary-cta {
        min-width: 150px;
        min-height: 40px;
        font-size: 9.8px;
        letter-spacing: 0.08em;
    }

    body.utility-page .main-header .logo-img {
        height: clamp(29px, 7.6svh, 34px);
        max-height: clamp(29px, 7.6svh, 34px);
    }

    body.utility-page .mobile-nav-spacer,
    body.utility-page .mobile-nav-toggle {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    body.utility-page .footer-mobile-action {
        min-height: var(--utility-compact-footer-h);
        padding: 7px 12px;
    }

    body.utility-page .footer-mobile-orb {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }

    body.utility-page .footer-mobile-label {
        font-size: 9.8px;
        letter-spacing: 0.18em;
    }
}

@media (max-width: 699px) and (max-height: 520px) and (orientation: landscape) {
    body.utility-page .utility-shell {
        width: min(100% - 36px, 620px);
    }

    .utility-hero {
        grid-template-columns: 1fr;
    }

    .utility-hero-panel {
        display: none;
    }

    .utility-title {
        font-size: clamp(24px, 6.8vw, 31px);
    }

    .utility-lead {
        display: none;
    }

    .utility-button,
    .utility-submit,
    .utility-mini-link {
        min-width: 132px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 9px;
        letter-spacing: 0.06em;
    }

    .page-booking .booking-primary-cta {
        min-width: 132px;
        min-height: 40px;
    }
}

@media (max-width: 1180px), (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --utility-chat-inline-gap: clamp(14px, 2.2vw, 22px);
        --utility-chat-top-gap: 14px;
        --utility-chat-bottom-gap: 14px;
        --utility-chat-panel-radius: 20px;
        --utility-chat-panel-width: clamp(500px, 62vw, 720px);
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        top: calc(var(--utility-compact-header-h) + var(--utility-chat-top-gap) + env(safe-area-inset-top, 0px)) !important;
        right: var(--utility-chat-inline-gap) !important;
        bottom: calc(var(--utility-compact-footer-h) + var(--utility-chat-bottom-gap) + env(safe-area-inset-bottom, 0px)) !important;
        left: auto !important;
        width: min(var(--utility-chat-panel-width), calc(100vw - (var(--utility-chat-inline-gap) * 2))) !important;
        max-width: calc(100vw - (var(--utility-chat-inline-gap) * 2)) !important;
        height: auto !important;
        max-height: none !important;
        border-radius: var(--utility-chat-panel-radius) !important;
        border-color: rgba(255, 255, 255, 0.135) !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.012) 20%, rgba(255, 255, 255, 0) 48%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.016) 28%, rgba(0, 0, 0, 0) 58%),
            rgba(6, 7, 10, 0.88) !important;
        box-shadow:
            0 30px 56px rgba(0, 0, 0, 0.68),
            0 0 0 1px rgba(255, 255, 255, 0.035),
            0 0 24px rgba(130, 72, 255, 0.12),
            0 0 36px rgba(36, 210, 255, 0.06),
            inset 0 1px 0 rgba(255, 255, 255, 0.062),
            inset 0 0 0 1px rgba(164, 181, 255, 0.055) !important;
        -webkit-backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
        backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
    }

    body.utility-page.chat-open .chat-overlay {
        background:
            radial-gradient(96% 76% at 50% 18%, rgba(255, 255, 255, 0.072) 0%, rgba(255, 255, 255, 0.026) 36%, rgba(255, 255, 255, 0) 66%),
            radial-gradient(128% 94% at 16% 100%, rgba(255, 255, 255, 0.046) 0%, rgba(255, 255, 255, 0.016) 34%, rgba(255, 255, 255, 0) 68%),
            linear-gradient(180deg, rgba(2, 4, 8, 0.58) 0%, rgba(2, 3, 7, 0.78) 52%, rgba(1, 2, 5, 0.94) 100%),
            radial-gradient(140% 112% at 50% 100%, rgba(255, 255, 255, 0.022) 0%, rgba(9, 10, 14, 0.3) 32%, rgba(4, 5, 9, 0.72) 70%, rgba(1, 2, 5, 0.94) 100%) !important;
        -webkit-backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
        backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages,
    body.utility-page .chat-panel.is-thread:not(.is-selecting) .chat-messages {
        min-width: 0 !important;
        background:
            radial-gradient(110% 86% at 50% 0%, rgba(255, 255, 255, 0.04), transparent 56%),
            rgba(3, 3, 5, 0.95) !important;
        box-shadow:
            inset 0 0 0 1px rgba(255, 255, 255, 0.07),
            inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
        overflow-x: hidden !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-shell {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding: clamp(24px, 3.6svh, 34px) 20px !important;
        transform: none !important;
        overflow: hidden !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-eyebrow,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-title,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-copy,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-actions {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-title {
        font-size: clamp(28px, 5vw, 35px) !important;
        line-height: 1.02 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-btn {
        min-width: 0 !important;
        min-height: clamp(70px, 9svh, 84px) !important;
    }
}

@media (max-width: 640px) {
    body.utility-page {
        --utility-chat-inline-gap: 12px;
        --utility-chat-top-gap: 12px;
        --utility-chat-bottom-gap: 10px;
        --utility-chat-panel-radius: 18px;
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        left: var(--utility-chat-inline-gap) !important;
        right: var(--utility-chat-inline-gap) !important;
        width: auto !important;
        max-width: none !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-title {
        font-size: clamp(29px, 8vw, 36px) !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-btn {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        padding: 13px 50px 13px 13px !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-glyph {
        width: 38px !important;
        height: 38px !important;
    }
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.utility-page {
        --utility-chat-inline-gap: 12px;
        --utility-chat-top-gap: 8px;
        --utility-chat-bottom-gap: 8px;
        --utility-chat-panel-radius: 16px;
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        left: var(--utility-chat-inline-gap) !important;
        right: var(--utility-chat-inline-gap) !important;
        width: auto !important;
        max-width: none !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-shell {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-copy {
        display: none !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-actions {
        gap: 10px !important;
        margin-top: 14px !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-btn {
        min-height: 76px !important;
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }
}

/* Utility overlay parity lock: Menu, Resources, and Chat use the same compact
   product-page chrome instead of the earlier utility-only full-width sheets. */
@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page.product-phone-nav-open .main-nav {
        position: fixed !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        top: calc(var(--utility-compact-header-h, 72px) + 3px) !important;
        right: 8px !important;
        left: auto !important;
        width: min(clamp(236px, 68vw, 240px), calc(100vw - 22px)) !important;
        max-width: calc(100vw - 26px) !important;
        max-height: calc(100dvh - 88px - env(safe-area-inset-bottom, 0px)) !important;
        padding: 7px 0 8px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        border-radius: 10px !important;
        border: 1px solid rgba(255, 255, 255, 0.085) !important;
        background:
            linear-gradient(200deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.014) 18%, rgba(255, 255, 255, 0.006) 44%, rgba(10, 12, 17, 0) 72%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0.008) 14%, rgba(255, 255, 255, 0.006) 30%, rgba(10, 11, 15, 0) 62%),
            rgba(2, 3, 5, 0.82) !important;
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.035),
            0 24px 52px rgba(0, 0, 0, 0.54),
            0 0 18px rgba(111, 135, 255, 0.08),
            inset 0 1px 0 rgba(255, 255, 255, 0.085) !important;
        -webkit-backdrop-filter: blur(26px) saturate(114%) !important;
        backdrop-filter: blur(26px) saturate(114%) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        isolation: isolate !important;
    }

    body.utility-page.product-phone-nav-open .main-nav::before {
        display: none !important;
        content: none !important;
    }

    body.utility-page.product-phone-nav-open .main-nav::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
    }

    body.utility-page.product-phone-nav-open .main-nav > a.nav-btn,
    body.utility-page.product-phone-nav-open .main-nav > .nav-dropdown {
        position: relative !important;
        display: block !important;
        z-index: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }

    body.utility-page.product-phone-nav-open .main-nav > a.nav-btn,
    body.utility-page.product-phone-nav-open .nav-dropdown > .nav-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: clamp(42px, 8.8svh, 48px) !important;
        padding: 10px 18px !important;
        border-radius: 0 !important;
        text-align: left !important;
        color: rgba(236, 241, 251, 0.82) !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 8.5px !important;
        letter-spacing: 0.145em !important;
        line-height: 1.15 !important;
    }

    body.utility-page.product-phone-nav-open .nav-dropdown .dropdown-content {
        position: static !important;
        display: none !important;
        min-width: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 2px 0 0 !important;
        gap: 0 !important;
        row-gap: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: none !important;
        pointer-events: none !important;
    }

    body.utility-page.product-phone-nav-open .nav-dropdown.open .dropdown-content {
        display: grid !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    body.utility-page.product-phone-nav-open .dropdown-content a {
        display: flex !important;
        align-items: center !important;
        min-height: clamp(32px, 7svh, 38px) !important;
        margin: 0 !important;
        padding: 8px 15px 8px 28px !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: rgba(236, 241, 251, 0.72) !important;
        font-size: 8.3px !important;
        letter-spacing: 0.145em !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    body.utility-page .mobile-support-sheet {
        left: 16px !important;
        right: auto !important;
        bottom: calc(var(--utility-compact-footer-h, 72px) + 12px + env(safe-area-inset-bottom, 0px)) !important;
        width: min(390px, calc(100vw - 32px)) !important;
        max-width: min(390px, calc(100vw - 32px)) !important;
        max-height: calc(100dvh - var(--utility-compact-header-h, 72px) - var(--utility-compact-footer-h, 72px) - 34px) !important;
        padding: 10px 0 10px !important;
        border-radius: 16px !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        border-color: rgba(255, 255, 255, 0.135) !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.012) 20%, rgba(255, 255, 255, 0) 48%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.016) 28%, rgba(0, 0, 0, 0) 58%),
            rgba(6, 7, 10, 0.88) !important;
        box-shadow:
            0 30px 56px rgba(0, 0, 0, 0.68),
            0 0 0 1px rgba(255, 255, 255, 0.035),
            inset 0 1px 0 rgba(255, 255, 255, 0.062),
            inset 2px 0 0 rgba(255, 255, 255, 0.28) !important;
        -webkit-backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
        backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
    }

    body.utility-page .mobile-support-sheet::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
    }

    body.utility-page .mobile-support-sheet-head {
        min-height: 0 !important;
        margin-bottom: 4px !important;
        padding: 6px 18px 4px !important;
    }

    body.utility-page .mobile-support-sheet-title {
        font-size: 20px !important;
        line-height: 1 !important;
        letter-spacing: 0.04em !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        margin-top: 0 !important;
        padding: 0 8px 0 !important;
    }

    body.utility-page .mobile-support-sheet a.mobile-support-action,
    body.utility-page .mobile-support-sheet button.mobile-support-action {
        min-height: 39px !important;
        padding: 8px 11px !important;
        border-radius: 10px !important;
        background-position: 11px 100% !important;
        background-size: calc(100% - 22px) 1px !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-action-label {
        font-size: 10.5px !important;
        line-height: 1.05 !important;
        letter-spacing: 0.04em !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-action-meta {
        margin-top: 2px !important;
        font-size: 9.5px !important;
        line-height: 1.12 !important;
    }

    body.utility-page {
        --utility-chat-inline-gap: clamp(16px, 2vw, 22px);
        --utility-chat-top-gap: 12px;
        --utility-chat-bottom-gap: 12px;
        --utility-chat-panel-radius: 16px;
        --utility-chat-panel-width: clamp(520px, 58vw, 760px);
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        top: calc(var(--utility-compact-header-h, 72px) + var(--utility-chat-top-gap) + env(safe-area-inset-top, 0px)) !important;
        right: var(--utility-chat-inline-gap) !important;
        bottom: calc(var(--utility-compact-footer-h, 72px) + var(--utility-chat-bottom-gap) + env(safe-area-inset-bottom, 0px)) !important;
        left: auto !important;
        width: min(var(--utility-chat-panel-width), calc(100vw - (var(--utility-chat-inline-gap) * 2))) !important;
        max-width: calc(100vw - (var(--utility-chat-inline-gap) * 2)) !important;
        height: auto !important;
        max-height: none !important;
        border-radius: var(--utility-chat-panel-radius) !important;
    }
}

@media (max-width: 640px) {
    body.utility-page .mobile-support-sheet {
        left: 12px !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.utility-page .mobile-support-sheet {
        left: 12px !important;
        right: auto !important;
        bottom: calc(var(--utility-compact-footer-h, 60px) + 8px + env(safe-area-inset-bottom, 0px)) !important;
        width: min(306px, calc(100vw - 28px)) !important;
        max-width: min(306px, calc(100vw - 28px)) !important;
    }
}

/* Final utility overlay parity lock. These selectors intentionally mirror the
   accepted product-page mobile/tablet Menu, Resources, and Chat chrome. */
@media (max-width: 640px),
    (min-width: 768px) and (max-width: 960px),
    (min-width: 821px) and (max-width: 1024px) and (orientation: portrait),
    (min-width: 961px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --product-support-sheet-inline-gap: clamp(16px, 2vw, 22px);
        --product-support-sheet-width: clamp(430px, 48vw, 640px);
        --product-support-sheet-bottom-gap: 12px;
        --product-support-sheet-max-height: min(48svh, 460px);
        --product-support-sheet-radius: 16px;
        --product-support-sheet-pad-top: 10px;
        --product-support-sheet-head-pad-x: 14px;
        --product-support-sheet-head-gap: 8px;
        --product-support-sheet-title-size: 18px;
        --product-support-sheet-row-min: 39px;
        --product-support-sheet-row-pad-y: 8px;
        --product-support-sheet-row-pad-x: 11px;
        --product-support-sheet-row-font-size: 10.5px;
        --product-surface-control-size: 34px;
        --product-surface-control-line: 9px;
        --utility-chat-inline-gap: clamp(16px, 2vw, 22px);
        --utility-chat-top-gap: 12px;
        --utility-chat-bottom-gap: 12px;
        --utility-chat-panel-radius: 20px;
        --utility-chat-panel-width: clamp(520px, 58vw, 760px);
    }

    body.utility-page.product-phone-nav-open .main-nav {
        background:
            linear-gradient(180deg, rgba(255,255,255,0.047) 0%, rgba(255,255,255,0.01) 24%, rgba(255,255,255,0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 34%, rgba(0,0,0,0) 68%),
            linear-gradient(180deg, rgba(3,4,7,0.34) 0%, rgba(1,2,4,0.18) 100%) !important;
        background-color: rgba(2,3,5,0.92) !important;
        border-color: rgba(255,255,255,0.043) !important;
        box-shadow:
            0 34px 64px rgba(0,0,0,0.78),
            0 0 34px rgba(255,255,255,0.03),
            inset 0 1px 0 rgba(255,255,255,0.047),
            inset 0 -18px 34px rgba(0,0,0,0.18) !important;
        -webkit-backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
        backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
    }

    body.utility-page.product-phone-nav-open .main-nav::before {
        display: none !important;
        content: none !important;
    }

    body.utility-page.product-support-open .mobile-support-sheet-backdrop,
    body.utility-page.chat-open .chat-overlay,
    body.utility-page.product-phone-nav-open .scroll-root::after {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 999 !important;
        pointer-events: none !important;
        background:
            radial-gradient(96% 76% at 50% 18%, rgba(255,255,255,0.072) 0%, rgba(255,255,255,0.026) 36%, rgba(255,255,255,0) 66%),
            radial-gradient(128% 94% at 16% 100%, rgba(255,255,255,0.046) 0%, rgba(255,255,255,0.016) 34%, rgba(255,255,255,0) 68%),
            linear-gradient(180deg, rgba(2,4,8,0.58) 0%, rgba(2,3,7,0.78) 52%, rgba(1,2,5,0.94) 100%),
            radial-gradient(140% 112% at 50% 100%, rgba(255,255,255,0.022) 0%, rgba(9,10,14,0.3) 32%, rgba(4,5,9,0.72) 70%, rgba(1,2,5,0.94) 100%) !important;
        -webkit-backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
        backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
    }

    body.utility-page .mobile-support-sheet {
        left: var(--product-support-sheet-inline-gap) !important;
        right: auto !important;
        bottom: calc(var(--product-support-sheet-bottom-gap) + var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px)) !important;
        width: min(var(--product-support-sheet-width), calc(100vw - (var(--product-support-sheet-inline-gap) * 2))) !important;
        max-width: calc(100vw - (var(--product-support-sheet-inline-gap) * 2)) !important;
        max-height: min(
            var(--product-support-sheet-max-height),
            calc(
                100dvh
                - var(--utility-compact-header-h)
                - var(--utility-compact-footer-h)
                - env(safe-area-inset-top, 0px)
                - env(safe-area-inset-bottom, 0px)
                - 32px
            )
        ) !important;
        padding: var(--product-support-sheet-pad-top) 0 0 !important;
        border-radius: var(--product-support-sheet-radius) !important;
        overflow: auto !important;
        overscroll-behavior: contain !important;
        border-color: rgba(255,255,255,0.043) !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.047) 0%, rgba(255,255,255,0.01) 24%, rgba(255,255,255,0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 34%, rgba(0,0,0,0) 68%),
            linear-gradient(180deg, rgba(3,4,7,0.34) 0%, rgba(1,2,4,0.18) 100%) !important;
        box-shadow:
            0 34px 64px rgba(0,0,0,0.78),
            0 0 34px rgba(255,255,255,0.03),
            inset 0 1px 0 rgba(255,255,255,0.047),
            inset 0 -18px 34px rgba(0,0,0,0.18) !important;
        -webkit-backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
        backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
    }

    body.utility-page .mobile-support-sheet-head {
        align-items: center !important;
        justify-content: space-between !important;
        gap: var(--product-support-sheet-head-gap) !important;
        margin-bottom: 10px !important;
        padding: 0 var(--product-support-sheet-head-pad-x) !important;
    }

    body.utility-page .mobile-support-sheet-title {
        display: block !important;
        margin: 0 !important;
        font-family: "Montserrat", "Arial", sans-serif !important;
        font-size: var(--product-support-sheet-title-size) !important;
        font-weight: 700 !important;
        line-height: 1.02 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        color: transparent !important;
        background-image: linear-gradient(135deg, rgba(248,250,255,0.98), rgba(218,224,236,0.94), rgba(248,250,255,0.94)) !important;
        background-size: 100% 100% !important;
        -webkit-background-clip: text !important;
        background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        animation: none !important;
    }

    body.utility-page .mobile-support-sheet-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 999px !important;
        background: #050505 !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        box-shadow:
            inset 3px 3px 6px #000000,
            inset -1px -1px 4px #1a1a1a,
            0 1px 0 rgba(255,255,255,0.1) !important;
    }

    body.utility-page .chat-panel .chat-close,
    body.utility-page .chat-panel .chat-thread-close,
    body.utility-page .chat-panel .chat-back {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: var(--product-surface-control-size) !important;
        height: var(--product-surface-control-size) !important;
        min-width: var(--product-surface-control-size) !important;
        min-height: var(--product-surface-control-size) !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 10px !important;
        background: #050505 !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        box-shadow:
            inset 3px 3px 6px #000000,
            inset -1px -1px 4px #1a1a1a,
            inset 0 0 12px rgba(111,135,255,0.18),
            0 0 14px rgba(111,135,255,0.12),
            0 1px 0 rgba(255,255,255,0.1) !important;
    }

    body.utility-page .chat-panel .chat-back {
        color: #6F87FF !important;
        font-size: 13px !important;
        line-height: 1 !important;
        text-indent: 0 !important;
    }

    body.utility-page .chat-panel .chat-back svg {
        width: 13px !important;
        height: 13px !important;
        stroke: currentColor !important;
        fill: none !important;
        stroke-width: 2 !important;
    }

    body.utility-page .mobile-support-sheet-close::before,
    body.utility-page .mobile-support-sheet-close::after {
        width: 7.6px !important;
        height: 1.6px !important;
        background: #6F87FF !important;
        box-shadow: 0 0 8px rgba(111,135,255,0.6) !important;
    }

    body.utility-page .chat-panel .chat-close::before,
    body.utility-page .chat-panel .chat-close::after,
    body.utility-page .chat-panel .chat-thread-close::before,
    body.utility-page .chat-panel .chat-thread-close::after {
        width: var(--product-surface-control-line) !important;
        height: 2px !important;
        background: #6F87FF !important;
        box-shadow: 0 0 8px rgba(111,135,255,0.6) !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        margin-top: 6px !important;
        padding: 0 10px 10px !important;
    }

    body.utility-page .mobile-support-sheet a.mobile-support-action,
    body.utility-page .mobile-support-sheet button.mobile-support-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        min-height: var(--product-support-sheet-row-min) !important;
        padding: var(--product-support-sheet-row-pad-y) var(--product-support-sheet-row-pad-x) !important;
        border: none !important;
        border-left: 3px solid transparent !important;
        border-radius: 10px !important;
        background-color: transparent !important;
        background-image: linear-gradient(rgba(255,255,255,0.035), rgba(255,255,255,0.035)) !important;
        background-repeat: no-repeat !important;
        background-position: var(--product-support-sheet-row-pad-x) 100% !important;
        background-size: calc(100% - var(--product-support-sheet-row-pad-x)) 1px !important;
        box-shadow: none !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-action-label {
        display: block !important;
        width: 100% !important;
        font-family: "Inter", "Arial", sans-serif !important;
        font-size: var(--product-support-sheet-row-font-size) !important;
        font-weight: 500 !important;
        line-height: 1.05 !important;
        letter-spacing: normal !important;
        text-align: left !important;
        text-transform: none !important;
        color: rgba(248,250,252,0.92) !important;
    }

    body.utility-page .mobile-support-sheet .mobile-support-action-meta {
        display: none !important;
    }

    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        top: calc(var(--utility-compact-header-h) + var(--utility-chat-top-gap) + env(safe-area-inset-top, 0px)) !important;
        right: var(--utility-chat-inline-gap) !important;
        bottom: calc(var(--utility-compact-footer-h) + var(--utility-chat-bottom-gap) + env(safe-area-inset-bottom, 0px)) !important;
        left: auto !important;
        width: min(var(--utility-chat-panel-width), calc(100vw - (var(--utility-chat-inline-gap) * 2))) !important;
        max-width: calc(100vw - (var(--utility-chat-inline-gap) * 2)) !important;
        height: auto !important;
        max-height: none !important;
        border-radius: var(--utility-chat-panel-radius) !important;
        border-color: rgba(255,255,255,0.043) !important;
        border-width: 1px 1px 1px 3px !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.047) 0%, rgba(255,255,255,0.01) 24%, rgba(255,255,255,0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 34%, rgba(0,0,0,0) 68%),
            linear-gradient(180deg, rgba(3,4,7,0.34) 0%, rgba(1,2,4,0.18) 100%) !important;
        box-shadow:
            0 34px 64px rgba(0,0,0,0.78),
            0 0 34px rgba(255,255,255,0.03),
            inset 0 1px 0 rgba(255,255,255,0.047),
            inset 0 -18px 34px rgba(0,0,0,0.18) !important;
        -webkit-backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
        backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
        padding: 16px !important;
        z-index: 21040 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages {
        justify-content: center !important;
        align-items: stretch !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-shell {
        width: 100% !important;
        max-width: none !important;
        min-height: 100% !important;
        margin: 0 !important;
        padding: clamp(22px, 3.5dvh, 30px) clamp(15px, 4vw, 20px) !important;
        gap: 0 !important;
        transform: none !important;
        overflow: hidden !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-eyebrow,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-title,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-copy,
    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-actions {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-title {
        margin-top: clamp(9px, 1.7dvh, 14px) !important;
        font-size: clamp(26px, 6.6vw, 32px) !important;
        line-height: 1.02 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-copy {
        margin-top: clamp(7px, 1.4dvh, 10px) !important;
        max-width: 30ch !important;
        font-size: clamp(11px, 2.95vw, 12px) !important;
        line-height: 1.34 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-actions {
        gap: clamp(7px, 1.25dvh, 10px) !important;
        margin-top: clamp(12px, 2.2dvh, 16px) !important;
        padding: 0 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-btn {
        min-height: clamp(62px, 9.4dvh, 72px) !important;
        grid-template-columns: clamp(34px, 7.4vw, 38px) minmax(0, 1fr) !important;
        gap: clamp(10px, 2.4vw, 12px) !important;
        padding: 12px clamp(38px, 9vw, 46px) 12px 12px !important;
        border-radius: 14px !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-glyph {
        width: clamp(34px, 7.4vw, 38px) !important;
        height: clamp(34px, 7.4vw, 38px) !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-label {
        font-size: clamp(9.5px, 2.45vw, 10.5px) !important;
        letter-spacing: 0.12em !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-meta {
        font-size: clamp(10.4px, 2.65vw, 11.4px) !important;
        line-height: 1.18 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages .chat-selector-btn::after {
        right: 13px !important;
        width: 27px !important;
        height: 27px !important;
    }

    body.utility-page .chat-panel [hidden],
    body.utility-page .chat-panel .chat-back[hidden],
    body.utility-page .chat-panel .chat-status-dot[hidden] {
        display: none !important;
    }
}

@media (max-width: 640px) {
    body.utility-page {
        --product-support-sheet-inline-gap: 8px;
        --product-support-sheet-width: none;
        --product-support-sheet-max-height: min(46svh, 430px);
        --product-support-sheet-radius: 16px;
        --product-support-sheet-pad-top: 10px;
        --product-support-sheet-head-pad-x: 14px;
        --product-support-sheet-head-gap: 8px;
        --product-support-sheet-title-size: 18px;
        --product-support-sheet-row-min: 39px;
        --product-support-sheet-row-pad-y: 8px;
        --product-support-sheet-row-pad-x: 11px;
        --product-support-sheet-row-font-size: 10.5px;
        --product-surface-control-size: 30px;
        --product-surface-control-line: 8.5px;
        --utility-chat-panel-radius: 20px;
    }

    body.utility-page .mobile-support-sheet {
        left: var(--product-support-sheet-inline-gap) !important;
        right: var(--product-support-sheet-inline-gap) !important;
        width: auto !important;
        max-width: none !important;
    }
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.utility-page {
        --product-support-sheet-inline-gap: 12px;
        --product-support-sheet-bottom-gap: 8px;
        --product-support-sheet-max-height: min(68svh, 300px);
        --product-support-sheet-radius: 16px;
        --product-support-sheet-pad-top: 10px;
        --product-support-sheet-head-pad-x: 14px;
        --product-support-sheet-head-gap: 8px;
        --product-support-sheet-title-size: 18px;
        --product-support-sheet-row-min: 39px;
        --product-support-sheet-row-pad-y: 8px;
        --product-support-sheet-row-pad-x: 11px;
        --product-support-sheet-row-font-size: 10.5px;
        --product-surface-control-size: 34px;
        --product-surface-control-line: 9px;
    }
}

body.utility-page .chat-thread-header,
body.utility-page .chat-input-row {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.012)),
        rgba(4,5,8,0.92) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.07),
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 12px 26px rgba(0,0,0,0.38) !important;
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.012) 24%, rgba(255, 255, 255, 0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.046) 0%, rgba(255, 255, 255, 0.012) 34%, rgba(0, 0, 0, 0) 68%),
            rgba(3, 4, 7, 0.94) !important;
        -webkit-backdrop-filter: blur(24px) saturate(114%) brightness(0.86) !important;
        backdrop-filter: blur(24px) saturate(114%) brightness(0.86) !important;
    }
}

body.utility-page.chat-open .chat-overlay {
    background:
        radial-gradient(96% 76% at 50% 18%, rgba(255, 255, 255, 0.062) 0%, rgba(255, 255, 255, 0.022) 36%, rgba(255, 255, 255, 0) 66%),
        radial-gradient(128% 94% at 16% 100%, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.014) 34%, rgba(255, 255, 255, 0) 68%),
        linear-gradient(180deg, rgba(2, 4, 8, 0.62) 0%, rgba(2, 3, 7, 0.82) 52%, rgba(1, 2, 5, 0.96) 100%),
        radial-gradient(140% 112% at 50% 100%, rgba(255, 255, 255, 0.018) 0%, rgba(9, 10, 14, 0.34) 32%, rgba(4, 5, 9, 0.76) 70%, rgba(1, 2, 5, 0.96) 100%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
    backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
}

/* Desktop utility chat chrome: white pages use the same popup family as Home and product pages. */
@media (min-width: 1181px) and (pointer: fine) {
    body.utility-page {
        --product-surface-control-size: 38px;
        --product-surface-control-line: 9px;
    }

    body.utility-page.chat-open .chat-overlay {
        background:
            radial-gradient(92% 70% at 50% 44%, rgba(255, 255, 255, 0.055) 0%, rgba(6, 8, 14, 0.22) 46%, rgba(3, 4, 8, 0.58) 100%),
            linear-gradient(180deg, rgba(2, 3, 6, 0.62) 0%, rgba(2, 3, 6, 0.72) 100%) !important;
        -webkit-backdrop-filter: blur(12px) saturate(110%) !important;
        backdrop-filter: blur(12px) saturate(110%) !important;
    }

    body.utility-page .chat-panel.is-thread:not(.is-selecting),
    html body.utility-page .chat-panel.is-thread:not(.is-selecting) {
        padding-bottom: 9px !important;
    }

    body.utility-page .chat-panel .chat-close,
    body.utility-page .chat-panel .chat-thread-close,
    body.utility-page .chat-panel .chat-back {
        width: var(--product-surface-control-size) !important;
        height: var(--product-surface-control-size) !important;
        min-width: var(--product-surface-control-size) !important;
        min-height: var(--product-surface-control-size) !important;
        border-radius: var(--abc-radius-control-tight, 10px) !important;
    }

    body.utility-page .chat-panel .chat-close::before,
    body.utility-page .chat-panel .chat-close::after,
    body.utility-page .chat-panel .chat-thread-close::before,
    body.utility-page .chat-panel .chat-thread-close::after {
        width: var(--product-surface-control-line) !important;
    }

    body.utility-page .chat-thread-header {
        background:
            linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.024) 30%, rgba(0, 0, 0, 0) 70%),
            linear-gradient(180deg, rgba(14, 14, 16, 0.99) 0%, rgba(2, 2, 4, 0.98) 100%) !important;
        border-color: rgba(232, 236, 244, 0.10) !important;
        box-shadow:
            0 14px 30px rgba(0, 0, 0, 0.44),
            inset 0 1px 0 rgba(255, 255, 255, 0.043),
            inset 0 -10px 22px rgba(0, 0, 0, 0.14) !important;
    }

    body.utility-page .chat-panel.is-thread:not(.is-selecting) .chat-messages {
        margin-bottom: 8px !important;
    }

    body.utility-page .chat-input-row,
    body.utility-page .chat-input-row:focus-within {
        padding: 7px 0 !important;
        background: transparent !important;
        box-shadow:
            0 14px 30px rgba(0, 0, 0, 0.44),
            inset 0 1px 0 rgba(255, 255, 255, 0.043),
            inset 0 -10px 22px rgba(0, 0, 0, 0.14) !important;
    }

    body.utility-page .chat-input {
        min-height: 40px !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.024) 0%, rgba(0, 0, 0, 0.24) 100%),
            rgba(2, 2, 4, 0.93) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.03),
            inset 0 -10px 18px rgba(0, 0, 0, 0.16) !important;
    }

    body.utility-page .chat-send {
        min-height: 40px !important;
    }
}

/* Real-mobile chrome guard: utility pages share the same visitor controls as
   product pages, so keep the painted logo/menu/footer labels from disappearing
   on phone WebKit or a stale mobile cascade. */
@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page .main-header .logo-img {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        filter: drop-shadow(0 0 10px rgba(211, 175, 92, 0.16)) !important;
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        z-index: 21400 !important;
        isolation: isolate !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
        will-change: transform !important;
    }

    body.utility-page .main-header::after,
    body.utility-page .footer-nav::before,
    body.utility-page .footer-nav::after {
        z-index: 0 !important;
    }

    body.utility-page .main-header .logo-container,
    body.utility-page .main-header .logo,
    body.utility-page .main-header picture {
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    body.utility-page .mobile-nav-spacer {
        display: block !important;
    }

    body.utility-page .mobile-nav-toggle {
        position: relative !important;
        z-index: 3 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    body.utility-page .mobile-nav-toggle,
    body.utility-page .footer-mobile-action,
    body.utility-page .footer-mobile-content,
    body.utility-page .footer-mobile-orb {
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.utility-page .footer-mobile-action,
    body.utility-page .footer-mobile-content,
    body.utility-page .footer-mobile-orb {
        position: relative !important;
        z-index: 2 !important;
        display: inline-flex !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
    }

    body.utility-page .footer-mobile-orb {
        align-items: center !important;
        justify-content: center !important;
    }

    body.utility-page .footer-mobile-resource .footer-mobile-label,
    body.utility-page .footer-mobile-chat .footer-mobile-label {
        color: rgba(246, 248, 255, 0.94) !important;
        -webkit-text-fill-color: currentColor !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: inline-block !important;
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.08) !important;
    }

    body.utility-page .footer-mobile-orb svg,
    body.utility-page .footer-mobile-orb svg * {
        opacity: 1 !important;
    }
}

/* Root touch fix: utility pages were still using the fixed overflow scroll-root
   that can make iPhone/iPad drop the painted header/footer controls. */
@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.has-scroll-root.utility-page {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        min-height: 100dvh !important;
    }

    body.utility-page .scroll-root {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        min-height: 100dvh !important;
        overflow: visible !important;
        padding-top: calc(var(--utility-compact-header-h) + env(safe-area-inset-top, 0px)) !important;
        padding-bottom: var(--utility-compact-footer-h) !important;
        z-index: auto !important;
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        position: fixed !important;
    }

    body.utility-page .main-header {
        top: 0 !important;
    }

    body.utility-page .footer-nav {
        bottom: 0 !important;
    }

    body.utility-page.product-support-open,
    body.utility-page.chat-open {
        overflow: hidden !important;
    }
}

/* Native mobile chrome lock: keep utility chrome on browser-owned fixed
   positioning and use safe-area padding only. */
@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    html,
    body.utility-page {
        background:
            radial-gradient(ellipse 70% 36% at 50% 0%, rgba(111, 135, 255, 0.13), transparent 66%),
            linear-gradient(180deg, #f8fafc 0%, #edf1f6 48%, #f7f9fc 100%) !important;
        overflow-x: hidden !important;
    }

    body.utility-page {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        box-sizing: border-box !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.utility-page .main-header {
        top: 0 !important;
        padding-left: calc(14px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(14px + env(safe-area-inset-right, 0px)) !important;
    }

    body.utility-page .footer-nav {
        bottom: 0 !important;
        top: auto !important;
        height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px)) !important;
        max-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px)) !important;
        min-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px)) !important;
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        padding-left: env(safe-area-inset-left, 0px) !important;
        padding-right: env(safe-area-inset-right, 0px) !important;
    }

    body.utility-page .footer-mobile-action {
        height: var(--utility-compact-footer-h) !important;
        max-height: var(--utility-compact-footer-h) !important;
        min-height: var(--utility-compact-footer-h) !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Authoritative touch scroll shell: utility pages use normal document
   scrolling, with white-page backgrounds painting every iOS safe-area edge. */
@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    html,
    body.has-scroll-root.utility-page {
        background:
            radial-gradient(ellipse 70% 36% at 50% 0%, rgba(111, 135, 255, 0.13), transparent 66%),
            linear-gradient(180deg, #f8fafc 0%, #edf1f6 48%, #f7f9fc 100%) !important;
        overflow-x: clip !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    html::-webkit-scrollbar,
    body.has-scroll-root.utility-page::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }

    body.has-scroll-root.utility-page {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100svh !important;
        margin: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: none;
    }

    body.utility-page .scroll-root {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100svh !important;
        overflow: visible !important;
        padding-top: calc(var(--utility-compact-header-h) + env(safe-area-inset-top, 0px)) !important;
        padding-bottom: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px)) !important;
        z-index: auto !important;
    }

    body.utility-page .ambient {
        left: calc(-1 * env(safe-area-inset-left, 0px)) !important;
        right: calc(-1 * env(safe-area-inset-right, 0px)) !important;
        width: auto !important;
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        position: fixed !important;
        box-sizing: border-box !important;
        left: calc(-1 * env(safe-area-inset-left, 0px)) !important;
        right: calc(-1 * env(safe-area-inset-right, 0px)) !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.utility-page .main-header {
        top: 0 !important;
        padding-left: calc(14px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(14px + env(safe-area-inset-right, 0px)) !important;
    }

    body.utility-page .footer-nav {
        top: auto !important;
        bottom: 0 !important;
        height: var(--utility-compact-footer-h) !important;
        min-height: var(--utility-compact-footer-h) !important;
        max-height: var(--utility-compact-footer-h) !important;
        padding: 0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px) !important;
        overflow: hidden !important;
    }

    body.utility-page .footer-mobile-action {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    body.utility-page .utility-shell {
        padding-bottom: var(--utility-shell-edge-gap, 16px) !important;
    }

    body.utility-page.product-support-open,
    body.utility-page.chat-open {
        overflow: hidden !important;
    }
}

@media (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page .scroll-root {
        box-sizing: border-box !important;
        margin-left: calc(-1 * var(--abc-landscape-inline-offset, 0px)) !important;
        margin-right: calc(-1 * var(--abc-landscape-inline-offset, 0px)) !important;
        width: calc(100% + (2 * var(--abc-landscape-inline-offset, 0px))) !important;
        max-width: none !important;
        padding-left: var(--abc-landscape-inline-offset, 0px) !important;
        padding-right: var(--abc-landscape-inline-offset, 0px) !important;
    }

    body.utility-page .ambient {
        left: calc(-1 * (env(safe-area-inset-left, 0px) + var(--abc-landscape-inline-offset, 0px))) !important;
        right: calc(-1 * (env(safe-area-inset-right, 0px) + var(--abc-landscape-inline-offset, 0px))) !important;
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        left: calc(-1 * (env(safe-area-inset-left, 0px) + var(--abc-landscape-inline-offset, 0px))) !important;
        right: calc(-1 * (env(safe-area-inset-right, 0px) + var(--abc-landscape-inline-offset, 0px))) !important;
    }

    body.utility-page .footer-nav {
        bottom: calc(-1 * (env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px))) !important;
        height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
        min-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
        max-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
    }

    body.utility-page .footer-mobile-action {
        height: var(--utility-compact-footer-h) !important;
        min-height: var(--utility-compact-footer-h) !important;
        max-height: var(--utility-compact-footer-h) !important;
        align-self: flex-start !important;
    }
}

/* Tablet consent fine print: phones already use the compact legal style, but
   tablet was reading like primary form copy. */
@media (min-width: 641px) and (max-width: 1180px) {
    body.utility-page .utility-consent {
        grid-template-columns: 18px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 12px 14px !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
    }

    body.utility-page .utility-consent input {
        width: 16px !important;
        height: 16px !important;
        margin-top: 0 !important;
    }

    body.page-booking .booking-selection-summary strong {
        font-size: 18px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        text-wrap: nowrap !important;
    }

    body.page-booking .booking-selection-summary p {
        align-self: center !important;
        margin-top: 0 !important;
        line-height: 1.05 !important;
    }
}

/* Utility-page responsive finish: keep the white-page touch shell compact and
   viewport-bound without changing the approved desktop layout. */
@media (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --abc-landscape-inline-offset: 0px !important;
        --utility-compact-header-h: clamp(58px, 8.2svh, 64px);
        --utility-compact-footer-h: clamp(58px, 8.2svh, 64px);
    }

    body.utility-page .main-header,
    body.utility-page .footer-nav {
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
    }

    body.utility-page .scroll-root {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.utility-page .main-header .logo-img {
        width: auto !important;
        max-width: min(220px, 34vw) !important;
    }
}

@media (max-width: 640px) {
    .utility-section {
        margin-top: 30px;
    }

    .utility-terms-label-desktop {
        display: none;
    }

    .utility-terms-label-mobile {
        display: inline;
    }

    .utility-shell > .utility-hero + .utility-section,
    .utility-shell > .quotes-hero-live + .utility-section,
    .utility-shell > .carrier-hero + .utility-section {
        margin-top: 30px;
    }

    .page-booking .booking-prep-glass h2,
    .utility-dark-band h2,
    .utility-dark-band h3 {
        font-size: clamp(21px, 6vw, 26px);
        line-height: 1.04;
    }

    .page-booking .booking-prep-glass {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        gap: 8px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        flex-basis: 116px;
        min-height: 34px;
        padding: 9px 11px;
        font-size: 11px;
    }

    .page-booking .booking-prep-glass p,
    .utility-dark-band p {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.5;
    }

    .utility-proof-list {
        gap: 8px;
    }

    .utility-proof-item {
        padding: 11px 12px;
    }

    .page-quotes #request .utility-form-grid,
    .utility-form-grid {
        row-gap: 18px;
    }

    .page-booking .booking-day-button {
        gap: 2px;
        min-height: 56px;
        padding: 8px 44px 8px 9px;
    }

    .page-booking .booking-day-button span {
        font-size: 8px;
    }

    .page-booking .booking-day-button small {
        top: 8px;
        right: 9px;
        font-size: 7.5px;
        letter-spacing: 0.045em;
    }

    .page-booking .booking-day-button strong {
        font-size: 14.5px;
        white-space: nowrap;
    }

    .page-booking .booking-scheduler-fields .utility-label,
    .page-quotes .quotes-form-panel .utility-form .utility-label,
    .page-contact .utility-form-panel .utility-form .utility-label {
        font-size: 9.5px;
        letter-spacing: 0.045em;
    }

    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-select,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-scheduler-fields .utility-textarea {
        font-size: 14.5px;
        line-height: 1.25;
    }

    .page-booking .booking-scheduler-fields .utility-select-trigger {
        min-height: 42px;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .page-booking .booking-scheduler-fields .utility-field:has(#calendar-interest) .utility-select,
    .page-booking .booking-scheduler-fields .utility-field:has(#calendar-interest) .utility-select-trigger {
        min-height: 40px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 13px;
        line-height: 1.2;
    }

    .page-booking .booking-scheduler-fields .utility-field:has(#calendar-interest) .utility-select-value {
        font-size: 13px;
        font-weight: 650;
    }

    .page-booking .booking-scheduler-fields .utility-textarea::placeholder {
        font-size: 12.5px;
    }

    .page-booking .booking-calendar-preview {
        padding: 14px;
    }

    .page-booking .booking-calendar-preview:not(.has-selected-slot) {
        gap: 14px;
        padding-bottom: 14px;
    }

    .page-booking .booking-time-panel.is-empty {
        min-height: 128px;
        padding: 12px 14px;
    }

    .page-booking .booking-time-empty {
        min-height: 78px;
        padding: 12px 14px;
        font-size: 10.5px;
        line-height: 1.28;
    }

    .page-booking .booking-selection-summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
        min-height: 0;
        padding: 15px;
        text-align: left;
    }

    .page-booking .booking-selection-summary::after {
        content: none;
    }

    .page-booking .booking-selection-summary::before {
        background:
            linear-gradient(90deg, transparent 32%, rgba(255, 255, 255, 0.075) 50%, transparent 68%);
    }

    .page-booking .booking-selection-summary span {
        grid-column: 1 / -1;
        justify-self: start;
        font-size: 9px;
        letter-spacing: 0.16em;
    }

    .page-booking .booking-selection-summary strong {
        grid-column: 1;
        justify-self: start;
        font-size: clamp(17px, 5.2vw, 19.5px);
    }

    .page-booking .booking-selection-summary p {
        grid-column: 1;
        justify-self: start;
        margin-top: -1px;
        font-size: 13px;
        text-align: left;
    }

    .page-booking .booking-selection-change {
        grid-column: 1;
        grid-row: auto;
        align-self: stretch;
        justify-self: stretch;
        min-height: 38px;
        margin-top: 4px;
        padding-inline: 14px;
    }
}

@media (max-width: 400px) {
    .page-booking .booking-calendar-head h2 {
        font-size: 23px;
    }
}

@media (max-width: 370px) {
    .page-booking .booking-calendar-head h2 {
        font-size: 22px;
    }
}

@media (min-width: 981px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .quotes-form-panel .utility-form,
    .page-contact .utility-form-panel .utility-form {
        gap: 14px;
        padding: 34px 38px;
    }

    .page-quotes .quotes-form-panel .utility-form-grid,
    .page-contact .utility-form-panel .utility-form-grid {
        column-gap: 14px;
        row-gap: 14px;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-field,
    .page-contact .utility-form-panel .utility-form .utility-field {
        gap: 7px;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-input,
    .page-quotes .quotes-form-panel .utility-form .utility-select,
    .page-quotes .quotes-form-panel .utility-form .utility-select-trigger,
    .page-contact .utility-form-panel .utility-form .utility-input,
    .page-contact .utility-form-panel .utility-form .utility-select,
    .page-contact .utility-form-panel .utility-form .utility-select-trigger {
        height: 38px;
        min-height: 38px;
        padding: 8px 12px;
        font-size: 13px;
        line-height: 1.2;
    }

    .page-quotes .quotes-form-panel .utility-form .utility-select-value,
    .page-contact .utility-form-panel .utility-form .utility-select-value {
        font-size: 13px;
        line-height: 1.2;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
        align-items: center;
        min-height: 0;
        padding: 20px 24px;
    }

    .page-quotes .utility-action-band .utility-action-copy h2,
    .page-contact .utility-action-band .utility-action-copy h2 {
        margin-top: 7px;
        font-size: clamp(22px, 3.4vw, 27px);
        line-height: 1.02;
    }

    .page-quotes .utility-action-band .utility-action-copy p,
    .page-contact .utility-action-band .utility-action-copy p {
        max-width: 520px;
        margin-top: 7px;
        font-size: 12px;
        line-height: 1.38;
    }

    .page-quotes .utility-action-band .utility-action-buttons,
    .page-contact .utility-action-band .utility-action-buttons {
        flex-wrap: nowrap;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 0;
    }

    .page-quotes .utility-action-band .utility-action-buttons .utility-mini-link,
    .page-contact .utility-action-band .utility-action-buttons .utility-mini-link {
        flex: 0 0 clamp(160px, 18vw, 180px);
        width: clamp(160px, 18vw, 180px);
        height: 42px;
        min-height: 42px;
        padding: 8px 10px;
        font-size: 9.8px;
    }
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-select,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-scheduler-fields .utility-textarea {
        font-size: 14.5px;
        line-height: 1.25;
    }

    .page-booking .booking-scheduler-fields .utility-input {
        min-height: 44px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .page-booking .booking-scheduler-fields .utility-textarea {
        min-height: 66px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

@media (min-width: 981px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-field:has(#calendar-interest) .utility-select,
    .page-booking .booking-scheduler-fields .utility-field:has(#calendar-interest) .utility-select-trigger {
        height: 40px;
        min-height: 40px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 13px;
        line-height: 1.2;
    }
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page .utility-section,
    body.utility-page .booking-calendar-stage,
    body.utility-page .booking-followup-section {
        scroll-margin-top: calc(var(--utility-compact-header-h) + 14px);
        scroll-margin-bottom: calc(var(--utility-compact-footer-h) + 14px);
    }
}

@media (min-width: 641px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        width: min(100%, 444px);
        max-width: 444px;
        justify-content: flex-start;
        align-items: stretch;
    }

    .page-quotes .quotes-hero-actions .utility-button,
    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button {
        flex: 0 1 216px;
        width: clamp(192px, 22vw, 216px);
        max-width: 216px;
        min-width: 0;
        height: 44px;
        min-height: 44px;
        padding-inline: 10px;
        white-space: nowrap;
    }
}

.page-quotes .quotes-proof-glass .utility-proof-list,
.page-booking .booking-prep-glass .utility-proof-list {
    width: min(236px, 100%);
    justify-self: end;
    align-self: center;
    gap: 15px;
    margin-right: clamp(28px, 4.4vw, 56px);
    transform: none;
}

.page-quotes .quotes-proof-glass .utility-proof-item,
.page-booking .booking-prep-glass .utility-proof-item {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 0 0 76px;
    color: rgba(248, 250, 252, 0.92);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: left;
    white-space: nowrap;
}

.page-quotes .quotes-proof-glass .utility-proof-item::before,
.page-booking .booking-prep-glass .utility-proof-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 58px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(214, 166, 74, 0.96));
    box-shadow: 0 0 14px rgba(214, 166, 74, 0.35);
    transform: translateY(-50%);
}

.page-quotes .quotes-proof-glass .utility-proof-item::after,
.page-booking .booking-prep-glass .utility-proof-item::after {
    content: "";
    position: absolute;
    left: 58px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d6a64a;
    transform: translateY(-50%);
}

@media (min-width: 981px) and (max-width: 1180px) {
    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(260px, 100%);
        justify-self: start;
        align-self: start;
        gap: 12px;
        margin-top: 10px;
        margin-right: 0;
        transform: none;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        flex: 0 0 auto;
        padding: 0 0 0 48px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::before,
    .page-booking .booking-prep-glass .utility-proof-item::before {
        width: 34px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::after,
    .page-booking .booking-prep-glass .utility-proof-item::after {
        left: 34px;
    }
}

@media (max-width: 980px) {
    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(260px, 100%);
        justify-self: start;
        align-self: start;
        gap: 12px;
        margin-top: 10px;
        margin-right: 0;
        transform: none;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        flex: 0 0 auto;
        padding: 0 0 0 48px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::before,
    .page-booking .booking-prep-glass .utility-proof-item::before {
        width: 34px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::after,
    .page-booking .booking-prep-glass .utility-proof-item::after {
        left: 34px;
    }
}

@media (max-width: 640px) {
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions,
    .page-quotes .utility-action-band .utility-action-buttons,
    .page-contact .utility-action-band .utility-action-buttons {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 10px;
    }

    .page-booking .utility-hero-actions .utility-button,
    .page-contact .utility-hero-actions .utility-button,
    .page-quotes .quotes-hero-actions .utility-button,
    .page-quotes .utility-action-band .utility-action-buttons .utility-mini-link,
    .page-contact .utility-action-band .utility-action-buttons .utility-mini-link {
        flex: 1 1 0;
        height: 42px;
        min-height: 42px;
        width: auto;
        min-width: 0;
        padding: 8px 9px;
        font-size: 10px;
        white-space: nowrap;
    }

    .utility-submit,
    .utility-success-actions .utility-button,
    .page-booking .booking-scheduler-form .utility-submit {
        min-height: 42px;
        padding: 9px 14px;
        font-size: 10px;
    }
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page.product-support-open .mobile-support-sheet-backdrop {
        top: 0 !important;
        right: 0 !important;
        bottom: calc(var(--utility-compact-footer-h, 72px) + env(safe-area-inset-bottom, 0px)) !important;
        left: 0 !important;
        height: auto !important;
        z-index: 21380 !important;
    }

    body.utility-page.chat-open .chat-overlay {
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        height: auto !important;
        z-index: 21380 !important;
        pointer-events: auto !important;
    }

    body.utility-page .mobile-support-sheet,
    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        z-index: 21420 !important;
    }

    body.utility-page.product-support-open .footer-nav {
        z-index: 21400 !important;
    }

    body.utility-page.chat-open .footer-nav {
        z-index: 21400 !important;
        filter: blur(8px) brightness(0.7) !important;
        pointer-events: none !important;
    }

    body.utility-page.chat-open .chat-overlay {
        background:
            radial-gradient(96% 76% at 50% 18%, rgba(255, 255, 255, 0.072) 0%, rgba(255, 255, 255, 0.026) 36%, rgba(255, 255, 255, 0) 66%),
            radial-gradient(128% 94% at 16% 100%, rgba(255, 255, 255, 0.046) 0%, rgba(255, 255, 255, 0.016) 34%, rgba(255, 255, 255, 0) 68%),
            linear-gradient(180deg, rgba(2, 4, 8, 0.58) 0%, rgba(2, 3, 7, 0.78) 52%, rgba(1, 2, 5, 0.94) 100%),
            radial-gradient(140% 112% at 50% 100%, rgba(255, 255, 255, 0.022) 0%, rgba(9, 10, 14, 0.3) 32%, rgba(4, 5, 9, 0.72) 70%, rgba(1, 2, 5, 0.94) 100%) !important;
        -webkit-backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
        backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
    }

    html body.utility-page .chat-panel.is-selecting {
        overflow: hidden !important;
        isolation: isolate !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.012) 20%, rgba(255, 255, 255, 0) 48%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.052) 0%, rgba(255, 255, 255, 0.016) 28%, rgba(0, 0, 0, 0) 58%),
            rgba(6, 7, 10, 0.88) !important;
        box-shadow:
            0 30px 56px rgba(0, 0, 0, 0.68),
            0 0 0 1px rgba(255, 255, 255, 0.035),
            0 0 24px rgba(130, 72, 255, 0.12),
            0 0 36px rgba(36, 210, 255, 0.06),
            inset 0 1px 0 rgba(255, 255, 255, 0.062),
            inset 0 0 0 1px rgba(164, 181, 255, 0.055) !important;
        -webkit-backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
        backdrop-filter: blur(24px) saturate(110%) brightness(0.94) !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-input-row,
    body.utility-page .chat-panel.is-selecting .chat-consent {
        position: absolute !important;
        inset: auto auto 0 0 !important;
        display: block !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-input-row input,
    body.utility-page .chat-panel.is-selecting .chat-input-row button {
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages {
        position: relative !important;
        margin-bottom: 0 !important;
        background:
            radial-gradient(110% 86% at 50% 0%, rgba(255, 255, 255, 0.04), transparent 56%),
            rgba(3, 3, 5, 0.95) !important;
        box-shadow:
            inset 0 0 0 1px rgba(255, 255, 255, 0.07),
            inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
        overflow: hidden !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-messages::after {
        content: "" !important;
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        height: 42px !important;
        pointer-events: none !important;
        background: linear-gradient(180deg, rgba(3, 3, 5, 0), rgba(3, 3, 5, 0.95) 82%) !important;
        z-index: 0 !important;
    }

    body.utility-page .chat-panel.is-selecting .chat-selector-shell {
        position: relative !important;
        z-index: 1 !important;
    }
}

@media (min-width: 641px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        max-width: 444px;
    }
}
/* Shared Chat final polish: keep control centering globally; keep the outside halo touch-only. */
body.utility-page .chat-panel,
html body.utility-page .chat-panel,
body.utility-page .chat-panel.is-thread,
html body.utility-page .chat-panel.is-thread {
    isolation: isolate !important;
    overflow: visible !important;
}

body.utility-page .chat-panel::before {
    content: none !important;
    display: none !important;
}

body.utility-page .chat-panel > * {
    position: relative !important;
    z-index: 1 !important;
}

body.utility-page .chat-panel .chat-close,
body.utility-page .chat-panel .chat-thread-close,
body.utility-page .chat-panel .chat-back {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
}

body.utility-page .chat-panel .chat-close,
body.utility-page .chat-panel .chat-thread-close {
    box-shadow:
        inset 3px 3px 6px #000000,
        inset -1px -1px 4px #1a1a1a,
        0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

body.utility-page .chat-panel .chat-close:hover,
body.utility-page .chat-panel .chat-close:focus-visible,
body.utility-page .chat-panel .chat-thread-close:hover,
body.utility-page .chat-panel .chat-thread-close:focus-visible {
    box-shadow:
        inset 3px 3px 6px #000000,
        inset -1px -1px 4px #1a1a1a,
        0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

body.utility-page .chat-panel .chat-close::before,
body.utility-page .chat-panel .chat-close::after,
body.utility-page .chat-panel .chat-thread-close::before,
body.utility-page .chat-panel .chat-thread-close::after {
    left: 50% !important;
    top: 50% !important;
    margin: 0 !important;
    transform-origin: 50% 50% !important;
}

body.utility-page .chat-panel .chat-close::before,
body.utility-page .chat-panel .chat-thread-close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

body.utility-page .chat-panel .chat-close::after,
body.utility-page .chat-panel .chat-thread-close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

body.utility-page .chat-panel .chat-close:hover::before,
body.utility-page .chat-panel .chat-close:active::before,
body.utility-page .chat-panel .chat-thread-close:hover::before,
body.utility-page .chat-panel .chat-thread-close:active::before {
    transform: translate(-50%, -50%) rotate(225deg) !important;
}

body.utility-page .chat-panel .chat-close:hover::after,
body.utility-page .chat-panel .chat-close:active::after,
body.utility-page .chat-panel .chat-thread-close:hover::after,
body.utility-page .chat-panel .chat-thread-close:active::after {
    transform: translate(-50%, -50%) rotate(135deg) !important;
}

body.utility-page .chat-panel .chat-back svg {
    display: block !important;
    margin: 0 !important;
    transform: none !important;
}

@media (max-width: 1180px),
       (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page.chat-open .chat-panel {
        box-shadow:
            0 0 0 1px rgba(154, 178, 235, 0.055),
            0 0 0 2px rgba(132, 92, 235, 0.045),
            0 30px 78px rgba(0, 0, 0, 0.80),
            0 0 44px rgba(112, 152, 232, 0.13),
            0 0 76px rgba(132, 92, 235, 0.12),
            0 0 28px rgba(91, 118, 255, 0.08),
            inset 0 1px 0 rgba(255, 255, 255, 0.09) !important;
    }

    body.utility-page.chat-open .chat-panel::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: -18px !important;
        border-radius: calc(var(--utility-chat-panel-radius, var(--chat-radius, 16px)) + 18px) !important;
        pointer-events: none !important;
        z-index: -1 !important;
        background:
            radial-gradient(ellipse 82% 42% at 50% 50%, rgba(112, 152, 232, 0.14), rgba(112, 152, 232, 0) 72%),
            radial-gradient(ellipse 92% 66% at 50% 52%, rgba(132, 92, 235, 0.10), rgba(132, 92, 235, 0) 74%) !important;
        filter: blur(18px) !important;
        opacity: 0.76 !important;
        animation: chat-panel-aura 7.5s ease-in-out infinite !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.utility-page.chat-open .chat-panel::before {
        animation: none !important;
        opacity: 0.66 !important;
    }
}

/* Temporary owner-review pass: Option 10 black luxury glass, preserving header controls and input row. */
body.utility-page.chat-open .chat-overlay {
    background:
        radial-gradient(ellipse 42% 34% at 50% 50%, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018) 34%, rgba(0, 0, 0, 0) 64%),
        radial-gradient(ellipse 100% 80% at 50% 50%, rgba(255, 255, 255, 0.028), rgba(0, 0, 0, 0.68) 54%, rgba(0, 0, 0, 0.92) 100%),
        rgba(0, 0, 0, 0.88) !important;
    -webkit-backdrop-filter: blur(18px) saturate(92%) brightness(0.58) !important;
    backdrop-filter: blur(18px) saturate(92%) brightness(0.58) !important;
}

body.utility-page.chat-open .chat-panel {
    box-shadow:
        0 34px 112px rgba(0, 0, 0, 1),
        0 0 46px rgba(255, 255, 255, 0.10),
        0 0 108px rgba(126, 132, 255, 0.10) !important;
}

body.utility-page.chat-open .chat-panel::before {
    content: none !important;
    display: none !important;
}

body.utility-page .chat-panel.is-thread:not(.is-selecting) .chat-messages {
    background: #000 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035) !important;
}

body.utility-page.chat-open .chat-panel {
    background: #020207 !important;
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 1),
        0 0 0 1px rgba(130, 110, 255, 0.22),
        0 0 30px rgba(120, 90, 255, 0.34),
        0 0 86px rgba(50, 180, 255, 0.16),
        0 0 128px rgba(150, 60, 255, 0.16) !important;
    filter:
        drop-shadow(0 0 22px rgba(105, 90, 255, 0.28))
        drop-shadow(0 0 58px rgba(54, 185, 255, 0.14));
}

body.utility-page.chat-open .chat-panel::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -44px !important;
    z-index: -1 !important;
    border-radius: calc(var(--utility-chat-panel-radius, var(--chat-radius, 18px)) + 26px) !important;
    pointer-events: none !important;
    background:
        radial-gradient(ellipse 82% 64% at 50% 48%, rgba(120, 82, 255, 0.34), rgba(120, 82, 255, 0) 64%),
        radial-gradient(ellipse 76% 50% at 52% 48%, rgba(42, 190, 255, 0.16), rgba(42, 190, 255, 0) 68%) !important;
    filter: blur(28px) !important;
    opacity: 0.94 !important;
    animation: none !important;
}

body.utility-page .chat-panel.is-selecting .chat-messages,
body.utility-page .chat-panel.is-thread:not(.is-selecting) .chat-messages {
    background: #000 !important;
}

body.utility-page .chat-selector-btn {
    background:
        linear-gradient(180deg, rgba(18, 20, 34, 0.98), rgba(2, 2, 7, 0.98)) !important;
    border-color: rgba(135, 116, 255, 0.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        0 14px 34px rgba(0, 0, 0, 0.62),
        0 0 22px rgba(112, 88, 255, 0.12) !important;
}

/* Approved Chat glow: Option 1, Nebula Crown. */
body.utility-page.chat-open .chat-panel {
    isolation: isolate !important;
    overflow: visible !important;
    background: #020207 !important;
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 1),
        0 0 30px rgba(120, 82, 255, 0.20),
        0 0 92px rgba(42, 190, 255, 0.08) !important;
    filter: none !important;
}

body.utility-page.chat-open .chat-panel::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -50px !important;
    z-index: -1 !important;
    border-radius: calc(var(--utility-chat-panel-radius, var(--chat-radius, 18px)) + 32px) !important;
    pointer-events: none !important;
    background:
        radial-gradient(ellipse 76% 56% at 50% 46%, rgba(130, 72, 255, 0.42), rgba(130, 72, 255, 0) 66%),
        radial-gradient(ellipse 58% 42% at 50% 54%, rgba(36, 210, 255, 0.18), rgba(36, 210, 255, 0) 70%) !important;
    filter: blur(30px) !important;
    opacity: 0.9 !important;
    animation: chat-bottom-bloom-breathe 5.8s ease-in-out infinite !important;
}

body.utility-page.chat-open .chat-panel::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -10px !important;
    z-index: -1 !important;
    border-radius: calc(var(--utility-chat-panel-radius, var(--chat-radius, 18px)) + 12px) !important;
    pointer-events: none !important;
    background:
        radial-gradient(ellipse 92% 72% at 50% 50%, rgba(150, 80, 255, 0.18), rgba(150, 80, 255, 0) 72%) !important;
    filter: blur(10px) !important;
    opacity: 0.72 !important;
    animation: chat-bottom-bloom-breathe 5.8s ease-in-out infinite reverse !important;
}

body.utility-page.chat-open .chat-panel > * {
    position: relative !important;
    z-index: 1 !important;
}

body.utility-page.chat-open .chat-panel.is-selecting .chat-messages,
body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting) .chat-messages {
    background: #000 !important;
}

body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting) .chat-messages {
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0, rgba(255,255,255,0.018) 1px, transparent 1px, transparent 5px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.012) 0, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 7px),
        radial-gradient(90% 46% at 50% 0%, rgba(255,255,255,0.08), transparent 70%),
        linear-gradient(180deg, rgba(255,255,255,0.022) 0%, rgba(0,0,0,0.24) 42%, rgba(0,0,0,0.52) 100%),
        #030305 !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
}

@media (prefers-reduced-motion: reduce) {
    body.utility-page.chat-open .chat-panel::before,
    body.utility-page.chat-open .chat-panel::after {
        animation: none !important;
    }
}

/* Short sideways phones need the chat halo to stay behind the panel instead
   of spreading across the chooser surface. */
@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    html body.utility-page .chat-panel,
    html body.utility-page .chat-panel.is-thread {
        -webkit-backdrop-filter: blur(14px) saturate(112%) brightness(0.96) !important;
        backdrop-filter: blur(14px) saturate(112%) brightness(0.96) !important;
    }

    body.utility-page.chat-open .chat-overlay {
        -webkit-backdrop-filter: blur(8px) saturate(106%) brightness(0.78) !important;
        backdrop-filter: blur(8px) saturate(106%) brightness(0.78) !important;
    }

    body.utility-page.chat-open .chat-panel::before {
        inset: -18px !important;
        filter: blur(14px) !important;
        opacity: 0.46 !important;
        animation: none !important;
    }

    body.utility-page.chat-open .chat-panel::after {
        inset: -4px !important;
        filter: blur(6px) !important;
        opacity: 0.28 !important;
        animation: none !important;
    }
}

/* Approved chooser glass: Option 4, Glass Choice Cards. */
body.utility-page.chat-open .chat-panel.is-selecting .chat-messages {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.016) 35%, rgba(0, 0, 0, 0) 74%),
        radial-gradient(ellipse 114% 76% at 50% 110%, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0) 64%),
        #000 !important;
}

body.utility-page.chat-open .chat-panel.is-selecting .chat-selector-btn {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.045) 44%, rgba(8, 9, 12, 0.88) 100%) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        0 18px 36px rgba(0, 0, 0, 0.62) !important;
}

/* Match chooser plus icons to the approved Nebula Crown glow. */
body.utility-page.chat-open .chat-panel.is-selecting .chat-selector-arrow {
    border-color: rgba(143, 112, 255, 0.32) !important;
    box-shadow:
        inset 3px 3px 6px #000,
        inset -1px -1px 4px rgba(34, 37, 52, 0.9),
        0 0 14px rgba(130, 72, 255, 0.24),
        0 0 22px rgba(36, 210, 255, 0.10) !important;
}

body.utility-page.chat-open .chat-panel.is-selecting .chat-selector-arrow::before,
body.utility-page.chat-open .chat-panel.is-selecting .chat-selector-arrow::after {
    background: linear-gradient(90deg, #c7a4ff 0%, #8a5cff 52%, #36d9ff 100%) !important;
    box-shadow:
        0 0 8px rgba(150, 80, 255, 0.70),
        0 0 13px rgba(36, 210, 255, 0.32) !important;
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .utility-dark-kicker,
    .utility-section-kicker,
    .page-quotes .quotes-form-head .utility-section-kicker,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-kicker,
    .page-booking .booking-calendar-head .utility-section-kicker,
    .page-booking .booking-followup-section .utility-section-head .utility-section-kicker {
        margin-bottom: 0;
        font-size: 11px;
        line-height: 1.15;
        letter-spacing: 0.2em;
    }

    .utility-dark-band h2,
    .utility-dark-band h3,
    .utility-section-title,
    .utility-action-copy h2,
    .page-quotes .quotes-proof-glass h2,
    .page-quotes .quotes-form-head .utility-section-title,
    .page-quotes .utility-action-band .utility-action-copy h2,
    .page-contact .contact-command-panel h2,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-title,
    .page-contact .utility-action-band .utility-action-copy h2,
    .page-booking .booking-prep-glass h2,
    .page-booking .booking-calendar-head h2,
    .page-booking #review .utility-section-title,
    .page-booking .booking-followup-section .utility-section-head .utility-section-title {
        margin-top: 8px;
        font-size: clamp(24px, 2.55vw, 34px);
        line-height: 1.02;
        text-wrap: balance;
    }

    .utility-dark-band h2 .utility-title-desktop-copy,
    .utility-dark-band h2 .utility-title-mobile-copy,
    .utility-action-copy h2 .utility-title-desktop-copy,
    .utility-action-copy h2 .utility-title-mobile-copy,
    .page-quotes .quotes-proof-glass h2 .utility-title-desktop-copy,
    .page-quotes .quotes-proof-glass h2 .utility-title-mobile-copy,
    .page-contact .contact-command-panel h2 .utility-title-desktop-copy,
    .page-contact .contact-command-panel h2 .utility-title-mobile-copy,
    .page-booking .booking-prep-glass h2 .utility-title-desktop-copy,
    .page-booking .booking-prep-glass h2 .utility-title-mobile-copy {
        font: inherit;
        line-height: inherit;
    }

    .utility-section-copy,
    .utility-action-copy p,
    .utility-dark-band p,
    .page-quotes .quotes-form-head .utility-section-copy,
    .page-quotes .utility-action-band .utility-action-copy p,
    .page-contact .contact-command-panel p,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    .page-contact .utility-action-band .utility-action-copy p,
    .page-booking .booking-calendar-head p,
    .page-booking .booking-selection-summary p,
    .page-booking .booking-followup-section .utility-section-head .utility-section-copy {
        margin-top: 7px;
        font-size: 13px;
        line-height: 1.48;
    }
}

.page-booking .booking-scheduler-fields .utility-input,
.page-booking .booking-scheduler-fields .utility-select,
.page-booking .booking-scheduler-fields .utility-select-trigger,
.page-booking .booking-followup-section .utility-form .utility-input,
.page-booking .booking-followup-section .utility-form .utility-select,
.page-booking .booking-followup-section .utility-form .utility-select-trigger {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
}

@media (max-width: 980px) {
    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-select,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-followup-section .utility-form .utility-input,
    .page-booking .booking-followup-section .utility-form .utility-select,
    .page-booking .booking-followup-section .utility-form .utility-select-trigger {
        height: 40px;
        min-height: 40px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 13px;
        line-height: 1.2;
    }
}

@media (min-width: 981px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-booking .booking-scheduler-fields .utility-input,
    .page-booking .booking-scheduler-fields .utility-select,
    .page-booking .booking-scheduler-fields .utility-select-trigger,
    .page-booking .booking-followup-section .utility-form .utility-input,
    .page-booking .booking-followup-section .utility-form .utility-select,
    .page-booking .booking-followup-section .utility-form .utility-select-trigger {
        height: 40px;
        min-height: 40px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 13px;
        line-height: 1.2;
    }
}

@media (min-width: 981px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass {
        grid-template-columns: minmax(0, 0.9fr) minmax(236px, 0.42fr);
        gap: clamp(32px, 6vw, 70px);
        align-items: center;
        min-height: 0;
        padding: 42px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(236px, 100%);
        justify-self: end;
        align-self: center;
        gap: 15px;
        margin-top: 0;
        margin-right: clamp(16px, 3vw, 36px);
        transform: none;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        position: relative;
        display: block;
        min-height: 0;
        padding: 0 0 0 76px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        text-align: left;
        white-space: nowrap;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::before,
    .page-booking .booking-prep-glass .utility-proof-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 58px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(214, 166, 74, 0.96));
        box-shadow: 0 0 14px rgba(214, 166, 74, 0.35);
        transform: translateY(-50%);
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::after,
    .page-booking .booking-prep-glass .utility-proof-item::after {
        content: "";
        position: absolute;
        left: 58px;
        top: 50%;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #d6a64a;
        transform: translateY(-50%);
    }
}

@media (min-width: 641px) and (max-width: 980px) and (min-height: 700px),
    (min-width: 981px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (pointer: coarse) {
    .page-booking .booking-calendar-preview:not(.has-selected-slot) {
        min-height: 0;
    }

    .page-booking .booking-slot-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .page-booking .booking-day-panel,
    .page-booking .booking-time-panel {
        padding: 16px;
    }

    .page-booking .booking-day-panel {
        max-height: none;
        overflow: visible;
    }

    .page-booking .booking-day-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-height: none;
        overflow: visible;
        gap: 10px;
        padding: 8px;
    }

    .page-booking .booking-day-button {
        min-height: 76px;
        padding: 13px 12px 12px;
    }

    .page-booking .booking-day-button small {
        position: static;
        justify-self: start;
        margin-top: 5px;
        color: rgba(229, 190, 112, 0.88);
        font-size: 8px;
        letter-spacing: 0.055em;
        line-height: 1.1;
    }

    .page-booking .booking-day-button strong {
        margin-top: 2px;
        font-size: 18px;
        line-height: 1;
        white-space: nowrap;
    }
}

@media (min-width: 981px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .page-booking .booking-day-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-booking .booking-day-button {
        min-height: 82px;
    }
}

@media (min-width: 768px) and (max-width: 1366px) and (min-height: 700px) {
    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass {
        grid-template-columns: minmax(0, 0.9fr) minmax(220px, 0.42fr);
        gap: clamp(30px, 5.2vw, 68px);
        align-items: center;
        min-height: 0;
        padding: 42px;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(236px, 100%);
        justify-self: end;
        align-self: center;
        gap: 15px;
        margin-top: 0;
        margin-right: clamp(16px, 3vw, 36px);
        transform: none;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        position: relative;
        display: block;
        min-height: 0;
        padding: 0 0 0 76px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        text-align: left;
        white-space: nowrap;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::before,
    .page-booking .booking-prep-glass .utility-proof-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 58px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(214, 166, 74, 0.96));
        box-shadow: 0 0 14px rgba(214, 166, 74, 0.35);
        transform: translateY(-50%);
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::after,
    .page-booking .booking-prep-glass .utility-proof-item::after {
        content: "";
        position: absolute;
        left: 58px;
        top: 50%;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #d6a64a;
        transform: translateY(-50%);
    }

    .page-booking #review .utility-card-copy {
        font-size: clamp(10.5px, 1vw, 12px);
        line-height: 1.34;
    }
}

@media (min-width: 981px) and (max-width: 1366px) and (min-height: 700px) {
    .page-booking .booking-calendar-preview:not(.has-selected-slot) {
        min-height: 0;
    }

    .page-booking .booking-slot-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .page-booking .booking-day-panel,
    .page-booking .booking-time-panel {
        padding: 16px;
    }

    .page-booking .booking-day-panel {
        max-height: none;
        overflow: visible;
    }

    .page-booking .booking-day-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-height: none;
        overflow: visible;
        gap: 10px;
        padding: 8px;
    }

    .page-booking .booking-day-button {
        min-height: 82px;
        padding: 13px 12px 12px;
    }

    .page-booking .booking-day-button small {
        position: static;
        justify-self: start;
        margin-top: 5px;
        font-size: 8px;
        letter-spacing: 0.055em;
        line-height: 1.1;
    }

    .page-booking .booking-selection-summary {
        grid-template-columns: minmax(112px, 0.34fr) minmax(220px, 0.74fr) minmax(170px, 0.5fr) auto;
        gap: clamp(12px, 1.5vw, 18px);
    }

    .page-booking .booking-selection-summary strong,
    .page-booking .booking-selection-summary p {
        white-space: nowrap;
    }

    .page-booking .booking-selection-summary strong {
        font-size: clamp(20px, 2vw, 28px);
    }

    .page-booking .booking-selection-summary p {
        font-size: clamp(14px, 1.15vw, 16px);
    }
}

/* White utility responsive system lock: keep the shared tablet/phone rhythm
   consistent across Quotes, Booking, and Contact instead of page-by-page drift. */
.utility-hero-copy > *,
.quotes-hero-live-content,
.utility-dark-band > *,
.utility-action-band > *,
.contact-command-panel > *,
.page-quotes .quotes-form-head > *,
.page-contact .utility-form-panel > .utility-section-head > *,
.page-booking .booking-followup-section .utility-section-head > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --utility-responsive-section-gap: clamp(26px, 4vw, 34px);
        --utility-responsive-content-gap: clamp(14px, 2.2vw, 18px);
        --utility-responsive-card-pad: clamp(20px, 3.1vw, 30px);
    }

    .utility-section,
    .page-booking .utility-section,
    .page-quotes .utility-section {
        margin-top: var(--utility-responsive-section-gap);
    }

    .utility-shell > .utility-hero + .utility-section,
    .utility-shell > .quotes-hero-live + .utility-section,
    .utility-shell > .carrier-hero + .utility-section {
        margin-top: var(--utility-responsive-section-gap);
    }

    .utility-section-head,
    .page-booking #review .utility-section-head,
    .page-quotes .quotes-form-head,
    .page-contact .utility-form-panel > .utility-section-head,
    .page-booking .booking-followup-section .utility-section-head {
        gap: 0;
    }

    .utility-section-copy,
    .utility-action-copy p,
    .utility-dark-band p,
    .page-booking .booking-prep-glass p,
    .page-contact .contact-command-panel p,
    .page-quotes .quotes-form-head .utility-section-copy,
    .page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    .page-booking .booking-followup-section .utility-section-head .utility-section-copy {
        margin-top: 6px;
    }

    .utility-proof-list,
    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list,
    .page-booking #review .utility-grid,
    .page-contact .contact-command-panel .contact-route-list {
        margin-top: var(--utility-responsive-content-gap);
    }

    .utility-action-buttons {
        margin-top: 0;
    }
}

@media (max-width: 640px) {
    body.utility-page {
        --utility-responsive-section-gap: 30px;
        --utility-responsive-content-gap: 16px;
    }

    .utility-dark-band h2,
    .utility-dark-band h3,
    .utility-section-title,
    .utility-action-copy h2,
    .page-booking .booking-prep-glass h2,
    .page-contact .contact-command-panel h2 {
        font-size: clamp(20px, 5.45vw, 24px);
        line-height: 1.03;
        text-wrap: balance;
    }
}

@media (min-width: 641px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .utility-dark-band h2,
    .utility-dark-band h3,
    .utility-section-title,
    .utility-action-copy h2,
    .page-quotes .quotes-proof-glass h2,
    .page-contact .contact-command-panel h2,
    .page-booking .booking-prep-glass h2 {
        max-width: 100%;
        font-size: clamp(22px, 3vw, 29px);
        line-height: 1.02;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .utility-section-copy,
    .utility-action-copy p,
    .utility-dark-band p,
    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead,
    .page-booking .booking-prep-glass p,
    .page-contact .contact-command-panel p {
        white-space: nowrap;
        text-wrap: nowrap;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    .utility-title-desktop-copy,
    .utility-copy-desktop {
        display: none;
    }

    .utility-title-mobile-copy,
    .utility-copy-mobile {
        display: inline;
    }

    .page-quotes .quotes-hero-live,
    .page-booking .utility-hero-copy,
    .page-contact .utility-hero-copy {
        box-sizing: border-box;
        height: 197px;
        min-height: 197px;
        padding: 18px 22px;
        align-content: center;
    }

    .page-quotes .quotes-hero-title,
    .page-booking .utility-title,
    .page-contact .utility-title {
        margin-top: 8px;
        font-size: clamp(27px, 4.6vw, 34px);
        line-height: 0.98;
    }

    .page-quotes .quotes-hero-copy,
    .page-booking .utility-lead,
    .page-contact .utility-lead {
        max-width: 620px;
        margin-top: 8px;
        font-size: clamp(11.5px, 1.4vw, 12.5px);
        line-height: 1.32;
    }

    .page-quotes .quotes-hero-actions,
    .page-booking .utility-hero-actions,
    .page-contact .utility-hero-actions {
        margin-top: 11px;
    }

    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass,
    .page-contact .contact-command-panel,
    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        box-sizing: border-box;
        height: 197px;
        min-height: 197px;
        padding: 24px;
        align-items: center;
    }

    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass {
        grid-template-columns: minmax(0, 0.9fr) minmax(230px, 0.42fr);
        gap: clamp(28px, 5vw, 62px);
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(236px, 100%);
        justify-self: end;
        align-self: center;
        gap: 15px;
        margin-top: 0;
        margin-right: clamp(18px, 3vw, 38px);
        transform: none;
    }

    .page-contact .contact-command-panel {
        grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
        gap: clamp(24px, 4vw, 42px);
    }

    .page-contact .contact-command-panel .contact-route-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 0;
    }

    .page-contact .contact-command-panel .contact-route {
        min-height: 52px;
        padding: 10px 12px;
    }

    .page-quotes .utility-action-band,
    .page-contact .utility-action-band {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
    }

    .page-quotes .utility-action-band .utility-action-copy p,
    .page-contact .utility-action-band .utility-action-copy p {
        max-width: none;
    }

    .page-booking #review {
        box-sizing: border-box;
        height: 197px;
        min-height: 197px;
        padding: 16px 24px;
        align-items: center;
    }

    .page-booking #review .utility-section-title {
        font-size: clamp(22px, 2.6vw, 27px);
    }

    .page-booking #review .utility-section-copy {
        font-size: 12px;
        line-height: 1.38;
    }

    .page-booking #review .utility-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin-top: 12px;
    }

    .page-booking #review .utility-choice-card {
        min-height: 70px;
        padding: 10px 14px;
    }

    .page-booking #review .utility-card-title {
        margin-top: 6px;
        font-size: clamp(13.5px, 1.6vw, 15px);
    }

    .page-booking #review .utility-card-copy {
        margin-top: 4px;
        font-size: clamp(11px, 1.3vw, 12px);
        line-height: 1.28;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    .page-quotes .quotes-proof-glass,
    .page-booking .booking-prep-glass {
        box-sizing: border-box;
        grid-template-columns: 1fr;
        gap: 0;
        height: 204px;
        min-height: 204px;
        padding: 24px;
        align-items: start;
    }

    .page-quotes .quotes-proof-glass .utility-title-desktop-copy,
    .page-quotes .quotes-proof-glass .utility-copy-desktop,
    .page-booking .booking-prep-glass .utility-title-desktop-copy,
    .page-booking .booking-prep-glass .utility-copy-desktop {
        display: none;
    }

    .page-quotes .quotes-proof-glass .utility-title-mobile-copy,
    .page-quotes .quotes-proof-glass .utility-copy-mobile,
    .page-booking .booking-prep-glass .utility-title-mobile-copy,
    .page-booking .booking-prep-glass .utility-copy-mobile {
        display: inline;
    }

    .page-quotes .quotes-proof-glass h2,
    .page-booking .booking-prep-glass h2 {
        max-width: 100%;
        font-size: clamp(24px, 3.7vw, 29px);
        line-height: 1.02;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .page-quotes .quotes-proof-glass p,
    .page-booking .booking-prep-glass p {
        max-width: 100%;
        margin-top: 6px;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    .page-quotes .quotes-proof-glass .utility-proof-list,
    .page-booking .booking-prep-glass .utility-proof-list {
        display: grid;
        width: min(260px, 100%);
        justify-self: start;
        align-self: start;
        gap: 12px;
        margin-top: 16px;
        margin-right: 0;
        transform: none;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item,
    .page-booking .booking-prep-glass .utility-proof-item {
        position: relative;
        display: block;
        min-height: 0;
        padding: 0 0 0 48px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        text-align: left;
        white-space: nowrap;
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::before,
    .page-booking .booking-prep-glass .utility-proof-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 34px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(214, 166, 74, 0.96));
        box-shadow: 0 0 14px rgba(214, 166, 74, 0.35);
        transform: translateY(-50%);
    }

    .page-quotes .quotes-proof-glass .utility-proof-item::after,
    .page-booking .booking-prep-glass .utility-proof-item::after {
        content: "";
        position: absolute;
        left: 34px;
        top: 50%;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #d6a64a;
        transform: translateY(-50%);
    }
}

/* Final white utility mobile/tablet lock. This must stay at EOF so it wins
   over older breakpoint blocks above. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    body.page-quotes .quotes-hero-copy .utility-copy-desktop,
    body.page-booking .utility-lead .utility-copy-desktop,
    body.page-contact .utility-lead .utility-copy-desktop {
        display: none !important;
    }

    body.page-quotes .quotes-hero-copy .utility-copy-mobile,
    body.page-booking .utility-lead .utility-copy-mobile,
    body.page-contact .utility-lead .utility-copy-mobile {
        display: inline !important;
    }

    body.page-quotes .quotes-hero-copy,
    body.page-booking .utility-lead,
    body.page-contact .utility-lead {
        max-width: 360px !important;
        white-space: normal !important;
        text-wrap: balance;
        overflow-wrap: normal;
        line-height: 1.36;
    }

    body.page-quotes .quotes-proof-glass .utility-proof-list,
    body.page-booking .booking-prep-glass .utility-proof-list {
        margin-top: 2px !important;
    }

    body.page-contact .contact-command-panel .utility-title-desktop-copy,
    body.page-contact .contact-command-panel .utility-copy-desktop {
        display: none !important;
    }

    body.page-contact .contact-command-panel .utility-title-mobile-copy,
    body.page-contact .contact-command-panel .utility-copy-mobile {
        display: inline !important;
    }

    body.page-contact .contact-command-panel h2 {
        max-width: 100%;
        font-size: clamp(24px, 3.7vw, 29px);
        line-height: 1.02;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    body.page-contact .contact-command-panel p {
        max-width: 100%;
        margin-top: 6px;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    body.page-contact .contact-command-panel .contact-route-list {
        margin-top: 10px !important;
    }

    body.page-quotes .utility-action-copy .utility-copy-desktop,
    body.page-contact .utility-action-copy .utility-title-desktop-copy {
        display: none !important;
    }

    body.page-quotes .utility-action-copy .utility-copy-mobile,
    body.page-contact .utility-action-copy .utility-title-mobile-copy {
        display: inline !important;
    }

    body.page-quotes .utility-action-band,
    body.page-contact .utility-action-band {
        height: 156px !important;
        min-height: 156px !important;
        padding: 18px !important;
        gap: 0 !important;
    }

    body.page-quotes .utility-action-band .utility-action-buttons,
    body.page-contact .utility-action-band .utility-action-buttons {
        margin-top: 12px !important;
    }

    body.page-quotes .utility-action-band .utility-mini-link,
    body.page-contact .utility-action-band .utility-mini-link {
        height: 44px !important;
        min-height: 44px !important;
    }
}

@media (max-width: 640px) {
    body.page-quotes .quotes-proof-glass .utility-proof-list,
    body.page-booking .booking-prep-glass .utility-proof-list,
    body.page-contact .contact-command-panel .contact-route-list {
        margin-top: 8px !important;
    }

    body.page-quotes .utility-action-copy .utility-copy-desktop,
    body.page-contact .utility-action-copy .utility-title-desktop-copy {
        display: none !important;
    }

    body.page-quotes .utility-action-copy .utility-copy-mobile,
    body.page-contact .utility-action-copy .utility-title-mobile-copy {
        display: inline !important;
    }

    body.page-quotes .utility-action-band,
    body.page-contact .utility-action-band {
        height: 156px !important;
        min-height: 156px !important;
        padding: 18px !important;
        gap: 0 !important;
    }

    body.page-quotes .utility-action-band .utility-action-buttons,
    body.page-contact .utility-action-band .utility-action-buttons {
        margin-top: 12px !important;
    }

    body.page-quotes .utility-action-band .utility-mini-link,
    body.page-contact .utility-action-band .utility-mini-link {
        height: 44px !important;
        min-height: 44px !important;
    }
}

@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.page-quotes .quotes-hero-live,
    body.page-booking .utility-hero-copy,
    body.page-contact .utility-hero-copy {
        height: 164px !important;
        min-height: 164px !important;
        padding: 16px 22px !important;
        align-content: center;
    }

    body.page-quotes .quotes-hero-title br,
    body.page-booking .utility-title br,
    body.page-contact .utility-title br {
        display: none;
    }

    body.page-quotes .quotes-hero-title,
    body.page-booking .utility-title,
    body.page-contact .utility-title {
        margin-top: 8px;
        font-size: clamp(28px, 3.8vw, 35px);
        line-height: 1;
        white-space: nowrap;
        text-wrap: nowrap;
    }

    body.page-quotes .quotes-hero-copy,
    body.page-booking .utility-lead,
    body.page-contact .utility-lead {
        max-width: 760px;
        margin-top: 7px;
        font-size: clamp(11.5px, 1.25vw, 12.5px);
        line-height: 1.3;
    }

    body.page-quotes .quotes-hero-actions,
    body.page-booking .utility-hero-actions,
    body.page-contact .utility-hero-actions {
        margin-top: 10px !important;
    }

    body.page-quotes .quotes-hero-actions .utility-button,
    body.page-booking .utility-hero-actions .utility-button,
    body.page-contact .utility-hero-actions .utility-button {
        height: 40px !important;
        min-height: 40px !important;
    }

    body.page-quotes .utility-action-band,
    body.page-contact .utility-action-band {
        height: 136px !important;
        min-height: 136px !important;
        padding: 18px 24px !important;
    }

    body.page-quotes .utility-action-band .utility-action-buttons .utility-mini-link,
    body.page-contact .utility-action-band .utility-action-buttons .utility-mini-link {
        height: 40px !important;
        min-height: 40px !important;
    }
}

body.page-booking #review {
    isolation: isolate;
}

body.page-booking #review::before,
body.page-booking #review::after {
    z-index: 0 !important;
}

body.page-booking #review > *,
body.page-booking #review .utility-section-head,
body.page-booking #review .utility-grid,
body.page-booking #review .utility-choice-card,
body.page-booking #review .utility-choice-card > * {
    position: relative;
    z-index: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Final tablet hero lead containment. Keep this after the paint hardening so
   older tablet hero rules cannot stretch lead copy past the button row. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.page-quotes .quotes-hero-copy .utility-copy-desktop,
    body.page-booking .utility-lead .utility-copy-desktop,
    body.page-contact .utility-lead .utility-copy-desktop {
        display: none !important;
    }

    body.page-quotes .quotes-hero-copy .utility-copy-mobile,
    body.page-booking .utility-lead .utility-copy-mobile,
    body.page-contact .utility-lead .utility-copy-mobile {
        display: inline !important;
    }

    body.page-quotes .quotes-hero-copy,
    body.page-booking .utility-lead,
    body.page-contact .utility-lead {
        max-width: 360px !important;
        white-space: normal !important;
        text-wrap: balance;
        overflow-wrap: normal;
        line-height: 1.32 !important;
    }
}

/* Final proof-card symmetry lock. These are the shared dark text-plus-proof
   sections on Quotes and Booking. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    body.page-quotes .quotes-proof-glass,
    body.page-booking .booking-prep-glass,
    body.page-contact .contact-command-panel {
        align-content: center !important;
    }

    body.page-quotes .quotes-proof-glass .utility-proof-list,
    body.page-booking .booking-prep-glass .utility-proof-list,
    body.page-contact .contact-proof-glass .utility-proof-list {
        margin-top: 16px !important;
    }
}

/* Final tablet action-band lock. Quotes and Contact use the same next-step
   family as Carriers: copy left, buttons right on tablet. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    body.page-quotes .utility-action-band,
    body.page-contact .utility-action-band {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        height: 156px !important;
        min-height: 156px !important;
        padding: 18px !important;
        gap: 18px !important;
    }

    body.page-quotes .utility-action-band .utility-action-copy,
    body.page-contact .utility-action-band .utility-action-copy {
        min-width: 0 !important;
    }

    body.page-quotes .utility-action-band .utility-action-buttons,
    body.page-contact .utility-action-band .utility-action-buttons {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-self: end !important;
        width: clamp(286px, 36vw, 370px) !important;
        margin-top: 0 !important;
        gap: 12px !important;
    }

    body.page-quotes .utility-action-band .utility-mini-link,
    body.page-contact .utility-action-band .utility-mini-link {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        white-space: nowrap !important;
    }
}

/* Final white-page tablet-landscape fit pass. Keep these content-driven so
   iPad landscape does not clip hero/review panels or create oversized gaps. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page {
        --utility-responsive-section-gap: clamp(22px, 3vw, 28px);
    }

    body.page-quotes .quotes-hero-live,
    body.page-booking .utility-hero-copy,
    body.page-contact .utility-hero-copy {
        height: auto !important;
        min-height: 0 !important;
        padding: 18px 22px !important;
        overflow: visible !important;
        align-content: start !important;
    }

    body.page-quotes .quotes-hero-title,
    body.page-booking .utility-title,
    body.page-contact .utility-title {
        white-space: normal !important;
        text-wrap: balance !important;
    }

    body.page-quotes .quotes-hero-copy,
    body.page-booking .utility-lead,
    body.page-contact .utility-lead {
        max-width: 520px !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    body.page-quotes .quotes-proof-glass,
    body.page-booking .booking-prep-glass,
    body.page-contact .contact-command-panel {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 22px 24px !important;
        align-items: center !important;
        align-content: center !important;
    }

    body.page-quotes .quotes-proof-glass,
    body.page-booking .booking-prep-glass,
    body.page-contact .contact-proof-glass {
        grid-template-columns: minmax(0, 1fr) minmax(200px, 0.34fr) !important;
        gap: clamp(18px, 3vw, 30px) !important;
    }

    body.page-quotes .quotes-proof-glass .utility-proof-list,
    body.page-booking .booking-prep-glass .utility-proof-list,
    body.page-contact .contact-proof-glass .utility-proof-list {
        justify-self: end !important;
        width: min(210px, 100%) !important;
        margin-top: 0 !important;
        margin-right: 0 !important;
        gap: 12px !important;
    }

    body.page-booking #review {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 22px 24px !important;
    }

    body.page-booking #review .utility-grid {
        margin-top: 14px !important;
    }

    body.page-booking #review .utility-choice-card {
        min-height: 0 !important;
        padding: 14px 16px !important;
    }

    body.page-booking #review .utility-card-title,
    body.page-booking #review .utility-card-copy {
        white-space: normal !important;
        text-wrap: balance !important;
    }

    body.utility-page .footer-nav {
        position: sticky !important;
        bottom: 0 !important;
    }
}

/* Contact uses the same current proof-line markup as Quotes/Booking. Keep this
   late so old Contact route-card rules cannot win on phone/tablet. */
@media (min-width: 641px) and (max-width: 1180px) and (orientation: portrait) {
    body.page-contact .contact-proof-glass {
        box-sizing: border-box !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        height: 204px !important;
        min-height: 204px !important;
        padding: 24px !important;
        align-items: start !important;
    }

    body.page-contact .contact-proof-glass .utility-title-desktop-copy,
    body.page-contact .contact-proof-glass .utility-copy-desktop {
        display: none !important;
    }

    body.page-contact .contact-proof-glass .utility-title-mobile-copy,
    body.page-contact .contact-proof-glass .utility-copy-mobile {
        display: inline !important;
    }

    body.page-contact .contact-proof-glass h2 {
        max-width: 100% !important;
        font-size: clamp(24px, 3.7vw, 29px) !important;
        line-height: 1.02 !important;
        white-space: nowrap !important;
        text-wrap: nowrap !important;
    }

    body.page-contact .contact-proof-glass p {
        max-width: 100% !important;
        margin-top: 6px !important;
        white-space: nowrap !important;
        text-wrap: nowrap !important;
    }

    body.page-contact .contact-proof-glass .utility-proof-list {
        display: grid !important;
        width: min(260px, 100%) !important;
        justify-self: start !important;
        align-self: start !important;
        gap: 12px !important;
        margin-top: 16px !important;
        margin-right: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 640px) {
    body.page-contact .contact-proof-glass {
        min-height: 193px !important;
        align-items: center !important;
    }

    body.page-contact .contact-proof-glass .utility-proof-list {
        display: grid !important;
        width: min(260px, 100%) !important;
        justify-self: start !important;
        align-self: start !important;
        gap: 12px !important;
        margin-top: 8px !important;
        margin-right: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 1180px) {
    body.page-contact .contact-proof-glass .utility-section-kicker {
        margin-bottom: 0 !important;
    }

    body.page-contact .contact-proof-glass h2 {
        margin-top: 8px !important;
    }

    body.page-contact .contact-proof-glass .utility-proof-item {
        position: relative !important;
        display: block !important;
        min-height: 0 !important;
        padding: 0 0 0 48px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body.page-contact .contact-proof-glass .utility-proof-item::before {
        width: 34px !important;
    }

    body.page-contact .contact-proof-glass .utility-proof-item::after {
        left: 34px !important;
    }
}

/* Landscape glass cleanup: contain the decorative layer and remove the moving
   sweep seam that showed up on phone/tablet sideways views. */
@media (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.page-quotes .quotes-hero-live,
    body.page-booking .utility-hero-copy,
    body.page-contact .utility-hero-copy,
    body.page-quotes .quotes-proof-glass,
    body.page-booking .booking-prep-glass,
    body.page-booking #review,
    body.page-contact .contact-command-panel {
        overflow: hidden !important;
    }

    body.page-quotes .quotes-hero-live::after,
    body.page-booking .utility-hero-copy::after,
    body.page-contact .utility-hero-copy::after,
    body.page-quotes .quotes-proof-glass::after,
    body.page-booking .booking-prep-glass::after,
    body.page-booking #review::after,
    body.page-contact .contact-command-panel::after {
        inset: 0 !important;
        transform: none !important;
        animation: none !important;
        background:
            radial-gradient(ellipse 58% 90% at 86% 34%, rgba(128, 154, 255, 0.18), transparent 70%),
            radial-gradient(ellipse 42% 52% at 92% 8%, rgba(255, 255, 255, 0.1), transparent 68%),
            linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 34%, rgba(112, 145, 255, 0.08) 64%, transparent 100%) !important;
        opacity: 0.58 !important;
    }
}

/* Final utility kicker and stacked-copy spacing lock: keep the non-hero
   utility headers synchronized across Booking, Quotes, and Contact. */
@media (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page .footer-nav {
        position: fixed !important;
        top: auto !important;
        bottom: calc(-1 * (env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px))) !important;
        height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
        min-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
        max-height: calc(var(--utility-compact-footer-h) + env(safe-area-inset-bottom, 0px) + var(--abc-landscape-footer-offset, 0px)) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body.utility-page .scroll-root {
        padding-bottom: var(--utility-compact-footer-h) !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-shell {
        padding: clamp(18px, 3.1dvh, 24px) clamp(14px, 2.4vw, 18px) !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-title {
        margin-top: clamp(7px, 1.4dvh, 11px) !important;
        font-size: clamp(24px, 3.2dvw, 30px) !important;
        line-height: 1.02 !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-copy {
        display: none !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-actions {
        gap: clamp(7px, 1.4dvh, 10px) !important;
        margin-top: clamp(12px, 2.2dvh, 16px) !important;
        padding: 0 !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-btn {
        min-height: clamp(52px, 13dvh, 64px) !important;
        grid-template-columns: clamp(32px, 6dvh, 38px) minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 10px 42px 10px 12px !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-glyph {
        width: clamp(32px, 6dvh, 38px) !important;
        height: clamp(32px, 6dvh, 38px) !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-label {
        font-size: 10px !important;
        letter-spacing: 0.12em !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-meta {
        font-size: 11px !important;
        line-height: 1.16 !important;
    }

    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-arrow {
        right: 12px !important;
        width: 26px !important;
        height: 26px !important;
    }
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.utility-page.chat-open .chat-panel.is-selecting .chat-messages .chat-selector-shell {
        padding: 16px 14px !important;
    }
}

body.page-quotes .quotes-proof-glass .utility-section-kicker,
body.page-quotes .quotes-form-head .utility-section-kicker,
body.page-quotes .utility-action-band .utility-section-kicker,
body.page-booking .booking-prep-glass .utility-section-kicker,
body.page-booking .booking-calendar-head .utility-section-kicker,
body.page-booking #review .utility-section-kicker,
body.page-booking .booking-followup-section .utility-section-head .utility-section-kicker,
body.page-contact .contact-proof-glass .utility-section-kicker,
body.page-contact .utility-form-panel > .utility-section-head .utility-section-kicker,
body.page-contact .utility-action-band .utility-section-kicker {
    display: block !important;
    margin: 0 0 11px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

body.page-quotes .quotes-proof-glass h2,
body.page-quotes .quotes-form-head .utility-section-title,
body.page-quotes .utility-action-band .utility-action-copy h2,
body.page-booking .booking-prep-glass h2,
body.page-booking .booking-calendar-head h2,
body.page-booking #review .utility-section-title,
body.page-booking .booking-followup-section .utility-section-head .utility-section-title,
body.page-contact .contact-proof-glass h2,
body.page-contact .utility-form-panel > .utility-section-head .utility-section-title,
body.page-contact .utility-action-band .utility-action-copy h2 {
    margin-top: 0 !important;
}

body.page-booking .booking-calendar-head,
body.page-booking #review .utility-section-head {
    row-gap: 0 !important;
}

body.page-quotes .quotes-proof-glass p,
body.page-quotes .utility-action-band .utility-action-copy p,
body.page-booking .booking-prep-glass p,
body.page-booking #review .utility-section-copy,
body.page-contact .contact-proof-glass p,
body.page-contact .utility-action-band .utility-action-copy p {
    margin-top: 14px !important;
}

@media (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.page-quotes .quotes-proof-glass .utility-section-kicker,
    body.page-quotes .quotes-form-head .utility-section-kicker,
    body.page-quotes .utility-action-band .utility-section-kicker,
    body.page-booking .booking-prep-glass .utility-section-kicker,
    body.page-booking .booking-calendar-head .utility-section-kicker,
    body.page-booking #review .utility-section-kicker,
    body.page-booking .booking-followup-section .utility-section-head .utility-section-kicker,
    body.page-contact .contact-proof-glass .utility-section-kicker,
    body.page-contact .utility-form-panel > .utility-section-head .utility-section-kicker,
    body.page-contact .utility-action-band .utility-section-kicker {
        margin-bottom: 8px !important;
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        letter-spacing: 0.15em !important;
    }

    body.page-quotes .quotes-proof-glass p,
    body.page-quotes .quotes-form-head .utility-section-copy,
    body.page-quotes .utility-action-band .utility-action-copy p,
    body.page-booking .booking-prep-glass p,
    body.page-booking .booking-calendar-head-copy p,
    body.page-booking #review .utility-section-copy,
    body.page-booking .booking-followup-section .utility-section-head .utility-section-copy,
    body.page-contact .contact-proof-glass p,
    body.page-contact .utility-form-panel > .utility-section-head .utility-section-copy,
    body.page-contact .utility-action-band .utility-action-copy p {
        margin-top: 6px !important;
    }
}

/* Absolute final utility title lock: must stay at EOF so older responsive
   section rules cannot restore larger utility-section titles. */
body.page-quotes .quotes-proof-glass h2,
body.page-booking .booking-prep-glass h2,
body.page-booking .booking-calendar-head h2,
body.page-booking #review .utility-section-title,
body.page-booking .booking-followup-section .utility-section-head .utility-section-title,
body.page-contact .contact-proof-glass h2,
body.page-contact .utility-form-panel > .utility-section-head .utility-section-title,
body.page-contact .utility-action-band .utility-action-copy h2,
body.page-quotes .quotes-form-head .utility-section-title,
body.page-quotes .utility-action-band .utility-action-copy h2 {
    font-size: clamp(24px, 2.55vw, 34px) !important;
    font-weight: 900 !important;
    line-height: 1.02 !important;
}

@media (min-width: 641px) and (max-width: 1180px),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.page-quotes .quotes-proof-glass h2,
    body.page-booking .booking-prep-glass h2,
    body.page-booking .booking-calendar-head h2,
    body.page-booking #review .utility-section-title,
    body.page-booking .booking-followup-section .utility-section-head .utility-section-title,
    body.page-contact .contact-proof-glass h2,
    body.page-contact .utility-form-panel > .utility-section-head .utility-section-title,
    body.page-contact .utility-action-band .utility-action-copy h2,
    body.page-quotes .quotes-form-head .utility-section-title,
    body.page-quotes .utility-action-band .utility-action-copy h2 {
        font-size: 24px !important;
        line-height: 1.02 !important;
    }
}

@media (max-width: 640px) {
    body.page-quotes .quotes-proof-glass h2,
    body.page-booking .booking-prep-glass h2,
    body.page-booking .booking-calendar-head h2,
    body.page-booking #review .utility-section-title,
    body.page-booking .booking-followup-section .utility-section-head .utility-section-title,
    body.page-contact .contact-proof-glass h2,
    body.page-contact .utility-form-panel > .utility-section-head .utility-section-title,
    body.page-contact .utility-action-band .utility-action-copy h2,
    body.page-quotes .quotes-form-head .utility-section-title,
    body.page-quotes .utility-action-band .utility-action-copy h2 {
        font-size: 23px !important;
        line-height: 1.01 !important;
    }
}

/* Booking confirmation: compact calendar-ready success state for the standalone booking page. */
body.page-booking .booking-calendar-stage.is-success-state {
    padding: clamp(16px, 2.6vw, 28px) !important;
    overflow: visible !important;
    scroll-margin-top: 108px;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
    width: min(100%, 700px) !important;
    margin: 0 auto !important;
    gap: 10px !important;
    padding: clamp(20px, 3vw, 28px) !important;
    border-radius: 8px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card::after {
    width: 38px !important;
    height: 38px !important;
    opacity: 0.58 !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-kicker {
    font-size: 10px !important;
    letter-spacing: 0.13em !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
    max-width: 520px !important;
    font-size: clamp(28px, 3.6vw, 38px) !important;
    line-height: 0.96 !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
    max-width: 520px !important;
    font-size: clamp(12.5px, 1.15vw, 14.5px) !important;
    line-height: 1.36 !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-time {
    width: 100% !important;
    padding: 8px 11px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-steps {
    display: none !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button {
    min-height: 38px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 18px !important;
    font-size: 10px !important;
    justify-content: center !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.secondary {
    min-width: 0 !important;
    padding-inline: 10px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
    width: 100% !important;
    max-width: 360px !important;
    padding: 7px 8px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options a {
    min-height: 58px !important;
    padding: 6px 5px 5px !important;
    font-size: 6.8px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-mark {
    width: 24px !important;
    height: 24px !important;
}

@media (min-width: 760px) {
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
        width: min(100%, 760px) !important;
        grid-template-columns: minmax(0, 1fr) 220px !important;
        align-items: center !important;
        column-gap: clamp(20px, 3vw, 30px) !important;
        row-gap: 8px !important;
        padding: clamp(22px, 2.4vw, 28px) clamp(24px, 3vw, 32px) !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-kicker,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
        grid-column: 1 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        grid-column: 2 !important;
        width: 100% !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.secondary {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
    }
}

@media (max-width: 759px) {
    body.page-booking .booking-calendar-stage.is-success-state {
        padding: 14px !important;
        scroll-margin-top: 92px;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
        gap: 10px !important;
        padding: 20px 16px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
        font-size: clamp(27px, 8vw, 35px) !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.secondary {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        max-width: none !important;
    }
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.page-booking .booking-calendar-stage.is-success-state {
        padding: 8px 14px calc(64px + env(safe-area-inset-bottom)) !important;
        scroll-margin-top: 64px;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
        width: min(100%, 640px) !important;
        grid-template-columns: minmax(0, 1fr) 208px !important;
        align-items: center !important;
        gap: 7px 16px !important;
        padding: 12px 16px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card::after {
        display: none !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
        max-width: 340px !important;
        font-size: 25px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
        max-width: 360px !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time {
        gap: 2px !important;
        padding: 6px 9px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        grid-column: 2 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
        gap: 4px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button {
        min-height: 30px !important;
        padding: 0 10px !important;
        font-size: 8.5px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        max-width: 208px !important;
        padding: 5px 6px !important;
        border-radius: 12px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options a {
        min-height: 36px !important;
        gap: 3px !important;
        padding: 4px 3px 3px !important;
        border-radius: 9px !important;
        font-size: 5.8px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-mark {
        width: 18px !important;
        height: 18px !important;
    }
}

/* Booking confirmation final pass: stage-to-card transition feels connected and in-page. */
body.page-booking .booking-calendar-stage.is-success-state {
    padding: clamp(24px, 3vw, 36px) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    background:
        radial-gradient(ellipse 92% 66% at 50% 124%, rgba(111, 135, 255, 0.26), transparent 60%),
        linear-gradient(180deg, #04050a 0%, #06070f 44%, rgba(13, 18, 38, 0.99) 100%) !important;
    box-shadow:
        0 22px 58px rgba(8, 12, 22, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    gap: 12px !important;
    padding: clamp(20px, 3.6vw, 28px) clamp(18px, 4vw, 30px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card::after {
    display: none !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-kicker,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-steps,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
    grid-column: 1 !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
    max-width: 34ch !important;
    font-size: clamp(30px, 4.2vw, 42px) !important;
    text-wrap: balance !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
    max-width: 60ch !important;
    font-size: clamp(13px, 1.2vw, 14.5px) !important;
    line-height: 1.4 !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
    width: min(100%, 520px) !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
    justify-items: start !important;
    text-align: left !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
    padding-top: 4px !important;
    gap: 10px !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.primary {
    border-color: rgba(132, 154, 255, 0.42) !important;
    background:
        radial-gradient(ellipse 90% 120% at 50% -18%, rgba(255, 255, 255, 0.18), transparent 58%),
        linear-gradient(135deg, rgba(84, 124, 255, 0.86), rgba(143, 91, 255, 0.74) 52%, rgba(24, 20, 64, 0.9)),
        rgba(0, 0, 0, 0.58) !important;
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.38),
        0 0 24px rgba(93, 119, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.primary:hover,
body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button.primary:focus-visible {
    border-color: rgba(158, 176, 255, 0.56) !important;
    box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.42),
        0 0 28px rgba(93, 119, 255, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

@media (max-width: 960px) and (orientation: landscape) and (max-height: 540px) {
    body.page-booking .booking-calendar-stage.is-success-state {
        display: grid !important;
        place-items: center !important;
        padding: 16px 18px calc(18px + env(safe-area-inset-bottom)) !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        align-content: center !important;
        gap: 9px !important;
        width: 100% !important;
        max-width: 600px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: center !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-kicker,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        grid-column: 1 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
        max-width: 60ch !important;
        text-align: center !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time,
    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions,
    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options {
        width: min(100%, 380px) !important;
        justify-items: center !important;
        text-align: center !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card h2 {
        font-size: 24px !important;
        line-height: 0.96 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-card > p {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time {
        margin-top: 2px !important;
        padding: 7px 10px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-time strong {
        font-size: 11px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions {
        padding-top: 2px !important;
        gap: 6px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-success-actions .utility-button {
        min-height: 30px !important;
        font-size: 8px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-options a {
        min-height: 45px !important;
        padding: 5px 4px 4px !important;
        font-size: 5.8px !important;
    }

    body.page-booking .booking-calendar-stage.is-success-state .utility-calendar-mark {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Chat glow motion: utility pages must keep the approved Nebula Crown moving. */
body.utility-page.chat-open .chat-panel::before {
    background-position: 50% 50%, 50% 50% !important;
    background-size: 100% 100%, 100% 100% !important;
    animation: chat-nebula-crown-drift 4.8s ease-in-out infinite !important;
}

body.utility-page.chat-open .chat-panel::after {
    background-position: 50% 50% !important;
    background-size: 100% 100% !important;
    animation: chat-nebula-inner-drift 4.2s ease-in-out infinite reverse !important;
}

body.utility-page.chat-open .main-header,
body.utility-page.chat-open .footer-nav {
    z-index: 900 !important;
    pointer-events: none !important;
}

body.utility-page.chat-open .chat-overlay {
    z-index: 21020 !important;
}

body.utility-page.chat-open .chat-panel,
body.utility-page.chat-open .chat-reply-nudge {
    z-index: 21040 !important;
}

@media (max-width: 640px) and (orientation: portrait) {
    body.utility-page.chat-open .chat-panel.is-thread {
        overflow: hidden !important;
    }

    body.utility-page.chat-open .chat-panel.is-thread .chat-thread {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.utility-page.chat-open .chat-panel.is-thread .chat-messages {
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* Chat visual parity: utility pages use the same black-page chat chrome.
   Keep this before the keyboard-open lock so native keyboard blackout still wins. */
@media (hover: hover) and (pointer: fine) {
    body.utility-page.chat-open .chat-panel,
    html body.utility-page.chat-open .chat-panel,
    body.utility-page.chat-open .chat-panel.is-thread,
    html body.utility-page.chat-open .chat-panel.is-thread {
        border-color: rgba(255, 255, 255, 0.045) !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.048) 0%, rgba(255, 255, 255, 0.009) 30%, rgba(0, 0, 0, 0) 62%),
            linear-gradient(180deg, rgba(7, 8, 11, 0.98) 0%, rgba(1, 2, 4, 0.99) 100%) !important;
        background-color: transparent !important;
        box-shadow:
            0 38px 84px rgba(0, 0, 0, 0.84),
            0 0 38px rgba(255, 255, 255, 0.028),
            inset 0 1px 0 rgba(255, 255, 255, 0.052),
            inset 0 -20px 38px rgba(0, 0, 0, 0.20) !important;
    }
}

@media (max-width: 768px),
    (min-width: 768px) and (max-width: 960px),
    (min-width: 821px) and (max-width: 1024px) and (orientation: portrait),
    (min-width: 961px) and (max-width: 1180px) and (orientation: landscape),
    (min-width: 1181px) and (max-width: 1366px) and (orientation: landscape) and (pointer: coarse) {
    body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-overlay {
        background:
            radial-gradient(96% 76% at 50% 18%, rgba(255, 255, 255, 0.072) 0%, rgba(255, 255, 255, 0.026) 36%, rgba(255, 255, 255, 0) 66%),
            radial-gradient(128% 94% at 16% 100%, rgba(255, 255, 255, 0.046) 0%, rgba(255, 255, 255, 0.016) 34%, rgba(255, 255, 255, 0) 68%),
            linear-gradient(180deg, rgba(2, 4, 8, 0.58) 0%, rgba(2, 3, 7, 0.78) 52%, rgba(1, 2, 5, 0.94) 100%),
            radial-gradient(140% 112% at 50% 100%, rgba(255, 255, 255, 0.022) 0%, rgba(9, 10, 14, 0.3) 32%, rgba(4, 5, 9, 0.72) 70%, rgba(1, 2, 5, 0.94) 100%) !important;
        -webkit-backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
        backdrop-filter: blur(16px) saturate(114%) brightness(0.72) !important;
    }

    body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-panel,
    html body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-panel,
    body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-panel.is-thread,
    html body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-panel.is-thread {
        border-color: rgba(255, 255, 255, 0.043) !important;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.047) 0%, rgba(255, 255, 255, 0.010) 24%, rgba(255, 255, 255, 0) 58%),
            radial-gradient(140% 120% at 0% 0%, rgba(255, 255, 255, 0.040) 0%, rgba(255, 255, 255, 0.010) 34%, rgba(0, 0, 0, 0) 68%),
            linear-gradient(180deg, rgba(3, 4, 7, 0.34) 0%, rgba(1, 2, 4, 0.18) 100%) !important;
        background-color: transparent !important;
        box-shadow:
            0 34px 64px rgba(0, 0, 0, 0.78),
            0 0 34px rgba(255, 255, 255, 0.030),
            inset 0 1px 0 rgba(255, 255, 255, 0.047),
            inset 0 -18px 34px rgba(0, 0, 0, 0.18) !important;
        -webkit-backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
        backdrop-filter: blur(38px) saturate(124%) brightness(0.98) !important;
    }

    body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-messages {
        background: rgba(8, 9, 12, 0.52) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.036),
            inset 0 -14px 28px rgba(0, 0, 0, 0.16) !important;
    }
}

@media (max-width: 768px), (min-width: 769px) and (max-width: 1366px) and (pointer: coarse) {
    html.chat-keyboard-open body.utility-page {
        --utility-chat-inline-gap: 12px;
    }

    html.chat-keyboard-open body.utility-page.chat-open,
    html.chat-keyboard-open body.utility-page.chat-open .scroll-root {
        background: #000 !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .main-header,
    html.chat-keyboard-open body.utility-page.chat-open .footer-nav,
    html.chat-keyboard-open body.utility-page.chat-open .mobile-support-tray-toggle,
    html.chat-keyboard-open body.utility-page.chat-open .mobile-support-sheet,
    html.chat-keyboard-open body.utility-page.chat-open .mobile-support-sheet-backdrop {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .chat-overlay {
        inset: 0 !important;
        min-height: 100dvh !important;
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.98)),
            #000 !important;
    }

    html.chat-keyboard-open body.utility-page.nav-glass-dropdown-preview.nav-home-band-v6.chat-open .chat-overlay {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.98)),
            #000 !important;
        -webkit-backdrop-filter: blur(8px) saturate(106%) brightness(0.78) !important;
        backdrop-filter: blur(8px) saturate(106%) brightness(0.78) !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting),
    html.chat-keyboard-open body.utility-page.chat-open .chat-panel.is-thread {
        left: var(--utility-chat-inline-gap) !important;
        right: var(--utility-chat-inline-gap) !important;
        width: auto !important;
        max-width: none !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting) {
        padding-bottom: 7px !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting) .chat-messages {
        margin-bottom: 6px !important;
    }

    html.chat-keyboard-open body.utility-page.chat-open .chat-panel.is-thread:not(.is-selecting) .chat-input-row {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Chat 3 typography audit: keep compact hero action labels from clipping at 320px. */
@media (max-width: 640px) {
    body.page-quotes .quotes-hero-actions,
    body.page-carriers .carrier-hero-actions {
        gap: 4px !important;
    }

    body.page-quotes .quotes-hero-actions .utility-button,
    body.page-carriers .carrier-hero-actions .utility-button {
        letter-spacing: 0.04em !important;
    }
}
