:root {
    --dueda-black: #050505;
    --dueda-black-2: #0b0b0d;
    --dueda-panel: #101014;
    --dueda-panel-2: #17171c;
    --dueda-orange: #ff4b1f;
    --dueda-orange-2: #ff7a1a;
    --dueda-orange-dark: #c93416;
    --dueda-text: #f5f5f6;
    --dueda-muted: #b7b7c3;
    --dueda-border: rgba(255, 255, 255, .10);
    --dueda-shadow: 0 24px 80px rgba(255, 75, 31, .13);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--dueda-text);
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 75, 31, .14), transparent 30%),
        radial-gradient(circle at 90% 20%, rgba(255, 122, 26, .08), transparent 28%),
        var(--dueda-black);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
}

strong {
    color: #fff;
}

::selection {
    background: var(--dueda-orange);
    color: #fff;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--dueda-border);
    background: rgba(5, 5, 5, .86);
    backdrop-filter: blur(18px);
}

.navbar {
    min-height: 84px;
}

.brand-logo {
    width: 190px;
    height: auto;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .76);
    font-weight: 700;
    font-size: .94rem;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #fff;
}

.navbar-toggler {
    border-radius: 0;
    border-color: var(--dueda-border);
}

.btn {
    border-radius: 0;
    font-weight: 800;
    letter-spacing: -.01em;
}

.btn-orange {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--dueda-orange);
    --bs-btn-border-color: var(--dueda-orange);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--dueda-orange-dark);
    --bs-btn-hover-border-color: var(--dueda-orange-dark);
    --bs-btn-active-bg: var(--dueda-orange-dark);
    box-shadow: 0 16px 34px rgba(255, 75, 31, .27);
}

.btn-dark-orange {
    color: #fff;
    background: linear-gradient(135deg, rgba(255, 75, 31, .24), rgba(255, 122, 26, .10));
    border: 1px solid rgba(255, 75, 31, .55);
}

.btn-dark-orange:hover {
    color: #fff;
    background: var(--dueda-orange);
}

.btn-outline-light {
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
}

.btn-outline-light:hover {
    background: #fff;
    color: #111;
}

.section-glow,
.section-padding,
.section-muted {
    position: relative;
}

.hero-section {
    min-height: calc(100vh - 84px);
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 92px 0 72px;
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .30;
    background-image:
        linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(to bottom, black, transparent 82%);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffb090;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .13em;
    font-weight: 900;
}

.eyebrow i {
    color: var(--dueda-orange);
}

.hero-title {
    max-width: 880px;
    color: #fff;
    font-size: clamp(2.4rem, 7vw, 5.5rem);
    line-height: .94;
    font-weight: 950;
    letter-spacing: -.07em;
}

.hero-title span {
    display: block;
    color: var(--dueda-orange);
    text-shadow: 0 0 42px rgba(255, 75, 31, .38);
}

.hero-text {
    max-width: 680px;
    color: var(--dueda-muted);
    font-size: 1.16rem;
    line-height: 1.75;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.trust-card,
.service-card,
.hero-panel,
.process-item,
.eduardo-card,
.device-item,
.contact-box,
.hours-box,
.lead-form,
.stats-box,
.form-control,
.form-select {
    border-radius: 0;
}

.trust-card {
    padding: 18px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid var(--dueda-border);
}

.trust-card strong,
.trust-card span {
    display: block;
}

.trust-card strong {
    font-size: 1.02rem;
    line-height: 1.2;
}

.trust-card span {
    margin-top: 6px;
    color: var(--dueda-muted);
    font-size: .88rem;
}

.hero-panel {
    position: relative;
    padding: 32px;
    border: 1px solid rgba(255, 75, 31, .28);
    background:
        linear-gradient(180deg, rgba(255, 75, 31, .12), transparent 40%),
        rgba(14, 14, 18, .94);
    box-shadow: var(--dueda-shadow);
    overflow: hidden;
}

.hero-panel::before {
    content: "";
    position: absolute;
    right: -80px;
    top: -80px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255, 75, 31, .40);
    transform: rotate(18deg);
}

.panel-top {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    border: 1px solid var(--dueda-border);
    font-size: .82rem;
    font-weight: 800;
}

.status-dot {
    width: 9px;
    height: 9px;
    display: inline-block;
    border-radius: 50%;
    background: #21d07a;
    box-shadow: 0 0 0 6px rgba(33, 208, 122, .10);
}

.hero-logo {
    width: 235px;
    display: block;
    margin: 28px 0;
}

.hero-panel h2 {
    color: #fff;
    font-size: 1.9rem;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.05em;
}

.hero-panel p {
    color: var(--dueda-muted);
    line-height: 1.7;
}

.mini-checklist {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.mini-checklist div {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .88);
}

.mini-checklist i {
    color: var(--dueda-orange);
}

.section-padding {
    padding: 96px 0;
}

.section-muted {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .01)),
        #08080a;
    border-top: 1px solid var(--dueda-border);
    border-bottom: 1px solid var(--dueda-border);
}

.section-heading {
    max-width: 760px;
}

.section-heading h2,
.section-title,
.eduardo-card h2 {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.03;
}

.section-heading p,
.section-text,
.eduardo-card p {
    color: var(--dueda-muted);
    font-size: 1.04rem;
    line-height: 1.75;
}

.service-card {
    padding: 28px;
    background: var(--dueda-panel);
    border: 1px solid var(--dueda-border);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 75, 31, .55);
    background: #131319;
}

