﻿        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
        
        :root { 
            color-scheme: dark;
            --bg-apple: #101114;
            --surface: #1c1c1e;
            --surface-secondary: #2c2c2e;
            --text-main: #f5f5f7;
            --text-muted: #98989d;
            --accent-red: #dc2626;
            --accent-red-hover: #ef4444;
            --border: #38383a;
            --divider: rgba(255, 255, 255, 0.12);
            --glass-bg: rgba(28, 28, 30, 0.75);
            --glass-bg-solid: rgba(28, 28, 30, 0.98);
            --card-border: rgba(255, 255, 255, 0.08);
            --shadow-apple: none;
            --spring: cubic-bezier(0.25, 1, 0.5, 1);
        }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: var(--bg-apple);
    color: var(--text-main);
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body::before {
    content: '';
    position: fixed;
    z-index: 0;
    inset: -25%;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 16%, rgba(220, 38, 38, 0.09), transparent 24%),
        radial-gradient(circle at 82% 58%, rgba(220, 38, 38, 0.055), transparent 25%);
    animation: ambientDrift 14s ease-in-out infinite alternate;
}

main,
footer { position: relative; z-index: 1; }

@keyframes ambientDrift {
    from { translate: -1.5% -1%; scale: 1; opacity: 0.75; }
    to { translate: 1.5% 1%; scale: 1.08; opacity: 1; }
}

/* --- SCROLLBAR PERSONALIZADA --- */
* {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--accent-red) 65%, transparent) var(--surface-secondary);
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: var(--surface-secondary);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, color-mix(in srgb, var(--accent-red) 90%, #ffffff 10%), color-mix(in srgb, var(--accent-red) 70%, #000000 30%));
    border-radius: 999px;
    border: 2px solid var(--surface-secondary);
}

