/* =========================================================
   SHIELDS PAINTING
   Optimized page design system — v2
   ========================================================= */

:root {
    --sp-blue: #00a1ff;
    --sp-blue-dark: #007dcc;
    --sp-blue-deep: #006baa;
    --sp-blue-soft: #eaf7ff;

    --sp-ink: #101820;
    --sp-ink-2: #25313b;
    --sp-muted: #66727d;

    --sp-white: #ffffff;
    --sp-light: #f7f9fa;
    --sp-soft: #eef3f6;
    --sp-line: #dce4e8;

    --sp-dark: #07141c;
    --sp-dark-2: #0d202a;
    --sp-dark-card: #102630;

    --sp-radius-sm: 10px;
    --sp-radius: 18px;
    --sp-radius-lg: 26px;

    --sp-shadow: 0 18px 50px rgba(10, 32, 45, 0.10);
    --sp-shadow-hover: 0 24px 65px rgba(10, 32, 45, 0.16);

    --sp-width: 1280px;
    --sp-narrow: 850px;
}


/* =========================================================
   REMOVE LEGACY PAGE TITLE / THEME CONSTRAINTS
   PAGE ID 2387 = SERVICES
   ========================================================= */

body.page-id-2387 .top_panel_title,
body.page-id-2387 .page_title_wrap,
body.page-id-2387 .page_title,
body.page-id-2387 .sc_layouts_title {
    display: none !important;
}

body.page-id-2387 .page_content_wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-2387 .page_content_wrap > .content_wrap,
body.page-id-2387 .page_content_wrap .content {
    width: 100% !important;
    max-width: none !important;
}

body.page-id-2387 .page_content_wrap .content {
    margin: 0 !important;
}


/* =========================================================
   BASE
   ========================================================= */

.sp-page,
.sp-page *,
.sp-page *::before,
.sp-page *::after {
    box-sizing: border-box;
}

.sp-page {
    /*
     * Makes the custom page full viewport width even if
     * the WordPress theme keeps it inside a content wrapper.
     */
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);

    overflow-x: clip;

    color: var(--sp-ink);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 16px;
    line-height: 1.68;

    background: var(--sp-white);
}

.sp-page img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.sp-page a {
    text-underline-offset: 3px;
}

.sp-shell {
    width: min(calc(100% - 48px), var(--sp-width));
    margin-inline: auto;
}

.sp-narrow {
    max-width: var(--sp-narrow);
}

.sp-section {
    position: relative;
    padding: 96px 0;
}

.sp-section--light {
    background: var(--sp-light);
}

.sp-section--soft {
    background: var(--sp-soft);
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.sp-page h1,
.sp-page h2,
.sp-page h3 {
    margin-top: 0;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    color: var(--sp-ink) !important;

    font-weight: 800 !important;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.sp-page h1 {
    max-width: 820px;
    margin-bottom: 25px;

    font-size: clamp(2.75rem, 5vw, 5rem);
}

.sp-page h2 {
    margin-bottom: 20px;

    font-size: clamp(2rem, 3.5vw, 3.35rem);
}

.sp-page h3 {
    margin-bottom: 13px;

    font-size: clamp(1.25rem, 1.8vw, 1.6rem);
}

.sp-page p {
    margin-top: 0;
    margin-bottom: 20px;
}

.sp-eyebrow,
.sp-section-label,
.sp-card-kicker {
    margin-bottom: 12px;

    color: var(--sp-blue) !important;

    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sp-section-intro {
    color: var(--sp-muted);
    font-size: 1.16rem;
}


/* =========================================================
   HERO
   ========================================================= */

.sp-hero {
    position: relative;

    padding: 92px 0 82px;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(0, 161, 255, 0.13),
            transparent 34%
        ),
        linear-gradient(
            115deg,
            #ffffff 0%,
            #ffffff 59%,
            #f2f8fc 59%,
            #f2f8fc 100%
        );
}

.sp-hero::before {
    position: absolute;
    top: 35px;
    left: -115px;

    width: 270px;
    height: 270px;

    border: 1px solid rgba(0, 161, 255, 0.17);
    border-radius: 50%;

    content: "";
}

.sp-hero__grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.04fr)
        minmax(420px, 0.96fr);

    gap: 76px;

    align-items: center;
}

.sp-hero__content {
    position: relative;
    z-index: 2;
}

.sp-hero__lead {
    max-width: 730px;

    margin-bottom: 34px;

    color: var(--sp-muted);

    font-size: clamp(1.08rem, 1.4vw, 1.24rem);
}

.sp-hero__media {
    min-width: 0;
}

.sp-hero__image-wrap {
    position: relative;

    min-height: 460px;

    border-radius: var(--sp-radius-lg);

    background:
        linear-gradient(
            135deg,
            var(--sp-blue-soft),
            #edf2f4
        );

    box-shadow: var(--sp-shadow);

    overflow: hidden;
}

.sp-hero__image-wrap img {
    width: 100%;
    height: 100%;
    min-height: 460px;

    aspect-ratio: 4 / 3;

    object-fit: cover;
}

.sp-hero__badge {
    position: absolute;

    right: 22px;
    bottom: 22px;

    max-width: 260px;

    padding: 18px 20px;

    border-radius: 12px;

    background: rgba(7, 20, 28, 0.94);
    color: var(--sp-white);

    box-shadow: var(--sp-shadow);
}

.sp-hero__badge span,
.sp-hero__badge strong {
    display: block;
}

.sp-hero__badge span {
    margin-bottom: 3px;

    color: rgba(255,255,255,.70);

    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sp-hero__badge strong {
    color: #fff !important;

    font-size: 1rem;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.sp-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 13px;

    align-items: center;
}

.sp-btn {
    display: inline-flex;

    min-height: 54px;

    padding: 14px 24px;

    border: 2px solid transparent;
    border-radius: 999px;

    align-items: center;
    justify-content: center;

    gap: 9px;

    font-size: .95rem;
    font-weight: 750;

    line-height: 1.15;

    text-decoration: none !important;

    transition:
        transform .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.sp-btn:hover {
    transform: translateY(-2px);
}

.sp-btn:focus-visible,
.sp-text-link:focus-visible,
.sp-area-grid a:focus-visible,
.sp-faq summary:focus-visible {
    outline: 3px solid rgba(0,161,255,.35);
    outline-offset: 4px;
}

.sp-btn--primary {
    background: var(--sp-blue);

    color: #fff !important;

    box-shadow:
        0 11px 28px rgba(0,161,255,.28);
}

.sp-btn--primary:hover {
    background: var(--sp-blue-dark);

    color: #fff !important;
}

.sp-btn--secondary {
    border-color: #d5e0e5;

    background: #fff;

    color: var(--sp-ink) !important;
}

.sp-btn--secondary:hover {
    border-color: var(--sp-blue);
}

.sp-btn--white {
    background: #fff;

    color: var(--sp-dark) !important;
}

.sp-btn--outline-light {
    border-color: rgba(255,255,255,.52);

    color: #fff !important;
}

.sp-btn--outline-light:hover {
    border-color: #fff;
    background: rgba(255,255,255,.08);
}

.sp-btn__icon {
    width: 17px;
    height: 17px;

    fill: currentColor;
}


/* =========================================================
   TRUST STRIP
   ========================================================= */

.sp-trust-row {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    max-width: 720px;

    margin-top: 47px;
    padding-top: 27px;

    border-top: 1px solid var(--sp-line);
}

.sp-trust-item {
    padding-right: 19px;
}

.sp-trust-item + .sp-trust-item {
    padding-left: 19px;

    border-left: 1px solid var(--sp-line);
}

.sp-trust-item strong,
.sp-trust-item span {
    display: block;
}

.sp-trust-item strong {
    margin-bottom: 2px;

    color: var(--sp-ink);

    font-size: .95rem;
}

.sp-trust-item span {
    color: var(--sp-muted);

    font-size: .78rem;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.sp-section-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(330px, .75fr);

    gap: 70px;

    margin-bottom: 48px;

    align-items: end;
}

.sp-section-heading > p {
    margin-bottom: 4px;

    color: var(--sp-muted);

    font-size: 1.05rem;
}

.sp-center-heading {
    max-width: 820px;

    margin: 0 auto 52px;

    text-align: center;
}

.sp-center-heading > p:last-child {
    color: var(--sp-muted);

    font-size: 1.04rem;
}


/* =========================================================
   RESIDENTIAL CARDS
   ========================================================= */

.sp-feature-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.sp-service-card {
    position: relative;

    padding: 32px;

    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius);

    background: #fff;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.sp-service-card:hover {
    transform: translateY(-5px);

    border-color: rgba(0,161,255,.48);

    box-shadow: var(--sp-shadow-hover);
}

.sp-service-card--featured {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            var(--sp-blue-soft)
        );
}

.sp-service-card h3 a {
    color: var(--sp-ink) !important;

    text-decoration: none !important;
}

.sp-service-card__content > p:not(.sp-card-kicker) {
    color: var(--sp-muted);
}

.sp-icon-wrap {
    display: grid;

    width: 56px;
    height: 56px;

    margin-bottom: 28px;

    border-radius: 15px;

    place-items: center;

    background: var(--sp-blue-soft);

    color: var(--sp-blue);
}

.sp-icon {
    width: 27px;
    height: 27px;

    fill: currentColor;
    stroke: none;
}

.sp-text-link {
    display: inline-flex;

    gap: 8px;

    align-items: center;

    color: var(--sp-blue) !important;

    font-weight: 750;

    text-decoration: none !important;
}

.sp-text-link span {
    transition: transform .18s ease;
}

.sp-text-link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   DARK COMMERCIAL SECTION
   ========================================================= */

.sp-section--dark {
    background:
        radial-gradient(
            circle at 94% 0%,
            rgba(0,161,255,.22),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            var(--sp-dark),
            #0b1d27
        ) !important;

    color: #fff !important;
}


/*
 * Explicit rules because ProRange is overriding heading colors.
 */
.sp-page .sp-section--dark h2,
.sp-page .sp-section--dark h3,
.sp-page .sp-section--dark h3 a,
.sp-page .sp-section--dark strong {
    color: #fff !important;
}

.sp-section--dark .sp-section-label {
    color: #55bfff !important;
}

.sp-section-heading--dark > p {
    color: rgba(255,255,255,.72) !important;
}

.sp-business-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;
}

.sp-dark-card {
    padding: 35px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--sp-radius);

    background: rgba(255,255,255,.055);
}

.sp-dark-card__top {
    display: flex;

    margin-bottom: 28px;

    align-items: flex-start;
    justify-content: space-between;
}

.sp-icon-wrap--dark {
    background: rgba(0,161,255,.14);

    color: #55bfff;
}

.sp-dark-card p {
    color: rgba(255,255,255,.72) !important;
}

.sp-number {
    color: rgba(255,255,255,.16);

    font-size: 2.5rem;
    font-weight: 800;

    line-height: 1;
}

.sp-text-link--light {
    color: #55bfff !important;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.sp-benefit-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;
}

.sp-benefit {
    padding: 32px 29px;

    border-top: 4px solid var(--sp-blue);

    background: var(--sp-light);
}

.sp-benefit__icon {
    width: 29px;
    height: 29px;

    margin-bottom: 22px;

    fill: var(--sp-blue);
}

.sp-benefit p {
    margin-bottom: 0;

    color: var(--sp-muted);
}


/* =========================================================
   SERVICE AREA
   ========================================================= */

.sp-area-layout {
    display: grid;

    grid-template-columns:
        minmax(0, .72fr)
        minmax(0, 1.28fr);

    gap: 78px;

    align-items: start;
}

.sp-area-copy {
    position: sticky;

    top: 30px;
}

.sp-area-copy p:not(.sp-section-label) {
    color: var(--sp-muted);
}

.sp-area-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}

.sp-area-grid a {
    display: flex;

    min-height: 60px;

    padding: 15px 19px;

    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius-sm);

    align-items: center;
    justify-content: space-between;

    background: #fff;

    color: var(--sp-ink) !important;

    font-weight: 700;

    text-decoration: none !important;

    transition:
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.sp-area-grid a:hover {
    transform: translateY(-2px);

    border-color: var(--sp-blue);

    box-shadow:
        0 10px 24px rgba(10,32,45,.08);
}

