#banner {
    position: relative;
  }

  .carousel {
    position: relative;
  }

  .slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.05);
  }

  .slide.active {
    opacity: 1;
    z-index: 2;
  }

  /* Banner mobile: mostra a imagem inteira, sem cortar */
  #banner-mobile .carousel {
    display: grid;
  }
  #banner-mobile .slide {
    grid-column: 1;
    grid-row: 1;
    position: static;
    inset: auto;
  }
 * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: 'Open Sans', sans-serif; padding-top: 120px; }

    /* Nav link hover underline */
    .nav-link {
      position: relative;
      transition: color 0.3s ease;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 2px;
      background-color: #E8541A;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after { width: 100%; }
    .nav-link:hover { color: #E8541A; }

    /* Social icon hover */
    .social-icon {
      transition: color 0.3s ease, transform 0.3s ease;
    }
    .social-icon:hover {
      color: #E8541A !important;
      transform: translateY(-2px);
    }

    /* Matricule-se button */
    .btn-matricula {
      transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    }
    .btn-matricula:hover {
      background-color: #1B3A6B !important;
      transform: translateY(-1px);
      box-shadow: 0 4px 15px rgba(232, 84, 26, 0.4);
    }

    /* Top bar items */
    .topbar-item {
      transition: color 0.3s ease;
    }
    .topbar-item:hover { color: #E8541A; }

    /* Scrolled nav shadow */
    #main-nav {
      transition: box-shadow 0.4s ease;
    }
    #main-nav.scrolled {
      box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    }