.service-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--dueda-orange), var(--dueda-orange-dark));
    font-size: 1.35rem;
}

.service-card h3 {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
    letter-spacing: -.03em;
}

.service-card p {
    margin: 12px 0 0;
    color: var(--dueda-muted);
    line-height: 1.65;
    font-size: .94rem;
}

.process-list {
    display: grid;
    gap: 16px;
}

.process-item {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 22px;
    padding: 26px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid var(--dueda-border);
}

.process-item span {
    display: grid;
    place-items: center;
    height: 58px;
    color: #fff;
    background: rgba(255, 75, 31, .22);
    border: 1px solid rgba(255, 75, 31, .38);
    font-weight: 950;
}

.process-item h3 {
    margin-bottom: 7px;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900;
}

.process-item p {
    margin: 0;
    color: var(--dueda-muted);
    line-height: 1.65;
}

.eduardo-card {
    padding: clamp(28px, 6vw, 64px);
    border: 1px solid rgba(255, 75, 31, .30);
    background:
        linear-gradient(135deg, rgba(255, 75, 31, .16), rgba(255, 255, 255, .03) 42%, rgba(255, 122, 26, .10)),
        var(--dueda-panel);
    box-shadow: var(--dueda-shadow);
}

.feature-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.feature-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border: 1px solid var(--dueda-border);
    background: rgba(0, 0, 0, .24);
    color: #fff;
    font-weight: 800;
    font-size: .9rem;
}

.feature-pills i {
    color: var(--dueda-orange);
}

.stats-box {
    display: grid;
    gap: 14px;
}

.stats-box > div {
    padding: 22px;
    border: 1px solid var(--dueda-border);
    background: rgba(0, 0, 0, .24);
}

.stats-box strong,
.stats-box span {
    display: block;
}

.stats-box strong {
    color: #fff;
    font-size: 1.28rem;
    font-weight: 950;
}

.stats-box span {
    margin-top: 6px;
    color: var(--dueda-muted);
}

.device-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.device-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px;
    color: #fff;
    background: var(--dueda-panel);
    border: 1px solid var(--dueda-border);
    font-weight: 800;
}

.device-item i {
    color: var(--dueda-orange);
}

.contact-box,
.hours-box {
    padding: 24px;
    background: var(--dueda-panel);
    border: 1px solid var(--dueda-border);
}

.contact-box {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.contact-box > div {
    display: flex;
    gap: 14px;
}

.contact-box i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    color: #fff;
    background: var(--dueda-orange);
}

.contact-box strong,
.contact-box span,
.contact-box a,
.hours-box strong,
.hours-box span {
    display: block;
}

.contact-box strong,
.hours-box strong {
    color: #fff;
    font-weight: 900;
}

.contact-box span,
.contact-box a,
.hours-box span {
    color: var(--dueda-muted);
}

.contact-box a:hover {
    color: var(--dueda-orange);
}

.hours-box {
    display: grid;
    gap: 8px;
}

.lead-form {
    padding: clamp(24px, 5vw, 42px);
    background: #fff;
    color: #111;
    border: 1px solid rgba(255, 75, 31, .25);
    box-shadow: var(--dueda-shadow);
}

.form-title h3 {
    margin: 0;
    color: #111;
    font-size: 2rem;
    font-weight: 950;
    letter-spacing: -.05em;
}

.form-title p {
    margin: 6px 0 24px;
    color: #60606a;
}

.form-label {
    color: #18181b;
    font-weight: 900;
    font-size: .92rem;
}

.form-control,
.form-select {
    min-height: 50px;
    border: 1px solid #d7d7dd;
    color: #121217;
    font-weight: 700;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--dueda-orange);
    box-shadow: 0 0 0 .25rem rgba(255, 75, 31, .13);
}

textarea.form-control {
    min-height: 132px;
}

.field-error {
    margin-top: 7px;
    color: #d92612;
    font-size: .86rem;
    font-weight: 800;
}

.form-note {
    display: block;
    margin-top: 12px;
    color: #696974;
    line-height: 1.5;
}

.site-footer {
    padding: 38px 0;
    color: var(--dueda-muted);
    background: #030303;
    border-top: 1px solid var(--dueda-border);
}

.footer-logo {
    width: 170px;
}

.site-footer a {
    display: inline-flex;
    margin-left: 18px;
    color: rgba(255, 255, 255, .72);
    font-weight: 800;
}

.site-footer a:hover {
    color: var(--dueda-orange);
}

.floating-whatsapp {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 60;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #19c463;
    border: 1px solid rgba(255, 255, 255, .20);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
    font-size: 1.6rem;
}

.floating-whatsapp:hover {
    color: #fff;
    transform: translateY(-3px);
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        padding: 18px 0;
        border-top: 1px solid var(--dueda-border);
        margin-top: 14px;
    }

    .hero-section {
        min-height: auto;
        padding-top: 58px;
    }

    .trust-row,
    .device-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .brand-logo {
        width: 155px;
    }

    .hero-section,
    .section-padding {
        padding: 62px 0;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .trust-row,
    .device-grid {
        grid-template-columns: 1fr;
    }

    .process-item {
        grid-template-columns: 1fr;
    }

    .site-footer a {
        margin: 12px 16px 0 0;
    }

    .floating-whatsapp {
        width: 54px;
        height: 54px;
        right: 16px;
        bottom: 16px;
    }
}

