/*
 * ============================================================
 * GLOBAL INTEGRATED MARKETING COMMUNICATION GROUP HOLDINGS LTD
 * Sistema Visual — "SIGNAL" v1.0
 * Refatoração completa do sistema "Meridian"
 * ============================================================
 *
 * PRINCIPAIS RUPTURAS vs. SISTEMA ANTERIOR:
 *
 * PALETA
 * · Abandona Forest green #1E3A2F + Copper #C4622D + Parchment #F2EDE4
 * · Nova tríade: Ink #111318 (quase-preto frio) + Crimson #C5352B
 *   (vermelho vivo) + Saffron #E0A020 (âmbar)
 * · Fundo: bone frio #F5F4F0 — diferente do parchment quente
 * · Superfície de seções escuras: ink neutro, não green temático
 *
 * TIPOGRAFIA
 * · Playfair Display — mais "newsprint", diferente do luxury editorial
 *   do Cormorant Garamond
 * · Plus Jakarta Sans — geométrico e técnico, diferente do DM Sans
 * · Space Mono — apenas para dados/métricas, não para labels gerais
 * · Hierarquia: Plus Jakarta para h3-h6 e UI; Playfair para h1-h2
 *
 * ESTRUTURA
 * · Hero: full-bleed Ink escuro, headline centralizada grande, sem
 *   card lateral "Por que" — completamente diferente do hero claro+split
 * · Serviços: linhas numeradas (.svc-row) — NÃO icon-card grid
 * · Stats: seção bone-clara com números crimson grandes — NÃO banda escura
 * · Depoimentos: carousel single-quote — NÃO lista editorial múltipla
 * · Botões: pill-shaped (radius 9999px) — NÃO retangulares radius-4px
 * · Kicker labels: ponto vermelho · TEXT — NÃO "── LABEL" com linha
 *
 * COMPONENTES (nomes novos, sem padrão do projeto anterior):
 * · .topbar (nav), .splash (hero), .svc-row (services),
 *   .metrics-band (stats), .voice-stage (testimonials),
 *   .qna-list (FAQ), .closer (CTA), .basefoot (footer)
 * ============================================================
 */

/* ── GOOGLE FONTS ──────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Plus+Jakarta+Sans:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;1,14..32,300;1,14..32,400&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

/* ── DESIGN TOKENS ─────────────────────────────────────────────────────── */
:root {
  /* SIGNAL palette */
  --ink:        #111318;
  --ink-deep:   #0A0C12;
  --ink-mid:    #22252F;
  --crimson:    #C5352B;
  --crimson-lt: #D94B40;
  --crimson-dk: #A5241B;
  --saffron:    #E0A020;
  --saffron-lt: #F0B730;
  --bone:       #F5F4F0;
  --bone-mid:   #ECEAE4;
  --bone-deep:  #DFDCD5;
  --chalk:      #FAFAF8;
  --steel:      #47556A;
  --steel-lt:   #6B7D94;
  --fog:        #9AA3B0;

  /* Texto */
  --t-base:   #111318;
  --t-mid:    #3D4250;
  --t-muted:  #7A8190;
  --t-light:  #F5F4F0;
  --t-dim:    #A0A9B8;
  --t-on-ink: #E8E9EC;

  /* Tipografia */
  --f-display: 'Playfair Display', Georgia, serif;
  --f-body:    'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --f-mono:    'Space Mono', 'Courier New', monospace;

  /* Escala — mobile-first */
  --tx-xs:   0.75rem;
  --tx-sm:   0.875rem;
  --tx-base: 1rem;
  --tx-md:   1.125rem;
  --tx-lg:   1.25rem;
  --tx-xl:   1.5rem;
  --tx-2xl:  2rem;
  --tx-3xl:  2.5rem;
  --tx-4xl:  3.25rem;
  --tx-5xl:  4rem;
  --tx-hero: 5rem;

  /* Espaçamentos — base 8px */
  --s1: 8px;   --s2: 16px;  --s3: 24px;  --s4: 32px;
  --s5: 48px;  --s6: 64px;  --s7: 80px;  --s8: 96px;
  --s9: 128px; --s10: 160px;

  /* Layout */
  --cmax:  1280px;
  --cpad:  var(--s2);

  /* Bordas */
  --r-sm:   3px;
  --r-md:   6px;
  --r-lg:   12px;
  --r-xl:   20px;
  --r-pill: 9999px;

  /* Sombras */
  --sh-sm: 0 1px 3px rgba(17,19,24,.06);
  --sh-md: 0 4px 16px rgba(17,19,24,.09);
  --sh-lg: 0 8px 32px rgba(17,19,24,.12);

  /* Transições */
  --tr-fast: 110ms ease;
  --tr-base: 220ms ease;
  --tr-slow: 380ms cubic-bezier(.4,0,.2,1);
}

/* ── RESET & BASE ───────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--f-body);
  font-size: var(--tx-base);
  line-height: 1.65;
  color: var(--t-base);
  background-color: var(--bone);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button, input, textarea, select { font: inherit; color: inherit; border: none; background: none; outline: none; }
button { cursor: pointer; }

/* ── TIPOGRAFIA ─────────────────────────────────────────────────────────── */
h1, h2 {
  font-family: var(--f-display);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--t-base);
}

h3, h4, h5, h6 {
  font-family: var(--f-body);
  font-weight: 600;
  line-height: 1.3;
  color: var(--t-base);
}

.d-hero {
  font-family: var(--f-display);
  font-size: clamp(2.75rem, 7vw, var(--tx-hero));
  font-weight: 400;
  line-height: 1.07;
  letter-spacing: -0.025em;
}

.d-xl {
  font-family: var(--f-display);
  font-size: clamp(2rem, 5vw, var(--tx-5xl));
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.d-lg {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 4vw, var(--tx-4xl));
  font-weight: 400;
  line-height: 1.14;
}

.d-md {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 3vw, var(--tx-3xl));
  font-weight: 500;
  line-height: 1.2;
}

.lead {
  font-family: var(--f-body);
  font-size: var(--tx-md);
  font-weight: 300;
  line-height: 1.8;
  color: var(--t-mid);
}

