/* ═══════════════════════════════════════════════════════════════════════
 * ECOSS_HOME_V31_CSS · versão 2026-04-24T16:30:31Z · fonte Onda 3.3
 * Home Nova Premium V3.1 · CSS externo para page_on_front 131
 * Enfileirado condicionalmente pelo mu-plugin ecossistema-anjos-onda0.php v0.3.3
 * Contorna `wpautop()` que quebrava CSS inline em post_content (APRENDIZADOS §1.23)
 * ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
 * ECOSSISTEMA ANJOS — DESIGN TOKENS v1.0.0
 * ───────────────────────────────────────────────────────────────────────
 * Variáveis canônicas do sistema visual. Fonte única de verdade.
 * Referência: 02-direcao-visual-premium.md
 *
 * Carregamento: este arquivo deve ser carregado ANTES de qualquer CSS
 * de componente ou página. No Customizer, ordem:
 *   1) 01-tokens.css        ← este arquivo
 *   2) 02-base-premium.css  ← reset + tipografia base
 *   3) 03-components.css    ← botões, cards, cabeçalhos de seção
 *   4) 04-overrides-elementor.css ← ajustes pontuais do tema/Elementor
 *
 * Nunca alterar valores deste arquivo sem atualizar 02-direcao-visual-premium.md
 * ═══════════════════════════════════════════════════════════════════════ */

:root {
    /* ─── PALETA NEUTRA (90% do site) ────────────────────────────────── */
    --ecoss-porcelana:   #FBFAF8;  /* fundo base */
    --ecoss-perola:      #F3F0EB;  /* fundo seção alternada */
    --ecoss-grafite:     #1C1A19;  /* texto primário */
    --ecoss-grafite-60:  #5E5A57;  /* texto secundário */
    --ecoss-nevoa:       #E4DFD7;  /* linhas, divisores */

    /* ─── ACENTOS PREMIUM (10%, reservados) ──────────────────────────── */
    --ecoss-marsala:       #6D1B1D;  /* acento primário: numeração, links, selos */
    --ecoss-bordo:         #4E0F13;  /* acento primário escuro: citações, footer */
    --ecoss-dourado:       #C49B3C;  /* sinal de AÇÃO: CTAs principais */
    --ecoss-dourado-soft:  #D9B968;  /* hover em CTAs */
    --ecoss-terracota:     #A74A2A;  /* alerta (raro) */

    /* ─── TIPOGRAFIA ──────────────────────────────────────────────────── */
    --ecoss-font-display: 'Fraunces', 'Playfair Display', Georgia, serif;
    --ecoss-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
    --ecoss-font-mono:    'JetBrains Mono', Menlo, Consolas, monospace;

    /* Escala (desktop) */
    --ecoss-fs-h1:     64px;  --ecoss-lh-h1:     72px;
    --ecoss-fs-h2:     40px;  --ecoss-lh-h2:     48px;
    --ecoss-fs-h3:     24px;  --ecoss-lh-h3:     32px;
    --ecoss-fs-h4:     18px;  --ecoss-lh-h4:     24px;
    --ecoss-fs-body:   17px;  --ecoss-lh-body:   28px;
    --ecoss-fs-lead:   20px;  --ecoss-lh-lead:   30px;
    --ecoss-fs-caption:14px;  --ecoss-lh-caption:20px;
    --ecoss-fs-num:    96px;  --ecoss-lh-num:    96px;
    --ecoss-fs-quote:  28px;  --ecoss-lh-quote:  40px;
    --ecoss-fs-btn:    16px;  --ecoss-lh-btn:    22px;

    /* ─── SPACING (escala tokenizada) ─────────────────────────────────── */
    --ecoss-space-1:    4px;
    --ecoss-space-2:    8px;
    --ecoss-space-3:   12px;
    --ecoss-space-4:   16px;
    --ecoss-space-6:   24px;
    --ecoss-space-8:   32px;
    --ecoss-space-12:  48px;
    --ecoss-space-16:  64px;
    --ecoss-space-20:  80px;
    --ecoss-space-28: 112px;  /* padding seção desktop */
    --ecoss-space-40: 160px;

    /* ─── LAYOUT ──────────────────────────────────────────────────────── */
    --ecoss-max-width:       1200px;
    --ecoss-gutter-desktop:   24px;
    --ecoss-gutter-mobile:    16px;

    /* ─── RADIUS ──────────────────────────────────────────────────────── */
    --ecoss-radius-sharp:   0;
    --ecoss-radius-btn:     4px;
    --ecoss-radius-pill:    9999px;

    /* ─── SHADOW ──────────────────────────────────────────────────────── */
    --ecoss-shadow-card:    0 8px 24px rgba(28, 26, 25, 0.06);
    --ecoss-shadow-hover:   0 12px 32px rgba(28, 26, 25, 0.10);

    /* ─── MOTION ──────────────────────────────────────────────────────── */
    --ecoss-motion-fast:    150ms ease-out;
    --ecoss-motion-base:    200ms ease-out;
    --ecoss-motion-slow:    450ms ease-out;
}