.sp-area-grid a span:last-child {
    color: var(--sp-blue);
}


/* =========================================================
   PROCESS
   ========================================================= */

.sp-process-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;
}

.sp-process-step {
    padding: 32px 29px;

    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius);

    background: #fff;
}

.sp-process-step__number {
    display: grid;

    width: 40px;
    height: 40px;

    margin-bottom: 23px;

    border-radius: 50%;

    place-items: center;

    background: var(--sp-blue);

    color: #fff;

    font-weight: 800;
}

.sp-process-step p {
    margin-bottom: 0;

    color: var(--sp-muted);
}


/* =========================================================
   FAQ
   ========================================================= */

.sp-faq-layout {
    display: grid;

    grid-template-columns:
        minmax(280px, .66fr)
        minmax(0, 1.34fr);

    gap: 76px;
}

.sp-faq-heading > p:last-child {
    color: var(--sp-muted);
}

.sp-faq details {
    border-bottom: 1px solid var(--sp-line);
}

.sp-faq details:first-child {
    border-top: 1px solid var(--sp-line);
}

.sp-faq summary {
    position: relative;

    padding: 23px 50px 23px 0;

    cursor: pointer;
    list-style: none;

    color: var(--sp-ink);

    font-size: 1.03rem;
    font-weight: 750;
}

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

.sp-faq summary::after {
    position: absolute;

    top: 17px;
    right: 3px;

    content: "+";

    color: var(--sp-blue);

    font-size: 1.7rem;
    font-weight: 400;
}

.sp-faq details[open] summary::after {
    content: "−";
}

.sp-faq__answer {
    padding: 0 38px 19px 0;

    color: var(--sp-muted);
}

.sp-faq__answer p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.sp-final-cta {
    padding: 76px 0;

    background:
        radial-gradient(
            circle at 88% 0%,
            rgba(255,255,255,.17),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            var(--sp-blue-dark),
            var(--sp-blue)
        ) !important;

    color: #fff !important;
}

.sp-final-cta__inner {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 46px;

    align-items: center;
}

.sp-page .sp-final-cta h2 {
    max-width: 720px;

    margin-bottom: 13px;

    color: #fff !important;
}

.sp-final-cta p:not(.sp-section-label) {
    max-width: 700px;

    margin-bottom: 0;

    color: rgba(255,255,255,.87) !important;
}

.sp-final-cta .sp-section-label {
    color: rgba(255,255,255,.77) !important;
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.sp-btn:focus-visible,
.sp-page a:focus-visible,
.sp-faq summary:focus-visible {
    outline: 3px solid rgba(0,161,255,.42);

    outline-offset: 4px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .sp-section {
        padding: 76px 0;
    }

    .sp-hero {
        padding: 68px 0;
    }

    .sp-hero__grid {
        grid-template-columns: 1fr;

        gap: 48px;
    }

    .sp-hero__media {
        max-width: 760px;
    }

    .sp-section-heading {
        grid-template-columns: 1fr;

        gap: 8px;
    }

    .sp-feature-grid,
    .sp-benefit-grid,
    .sp-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sp-area-layout,
    .sp-faq-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .sp-area-copy {
        position: static;
    }

    .sp-final-cta__inner {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .sp-shell {
        width: min(calc(100% - 30px), var(--sp-width));
    }

    .sp-section {
        padding: 60px 0;
    }

    .sp-hero {
        padding: 52px 0 60px;

        background: var(--sp-light);
    }

    .sp-page h1 {
        font-size: clamp(2.45rem, 12vw, 3.4rem);
    }

    .sp-actions {
        flex-direction: column;

        align-items: stretch;
    }

    .sp-btn {
        width: 100%;
    }

    .sp-trust-row {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .sp-trust-item,
    .sp-trust-item + .sp-trust-item {
        padding: 0;

        border-left: 0;
    }

    .sp-trust-item + .sp-trust-item {
        padding-top: 15px;

        border-top: 1px solid var(--sp-line);
    }

    .sp-hero__image-wrap,
    .sp-hero__image-wrap img {
        min-height: 330px;
    }

    .sp-hero__badge {
        right: 12px;
        bottom: 12px;
    }

    .sp-feature-grid,
    .sp-business-grid,
    .sp-benefit-grid,
    .sp-process-grid,
    .sp-area-grid {
        grid-template-columns: 1fr;
    }

    .sp-service-card,
    .sp-dark-card,
    .sp-benefit,
    .sp-process-step {
        padding: 26px 23px;
    }

    .sp-final-cta {
        padding: 60px 0;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .sp-page *,
    .sp-page *::before,
    .sp-page *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;
    }
}
/* =========================================================
   SERVICES HUB — FINAL POLISH
   ========================================================= */

/* Give the introductory text a little more breathing room */
.sp-section--light .sp-narrow {
    padding-top: 4px;
    padding-bottom: 4px;
}

/* Slightly stronger card typography */
.sp-service-card h3,
.sp-dark-card h3,
.sp-benefit h3,
.sp-process-step h3 {
    font-weight: 800 !important;
}

/* Better service-card vertical rhythm */
.sp-service-card__content p {
    margin-bottom: 18px;
}

.sp-service-card .sp-text-link {
    margin-top: 4px;
}

/* Slightly more premium dark cards */
.sp-dark-card {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 18px 40px rgba(0,0,0,.08);
}

/* Make location buttons feel more interactive */
.sp-area-grid a span:last-child {
    font-size: 1.05rem;
    transition: transform .18s ease;
}

.sp-area-grid a:hover span:last-child {
    transform: translateX(4px);
}

/* Improve FAQ hover feedback */
.sp-faq summary {
    transition: color .18s ease;
}

.sp-faq summary:hover {
    color: var(--sp-blue);
}

/* Make final CTA buttons slightly more prominent */
.sp-final-cta .sp-btn {
    min-width: 165px;
}

/* Prevent tiny theme text rules from leaking into our page */
.sp-page p,
.sp-page li,
.sp-page a,
.sp-page summary {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}

/* Better hero image handling while it loads */
.sp-hero__image-wrap {
    background:
        linear-gradient(
            135deg,
            #eaf7ff 0%,
            #f3f7f9 100%
        );
}

/* Desktop hero balance */
@media (min-width: 1025px) {
    .sp-hero__content {
        padding-right: 18px;
    }

    .sp-hero__media {
        transform: translateY(4px);
    }
}
/* =========================================================
   SERVICE AREAS HUB
   ========================================================= */

.sp-areas-page {
	background: #fff;
	color: #17202a;
}

.sp-container {
	width: min(var(--sp-width, 1280px), calc(100% - 40px));
	margin-inline: auto;
}

.sp-narrow {
	max-width: 900px;
}

.sp-section {
	padding: 88px 0;
}

.sp-eyebrow {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sp-blue, #00a1ff);
}

.sp-eyebrow-light {
	color: #88d5ff;
}

.sp-section-heading {
	max-width: 760px;
	margin-bottom: 42px;
}

.sp-section-heading h2,
.sp-areas-intro h2,
.sp-areas-base h2,
.sp-areas-final-cta h2 {
	margin: 0 0 18px;
	line-height: 1.08;
}

.sp-section-heading p:last-child,
.sp-areas-intro p:last-child {
	margin-bottom: 0;
	color: #5d6874;
	font-size: 18px;
	line-height: 1.7;
}


/* Hero */

.sp-areas-hero {
	padding: 96px 0;
	background:
		linear-gradient(135deg, #071a2c 0%, #0c2d49 56%, #09446c 100%);
	color: #fff;
}

.sp-areas-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
	gap: 70px;
	align-items: center;
}

.sp-areas-hero h1 {
	margin: 0;
	max-width: 820px;
	color: #fff;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.02;
	letter-spacing: -.035em;
}

.sp-areas-lead {
	max-width: 760px;
	margin: 26px 0 0;
	color: rgba(255,255,255,.82);
	font-size: 20px;
	line-height: 1.65;
}

.sp-hero-actions,
.sp-final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.sp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 24px;
	border-radius: 5px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	transition:
		transform .2s ease,
		background-color .2s ease,
		border-color .2s ease;
}

.sp-btn:hover {
	transform: translateY(-2px);
}

.sp-btn-primary {
	background: var(--sp-blue, #00a1ff);
	color: #fff !important;
}

.sp-btn-secondary {
	border: 1px solid rgba(255,255,255,.35);
	color: #fff !important;
	background: rgba(255,255,255,.06);
}

.sp-btn-light {
	background: #fff;
	color: #0a3553 !important;
}

.sp-btn-outline-light {
	border: 1px solid rgba(255,255,255,.55);
	color: #fff !important;
}

.sp-areas-hero-panel {
	padding: 38px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 10px;
	background: rgba(255,255,255,.075);
	box-shadow: 0 24px 60px rgba(0,0,0,.18);
}

.sp-areas-panel-kicker {
	margin: 0 0 8px;
	color: #88d5ff;
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.sp-areas-hero-panel h2 {
	margin: 0 0 18px;
	color: #fff;
	font-size: 30px;
	line-height: 1.15;
}

.sp-areas-hero-panel > p:last-of-type {
	color: rgba(255,255,255,.76);
	line-height: 1.7;
}

.sp-areas-trust {
	display: grid;
	gap: 18px;
	margin-top: 30px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.14);
}

.sp-areas-trust strong,
.sp-areas-trust span {
	display: block;
}

.sp-areas-trust strong {
	color: #fff;
	font-size: 18px;
}

.sp-areas-trust span {
	margin-top: 3px;
	color: rgba(255,255,255,.62);
	font-size: 14px;
}


/* Intro */

.sp-areas-intro {
	text-align: center;
}


/* City grid */

.sp-areas-grid-section {
	background: #f5f8fb;
}

.sp-area-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.sp-area-card {
	position: relative;
	display: block;
	min-height: 230px;
	padding: 32px;
	border: 1px solid #dde5ec;
	border-radius: 8px;
	background: #fff;
	color: #17202a !important;
	text-decoration: none !important;
	box-shadow: 0 8px 28px rgba(21,44,65,.05);
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		border-color .22s ease;
}

.sp-area-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0,161,255,.42);
	box-shadow: 0 16px 38px rgba(21,44,65,.10);
}

.sp-area-card-state {
	position: absolute;
	top: 28px;
	right: 28px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ecf8ff;
	color: #007fc9;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
}

.sp-area-card h3 {
	margin: 0 60px 14px 0;
	font-size: 27px;
}

.sp-area-card p {
	max-width: 500px;
	margin-bottom: 25px;
	color: #66727e;
	line-height: 1.65;
}

.sp-area-link {
	color: #008bd8;
	font-weight: 800;
}


/* Dunnellon / Citrus County context */

.sp-areas-base {
	background: #081c2f;
	color: #fff;
}

.sp-areas-base-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	gap: 70px;
	align-items: center;
}

.sp-areas-base h2 {
	color: #fff;
	font-size: clamp(34px, 4vw, 50px);
}

.sp-areas-base p {
	color: rgba(255,255,255,.74);
	font-size: 17px;
	line-height: 1.75;
}

.sp-areas-base-box {
	padding: 34px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 8px;
	background: rgba(255,255,255,.06);
}

.sp-areas-base-box span,
.sp-areas-base-box strong {
	display: block;
}

.sp-areas-base-box span {
	color: #88d5ff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sp-areas-base-box strong {
	margin-top: 8px;
	color: #fff;
	font-size: 25px;
}

.sp-areas-base-box a {
	color: #fff !important;
	font-size: 20px;
	font-weight: 800;
}


/* Services crosslinks */

.sp-area-service-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.sp-area-service-card {
	display: block;
	padding: 28px 24px;
	border-top: 3px solid #dce6ed;
	background: #f7f9fb;
	color: #17202a !important;
	text-decoration: none !important;
	transition:
		transform .2s ease,
		border-color .2s ease,
		background .2s ease;
}

