.allpave-service-page {
        --sp-blue: var(--site-blue);
        --sp-blue-deep: var(--site-blue-deep);
        --sp-gold: #ffd300;
        --sp-gold-strong: #ffbf00;
        --sp-ink: #09122f;
        --sp-light-panel: rgba(255,255,255,0.94);
        --sp-light-border: rgba(15,23,42,0.08);
        --sp-dark-panel: rgba(9,18,47,0.78);
        --sp-dark-border: rgba(255,255,255,0.14);
        --sp-shadow: 0 24px 70px rgba(9,18,47,0.18);
        background:
            radial-gradient(circle at top left, rgba(255, 211, 0, 0.12), transparent 26%),
            linear-gradient(180deg, #f6f8fe 0%, #eef2f8 100%);
        color: #102033;
        font-family: "Manrope", sans-serif;
    }

    .allpave-service-shell {
        width: min(1320px, calc(100% - 2rem));
        margin: 0 auto;
    }

    .allpave-service-hero {
        position: relative;
        overflow: hidden;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        background: #08112f;
    }

    .allpave-service-hero::before,
    .allpave-service-hero::after {
        content: "";
        position: absolute;
        inset: 0;
    }

    .allpave-service-hero::before {
        background:
            linear-gradient(90deg, rgba(8, 17, 47, 0.9) 0%, rgba(8, 17, 47, 0.7) 48%, rgba(8, 17, 47, 0.48) 100%),
            linear-gradient(180deg, rgba(255, 211, 0, 0.1), transparent 40%),
            var(--allpave-service-hero-image) center/cover no-repeat;
    }

    .allpave-service-hero::after {
        background:
            radial-gradient(circle at top right, rgba(255, 211, 0, 0.16), transparent 24%),
            radial-gradient(circle at bottom left, rgba(31, 33, 156, 0.22), transparent 34%);
    }

    .allpave-service-hero-grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: minmax(0, 0.95fr) minmax(540px, 660px);
        gap: 1.5rem;
        align-items: start;
        width: min(1440px, calc(100% - 2rem));
        margin: 0 auto;
        padding: 4rem 0 3.5rem;
        color: #fff;
    }

    .allpave-service-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.7rem 1rem;
        border-radius: 999px;
        background: rgba(255, 211, 0, 0.16);
        border: 1px solid rgba(255, 211, 0, 0.3);
        color: #fff0a1;
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .allpave-service-hero h1,
    .allpave-service-title,
    .allpave-service-card h2,
    .allpave-service-card h3,
    .allpave-location-card h3,
    .allpave-quote-title {
        font-family: "Oswald", sans-serif;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .allpave-service-hero h1 {
        margin: 1rem 0 1.2rem;
        max-width: 11ch;
        font-size: clamp(3rem, 6vw, 6rem);
        line-height: 0.94;
    }

    .allpave-service-hero p {
        margin: 0;
        max-width: 62ch;
        color: rgba(255,255,255,0.82);
        line-height: 1.82;
        font-size: 1.05rem;
    }

    .allpave-service-actions,
    .allpave-service-inline-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.9rem;
        margin-top: 1.9rem;
    }

    .allpave-service-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        padding: 0.95rem 1.4rem;
        font-weight: 800;
        transition: transform 160ms ease, box-shadow 160ms ease;
    }

    .allpave-service-btn:hover {
        transform: translateY(-1px);
    }

    .allpave-service-btn-primary {
        background: linear-gradient(135deg, var(--sp-gold), var(--sp-gold-strong));
        color: var(--sp-blue-deep);
        box-shadow: 0 16px 40px rgba(255, 211, 0, 0.24);
    }

    .allpave-service-form-submit {
        width: 100%;
        margin-top: 1rem;
    }

    .allpave-service-btn-secondary {
        background: rgba(255,255,255,0.12);
        color: #fff;
        border: 1px solid rgba(255,255,255,0.16);
    }

    .allpave-service-contact {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem 1.5rem;
        margin-top: 1.25rem;
        color: rgba(255,255,255,0.82);
        font-weight: 700;
    }

    .allpave-quote-panel,
    .allpave-service-card,
    .allpave-location-card,
    .allpave-service-stat {
        border-radius: 28px;
        box-shadow: var(--sp-shadow);
    }

    .allpave-quote-panel {
        padding: 1.6rem;
        background: var(--sp-dark-panel);
        border: 1px solid var(--sp-dark-border);
        backdrop-filter: blur(14px);
        align-self: start;
        margin-top: 0.5rem;
    }

    .allpave-quote-title {
        margin: 0 0 0.65rem;
        text-align: center;
        font-size: 2.15rem;
    }

    .allpave-quote-copy {
        margin: 0 0 1.5rem;
        text-align: center;
        color: rgba(255,255,255,0.78);
        line-height: 1.7;
    }

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

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

    .allpave-service-page .neo-label {
        display: block;
        margin-bottom: 0.45rem;
        font-size: 0.9rem;
        font-weight: 700;
        color: rgba(255,255,255,0.92);
    }

    .allpave-service-page .neo-input,
    .allpave-service-page .neo-select,
    .allpave-service-page .neo-textarea {
        width: 100%;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.16);
        background: rgba(255,255,255,0.96);
        color: #0f172a;
        padding: 0.92rem 1rem;
        font: inherit;
    }

    .allpave-service-page .neo-textarea {
        min-height: 150px;
        resize: vertical;
    }

    .allpave-service-page .neo-checkbox-row {
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
        padding: 0.95rem 1rem;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.16);
        background: rgba(255,255,255,0.96);
        color: #334155;
        line-height: 1.6;
    }

    .allpave-service-page .neo-checkbox {
        margin-top: 0.2rem;
        width: 1rem;
        height: 1rem;
        flex: 0 0 auto;
    }

    .allpave-service-page .neo-checkbox-copy {
        display: grid;
        gap: 0.2rem;
        color: #475569;
    }

    .allpave-service-page .neo-checkbox-copy strong {
        color: #0f172a;
        font-size: 0.94rem;
        font-weight: 700;
        line-height: 1.45;
    }

    .allpave-service-page .neo-errors,
    .allpave-service-page .neo-alert {
        margin-bottom: 1rem;
        border-radius: 16px;
        padding: 0.95rem 1rem;
        font-size: 0.92rem;
    }

    .allpave-service-page .neo-errors {
        background: rgba(127, 29, 29, 0.35);
        border: 1px solid rgba(248, 113, 113, 0.35);
        color: #fff;
    }

    .allpave-service-page .neo-alert {
        position: relative;
        overflow: hidden;
        padding: 1.15rem 1.2rem 1.15rem 4.2rem;
        border: 1px solid rgba(185, 255, 218, 0.5);
        background:
            radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.42), transparent 24%),
            linear-gradient(135deg, #00b67a 0%, #25d366 58%, #0fbf7a 100%);
        color: #052417;
        text-align: left !important;
        box-shadow:
            0 22px 58px rgba(0, 182, 122, 0.28),
            0 1px 0 rgba(255, 255, 255, 0.35) inset;
    }

    .allpave-service-page .neo-alert::before {
        content: "\2713";
        position: absolute;
        left: 1.1rem;
        top: 50%;
        display: inline-flex;
        width: 2.25rem;
        height: 2.25rem;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.92);
        color: #00a36c;
        font-weight: 900;
        transform: translateY(-50%);
        box-shadow: 0 12px 26px rgba(5, 36, 23, 0.18);
    }

    .allpave-service-page .neo-alert strong {
        color: #052417;
        font-weight: 900;
    }

    .allpave-service-page .neo-alert a {
        color: #062315;
        font-weight: 900;
        text-decoration: underline;
        text-decoration-color: rgba(6, 35, 21, 0.42);
        text-underline-offset: 3px;
    }

    .allpave-service-page .hp {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    .allpave-service-section {
        padding: 5rem 0;
    }

    .allpave-service-header {
        max-width: 760px;
        margin-bottom: 1.8rem;
    }

    .allpave-service-title {
        margin: 0 0 0.85rem;
        font-size: clamp(2.3rem, 4vw, 3.5rem);
        line-height: 1;
        color: var(--sp-ink);
    }

    .allpave-service-copy {
        margin: 0;
        color: #475569;
        line-height: 1.86;
        font-size: 1.02rem;
    }

    .allpave-service-grid,
    .allpave-location-grid,
    .allpave-service-stats {
        display: grid;
        gap: 1.2rem;
    }

    .allpave-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .allpave-service-card,
    .allpave-location-card,
    .allpave-service-stat {
        padding: 1.45rem;
        background: var(--sp-light-panel);
        border: 1px solid var(--sp-light-border);
    }

    .allpave-card-media {
        width: calc(100% + 2.9rem);
        height: 210px;
        margin: -1.45rem -1.45rem 1.15rem;
        border-radius: 28px 28px 18px 18px;
        overflow: hidden;
        background: linear-gradient(135deg, rgba(31,33,156,0.16), rgba(255,211,0,0.16));
        position: relative;
    }

    .allpave-card-media::after {
        content: "";
        position: absolute;
        inset: auto 1rem 0.9rem 1rem;
        height: 8px;
        border-radius: 999px;
        background: repeating-linear-gradient(90deg, rgba(255,211,0,0.95) 0 20px, rgba(31,33,156,0.95) 20px 40px);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
    }

    .allpave-card-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .allpave-service-card h2,
    .allpave-service-card h3,
    .allpave-location-card h3 {
        margin: 0 0 0.75rem;
        color: var(--sp-ink);
        font-size: 1.45rem;
    }

    .allpave-service-card p,
    .allpave-location-card p {
        margin: 0;
        color: #475569;
        line-height: 1.78;
    }

    .allpave-service-rich,
    .allpave-service-rich p,
    .allpave-service-rich li,
    .allpave-service-rich strong,
    .allpave-service-rich h2,
    .allpave-service-rich h3,
    .allpave-service-rich h4 {
        color: inherit;
    }

    .allpave-service-rich {
        color: #475569;
        line-height: 1.78;
    }

    .allpave-service-rich > *:first-child {
        margin-top: 0;
    }

    .allpave-service-rich > *:last-child {
        margin-bottom: 0;
    }

    .allpave-service-rich p + p,
    .allpave-service-rich p + ul,
    .allpave-service-rich ul + p {
        margin-top: 0.85rem;
    }

    .allpave-service-card ul {
        margin: 1rem 0 0;
        padding-left: 1.1rem;
        color: #475569;
        line-height: 1.8;
    }

    .allpave-service-link-list {
        margin: 1rem 0 0;
        padding-left: 1.1rem;
        color: #475569;
        line-height: 1.8;
        list-style: disc;
    }

    .allpave-service-link-list li + li {
        margin-top: 0.35rem;
    }

    .allpave-service-link-list li::marker {
        color: rgba(31, 33, 156, 0.7);
    }

    .allpave-service-link-list a,
    .allpave-service-link-list a:visited {
        color: var(--sp-blue-deep);
        font-weight: 800;
        text-decoration: underline;
        text-decoration-color: rgba(31, 33, 156, 0.28);
        text-underline-offset: 0.18em;
        text-decoration-thickness: 2px;
        transition: color 160ms ease, text-decoration-color 160ms ease;
    }

    .allpave-service-link-list a:hover,
    .allpave-service-link-list a:focus-visible {
        color: var(--sp-blue);
        text-decoration-color: rgba(31, 33, 156, 0.52);
    }

    .allpave-service-card li + li {
        margin-top: 0.35rem;
    }

    .allpave-service-stats {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .allpave-service-stat strong {
        display: block;
        font-size: clamp(2.1rem, 4vw, 3rem);
        color: var(--sp-blue);
        line-height: 1;
    }

    .allpave-service-stat span {
        display: block;
        margin-top: 0.6rem;
        color: #475569;
        line-height: 1.7;
    }

    .allpave-location-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .allpave-location-card a {
        display: inline-flex;
        margin-top: 1rem;
        font-weight: 800;
        color: var(--sp-blue);
    }

    .allpave-faq-list {
        display: grid;
        gap: 1rem;
    }

    .allpave-faq-item {
        border-radius: 24px;
        background: rgba(255,255,255,0.95);
        border: 1px solid rgba(15,23,42,0.08);
        box-shadow: 0 18px 38px rgba(15,23,42,0.08);
        overflow: hidden;
    }

    .allpave-faq-item summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.2rem 1.3rem;
        font-weight: 800;
        color: var(--sp-ink);
    }

    .allpave-faq-item summary::-webkit-details-marker {
        display: none;
    }

    .allpave-faq-question {
        position: relative;
        padding-top: 0.8rem;
        padding-right: 1rem;
        font-family: "Oswald", sans-serif;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font-size: 1.12rem;
    }

    .allpave-faq-question::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 7px;
        border-radius: 999px;
        background: repeating-linear-gradient(90deg, rgba(255,211,0,0.95) 0 20px, rgba(31,33,156,0.95) 20px 40px);
    }

    .allpave-faq-icon {
        width: 18px;
        height: 18px;
        flex: 0 0 auto;
        margin-top: 0.8rem;
        border-right: 2px solid var(--sp-blue);
        border-bottom: 2px solid var(--sp-blue);
        transform: rotate(45deg);
        transition: transform 160ms ease;
    }

    .allpave-faq-item[open] .allpave-faq-icon {
        transform: rotate(-135deg);
    }

    .allpave-faq-answer {
        padding: 0 1.3rem 1.3rem;
        color: #475569;
        line-height: 1.82;
    }

    .allpave-service-band {
        background: linear-gradient(135deg, var(--sp-blue-deep), var(--sp-blue));
        color: #fff;
    }

    .allpave-service-cta-shell {
        display: flex;
        gap: 1.5rem;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .allpave-service-cta-copy {
        max-width: 760px;
    }

    .allpave-service-band .allpave-service-title,
    .allpave-service-band .allpave-service-copy,
    .allpave-service-band .allpave-service-card p,
    .allpave-service-band .allpave-service-card li {
        color: rgba(255,255,255,0.86);
    }

    .allpave-service-band .allpave-service-card {
        background: rgba(255,255,255,0.08);
        border-color: rgba(255,255,255,0.12);
    }

    .allpave-service-band .allpave-service-card h3 {
        color: #fff;
    }

    .allpave-service-paragraph-spaced {
        margin-bottom: 1rem;
    }

    .allpave-service-page {
        background:
            linear-gradient(180deg, #08112f 0%, #121d2b 46%, #08112f 100%);
    }

    .allpave-service-section {
        position: relative;
        overflow: hidden;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: calc(50vw - 50%);
        padding-right: calc(50vw - 50%);
        background:
            linear-gradient(180deg, #121d2b 0%, #0b1426 100%);
        box-shadow:
            inset 0 32px 68px rgba(0, 0, 0, 0.2),
            inset 0 -32px 68px rgba(0, 0, 0, 0.18);
    }

    .allpave-service-section:nth-of-type(2n + 3) {
        background:
            linear-gradient(145deg, #172021 0%, #0c162a 52%, rgba(31, 33, 156, 0.9) 135%);
    }

    .allpave-service-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 82px),
            repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 82px);
        pointer-events: none;
        opacity: 0.68;
    }

    .allpave-service-section .allpave-service-shell {
        position: relative;
        z-index: 1;
    }

    .allpave-service-section .allpave-service-title,
    .allpave-service-section .allpave-service-card h2,
    .allpave-service-section .allpave-service-card h3,
    .allpave-service-section .allpave-location-card h3 {
        color: #fff;
        text-shadow: 0 16px 42px rgba(0, 0, 0, 0.36);
    }

    .allpave-service-section .allpave-service-copy,
    .allpave-service-section .allpave-service-card p,
    .allpave-service-section .allpave-service-card li,
    .allpave-service-section .allpave-location-card p,
    .allpave-service-section .allpave-service-stat span,
    .allpave-service-section .allpave-faq-answer {
        color: rgba(245, 248, 255, 0.84);
    }

    .allpave-service-section .allpave-service-card,
    .allpave-service-section .allpave-location-card,
    .allpave-service-section .allpave-service-stat,
    .allpave-service-section .allpave-faq-item {
        background:
            linear-gradient(180deg, rgba(24, 35, 58, 0.96), rgba(12, 24, 48, 0.86));
        border-color: rgba(255, 255, 255, 0.18);
        box-shadow:
            0 34px 94px rgba(0, 0, 0, 0.38),
            0 1px 0 rgba(255, 255, 255, 0.18) inset;
        color: #fff;
        backdrop-filter: blur(12px);
    }

    .allpave-service-section .allpave-service-card li::marker {
        color: #ffe56c;
    }

    .allpave-service-section .allpave-service-link-list li::marker {
        color: #ffe56c;
    }

    .allpave-service-section .allpave-service-link-list a,
    .allpave-service-section .allpave-service-link-list a:visited {
        color: rgba(248, 251, 255, 0.96);
        text-decoration-color: rgba(255, 229, 108, 0.42);
        text-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
    }

    .allpave-service-section .allpave-service-link-list a:hover,
    .allpave-service-section .allpave-service-link-list a:focus-visible {
        color: #ffe56c;
        text-decoration-color: rgba(255, 229, 108, 0.9);
    }

    .allpave-service-section .allpave-service-stat strong {
        color: #ffe56c;
        text-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
    }

    .allpave-service-section .allpave-service-card:hover,
    .allpave-service-section .allpave-location-card:hover,
    .allpave-service-section .allpave-service-stat:hover {
        transform: translateY(-3px);
        box-shadow:
            0 42px 112px rgba(0, 0, 0, 0.4),
            0 1px 0 rgba(255, 255, 255, 0.18) inset;
    }

    .allpave-service-section .allpave-service-card,
    .allpave-service-section .allpave-location-card,
    .allpave-service-section .allpave-service-stat {
        transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    }

    .allpave-service-section .allpave-card-media {
        background: #07112d;
        box-shadow: inset 0 -80px 90px rgba(0, 0, 0, 0.38);
    }

    .allpave-service-section .allpave-card-media img {
        opacity: 0.88;
        filter: saturate(1.04) contrast(1.03);
    }

    .allpave-service-section .allpave-card-media::after,
    .allpave-service-section .allpave-faq-question::before {
        background: linear-gradient(90deg, var(--sp-gold), rgba(255, 255, 255, 0.18), var(--sp-blue));
    }

    .allpave-service-section .allpave-faq-question {
        color: #fff;
    }

    .allpave-service-section .allpave-location-card a {
        color: #ffe56c;
    }

    .allpave-service-overview-section {
        padding-bottom: clamp(1.5rem, 2.4vw, 2.5rem);
    }

    .allpave-service-overview-section .allpave-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .allpave-service-overview-section .allpave-service-card {
        display: flex;
        min-height: 100%;
        flex-direction: column;
    }

    .allpave-service-overview-section .allpave-card-media {
        flex: 0 0 auto;
    }

    .allpave-service-overview-card .allpave-card-media {
        height: clamp(220px, 22vw, 320px);
    }

    @media (max-width: 960px) {
        .allpave-service-hero-grid {
            grid-template-columns: 1fr;
        }

        .allpave-service-grid,
        .allpave-location-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .allpave-service-overview-section .allpave-service-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 840px) {
        .allpave-form-grid,
        .allpave-service-stats {
            grid-template-columns: 1fr;
        }

        .allpave-quote-panel {
            order: -1;
            margin-top: 0;
        }

        .allpave-service-section {
            padding: 4rem 0;
        }
    }

    @media (max-width: 640px) {
        .allpave-service-grid,
        .allpave-location-grid {
            grid-template-columns: 1fr;
        }

        .allpave-service-overview-section .allpave-service-grid {
            grid-template-columns: 1fr;
        }

        .allpave-service-hero h1 {
            max-width: 100%;
        }
    }