/* ─── BREAKPOINT: MOBILE (≤ 768px) ───────────────────────────────────── */
@media (max-width: 768px) {
    :root {
        --ecoss-fs-h1:    40px;  --ecoss-lh-h1:    48px;
        --ecoss-fs-h2:    30px;  --ecoss-lh-h2:    38px;
        --ecoss-fs-h3:    22px;  --ecoss-lh-h3:    30px;
        --ecoss-fs-num:   64px;  --ecoss-lh-num:   64px;
        --ecoss-space-28: 72px;  /* padding seção mobile */
    }
}
/* ═══════════════════════════════════════════════════════════════════════
 * ECOSSISTEMA ANJOS — BASE PREMIUM v1.0.0
 * ───────────────────────────────────────────────────────────────────────
 * Reset leve + tipografia base + hierarquia.
 * Carregar APÓS 01-tokens.css.
 * ═══════════════════════════════════════════════════════════════════════ */

/* Carregamento das fontes via Google Fonts (ajustar para self-host em produção) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');

/* ─── BODY / CORPO ────────────────────────────────────────────────────── */
body {
    font-family: var(--ecoss-font-body);
    font-size: var(--ecoss-fs-body);
    line-height: var(--ecoss-lh-body);
    color: var(--ecoss-grafite);
    background: var(--ecoss-porcelana);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ─── HIERARQUIA TIPOGRÁFICA ──────────────────────────────────────────── */
h1, .ecoss-h1, .elementor-heading-title[data-ecoss-h="1"] {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: var(--ecoss-fs-h1);
    line-height: var(--ecoss-lh-h1);
    color: var(--ecoss-grafite);
    letter-spacing: -0.02em;
    margin: 0 0 var(--ecoss-space-6) 0;
}
h2, .ecoss-h2 {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: var(--ecoss-fs-h2);
    line-height: var(--ecoss-lh-h2);
    color: var(--ecoss-grafite);
    letter-spacing: -0.01em;
    margin: 0 0 var(--ecoss-space-4) 0;
}
h3, .ecoss-h3 {
    font-family: var(--ecoss-font-display);
    font-weight: 600;
    font-size: var(--ecoss-fs-h3);
    line-height: var(--ecoss-lh-h3);
    color: var(--ecoss-grafite);
    margin: 0 0 var(--ecoss-space-3) 0;
}
h4, .ecoss-h4 {
    font-family: var(--ecoss-font-body);
    font-weight: 600;
    font-size: var(--ecoss-fs-h4);
    line-height: var(--ecoss-lh-h4);
    color: var(--ecoss-grafite);
    margin: 0 0 var(--ecoss-space-2) 0;
}

/* ─── LEAD / SUB HEADLINE ─────────────────────────────────────────────── */
.ecoss-lead {
    font-size: var(--ecoss-fs-lead);
    line-height: var(--ecoss-lh-lead);
    color: var(--ecoss-grafite-60);
    max-width: 64ch;
}

/* ─── CAPTIONS / LEGENDAS ─────────────────────────────────────────────── */
.ecoss-caption {
    font-size: var(--ecoss-fs-caption);
    line-height: var(--ecoss-lh-caption);
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--ecoss-grafite-60);
    text-transform: uppercase;
}

/* ─── NUMERAÇÃO DE SEÇÕES (01/02/03) ──────────────────────────────────── */
.ecoss-section-number {
    font-family: var(--ecoss-font-display);
    font-weight: 300;
    font-size: var(--ecoss-fs-num);
    line-height: var(--ecoss-lh-num);
    color: var(--ecoss-marsala);
    display: block;
    margin-bottom: var(--ecoss-space-2);
}

