:root {
    --primary-green: #009688;
    --hero-start:   #0274be;
    --hero-end:     #863788;
    --text-color:   #4B4F58;
    --light-gray:   #f5f5f5;
  }
  
  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-color);
    line-height: 1.6;
  }
  
  /* Container centralizado */
  .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  /* ======= HEADER & NAV ======= */
  .site-header { background: #fff; }
  .site-header .container {
    display: flex;
    align-items: center;
    padding: 0;
  }
  .logo img { height: 40px; }
  .main-nav {
    flex: 1;
    background: var(--primary-green);
    margin-left: 1rem;
  }
  .main-nav ul {
    display: flex;
    justify-content: space-around;
    list-style: none;
    height: 100%;
  }
  .main-nav a {
    display: block;
    padding: 1rem 0;
    color: #fff;
    text-decoration: none;
    text-align: center;
  }
  
  /* ======= HERO ======= */
  .hero {
    background: linear-gradient(100deg, var(--hero-start) 0%, var(--hero-end) 100%);
    color: #fff;
    padding: 4em 0;
  }
  .hero__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2em;
  }
  .hero__text h1 { font-size: 2.5rem; margin-bottom: 1rem; }
  .btn {
    display: inline-block;
    background: #1e92e0;
    color: #fff;
    padding: 0.8em 2em;
    border-radius: 50px;
    text-decoration: none;
  }
  .hero__image img { width: 100%; max-width: 500px; }
  
  /* ======= SERVICES ======= */
  .services-overview {
    padding: 4em 0;
  }
  .services-overview .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
    gap: 2em;
  }
  .services-overview article { text-align: center; }
  .services-overview img { width: 40px; margin-bottom: 1em; }
  
  /* ======= SOBRE NÓS ======= */
  .about {
    padding: 4em 0;
  }
  .about .container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2em;
  }
  .about__image img { width: 200px; }
  .about__text { flex: 1; }
  .section-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-color);
    text-transform: uppercase;
    margin-bottom: 0.5rem;
  }
  .about__text h2 { margin-bottom: 0.5em; }
  
  /* ======= NOSSAS COMPETÊNCIAS ======= */
  .why-choose {
    padding: 4em 0;
  }
  .why-choose .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2em;
  }
  .why-choose__image img { width: 200px; }
  .why-choose__text h2 { margin-bottom: 0.5em; }
  
  /* ======= RESPONSABILIDADE SOCIAL ======= */
  .responsibility {
    background: var(--light-gray);
    padding: 3em 0;
    text-align: center;
  }
  .responsibility .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
  }
  .responsibility h2 { font-size: 2rem; margin-bottom: 1em; }
  .responsibility p { line-height: 1.5; }
  
  /* ======= PARCEIROS ======= */
  .partners {
    padding: 3em 0;
    text-align: center;
  }
  .partners .container { padding: 0 1rem; }
  .partners h2 { margin-bottom: 0.5em; }
  .partners p { max-width: 800px; margin: 0 auto 2em; line-height: 1.5; }
  .partner-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em;
  }
  .partner-logos img { max-height: 80px; width: auto; }
  
  /* ======= FOOTER ======= */
  .site-footer {
    background: var(--light-gray);
    padding: 2em 0;
    text-align: center;
  }
  .site-footer .social {
    display: flex;
    justify-content: center;
    gap: 1rem;
    align-items: center;
  }
  .site-footer .social img { width: 24px; display: block; }
  .footer-contact {
    margin: 1.5rem 0;
    font-style: normal;
    text-align: center;
  }
  .footer-contact p { margin: 0.25rem 0; }
  .footer-contact a { color: var(--text-color); text-decoration: underline; }
  
  /* ======= RESPONSIVIDADE ======= */
  @media (max-width: 992px) {
    .hero__text h1 { font-size: 2rem; }
  }
  @media (max-width: 768px) {
    .main-nav { position: absolute; top: 100%; left: 0; width: 100%; display: none; }
    body.nav-open .main-nav { display: block; }
    .main-nav ul { flex-direction: column; }
    .main-nav a { padding: 1rem 1.5rem; }
  
    .hero__inner { flex-direction: column-reverse; text-align: center; }
  
    /* Services */
    .services-overview .container { grid-template-columns: 1fr; }
  
    /* Sobre Nós */
    .about .container { flex-direction: column; text-align: center; padding: 0 1rem; }
    .about__image img { margin: 0 auto; }
  
    /* Competências */
    .why-choose .container { flex-direction: column; text-align: center; padding: 0 1rem; }
    .why-choose__image img { margin: 0 auto; }
  }