        /* Responsive base scale for root rem unit to support 4K/2K high resolutions and senior accessibility on mobile */
        html { font-size: 18px; } /* Mobile default - larger for seniors */
        @media (min-width: 640px) { html { font-size: 17px; } } /* Tablet */
        @media (min-width: 1024px) { html { font-size: 16px; } } /* Desktop Padrão */
        @media (min-width: 1440px) { html { font-size: 17px; } } /* Laptops 1080p+ */
        @media (min-width: 1920px) { html { font-size: 19px; } } /* Full HD / 2K */
        @media (min-width: 2560px) { html { font-size: 24px; } } /* QHD / 4K leve */
        @media (min-width: 3840px) { html { font-size: 32px; } } /* Ultra HD 4K */

        /* Custom Tooltip System for Desktop hover */
        .tooltip-custom {
            position: relative;
        }
        .tooltip-custom::after {
            content: attr(data-tooltip);
            position: absolute;
            bottom: 125%;
            left: 50%;
            transform: translateX(-50%) scale(0.95);
            background: #00223c;
            color: #fff;
            padding: 0.5rem 1rem;
            border-radius: 0.5rem;
            font-size: 0.85rem;
            font-weight: 600;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s, transform 0.2s;
            box-shadow: 0 4px 16px rgba(0,0,0,0.25);
            z-index: 100;
        }
        .tooltip-custom::before {
            content: '';
            position: absolute;
            bottom: 115%;
            left: 50%;
            transform: translateX(-50%);
            border-width: 6px;
            border-style: solid;
            border-color: #00223c transparent transparent transparent;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s;
            z-index: 100;
        }
        @media (hover: hover) {
            .tooltip-custom:hover::after {
                opacity: 1;
                transform: translateX(-50%) scale(1);
            }
            .tooltip-custom:hover::before {
                opacity: 1;
            }
        }

        /* Tooltip alignment for right-edge elements */
        .tooltip-right-align::after {
            left: auto !important;
            right: 0 !important;
            transform: scale(0.95) !important;
        }
        .tooltip-right-align::before {
            left: auto !important;
            right: 20px !important;
            transform: none !important;
        }
        @media (hover: hover) {
            .tooltip-right-align:hover::after {
                transform: scale(1) !important;
            }
        }

        body {
            font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }
        .font-extrabold { font-weight: 650 !important; }
        .hero-overlay { background: linear-gradient(135deg, rgba(0,25,45,0.94) 0%, rgba(0,80,160,0.88) 100%); }
        .photo-ring { border: 4px solid #0071CD; border-radius: 50%; padding: 5px; box-shadow: 0 8px 32px rgba(0,113,205,0.3); }
        .photo-ring img { border-radius: 50%; }
        .form-card { box-shadow: 0 20px 60px rgba(0,50,85,0.15); }
        .pulse-btn { animation: pulse 2s infinite; }
        @keyframes pulse {
            0%, 100% { box-shadow: 0 0 0 0 rgba(0,113,205,0.4); }
            50% { box-shadow: 0 0 0 12px rgba(0,113,205,0); }
        }
        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-8px); }
        }
        .float-btn {
            animation: float 3s ease-in-out infinite, pulse 2s infinite;
        }
        .benefit-icon { width: 48px; height: 48px; background: #EBF5FF; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
        .confetti { position: fixed; top: -10px; width: 10px; height: 10px; pointer-events: none; z-index: 100; }
        @keyframes confetti-fall { to { transform: translate(0, 100vh) rotate(720deg); opacity: 0; } }
        @keyframes button-flash { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
        .button-flash { animation: button-flash 0.6s ease-in-out; }
        @keyframes bounce-slow {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-8px); }
        }
        .animate-bounce-slow {
            animation: bounce-slow 3s infinite ease-in-out;
        }
        .email-error { border-color: #dc2626 !important; }
        .email-error-msg { color: #dc2626; font-size: 12px; margin-top: 4px; display: none; }
        .email-error-msg.show { display: block; }
        
        /* Social media brand colors */
        a:has(.instagram-hover):hover .instagram-hover { opacity: 1 !important; }
        a:has(.facebook-hover):hover .facebook-hover { opacity: 1 !important; }
        a:has(.linkedin-hover):hover .linkedin-hover { opacity: 1 !important; }
        a:has(.youtube-hover):hover .youtube-hover { opacity: 1 !important; }
        a:has(.spotify-hover):hover .spotify-hover { opacity: 1 !important; }
        
        /* Business Hours Widget & Sonar Animation */
        @keyframes closed-sonar {
            0% {
                box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
            }
            70% {
                box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
            }
            100% {
                box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
            }
        }

        .status-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            position: relative;
            flex-shrink: 0;
            transition: all 0.3s ease;
        }
        .status-dot.open {
            background-color: #10B981;
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse 2s infinite;
        }
        .status-dot.closed {
            background-color: #F59E0B;
            box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
            animation: closed-sonar 1.6s infinite ease-in-out;
        }

        .status-text {
            font-weight: 700;
            white-space: nowrap;
            transition: color 0.3s ease;
        }
        .status-text.open {
            color: #10B981;
        }
        .status-text.closed {
            color: #F59E0B;
        }

        .horario-list .current-day {
            background: rgba(255, 255, 255, 0.08) !important;
            border-radius: 8px !important;
            border-left: 4px solid #F59E0B !important;
            padding-left: 10px !important;
            padding-right: 10px !important;
            margin: 2px 0 !important;
        }
        .horario-list .current-day span {
            color: #ffffff !important;
            font-weight: 700 !important;
        }

        /* Hours overlay animation */
        #hours-content {
            transition: opacity 0.3s ease, transform 0.3s ease;
            opacity: 0;
            transform: translateY(10px);
            pointer-events: none;
        }
        #hours-content:not(.hidden) {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }
        
        /* Units panel styling constraints removed for auto-scaling height */
        
        /* Mobile optimization - layout scaling and spacing */
        @media (max-width: 767px) {
            .benefit-icon { width: 48px !important; height: 48px !important; }
            .benefit-icon i { width: 24px !important; height: 24px !important; }
            
            #lead-form input,
            #lead-form select { padding: 16px 18px !important; }
            #lead-form > div { margin-bottom: 20px !important; }
            [data-template-id="submit-btn"] { padding: 18px 32px !important; margin-top: 24px !important; }
            
            [data-template-id="footer-directions-btn"],
            [data-template-id="footer-phone"] { padding: 18px 22px !important; }
            
            /* Button and touch target improvements */
            #units-toggle,
            #hours-toggle { padding: 16px 20px !important; }
            
            /* Section spacing on mobile */
            section { padding-left: 16px !important; padding-right: 16px !important; }
            
            /* Form card padding improvement for mobile spacing */
            [data-template-id="form-card"] { padding: 24px 20px !important; }
            
            /* Form and benefits gap */
            [id="lead-form"] { gap: 14px !important; }
            .flex.flex-col.gap-6 { gap: 20px !important; }
        }

        /* Segmentação de Intenção Cards */
        .card-segmentacao {
            border: 2px solid #E2E8F0;
            transition: all 0.25s ease;
        }
        .card-segmentacao:hover {
            border-color: #0071CD;
            transform: translateY(-2px);
            box-shadow: 0 12px 24px -6px rgba(0, 113, 205, 0.12);
        }
        .card-segmentacao.active {
            border-color: #0071CD !important;
            background-color: #F0F7FF !important;
            box-shadow: 0 12px 28px -6px rgba(0, 113, 205, 0.22) !important;
            transform: translateY(-2px);
        }