.sp-area-service-card:hover {
	transform: translateY(-3px);
	border-color: var(--sp-blue, #00a1ff);
	background: #f0f8fd;
}

.sp-area-service-card > span {
	color: var(--sp-blue, #00a1ff);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-area-service-card h3 {
	margin: 14px 0 12px;
	font-size: 21px;
}

.sp-area-service-card p {
	margin: 0;
	color: #65717c;
	font-size: 15px;
	line-height: 1.6;
}


/* Process */

.sp-areas-process {
	background: #f5f8fb;
}

.sp-area-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.sp-area-process-step {
	padding: 30px;
	background: #fff;
	border: 1px solid #e0e7ed;
	border-radius: 8px;
}

.sp-area-process-step > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 22px;
	border-radius: 50%;
	background: #eaf7ff;
	color: #008bd8;
	font-weight: 900;
}

.sp-area-process-step h3 {
	margin: 0 0 12px;
	font-size: 22px;
}

.sp-area-process-step p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}


/* FAQ */

.sp-faq-list {
	border-top: 1px solid #dce4ea;
}

.sp-faq-list details {
	border-bottom: 1px solid #dce4ea;
}

.sp-faq-list summary {
	position: relative;
	padding: 22px 44px 22px 0;
	cursor: pointer;
	list-style: none;
	font-size: 19px;
	font-weight: 800;
	color: #17202a;
}

.sp-faq-list summary::-webkit-details-marker {
	display: none;
}

.sp-faq-list summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 18px;
	color: var(--sp-blue, #00a1ff);
	font-size: 28px;
	font-weight: 400;
}

.sp-faq-list details[open] summary::after {
	content: "−";
}

.sp-faq-list details div {
	padding: 0 50px 22px 0;
}

.sp-faq-list details p {
	margin: 0;
	color: #64717d;
	line-height: 1.75;
}


/* Final CTA */

.sp-areas-final-cta {
	padding: 72px 0;
	background: var(--sp-blue, #00a1ff);
	color: #fff;
}

.sp-final-cta-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}

.sp-areas-final-cta h2 {
	color: #fff;
	font-size: clamp(32px, 4vw, 46px);
}

.sp-areas-final-cta p {
	margin-bottom: 0;
	color: rgba(255,255,255,.84);
}

.sp-final-actions {
	flex: 0 0 auto;
	margin-top: 0;
}


/* Responsive */

@media (max-width: 1024px) {

	.sp-areas-hero-grid,
	.sp-areas-base-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

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

}

@media (max-width: 767px) {

	.sp-container {
		width: min(100% - 30px, var(--sp-width, 1280px));
	}

	.sp-section {
		padding: 64px 0;
	}

	.sp-areas-hero {
		padding: 70px 0;
	}

	.sp-areas-hero h1 {
		font-size: clamp(38px, 11vw, 52px);
	}

	.sp-areas-lead {
		font-size: 18px;
	}

	.sp-areas-hero-panel {
		padding: 26px;
	}

	.sp-area-grid,
	.sp-area-service-grid,
	.sp-area-process-grid {
		grid-template-columns: 1fr;
	}

	.sp-area-card {
		min-height: 0;
		padding: 27px;
	}

	.sp-area-card-state {
		top: 24px;
		right: 24px;
	}

	.sp-area-card h3 {
		font-size: 24px;
	}

	.sp-final-cta-inner {
		display: block;
	}

	.sp-final-actions {
		margin-top: 28px;
	}

	.sp-btn {
		width: 100%;
	}

}
/* =========================================================
   SERVICE AREAS HUB — POLISH / COLLISION OVERRIDES
   Keep scoped to .sp-areas-page so /services/ is untouched.
   ========================================================= */


/* ---------------------------------------------------------
   HERO TYPOGRAPHY
   --------------------------------------------------------- */

.sp-areas-page .sp-areas-hero h1 {
	color: #fff !important;
	max-width: 760px !important;
	margin: 0 !important;
	font-size: clamp(42px, 4.5vw, 62px) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
}

.sp-areas-page .sp-areas-lead {
	max-width: 720px;
	margin-top: 24px;
	font-size: 19px;
	line-height: 1.65;
}


/* ---------------------------------------------------------
   FIX OLD .sp-section-heading COLLISION
   --------------------------------------------------------- */

.sp-areas-page .sp-section-heading {
	display: block !important;
	grid-template-columns: none !important;
	grid-template-areas: none !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 0 42px !important;
	padding: 0 !important;
	text-align: left !important;
}

.sp-areas-page .sp-section-heading .sp-eyebrow {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 13px !important;
	text-align: left !important;
}

.sp-areas-page .sp-section-heading h2 {
	display: block !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
	color: #17202a !important;
	font-size: clamp(34px, 3.6vw, 48px) !important;
	line-height: 1.06 !important;
	letter-spacing: -.028em !important;
	text-align: left !important;
}

.sp-areas-page .sp-section-heading > p:last-child {
	display: block !important;
	width: 100% !important;
	max-width: 700px !important;
	margin: 0 !important;
	color: #5e6b76 !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	text-align: left !important;
}


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.sp-areas-page .sp-areas-intro .sp-narrow {
	margin-inline: auto;
	text-align: center;
}

.sp-areas-page .sp-areas-intro h2 {
	max-width: 820px;
	margin: 0 auto 18px !important;
	color: #17202a !important;
	font-size: clamp(34px, 4vw, 46px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.025em;
}

.sp-areas-page .sp-areas-intro p:last-child {
	max-width: 760px;
	margin-inline: auto;
}


/* ---------------------------------------------------------
   CITY CARDS
   --------------------------------------------------------- */

.sp-areas-page .sp-area-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

.sp-areas-page .sp-area-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-height: 255px !important;
	padding: 30px !important;
	border-radius: 10px !important;
}

.sp-areas-page .sp-area-card-state {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	margin: 0 0 17px !important;
	padding: 5px 9px !important;
	border-radius: 999px !important;
	background: #eaf7ff !important;
	color: #008bd8 !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.sp-areas-page .sp-area-card h3 {
	width: 100% !important;
	margin: 0 0 12px !important;
	color: #17202a !important;
	font-size: 27px !important;
	line-height: 1.08 !important;
}

.sp-areas-page .sp-area-card p {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	color: #65727d !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

.sp-areas-page .sp-area-link {
	display: inline-flex !important;
	margin-top: auto !important;
	padding-top: 24px !important;
	color: #008bd8 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}


/* ---------------------------------------------------------
   DARK LOCAL-EXPERIENCE SECTION
   --------------------------------------------------------- */

.sp-areas-page .sp-areas-base h2 {
	color: #fff !important;
	max-width: 760px !important;
	margin: 0 0 20px !important;
	font-size: clamp(36px, 4vw, 50px) !important;
	line-height: 1.07 !important;
	letter-spacing: -.025em !important;
}

.sp-areas-page .sp-areas-base p {
	max-width: 760px;
	color: rgba(255,255,255,.76) !important;
	font-size: 17px;
	line-height: 1.75;
}


/* ---------------------------------------------------------
   SERVICE CARDS
   Five across was too compressed.
   --------------------------------------------------------- */

.sp-areas-page .sp-area-service-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px !important;
}

.sp-areas-page .sp-area-service-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 205px !important;
	padding: 28px !important;
	border-radius: 7px;
}

.sp-areas-page .sp-area-service-card h3 {
	margin: 15px 0 12px !important;
	color: #17202a !important;
	font-size: 22px !important;
	line-height: 1.15 !important;
}

.sp-areas-page .sp-area-service-card p {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}


/* ---------------------------------------------------------
   PROCESS
   --------------------------------------------------------- */

.sp-areas-page .sp-area-process-step {
	min-height: 215px;
	padding: 30px;
}

.sp-areas-page .sp-area-process-step h3 {
	color: #17202a !important;
	font-size: 22px !important;
	line-height: 1.18;
}


/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

.sp-areas-page .sp-areas-faq .sp-section-heading {
	max-width: 760px !important;
}

.sp-areas-page .sp-faq-list {
	max-width: 900px;
}

.sp-areas-page .sp-faq-list summary {
	color: #17202a !important;
}


/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.sp-areas-page .sp-areas-final-cta h2 {
	color: #fff !important;
	max-width: 700px !important;
	margin: 0 0 12px !important;
	font-size: clamp(34px, 4vw, 46px) !important;
	line-height: 1.08 !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

	.sp-areas-page .sp-area-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

	.sp-areas-page .sp-areas-hero h1 {
		font-size: clamp(38px, 11vw, 50px) !important;
	}

	.sp-areas-page .sp-section-heading h2 {
		font-size: 34px !important;
	}

	.sp-areas-page .sp-area-grid,
	.sp-areas-page .sp-area-service-grid {
		grid-template-columns: 1fr !important;
	}

	.sp-areas-page .sp-area-card {
		min-height: 0 !important;
		padding: 26px !important;
	}

	.sp-areas-page .sp-area-service-card {
		min-height: 0 !important;
	}

}
@media (min-width: 1025px) {

	.sp-areas-page .sp-areas-hero h1 {
		max-width: 700px !important;
	}

	.sp-areas-page .sp-area-service-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}

	.sp-areas-page .sp-area-service-card {
		grid-column: span 2;
	}

	.sp-areas-page .sp-area-service-card:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.sp-areas-page .sp-area-service-card:nth-child(5) {
		grid-column: 4 / span 2;
	}

}
/* =========================================================
   INDIVIDUAL SERVICE DETAIL PAGES
   ========================================================= */

.sp-detail-page {
	background: #fff;
	color: #17202a;
}


/* Hero */

.sp-detail-page .sp-detail-hero {
	padding: 86px 0;
	background:
		linear-gradient(135deg, #071a2c 0%, #0b304e 58%, #0b466d 100%);
	color: #fff;
}

.sp-detail-page .sp-detail-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: 70px;
	align-items: center;
}

.sp-detail-page .sp-detail-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(44px, 5vw, 66px);
	line-height: 1.02;
	letter-spacing: -.035em;
}

.sp-detail-page .sp-detail-lead {
	max-width: 700px;
	margin: 25px 0 0;
	color: rgba(255,255,255,.80);
	font-size: 19px;
	line-height: 1.7;
}

.sp-detail-page .sp-detail-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.14);
}

.sp-detail-page .sp-detail-trust strong,
.sp-detail-page .sp-detail-trust span {
	display: block;
}

.sp-detail-page .sp-detail-trust strong {
	color: #fff;
	font-size: 17px;
}

.sp-detail-page .sp-detail-trust span {
	margin-top: 4px;
	color: rgba(255,255,255,.60);
	font-size: 13px;
	line-height: 1.45;
}


/* Hero image */

.sp-detail-page .sp-detail-hero-media {
	position: relative;
}

.sp-detail-page .sp-detail-image-frame {
	position: relative;
	overflow: hidden;
	min-height: 530px;
	border-radius: 10px;
	box-shadow: 0 28px 70px rgba(0,0,0,.27);
}

.sp-detail-page .sp-detail-image-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
	pointer-events: none;
}

.sp-detail-page .sp-detail-image-frame img {
	display: block;
	width: 100%;
	height: 530px;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.sp-detail-page .sp-detail-image-caption {
	position: absolute;
	right: -22px;
	bottom: 25px;
	width: min(320px, 82%);
	padding: 19px 22px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0,0,0,.16);
}

.sp-detail-page .sp-detail-image-caption span,
.sp-detail-page .sp-detail-image-caption strong {
	display: block;
}

.sp-detail-page .sp-detail-image-caption span {
	color: #008bd8;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.sp-detail-page .sp-detail-image-caption strong {
	margin-top: 5px;
	color: #17202a;
	font-size: 17px;
	line-height: 1.25;
}


/* Intro */

.sp-detail-page .sp-detail-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 90px;
	align-items: start;
}