/* ─── QUOTES ──────────────────────────────────────────────────────────── */
.ecoss-quote, blockquote {
    font-family: var(--ecoss-font-display);
    font-weight: 300;
    font-style: italic;
    font-size: var(--ecoss-fs-quote);
    line-height: var(--ecoss-lh-quote);
    color: var(--ecoss-bordo);
    border-left: 3px solid var(--ecoss-dourado);
    padding-left: var(--ecoss-space-6);
    margin: var(--ecoss-space-8) 0;
    max-width: 56ch;
}
.ecoss-quote cite, blockquote cite {
    display: block;
    font-family: var(--ecoss-font-body);
    font-style: normal;
    font-size: var(--ecoss-fs-caption);
    color: var(--ecoss-grafite-60);
    margin-top: var(--ecoss-space-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ─── LINKS ───────────────────────────────────────────────────────────── */
a {
    color: var(--ecoss-marsala);
    text-decoration: none;
    background-image: linear-gradient(to right, var(--ecoss-marsala), var(--ecoss-marsala));
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size var(--ecoss-motion-base);
}
a:hover, a:focus {
    background-size: 100% 1px;
    color: var(--ecoss-bordo);
}

/* ─── PARÁGRAFOS / LISTAS ─────────────────────────────────────────────── */
p { max-width: 72ch; margin: 0 0 var(--ecoss-space-4) 0; }
ul, ol { max-width: 72ch; padding-left: var(--ecoss-space-6); margin-bottom: var(--ecoss-space-4); }
li { margin-bottom: var(--ecoss-space-2); }
strong { font-weight: 600; color: var(--ecoss-grafite); }
em { font-style: italic; }

/* ─── HORIZONTAL RULE ─────────────────────────────────────────────────── */
hr {
    border: 0;
    height: 1px;
    background: var(--ecoss-nevoa);
    margin: var(--ecoss-space-12) 0;
}

/* ─── FOCUS RING (acessibilidade) ─────────────────────────────────────── */
*:focus-visible {
    outline: 2px solid var(--ecoss-dourado);
    outline-offset: 3px;
    border-radius: 2px;
}

/* ─── IMAGENS RESPONSIVAS ─────────────────────────────────────────────── */
img { max-width: 100%; height: auto; display: block; }

/* ─── CONTAINER CENTRALIZADO ──────────────────────────────────────────── */
.ecoss-container {
    max-width: var(--ecoss-max-width);
    margin: 0 auto;
    padding: 0 var(--ecoss-gutter-desktop);
}
@media (max-width: 768px) {
    .ecoss-container { padding: 0 var(--ecoss-gutter-mobile); }
}

/* ─── SEÇÃO (padrão de respiro vertical) ──────────────────────────────── */
.ecoss-section {
    padding: var(--ecoss-space-28) 0;
}
.ecoss-section-alt {
    background: var(--ecoss-perola);
}

/* ─── REMOVE GRADIENTES HEAVY DO BASELINE ANTIGA ──────────────────────── */
/* Zera gradientes maração-pesados que a baseline v5 aplicava no hero.   */
/* Hero novo é Porcelana limpa — ver 03-components.css.                  */
.elementor-background-overlay[data-ecoss-legacy-gradient="true"] {
    background: transparent !important;
    opacity: 0 !important;
}
/* ═══════════════════════════════════════════════════════════════════════
 * ECOSSISTEMA ANJOS — COMPONENTS v1.0.0
 * ───────────────────────────────────────────────────────────────────────
 * Botões, cards, headers de seção, CTAs, footer-ecosystem.
 * Carregar APÓS 02-base-premium.css.
 * ═══════════════════════════════════════════════════════════════════════ */

/* ─── BOTÕES ──────────────────────────────────────────────────────────── */

.ecoss-btn,
a.ecoss-btn,
.elementor-button.ecoss-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--ecoss-space-2);
    font-family: var(--ecoss-font-body);
    font-size: var(--ecoss-fs-btn);
    font-weight: 600;
    line-height: var(--ecoss-lh-btn);
    letter-spacing: 0.02em;
    padding: 14px 28px;
    border-radius: var(--ecoss-radius-btn);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background var(--ecoss-motion-base),
                color var(--ecoss-motion-base),
                box-shadow var(--ecoss-motion-base),
                transform var(--ecoss-motion-fast);
    text-decoration: none !important;
    background-image: none;
}

.ecoss-btn-primary {
    background: var(--ecoss-dourado);
    color: var(--ecoss-grafite);
    border-color: var(--ecoss-dourado);
}
.ecoss-btn-primary:hover,
.ecoss-btn-primary:focus {
    background: var(--ecoss-dourado-soft);
    border-color: var(--ecoss-dourado-soft);
    color: var(--ecoss-grafite);
}

.ecoss-btn-ghost {
    background: transparent;
    color: var(--ecoss-marsala);
    padding: 14px 0;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
}
.ecoss-btn-ghost::after {
    content: '→';
    transition: transform var(--ecoss-motion-base);
    display: inline-block;
    margin-left: 4px;
}
.ecoss-btn-ghost:hover::after { transform: translateX(4px); }
.ecoss-btn-ghost:hover { color: var(--ecoss-bordo); }

