 :root {
     --primary-color: #000000;
     --secondary-color: #ffffff;
     --accent-color: #ff6b35;
     --text-light: #666666;
     --overlay-dark: rgba(0, 0, 0, 0.6);
     --overlay-light: rgba(0, 0, 0, 0.3);
 }

 html,
 body {
     margin: 0;
     padding: 0;
     height: 100%;
     width: 100%;
     overflow: hidden;
     font-family: 'Inter', sans-serif;
     background: var(--primary-color);
     color: var(--secondary-color);
 }

 .header {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     padding: 20px 40px;
     z-index: 1000;
     height: 80px;
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 /* Logo no canto superior esquerdo */
 .header-logo {
     height: 40px;
     width: auto;
     object-fit: contain;
 }

 .header h1 {
     font-family: 'Inter', sans-serif;
     font-weight: 900;
     font-size: clamp(1.5rem, 4vw, 2.5rem);
     color: var(--secondary-color);
     margin: 0;
     text-transform: uppercase;
     letter-spacing: -0.02em;
     line-height: 0.9;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
 }

 /* Botão de contato WhatsApp no canto superior direito */
 .contact-btn {
     background: rgba(0, 0, 0, 0.9);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: 25px;
     padding: 12px 20px;
     color: var(--secondary-color);
     font-family: 'Inter', sans-serif;
     font-weight: 600;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     cursor: pointer;
     transition: all 0.3s ease;
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 8px;
 }

 .contact-btn:hover {
     background: rgba(255, 255, 255, 0.2);
     transform: translateY(-2px);
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
 }

 /* Responsividade */
 @media (max-width: 768px) {
     .header {
         padding: 15px 20px;
         height: 60px;
     }

     .header-logo {
         height: 60px !important;
         /* Aumentado para 60px com !important */
     }

     .contact-btn {
         padding: 8px 15px;
         font-size: 0.8rem;
     }

     .social-links {
         bottom: 20px;
         gap: 15px;
     }

     .social-link {
         width: 40px;
         height: 40px;
     }

     .social-link svg {
         width: 20px;
         height: 20px;
     }
 }

 /* Logo no canto superior esquerdo */
 .header-logo {
     height: 100px;
     width: auto;
     object-fit: contain;
 }

 .header h1 {
     font-family: 'Inter', sans-serif;
     font-weight: 900;
     font-size: clamp(1.5rem, 4vw, 2.5rem);
     color: var(--secondary-color);
     margin: 0;
     text-transform: uppercase;
     letter-spacing: -0.02em;
     line-height: 0.9;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
 }

 /* Links de redes sociais no centro inferior */
 .social-links {
     position: absolute;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     gap: 20px;
     z-index: 1000;
 }

 .social-link {
     background: rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: 50%;
     width: 50px;
     height: 50px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     transition: all 0.3s ease;
     cursor: pointer;
 }

 .social-link:hover {
     background: rgba(255, 255, 255, 0.2);
     transform: translateY(-3px);
     box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
 }

 .social-link svg {
     width: 24px;
     height: 24px;
     fill: white;
 }

 .container {
     position: relative;
     width: 100vw;
     height: 100vh;
     overflow: hidden;
 }

 .map-container {
     position: absolute;
     inset: 0;
     overflow: hidden;
     cursor: pointer;
     z-index: 10;
 }

 .map-container::after {
     content: '';
     position: absolute;
     inset: 0;
     z-index: 1;
     pointer-events: none;
 }

 .map-inner {
     position: relative;
     width: 100%;
     height: 100%;
     transform-origin: center center;
     will-change: transform, filter;
 }

 .map-image {
     width: 110%;
     height: 110%;
     object-fit: cover;
     display: block;
     position: absolute;
     top: -5%;
     left: -5%;
     filter: brightness(0.7) contrast(1.1);
 }

 .map-point-wrapper {
     position: absolute;
     display: flex;
     flex-direction: column;
     align-items: center;
     transform: translate(-50%, -50%);
     cursor: pointer;
     z-index: 5;
 }

 .map-label {
     font-size: clamp(0.9rem, 2vw, 1.2rem);
     background: rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.2);
     color: var(--secondary-color);
     padding: 12px 20px;
     border-radius: 50px;
     margin-bottom: 10px;
     font-family: 'Inter', sans-serif;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
     transition: all 0.3s ease;
     white-space: nowrap;
 }

 .map-line {
     width: 2px;
     height: 25px;
     background: var(--secondary-color);
     box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
 }

 .map-point {
     width: 50px;
     height: 50px;
     background: var(--accent-color);
     color: var(--secondary-color);
     font-size: 1.2rem;
     font-weight: 800;
     border-radius: 50%;
     border: 3px solid var(--secondary-color);
     transition: all 0.3s ease;
     font-family: 'Inter', sans-serif;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 10px 30px rgba(255, 107, 53, 0.4);
 }

 .map-point:hover {
     transform: scale(1.1);
     box-shadow: 0 15px 40px rgba(255, 107, 53, 0.6);
     background: #e55a2b;
 }

 .map-label:hover {
     transform: scale(1.05);
     background: rgba(255, 255, 255, 0.15);
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
 }

 .map-point-wrapper:hover .map-line {
     box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
 }

 /* Efeito de pulsação nos pontos */
 @keyframes pulse {
     0% {
         box-shadow: 0 10px 30px rgba(255, 107, 53, 0.4), 0 0 0 0 rgba(255, 107, 53, 0.7);
     }

     70% {
         box-shadow: 0 10px 30px rgba(255, 107, 53, 0.4), 0 0 0 10px rgba(255, 107, 53, 0);
     }

     100% {
         box-shadow: 0 10px 30px rgba(255, 107, 53, 0.4), 0 0 0 0 rgba(255, 107, 53, 0);
     }
 }

 .map-point {
     animation: pulse 2s infinite;
 }

 @media (max-width: 768px) {
     .header {
         padding: 15px 20px;
         height: 70px;
     }

     .header h1 {
         font-size: clamp(1.2rem, 5vw, 1.8rem);
     }

     .map-label {
         font-size: clamp(0.8rem, 3vw, 1rem);
         padding: 10px 16px;
     }

     .map-point {
         width: 40px;
         height: 40px;
         font-size: 1rem;
     }

     .map-line {
         height: 20px;
     }
 }

 /* Animação de entrada */
 .map-point-wrapper {
     opacity: 0;
     transform: translate(-50%, -50%) scale(0.8);
     animation: fadeInScale 0.8s ease forwards;
 }

 .map-point-wrapper:nth-child(2) {
     animation-delay: 0.2s;
 }

 .map-point-wrapper:nth-child(3) {
     animation-delay: 0.4s;
 }

 .map-point-wrapper:nth-child(4) {
     animation-delay: 0.6s;
 }

 @keyframes fadeInScale {
     to {
         opacity: 1;
         transform: translate(-50%, -50%) scale(1);
     }
 }

 .contact-btn svg {
     width: 18px;
     height: 18px;
     fill: white;
 }