@property --tp-footer-angle {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}
@media (min-width: 1025px) {
    /* Plain prose; headings, form labels and the hero eyebrow keep their fonts. */
    body p:not(label p):not(.elementor-field-label p):not(.elementor-element-c5c5d26 p),
    body .elementor-widget-text-editor:not(.elementor-element-c5c5d26),
    body .tradex-services-widget-summary,
    body .tradex-projects-widget-summary {
        font-family: Arial, Helvetica, sans-serif !important;
    }
    body p:not(label p):not(.elementor-field-label p):not(.elementor-element-c5c5d26 p) [style*="font-family"] {
        font-family: inherit !important;
    }
    body .elementor-65 .elementor-element.elementor-element-a2797cb {
        width: 100%;
        max-width: 1350px;
        margin: 0 auto;
        padding: 0;
    }
    body .elementor-65 .elementor-element.elementor-element-0e375d7 {
        width: 100%;
        padding: 48px 40px 24px;
        border: 2px solid transparent;
        border-radius: 20px;
        background: linear-gradient(130deg, #071f46, #0b2949) padding-box,
            conic-gradient(from var(--tp-footer-angle), #244161 0deg 225deg, #0761f6 260deg, #a6edff 280deg, #fff 288deg, #0761f6 300deg, #244161 325deg 360deg) border-box;
        animation: tp-footer-border-orbit 8s linear infinite;
        --padding-top: 48px;
        --padding-right: 40px;
        --padding-bottom: 24px;
        --padding-left: 40px;
    }
    body .elementor-65 .elementor-element.elementor-element-08e40e0,
    body .elementor-65 .elementor-element.elementor-element-4000968 {
        width: 100%;
        padding: 0;
        gap: 48px;
    }
    body .elementor-65 .elementor-element.elementor-element-2f5eb85 {
        display: grid;
        grid-template-columns: minmax(180px, 1.1fr) minmax(260px, 1.1fr) minmax(120px, .7fr) minmax(190px, 1fr);
        gap: clamp(24px, 2.5vw, 36px);
        align-items: start;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    body .elementor-65 .elementor-element.elementor-element-0e375d7.tp-footer-even-columns { padding-left: var(--tp-footer-space); padding-right: var(--tp-footer-space); }
    body .elementor-65 .tp-footer-even-columns .elementor-element.elementor-element-2f5eb85 { grid-template-columns: var(--tp-footer-logo-width) 300px 140px 220px; gap: var(--tp-footer-space); }
    body .elementor-65 .tp-footer-even-columns .elementor-element-64f2642 p { margin-left: 0; }
    body .elementor-65 .elementor-element-2f5eb85 > .e-con {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 18px;
        --width: 100%;
        --padding-left: 0px;
        --padding-right: 0px;
    }
    body .elementor-65 p,
    body .elementor-65 a,
    body .elementor-65 .elementor-icon-list-text,
    body .elementor-65 .elementor-heading-title {
        font-family: Arial, Helvetica, sans-serif !important;
        color: #fff !important;
    }
    body .elementor-65 .elementor-icon-list-text,
    body .elementor-65 .elementor-icon-list-text *,
    body .elementor-65 .elementor-social-icon { color: #fff !important; }
    body .elementor-65 .elementor-social-icon svg { fill: #fff; }
    body .elementor-65 .elementor-element.elementor-element-2bc5360 { width: 100%; max-width: 100%; }
    body .elementor-65 .elementor-element-2bc5360 a { display: block; position: relative; line-height: 0; }
    body .elementor-65 .elementor-element.elementor-element-2bc5360 img { display: block; width: 100%; max-width: 100%; height: auto; filter: brightness(0) invert(1); }
    body .elementor-65 .elementor-element.elementor-element-2663944 { align-self: center; height: auto; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-text {
        color: #fff;
        font-size: 9px;
        line-height: 1.6;
        font-weight: 600;
        letter-spacing: .4px;
    }
    body .elementor-65 .elementor-element.elementor-element-28fff0f { width: 100%; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-items { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 0; margin: 0; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-item { position: relative; margin: 0; padding: 0 10px; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-item:first-child { padding-left: 0; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-item:last-child { padding-right: 0; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-text { padding: 0; }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-item .elementor-icon-list-text { white-space: nowrap; font-size: clamp(10px, .84vw, 12px); }
    body .elementor-65 .elementor-element.elementor-element-28fff0f .elementor-icon-list-item:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 0; height: 12px; border: 0; border-right: 1px solid #fff; }
    body .elementor-65 .elementor-element.elementor-element-64f2642 {
        margin: 0;
        padding: 0;
        max-width: none;
        text-align: left;
        color: #fff;
        font-size: 14px;
        line-height: 1.8;
    }
    body .elementor-65 .elementor-element-64f2642 p { margin: 0 0 0 -20px; width: 300px; max-width: calc(100% + 40px); min-width: 0; text-align: justify; text-align-last: left; text-justify: inter-word; hyphens: auto; word-spacing: normal; letter-spacing: normal; text-wrap: pretty; }
    body .elementor-65 .tp-footer-mobile-copy,
    body .elementor-65 .tp-footer-mobile-credit { display: none !important; }
    body .elementor-65 .tp-footer-desktop-copy[hidden],
    body .elementor-65 .tp-footer-desktop-links[hidden],
    body .elementor-65 .tp-footer-desktop-credit[hidden] { display: block; }
    body .elementor-65 .tp-footer-desktop-contact[hidden] { display: grid; gap: 18px; font-family: Arial, Helvetica, sans-serif; color: #fff; }
    body .elementor-65 .elementor-element-a8282e1 > .elementor-icon-list-items { display: none !important; }
    body .elementor-65 .tp-footer-desktop-contact > a,
    body .elementor-65 .tp-footer-address { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.6; color: #fff; text-decoration: none; }
    body .elementor-65 .tp-footer-desktop-contact .tp-footer-phone { font-size: 20px; font-weight: 700; }
    body .elementor-65 .tp-footer-desktop-contact > a span { overflow-wrap: anywhere; }
    body .elementor-65 .tp-footer-address { align-items: flex-start; }
    body .elementor-65 .tp-footer-address address { margin: 0; font-style: normal; font-family: Arial, Helvetica, sans-serif; color: #fff; }
    body .elementor-65 .tp-footer-contact-icon { flex: 0 0 22px; width: 22px; height: 24px; overflow: visible; }
    body .elementor-65 .tp-footer-phone-motion { transform-origin: center; transform-box: fill-box; animation: tp-footer-phone-ring .9s ease-in-out infinite; }
    body .elementor-65 .tp-footer-contact-signal { animation: tp-footer-signal 1.8s ease-in-out infinite; }
    body .elementor-65 .tp-footer-mail-motion { animation: tp-footer-mail 2.4s ease-in-out infinite; }
    body .elementor-65 .tp-footer-pin-motion { animation: tp-footer-pin 2.4s ease-in-out infinite; }
    @keyframes tp-footer-phone-ring { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
    @keyframes tp-footer-signal { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
    @keyframes tp-footer-mail { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.5px); } }
    @keyframes tp-footer-pin { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
    body .elementor-65 .elementor-element-61774d6 img { filter: grayscale(1); opacity: .8; transition: filter .25s ease, opacity .25s ease; }
    body .elementor-65 .elementor-element-61774d6 .swiper-slide:hover img,
    body .elementor-65 .elementor-element-61774d6 .swiper-slide:focus-within img { filter: grayscale(0); opacity: 1; }
    body .elementor-65 .elementor-element-79bc001 > .elementor-icon-list-items { display: none !important; }
    body .elementor-65 .tp-footer-desktop-links ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
    body .elementor-65 .tp-footer-desktop-links li { padding: 0; margin: 0; }
    body .elementor-65 .tp-footer-desktop-links a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 14px; line-height: 1.5; text-decoration: none; }
    body .elementor-65 .tp-footer-desktop-links a span { white-space: nowrap; }
    body .elementor-65 .tp-footer-link-icon { width: 18px; height: 18px; flex: 0 0 18px; overflow: visible; transition: transform .2s ease; }
    body .elementor-65 .tp-footer-link-motion { animation: tp-footer-link-nudge 1.6s ease-in-out infinite; }
    body .elementor-65 .tp-footer-link-shaft { opacity: 0; transform: translateX(-3px); transition: opacity .2s ease, transform .2s ease; }
    body .elementor-65 .tp-footer-desktop-links a:hover .tp-footer-link-icon { transform: translateX(3px); }
    body .elementor-65 .tp-footer-desktop-links a:hover .tp-footer-link-shaft,
    body .elementor-65 .tp-footer-desktop-links a:focus-visible .tp-footer-link-shaft { opacity: 1; transform: translateX(0); }
    @keyframes tp-footer-link-nudge { 0%,100% { transform: translateX(0); } 50% { transform: translateX(2px); } }
    body .elementor-65 .tp-footer-desktop-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
    body .elementor-65 .elementor-element-79bc001,
    body .elementor-65 .elementor-element-a8282e1 { width: 100%; }
    body .elementor-65 .elementor-element-79bc001 .elementor-icon-list-items,
    body .elementor-65 .elementor-element-a8282e1 .elementor-icon-list-items { display: grid; gap: 14px; }
    body .elementor-65 .elementor-element-79bc001 .elementor-icon-list-item,
    body .elementor-65 .elementor-element-a8282e1 .elementor-icon-list-item { margin: 0; padding: 0; }
    body .elementor-65 .elementor-element-79bc001 .elementor-icon-list-text,
    body .elementor-65 .elementor-element-a8282e1 .elementor-icon-list-text {
        color: #e3ebf6;
        font-size: 14px;
        line-height: 1.5;
        padding: 0;
    }
    body .elementor-65 .elementor-element-a8282e1 .elementor-icon-list-item:first-child .elementor-icon-list-text {
        font-size: 20px;
        font-weight: 700;
        color: #fff;
    }
    body .elementor-65 .elementor-element-79bc001 a:hover .elementor-icon-list-text,
    body .elementor-65 .elementor-element-a8282e1 a:hover .elementor-icon-list-text { color: #8ac5ff; }
    body .elementor-65 .elementor-element-04d9be3 .elementor-social-icon {
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(159,194,232,.2);
        border-radius: 50%;
        padding: 10px;
        font-size: 14px;
        transition: background-color .2s ease;
    }
    body .elementor-65 .elementor-element-04d9be3 .elementor-social-icon:hover { background: #0761f6; }
    body .elementor-65 .elementor-element.elementor-element-524c244 { display: none; }
    body .elementor-65 .elementor-element.elementor-element-b5cb67b {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        width: 100%;
        margin: 0;
        padding: 22px 0 0;
        border-top: 1px solid rgba(169,196,223,.18);
    }
    body .elementor-65 .elementor-element-b5cb67b > .e-con { width: auto; min-width: 0; padding: 0; margin: 0; }
    body .elementor-65 .elementor-element-b5cb67b > .e-con-inner { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; padding: 0; }
    body .elementor-65 .elementor-element-b5cb67b > .e-con-inner > .e-con { width: auto; min-width: 0; padding: 0; margin: 0; --padding-left: 0px; --padding-right: 0px; }
    body .elementor-65 .elementor-element-b5cb67b .elementor-widget-text-editor {
        padding: 0;
        margin: 0;
        color: #a4b8d0;
        font-size: 12px;
        line-height: 1.6;
    }
    body .elementor-65 .elementor-element-b5cb67b p { margin: 0; }
    body .elementor-65 .elementor-element-04d5dab { order: 3; justify-self: end; margin-left: auto; }
    body .elementor-65 .elementor-element-b5cb67b .elementor-element-04d9be3 { order: 2; justify-self: center; width: auto; margin: 0; }
    body .elementor-65 .elementor-element-178eaa9 { order: 1; align-items: flex-start; justify-content: flex-start; }
    body .elementor-65 .elementor-element-178eaa9 .elementor-widget-text-editor,
    body .elementor-65 .elementor-element-178eaa9 .elementor-widget-container { width: auto; padding: 0; margin: 0; align-self: flex-start; }
    body .elementor-65 .elementor-element-04d5dab p { text-align: right; }
    body .elementor-65 .elementor-element-178eaa9 p { text-align: left; }
    body .elementor-65 .elementor-element-b5cb67b p,
    body .elementor-65 .elementor-element-b5cb67b p * { font-size: 12px !important; line-height: 1.6; font-weight: 400 !important; color: #fff !important; }
    body .elementor-65 .elementor-element-b5cb67b a { text-decoration: none; }
    body .elementor-65 a:focus-visible { outline: 2px solid #8ac5ff; outline-offset: 5px; }
    @supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
        body .elementor-65 .elementor-element-2bc5360 a::after {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(112deg, transparent 44%, rgba(139,180,218,.65) 48%, #fff 50%, rgba(139,180,218,.65) 52%, transparent 56%) 140% 0 / 300% 100% no-repeat;
            -webkit-mask: url('/wp-content/uploads/2026/09/TRUSTED-PAINTERS-LOGO-solid-colours-light-blue-400x131-1.png') center / 100% 100% no-repeat;
            mask: url('/wp-content/uploads/2026/09/TRUSTED-PAINTERS-LOGO-solid-colours-light-blue-400x131-1.png') center / 100% 100% no-repeat;
            mask-mode: alpha;
            animation: tp-footer-logo-shine 5.6s ease-in-out infinite;
        }
    }
    @keyframes tp-footer-logo-shine {
        0%, 10% { background-position: 140% 0; }
        38%, 100% { background-position: -40% 0; }
    }
    @keyframes tp-footer-border-orbit { to { --tp-footer-angle: 360deg; } }
}
@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    body .elementor-65 .elementor-element.elementor-element-0e375d7 { animation: none; }
    body .elementor-65 .elementor-element-2bc5360 a::after { display: none; animation: none; }
    body .elementor-65 .elementor-social-icon { transition: none; }
    body .elementor-65 .tp-footer-contact-icon * { animation: none; }
    body .elementor-65 .elementor-element-61774d6 img { transition: none; }
    body .elementor-65 .tp-footer-link-motion { animation: none; }
    body .elementor-65 .tp-footer-link-icon,
    body .elementor-65 .tp-footer-link-shaft { transition: none; }
    body .elementor-65 .tp-footer-desktop-links a:hover .tp-footer-link-icon { transform: none; }
}