*::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--accent-red-hover), var(--accent-red));
}

        /* --- UTILITÁRIOS --- */
        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        /* --- ANIMAÇÕES (ON LOAD & SCROLL) --- */
        @keyframes fadeUpApple { from { opacity: 0; transform: translateY(24px) scale(0.985); filter: blur(7px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }
        
        .animate-hero { animation: fadeUpApple 0.8s var(--spring) forwards; }
        .delay-1 { animation-delay: 0.1s; opacity: 0; }

        .reveal-on-scroll {
            opacity: 0;
            transform: translateY(36px) scale(0.985);
            filter: blur(7px);
            transition: opacity 0.9s var(--spring), transform 0.9s var(--spring), filter 0.8s ease;
            will-change: opacity, transform, filter;
        }
        .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }

        @keyframes starBounceSingle {
            0%, 16%, 100% { opacity: 0.75; transform: translateY(0) scale(1); }
            8% { opacity: 1; transform: translateY(-2px) scale(1.06); }
        }
        .rating-stars i {
            animation: starBounceSingle 3.5s ease-in-out infinite;
            transform-origin: center;
        }
        .rating-stars i:nth-child(1) { animation-delay: 0s; }
        .rating-stars i:nth-child(2) { animation-delay: 0.5s; }
        .rating-stars i:nth-child(3) { animation-delay: 1s; }
        .rating-stars i:nth-child(4) { animation-delay: 1.5s; }
        .rating-stars i:nth-child(5) { animation-delay: 2s; }

        /* --- ESTILOS WIDGET (BENTO) --- */
        .glass-nav {
            background-color: var(--glass-bg);
            backdrop-filter: saturate(180%) blur(25px);
            -webkit-backdrop-filter: saturate(180%) blur(25px);
            border-bottom: 1px solid var(--divider);
            transition: background-color 0.35s, border-color 0.35s, box-shadow 0.35s;
        }
        .glass-nav.is-scrolled {
            background-color: rgba(20, 20, 22, 0.9);
            border-color: rgba(255, 255, 255, 0.09);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.28);
        }
        .brand-mark i { animation: brandGlow 3.2s ease-in-out infinite; }
        .brand-mark:hover i { animation: brandSpin 0.65s var(--spring); }

        @keyframes brandGlow {
            0%, 100% { filter: drop-shadow(0 0 0 rgba(220, 38, 38, 0)); scale: 1; }
            50% { filter: drop-shadow(0 0 7px rgba(239, 68, 68, 0.65)); scale: 1.08; }
        }
        @keyframes brandSpin { to { rotate: 360deg; } }
        
        .widget-card {
            background-color: var(--surface);
            border: 1px solid var(--card-border);
            border-radius: 24px;
            box-shadow: var(--shadow-apple);
            position: relative;
            overflow: hidden;
            transition: transform 0.3s var(--spring), background-color 0.3s, border-color 0.3s;
        }
        .widget-interactive:active { transform: scale(0.97); }

        @keyframes bentoPop {
            from { opacity: 0; translate: 0 22px; scale: 0.94; }
            to { opacity: 1; translate: 0 0; scale: 1; }
        }
        .bento-grid > * { opacity: 0; animation: bentoPop 0.75s var(--spring) forwards; }
        .bento-grid > :nth-child(1) { animation-delay: 0.2s; }
        .bento-grid > :nth-child(2) { animation-delay: 0.32s; }
        .social-hub-card { padding: 16px; }
        .social-hub-heading {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 13px;
            padding: 0 2px;
        }
        .social-hub-eyebrow {
            display: block;
            color: var(--text-muted);
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .social-hub-heading h3 {
            margin-top: 3px;
            color: var(--text-main);
            font-size: 15px;
            font-weight: 650;
            letter-spacing: -0.02em;
        }
        .social-hub-caption {
            color: var(--text-muted);
            font-size: 9px;
            font-weight: 500;
            white-space: nowrap;
        }
        .social-hub-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 9px;
        }
        .social-hub-link {
            min-width: 0;
            min-height: 62px;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px;
            color: var(--text-main);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 17px;
            text-decoration: none;
            transition: transform 0.24s var(--spring), border-color 0.24s, filter 0.24s;
        }
        .social-hub-link:hover { transform: translateY(-2px); filter: brightness(1.08); }
        .social-hub-link:active { transform: scale(0.97); }
        .social-hub-instagram {
            background: linear-gradient(135deg, rgba(236, 72, 153, 0.15), rgba(147, 51, 234, 0.06));
        }
        .social-hub-instagram:hover { border-color: rgba(236, 72, 153, 0.28); }
        .social-hub-tiktok {
            background: linear-gradient(135deg, rgba(34, 211, 238, 0.11), rgba(244, 63, 94, 0.055));
        }
        .social-hub-tiktok:hover { border-color: rgba(34, 211, 238, 0.25); }
        .social-hub-link-icon {
            width: 31px;
            height: 31px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border-radius: 10px;
            font-size: 19px;
        }
        .social-hub-instagram .social-hub-link-icon {
            color: #f472b6;
            background: rgba(236, 72, 153, 0.12);
        }
        .social-hub-tiktok .social-hub-link-icon {
            color: #67e8f9;
            background: rgba(34, 211, 238, 0.1);
        }
        .social-hub-link > span:nth-child(2) { min-width: 0; }
        .social-hub-link small,
        .social-hub-link strong { display: block; }
        .social-hub-link small {
            color: var(--text-muted);
            font-size: 9px;
            font-weight: 500;
        }
        .social-hub-link strong {
            margin-top: 2px;
            overflow: hidden;
            color: var(--text-main);
            font-size: 10px;
            font-weight: 650;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .social-hub-arrow {
            margin-left: auto;
            flex: 0 0 auto;
            color: var(--text-muted);
            font-size: 13px;
        }
        .combined-info-card { overflow: hidden; }
        .combined-info-row {
            width: 100%;
            min-height: 68px;
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 13px 16px;
            color: var(--text-main);
            background: transparent;
            border: 0;
            text-align: left;
        }
        .combined-hours-row {
            cursor: pointer;
            transition: background-color 0.22s;
        }
        .combined-hours-row:hover { background: rgba(255, 255, 255, 0.025); }
        .combined-hours-row:focus-visible {
            outline: 2px solid rgba(248, 113, 113, 0.65);
            outline-offset: -3px;
        }
        .combined-info-row + .combined-info-row { border-top: 1px solid var(--divider); }
        .combined-info-icon {
            width: 36px;
            height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            font-size: 22px;
        }
        .combined-info-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        .combined-info-label {
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 500;
        }
        .combined-info-copy strong {
            color: var(--text-main);
            font-size: 15px;
            font-weight: 600;
            line-height: 1.25;
        }
        .combined-info-action {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            margin-left: auto;
            font-size: 10px;
            font-weight: 600;
            white-space: nowrap;
        }
        .combined-info-action i { font-size: 14px; }
        .combined-location-icon { color: var(--accent-red); }
        .combined-navigation-icon {
            margin-left: auto;
            flex: 0 0 auto;
            color: var(--text-muted);
            font-size: 17px;
        }
        #combined-info-card[data-state="open"] .combined-status { color: #22c55e; }
        #combined-info-card[data-state="closed"] .combined-status { color: #f43f5e; }
        .service-summary {
            padding: 7px 12px 3px;
            text-align: center;
        }
        .service-summary p {
            max-width: 570px;
            margin: 0 auto;
            color: var(--text-muted);
            font-size: 12px;
            font-weight: 450;
            line-height: 1.6;
        }
        .benefit-highlights {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0;
            padding: 4px 0;
        }
        .benefit-highlight {
            min-height: 52px;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: flex-start;
            gap: 8px;
            padding: 5px 10px;
            color: var(--text-main);
            text-align: left;
            font-size: 10px;
            font-weight: 600;
            line-height: 1.3;
        }
        .benefit-highlight-icon {
            width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            color: #f87171;
            font-size: 18px;
        }
        .section-heading h2::after {
            content: '';
            display: block;
            width: 0;
            height: 2px;
            margin: 11px auto 0;
            border-radius: 999px;
            background: linear-gradient(90deg, transparent, var(--accent-red), transparent);
            box-shadow: 0 0 12px rgba(220, 38, 38, 0.45);
            transition: width 0.85s 0.25s var(--spring);
        }
        .is-visible .section-heading h2::after { width: 72px; }

        .evaluation-panel {
            position: relative;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
            transition: border-color 0.35s, box-shadow 0.35s, translate 0.35s var(--spring);
        }
        .evaluation-panel::before {
            content: '';
            position: absolute;
            top: -1px;
            left: 12%;
            width: 76%;
            height: 1px;
            pointer-events: none;
            background: linear-gradient(90deg, transparent, rgba(239, 68, 68, 0.72), transparent);
            opacity: 0;
            transition: opacity 0.35s;
        }
        .evaluation-panel:focus-within {
            border-color: rgba(220, 38, 38, 0.22);
            box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24), 0 0 40px rgba(220, 38, 38, 0.035);
            translate: 0 -2px;
        }
        .evaluation-panel:focus-within::before { opacity: 1; }

        #avaliacao-section:not(.is-visible) #headlight-form > * { opacity: 0; }
        #avaliacao-section.is-visible #headlight-form > * { animation: fieldLift 0.72s var(--spring) both; }
        #avaliacao-section.is-visible #headlight-form > :nth-child(1) { animation-delay: 0.16s; }
        #avaliacao-section.is-visible #headlight-form > :nth-child(2) { animation-delay: 0.26s; }
        #avaliacao-section.is-visible #headlight-form > :nth-child(3) { animation-delay: 0.36s; }
        #avaliacao-section.is-visible #headlight-form > :nth-child(4) { animation-delay: 0.46s; }
        @keyframes fieldLift {
            from { opacity: 0; translate: 0 16px; }
            to { opacity: 1; translate: 0 0; }
        }

        .form-field label { transition: color 0.22s, translate 0.22s var(--spring); }
        .form-field:focus-within label { color: #f87171; translate: 2px 0; }
        .form-field.dropdown-active { position: relative; z-index: 100; }
        .photo-note { transition: border-color 0.3s, background-color 0.3s; }
        .photo-note i { animation: cameraNudge 3.4s ease-in-out infinite; }
        .photo-note:hover { border-color: rgba(248, 113, 113, 0.28); background: rgba(239, 68, 68, 0.09); }
        @keyframes cameraNudge {
            0%, 74%, 100% { rotate: 0deg; scale: 1; }
            80% { rotate: -8deg; scale: 1.12; }
            88% { rotate: 6deg; scale: 1.08; }
        }

        .form-input-shell {
            position: relative;
            min-width: 0;
        }
        .form-input-icon {
            position: absolute;
            z-index: 1;
            top: 50%;
            left: 13px;
            color: var(--text-muted);
            font-size: 17px;
            pointer-events: none;
            transform: translateY(-50%);
            transition: color 0.22s, transform 0.22s var(--spring);
        }
        .form-input-shell:focus-within .form-input-icon {
            color: #f87171;
            transform: translateY(-50%) scale(1.08);
        }
        .form-input-shell .form-input { padding-left: 41px; }
        .form-input {
            height: 50px;
            color: var(--text-main);
            background: color-mix(in srgb, var(--surface-secondary) 55%, transparent);
            border: 1px solid var(--border);
            border-radius: 14px;
            outline: none;
            transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
        }
        .form-input:hover { background: color-mix(in srgb, var(--surface-secondary) 75%, transparent); }
        .form-input:focus {
            border-color: var(--accent-red);
            box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.14);
        }
        .form-field.has-error .form-input {
            border-color: #fb7185;
            background: rgba(244, 63, 94, 0.055);
            box-shadow: 0 0 0 4px rgba(251, 113, 133, 0.09);
        }
        .field-error {
            display: flex;
            align-items: flex-start;
            gap: 5px;
            margin: 7px 4px 0;
            color: #fb7185;
            font-size: 11px;
            font-weight: 500;
            line-height: 1.3;
            animation: validationReveal 0.24s var(--spring) both;
        }
        .field-error.hidden { display: none; }
        .field-error i { flex: 0 0 auto; margin-top: 1px; font-size: 12px; }
        @keyframes validationReveal {
            from { opacity: 0; translate: 0 -4px; }
            to { opacity: 1; translate: 0 0; }
        }

        /* --- DROPDOWN DE DIAGNÓSTICO --- */
        .condition-trigger {
            width: 100%;
            min-height: 50px;
            padding: 6px 12px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            color: var(--text-main);
            background: #262629;
            border: 1px solid var(--border);
            border-radius: 14px;
            transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
        }
        .condition-trigger:hover { background: #2c2c30; }
        .condition-trigger:focus-visible,
        .condition-dropdown.is-open .condition-trigger {
            outline: none;
            border-color: var(--accent-red);
            box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.14);
        }
        .condition-dropdown.has-error .condition-trigger {
            border-color: #fb7185;
            box-shadow: 0 0 0 4px rgba(251, 113, 133, 0.10);
        }
        .condition-options {
            position: absolute;
            z-index: 120;
            top: calc(100% + 8px);
            left: 0;
            right: 0;
            padding: 4px;
            visibility: hidden;
            opacity: 0;
            transform: translateY(-6px) scale(0.985);
            transform-origin: top;
            pointer-events: none;
            background: #18181b;
            border: 1px solid rgba(239, 68, 68, 0.28);
            border-radius: 15px;
            box-shadow: 0 24px 65px rgba(0, 0, 0, 0.72), 0 0 0 1px rgba(255, 255, 255, 0.035);
            backdrop-filter: blur(28px);
            -webkit-backdrop-filter: blur(28px);
            transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
        }
        .condition-dropdown.is-open .condition-options {
            visibility: visible;
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }
        .condition-dropdown.is-open { z-index: 120; }
        .condition-dropdown.is-open .condition-option { animation: optionEnter 0.28s var(--spring) both; }
        .condition-dropdown.is-open .condition-option:nth-child(2) { animation-delay: 0.035s; }
        .condition-dropdown.is-open .condition-option:nth-child(3) { animation-delay: 0.07s; }
        .condition-dropdown.is-open .condition-option:nth-child(4) { animation-delay: 0.105s; }
        @keyframes optionEnter {
            from { opacity: 0; translate: -7px 0; }
            to { opacity: 1; translate: 0 0; }
        }
        .condition-icon-pop { animation: conditionIconPop 0.48s var(--spring); }
        @keyframes conditionIconPop {
            0% { scale: 0.55; rotate: -14deg; }
            70% { scale: 1.18; rotate: 6deg; }
            100% { scale: 1; rotate: 0deg; }
        }
        .condition-dropdown.is-open #condition-caret { transform: rotate(180deg); }
        .condition-option {
            width: 100%;
            padding: 8px;
            display: flex;
            align-items: center;
            gap: 9px;
            border-radius: 11px;
            transition: background-color 0.16s ease;
        }
        .condition-option:hover,
        .condition-option:focus-visible { background: var(--surface-secondary); outline: none; }
        .condition-option[aria-selected="true"] { background: rgba(220, 38, 38, 0.12); }
        .condition-option-icon {
            width: 26px;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 19px;
        }
        .condition-check { opacity: 0; transform: scale(0.7); transition: opacity 0.16s, transform 0.16s; }
        .condition-option[aria-selected="true"] .condition-check { opacity: 1; transform: scale(1); }
        /* --- MODAL --- */
        #modal-container { display: none; position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,0.4); backdrop-filter: blur(4px); align-items: flex-end; justify-content: center; }
        @media (min-width: 768px) { #modal-container { align-items: center; } }
        #modal-content {
            background: var(--surface); border-radius: 32px 32px 0 0; width: 100%; max-width: 500px;
            padding: 32px; max-height: 90vh; overflow-y: auto; position: relative; transform: translateY(100%);
            animation: slideUp 0.5s var(--spring) forwards; box-shadow: 0 -10px 40px rgba(0,0,0,0.2); border-top: 1px solid var(--card-border);
        }
        @media (min-width: 768px) { #modal-content { border-radius: 24px; border: 1px solid var(--card-border); animation: scaleUp 0.4s var(--spring) forwards; } }
        @keyframes slideUp { to { transform: translateY(0); } }
        @keyframes scaleUp { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }

        /* --- SHIMMER TEXT & BOTÃO DE CONTATO --- */
        @keyframes shimmerText { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
        .animate-shimmer-text { background-size: 200% auto; animation: shimmerText 5s ease-in-out infinite; }
        .contact-button-model {
            width: 100%;
            min-height: 52px;
            padding: 12px 18px;
            font-size: 14px;
            font-weight: 650;
            letter-spacing: -0.01em;
            cursor: pointer;
            transition: transform 0.22s var(--spring), background 0.22s, border-color 0.22s, box-shadow 0.22s, color 0.22s;
        }
        .contact-button-model:hover { transform: translateY(-2px); }
        .contact-button-model:active { transform: scale(0.98); }
        .contact-button-model:focus-visible {
            outline: 2px solid rgba(248, 113, 113, 0.78);
            outline-offset: 3px;
        }
        .contact-button-gradient {
            color: #ffffff;
            background: linear-gradient(135deg, #ef4444, #991b1b);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 15px;
            box-shadow: 0 11px 27px rgba(185, 28, 28, 0.25);
        }
        .contact-button-gradient:hover {
            background: linear-gradient(135deg, #f87171, #b91c1c);
            box-shadow: 0 15px 32px rgba(185, 28, 28, 0.34);
        }
        /* --- AVALIAÇÕES --- */
        .reviews-track {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: minmax(255px, 84%);
            gap: 12px;
            padding: 3px 2px 9px;
            overflow-x: auto;
            overscroll-behavior-inline: contain;
            scroll-snap-type: inline mandatory;
            scrollbar-width: none;
        }
        .reviews-track::-webkit-scrollbar { display: none; }
        .review-card {
            min-height: 238px;
            display: flex;
            flex-direction: column;
            padding: 19px;
            background: var(--surface);
            border: 1px solid var(--card-border);
            border-radius: 24px;
            box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
            scroll-snap-align: start;
        }
        .review-card-top {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .review-stars {
            display: flex;
            gap: 2px;
            color: #fbbf24;
            font-size: 14px;
        }
        .review-quote {
            margin: 18px 0 22px;
            color: var(--text-main);
            font-size: 13px;
            font-weight: 500;
            line-height: 1.6;
        }
        .review-customer {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: auto;
            padding-top: 14px;
            border-top: 1px solid var(--divider);
        }
        .review-avatar {
            position: relative;
            width: 34px;
            height: 34px;
            display: inline-block;
            flex: 0 0 auto;
            padding: 0;
            color: #f87171;
            background: rgba(220, 38, 38, 0.1);
            border-radius: 11px;
            font-size: 16px;
            line-height: 1;
        }
        .review-avatar i {
            position: absolute;
            top: 50%;
            left: 50%;
            display: block;
            margin: 0;
            line-height: 1;
            transform: translate(-50%, -50%);
        }
        .review-avatar i::before {
            display: block;
            margin: 0;
            line-height: 1;
        }
        .review-customer strong,
        .review-customer span { display: block; }
        .review-customer strong {
            color: var(--text-main);
            font-size: 11px;
            font-weight: 650;
        }
        .review-customer div > span {
            margin-top: 2px;
            color: var(--text-muted);
            font-size: 9px;
        }
        .reviews-swipe-hint {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            color: var(--text-muted);
            font-size: 9px;
            font-weight: 500;
        }
        @media (min-width: 640px) {
            .reviews-track {
                grid-auto-flow: initial;
                grid-auto-columns: initial;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                overflow: visible;
            }
            .review-card { min-height: 260px; padding: 16px; }
            .reviews-swipe-hint { display: none; }
        }

        .faq-panel { transition: border-color 0.35s, box-shadow 0.35s; }
        .faq-panel:hover { border-color: rgba(255, 255, 255, 0.12); box-shadow: 0 24px 55px rgba(0, 0, 0, 0.16); }
        #faq-section:not(.is-visible) .faq-item { opacity: 0; }
        #faq-section.is-visible .faq-item { animation: faqRise 0.62s var(--spring) both; }
        #faq-section.is-visible .faq-item:nth-child(2) { animation-delay: 0.07s; }
        #faq-section.is-visible .faq-item:nth-child(3) { animation-delay: 0.14s; }
        #faq-section.is-visible .faq-item:nth-child(4) { animation-delay: 0.21s; }
        .faq-item { transition: background-color 0.3s; }
        .faq-item.is-open { background: rgba(220, 38, 38, 0.045); }
        .faq-item button > i { transition: transform 0.3s var(--spring), color 0.25s, scale 0.25s; }
        .faq-item button:hover > i,
        .faq-item.is-open button > i { color: #f87171; scale: 1.12; }
        @keyframes faqRise {
            from { opacity: 0; translate: 0 12px; }
            to { opacity: 1; translate: 0 0; }
        }

        .hero-cinematic {
            --tilt-x: 0deg;
            --tilt-y: 0deg;
            transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
            transform-style: preserve-3d;
            transition: transform 0.32s ease, border-color 0.35s, box-shadow 0.35s;
            will-change: transform;
        }
        .hero-cinematic:hover {
            border-color: rgba(239, 68, 68, 0.22);
            box-shadow: 0 32px 75px rgba(0, 0, 0, 0.34), 0 0 45px rgba(220, 38, 38, 0.07);
        }
        .hero-cinematic video { animation: heroBreathe 14s ease-in-out infinite alternate; }
        .hero-cinematic::after {
            content: '';
            position: absolute;
            z-index: 4;
            top: -45%;
            bottom: -45%;
            left: -28%;
            width: 13%;
            pointer-events: none;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.14), transparent);
            filter: blur(3px);
            transform: skewX(-18deg);
            animation: heroScan 6.5s 1s ease-in-out infinite;
        }
        .hero-kicker { animation: kickerPulse 3s ease-in-out infinite; }
        .hero-wordmark { animation: shimmerText 5s ease-in-out infinite, wordmarkFloat 4s ease-in-out infinite; }

        @keyframes heroBreathe { from { scale: 1; } to { scale: 1.055; } }
        @keyframes heroScan {
            0%, 58% { left: -28%; opacity: 0; }
            64% { opacity: 1; }
            84%, 100% { left: 118%; opacity: 0; }
        }
        @keyframes kickerPulse {
            0%, 100% { border-color: rgba(255,255,255,0.18); box-shadow: 0 0 0 rgba(220,38,38,0); }
            50% { border-color: rgba(248,113,113,0.38); box-shadow: 0 0 22px rgba(220,38,38,0.14); }
        }
        @keyframes wordmarkFloat {
            0%, 100% { translate: 0 0; }
            50% { translate: 0 -4px; }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
            .reveal-on-scroll,
            .reveal-on-scroll.is-visible,
            #avaliacao-section:not(.is-visible) #headlight-form > *,
            #faq-section:not(.is-visible) .faq-item {
                opacity: 1;
                transform: none;
                filter: none;
                translate: 0;
                scale: 1;
            }
            .hero-cinematic { transform: none !important; }
        }
    


