/* ==========================================================================
   Kohta — folha de estilo da landing page
   Gerado a partir do bundle do Claude Design. Os TOKENS abaixo sao a unica
   fonte de verdade da identidade visual: troque a marca aqui, num so lugar.
   ========================================================================== */

/* ----- Fontes locais (JetBrains Mono + Space Grotesk) ----- */
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ----- Tokens + base ----- */
/* ====================================================================
       TOKENS — troque a identidade visual AQUI, num só lugar.
       Cores, tipografia, espaçamento e raio são todos variáveis.
       ==================================================================== */
    :root{
      /* superfícies */
      --bg:#0e1311;
      --bg-2:#0b100e;
      --surface:#161d1a;
      --surface-2:#19211d;
      --line:#243029;
      --line-soft:#1d2622;
      /* texto */
      --ink:#e8f0ec;
      --muted:#9aa8a1;
      --faint:#7d8a84;
      /* marca / acento (1 cor só) */
      --accent:#c2ff5a;
      --accent-ink:#0b100e;
      --warn:#ffd36b;
      /* tipografia */
      --font-display:'Space Grotesk',system-ui,sans-serif;
      --font-mono:'JetBrains Mono',ui-monospace,monospace;
      /* forma & medida */
      --radius:3px;
      --radius-lg:6px;
      --maxw:1080px;
      --pad-x:32px;
      --pad-section:104px;
    }
    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-display); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
    /* guarda contra overflow horizontal no mobile */
    img, svg{ max-width:100%; }
    h1, h2, h3, p{ overflow-wrap:break-word; }
    @keyframes blink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
    @keyframes dot{ 0%,60%,100%{opacity:.25; transform:translateY(0)} 30%{opacity:1; transform:translateY(-3px)} }
    @keyframes sweep{ 0%{transform:translateX(-100%)} 100%{transform:translateX(220%)} }

    /* ----- Esteira (marquee) das logos de clientes ----- */
    @keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
    .logo-marquee{
      position:relative; overflow:hidden;
      -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
      mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    }
    .logo-marquee__track{ display:flex; align-items:center; gap:28px; width:max-content; animation:marquee 28s linear infinite; }
    .logo-marquee:hover .logo-marquee__track{ animation-play-state:paused; }
    .logo-chip{ display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:12px 20px; flex:none; }
    .logo-chip img{ height:46px; width:auto; display:block; border-radius:2px; }

    /* ----- Foco visível por teclado (acessibilidade) ----- */
    :focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }

    /* ----- Faixa de confiança estática (clientes reais, sem inflar volume) ----- */
    .trust-row{ display:flex; flex-wrap:wrap; gap:26px 56px; align-items:flex-start; justify-content:center; }
    .trust-item{ margin:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
    .trust-item figcaption{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.04em; color:var(--faint); text-align:center; }

    /* ----- Hover suave em cards (comunica interatividade; sutil) ----- */
    .card-soft{ transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
    .card-soft:hover{ transform:translateY(-3px); border-color:var(--accent); box-shadow:0 10px 30px rgba(0,0,0,.28); }

    /* ----- Reveal on-scroll. Respeita prefers-reduced-motion (≠ marquee, que é
            decisão à parte no CLAUDE.md). Fallback: sem JS/observer, fica visível. ----- */
    .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
    .reveal.is-visible{ opacity:1; transform:none; }
    @media (prefers-reduced-motion: reduce){
      .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
    }

    /* ----- CTA fixo no rodapé da viewport — só no mobile ----- */
    .sticky-cta{ display:none; }
    @media (max-width: 760px){
      .sticky-cta{
        display:block; position:fixed; left:16px; right:16px; bottom:16px; z-index:50;
        text-align:center; font-family:var(--font-mono); font-size:15px; font-weight:500;
        color:var(--accent-ink); background:var(--accent); text-decoration:none;
        padding:15px 20px; border-radius:var(--radius); box-shadow:0 8px 28px rgba(0,0,0,.42);
      }
    }

    /* ====================================================================
       RESPONSIVO — a página nasceu com layout de desktop fixo (grids inline).
       Aqui os grids colapsam e o espaçamento encolhe nas telas menores.
       Os grid-template-columns vêm inline (alta especificidade) → override com
       !important; o espaçamento vem da redefinição dos tokens (cascateia nos
       paddings inline que usam var(--pad-*)).
       ==================================================================== */
    /* Tablet */
    @media (max-width: 900px){
      .main-nav{ gap:16px; }
      .grid-como{ grid-template-columns:1fr !important; }
      .grid-beneficios{ grid-template-columns:repeat(2,1fr) !important; }
      .grid-publico{ grid-template-columns:1fr !important; }
      .grid-planos{ grid-template-columns:repeat(2,1fr) !important; }
    }
    /* Celular */
    @media (max-width: 600px){
      :root{ --pad-x:20px; --pad-section:68px; }
      /* ----- Hero mais leve no mobile (não assustar com muro de texto) ----- */
      .hero{ padding-top:36px !important; }                 /* hoje 72px inline */
      .hero-badge{ font-size:10px !important; letter-spacing:0.07em !important; margin-bottom:18px !important; }  /* cabe em 1 linha e compacta o topo */
      .hero > div{ gap:32px !important; }                   /* gap interno do grid: hoje 48px */
      .hero-title{ font-size:clamp(28px,7.5vw,40px) !important; line-height:1.1 !important; }  /* menor e entrelinha mais arejada (inline: 1.02) */
      .hero-sub{ font-size:15.5px !important; line-height:1.5 !important; margin-bottom:26px !important; }  /* inline: 19px/1.55/34px — ganho principal */
      .hero-actions{ flex-direction:column !important; align-items:stretch !important; }  /* botões empilhados e organizados */
      .hero-actions a{ text-align:center; }
      .main-nav a:not(:last-child){ display:none; }  /* mantém só o botão "ativar agente" */
      .grid-beneficios{ grid-template-columns:1fr !important; }
      .grid-planos{ grid-template-columns:1fr !important; }
      .grid-depoimentos{ grid-template-columns:1fr !important; }
      .footer-right{ text-align:left !important; }
      body{ padding-bottom:84px; }  /* respiro pro CTA fixo não cobrir o rodapé */
    }
