
    :root {
      --green-dark: #173f24;
      --green-main: #2f7d32;
      --green-light: #8cc63f;
      --green-soft: #eef7ec;
      --gold: #d4a72c;
      --text: #1f2933;
      --muted: #667085;
      --white: #ffffff;
      --shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
      --radius: 22px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      background: #ffffff;
      line-height: 1.6;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(23, 63, 36, 0.08);
    }

    .nav {
      max-width: 1180px;
      margin: 0 auto;
      padding: 10px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 800;
      color: var(--green-dark);
      letter-spacing: -0.02em;
    }

    .brand img,
    .brand-logo {
      width: 78px;
      height: 78px;
      object-fit: contain;
      display: block;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 22px;
      font-size: 0.94rem;
      color: #344054;
      font-weight: 600;
    }

    .nav-links a:hover {
      color: var(--green-main);
    }

    .nav-dropdown {
      position: relative;
      display: flex;
      align-items: center;
    }

    .dropdown-menu {
      position: absolute;
      top: 28px;
      left: 50%;
      transform: translateX(-50%) translateY(10px);
      min-width: 310px;
      padding: 12px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: 0 20px 45px rgba(15, 45, 26, 0.16);
      border: 1px solid rgba(23, 63, 36, 0.08);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: all 0.22s ease;
    }

    .nav-dropdown:hover .dropdown-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }

    .dropdown-menu a {
      display: block;
      padding: 11px 12px;
      border-radius: 12px;
      color: #344054;
      font-size: 0.9rem;
      font-weight: 700;
    }

    .dropdown-menu a:hover {
      background: var(--green-soft);
      color: var(--green-dark);
    }

    .nav-contact {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .phone {
      color: var(--green-dark);
      font-weight: 800;
      font-size: 0.95rem;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 13px 20px;
      border-radius: 999px;
      background: var(--green-main);
      color: var(--white);
      font-weight: 800;
      border: none;
      box-shadow: 0 12px 28px rgba(47, 125, 50, 0.25);
      transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
      background: var(--green-dark);
      box-shadow: 0 18px 36px rgba(23, 63, 36, 0.28);
    }

    .btn.secondary {
      background: rgba(255, 255, 255, 0.15);
      color: var(--white);
      border: 1px solid rgba(255, 255, 255, 0.35);
      box-shadow: none;
    }

    .hero {
      min-height: 100vh;
      padding: 130px 24px 110px;
      display: flex;
      align-items: center;
      position: relative;
      overflow: visible;
      background:
        linear-gradient(105deg, rgba(15, 45, 26, 0.92) 0%, rgba(15, 45, 26, 0.78) 43%, rgba(15, 45, 26, 0.2) 100%),
        url('../images/imagem-006.webp') center/cover no-repeat;
      color: var(--white);
    }

    .hero::after {
      content: "";
      position: absolute;
      right: -120px;
      bottom: -150px;
      width: 420px;
      height: 420px;
      background: radial-gradient(circle, rgba(140, 198, 63, 0.36), rgba(140, 198, 63, 0));
      pointer-events: none;
    }

    .hero-inner {
      max-width: 1180px;
      width: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 56px;
      align-items: center;
      position: relative;
      z-index: 1;
      overflow: visible;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      color: #e7ffd9;
      font-size: 0.85rem;
      font-weight: 800;
      margin-bottom: 22px;
      border: 1px solid rgba(255, 255, 255, 0.18);
    }

    .hero h1 {
      font-size: clamp(2.45rem, 5vw, 5rem);
      line-height: 0.98;
      letter-spacing: -0.06em;
      max-width: 760px;
      margin-bottom: 22px;
    }

    .hero h1 span {
      color: #b8ee70;
    }

    .hero p {
      font-size: clamp(1.05rem, 1.6vw, 1.28rem);
      max-width: 650px;
      color: rgba(255, 255, 255, 0.88);
      margin-bottom: 30px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-bottom: 36px;
    }
    /* ========================= */
    /* MÉTRICAS */
    /* ========================= */

    .metrics-strip {
      width: 100%;
      max-width: 1200px;
      margin: -90px auto 70px auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      position: relative;
      z-index: 20;
      padding: 0 24px;
    }

    .metric-card {
      background: rgba(74, 98, 72, 0.42);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.30);
      border-radius: 30px;
      padding: 34px;
      box-shadow: 0 18px 40px rgba(0,0,0,0.14);
      transition: 0.35s ease;
      overflow: hidden;
      position: relative;
    }

    .metric-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(
        120deg,
        rgba(255,255,255,0.10),
        transparent,
        rgba(255,255,255,0.05)
      );
      pointer-events: none;
    }

    .metric-card:hover {
      transform: translateY(-8px);
      background: rgba(74, 98, 72, 0.50);
    }

    .metric-label {
      display: block;
      color: rgba(255,255,255,0.92);
      font-size: 1.05rem;
      font-weight: 500;
      line-height: 1.5;
      margin-bottom: 20px;
      position: relative;
      z-index: 1;
    }

    .metric-number {
      display: block;
      color: #d8ff89;
      font-size: 4rem;
      font-weight: 800;
      line-height: 1;
      letter-spacing: -2px;
      position: relative;
      z-index: 1;
    }

    .metric-number.small {
      font-size: 3rem;
    }


    .hero-card {
      background: rgba(255, 255, 255, 0.93);
      color: var(--text);
      border-radius: 30px;
      padding: 20px;
      box-shadow: var(--shadow);
      transform: translateY(20px);
    }

    .hero-card img {
      width: 100%;
      height: 350px;
      object-fit: cover;
      border-radius: 22px;
      display: block;
    }

    .hero-card-content {
      padding: 18px 8px 6px;
    }

    .hero-card h3 {
      color: var(--green-dark);
      font-size: 1.25rem;
      margin-bottom: 8px;
    }

    .hero-card p {
      color: var(--muted);
      font-size: 0.96rem;
      margin-bottom: 0;
    }

    section {
      padding: 86px 24px;
    }

    .container {
      max-width: 1180px;
      margin: 0 auto;
    }

    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 24px;
      margin-bottom: 34px;
    }

    .section-kicker {
      color: var(--green-main);
      font-weight: 900;
      text-transform: uppercase;
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      margin-bottom: 8px;
    }

    .section-head h2,
    .center-head h2 {
      font-size: clamp(2rem, 3.6vw, 3.4rem);
      line-height: 1.05;
      letter-spacing: -0.05em;
      color: var(--green-dark);
      max-width: 760px;
    }

    .section-head p {
      max-width: 420px;
      color: var(--muted);
      font-size: 1.02rem;
    }

    .services {
      background: linear-gradient(180deg, #ffffff, var(--green-soft));
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }

    .service-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: 0 12px 35px rgba(23, 63, 36, 0.08);
      border: 1px solid rgba(23, 63, 36, 0.08);
      transition: transform 0.28s ease, box-shadow 0.28s ease;
    }

    .service-card:hover {
      transform: translateY(-7px);
      box-shadow: 0 22px 45px rgba(23, 63, 36, 0.16);
    }

    .service-card img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      display: block;
    }

    .service-card .content {
      padding: 22px;
    }

    .service-card h3 {
      font-size: 1.18rem;
      color: var(--green-dark);
      margin-bottom: 8px;
    }

    .service-card p {
      color: var(--muted);
      font-size: 0.96rem;
      margin-bottom: 16px;
    }

    .service-card a {
      color: var(--green-main);
      font-weight: 900;
      font-size: 0.95rem;
    }

    .clients {
      background: var(--green-dark);
      color: var(--white);
    }

    .clients .section-kicker,
    .clients h2 {
      color: #c9ff8a;
    }

    .clients p {
      color: rgba(255,255,255,0.76);
    }

    .logo-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 16px;
      margin-top: 28px;
    }

    .client-logo {
      min-height: 120px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.16);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    .client-logo:hover {
      transform: translateY(-4px);
      background: #ffffff;
    }

    .client-logo img {
      max-width: 100%;
      max-height: 78px;
      object-fit: contain;
      display: block;
    }

    .about-grid {
      display: grid;
      grid-template-columns: 0.9fr 1.1fr;
      gap: 44px;
      align-items: center;
    }

    .about-images {
      display: grid;
      grid-template-columns: 1fr 0.82fr;
      gap: 16px;
      align-items: end;
    }

    .about-images img {
      width: 100%;
      object-fit: cover;
      border-radius: 26px;
      box-shadow: var(--shadow);
    }

    .about-images img:first-child {
      height: 460px;
    }

    .about-images img:last-child {
      height: 330px;
    }

    .about-text h2 {
      font-size: clamp(2rem, 3.6vw, 3.35rem);
      line-height: 1.06;
      letter-spacing: -0.05em;
      color: var(--green-dark);
      margin-bottom: 20px;
    }

    .about-text p {
      color: var(--muted);
      margin-bottom: 16px;
      font-size: 1.04rem;
    }

    .highlight-box {
      margin-top: 24px;
      padding: 22px;
      border-radius: 22px;
      background: var(--green-soft);
      border-left: 5px solid var(--green-main);
    }

    .highlight-box strong {
      display: block;
      color: var(--green-dark);
      font-size: 1.08rem;
      margin-bottom: 6px;
    }

    .contact {
      background:
        linear-gradient(105deg, rgba(23, 63, 36, 0.94), rgba(23, 63, 36, 0.78)),
        url('../images/imagem-004.webp') center/cover no-repeat;
      color: var(--white);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 0.95fr;
      gap: 44px;
      align-items: center;
    }

    .contact h2 {
      font-size: clamp(2.2rem, 4vw, 4rem);
      line-height: 1.02;
      letter-spacing: -0.05em;
      margin-bottom: 18px;
    }

    .contact p {
      color: rgba(255, 255, 255, 0.82);
      font-size: 1.1rem;
      margin-bottom: 22px;
    }

    .contact-list {
      display: grid;
      gap: 12px;
      margin-top: 24px;
    }

    .contact-item {
      padding: 16px 18px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.14);
      font-weight: 700;
    }

    form {
      background: rgba(255, 255, 255, 0.95);
      color: var(--text);
      padding: 26px;
      border-radius: 28px;
      box-shadow: var(--shadow);
    }

    form h3 {
      color: var(--green-dark);
      font-size: 1.45rem;
      margin-bottom: 16px;
    }

    input, textarea, select {
      width: 100%;
      padding: 15px 16px;
      border-radius: 14px;
      border: 1px solid #d0d5dd;
      margin-bottom: 12px;
      font: inherit;
      outline: none;
    }

    textarea {
      min-height: 110px;
      resize: vertical;
    }

    footer {
      background: #0f2d1a;
      color: rgba(255,255,255,0.76);
      padding: 46px 24px;
    }

    .footer-grid {
      max-width: 1180px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.2fr 0.9fr 0.9fr 0.9fr;
      gap: 28px;
    }

    .footer-brand img {
      width: 120px;
      background: white;
      padding: 8px;
      border-radius: 14px;
      margin-bottom: 16px;
    }

    .footer-brand strong {
      color: #d9ff9c;
      display: block;
      font-size: 1.2rem;
      margin-bottom: 8px;
    }

    footer h4 {
      color: #ffffff;
      margin-bottom: 12px;
    }

    footer a {
      display: block;
      margin-bottom: 8px;
    }

    .floating-service-menu {
      position: fixed;
      right: 22px;
      bottom: 22px;
      z-index: 1200;
    }

    .floating-trigger {
      width: 66px;
      height: 66px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--green-main), #25d366);
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.7rem;
      box-shadow: 0 16px 30px rgba(0,0,0,0.22);
      cursor: pointer;
      transition: transform 0.25s ease;
      border: 2px solid rgba(255,255,255,0.75);
    }

    .floating-service-menu:hover .floating-trigger,
    .floating-service-menu.open .floating-trigger {
      transform: scale(1.06) translateY(-2px);
    }

    .floating-options {
      position: absolute;
      right: 0;
      bottom: 78px;
      width: 295px;
      padding: 12px;
      border-radius: 22px;
      background: rgba(255,255,255,0.98);
      box-shadow: 0 22px 55px rgba(15,45,26,0.2);
      border: 1px solid rgba(23,63,36,0.1);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(12px);
      transition: all 0.24s ease;
    }

    .floating-service-menu:hover .floating-options,
    .floating-service-menu.open .floating-options {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }

    .floating-options strong {
      display: block;
      color: var(--green-dark);
      font-size: 0.95rem;
      padding: 8px 10px 10px;
    }

    .floating-options a {
      display: block;
      padding: 11px 12px;
      border-radius: 13px;
      color: #344054;
      font-weight: 700;
      font-size: 0.9rem;
      transition: background 0.2s ease, color 0.2s ease;
    }

    .floating-options a:hover {
      background: var(--green-soft);
      color: var(--green-dark);
    }

    .floating-whatsapp {
      margin-top: 8px;
      background: #25d366 !important;
      color: white !important;
      text-align: center;
    }

    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: all 0.7s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (max-width: 960px) {
      .nav-links, .phone { display: none; }
      .hero-inner,
      .about-grid,
      .contact-grid {
        grid-template-columns: 1fr;
      }
      .hero-card { display: none; }
      .service-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .logo-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 640px) {
      .hero {
        padding-top: 112px;
      }
      .metrics-strip,
      .service-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .metrics-strip {
        margin: -45px auto 50px auto;
      }

      .metric-card {
        padding: 28px;
      }

      .metric-number {
        font-size: 3.2rem;
      }
      .section-head {
        display: block;
      }
      .about-images {
        grid-template-columns: 1fr;
      }
      .about-images img:first-child,
      .about-images img:last-child {
        height: 280px;
      }
      .brand span {
      font-size: 1.05rem;
      line-height: 1;
    }
    }
  
    .footer-contact-list {
      display: flex;
      flex-direction: column;
      gap: 13px;
      margin-top: 14px;
    }

    .footer-contact-list a {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 0;
      color: rgba(255,255,255,0.82);
      line-height: 1.35;
      transition: transform 0.25s ease, color 0.25s ease;
    }

    .footer-contact-list a:hover {
      transform: translateX(5px);
      color: #d9ff9c;
    }

    .footer-contact-icon {
      width: 34px;
      height: 34px;
      min-width: 34px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.14);
      color: #d9ff9c;
      font-size: 1rem;
      font-weight: 800;
      backdrop-filter: blur(8px);
    }

  
    .footer-contact-icon.image-icon {
      overflow: hidden;
      background: rgba(255,255,255,0.10);
    }

    .footer-contact-icon.image-icon img {
      width: 20px;
      height: 20px;
      object-fit: contain;
      display: block;
    }


    .clients .section-head {
      align-items: flex-start;
    }

    .clients .section-head p {
      display: none !important;
    }

    .clients-carousel {
      position: relative;
      display: grid;
      grid-template-columns: 58px 1fr 58px;
      gap: 18px;
      align-items: center;
      margin-top: 28px;
    }

    .clients-viewport {
      overflow: hidden;
      width: 100%;
      padding: 8px 0;
    }

    .clients-track {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: clientsAutoScroll 76s linear infinite;
      will-change: transform;
    }

    .clients-carousel:hover .clients-track {
      animation-play-state: paused;
    }

    .clients-track .client-logo {
      width: 230px;
      min-width: 230px;
      height: 124px;
      min-height: 124px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.16);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    .clients-track .client-logo:hover {
      transform: translateY(-4px);
      background: #ffffff;
    }

    .clients-track .client-logo img {
      max-width: 100%;
      max-height: 82px;
      object-fit: contain;
      display: block;
    }

    .clients-arrow {
      display: flex;
      align-items: center;
      justify-content: center;
      align-self: center;
      margin-top: 40px;

      position: relative;
      
      width: 54px;
      height: 54px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.35);
      background: rgba(217, 255, 156, 0.95);
      color: #173f24;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22);
      transition: transform 0.22s ease, background 0.22s ease;
      z-index: 3;
    }

    .clients-arrow:hover {
      transform: scale(1.08);
      background: #ffffff;
    }

    @keyframes clientsAutoScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (max-width: 760px) {
      .clients-carousel {
        grid-template-columns: 44px 1fr 44px;
        gap: 10px;
      }

      .clients-arrow {
        width: 44px;
        height: 44px;
        font-size: 1.7rem;
      }

      .clients-track .client-logo {
        width: 190px;
        min-width: 190px;
        height: 110px;
        min-height: 110px;
      }
    }

  
    /* =========================
       RESPONSÁVEL TÉCNICO
    ========================= */

    .responsavel-tecnico-card {
      width: 100%;
      background: #eef5ea;
      border-radius: 32px;
      padding: 34px;
      display: grid;
      grid-template-columns: 190px 1fr;
      gap: 30px;
      align-items: center;
      margin-top: 34px;
      border-left: 6px solid var(--green-main);
      box-shadow: 0 14px 35px rgba(23, 63, 36, 0.08);
    }

    .responsavel-foto {
      width: 100%;
    }

    .foto-placeholder {
      width: 190px;
      height: 240px;
      border-radius: 26px;
      background: linear-gradient(135deg, #dce9d8, #c8dbc2);
      border: 1px dashed rgba(23, 63, 36, 0.28);
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: #356142;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.45;
    }

    .responsavel-conteudo .mini-titulo {
      display: block;
      color: var(--green-main);
      font-weight: 900;
      text-transform: uppercase;
      font-size: 0.78rem;
      letter-spacing: 0.12em;
      margin-bottom: 10px;
    }

    .responsavel-conteudo h3 {
      color: var(--green-dark);
      font-size: 1.8rem;
      line-height: 1.15;
      margin-bottom: 16px;
    }

    .responsavel-conteudo h3 span {
      display: block;
      font-size: 1rem;
      color: var(--muted);
      font-weight: 800;
      margin-top: 6px;
    }

    .responsavel-conteudo p {
      color: var(--muted);
      font-size: 1rem;
      line-height: 1.75;
      margin-bottom: 12px;
    }

    @media (max-width: 920px) {
      .responsavel-tecnico-card {
        grid-template-columns: 1fr;
        padding: 28px;
      }

      .foto-placeholder {
        width: 100%;
        max-width: 240px;
        height: 260px;
        margin: 0 auto;
      }

      .responsavel-conteudo h3 {
        font-size: 1.45rem;
      }
    }

  
.about-text-full{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding-left:100px;
}


/* === Ajustes institucionais: equipe, responsáveis e rodapé === */
.nossa-equipe{
  background: linear-gradient(180deg, #ffffff, var(--green-soft));
  padding: 94px 24px;
}

.nossa-equipe h2{
  text-align: center;
  margin-bottom: 18px;
}

.equipe-lead{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 44px;
}

.team-subtitle{
  display: inline-flex;
  padding: 10px 16px;
  border-radius: 999px;
  background: #d9ff9c;
  color: var(--green-dark);
  font-weight: 900;
  margin-bottom: 22px;
}

.responsaveis-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-bottom: 56px;
}

.responsavel-card{
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  gap: 24px;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(23,63,36,.10);
  border-radius: 30px;
  padding: 22px;
  box-shadow: 0 18px 48px rgba(15,45,26,.08);
}

.responsavel-card-photo{
  border-radius: 24px;
  overflow: hidden;
  background: var(--green-soft);
}

.responsavel-card-photo img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.responsavel-card-content h3{
  color: var(--green-dark);
  font-size: 1.35rem;
  line-height: 1.2;
  margin-bottom: 8px;
}

.responsavel-card-content .role{
  color: var(--green-main);
  font-weight: 900;
  margin-bottom: 14px;
}

.responsavel-card-content p{
  color: var(--muted);
  line-height: 1.7;
}

.equipe-projetos-title{
  margin-top: 8px;
}

.equipe-projetos-grid{
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 28px;
  align-items: stretch;
}

.equipe-foto-card{
  background: #fff;
  border: 1px solid rgba(23,63,36,.10);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(15,45,26,.08);
}

.equipe-foto-card img{
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
}

.membros-grid{
  display: grid;
  gap: 18px;
}

.membro-card{
  background: #fff;
  border: 1px solid rgba(23,63,36,.10);
  border-left: 5px solid var(--green-main);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 14px 38px rgba(15,45,26,.06);
}

.membro-card h3{
  color: var(--green-dark);
  font-size: 1.18rem;
  margin-bottom: 8px;
}

.membro-card p{
  color: var(--muted);
  margin-bottom: 6px;
}

.membro-card strong{
  color: var(--green-main);
}

.footer-address p{
  color: rgba(255,255,255,.76);
  line-height: 1.6;
  margin-bottom: 10px;
}

.footer-address strong{
  color: #d9ff9c;
}

@media(max-width: 960px){
  .responsaveis-grid,
  .equipe-projetos-grid{
    grid-template-columns: 1fr;
  }

  .responsavel-card{
    grid-template-columns: 1fr;
  }

  .responsavel-card-photo img{
    height: 340px;
  }
}



/* === Ajustes do rodapé: endereço centralizado e Instagram maior === */
footer .footer-grid{
  align-items: flex-start;
}

.footer-address-wide{
  max-width: 1180px;
  margin: 52px auto 0;
  padding: 28px 24px 0;
  border-top: 1px solid rgba(255,255,255,.16);
  text-align: center;
}

.footer-address-wide h4{
  color: #ffffff;
  font-size: 1rem;
  margin-bottom: 12px;
  font-weight: 900;
}

.footer-address-wide p{
  color: rgba(255,255,255,.82);
  line-height: 1.7;
  margin: 0 auto 8px;
  max-width: 1120px;
}

.footer-address-wide strong{
  color: #d9ff9c;
}

footer .contact-item img,
footer .contact-item svg,
footer .footer-icon img,
footer .footer-icon svg{
  width: 24px !important;
  height: 24px !important;
}

footer a[href*="instagram"] img,
footer a[href*="instagram"] svg,
footer a[href*="_solucoesambientais_"] img,
footer a[href*="_solucoesambientais_"] svg{
  width: 40px !important;
  height: 40px !important;
}

footer a[href*="instagram"] .footer-icon,
footer a[href*="_solucoesambientais_"] .footer-icon,
footer .contact-item:has(a[href*="instagram"]) .footer-icon,
footer .contact-item:has(a[href*="_solucoesambientais_"]) .footer-icon{
  transform: scale(1.45);
  background: rgba(217,255,156,.18) !important;
}

@media(max-width: 768px){
  .footer-address-wide{
    text-align: left;
    margin-top: 34px;
    padding-left: 0;
    padding-right: 0;
  }
}




/* === Adequações da Home consolidada === */
.nossa-equipe{
  scroll-margin-top: 110px;
}

footer .footer-links a{
  display: block;
}

@media (max-width: 900px){
  .services-grid{
    justify-content: center;
  }
}


/* === Padronização da seção Conheça nossa equipe com a LP de Estudos === */
.nossa-equipe{
  padding: 94px 24px !important;
}

.nossa-equipe > .container{
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.nossa-equipe h2{
  max-width: none !important;
  width: 100% !important;
  text-align: center !important;
  color: var(--green-dark) !important;
  font-size: clamp(2.3rem, 4vw, 4.3rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
  margin: 0 0 18px !important;
}

.nossa-equipe .equipe-lead{
  max-width: 930px !important;
  margin: 0 auto 44px !important;
  text-align: center !important;
  color: var(--muted) !important;
  font-size: 1.15rem !important;
  line-height: 1.85 !important;
}

.nossa-equipe .responsaveis-grid{
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.nossa-equipe .responsavel-card{
  min-height: 350px !important;
  grid-template-columns: 0.86fr 1.14fr !important;
  gap: 24px !important;
  padding: 22px !important;
}

.nossa-equipe .responsavel-card-photo img{
  height: 300px !important;
}

.nossa-equipe .responsavel-card-content h3{
  font-size: 1.35rem !important;
}

.nossa-equipe .responsavel-card-content p{
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.nossa-equipe .equipe-projetos-grid{
  width: 100% !important;
  grid-template-columns: 0.95fr 1.05fr !important;
  gap: 28px !important;
}

.nossa-equipe .equipe-foto-card img{
  min-height: 360px !important;
}

.nossa-equipe .membro-card{
  padding: 24px !important;
}

.nossa-equipe .membro-card h3{
  font-size: 1.18rem !important;
}

@media(max-width: 960px){
  .nossa-equipe .responsaveis-grid,
  .nossa-equipe .equipe-projetos-grid{
    grid-template-columns: 1fr !important;
  }

  .nossa-equipe .responsavel-card{
    grid-template-columns: 1fr !important;
  }

  .nossa-equipe .responsavel-card-photo img{
    height: 340px !important;
  }
}


/* === Sobre nós + Conheça nossa equipe integrados === */
.about-team-unified{
  padding: 106px 24px 96px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf5 38%, var(--green-soft) 100%) !important;
}
.about-team-unified .about-team-heading{
  max-width: 980px;
  margin: 0 auto 54px;
  text-align: center;
}
.about-team-unified .section-kicker{
  margin-bottom: 12px;
}
.about-team-unified h2{
  font-size: clamp(2.7rem, 5vw, 5rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  margin-bottom: 28px !important;
}
.about-team-copy{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  text-align: left;
}
.about-team-copy p{
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.85;
  margin: 0;
}
.about-team-unified .team-subtitle{
  margin-top: 8px;
}
@media(max-width: 760px){
  .about-team-copy{
    grid-template-columns: 1fr;
    gap: 14px;
    text-align: center;
  }
}


/* === Texto institucional em bloco contínuo === */
.about-team-unified .about-team-copy{
  display: block !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.about-team-unified .about-team-copy p{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 1.08rem !important;
  line-height: 1.9 !important;
}

@media(max-width: 760px){
  .about-team-unified .about-team-copy{
    text-align: left !important;
  }
}


/* ===== Ajuste: texto institucional corrido em uma única faixa ===== */
.about-team-unified .about-team-copy{
  display:block !important;
  width:100% !important;
  max-width:1080px !important;
  margin: 28px auto 0 auto !important;
  padding: 0 8px !important;
}

.about-team-unified .about-team-copy p{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  column-count:1 !important;
  columns:auto !important;
  white-space:normal !important;
  text-align:left !important;
  font-size:1.08rem !important;
  line-height:1.95 !important;
  color: var(--muted) !important;
}

@media (max-width: 900px){
  .about-team-unified .about-team-copy{
    max-width: 100% !important;
    padding: 0 18px !important;
  }

  .about-team-unified .about-team-copy p{
    font-size:1rem !important;
    line-height:1.85 !important;
  }
}



.footer-social img,
.instagram-icon,
img[alt*="Instagram"],
a[href*="instagram"] img{
    width:48px !important;
    height:48px !important;
    object-fit:contain !important;
}

    .clients .section-head {
      align-items: flex-start;
    }

    .clients .section-head p {
      display: none !important;
    }

    .clients-carousel {
      position: relative;
      display: grid;
      grid-template-columns: 58px 1fr 58px;
      gap: 18px;
      align-items: center;
      margin-top: 28px;
    }

    .clients-viewport {
      overflow: hidden;
      width: 100%;
      padding: 8px 0;
    }

    .clients-track {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: clientsAutoScroll 76s linear infinite;
      will-change: transform;
    }

    .clients-carousel:hover .clients-track {
      animation-play-state: paused;
    }

    .clients-track .client-logo {
      width: 230px;
      min-width: 230px;
      height: 124px;
      min-height: 124px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.16);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    .clients-track .client-logo:hover {
      transform: translateY(-4px);
      background: #ffffff;
    }

    .clients-track .client-logo img {
      max-width: 100%;
      max-height: 82px;
      object-fit: contain;
      display: block;
    }

    .clients-arrow {
      position: relative;
      
      width: 54px;
      height: 54px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.35);
      background: rgba(217, 255, 156, 0.95);
      color: #173f24;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22);
      transition: transform 0.22s ease, background 0.22s ease;
      z-index: 3;
    }

    .clients-arrow:hover {
      transform: scale(1.08);
      background: #ffffff;
    }

    @keyframes clientsAutoScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (max-width: 760px) {
      .clients-carousel {
        grid-template-columns: 44px 1fr 44px;
        gap: 10px;
      }

      .clients-arrow {
        width: 44px;
        height: 44px;
        font-size: 1.7rem;
      }

      .clients-track .client-logo {
        width: 190px;
        min-width: 190px;
        height: 110px;
        min-height: 110px;
      }
    }

  


a[href*="instagram"] img{
    width:44px !important;
    height:44px !important;
    object-fit:contain !important;
    border-radius:12px;
}

    .clients .section-head {
      align-items: flex-start;
    }

    .clients .section-head p {
      display: none !important;
    }

    .clients-carousel {
      position: relative;
      display: grid;
      grid-template-columns: 58px 1fr 58px;
      gap: 18px;
      align-items: center;
      margin-top: 28px;
    }

    .clients-viewport {
      overflow: hidden;
      width: 100%;
      padding: 8px 0;
    }

    .clients-track {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: clientsAutoScroll 76s linear infinite;
      will-change: transform;
    }

    .clients-carousel:hover .clients-track {
      animation-play-state: paused;
    }

    .clients-track .client-logo {
      width: 230px;
      min-width: 230px;
      height: 124px;
      min-height: 124px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.16);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    .clients-track .client-logo:hover {
      transform: translateY(-4px);
      background: #ffffff;
    }

    .clients-track .client-logo img {
      max-width: 100%;
      max-height: 82px;
      object-fit: contain;
      display: block;
    }

    .clients-arrow {
      position: relative;
      
      width: 54px;
      height: 54px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.35);
      background: rgba(217, 255, 156, 0.95);
      color: #173f24;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22);
      transition: transform 0.22s ease, background 0.22s ease;
      z-index: 3;
    }

    .clients-arrow:hover {
      transform: scale(1.08);
      background: #ffffff;
    }

    @keyframes clientsAutoScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (max-width: 760px) {
      .clients-carousel {
        grid-template-columns: 44px 1fr 44px;
        gap: 10px;
      }

      .clients-arrow {
        width: 44px;
        height: 44px;
        font-size: 1.7rem;
      }

      .clients-track .client-logo {
        width: 190px;
        min-width: 190px;
        height: 110px;
        min-height: 110px;
      }
    }

  


/* Ajuste definitivo das setas do carrossel de clientes */
.clients-carousel {
  position: relative !important;
  display: block !important;
  padding: 0 82px !important;
  margin-top: 28px !important;
}

.clients-viewport {
  width: 100% !important;
  overflow: hidden !important;
}

.clients-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.clients-prev {
  left: 0 !important;
}

.clients-next {
  right: 0 !important;
}

.clients-arrow:hover {
  transform: translateY(-50%) scale(1.08) !important;
}



/* ===== AJUSTE FINAL DAS SETAS DO CARROSSEL ===== */
.clients-carousel{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;
  position: relative !important;
  padding: 0 !important;
  margin-top: 44px !important;
}

.clients-viewport{
  flex: 1 1 auto !important;
  width: auto !important;
  overflow: hidden !important;
}

.clients-arrow{
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  vertical-align: middle !important;
}

.clients-arrow:hover{
  transform: scale(1.08) !important;
}

.clients-arrow::before,
.clients-arrow::after{
  display: none !important;
}

/* centraliza visualmente o caractere da seta dentro do círculo */
.clients-arrow{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0 !important;
}

.clients-prev::after{
  content: "‹" !important;
  display: block !important;
  font-size: 42px !important;
  line-height: 42px !important;
  height: 42px !important;
  margin-top: -4px !important;
  color: #173f24 !important;
  font-weight: 900 !important;
}

.clients-next::after{
  content: "›" !important;
  display: block !important;
  font-size: 42px !important;
  line-height: 42px !important;
  height: 42px !important;
  margin-top: -4px !important;
  color: #173f24 !important;
  font-weight: 900 !important;
}

@media (max-width: 760px){
  .clients-carousel{
    gap: 10px !important;
  }

  .clients-arrow{
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }

  .clients-prev::after,
  .clients-next::after{
    font-size: 34px !important;
    line-height: 34px !important;
    height: 34px !important;
  }
}



/* Setas do carrossel como imagens clicáveis */
.clients-arrow{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  transform: none !important;
}

.clients-arrow::before,
.clients-arrow::after{
  content: none !important;
  display: none !important;
}

.clients-arrow img{
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  display: block !important;
  pointer-events: none !important;
}

.clients-arrow:hover{
  transform: scale(1.08) !important;
}

.clients-carousel{
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
}

@media (max-width: 760px){
  .clients-arrow,
  .clients-arrow img{
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
}



/* Ajuste grande das setas */
.clients-arrow{
  width: 120px !important;
  height: 120px !important;
  min-width: 120px !important;
  min-height: 120px !important;
}

.clients-arrow img{
  width: 120px !important;
  height: 120px !important;
  object-fit: contain !important;
  display: block !important;
}

.clients-carousel{
  gap: 8px !important;
}

@media (max-width: 760px){
  .clients-arrow,
  .clients-arrow img{
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
  }
}



/* =========================
   DEPOIMENTOS
========================= */

.testimonials-section{
  background: linear-gradient(90deg, #0d3d1f 0%, #0a2f18 100%);
  padding: 120px 0;
  overflow: hidden;
}

.testimonials-header{
  text-align: center;
  margin-bottom: 60px;
}

.testimonials-header .section-kicker{
  color: #c9f67d;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.testimonials-header h2{
  color: #d6ff84;
  font-size: 4rem;
  line-height: 1.05;
  margin-bottom: 20px;
  font-weight: 800;
}

.testimonials-header p{
  color: rgba(255,255,255,0.78);
  font-size: 1.1rem;
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.7;
}

.testimonials-carousel{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

.testimonials-track{
  display: flex;
  gap: 28px;
  width: 100%;
  justify-content: center;
}

.testimonial-card{
  width: 520px;
  height: 280px;
  border-radius: 32px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
  padding: 40px;
  transition: 0.3s ease;
}

.testimonial-card:hover{
  transform: translateY(-6px);
  background: rgba(255,255,255,0.1);
}

.testimonial-placeholder{
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.avatar-placeholder{
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: rgba(201,246,125,0.2);
  border: 2px solid rgba(201,246,125,0.35);
  flex-shrink: 0;
}

.lines{
  width: 100%;
}

.line{
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  margin-bottom: 18px;
}

.line.short{
  width: 32%;
}

.line.medium{
  width: 72%;
}

.line.long{
  width: 95%;
  height: 90px;
  border-radius: 24px;
}

.testimonial-arrow{
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: none;
  background: #d6ff84;
  color: #12381f;
  font-size: 4rem;
  font-weight: 800;
  cursor: pointer;
  flex-shrink: 0;
  transition: 0.25s ease;
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);
}

.testimonial-arrow:hover{
  transform: scale(1.08);
}

.testimonial-dots{
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 42px;
}

.testimonial-dots .dot{
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #d6ff84;
  opacity: 0.7;
}

.testimonial-dots .dot.active{
  background: #d6ff84;
  opacity: 1;
}

@media (max-width: 1100px){

  .testimonials-track{
    flex-direction: column;
    align-items: center;
  }

  .testimonial-card{
    width: 100%;
    max-width: 680px;
  }

}

@media (max-width: 760px){

  .testimonials-section{
    padding: 90px 0;
  }

  .testimonials-header h2{
    font-size: 2.8rem;
  }

  .testimonial-card{
    height: auto;
    padding: 28px;
  }

  .testimonials-carousel{
    gap: 10px;
  }

  .testimonial-arrow{
    width: 56px;
    height: 56px;
    font-size: 2.6rem;
  }

}



/* Ajustes finais da seção de depoimentos */

.testimonials-section{
  padding-bottom: 120px !important;
}

.testimonials-header p{
  display:none !important;
}

.testimonial-arrow{
  width: 240px !important;
  height: 240px !important;
  min-width: 240px !important;
  min-height: 240px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.testimonial-arrow img{
  width: 240px !important;
  height: 240px !important;
  object-fit: contain !important;
  display:block !important;
}

.testimonials-carousel{
  position: relative !important;
  gap: 0px !important;
}

.testimonial-prev{
  position:absolute !important;
  left:-170px !important;
  z-index:10 !important;
}

.testimonial-next{
  position:absolute !important;
  right:-170px !important;
  z-index:10 !important;
}

.testimonial-arrow:hover{
  transform: scale(1.05);
}

@media (max-width: 760px){

  .testimonial-arrow,
  .testimonial-arrow img{
    width:100px !important;
    height:100px !important;
    min-width:100px !important;
    min-height:100px !important;
  }

  .testimonial-prev{
    left:-50px !important;
  }

  .testimonial-next{
    right:-50px !important;
  }
}



/* Correção do botão lateral: mantém menu, troca apenas o ícone */
.floating-service-menu{
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 99999 !important;
}

.floating-trigger{
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  overflow: visible !important;
  animation: pulseWhatsMenu 2s infinite !important;
}

.floating-trigger img{
  width: 76px !important;
  height: 76px !important;
  object-fit: contain !important;
  display: block !important;
  pointer-events: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.floating-service-menu.open .floating-trigger,
.floating-service-menu:hover .floating-trigger{
  transform: none !important;
}

@keyframes pulseWhatsMenu{
  0%{
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(75, 255, 115, 0));
  }
  50%{
    transform: scale(1.08);
    filter: drop-shadow(0 0 18px rgba(75, 255, 115, 0.85));
  }
  100%{
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(75, 255, 115, 0));
  }
}

/* mantém o painel do menu exatamente como painel, não como link de WhatsApp */
.floating-options{
  z-index: 99998 !important;
}

@media(max-width:760px){
  .floating-trigger,
  .floating-trigger img{
    width: 66px !important;
    height: 66px !important;
  }
}



/* Vídeo somente no card branco da Home */
.hero-card-video{
  width: 100% !important;
  height: 350px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  display: block !important;
  background: #0b2f19 !important;
}

@media(max-width:760px){
  .hero-card-video{
    height: 260px !important;
  }
}



/* Ajuste visual da seção Sobre nós sem fotos laterais */
.about .container,
.about-grid{
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: block !important;
}

.about-text-full{
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.about-text-full h2{
  max-width: 1400px !important;
  font-size: clamp(2.6rem, 4vw, 5rem) !important;
  line-height: 1.08 !important;
  margin-bottom: 24px !important;
}

.about-text-full > p{
  max-width: 1400px !important;
  font-size: 1.15rem !important;
  line-height: 1.8 !important;
  color: var(--muted) !important;
}

.responsavel-tecnico-card{
  width: 100% !important;
  max-width: 1180px !important;
  grid-template-columns: 260px 1fr !important;
  padding: 42px !important;
  gap: 42px !important;
  align-items: center !important;
}

.foto-placeholder{
  width: 240px !important;
  height: 300px !important;
}

.responsavel-conteudo h3{
  font-size: clamp(2rem, 3vw, 3.2rem) !important;
  max-width: 780px !important;
}

.responsavel-conteudo p{
  font-size: 1.08rem !important;
  line-height: 1.8 !important;
  max-width: 820px !important;
}

@media(max-width: 920px){
  .responsavel-tecnico-card{
    grid-template-columns: 1fr !important;
  }

  .foto-placeholder{
    width: 100% !important;
    max-width: 260px !important;
    height: 300px !important;
  }
}



.instagram-icon{
    width:42px !important;
    height:42px !important;
    object-fit:contain;
}

    .clients .section-head {
      align-items: flex-start;
    }

    .clients .section-head p {
      display: none !important;
    }

    .clients-carousel {
      position: relative;
      display: grid;
      grid-template-columns: 58px 1fr 58px;
      gap: 18px;
      align-items: center;
      margin-top: 28px;
    }

    .clients-viewport {
      overflow: hidden;
      width: 100%;
      padding: 8px 0;
    }

    .clients-track {
      display: flex;
      gap: 22px;
      width: max-content;
      animation: clientsAutoScroll 76s linear infinite;
      will-change: transform;
    }

    .clients-carousel:hover .clients-track {
      animation-play-state: paused;
    }

    .clients-track .client-logo {
      width: 230px;
      min-width: 230px;
      height: 124px;
      min-height: 124px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(255, 255, 255, 0.16);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    .clients-track .client-logo:hover {
      transform: translateY(-4px);
      background: #ffffff;
    }

    .clients-track .client-logo img {
      max-width: 100%;
      max-height: 82px;
      object-fit: contain;
      display: block;
    }

    .clients-arrow {
      position: relative;
      
      width: 54px;
      height: 54px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.35);
      background: rgba(217, 255, 156, 0.95);
      color: #173f24;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22);
      transition: transform 0.22s ease, background 0.22s ease;
      z-index: 3;
    }

    .clients-arrow:hover {
      transform: scale(1.08);
      background: #ffffff;
    }

    @keyframes clientsAutoScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @media (max-width: 760px) {
      .clients-carousel {
        grid-template-columns: 44px 1fr 44px;
        gap: 10px;
      }

      .clients-arrow {
        width: 44px;
        height: 44px;
        font-size: 1.7rem;
      }

      .clients-track .client-logo {
        width: 190px;
        min-width: 190px;
        height: 110px;
        min-height: 110px;
      }
    }

  


.clients-arrow{
  width: 240px !important;
  height: 240px !important;
  min-width: 240px !important;
  min-height: 240px !important;
}

.clients-arrow img{
  width: 240px !important;
  height: 240px !important;
}

.clients-carousel{
  gap: 0px !important;
}

@media (max-width: 760px){
  .clients-arrow,
  .clients-arrow img{
    width: 110px !important;
    height: 110px !important;
    min-width: 110px !important;
    min-height: 110px !important;
  }
}



.clients-carousel{
  gap: 22px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}



/* Mantém o layout original e apenas afasta as setas */
.clients-carousel{
  position: relative !important;
}

.clients-prev{
  position: absolute !important;
  left: -95px !important;
  z-index: 5 !important;
}

.clients-next{
  position: absolute !important;
  right: -95px !important;
  z-index: 5 !important;
}

.clients-arrow{
  width: 240px !important;
  height: 240px !important;
  min-width: 240px !important;
  min-height: 240px !important;
}

.clients-arrow img{
  width: 240px !important;
  height: 240px !important;
}



.clients-prev{
  left: -170px !important;
}

.clients-next{
  right: -170px !important;
}

.clients-arrow{
  z-index: 10 !important;
}



.clients-prev{
  left: -235px !important;
}

.clients-next{
  right: -170px !important;
}


/* ============================================================
   AJUSTES DE INTEGRAÇÃO COM WORDPRESS / ELEMENTOR
   ============================================================ */
.sa-home-root {
  width: 100%;
  max-width: none;
  overflow-x: clip;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text, #1f2933);
  background: #ffffff;
  line-height: 1.6;
}

.sa-home-root *,
.sa-home-root *::before,
.sa-home-root *::after {
  box-sizing: border-box;
}

.elementor-widget-shortcode,
.elementor-widget-shortcode .elementor-widget-container {
  width: 100%;
  max-width: none;
}

.elementor-page .site-main,
.elementor-page .entry-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sa-home-root img {
  max-width: 100%;
}


/* ============================================================
   CORREÇÃO 1.0.3 — CONTEÚDO VISÍVEL NO ELEMENTOR
   ============================================================
   O conteúdo fica visível por padrão. As animações só são
   habilitadas no site publicado quando o JavaScript está pronto.
*/
.sa-home-root .reveal,
.sa-home-root .reveal.visible {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Animações progressivas apenas fora do editor do Elementor. */
.sa-home-root.sa-home-animations .reveal {
  opacity: 0 !important;
  transform: translateY(24px) !important;
  visibility: visible !important;
  transition: opacity .7s ease, transform .7s ease !important;
}

.sa-home-root.sa-home-animations .reveal.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* No editor e no modo de prévia do Elementor, nunca esconder conteúdo. */
body.elementor-editor-active .sa-home-root .reveal,
.elementor-editor-preview .sa-home-root .reveal,
.elementor-edit-mode .sa-home-root .reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Evita que áreas do shortcode recebam altura sem conteúdo aparente. */
.sa-home-root section,
.sa-home-root .container,
.sa-home-root .service-grid,
.sa-home-root .clients-carousel,
.sa-home-root .contact-grid {
  visibility: visible !important;
}


/* ============================================================
   VERSÃO 1.2.0 — MOBILE REALMENTE COMPACTO
   Mudanças visuais fortes apenas até 640px.
   ============================================================ */
@media (max-width: 640px) {

  /* Zera folgas do Elementor e do próprio bloco */
  .sa-home-root,
  .sa-home-root main,
  .sa-home-root section {
    width: 100% !important;
    max-width: 100% !important;
  }

  .sa-home-root section {
    padding: 44px 12px !important;
  }

  /* Cabeçalho: logo + WhatsApp, sem título duplicado nem menu desktop */
  .sa-home-root header {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 2px 14px rgba(0,0,0,.07) !important;
  }

  .sa-home-root .nav {
    min-height: 74px !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .sa-home-root .brand {
    flex: 0 0 auto !important;
  }

  .sa-home-root .brand-logo {
    width: 58px !important;
    height: 58px !important;
    object-fit: contain !important;
  }

  .sa-home-root .brand span,
  .sa-home-root .nav-links,
  .sa-home-root .nav-contact .phone {
    display: none !important;
  }

  .sa-home-root .nav-contact {
    margin-left: auto !important;
  }

  .sa-home-root .nav-contact .btn {
    padding: 11px 16px !important;
    min-height: 46px !important;
    border-radius: 999px !important;
    font-size: .95rem !important;
  }

  /* Hero: menos alto, sem vídeo/card lateral no celular */
  .sa-home-root .hero {
    min-height: auto !important;
    padding: 54px 16px 48px !important;
  }

  .sa-home-root .hero-inner {
    display: block !important;
  }

  .sa-home-root .hero-card {
    display: none !important;
  }

  .sa-home-root .eyebrow {
    font-size: .68rem !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
  }

  .sa-home-root .hero h1 {
    font-size: 2.35rem !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    margin-bottom: 16px !important;
  }

  .sa-home-root .hero p {
    font-size: .98rem !important;
    line-height: 1.65 !important;
    margin-bottom: 20px !important;
  }

  .sa-home-root .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .sa-home-root .hero-actions .btn {
    width: 100% !important;
    min-height: 48px !important;
  }

  /* Cabeçalho das seções */
  .sa-home-root .section-head {
    display: block !important;
    margin-bottom: 22px !important;
  }

  .sa-home-root .section-head h2,
  .sa-home-root .center-head h2,
  .sa-home-root .contact h2,
  .sa-home-root .about-team-unified h2 {
    font-size: 2rem !important;
    line-height: 1.08 !important;
    margin-bottom: 10px !important;
  }

  .sa-home-root .section-head p {
    font-size: .94rem !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
  }

  /* Serviços: muito mais compactos */
  .sa-home-root .services {
    padding: 42px 10px !important;
  }

  .sa-home-root .service-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sa-home-root .service-card {
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 22px rgba(23,63,36,.08) !important;
  }

  .sa-home-root .service-card img {
    height: 165px !important;
    object-fit: cover !important;
  }

  .sa-home-root .service-card .content {
    padding: 16px 16px 18px !important;
  }

  .sa-home-root .service-card h3 {
    font-size: 1.22rem !important;
    margin-bottom: 7px !important;
  }

  .sa-home-root .service-card p {
    font-size: .94rem !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
  }

  .sa-home-root .service-card a {
    padding-top: 12px !important;
    font-size: .96rem !important;
  }

  /* Clientes: logos menores e área mais curta */
  .sa-home-root .clients {
    padding: 42px 8px !important;
  }

  .sa-home-root .clients-carousel {
    grid-template-columns: 40px minmax(0,1fr) 40px !important;
    column-gap: 8px !important;
  }

  .sa-home-root .clients-arrow,
  .sa-home-root .clients-arrow img {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .sa-home-root .client-logo {
    min-width: 150px !important;
    height: 92px !important;
    border-radius: 16px !important;
  }

  /* Sobre/equipe: sem vazios exagerados */
  .sa-home-root .about-team-unified {
    padding: 48px 12px !important;
  }

  .sa-home-root .about-team-heading {
    margin-bottom: 26px !important;
  }

  .sa-home-root .about-team-copy p {
    font-size: .95rem !important;
    line-height: 1.65 !important;
  }

  .sa-home-root .team-subtitle {
    margin: 22px 0 12px !important;
    font-size: .88rem !important;
  }

  .sa-home-root .responsaveis-grid,
  .sa-home-root .equipe-projetos-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sa-home-root .responsavel-card {
    display: grid !important;
    grid-template-columns: 108px 1fr !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }

  .sa-home-root .responsavel-card-photo img {
    width: 108px !important;
    height: 150px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
  }

  .sa-home-root .responsavel-card-content h3 {
    font-size: 1.05rem !important;
  }

  .sa-home-root .responsavel-card-content .role,
  .sa-home-root .responsavel-card-content p {
    font-size: .84rem !important;
    line-height: 1.5 !important;
  }

  .sa-home-root .equipe-foto-card img {
    min-height: 210px !important;
    height: 210px !important;
    object-fit: cover !important;
  }

  .sa-home-root .membro-card {
    padding: 15px !important;
  }

  /* Formulário e contato */
  .sa-home-root .contact {
    padding: 48px 12px !important;
  }

  .sa-home-root .contact-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .sa-home-root .contact-list {
    gap: 8px !important;
  }

  .sa-home-root .contact-item {
    padding: 12px 13px !important;
    font-size: .9rem !important;
  }

  .sa-home-root form {
    padding: 18px 14px !important;
  }

  .sa-home-root input,
  .sa-home-root select,
  .sa-home-root textarea {
    font-size: 16px !important;
    min-height: 48px !important;
    padding: 13px !important;
  }

  /* Rodapé menor e mais organizado */
  .sa-home-root footer {
    padding: 34px 16px 28px !important;
  }

  .sa-home-root .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .sa-home-root .footer-brand img {
    width: 88px !important;
  }

  .sa-home-root .footer-address-wide {
    margin-top: 22px !important;
    padding-top: 18px !important;
    text-align: left !important;
  }

  /* WhatsApp flutuante menor */
  .sa-home-root .floating-trigger {
    width: 50px !important;
    height: 50px !important;
  }

  .sa-home-root .floating-service-menu {
    right: 10px !important;
    bottom: 10px !important;
  }
}