/* Kicker — ponto vermelho + texto (sem linha horizontal) */
.kicker {
  font-family: var(--f-body);
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.kicker::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--crimson);
  flex-shrink: 0;
}
.kicker--center {
  justify-content: center;
}
.kicker--light {
  color: rgba(232,233,236,.55);
}
.kicker--light::before {
  background-color: var(--crimson-lt);
}

/* ── LAYOUT ─────────────────────────────────────────────────────────────── */
.wrap {
  width: 100%;
  max-width: var(--cmax);
  margin-inline: auto;
  padding-inline: var(--cpad);
}

.wrap--narrow { max-width: 800px; }
.wrap--xs     { max-width: 640px; }

.g2 { display: grid; gap: var(--s3); grid-template-columns: 1fr; }
.g3 { display: grid; gap: var(--s3); grid-template-columns: 1fr; }

.sec       { padding-block: var(--s7); }
.sec--sm   { padding-block: var(--s5); }
.sec--lg   { padding-block: var(--s9); }

/* ── BOTÕES PILL ────────────────────────────────────────────────────────── */
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s1);
  font-family: var(--f-body);
  font-size: var(--tx-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 13px 28px;
  border-radius: var(--r-pill);
  transition: all var(--tr-base);
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  border: 2px solid transparent;
}

.pill--red {
  background-color: var(--crimson);
  color: #fff;
  border-color: var(--crimson);
}
.pill--red:hover {
  background-color: var(--crimson-lt);
  border-color: var(--crimson-lt);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(197,53,43,.28);
}

.pill--outline {
  background-color: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.pill--outline:hover {
  background-color: var(--ink);
  color: var(--bone);
}

.pill--ghost {
  background-color: transparent;
  color: var(--t-light);
  border-color: rgba(245,244,240,.25);
}
.pill--ghost:hover {
  border-color: var(--crimson-lt);
  color: var(--crimson-lt);
}

.pill--saffron {
  background-color: var(--saffron);
  color: var(--ink);
  border-color: var(--saffron);
}
.pill--saffron:hover {
  background-color: var(--saffron-lt);
  border-color: var(--saffron-lt);
  transform: translateY(-2px);
}

.pill--lg {
  font-size: var(--tx-base);
  padding: 16px 36px;
}

.pill--sm {
  font-size: var(--tx-xs);
  padding: 9px 18px;
}

/* Seta inline */
.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tx-sm);
  font-weight: 600;
  color: var(--crimson);
  transition: gap var(--tr-base), color var(--tr-fast);
}
.arrow-link:hover { gap: 11px; color: var(--crimson-dk); }

/* ── TOPBAR (NAVEGAÇÃO) ──────────────────────────────────────────────────── */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background-color: rgba(245,244,240,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(17,19,24,.07);
  transition: box-shadow var(--tr-base);
}
.topbar.stuck { box-shadow: var(--sh-md); }
.topbar.dark-mode {
  background-color: rgba(17,19,24,.95);
  border-bottom-color: rgba(245,244,240,.07);
}

.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
  padding-inline: var(--s3);
}

/* Brand */
.topbar__brand {
  display: flex;
  align-items: center;
  gap: var(--s2);
  text-decoration: none;
  flex-shrink: 0;
}

.topbar__mark {
  width: 36px;
  height: 36px;
  background-color: var(--crimson);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background-color var(--tr-fast);
}
.topbar__brand:hover .topbar__mark {
  background-color: var(--crimson-lt);
}

.topbar__wordmark {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.topbar__name {
  font-family: var(--f-body);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.topbar__sub {
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fog);
  margin-top: 1px;
}
.topbar.dark-mode .topbar__name { color: var(--t-light); }
.topbar.dark-mode .topbar__sub  { color: rgba(232,233,236,.4); }

/* Nav links */
.topbar__nav {
  display: none;
  align-items: center;
  gap: var(--s4);
}
.topbar__link {
  font-size: var(--tx-sm);
  font-weight: 400;
  color: var(--t-mid);
  position: relative;
  transition: color var(--tr-fast);
}
.topbar__link::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--crimson);
  border-radius: 1px;
  transition: width var(--tr-base);
}
.topbar__link:hover { color: var(--ink); }
.topbar__link:hover::after { width: 100%; }
.topbar.dark-mode .topbar__link { color: rgba(232,233,236,.6); }
.topbar.dark-mode .topbar__link:hover { color: var(--t-light); }

/* Actions */
.topbar__cta { display: none; }

/* Burger */
.topbar__burger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
}
.topbar__burger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background-color: var(--ink);
  transition: all var(--tr-base);
  transform-origin: center;
}
.topbar.dark-mode .topbar__burger span { background-color: var(--t-light); }
.topbar__burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.topbar__burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.topbar__burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile drawer */
.topbar__drawer {
  display: none;
  flex-direction: column;
  background-color: var(--bone);
  border-top: 1px solid var(--bone-deep);
  padding: var(--s3) var(--s3) var(--s4);
  gap: 2px;
}
.topbar__drawer.open { display: flex; }
.topbar__drawer-link {
  font-size: var(--tx-base);
  font-weight: 400;
  color: var(--t-mid);
  padding: 11px 0;
  border-bottom: 1px solid var(--bone-mid);
  transition: color var(--tr-fast);
}
.topbar__drawer-link:last-of-type { border-bottom: none; }
.topbar__drawer-link:hover { color: var(--crimson); }
.topbar__drawer-pill { margin-top: var(--s2); }

/* ── SPLASH (HERO) ──────────────────────────────────────────────────────── */
.splash {
  padding-top: calc(68px + var(--s6));
  padding-bottom: var(--s7);
  background-color: var(--ink);
  position: relative;
  overflow: hidden;
}

/* Decoração angular — diferente dos círculos do sistema anterior */
.splash__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.06;
}
.splash__deco svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.splash__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s4);
}

.splash__headline {
  font-family: var(--f-display);
  font-size: clamp(2.5rem, 7vw, 4.75rem);
  font-weight: 400;
  line-height: 1.07;
  letter-spacing: -0.025em;
  color: var(--t-light);
  max-width: 18ch;
}
.splash__headline em {
  font-style: italic;
  color: var(--saffron);
}

.splash__lead {
  font-size: var(--tx-md);
  font-weight: 300;
  line-height: 1.8;
  color: rgba(232,233,236,.6);
  max-width: 52ch;
}