/* Movimento leve para o hotsite */
.hero-orbit {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border: 1px solid rgba(255, 75, 31, .20);
    background: radial-gradient(circle, rgba(255, 75, 31, .20), transparent 62%);
    filter: blur(.2px);
    opacity: .65;
    animation: duedaFloat 7s ease-in-out infinite;
}

.hero-orbit-one {
    right: 8%;
    top: 18%;
    width: 180px;
    height: 180px;
    transform: rotate(18deg);
}

.hero-orbit-two {
    left: 4%;
    bottom: 12%;
    width: 120px;
    height: 120px;
    animation-duration: 9s;
    animation-delay: -2s;
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .72s ease,
        transform .72s cubic-bezier(.2, .8, .2, 1),
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
    transition-delay: var(--reveal-delay, 0ms);
}

.reveal-on-scroll.is-visible,
.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.service-card,
.trust-card,
.process-item,
.device-item,
.contact-box,
.hours-box,
.lead-form,
.eduardo-card {
    will-change: transform;
}

.service-card:hover,
.trust-card:hover,
.device-item:hover,
.process-item:hover {
    box-shadow: 0 20px 56px rgba(255, 75, 31, .12);
}

.floating-whatsapp {
    animation: duedaPulse 2.6s ease-in-out infinite;
}

/* Select pesquisável próprio, sem dependência de Select2 */
.custom-select {
    position: relative;
    width: 100%;
}

.custom-select-trigger {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 13px;
    border: 1px solid #d7d7dd;
    border-radius: 0;
    background: #fff;
    color: #121217;
    font-weight: 800;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.custom-select-trigger:hover,
.custom-select.is-open .custom-select-trigger {
    border-color: var(--dueda-orange);
    box-shadow: 0 0 0 .25rem rgba(255, 75, 31, .13);
}

.custom-select-selected {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-select-selected span:not(.custom-select-placeholder) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.custom-select-placeholder {
    color: #797985;
    font-weight: 700;
}

.custom-select-selected-img,
.custom-select-option img {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    object-fit: contain;
    border: 1px solid rgba(255, 75, 31, .22);
    background: #101014;
}

.custom-select-chevron {
    flex: 0 0 auto;
    color: var(--dueda-orange);
    transition: transform .18s ease;
}

.custom-select.is-open .custom-select-chevron {
    transform: rotate(180deg);
}

.custom-select-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 120;
    display: none;
    padding: 10px;
    border: 1px solid rgba(255, 75, 31, .28);
    background: #0f0f13;
    color: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

.custom-select.is-open .custom-select-dropdown {
    display: block;
    animation: duedaDropdown .16s ease-out both;
}

.custom-select-search-wrap {
    position: relative;
    margin-bottom: 10px;
}

.custom-select-search-wrap i {
    position: absolute;
    left: 12px;
    top: 50%;
    color: var(--dueda-orange);
    transform: translateY(-50%);
    pointer-events: none;
}

.custom-select-search {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px 10px 38px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 0;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-weight: 800;
    outline: 0;
}

.custom-select-search::placeholder {
    color: rgba(255, 255, 255, .55);
}

.custom-select-search:focus {
    border-color: rgba(255, 75, 31, .65);
    box-shadow: 0 0 0 .22rem rgba(255, 75, 31, .13);
}

.custom-select-options {
    max-height: 258px;
    overflow-y: auto;
    display: grid;
    gap: 6px;
    scrollbar-width: thin;
    scrollbar-color: var(--dueda-orange) rgba(255, 255, 255, .10);
}

.custom-select-option {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 0;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .88);
    font-weight: 800;
    text-align: left;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.custom-select-option:hover,
.custom-select-option:focus,
.custom-select-option.is-selected {
    border-color: rgba(255, 75, 31, .58);
    background: rgba(255, 75, 31, .16);
    color: #fff;
    transform: translateX(2px);
}

.custom-select-option.is-selected::after {
    content: "\F633";
    margin-left: auto;
    color: var(--dueda-orange);
    font-family: "bootstrap-icons";
    font-size: 1rem;
}

.custom-select-empty {
    display: none;
    padding: 14px;
    color: rgba(255, 255, 255, .68);
    text-align: center;
    font-weight: 800;
}

@keyframes duedaFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(18deg);
    }
    50% {
        transform: translate3d(0, -18px, 0) rotate(25deg);
    }
}

@keyframes duedaPulse {
    0%, 100% {
        box-shadow: 0 16px 40px rgba(0, 0, 0, .35), 0 0 0 0 rgba(25, 196, 99, .34);
    }
    50% {
        box-shadow: 0 16px 40px rgba(0, 0, 0, .35), 0 0 0 12px rgba(25, 196, 99, 0);
    }
}