.sp-detail-page .sp-detail-intro h2 {
	max-width: 540px;
	margin: 0;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-detail-page .sp-detail-copy {
	font-size: 18px;
	line-height: 1.75;
	color: #5f6b76;
}

.sp-detail-page .sp-detail-copy p:first-child {
	margin-top: 0;
}

.sp-detail-page .sp-detail-copy p:last-child {
	margin-bottom: 0;
}


/* Interior / Exterior cards */

.sp-detail-page .sp-residential-services {
	background: #f5f8fb;
}

.sp-detail-page .sp-residential-service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.sp-detail-page .sp-residential-service-card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 24px;
	min-height: 285px;
	padding: 36px;
	border: 1px solid #dce5ec;
	border-radius: 9px;
	background: #fff;
	color: #17202a !important;
	text-decoration: none !important;
	box-shadow: 0 8px 26px rgba(17,40,61,.05);
	transition:
		transform .22s ease,
		border-color .22s ease,
		box-shadow .22s ease;
}

.sp-detail-page .sp-residential-service-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0,161,255,.42);
	box-shadow: 0 18px 38px rgba(17,40,61,.10);
}

.sp-detail-page .sp-service-number {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #e8f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-detail-page .sp-residential-service-card h3 {
	margin: 2px 0 14px;
	color: #17202a !important;
	font-size: 29px;
	line-height: 1.1;
}

.sp-detail-page .sp-residential-service-card p {
	margin: 0;
	color: #66727e;
	font-size: 16px;
	line-height: 1.7;
}

.sp-detail-page .sp-residential-service-card span {
	display: inline-block;
	margin-top: 24px;
	color: #008bd8;
	font-weight: 800;
}


/* Benefits */

.sp-detail-page .sp-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.sp-detail-page .sp-benefit-card {
	padding: 34px;
	border-top: 3px solid #dce6ed;
	background: #f7f9fb;
}

.sp-detail-page .sp-benefit-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-detail-page .sp-benefit-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 23px;
}

.sp-detail-page .sp-benefit-card p {
	margin: 0;
	color: #64717d;
	font-size: 16px;
	line-height: 1.7;
}


/* Process */

.sp-detail-page .sp-detail-process {
	background: #081c2f;
	color: #fff;
}

.sp-detail-page .sp-detail-process-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-detail-page .sp-detail-process-heading h2 {
	max-width: 560px;
	margin: 0 0 20px;
	color: #fff !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
}

.sp-detail-page .sp-detail-process-heading > p:last-child {
	max-width: 600px;
	color: rgba(255,255,255,.70);
	font-size: 17px;
	line-height: 1.75;
}

.sp-detail-page .sp-process-list {
	border-top: 1px solid rgba(255,255,255,.14);
}

.sp-detail-page .sp-process-item {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 22px;
	padding: 27px 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.sp-detail-page .sp-process-item > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(0,161,255,.15);
	color: #79d2ff;
	font-weight: 900;
}

.sp-detail-page .sp-process-item h3 {
	margin: 0 0 7px;
	color: #fff !important;
	font-size: 21px;
}

.sp-detail-page .sp-process-item p {
	margin: 0;
	color: rgba(255,255,255,.68);
	line-height: 1.65;
}


/* Service areas */

.sp-detail-page .sp-detail-areas {
	background: #f5f8fb;
}

.sp-detail-page .sp-detail-area-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid #dce4ea;
	border-left: 1px solid #dce4ea;
}

.sp-detail-page .sp-detail-area-grid a {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 21px 19px;
	border-right: 1px solid #dce4ea;
	border-bottom: 1px solid #dce4ea;
	background: #fff;
	color: #17202a !important;
	font-weight: 800;
	text-decoration: none !important;
	transition:
		background .18s ease,
		color .18s ease;
}

.sp-detail-page .sp-detail-area-grid a span {
	color: #00a1ff;
}

.sp-detail-page .sp-detail-area-grid a:hover {
	background: #eef8fe;
}

.sp-detail-page .sp-detail-area-footer {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 25px;
	padding-top: 24px;
}

.sp-detail-page .sp-detail-area-footer p {
	margin: 0;
	color: #65717c;
}

.sp-detail-page .sp-detail-area-footer a {
	color: #008bd8 !important;
	font-weight: 800;
}


/* FAQ */

.sp-detail-page .sp-detail-faq .sp-section-heading {
	max-width: 760px !important;
}


/* CTA */

.sp-detail-page .sp-detail-final-cta {
	padding: 72px 0;
	background: #00a1ff;
	color: #fff;
}

.sp-detail-page .sp-detail-final-cta h2 {
	max-width: 680px;
	margin: 0 0 12px;
	color: #fff !important;
	font-size: clamp(34px, 4vw, 46px);
	line-height: 1.08;
}

.sp-detail-page .sp-detail-final-cta p {
	margin-bottom: 0;
	color: rgba(255,255,255,.83);
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-detail-page .sp-detail-hero-grid,
	.sp-detail-page .sp-detail-intro-grid,
	.sp-detail-page .sp-detail-process-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.sp-detail-page .sp-detail-image-frame,
	.sp-detail-page .sp-detail-image-frame img {
		height: 620px;
	}

	.sp-detail-page .sp-detail-image-frame {
		min-height: 620px;
	}

	.sp-detail-page .sp-detail-area-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-detail-page .sp-detail-hero {
		padding: 68px 0;
	}

	.sp-detail-page .sp-detail-hero h1 {
		font-size: clamp(38px, 11vw, 50px);
	}

	.sp-detail-page .sp-detail-lead {
		font-size: 18px;
	}

	.sp-detail-page .sp-detail-trust {
		grid-template-columns: 1fr;
	}

	.sp-detail-page .sp-detail-image-frame,
	.sp-detail-page .sp-detail-image-frame img {
		height: 460px;
	}

	.sp-detail-page .sp-detail-image-frame {
		min-height: 460px;
	}

	.sp-detail-page .sp-detail-image-caption {
		position: static;
		width: auto;
		margin-top: 12px;
	}

	.sp-detail-page .sp-residential-service-grid,
	.sp-detail-page .sp-benefit-grid,
	.sp-detail-page .sp-detail-area-grid {
		grid-template-columns: 1fr;
	}

	.sp-detail-page .sp-residential-service-card {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 27px;
	}

	.sp-detail-page .sp-benefit-card {
		padding: 27px;
	}

	.sp-detail-page .sp-detail-area-footer {
		display: block;
	}

	.sp-detail-page .sp-detail-area-footer a {
		display: inline-block;
		margin-top: 12px;
	}

}
/* =========================================================
   SERVICE DETAIL PAGES — SECTION HEADING COLLISION FIX
   ========================================================= */

.sp-detail-page .sp-section-heading {
	display: block !important;
	grid-template-columns: none !important;
	grid-template-areas: none !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 0 42px !important;
	padding: 0 !important;
	text-align: left !important;
}

.sp-detail-page .sp-section-heading .sp-eyebrow {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 13px !important;
	text-align: left !important;
}

.sp-detail-page .sp-section-heading h2 {
	display: block !important;
	width: 100% !important;
	max-width: 820px !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
	color: #17202a !important;
	font-size: clamp(34px, 3.6vw, 48px) !important;
	line-height: 1.06 !important;
	letter-spacing: -.028em !important;
	text-align: left !important;
}

.sp-detail-page .sp-section-heading > p:last-child {
	display: block !important;
	width: 100% !important;
	max-width: 700px !important;
	margin: 0 !important;
	color: #5e6b76 !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	text-align: left !important;
}

@media (max-width: 767px) {

	.sp-detail-page .sp-section-heading h2 {
		font-size: 34px !important;
	}

}
/* =========================================================
   INTERIOR PAINTING
   ========================================================= */

.sp-interior-page .sp-interior-areas,
.sp-interior-page .sp-interior-related {
	background: #f5f8fb;
}


/* Interior spaces */

.sp-interior-page .sp-interior-space-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.sp-interior-page .sp-interior-space-card {
	min-height: 220px;
	padding: 30px;
	border: 1px solid #dfe7ed;
	border-radius: 8px;
	background: #fff;
}

.sp-interior-page .sp-interior-space-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-interior-page .sp-interior-space-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 22px;
	line-height: 1.15;
}

.sp-interior-page .sp-interior-space-card p {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.65;
}


/* Finish guide */

.sp-interior-page .sp-interior-finish {
	background: #fff;
}

.sp-interior-page .sp-interior-finish-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-interior-page .sp-interior-finish h2 {
	max-width: 560px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-interior-page .sp-interior-finish-intro {
	max-width: 590px;
	margin: 0;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-interior-page .sp-finish-list {
	border-top: 1px solid #dce4ea;
}

.sp-interior-page .sp-finish-list > div {
	display: grid;
	grid-template-columns: minmax(120px, .35fr) minmax(0, .65fr);
	gap: 30px;
	padding: 22px 0;
	border-bottom: 1px solid #dce4ea;
}

.sp-interior-page .sp-finish-list strong {
	color: #17202a;
	font-size: 17px;
}

.sp-interior-page .sp-finish-list span {
	color: #65717c;
	line-height: 1.6;
}


/* Benefits */

.sp-interior-page .sp-interior-benefits {
	background: #fff;
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-interior-page .sp-interior-space-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-interior-page .sp-interior-finish-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-interior-page .sp-interior-space-grid {
		grid-template-columns: 1fr;
	}

	.sp-interior-page .sp-interior-space-card {
		min-height: 0;
		padding: 26px;
	}

	.sp-interior-page .sp-finish-list > div {
		grid-template-columns: 1fr;
		gap: 7px;
	}

}
/* =========================================================
   EXTERIOR PAINTING
   ========================================================= */

.sp-exterior-page .sp-exterior-surfaces,
.sp-exterior-page .sp-exterior-related {
	background: #f5f8fb;
}


/* Exterior surfaces */

.sp-exterior-page .sp-exterior-surface-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.sp-exterior-page .sp-exterior-surface-card {
	min-height: 220px;
	padding: 30px;
	border: 1px solid #dfe7ed;
	border-radius: 8px;
	background: #fff;
}

.sp-exterior-page .sp-exterior-surface-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-exterior-page .sp-exterior-surface-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 22px;
	line-height: 1.15;
}

.sp-exterior-page .sp-exterior-surface-card p {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.65;
}


/* Preparation */

.sp-exterior-page .sp-exterior-prep {
	background: #fff;
}

.sp-exterior-page .sp-exterior-prep-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-exterior-page .sp-exterior-prep h2 {
	max-width: 570px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-exterior-page .sp-exterior-prep-intro {
	max-width: 590px;
	margin: 0;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-exterior-page .sp-exterior-prep-list {
	border-top: 1px solid #dce4ea;
}

.sp-exterior-page .sp-exterior-prep-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #dce4ea;
}

.sp-exterior-page .sp-exterior-prep-list > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e9f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-exterior-page .sp-exterior-prep-list strong {
	display: block;
	margin-bottom: 6px;
	color: #17202a;
	font-size: 18px;
}

.sp-exterior-page .sp-exterior-prep-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}


/* Benefits */

.sp-exterior-page .sp-exterior-benefits {
	background: #fff;
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-exterior-page .sp-exterior-surface-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-exterior-page .sp-exterior-prep-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-exterior-page .sp-exterior-surface-grid {
		grid-template-columns: 1fr;
	}

	.sp-exterior-page .sp-exterior-surface-card {
		min-height: 0;
		padding: 26px;
	}

}
/* =========================================================
   COMMERCIAL PAINTING
   ========================================================= */

.sp-commercial-page .sp-commercial-spaces,
.sp-commercial-page .sp-commercial-related {
	background: #f5f8fb;
}


/* Commercial spaces */

.sp-commercial-page .sp-commercial-space-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.sp-commercial-page .sp-commercial-space-card {
	min-height: 220px;
	padding: 30px;
	border: 1px solid #dfe7ed;
	border-radius: 8px;
	background: #fff;
}

.sp-commercial-page .sp-commercial-space-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-commercial-page .sp-commercial-space-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 22px;
	line-height: 1.15;
}

.sp-commercial-page .sp-commercial-space-card p {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.65;
}


/* Commercial planning */

.sp-commercial-page .sp-commercial-priorities {
	background: #fff;
}

