.header__logo {
            background-color: var(--white);
            padding: 8px 36px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .header__logo img {
            height: 70px;
            width: auto;
        }

        /* Header contact sits over the dark cinematic hero */
        .header__contact-title .title {
            color: #fff;
        }

        .header__contact-title p {
            color: #c5c5c5;
        }

        /* Black panel behind email + coverage only — falling nuts wash out the type */
        .header__contact-wrap .header__contact:nth-child(4),
        .header__contact-wrap .header__contact:nth-child(5) {
            background: #000;
            padding: 14px 18px;
        }

        .header.is-sticky .header__contact-title .title {
            color: var(--black-1);
        }

        /* Sticky top navigation */
        .header.is-sticky {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 9998;
            background: #fff;
            box-shadow: 0 8px 28px rgba(31, 33, 45, 0.12);
            animation: headerStickyIn 0.35s ease;
        }

        .header.is-sticky .header__topbar {
            display: none;
        }

        .header.is-sticky .header__area {
            position: relative;
            top: 0;
            max-width: 1450px;
        }

        .header.is-sticky .header__contact-wrap {
            display: none;
        }

        .header.is-sticky .header__menu-wrap {
            padding-left: 20px;
            padding-right: 0;
        }

        .header__sticky-logo {
            display: none;
            align-items: center;
            margin-right: 24px;
            flex-shrink: 0;
        }

        .header.is-sticky .header__sticky-logo {
            display: flex;
        }

        .header__sticky-logo img {
            height: 52px;
            width: auto;
            display: block;
        }

        .header__call-icon {
            display: none;
        }

        @keyframes headerStickyIn {
            from {
                transform: translateY(-100%);
                opacity: 0.85;
            }

            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        @media (max-width: 767px) {
            .header.is-sticky .header__sticky-logo img {
                height: 42px;
            }

            .header.is-sticky .header__menu-wrap {
                padding-left: 12px;
            }
        }

        /* Gold ribbon-fold triangle under the topbar slant (like original template) */
        .header__topbar::after {
            content: "";
            position: absolute;
            top: 100%;
            left: calc(39.5% - 28px);
            width: 0;
            height: 0;
            border-top: 18px solid var(--primary);
            border-left: 28px solid transparent;
            z-index: 5;
        }

        @media (max-width: 767px) {
            .header__topbar::after {
                display: none;
            }
        }

        /* Stripe-style "active" hero background: floating brand shapes,
           no gradients — background color stays untouched */
        .hero__float {
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            overflow: hidden;
        }

        .hero__float .f {
            position: absolute;
            animation: heroDrift var(--d, 14s) ease-in-out infinite alternate;
        }

        .hero__float .f svg {
            display: block;
            animation: heroSpin var(--r, 60s) linear infinite;
        }

        .hero__float .f.no-spin svg {
            animation: none;
        }

        @keyframes heroDrift {
            from {
                transform: translate3d(0, -20px, 0);
            }

            to {
                transform: translate3d(0, 24px, 0);
            }
        }

        @keyframes heroSpin {
            to {
                transform: rotate(360deg);
            }
        }

        .hero__area>*:not(.hero__float) {
            position: relative;
            z-index: 1;
        }

        @media (max-width: 767px) {
            .hero__float {
                display: none;
            }
        }

        /* Cinematic hero — background-image comes from CMS via inline style */
        .hero--cinematic {
            background-color: #050505;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: right center;
        }

        .hero--cinematic .hero__float {
            display: none;
        }

        .hero--cinematic .hero__image-wrap img {
            display: none;
        }

        .hero--cinematic .hero__main-title-text {
            color: #fff;
        }

        .hero--cinematic .hero__main-title-text span {
            -webkit-text-stroke-width: 0;
            color: #E0A020;
        }

        .hero--cinematic .hero__description {
            color: #E6E6E6;
        }

        .hero--cinematic .hero__modal-wrap .carox__modal {
            background: #E0A020;
            color: #1F212D;
            outline-color: #3a3a3a;
        }

        .hero--cinematic .hero__modal-wrap .carox__modal:hover {
            color: #fff;
            background: #1F212D;
        }

        /* Mobile brand stage — desktop stays clean; phone gets the animated mark */
        .hero__brand-stage {
            display: none;
        }

        /* Recent Rescues gallery — themed to EZ NUTS / Carox */
        .inspiration__gallery {
            overflow: hidden;
            background: #fff;
        }

        .inspiration__header {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 40px;
        }

        .inspiration__header .sec-title-wrap {
            gap: 10px;
        }

        .inspiration__nav {
            display: flex;
            gap: 10px;
            flex-shrink: 0;
            padding-bottom: 6px;
        }

        .inspiration__nav .next-prev {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border-radius: 100%;
            background: #fff;
            color: var(--primary);
            border: 1px solid rgba(224, 160, 32, 0.35);
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: rgba(149, 157, 165, 0.18) 0px 8px 24px;
        }

        .inspiration__nav .next-prev:hover {
            background: var(--primary);
            color: #1F212D;
            border-color: var(--primary);
        }

        .inspiration__nav .next-prev.swiper-button-disabled {
            opacity: 0.35;
            cursor: default;
            pointer-events: none;
        }

        .inspiration__slider {
            padding-left: 0;
            padding-right: 0;
        }

        .inspiration__slider .swiper-wrapper {
            align-items: stretch;
        }

        .inspiration__slider .swiper-slide {
            height: auto;
        }

        .inspiration__card {
            display: block;
            text-decoration: none;
            color: inherit;
        }

        .inspiration__thumb {
            position: relative;
            overflow: hidden;
            aspect-ratio: 3 / 4;
            background: #1F212D;
        }

        .inspiration__thumb::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 4px;
            background: var(--primary);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.35s ease;
            z-index: 2;
        }

        .inspiration__card:hover .inspiration__thumb::after {
            transform: scaleX(1);
        }

        .inspiration__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.5s ease, filter 0.35s ease;
        }

        .inspiration__card:hover .inspiration__thumb img {
            transform: scale(1.06);
            filter: brightness(0.92);
        }

        .inspiration__label {
            display: inline-block;
            margin-top: 16px;
            font-family: "Rubik", sans-serif;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--primary);
            line-height: 1.2;
        }

        .inspiration__label::before {
            content: "\f101";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            margin-right: 6px;
            font-size: 11px;
        }

        .inspiration__caption {
            margin: 8px 0 0;
            font-family: "Barlow", sans-serif;
            font-size: 20px;
            font-weight: 700;
            letter-spacing: 0;
            text-transform: none;
            color: #1B1A1A;
            line-height: 1.25;
            transition: color 0.25s ease;
        }

        .inspiration__card:hover .inspiration__caption {
            color: var(--primary);
        }

        @media (max-width: 767px) {
            .inspiration__header {
                align-items: flex-start;
                margin-bottom: 28px;
            }

            .inspiration__caption {
                font-size: 17px;
            }

            .inspiration__nav .next-prev {
                width: 40px;
                height: 40px;
            }
        }

        /* Clear space for the floating solution tabs below */
        .about__area {
            padding-bottom: 90px;
        }

        .about__contact {
            margin-top: 32px;
            padding-top: 28px;
            border-top: 1px solid #e5e7eb;
        }

        .about__phone {
            display: block;
            text-decoration: none;
            color: inherit;
        }

        .about__phone-label {
            display: block;
            font-family: "Rubik", sans-serif;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #E0A020;
            margin-bottom: 6px;
        }

        .about__phone-number {
            display: block;
            font-family: "Barlow", sans-serif;
            font-size: 36px;
            font-weight: 700;
            line-height: 1.1;
            color: #1F212D;
            transition: color 0.2s ease;
        }

        .about__phone:hover .about__phone-number {
            color: #E0A020;
        }

        .about__write {
            margin-top: 14px;
            padding: 0;
            border: 0;
            background: none;
            color: #1F212D;
            font-family: "Rubik", sans-serif;
            font-size: 15px;
            font-weight: 500;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .about__write i {
            color: #E0A020;
            font-size: 13px;
            transition: transform 0.2s ease;
        }

        .about__write:hover {
            color: #E0A020;
        }

        .about__write:hover i {
            transform: translateX(4px);
        }

        @media (max-width: 767px) {
            .about__phone-number {
                font-size: 28px;
            }
        }

        /* Solution section — tabbed layout matching design */
        .solution__area {
            background-color: #EFF4F9;
            background-image: url("../img/solution/bg-2.png");
            background-repeat: no-repeat;
            background-position: right center;
            background-size: auto 100%;
            overflow-x: clip;
            overflow-y: visible;
            padding-bottom: 70px;
        }

        .solution__tabs {
            display: flex;
            flex-wrap: nowrap;
            gap: 0;
            border: 0 !important;
            margin: 0;
            position: absolute;
            left: 30px;
            right: 0;
            bottom: 100%;
        }

        .solution__tabs .nav-item {
            flex: 1 1 0;
            margin: 0;
        }

        .solution__tabs .nav-link {
            width: 100%;
            border: 0 !important;
            border-radius: 0 !important;
            background: #1F212D !important;
            color: var(--primary) !important;
            font-family: "Barlow", sans-serif;
            font-size: 15px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            padding: 20px 16px;
            line-height: 1.2;
            text-align: center;
            white-space: nowrap;
            transition: background 0.25s ease, color 0.25s ease;
        }

        .solution__tabs .nav-link:hover {
            background: #2a2d3c !important;
            color: var(--primary) !important;
        }

        .solution__tabs .nav-link.active {
            background: var(--primary) !important;
            color: #1F212D !important;
        }

        .solution__left {
            position: relative;
            z-index: 2;
        }

        /* Hexagon motif behind the technician — a nod to the wheel nut */
        .solution__deco {
            position: absolute;
            z-index: 0;
            pointer-events: none;
            display: block;
        }

        .solution__deco svg {
            display: block;
            width: 100%;
            height: 100%;
        }

        /* Large thin-stroke hexagon centered behind the technician */
        .deco-hex-main {
            width: 94%;
            aspect-ratio: 1;
            left: 44%;
            top: 55%;
            transform: translate(-50%, -50%) rotate(12deg);
        }

        .deco-hex-main svg polygon {
            stroke-width: 2.5;
        }

        /* Faint echo hexagon, offset top-right */
        .deco-hex-echo {
            width: 30%;
            aspect-ratio: 1;
            right: 2%;
            top: 4%;
            transform: rotate(-8deg);
            opacity: 0.14;
        }

        /* Small solid gold hexagon anchor, bottom-left */
        .deco-hex-solid {
            width: 58px;
            aspect-ratio: 1;
            left: 7%;
            bottom: 12%;
            transform: rotate(12deg);
        }

        /* Gold dot grid, top-left */
        .deco-dots {
            width: 120px;
            height: 96px;
            left: 3%;
            top: 6%;
            opacity: 0.45;
        }

        /* Elegant vertical side label along the left edge */
        .solution__side-label {
            position: absolute;
            left: -14px;
            top: 50%;
            transform: rotate(180deg) translateY(50%);
            writing-mode: vertical-rl;
            font-family: "Rubik", sans-serif;
            font-size: 12px;
            font-weight: 500;
            letter-spacing: 0.38em;
            text-transform: uppercase;
            color: #A3ADB8;
            white-space: nowrap;
            z-index: 0;
            pointer-events: none;
        }

        .solution__left {
            position: relative;
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 520px;
        }

        .solution__left .promise__orbit {
            width: 520px;
            height: 520px;
            max-width: 100%;
        }

        .solution__left .promise__orbit::before {
            inset: 70px;
        }

        .solution__left .promise__item {
            width: 140px;
            height: 140px;
            margin: -70px 0 0 -70px;
            transform: rotate(var(--a)) translateY(-188px);
        }

        .solution__left .promise__item::before {
            display: none;
        }

        .solution__left .promise__hub {
            display: none;
        }

        .solution__right {
            position: relative;
            z-index: 2;
            padding-top: 40px !important;
            padding-left: 30px !important;
        }

        .solution__right .list {
            margin-bottom: 35px;
        }

        .solution__right .list li {
            border-bottom: 1px solid #ddd;
            padding-bottom: 14px;
            margin-bottom: 14px;
            font-weight: 400;
            font-size: 16px;
            line-height: 1.7;
        }

        .solution__right .list li:last-child {
            border-bottom: 0;
            margin-bottom: 0;
        }

        .solution__right .list li i {
            width: 32px;
            height: 32px;
            min-width: 32px;
            border-radius: 50%;
            background: var(--primary);
            color: #1F212D !important;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
        }

        .solution__right .tab-content {
            min-height: 320px;
        }

        .solution__right .tab-pane:not(.show) {
            display: none;
        }

        /* Button + 24/7 phone call-out row */
        .solution__cta {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px 34px;
            position: relative;
            z-index: 6;
            background: #EFF4F9;
            padding: 10px 0 6px;
        }

        .solution__phone {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            text-decoration: none;
        }

        .solution__phone .icon {
            width: 52px;
            height: 52px;
            min-width: 52px;
            border-radius: 50%;
            border: 2px solid var(--primary);
            color: var(--primary);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            transition: all 0.3s;
        }

        .solution__phone:hover .icon {
            background: var(--primary);
            color: #1F212D;
        }

        .solution__phone .text {
            display: flex;
            flex-direction: column;
            line-height: 1.25;
        }

        .solution__phone small {
            font-size: 13px;
            color: #777;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .solution__phone strong {
            font-family: "Barlow", sans-serif;
            font-size: 20px;
            font-weight: 700;
            color: #1B1A1A;
        }

        /* Dark stats band bridging into the projects section */
        .stats__band {
            background: #1F212D;
            padding: 48px 0;
            position: relative;
            overflow: hidden;
        }

        .stats__band::before {
            content: "";
            position: absolute;
            left: -80px;
            top: 0;
            bottom: 0;
            width: 260px;
            background: var(--primary);
            transform: skewX(-18deg);
            opacity: 0.1;
            pointer-events: none;
        }

        .stats__band::after {
            content: "";
            position: absolute;
            right: -80px;
            top: 0;
            bottom: 0;
            width: 160px;
            background: var(--primary);
            transform: skewX(-18deg);
            opacity: 0.07;
            pointer-events: none;
        }

        .stats__grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
        }

        .stats__item {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            position: relative;
        }

        .stats__item:not(:last-child)::after {
            content: "";
            position: absolute;
            right: -15px;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 56px;
            background: rgba(255, 255, 255, 0.12);
        }

        .stats__item .icon {
            width: 58px;
            height: 58px;
            min-width: 58px;
            border-radius: 50%;
            background: var(--primary);
            color: #1F212D;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
        }

        .stats__item .num {
            margin: 0;
            font-family: "Barlow", sans-serif;
            font-size: 32px;
            font-weight: 700;
            color: #fff;
            line-height: 1;
        }

        .stats__item .num span {
            color: var(--primary);
        }

        .stats__item p {
            margin: 6px 0 0;
            font-size: 15px;
            color: rgba(255, 255, 255, 0.62);
        }

        @media (max-width: 991px) {
            .stats__grid {
                grid-template-columns: 1fr 1fr;
                gap: 34px 20px;
            }

            .stats__item {
                justify-content: flex-start;
            }

            .stats__item:not(:last-child)::after {
                display: none;
            }
        }

        @media (max-width: 575px) {
            .stats__grid {
                grid-template-columns: 1fr;
            }

            .solution__cta {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 991px) {
            .solution__area {
                padding-top: 30px;
                padding-bottom: 50px;
            }

            .deco-hex-echo,
            .deco-dots,
            .solution__side-label {
                display: none;
            }

            .deco-hex-main {
                width: 80%;
            }

            .solution__left {
                min-height: 0;
                margin-bottom: 16px;
            }

            .solution__right {
                padding-top: 20px !important;
                padding-left: 0 !important;
            }

            .solution__tabs {
                position: static;
                margin-bottom: 25px;
            }

            .solution__tabs .nav-link {
                font-size: 12px;
                padding: 14px 8px;
            }
        }

        @media (max-width: 575px) {
            .solution__tabs {
                flex-direction: column;
            }

            .solution__tabs .nav-link {
                text-align: left;
            }
        }

        /* Recent Rescues — centered showcase carousel */
        .project__area.rescue-showcase {
            background: #fff;
            padding: 90px 0 100px;
            overflow: hidden;
        }

        .rescue-showcase .project__top {
            text-align: center;
            margin-bottom: 0;
        }

        .rescue-showcase .project__top .sec-title-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 10px;
            margin-bottom: 36px;
        }

        .rescue-showcase .project__top .sec-title {
            color: #1F212D;
        }

        .rescue__showcase {
            margin-top: 0;
        }

        .rescue__slider {
            overflow: hidden;
            cursor: grab;
        }

        .rescue__slider:active {
            cursor: grabbing;
        }

        .rescue__slider .swiper-slide {
            width: min(720px, 84vw);
            opacity: 0.45;
            transition: opacity 0.4s ease;
        }

        .rescue__slider .swiper-slide-active {
            opacity: 1;
        }

        .rescue__card {
            margin: 0;
            background: #fff;
            border: 1px solid #E2E7EC;
        }

        .rescue__slider .swiper-slide-active .rescue__card {
            border-color: rgba(224, 160, 32, 0.55);
        }

        .rescue__card .thumb {
            position: relative;
            aspect-ratio: 16 / 10;
            overflow: hidden;
            background: #1F212D;
        }

        .rescue__card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transform: scale(1.02);
            transition: transform 0.5s ease;
        }

        .rescue__slider .swiper-slide-active .rescue__card img {
            transform: scale(1);
        }

        .rescue__card figcaption {
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 18px 20px 20px;
        }

        .rescue__card .cat {
            font-family: "Barlow", sans-serif;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #E0A020;
            white-space: nowrap;
        }

        .rescue__card .title {
            margin: 0;
            font-family: "Barlow", sans-serif;
            font-size: 22px;
            font-weight: 700;
            color: #1F212D;
            line-height: 1.25;
        }

        .rescue__controls {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-top: 28px;
        }

        .rescue__nav {
            display: flex;
            gap: 8px;
        }

        .rescue__nav .next-prev {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            background: #fff;
            color: #E0A020;
            border: 1px solid #E2E7EC;
            cursor: pointer;
            transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
        }

        .rescue__nav .next-prev:hover {
            background: #E0A020;
            color: #1F212D;
            border-color: #E0A020;
        }

        .rescue__progress {
            display: flex;
            align-items: center;
            gap: 14px;
            flex: 0 1 320px;
        }

        .rescue__progress .current,
        .rescue__progress .total {
            font-family: "Barlow", sans-serif;
            font-size: 15px;
            font-weight: 700;
            color: #1F212D;
        }

        .rescue__progress .total {
            color: #9ca3af;
        }

        .rescue__progress .bar {
            position: relative;
            flex: 1;
            height: 2px;
            background: #E2E7EC;
        }

        .rescue__progress .fill {
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 0;
            background: #E0A020;
            transition: width 0.45s ease;
        }

        @media (max-width: 767px) {
            .project__area.rescue-showcase {
                padding: 70px 0 80px;
            }

            .rescue__slider .swiper-slide {
                width: min(720px, 88vw);
            }

            .rescue__card .title {
                font-size: 18px;
            }

            .rescue__card figcaption {
                padding: 14px 16px 16px;
            }

            .rescue__controls {
                flex-wrap: wrap;
            }

            .rescue__progress {
                flex: 1 1 100%;
                order: -1;
            }

            .rescue__nav .next-prev {
                width: 44px;
                height: 44px;
            }
        }

        /* Reviews platform proof strip */
        .reviews__proof {
            margin: 0 0 40px;
        }

        /* Live Google reviews: "read all" link + linked reviewer names */
        .reviews__more {
            margin: 28px 0 0;
            text-align: center;
            font-weight: 600;
        }

        .reviews__more a {
            color: inherit;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .carox__testimonial .bio .name a {
            color: inherit;
            text-decoration: none;
        }

        /* Live Google reviews: "read all" link + linked reviewer names */
        .reviews__more {
            margin: 28px 0 0;
            text-align: center;
            font-weight: 600;
        }

        .reviews__more a {
            color: inherit;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .carox__testimonial .bio .name a {
            color: inherit;
            text-decoration: none;
        }

        .reviews__bar {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 28px;
            flex-wrap: wrap;
            padding: 18px 28px;
            background: #fff;
            border: 1px solid #E6EBF0;
        }

        .reviews__brands {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 0;
            min-width: 0;
        }

        .reviews__brand {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 22px;
            border-right: 1px solid #E6EBF0;
            text-decoration: none;
            color: #1B1A1A;
            font-family: "Barlow", sans-serif;
            font-size: 18px;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
        }

        .reviews__brand:first-child {
            padding-left: 0;
        }

        .reviews__brand:last-child {
            border-right: 0;
            padding-right: 0;
        }

        .reviews__brand svg {
            display: block;
            flex-shrink: 0;
        }

        .reviews__brand:hover {
            color: #E0A020;
        }

        .reviews__score {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }

        .reviews__metrics {
            display: inline-flex;
            align-items: center;
            gap: 18px;
            flex-shrink: 0;
            flex-wrap: wrap;
            justify-content: center;
        }

        .reviews__score strong {
            font-family: "Barlow", sans-serif;
            font-size: 22px;
            font-weight: 700;
            color: #1B1A1A;
            line-height: 1;
        }

        .reviews__score .stars {
            color: #E0A020;
            font-size: 15px;
            letter-spacing: 1px;
            line-height: 1;
        }

        .reviews__total {
            display: inline-flex;
            align-items: baseline;
            gap: 8px;
            padding: 8px 14px;
            background: #E0A020;
            color: #111;
            line-height: 1;
        }

        .reviews__total strong {
            font-family: "Barlow", sans-serif;
            font-size: 20px;
            font-weight: 700;
        }

        .reviews__total span {
            font-family: "Barlow", sans-serif;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        @media (max-width: 767px) {
            .reviews__proof {
                margin-bottom: 28px;
            }

            .reviews__bar {
                flex-direction: column;
                align-items: stretch;
                justify-content: stretch;
                gap: 0;
                padding: 0;
                overflow: hidden;
            }

            .reviews__brands {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                width: 100%;
                gap: 0;
            }

            .reviews__brand {
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 8px;
                padding: 16px 6px;
                border-right: 1px solid #E6EBF0;
                font-size: 11px;
                font-weight: 700;
                letter-spacing: 0.04em;
                text-transform: uppercase;
                text-align: center;
                white-space: normal;
                line-height: 1.2;
            }

            .reviews__brand:first-child {
                padding-left: 6px;
            }

            .reviews__brand:last-child {
                border-right: 0;
                padding-right: 6px;
            }

            .reviews__brand svg {
                width: 22px;
                height: 22px;
            }

            .reviews__score {
                justify-content: center;
                width: auto;
                gap: 12px;
                padding: 14px 16px;
                background: #1F212D;
                border-top: 3px solid #E0A020;
            }

            .reviews__metrics {
                width: 100%;
                justify-content: center;
                gap: 10px;
            }

            .reviews__score strong {
                color: #fff;
                font-size: 20px;
            }

            .reviews__score .stars {
                font-size: 14px;
                letter-spacing: 2px;
            }

            .reviews__total {
                padding: 12px 16px;
            }
        }

        @media (max-width: 480px) {
            .reviews__brand {
                font-size: 10px;
                padding: 14px 4px;
                gap: 7px;
            }

            .reviews__brand svg {
                width: 20px;
                height: 20px;
            }
        }

        /* Source badge on each testimonial card */
        .carox__testimonial.style-1 .item {
            position: relative;
        }

        .review__source {
            display: inline-flex;
            align-items: center;
            align-self: flex-start;
            margin: 28px 26px 0;
            padding: 6px 10px;
            background: #F7F9FB;
            border: 0;
            font-family: "Rubik", sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #555;
            line-height: 1;
        }

        .review__source.google {
            color: #4285F4;
            background: rgba(66, 133, 244, 0.08);
        }

        .review__source.trustpilot {
            color: #00B67A;
            background: rgba(0, 182, 122, 0.1);
        }

        .review__source.facebook {
            color: #1877F2;
            background: rgba(24, 119, 242, 0.08);
        }

        /* Cleaner review cards */
        .carox__testimonial.no-avatars .swiper-wrapper {
            align-items: stretch;
        }

        .carox__testimonial.no-avatars .swiper-slide {
            height: auto;
            display: flex;
        }

        .carox__testimonial.no-avatars .item {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            min-height: 300px;
            border-radius: 0;
            box-shadow: none;
            background: #fff;
            border: 1px solid #E6EBF0;
            overflow: hidden;
            transition: border-color 0.25s ease;
        }

        .carox__testimonial.no-avatars .item::after {
            display: none;
        }

        .carox__testimonial.no-avatars .swiper-slide-active .item {
            border-color: #E0A020;
        }

        .carox__testimonial.no-avatars .text {
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            padding: 14px 26px 20px;
        }

        .carox__testimonial.no-avatars .text p {
            margin: 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 5;
            overflow: hidden;
            min-height: 0;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 1.65;
            color: #3a3d46;
        }

        .carox__testimonial.no-avatars .info {
            gap: 0;
            padding: 18px 26px;
            margin-top: auto;
            background: #1F212D;
            border-top: 0;
        }

        .carox__testimonial.no-avatars .info::after {
            display: none;
        }

        .carox__testimonial.no-avatars .swiper-slide-active .info::after {
            display: none;
        }

        .carox__testimonial.no-avatars .name {
            margin: 0 0 4px;
            font-size: 17px;
            font-weight: 700;
            color: #fff;
        }

        .carox__testimonial.no-avatars .info p {
            margin: 0;
            font-size: 13px;
            color: rgba(255, 255, 255, 0.55);
        }

        .carox__testimonial.no-avatars .swiper-slide-active .info p {
            color: rgba(255, 255, 255, 0.55);
        }

        .carox__testimonial.no-avatars .top {
            display: none;
        }

        .carox__testimonial.no-avatars .top .dark,
        .carox__testimonial.no-avatars .top .yellow {
            display: none;
        }

        .review__more {
            align-self: flex-start;
            margin-top: 16px;
            padding: 0;
            border: 0;
            background: transparent;
            color: #E0A020;
            font-family: "Rubik", sans-serif;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            line-height: 1;
        }

        .review__more:hover {
            color: #1F212D;
        }

        .carox__testimonial.no-avatars .navigation .next-prev {
            width: 44px;
            height: 44px;
            border-radius: 0;
            background: #E0A020;
            color: #1F212D;
            border: 0;
            box-shadow: none;
        }

        .carox__testimonial.no-avatars .navigation .next-prev:hover {
            background: #1F212D;
            color: #E0A020;
        }

        /* Review detail modal */
        .review-modal {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.25s ease, visibility 0.25s ease;
        }

        .review-modal.is-open {
            opacity: 1;
            visibility: visible;
        }

        .review-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(31, 33, 45, 0.62);
        }

        .review-modal__dialog {
            position: relative;
            z-index: 1;
            width: min(560px, 100%);
            max-height: min(80vh, 640px);
            overflow: auto;
            background: #fff;
            padding: 36px 34px 30px;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
        }

        .review-modal__close {
            position: absolute;
            top: 14px;
            right: 14px;
            width: 36px;
            height: 36px;
            border: 1px solid #E6EBF0;
            background: #fff;
            color: #1B1A1A;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            line-height: 1;
            transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

        .review-modal__close:hover {
            background: var(--primary);
            border-color: var(--primary);
            color: #1F212D;
        }

        .review-modal__stars {
            color: var(--primary);
            font-size: 16px;
            letter-spacing: 2px;
            margin-bottom: 12px;
            line-height: 1;
        }

        .review-modal__source {
            display: inline-block;
            margin-bottom: 16px;
            font-family: "Rubik", sans-serif;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #777;
        }

        .review-modal__source.google {
            color: #4285F4;
        }

        .review-modal__source.trustpilot {
            color: #00B67A;
        }

        .review-modal__source.facebook {
            color: #1877F2;
        }

        .review-modal__body {
            margin: 0 0 28px;
            font-size: 17px;
            line-height: 1.7;
            color: #444;
        }

        .review-modal__author {
            border-top: 1px solid #E6EBF0;
            padding-top: 18px;
        }

        .review-modal__author strong {
            display: block;
            font-family: "Barlow", sans-serif;
            font-size: 20px;
            font-weight: 700;
            color: #1B1A1A;
            margin-bottom: 4px;
        }

        .review-modal__author span {
            font-size: 14px;
            color: #777;
        }

        body.review-modal-open {
            overflow: hidden;
        }

        /* Why choose us — before/after + feature cards */
        .reveal__area {
            background: #fff;
            padding: 100px 0 90px;
        }

        .reveal__wrap {
            display: grid;
            grid-template-columns: 1.25fr 0.85fr;
            gap: 48px;
            align-items: center;
            max-width: 1450px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .reveal__media {
            position: relative;
        }

        .reveal__tag {
            position: absolute;
            bottom: 18px;
            z-index: 5;
            padding: 7px 14px;
            font-family: "Rubik", sans-serif;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.04em;
            pointer-events: none;
        }

        .reveal__tag--before {
            left: 16px;
            background: #E0A020;
            color: #1F212D;
        }

        .reveal__tag--after {
            right: 16px;
            background: #E0A020;
            color: #1F212D;
        }

        .reveal__slider {
            margin: 0;
        }

        .reveal__area .before__after img {
            width: 100%;
            height: 520px;
            object-fit: cover;
            display: block;
        }

        .reveal__copy .sec-sub-title {
            margin-bottom: 10px;
        }

        .reveal__copy .sec-title {
            margin-bottom: 14px;
        }

        .reveal__copy .sec-title span {
            color: #E0A020;
        }

        .reveal__intro {
            margin: 0 0 28px;
            color: #6b7280;
            font-size: 16px;
            line-height: 1.6;
        }

        .reveal__cards {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 28px;
        }

        .reveal__card {
            background: #E0A020;
            color: #1F212D;
            text-align: center;
            padding: 28px 12px 24px;
            clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
        }

        .reveal__card i {
            display: block;
            font-size: 28px;
            margin-bottom: 12px;
        }

        .reveal__card strong {
            display: block;
            font-family: "Barlow", sans-serif;
            font-size: 15px;
            font-weight: 700;
            line-height: 1.25;
        }

        .reveal__contact {
            margin: 0;
            font-size: 15px;
            line-height: 1.6;
            color: #1F212D;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .reveal__contact a {
            color: #E0A020;
            font-weight: 700;
            text-decoration: none;
        }

        .reveal__contact a:hover {
            color: #1F212D;
        }

        @media (max-width: 1199px) {
            .reveal__wrap {
                gap: 36px;
            }

            .reveal__area .before__after img {
                height: 440px;
            }
        }

        @media (max-width: 991px) {
            .reveal__area {
                padding: 70px 0 72px;
            }

            .reveal__wrap {
                grid-template-columns: 1fr;
                gap: 36px;
            }

            .reveal__area .before__after img {
                height: 380px;
            }
        }

        @media (max-width: 767px) {
            .reveal__area {
                padding: 56px 0 80px;
                overflow: visible;
            }

            .reveal__area .before__after img {
                height: 260px;
            }

            .reveal__tag {
                bottom: 12px;
                padding: 6px 12px;
                font-size: 11px;
            }

            .reveal__cards {
                grid-template-columns: 1fr;
            }

            .reveal__card {
                padding: 22px 16px;
            }

            .reveal__contact {
                margin-top: 4px;
                padding-bottom: 4px;
            }
        }

        /* YouTube videos section */
        .videos__area {
            background: #F7F9FB;
        }

        .videos__header {
            text-align: center;
            max-width: 720px;
            margin: 0 auto 48px;
        }

        .videos__intro {
            margin: 16px 0 0;
            color: #6b7280;
            font-size: 17px;
            line-height: 1.6;
        }

        .videos__grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }

        .videos__item {
            background: #fff;
            border: 1px solid #E2E7EC;
            padding: 10px;
            transition: border-color 0.25s ease;
        }

        .videos__item:hover {
            border-color: var(--primary);
        }

        .videos__frame {
            position: relative;
            width: 100%;
            padding-top: 56.25%;
            background: #1F212D;
            overflow: hidden;
        }

        .videos__frame iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
            display: block;
        }

        @media (max-width: 991px) {
            .videos__grid {
                grid-template-columns: 1fr;
                gap: 20px;
                max-width: 640px;
                margin: 0 auto;
            }

            .videos__header {
                margin-bottom: 36px;
            }
        }

        /* Service promise wheel */
        .promise__area {
            background: #fff;
            overflow: hidden;
        }

        .promise__header {
            text-align: center;
            margin-bottom: 60px;
        }

        .promise__orbit {
            position: relative;
            width: 680px;
            height: 680px;
            margin: 0 auto;
        }

        /* dashed track the items ride on */
        .promise__orbit::before {
            content: "";
            position: absolute;
            inset: 90px;
            border: 2px dashed rgba(224, 160, 32, 0.45);
            border-radius: 50%;
            pointer-events: none;
        }

        .promise__orbit::after {
            display: none;
        }

        .promise__hub {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 250px;
            height: 250px;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            z-index: 2;
        }

        .promise__hub::before {
            content: "";
            position: absolute;
            inset: -14px;
            border: 2px solid var(--primary);
            border-radius: 50%;
        }

        .promise__hub img {
            width: 100%;
            height: 100%;
            display: block;
            border-radius: 50%;
            animation: promiseSpin 14s linear infinite;
        }

        .promise__carousel {
            position: absolute;
            inset: 0;
            animation: promiseSpin var(--promise-spin, 160s) linear infinite;
        }

        .promise__item {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 170px;
            height: 170px;
            margin: -85px 0 0 -85px;
            transform: rotate(var(--a)) translateY(-250px);
        }

        /* spoke connecting circle to hub */
        .promise__item::before {
            content: "";
            position: absolute;
            left: 50%;
            top: 100%;
            width: 2px;
            height: 42px;
            margin-left: -1px;
            background: rgba(224, 160, 32, 0.35);
        }

        .promise__item-inner {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 18px;
            text-align: center;
            background: #F7F9FB;
            border: 2px solid #E2E7EC;
            border-radius: 50%;
            animation: promiseCounter var(--promise-spin, 160s) linear infinite;
            transition: border-color 0.25s ease, background 0.25s ease;
        }

        .promise__item:nth-child(odd) .promise__item-inner {
            background: #fff;
            border-color: rgba(224, 160, 32, 0.5);
        }

        .promise__item-inner:hover {
            border-color: var(--primary);
            background: #fff;
        }

        .promise__item-inner i {
            font-size: 26px;
            color: var(--primary);
        }

        .promise__item-inner strong {
            font-family: "Barlow", sans-serif;
            font-size: 16px;
            font-weight: 700;
            color: #1F212D;
            line-height: 1.15;
        }

        .promise__item-inner span {
            font-size: 12px;
            font-weight: 500;
            color: #6b7280;
            line-height: 1.3;
        }

        /* freeze the orbit while reading */
        .promise__orbit:hover .promise__carousel,
        .promise__orbit:hover .promise__item-inner {
            animation-play-state: paused;
        }

        /* Rotation turned off in the CMS */
        .promise__orbit--static .promise__carousel,
        .promise__orbit--static .promise__item-inner {
            animation: none !important;
        }

        @keyframes promiseSpin {
            to {
                transform: rotate(360deg);
            }
        }

        @keyframes promiseCounter {
            from {
                transform: rotate(calc(-1 * var(--a)));
            }

            to {
                transform: rotate(calc(-1 * var(--a) - 360deg));
            }
        }

        @media (max-width: 1199px) and (min-width: 992px) {
            .promise__orbit {
                width: 580px;
                height: 580px;
            }

            .promise__orbit::before {
                inset: 80px;
            }

            .promise__hub {
                width: 210px;
                height: 210px;
            }

            .promise__item {
                width: 148px;
                height: 148px;
                margin: -74px 0 0 -74px;
                transform: rotate(var(--a)) translateY(-212px);
            }

            .promise__item::before {
                height: 34px;
            }

            .promise__item-inner strong {
                font-size: 14px;
            }

            .promise__item-inner span {
                font-size: 11px;
            }
        }

        /* Phones / tablets: 2-column circle grid (no orbit) */
        @media (max-width: 991px) {
            .promise__area {
                overflow: visible;
            }

            .promise__header {
                margin-bottom: 28px;
                padding: 0 10px;
            }

            .promise__orbit,
            .solution__left .promise__orbit {
                width: 100%;
                max-width: 400px;
                height: auto !important;
                margin: 0 auto;
                display: block;
                padding: 0;
            }

            .promise__orbit::before,
            .promise__orbit::after,
            .promise__item::before,
            .solution__left .promise__orbit::before,
            .solution__left .promise__item::before {
                content: none !important;
                display: none !important;
                border: 0 !important;
            }

            .promise__hub {
                display: none;
            }

            .promise__carousel,
            .solution__left .promise__carousel {
                position: static;
                inset: auto;
                width: 100%;
                animation: none !important;
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px 14px;
                justify-items: center;
            }

            .promise__item,
            .solution__left .promise__item {
                position: static;
                top: auto;
                left: auto;
                width: min(156px, 100%);
                height: auto;
                aspect-ratio: 1;
                margin: 0;
                max-width: none;
                transform: none !important;
            }

            .promise__item-inner,
            .solution__left .promise__item-inner {
                animation: none !important;
                box-sizing: border-box;
                overflow: hidden;
                padding: 16px 12px;
                gap: 5px;
                border: 2px solid rgba(224, 160, 32, 0.65);
                background: #fff;
            }

            .promise__item-inner i {
                font-size: 22px;
                flex-shrink: 0;
            }

            .promise__item-inner strong {
                display: block;
                max-width: 100%;
                font-size: 13px;
                line-height: 1.2;
            }

            .promise__item-inner span {
                display: block;
                max-width: 100%;
                font-size: 11px;
                line-height: 1.3;
            }

            .promise__orbit:hover .promise__carousel,
            .promise__orbit:hover .promise__item-inner {
                animation-play-state: running;
            }
        }

        @media (max-width: 767px) {

            .promise__orbit,
            .solution__left .promise__orbit {
                max-width: 340px;
            }

            .promise__carousel,
            .solution__left .promise__carousel {
                gap: 12px 10px;
            }

            .promise__item,
            .solution__left .promise__item {
                width: min(148px, 100%);
            }

            .promise__item-inner,
            .solution__left .promise__item-inner {
                padding: 12px 8px;
                gap: 4px;
            }

            .promise__item-inner i {
                font-size: 20px;
            }

            .promise__item-inner strong {
                font-size: 12px;
            }

            .promise__item-inner span {
                font-size: 10px;
            }
        }

        @media (max-width: 399px) {

            .promise__orbit,
            .solution__left .promise__orbit {
                max-width: 100%;
            }

            .promise__item,
            .solution__left .promise__item {
                width: 100%;
            }

            .promise__item-inner,
            .solution__left .promise__item-inner {
                padding: 10px 6px;
            }

            .promise__item-inner i {
                font-size: 18px;
            }

            .promise__item-inner strong {
                font-size: 11px;
            }

            .promise__item-inner span {
                font-size: 9px;
            }
        }

        /* Contact form fields */
        .contact__form .contact__field {
            margin-bottom: 16px;
            text-align: left;
        }

        .contact__form .contact__field label {
            display: block;
            margin-bottom: 8px;
            color: #fff;
            font-size: 15px;
            font-weight: 500;
        }

        .contact__form .contact__field label span,
        .contact__form .contact__consent em {
            color: #ff6b6b;
            font-style: normal;
        }

        .contact__form .contact__field input,
        .contact__form .contact__field select,
        .contact__form .contact__field textarea {
            width: 100%;
            margin-bottom: 0;
            padding: 14px 15px;
            border: 1px solid #e5e7eb;
            outline: none;
            background: #fff;
            color: #1F212D;
            text-transform: none;
            font-size: 15px;
            font-family: inherit;
            border-radius: 0;
            appearance: none;
        }

        .contact__form .contact__field select {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231F212D' d='M1.4 0.6L6 5.2 10.6 0.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 14px center;
            padding-right: 40px;
            cursor: pointer;
        }

        .contact__form .contact__field input::placeholder,
        .contact__form .contact__field textarea::placeholder {
            color: #9ca3af;
            text-transform: none;
        }

        .contact__form .contact__field textarea {
            height: 110px;
            resize: vertical;
        }

        .contact__postcode-status {
            display: block;
            margin-top: 6px;
            font-size: 12px;
            line-height: 1.35;
            min-height: 16px;
        }

        .contact__postcode-status.is-ok {
            color: #7dcea0;
        }

        .contact__postcode-status.is-error {
            color: #ff6b6b;
        }

        .contact__postcode-status.is-checking {
            color: rgba(255, 255, 255, 0.55);
        }

        .contact__failed {
            display: none;
            margin: -4px 0 16px;
            padding: 14px 14px 6px;
            background: rgba(0, 0, 0, 0.22);
            border: 1px solid rgba(224, 160, 32, 0.35);
        }

        .contact__failed:not([hidden]) {
            display: block;
        }

        .contact__failed > span {
            display: block;
            margin-bottom: 10px;
            color: rgba(255, 255, 255, 0.88);
            font-size: 13px;
            font-weight: 500;
        }

        .contact__failed > span em {
            color: #ff6b6b;
            font-style: normal;
        }

        .contact__failed-options {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4px 12px;
        }

        .contact__check {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 10px;
            color: rgba(255, 255, 255, 0.88);
            font-size: 13px;
            line-height: 1.3;
            cursor: pointer;
        }

        .contact__check input {
            width: 16px;
            height: 16px;
            flex-shrink: 0;
            accent-color: var(--primary);
        }

        @media (max-width: 575px) {
            .contact__failed-options {
                grid-template-columns: 1fr;
            }
        }

        .contact__consent {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            margin: 6px 0 22px;
            color: rgba(255, 255, 255, 0.88);
            font-size: 13px;
            line-height: 1.45;
            text-align: left;
            cursor: pointer;
        }

        .contact__consent input {
            width: 18px;
            height: 18px;
            margin: 2px 0 0;
            flex-shrink: 0;
            accent-color: var(--primary);
        }

        .contact__form .contact__hp {
            position: absolute;
            left: -10000px;
            top: auto;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        .contact__form .submit {
            width: 100%;
            padding: 18px 24px;
            font-size: 16px;
            font-weight: 700;
            letter-spacing: 0.06em;
            cursor: pointer;
            transition: background 0.25s ease, color 0.25s ease;
        }

        .contact__form .submit:hover {
            background: #fff;
            color: #1F212D;
        }

        .contact__form .submit.is-busy {
            pointer-events: none;
            opacity: 0.75;
        }

        /* Contact photo fills beside the form, cleared below CTA text */
        @media (min-width: 992px) {
            .contact__wrapper {
                align-items: stretch;
            }

            .contact__left {
                position: relative;
                z-index: 3;
            }

            .contact__right {
                position: relative;
                z-index: 1;
                overflow: hidden;
                min-height: 100%;
            }

            .contact__right img {
                position: absolute;
                top: 150px;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                height: 100%;
                margin: 0 !important;
                object-fit: cover;
                object-position: center 40%;
                display: block;
            }
        }

        @media (max-width: 991px) {
            .contact__right img {
                width: 100%;
                height: auto;
                display: block;
            }
        }

        /* Contact send overlay */
        .contact-send {
            position: fixed;
            inset: 0;
            z-index: 10050;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(31, 33, 45, 0.72);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .contact-send.is-open {
            opacity: 1;
            visibility: visible;
        }

        .contact-send__card {
            width: 100%;
            max-width: 380px;
            background: #fff;
            padding: 42px 32px 36px;
            text-align: center;
            border: 1px solid #E2E7EC;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
            transform: translateY(16px) scale(0.96);
            transition: transform 0.35s ease;
        }

        .contact-send.is-open .contact-send__card {
            transform: translateY(0) scale(1);
        }

        .contact-send__loader {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
        }

        .contact-send__loader p {
            margin: 0;
            color: #6b7280;
            font-size: 15px;
            font-weight: 500;
        }

        .contact-send__spinner {
            position: relative;
            width: 84px;
            height: 84px;
        }

        .contact-send__ring {
            width: 84px;
            height: 84px;
            border: 3px solid #E2E7EC;
            border-top-color: var(--primary);
            border-radius: 50%;
            animation: contactSpin 0.9s linear infinite;
        }

        .contact-send__nut {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--primary);
            font-size: 28px;
            animation: contactPulse 1.2s ease-in-out infinite;
            pointer-events: none;
        }

        .contact-send__success h3 {
            margin: 18px 0 8px;
            font-family: "Barlow", sans-serif;
            font-size: 24px;
            font-weight: 700;
            color: #1F212D;
        }

        .contact-send__success p {
            margin: 0 0 24px;
            color: #6b7280;
            font-size: 15px;
        }

        .contact-send__check {
            width: 78px;
            height: 78px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 3px solid var(--primary);
            border-radius: 50%;
            color: var(--primary);
            font-size: 32px;
            animation: contactPop 0.45s ease;
        }

        .contact-send__close {
            min-width: 120px;
            padding: 12px 28px;
            border: none;
            background: var(--primary);
            color: #1F212D;
            font-family: "Rubik", sans-serif;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.25s ease, color 0.25s ease;
        }

        .contact-send__close:hover {
            background: #1F212D;
            color: #fff;
        }

        @keyframes contactSpin {
            to {
                transform: rotate(360deg);
            }
        }

        @keyframes contactPulse {

            0%,
            100% {
                transform: scale(1);
            }

            50% {
                transform: scale(1.08);
            }
        }

        @keyframes contactPop {
            0% {
                transform: scale(0.4);
                opacity: 0;
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }

        body.contact-send-open {
            overflow: hidden;
        }

        /* Footer brand column */
        .footer__widget-1.footer__brand {
            background-color: #050505;
        }

        .footer__brand {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 55px 28px 50px;
            overflow: hidden;
        }

        .footer__brand::before {
            content: "";
            position: absolute;
            width: 220px;
            height: 220px;
            border: 1px solid rgba(224, 160, 32, 0.18);
            border-radius: 50%;
            top: -70px;
            right: -80px;
            pointer-events: none;
        }

        .footer__brand::after {
            content: "";
            position: absolute;
            width: 140px;
            height: 140px;
            border: 1px solid rgba(224, 160, 32, 0.14);
            border-radius: 50%;
            bottom: -50px;
            left: -45px;
            pointer-events: none;
        }

        .footer__brand-mark {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px;
            margin-bottom: 22px;
            position: relative;
            z-index: 1;
        }

        .footer__brand .logo {
            margin-bottom: 0;
            display: block;
            line-height: 0;
        }

        .footer__brand .logo img {
            max-width: 148px;
            height: auto;
        }

        .footer__brand-tag {
            display: inline-block;
            padding: 6px 12px;
            border: 1px solid rgba(224, 160, 32, 0.55);
            color: #E0A020;
            font-family: "Rubik", sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            background: transparent;
        }

        .footer__brand .footer__brand-copy {
            position: relative;
            z-index: 1;
            max-width: 260px;
            margin: 0 0 24px;
            padding: 0;
            color: #E6E6E6;
            font-size: 15px;
            line-height: 1.65;
            font-weight: 500;
        }

        .footer__widget-1.footer__brand p {
            color: #E6E6E6;
        }

        .footer__brand-phone {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 12px;
            width: 100%;
            max-width: 260px;
            margin-bottom: 26px;
            padding: 14px 16px;
            background: #E0A020;
            color: #1F212D;
            text-align: left;
            transition: background 0.25s ease, color 0.25s ease;
        }

        .footer__brand-phone:hover {
            background: #fff;
            color: #1F212D;
        }

        .footer__brand-phone-icon {
            width: 40px;
            height: 40px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(31, 33, 45, 0.35);
            color: #1F212D;
            font-size: 14px;
        }

        .footer__brand-phone:hover .footer__brand-phone-icon {
            border-color: #1F212D;
            color: #1F212D;
        }

        .footer__brand-phone-text {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 0;
        }

        .footer__brand-phone-text small {
            font-family: "Rubik", sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            opacity: 0.7;
        }

        .footer__brand-phone-text strong {
            font-family: "Barlow", sans-serif;
            font-size: 18px;
            font-weight: 700;
            line-height: 1.2;
            color: inherit;
        }

        .footer__brand-social {
            position: relative;
            z-index: 1;
            gap: 10px;
            margin: 0;
            padding: 0;
        }

        /* Both classes are needed: style.css has
           `.footer__widget-wrap ul li a:hover { color: #E0A020 }` for the footer
           link columns, which is more specific than a single class here and
           would otherwise repaint the icon orange on an orange background. */
        .social__media.footer__brand-social li a {
            width: 42px;
            height: 42px;
            background: transparent;
            border: 1px solid rgba(224, 160, 32, 0.45);
            color: #E0A020;
            transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
        }

        .social__media.footer__brand-social li a:hover {
            background: #E0A020;
            border-color: #E0A020;
            color: #fff;
        }

        /* Scoped to the wrapper so it outranks the global `a:hover` colour. */
        .footer__copyright-wrap .footer__credit {
            color: var(--primary);
            font-weight: 600;
            transition: color 0.25s ease;
        }

        .footer__copyright-wrap a.footer__credit:hover {
            color: #fff;
            text-decoration: underline;
        }

        .footer__copyright-wrap .footer__version {
            margin: 0;
            font-size: 13px;
            letter-spacing: 0.04em;
            color: rgba(197, 197, 197, 0.75);
            white-space: nowrap;
        }

        @media (max-width: 991px) {
            .footer__copyright-wrap .footer__version {
                order: 1;
            }
        }

        footer .footer__top {
            background-image: none;
            background-color: #050505;
        }

        /* Theme pulls footer__btm up (-73px) to tuck under a footer__top
           band we no longer render — that ate the last section's text. */
        footer {
            clear: both;
            position: relative;
            z-index: 1;
            margin-top: 0;
            padding-top: 0;
        }

        footer .footer__btm {
            margin-top: 0 !important;
            background-color: #050505;
        }

        footer .footer__top-left .title {
            color: #fff;
        }

        /* Floating contact buttons (left) */
        .float__contact {
            position: fixed;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 9990;
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .float__contact a,
        .float__contact button {
            position: relative;
            width: 64px;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #1F212D;
            color: var(--primary);
            font-size: 24px;
            border: 1px solid rgba(224, 160, 32, 0.45);
            border-left: 0;
            text-decoration: none;
            line-height: 1;
            padding: 0;
            cursor: pointer;
            transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
        }

        .float__contact a+a,
        .float__contact a+button,
        .float__contact button+a,
        .float__contact button+button {
            border-top: 0;
        }

        .float__contact a:first-child,
        .float__contact button:first-child {
            border-top-right-radius: 4px;
        }

        .float__contact a:last-child,
        .float__contact button:last-child {
            border-bottom-right-radius: 4px;
        }

        .float__contact a:hover,
        .float__contact button:hover {
            background: var(--primary);
            color: #1F212D;
            border-color: var(--primary);
        }

        .float__contact a::after,
        .float__contact button::after {
            content: attr(data-label);
            position: absolute;
            left: calc(100% + 10px);
            top: 50%;
            transform: translateY(-50%);
            padding: 7px 12px;
            background: #1F212D;
            color: #fff;
            font-family: "Rubik", sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.2s ease, visibility 0.2s ease;
        }

        .float__contact a:hover::after,
        .float__contact button:hover::after {
            opacity: 1;
            visibility: visible;
        }

        .float__contact .float__sms {
            flex-direction: column;
            gap: 3px;
            font-family: "Rubik", sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.06em;
        }

        .float__contact .float__sms i {
            font-size: 18px;
        }

        .float__contact .float__sms span {
            font-size: 10px;
            line-height: 1;
        }

        /* Quick contact drawer */
        .chat-drawer {
            position: fixed;
            inset: 0;
            z-index: 10020;
            pointer-events: none;
            visibility: hidden;
        }

        .chat-drawer.is-open {
            pointer-events: auto;
            visibility: visible;
        }

        .chat-drawer__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(5, 5, 5, 0.55);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .chat-drawer.is-open .chat-drawer__backdrop {
            opacity: 1;
        }

        .chat-drawer__panel {
            position: absolute;
            top: 0;
            right: 0;
            width: min(440px, 100%);
            height: 100%;
            background: #1F212D;
            color: #fff;
            display: flex;
            flex-direction: column;
            transform: translateX(100%);
            transition: transform 0.35s ease;
            overflow: hidden;
        }

        .chat-drawer.is-open .chat-drawer__panel {
            transform: translateX(0);
        }

        .chat-drawer__head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            padding: 28px 28px 20px;
            border-bottom: 1px solid rgba(224, 160, 32, 0.25);
            flex-shrink: 0;
        }

        .chat-drawer__head h2 {
            margin: 0 0 6px;
            font-family: "Barlow", sans-serif;
            font-size: 26px;
            font-weight: 700;
            color: #fff;
            line-height: 1.15;
        }

        .chat-drawer__head p {
            margin: 0;
            font-size: 14px;
            color: rgba(255, 255, 255, 0.7);
            line-height: 1.45;
        }

        .chat-drawer__close {
            width: 40px;
            height: 40px;
            flex-shrink: 0;
            border: 0;
            background: #E0A020;
            color: #1F212D;
            font-size: 18px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .chat-drawer__close:hover {
            background: #fff;
        }

        .chat-drawer__body {
            flex: 1;
            overflow-y: auto;
            padding: 24px 28px 32px;
            -webkit-overflow-scrolling: touch;
        }

        .chat-drawer__phone {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 22px;
            padding: 14px 16px;
            background: #050505;
            text-decoration: none;
            color: #fff;
        }

        .chat-drawer__phone i {
            color: #E0A020;
            font-size: 18px;
        }

        .chat-drawer__phone span {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 0;
        }

        .chat-drawer__phone small {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.55);
        }

        .chat-drawer__phone strong {
            font-family: "Barlow", sans-serif;
            font-size: 18px;
            font-weight: 700;
            color: #E0A020;
        }

        .chat-drawer .contact__form .submit {
            background: #E0A020;
            color: #1F212D;
            border: 0;
        }

        .chat-drawer .contact__form .submit:hover {
            background: #fff;
            color: #1F212D;
        }

        body.chat-drawer-open {
            overflow: hidden;
        }

        @media (max-width: 575px) {
            .chat-drawer__panel {
                width: 100%;
            }

            .chat-drawer__head,
            .chat-drawer__body {
                padding-left: 20px;
                padding-right: 20px;
            }
        }

        @media (max-width: 767px) {

            .float__contact a,
            .float__contact button {
                width: 48px;
                height: 48px;
                font-size: 18px;
            }

            .float__contact a::after,
            .float__contact button::after {
                display: none;
            }

            .float__contact .float__sms i {
                font-size: 14px;
            }
        }

        /* —— Mobile: cinematic overlay header + hero (desktop unchanged) —— */
        @media (max-width: 991px) {
            .header__topbar {
                display: none;
            }

            /* Float header over the hero like desktop */
            .header:not(.is-sticky) {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                z-index: 100;
                background: transparent;
            }

            .header__area {
                position: relative;
                top: 0;
                max-width: none;
                padding: 0;
            }

            .header__contact-wrap {
                display: none;
            }

            .header__sticky-logo {
                display: flex;
            }

            .header__sticky-logo img {
                height: 44px;
            }

            .header:not(.is-sticky) .header__menu-wrap {
                background: rgba(5, 5, 5, 0.78);
                padding: 10px 16px !important;
                justify-content: space-between;
            }

            .header.is-sticky .header__menu-wrap {
                padding: 8px 16px !important;
                justify-content: space-between;
            }

            .header__menu-wrap {
                padding: 8px 16px !important;
                justify-content: space-between;
            }

            .header__search,
            .header__verticle-line,
            .header__social-media,
            .header__appointment-btn {
                display: none !important;
            }

            .header__meta {
                justify-content: flex-end;
                gap: 8px;
                width: auto;
                margin-left: auto;
            }

            .header__call-icon {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 42px;
                height: 42px;
                background: #E0A020;
                color: #1F212D;
                font-size: 16px;
                text-decoration: none;
                flex-shrink: 0;
            }

            .open__menu {
                font-size: 22px;
                color: #1F212D;
                padding: 8px;
                line-height: 1;
            }

            .header:not(.is-sticky) .open__menu {
                color: #fff;
            }

            /* Cinematic hero — full phone viewport with brand mark in the middle */
            .hero__area.hero--cinematic {
                min-height: 100svh;
                min-height: 100dvh;
                min-height: 100vh;
                padding-top: 72px;
                padding-bottom: 28px;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                overflow: hidden;
            }

            .hero--cinematic {
                background-repeat: no-repeat;
                background-size: cover;
                background-position: 72% 42%;
                background-color: #050505;
            }

            .hero--cinematic::before {
                content: "";
                position: absolute;
                inset: 0;
                background:
                    linear-gradient(
                        180deg,
                        rgba(5, 5, 5, 0.72) 0%,
                        rgba(5, 5, 5, 0.28) 38%,
                        rgba(5, 5, 5, 0.18) 55%,
                        rgba(5, 5, 5, 0.78) 100%
                    );
                z-index: 0;
                pointer-events: none;
            }

            .hero--cinematic::after {
                content: "";
                position: absolute;
                left: 50%;
                top: 48%;
                width: min(88vw, 420px);
                height: min(88vw, 420px);
                transform: translate(-50%, -50%);
                border-radius: 50%;
                background: radial-gradient(
                    circle,
                    rgba(224, 160, 32, 0.22) 0%,
                    rgba(224, 160, 32, 0.06) 42%,
                    transparent 70%
                );
                z-index: 0;
                pointer-events: none;
                animation: heroStagePulse 4.8s ease-in-out infinite;
                display: none;
            }

            .hero--cinematic.has-brand-stage::after {
                display: block;
            }

            .hero--cinematic .hero__area-wrapper {
                position: relative;
                z-index: 1;
                max-width: none;
                width: 100%;
                flex: 1;
                display: flex;
                flex-direction: column;
                padding: 8px 22px 8px;
                margin: 0;
            }

            .hero--cinematic .hero__content-wrap {
                flex-direction: column;
                flex: 1;
                display: flex;
            }

            .hero--cinematic .hero__image-wrap {
                display: none;
            }

            .hero__content {
                width: 100%;
                max-width: 540px;
                margin: 0 auto;
                padding: 0;
                display: flex;
                flex-direction: column;
                flex: 1;
                justify-content: flex-start;
                gap: 0;
            }

            /* Compact trust chips on phone — centred so they match the headline */
            .hero--cinematic .hero__submenu-area {
                display: block;
                margin: 0 0 14px;
                width: 100%;
                text-align: center;
            }

            .hero--cinematic .hero__submenu-wrap {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                align-items: center;
                justify-content: center;
                padding: 0;
                background: transparent;
                border: 0;
                color: inherit;
                font-size: inherit;
                font-weight: inherit;
            }

            .hero--cinematic .hero__verticle-line {
                display: none;
            }

            .hero--cinematic .hero__submenu-single {
                margin: 0;
                padding: 6px 11px;
                border: 1px solid rgba(224, 160, 32, 0.45);
                border-radius: 999px;
                background: rgba(5, 5, 5, 0.45);
                color: #E0A020;
                font-size: 11px;
                font-weight: 700;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                backdrop-filter: blur(6px);
                -webkit-backdrop-filter: blur(6px);
            }

            .hero--cinematic .hero__copy {
                flex-shrink: 0;
                margin: 0 auto;
                max-width: 20em;
                width: 100%;
                text-align: center;
            }

            .hero--cinematic .hero__main-title {
                margin: 0;
                text-align: center;
            }

            .hero__main-title-text {
                font-size: clamp(30px, 8.2vw, 40px);
                line-height: 1.08;
                margin: 0 0 12px;
                letter-spacing: -0.03em;
                font-weight: 800;
                text-wrap: balance;
            }

            .hero__main-title-text span {
                -webkit-text-stroke-width: 0;
                background: none;
                color: #E0A020;
                display: inline;
            }

            .hero__description {
                font-size: 15px;
                line-height: 1.55;
                padding-right: 0;
                padding-bottom: 0;
                margin: 0;
                max-width: 32em;
                color: rgba(230, 230, 230, 0.88);
            }

            .hero__description p {
                margin: 0;
            }

            /* Animated logo stage fills the open middle of the viewport */
            .hero--cinematic .hero__brand-stage {
                display: grid;
                place-items: center;
                position: relative;
                isolation: isolate;
            }

            .hero--cinematic .hero__brand-stage--below {
                flex: 1 1 auto;
                min-height: 180px;
                margin: 8px 0 4px;
            }

            .hero--cinematic .hero__brand-stage--above {
                flex: 0 1 auto;
                min-height: 150px;
                margin: 4px 0 14px;
            }

            .hero__brand-stage.is-static .hero__brand-glow,
            .hero__brand-stage.is-static .hero__brand-ring,
            .hero__brand-stage.is-static .hero__brand-spark,
            .hero__brand-stage.is-static .hero__brand-logo {
                animation: none !important;
            }

            .hero__brand-stage.is-static .hero__brand-spark {
                display: none;
            }

            .hero__brand-stage.is-static .hero__brand-ring--outer,
            .hero__brand-stage.is-static .hero__brand-ring--inner {
                opacity: 0.55;
            }

            .hero--cinematic.has-brand-stage.is-brand-static::after,
            .hero--cinematic:has(.hero__brand-stage.is-static)::after {
                animation: none;
            }

            .hero__brand-glow {
                position: absolute;
                width: min(64vw, 280px);
                height: min(64vw, 280px);
                border-radius: 50%;
                background: radial-gradient(
                    circle,
                    rgba(224, 160, 32, 0.28) 0%,
                    rgba(224, 160, 32, 0.08) 45%,
                    transparent 70%
                );
                filter: blur(2px);
                animation: heroBrandPulse 4.8s ease-in-out infinite;
            }

            .hero__brand-ring {
                position: absolute;
                border-radius: 50%;
                border: 1.5px solid rgba(224, 160, 32, 0.55);
                box-shadow:
                    0 0 0 1px rgba(224, 160, 32, 0.08),
                    inset 0 0 18px rgba(224, 160, 32, 0.08);
            }

            .hero__brand-ring--outer {
                width: min(58vw, 250px);
                height: min(58vw, 250px);
                border-style: dashed;
                border-color: rgba(224, 160, 32, 0.5);
                animation: heroBrandSpin 28s linear infinite;
            }

            .hero__brand-ring--inner {
                width: min(44vw, 190px);
                height: min(44vw, 190px);
                border-color: rgba(224, 160, 32, 0.35);
                animation: heroBrandSpin 18s linear infinite reverse;
            }

            .hero__brand-spark {
                position: absolute;
                inset: 0;
                margin: auto;
                width: min(58vw, 250px);
                height: min(58vw, 250px);
                border-radius: 50%;
                animation: heroBrandSpin 12s linear infinite;
                pointer-events: none;
            }

            .hero__brand-spark::before {
                content: "";
                position: absolute;
                top: 0;
                left: 50%;
                width: 7px;
                height: 7px;
                margin-left: -3.5px;
                border-radius: 50%;
                background: #E0A020;
                box-shadow: 0 0 12px rgba(224, 160, 32, 0.95);
            }

            .hero__brand-spark--b {
                width: min(44vw, 190px);
                height: min(44vw, 190px);
                animation-duration: 16s;
                animation-direction: reverse;
            }

            .hero__brand-spark--b::before {
                width: 5px;
                height: 5px;
                margin-left: -2.5px;
            }

            .hero__brand-spark--c {
                width: min(50vw, 220px);
                height: min(50vw, 220px);
                animation-duration: 9s;
                opacity: 0.8;
            }

            .hero__brand-spark--c::before {
                width: 4px;
                height: 4px;
                margin-left: -2px;
                top: auto;
                bottom: 18%;
                left: 12%;
            }

            .hero__brand-logo {
                position: relative;
                z-index: 2;
                width: min(46vw, 200px);
                height: auto;
                filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.55));
                animation: heroBrandFloat 5.2s ease-in-out infinite;
                transform-origin: center center;
            }

            @keyframes heroBrandSpin {
                to {
                    transform: rotate(360deg);
                }
            }

            @keyframes heroBrandFloat {
                0%,
                100% {
                    transform: translateY(0) scale(1);
                }
                50% {
                    transform: translateY(-10px) scale(1.03);
                }
            }

            @keyframes heroBrandPulse {
                0%,
                100% {
                    opacity: 0.65;
                    transform: scale(1);
                }
                50% {
                    opacity: 1;
                    transform: scale(1.08);
                }
            }

            @keyframes heroStagePulse {
                0%,
                100% {
                    opacity: 0.7;
                    transform: translate(-50%, -50%) scale(1);
                }
                50% {
                    opacity: 1;
                    transform: translate(-50%, -50%) scale(1.08);
                }
            }

            @media (prefers-reduced-motion: reduce) {
                .hero--cinematic::after,
                .hero__brand-glow,
                .hero__brand-ring,
                .hero__brand-spark,
                .hero__brand-logo {
                    animation: none !important;
                }
            }

            .hero--cinematic .hero__modal-wrap {
                margin-top: auto;
                flex-shrink: 0;
                width: 100%;
                padding-top: 12px;
            }

            .hero__modal-wrap {
                gap: 12px;
                flex-wrap: wrap;
                align-items: stretch;
            }

            .hero__button-wrap {
                flex: 1 1 auto;
                min-width: 0;
            }

            .hero__button-wrap a,
            .hero__button-wrap button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 10px;
                width: 100%;
                padding: 16px 18px !important;
                font-size: 14px;
                font-weight: 700;
                letter-spacing: 0.06em;
                text-align: center;
                border: 0;
                border-radius: 4px;
                cursor: pointer;
                box-shadow:
                    0 10px 28px rgba(224, 160, 32, 0.28),
                    0 2px 0 rgba(255, 255, 255, 0.12) inset;
            }

            .hero__modal-wrap .carox__modal {
                width: 52px;
                height: 52px;
                font-size: 18px;
                outline-width: 4px;
                flex-shrink: 0;
            }

            .hero__bottom-content {
                display: none;
            }

            /* Inset from the screen edge + home indicator so icons stay fully visible */
            .float__contact {
                left: auto;
                right: max(10px, env(safe-area-inset-right, 0px));
                top: auto;
                bottom: max(24px, calc(16px + env(safe-area-inset-bottom, 0px)));
                transform: none;
                gap: 6px;
            }

            .float__contact a,
            .float__contact button {
                border: 1px solid rgba(224, 160, 32, 0.45);
                border-radius: 12px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
            }

            .float__contact a+a,
            .float__contact a+button,
            .float__contact button+a,
            .float__contact button+button {
                border-top: 1px solid rgba(224, 160, 32, 0.45);
            }

            .float__contact a:first-child,
            .float__contact button:first-child,
            .float__contact a:last-child,
            .float__contact button:last-child {
                border-radius: 12px;
            }

            .about__area {
                padding-top: 56px !important;
                padding-bottom: 48px !important;
            }

            .about__area .sec-title-wrap {
                margin-bottom: 16px;
            }
        }

        @media (max-width: 767px) {
            .header__sticky-logo img {
                height: 40px;
            }

            .header:not(.is-sticky) .header__menu-wrap,
            .header.is-sticky .header__menu-wrap,
            .header__menu-wrap {
                padding: 8px 14px !important;
            }

            .header__call-icon {
                width: 40px;
                height: 40px;
                font-size: 15px;
            }

            .open__menu {
                font-size: 22px;
                padding: 6px;
                line-height: 1;
            }

            .hero--cinematic .hero__area-wrapper {
                padding: 6px 16px 8px;
            }

            .hero__main-title-text {
                font-size: clamp(28px, 8vw, 34px);
                margin: 0 0 10px;
            }

            .hero__main-title-text br {
                display: none;
            }

            .hero__description {
                font-size: 14px;
                line-height: 1.5;
            }

            .hero--cinematic .hero__brand-stage {
                min-height: 160px;
                margin: 4px 0;
            }

            .hero--cinematic .hero__brand-stage--above {
                min-height: 130px;
                margin: 2px 0 10px;
            }

            .hero__brand-logo {
                width: min(52vw, 180px);
            }

            .float__contact a,
            .float__contact button {
                width: 44px;
                height: 44px;
                font-size: 16px;
            }

            .about__area {
                padding-top: 44px !important;
                padding-bottom: 40px !important;
            }

            .about__area .about__right > br {
                display: none;
            }

            .about__area .about__wrapper,
            .solution__wrapper {
                gap: 30px;
            }

            .about__left {
                display: none;
            }

            .contact__wrapper {
                padding-left: 0 !important;
                grid-template-columns: 1fr !important;
            }

            .contact__left {
                border-width: 0 !important;
                padding: 30px 20px !important;
            }

            .stats__grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 16px !important;
            }
        }

        @media (max-width: 991px) {
            .reviews__proof {
                margin-bottom: 32px;
            }
        }

        /* ---- Site search overlay ---- */
        .header__search {
            cursor: pointer;
        }

        .site-search {
            position: fixed;
            inset: 0;
            z-index: 99999;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: 10vh 16px 16px;
        }

        .site-search__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(10, 10, 14, 0.72);
            backdrop-filter: blur(3px);
        }

        .site-search__panel {
            position: relative;
            width: 100%;
            max-width: 640px;
            background: #fff;
            border-radius: 14px;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            max-height: 75vh;
        }

        .site-search__bar {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 16px 18px;
            border-bottom: 1px solid #ececec;
        }

        .site-search__bar > i {
            color: #E0A020;
            font-size: 18px;
        }

        .site-search__bar input {
            flex: 1;
            border: 0;
            outline: none;
            font-size: 17px;
            font-family: inherit;
            color: #1F212D;
            background: transparent;
        }

        .site-search__bar button {
            border: 0;
            background: #f3f3f5;
            color: #1F212D;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .site-search__bar button:hover {
            background: #e6e6ea;
        }

        .site-search__results {
            overflow-y: auto;
            padding: 8px;
        }

        .site-search__hint {
            margin: 0;
            padding: 24px 16px;
            text-align: center;
            color: #6b6b76;
            font-size: 14px;
        }

        .site-search__results ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .site-search__results li button {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 14px;
            border: 0;
            background: transparent;
            border-radius: 10px;
            cursor: pointer;
            text-align: left;
        }

        .site-search__results li button:hover {
            background: #faf4e6;
        }

        .site-search__icon {
            flex-shrink: 0;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #1F212D;
            color: #E0A020;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .site-search__text {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .site-search__text strong {
            font-size: 15px;
            color: #1F212D;
        }

        .site-search__text span {
            font-size: 13px;
            color: #6b6b76;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

        .site-search__go {
            color: #c7c7cf;
            font-size: 13px;
        }

        @media (max-width: 767px) {
            .site-search {
                padding: 6vh 12px 12px;
            }

            .site-search__panel {
                max-height: 85vh;
            }
        }

        /* ---- Rich text / prose block ---- */
        .prose__area {
            padding: 90px 0;
            background: var(--white);
        }

        .prose__inner {
            max-width: 860px;
        }

        .prose__eyebrow,
        .featuregrid__eyebrow,
        .faq__eyebrow,
        .linkcols__eyebrow,
        .ctaband__eyebrow {
            display: inline-block;
            margin-bottom: 14px;
            padding: 6px 16px;
            border: 1px solid var(--primary);
            border-radius: 999px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
        }

        .prose__title {
            font-size: 38px;
            line-height: 1.2;
            margin-bottom: 22px;
            color: #1F212D;
        }

        .prose__subtitle {
            font-size: 24px;
            margin: 30px 0 14px;
            color: #1F212D;
        }

        .prose__text {
            font-size: 16px;
            line-height: 1.8;
            color: #4a4d5c;
            margin-bottom: 18px;
        }

        .prose__list {
            margin-top: 24px;
            display: grid;
            gap: 12px;
        }

        .prose__list li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            font-size: 16px;
            color: #1F212D;
        }

        .prose__list i {
            margin-top: 4px;
            color: var(--primary);
        }

        /* ---- Feature grid block ---- */
        .featuregrid__area {
            padding: 90px 0;
            background: #F7F9FB;
        }

        .featuregrid__header {
            margin-bottom: 44px;
            text-align: center;
        }

        .featuregrid__title,
        .faq__title,
        .linkcols__title {
            font-size: 36px;
            line-height: 1.2;
            color: #1F212D;
        }

        .featuregrid__grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }

        .featuregrid__card {
            background: var(--white);
            border: 1px solid #E6EBF0;
            border-radius: 14px;
            padding: 28px 24px;
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
        }

        .featuregrid__card:hover {
            transform: translateY(-6px);
            border-color: var(--primary);
            box-shadow: 0 18px 40px rgba(31, 33, 45, .10);
        }

        .featuregrid__icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 54px;
            height: 54px;
            margin-bottom: 18px;
            border-radius: 50%;
            background: rgba(224, 160, 32, .14);
            color: var(--primary);
            font-size: 20px;
        }

        .featuregrid__card strong {
            display: block;
            margin-bottom: 10px;
            font-size: 18px;
            color: #1F212D;
        }

        .featuregrid__card p {
            font-size: 15px;
            line-height: 1.7;
            color: #6b7280;
            margin: 0;
        }

        /* ---- FAQ block ---- */
        .faq__area {
            padding: 90px 0;
            background: var(--white);
        }

        .faq__header {
            margin-bottom: 40px;
            text-align: center;
        }

        .faq__list {
            max-width: 860px;
            margin: 0 auto;
            display: grid;
            gap: 14px;
        }

        .faq__item {
            border: 1px solid #E6EBF0;
            border-radius: 12px;
            overflow: hidden;
            transition: border-color .25s ease, box-shadow .25s ease;
        }

        .faq__item.is-open {
            border-color: var(--primary);
            box-shadow: 0 14px 34px rgba(31, 33, 45, .08);
        }

        .faq__question {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 20px 24px;
            background: transparent;
            border: 0;
            text-align: left;
            font-size: 17px;
            font-weight: 600;
            color: #1F212D;
            cursor: pointer;
        }

        .faq__question i {
            flex-shrink: 0;
            width: 30px;
            height: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(224, 160, 32, .14);
            color: var(--primary);
            font-size: 13px;
        }

        .faq__answer {
            padding: 0 24px 22px;
            font-size: 16px;
            line-height: 1.8;
            color: #4a4d5c;
        }

        /* ---- Link columns block ---- */
        .linkcols__area {
            padding: 90px 0;
            background: #F7F9FB;
        }

        .linkcols__header {
            margin-bottom: 40px;
        }

        .linkcols__grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }

        .linkcols__col h3 {
            margin-bottom: 18px;
            padding-bottom: 12px;
            border-bottom: 2px solid var(--primary);
            font-size: 20px;
            color: #1F212D;
        }

        .linkcols__col ul {
            display: grid;
            gap: 10px;
        }

        .linkcols__col a {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 15px;
            color: #4a4d5c;
            transition: color .2s ease, gap .2s ease;
        }

        .linkcols__col a:hover {
            color: var(--primary);
            gap: 14px;
        }

        .linkcols__col i {
            font-size: 12px;
            color: var(--primary);
        }

        /* ---- CTA band block ---- */
        .ctaband__area {
            padding: 80px 0;
            background: #1F212D;
        }

        .ctaband__inner {
            text-align: center;
            max-width: 780px;
            margin: 0 auto;
        }

        .ctaband__title {
            font-size: 38px;
            line-height: 1.2;
            margin-bottom: 18px;
            color: var(--white);
        }

        .ctaband__body {
            font-size: 16px;
            line-height: 1.8;
            color: rgba(255, 255, 255, .74);
            margin-bottom: 30px;
        }

        .ctaband__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            justify-content: center;
        }

        .ctaband__btn-ghost {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 14px 30px;
            border: 2px solid var(--primary);
            border-radius: 6px;
            background: transparent;
            color: var(--primary);
            font-weight: 700;
            cursor: pointer;
            transition: background .25s ease, color .25s ease;
        }

        .ctaband__btn-ghost:hover {
            background: var(--primary);
            color: #1F212D;
        }

        @media (max-width: 991px) {
            .featuregrid__grid {
                grid-template-columns: repeat(2, 1fr);
            }

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

        @media (max-width: 575px) {
            .prose__area,
            .featuregrid__area,
            .faq__area,
            .linkcols__area,
            .ctaband__area {
                padding: 60px 0;
            }

            .prose__title,
            .ctaband__title,
            .featuregrid__title,
            .faq__title,
            .linkcols__title {
                font-size: 28px;
            }

            .featuregrid__grid,
            .linkcols__grid {
                grid-template-columns: 1fr;
            }
        }

        /* The floating contact rail sits at x:0-64, and the cinematic hero copy
           was starting at x:15, so the first letter of each line landed behind
           it. Inset the copy far enough to clear the rail at every desktop
           width, roughly in line with the site container. */
        @media (min-width: 992px) {
            .hero--cinematic .hero__area-wrapper {
                padding-left: 100px;
            }
        }

        /* "View all" link at the foot of a footer column. */
        .footer__view-all {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 16px;
            padding-top: 14px;
            border-top: 1px solid rgba(224, 160, 32, .28);
            color: var(--primary);
            font-size: 14px;
            font-weight: 700;
            letter-spacing: .02em;
            transition: gap .2s ease, color .2s ease;
        }

        .footer__view-all:hover {
            gap: 13px;
            color: var(--white);
        }

        .footer__view-all i {
            font-size: 12px;
        }

        /* Inline validation / submission error on the contact forms. */
        .contact__form-error {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            margin: 0 0 16px;
            padding: 12px 14px;
            border: 1px solid rgba(220, 53, 69, .45);
            border-left-width: 3px;
            border-radius: 6px;
            background: rgba(220, 53, 69, .08);
            color: #ff8a94;
            font-size: 14px;
            line-height: 1.55;
        }

        .contact__form-error i {
            margin-top: 3px;
            flex-shrink: 0;
        }

        .contact__left .contact__form-error {
            color: #c0392b;
            background: rgba(220, 53, 69, .06);
        }

        /* ---- 404 page ---- */
        /* The theme header sits over the top of the page, so the copy needs to
           start below it rather than at the top of the section. */
        .notfound__area {
            position: relative;
            padding: 100px 0 110px;
            background: #050505;
            overflow: hidden;
        }

        @media (min-width: 992px) {
            .notfound__area {
                padding-top: 210px;
            }
        }

        .notfound__area::before {
            content: "";
            position: absolute;
            top: 30px;
            left: 50%;
            width: 620px;
            height: 620px;
            transform: translateX(-50%);
            background: radial-gradient(circle, rgba(224, 160, 32, .16), transparent 68%);
            pointer-events: none;
        }

        .notfound__inner {
            position: relative;
            z-index: 1;
            max-width: 720px;
            margin: 0 auto;
            text-align: center;
        }

        .notfound__code {
            margin: 0;
            font-size: 120px;
            line-height: 1;
            font-weight: 800;
            letter-spacing: 4px;
            color: transparent;
            -webkit-text-stroke: 2px rgba(224, 160, 32, .5);
        }

        .notfound__title {
            margin: 10px 0 14px;
            color: #fff;
            font-size: 40px;
            font-weight: 700;
            line-height: 1.2;
        }

        .notfound__title span {
            color: var(--primary);
        }

        .notfound__lead {
            margin: 0 auto 34px;
            max-width: 540px;
            color: #C5C5C5;
            font-size: 17px;
            line-height: 1.6;
        }

        /* Search */
        .notfound__search {
            text-align: left;
            margin-bottom: 38px;
        }

        .notfound__search-label {
            display: block;
            margin-bottom: 10px;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
            text-align: center;
        }

        .notfound__search-bar {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 0 16px;
            border: 1px solid rgba(224, 160, 32, .45);
            border-radius: 999px;
            background: rgba(255, 255, 255, .04);
            transition: border-color .2s ease, background .2s ease;
        }

        .notfound__search-bar:focus-within {
            border-color: var(--primary);
            background: rgba(255, 255, 255, .07);
        }

        .notfound__search-bar > i {
            color: var(--primary);
            font-size: 16px;
        }

        .notfound__search-bar input {
            flex: 1;
            height: 56px;
            border: 0;
            background: transparent;
            color: #fff;
            font-size: 16px;
            outline: none;
        }

        .notfound__search-bar input::placeholder {
            color: #7c7c7c;
        }

        .notfound__search-bar input::-webkit-search-cancel-button {
            display: none;
        }

        .notfound__search-bar button {
            border: 0;
            background: transparent;
            color: #9a9a9a;
            font-size: 16px;
            cursor: pointer;
        }

        .notfound__search-bar button:hover {
            color: #fff;
        }

        .notfound__hint {
            margin: 16px 0 0;
            color: #9a9a9a;
            font-size: 15px;
            text-align: center;
            line-height: 1.6;
        }

        .notfound__hint strong {
            color: #fff;
        }

        .notfound__result-list {
            list-style: none;
            margin: 18px 0 0;
            padding: 0;
            border: 1px solid rgba(255, 255, 255, .1);
            border-radius: 14px;
            overflow: hidden;
            background: rgba(255, 255, 255, .03);
        }

        .notfound__result-list li + li {
            border-top: 1px solid rgba(255, 255, 255, .08);
        }

        .notfound__result-list button {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 14px 16px;
            border: 0;
            background: transparent;
            text-align: left;
            cursor: pointer;
            transition: background .2s ease;
        }

        .notfound__result-list button:hover {
            background: rgba(224, 160, 32, .1);
        }

        .notfound__result-icon {
            flex-shrink: 0;
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(224, 160, 32, .14);
            color: var(--primary);
        }

        .notfound__result-text {
            flex: 1;
            min-width: 0;
        }

        .notfound__result-text strong {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
        }

        .notfound__result-page {
            padding: 2px 8px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .08);
            color: #b9b9b9;
            font-size: 11px;
            font-style: normal;
            font-weight: 500;
            letter-spacing: .3px;
            text-transform: uppercase;
        }

        .notfound__result-text span {
            display: block;
            margin-top: 2px;
            color: #9a9a9a;
            font-size: 13px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .notfound__result-go {
            color: var(--primary);
            font-size: 13px;
        }

        /* Shortcuts */
        .notfound__shortcuts {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
            text-align: left;
        }

        .notfound__shortcut {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 16px;
            border: 1px solid rgba(255, 255, 255, .1);
            border-radius: 14px;
            background: rgba(255, 255, 255, .03);
            transition: border-color .2s ease, background .2s ease, transform .2s ease;
        }

        .notfound__shortcut:hover {
            border-color: rgba(224, 160, 32, .5);
            background: rgba(224, 160, 32, .07);
            transform: translateY(-2px);
        }

        .notfound__shortcut-icon {
            flex-shrink: 0;
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(224, 160, 32, .14);
            color: var(--primary);
            font-size: 16px;
        }

        .notfound__shortcut strong {
            display: block;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
        }

        .notfound__shortcut small {
            display: block;
            margin-top: 2px;
            color: #9a9a9a;
            font-size: 13px;
        }

        .notfound__call {
            margin: 32px 0 0;
            color: #C5C5C5;
            font-size: 16px;
        }

        .notfound__call a {
            color: var(--primary);
            font-weight: 700;
            white-space: nowrap;
        }

        .notfound__call a:hover {
            color: #fff;
        }

        @media (max-width: 767px) {
            .notfound__area {
                padding: 85px 0 80px;
            }

            .notfound__code {
                font-size: 84px;
            }

            .notfound__title {
                font-size: 30px;
            }

            .notfound__shortcuts {
                grid-template-columns: 1fr;
            }
        }

        /* ---- Formatted text from the CMS ---- */
        /* The wrapper keeps whichever theme class the block used, so type and
           colour still cascade down. Only the box model needs resetting. */
        .ez-rich p,
        .ez-rich ul,
        .ez-rich ol {
            margin: 0 0 1em;
            padding: 0;
            border: 0;
        }

        .ez-rich > :first-child {
            margin-top: 0;
        }

        .ez-rich > :last-child {
            margin-bottom: 0;
        }

        .ez-rich ul,
        .ez-rich ol {
            padding-left: 1.35em;
        }

        /* The theme resets `li` to no marker, so put it back here. */
        .ez-rich ul li {
            list-style: disc;
        }

        .ez-rich ol li {
            list-style: decimal;
        }

        .ez-rich li {
            margin-bottom: 6px;
        }

        .ez-rich h3,
        .ez-rich h4 {
            margin: 1.2em 0 0.5em;
            color: inherit;
            line-height: 1.3;
        }

        .ez-rich h3 {
            font-size: 1.35em;
        }

        .ez-rich h4 {
            font-size: 1.15em;
        }

        .ez-rich strong,
        .ez-rich b {
            font-weight: 700;
            color: inherit;
        }

        .ez-rich a {
            color: var(--primary, #E0A020);
            text-decoration: underline;
        }

        /* The about block's divider used to sit on the paragraph itself. */
        .about__right .about__copy {
            border-bottom: 1px solid #ddd;
            padding-bottom: 30px;
            margin-bottom: 30px;
        }

        /* Alignment and size the editor's toolbar applies. Sizes are relative
           so a block keeps its own responsive scale. */
        .ez-align-left {
            text-align: left;
        }

        .ez-align-center {
            text-align: center;
        }

        .ez-align-right {
            text-align: right;
        }

        .ez-size-sm {
            font-size: 0.85em;
        }

        .ez-size-lg {
            font-size: 1.25em;
        }

        .ez-size-xl {
            font-size: 1.5em;
        }

        /* Saved box layout. Desktop values apply at every width. Phone values
           replace them only on a narrow screen, and only when a phone layout
           was saved, so centring on mobile leaves the desktop page alone. */
        [data-cms-box][data-cms-desktop] {
            margin-top: var(--cms-y, 0px) !important;
            margin-left: var(--cms-x, 0px) !important;
            margin-right: var(--cms-mx, 0px) !important;
            width: var(--cms-w, auto) !important;
            max-width: 100% !important;
            box-sizing: border-box;
        }

        @media (max-width: 767px) {
            [data-cms-box][data-cms-mobile] {
                margin-top: var(--cms-y-m, 0px) !important;
                margin-left: var(--cms-x-m, 0px) !important;
                margin-right: var(--cms-mx-m, 0px) !important;
                width: var(--cms-w-m, auto) !important;
                max-width: 100% !important;
                box-sizing: border-box;
            }
        }