@keyframes duedaDropdown {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .reveal-on-scroll {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 575.98px) {
    .custom-select-dropdown {
        position: fixed;
        left: 14px;
        right: 14px;
        top: auto;
        bottom: 18px;
        max-height: min(72vh, 520px);
    }

    .custom-select-options {
        max-height: min(52vh, 360px);
    }
}


/* Visual gamer flutuante do hero */
.hero-player-scene {
    position: relative;
    min-height: 620px;
    isolation: isolate;
}

.hero-player-glow {
    position: absolute;
    z-index: 0;
    border-radius: 999px;
    filter: blur(22px);
    pointer-events: none;
}

.hero-player-glow-orange {
    width: 260px;
    height: 260px;
    right: 4%;
    top: 13%;
    background: radial-gradient(circle, rgba(255, 75, 31, .38), rgba(255, 75, 31, 0) 68%);
}

.hero-player-glow-blue {
    width: 320px;
    height: 320px;
    left: 3%;
    bottom: 5%;
    background: radial-gradient(circle, rgba(55, 109, 255, .22), rgba(55, 109, 255, 0) 70%);
}

.hero-player-frame {
    position: absolute;
    inset: 2% 0 0 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transition: transform .18s ease-out;
    will-change: transform;
}

.hero-player-frame::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 4%;
    height: 70%;
    border: 1px solid rgba(255, 255, 255, .10);
    background:
        linear-gradient(135deg, rgba(255, 75, 31, .12), rgba(255, 255, 255, .02) 48%, rgba(66, 113, 255, .10)),
        rgba(12, 12, 18, .58);
    box-shadow: 0 34px 90px rgba(0, 0, 0, .38);
}

.hero-corner {
    position: absolute;
    z-index: 1;
    width: 78px;
    height: 78px;
    border-color: rgba(255, 75, 31, .68);
    border-style: solid;
    pointer-events: none;
}

.hero-corner-top {
    top: 15%;
    left: 2%;
    border-width: 2px 0 0 2px;
}

.hero-corner-bottom {
    right: 2%;
    bottom: 4%;
    border-width: 0 2px 2px 0;
}

.hero-player {
    position: relative;
    z-index: 2;
    width: min(100%, 470px);
    max-height: 610px;
    object-fit: contain;
    object-position: bottom center;
    filter:
        drop-shadow(0 28px 54px rgba(0, 0, 0, .50))
        drop-shadow(0 0 28px rgba(255, 75, 31, .14));
    animation: duedaHeroFloat 6.4s ease-in-out infinite;
}

.hero-mini-card {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 13px;
    width: min(285px, 76%);
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(12, 12, 18, .84);
    backdrop-filter: blur(16px);
    box-shadow: 0 24px 58px rgba(0, 0, 0, .35);
    transition: transform .18s ease-out;
    will-change: transform;
}

.hero-mini-card strong,
.hero-mini-card span {
    display: block;
}

.hero-mini-card strong {
    color: #fff;
    font-size: .98rem;
    line-height: 1.2;
    font-weight: 950;
}

.hero-mini-card span {
    margin-top: 4px;
    color: var(--dueda-muted);
    font-size: .82rem;
    line-height: 1.45;
    font-weight: 650;
}

.hero-mini-card i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    color: #fff;
    background: linear-gradient(135deg, var(--dueda-orange), var(--dueda-orange-2));
    font-size: 1.08rem;
}

.hero-mini-card img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    object-fit: contain;
    padding: 5px;
    background: rgba(255, 255, 255, .055);
}

.hero-mini-card-top {
    top: 10%;
    left: -4%;
}

.hero-mini-card-bottom {
    right: -2%;
    bottom: 11%;
}

.eduardo-photo-wrap {
    position: relative;
    min-height: 520px;
    isolation: isolate;
}

.eduardo-photo-glow {
    position: absolute;
    inset: 12% 4% 10%;
    z-index: 0;
    background:
        radial-gradient(circle at 55% 28%, rgba(255, 75, 31, .25), transparent 42%),
        radial-gradient(circle at 22% 70%, rgba(55, 109, 255, .16), transparent 36%);
    filter: blur(10px);
}

.eduardo-photo-frame {
    position: absolute;
    inset: 0 4% 0 4%;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .10);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)),
        rgba(10, 10, 14, .42);
    overflow: hidden;
}

.eduardo-photo-frame::before,
.eduardo-photo-frame::after {
    content: "";
    position: absolute;
    width: 92px;
    height: 92px;
    border-color: rgba(255, 75, 31, .55);
    border-style: solid;
    pointer-events: none;
}

.eduardo-photo-frame::before {
    top: 16px;
    left: 16px;
    border-width: 2px 0 0 2px;
}

.eduardo-photo-frame::after {
    right: 16px;
    bottom: 16px;
    border-width: 0 2px 2px 0;
}

.eduardo-photo {
    position: relative;
    z-index: 2;
    width: min(100%, 455px);
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(0 24px 52px rgba(0, 0, 0, .42));
}

.eduardo-name-card {
    position: absolute;
    z-index: 4;
    left: 0;
    right: 0;
    bottom: 20px;
    width: min(330px, calc(100% - 42px));
    margin-inline: auto;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(12, 12, 18, .84);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .35);
}

.eduardo-name-card strong,
.eduardo-name-card span {
    display: block;
}

.eduardo-name-card strong {
    color: #fff;
    font-size: 1rem;
    font-weight: 950;
}

.eduardo-name-card span {
    margin-top: 4px;
    color: var(--dueda-muted);
    font-size: .84rem;
    line-height: 1.45;
}

@keyframes duedaHeroFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-14px);
    }
}

@media (max-width: 1199.98px) {
    .hero-player-scene {
        min-height: 560px;
    }

    .hero-player {
        width: min(100%, 410px);
    }

    .hero-mini-card-top {
        left: 0;
    }

    .hero-mini-card-bottom {
        right: 0;
    }
}

