:root {
                --bg-dark: #111111;
                --bg-dark-soft: #1a1a1a;
                --bg-light: #ffffff;
                --accent: #ff7a00;
                --accent-strong: #d96300;
                --text-light: #ffffff;
                --text-muted: #bcbcbc;
                --card-border: #e9e9e9;
            }

            html,
            body {
                max-width: 100%;
                overflow-x: hidden;
            }

            .elementor,
            .elementor-page-103 {
                max-width: 100%;
                overflow-x: hidden;
            }

            .elementor-element-6ecda64,
            .elementor-element-41fe15c,
            .elementor-element-f82fce6 {
                background-color: var(--bg-dark) !important;
            }

            .elementor-element-0881bdb,
            .elementor-element-602fcd5 {
                background-color: var(--bg-light) !important;
            }

            .elementor-element-6ecda64 .elementor-heading-title,
            .elementor-element-6ecda64 .elementor-headline,
            .elementor-element-6ecda64 p,
            .elementor-element-41fe15c .elementor-heading-title,
            .elementor-element-f82fce6 .elementor-heading-title,
            .elementor-element-f82fce6 p {
                color: var(--text-light) !important;
            }

            .elementor-element-67d8831 .elementor-heading-title,
            .elementor-element-1c86f14 .elementor-heading-title {
                color: var(--accent) !important;
            }

            .elementor-element-1c86f14 .soft-voce {
                text-shadow: 0 0 6px rgba(255, 255, 255, 0.45), 0 0 12px rgba(255, 122, 0, 0.25);
            }

            .elementor-element-cac43df .elementor-heading-title {
                font-family: "Sora", sans-serif;
                font-weight: 800;
                letter-spacing: 0.9px;
                text-transform: uppercase;
                display: inline-block;
                position: relative;
                overflow: hidden;
                color: #ffffff;
                text-shadow: 0 0 10px rgba(255, 156, 84, 0.45), 0 0 20px rgba(255, 122, 0, 0.25);
            }

            .elementor-element-cac43df .elementor-heading-title::after {
                content: "";
                position: absolute;
                top: -20%;
                left: -40%;
                width: 36%;
                height: 140%;
                background: linear-gradient(110deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.88) 50%, rgba(255, 255, 255, 0) 100%);
                transform: skewX(-22deg);
                filter: blur(0.4px);
                animation: brand-shine 3.2s ease-in-out infinite;
                pointer-events: none;
            }

            .elementor-button {
                background: var(--accent) !important;
                border-color: var(--accent) !important;
            }

            .elementor-button:hover,
            .elementor-button:focus {
                background: var(--accent-strong) !important;
                border-color: var(--accent-strong) !important;
            }

            .elementor-element-6bbba33 .elementor-icon-list-icon svg path,
            .elementor-element-ecc5202 .elementor-icon-list-icon svg path {
                fill: var(--accent) !important;
            }

            .elementor-element-6ecda64 {
                position: relative;
                overflow: hidden;
                isolation: isolate;
            }

            .elementor-element-6ecda64::before {
                content: "";
                position: absolute;
                inset: 0;
                z-index: 0;
                pointer-events: none;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cdefs%3E%3Cstyle%3E.line%7Bfill:none;stroke:%236b6f84;stroke-width:2.2;stroke-opacity:.38%7D%3C/style%3E%3C/defs%3E%3Ccircle class='line' cx='410' cy='130' r='300'/%3E%3Ccircle class='line' cx='1420' cy='130' r='440'/%3E%3Cpath class='line' d='M20 360 C180 250 330 350 500 400 C700 460 910 560 1200 360 C1370 240 1490 40 1600 40'/%3E%3Cpath class='line' d='M0 120 C170 20 330 60 450 190 C550 300 650 460 840 470 C1060 480 1180 330 1310 210 C1410 120 1510 50 1600 90'/%3E%3Cpath class='line' d='M120 900 C100 770 130 640 240 560 C350 480 540 480 710 560 C850 620 980 720 1210 740 C1360 750 1500 700 1600 620'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
            }

            .elementor-element-6ecda64 > .e-con-inner {
                position: relative;
                z-index: 1;
            }

            .elementor-element-e44d867 .elementor-widget-container {
                display: flex;
                justify-content: center;
            }

            .elementor-element-e44d867 img {
                width: clamp(220px, 60vw, 320px);
                height: auto;
                object-fit: contain;
                object-position: center;
                display: block;
                margin: 0 auto;
            }

            .elementor-element-78b00a8 .contact-email {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                margin-top: 4px;
                padding: 8px 14px;
                border: 1px solid rgba(255, 122, 0, 0.45);
                border-radius: 999px;
                background: rgba(255, 122, 0, 0.12);
                color: #ffffff;
                font-weight: 600;
                text-decoration: none;
                transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
            }

            .elementor-element-78b00a8 .contact-email:hover {
                background: rgba(255, 122, 0, 0.2);
                border-color: rgba(255, 122, 0, 0.8);
                transform: translateY(-1px);
            }

            .elementor-element-78b00a8 .contact-email:focus-visible {
                outline: 2px solid var(--accent);
                outline-offset: 2px;
            }

            .elementor-element-78b00a8 .contact-list {
                margin-top: 10px;
            }

            .elementor-element-78b00a8 .contact-row {
                display: block;
                margin-bottom: 8px;
                line-height: 1.6;
            }

            .elementor-element-78b00a8 .contact-row:last-of-type {
                margin-bottom: 0;
            }

            .elementor-element-78b00a8 .location-link {
                color: #ffffff;
                text-decoration: underline;
                text-decoration-color: rgba(255, 122, 0, 0.65);
                text-underline-offset: 2px;
            }

            .elementor-element-78b00a8 .location-link:hover {
                color: #ffd2ad;
            }

            .elementor-element-78b00a8 .map-button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-top: 14px;
                padding: 10px 16px;
                border-radius: 999px;
                background: var(--accent);
                border: 1px solid var(--accent);
                color: #ffffff;
                font-weight: 700;
                text-decoration: none;
                transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
            }

            .elementor-element-78b00a8 .map-button:hover {
                background: var(--accent-strong);
                border-color: var(--accent-strong);
                transform: translateY(-1px);
            }

            .elementor-element-78b00a8 .location-map {
                margin: 16px auto 0;
                max-width: 500px;
                border-radius: 22px;
                padding: 6px;
                overflow: hidden;
                border: 1px solid rgba(255, 122, 0, 0.45);
                background: linear-gradient(145deg, rgba(255, 122, 0, 0.22), rgba(255, 122, 0, 0.08));
                box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
            }

            .elementor-element-78b00a8 .location-map iframe {
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 16 / 10;
                border-radius: 16px;
                border: 0;
            }

            .reviews-carousel {
                position: relative;
                max-width: 780px;
                width: 100%;
                margin: 0 auto !important;
                margin-top: 12px !important;
            }

            .elementor-element-3e09f25 {
                margin-bottom: 12px;
            }

            .elementor-element-f86a5f4 {
                width: 100%;
                display: flex;
                justify-content: center;
            }

            .elementor-element-194d2f0 {
                width: 100%;
                max-width: 980px;
                margin: 0 auto;
            }

            .elementor-element-194d2f0 .elementor-widget-container {
                display: flex;
                justify-content: center;
                width: 100%;
                padding: 0 56px;
                box-sizing: border-box;
            }

            .elementor-element-194d2f0 .elementor-shortcode {
                width: 100%;
                margin: 0;
                padding: 0;
                min-height: 0;
                display: block;
            }

            .reviews-viewport {
                overflow: hidden;
                border-radius: 14px;
                width: 100%;
            }

            .reviews-track {
                display: flex;
                align-items: stretch;
                transition: transform 0.35s ease;
                will-change: transform;
                width: 100%;
                touch-action: pan-y;
            }

            .review-card {
                flex: 0 0 100%;
                background: #ffffff;
                border: 1px solid var(--card-border);
                border-radius: 14px;
                box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
                padding: 24px 22px;
                min-height: 230px;
                position: relative;
                overflow: hidden;
                box-sizing: border-box;
                margin: 0;
                width: 100%;
            }

            .review-card::before {
                content: "";
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 4px;
                background: linear-gradient(90deg, #ff7a00, #ff9d3f);
            }

            .review-head {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                margin-bottom: 12px;
            }

            .review-user {
                display: inline-flex;
                align-items: center;
                gap: 10px;
            }

            .review-avatar {
                width: 38px;
                height: 38px;
                border-radius: 999px;
                background: #fff2e7;
                color: var(--accent-strong);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 18px;
                line-height: 1;
            }

            .review-name {
                color: #191c2c;
                font-size: 17px;
                font-weight: 700;
            }

            .review-date {
                color: var(--accent-strong);
                font-size: 11px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.4px;
                background: #e8f7f4;
                padding: 4px 8px;
                border-radius: 999px;
            }

            .review-stars {
                color: #f7b500;
                font-size: 16px;
                letter-spacing: 1px;
                margin-bottom: 12px;
            }

            .review-text {
                margin: 0;
                color: #2b2f41;
                font-size: 15px;
                line-height: 1.65;
            }

            .review-arrow {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                width: 42px;
                height: 42px;
                border: none;
                border-radius: 999px;
                background: var(--accent);
                color: #ffffff;
                font-size: 26px;
                line-height: 1;
                cursor: pointer;
                box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
                z-index: 2;
            }

            .review-arrow:hover {
                background: var(--accent-strong);
            }

            .review-arrow:disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }

            .review-arrow-prev {
                left: -56px;
            }

            .review-arrow-next {
                right: -56px;
            }

            .review-arrow-hidden {
                display: none !important;
            }

            .elementor-element-c19bc46 .elementor-headline {
                font-family: "Montserrat", sans-serif;
                font-weight: 800;
                letter-spacing: 0.4px;
                line-height: 1.12;
            }

            .elementor-element-c19bc46 .elementor-headline-plain-text,
            .elementor-element-c19bc46 .elementor-headline-dynamic-text {
                font-weight: 800;
            }

            .elementor-element-c19bc46 .elementor-headline-dynamic-wrapper {
                position: relative;
                display: inline-block;
                padding: 0 0.08em 0.06em;
            }

            .elementor-element-d7de38e .elementor-headline-dynamic-wrapper {
                position: relative;
                display: inline-block;
                padding: 0 0.08em 0.06em;
            }

            .elementor-element-c19bc46 .elementor-headline-dynamic-wrapper svg,
            .elementor-element-c19bc46 .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text::before,
            .elementor-element-c19bc46 .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text::after {
                display: none !important;
            }

            .elementor-element-d7de38e .elementor-headline-dynamic-wrapper svg,
            .elementor-element-d7de38e .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text::before,
            .elementor-element-d7de38e .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text::after {
                display: none !important;
            }

            .elementor-element-c19bc46 .elementor-headline-dynamic-text {
                position: relative;
                z-index: 1;
            }

            .elementor-element-d7de38e .elementor-headline-dynamic-text {
                position: relative;
                z-index: 1;
            }

            .elementor-element-c19bc46 .elementor-headline-dynamic-wrapper::after {
                content: "";
                position: absolute;
                left: -1.5%;
                right: -1.5%;
                bottom: 0.08em;
                height: 0.5em;
                background: var(--accent);
                border-radius: 2px;
                clip-path: polygon(1% 12%, 99% 0%, 97% 100%, 3% 96%);
                transform: scaleX(0);
                transform-origin: left center;
                opacity: 0;
                z-index: 0;
                animation-name: marker-pass !important;
                animation-duration: 2.8s !important;
                animation-timing-function: ease-in-out !important;
                animation-iteration-count: infinite !important;
                animation-fill-mode: none !important;
                animation-play-state: running !important;
                animation-delay: 0s !important;
                will-change: transform, opacity;
            }

            .elementor-element-d7de38e .elementor-headline-dynamic-wrapper::after {
                content: "";
                position: absolute;
                left: -1.5%;
                right: -1.5%;
                bottom: 0.08em;
                height: 0.5em;
                background: var(--accent);
                border-radius: 2px;
                clip-path: polygon(1% 12%, 99% 0%, 97% 100%, 3% 96%);
                transform: scaleX(0);
                transform-origin: left center;
                opacity: 0;
                z-index: 0;
                animation-name: marker-pass !important;
                animation-duration: 2.8s !important;
                animation-timing-function: ease-in-out !important;
                animation-iteration-count: infinite !important;
                animation-fill-mode: none !important;
                animation-play-state: running !important;
                animation-delay: 0s !important;
                will-change: transform, opacity;
            }

            @keyframes marker-pass {
                0% {
                    transform: scaleX(0);
                    transform-origin: left center;
                    opacity: 0;
                }

                12% {
                    opacity: 1;
                }

                45%,
                70% {
                    transform: scaleX(1);
                    transform-origin: left center;
                    opacity: 1;
                }

                100% {
                    transform: scaleX(0);
                    transform-origin: right center;
                    opacity: 0;
                }
            }

            @keyframes brand-shine {
                0%,
                20% {
                    left: -45%;
                    opacity: 0;
                }

                28% {
                    opacity: 0.95;
                }

                55% {
                    left: 115%;
                    opacity: 0;
                }

                100% {
                    left: 115%;
                    opacity: 0;
                }
            }

            @media (max-width: 767px) {
                .elementor-element-602fcd5 {
                    overflow-x: hidden;
                }

                .reviews-carousel {
                    width: 100%;
                    max-width: 100%;
                    padding: 0 12px;
                    box-sizing: border-box;
                }

                .elementor-element-194d2f0 .elementor-widget-container {
                    padding: 0;
                }

                .review-arrow {
                    width: 36px;
                    height: 36px;
                    font-size: 22px;
                    top: 50%;
                }

                .review-arrow-prev {
                    left: 18px;
                    transform: translateY(-50%);
                }

                .review-arrow-next {
                    right: 18px;
                    transform: translateY(-50%);
                }

                .elementor-element-e44d867 img {
                    width: clamp(200px, 65vw, 260px);
                    height: auto;
                    object-position: center;
                }
                .elementor-element-e44d867 picture {
                    display: inline-block;
                    line-height: 0;
                }

                .elementor-element-78b00a8 .location-map {
                    border-radius: 18px;
                    padding: 4px;
                }

                .elementor-element-78b00a8 .location-map iframe {
                    border-radius: 14px;
                    aspect-ratio: 4 / 3;
                }

                .review-card {
                    min-height: 220px;
                    padding: 20px 58px;
                }

                .review-head {
                    gap: 8px;
                }

                .review-name {
                    font-size: 15px;
                }

                .review-date {
                    font-size: 10px;
                    padding: 3px 7px;
                }

                .review-text {
                    font-size: 14px;
                    line-height: 1.55;
                }
            }

            .company-docs {
    margin-top: 14px;
    font-size: 13px;
    color: var(--text-muted);
    opacity: 0.9;
    letter-spacing: 0.3px;
}


/* ✅ FOTO REDONDA — VERSÃO LIMPA */
.elementor-element-e44d867 .moldura-redonda {
  width: min(280px, 80vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #ff7a00; /* 👈 MAIS FINO (era 6px) */
  display: inline-block;
}

.elementor-element-e44d867 .moldura-redonda img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block;
}