.splash__btns {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  margin-top: var(--s1);
}

/* Strip de métricas no rodapé do hero */
.splash__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3) var(--s5);
  margin-top: var(--s6);
  padding-top: var(--s4);
  border-top: 1px solid rgba(245,244,240,.1);
  width: 100%;
}

.splash__metric {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.splash__metric-n {
  font-family: var(--f-mono);
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  font-weight: 400;
  color: var(--t-light);
  line-height: 1;
}

.splash__metric-l {
  font-size: var(--tx-xs);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(232,233,236,.4);
}

/* ── SVC (SERVIÇOS — LISTA NUMERADA) ───────────────────────────────────── */
.svc-section {
  background-color: var(--chalk);
  padding-block: var(--s8);
}

.svc-head {
  display: grid;
  gap: var(--s3);
  margin-bottom: var(--s6);
}

.svc-head__h {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 400;
  color: var(--t-base);
  line-height: 1.15;
  max-width: 22ch;
}
.svc-head__h em { font-style: italic; color: var(--crimson); }

.svc-list {
  border-top: 1.5px solid var(--bone-deep);
}

.svc-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: var(--s3);
  padding: var(--s4) 0;
  border-bottom: 1px solid var(--bone-deep);
  position: relative;
  transition: background-color var(--tr-fast);
  cursor: default;
}

.svc-row::before {
  content: '';
  position: absolute;
  left: -var(--cpad);
  right: -var(--cpad);
  top: 0;
  bottom: 0;
  background-color: transparent;
  transition: background-color var(--tr-fast);
  z-index: -1;
}

.svc-row:hover .svc-row__num { color: var(--crimson); }

.svc-row__num {
  font-family: var(--f-mono);
  font-size: var(--tx-sm);
  font-weight: 400;
  color: var(--fog);
  padding-top: 4px;
  transition: color var(--tr-fast);
  flex-shrink: 0;
  letter-spacing: 0.05em;
}

.svc-row__body {
  display: flex;
  flex-direction: column;
  gap: var(--s2);
}

.svc-row__title {
  font-family: var(--f-body);
  font-size: var(--tx-lg);
  font-weight: 600;
  color: var(--t-base);
  line-height: 1.25;
  transition: color var(--tr-fast);
}
.svc-row:hover .svc-row__title { color: var(--crimson); }

.svc-row__desc {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.7;
  max-width: 68ch;
}

.svc-row__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s2);
}

.svc-row__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.stag {
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background-color: var(--bone);
  color: var(--steel);
  border: 1px solid var(--bone-deep);
}

.svc-row__arrow {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--bone-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fog);
  transition: all var(--tr-base);
}
.svc-row:hover .svc-row__arrow {
  border-color: var(--crimson);
  color: var(--crimson);
  transform: translateX(4px);
}

/* ── ABOUT STRIP ────────────────────────────────────────────────────────── */
.about-strip {
  background-color: var(--bone);
  padding-block: var(--s8);
}

.about-strip__grid {
  display: grid;
  gap: var(--s6);
}

.about-strip__text .kicker { margin-bottom: var(--s3); }

.about-strip__h {
  font-family: var(--f-display);
  font-size: clamp(1.6rem, 4vw, 2.75rem);
  font-weight: 400;
  color: var(--t-base);
  line-height: 1.15;
  margin-bottom: var(--s3);
}

.about-strip__body {
  font-size: var(--tx-base);
  color: var(--t-mid);
  line-height: 1.75;
  margin-bottom: var(--s3);
}

.about-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  align-items: center;
}

/* Card de dados corporativos — design completamente diferente */
.corp-card {
  background-color: var(--ink);
  border-radius: var(--r-lg);
  padding: var(--s5);
  position: relative;
  overflow: hidden;
}

.corp-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, var(--crimson), var(--saffron));
}

.corp-card__label {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--crimson-lt);
  margin-bottom: var(--s3);
  display: block;
}

.corp-card__list {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
}

.corp-card__item dt {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(160,169,184,.55);
  margin-bottom: 3px;
}

.corp-card__item dd {
  font-size: var(--tx-sm);
  color: var(--t-on-ink);
  line-height: 1.55;
  font-weight: 400;
}

.corp-card__item dd a {
  color: var(--saffron);
  transition: color var(--tr-fast);
}
.corp-card__item dd a:hover { color: var(--saffron-lt); }

.corp-card__item dd.mono {
  font-family: var(--f-mono);
  letter-spacing: 0.04em;
}

/* ── METRICS BAND (stats — fundo bone, números crimson) ──────────────────── */
.metrics-band {
  background-color: var(--bone-mid);
  padding-block: var(--s8);
  position: relative;
}

.metrics-band__head {
  text-align: center;
  margin-bottom: var(--s6);
}

.metrics-band__h {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 400;
  font-style: italic;
  color: var(--t-base);
  margin-top: var(--s2);
}

.metrics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s3);
}

.metric-block {
  background-color: var(--chalk);
  border-radius: var(--r-md);
  padding: var(--s4) var(--s3);
  position: relative;
  border: 1px solid var(--bone-deep);
}

.metric-block__n {
  font-family: var(--f-mono);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 700;
  color: var(--crimson);
  line-height: 1;
  letter-spacing: -0.02em;
}

.metric-block__n sup {
  font-size: 0.45em;
  font-weight: 400;
  vertical-align: super;
  color: var(--saffron);
}

.metric-block__l {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--steel);
  margin-top: var(--s1);
  display: block;
}

.metric-block__d {
  font-size: var(--tx-xs);
  color: var(--fog);
  line-height: 1.5;
  margin-top: 4px;
}

/* ── VOICE STAGE (DEPOIMENTOS — CAROUSEL SINGLE) ────────────────────────── */
.voices {
  background-color: var(--chalk);
  padding-block: var(--s8);
}

.voices__head {
  text-align: center;
  margin-bottom: var(--s6);
}

.voices__h {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400;
  color: var(--t-base);
  margin-top: var(--s2);
}

.voice-stage {
  max-width: 780px;
  margin-inline: auto;
  position: relative;
  min-height: 200px;
}