@media (max-width: 991.98px) {
    .hero-player-scene {
        min-height: 540px;
        margin-top: 8px;
    }

    .hero-player {
        max-height: 560px;
    }

    .eduardo-photo-wrap {
        min-height: 500px;
    }
}

@media (max-width: 767.98px) {
    .hero-player-scene {
        min-height: 465px;
    }

    .hero-player {
        width: min(100%, 340px);
        max-height: 455px;
    }

    .hero-player-frame::before {
        left: 3%;
        right: 3%;
    }

    .hero-mini-card {
        width: min(255px, 80%);
        padding: 12px 13px;
    }

    .hero-mini-card-top {
        top: 2%;
    }

    .hero-mini-card-bottom {
        bottom: 4%;
    }

    .hero-mini-card img,
    .hero-mini-card i {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .eduardo-photo-wrap {
        min-height: 430px;
    }

    .eduardo-photo {
        width: min(100%, 360px);
    }
}

@media (max-width: 575.98px) {
    .hero-player-scene {
        min-height: 430px;
    }

    .hero-player {
        width: min(100%, 315px);
    }

    .hero-mini-card {
        max-width: 220px;
    }

    .hero-mini-card-bottom {
        right: 0;
    }

    .hero-mini-card strong {
        font-size: .9rem;
    }

    .hero-mini-card span {
        font-size: .76rem;
    }

    .hero-corner {
        width: 56px;
        height: 56px;
    }

    .eduardo-photo-wrap {
        min-height: 390px;
    }

    .eduardo-photo-frame {
        inset-inline: 0;
    }

    .eduardo-name-card {
        bottom: 14px;
    }
}


/* Correção de sobreposição dos selects dentro do formulário */
.lead-form,
.lead-form .row {
    overflow: visible;
}

.lead-form .row > [class*="col-"] {
    position: relative;
    z-index: 1;
}

.lead-form .row > [class*="col-"].select-column-open {
    z-index: 8000;
}

.custom-select {
    z-index: 1;
}

.custom-select.is-open {
    z-index: 8100;
}

.custom-select-dropdown {
    z-index: 8200;
    max-height: min(56vh, 390px);
}

.custom-select.opens-up .custom-select-dropdown {
    top: auto;
    bottom: calc(100% + 8px);
}

.custom-select-search-wrap {
    position: sticky;
    top: 0;
    z-index: 2;
    padding-bottom: 10px;
    margin-bottom: 0;
    background: #0f0f13;
}

.custom-select-options {
    max-height: min(44vh, 315px);
    padding-right: 2px;
}

.custom-select-option img,
.custom-select-selected-img {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    object-fit: contain;
    padding: 3px;
    border: 1px solid rgba(255, 75, 31, .24);
    background: rgba(255, 255, 255, .04);
}

.custom-select-option {
    min-height: 58px;
}

/* Eduardo mais para frente do card, com o mesmo movimento do hero */
.eduardo-photo-wrap {
    overflow: visible;
    perspective: 900px;
}

.eduardo-photo-frame {
    inset: 4% 2% 0 2%;
    overflow: visible;
    transform-style: preserve-3d;
    transition: transform .18s ease-out;
    will-change: transform;
}

.eduardo-photo-frame::before,
.eduardo-photo-frame::after {
    z-index: 1;
}

.eduardo-photo {
    width: min(112%, 520px);
    max-width: none;
    margin-bottom: -10px;
    transform: translateZ(26px);
    animation: duedaHeroFloat 6.6s ease-in-out infinite;
    filter:
        drop-shadow(0 28px 56px rgba(0, 0, 0, .48))
        drop-shadow(0 0 24px rgba(255, 75, 31, .12));
}

.eduardo-name-card {
    transition: transform .18s ease-out;
    will-change: transform;
}

@media (max-width: 575.98px) {
    .custom-select-dropdown {
        position: fixed;
        left: 14px;
        right: 14px;
        top: auto;
        bottom: 18px;
        max-height: min(72vh, 520px);
    }

    .custom-select.opens-up .custom-select-dropdown {
        top: auto;
        bottom: 18px;
    }

    .custom-select-options {
        max-height: min(52vh, 360px);
    }

    .eduardo-photo {
        width: min(108%, 390px);
    }
}

/* Ajuste final solicitado: foto do Eduardo maior e mais à frente do card */
.eduardo-photo-wrap {
    min-height: 560px;
    overflow: visible;
}

.eduardo-photo-frame {
    inset: 0 4% 0 4%;
    overflow: visible;
}

.eduardo-photo-frame {
    align-items: flex-start;
}

.eduardo-photo {
    width: min(142%, 680px);
    max-width: none;
    margin-left: -9%;
    margin-right: -9%;
    margin-top: -35px;
    margin-bottom: 0;
    animation: duedaEduardoFloat3d 6.6s ease-in-out infinite;
    transform-origin: bottom center;
    filter:
        drop-shadow(0 34px 64px rgba(0, 0, 0, .54))
        drop-shadow(0 0 30px rgba(255, 75, 31, .16));
}

.eduardo-name-card {
    bottom: 24px;
}

@keyframes duedaEduardoFloat3d {
    0%, 100% {
        transform: translate3d(0, 0, 42px) scale(1.045);
    }
    50% {
        transform: translate3d(0, -16px, 42px) scale(1.045);
    }
}

@media (max-width: 1199.98px) {
    .eduardo-photo {
        width: min(134%, 610px);
        margin-left: -7%;
        margin-right: -7%;
    }
}

@media (max-width: 767.98px) {
    .eduardo-photo-wrap {
        min-height: 460px;
    }

    .eduardo-photo {
        width: min(120%, 430px);
        margin-left: -4%;
        margin-right: -4%;
        margin-bottom: -34px;
    }
}

@media (max-width: 575.98px) {
    .eduardo-photo-wrap {
        min-height: 410px;
    }

    .eduardo-photo {
        width: min(112%, 390px);
        margin-left: -2%;
        margin-right: -2%;
        margin-bottom: -24px;
    }
}
/* Correção mobile - Eduardo não subir sobre o texto */
@media (max-width: 767.98px) {
    .eduardo-photo-wrap {
        min-height: 430px;
        margin-top: 28px;
    }

    .eduardo-photo-frame {
        align-items: flex-end;
        inset: 0 0 0 0;
    }

    .eduardo-photo {
        width: min(108%, 390px);
        margin-top: 0;
        margin-left: -4%;
        margin-right: -4%;
        margin-bottom: -24px;
    }

    .eduardo-name-card {
        bottom: 18px;
    }
}

@media (max-width: 575.98px) {
    .eduardo-photo-wrap {
        min-height: 410px;
        margin-top: 32px;
    }

    .eduardo-photo {
        width: min(106%, 360px);
        margin-top: 0;
        margin-left: -3%;
        margin-right: -3%;
        margin-bottom: -18px;
    }

    .eduardo-name-card {
        bottom: 16px;
        width: calc(100% - 28px);
    }
}

/* Confirmação dinâmica após envio do orçamento */
.lead-success-card {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 46px);
    color: #fff;
    border: 1px solid rgba(255, 75, 31, .28);
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 75, 31, .25), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(55, 109, 255, .14), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)),
        rgba(11, 11, 15, .96);
    box-shadow: 0 28px 84px rgba(0, 0, 0, .35);
}

