  /* =========================================================
           OFFICE PRIDE FRANCHISE BRAND COLORS
        ========================================================= */

        :root {
            --op-green: #00b451;
            --op-green-dark: #008d42;
            --op-green-deep: #006f3b;
            --op-blue: #163f63;
            --op-blue-dark: #0d2e49;
            --op-text: #1d2c37;
            --op-muted: #5d6a73;
            --op-light: #f3f7f500;
            --op-white: #ffffff;
            --op-border: #dce7e1;
        }

/* =========================================================
   FRANCHISE FAQ – DESIGN OVERRIDES
   ========================================================= */

.faq-section {
    padding: 80px 20px !important;
    background: #f3f7f5;
}

.faq-section .faq-inner {
    max-width: 1000px !important;
}


/* Heading */

.faq-section h2 {
    position: relative;
    margin: 0 0 45px !important;
    color: #163f63 !important;
    font-size: clamp(34px, 4vw, 46px);
    line-height: 1.08;
    font-weight: 800 !important;
    letter-spacing: -.03em;
}

.faq-section h2::before {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin: 0 auto 16px;
    background: #00b451;
    border-radius: 10px;
}


/* Accordion */

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


/* Individual card */

.faq-item {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce7e1;
    border-radius: 12px;
    box-shadow: 0 6px 22px rgba(20, 50, 65, .055);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.faq-item:hover {
    border-color: rgba(0, 180, 81, .35);
    box-shadow: 0 9px 28px rgba(20, 50, 65, .08);
}


/* Question */

.faq-question {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    width: 100%;
    padding: 24px 26px;

    background: #fff;
    border: 0;

    color: #163f63;
    text-align: left;

    font-family: inherit;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;

    cursor: pointer;
    transition:
        color .2s ease,
        background-color .2s ease;
}

.faq-question:hover {
    background: #fbfdfc;
    color: #008d42;
}


/* Plus / minus circle */

.faq-toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;
    flex: 0 0 34px;

    background: rgba(0, 180, 81, .10);
    border-radius: 50%;

    color: #008d42;
    font-size: 23px;
    line-height: 1;
    font-weight: 500;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .25s ease;
}


/* Open state */

.faq-question[aria-expanded="true"] {
    color: #163f63;
}

.faq-question[aria-expanded="true"] .faq-toggle-icon {
    background: #00b451;
    color: #fff;
    transform: rotate(45deg);
}


/* Answer */

.faq-answer {
    padding: 0 26px 25px;
    background: #fff;
}

.faq-answer p {
    max-width: 850px;
    margin: 0;

    color: #5d6a73;
    font-size: 16px;
    line-height: 1.7;
}


/* Small green divider when open */

.faq-question[aria-expanded="true"] + .faq-answer::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin: 0 0 17px;
    background: #00b451;
    border-radius: 10px;
}


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