.voice-item {
  display: none;
  flex-direction: column;
  gap: var(--s4);
  animation: voiceFade .4s ease;
}
.voice-item.active { display: flex; }

@keyframes voiceFade {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.voice__q {
  font-family: var(--f-display);
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 400;
  font-style: italic;
  line-height: 1.65;
  color: var(--t-base);
  text-align: center;
  position: relative;
  padding: 0 var(--s3);
}

.voice__q::before {
  content: '"';
  font-family: var(--f-display);
  font-size: 5rem;
  color: var(--bone-deep);
  line-height: 0;
  position: absolute;
  top: 16px;
  left: -8px;
  pointer-events: none;
}

.voice__author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s2);
}

.voice__avatar {
  width: 42px;
  height: 42px;
  background-color: var(--ink);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--f-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--bone);
}

.voice__name {
  font-size: var(--tx-sm);
  font-weight: 600;
  color: var(--t-base);
  display: block;
}

.voice__role {
  font-size: var(--tx-xs);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--crimson);
  display: block;
  margin-top: 2px;
}

/* Dots de navegação */
.voice-dots {
  display: flex;
  justify-content: center;
  gap: var(--s1);
  margin-top: var(--s4);
}

.voice-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--bone-deep);
  border: none;
  cursor: pointer;
  transition: all var(--tr-base);
}
.voice-dot.on {
  background-color: var(--crimson);
  transform: scale(1.3);
}

/* ── QNA (FAQ) ──────────────────────────────────────────────────────────── */
.qna-section {
  background-color: var(--bone);
  padding-block: var(--s8);
}

.qna-head {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--s6);
}

.qna-head__h {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400;
  color: var(--t-base);
  margin-top: var(--s2);
  margin-bottom: var(--s2);
}

.qna-list {
  max-width: 760px;
  margin-inline: auto;
  border-top: 1.5px solid var(--bone-deep);
}

.qna-item {
  border-bottom: 1px solid var(--bone-deep);
}

.qna-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3);
  padding: var(--s3) 0;
  cursor: pointer;
  list-style: none;
  transition: color var(--tr-fast);
  user-select: none;
}
.qna-item summary::-webkit-details-marker { display: none; }
.qna-item summary:hover { color: var(--crimson); }

.qna-item__q {
  font-family: var(--f-body);
  font-size: var(--tx-md);
  font-weight: 600;
  color: inherit;
  line-height: 1.3;
}

.qna-toggle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid var(--bone-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--fog);
  transition: all var(--tr-base);
  font-size: 18px;
  line-height: 1;
  font-weight: 300;
}
details[open] .qna-toggle {
  transform: rotate(45deg);
  border-color: var(--crimson);
  color: var(--crimson);
}

.qna-item__a {
  font-size: var(--tx-base);
  color: var(--t-mid);
  line-height: 1.75;
  padding-bottom: var(--s3);
  max-width: 68ch;
}

/* ── CLOSER (CTA SECTION) ───────────────────────────────────────────────── */
.closer {
  background-color: var(--ink-deep);
  padding-block: var(--s8);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.closer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--crimson), var(--saffron), transparent 70%);
}

.closer__tag {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--crimson-lt);
  display: block;
  margin-bottom: var(--s3);
}

.closer__h {
  font-family: var(--f-display);
  font-size: clamp(1.9rem, 5vw, 3.25rem);
  font-weight: 300;
  color: var(--t-light);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: var(--s3);
}
.closer__h em { font-style: italic; color: var(--saffron); }

.closer__lead {
  font-size: var(--tx-base);
  color: var(--t-dim);
  line-height: 1.75;
  max-width: 52ch;
  margin-inline: auto;
  margin-bottom: var(--s5);
}

.closer__btns {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  justify-content: center;
}

/* ── PAGE HERO (PÁGINAS INTERNAS) ───────────────────────────────────────── */
.pg-hero {
  padding-top: calc(68px + var(--s7));
  padding-bottom: var(--s6);
  background-color: var(--ink);
  position: relative;
  overflow: hidden;
}

.pg-hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--crimson), var(--saffron) 40%, transparent 70%);
}

.pg-hero__crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--tx-xs);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(160,169,184,.5);
  margin-bottom: var(--s3);
}
.pg-hero__crumb a { color: inherit; transition: color var(--tr-fast); }
.pg-hero__crumb a:hover { color: var(--saffron-lt); }
.pg-hero__crumb span { color: var(--crimson-lt); }

.pg-hero__h {
  font-family: var(--f-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  color: var(--t-light);
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 22ch;
  margin-bottom: var(--s3);
}

.pg-hero__lead {
  font-size: var(--tx-md);
  font-weight: 300;
  color: rgba(160,169,184,.75);
  max-width: 56ch;
  line-height: 1.75;
}

/* ── BASEFOOT (RODAPÉ) ──────────────────────────────────────────────────── */
.basefoot {
  background-color: var(--ink);
  color: var(--t-on-ink);
}

.basefoot__main {
  padding-block: var(--s8);
  border-bottom: 1px solid rgba(245,244,240,.06);
}

.basefoot__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s6);
}

.basefoot__brand {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
  max-width: 300px;
}

.basefoot__logo {
  display: flex;
  align-items: center;
  gap: var(--s2);
  text-decoration: none;
}

.basefoot__logo-mark {
  width: 34px;
  height: 34px;
  background-color: var(--crimson);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.basefoot__logo-name {
  font-family: var(--f-body);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--t-light);
}

.basefoot__desc {
  font-size: var(--tx-sm);
  color: rgba(160,169,184,.6);
  line-height: 1.7;
}

.basefoot__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--tx-sm);
  color: rgba(160,169,184,.6);
  margin-bottom: var(--s2);
  line-height: 1.6;
}
.basefoot__contact-item svg {
  width: 14px; height: 14px;
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--crimson-lt);
}
.basefoot__contact-item a {
  color: inherit;
  transition: color var(--tr-fast);
}
.basefoot__contact-item a:hover { color: var(--t-light); }

.basefoot__col-head {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--crimson-lt);
  margin-bottom: var(--s3);
  display: block;
}

.basefoot__col-links {
  display: flex;
  flex-direction: column;
  gap: var(--s2);
}