.lead-success-card::before,
.lead-success-card::after {
    content: "";
    position: absolute;
    width: 82px;
    height: 82px;
    border-color: rgba(255, 75, 31, .55);
    border-style: solid;
    pointer-events: none;
}

.lead-success-card::before {
    top: 18px;
    left: 18px;
    border-width: 2px 0 0 2px;
}

.lead-success-card::after {
    right: 18px;
    bottom: 18px;
    border-width: 0 2px 2px 0;
}

.success-icon-wrap {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--dueda-orange), var(--dueda-orange-2));
    box-shadow: 0 18px 42px rgba(255, 75, 31, .28);
    font-size: 2rem;
    animation: duedaPulse 2.6s ease-in-out infinite;
}

.success-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #ffb090;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .13em;
    font-weight: 950;
}

.success-eyebrow i {
    color: var(--dueda-orange);
}

.lead-success-card h3 {
    max-width: 640px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1;
    letter-spacing: -.055em;
    font-weight: 950;
}

.lead-success-card p {
    max-width: 640px;
    margin: 18px 0 0;
    color: var(--dueda-muted);
    font-size: 1.04rem;
    line-height: 1.75;
}

.success-summary {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.success-summary > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .045);
}

.success-summary i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    color: var(--dueda-orange);
    background: rgba(255, 75, 31, .10);
}

.success-summary span {
    color: #fff;
    font-weight: 850;
}

.success-warning {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    padding: 13px 14px;
    color: #ffe7d7;
    border: 1px solid rgba(255, 75, 31, .22);
    background: rgba(255, 75, 31, .09);
    font-size: .92rem;
    line-height: 1.55;
}

.success-warning i {
    color: var(--dueda-orange);
    margin-top: 2px;
}

.whatsapp-after-send {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(0, 0, 0, .24);
}

.whatsapp-after-send strong,
.whatsapp-after-send span {
    display: block;
}

.whatsapp-after-send strong {
    color: #fff;
    font-size: 1.08rem;
    font-weight: 950;
}

.whatsapp-after-send span {
    margin-top: 5px;
    color: var(--dueda-muted);
    line-height: 1.55;
}

.success-new-request {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: rgba(255, 255, 255, .78);
    font-weight: 850;
}

.success-new-request:hover {
    color: #fff;
}

@media (max-width: 767.98px) {
    .whatsapp-after-send {
        grid-template-columns: 1fr;
    }

    .whatsapp-after-send .btn {
        width: 100%;
    }
}


/* Seção premium: controle desmontado/interativo */
.repair-map-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 16%, rgba(255, 75, 31, .14), transparent 32%),
        radial-gradient(circle at 18% 78%, rgba(55, 109, 255, .11), transparent 34%),
        var(--dueda-black);
}

.repair-bg-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at 50% 45%, black, transparent 76%);
    pointer-events: none;
}

.repair-detail-panel {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    margin-top: 28px;
    padding: 18px;
    border: 1px solid rgba(255, 75, 31, .22);
    background:
        linear-gradient(135deg, rgba(255, 75, 31, .11), rgba(255, 255, 255, .025)),
        rgba(255, 255, 255, .035);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .20);
}

.repair-detail-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--dueda-orange), var(--dueda-orange-2));
    box-shadow: 0 16px 34px rgba(255, 75, 31, .24);
    font-size: 1.45rem;
}

.repair-detail-panel span {
    display: block;
    color: #ffb090;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .12em;
    font-weight: 950;
}

.repair-detail-panel h3 {
    margin: 5px 0 6px;
    color: #fff;
    font-size: 1.55rem;
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -.04em;
}

