/* ── Fontes ── */
    /* Montserrat — substituto do Gotham (geométrico, upright, gratuito) */
    /* Quando o usuário tiver os arquivos corretos do Gotham, basta trocar aqui */

    /* ── Fundo orgânico — WebGL shader (Paper Shaders) ── */
    .container-organico {
      position: fixed; inset: 0;
      z-index: -1; pointer-events: none;
      background: #080808; overflow: hidden;
    }
    /* ShaderMount injeta z-index:-1 via @layer (menor prioridade).
       Sobrescrevemos aqui (unlayered > layered no cascade) para que
       o canvas fique visível sobre o fundo escuro do container. */
    .container-organico canvas {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      display: block;
      z-index: 0;
      opacity: 0.48;
    }

    /* ── Base ── */
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-style: normal;
      line-height: 1.65;
      color: #f6f3ef;
      background: #080808;
    }

    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }

    .container {
      width: min(1080px, calc(100% - 40px));
      margin: 0 auto;
    }

    /* ── Header ── */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: transparent;
      border-bottom: 0;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .site-header::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: -70px;
      background: linear-gradient(
        to bottom,
        rgba(8, 8, 8, 0.85) 0%,
        rgba(8, 8, 8, 0.55) 55%,
        rgba(8, 8, 8, 0) 100%);
      pointer-events: none;
      z-index: -1;
      opacity: 0;
      transition: opacity 0.45s ease;
    }
    .site-header.scrolled::before {
      opacity: 1;
    }
    .site-header .header-inner { position: relative; z-index: 1; }


    .site-header.scrolled {
      background: transparent;
      border-bottom-color: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      min-height: 72px;
    }

    .brand {
      display: flex;
      align-items: center;
    }
    .brand-logo {
      display: block;
      width: 170px;
      max-width: 100%;
      height: auto;
    }

    /* ── Nav ── */
    .nav {
      display: flex;
      align-items: center;
      gap: 30px;
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(246, 243, 239, 0.65);
    }

    .nav a {
      position: relative;
      transition: color 0.2s;
    }

    .nav a::after {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 0;
      width: 0;
      height: 1px;
      background: #f6f3ef;
      transition: width 0.25s ease;
    }

    .nav a:hover { color: #ffffff; }
    .nav a:hover::after { width: 100%; }

    /* ── Hamburger ── */
    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      cursor: pointer;
      background: none;
      border: none;
      padding: 6px;
    }

    .hamburger span {
      display: block;
      width: 22px;
      height: 1px;
      background: #f6f3ef;
      border-radius: 1px;
      transition: transform 0.3s, opacity 0.3s;
    }

    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* ── Botões ── */
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 24px;
      border: 1px solid rgba(255, 255, 255, 0.55);
      border-radius: 999px;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    }

    .button:hover {
      transform: translateY(-2px);
      background: rgba(255, 255, 255, 0.1);
      border-color: rgba(255, 255, 255, 0.9);
    }

    .button.primary {
      color: #111111;
      background: #f6f3ef;
      border-color: #f6f3ef;
    }

    .button.primary:hover {
      background: #ffffff;
      border-color: #ffffff;
      transform: translateY(-2px);
    }

    /* ── Seções ── */
    section { padding: 96px 0; }

    .hero {
      min-height: calc(100vh - 72px);
      display: grid;
      align-items: center;
      padding: 96px 0;
      position: relative;
    }

    .hero h1 {
      max-width: 840px;
      margin: 0 0 24px;
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(1.45rem, 2.6vw, 2.4rem);
      font-style: normal;
      font-weight: 400;
      line-height: 1.32;
      letter-spacing: -0.01em;
    }

    .hero strong { font-weight: 700; }

    .hero p {
      max-width: 620px;
      margin: 0 0 36px;
      color: rgba(246, 243, 239, 0.7);
      font-size: clamp(0.9rem, 1.3vw, 1rem);
    }

    .actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
    }

    /* ── Títulos ── */
    h1, h2, h3 {
      font-family: 'Montserrat', sans-serif;
      font-style: normal;
    }

    .section-title {
      max-width: 720px;
      margin: 0 auto 2.5rem;
      font-size: clamp(1.05rem, 1.7vw, 1.5rem);
      font-style: normal;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: 0.01em;
      text-align: center;
      display: block;
      position: relative;
      padding-bottom: 1.1rem;
    }
    .section-title::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 72px;
      height: 1px;
      background: rgba(213, 214, 208, 0.45);
    }

    .muted {
      max-width: 660px;
      margin: 0;
      color: rgba(246, 243, 239, 0.65);
      font-size: 1.02rem;
      line-height: 1.72;
    }

    /* ── Grid e Cards ── */
    .grid {
      display: grid;
      gap: 18px;
    }

    .grid.two   { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    
    .card-icon {
      width: 44px;
      height: 44px;
      margin-bottom: 1rem;
      display: block;
      opacity: 0.9;
    }
    .card {
      padding: 28px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      transition: transform 0.28s ease, border-color 0.28s ease,
                  background 0.28s ease, box-shadow 0.28s ease;
    }

    .card:hover {
      transform: translateY(-5px);
      border-color: rgba(255, 255, 255, 0.26);
      background: rgba(255, 255, 255, 0.1);
      box-shadow: 0 28px 64px rgba(0, 0, 0, 0.32);
    }

    .card h3 {
      margin: 0 0 10px;
      font-size: 1.02rem;
      font-weight: 700;
    }

    .card p {
      margin: 0;
      color: rgba(246, 243, 239, 0.65);
      font-size: 0.94rem;
      line-height: 1.65;
    }

    /* ── Intro ── */
    .intro {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    .team-photo {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    /* ── Cases ── */
    .case-logo {
      width: 80px;
      height: 80px;
      object-fit: contain;
      margin-bottom: 20px;
    }

    /* ── Formulário ── */
    .form {
      display: grid;
      gap: 12px;
      margin-top: 36px;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    input {
      width: 100%;
      min-height: 50px;
      padding: 0 18px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 8px;
      color: #ffffff;
      background: rgba(255, 255, 255, 0.07);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.92rem;
      transition: border-color 0.2s;
    }

    input:focus {
      outline: none;
      border-color: rgba(255, 255, 255, 0.48);
    }

    input::placeholder { color: rgba(246, 243, 239, 0.42); }

    .form button {
      min-height: 52px;
      border: 0;
      border-radius: 8px;
      color: #111111;
      background: #f6f3ef;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s, transform 0.2s;
    }

    .form button:hover {
      background: #ffffff;
      transform: translateY(-1px);
    }

    /* ── Footer ── */
    .footer {
      padding: 48px 0 32px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      color: rgba(246, 243, 239, 0.55);
      background: rgba(0, 0, 0, 0.38);
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.82rem;
    }

    .footer-inner {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 40px 60px;
      align-items: start;
    }

    .footer-brand {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .footer-logo {
      display: block;
      width: 140px;
      max-width: 100%;
      height: auto;
      opacity: 0.7;
    }

    .footer-brand p {
      margin: 0;
      font-size: 0.78rem;
      line-height: 1.5;
      color: rgba(246, 243, 239, 0.42);
      max-width: 220px;
    }

    .footer-links {
      display: flex;
      gap: 40px;
      flex-wrap: wrap;
      justify-content: flex-end;
      align-items: flex-start;
      padding-top: 4px;
    }

    .footer-links a {
      display: block;
      transition: color 0.2s;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-size: 0.78rem;
      font-weight: 600;
    }

    .footer a:hover { color: #f6f3ef; }

    .footer-bottom {
      grid-column: 1 / -1;
      padding-top: 24px;
      border-top: 1px solid rgba(255, 255, 255, 0.07);
      font-size: 0.72rem;
      color: rgba(246, 243, 239, 0.3);
    }


    /* ── Fundos de sessão ── */
    .hero {
      position: relative;
    }
    .hero::before {
      content: '';
      position: absolute;
      top: -80px;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: url('../img/hero-bg.webp');
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0.20;
      mix-blend-mode: screen;
      filter: grayscale(1);
      z-index: 0;
    }

    .hero > * { position: relative; z-index: 1; }

    .sessao2 {
      position: relative;
    }

    .sessao2 > .container { position: relative; z-index: 1; }
    .sessao2 { padding: 6rem 0; }
    .sessao2-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
      margin-bottom: 3rem;
    }
    .sessao2-titulo {
      font-family: 'Montserrat', sans-serif;
      font-weight: 800;
      font-size: clamp(1.25rem, 2.2vw, 2rem);
      color: #fff;
      line-height: 1.38;
      margin: 0;
    }
    .sessao2-titulo-em {
      font-family: Georgia, serif;
      font-weight: 100;
      font-style: italic;
    }
    .sessao2-corpo {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(0.88rem, 1.1vw, 1rem);
      color: rgba(213, 214, 208, 0.82);
      line-height: 1.75;
      margin: 0;
    }
    .sessao2-assinatura {
      font-family: 'Comfortaa', cursive;
      font-size: clamp(0.88rem, 1.3vw, 1.1rem);
      color: #d5d6d0;
      text-align: center;
      letter-spacing: 0.04em;
      padding-top: 2rem;
      border-top: 1px solid rgba(213, 214, 208, 0.18);
      margin: 0;
    }
    @media (max-width: 768px) {
      .sessao2 { padding: 4rem 0; }
      .sessao2-grid { grid-template-columns: 1fr; gap: 2rem; }
    }

    /* ── Scroll fade-in ── */
    .fade-in {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.65s ease, transform 0.65s ease;
    }

    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── Mobile ── */
    @media (max-width: 800px) {
      .hamburger { display: flex; }

      .nav {
        display: flex;
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        background: rgba(8, 8, 8, 0.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding: 8px 20px 16px;
        /* animação de entrada */
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        transition:
          opacity 0.22s ease,
          transform 0.22s ease,
          visibility 0s linear 0.22s;
        pointer-events: none;
      }

      .nav.open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition:
          opacity 0.22s ease,
          transform 0.22s ease;
        pointer-events: auto;
      }

      .nav a {
        padding: 13px 0;
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        font-size: 0.95rem;
      }

      .nav a:last-child { border-bottom: none; }
      .nav a::after { display: none; }

      section { padding: 64px 0; }

      .hero { padding: 72px 0; }

      .grid.two,
      .grid.three,
      .intro,
      .form-row {
        grid-template-columns: 1fr;
      }

      .footer-inner { grid-template-columns: 1fr; gap: 24px; }
      .footer-links { justify-content: flex-start; gap: 20px; }
    }
  
    /* ── Solutions asymmetric grid ── */
    .sec-solucoes {
      position: relative;
    }
    .sec-solucoes::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: none;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      mix-blend-mode: darken;
      z-index: 0;
    }
    .sec-solucoes.bg-loaded::before {
      background-image: url('../img/solucoes-bg.webp');
    }
    .sec-solucoes > .container { position: relative; z-index: 1; }
    .sol-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.25rem;
    }
    .sol-card { display: flex; flex-direction: column; justify-content: flex-start; }
    .sol-card:nth-child(1) { grid-column: 1 / 4; }
    .sol-card:nth-child(2) { grid-column: 4 / 6; }
    .sol-card:nth-child(3) { grid-column: 1 / 3; }
    .sol-card:nth-child(4) { grid-column: 3 / 6; }

    /* ── About section ── */
    .sobre-grid {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 4rem;
      align-items: start;
      overflow: visible;
    }
    .sobre-foto-wrap { padding-bottom: 2.5rem; }
    .sobre-foto { position: relative; padding-bottom: 2.8rem; }
    .sobre-foto .team-photo {
      width: 100%;
      height: auto;
      border-radius: 12px;
      object-fit: cover;
      display: block;
    }

    .sobre-foto {
      position: relative;
    }
    .sobre-glass {
      position: absolute;
      bottom: -1.5rem;
      left: -1.2rem;
      right: -1.2rem;
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 14px;
      padding: 1.1rem 1.4rem;
      box-shadow: 0 8px 32px rgba(0,0,0,0.35);
    }
    .sobre-glass p {
      margin: 0;
      font-family: 'Comfortaa', cursive;
      font-size: clamp(0.8rem, 1.1vw, 0.95rem);
      color: rgba(213, 214, 208, 0.88);
      line-height: 1.6;
      text-align: center;
    }
    .sobre-lista {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .sobre-lista li {
      display: flex;
      gap: 1rem;
      align-items: flex-start;
    }
    .sobre-num {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.72rem;
      color: rgba(213, 214, 208, 0.75);
      width: 44px;
      height: 36px;
      min-width: 44px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-shrink: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      letter-spacing: 0.03em;
      margin-top: 2px;
      padding-right: 4px;
      position: relative;
    }
    .sobre-lista strong {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.95rem;
      color: #d5d6d0;
      display: block;
      margin-bottom: 4px;
      letter-spacing: 0.02em;
    }
    .sobre-lista p {
      margin: 0;
      color: rgba(213, 214, 208, 0.7);
      font-size: 0.9rem;
      line-height: 1.6;
    }

    /* ── Diagnostico / CTA section ── */
    #diagnostico { text-align: center; }
    .diag-tagline {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 4rem;
      padding-bottom: 2.5rem;
      border-bottom: 1px solid rgba(213, 214, 208, 0.12);
      gap: 2rem;
    }
    .diag-left {
      font-family: 'Comfortaa', cursive;
      font-weight: 800;
      font-size: clamp(0.8rem, 1.4vw, 1.15rem);
      color: rgba(213, 214, 208, 0.55);
      letter-spacing: 0.08em;
      text-align: left;
    }
    .diag-right {
      font-family: 'Comfortaa', cursive;
      font-weight: 800;
      font-size: clamp(0.8rem, 1.4vw, 1.15rem);
      color: #d5d6d0;
      letter-spacing: 0.08em;
      text-align: right;
    }
    .diag-content { text-align: center; }

    @media (max-width: 768px) {
      .sol-grid { grid-template-columns: 1fr; }
      .sol-card:nth-child(1),
      .sol-card:nth-child(2),
      .sol-card:nth-child(3),
      .sol-card:nth-child(4) { grid-column: 1 / -1; }
      .sobre-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .diag-tagline { flex-direction: column; text-align: center; gap: 0.75rem; }
      .diag-left, .diag-right { text-align: center; }
    }


    #diagnostico {
      position: relative;
      background: #000;
    }
    #diagnostico::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: none;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0.80;
      z-index: 0;
    }
    #diagnostico.bg-loaded::before {
      background-image: url('../img/diagnostico-bg.webp');
    }
    #diagnostico > .container { position: relative; z-index: 1; }

    #sobre .section-title::after {
      left: 0;
      transform: none;
    }

    /* ═══════════════════════════════════════════════
       PREMIUM LAYOUT OVERRIDES — Janêro v2
       Mantém cores, fontes e textos.
       Reorganiza disposição para sensação editorial/premium.
       ═══════════════════════════════════════════════ */

    /* Container mais generoso */
    .container {
      width: min(1180px, calc(100% - 48px));
    }

    /* ── Eyebrow / section label (numerador + categoria) ── */
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(213, 214, 208, 0.55);
      margin-bottom: 1.25rem;
    }
    .eyebrow::before {
      content: '';
      width: 38px;
      height: 1px;
      background: rgba(213, 214, 208, 0.45);
    }
    .eyebrow .eyebrow-num {
      color: rgba(213, 214, 208, 0.85);
      font-weight: 700;
    }

    /* Block-header (eyebrow + título + tagline) à esquerda */
    .block-header {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      margin-bottom: 3.5rem;
      max-width: 880px;
    }
    .block-header h2 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: clamp(1.4rem, 2.4vw, 2.1rem);
      line-height: 1.25;
      color: #f6f3ef;
      margin: 0;
      letter-spacing: -0.005em;
      max-width: 720px;
    }
    .block-header .block-tagline {
      margin: 1rem 0 0;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.98rem;
      color: rgba(213, 214, 208, 0.6);
      line-height: 1.7;
      max-width: 580px;
    }

    /* ═══════════ HERO premium ═══════════ */
    .hero {
      min-height: calc(100vh - 72px);
      padding: 80px 0 96px;
    }
    .hero .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 280px;
      gap: 80px;
      align-items: end;
      width: 100%;
    }
    .hero .hero-eyebrow {
      margin-bottom: 2.5rem;
    }
    .hero h1 {
      max-width: 100%;
      margin: 0 0 28px;
      font-size: clamp(1.7rem, 3.4vw, 3rem);
      line-height: 1.18;
      letter-spacing: -0.015em;
    }
    .hero h1 strong { font-weight: 700; }
    .hero p {
      max-width: 560px;
      margin: 0 0 40px;
      font-size: clamp(0.95rem, 1.15vw, 1.05rem);
      line-height: 1.7;
    }
    .hero .actions { gap: 16px; }
    .hero-meta {
      border-left: 1px solid rgba(213, 214, 208, 0.18);
      padding: 4px 0 4px 28px;
      display: flex;
      flex-direction: column;
      gap: 22px;
    }
    .hero-meta .meta-label {
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(213, 214, 208, 0.5);
    }
    .hero-meta .meta-value {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.92rem;
      color: rgba(246, 243, 239, 0.88);
      font-weight: 400;
      margin-top: 6px;
      line-height: 1.5;
    }
    .hero-scroll {
      position: absolute;
      bottom: 32px;
      left: 0;
      right: 0;
      display: flex;
      justify-content: center;
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.64rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(213, 214, 208, 0.4);
      pointer-events: none;
    }
    .hero-scroll::after {
      content: '';
      display: block;
      width: 1px;
      height: 28px;
      background: linear-gradient(to bottom, rgba(213, 214, 208, 0.45), transparent);
      margin-left: 12px;
    }

    /* ═══════════ SESSÃO 2 (manifesto) ═══════════ */
    .sessao2 { padding: 8rem 0 6rem; }
    .sessao2-grid {
      grid-template-columns: 60px 1fr 1fr;
      gap: 3.5rem;
      align-items: start;
      margin-bottom: 2.5rem;
    }
    .sessao2-mark {
      font-family: 'Comfortaa', cursive;
      font-size: 4rem;
      line-height: 0.8;
      color: rgba(213, 214, 208, 0.35);
      font-weight: 400;
      padding-top: 0;
    }
    .sessao2-titulo {
      font-size: clamp(1.35rem, 2.3vw, 2rem);
      line-height: 1.32;
      font-weight: 700;
    }
    .sessao2-corpo {
      align-self: center;
      padding-top: 0.4rem;
      border-left: 1px solid rgba(213, 214, 208, 0.18);
      padding-left: 1.75rem;
      font-size: clamp(0.92rem, 1.1vw, 1.02rem);
      line-height: 1.78;
    }
    .sessao2-assinatura {
      font-style: italic;
      font-family: Georgia, serif !important;
      font-size: clamp(0.95rem, 1.35vw, 1.2rem) !important;
      color: rgba(213, 214, 208, 0.78) !important;
      text-align: center !important;
      padding-top: 3rem !important;
      border-top: 1px solid rgba(213, 214, 208, 0.12) !important;
      max-width: 720px;
      margin: 0 auto !important;
      letter-spacing: 0 !important;
    }

    /* ═══════════ SOLUÇÕES — cards refinados ═══════════ */
    .sec-solucoes { padding: 7rem 0; }
    .sol-grid {
      grid-template-columns: repeat(12, 1fr);
      gap: 1.5rem;
    }
    .sol-card:nth-child(1) { grid-column: 1 / 8; }
    .sol-card:nth-child(2) { grid-column: 8 / 13; }
    .sol-card:nth-child(3) { grid-column: 1 / 6; }
    .sol-card:nth-child(4) { grid-column: 6 / 13; }

    .sol-card {
      position: relative;
      padding: 36px 32px 32px;
      border-radius: 16px;
      border: 1px solid rgba(255, 255, 255, 0.08);
      background: rgba(255, 255, 255, 0.035);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      overflow: hidden;
      transition: transform 0.4s cubic-bezier(.2,.7,.2,1),
                  border-color 0.3s, background 0.3s, box-shadow 0.3s;
    }
    .sol-card::before {
      content: attr(data-num);
      position: absolute;
      top: 24px;
      right: 28px;
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      color: rgba(213, 214, 208, 0.4);
    }
    .sol-card::after {
      content: '';
      position: absolute;
      left: 32px;
      right: 32px;
      bottom: 0;
      height: 1px;
      background: linear-gradient(90deg, rgba(213, 214, 208, 0.35), transparent);
      transform: scaleX(0.2);
      transform-origin: left;
      transition: transform 0.45s cubic-bezier(.2,.7,.2,1);
    }
    .sol-card:hover {
      transform: translateY(-6px);
      border-color: rgba(255, 255, 255, 0.2);
      background: rgba(255, 255, 255, 0.06);
      box-shadow: 0 32px 80px rgba(0, 0, 0, 0.4);
    }
    .sol-card:hover::after { transform: scaleX(1); }
    .sol-card .card-icon {
      width: 38px;
      height: 38px;
      margin-bottom: 1.75rem;
      opacity: 0.85;
    }
    .sol-card h3 {
      margin: 0 0 12px;
      font-size: 1.08rem;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: -0.005em;
      max-width: 92%;
    }
    .sol-card p {
      margin: 0;
      color: rgba(246, 243, 239, 0.62);
      font-size: 0.93rem;
      line-height: 1.7;
    }

    /* ═══════════ CASES — showcase horizontal ═══════════ */
    #cases { padding: 7rem 0; }
    #cases .grid.three {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      border-top: 1px solid rgba(213, 214, 208, 0.12);
      border-bottom: 1px solid rgba(213, 214, 208, 0.12);
    }
    #cases .grid.three .card {
      border: 0 !important;
      background: transparent !important;
      border-radius: 0 !important;
      padding: 3rem 2rem 3rem !important;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;
      backdrop-filter: none !important;
      transform: none !important;
      box-shadow: none !important;
      transition: background 0.3s !important;
    }
    #cases .grid.three .card:hover {
      transform: none !important;
      background: rgba(255, 255, 255, 0.025) !important;
      box-shadow: none !important;
    }
    #cases .grid.three .card + .card {
      border-left: 1px solid rgba(213, 214, 208, 0.12) !important;
    }
    #cases .case-logo {
      width: 72px;
      height: 72px;
      object-fit: contain;
      margin-bottom: 1rem;
      padding: 10px;
      border-radius: 14px;
      background: rgba(246, 243, 239, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      filter: grayscale(1) brightness(1.25) contrast(1);
      opacity: 0.9;
      transition: filter 0.4s, opacity 0.4s;
    }
    #cases .grid.three .card:hover .case-logo {
      filter: grayscale(0) brightness(1) contrast(1);
      opacity: 1;
    }
    #cases .grid.three .card h3 {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.05rem;
      color: #f6f3ef;
      letter-spacing: -0.005em;
    }
    #cases .grid.three .card p {
      margin: 0;
      font-size: 0.9rem;
      line-height: 1.65;
      color: rgba(246, 243, 239, 0.6);
      max-width: 280px;
    }

    /* Section title é substituído pelo block-header em sections com block-header */
    section:has(.block-header) > .container > .section-title { display: none; }

    /* ═══════════ SOBRE — connector line ═══════════ */
    #sobre { padding: 7rem 0; }
    .sobre-grid {
      grid-template-columns: 0.95fr 1fr;
      gap: 5rem;
      align-items: start;
    }
    .sobre-foto-wrap { padding-bottom: 0; }
    .sobre-foto { padding-bottom: 0; }
    .sobre-foto::before {
      content: '';
      position: absolute;
      top: 1rem;
      right: -1rem;
      bottom: -1rem;
      width: calc(100% - 1rem);
      border: 1px solid rgba(213, 214, 208, 0.2);
      border-radius: 12px;
      z-index: 0;
      pointer-events: none;
    }
    .sobre-foto .team-photo {
      position: relative;
      z-index: 1;
      border-radius: 14px;
    }
    .sobre-glass {
      bottom: -2rem;
      left: 1.5rem;
      right: 1.5rem;
      /* liquid glass real: quase transparente, reflexo sutil no topo */
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: blur(22px) saturate(1.6) brightness(1.05);
      -webkit-backdrop-filter: blur(22px) saturate(1.6) brightness(1.05);
      border-color: rgba(255, 255, 255, 0.16);
      padding: 1.25rem 1.5rem;
      border-radius: 12px;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        inset 0 -1px 0 rgba(0, 0, 0, 0.12),
        0 18px 48px rgba(0, 0, 0, 0.38);
      overflow: hidden;
      z-index: 2;
    }
    .sobre-glass::before {
      content: '';
      position: absolute;
      inset: 1px;
      border-radius: inherit;
      /* reflexo especular leve — não branqueia o card */
      background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.14), transparent 42%),
        linear-gradient(150deg, rgba(255, 255, 255, 0.07), transparent 50%);
      pointer-events: none;
    }
    .sobre-glass p {
      position: relative;
      z-index: 1;
      text-align: center;
      font-style: italic;
      font-family: Georgia, serif;
      font-size: clamp(0.85rem, 1.1vw, 0.98rem);
      color: rgba(255, 255, 255, 0.92);
      text-shadow: 0 1px 12px rgba(0, 0, 0, 0.42);
      line-height: 1.55;
    }
    .sobre-lista {
      gap: 0;
      position: relative;
    }
    .sobre-lista::before { display: none; }
    .sobre-lista li {
      padding: 1.5rem 0;
      align-items: flex-start;
      gap: 1.5rem;
      border-bottom: 1px solid rgba(213, 214, 208, 0.07);
      position: relative;
    }
    .sobre-lista li:last-child { border-bottom: none; }
    .sobre-lista li:first-child { padding-top: 0; }
    .sobre-num {
      width: 56px;
      height: 56px;
      min-width: 56px;
      background: transparent;
      border: 0;
      /* número menor que a bolinha, deslocado pra baixo-direita */
      font-size: 1.4rem;
      font-weight: 800;
      color: #f6f3ef;
      letter-spacing: -0.02em;
      padding-right: 0;
      /* deslocamento: empurra o texto do centro pra direita e pra baixo */
      justify-content: center;
      align-items: center;
      padding-top: 15px;
      padding-left: 25px;
      position: relative;
      z-index: 1;
    }
    .sobre-num::before {
      content: '';
      position: absolute;
      /* bolinha sólida */
      width: 40px;
      height: 40px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: #9A01CD;
      z-index: -1;
    }
    .sobre-lista strong {
      font-size: 1rem;
      letter-spacing: -0.005em;
      margin-bottom: 6px;
      color: #f6f3ef;
    }
    .sobre-lista p {
      font-size: 0.92rem;
      line-height: 1.7;
      color: rgba(213, 214, 208, 0.62);
    }

    /* ═══════════ DIAGNÓSTICO — moldura ═══════════ */
    #diagnostico { padding: 8rem 0; }
    .diag-frame {
      max-width: 900px;
      margin: 0 auto;
      padding: 5rem 3rem;
      border: 1px solid rgba(213, 214, 208, 0.18);
      border-radius: 20px;
      background: rgba(8, 8, 8, 0.45);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      position: relative;
      overflow: hidden;
    }
    .diag-frame::before,
    .diag-frame::after {
      content: '';
      position: absolute;
      width: 24px;
      height: 24px;
      border: 1px solid rgba(213, 214, 208, 0.45);
    }
    .diag-frame::before {
      top: 18px;
      left: 18px;
      border-right: none;
      border-bottom: none;
      border-top-left-radius: 6px;
    }
    .diag-frame::after {
      bottom: 18px;
      right: 18px;
      border-left: none;
      border-top: none;
      border-bottom-right-radius: 6px;
    }
    .diag-tagline {
      justify-content: center;
      gap: 1.25rem;
      margin-bottom: 2.5rem;
      padding-bottom: 2rem;
      border-bottom: 1px solid rgba(213, 214, 208, 0.12);
      flex-wrap: wrap;
    }
    .diag-left, .diag-right {
      font-size: clamp(0.78rem, 1.15vw, 1rem);
      letter-spacing: 0.18em;
      text-align: center;
      flex: 0 1 auto;
    }
    .diag-left { color: rgba(213, 214, 208, 0.45); }
    .diag-divider {
      color: rgba(213, 214, 208, 0.3);
      font-size: 1rem;
    }
    #diagnostico .section-title {
      max-width: 100%;
      text-align: center;
      font-size: clamp(1.5rem, 2.6vw, 2.2rem);
      line-height: 1.25;
      padding-bottom: 1.25rem;
      margin-bottom: 1.5rem;
    }
    #diagnostico .section-title::after { display: none; }
    #diagnostico .muted {
      margin: 0 auto 2.25rem;
      text-align: center;
      font-size: 1rem;
      color: rgba(213, 214, 208, 0.62);
    }
    #diagnostico .button.primary {
      min-height: 48px;
      padding: 0 30px;
      font-size: 0.66rem;
      letter-spacing: 0.16em;
      font-weight: 700;
    }

    /* ═══════════ FOOTER refinado ═══════════ */
    .footer {
      padding: 64px 0 32px;
      background: rgba(0, 0, 0, 0.6);
    }
    .footer-inner {
      grid-template-columns: 1.2fr 1fr;
      gap: 60px;
      padding-bottom: 48px;
    }
    .footer-brand p { max-width: 280px; font-size: 0.8rem; line-height: 1.6; }
    .footer-links {
      gap: 32px;
      justify-content: flex-end;
      align-items: flex-start;
      flex-wrap: wrap;
    }
    .footer-links a {
      font-family: 'Comfortaa', sans-serif;
      font-size: 0.74rem;
      letter-spacing: 0.12em;
      color: rgba(246, 243, 239, 0.7);
      position: relative;
      padding-bottom: 4px;
    }
    .footer-links a::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 1px;
      background: rgba(246, 243, 239, 0.8);
      transition: width 0.25s;
    }
    .footer-links a:hover::after { width: 100%; }
    .footer-bottom {
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
    }

    /* ═══════════ MOBILE ═══════════ */
    @media (max-width: 900px) {
      .hero .hero-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
      .hero-meta {
        border-left: none;
        border-top: 1px solid rgba(213, 214, 208, 0.15);
        padding: 1.5rem 0 0;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.5rem 2.5rem;
      }
      .hero-scroll { display: none; }
      .sessao2-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
      }
      .sessao2-mark { display: none; }
      .sessao2-corpo { border-left: none; padding-left: 0; }
      .sol-grid { grid-template-columns: 1fr; }
      .sol-card:nth-child(n) { grid-column: 1 / -1; }
      #cases .grid.three {
        grid-template-columns: 1fr;
      }
      #cases .grid.three .card + .card {
        border-left: none !important;
        border-top: 1px solid rgba(213, 214, 208, 0.12) !important;
      }
      /* ── espaçamentos mobile ── */
      section { padding: 48px 0; }
      .hero { padding: 56px 0 48px; }
      .sessao2 { padding: 3rem 0; }
      .sec-solucoes { padding: 3rem 0; }
      #cases { padding: 3rem 0; }
      #sobre { padding: 3rem 0; }
      #diagnostico { padding: 3rem 0; }

      .block-header { margin-bottom: 2rem; }

      /* sobre grid */
      .sobre-grid { grid-template-columns: 1fr; gap: 1.5rem; }
      .sobre-foto::before { display: none; }

      /* glass vira posição estática no mobile — sem overlap */
      .sobre-glass {
        position: relative;
        bottom: auto;
        left: auto;
        right: auto;
        margin-top: 1rem;
      }

      .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
      .footer-links { justify-content: flex-start; }
      .diag-frame { padding: 2.5rem 1.25rem; }
    }