.basefoot__col-link {
  font-size: var(--tx-sm);
  color: rgba(160,169,184,.6);
  transition: color var(--tr-fast);
}
.basefoot__col-link:hover { color: var(--t-light); }

/* Faixa de dados legais */
.basefoot__legal-strip {
  padding-block: var(--s3);
  border-top: 2px solid var(--crimson);
  display: flex;
  flex-direction: column;
  gap: var(--s2);
}

.basefoot__reg-data {
  display: flex;
  flex-wrap: wrap;
  gap: 4px var(--s3);
}

.basefoot__reg-item {
  font-family: var(--f-mono);
  font-size: 0.65rem;
  letter-spacing: 0.05em;
  color: rgba(160,169,184,.4);
}
.basefoot__reg-item strong {
  color: rgba(160,169,184,.65);
  font-weight: 400;
}

.basefoot__page-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2) var(--s3);
}

.basefoot__page-link {
  font-size: var(--tx-xs);
  color: rgba(160,169,184,.4);
  transition: color var(--tr-fast);
}
.basefoot__page-link:hover { color: var(--t-light); }

.basefoot__copy {
  font-size: var(--tx-xs);
  color: rgba(160,169,184,.3);
  margin-top: var(--s1);
  padding-bottom: var(--s3);
}

/* ── FORMS ──────────────────────────────────────────────────────────────── */
.f-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: var(--s3);
}

.f-label {
  font-size: var(--tx-sm);
  font-weight: 600;
  color: var(--t-base);
}
.f-label em { color: var(--crimson); font-style: normal; margin-left: 2px; }

.f-input, .f-select, .f-textarea {
  font-family: var(--f-body);
  font-size: var(--tx-base);
  color: var(--t-base);
  background-color: var(--chalk);
  border: 1.5px solid var(--bone-deep);
  border-radius: var(--r-md);
  padding: 12px 16px;
  width: 100%;
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
  -webkit-appearance: none;
}
.f-input::placeholder, .f-textarea::placeholder { color: var(--fog); }
.f-input:focus, .f-select:focus, .f-textarea:focus {
  border-color: var(--crimson);
  box-shadow: 0 0 0 3px rgba(197,53,43,.1);
  outline: none;
}
.f-input.err, .f-textarea.err { border-color: var(--crimson); }

.f-textarea { resize: vertical; min-height: 120px; line-height: 1.6; }

.f-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23475569' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}

.f-check-group {
  display: flex;
  align-items: flex-start;
  gap: var(--s2);
  margin-bottom: var(--s3);
}
.f-check-group input[type="checkbox"] {
  width: 16px; height: 16px;
  margin-top: 2px; flex-shrink: 0;
  accent-color: var(--crimson);
  cursor: pointer;
}
.f-check-group label {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.5;
  cursor: pointer;
}
.f-check-group label a { color: var(--crimson); text-decoration: underline; }

/* ── CONTACT INFO CARDS ─────────────────────────────────────────────────── */
.cinfo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s3);
}

.cinfo-card {
  display: flex;
  gap: var(--s3);
  align-items: flex-start;
  background-color: var(--chalk);
  border: 1px solid var(--bone-deep);
  border-radius: var(--r-md);
  padding: var(--s4);
  transition: border-color var(--tr-base), box-shadow var(--tr-base);
}
.cinfo-card:hover {
  border-color: var(--crimson);
  box-shadow: var(--sh-sm);
}

.cinfo-card__ico {
  width: 40px; height: 40px;
  background-color: var(--crimson);
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #fff;
}

.cinfo-card__tag {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--crimson);
  margin-bottom: 4px;
}

.cinfo-card__val {
  font-size: var(--tx-base);
  font-weight: 600;
  color: var(--t-base);
  line-height: 1.4;
  margin-bottom: 2px;
}
.cinfo-card__val a { color: inherit; transition: color var(--tr-fast); }
.cinfo-card__val a:hover { color: var(--crimson); }

.cinfo-card__note {
  font-size: var(--tx-xs);
  color: var(--fog);
}

/* ── TIMELINE (SOBRE) ───────────────────────────────────────────────────── */
.tl {
  display: flex;
  flex-direction: column;
  position: relative;
}
.tl::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 19px;
  width: 1px;
  background: linear-gradient(to bottom, var(--crimson), var(--bone-deep));
}

.tl-item {
  display: flex;
  gap: var(--s4);
  padding-bottom: var(--s5);
  position: relative;
}

.tl-item__dot {
  width: 39px; height: 39px;
  border-radius: 50%;
  background-color: var(--bone);
  border: 2px solid var(--crimson);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  z-index: 1;
}

.tl-item__yr {
  font-family: var(--f-mono);
  font-size: 0.55rem;
  font-weight: 400;
  color: var(--crimson);
  letter-spacing: 0.04em;
}

.tl-item__body { padding-top: 7px; }

.tl-item__title {
  font-family: var(--f-body);
  font-size: var(--tx-lg);
  font-weight: 600;
  color: var(--t-base);
  margin-bottom: 4px;
}

.tl-item__text {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.7;
}

/* ── TEAM GRID ───────────────────────────────────────────────────────────── */
.team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s3);
}

.team-card {
  background-color: var(--chalk);
  border: 1px solid var(--bone-deep);
  border-radius: var(--r-md);
  padding: var(--s4) var(--s3);
  text-align: center;
  transition: all var(--tr-base);
}
.team-card:hover {
  border-color: var(--crimson);
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}

.team-card__av {
  width: 60px; height: 60px;
  border-radius: var(--r-sm);
  background-color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  margin-inline: auto;
  margin-bottom: var(--s2);
}

.team-card__initials {
  font-family: var(--f-display);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--bone);
  letter-spacing: -0.01em;
}

.team-card__name {
  font-family: var(--f-body);
  font-size: var(--tx-md);
  font-weight: 700;
  color: var(--t-base);
  margin-bottom: 3px;
}

.team-card__role {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--crimson);
  margin-bottom: var(--s2);
}

.team-card__bio {
  font-size: var(--tx-xs);
  color: var(--t-mid);
  line-height: 1.6;
}

/* ── VALORES ──────────────────────────────────────────────────────────────── */
.values-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s4);
}

.val-item {
  display: flex;
  gap: var(--s3);
  align-items: flex-start;
}