@media (max-width: 767px) {

    .faq-section {
        padding: 58px 16px !important;
    }

    .faq-section h2 {
        margin-bottom: 30px !important;
        font-size: 32px;
    }

    .faq-accordion {
        gap: 10px;
    }

    .faq-question {
        gap: 15px;
        padding: 20px 18px;
        font-size: 16px;
    }

    .faq-toggle-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        font-size: 20px;
    }

    .faq-answer {
        padding: 0 18px 21px;
    }

    .faq-answer p {
        font-size: 15px;
        line-height: 1.65;
    }
}
/* Remove old theme accordion borders */
.faq-section .faq-question,
.faq-section .faq-question:hover,
.faq-section .faq-question:focus,
.faq-section .faq-question:active,
.faq-section .faq-question[aria-expanded="true"] {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Keep the subtle border on the outer card only */
.faq-section .faq-item {
    border: 1px solid #dce7e1 !important;
}

/* Keep expanded FAQ styled like the closed cards */
.faq-section .faq-question[aria-expanded="true"] {
    background: #fff !important;
    color: #163f63 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Remove green border from expanded answer/card */
.faq-section .faq-item,
.faq-section .faq-item:has(.faq-question[aria-expanded="true"]),
.faq-section .faq-answer {
    border-color: #dce7e1 !important;
}

/* Keep only the icon green when open */
.faq-section .faq-question[aria-expanded="true"] .faq-toggle-icon {
    background: #00b451 !important;
    color: #fff !important;
}

/* Remove all borders from the expanded answer */
.faq-section .faq-answer,
.faq-section .faq-question[aria-expanded="true"] + .faq-answer {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Keep only the neutral border around the whole FAQ card */
.faq-section .faq-item,
.faq-section .faq-item:has(.faq-question[aria-expanded="true"]) {
    border: 1px solid #dce7e1 !important;
    outline: none !important;
}

/* =========================================================
   FRANCHISE SUBNAV OVERRIDES
   ========================================================= */

.subnav-band.theme-green {
    --bg: #ffffff;
    --fg: #163f63;
    --pill-bg: transparent;
    --pill-fg: #163f63;
    --pill-bd: transparent;
    --pill-active-bg: rgba(0, 180, 81, .10);
    --pill-active-fg: #008d42;

    margin: 0 !important;
    padding: 0 !important;

    background: #fff !important;
    border-top: 1px solid #e6ece9;
    border-bottom: 1px solid #e6ece9;
}


/* Wider container to align better with hero */

.subnav-band .subnav-inner {
    max-width: 1400px !important;
    padding: 0 30px !important;
}


/* Nav row */

.subnav-band .subnav-list {
    display: flex;
    align-items: center;
    gap: 4px;

    margin: 0 !important;
    padding: 10px 0 !important;

    overflow-x: auto;
    white-space: nowrap;

    list-style: none;
}


/* Individual links */

.subnav-band .subnav-link {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 11px 14px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;

    color: #163f63 !important;

    font-size: 14px !important;
    line-height: 1.2;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition:
        background-color .18s ease,
        color .18s ease;
}


/* Hover */

.subnav-band .subnav-link:hover {
    background: #f3f7f5 !important;
    color: #008d42 !important;
    transform: none !important;
}


/* Active item */

.subnav-band .subnav-link.is-active {
    background: rgba(0, 180, 81, .10) !important;
    color: #008d42 !important;
}


/* Small active underline */

.subnav-band .subnav-link.is-active::after {
    content: "";
    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 5px;

    height: 2px;

    background: #00b451;
    border-radius: 4px;
}


/* Desktop */

@media (min-width: 900px) {

    .subnav-band .subnav-list {
        justify-content: center;
        flex-wrap: wrap;
        overflow: visible;
        white-space: normal;
    }

}


/* Mobile */

@media (max-width: 899px) {

    .subnav-band .subnav-inner {
        padding: 0 14px !important;
    }

    .subnav-band .subnav-list {
        justify-content: flex-start;
        flex-wrap: nowrap;

        padding: 9px 0 !important;

        scroll-padding-left: 14px;
    }

    .subnav-band .subnav-link {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

}
.subnav-band .subnav-list {
    mask-image: none !important;
    -webkit-mask-image: none !important;
}

#id_2,
#id_2 .form-buttons-wrapper {
    border-top: none !important;
}

/* =========================================================
   FRANCHISE CTA BAND – CLEAN VERSION
   ========================================================= */

.cta-band,
.cta-band.theme-green {
    margin: 0 !important;
    padding: 38px 20px !important;

    background:#ffffff00 !important;
    color: #fff !important;
}


/* Main CTA panel */

.cta-band .cta-inner {
    position: relative;

    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 42px 46px !important;

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "title button"
        "copy  button";

    column-gap: 70px !important;
    row-gap: 8px !important;

    align-items: center !important;
    text-align: left !important;

    background:
        linear-gradient(
            120deg,
            #103c5e 0%,
            #174d70 100%
        ) !important;

    border: 0 !important;
    border-radius: 16px !important;

    box-shadow: none !important;

    overflow: hidden;
}


/* =========================================================
   TITLE
   ========================================================= */

.cta-band .cta-title {
    grid-area: title;

    position: relative;
    z-index: 2;

    margin: 0 !important;

    color: #fff !important;

    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
}


/* Eyebrow */

.cta-band .cta-title::before {
    content: "READY TO TAKE THE NEXT STEP";

    display: block;

    width: auto;
    height: auto;

    margin: 0 0 12px !important;

    background: none !important;

    color: #6ee89e;

    font-size: 11px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: .14em;
    text-transform: uppercase;
}


/* Green rule beside eyebrow */

.cta-band .cta-title::after {
    content: "";

    position: absolute;

    left: -46px;
    top: 3px;

    width: 27px;
    height: 3px;

    background: #00b451;
}


/* =========================================================
   COPY
   ========================================================= */

.cta-band .cta-copy {
    grid-area: copy;

    position: relative;
    z-index: 2;

    max-width: 680px !important;

    margin: 2px 0 0 !important;

    color: rgba(255,255,255,.78) !important;
    opacity: 1 !important;

    font-size: 16px !important;
    line-height: 1.55 !important;
}

.cta-band .cta-copy p {
    margin: 0 !important;
    color: inherit !important;
}


/* =========================================================
   BUTTON
   ========================================================= */

.cta-band .cta-btn, .t-cta .cta-btn , .cta-btn {
    grid-area: button;

    position: relative;
    z-index: 2;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 14px;

    min-width: 205px;

    padding: 16px 23px !important;

    background: #009f4f !important;
    color: #fff !important;

    border: 0 !important;
    border-radius: 7px !important;

    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .025em;
    
    text-decoration: none !important;

    box-shadow: none !important;

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


.cta-band .cta-btn::after, .cta-btn::after {
    content: "→";

    font-size: 18px;
    line-height: 1;

    transition: transform .18s ease;
}


.cta-band .cta-btn:hover, .t-cta .cta-btn::hover, .cta-btn::hover {
    background: #00c45a !important;
    color: #fff !important;

    transform: none !important;
    box-shadow: none !important;
}


.cta-band .cta-btn:hover::after, .t-cta .cta-btn:hover::after {
    transform: translateX(4px);
}


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

@media (max-width: 767px) {

    .cta-band,
    .cta-band.theme-green {
        padding: 25px 16px !important;
    }

    .cta-band .cta-inner {
        display: block !important;

        padding: 34px 25px !important;

        border-radius: 3px !important;
    }

    .cta-band .cta-title {
        font-size: 29px !important;
        line-height: 1.08 !important;
    }

    .cta-band .cta-title::before {
        margin-bottom: 11px !important;
        font-size: 10px;
    }

    .cta-band .cta-title::after {
        display: none;
    }

    .cta-band .cta-copy {
        margin-top: 12px !important;
        font-size: 15px !important;
    }

    .cta-band .cta-btn {
        width: 100%;
        min-width: 0;

        margin-top: 24px !important;
    }
}

/* =========================================================
   FRANCHISE TESTIMONIALS – MODERN OVERRIDES
   ========================================================= */

#tsec-9.testimonials-section {
    padding: 72px 20px !important;
    background: #f3f7f5 !important;
}


/* Outer content width */

#tsec-9 .t-wrap {
    max-width: 1180px !important;
    margin: 0 auto !important;
}


/* Section heading */

#tsec-9 .t-title {
    position: relative;

    margin: 0 0 34px !important;

    color: #163f63 !important;

    text-align: center !important;

    font-size: clamp(32px, 4vw, 46px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.03em !important;
}


/* Green accent above heading */

#tsec-9 .t-title::before {
    content: "";

    display: block;

    width: 44px;
    height: 4px;

    margin: 0 auto 16px;

    background: #00b451;
    border-radius: 10px;
}


/* =========================================================
   FRANCHISE TESTIMONIALS – REUSABLE
   ========================================================= */

.testimonials-section {
    background: #f3f7f5 !important;
    padding: 72px 20px !important;
}

.testimonials-section .t-wrap {
    max-width: 1180px !important;
    margin: 0 auto !important;
}


/* Heading */

.testimonials-section .t-title {
    position: relative;

    margin: 0 0 34px !important;

    color: #163f63 !important;

    text-align: center !important;

    font-size: clamp(32px, 4vw, 46px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.03em !important;
}

.testimonials-section .t-title::before {
    content: "";
    display: none;

    width: 44px;
    height: 4px;

    margin: 0 auto 16px;

    background: #00b451;
    border-radius: 10px;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

.testimonials-section .t-viewport {
    position: relative !important;
    overflow: hidden !important;

    padding: 48px 56px 42px !important;

    background: linear-gradient(
        120deg,
        #103c5e 0%,
        #174d70 100%
    ) !important;

    border-radius: 10px !important;

    box-shadow:
        0 14px 40px rgba(20, 50, 65, .12) !important;
}


/* Large quote mark */

.testimonials-section .t-viewport::before {
    content: "“";

    position: absolute;

    left: 34px;
    top: 6px;

    color: white;

    font-family: Georgia, serif;
    font-size: 120px;
    line-height: 1;

    pointer-events: none;
}


/* Track */

.testimonials-section .t-track {
    position: relative !important;
    z-index: 2 !important;

    display: flex !important;

    transition: transform 400ms ease !important;
    will-change: transform;
}


/* Slide */

.testimonials-section .t-slide {
    min-width: 100% !important;
    box-sizing: border-box !important;

    padding: 16px 40px 6px !important;

    text-align: center !important;
}


/* Quote */

.testimonials-section .t-quote {
    max-width: 850px !important;

    margin: 0 auto 22px !important;

    color: #fff !important;

    font-size: clamp(23px, 2.5vw, 31px) !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;

    letter-spacing: -.015em !important;
}


/* Attribution */

.testimonials-section .t-name {
    margin: 0 !important;

    color: rgba(255,255,255,.78) !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;

    letter-spacing: .02em !important;
}

.testimonials-section .t-name::before {
    content: "";

    display: block;

    width: 32px;
    height: 3px;

    margin: 0 auto 14px;

    background: #ffffff;

    border-radius: 10px;
}


/* =========================================================
   DOT NAV
   ========================================================= */

.testimonials-section .t-dots {
    position: relative !important;
    z-index: 3 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    gap: 10px !important;

    margin-top: 26px !important;
}

.testimonials-section .t-dot {
    width: 8px !important;
    height: 8px !important;

    padding: 0 !important;

    background: rgba(255,255,255,.28) !important;

    border: 0 !important;
    border-radius: 50% !important;

    box-shadow: none !important;
    outline: none !important;

    cursor: pointer;
}

.testimonials-section .t-dot.is-active {
    width: 26px !important;

    background: #ffffff !important;

    border-radius: 20px !important;
}


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

@media (max-width: 767px) {

    .testimonials-section {
        padding: 54px 16px !important;
    }

    .testimonials-section .t-title {
        margin-bottom: 26px !important;
        font-size: 32px !important;
    }

    .testimonials-section .t-viewport {
        padding: 38px 18px 30px !important;
        border-radius: 7px !important;
    }

    .testimonials-section .t-viewport::before {
        left: 16px;
        top: 3px;

        font-size: 90px;
    }

    .testimonials-section .t-slide {
        padding: 14px 6px 4px !important;
    }

    .testimonials-section .t-quote {
        font-size: 21px !important;
        line-height: 1.5 !important;
    }

    .testimonials-section .t-name {
        font-size: 13px !important;
    }

    .testimonials-section .t-dots {
        margin-top: 22px !important;
    }
}

/* Force testimonial outer section off legacy green */
section.testimonials-section[style] {
    background: #f3f7f5 !important;
        background-color: #f3f7f500 !important;
}

/* =========================================================
   INDUSTRY BOTTOM BAND – FINAL TIGHTER VERSION
   ========================================================= */

.op-industry .op-industry-bottom {
    background: #154f78 !important;
}


/* Individual cells */
.op-industry .op-bottom-item {
    padding: 24px 32px !important;
    color: #fff !important;
}


/* Small labels */
.op-industry .op-bottom-label,
.op-industry .op-bottom-item > span {
    display: block !important;

    margin: 0 0 8px !important;

    color: rgba(255,255,255,.58) !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}


/* Main values */
.op-industry .op-bottom-item strong {
    display: block !important;

    margin: 0 0 5px !important;

    color: #fff !important;

    font-size: 25px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;

    letter-spacing: -.015em !important;
}


/* Supporting text */
.op-industry .op-bottom-item p {
    margin: 0 !important;

    color: rgba(255,255,255,.72) !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}


/* =========================================================
   OPPORTUNITY CELL
   ========================================================= */

.op-industry .op-bottom-item:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}


/* "THE OPPORTUNITY" */
.op-industry .op-bottom-item:last-child > span,
.op-industry .op-bottom-item:last-child .op-bottom-label {
    margin-bottom: 7px !important;

    color: #6ee89e !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}


/* Opportunity statement */
.op-industry .op-bottom-item:last-child strong {
    max-width: 380px !important;

    margin: 0 !important;

    color: #fff !important;

    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;

    letter-spacing: -.005em !important;
}


/* Remove paragraph spacing if last cell happens to contain one */
.op-industry .op-bottom-item:last-child p {
    margin: 0 !important;
}


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

@media (max-width: 767px) {

    .op-industry .op-bottom-item {
        padding: 20px 22px !important;
    }

    .op-industry .op-bottom-item strong {
        font-size: 23px !important;
    }

    .op-industry .op-bottom-item p {
        font-size: 13px !important;
    }

    .op-industry .op-bottom-item:last-child strong {
        font-size: 17px !important;
    }
}

/* =========================================================
   INDUSTRY BOTTOM BAND – ACTUAL MARKUP FIX
   ========================================================= */

/* Base styling catches bare text nodes */
.op-industry .op-bottom-item {
    padding: 24px 32px !important;

    color: rgba(255,255,255,.72) !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}


/* Small eyebrow labels */
.op-industry .op-bottom-item > .op-bottom-label,
.op-industry .op-bottom-item > span:first-child {
    display: block !important;

    margin: 0 0 8px !important;

    color: rgba(255,255,255,.58) !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}


/* Main values */
.op-industry .op-bottom-item > strong {
    display: block !important;

    margin: 0 0 5px !important;

    color: #fff !important;

    font-size: 25px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;

    letter-spacing: -.015em !important;
}


/* Empty/legacy paragraph should not add space */
.op-industry .op-bottom-item > p:empty {
    display: none !important;
}


/* =========================================================
   OPPORTUNITY CELL
   ========================================================= */

.op-industry .op-bottom-item:last-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

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


/* THE OPPORTUNITY */
.op-industry .op-bottom-item:last-child > .op-bottom-label,
.op-industry .op-bottom-item:last-child > span:first-child {
    color: #6ee89e !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}


/* Opportunity statement */
.op-industry .op-bottom-item:last-child > strong {
    max-width: 390px !important;

    margin: 0 !important;

    color: #fff !important;

    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;

    letter-spacing: -.005em !important;
}


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

@media (max-width: 767px) {

    .op-industry .op-bottom-item {
        padding: 20px 22px !important;
        font-size: 13px !important;
    }

    .op-industry .op-bottom-item > strong {
        font-size: 23px !important;
    }

    .op-industry .op-bottom-item:last-child > strong {
        font-size: 17px !important;
    }
}

/* Opportunity message */
.op-industry .op-bottom-message {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 24px 32px !important;

    color: #ffffff !important;

    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.op-industry .op-bottom-message strong {
    display: block;

    margin-top: 7px !important;

    max-width: 390px;

    color: #fff !important;

    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;

    letter-spacing: -.005em !important;
    text-transform: none !important;
}

/* Hero Request Information CTA */
.op-franchise-section .op-hero-request-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    margin-top: 26px;
    padding: 15px 22px;

    background: #00a651;
    color: #fff !important;

    border: 0;
    border-radius: 0;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.op-franchise-section .op-hero-request-btn span {
    font-size: 19px;
    line-height: 1;
    transition: transform .2s ease;
}

.op-franchise-section .op-hero-request-btn:hover {
    background: #008f46;
    color: #fff !important;
}

.op-franchise-section .op-hero-request-btn:hover span {
    transform: translateX(4px);
}

@media (max-width: 767px) {
    .op-franchise-section .op-hero-request-btn {
        margin-top: 22px;
        padding: 14px 20px;
    }
}

/* CTA button - the site's button: no white rule (the client asked for one
   treatment everywhere, and most buttons have none) */
.cta-band .cta-btn {
    background: #009f4f !important;
    color: white !important;
    border: 0 !important;
}

/* Arrow */
.cta-band .cta-btn::after {
    color: white !important;
}

/* Hover */
.cta-band .cta-btn:hover {
    background: #046a38 !important;
    color: #ffffff !important;
    border: 0 !important;
}

.cta-band .cta-btn:hover::after {
    color: #ffffff !important;
}

/* CTA eyebrow */
.cta-band .cta-title::before {
    color: rgba(255, 255, 255, 0.72) !important;
}

/* Small line to the left */
.cta-band .cta-title::after {
    background: rgba(255, 255, 255, 0.72) !important;
}

/* =========================================================
   FRANCHISE STAT CARDS – CLEANER LAYOUT
   ========================================================= */

.op-franchise-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}


/* Base card */
.op-franchise-grid .op-stat {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    min-height: 285px;
    padding: 34px 34px 30px;

    background: #f7f8f7;

    border-top: 5px solid #008f46;

    box-sizing: border-box;
}


/* Blue variation */
.op-franchise-grid .op-stat-blue {
    border-top-color: #2d6294;
}


/* =========================================================
   REMOVE THE LARGE EMPTY TOP AREA
   ========================================================= */

.op-franchise-grid .op-stat:not(.op-stat-primary) .op-stat-top {
    position: static;

    display: block;

    height: 0;
    min-height: 0;

    margin: 0;
    padding: 0;
}


/* Empty icon doesn't need space */
.op-franchise-grid .op-stat:not(.op-stat-primary) .op-icon {
    display: none;
}


/* Remove paragraph spacing around 02 / 03 / 04 */
.op-franchise-grid .op-stat-top p {
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   CARD NUMBERS
   ========================================================= */

.op-franchise-grid .op-stat-mark {
    position: absolute;

    top: 22px;
    right: 24px;

    color: rgba(22, 63, 99, .20);

    font-size: 11px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: .12em;
}


/* =========================================================
   NORMAL CARD COPY
   ========================================================= */

.op-franchise-grid .op-stat:not(.op-stat-primary) .op-stat-content {
    margin-top: 34px;
}

.op-franchise-grid .op-stat-content h3 {
    margin: 0 0 12px;

    color: #163f63;

    font-size: 21px;
    line-height: 1.18;
    font-weight: 800;

    letter-spacing: -.015em;
}

.op-franchise-grid .op-stat-content p {
    margin: 0;

    color: #56636b;

    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   FEATURED FIRST CARD
   ========================================================= */

.op-franchise-grid .op-stat-primary {
    background: #087b3e;
    border-top-color: #087b3e;

    color: #fff;
}


/* First card stat area */
.op-franchise-grid .op-stat-primary .op-stat-top {
    position: static;

    display: block;

    margin: 0 0 28px;
    padding: 0;
}


/* 30+ */
.op-franchise-grid .op-stat-primary .op-stat-number {
    display: block;

    color: #fff;

    font-size: 58px;
    line-height: .95;
    font-weight: 800;

    letter-spacing: -.045em;
}


/* 01 */
.op-franchise-grid .op-stat-primary .op-stat-mark {
    color: rgba(255,255,255,.35);
}


/* Featured title */
.op-franchise-grid .op-stat-primary .op-stat-content h3 {
    color: #fff;

    font-size: 21px;
}


/* Featured copy */
.op-franchise-grid .op-stat-primary .op-stat-content p {
    color: rgba(255,255,255,.84);
}


/* =========================================================
   SUBTLE HOVER
   ========================================================= */

@media (hover: hover) {

    .op-franchise-grid .op-stat {
        transition:
            transform .2s ease,
            box-shadow .2s ease;
    }

    .op-franchise-grid .op-stat:hover {
        transform: translateY(-3px);

        box-shadow:
            0 10px 28px rgba(20,50,65,.08);
    }
}


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

@media (max-width: 991px) {

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

    .op-franchise-grid .op-stat {
        min-height: 255px;
    }
}


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

@media (max-width: 600px) {

    .op-franchise-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .op-franchise-grid .op-stat {
        min-height: 0;
        padding: 28px 26px;
    }

    .op-franchise-grid .op-stat:not(.op-stat-primary) .op-stat-content {
        margin-top: 24px;
    }

    .op-franchise-grid .op-stat-primary .op-stat-number {
        font-size: 50px;
    }
}
.op-franchise-grid .op-stat-content h3 {
    margin: 0 0 12px !important;

    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    min-height: 46px;
}
/* =========================================================
   AWARDS INTRO
   ========================================================= */

.op-awards-intro {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: end;
    gap: 50px;

    padding: 54px 0 0;

    overflow: hidden;
}


/* COPY */

.op-awards-intro-copy {
    max-width: 680px;
    padding-bottom: 42px;
}

.op-awards-kicker {
    margin: 0 0 12px;

    color: #007c43;

    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: .14em;
    text-transform: uppercase;
}

.op-awards-intro h2 {
    margin: 0 0 14px;

    color: #111;

    font-size: clamp(36px, 4vw, 48px);
    line-height: 1.05;
    font-weight: 800;

    letter-spacing: -.03em;
}

.op-awards-intro-copy p {
    max-width: 600px;

    margin: 0;

    color: #53606a;

    font-size: 16px;
    line-height: 1.6;
}


/* =========================================================
   OWNER CUTOUT
   ========================================================= */

.op-awards-owners {
    position: relative;

    height: 285px;

    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.op-awards-owners img {
    display: block;

    height: 315px;
    width: auto;
    max-width: none;

    object-fit: contain;
    object-position: bottom center;
}


/* Give them a visual baseline that connects to award cards */

.op-awards-owners::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 4px;

    background: #008f46;
}


/* =========================================================
   AWARD GRID
   ========================================================= */

.op-awards-grid {
    position: relative;
    z-index: 2;

    margin-top: 0;
}


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

@media (max-width: 900px) {

    .op-awards-intro {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 25px;
    }

    .op-awards-owners {
        height: 245px;
    }

    .op-awards-owners img {
        height: 270px;
    }

}


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

@media (max-width: 650px) {

    .op-awards-intro {
        display: flex;
        flex-direction: column;

        gap: 20px;

        padding-top: 40px;
    }

    .op-awards-intro-copy {
        padding-bottom: 0;
    }

    .op-awards-owners {
        width: 100%;
        height: 255px;
    }

    .op-awards-owners img {
        height: 280px;
        max-width: 100%;
    }

}

/* =========================================================
   AWARDS OWNER CUTOUT - FAR RIGHT
   ========================================================= */

.badges-banner .bb-inner {
    position: relative !important;
}


/* Leave room on right side for owners */
.badges-banner .bb-heading,
.badges-banner .bb-intro {
    max-width: 690px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}


/* Position owners independently on far right */
.badges-banner .op-awards-owners {
    position: absolute !important;

     top: 103px;
    right: 46px;

    width: 330px;
    height: 255px;

    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 2;
    pointer-events: none;
}


/* Cutout image */
.badges-banner .op-awards-owners img {
    display: block;

    width: auto;
    height: 285px;
    max-width: none !important;

    margin: 0 !important;

    object-fit: contain;
    object-position: bottom right;
}


/* Keep enough vertical space before cards */
.badges-banner .bb-grid {
    margin-top: 120px !important;
}


/* Remove any old decoration */
.badges-banner .op-awards-owners::before,
.badges-banner .op-awards-owners::after {
    display: none !important;
}


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

@media (max-width: 900px) {

    .badges-banner .bb-heading,
    .badges-banner .bb-intro {
        max-width: 58% !important;
    }

    .badges-banner .op-awards-owners {
        width: 280px;
        height: 225px;
    }

    .badges-banner .op-awards-owners img {
        height: 250px;
    }

    .badges-banner .bb-grid {
        margin-top: 100px !important;
    }
}


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

@media (max-width: 650px) {

    .badges-banner .bb-heading,
    .badges-banner .bb-intro {
        max-width: 100% !important;
    }

    .badges-banner .op-awards-owners {
        position: relative !important;

        top: auto;
        right: auto;

        width: 100%;
        height: 235px;

        justify-content: center;

        margin-top: 20px !important;
    }

    .badges-banner .op-awards-owners img {
        height: 260px;
        max-width: 100% !important;
    }

    .badges-banner .bb-grid {
        margin-top: 20px !important;
    }
}
/* =========================================================
   AWARDS OWNER CUTOUT - FAR RIGHT, NO CARD OVERLAP
   ========================================================= */

.badges-banner .bb-inner {
    position: relative !important;
}


/* Heading + intro stay left */
.badges-banner .bb-heading,
.badges-banner .bb-intro {
    max-width: 720px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}


/* Right-side owner area */
.badges-banner .op-awards-owners {
    position: absolute !important;

      top: 100px;
    right: 48px;

    width: 360px;
    height: 220px;

    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 2;

    pointer-events: none;
}


/* Cutout */
.badges-banner .op-awards-owners img {
    display: block;

    width: auto;
    height: 270px;
    max-width: none !important;

    margin: 0 !important;

    object-fit: contain;
    object-position: bottom right;
}


/* Give intro enough room before award cards begin */
.badges-banner .bb-grid {
    margin-top: 70px !important;
    position: relative;
    z-index: 3;
}


/* Remove any older decorative pseudo elements */
.badges-banner .op-awards-owners::before,
.badges-banner .op-awards-owners::after {
    display: none !important;
}


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

@media (max-width: 900px) {

    .badges-banner .bb-heading,
    .badges-banner .bb-intro {
        max-width: 58% !important;
    }

    .badges-banner .op-awards-owners {
        width: 280px;
        height: 200px;

        top: 65px;
    }

    .badges-banner .op-awards-owners img {
        height: 235px;
    }

    .badges-banner .bb-grid {
        margin-top: 60px !important;
    }
}


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

@media (max-width: 650px) {

    .badges-banner .bb-heading,
    .badges-banner .bb-intro {
        max-width: 100% !important;
    }

    .badges-banner .op-awards-owners {
        position: relative !important;

        top: auto;
        right: auto;

        width: 100%;
        height: 230px;

        justify-content: center;

        margin-top: 20px !important;
    }

    .badges-banner .op-awards-owners img {
        height: 255px;
        max-width: 100% !important;
    }

    .badges-banner .bb-grid {
        margin-top: 20px !important;
    }
}

.badges-banner .bb-heading {
    max-width: 760px;
    margin-bottom: 109px !important;
}

.cta-band, .cta-band.theme-green {
    width: 100% !important;
    margin: 0 !important;
    padding: 36px 0 !important;
    background: #ffffff00 !important;
}

/* =========================================================
   ALIGN CTA WIDTH WITH PAGE CONTENT
   ========================================================= */

.cta-band,
.cta-band.theme-green {
    width: 100% !important;
    margin: 0 !important;
    padding: 36px 0 !important;

    background: #f3f7f500 !important;
}


/* Match surrounding franchise content width */
.cta-band .cta-inner {
    width: calc(100% - 64px) !important;
    max-width: 1200px !important;

    margin: 0 auto !important;
    padding: 38px 44px !important;

    box-sizing: border-box !important;
}


/* Mobile */
@media (max-width: 767px) {

    .cta-band,
    .cta-band.theme-green {
        padding: 24px 0 !important;
    }

    .cta-band .cta-inner {
        width: calc(100% - 32px) !important;
        padding: 30px 24px !important;
    }
}

.op-stat-mark {
    display: none !important;
}

.op-stat-top {
    display: flex !important;
    align-items: center;
    min-height: 70px !important;
    margin-bottom: 20px;
}

.op-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.op-icon svg {
    width: 46px;
    height: 46px;
    stroke: currentColor; 
    fill: none;
    stroke-width: 1.7;
}

.op-stat-primary .op-icon {
    color: #fff;
}

.op-stat:not(.op-stat-primary) .op-icon {
    color: #007a3d;
}

.op-franchise-section .op-stat-top {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 90px !important;
    margin-bottom: 20px !important;
    position: relative !important;
}

.op-franchise-section .op-icon {
    display: flex !important;
    width: 56px !important;
    height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 56px !important;
    color: var(--op-green) !important;
}

.op-franchise-section .op-icon svg {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    stroke: var(--op-green) !important;
    stroke-width: 1.8 !important;
    fill: none !important;
}

.op-franchise-section .op-stat-mark {
    display: none !important;
}

   /* =========================================================
   LOCAL MARKET OPPORTUNITY
   ========================================================= */

.op-ppc-local-market {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 55px;
    align-items: center;

    margin: 38px 0 0px;
    padding: 34px 36px;

    background: #f3f7f5;
  
}


/* LEFT SIDE */

.op-ppc-local-market-copy {
    max-width: 500px;
}

.op-ppc-local-label {
    display: block;

    margin-bottom: 10px;

    color: #007a3d;

        font-size: 18px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: .13em;
    text-transform: uppercase;
}


.op-ppc-local-market-copy h3 {
    margin: 0 0 12px;

    color: #163f63;

    font-size: 46px;
    line-height: 1.08;
    font-weight: 800;

    letter-spacing: -.025em;
}


.op-ppc-local-market-copy p {
    margin: 0;

    color: #5d6a73;

    font-size: 15px;
    line-height: 1.6;
}

/* =========================================================
   INDUSTRY GRID
   ========================================================= */

.op-ppc-local-industries {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid #d9e5df;
    border-left: 1px solid #d9e5df;
}


.op-ppc-local-industry {
    min-width: 0;

    padding: 18px 17px;

    background: #fff;

    border-right: 1px solid #d9e5df;
    border-bottom: 1px solid #d9e5df;
}


.op-ppc-local-industry strong {
    display: block;

    margin-bottom: 4px;

    color: #163f63;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
}


.op-ppc-local-industry span {
    display: block;

    color: #68757d;

    font-size: 12px;
    line-height: 1.4;
}


/* subtle interaction */

@media (hover: hover) {

    .op-ppc-local-industry {
        transition:
            background-color .18s ease,
            transform .18s ease;
    }

    .op-ppc-local-industry:hover {
        position: relative;
        z-index: 2;

        background: #f8fbf9;

        transform: translateY(-2px);
    }
}

  /* Make cards flex so pills align toward the bottom */
.op-ppc-support-card {
    display: flex;
    flex-direction: column;
}


/* Push tags to bottom */
.op-ppc-support-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin-top: auto;
    padding-top: 22px;
}


/* Individual pills */
.op-ppc-support-tags span {
    display: inline-flex;
    align-items: center;

    padding: 6px 10px;

    background: #edf6f1;
    border: 1px solid #d8e9df;
    border-radius: 999px;

    color: #08783f;

    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;

    white-space: nowrap;
}
    /* =========================================================
   FRANCHISE OWNER SUPPORT
   ========================================================= */
.op-ppc-support-card:before {
    content: "";
    display: block;
    width: 38px;
    height: 4px;
    margin-bottom: 20px;
    background: var(--op-green);
    border-radius: 20px;
}
.op-ppc-support {
    position: relative;
    padding: 45px 0 0 0;
    background: #f7f8f700;
}

.op-ppc-support-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 70px;
    align-items: end;
    margin-bottom: 46px;
}

.op-ppc-support-copy {
    max-width: 760px;
}

.op-ppc-support-copy h2 {
    margin: 0 0 18px;
    color: #000000;
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.04;
    letter-spacing: -.04em;
}
}

.op-ppc-support-copy p {
    max-width: 690px;
    margin: 0;
    color: var(--op-muted);
    font-size: 18px;
    line-height: 1.65;
}


/* Top right callout */

.op-ppc-support-callout {
    padding: 24px 26px;
    background: var(--op-blue);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(20,50,65,.12);
}

.op-ppc-support-callout strong {
    display: block;
    margin-bottom: 7px;
    color: #fff;
    font-size: 20px;
    line-height: 1.2;
}

.op-ppc-support-callout span {
    display: block;
    color: rgba(255,255,255,.76);
    font-size: 14px;
    line-height: 1.5;
}


/* Cards */

.op-ppc-support-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.op-ppc-support-card {
    position: relative;
    padding: 28px 27px 30px;
    background: #fff;
    border: 1px solid var(--op-border);
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(20,50,65,.055);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.op-ppc-support-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(20,50,65,.09);
}


.op-ppc-support-card h3 {
    margin: 0 0 10px;
    color: var(--op-blue);
    font-size: 19px;
    line-height: 1.25;
}

.op-ppc-support-card p {
    margin: 0;
    color: var(--op-muted);
    font-size: 14px;
    line-height: 1.6;
}


/* Tablet */

@media (max-width: 900px) {

    .op-ppc-support-intro {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .op-ppc-support-callout {
        max-width: 500px;
    }

    .op-ppc-support-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* Mobile */

@media (max-width: 650px) {

    .op-ppc-support {
        padding: 60px 0;
    }

    .op-ppc-support-intro {
        margin-bottom: 30px;
    }

    .op-ppc-support-copy p {
        font-size: 16px;
    }

    .op-ppc-support-grid {
        grid-template-columns: 1fr;
    }

    .op-ppc-support-card {
        padding: 24px;
    }

}

/* ==========================================================
   4. EYEBROWS / KICKERS / LABELS
   ========================================================== */

.op-ppc-section-label,
.op-ppc-local-label,
.op-kicker,
.op-footer-label,
.op-awards-kicker,
.bb-kicker,
.cta-band .cta-kicker {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   5. BUTTONS
   ========================================================== */

.op-ppc-hero a,
.op-ppc-button,
.op-franchise-button,
.cta-band .cta-btn,
.subnav-band .subnav-link {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   6. INDUSTRY / MARKET SECTION
   ========================================================== */

.op-ppc-market-number,
.op-ppc-market-copy strong,
.op-ppc-local-industry strong {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.op-ppc-market-copy span,
.op-ppc-local-industry span {
    font-family: "Cera Pro", Arial, sans-serif;
    font-weight: 400;
}


/* ==========================================================
   7. SUPPORT CARDS
   ========================================================== */

.op-ppc-support-card h3 {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.op-ppc-support-tags span {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   8. FRANCHISE FEATURE / STAT CARDS
   ========================================================== */

.op-stat-number {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.op-stat-content h3 {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   9. AWARDS
   ========================================================== */

.badges-banner .bb-title {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.badges-banner .bb-grid h3,
.badges-banner .bb-grid strong {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   10. TESTIMONIALS
   ========================================================== */

.testimonials-section .t-title {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.testimonials-section .t-quote {
    font-family: "Cera Pro", Arial, sans-serif;
    font-weight: 400;
}

.testimonials-section .t-name {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================
   11. CTA
   ========================================================== */

.cta-band .cta-title {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

.cta-band .cta-btn {
    font-family: "Cera Pro", Arial, sans-serif !important;
    font-weight: 700 !important;
}

span.op-ppc-section-label {}.op-ppc-section-label {
    display: block;
    margin-bottom: 12px;
    color: var(--op-green-dark);
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

  /* =====================================================
           CAROUSEL
           ===================================================== */

        .badges-banner .bb-carousel {
            position: relative;
            width: 100%;
        }


        .badges-banner .bb-viewport {
            width: 100%;
            overflow: hidden;
        }


        .badges-banner .bb-track {
            --bb-gap: 16px;

            display: flex !important;
            flex-wrap: nowrap !important;

            gap: var(--bb-gap) !important;

            width: auto !important;

            margin: 0 !important;
            padding: 0 !important;

            list-style: none;

            transition: transform .45s ease;
            will-change: transform;
        }


        /* 3 visible desktop */

        .badges-banner .bb-item {
            flex:
                0 0
                calc(
                    (100% - (var(--bb-gap) * 2))
                    / 3
                ) !important;

            min-width: 0;
        }


        /* Cards should all stay same height */

        .badges-banner .bb-card {
            height: 100%;

            display: flex;
            flex-direction: column;
        }


        .badges-banner .bb-card-bottom {
            flex: 1;
        }


        .badges-banner .bb-card-bottom strong {
            display: block;
            margin-bottom: 10px;
        }


        .badges-banner .bb-card-bottom span {
            display: block;
        }


        /* =====================================================
           CONTROLS
           ===================================================== */

        .badges-banner .bb-carousel-controls {
            display: flex;
            align-items: center;
            justify-content: center;

            gap: 14px;

            margin-top: 24px;
        }


        .badges-banner .bb-arrow {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 40px;
            height: 40px;

            padding: 0;

            background: #fff;

            border: 1px solid #dce7e1;
            border-radius: 50%;

            color: #163f63;

            font-family: inherit;
            font-size: 18px;
            line-height: 1;

            cursor: pointer;

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


        .badges-banner .bb-arrow:hover {
            background: #163f63;
            border-color: #163f63;
            color: #fff;
        }


        /* =====================================================
           DOTS
           ===================================================== */

        .badges-banner .bb-dots {
            display: flex;
            align-items: center;
            justify-content: center;

            gap: 7px;
        }


        .badges-banner .bb-dot {
            width: 7px;
            height: 7px;

            padding: 0;

            background: #ccd7d2;

            border: 0;
            border-radius: 20px;

            cursor: pointer;

            transition:
                width .2s ease,
                background-color .2s ease;
        }


        .badges-banner .bb-dot.is-active {
            width: 24px;
            background: #008f46;
        }


        /* =====================================================
           TABLET – 2 CARDS
           ===================================================== */

        @media (max-width: 900px) {

            .badges-banner .bb-item {
                flex:
                    0 0
                    calc(
                        (100% - var(--bb-gap))
                        / 2
                    ) !important;
            }

        }


        /* =====================================================
           MOBILE – 1 CARD
           ===================================================== */

        @media (max-width: 600px) {

            .badges-banner .bb-item {
                flex: 0 0 100% !important;
            }

            .badges-banner .bb-track {
                --bb-gap: 12px;
            }

            .badges-banner .bb-carousel-controls {
                margin-top: 18px;
            }

        }


        /* Respect reduced motion */

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

            .badges-banner .bb-track {
                transition: none;
            }

        }
/* =========================================================
   AWARDS CAROUSEL FIX
   ========================================================= */

.badges-banner .bb-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.badges-banner .bb-viewport {
    width: 100%;
    overflow: hidden;
}


/* IMPORTANT:
   completely remove old grid behavior from carousel track
*/
.badges-banner .bb-track {
    --bb-gap: 16px;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    gap: var(--bb-gap) !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    transform: translate3d(0, 0, 0);
    transition: transform .45s ease;

    will-change: transform;
}


/* Desktop: exactly 3 cards */
.badges-banner .bb-track > .bb-item {
    display: block !important;

    flex: 0 0 calc((100% - 32px) / 3) !important;

    width: calc((100% - 32px) / 3) !important;
    min-width: calc((100% - 32px) / 3) !important;
    max-width: calc((100% - 32px) / 3) !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Equal-height cards */
.badges-banner .bb-track .bb-card {
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;

    box-sizing: border-box;
}


/* Keep badge image areas uniform */
.badges-banner .bb-track .bb-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 220px;
}


/* Prevent giant images */
.badges-banner .bb-track .bb-img {
    display: block;

    width: auto !important;
    height: auto !important;

    max-width: 78% !important;
    max-height: 180px !important;

    object-fit: contain !important;
}


/* Bottom copy fills remaining card space */
.badges-banner .bb-track .bb-card-bottom {
    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 20px !important;
}


/* =========================================================
   TABLET – 2 CARDS
   ========================================================= */

@media (max-width: 900px) {

    .badges-banner .bb-track > .bb-item {
        flex-basis: calc((100% - 16px) / 2) !important;

        width: calc((100% - 16px) / 2) !important;
        min-width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
    }

}


/* =========================================================
   MOBILE – 1 CARD
   ========================================================= */

@media (max-width: 600px) {

    .badges-banner .bb-track {
        --bb-gap: 12px;
    }

    .badges-banner .bb-track > .bb-item {
        flex-basis: 100% !important;

        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

}

/* =========================================================
   OFFICE PRIDE INDUSTRY BLOCK — SITE COHESION OVERRIDES
   ========================================================= */

/* Treat the grid + bottom strip as one rounded component */
.op-industry-grid {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

/* Finish the rounded shape on the bottom strip */
.op-industry-bottom {
    border-radius: 0 0 16px 16px;
    overflow: hidden;
}

/* Slightly soften the gray benefit area */
.op-industry-reasons {
    background: #f7f8f7;
}

/* Soften the internal grid lines */
.op-industry-reason {
    border-color: rgba(20, 70, 55, 0.10);
}

/* Make the large green panel feel a little less severe */
.op-industry-stat {
    overflow: hidden;
}

/* Slightly soften the decorative icons */
.op-reason-icon {
    opacity: 0.65;
}

/* Give the full visual block subtle separation from the page */
.op-industry-grid {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

/* =========================================================
   INDUSTRY OPPORTUNITY STRIP
   ========================================================= */

.op-opportunity-strip {
    width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 32px;

    padding: 26px 36px;

    background: #164063;
    border-radius: 0 0 16px 16px;

    color: #fff;
}

.op-opportunity-label {
    flex: 0 0 auto;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: rgba(255,255,255,.65);
}

.op-opportunity-text {
    display: block;

    margin: 0;
    padding: 0;

    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;

    color: #fff;
}


/* MOBILE */
@media (max-width: 767px) {

    .op-opportunity-strip {
        display: block;
        padding: 24px;
    }

    .op-opportunity-label {
        display: block;
        margin-bottom: 10px;
    }

    .op-opportunity-text {
        font-size: 18px;
    }
}

/* =========================================================
   INDUSTRY INTRO + CTA
   ========================================================= */

.op-industry-intro {
    max-width: 570px;
}

.op-industry-intro p {
    margin: 0 0 22px;
}

.op-industry-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 13px 24px;

    background: #00ab4f;
    color: #fff !important;

    border-radius: 6px;

    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none !important;

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

.op-industry-cta:hover,
.op-industry-cta:focus {
    background: #007c3e;
    color: #fff !important;
    text-decoration: none !important;

    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, .12);
}


/* MOBILE */
@media (max-width: 767px) {

    .op-industry-intro {
        max-width: none;
    }

    .op-industry-intro p {
        margin-bottom: 18px;
    }

    .op-industry-cta {
        width: 100%;
        box-sizing: border-box;
    }
}

/* =========================================================
   FORCE ROUNDED AWARD CARDS
   ========================================================= */

.badges-banner .bb-item .bb-card {
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
}

/* Make sure inner sections don't visually square the corners */
.badges-banner .bb-card .bb-card-top {
    border-radius: 12px 12px 0 0 !important;
}

.badges-banner .bb-card .bb-card-bottom {
    border-radius: 0 0 12px 12px !important;
}

/* If the colored line is being created as a border */
.badges-banner .bb-card {
    border-top: 4px solid #009b57 !important;
}

/* Blue variants */
.badges-banner .bb-card.bb-card-blue {
    border-top-color: #23639b !important;
}

/* Remove any radius reset on child elements */
.badges-banner .bb-card-top,
.badges-banner .bb-image-wrap,
.badges-banner .bb-card-bottom {
    overflow: hidden;
}

/* =========================================================
   SHARED SUPPORT SECTION SYSTEM
   ========================================================= */

.op-support-section {
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

/* normalize inner width */
.op-unique-section .op-unique-wrap,
.op-ppc-support .op-ppc-container {
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
}


/* =========================================================
   SECTION 1 — WHY OFFICE PRIDE
   ========================================================= */

.op-unique-section {
    background: #fff;
}

.op-unique-section .op-unique-wrap {
    padding: 42px;
}


/* kicker */
.op-unique-section .op-kicker {
    font-size: 12px !important;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #008f4c;
    margin-bottom: 12px;
}


/* heading */
.op-unique-section .op-unique-heading h2 {
    margin: 0 0 14px;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.03;
    color: #111;
}

.op-unique-section .op-unique-heading p {
    max-width: 760px;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #4a4a4a;
}


/* layout spacing */
.op-unique-section .op-unique-layout {
    gap: 24px;
    margin-top: 34px;
}


/* =========================================================
   LEFT BENEFIT CARDS
   ========================================================= */

.op-unique-section .op-unique-benefits {
    display: grid;
    gap: 14px;
}


/* individual benefit */
.op-unique-section .op-benefit {
    position: relative;
    padding: 22px 24px;

    background: #f7f8f7;
    border: 1px solid rgba(20, 70, 55, 0.10);
    border-radius: 10px;

    box-shadow: none;
}


/* remove numbered infographic styling */
.op-unique-section .op-benefit-number {
    display: none;
}


/* top row */
.op-unique-section .op-benefit-top {
    margin-bottom: 10px;
}


/* icon */
.op-unique-section .op-benefit-icon {
    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;

    border-radius: 50%;
    background: #e9f6ef;
    color: #00954c;

    font-size: 14px;
    font-weight: 700;
}


/* headings */
.op-unique-section .op-benefit h3 {
    margin: 0 0 7px;

    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    color: #123f36;
}


/* copy */
.op-unique-section .op-benefit > p {
    margin: 0;

    font-size: 14px;
    line-height: 1.55;
    color: #555;
}


/* =========================================================
   IMAGE PANEL
   ========================================================= */

.op-unique-section .op-image-frame {
    position: relative;
    overflow: hidden;

    border-radius: 12px;
    background: #f3f5f4;
}

.op-unique-section .op-image-frame > p {
    margin: 0;
}

.op-unique-section .op-image-frame img {
    display: block;
    width: 100%;
    height: auto;
}


/* remove decorative corner bars if desired */
.op-unique-section .op-image-accent {
    display: none;
}


/* caption */
.op-unique-section .op-image-callout {
    left: 18px;
    right: 18px;
    bottom: 18px;

    padding: 14px 16px;

    background: rgba(255, 255, 255, .95);
    border-radius: 8px;

    font-size: 15px;
    line-height: 1.25;
    color: #111;
}


/* =========================================================
   FIRST SECTION FOOTER CTA
   ========================================================= */

.op-unique-section .op-unique-footer {
    margin-top: 30px;
    padding-top: 24px;

    border-top: 1px solid rgba(20, 70, 55, .12);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.op-unique-section .op-footer-label {
    display: inline-block;
    margin-bottom: 6px;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;

    color: #008f4c;
}

.op-unique-section .op-footer-copy strong {
    font-size: 16px;
    line-height: 1.35;
    color: #111;
}


/* button */
.op-unique-section .op-unique-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 13px 22px;

    background: #00954c;
    color: #fff !important;

    border-radius: 6px;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.op-unique-section .op-unique-button:hover {
    background: #007c40;
    color: #fff !important;
    transform: translateY(-1px);
}


/* =========================================================
   SECTION 2 — FRANCHISE SUPPORT
   ========================================================= */

.op-ppc-support {
    background: #f7f8f7;
}


/* override inline padding/background cleanly */
.op-ppc-support .op-ppc-container {
    padding: 42px !important;
    background: #f7f8f7 !important;
}


/* intro row */
.op-ppc-support .op-ppc-support-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;

    margin-bottom: 30px;
}


/* label */
.op-ppc-support .op-ppc-section-label {
    display: inline-block;
    margin-bottom: 12px;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: #008f4c;
}


/* intro body */
.op-ppc-support .op-ppc-support-copy {
    max-width: 720px;
}

.op-ppc-support .op-ppc-support-copy p {
    margin: 0;

    font-size: 16px;
    line-height: 1.6;
    color: #4a4a4a;
}


/* support callout */
.op-ppc-support .op-ppc-support-callout {
    flex: 0 0 280px;

    padding: 20px 22px;

    background: #eef7f2;
    border: 1px solid rgba(0, 149, 76, .16);
    border-radius: 10px;

    color: #123f36;
}

.op-ppc-support .op-ppc-support-callout strong {
    display: block;
    margin-bottom: 6px;

    font-size: 16px;
    line-height: 1.25;
}

.op-ppc-support .op-ppc-support-callout span {
    font-size: 13px;
    line-height: 1.5;
    color: #555;
}


/* =========================================================
   SUPPORT CARD GRID
   ========================================================= */

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


/* card */
.op-ppc-support .op-ppc-support-card {
    position: relative;

    padding: 24px;

    background: #fff;

    border: 1px solid rgba(20, 70, 55, .10);
    border-radius: 10px;

    box-shadow: 0 4px 14px rgba(0, 0, 0, .035);
}


/* little green accent like other cards */
.op-ppc-support .op-ppc-support-card::before {
    content: "";

    display: block;
    width: 30px;
    height: 3px;

    margin-bottom: 14px;

    background: #00954c;
    border-radius: 999px;
}


/* card heading */
.op-ppc-support .op-ppc-support-card h3 {
    margin: 0 0 9px;

    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;

    color: black;
}


/* card copy */
.op-ppc-support .op-ppc-support-card > p {
    margin: 0;

    font-size: 14px;
    line-height: 1.55;
    color: #555;
}


/* =========================================================
   TAGS
   ========================================================= */

.op-ppc-support .op-ppc-support-tags {
    margin-top: 16px;

    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}


/* kill the BRs in your existing HTML */
.op-ppc-support .op-ppc-support-tags br {
    display: none;
}

.op-ppc-support .op-ppc-support-tags span {
    display: inline-flex;
    padding: 5px 8px;
    background: #00ab4f;
    border-radius: 999px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    color: white;
}


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

@media (max-width: 900px) {

    .op-unique-section .op-unique-wrap,
    .op-ppc-support .op-ppc-container {
        padding: 30px !important;
    }

    .op-ppc-support .op-ppc-support-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .op-ppc-support .op-ppc-support-intro {
        flex-direction: column;
    }

    .op-ppc-support .op-ppc-support-callout {
        flex: none;
        width: 100%;
        box-sizing: border-box;
    }
}


@media (max-width: 650px) {

    .op-support-section {
        border-radius: 12px;
    }

    .op-unique-section .op-unique-wrap,
    .op-ppc-support .op-ppc-container {
        padding: 24px !important;
    }

    .op-unique-section .op-unique-heading h2 {
        font-size: 34px;
    }

    .op-unique-section .op-unique-layout {
        gap: 20px;
    }

    .op-unique-section .op-unique-footer {
        display: block;
    }

    .op-unique-section .op-unique-footer > p {
        margin: 20px 0 0;
    }

    .op-unique-section .op-unique-button {
        width: 100%;
        box-sizing: border-box;
    }

    .op-ppc-support .op-ppc-support-grid {
        grid-template-columns: 1fr;
    }
}

/* Remove icons/numbers from Why Office Pride benefit cards */
.op-unique-section .op-benefit-top {
    display: none !important;
}

/* Adjust spacing now that icon row is gone */
.op-unique-section .op-benefit h3 {
    margin: 0 0 8px;
}

.op-unique-section .op-benefit {
    padding: 24px;
}

/* =========================================================
   LOCAL INDUSTRIES
   ========================================================= */

.op-ppc-local-market {
    padding: 42px;
    background: #f7f8f7;
    border-radius: 16px;
}

.op-ppc-local-market-copy {
    max-width: 720px;
    margin-bottom: 30px;
}

.op-ppc-local-label {
    display: block;
    margin-bottom: 10px;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;

    color: #046a38;
}

.op-ppc-local-market-copy h3 {
    margin: 0 0 12px;

    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;

    color: #111;
}

.op-ppc-local-market-copy p {
    max-width: 650px;
    margin: 0;

    font-size: 16px;
    line-height: 1.6;
    color: #4a4a4a;
}


/* GRID */

.op-ppc-local-industries {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}


/* CARD */

.op-ppc-local-industry {
    min-height: 110px;
    padding: 22px 24px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    box-sizing: border-box;

    background: #fff;
    border: 1px solid rgba(20, 70, 55, .10);
    border-radius: 10px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.op-ppc-local-industry:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 20px rgba(0, 0, 0, .05);
}

.op-ppc-local-industry strong {
    display: block;
    margin-bottom: 7px;

    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;

    color: #123f36;
}

.op-ppc-local-industry span {
    display: block;

    font-size: 14px;
    line-height: 1.45;

    color: #555;
}


/* subtle emphasis on highest-interest categories */

.op-ppc-local-industry:nth-child(-n+3) {
    border-top: 3px solid #00954c;
}


/* TABLET */

@media (max-width: 900px) {

    .op-ppc-local-industries {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .op-ppc-local-market {
        padding: 26px 22px;
        border-radius: 12px;
    }

    .op-ppc-local-market-copy h3 {
        font-size: 28px;
    }

    .op-ppc-local-industries {
        grid-template-columns: 1fr;
    }

    .op-ppc-local-industry {
        min-height: 0;
        padding: 20px;
    }
}

body.wp-singular.page-template.page-template-services-template-development-testing.page-template-services-template-development-testing-php.page.page-id-8135.logged-in.admin-bar.wp-theme-office-pride.customize-support {
}
.op-ppc-local-industry,
.op-ppc-local-industry:nth-child(-n+3) {
    border: 0 !important;
}/* Remove green accent lines from industry cards */
.op-ppc-local-industry,
.op-ppc-local-industry:nth-child(-n+3) {
    border-top: 1px solid rgba(20, 70, 55, .10) !important;
    border-left: 1px solid rgba(20, 70, 55, .10) !important;
}
/* Completely remove old accent treatment */
.op-ppc-local-market .op-ppc-local-market-copy {
    border: 0 !important;
}

.op-ppc-local-market .op-ppc-local-market-copy::before,
.op-ppc-local-market .op-ppc-local-market-copy::after {
    display: none !important;
    content: none !important;
}

/* Remove old standalone discount if it still exists anywhere */
.op-investment-section .investment-discount {
    display: none !important;
}

/* Give the cost cards enough room for the new content */
.op-investment-section .investment-cost-card {
    display: flex;
    flex-direction: column;
}

/* Normalize paragraphs */
.op-investment-section .investment-cost-card > p {
    margin: 8px 0 0;
}

/* Small discount callout inside franchise fee card */
.op-investment-section .investment-inline-discount {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 14px;
    background: #edf7f2;
    border-left: 3px solid #00964d;
}

/* Compact discount note inside franchise fee card */
.op-investment-section .investment-inline-discount {
    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid #dfe4e2;

    background: transparent !important;
    border-left: 0 !important;
}

.op-investment-section .investment-inline-discount strong {
    display: inline;

    margin-right: 5px;

    color: #163f63 !important;

    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.op-investment-section .investment-inline-discount span {
    display: inline;

    color: #68747a !important;

    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

/* Hide old star/icon if still present */
.op-investment-section .investment-inline-discount-icon {
    display: none !important;
}

/* =========================================================
   WHY COMMERCIAL CLEANING HEADING SPACING FIX
   ========================================================= */

.op-industry .op-industry-heading {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 0 34px !important;
    padding: 0 !important;

    gap: 0 !important;
    row-gap: 0 !important;
}


/* Eyebrow */
.op-industry .op-industry-heading .op-industry-kicker {
    display: block !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
}


/* Row containing H2 + right-side intro */
.op-industry .op-industry-heading .op-industry-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .95fr) !important;
    align-items: start !important;
    gap: 70px !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
}


/* H2 */
.op-industry .op-industry-title-row h2 {
    margin: 0 !important;
    padding: 0 !important;
}


/* Right copy */
.op-industry .op-industry-intro {
    margin: 0 !important;
    padding: 0 !important;
}


/* Mobile */
@media (max-width: 767px) {

    .op-industry .op-industry-heading .op-industry-title-row {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .op-industry .op-industry-heading .op-industry-kicker {
        margin-bottom: 12px !important;
    }

}

.badges-banner {
    border-radius: 16px !important;}

/* =========================================================
   AWARDS SLIDER - CENTER ALL CARD TEXT
   ========================================================= */

.badges-banner .bb-card,
.badges-banner .bb-card-top,
.badges-banner .bb-card-bottom,
.badges-banner .bb-label,
.badges-banner .bb-number {
    text-align: center !important;
}


/* Center top label/number row */
.badges-banner .bb-card-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}


/* Center bottom copy */
.badges-banner .bb-card-bottom {
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
}


/* Title */
.badges-banner .bb-card-bottom strong {
    display: block !important;
    width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


/* Supporting text */
.badges-banner .bb-card-bottom span {
    display: block !important;
    width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}

.op-industry {
    padding: 70px 25px 35px !important;
    border-radius: 0 0 16px 16px !important;
}
/* Badge image remains centered */
.badges-banner .bb-image-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.badges-banner .bb-label { 
    color: #000000 !important; 
    font-family: "Cera Pro", Arial, sans-serif; 
    font-size: 13px !important; 
    font-weight: 700; 
    letter-spacing: 1.25px; 
    text-align: right; 
} 
 
.op-industry .op-industry-kicker,
.op-ppc-local-label,
.bb-kicker,
.op-unique-section .op-kicker, .op-footer-label, .op-ppc-section-label , .op-investment-kicker { 
    font-size: 18px !important; 
} 
 
.op-ppc-support { 
    background: #f7f8f700 !important; 
} 
 
.op-unique-section,
.badges-banner { 
    padding: 2px 0 !important; 
} 
 
.op-industry { 
    padding: 61px 38px 40px 38px !important; 
} 

.badges-banner .bb-inner { 
    padding: 42px; 
} 
 
.t-title {
    display: none;
} 
 
.t-cta { 
    display: flex !important; 
    justify-content: center !important; 
    align-items: center; 
    width: 100% !important; 
    max-width: none !important; 
    margin: 22px auto 0 !important; 
    text-align: center; 
} 
 
.t-cta .cta-btn { 
    margin-left: auto !important; 
    margin-right: auto !important; 
}
body .op-unique-section a.op-unique-button,
body .op-unique-section a.op-unique-button:link,
body .op-unique-section a.op-unique-button:visited,
body .investment-button,
body a.investment-button:link,
body a.investment-button:visited , .op-investment-section a.investment-button, .op-investment-section a.investment-button:link, .op-investment-section a.investment-button:visited{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    padding: 14px 24px !important;
    margin: 0 !important;

    background: #00b451 !important;
    color: #fff !important;

    border: 1px solid #fff !important;
    border-radius: 6px !important;

    font-family: "Cera Pro", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .3px !important;
    text-transform: none !important;
    text-decoration: none !important;

    transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body .op-unique-section a.op-unique-button:hover,
body .op-unique-section a.op-unique-button:focus,
body .investment-button:hover,
body .investment-button:focus {
    background: #007c3e !important;
    color: #fff !important;
    text-decoration: none !important;

    transform: translateY(-1px) !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .12) !important;
}
.op-ppc-local-industries {border: none !important;}
.op-ppc-support .op-ppc-support-card::before {
    display: none !important;
}

.op-ppc-support .op-ppc-container  {
border-radius:16px;
}

.op-investment-section {

    border-radius: 16px;
}
.op-ppc-support .op-ppc-support-copy p {

    font-size: 16px;
    font-size: 18px;

}

.op-investment-section .investment-cost-card {
    position: relative;
    min-height: 190px;
    padding: 22px;
    background: #fff;
    border-top: 5px solid var(--op-green);
    border-radius: 16px;
}

.op-investment-content {
    padding: 30px;
    background: #f6f7f6;
    border-radius: 16px;
}

.investment-cost-card {
    border-radius: 10px;
}
.investment-note {
border-radius: 10px;
    border-left: none !important;
}
.op-investment-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px;
background: #f7f7f7 !important;
}

.op-investment-section .investment-cost-card {
border-top: none !important;
}
.op-investment-title-row > p {
    max-width: 440px;
    margin: 58px 0 0 !important;
    color: #555;
    font-family: "Cera Pro", Arial, sans-serif;
    font-size: 18px !important;
    line-height: 1.65;
}


.faq-section {
max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
border-radius: 16px;

background: #ffffff !important;
}

.faq-section h2::before {
display: none !important;
}

.faq-section h2 { 
color:black !important;
}

.op-investment-section {
    --op-green: #00954c;
    --op-dark-green: #046a38;
    --op-blue: #2761a1;
    --op-dark-blue: #0d436b;
    --op-light-gray: #dddcda;
    --op-black: #181818;
    position: relative;
    width: 100%;
    padding: 58px 25px 64px;
    background: #f8f8f8 !important;
    box-sizing: border-box;
    overflow: hidden;
}

.op-investment-visual {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: #dddddd00 !important;
}

.faq-question { margin-bottom:0px!important; color:black;}

.op-investment-section .investment-cost-card-blue .investment-cost-value {
    color: #00964e !important;
}

.op-industry .op-reason-icon { display:none !important;}

.op-investment-section .investment-cost-label {

    color: #000000 !important;

}

 .cta-btn {
cursor: pointer !important;
}

/* Make all CTA button arrows consistent */
.cta-btn::after {
    content: "➜" !important;
    display: inline-block !important;
    margin-left: 14px !important;

    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    transition: transform .2s ease !important;
}

/* Slight movement on hover */
.cta-btn:hover::after {
    transform: translateX(4px);
}

.jfDropdownV2-header {
height: 50px !important;
}