.sp-commercial-page .sp-commercial-priorities-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-commercial-page .sp-commercial-priorities h2 {
	max-width: 590px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-commercial-page .sp-commercial-priorities-intro {
	max-width: 590px;
	margin: 0;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-commercial-page .sp-commercial-priority-list {
	border-top: 1px solid #dce4ea;
}

.sp-commercial-page .sp-commercial-priority-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #dce4ea;
}

.sp-commercial-page .sp-commercial-priority-list > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e9f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-commercial-page .sp-commercial-priority-list strong {
	display: block;
	margin-bottom: 6px;
	color: #17202a;
	font-size: 18px;
}

.sp-commercial-page .sp-commercial-priority-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}

.sp-commercial-page .sp-commercial-benefits {
	background: #fff;
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-commercial-page .sp-commercial-space-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-commercial-page .sp-commercial-priorities-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-commercial-page .sp-commercial-space-grid {
		grid-template-columns: 1fr;
	}

	.sp-commercial-page .sp-commercial-space-card {
		min-height: 0;
		padding: 26px;
	}

}
/* =========================================================
   INDUSTRIAL PAINTING
   ========================================================= */

.sp-industrial-page .sp-industrial-applications,
.sp-industrial-page .sp-industrial-related {
	background: #f5f8fb;
}


/* Industrial applications */

.sp-industrial-page .sp-industrial-application-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.sp-industrial-page .sp-industrial-application-card {
	min-height: 220px;
	padding: 30px;
	border: 1px solid #dfe7ed;
	border-radius: 8px;
	background: #fff;
}

.sp-industrial-page .sp-industrial-application-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-industrial-page .sp-industrial-application-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 22px;
	line-height: 1.15;
}

.sp-industrial-page .sp-industrial-application-card p {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.65;
}


/* Materials and preparation */

.sp-industrial-page .sp-industrial-materials {
	background: #fff;
}

.sp-industrial-page .sp-industrial-materials-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-industrial-page .sp-industrial-materials h2 {
	max-width: 590px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-industrial-page .sp-industrial-materials-intro {
	max-width: 590px;
	margin: 0;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-industrial-page .sp-industrial-material-list {
	border-top: 1px solid #dce4ea;
}

.sp-industrial-page .sp-industrial-material-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #dce4ea;
}

.sp-industrial-page .sp-industrial-material-list > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e9f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-industrial-page .sp-industrial-material-list strong {
	display: block;
	margin-bottom: 6px;
	color: #17202a;
	font-size: 18px;
}

.sp-industrial-page .sp-industrial-material-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}

.sp-industrial-page .sp-industrial-benefits {
	background: #fff;
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-industrial-page .sp-industrial-application-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-industrial-page .sp-industrial-materials-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-industrial-page .sp-industrial-application-grid {
		grid-template-columns: 1fr;
	}

	.sp-industrial-page .sp-industrial-application-card {
		min-height: 0;
		padding: 26px;
	}

}
/* =========================================================
   LOCATION DETAIL PAGES
   Dunnellon model
   ========================================================= */

.sp-location-page {
	background: #fff;
	color: #17202a;
}


/* Hero */

.sp-location-page .sp-location-hero {
	padding: 86px 0;
	background:
		linear-gradient(135deg, #071a2c 0%, #0b304e 58%, #0b466d 100%);
	color: #fff;
}

.sp-location-page .sp-location-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
	gap: 78px;
	align-items: center;
}

.sp-location-page .sp-location-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(46px, 5vw, 68px);
	line-height: 1.02;
	letter-spacing: -.035em;
}

.sp-location-page .sp-location-lead {
	max-width: 720px;
	margin: 25px 0 0;
	color: rgba(255,255,255,.80);
	font-size: 19px;
	line-height: 1.7;
}

.sp-location-page .sp-location-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.14);
}

.sp-location-page .sp-location-trust strong,
.sp-location-page .sp-location-trust span {
	display: block;
}

.sp-location-page .sp-location-trust strong {
	color: #fff;
	font-size: 17px;
}

.sp-location-page .sp-location-trust span {
	margin-top: 4px;
	color: rgba(255,255,255,.60);
	font-size: 13px;
	line-height: 1.45;
}


/* Dunnellon business card */

.sp-location-page .sp-location-home-card {
	padding: 36px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 9px;
	background: rgba(255,255,255,.10);
	box-shadow: 0 26px 65px rgba(0,0,0,.18);
	backdrop-filter: blur(6px);
}

.sp-location-page .sp-location-home-card h2 {
	margin: 0 0 15px;
	color: #fff !important;
	font-size: 30px;
	line-height: 1.1;
}

.sp-location-page .sp-location-home-intro {
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: 16px;
	line-height: 1.65;
}

.sp-location-page .sp-location-address,
.sp-location-page .sp-location-contact {
	margin-top: 25px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.13);
}

.sp-location-page .sp-location-address span,
.sp-location-page .sp-location-contact span {
	display: block;
	margin-bottom: 5px;
	color: rgba(255,255,255,.56);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sp-location-page .sp-location-address strong {
	color: #fff;
	font-size: 17px;
	line-height: 1.55;
}

.sp-location-page .sp-location-contact a {
	color: #fff !important;
	font-size: 21px;
	font-weight: 900;
}


/* Intro */

.sp-location-page .sp-location-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 90px;
	align-items: start;
}

.sp-location-page .sp-location-intro h2 {
	max-width: 570px;
	margin: 0;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-location-page .sp-location-copy {
	color: #5f6b76;
	font-size: 18px;
	line-height: 1.75;
}

.sp-location-page .sp-location-copy p:first-child {
	margin-top: 0;
}

.sp-location-page .sp-location-copy p:last-child {
	margin-bottom: 0;
}


/* Fix section-heading collision */

.sp-location-page .sp-section-heading {
	display: block !important;
	grid-template-columns: none !important;
	grid-template-areas: none !important;
	width: 100% !important;
	max-width: 840px !important;
	margin: 0 0 42px !important;
	padding: 0 !important;
	text-align: left !important;
}

.sp-location-page .sp-section-heading .sp-eyebrow {
	display: block !important;
	width: auto !important;
	margin: 0 0 13px !important;
	text-align: left !important;
}

.sp-location-page .sp-section-heading h2 {
	display: block !important;
	width: 100% !important;
	max-width: 840px !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
	color: #17202a !important;
	font-size: clamp(34px, 3.6vw, 48px) !important;
	line-height: 1.06 !important;
	letter-spacing: -.028em !important;
	text-align: left !important;
}

.sp-location-page .sp-section-heading > p:last-child {
	display: block !important;
	width: 100% !important;
	max-width: 720px !important;
	margin: 0 !important;
	color: #5e6b76 !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	text-align: left !important;
}


/* Services */

.sp-location-page .sp-location-services {
	background: #f5f8fb;
}

.sp-location-page .sp-location-service-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.sp-location-page .sp-location-service-card {
	display: flex;
	flex-direction: column;
	grid-column: span 2;
	min-height: 245px;
	padding: 30px;
	border: 1px solid #dde6ed;
	border-radius: 8px;
	background: #fff;
	color: #17202a !important;
	text-decoration: none !important;
	box-shadow: 0 8px 25px rgba(18,42,63,.04);
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

.sp-location-page .sp-location-service-card:nth-child(4) {
	grid-column: 2 / span 2;
}

.sp-location-page .sp-location-service-card:nth-child(5) {
	grid-column: 4 / span 2;
}

.sp-location-page .sp-location-service-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0,161,255,.38);
	box-shadow: 0 18px 40px rgba(18,42,63,.09);
}

.sp-location-page .sp-location-service-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-location-page .sp-location-service-card h3 {
	margin: 15px 0 12px;
	color: #17202a !important;
	font-size: 23px;
	line-height: 1.15;
}

.sp-location-page .sp-location-service-card p {
	margin: 0;
	color: #65717c;
	font-size: 16px;
	line-height: 1.65;
}

.sp-location-page .sp-location-service-card strong {
	display: inline-block;
	margin-top: auto;
	padding-top: 24px;
	color: #008bd8;
	font-size: 14px;
}


/* Dunnellon local section */

.sp-dunnellon-page .sp-dunnellon-local {
	background: #fff;
}

.sp-dunnellon-page .sp-dunnellon-local-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: 80px;
	align-items: center;
}

.sp-dunnellon-page .sp-dunnellon-local-content h2 {
	max-width: 650px;
	margin: 0 0 22px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-dunnellon-page .sp-dunnellon-local-content > p:not(.sp-eyebrow) {
	max-width: 720px;
	color: #606d78;
	font-size: 17px;
	line-height: 1.75;
}

.sp-dunnellon-page .sp-dunnellon-map-card {
	overflow: hidden;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f6f9fb;
	box-shadow: 0 18px 44px rgba(17,40,61,.08);
}

.sp-dunnellon-page .sp-dunnellon-map-card img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: #fff;
}

.sp-dunnellon-page .sp-dunnellon-map-meta {
	padding: 24px 27px 27px;
}

.sp-dunnellon-page .sp-dunnellon-map-meta > span {
	display: block;
	color: #008bd8;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .1em;
}

.sp-dunnellon-page .sp-dunnellon-map-meta strong {
	display: block;
	margin-top: 6px;
	color: #17202a;
	font-size: 22px;
}

.sp-dunnellon-page .sp-dunnellon-map-meta p {
	margin: 8px 0 0;
	color: #68747f;
	line-height: 1.55;
}


/* Why Shields */

.sp-location-page .sp-location-why {
	background: #f5f8fb;
}

.sp-location-page .sp-location-proof-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.sp-location-page .sp-location-proof-card {
	padding: 32px;
	border-top: 3px solid #dce6ed;
	background: #fff;
}

.sp-location-page .sp-location-proof-card > span {
	color: #00a1ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-location-page .sp-location-proof-card h3 {
	margin: 15px 0 11px;
	color: #17202a !important;
	font-size: 23px;
}

.sp-location-page .sp-location-proof-card p {
	margin: 0;
	color: #64717d;
	font-size: 16px;
	line-height: 1.7;
}


/* Nearby areas */

.sp-location-page .sp-location-nearby {
	background: #fff;
}

.sp-location-page .sp-location-nearby-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.sp-location-page .sp-location-nearby-grid a {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 145px;
	padding: 25px;
	border: 1px solid #dce5eb;
	border-radius: 7px;
	background: #f8fafc;
	text-decoration: none !important;
}

.sp-location-page .sp-location-nearby-grid span {
	color: #17202a;
	font-size: 19px;
	font-weight: 900;
}

.sp-location-page .sp-location-nearby-grid strong {
	margin-top: 26px;
	color: #008bd8;
	font-size: 14px;
}

.sp-location-page .sp-location-nearby-footer {
	margin-top: 24px;
	text-align: right;
}

.sp-location-page .sp-location-nearby-footer a {
	color: #008bd8 !important;
	font-weight: 800;
}


/* Reuse detail-page process / FAQ / CTA */

.sp-location-page .sp-detail-process {
	background: #081c2f;
	color: #fff;
}

.sp-location-page .sp-detail-process-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-location-page .sp-detail-process-heading h2 {
	max-width: 560px;
	margin: 0 0 20px;
	color: #fff !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
}

.sp-location-page .sp-detail-process-heading > p:last-child {
	max-width: 600px;
	color: rgba(255,255,255,.70);
	font-size: 17px;
	line-height: 1.75;
}

.sp-location-page .sp-process-list {
	border-top: 1px solid rgba(255,255,255,.14);
}

.sp-location-page .sp-process-item {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 22px;
	padding: 27px 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.sp-location-page .sp-process-item > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(0,161,255,.15);
	color: #79d2ff;
	font-weight: 900;
}

.sp-location-page .sp-process-item h3 {
	margin: 0 0 7px;
	color: #fff !important;
	font-size: 21px;
}

.sp-location-page .sp-process-item p {
	margin: 0;
	color: rgba(255,255,255,.68);
	line-height: 1.65;
}