.val-item__n {
  font-family: var(--f-mono);
  font-size: var(--tx-xs);
  font-weight: 400;
  color: var(--crimson);
  padding-top: 4px;
  flex-shrink: 0;
  min-width: 24px;
}

.val-item__title {
  font-family: var(--f-body);
  font-size: var(--tx-lg);
  font-weight: 600;
  color: var(--t-base);
  margin-bottom: 4px;
}

.val-item__text {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.7;
}

/* ── MVV CARDS ────────────────────────────────────────────────────────────── */
.mvv-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s3);
}

.mvv-card {
  background-color: var(--chalk);
  border: 1px solid var(--bone-deep);
  border-radius: var(--r-md);
  padding: var(--s5);
  position: relative;
}

.mvv-card--1 { border-top: 3px solid var(--crimson); }
.mvv-card--2 { border-top: 3px solid var(--ink); }
.mvv-card--3 { border-top: 3px solid var(--saffron); }

.mvv-card__tag {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fog);
  margin-bottom: var(--s2);
  display: block;
}

.mvv-card__h {
  font-family: var(--f-display);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 500;
  color: var(--t-base);
  margin-bottom: var(--s2);
  line-height: 1.3;
}

.mvv-card__p {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.75;
}

/* ── PROSE (PÁGINAS LEGAIS) ─────────────────────────────────────────────── */
.prose { max-width: 72ch; }

.prose h2 {
  font-family: var(--f-display);
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  font-weight: 500;
  color: var(--t-base);
  margin-top: var(--s6);
  margin-bottom: var(--s2);
  line-height: 1.25;
}

.prose h3 {
  font-family: var(--f-body);
  font-size: var(--tx-lg);
  font-weight: 600;
  color: var(--t-base);
  margin-top: var(--s4);
  margin-bottom: var(--s1);
}

.prose p {
  font-size: var(--tx-base);
  color: var(--t-mid);
  line-height: 1.8;
  margin-bottom: var(--s3);
}

.prose ul, .prose ol {
  list-style: disc;
  padding-left: var(--s3);
  margin-bottom: var(--s3);
}
.prose ol { list-style: decimal; }

.prose li {
  font-size: var(--tx-base);
  color: var(--t-mid);
  line-height: 1.7;
  margin-bottom: 6px;
}

.prose a { color: var(--crimson); text-decoration: underline; text-underline-offset: 3px; }
.prose a:hover { color: var(--crimson-dk); }
.prose strong { font-weight: 600; color: var(--t-base); }
.prose code { font-family: var(--f-mono); font-size: 0.9em; color: var(--ink); }

/* ── UTILITÁRIOS ────────────────────────────────────────────────────────── */
.bg-bone   { background-color: var(--bone); }
.bg-chalk  { background-color: var(--chalk); }
.bg-ink    { background-color: var(--ink); }

.text-crimson  { color: var(--crimson); }
.text-saffron  { color: var(--saffron); }
.text-on-ink   { color: var(--t-on-ink); }
.text-muted    { color: var(--t-muted); }
.text-center   { text-align: center; }
.font-display  { font-family: var(--f-display); }
.font-mono     { font-family: var(--f-mono); }

.divider {
  border: none;
  border-top: 1px solid var(--bone-deep);
  margin-block: var(--s5);
}

/* ── SKIP LINK ───────────────────────────────────────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  left: var(--s2);
  background-color: var(--crimson);
  color: #fff;
  padding: 8px 16px;
  font-size: var(--tx-sm);
  font-weight: 600;
  border-radius: var(--r-sm);
  z-index: 9999;
  transition: top var(--tr-fast);
}
.skip-link:focus { top: var(--s1); }

/* ── FOCUS ───────────────────────────────────────────────────────────────── */
:focus-visible {
  outline: 2.5px solid var(--crimson);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ── SCROLLBAR ───────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bone-mid); }
::-webkit-scrollbar-thumb { background: var(--ink-mid); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--crimson); }

/* ── ANIMAÇÕES ───────────────────────────────────────────────────────────── */
@keyframes riseIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.rise  { animation: riseIn .55s cubic-bezier(.4,0,.2,1) both; }
.rise2 { animation: riseIn .55s cubic-bezier(.4,0,.2,1) .12s both; }
.rise3 { animation: riseIn .55s cubic-bezier(.4,0,.2,1) .24s both; }
.rise4 { animation: riseIn .55s cubic-bezier(.4,0,.2,1) .36s both; }