/* ─── CARDS ───────────────────────────────────────────────────────────── */

.ecoss-card {
    background: var(--ecoss-porcelana);
    border: 1px solid var(--ecoss-nevoa);
    padding: var(--ecoss-space-8);
    border-radius: var(--ecoss-radius-sharp);
    transition: transform var(--ecoss-motion-base),
                box-shadow var(--ecoss-motion-base);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--ecoss-space-4);
}
.ecoss-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ecoss-shadow-card);
    border-color: var(--ecoss-dourado);
}
.ecoss-card-title {
    font-family: var(--ecoss-font-display);
    font-size: var(--ecoss-fs-h3);
    line-height: var(--ecoss-lh-h3);
    font-weight: 600;
    color: var(--ecoss-grafite);
    margin: 0;
}
.ecoss-card-body {
    font-size: var(--ecoss-fs-body);
    line-height: var(--ecoss-lh-body);
    color: var(--ecoss-grafite-60);
    margin: 0;
    flex-grow: 1;
}
.ecoss-card-link { margin-top: auto; }

/* ─── SECTION HEADER (01 / 02 / 03 padrão numerado) ───────────────────── */

.ecoss-section-header {
    margin-bottom: var(--ecoss-space-12);
    max-width: 64ch;
}
.ecoss-section-header .ecoss-section-number { margin-bottom: var(--ecoss-space-3); }
.ecoss-section-header h2 { margin-bottom: var(--ecoss-space-4); }
.ecoss-section-header .ecoss-lead { margin: 0; }

/* ─── CTA BAND (faixa de call-to-action) ──────────────────────────────── */

.ecoss-cta-band {
    background: var(--ecoss-perola);
    padding: var(--ecoss-space-20) var(--ecoss-space-8);
    text-align: center;
    margin: var(--ecoss-space-20) 0;
}
.ecoss-cta-band h2 { margin-bottom: var(--ecoss-space-6); }
.ecoss-cta-band .ecoss-lead { margin: 0 auto var(--ecoss-space-8); }

/* ─── STAT (número grande + legenda) ──────────────────────────────────── */

.ecoss-stat {
    display: flex;
    flex-direction: column;
    gap: var(--ecoss-space-2);
}
.ecoss-stat-value {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 56px;
    line-height: 64px;
    color: var(--ecoss-marsala);
}
.ecoss-stat-label {
    font-size: var(--ecoss-fs-caption);
    color: var(--ecoss-grafite-60);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ─── TAG / PILL (categoria ou destaque leve) ─────────────────────────── */

.ecoss-tag {
    display: inline-block;
    background: var(--ecoss-perola);
    color: var(--ecoss-grafite-60);
    font-size: var(--ecoss-fs-caption);
    font-weight: 500;
    padding: 4px 12px;
    border-radius: var(--ecoss-radius-pill);
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

/* ─── HERO-EDITORIAL (padrão da home) ─────────────────────────────────── */

.ecoss-hero {
    padding: var(--ecoss-space-20) 0 var(--ecoss-space-28);
    background: var(--ecoss-porcelana);
}
.ecoss-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--ecoss-space-12);
    align-items: center;
}
@media (max-width: 900px) {
    .ecoss-hero-grid { grid-template-columns: 1fr; }
}
.ecoss-hero h1 {
    font-size: clamp(40px, 5vw, var(--ecoss-fs-h1));
    line-height: 1.1;
    margin-bottom: var(--ecoss-space-6);
}
.ecoss-hero-actions {
    display: flex;
    gap: var(--ecoss-space-6);
    flex-wrap: wrap;
    margin-top: var(--ecoss-space-8);
}
.ecoss-hero-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4/5;
}

/* ─── FOOTER ECOSYSTEM (4 colunas + selo) ─────────────────────────────── */

.ecoss-footer {
    background: var(--ecoss-bordo);
    color: var(--ecoss-porcelana);
    padding: var(--ecoss-space-16) 0 var(--ecoss-space-8);
    font-size: var(--ecoss-fs-caption);
    line-height: 1.6;
}
.ecoss-footer a { color: var(--ecoss-porcelana); }
.ecoss-footer a:hover { color: var(--ecoss-dourado); }
.ecoss-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--ecoss-space-8);
    margin-bottom: var(--ecoss-space-12);
}
@media (max-width: 900px) {
    .ecoss-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .ecoss-footer-grid { grid-template-columns: 1fr; }
}
.ecoss-footer h4 {
    color: var(--ecoss-dourado);
    font-size: var(--ecoss-fs-caption);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--ecoss-space-4);
}
.ecoss-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ecoss-footer li { margin-bottom: var(--ecoss-space-2); }
.ecoss-footer-seal {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: var(--ecoss-space-6);
    text-align: center;
    font-size: 13px;
    color: rgba(255,255,255,0.65);
}
.ecoss-footer-seal strong { color: var(--ecoss-dourado); font-weight: 600; }

