    .hero-contact {
      position: relative;
      min-height: 620px;
      display: flex;
      align-items: center;
      padding: 10px 0 20px;
      background-image: linear-gradient(to right, rgba(10,16,32,0.85) 0%, rgba(10,16,32,0.70) 100%), url('../img/fundo_8.png');
      background-size: cover;
      background-position: center center;
      text-align: center;
      color: #fff;
    }
    .hero-contact h1 {
      font-size: 48px;
      font-weight: 900;
      margin-bottom: 15px;
      text-transform: uppercase;
    }
    .hero-contact p {
      font-size: 16px;
      opacity: 0.8;
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.6;
    }

    /* ── OVERLAPPING CONTACT CARD ── */
    .contact-card-wrapper {
      position: relative;
      margin-top: -100px; /* Overlap hero */
      z-index: 10;
      padding: 0 20px;
      margin-bottom: 0; /* No margin bottom because map follows */
    }
    .contact-card {
      max-width: 1100px;
      margin: 0 auto;
      background: #fff;
      border-radius: 20px;
      box-shadow: 0 30px 60px rgba(0,0,0,0.1);
      display: grid;
      grid-template-columns: 4fr 6fr;
      overflow: hidden;
    }
    
    .contact-info-side {
      background: #f8fafc;
      padding: 50px 40px;
      border-right: 1px solid #e2e8f0;
    }
    .contact-info-side h2 {
      font-size: 28px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 15px;
    }
    .contact-info-side p.desc {
      font-size: 14px;
      color: #64748b;
      margin-bottom: 40px;
      line-height: 1.6;
    }
    
    .info-item {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 30px;
    }
    .info-icon {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(255,102,0,0.1);
      color: #ff6600;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      flex-shrink: 0;
    }
    .info-content h4 {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 5px;
    }
    .info-content p {
      font-size: 14px;
      color: #64748b;
      line-height: 1.5;
    }
    
    .contact-socials {
      margin-top: 40px;
    }
    .contact-socials h4 {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 15px;
    }
    .contact-socials-links {
      display: flex;
      gap: 12px;
    }
    .contact-socials-links a {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #0f172a;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      transition: background 0.3s;
    }
    .contact-socials-links a:hover {
      background: #ff6600;
    }

    .contact-form-side {
      padding: 50px 40px;
      background: #fff;
    }
    .contact-form-side h2 {
      font-size: 28px;
      font-weight: 800;
      color: #0f172a;
      margin-bottom: 30px;
    }
    
    .contact-form .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }
    .contact-form .form-group {
      margin-bottom: 20px;
    }
    .contact-form label {
      display: block;
      font-size: 13px;
      font-weight: 600;
      color: #475569;
      margin-bottom: 8px;
    }
    .contact-form input,
    .contact-form select,
    .contact-form textarea {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      font-family: inherit;
      font-size: 14px;
      color: #0f172a;
      background: #f8fafc;
      transition: all 0.3s;
    }
    .contact-form input:focus,
    .contact-form select:focus,
    .contact-form textarea:focus {
      outline: none;
      border-color: #ff6600;
      background: #fff;
      box-shadow: 0 0 0 3px rgba(255,102,0,0.1);
    }
    .contact-form button {
      width: 100%;
      padding: 14px;
      background: #0f172a;
      color: #fff;
      border: none;
      border-radius: 8px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      transition: background 0.3s;
      margin-top: 10px;
    }
    .contact-form button:hover {
      background: #ff6600;
    }

    /* ── FULL WIDTH MAP ── */
    .map-section {
      width: 100%;
      height: 450px;
      margin-top: 50px; /* Space between card and map */
    }
    .map-section iframe {
      width: 100%;
      height: 100%;
      border: 0;
    }

    @media (max-width: 900px) {
      .contact-card {
        grid-template-columns: 1fr;
      }
      .contact-info-side {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
      }
    }
    @media (max-width: 600px) {
      .hero-contact { min-height: 350px; padding: 60px 0 30px; }
      .hero-contact h1 { font-size: 34px; }
      .contact-form .form-row { grid-template-columns: 1fr; }
      .contact-card-wrapper { margin-top: -60px; }
    }