    :root {
      --accent: #E84A0A;
    }

    /* ---------- estados existentes + polimento de press ---------- */
    .nav-link:hover {
      color: #F2F2F2 !important;
    }

    .btn-accent {
      transition: transform 160ms ease-out, filter 160ms ease;
    }

    .btn-accent:active {
      transform: scale(0.97);
    }

    @media (hover: hover) and (pointer: fine) {
      .btn-accent:hover {
        filter: brightness(1.1);
      }
    }

    /* ---------- menu hamburguer ---------- */
    .nav-burger {
      -webkit-tap-highlight-color: transparent;
    }

    .nav-burger[aria-expanded="true"] .burger-lines>span:nth-child(1) {
      transform: translateY(5.25px) rotate(45deg);
    }

    .nav-burger[aria-expanded="true"] .burger-lines>span:nth-child(2) {
      opacity: 0;
    }

    .nav-burger[aria-expanded="true"] .burger-lines>span:nth-child(3) {
      transform: translateY(-5.25px) rotate(-45deg);
    }

    .nav-panel {
      opacity: 0;
      transform: translateY(-8px);
      transition: opacity 180ms ease-out, transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    .nav-panel[data-open="true"] {
      opacity: 1;
      transform: none;
    }

    /* ---------- botão flutuante WhatsApp ---------- */
    .wa-float {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 60;
      display: inline-flex;
      gap: 10px;
      align-items: center;
      height: 52px;
      padding: 0 22px;
      box-sizing: border-box;
      border-radius: 26px;
      background: var(--accent);
      color: #FFFFFF;
      font-weight: 559;
      font-size: 14px;
      line-height: 20px;
      white-space: nowrap;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
      transition: transform 160ms ease-out, filter 160ms ease;
    }

    .wa-float:active {
      transform: scale(0.97);
    }

    @media (hover: hover) and (pointer: fine) {
      .wa-float:hover {
        filter: brightness(1.08);
        color: #FFFFFF;
      }
    }

    /* ---------- modal ---------- */
    .lead-overlay {
      position: fixed;
      inset: 0;
      z-index: 100;
      /* flex-start + margin:auto no painel = centralizado quando cabe,
     sem cortar o topo quando o conteúdo é mais alto que a viewport
     (acontece no mobile com o teclado virtual aberto). */
      align-items: flex-start;
      justify-content: center;
      padding: 20px;
      box-sizing: border-box;
      overflow-y: auto;
      background: rgba(11, 16, 20, 0.72);
      backdrop-filter: blur(6px);
      opacity: 0;
      transition: opacity 200ms ease-out;
    }

    .lead-overlay[data-open="true"] {
      opacity: 1;
    }

    .lead-overlay[data-closing="true"] {
      transition-duration: 150ms;
    }

    .lead-panel {
      position: relative;
      width: 100%;
      max-width: 480px;
      box-sizing: border-box;
      margin: auto;
      background: #1C1C1C;
      border: 1px solid rgba(255, 255, 255, 0.07);
      border-radius: 20px;
      padding: 32px;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
      opacity: 0;
      transform: scale(0.96) translateY(8px);
      transition: opacity 220ms ease-out, transform 220ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    .lead-overlay[data-open="true"] .lead-panel {
      opacity: 1;
      transform: none;
    }

    .lead-overlay[data-closing="true"] .lead-panel {
      transition-duration: 150ms;
    }

    .lead-close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 32px;
      height: 32px;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.07);
      border-radius: 4px;
      color: #6B6B6B;
      cursor: pointer;
      transition: color 150ms ease, border-color 150ms ease;
    }

    @media (hover: hover) and (pointer: fine) {
      .lead-close:hover {
        color: #F2F2F2;
        border-color: rgba(255, 255, 255, 0.2);
      }
    }

    .lead-eyebrow {
      display: flex;
      gap: 12px;
      align-items: center;
      height: 24px;
    }

    .lead-eyebrow-bar {
      width: 1px;
      height: 24px;
      background: var(--accent);
    }

    .lead-eyebrow>span:last-child {
      font-weight: 559;
      font-size: 12px;
      line-height: 16px;
      letter-spacing: 3.6px;
      color: var(--accent);
      text-transform: uppercase;
    }

    .lead-title {
      margin: 16px 0 0 0;
      font-weight: 753;
      font-size: 28px;
      line-height: 34px;
      letter-spacing: -0.5px;
      color: #F2F2F2;
    }

    .lead-sub {
      margin: 10px 0 0 0;
      font-weight: 300;
      font-size: 15px;
      line-height: 23px;
      color: #A8A8A8;
    }

    .lead-field {
      display: block;
      margin-top: 18px;
    }

    .lead-field>span:first-child {
      display: block;
      margin-bottom: 8px;
      font-weight: 559;
      font-size: 11px;
      line-height: 15px;
      letter-spacing: 1.2px;
      color: #6B6B6B;
      text-transform: uppercase;
    }

    .lead-opt {
      font-style: normal;
      font-weight: 433;
      letter-spacing: 0.6px;
      color: #5A5A5A;
      text-transform: none;
    }

    .lead-field input,
    .lead-field textarea {
      display: block;
      width: 100%;
      box-sizing: border-box;
      padding: 12px 14px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.07);
      border-radius: 4px;
      color: #F2F2F2;
      font-family: inherit;
      font-size: 16px;
      line-height: 22px;
      -webkit-appearance: none;
      appearance: none;
      transition: border-color 150ms ease, background 150ms ease;
    }

    .lead-field textarea {
      resize: vertical;
      min-height: 78px;
    }

    .lead-field input::placeholder,
    .lead-field textarea::placeholder {
      color: #5A5A5A;
    }

    .lead-field input:focus,
    .lead-field textarea:focus {
      outline: none;
      border-color: var(--accent);
      background: rgba(255, 255, 255, 0.06);
    }

    .lead-err {
      display: none;
      margin-top: 6px;
      font-size: 12px;
      line-height: 16px;
      color: #F87171;
    }

    .lead-field[data-invalid="true"] input,
    .lead-field[data-invalid="true"] textarea {
      border-color: #F87171;
    }

    .lead-field[data-invalid="true"] .lead-err {
      display: block;
    }

    .lead-submit {
      margin-top: 26px;
      width: 100%;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: center;
      height: 52px;
      padding: 0 20px;
      box-sizing: border-box;
      border: none;
      border-radius: 26px;
      background: var(--accent);
      color: #FFFFFF;
      font-family: inherit;
      font-weight: 559;
      font-size: 14px;
      line-height: 20px;
      cursor: pointer;
      transition: transform 160ms ease-out, filter 160ms ease;
    }

    .lead-submit:active {
      transform: scale(0.98);
    }

    @media (hover: hover) and (pointer: fine) {
      .lead-submit:hover {
        filter: brightness(1.1);
      }
    }

    .lead-note {
      margin: 14px 0 0 0;
      font-weight: 433;
      font-size: 12px;
      line-height: 17px;
      color: #6B6B6B;
      text-align: center;
    }

    .lead-success {
      text-align: center;
      padding: 12px 0 4px 0;
    }

    .lead-check {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      height: 52px;
      margin-top: 20px;
      border: 1px solid var(--accent);
      border-radius: 50%;
    }

    .lead-success-title {
      margin: 18px 0 0 0;
      font-weight: 753;
      font-size: 20px;
      line-height: 26px;
      color: #F2F2F2;
    }

    .lead-manual {
      display: inline-block;
      margin-top: 18px;
      font-weight: 559;
      font-size: 13px;
      line-height: 18px;
      letter-spacing: 0.3px;
      color: var(--accent);
      border-bottom: 1px solid rgba(232, 74, 10, 0.4);
      padding-bottom: 2px;
    }

    /* ---------- movimento reduzido ---------- */
    @media (prefers-reduced-motion: reduce) {
      .lead-panel {
        transform: none !important;
        transition: opacity 150ms ease !important;
      }

      .nav-panel {
        transform: none !important;
        transition: opacity 150ms ease !important;
      }

      .btn-accent:active,
      .lead-submit:active,
      .wa-float:active {
        transform: none;
      }
    }

    /* ============================================================
   RESPONSIVO — LEIA ANTES DE EDITAR
   Os estilos do HTML acima são todos INLINE, então sobrescrever
   exige !important. Todas as regras abaixo vivem dentro de
   @media (max-width: …), ou seja: NÃO existem no desktop.
   O layout desktop aprovado permanece intocado por construção.

   O seletor [style*="padding: 0 56px"] pega de uma vez todos os
   containers que usam o padding padrão do design — inclusive
   seções novas que venham a usar o mesmo valor.
   ============================================================ */
    @media (max-width: 1024px) {
      [style*="padding: 0 56px"] {
        padding-left: 32px !important;
        padding-right: 32px !important;
      }

      .cta-inner {
        padding-left: 32px !important;
        padding-right: 32px !important;
      }
    }

    @media (max-width: 768px) {
      .page-root {
        min-width: 0 !important;
      }

      [style*="padding: 0 56px"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      /* NAVBAR */
      .nav-links {
        display: none !important;
      }

      .nav-burger {
        display: flex !important;
      }

      .nav-tag {
        display: none !important;
      }

      .nav-cta {
        height: 36px !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
      }

      /* HERO */
      .hero-sec {
        min-height: 0 !important;
        padding: 96px 0 56px 0 !important;
      }

      .hero-inner {
        padding-bottom: 0 !important;
      }

      .h-hero {
        font-size: clamp(30px, 8.6vw, 68px) !important;
        line-height: 1.06 !important;
        letter-spacing: 0 !important;
      }

      .badges {
        flex-wrap: wrap !important;
        padding: 28px 0 32px 0 !important;
      }

      .stats {
        display: flex !important;
        width: 100% !important;
        margin-top: 36px !important;
      }

      .stats>div {
        flex: 1 !important;
        padding: 14px 8px !important;
      }

      .stats>div>span:first-child {
        font-size: 20px !important;
        line-height: 26px !important;
      }

      .stats>div>span:last-child {
        font-size: 11px !important;
        line-height: 15px !important;
        white-space: normal !important;
      }

      /* SOBRE */
      .sobre-sec {
        padding: 72px 0 !important;
      }

      .grad-h {
        background: linear-gradient(180deg, rgba(11, 16, 20, 0.78) 0%, rgba(11, 16, 20, 0.90) 55%, rgba(11, 16, 20, 0.96) 100%) !important;
      }

      .col-556 {
        max-width: none !important;
      }

      .h-sobre {
        font-size: clamp(34px, 10vw, 60px) !important;
        line-height: 1.05 !important;
      }

      .nowrap-off,
      .h-sobre {
        white-space: normal !important;
      }

      /* POSICIONAMENTO + ECOSSISTEMA (foto lateral → foto acima do texto) */
      .pos-sec,
      .eco-sec {
        padding: 0 0 72px 0 !important;
      }

      .split-wrap {
        min-height: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      /* A foto sai do posicionamento absoluto e vira uma faixa acima do texto.
     O ponto focal (background-position) é calculado por foto para o ROSTO
     ficar a ~130px do topo da faixa — com 'center' a cabeça é cortada e
     ainda fica atrás da navbar fixa (65px). Ao trocar de foto, recalcule. */
      .split-img {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        bottom: auto !important;
        width: 100% !important;
        height: 300px !important;
        border-radius: 0 !important;
        background-position: 50% 24% !important;
        /* gustavo-palestra.jpg (2624×3936) */
      }

      .split-img.eco-img {
        background-position: 50% 8% !important;
      }

      /* gustavo-painel.jpg (3840×5760) */
      .grad-side {
        display: none !important;
      }

      .split-txt {
        margin-left: 0 !important;
        max-width: none !important;
        padding: 40px 20px 0 20px !important;
      }

      .h-pos,
      .h-eco {
        font-size: clamp(30px, 8.6vw, 48px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.5px !important;
      }

      /* TRANSFORMAÇÃO */
      .transf-sec {
        background-size: cover !important;
        background-position: 72% 30% !important;
      }

      .m-overlay {
        display: block !important;
      }

      .transf-body {
        padding: 64px 0 72px 0 !important;
      }

      .transf-inner {
        display: block !important;
      }

      .col-592 {
        width: 100% !important;
      }

      .h-transf {
        font-size: clamp(30px, 8.6vw, 64px) !important;
        line-height: 1.08 !important;
      }

      .transf-card {
        padding: 24px !important;
        margin-top: 24px !important;
      }

      /* PILARES */
      .pilares-sec {
        padding: 80px 0 !important;
      }

      .h-pilares {
        max-width: none !important;
        font-size: clamp(28px, 8.2vw, 48px) !important;
        line-height: 1.1 !important;
        letter-spacing: -0.5px !important;
      }

      .pilar-grid {
        padding: 40px 0 0 0 !important;
      }

      .pilar-card {
        width: 100% !important;
        padding: 24px !important;
      }

      /* SLIDES DE PDF → gêmeo em HTML (texto legível e indexável) */
      .slide-img {
        display: none !important;
      }

      .slide-html {
        display: block !important;
      }

      /* PARA QUEM É */
      .quem-sec {
        padding: 72px 0 !important;
      }

      .split-2 {
        display: block !important;
      }

      .col-544 {
        width: 100% !important;
      }

      .col-544-a {
        padding-top: 0 !important;
        padding-bottom: 32px !important;
      }

      .h-quem {
        font-size: clamp(30px, 8.6vw, 48px) !important;
        line-height: 1.12 !important;
      }

      /* PALESTRAS (altura fixa + filhos absolutos → fluxo normal) */
      .pal-sec {
        padding: 0 0 72px 0 !important;
      }

      .pal-wrap {
        height: auto !important;
        padding: 96px 0 0 0 !important;
      }

      .pal-grad {
        height: 62% !important;
      }

      .pal-bar {
        width: 100% !important;
      }

      /* `relative` (não `static`): mantém no fluxo mas continua sendo elemento
     posicionado, senão os overlays absolutos da foto pintam por cima e o
     título/cards desaparecem. */
      .pal-title,
      .pal-cards {
        position: relative !important;
        z-index: 1 !important;
        transform: none !important;
        top: auto !important;
        left: auto !important;
        max-width: none !important;
      }

      .h-pal {
        max-width: none !important;
        margin-top: 24px !important;
        font-size: clamp(30px, 8.6vw, 64px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.5px !important;
      }

      .pal-cards {
        flex-direction: column !important;
        margin-top: 40px !important;
        padding-bottom: 8px !important;
      }

      .pal-cards>div {
        min-height: 0 !important;
        padding: 24px !important;
      }

      /* CTA */
      .cta-inner {
        padding: 80px 20px !important;
      }

      .h-cta {
        max-width: none !important;
        font-size: clamp(32px, 9.2vw, 72px) !important;
        line-height: 1.06 !important;
        letter-spacing: 0 !important;
      }

      .cta-box {
        padding: 0 !important;
      }

      /* FOOTER */
      .footer-inner {
        flex-direction: column !important;
        gap: 14px !important;
        text-align: center !important;
      }

      /* WhatsApp flutuante compacto (só ícone) */
      .wa-float {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
        padding: 0;
        justify-content: center;
      }

      .wa-label {
        display: none;
      }

      /* Modal */
      .lead-panel {
        padding: 26px 20px;
        border-radius: 16px;
      }

      .lead-title {
        font-size: 24px;
        line-height: 30px;
      }
    }

    @media (max-width: 430px) {
      .stats>div {
        padding: 12px 6px !important;
      }

      .stats>div>span:first-child {
        font-size: 18px !important;
      }
    }

/* Links das páginas de conteúdo no rodapé da home */
.footer-links a:hover {
  color: #F2F2F2 !important;
}

@media (max-width: 768px) {
  .footer-links {
    padding-left: 20px !important;
    padding-right: 20px !important;
    gap: 14px !important;
    row-gap: 12px !important;
  }
}

/* Cards das páginas de conteúdo: o grid inline de 2 e 3 colunas não cabe em
   telas estreitas. Sem isto o conteúdo era CORTADO, não rolava, porque
   .page-root tem overflow-x: hidden. */
@media (max-width: 768px) {
  .grid-cards {
    grid-template-columns: 1fr !important;
  }
}