/* ─── MICROINTERAÇÃO: SCROLL REVEAL (opcional, via JS que injete classes) */
.ecoss-reveal {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity var(--ecoss-motion-slow), transform var(--ecoss-motion-slow);
}
.ecoss-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ─── OCULTAR "POWERED BY ASTRA" (herança da baseline) ────────────────── */
.ast-small-footer .ast-footer-site-title,
.ast-small-footer-wrap > .ast-container > div:only-child { display: none !important; }

/* ═══ Bloco CSS separator ═══ */

html, body { margin: 0; padding: 0; background: var(--ecoss-porcelana); }

  /* ═══ V3 DIFERENCIAÇÃO: posicionamento clínico-científico premium · TEThA como "programa sinalizado" com toque teal petróleo contido (aponta para futuro logo TEThA sem dominar) · ênfase em publicação e autoridade ═══ */

  /* Token TEThA provisório (APRENDIZADOS §2.4) usado como acento RESTRITO apenas na seção TEThA */
  :root {
    --tetha-teal: #1F5266;
    --tetha-teal-soft: #3A7788;
  }

  /* HEADER clínico minimal · status bar científica */
  .v3-topbar {
    background: var(--ecoss-grafite);
    color: var(--ecoss-porcelana);
    padding: 8px 48px;
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .v3-topbar strong { color: var(--ecoss-dourado); }
  .v3-header {
    padding: 24px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--ecoss-porcelana);
    border-bottom: 1px solid var(--ecoss-nevoa);
  }
  .v3-header .brand-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .v3-header .brand {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 20px;
    color: var(--ecoss-grafite);
    letter-spacing: -0.01em;
  }
  .v3-header .brand-sub {
    font-family: var(--ecoss-font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ecoss-grafite-60);
    border-left: 1px solid var(--ecoss-nevoa);
    padding-left: 16px;
    line-height: 1.4;
  }
  .v3-nav {
    font-family: var(--ecoss-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ecoss-grafite);
    display: flex;
    gap: 32px;
  }
  .v3-nav a { color: var(--ecoss-grafite); background: none; }
  .v3-cta-header {
    font-family: var(--ecoss-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ecoss-grafite);
    background: var(--ecoss-dourado);
    padding: 12px 22px;
    border-radius: 3px;
  }

  /* HERO clínico · selos científicos como headline · tipografia sóbria */
  .v3-hero {
    padding: 80px 48px 96px;
    max-width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
  }
  .v3-hero-text .credential {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ecoss-marsala);
    background: var(--ecoss-perola);
    padding: 10px 18px;
    border-radius: 999px;
    margin-bottom: 28px;
    border: 1px solid var(--ecoss-nevoa);
  }
  .v3-hero-text .credential::before {
    content: '';
    width: 6px; height: 6px;
    background: var(--ecoss-dourado);
    border-radius: 50%;
    display: inline-block;
  }
  .v3-hero-text h1 {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 72px;
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--ecoss-grafite);
    margin: 0 0 24px 0;
  }
  .v3-hero-text h1 em {
    font-style: italic;
    font-weight: 400;
    color: var(--ecoss-marsala);
  }
  .v3-hero-text .lead {
    font-family: var(--ecoss-font-body);
    font-size: 18px;
    line-height: 1.6;
    color: var(--ecoss-grafite-60);
    max-width: 48ch;
    margin: 0 0 36px 0;
  }
  .v3-hero-actions { display: flex; gap: 20px; align-items: center; margin-bottom: 48px; }
  .v3-btn-primary {
    background: var(--ecoss-dourado);
    color: var(--ecoss-grafite);
    font-family: var(--ecoss-font-body);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 16px 32px;
    border-radius: 3px;
  }
  .v3-btn-ghost {
    font-family: var(--ecoss-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--ecoss-marsala);
    padding: 16px 0;
    border-bottom: 2px solid var(--ecoss-marsala);
  }
  .v3-btn-ghost::after { content: ' →'; }

  /* Selos científicos como BADGES horizontais · destaque real */
  .v3-selos-cientifico {
    display: flex;
    gap: 20px;
    padding: 24px;
    background: var(--ecoss-perola);
    border-left: 4px solid var(--ecoss-dourado);
  }
  .v3-selo-badge {
    flex: 1;
  }
  .v3-selo-badge .journal {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 15px;
    color: var(--ecoss-bordo);
    margin-bottom: 2px;
  }
  .v3-selo-badge .year {
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ecoss-marsala);
  }
  .v3-selo-badge .detail {
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    color: var(--ecoss-grafite-60);
    line-height: 1.45;
    margin-top: 4px;
  }

  .v3-hero-image {
    aspect-ratio: 4/5;
    position: relative;
    overflow: hidden;
    background: var(--ecoss-perola);
  }
  .v3-hero-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    filter: contrast(1.02);
  }
  .v3-hero-image-caption {
    position: absolute;
    bottom: 16px; left: 16px; right: 16px;
    background: rgba(255,255,255,0.92);
    padding: 14px 18px;
    font-family: var(--ecoss-font-body);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--ecoss-grafite);
    backdrop-filter: blur(8px);
    border-left: 3px solid var(--ecoss-dourado);
  }
  .v3-hero-image-caption strong {
    display: block;
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 15px;
    color: var(--ecoss-bordo);
    margin-bottom: 2px;
  }

  /* SEÇÃO 01 ESPECIALIDADES · grid limpo + ícone dourado sutil */
  .v3-section-01 {
    background: var(--ecoss-porcelana);
    padding: 112px 48px;
    border-top: 1px solid var(--ecoss-nevoa);
  }
  .v3-section-01-inner {
    max-width: 1400px;
    margin: 0 auto;
  }
  .v3-section-head {
    max-width: 640px;
    margin-bottom: 72px;
  }
  .v3-section-head .kicker {
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ecoss-marsala);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .v3-section-head .kicker::before {
    content: '01';
    font-family: var(--ecoss-font-display);
    font-weight: 400;
    font-size: 15px;
    color: var(--ecoss-dourado);
    letter-spacing: 0;
  }
  .v3-section-head h2 {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 42px;
    line-height: 1.15;
    color: var(--ecoss-grafite);
    margin: 0 0 16px 0;
    letter-spacing: -0.015em;
  }
  .v3-section-head p {
    font-family: var(--ecoss-font-body);
    font-size: 17px;
    line-height: 1.65;
    color: var(--ecoss-grafite-60);
  }
  .v3-espec-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .v3-espec-card {
    background: var(--ecoss-porcelana);
    border: 1px solid var(--ecoss-nevoa);
    padding: 36px 28px;
    transition: border-color 0.2s;
  }
  .v3-espec-card:hover { border-color: var(--ecoss-dourado); }
  .v3-espec-card .icon {
    width: 40px; height: 2px;
    background: var(--ecoss-dourado);
    display: block;
    margin-bottom: 24px;
  }
  .v3-espec-card h3 {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 22px;
    color: var(--ecoss-grafite);
    margin: 0 0 12px 0;
  }
  .v3-espec-card p {
    font-family: var(--ecoss-font-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--ecoss-grafite-60);
    margin: 0 0 20px 0;
  }
  .v3-espec-card .link {
    font-family: var(--ecoss-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ecoss-marsala);
  }
  .v3-espec-card .link::after { content: ' →'; }

  /* SEÇÃO TEThA · programa científico · acento teal contido + marsala dominante */
  .v3-section-tetha {
    background: var(--ecoss-grafite);
    color: var(--ecoss-porcelana);
    padding: 128px 48px;
    position: relative;
  }
  .v3-tetha-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
  }
  /* Bloco da esquerda: assinatura TEThA */
  .v3-tetha-signature {
    background: var(--ecoss-bordo);
    padding: 72px 56px;
    position: relative;
    overflow: hidden;
  }
  /* Acento teal discreto: 1 linha vertical · 1 label */
  .v3-tetha-signature::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: var(--tetha-teal);
  }
  .v3-tetha-label {
    font-family: var(--ecoss-font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--tetha-teal-soft);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .v3-tetha-label::before {
    content: '';
    width: 32px; height: 1px;
    background: var(--tetha-teal-soft);
  }
  .v3-tetha-name {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-style: italic;
    font-size: 82px;
    line-height: 1;
    color: var(--ecoss-porcelana);
    margin: 0 0 8px 0;
    letter-spacing: -0.03em;
  }
  .v3-tetha-subtitle {
    font-family: var(--ecoss-font-body);
    font-weight: 400;
    font-size: 18px;
    color: var(--ecoss-dourado);
    margin: 0 0 28px 0;
    letter-spacing: 0.04em;
  }
  .v3-tetha-acronimo {
    font-family: var(--ecoss-font-body);
    font-size: 13px;
    line-height: 1.75;
    color: rgba(245, 240, 238, 0.75);
    margin: 0 0 24px 0;
  }
  .v3-tetha-acronimo strong { color: var(--ecoss-dourado); font-weight: 700; }
  .v3-tetha-meta {
    padding-top: 20px;
    border-top: 1px solid rgba(196,155,60,0.2);
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: rgba(245, 240, 238, 0.6);
    line-height: 1.8;
  }
  .v3-tetha-meta strong { color: var(--ecoss-dourado); font-weight: 600; }

  /* Bloco da direita: texto explicativo + CTA */
  .v3-tetha-body {
    padding: 24px 0;
  }
  .v3-tetha-kicker {
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ecoss-dourado);
    margin-bottom: 28px;
  }
  .v3-tetha-headline {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 42px;
    line-height: 1.1;
    color: var(--ecoss-porcelana);
    margin: 0 0 24px 0;
    letter-spacing: -0.015em;
  }
  .v3-tetha-headline em { color: var(--ecoss-dourado); font-style: italic; font-weight: 400; }
  .v3-tetha-paragraph {
    font-family: var(--ecoss-font-body);
    font-size: 17px;
    line-height: 1.7;
    color: rgba(245, 240, 238, 0.82);
    margin: 0 0 28px 0;
    max-width: 52ch;
  }
  .v3-tetha-bullets {
    padding: 0;
    margin: 0 0 40px 0;
    list-style: none;
  }
  .v3-tetha-bullets li {
    font-family: var(--ecoss-font-body);
    font-size: 14px;
    color: rgba(245, 240, 238, 0.85);
    padding: 12px 0;
    padding-left: 24px;
    position: relative;
    border-bottom: 1px solid rgba(245, 240, 238, 0.08);
  }
  .v3-tetha-bullets li::before {
    content: '';
    position: absolute;
    left: 0; top: 19px;
    width: 12px; height: 1px;
    background: var(--ecoss-dourado);
  }
  .v3-btn-tetha {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--ecoss-font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ecoss-grafite);
    background: var(--ecoss-dourado);
    padding: 16px 28px;
    border-radius: 3px;
  }

  /* RODAPÉ institucional científico */
  .v3-footer {
    background: var(--ecoss-bordo);
    color: var(--ecoss-porcelana);
    padding: 72px 48px 40px;
    border-top: 3px solid var(--ecoss-dourado);
  }
  .v3-footer-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 56px;
  }
  .v3-footer-col h4 {
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ecoss-dourado);
    margin: 0 0 20px 0;
  }
  .v3-footer-brand {
    font-family: var(--ecoss-font-display);
    font-weight: 500;
    font-size: 24px;
    color: var(--ecoss-porcelana);
    margin: 0 0 8px 0;
  }
  .v3-footer-brand em { font-style: italic; color: var(--ecoss-dourado); }
  .v3-footer-col p, .v3-footer-col li {
    font-family: var(--ecoss-font-body);
    font-size: 13px;
    line-height: 1.7;
    color: rgba(245, 240, 238, 0.75);
    margin: 0 0 6px 0;
    list-style: none;
  }
  .v3-footer-col ul { padding: 0; margin: 0; }
  .v3-footer-seal {
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 32px;
    border-top: 1px solid rgba(245, 240, 238, 0.12);
    display: flex;
    justify-content: space-between;
    font-family: var(--ecoss-font-body);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: rgba(245, 240, 238, 0.55);
  }
  .v3-footer-seal strong { color: var(--ecoss-dourado); font-weight: 600; }