.sp-location-page .sp-detail-final-cta {
	padding: 72px 0;
	background: #00a1ff;
	color: #fff;
}

.sp-location-page .sp-detail-final-cta h2 {
	max-width: 680px;
	margin: 0 0 12px;
	color: #fff !important;
	font-size: clamp(34px, 4vw, 46px);
	line-height: 1.08;
}

.sp-location-page .sp-detail-final-cta p {
	margin-bottom: 0;
	color: rgba(255,255,255,.83);
}


/* Tablet */

@media (max-width: 1024px) {

	.sp-location-page .sp-location-hero-grid,
	.sp-location-page .sp-location-intro-grid,
	.sp-dunnellon-page .sp-dunnellon-local-grid,
	.sp-location-page .sp-detail-process-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

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

	.sp-location-page .sp-location-service-card,
	.sp-location-page .sp-location-service-card:nth-child(4),
	.sp-location-page .sp-location-service-card:nth-child(5) {
		grid-column: auto;
	}

	.sp-location-page .sp-location-nearby-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* Mobile */

@media (max-width: 767px) {

	.sp-location-page .sp-location-hero {
		padding: 66px 0;
	}

	.sp-location-page .sp-location-hero h1 {
		font-size: clamp(39px, 11vw, 50px);
	}

	.sp-location-page .sp-location-trust,
	.sp-location-page .sp-location-service-grid,
	.sp-location-page .sp-location-proof-grid,
	.sp-location-page .sp-location-nearby-grid {
		grid-template-columns: 1fr;
	}

	.sp-location-page .sp-location-service-card {
		min-height: 0;
		padding: 27px;
	}

	.sp-location-page .sp-location-home-card {
		padding: 28px;
	}

	.sp-location-page .sp-section-heading h2 {
		font-size: 34px !important;
	}

}
/* Dunnellon local information panel */

.sp-dunnellon-page .sp-dunnellon-local-card {
	padding: 38px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f5f8fb;
	box-shadow: 0 18px 44px rgba(17,40,61,.07);
}

.sp-dunnellon-page .sp-dunnellon-local-card h3 {
	margin: 0 0 16px;
	color: #17202a !important;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.sp-dunnellon-page .sp-dunnellon-local-card > p:not(.sp-eyebrow) {
	margin: 0;
	color: #63707b;
	font-size: 16px;
	line-height: 1.7;
}

.sp-dunnellon-page .sp-dunnellon-local-details {
	margin-top: 27px;
	border-top: 1px solid #d9e2e8;
}

.sp-dunnellon-page .sp-dunnellon-local-details > div {
	padding: 18px 0;
	border-bottom: 1px solid #d9e2e8;
}

.sp-dunnellon-page .sp-dunnellon-local-details span {
	display: block;
	margin-bottom: 5px;
	color: #008bd8;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-dunnellon-page .sp-dunnellon-local-details strong,
.sp-dunnellon-page .sp-dunnellon-local-details a {
	color: #17202a !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.5;
}

.sp-dunnellon-page .sp-dunnellon-local-cta {
	display: inline-block;
	margin-top: 25px;
	color: #008bd8 !important;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
}
/* =========================================================
   RAINBOW SPRINGS LOCATION PAGE
   ========================================================= */

.sp-rainbow-page .sp-rainbow-local {
	background: #fff;
}

.sp-rainbow-page .sp-rainbow-local-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(350px, .95fr);
	gap: 80px;
	align-items: center;
}

.sp-rainbow-page .sp-rainbow-local-grid h2 {
	max-width: 650px;
	margin: 0 0 22px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-rainbow-page .sp-rainbow-local-grid > div:first-child > p:not(.sp-eyebrow) {
	max-width: 720px;
	color: #606d78;
	font-size: 17px;
	line-height: 1.75;
}

.sp-rainbow-page .sp-rainbow-local-panel {
	padding: 38px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f5f8fb;
	box-shadow: 0 18px 44px rgba(17,40,61,.07);
}

.sp-rainbow-page .sp-rainbow-local-panel h3 {
	margin: 0 0 16px;
	color: #17202a !important;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.sp-rainbow-page .sp-rainbow-local-panel > p:not(.sp-eyebrow) {
	margin: 0;
	color: #63707b;
	font-size: 16px;
	line-height: 1.7;
}

.sp-rainbow-page .sp-rainbow-facts {
	margin-top: 27px;
	border-top: 1px solid #d9e2e8;
}

.sp-rainbow-page .sp-rainbow-facts > div {
	padding: 18px 0;
	border-bottom: 1px solid #d9e2e8;
}

.sp-rainbow-page .sp-rainbow-facts span {
	display: block;
	margin-bottom: 5px;
	color: #008bd8;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-rainbow-page .sp-rainbow-facts strong,
.sp-rainbow-page .sp-rainbow-facts a {
	color: #17202a !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.5;
}


/* Exterior planning */

.sp-rainbow-page .sp-rainbow-exterior {
	background: #fff;
}

.sp-rainbow-page .sp-rainbow-exterior-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-rainbow-page .sp-rainbow-exterior-grid h2 {
	max-width: 620px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-rainbow-page .sp-rainbow-exterior-grid > div:first-child > p:not(.sp-eyebrow) {
	max-width: 620px;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-rainbow-page .sp-rainbow-exterior-grid > div:first-child > a {
	display: inline-block;
	margin-top: 14px;
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}

.sp-rainbow-page .sp-rainbow-exterior-list {
	border-top: 1px solid #dce4ea;
}

.sp-rainbow-page .sp-rainbow-exterior-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #dce4ea;
}

.sp-rainbow-page .sp-rainbow-exterior-list > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e9f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-rainbow-page .sp-rainbow-exterior-list strong {
	display: block;
	margin-bottom: 6px;
	color: #17202a;
	font-size: 18px;
}

.sp-rainbow-page .sp-rainbow-exterior-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}


@media (max-width: 1024px) {

	.sp-rainbow-page .sp-rainbow-local-grid,
	.sp-rainbow-page .sp-rainbow-exterior-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

}


@media (max-width: 767px) {

	.sp-rainbow-page .sp-rainbow-local-panel {
		padding: 28px;
	}

}
/* =========================================================
   BEVERLY HILLS SERVICE AREA
   ========================================================= */

.sp-beverly-page .sp-beverly-community {
	background: #fff;
}

.sp-beverly-page .sp-beverly-community-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
	gap: 80px;
	align-items: center;
}

.sp-beverly-page .sp-beverly-community-grid h2 {
	max-width: 650px;
	margin: 0 0 22px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-beverly-page .sp-beverly-community-grid > div:first-child > p:not(.sp-eyebrow) {
	max-width: 720px;
	color: #606d78;
	font-size: 17px;
	line-height: 1.75;
}

.sp-beverly-page .sp-beverly-community-card {
	padding: 38px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f5f8fb;
	box-shadow: 0 18px 44px rgba(17,40,61,.07);
}

.sp-beverly-page .sp-beverly-community-card h3 {
	margin: 0 0 16px;
	color: #17202a !important;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.sp-beverly-page .sp-beverly-community-card > p:not(.sp-eyebrow) {
	margin: 0;
	color: #63707b;
	font-size: 16px;
	line-height: 1.7;
}

.sp-beverly-page .sp-beverly-facts {
	margin-top: 26px;
	border-top: 1px solid #d9e2e8;
}

.sp-beverly-page .sp-beverly-facts > div {
	padding: 17px 0;
	border-bottom: 1px solid #d9e2e8;
}

.sp-beverly-page .sp-beverly-facts span {
	display: block;
	margin-bottom: 5px;
	color: #008bd8;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-beverly-page .sp-beverly-facts strong,
.sp-beverly-page .sp-beverly-facts a {
	color: #17202a !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.5;
}


/* Residential emphasis */

.sp-beverly-page .sp-beverly-home {
	background: #f5f8fb;
}

.sp-beverly-page .sp-beverly-home-grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 80px;
	align-items: start;
}

.sp-beverly-page .sp-beverly-home-grid h2 {
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-beverly-page .sp-beverly-home-grid > div:first-child > p:not(.sp-eyebrow) {
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-beverly-page .sp-beverly-home-options {
	border-top: 1px solid #d8e2e9;
}

.sp-beverly-page .sp-beverly-home-options > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #d8e2e9;
}

.sp-beverly-page .sp-beverly-home-options > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e7f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-beverly-page .sp-beverly-home-options h3 {
	margin: 0 0 6px;
	color: #17202a !important;
	font-size: 18px;
	line-height: 1.25;
}

.sp-beverly-page .sp-beverly-home-options p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}


/* Florida exterior preparation */

.sp-beverly-page .sp-beverly-florida {
	background: #fff;
}

.sp-beverly-page .sp-beverly-florida .sp-section-heading {
	max-width: 760px;
}


@media (max-width: 1024px) {

	.sp-beverly-page .sp-beverly-community-grid,
	.sp-beverly-page .sp-beverly-home-grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

}


@media (max-width: 767px) {

	.sp-beverly-page .sp-beverly-community-card {
		padding: 28px;
	}

}
/* =========================================================
   CITRUS SPRINGS SERVICE AREA
   ========================================================= */

.sp-citrus-page .sp-citrus-local {
	background: #fff;
}

.sp-citrus-page .sp-citrus-local-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
	gap: 80px;
	align-items: center;
}

.sp-citrus-page .sp-citrus-local-grid h2 {
	max-width: 650px;
	margin: 0 0 22px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-citrus-page .sp-citrus-local-grid > div:first-child > p:not(.sp-eyebrow) {
	max-width: 720px;
	color: #606d78;
	font-size: 17px;
	line-height: 1.75;
}

.sp-citrus-page .sp-citrus-local-card {
	padding: 38px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f5f8fb;
	box-shadow: 0 18px 44px rgba(17,40,61,.07);
}

.sp-citrus-page .sp-citrus-local-card h3 {
	margin: 0 0 16px;
	color: #17202a !important;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.sp-citrus-page .sp-citrus-local-card > p:not(.sp-eyebrow) {
	margin: 0;
	color: #63707b;
	font-size: 16px;
	line-height: 1.7;
}

.sp-citrus-page .sp-citrus-facts {
	margin-top: 26px;
	border-top: 1px solid #d9e2e8;
}

.sp-citrus-page .sp-citrus-facts > div {
	padding: 17px 0;
	border-bottom: 1px solid #d9e2e8;
}

.sp-citrus-page .sp-citrus-facts span {
	display: block;
	margin-bottom: 5px;
	color: #008bd8;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.sp-citrus-page .sp-citrus-facts strong,
.sp-citrus-page .sp-citrus-facts a {
	color: #17202a !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.5;
}


/* Exterior section */

.sp-citrus-page .sp-citrus-exterior {
	background: #f5f8fb;
}

.sp-citrus-page .sp-citrus-exterior-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 80px;
	align-items: start;
}

.sp-citrus-page .sp-citrus-exterior-grid h2 {
	max-width: 640px;
	margin: 0 0 20px;
	color: #17202a !important;
	font-size: clamp(36px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.sp-citrus-page .sp-citrus-exterior-grid > div:first-child > p:not(.sp-eyebrow) {
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-citrus-page .sp-citrus-exterior-grid > div:first-child > a {
	display: inline-block;
	margin-top: 14px;
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}

.sp-citrus-page .sp-citrus-exterior-list {
	border-top: 1px solid #d8e2e9;
}

.sp-citrus-page .sp-citrus-exterior-list > div {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #d8e2e9;
}

.sp-citrus-page .sp-citrus-exterior-list > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e7f7ff;
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-citrus-page .sp-citrus-exterior-list h3 {
	margin: 0 0 6px;
	color: #17202a !important;
	font-size: 18px;
	line-height: 1.25;
}

.sp-citrus-page .sp-citrus-exterior-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.65;
}


/* Property type section */

.sp-citrus-page .sp-citrus-property {
	background: #fff;
}

.sp-citrus-page .sp-citrus-property .sp-section-heading {
	max-width: 800px;
}


@media (max-width: 1024px) {

	.sp-citrus-page .sp-citrus-local-grid,
	.sp-citrus-page .sp-citrus-exterior-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

}


@media (max-width: 767px) {

	.sp-citrus-page .sp-citrus-local-card {
		padding: 28px;
	}

}
/* =========================================================
   SERVICE AREA PAGES — LIGHT LOCAL INFORMATION CARD
   Reusable on location pages outside the dark hero
   ========================================================= */

.sp-location-page .sp-location-local-card {
	align-self: center;
	height: auto !important;
	min-height: 0 !important;
	padding: 38px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #f5f8fb !important;
	box-shadow: 0 18px 44px rgba(17,40,61,.07);
	color: #17202a !important;
}

.sp-location-page .sp-location-local-card .sp-eyebrow {
	margin-bottom: 10px;
	color: #00a1ff !important;
}

.sp-location-page .sp-location-local-card h3 {
	margin: 0 0 14px;
	color: #17202a !important;
	font-size: 28px;
	line-height: 1.12;
	letter-spacing: -.02em;
}

.sp-location-page .sp-location-local-card .sp-location-home-intro {
	margin: 0 0 24px;
	color: #63707b !important;
	font-size: 15px;
	line-height: 1.65;
}

.sp-location-page .sp-location-local-card .sp-location-address,
.sp-location-page .sp-location-local-card .sp-location-contact {
	margin: 0;
	padding: 16px 0;
	border-top: 1px solid #d9e2e8;
}

.sp-location-page .sp-location-local-card .sp-location-address span,
.sp-location-page .sp-location-local-card .sp-location-contact span {
	display: block;
	margin-bottom: 5px;
	color: #00a1ff !important;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sp-location-page .sp-location-local-card .sp-location-address strong,
.sp-location-page .sp-location-local-card .sp-location-contact a {
	display: block;
	color: #17202a !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
}

.sp-location-page .sp-location-local-card .sp-location-contact a:hover {
	color: #008bd8 !important;
}

@media (max-width: 767px) {
	.sp-location-page .sp-location-local-card {
		padding: 28px;
	}

	.sp-location-page .sp-location-local-card h3 {
		font-size: 25px;
	}
}
/* =========================================================
   SHIELDS PAINTING HOMEPAGE
   ========================================================= */

.sp-home-page {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow-x: clip;
	background: #fff;
	color: #17202a;
}

.sp-home-page *,
.sp-home-page *::before,
.sp-home-page *::after {
	box-sizing: border-box;
}

.sp-home-page .sp-home-inner {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
}

.sp-home-page .sp-home-section {
	padding: 100px 0;
}

.sp-home-page .sp-home-eyebrow {
	margin: 0 0 14px;
	color: #00a1ff !important;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.sp-home-page .sp-home-section-heading {
	max-width: 820px;
	margin: 0 auto 52px;
	text-align: center;
}

.sp-home-page .sp-home-section-heading h2 {
	margin: 0 0 18px;
	color: #17202a !important;
	font-size: clamp(38px, 4.2vw, 56px);
	line-height: 1.06;
	letter-spacing: -.035em;
}

.sp-home-page .sp-home-section-heading > p:last-child {
	max-width: 720px;
	margin: 0 auto;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}


/* HERO */

.sp-home-page .sp-home-hero {
	padding: 70px 0 72px;
	background:
		radial-gradient(circle at 80% 20%, rgba(0,161,255,.16), transparent 32%),
		linear-gradient(135deg, #111923 0%, #172431 55%, #0e151d 100%);
	color: #fff;
}

.sp-home-page .sp-home-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
	gap: 70px;
	align-items: center;
}

.sp-home-page .sp-home-hero-copy {
	padding: 30px 0;
}

.sp-home-page .sp-home-hero h1 {
	max-width: 760px;
	margin: 0 0 24px;
	color: #fff !important;
	font-size: clamp(48px, 5.8vw, 76px);
	font-weight: 800;
	line-height: .99;
	letter-spacing: -.045em;
}

.sp-home-page .sp-home-lead {
	max-width: 690px;
	margin: 0;
	color: rgba(255,255,255,.76);
	font-size: 20px;
	line-height: 1.65;
}

.sp-home-page .sp-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.sp-home-page .sp-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 15px 25px;
	border: 2px solid transparent;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none !important;
	transition:
		transform .2s ease,
		background .2s ease,
		border-color .2s ease;
}

.sp-home-page .sp-home-btn:hover {
	transform: translateY(-2px);
}

.sp-home-page .sp-home-btn-primary {
	background: #00a1ff;
	color: #fff !important;
}

.sp-home-page .sp-home-btn-primary:hover {
	background: #008fe3;
}

.sp-home-page .sp-home-btn-secondary {
	border-color: rgba(255,255,255,.28);
	background: rgba(255,255,255,.06);
	color: #fff !important;
}

.sp-home-page .sp-home-btn-secondary:hover {
	border-color: rgba(255,255,255,.55);
	background: rgba(255,255,255,.11);
}

.sp-home-page .sp-home-trust-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	max-width: 760px;
	margin-top: 46px;
	border-top: 1px solid rgba(255,255,255,.14);
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.sp-home-page .sp-home-trust-row > div {
	padding: 20px 18px 20px 0;
}

.sp-home-page .sp-home-trust-row > div + div {
	padding-left: 22px;
	border-left: 1px solid rgba(255,255,255,.14);
}

.sp-home-page .sp-home-trust-row strong,
.sp-home-page .sp-home-trust-row span {
	display: block;
}

.sp-home-page .sp-home-trust-row strong {
	margin-bottom: 4px;
	color: #fff;
	font-size: 16px;
}

.sp-home-page .sp-home-trust-row span {
	color: rgba(255,255,255,.58);
	font-size: 12px;
	line-height: 1.4;
}

.sp-home-page .sp-home-hero-media {
	position: relative;
}

.sp-home-page .sp-home-hero-image {
	overflow: hidden;
	min-height: 620px;
	border-radius: 14px;
	box-shadow: 0 32px 80px rgba(0,0,0,.32);
}

.sp-home-page .sp-home-hero-image img {
	display: block;
	width: 100%;
	height: 620px;
	object-fit: cover;
}

.sp-home-page .sp-home-hero-card {
	position: absolute;
	right: -22px;
	bottom: 30px;
	width: min(335px, 80%);
	padding: 25px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 10px;
	background: rgba(17,25,35,.94);
	box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

.sp-home-page .sp-home-hero-card span {
	display: block;
	margin-bottom: 5px;
	color: #00a1ff;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sp-home-page .sp-home-hero-card strong {
	display: block;
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
}

.sp-home-page .sp-home-hero-card p {
	margin: 9px 0 0;
	color: rgba(255,255,255,.64);
	font-size: 13px;
	line-height: 1.55;
}


/* TRUST STRIP */

.sp-home-page .sp-home-trust-strip {
	background: #00a1ff;
}

.sp-home-page .sp-home-trust-strip-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sp-home-page .sp-home-trust-strip-grid > div {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 78px;
	padding: 18px 22px;
	color: #fff;
}

.sp-home-page .sp-home-trust-strip-grid > div + div {
	border-left: 1px solid rgba(255,255,255,.25);
}

.sp-home-page .sp-home-trust-strip-grid span {
	color: rgba(255,255,255,.55);
	font-size: 11px;
	font-weight: 900;
}

.sp-home-page .sp-home-trust-strip-grid strong {
	color: #fff;
	font-size: 14px;
}


/* SERVICES */

.sp-home-page .sp-home-services {
	background: #f5f8fb;
}

.sp-home-page .sp-home-service-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 22px;
}

.sp-home-page .sp-home-service-card {
	grid-column: span 2;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 320px;
	padding: 34px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(17,40,61,.05);
	color: inherit !important;
	text-decoration: none !important;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

.sp-home-page .sp-home-service-card-wide {
	grid-column: span 3;
	min-height: 280px;
}

.sp-home-page .sp-home-service-card:hover {
	transform: translateY(-5px);
	border-color: #b9def2;
	box-shadow: 0 22px 50px rgba(17,40,61,.10);
}

.sp-home-page .sp-home-service-card > span {
	margin-bottom: 46px;
	color: #00a1ff;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .1em;
}

.sp-home-page .sp-home-service-card h3 {
	margin: 0 0 13px;
	color: #17202a !important;
	font-size: 27px;
	line-height: 1.12;
	letter-spacing: -.02em;
}

.sp-home-page .sp-home-service-card p {
	margin: 0 0 26px;
	color: #65717c;
	line-height: 1.7;
}

.sp-home-page .sp-home-service-card strong {
	margin-top: auto;
	color: #008bd8;
	font-size: 13px;
}

.sp-home-page .sp-home-services-footer {
	margin: 32px 0 0;
	text-align: center;
}

.sp-home-page .sp-home-services-footer a {
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}


/* ABOUT */

.sp-home-page .sp-home-about {
	background: #fff;
}

.sp-home-page .sp-home-about-grid {
	display: grid;
	grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr);
	gap: 80px;
	align-items: center;
}

.sp-home-page .sp-home-about-media {
	position: relative;
}

.sp-home-page .sp-home-about-media::before {
	content: "";
	position: absolute;
	top: -20px;
	left: -20px;
	width: 130px;
	height: 130px;
	border-radius: 10px;
	background: #e9f7ff;
	z-index: 0;
}

.sp-home-page .sp-home-about-media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-height: 650px;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 28px 65px rgba(17,40,61,.14);
}

.sp-home-page .sp-home-about-copy h2 {
	max-width: 720px;
	margin: 0 0 22px;
	color: #17202a !important;
	font-size: clamp(40px, 4.3vw, 58px);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.sp-home-page .sp-home-about-lead {
	color: #3e4b56;
	font-size: 19px;
	line-height: 1.7;
}

.sp-home-page .sp-home-about-copy > p:not(.sp-home-eyebrow):not(.sp-home-about-lead) {
	color: #65717c;
	font-size: 16px;
	line-height: 1.75;
}

.sp-home-page .sp-home-about-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 34px;
	border-top: 1px solid #dce5eb;
	border-bottom: 1px solid #dce5eb;
}

.sp-home-page .sp-home-about-facts > div {
	padding: 22px 15px 22px 0;
}

.sp-home-page .sp-home-about-facts > div + div {
	padding-left: 20px;
	border-left: 1px solid #dce5eb;
}

.sp-home-page .sp-home-about-facts span,
.sp-home-page .sp-home-about-facts strong {
	display: block;
}

.sp-home-page .sp-home-about-facts span {
	margin-bottom: 5px;
	color: #8a949d;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sp-home-page .sp-home-about-facts strong {
	color: #17202a;
	font-size: 16px;
}

.sp-home-page .sp-home-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 30px;
}

.sp-home-page .sp-home-inline-actions a {
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}


/* PROJECT */

.sp-home-page .sp-home-project {
	background: #111923;
}

.sp-home-page .sp-home-project .sp-home-section-heading h2 {
	color: #fff !important;
}

.sp-home-page .sp-home-project .sp-home-section-heading > p:last-child {
	color: rgba(255,255,255,.60);
}

.sp-home-page .sp-home-before-after {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.sp-home-page .sp-home-before-after figure {
	position: relative;
	overflow: hidden;
	margin: 0;
	border-radius: 12px;
	background: #0d141b;
}

.sp-home-page .sp-home-before-after img {
	display: block;
	width: 100%;
	height: 440px;
	object-fit: cover;
}

.sp-home-page .sp-home-project-label {
	position: absolute;
	z-index: 2;
	top: 18px;
	left: 18px;
	padding: 8px 14px;
	border-radius: 5px;
	background: rgba(17,25,35,.88);
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sp-home-page .sp-home-project-footer {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	align-items: center;
	margin-top: 30px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,.12);
}

.sp-home-page .sp-home-project-footer p {
	margin: 0;
	color: rgba(255,255,255,.62);
}

.sp-home-page .sp-home-project-footer a {
	color: #72ceff !important;
	font-weight: 900;
	text-decoration: none !important;
}


/* RECOGNITION */

.sp-home-page .sp-home-recognition {
	padding: 64px 0;
	background: #edf7fc;
}

.sp-home-page .sp-home-recognition-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 70px;
	align-items: center;
}

.sp-home-page .sp-home-recognition h2 {
	margin: 0 0 13px;
	color: #17202a !important;
	font-size: clamp(34px, 3.4vw, 46px);
	line-height: 1.08;
}

.sp-home-page .sp-home-recognition p:last-child {
	margin-bottom: 0;
	color: #65717c;
	line-height: 1.7;
}

.sp-home-page .sp-home-recognition-images {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: flex-end;
}

.sp-home-page .sp-home-recognition-images img {
	display: block;
	max-width: 260px;
	max-height: 110px;
	width: auto;
	height: auto;
	object-fit: contain;
}


/* AREAS */

.sp-home-page .sp-home-areas {
	background: #fff;
}

.sp-home-page .sp-home-area-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid #dce5eb;
	border-left: 1px solid #dce5eb;
}

.sp-home-page .sp-home-area-grid a {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 145px;
	padding: 25px;
	border-right: 1px solid #dce5eb;
	border-bottom: 1px solid #dce5eb;
	background: #fff;
	text-decoration: none !important;
	transition: background .2s ease;
}

.sp-home-page .sp-home-area-grid a:hover {
	background: #f0f9fe;
}

.sp-home-page .sp-home-area-grid strong {
	color: #17202a;
	font-size: 18px;
}

.sp-home-page .sp-home-area-grid span {
	color: #008bd8;
	font-size: 12px;
	font-weight: 900;
}

.sp-home-page .sp-home-area-footer {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 28px;
}

.sp-home-page .sp-home-area-footer p {
	margin: 0;
	color: #65717c;
}

.sp-home-page .sp-home-area-footer a {
	color: #008bd8 !important;
	font-weight: 900;
	text-decoration: none !important;
}


/* REVIEWS */

.sp-home-page .sp-home-reviews {
	padding: 90px 0;
	background: #f5f8fb;
}

.sp-home-page .sp-home-reviews-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: 80px;
	align-items: center;
}

.sp-home-page .sp-home-reviews h2 {
	max-width: 700px;
	margin: 0 0 18px;
	color: #17202a !important;
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1.05;
	letter-spacing: -.03em;
}

.sp-home-page .sp-home-reviews-grid > div:first-child > p:last-child {
	max-width: 680px;
	color: #65717c;
	font-size: 17px;
	line-height: 1.75;
}

.sp-home-page .sp-home-review-card {
	padding: 40px;
	border-radius: 12px;
	background: #172431;
	color: #fff;
	box-shadow: 0 24px 55px rgba(17,40,61,.16);
}

.sp-home-page .sp-home-review-card > span {
	display: block;
	margin-bottom: 14px;
	color: #72ceff;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.sp-home-page .sp-home-review-card p {
	margin: 0 0 24px;
	color: rgba(255,255,255,.70);
	font-size: 17px;
	line-height: 1.7;
}

.sp-home-page .sp-home-review-card a {
	color: #72ceff !important;
	font-weight: 900;
	text-decoration: none !important;
}


/* PROCESS */

.sp-home-page .sp-home-process {
	background: #fff;
}

.sp-home-page .sp-home-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.sp-home-page .sp-home-process-grid > div {
	padding: 35px;
	border: 1px solid #dce5eb;
	border-radius: 10px;
	background: #fff;
}

.sp-home-page .sp-home-process-grid > div > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 30px;
	border-radius: 50%;
	background: #e7f7ff;
	color: #008bd8;
	font-size: 13px;
	font-weight: 900;
}

