@property --tp-quote-angle {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}
@font-face {
    font-family: 'TP Outfit';
    src: url('/wp-content/mu-plugins/assets/fonts/Outfit-variable.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
@media (min-width: 1025px) {
    body.home #quote { scroll-margin-top: 180px; }
    body .elementor-39 .elementor-element.elementor-element-6c279e1b {
        margin-top: 80px;
        padding: 0 24px;
        overflow: visible;
        --margin-top: 80px;
        --padding-left: 24px;
        --padding-right: 24px;
    }
    body .elementor-39 .elementor-element.elementor-element-cbb534b {
        overflow: visible;
        border-radius: 0;
        --min-height: 0px;
        --border-radius: 0px;
    }
    body .elementor-39 .elementor-element.elementor-element-cbb534b:not(.elementor-motion-effects-element-type-background) {
        background: transparent;
    }
    body .elementor-39 .elementor-element.elementor-element-cbb534b > .e-con-inner {
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        align-items: stretch;
        gap: clamp(36px, 4vw, 64px);
        min-height: clamp(390px, 32vw, 440px);
        overflow: visible;
    }
    body .elementor-39 .elementor-element.elementor-element-a2f740c {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 20px;
        width: auto;
        min-width: 0;
        padding: 12px 0;
        z-index: 2;
        --width: auto;
        --padding-top: 12px;
        --padding-bottom: 12px;
    }
    body .elementor-39 .elementor-element-a2f740c > .elementor-widget { width: 100%; margin: 0; }
    body .elementor-39 .elementor-element.elementor-element-a9f39ac { display: none; }
    body .elementor-39 .elementor-element.elementor-element-c5c5d26 {
        order: -1;
        position: relative;
        top: 25px;
        color: #0761f6;
        font: 600 12px/1.6 'TP Outfit', sans-serif;
        text-transform: uppercase;
        letter-spacing: 1.8px;
    }
    body .elementor-39 .elementor-element-c5c5d26 p { margin: 0; }
    body .elementor-39 .elementor-element.elementor-element-dfe31ea { margin: 25px 0 0; text-align: left; }
    body .elementor-39 .elementor-element.elementor-element-dfe31ea .elementor-heading-title {
        font: 400 clamp(32px, calc(2.5vw + 4px), 42px)/1.25 'BurstNET', sans-serif;
        letter-spacing: 0;
        color: #0b2849;
    }
    body .elementor-39 .tp-hero-rotator { display: grid; min-height: 2.5em; width: 100%; max-width: 505px; }
    body .elementor-39 .tp-hero-dark { display: block; white-space: nowrap; }
    body .elementor-39 .tp-hero-message {
        grid-area: 1 / 1;
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        transition: opacity .35s ease, transform .35s ease, visibility .35s;
    }
    body .elementor-39 .tp-hero-message.is-active { opacity: 1; visibility: visible; transform: translateY(0); }
    body .elementor-39 .tp-hero-line { display: block; }
    body .elementor-39 .tp-hero-rotator .tp-hero-line { display: inline; }
    body .elementor-39 .tp-hero-rotator .tp-hero-line:last-child { display: block; white-space: nowrap; }
    body .elementor-39 .tp-hero-line:last-child { color: #0761f6; }
    body .elementor-39 .elementor-element.elementor-element-29b6e4a {
        font: 400 14px/1.7 'TP Manrope', sans-serif;
        letter-spacing: 0;
        color: #53667b;
        text-align: left;
        width: 490px;
        min-width: 0;
        max-width: 100%;
    }
    body .elementor-39 .elementor-element-29b6e4a p { margin: 0; width: 100%; max-width: 100%; white-space: normal; }
    body .elementor-39 .elementor-element-29b6e4a p:last-child { max-width: 430px; text-align: justify; }
    body .elementor-39 .tp-hero-lead { font: 600 19px/1.4 'TP Outfit', sans-serif; color: #143456; margin-bottom: 8px; text-align: left; }
    body .elementor-39 .elementor-element-29b6e4a p.tp-hero-lead { margin-bottom: 20px; }
    body .elementor-39 .elementor-element.elementor-element-cbda683 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 14px;
        align-items: center;
        margin-top: 6px;
        padding: 0;
    }
    body .elementor-39 .elementor-element.elementor-element-103b26d,
    body .elementor-39 .elementor-element.elementor-element-1ff4ca9 {
        width: auto;
        flex: 0 0 auto;
        padding: 0;
        --width: auto;
    }
    body .elementor-39 .elementor-element.elementor-element-1ff4ca9 { order: -1; }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title,
    body .elementor-39 .elementor-element.elementor-element-d6718b8 .elementor-heading-title {
        font: 600 12px/1.3 'TP Outfit', sans-serif;
        color: #0b2849;
        white-space: nowrap;
    }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title { font-size: 14px; }
    body .elementor-39 .elementor-element.elementor-element-d6718b8 .elementor-heading-title { font-size: 13px; }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 12px 24px;
        min-width: 220px;
        background: #00153a;
        background-image: linear-gradient(#00153a, #00153a), conic-gradient(from var(--tp-quote-angle), rgba(255,255,255,.35) 0deg 230deg, #0761f6 260deg, #a6edff 280deg, #fff 292deg, #0761f6 310deg, rgba(255,255,255,.35) 340deg 360deg);
        background-origin: padding-box, border-box;
        background-clip: padding-box, border-box;
        border: 1px solid transparent;
        border-radius: 8px;
        color: #fff;
        font: 400 16px/1.5 'BurstNET', sans-serif;
        gap: 14px;
        animation: tp-quote-border-orbit 4s linear infinite;
        transition: transform .2s ease, box-shadow .2s ease;
    }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title a:hover { transform: translateY(-2px) scale(1.025); box-shadow: 0 10px 24px rgba(0,21,58,.22); }
    body .elementor-39 .elementor-element-a604990 a svg { width: 17px; height: 17px; animation: tp-quote-arrow 1.4s ease-in-out infinite; }
    @keyframes tp-quote-border-orbit { to { --tp-quote-angle: 360deg; } }
    @keyframes tp-quote-arrow { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
    body .elementor-39 .elementor-element.elementor-element-d6718b8 .elementor-heading-title a { display: inline-flex; align-items: center; gap: 12px; min-height: 50px; font: 800 18px/1.2 'TP Manrope', sans-serif; color: #054bc4; text-decoration: none; }
    body .elementor-39 .tp-hero-phone-icon { width: 34px; height: 34px; flex: 0 0 34px; overflow: visible; }
    body .elementor-39 .tp-hero-phone-copy { position: relative; display: block; }
    body .elementor-39 .tp-hero-phone-label { position: absolute; bottom: calc(100% + 4px); left: 0; font: 700 9px/1.2 'TP Manrope', sans-serif; letter-spacing: 1.5px; color: #0761f6; animation: tp-hero-phone-signal 2.4s ease-in-out infinite; }
    body .elementor-39 .tp-hero-phone-prefix { color: #d71920; }
    body .elementor-39 .tp-hero-phone-motion { color: #071f46; stroke-width: 2.8; transform-origin: center; transform-box: fill-box; animation: tp-hero-phone-ring .9s ease-in-out infinite; }
    body .elementor-39 .tp-hero-phone-signal { color: #0761f6; stroke-width: 2.2; animation: tp-hero-phone-signal 1.8s ease-in-out infinite; }
    body .elementor-39 .tp-hero-phone-far { animation-delay: -.3s; }
    body .elementor-39 .tp-hero-phone-light { color: #0761f6; animation: tp-hero-phone-signal 1.8s ease-in-out infinite; }
    @keyframes tp-hero-phone-ring { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
    @keyframes tp-hero-phone-signal { 0%,100% { opacity: .35; } 50% { opacity: 1; } }
    body .elementor-39 .elementor-element.elementor-element-4bc7907 {
        position: relative;
        width: auto;
        min-width: 0;
        padding: 0;
        overflow: visible;
        clip-path: inset(-56px 0 0 -32px round 0 0 18px 18px);
        --width: auto;
    }
    body .elementor-39 .elementor-element-4bc7907::before {
        content: '';
        position: absolute;
        width: auto;
        height: auto;
        inset: 0 0 0 -32px;
        border-radius: 18px;
        background-color: #e8e7e2;
        background-image: linear-gradient(135deg, #f0ede7, #dde3e6);
        background-size: 100% 100%;
        background-position: center;
        background-repeat: no-repeat;
    }
    body .elementor-39 .elementor-element.elementor-element-eef55b3 {
        position: absolute;
        inset: -44px 0 0;
        height: calc(100% + 44px);
        margin: 0;
        padding: 0;
        width: 100%;
    }
    body .elementor-39 .elementor-element.elementor-element-eef55b3 img {
        position: absolute;
        right: 64px;
        bottom: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
        filter: drop-shadow(0 10px 12px rgba(11, 40, 73, .1));
    }
    /* Reuse the photo's alpha so the reflection cannot light up its box. */
    @supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
        body .elementor-39 .elementor-element-eef55b3::after {
            content: '';
            position: absolute;
            inset: 0 64px 0 -64px;
            pointer-events: none;
            background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,.12) 45%, rgba(255,255,255,.65) 50%, rgba(255,255,255,.12) 55%, transparent 60%) 200% 0 / 250% 100% no-repeat;
            -webkit-mask: url('/wp-content/uploads/2026/09/Trusted-Melbourne-Painters-1-1536x929.webp') center bottom / cover no-repeat;
            mask: url('/wp-content/uploads/2026/09/Trusted-Melbourne-Painters-1-1536x929.webp') center bottom / cover no-repeat;
            animation: tp-people-reflection 6s ease-in-out infinite;
        }
    }
    @keyframes tp-people-reflection {
        0%, 65% { background-position: 200% 0; opacity: 0; }
        69% { opacity: 1; }
        94% { background-position: -100% 0; opacity: 1; }
        100% { background-position: -100% 0; opacity: 0; }
    }
    body .elementor-39 .elementor-element-cbda683 a:focus-visible { outline: 2px solid #0761f6; outline-offset: 5px; }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    body .elementor-39 .elementor-element-eef55b3::after { display: none; animation: none; }
    body .elementor-39 .tp-hero-message { transition: none; transform: none; }
    body .elementor-39 .tp-hero-phone-icon * { animation: none; }
    body .elementor-39 .tp-hero-phone-label { animation: none; }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title a,
    body .elementor-39 .elementor-element-a604990 a svg { animation: none; transition: none; }
    body .elementor-39 .elementor-element.elementor-element-a604990 .elementor-heading-title a:hover { transform: none; }
}

@media (min-width: 1025px) and (max-width: 1200px) {
    body .elementor-39 .elementor-element.elementor-element-cbda683 { flex-direction: column; align-items: flex-start; gap: 16px; }
    body .elementor-39 .elementor-element.elementor-element-a2f740c { padding: 8px 0; gap: 20px; }
}