/* ═══════════════════════════════════════════════════════════════════════
 * PATCH MOBILE RESPONSIVO · Onda 3.1 · 2026-04-24
 * Cobre seletores v3-* que não tinham media queries específicas.
 * Objetivo: zero overflow horizontal em 390-640px.
 * ═══════════════════════════════════════════════════════════════════════ */

html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

/* ─── Breakpoint tablet & small desktop (641-900px) ──────────────── */
@media (max-width: 900px) {
  .v3-topbar { padding: 8px 24px; font-size: 10px; }
  .v3-header { padding: 18px 24px; }
  .v3-hero { padding: 48px 24px; }
  .v3-section-01-inner { padding: 48px 24px; }
  .v3-tetha-inner { padding: 48px 24px; }
  .v3-footer { padding: 48px 24px 24px; }
}

/* ─── Breakpoint mobile principal (≤ 640px) ──────────────────────── */
@media (max-width: 640px) {
  /* Topbar em coluna · micro alturas */
  .v3-topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 8px 16px;
    font-size: 9.5px;
    letter-spacing: 0.08em;
    line-height: 1.4;
  }

  /* Header em coluna · logo full width · nav escondido · CTA full-width */
  .v3-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px;
  }
  .v3-nav { display: none !important; }
  .v3-cta-header {
    display: block;
    text-align: center;
    width: 100%;
    padding: 10px 16px;
  }

  /* Hero · grid 1 coluna · foto embaixo · texto compacto */
  .v3-hero {
    grid-template-columns: 1fr !important;
    padding: 32px 16px !important;
    gap: 24px !important;
  }
  .v3-hero-text { order: 1; }
  .v3-hero-image { order: 2; width: 100%; }
  .v3-hero-image img { width: 100%; height: auto; max-width: 100%; }

  /* H1 com clamp · não estourar viewport */
  .v3-hero-text h1, .v3-hero h1 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.01em !important;
  }
  .v3-hero-text p { font-size: 15px !important; line-height: 1.55 !important; }

  /* CTAs hero · empilhados · full width */
  .v3-hero-actions {
    flex-direction: column;
    gap: 10px;
  }
  .v3-btn-primary, .v3-btn-ghost, .v3-btn-tetha {
    display: block;
    width: 100%;
    text-align: center;
    padding: 12px 18px;
    box-sizing: border-box;
  }

  /* Seção 01 Especialidades · grid 3→1 · cards empilhados */
  .v3-section-01, .v3-section-01-inner {
    padding: 40px 16px !important;
  }
  .v3-section-head h2 {
    font-size: clamp(1.5rem, 6vw, 2.2rem) !important;
  }
  .v3-espec-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .v3-espec-card { padding: 24px 16px !important; }

  /* Selos científicos · stack vertical */
  .v3-selos-cientifico {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px !important;
  }
  .v3-selo-badge { width: 100%; box-sizing: border-box; }

  /* Seção TEThA · grid 2→1 · headline clamp */
  .v3-section-tetha { padding: 40px 16px !important; }
  .v3-tetha-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 !important;
  }
  .v3-tetha-headline {
    font-size: clamp(1.6rem, 7vw, 2.4rem) !important;
    line-height: 1.1 !important;
  }
  .v3-tetha-paragraph { font-size: 14.5px !important; }
  .v3-tetha-bullets {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .v3-tetha-signature {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 20px !important;
  }

  /* Footer · grid 4→1 · tudo stack */
  .v3-footer { padding: 32px 16px 16px !important; }
  .v3-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .v3-footer-brand, .v3-footer-col, .v3-footer-seal {
    width: 100%;
    text-align: left;
  }
}