.sp-home-page .sp-home-process-grid h3 {
	margin: 0 0 10px;
	color: #17202a !important;
	font-size: 23px;
	line-height: 1.2;
}

.sp-home-page .sp-home-process-grid p {
	margin: 0;
	color: #65717c;
	line-height: 1.7;
}


/* FAQ */

.sp-home-page .sp-home-faq {
	background: #f5f8fb;
}

.sp-home-page .sp-home-faq-list {
	max-width: 900px;
	margin: 0 auto;
	border-top: 1px solid #d8e2e9;
}

.sp-home-page .sp-home-faq-list details {
	border-bottom: 1px solid #d8e2e9;
}

.sp-home-page .sp-home-faq-list summary {
	position: relative;
	padding: 24px 52px 24px 0;
	color: #17202a;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.sp-home-page .sp-home-faq-list summary::-webkit-details-marker {
	display: none;
}

.sp-home-page .sp-home-faq-list summary::after {
	content: "+";
	position: absolute;
	top: 21px;
	right: 4px;
	color: #00a1ff;
	font-size: 26px;
	font-weight: 500;
}

.sp-home-page .sp-home-faq-list details[open] summary::after {
	content: "−";
}

.sp-home-page .sp-home-faq-list details > div {
	padding: 0 55px 24px 0;
}

