    *, *::before, *::after { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: 'Trebuchet MS', Arial, sans-serif;
      background-color: #2d2b2b;
      color: white;
      line-height: 1.5;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    a { text-decoration: none; color: white; transition: color 0.3s ease; }
    a:hover, a:focus { color: #28a745; outline: none; }
    html {
      scroll-behavior: smooth;
    }
    body {
      background-color: #1b1b1b;
      color: #f4f4f4;
      line-height: 1.6;
    }

    header {
      background-color: #2d2b2b;
      padding: 10px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid #383838;
      position: sticky;
      top: 0;
      z-index: 1000;
    }
    .logo img { height: 40px; width: auto; }
    .btn-planos {
      background-color: #28a745;
      border: none;
      color: white;
      padding: 10px 20px;
      border-radius: 8px;
      font-size: 1.1rem;
      cursor: pointer;
      font-weight: 500;
      transition: background-color 0.3s ease;
      white-space: nowrap;
    }
    .btn-planos:hover, .btn-planos:focus { background-color: #33ad67; outline: none; }

    nav ul {
      list-style: none;
      display: flex;
      gap: 32px;
      margin: 0;
      padding: 0;
      font-size: 1.1rem;
    }
    nav ul li a { padding: 6px 4px; }
    nav ul li a:hover, nav ul li a:focus { color: #28a745; }

    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      margin-left: auto;
      margin-right: 20px;
    }
    .hamburger span {
      width: 25px;
      height: 3px;
      background: white;
      border-radius: 5px;
      transition: 0.3s;
    }
    .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
    .hamburger.active span:nth-child(2) { opacity: 0; }
    .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

    @media (max-width: 767px) {
      nav {
        position: absolute;
        top: 60px;
        right: 20px;
        background: #2d2b2b;
        border-radius: 8px;
        padding: 10px 20px;
        display: none;
        flex-direction: column;
        gap: 16px;
      }
      nav.active { display: flex; }
      nav ul { flex-direction: column; gap: 16px; }
      .hamburger { display: flex; }
      .btn-planos { margin-left: 10px; }
    }
    @media (min-width: 768px) {
      nav { position: static; display: flex !important; flex-direction: row; background: none; padding: 0; }
      nav ul { flex-direction: row; gap: 32px; }
      .hamburger { display: none; }
    }


    /* ============ */
    .historia-container {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      gap: 30px;
      padding: 40px 20px;
      max-width: 1200px;
      margin: auto;
      flex-wrap: wrap;
    }

    .card-historia {
      background-color: #242424;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
      flex: 1 1 450px;
      min-width: 300px;
    }
    .card-historia h2 {
      font-size: 28px;
      margin-bottom: 15px;
    }
    .card-historia h2 span {
      color: #28a745;
    }
    .card-historia p {
      font-size: 16px;
      margin-bottom: 25px;
    }

    .btns {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .btns a {
      background-color: #28a745;
      color: #fff;
      padding: 10px 20px;
      border-radius: 25px;
      text-decoration: none;
      font-weight: bold;
      transition: 0.3s;
    }
    .btns a:hover {
      background-color: #289054;
    }

    .card-conhecer {
      flex: 1 1 450px;
      min-width: 300px;
    }
    .card-conhecer h2 {
      background-color: #242424;
      display: inline-block;
      padding: 10px 20px;
      border-radius: 8px;
      margin-bottom: 20px;
      font-size: 24px;
    }
    .card-conhecer h2 span {
      color: #28a745;
    }
    .card-conhecer p {
      margin-bottom: 15px;
      font-size: 16px;
    }
  .card-conhecer img {
    width: 100%;
    max-width: 400px; /* 🔥 limita a largura no PC */
    border-radius: 10px;
    margin: 15px auto; /* 🔥 centraliza horizontalmente */
    display: block;
    }

    .espaco-container {
      text-align: center;
      padding: 50px 20px;
      background-color: rgb(19, 17, 17);
    }
    .espaco-container h2 {
      font-size: 28px;
      margin-bottom: 30px;
    }
    .espaco-container h2 span {
      color: #28a745;
    }

    .galeria {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
    }
    .galeria img {
      width: 220px;      
      height: 160px;    
      object-fit: cover;
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
      transition: transform 0.3s;
    }
    .galeria img:hover {
      transform: scale(1.05);
    }

    @media (max-width: 768px) {
      .historia-container {
        flex-direction: column;
        align-items: center;
      }
      .card-historia, .card-conhecer {
        text-align: center;
      }
      .btns {
        justify-content: center;
      }
      .card-conhecer h2 {
        text-align: center;
      }
      .galeria img {
        width: 100%;
        max-width: 300px;
        height: 200px;
      }
    }
      :root{
    --item-w-desktop: 250px;
    --item-h-desktop: 320px;
    --gap: 18px;
    --transition: 450ms cubic-bezier(.22,.9,.28,1);
  }

  .carousel-container{
    background: #242424;             
    padding: 56px 16px;
    text-align: center;
  }
  .carousel-container h2{
    color: #fff;
    margin: 0 0 22px;
    font-size: 28px;
  }
  .carousel-container h2 span{ 
    color:#28a745 
  }
  .carousel{
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .carousel-viewport{
    overflow: hidden;
    width:100%;
  }
  .carousel-track{
    display:flex;
    align-items:center;
    gap: var(--gap);
    will-change: transform;
  }
  .carousel-item{
    flex: 0 0 var(--item-w-desktop);
    height: var(--item-h-desktop);
    border-radius: 12px;
    overflow: hidden;
    filter: brightness(.38);            
    transform-origin: center center;
    transition: transform 250ms ease, filter 250ms ease;
    display:flex;
  }
  .carousel-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .carousel-item.active{
    transform: scale(1.16);
    filter: brightness(1);
    z-index: 5;
    transition: transform 300ms cubic-bezier(.22,.9,.28,1), filter 300ms ease;
  }
  .carousel-button{
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(0,0,0,.55);
    color: #33ad67;
    width:44px;
    height:44px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    z-index: 10;
  }
  .carousel-button.prev{ left:8px }
  .carousel-button.next{ right:8px }
  .carousel-viewport::-webkit-scrollbar{ display:none }

  @media (max-width: 900px){
    :root{
      --item-w-desktop: 200px;
      --item-h-desktop: 260px;
    }
  }
  @media (max-width: 700px){
    :root{
      --item-w-desktop: 70%;
      --item-h-desktop: calc(var(--item-w-desktop) * 1.2);
      --gap: 12px;
    }
    .carousel-button{ display: none } 
  }