.repair-detail-panel p {
    margin: 0;
    color: var(--dueda-muted);
    line-height: 1.65;
}

.repair-exploded {
    position: relative;
}

.repair-stage {
    position: relative;
    min-height: 560px;
    border: 1px solid rgba(255, 255, 255, .10);
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 75, 31, .12), transparent 30%),
        radial-gradient(circle at 48% 72%, rgba(255, 255, 255, .055), transparent 38%),
        rgba(10, 10, 14, .62);
    box-shadow: var(--dueda-shadow);
    overflow: visible;
    isolation: isolate;
}

.repair-stage::before,
.repair-stage::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 92px;
    height: 92px;
    border-color: rgba(255, 75, 31, .58);
    border-style: solid;
    pointer-events: none;
}

.repair-stage::before {
    top: 18px;
    left: 18px;
    border-width: 2px 0 0 2px;
}

.repair-stage::after {
    right: 18px;
    bottom: 18px;
    border-width: 0 2px 2px 0;
}

.repair-stage-glow {
    position: absolute;
    z-index: 0;
    border-radius: 999px;
    filter: blur(20px);
    pointer-events: none;
}

.repair-stage-glow-one {
    width: 260px;
    height: 260px;
    top: 12%;
    right: 16%;
    background: radial-gradient(circle, rgba(255, 75, 31, .26), rgba(255, 75, 31, 0) 70%);
}

.repair-stage-glow-two {
    width: 360px;
    height: 360px;
    left: 12%;
    bottom: 6%;
    background: radial-gradient(circle, rgba(55, 109, 255, .13), rgba(55, 109, 255, 0) 70%);
}

.controller-exploded-svg {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%, 720px);
    margin: 0 auto;
    padding: 20px;
    overflow: visible;
}

.controller-layer-shadow ellipse {
    fill: rgba(0, 0, 0, .42);
    filter: blur(8px);
}

.controller-piece {
    cursor: pointer;
    transform-box: fill-box;
    transform-origin: center;
    transition:
        transform .34s cubic-bezier(.2, .8, .2, 1),
        opacity .24s ease,
        filter .24s ease;
}

.controller-shell-back path,
.controller-shell-front path {
    fill: url(#duedaShellGradient);
    stroke: rgba(255, 255, 255, .16);
    stroke-width: 2;
}

.controller-shell-back {
    opacity: .56;
}

.controller-shell-front {
    transform: translateY(-16px);
}

.controller-board path:first-child {
    fill: rgba(38, 108, 73, .76);
    stroke: rgba(92, 255, 172, .38);
    stroke-width: 2;
}

.controller-board circle {
    fill: rgba(255, 255, 255, .24);
}

.controller-board path:not(:first-child) {
    fill: none;
    stroke: rgba(170, 255, 210, .52);
    stroke-width: 3;
    stroke-linecap: round;
}

.controller-connector path {
    fill: rgba(255, 255, 255, .16);
    stroke: rgba(255, 255, 255, .34);
    stroke-width: 2;
}

.controller-connector rect {
    fill: rgba(255, 75, 31, .40);
    stroke: rgba(255, 75, 31, .70);
}

.controller-membrane path {
    fill: rgba(255, 75, 31, .16);
    stroke: rgba(255, 75, 31, .45);
    stroke-width: 2;
    stroke-dasharray: 8 8;
}

.controller-analog circle:first-child,
.controller-analog circle:nth-child(3) {
    fill: rgba(18, 18, 22, .98);
    stroke: rgba(255, 255, 255, .24);
    stroke-width: 3;
}

.controller-analog circle:nth-child(2),
.controller-analog circle:nth-child(4) {
    fill: rgba(255, 255, 255, .08);
    stroke: rgba(255, 75, 31, .62);
    stroke-width: 3;
}

.controller-buttons circle,
.controller-buttons path {
    fill: rgba(255, 255, 255, .10);
    stroke: rgba(255, 255, 255, .34);
    stroke-width: 3;
}

.controller-buttons circle:nth-child(1) {
    fill: rgba(255, 75, 31, .34);
}

.controller-buttons circle:nth-child(2) {
    fill: rgba(255, 122, 26, .28);
}

.controller-triggers path {
    fill: rgba(255, 255, 255, .10);
    stroke: rgba(255, 255, 255, .28);
    stroke-width: 3;
}

.controller-screws circle {
    fill: rgba(255, 255, 255, .18);
    stroke: rgba(255, 255, 255, .24);
}

.repair-exploded[data-active-part="analogico"] .controller-piece:not([data-part="analogico"]),
.repair-exploded[data-active-part="manta"] .controller-piece:not([data-part="manta"]),
.repair-exploded[data-active-part="botoes"] .controller-piece:not([data-part="botoes"]),
.repair-exploded[data-active-part="gatilhos"] .controller-piece:not([data-part="gatilhos"]),
.repair-exploded[data-active-part="placa"] .controller-piece:not([data-part="placa"]),
.repair-exploded[data-active-part="conector"] .controller-piece:not([data-part="conector"]),
.repair-exploded[data-active-part="carcaca"] .controller-piece:not([data-part="carcaca"]) {
    opacity: .36;
}

.repair-exploded[data-active-part="analogico"] .controller-piece[data-part="analogico"],
.repair-exploded[data-active-part="manta"] .controller-piece[data-part="manta"],
.repair-exploded[data-active-part="botoes"] .controller-piece[data-part="botoes"],
.repair-exploded[data-active-part="gatilhos"] .controller-piece[data-part="gatilhos"],
.repair-exploded[data-active-part="placa"] .controller-piece[data-part="placa"],
.repair-exploded[data-active-part="conector"] .controller-piece[data-part="conector"],
.repair-exploded[data-active-part="carcaca"] .controller-piece[data-part="carcaca"] {
    opacity: 1;
    transform: translateY(-10px) scale(1.045);
    filter:
        drop-shadow(0 0 22px rgba(255, 75, 31, .38))
        drop-shadow(0 18px 32px rgba(0, 0, 0, .38));
}

.part-trigger {
    position: absolute;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .13);
    color: rgba(255, 255, 255, .88);
    background: rgba(11, 11, 15, .84);
    backdrop-filter: blur(14px);
    font-weight: 900;
    font-size: .84rem;
    line-height: 1;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
    transition:
        transform .2s ease,
        border-color .2s ease,
        color .2s ease,
        background .2s ease;
}