.sp-home-page .sp-home-faq-list p {
	margin: 0;
	color: #65717c;
	line-height: 1.75;
}

.sp-home-page .sp-home-faq-list a {
	color: #008bd8 !important;
}


/* FINAL CTA */

.sp-home-page .sp-home-final-cta {
	padding: 76px 0;
	background: #00a1ff;
	color: #fff;
}

.sp-home-page .sp-home-final-cta .sp-home-eyebrow {
	color: rgba(255,255,255,.70) !important;
}

.sp-home-page .sp-home-final-cta-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: 60px;
	align-items: center;
}

.sp-home-page .sp-home-final-cta h2 {
	max-width: 760px;
	margin: 0 0 15px;
	color: #fff !important;
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1.05;
	letter-spacing: -.03em;
}

.sp-home-page .sp-home-final-cta p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(255,255,255,.82);
	font-size: 17px;
	line-height: 1.7;
}

.sp-home-page .sp-home-final-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.sp-home-page .sp-home-btn-white {
	background: #fff;
	color: #008bd8 !important;
}

.sp-home-page .sp-home-final-phone {
	color: #fff !important;
	font-size: 24px;
	font-weight: 900;
	text-decoration: none !important;
}


/* TABLET */

@media (max-width: 1024px) {

	.sp-home-page .sp-home-hero-grid,
	.sp-home-page .sp-home-about-grid,
	.sp-home-page .sp-home-recognition-grid,
	.sp-home-page .sp-home-reviews-grid,
	.sp-home-page .sp-home-final-cta-grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.sp-home-page .sp-home-hero-media {
		max-width: 760px;
	}

	.sp-home-page .sp-home-hero-card {
		right: 20px;
	}

	.sp-home-page .sp-home-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-home-page .sp-home-service-card,
	.sp-home-page .sp-home-service-card-wide {
		grid-column: auto;
	}

	.sp-home-page .sp-home-area-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-home-page .sp-home-recognition-images {
		justify-content: flex-start;
	}

}


/* MOBILE */

@media (max-width: 767px) {

	.sp-home-page .sp-home-inner {
		width: min(100% - 32px, 1280px);
	}

	.sp-home-page .sp-home-section {
		padding: 72px 0;
	}

	.sp-home-page .sp-home-hero {
		padding: 52px 0 58px;
	}

	.sp-home-page .sp-home-hero-grid {
		gap: 38px;
	}

	.sp-home-page .sp-home-hero h1 {
		font-size: clamp(42px, 12vw, 56px);
	}

	.sp-home-page .sp-home-lead {
		font-size: 18px;
	}

	.sp-home-page .sp-home-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.sp-home-page .sp-home-btn {
		width: 100%;
	}

	.sp-home-page .sp-home-trust-row {
		grid-template-columns: 1fr;
	}

	.sp-home-page .sp-home-trust-row > div {
		padding: 16px 0;
	}

	.sp-home-page .sp-home-trust-row > div + div {
		padding-left: 0;
		border-top: 1px solid rgba(255,255,255,.14);
		border-left: 0;
	}

	.sp-home-page .sp-home-hero-image,
	.sp-home-page .sp-home-hero-image img {
		height: 450px;
		min-height: 450px;
	}

	.sp-home-page .sp-home-hero-card {
		position: static;
		width: 100%;
		margin-top: 14px;
	}

	.sp-home-page .sp-home-trust-strip-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sp-home-page .sp-home-trust-strip-grid > div {
		min-height: 68px;
		padding: 15px;
	}

	.sp-home-page .sp-home-trust-strip-grid > div + div {
		border-left: 0;
	}

	.sp-home-page .sp-home-trust-strip-grid > div:nth-child(even) {
		border-left: 1px solid rgba(255,255,255,.25);
	}

	.sp-home-page .sp-home-trust-strip-grid > div:nth-child(n+3) {
		border-top: 1px solid rgba(255,255,255,.25);
	}

	.sp-home-page .sp-home-section-heading {
		margin-bottom: 38px;
		text-align: left;
	}

	.sp-home-page .sp-home-section-heading h2 {
		font-size: 37px;
	}

	.sp-home-page .sp-home-section-heading > p:last-child {
		margin-left: 0;
	}

	.sp-home-page .sp-home-service-grid,
	.sp-home-page .sp-home-before-after,
	.sp-home-page .sp-home-area-grid,
	.sp-home-page .sp-home-process-grid {
		grid-template-columns: 1fr;
	}

	.sp-home-page .sp-home-service-card,
	.sp-home-page .sp-home-service-card-wide {
		min-height: 0;
		padding: 28px;
	}

	.sp-home-page .sp-home-service-card > span {
		margin-bottom: 30px;
	}

	.sp-home-page .sp-home-about-media::before {
		display: none;
	}

	.sp-home-page .sp-home-about-facts {
		grid-template-columns: 1fr;
	}

	.sp-home-page .sp-home-about-facts > div {
		padding: 16px 0;
	}

	.sp-home-page .sp-home-about-facts > div + div {
		padding-left: 0;
		border-top: 1px solid #dce5eb;
		border-left: 0;
	}

	.sp-home-page .sp-home-before-after img {
		height: 300px;
	}

	.sp-home-page .sp-home-project-footer,
	.sp-home-page .sp-home-area-footer {
		display: block;
	}

	.sp-home-page .sp-home-project-footer a,
	.sp-home-page .sp-home-area-footer a {
		display: inline-block;
		margin-top: 12px;
	}

	.sp-home-page .sp-home-recognition-images {
		flex-direction: column;
		align-items: flex-start;
	}

	.sp-home-page .sp-home-recognition-images img {
		max-width: min(100%, 300px);
	}

	.sp-home-page .sp-home-area-grid a {
		min-height: 115px;
	}

	.sp-home-page .sp-home-review-card {
		padding: 30px;
	}

	.sp-home-page .sp-home-process-grid > div {
		padding: 28px;
	}

}


/* =========================================================
   REVIEWS PAGE — REMOVE THEME BLOCKQUOTE DECORATION
   ========================================================= */

.sp-reviews-page .sp-review-card blockquote {
	position: static !important;

	display: block !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	background: none !important;

	box-shadow: none !important;

	color: inherit !important;

	font-style: normal !important;
	text-align: left !important;
}


/* Remove ProRange decorative quote icons */

.sp-reviews-page .sp-review-card blockquote::before,
.sp-reviews-page .sp-review-card blockquote::after,
.sp-reviews-page .sp-review-card blockquote p::before,
.sp-reviews-page .sp-review-card blockquote p::after {
	content: none !important;
	display: none !important;

	width: 0 !important;
	height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	background: none !important;
}


/* Make sure review copy remains clean */

.sp-reviews-page .sp-review-card blockquote p {
	position: static !important;

	margin: 0 !important;
	padding: 0 !important;

	background: none !important;

	color: #3f4a54 !important;

	font-family: inherit !important;
	font-style: normal !important;
	font-weight: 400 !important;

	line-height: 1.75 !important;

	text-indent: 0 !important;
}


/* Featured reviews slightly stronger */

.sp-reviews-page .sp-review-featured blockquote p {
	font-size: 16px !important;
}


/* Standard review cards */

.sp-reviews-page .sp-reviews-grid .sp-review-card blockquote p {
	font-size: 15px !important;
}