/* ── PRINT ───────────────────────────────────────────────────────────────── */
@media print {
  .topbar, .closer, .splash__btns { display: none !important; }
  body { background: white; color: #000; }
  .basefoot { background: white; color: #333; }
}

/* ════════════════════════════ TABLET ≥ 640px ══════════════════════════════ */
@media (min-width: 640px) {
  :root { --cpad: var(--s3); }
  .g2 { grid-template-columns: 1fr 1fr; }
  .g3 { grid-template-columns: 1fr 1fr; }
  .metrics-grid { grid-template-columns: repeat(4, 1fr); }
  .cinfo-grid { grid-template-columns: 1fr 1fr; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .mvv-grid { grid-template-columns: 1fr 1fr 1fr; }
  .basefoot__grid { grid-template-columns: 1fr 1fr; }
  .basefoot__legal-strip { flex-direction: row; align-items: center; justify-content: space-between; }
  .svc-row { grid-template-columns: 48px 1fr auto; align-items: center; }
  .svc-row__body { flex-direction: row; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s4); }
}

/* ════════════════════════════ DESKTOP ≥ 1024px ════════════════════════════ */
@media (min-width: 1024px) {
  :root { --cpad: var(--s4); }

  .topbar__nav  { display: flex; }
  .topbar__cta  { display: flex; }
  .topbar__burger { display: none; }

  .g2 { grid-template-columns: 1fr 1fr; }
  .g3 { grid-template-columns: 1fr 1fr 1fr; }

  .about-strip__grid { grid-template-columns: 1fr 420px; align-items: center; }
  .basefoot__grid { grid-template-columns: 2fr 1fr 1fr 1.5fr; }
  .team-grid { grid-template-columns: repeat(4, 1fr); }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .cinfo-grid { grid-template-columns: 1fr 1fr; }
}

/* ════════════════════════════ LARGE ≥ 1280px ══════════════════════════════ */
@media (min-width: 1280px) {
  :root { --cpad: var(--s5); }
}

/* ══════════════════════════════════════════════════════════════════════════
   EXTENSÃO — componentes das páginas internas
   (page-hero, tl-section, diffs, team, reg-table, contact, forms, map)
══════════════════════════════════════════════════════════════════════════ */

/* ── Topbar link ativo ────────────────────────────────────────────────── */
.topbar__link--active { color: var(--ink) !important; }
.topbar__link--active::after { width: 100% !important; }
.topbar.dark-mode .topbar__link--active { color: var(--t-light) !important; }

/* ── Utilitários globais ─────────────────────────────────────────────── */
.section-h {
  font-family: var(--f-display);
  font-size: clamp(1.6rem, 4vw, 2.75rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--t-base);
  margin-bottom: var(--s3);
}
.section-h em { font-style: italic; color: var(--crimson); }
.centered { text-align: center; }
.mono { font-family: var(--f-mono); letter-spacing: 0.04em; }

/* ── Page Hero (páginas internas — diferente de .pg-hero) ──────────── */
.page-hero {
  padding-top: calc(68px + var(--s7));
  padding-bottom: var(--s6);
  background-color: var(--ink);
  position: relative;
  overflow: hidden;
}
.page-hero__line {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--crimson), var(--saffron) 40%, transparent 70%);
}
.page-hero .kicker { margin-bottom: var(--s3); }
.page-hero__h {
  font-family: var(--f-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  color: var(--t-light);
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 24ch;
  margin-bottom: var(--s3);
}
.page-hero__lead {
  font-size: var(--tx-md);
  font-weight: 300;
  color: rgba(160,169,184,.75);
  max-width: 56ch;
  line-height: 1.75;
}

/* ── MVV — icon e body adicionais ─────────────────────────────────────── */
.mvv-section { background-color: var(--chalk); padding-block: var(--s8); }
.mvv-section .kicker { margin-bottom: var(--s2); }
.mvv-section .section-h { margin-bottom: var(--s5); }
.mvv-card__icon {
  width: 44px; height: 44px;
  background-color: rgba(197,53,43,.08);
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--crimson);
  margin-bottom: var(--s3);
}
.mvv-card__body {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.75;
}

/* ── Timeline — nova estrutura (.tl-section / .tl-axis) ────────────── */
.tl-section {
  background-color: var(--bone);
  padding-block: var(--s8);
}
.tl-section__head {
  margin-bottom: var(--s6);
}
.tl-section__head .kicker { margin-bottom: var(--s2); }
.tl-section__h {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400;
  color: var(--t-base);
  line-height: 1.15;
}
.tl-axis {
  display: flex;
  flex-direction: column;
  position: relative;
}
.tl-line {
  position: absolute;
  top: 0; bottom: 0;
  left: 19px;
  width: 1px;
  background: linear-gradient(to bottom, var(--crimson), var(--bone-deep));
}
.tl-axis .tl-item {
  display: flex;
  gap: var(--s4);
  padding-bottom: var(--s5);
  position: relative;
}
.tl-item__marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  z-index: 1;
}
.tl-axis .tl-item__dot {
  width: 39px; height: 39px;
  border-radius: 50%;
  background-color: var(--bone);
  border: 2px solid var(--crimson);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.tl-item__dot--now {
  background-color: var(--crimson) !important;
}
.tl-item__year {
  font-family: var(--f-mono);
  font-size: 0.6rem;
  font-weight: 400;
  color: var(--crimson);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.tl-item__year--now { color: var(--crimson-lt); font-weight: 700; }
.tl-item__body { padding-top: 7px; }
.tl-item__h {
  font-family: var(--f-body);
  font-size: var(--tx-lg);
  font-weight: 600;
  color: var(--t-base);
  margin-bottom: 6px;
}
.tl-item__p {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.7;
  max-width: 60ch;
}

/* ── Diferenciais ─────────────────────────────────────────────────────── */
.diffs-section {
  background-color: var(--chalk);
  padding-block: var(--s8);
}
.diffs-section .kicker { margin-bottom: var(--s2); }
.diffs-section .section-h { margin-bottom: var(--s6); }
.diffs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s4);
}
.diff-item {
  border-left: 2px solid var(--bone-deep);
  padding-left: var(--s3);
  transition: border-color var(--tr-base);
}
.diff-item:hover { border-left-color: var(--crimson); }
.diff-item__num {
  font-family: var(--f-mono);
  font-size: var(--tx-xs);
  font-weight: 400;
  color: var(--crimson);
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  display: block;
}
.diff-item__h {
  font-family: var(--f-body);
  font-size: var(--tx-md);
  font-weight: 600;
  color: var(--t-base);
  margin-bottom: 6px;
}
.diff-item__p {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.7;
}

/* ── Team — avatar e body adicionais ──────────────────────────────────── */
.team-section {
  background-color: var(--bone);
  padding-block: var(--s8);
}
.team-section .kicker { margin-bottom: var(--s2); }
.team-section .section-h { margin-bottom: var(--s6); }
.team-card__avatar {
  width: 60px; height: 60px;
  border-radius: var(--r-sm);
  background-color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  margin-inline: auto;
  margin-bottom: var(--s2);
}
.team-card__body { padding-top: var(--s1); }
.team-card__name {
  font-size: var(--tx-md);
  font-weight: 700;
  color: var(--t-base);
  display: block;
  margin-bottom: 3px;
}
.team-card__role {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--crimson);
  display: block;
  margin-bottom: var(--s2);
}

/* ── Dados corporativos / tabela ──────────────────────────────────────── */
.reg-section {
  background-color: var(--chalk);
  padding-block: var(--s8);
}
.reg-section .kicker { margin-bottom: var(--s2); }
.reg-table-wrap {
  overflow-x: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--bone-deep);
  max-width: 840px;
  margin-inline: auto;
}
.reg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--tx-sm);
}
.reg-table th, .reg-table td {
  text-align: left;
  padding: 13px 20px;
  border-bottom: 1px solid var(--bone-deep);
  vertical-align: top;
  line-height: 1.6;
}
.reg-table tr:last-child th,
.reg-table tr:last-child td { border-bottom: none; }
.reg-table th {
  font-weight: 600;
  color: var(--t-base);
  white-space: nowrap;
  background-color: var(--bone-mid);
  width: 200px;
}
.reg-table td { color: var(--t-mid); }
.reg-table td a { color: var(--crimson); transition: color var(--tr-fast); }
.reg-table td a:hover { color: var(--crimson-dk); }
.reg-table td.mono {
  font-family: var(--f-mono);
  letter-spacing: 0.04em;
  font-size: var(--tx-xs);
}