/* ─── Breakpoint mobile extra-pequeno (≤ 390px · iPhone mini) ────── */
@media (max-width: 390px) {
  .v3-topbar { font-size: 9px; padding: 6px 12px; }
  .v3-header { padding: 12px; }
  .v3-hero { padding: 24px 12px !important; }
  .v3-hero-text h1, .v3-hero h1 {
    font-size: clamp(1.75rem, 9vw, 2.5rem) !important;
  }
  .v3-section-01, .v3-section-01-inner { padding: 32px 12px !important; }
  .v3-section-tetha { padding: 32px 12px !important; }
  .v3-footer { padding: 24px 12px 12px !important; }
}



/* ─── Refinamento v2.1 · H1 sem corte em 390-640px ──────────────── */
@media (max-width: 640px) {
  .v3-hero h1, .v3-hero-text h1 {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    padding-right: 8px !important;
  }
}
@media (max-width: 390px) {
  .v3-hero h1, .v3-hero-text h1 {
    font-size: clamp(1.6rem, 8.5vw, 2.1rem) !important;
    line-height: 1.08 !important;
  }
  .v3-hero-text p { font-size: 14px !important; }
}



/* ═══════════════════════════════════════════════════════════════════════
 * ONDA 3.2 · TENTATIVA 1 · Resolver corte H1 mobile definitivo
 * ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 640px) {
  .v3-hero-text h1,
  .v3-hero h1,
  h1 {
    font-size: clamp(1.28rem, 6.7vw, 1.65rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.018em !important;
    word-spacing: -0.025em !important;
    max-width: calc(100vw - 40px) !important;
    width: 100% !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }
  .v3-hero-text,
  .v3-hero-image,
  .v3-hero {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  .v3-hero-text h1,
  .v3-hero h1,
  h1 {
    font-size: clamp(1.15rem, 6.4vw, 1.5rem) !important;
    line-height: 1.05 !important;
  }
  .v3-hero-text p { font-size: 13.5px !important; }
}