.part-trigger span {
    width: 10px;
    height: 10px;
    display: inline-block;
    flex: 0 0 10px;
    border-radius: 999px;
    background: var(--dueda-orange);
    box-shadow: 0 0 0 6px rgba(255, 75, 31, .12);
}

.part-trigger::after {
    content: "";
    position: absolute;
    height: 1px;
    width: var(--line-width, 58px);
    background: linear-gradient(90deg, rgba(255, 75, 31, .72), rgba(255, 75, 31, 0));
    pointer-events: none;
}

.part-trigger:hover,
.part-trigger.is-active {
    color: #fff;
    border-color: rgba(255, 75, 31, .66);
    background: rgba(255, 75, 31, .18);
    transform: translateY(-3px);
}

.part-trigger-analogico {
    left: 5%;
    top: 45%;
    --line-width: 74px;
}

.part-trigger-analogico::after {
    left: 100%;
    top: 50%;
}

.part-trigger-manta {
    left: 7%;
    top: 30%;
    --line-width: 94px;
}

.part-trigger-manta::after {
    left: 100%;
    top: 50%;
}

.part-trigger-botoes {
    right: 6%;
    top: 36%;
    --line-width: 82px;
}

.part-trigger-botoes::after {
    right: 100%;
    top: 50%;
    transform: rotate(180deg);
}

.part-trigger-gatilhos {
    right: 12%;
    top: 9%;
    --line-width: 72px;
}

.part-trigger-gatilhos::after {
    right: 100%;
    top: 50%;
    transform: rotate(180deg);
}

.part-trigger-placa {
    right: 9%;
    top: 58%;
    --line-width: 88px;
}

.part-trigger-placa::after {
    right: 100%;
    top: 50%;
    transform: rotate(180deg);
}

.part-trigger-conector {
    left: 39%;
    top: 10%;
    --line-width: 50px;
}

.part-trigger-conector::after {
    left: 50%;
    top: 100%;
    transform: rotate(90deg);
    transform-origin: left center;
}

.part-trigger-carcaca {
    left: 40%;
    bottom: 7%;
    --line-width: 56px;
}

.part-trigger-carcaca::after {
    left: 50%;
    bottom: 100%;
    transform: rotate(-90deg);
    transform-origin: left center;
}

.repair-mobile-parts {
    display: none;
}

.repair-mobile-part {
    width: 100%;
    min-height: 92px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 3px 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .10);
    color: #fff;
    background: rgba(255, 255, 255, .045);
    text-align: left;
}

.repair-mobile-part i {
    grid-row: 1 / 3;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--dueda-orange);
    background: rgba(255, 75, 31, .10);
    font-size: 1.1rem;
}

.repair-mobile-part strong,
.repair-mobile-part span {
    display: block;
}

.repair-mobile-part strong {
    font-size: .96rem;
    font-weight: 950;
}

.repair-mobile-part span {
    color: var(--dueda-muted);
    font-size: .82rem;
}

.repair-mobile-part.is-active {
    border-color: rgba(255, 75, 31, .58);
    background: rgba(255, 75, 31, .14);
}

@media (max-width: 1199.98px) {
    .repair-stage {
        min-height: 520px;
    }

    .part-trigger {
        font-size: .78rem;
        padding: 9px 11px;
    }
}

@media (max-width: 991.98px) {
    .repair-stage {
        min-height: auto;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .controller-exploded-svg {
        width: 100%;
        padding: 4px;
    }

    .part-trigger {
        display: none;
    }

    .repair-mobile-parts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 14px;
    }

    .repair-detail-panel {
        margin-top: 24px;
    }
}

@media (max-width: 575.98px) {
    .repair-map-section {
        overflow: hidden;
    }

    .repair-detail-panel {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 14px;
    }

    .repair-detail-icon {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }

    .repair-detail-panel h3 {
        font-size: 1.25rem;
    }

    .repair-detail-panel p {
        font-size: .92rem;
    }

    .repair-stage {
        margin-top: 18px;
        padding: 12px;
    }

    .controller-exploded-svg {
    width: 94%;
    min-width: 0;
    max-width: 94%;
    height: auto;
    transform: none;
    padding: 6px;
}

    .repair-mobile-parts {
        grid-template-columns: 1fr;
    }

    .repair-mobile-part {
        min-height: 78px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .controller-piece,
    .part-trigger {
        transition: none !important;
    }
}