/* ── Contact page ─────────────────────────────────────────────────────── */
.contact-section {
  background-color: var(--bone);
  padding-block: var(--s8);
}
.contact-layout {
  display: grid;
  gap: var(--s6);
  grid-template-columns: 1fr;
}
.contact-info__h {
  font-family: var(--f-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  color: var(--t-base);
  margin-bottom: var(--s4);
}
.cinfo-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s3);
  margin-bottom: var(--s5);
}
.cinfo-card__icon {
  width: 40px; height: 40px;
  background-color: rgba(197,53,43,.08);
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--crimson);
}
.cinfo-card__label {
  font-size: var(--tx-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--crimson);
  margin-bottom: 4px;
  display: block;
}
.cinfo-card__value {
  font-size: var(--tx-base);
  font-weight: 600;
  color: var(--t-base);
  line-height: 1.4;
  margin-bottom: 2px;
  display: block;
}
.cinfo-card__value a { color: inherit; transition: color var(--tr-fast); }
.cinfo-card__value a:hover { color: var(--crimson); }

/* ── Processo (3 etapas) ─────────────────────────────────────────────── */
.process-steps {
  background-color: var(--bone-mid);
  border-radius: var(--r-lg);
  padding: var(--s4);
}
.process-steps__h {
  font-family: var(--f-body);
  font-size: var(--tx-sm);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--crimson);
  margin-bottom: var(--s3);
}
.process-list {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
  list-style: none;
}
.process-item {
  display: flex;
  gap: var(--s2);
  align-items: flex-start;
}
.process-item__num {
  width: 28px; height: 28px;
  background-color: var(--crimson);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--tx-xs);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
.process-item__title {
  font-size: var(--tx-sm);
  font-weight: 600;
  color: var(--t-base);
  margin-bottom: 3px;
  display: block;
}
.process-item__desc {
  font-size: var(--tx-xs);
  color: var(--t-mid);
  line-height: 1.6;
}

/* ── Formulário de contato — sistema .fld ──────────────────────────── */
.contact-form-wrap {
  background-color: var(--chalk);
  border: 1px solid var(--bone-deep);
  border-radius: var(--r-lg);
  padding: var(--s5);
}
.contact-form__h {
  font-family: var(--f-display);
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  font-weight: 400;
  color: var(--t-base);
  margin-bottom: var(--s4);
}
.form-row { margin-bottom: var(--s3); }
.form-row--2col { display: grid; grid-template-columns: 1fr; gap: var(--s3); }

.fld { display: flex; flex-direction: column; gap: 6px; }
.fld__label {
  font-size: var(--tx-sm);
  font-weight: 600;
  color: var(--t-base);
}
.fld__req { color: var(--crimson); margin-left: 2px; }
.fld__input {
  font-family: var(--f-body);
  font-size: var(--tx-base);
  color: var(--t-base);
  background-color: var(--bone);
  border: 1.5px solid var(--bone-deep);
  border-radius: var(--r-md);
  padding: 12px 16px;
  width: 100%;
  transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
  -webkit-appearance: none;
}
.fld__input::placeholder { color: var(--fog); }
.fld__input:focus {
  border-color: var(--crimson);
  box-shadow: 0 0 0 3px rgba(197,53,43,.10);
  outline: none;
}
.fld__input--err { border-color: var(--crimson) !important; }
.fld__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23475569' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}
.fld__textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
.fld__err {
  display: none;
  font-size: var(--tx-xs);
  color: var(--crimson);
  font-weight: 500;
  margin-top: 2px;
}

.fld--check { flex-direction: column; }
.fld__check-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.fld__check {
  width: 16px; height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--crimson);
  cursor: pointer;
}
.fld__check-text {
  font-size: var(--tx-xs);
  color: var(--t-mid);
  line-height: 1.6;
}
.fld__check-text a { color: var(--crimson); text-decoration: underline; text-underline-offset: 2px; }

.form-submit { width: 100%; margin-top: var(--s3); }
.form-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none !important; }

.form-success {
  display: flex;
  align-items: flex-start;
  gap: var(--s2);
  background-color: rgba(197,53,43,.05);
  border: 1px solid rgba(197,53,43,.2);
  border-radius: var(--r-md);
  padding: var(--s3);
  margin-top: var(--s3);
  color: var(--t-base);
}
.form-success svg { flex-shrink: 0; color: var(--crimson); margin-top: 2px; }
.form-success strong { display: block; font-size: var(--tx-sm); margin-bottom: 4px; }
.form-success p { font-size: var(--tx-xs); color: var(--t-mid); }

/* ── Seção mapa ───────────────────────────────────────────────────────── */
.map-section {
  background-color: var(--bone-mid);
  padding-block: var(--s7);
}
.map-frame {
  max-width: 640px;
  margin-inline: auto;
  border: 1.5px solid var(--bone-deep);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.map-frame__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s3);
  padding: var(--s6) var(--s5);
  text-align: center;
}
.map-frame__inner p {
  font-size: var(--tx-sm);
  color: var(--t-mid);
  line-height: 1.65;
}

/* ── Responsive — extensões ────────────────────────────────────────── */
@media (min-width: 640px) {
  .form-row--2col { grid-template-columns: 1fr 1fr; }
  .cinfo-cards { grid-template-columns: 1fr 1fr; }
  .diffs-grid { grid-template-columns: 1fr 1fr; }
  .mvv-grid { grid-template-columns: 1fr 1fr 1fr; }
}

@media (min-width: 1024px) {
  .contact-layout { grid-template-columns: 420px 1fr; }
  .tl-section__head { max-width: 500px; }
  .diffs-grid { grid-template-columns: 1fr 1fr 1fr; }
}

