/* =================================================================
   VTO Group · site v2
   Sistema visual baseado no Material Design 3 (Google):
   cores tonais, formas, elevação, camadas de estado, ripple e movimento.
   Ordem: tokens → base → componentes → seções → JASIRI → responsivo
   ================================================================= */

/* ---------- 1. Tokens de design ---------- */
:root {
  /* Cor: esquema Material 3 gerado a partir do roxo da marca */
  --primary: #6A00C4;
  --on-primary: #FFFFFF;
  --primary-container: #F1DBFF;
  --on-primary-container: #2C0052;
  --secondary-container: #ECDDF7;
  --on-secondary-container: #251431;
  --tertiary: #A3009B;
  --surface: #FFFBFF;
  --surface-container-lowest: #FFFFFF;
  --surface-container-low: #F9F3FD;
  --surface-container: #F3EDF8;
  --surface-container-high: #EDE6F3;
  --surface-container-highest: #E7E0ED;
  --on-surface: #1D1A22;
  --on-surface-variant: #4A4456;
  --outline: #7B7488;
  --outline-variant: #CCC3D8;
  --inverse-surface: #170A2B;
  --inverse-surface-2: #23123D;
  --inverse-on-surface: #F4EDFA;
  --inverse-on-surface-variant: #CDBFE0;
  --inverse-primary: #DCB8FF;
  --error: #BA1A1A;
  --focus-ring: #B300E6;
  --gold: #D9A94E;
  --whats: #1B7F43;

  --hero-1: #4600A0;
  --hero-2: #6A00C4;
  --hero-3: #8C00D6;
  --hero-glow-1: rgba(196, 110, 255, .55);
  --hero-glow-2: rgba(255, 92, 214, .36);
  --hero-glow-3: rgba(120, 50, 255, .5);
  --net-rgb: 255, 255, 255;

  /* Forma */
  --shape-xs: 4px;
  --shape-s: 8px;
  --shape-m: 12px;
  --shape-l: 16px;
  --shape-xl: 28px;
  --shape-full: 999px;

  /* Elevação (níveis 1 a 5 do Material 3) */
  --elev-1: 0 1px 2px rgba(25, 8, 45, .2), 0 1px 3px 1px rgba(25, 8, 45, .1);
  --elev-2: 0 1px 2px rgba(25, 8, 45, .2), 0 2px 6px 2px rgba(25, 8, 45, .1);
  --elev-3: 0 1px 3px rgba(25, 8, 45, .2), 0 4px 8px 3px rgba(25, 8, 45, .1);
  --elev-4: 0 2px 3px rgba(25, 8, 45, .2), 0 6px 10px 4px rgba(25, 8, 45, .1);
  --elev-5: 0 4px 4px rgba(25, 8, 45, .2), 0 8px 12px 6px rgba(25, 8, 45, .1);

  /* Movimento: curvas e durações do Material 3 */
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-standard-decel: cubic-bezier(0, 0, 0, 1);
  --ease-standard-accel: cubic-bezier(.3, 0, 1, 1);
  --ease-emph: cubic-bezier(.2, 0, 0, 1);
  --ease-emph-decel: cubic-bezier(.05, .7, .1, 1);
  --ease-emph-accel: cubic-bezier(.3, 0, .8, .15);
  --dur-short: 150ms;
  --dur-medium: 300ms;
  --dur-long: 500ms;
  --dur-xlong: 700ms;

  /* Tipografia e layout */
  --font: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: var(--font);
  --max: 1200px;
  --appbar-h: 72px;
}

/* Tema da JASIRI: marrom, creme e dourado, com títulos serifados */
.theme-jasiri {
  --primary: #7A4E14;
  --on-primary: #FFFFFF;
  --primary-container: #F6E4C3;
  --on-primary-container: #2B1A00;
  --secondary-container: #EFE4D3;
  --on-secondary-container: #2A2017;
  --tertiary: #9A6A1E;
  --surface: #FFFCF7;
  --surface-container-lowest: #FFFFFF;
  --surface-container-low: #FAF6F0;
  --surface-container: #F2EDE5;
  --surface-container-high: #ECE5DA;
  --surface-container-highest: #E5DDD0;
  --on-surface: #231B16;
  --on-surface-variant: #5C5149;
  --outline: #8A7E72;
  --outline-variant: #DDD3C5;
  --inverse-surface: #231B16;
  --inverse-surface-2: #2E241D;
  --inverse-on-surface: #F2EDE5;
  --inverse-on-surface-variant: #CFC5B8;
  --inverse-primary: #E2B867;
  --focus-ring: #C9973F;
  --font-display: 'Lora', Georgia, 'Times New Roman', serif;
  --hero-1: #15100C;
  --hero-2: #231B16;
  --hero-3: #2E241D;
  --hero-glow-1: rgba(217, 169, 78, .22);
  --hero-glow-2: rgba(170, 105, 40, .22);
  --hero-glow-3: rgba(217, 169, 78, .1);
  --net-rgb: 226, 184, 103;
}
body.theme-jasiri { --font: 'Lato', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--appbar-h) + 12px); -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--on-surface);
  background: var(--surface);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
@supports (overflow-x: clip) { body { overflow-x: clip; } }
img, svg, canvas, video, iframe { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul, ol { list-style: none; }
table { border-collapse: collapse; width: 100%; }
hr { border: 0; border-top: 1px solid var(--outline-variant); }
code { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .92em; }
::selection { background: var(--primary-container); color: var(--on-primary-container); }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; border-radius: 6px; }

.container { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: clamp(16px, 4vw, 32px); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nowrap { white-space: nowrap; }
.skip { position: absolute; left: -9999px; top: 12px; z-index: 200; padding: 10px 16px; border-radius: var(--shape-s); background: var(--surface); color: var(--on-surface); box-shadow: var(--elev-3); }
.skip:focus { left: 12px; }

/* Ícones Material Symbols (Google) */
.msr {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  display: inline-block;
  width: 1em;
  height: 1em;
  overflow: hidden;
  flex: none;
  vertical-align: middle;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  font-variation-settings: 'FILL' 0;
  -webkit-font-smoothing: antialiased;
  user-select: none;
  transition: font-variation-settings var(--dur-medium) var(--ease-standard), transform var(--dur-medium) var(--ease-emph);
}
.msr--fill { font-variation-settings: 'FILL' 1; }

/* Tipografia */
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height: 1.15; letter-spacing: -.015em; text-wrap: balance; }
p { text-wrap: pretty; }
.h2, .section-head h2 { font-size: clamp(1.95rem, 4.2vw, 3.05rem); line-height: 1.1; letter-spacing: -.025em; }
.h2 em, .section-head h2 em { font-style: italic; font-weight: 500; color: var(--primary); }
.theme-jasiri .h2 em, .theme-jasiri .section-head h2 em { font-weight: 600; }
.h3 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.overline { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font); font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--primary); }
.overline .msr { font-size: 18px; }

/* ---------- 3. Componentes Material ---------- */

/* Ripple (efeito de toque) e camada de estado */
[data-ripple] { position: relative; overflow: hidden; isolation: isolate; -webkit-tap-highlight-color: transparent; }
.md-ripple { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; background: currentColor; opacity: .2; transform: scale(0); animation: md-ripple 650ms var(--ease-emph-decel) forwards; }
@keyframes md-ripple { to { transform: scale(1); opacity: 0; } }

/* Botões */
.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 26px;
  border-radius: var(--shape-full);
  border: 1px solid transparent;
  font: 600 .97rem/1.2 var(--font);
  letter-spacing: .01em;
  text-align: center;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: box-shadow var(--dur-medium) var(--ease-standard), background-color var(--dur-medium) var(--ease-standard), color var(--dur-medium) var(--ease-standard), border-color var(--dur-medium) var(--ease-standard);
}
.btn::before { content: ''; position: absolute; inset: 0; z-index: -1; background: currentColor; opacity: 0; transition: opacity var(--dur-short) linear; }
.btn:hover::before { opacity: .08; }
.btn:focus-visible::before, .btn:active::before { opacity: .12; }
.btn .msr { font-size: 20px; }
.btn:hover .msr:last-child:not(:first-child) { transform: translateX(3px); }
.btn--filled { background: var(--primary); color: var(--on-primary); }
.btn--filled:hover { box-shadow: var(--elev-2); }
.btn--tonal { background: var(--secondary-container); color: var(--on-secondary-container); }
.btn--tonal:hover { box-shadow: var(--elev-1); }
.btn--outlined { border-color: var(--outline); color: var(--primary); }
.btn--text { padding: 0 14px; color: var(--primary); }
.btn--light { background: #FFFFFF; color: var(--hero-2); }
.btn--light:hover { box-shadow: 0 10px 28px -10px rgba(0, 0, 0, .55); }
.btn--outline-light { border-color: rgba(255, 255, 255, .5); color: #FFFFFF; }
.btn--outline-light:hover { border-color: #FFFFFF; }
.btn--gold { background: var(--gold); color: #231B16; }
.btn--gold:hover { box-shadow: 0 10px 28px -10px rgba(217, 169, 78, .7); }
.btn--block { width: 100%; }

/* Botão de ícone */
.icon-btn { position: relative; isolation: isolate; overflow: hidden; display: inline-grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 50%; color: inherit; }
.icon-btn::before { content: ''; position: absolute; inset: 0; z-index: -1; background: currentColor; opacity: 0; transition: opacity var(--dur-short) linear; }
.icon-btn:hover::before { opacity: .08; }
.icon-btn:focus-visible::before, .icon-btn:active::before { opacity: .12; }

/* Chips */
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 5px 14px; border-radius: var(--shape-s); border: 1px solid var(--outline-variant); background: var(--surface-container-lowest); color: var(--on-surface-variant); font-size: .84rem; font-weight: 500; line-height: 1.3; }
.chip .msr { font-size: 18px; color: var(--primary); }
.chip--glass { border-color: rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .1); color: #FFFFFF; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.chip--glass .msr { color: #F2D6FF; }
.theme-jasiri .chip--glass .msr { color: var(--gold); }
.chip--dark { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); color: var(--inverse-on-surface-variant); }

/* Cards */
.card { position: relative; border-radius: var(--shape-xl); padding: clamp(22px, 3vw, 32px); background: var(--surface-container-low); transition: box-shadow var(--dur-medium) var(--ease-standard), transform var(--dur-medium) var(--ease-standard), background-color var(--dur-medium) var(--ease-standard); }
.card--elevated { background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.card--outlined { background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); }
@media (hover: hover) {
  .card--elevated:hover { box-shadow: var(--elev-3); transform: translateY(-4px); }
  .card--outlined:hover { box-shadow: var(--elev-2); }
}
.card h3 { font-size: 1.2rem; margin-bottom: 10px; }
.card p { color: var(--on-surface-variant); }

/* Caixa de ícone com morfologia de forma (quadrado arredondado → círculo) */
.icon-box { display: grid; place-items: center; width: 56px; height: 56px; flex: none; border-radius: var(--shape-l); background: var(--primary-container); color: var(--on-primary-container); transition: border-radius var(--dur-long) var(--ease-emph), background-color var(--dur-medium) var(--ease-standard); }
.icon-box .msr { font-size: 28px; }
.card .icon-box { margin-bottom: 22px; }
@media (hover: hover) {
  .card:hover .icon-box { border-radius: 50%; }
  .card:hover .icon-box .msr { font-variation-settings: 'FILL' 1; transform: scale(1.06); }
}

/* Lista com marcadores de verificação */
.checks { display: grid; gap: 12px; }
.checks li { display: flex; gap: 12px; align-items: flex-start; color: var(--on-surface-variant); line-height: 1.55; }
.checks li > .msr { font-size: 21px; color: var(--primary); margin-top: 1px; }
.checks strong { color: var(--on-surface); font-weight: 600; }

/* Fontes (notas de rodapé das seções) */
.sources { margin-top: 28px; font-size: .78rem; line-height: 1.5; color: var(--on-surface-variant); opacity: .9; }
.section--dark .sources { color: var(--inverse-on-surface-variant); }

/* ---------- 4. App bar, menu lateral e barra de progresso ---------- */
.progress { position: fixed; top: 0; left: 0; right: 0; z-index: 75; height: 3px; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, var(--primary), var(--tertiary)); pointer-events: none; }
.theme-jasiri .progress { background: linear-gradient(90deg, #9A6A1E, var(--gold)); }

.appbar { position: fixed; inset: 0 0 auto; z-index: 60; height: var(--appbar-h); color: #FFFFFF; transition: background-color var(--dur-medium) var(--ease-standard), box-shadow var(--dur-medium) var(--ease-standard), color var(--dur-medium) var(--ease-standard), transform var(--dur-long) var(--ease-emph); }
.appbar > .container { height: 100%; display: flex; align-items: center; gap: 12px; }
.appbar.is-scrolled, .appbar--solid { background: rgba(255, 251, 255, .94); color: var(--on-surface); box-shadow: 0 1px 0 var(--outline-variant), var(--elev-1); -webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px); }
.theme-jasiri .appbar.is-scrolled, .theme-jasiri .appbar--solid { background: rgba(255, 252, 247, .95); }
.appbar.is-hidden { transform: translateY(-110%); }

.brand { display: inline-flex; align-items: center; gap: 10px; flex: none; color: inherit; }
.brand svg { height: 30px; width: auto; }
.appbar .brand { margin-right: auto; }
.appbar.is-scrolled .brand, .appbar--solid .brand { color: var(--primary); }
.brand--jasiri { font-family: 'Lora', Georgia, serif; font-size: 1.35rem; font-weight: 600; letter-spacing: .22em; color: var(--gold); }
.brand--jasiri::before { content: ''; width: 13px; height: 13px; background: currentColor; transform: rotate(45deg); }
.appbar .brand--jasiri { margin-right: 0; }
.appbar.is-scrolled .brand--jasiri, .appbar--solid .brand--jasiri { color: var(--primary); }
.by-vto { display: inline-flex; align-items: center; gap: 6px; margin-right: auto; padding: 5px 12px; border-radius: var(--shape-full); border: 1px solid currentColor; font-size: .74rem; font-weight: 700; letter-spacing: .04em; opacity: .75; transition: opacity var(--dur-short); }
.by-vto:hover { opacity: 1; }
.by-vto svg { height: 12px; width: auto; }

.appbar-nav { display: flex; align-items: center; gap: 2px; }
.appbar-nav a { padding: 10px 14px; border-radius: var(--shape-full); font-size: .93rem; font-weight: 500; opacity: .88; transition: background-color var(--dur-short) linear, opacity var(--dur-short) linear; }
.appbar-nav a:hover { opacity: 1; background: rgba(255, 255, 255, .12); }
.appbar-nav a.is-active { opacity: 1; background: rgba(255, 255, 255, .16); }
.appbar.is-scrolled .appbar-nav a:hover, .appbar--solid .appbar-nav a:hover { background: var(--surface-container-high); }
.appbar.is-scrolled .appbar-nav a.is-active { background: var(--secondary-container); color: var(--on-secondary-container); }
.appbar-cta { min-height: 44px; padding: 0 20px; font-size: .9rem; }
.appbar.is-scrolled .btn--light, .appbar--solid .btn--light { background: var(--primary); color: var(--on-primary); }
.appbar.is-scrolled .btn--gold { background: var(--primary); color: var(--on-primary); }
.appbar-menu { display: none; }

.scrim { position: fixed; inset: 0; z-index: 70; background: rgba(12, 4, 22, .45); opacity: 0; pointer-events: none; transition: opacity var(--dur-medium) var(--ease-standard); }
.drawer {
  position: fixed;
  z-index: 80;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(88vw, 360px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 12px max(20px, env(safe-area-inset-bottom));
  overflow-y: auto;
  background: var(--surface-container-low);
  color: var(--on-surface);
  border-radius: var(--shape-l) 0 0 var(--shape-l);
  box-shadow: var(--elev-5);
  visibility: hidden;
  transform: translateX(105%);
  transition: transform 200ms var(--ease-emph-accel), visibility 0s linear 200ms;
}
body.drawer-open .scrim { opacity: 1; pointer-events: auto; }
body.drawer-open .drawer { visibility: visible; transform: none; transition: transform var(--dur-long) var(--ease-emph-decel), visibility 0s; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 12px 16px; color: var(--primary); }
.drawer-head .brand svg { height: 26px; }
.drawer-nav { display: grid; gap: 2px; margin-bottom: 16px; }
.drawer-nav a { display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 0 18px; border-radius: var(--shape-full); font-weight: 500; color: var(--on-surface-variant); transition: background-color var(--dur-short) linear; }
.drawer-nav a:hover { background: var(--surface-container-high); }
.drawer-nav a.is-active { background: var(--secondary-container); color: var(--on-secondary-container); }
.drawer-nav a.is-active .msr { font-variation-settings: 'FILL' 1; }
.drawer > .btn { margin-top: auto; }

/* Logo oficial da VTO, aplicado como máscara: assume a cor do texto ao redor
   (branco sobre o roxo, roxo sobre fundo claro) e muda de cor junto com o cabeçalho. */
:root {
  --logo-vto: url("data:image/png;base64,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");
  --logo-vto-group: url("data:image/png;base64,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");
}
.brand { transition: color var(--dur-medium) var(--ease-standard); }
.brand-logo { display: block; height: 30px; aspect-ratio: 286 / 96; background-color: currentColor; -webkit-mask-image: var(--logo-vto); mask-image: var(--logo-vto); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
.brand-logo--group { height: 52px; aspect-ratio: 285 / 120; -webkit-mask-image: var(--logo-vto-group); mask-image: var(--logo-vto-group); }
.brand-logo--chip { height: 11px; }
.drawer-head .brand-logo { height: 26px; }

/* Parceria NVIDIA */
.hero-trust .trust-nvidia img { height: 18px; width: auto; }
.partner { display: flex; align-items: center; gap: 28px; margin-top: 20px; padding: 22px 28px; border-radius: var(--shape-xl); border-left: 4px solid #76B900; background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.partner img { height: 30px; width: auto; flex: none; }
.partner p { color: var(--on-surface-variant); }
.partner strong { color: var(--on-surface); }
.fact-logo { display: block; height: 24px; width: auto; margin-bottom: 16px; }
@media (max-width: 600px) { .partner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px; } }

/* ---------- 5. Hero ---------- */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #FFFFFF;
  padding: calc(var(--appbar-h) + clamp(36px, 7vw, 84px)) 0 clamp(124px, 14vw, 176px);
  background: linear-gradient(155deg, var(--hero-1), var(--hero-2) 52%, var(--hero-3));
}
.hero-glow { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.hero-glow span { position: absolute; width: 56vw; height: 56vw; max-width: 780px; max-height: 780px; border-radius: 50%; animation: glow-drift 24s ease-in-out infinite alternate; }
.hero-glow span:nth-child(1) { left: -18%; top: -32%; background: radial-gradient(circle, var(--hero-glow-1), transparent 66%); }
.hero-glow span:nth-child(2) { right: -16%; top: 6%; background: radial-gradient(circle, var(--hero-glow-2), transparent 66%); animation-duration: 28s; }
.hero-glow span:nth-child(3) { left: 24%; bottom: -46%; background: radial-gradient(circle, var(--hero-glow-3), transparent 66%); animation-duration: 32s; }
@keyframes glow-drift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(5%, 7%) scale(1.1); } 100% { transform: translate(-4%, 3%) scale(.94); } }
.hero-net { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }

.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(36px, 5vw, 72px); align-items: center; }
.hero h1 { font-size: clamp(2.45rem, 5.4vw, 4rem); font-weight: 500; line-height: 1.05; letter-spacing: -.03em; margin: 22px 0 18px; }
.hero h1 em { display: block; font-style: italic; font-weight: 600; background: linear-gradient(90deg, #FFFFFF, #F1D2FF 55%, #FFC4EE); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.theme-jasiri .hero h1 { font-weight: 600; letter-spacing: -.02em; line-height: 1.1; font-size: clamp(2.1rem, 4.2vw, 3.3rem); }
.theme-jasiri .hero h1 em { background: linear-gradient(90deg, #F6DEA8, #D9A94E); -webkit-background-clip: text; background-clip: text; }
.hero-rotator { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35em; margin-bottom: 18px; font-size: clamp(1.05rem, 2vw, 1.32rem); font-weight: 500; color: #EBD5FF; }
.rotator { display: inline-block; white-space: nowrap; color: #FFFFFF; border-bottom: 2px solid rgba(255, 255, 255, .4); }
.rotator.out { animation: rot-out 220ms var(--ease-emph-accel) forwards; }
.rotator.in { animation: rot-in 480ms var(--ease-emph-decel); }
@keyframes rot-out { to { opacity: 0; transform: translateY(-55%); } }
@keyframes rot-in { from { opacity: 0; transform: translateY(55%); } }
.hero .lead { max-width: 610px; margin-bottom: 32px; font-size: clamp(1rem, 1.55vw, 1.14rem); font-weight: 300; color: rgba(255, 255, 255, .88); }
.theme-jasiri .hero .lead { font-weight: 400; color: #D8CFC3; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 34px; font-size: .88rem; color: rgba(255, 255, 255, .82); }
.hero-trust li { display: inline-flex; align-items: center; gap: 8px; }
.hero-trust .msr { font-size: 20px; color: #E7C6FF; }
.hero-visual { position: relative; }

/* Demonstração do assistente (chat) */
.chat-card { position: relative; max-width: 440px; margin-inline: auto; overflow: hidden; border-radius: var(--shape-xl); background: #FFFFFF; color: var(--on-surface); box-shadow: 0 40px 90px -30px rgba(12, 0, 35, .7), 0 0 0 1px rgba(255, 255, 255, .35); transform: perspective(1400px) rotateY(-7deg) rotateX(2deg); transition: transform var(--dur-xlong) var(--ease-emph); }
@media (hover: hover) { .chat-card:hover { transform: perspective(1400px) rotateY(0) rotateX(0); } }
.chat-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--surface-container); border-bottom: 1px solid var(--outline-variant); }
.chat-avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--tertiary)); color: #FFFFFF; }
.chat-head strong { display: block; font-size: .95rem; line-height: 1.2; }
.chat-head small { display: flex; align-items: center; gap: 6px; font-size: .76rem; color: var(--on-surface-variant); }
.dot-online { width: 8px; height: 8px; border-radius: 50%; background: #1DB954; box-shadow: 0 0 0 3px rgba(29, 185, 84, .2); }
.chat-badge { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; padding: 5px 10px; border-radius: var(--shape-full); background: #F6E4C3; color: #5A3A0B; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.chat-badge .msr { font-size: 16px; }
.chat-body { height: 400px; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 18px 16px; overflow: hidden; background: radial-gradient(120% 80% at 100% 0%, #F6EEFF, transparent 60%), #FBF8FE; }
.msg { display: none; max-width: 84%; padding: 10px 14px; border-radius: 18px; font-size: .88rem; line-height: 1.45; box-shadow: var(--elev-1); }
.msg.show { display: block; animation: msg-in 480ms var(--ease-emph-decel) both; }
.msg--in { align-self: flex-start; background: #FFFFFF; border-bottom-left-radius: 6px; }
.msg--out { align-self: flex-end; background: var(--primary); color: #FFFFFF; border-bottom-right-radius: 6px; }
.msg--sys, .msg--file { align-items: center; gap: 6px; box-shadow: none; }
.msg--sys { align-self: center; max-width: none; padding: 6px 12px; border-radius: var(--shape-full); background: #F6E4C3; color: #5A3A0B; font-size: .74rem; font-weight: 600; }
.msg--sys .msg-icon { font-size: 16px; }
.msg--ok { background: #DDF4E4; color: #0F5132; }
.msg--file { align-self: flex-end; padding: 8px 12px; border-radius: var(--shape-m); background: var(--primary-container); color: var(--on-primary-container); font-size: .8rem; font-weight: 500; }
.msg--file .msg-icon { font-size: 20px; }
.msg--sys.show, .msg--file.show { display: inline-flex; }
.typing { display: none; align-self: flex-end; gap: 4px; padding: 13px 14px; border-radius: 18px; border-bottom-right-radius: 6px; background: var(--primary); }
.typing.show { display: inline-flex; animation: msg-in 300ms var(--ease-emph-decel) both; }
.typing i { width: 7px; height: 7px; border-radius: 50%; background: #FFFFFF; opacity: .5; animation: typing 1s infinite; }
.typing i:nth-child(2) { animation-delay: .15s; }
.typing i:nth-child(3) { animation-delay: .3s; }
@keyframes typing { 0%, 60%, 100% { transform: none; opacity: .45; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes msg-in { from { opacity: 0; transform: translateY(14px) scale(.96); } }
.chat-card figcaption { padding: 10px 16px; font-size: .72rem; color: var(--on-surface-variant); border-top: 1px solid var(--outline-variant); background: var(--surface-container-low); }

/* Faixa de números sobre o hero */
.stats-band { position: relative; z-index: 2; margin-top: clamp(-112px, -9vw, -84px); }
.stats-card { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border-radius: var(--shape-xl); background: var(--surface-container-lowest); box-shadow: var(--elev-3); }
.stat { padding: clamp(20px, 2.6vw, 32px); border-right: 1px solid var(--outline-variant); }
.stat:last-child { border-right: 0; }
.stat-num { display: block; font-size: clamp(1.65rem, 3vw, 2.45rem); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: var(--primary); font-variant-numeric: tabular-nums; }
.stat-label { display: block; margin-top: 8px; font-size: .88rem; line-height: 1.45; color: var(--on-surface-variant); }

/* ---------- 6. Seções ---------- */
.section { padding: clamp(76px, 10vw, 128px) 0; }
.section--tint { background: var(--surface-container-low); }
.section--dark { background: var(--inverse-surface); color: var(--inverse-on-surface); }
.section--dark .overline { color: var(--inverse-primary); }
.section--dark .h2 em, .section--dark .section-head h2 em { color: var(--inverse-primary); }
.section-head { max-width: 780px; margin-bottom: clamp(36px, 5vw, 56px); }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head h2 { margin-top: 14px; }
.section-head p { margin-top: 18px; font-size: clamp(1rem, 1.5vw, 1.12rem); color: var(--on-surface-variant); }
.section--dark .section-head p { color: var(--inverse-on-surface-variant); }

.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* Por que a VTO */
.pillar h3 { font-size: 1.25rem; }

/* Soluções */
.sol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sol { display: flex; flex-direction: column; }
.sol .tag { margin-bottom: 6px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tertiary); }
.sol h3 { font-size: 1.22rem; }
.sol > p { margin-bottom: 22px; }
.sol ul { display: grid; gap: 10px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--outline-variant); }
.sol li { display: flex; gap: 10px; font-size: .92rem; line-height: 1.5; color: var(--on-surface-variant); }
.sol li .msr { font-size: 20px; color: var(--primary); }
.sol--jasiri { background: #231B16; color: #F2EDE5; box-shadow: var(--elev-2); }
.sol--jasiri .icon-box { background: rgba(217, 169, 78, .16); color: var(--gold); }
.sol--jasiri .tag { color: var(--gold); }
.sol--jasiri h3 { font-family: 'Lora', Georgia, serif; }
.sol--jasiri p, .sol--jasiri li { color: #CFC5B8; }
.sol--jasiri li .msr { color: var(--gold); }
.sol--jasiri ul { border-top-color: rgba(217, 169, 78, .22); }
.sol-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 20px; font-weight: 600; color: var(--gold); }
.sol-link .msr { font-size: 20px; }
.sol-link:hover .msr { transform: translateX(4px); }

/* Resultados */
.results-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.results-intro { position: sticky; top: calc(var(--appbar-h) + 24px); }
.highlight { padding: clamp(28px, 4vw, 40px); border-radius: var(--shape-xl); background: linear-gradient(150deg, #9C4FEB, #6A00C4 70%); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .7); }
.highlight .big { display: block; font-size: clamp(3rem, 6.5vw, 4.8rem); font-weight: 700; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.highlight p { margin-top: 12px; font-size: 1.04rem; }
.highlight hr { margin: 22px 0; border-top-color: rgba(255, 255, 255, .3); }
.highlight .small { display: flex; gap: 10px; font-size: .92rem; opacity: .92; }
.cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.case { padding: 26px; border-radius: var(--shape-xl); background: var(--inverse-surface-2); border: 1px solid rgba(255, 255, 255, .08); transition: background-color var(--dur-medium) var(--ease-standard), transform var(--dur-medium) var(--ease-standard), border-color var(--dur-medium); }
@media (hover: hover) { .case:hover { background: #2C1749; border-color: rgba(220, 184, 255, .25); transform: translateY(-4px); } }
.case-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.icon-box--dark { background: rgba(220, 184, 255, .14); color: #E9D3FF; }
.case .metric { display: block; margin: 20px 0 6px; font-size: clamp(1.9rem, 3.2vw, 2.5rem); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; color: #E6CBFF; font-variant-numeric: tabular-nums; }
.case h3 { margin-bottom: 6px; font-family: var(--font); font-size: 1.05rem; color: #FFFFFF; }
.case p { font-size: .92rem; color: var(--inverse-on-surface-variant); }

/* Como trabalhamos */
.steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.steps::before { content: ''; position: absolute; top: 28px; left: 28px; right: 12%; height: 2px; background: linear-gradient(90deg, var(--primary), var(--tertiary)); opacity: .3; transform-origin: left; }
.js .steps::before { transform: scaleX(0); transition: transform 1.2s var(--ease-emph) .2s; }
.js .steps.in::before { transform: scaleX(1); }
.step-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 20px; border-radius: 50%; background: var(--primary); color: var(--on-primary); box-shadow: 0 0 0 8px var(--surface); }
.step small { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tertiary); }
.step h3 { margin: 6px 0 8px; font-size: 1.18rem; }
.step p { font-size: .95rem; color: var(--on-surface-variant); }
.report { display: grid; grid-template-columns: auto 1fr; gap: 20px 24px; align-items: center; margin-top: clamp(40px, 5vw, 64px); padding: clamp(24px, 3vw, 36px); border-radius: var(--shape-xl); background: var(--primary-container); color: var(--on-primary-container); }
.report-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--shape-l); background: var(--primary); color: var(--on-primary); }
.report-icon .msr { font-size: 32px; }
.report h3 { margin-bottom: 6px; font-size: 1.3rem; }
.report p { opacity: .85; }
.report-chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.report-chips .chip { background: rgba(255, 255, 255, .7); border-color: transparent; color: var(--on-primary-container); }

/* Quem somos */
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.about-lead { margin-top: 20px; font-size: 1.06rem; color: var(--on-surface-variant); }
.about-quote { margin-top: 28px; padding-left: 20px; border-left: 3px solid var(--primary); font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 500; font-style: italic; line-height: 1.3; color: var(--primary); }
.facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.fact { padding: 24px; border-radius: var(--shape-l); background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.fact > .msr { margin-bottom: 14px; font-size: 30px; color: var(--primary); }
.fact h3 { margin-bottom: 6px; font-family: var(--font); font-size: 1.04rem; }
.fact p { font-size: .92rem; color: var(--on-surface-variant); }

/* Podcast */
.podcast-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.pod-lead { margin: 18px 0 30px; font-size: 1.06rem; color: var(--on-surface-variant); }
.yt { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--shape-xl); background: #120424; box-shadow: var(--elev-4); }
.yt img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-xlong) var(--ease-emph); }
.yt::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 0, 40, .1), rgba(20, 0, 40, .5)); pointer-events: none; }
@media (hover: hover) { .yt:hover img { transform: scale(1.04); } }
.yt-play { position: absolute; z-index: 2; inset: 0; margin: auto; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--primary); box-shadow: var(--elev-3); transition: transform var(--dur-medium) var(--ease-emph); }
.yt-play .msr { font-size: 46px; font-variation-settings: 'FILL' 1; }
.yt-play:hover { transform: scale(1.08); }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt.is-playing::after { display: none; }

/* Acordeão (perguntas frequentes) */
.acc { display: grid; gap: 12px; max-width: 880px; margin-inline: auto; }
.acc-item { border-radius: var(--shape-l); background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); transition: background-color var(--dur-medium) var(--ease-standard), box-shadow var(--dur-medium) var(--ease-standard), border-color var(--dur-medium); }
.acc-item.open { background: var(--surface-container-low); border-color: transparent; box-shadow: var(--elev-2); }
.acc-item h3 { font: inherit; letter-spacing: normal; }
.acc-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-radius: var(--shape-l); text-align: left; font-family: var(--font); font-size: 1.02rem; font-weight: 600; line-height: 1.4; color: var(--on-surface); }
.acc-btn::before { content: ''; position: absolute; inset: 0; z-index: -1; background: currentColor; opacity: 0; transition: opacity var(--dur-short) linear; }
.acc-btn:hover::before { opacity: .04; }
.acc-btn .msr { color: var(--primary); transition: transform var(--dur-long) var(--ease-emph); }
.acc-item.open .acc-btn .msr { transform: rotate(180deg); }
.acc-panel { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows var(--dur-long) var(--ease-emph), visibility 0s linear var(--dur-long); }
.acc-item.open .acc-panel { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows var(--dur-long) var(--ease-emph), visibility 0s; }
.acc-panel > div { overflow: hidden; }
.acc-panel p { padding: 0 22px 22px; color: var(--on-surface-variant); }
.acc-panel a { color: var(--primary); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Contato e formulário */
.contact-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.contact-lead { margin-top: 18px; font-size: 1.06rem; color: var(--on-surface-variant); }
.contact-list { display: grid; gap: 10px; margin-top: 32px; }
.contact-item { display: flex; align-items: center; gap: 16px; min-width: 0; padding: 12px 14px; border-radius: var(--shape-l); background: var(--surface-container-lowest); box-shadow: var(--elev-1); transition: box-shadow var(--dur-medium) var(--ease-standard); }
a.contact-item:hover { box-shadow: var(--elev-2); }
.contact-item .icon-box { width: 48px; height: 48px; border-radius: var(--shape-m); }
.contact-item .icon-box .msr { font-size: 24px; }
.contact-item > span:not(.icon-box):not(.msr) { min-width: 0; flex: 1; }
.contact-item small { display: block; font-size: .78rem; color: var(--on-surface-variant); }
.contact-item strong { font-weight: 600; color: var(--on-surface); overflow-wrap: anywhere; }
.contact-item .trailing { margin-left: auto; color: var(--on-surface-variant); }
.contact-item .icon-btn { margin-left: auto; color: var(--on-surface-variant); }

.form-card { padding: clamp(24px, 3.5vw, 40px); border-radius: var(--shape-xl); background: var(--surface-container-lowest); box-shadow: var(--elev-2); }
.form-card h3 { font-size: 1.35rem; }
.form-sub { margin: 6px 0 24px; font-size: .94rem; color: var(--on-surface-variant); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.form-grid .full { grid-column: 1 / -1; }

/* Campo de texto preenchido (Material 3) com rótulo flutuante */
.field { position: relative; border-radius: var(--shape-xs) var(--shape-xs) 0 0; background: var(--surface-container-highest); transition: background-color var(--dur-short) linear; }
.field:hover { background: #E0D8E7; }
.theme-jasiri .field:hover { background: #DDD4C6; }
.field input, .field textarea, .field select { display: block; width: 100%; padding: 26px 16px 8px; border: 0; outline: 0; border-radius: inherit; background: transparent; font: 400 1rem/1.4 var(--font); color: var(--on-surface); -webkit-appearance: none; appearance: none; }
.field textarea { min-height: 128px; resize: vertical; }
.field select { padding-right: 44px; cursor: pointer; }
.field label { position: absolute; left: 16px; top: 17px; font-size: 1rem; line-height: 1.4; color: var(--on-surface-variant); pointer-events: none; transform-origin: left top; transition: transform 200ms var(--ease-standard), color 200ms var(--ease-standard); }
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label,
.field--select label { transform: translateY(-10px) scale(.75); }
.field:focus-within label { color: var(--primary); }
.field::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--on-surface-variant); transition: height var(--dur-short) linear, background-color var(--dur-short) linear; }
.field:focus-within::after { height: 2px; background: var(--primary); }
.field.is-invalid::after { height: 2px; background: var(--error); }
.field.is-invalid label { color: var(--error); }
.field--select .field-arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--on-surface-variant); pointer-events: none; }
.form-note { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: .82rem; color: var(--on-surface-variant); }
.form-note .msr { font-size: 18px; margin-top: 1px; }

/* Rodapé */
.footer { padding: 72px 0 0; background: var(--inverse-surface); color: var(--inverse-on-surface-variant); font-size: .94rem; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 40px; padding-bottom: 48px; }
.footer .brand { margin-bottom: 18px; color: #FFFFFF; }
.footer .brand--jasiri { color: var(--gold); }
.footer-brand p { max-width: 380px; }
.footer h4 { margin-bottom: 14px; font-family: var(--font); font-size: .95rem; letter-spacing: 0; color: #FFFFFF; }
.footer-col { display: grid; align-content: start; gap: 10px; }
.footer-col a { overflow-wrap: anywhere; transition: color var(--dur-short) linear; }
.footer a:hover { color: #FFFFFF; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 22px clamp(16px, 4vw, 32px) 28px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .82rem; color: rgba(255, 255, 255, .55); }
.footer-bottom a { display: inline-flex; align-items: center; gap: 4px; }
.footer-bottom .msr { font-size: 18px; }

/* Botão flutuante estendido (FAB) */
.fab {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 56px;
  padding: 0 20px 0 16px;
  border-radius: var(--shape-l);
  background: var(--whats);
  color: #FFFFFF;
  font-weight: 600;
  box-shadow: var(--elev-3);
  transition: box-shadow var(--dur-medium) var(--ease-standard), padding var(--dur-long) var(--ease-emph), gap var(--dur-long) var(--ease-emph);
  animation: fab-in 600ms var(--ease-emph-decel) 900ms both;
}
.fab::before { content: ''; position: absolute; inset: 0; z-index: -1; background: #FFFFFF; opacity: 0; transition: opacity var(--dur-short) linear; }
.fab:hover::before { opacity: .1; }
.fab:hover { box-shadow: var(--elev-4); }
.fab-label { max-width: 160px; overflow: hidden; white-space: nowrap; transition: max-width var(--dur-long) var(--ease-emph), opacity var(--dur-medium) linear; }
.fab.is-collapsed { gap: 0; padding: 0 16px; }
.fab.is-collapsed .fab-label { max-width: 0; opacity: 0; }
@keyframes fab-in { from { opacity: 0; transform: scale(.5) translateY(24px); } }

/* Snackbar */
.snackbar { position: fixed; left: 50%; bottom: 88px; z-index: 90; display: flex; align-items: center; gap: 8px; min-width: min(344px, calc(100vw - 32px)); max-width: min(560px, calc(100vw - 32px)); padding: 6px 6px 6px 16px; border-radius: var(--shape-xs); background: var(--inverse-surface); color: var(--inverse-on-surface); box-shadow: var(--elev-3); font-size: .92rem; opacity: 0; pointer-events: none; transform: translate(-50%, 24px); transition: transform var(--dur-medium) var(--ease-emph-decel), opacity var(--dur-medium) linear; }
.snackbar.show { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.snackbar-text { flex: 1; padding: 8px 0; }
.snackbar .icon-btn { width: 40px; height: 40px; }
.snackbar .icon-btn .msr { font-size: 20px; }

/* ---------- 7. JASIRI (seção na home e página própria) ---------- */
.j-brand { display: inline-flex; align-items: center; gap: 12px; font-family: 'Lora', Georgia, serif; font-size: 1.4rem; font-weight: 600; letter-spacing: .22em; color: var(--gold); }
.j-brand::before { content: ''; width: 14px; height: 14px; background: currentColor; transform: rotate(45deg); }
.j-teaser { position: relative; overflow: hidden; }
.j-teaser::before { content: ''; position: absolute; right: -10%; top: -30%; width: 60%; height: 120%; background: radial-gradient(circle, rgba(217, 169, 78, .13), transparent 62%); pointer-events: none; }
.j-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(36px, 5vw, 64px); align-items: center; }
.j-tag { margin: 10px 0 24px; font-size: .95rem; color: var(--inverse-on-surface-variant); }
.j-teaser h2 { font-size: clamp(1.9rem, 3.8vw, 2.75rem); line-height: 1.15; color: var(--inverse-on-surface); }
.j-teaser h2 em { font-style: italic; color: var(--gold); }
.j-lead { margin-top: 18px; font-size: 1.05rem; color: var(--inverse-on-surface-variant); }
.j-feats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 30px 0 34px; }
.j-feats li { display: flex; gap: 12px; padding: 16px; border-radius: var(--shape-l); background: var(--inverse-surface-2); border: 1px solid rgba(217, 169, 78, .18); }
.j-feats .msr { color: var(--gold); }
.j-feats strong { display: block; margin-bottom: 2px; font-size: .95rem; color: var(--inverse-on-surface); }
.j-feats span:not(.msr) { display: block; font-size: .86rem; line-height: 1.45; color: var(--inverse-on-surface-variant); }
.j-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Painel de demonstração da JASIRI */
.j-visual { margin: 0; }
.j-visual figcaption { margin-top: 14px; text-align: center; font-size: .78rem; color: var(--inverse-on-surface-variant); }
.hero .j-visual figcaption { color: rgba(242, 237, 229, .7); }
.dash { overflow: hidden; border-radius: var(--shape-l); background: #FFFFFF; color: #231B16; font-family: 'Lato', var(--font); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .08); }
.dash-top { display: flex; align-items: center; gap: 10px; padding: 11px 16px; background: #231B16; color: #E2B867; font-size: .78rem; font-weight: 700; letter-spacing: .08em; }
.dash-top small { font-weight: 400; letter-spacing: 0; color: #CFC5B8; }
.dash-live { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: .68rem; font-weight: 600; letter-spacing: 0; color: #9FE0B9; }
.dash-live i { width: 7px; height: 7px; border-radius: 50%; background: #2ECC71; animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.dash-banner { display: flex; align-items: center; gap: 8px; padding: 9px 16px; border-bottom: 1px solid #F0DFB0; background: #FDF3D7; color: #5A3A0B; font-size: .74rem; }
.dash-banner .msr { font-size: 18px; }
.dash-body { padding: 16px; }
.dash-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin-bottom: 12px; }
.dash-title strong { font-size: .95rem; }
.dash-title small { font-size: .7rem; color: #7A6E62; }
.dash-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
.dash-kpi { padding: 10px 12px; border: 1px solid #ECE5DA; border-radius: 10px; }
.dash-kpi small { display: block; font-size: .64rem; line-height: 1.3; color: #7A6E62; }
.dash-kpi strong { font-size: 1.2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.dash-chart { padding: 12px 12px 10px; border: 1px solid #ECE5DA; border-radius: 10px; }
.dash-chart-head { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-size: .68rem; color: #7A6E62; }
.dash-chart-head span:first-child { font-weight: 700; color: #231B16; }
.bars { display: flex; align-items: flex-end; gap: 3px; height: 110px; }
.bars i { position: relative; flex: 1; height: calc(var(--h) * 100%); border-radius: 2px 2px 0 0; background: #0E9466; transform-origin: bottom; }
.bars i::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: 2px 2px 0 0; background: #D69E2E; }
.js .bars i { transform: scaleY(0); transition: transform 800ms var(--ease-emph-decel); transition-delay: calc(var(--i) * 22ms + 200ms); }
.js .in .bars i { transform: none; }
.dash-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: .64rem; color: #7A6E62; }
.dash-legend span { display: inline-flex; align-items: center; gap: 5px; }
.lg { width: 8px; height: 8px; border-radius: 2px; }
.lg--ok { background: #0E9466; }
.lg--mask { background: #D69E2E; }
.lg--block { background: #D64545; }

/* Página JASIRI: fatos do hero */
.hero-facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 12px 36px; margin-top: 36px; }
.hero-facts strong { display: block; font-family: 'Lora', Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.1; color: var(--gold); }
.hero-facts span { font-size: .85rem; color: #CFC5B8; }

/* O que mudou: linha do tempo */
.change-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.change-big { font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.22; }
.change-big em { display: block; margin-top: 8px; font-style: normal; color: var(--primary); }
.change-copy p:not(.change-big) { margin-top: 22px; font-size: 1.06rem; color: var(--on-surface-variant); }
.tl { position: relative; display: grid; gap: 26px; padding-left: 34px; }
.tl::before { content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--outline-variant); }
.tl li { position: relative; }
.tl li::before { content: ''; position: absolute; left: -34px; top: 5px; width: 14px; height: 14px; background: var(--gold); transform: rotate(45deg); box-shadow: 0 0 0 5px var(--surface); }
.tl-date { display: block; margin-bottom: 4px; font-size: .82rem; font-weight: 700; letter-spacing: .04em; color: var(--primary); }
.tl p { color: var(--on-surface); }

/* Antes x agora */
.table-wrap { overflow: hidden; border-radius: var(--shape-xl); background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.compare th, .compare td { padding: 18px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--outline-variant); }
.compare tr:last-child th, .compare tr:last-child td { border-bottom: 0; }
.compare thead th { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--on-surface-variant); background: var(--surface-container); }
.compare thead th:last-child { color: var(--primary); }
.compare tbody th { width: 24%; font-weight: 700; }
.compare td:nth-child(2) { width: 30%; color: var(--on-surface-variant); }
.compare td:last-child { background: var(--surface-container-low); font-weight: 500; }
.win-lose { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 20px; }
.wl { display: flex; gap: 14px; align-items: flex-start; padding: 20px 22px; border-radius: var(--shape-l); background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.wl .msr { font-size: 28px; font-variation-settings: 'FILL' 1; }
.wl--win .msr { color: #1B7F43; }
.wl--lose .msr { color: #B3261E; }

/* Quando dá errado: valores */
.money-num { display: block; margin-bottom: 14px; font-family: var(--font-display); font-size: clamp(2.1rem, 3.6vw, 2.8rem); font-weight: 700; line-height: 1.05; white-space: nowrap; color: var(--primary); }
.money p { color: var(--on-surface); }
.money small { display: block; margin-top: 18px; font-size: .78rem; color: var(--on-surface-variant); }
.callout { display: flex; gap: 18px; align-items: center; margin-top: 20px; padding: clamp(20px, 3vw, 28px); border-radius: var(--shape-xl); background: var(--inverse-surface); color: var(--inverse-on-surface); }
.callout > .msr { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(217, 169, 78, .16); color: var(--gold); font-size: 26px; }
.callout p { font-size: clamp(1rem, 1.6vw, 1.12rem); }
.callout strong { color: var(--gold); }
.note-line { max-width: 860px; margin: 32px auto 0; text-align: center; font-size: 1.04rem; font-style: italic; color: var(--primary); }

/* Como funciona: fluxo e código */
.how-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 24px; align-items: stretch; }
.flow { padding: clamp(20px, 3vw, 32px); border-radius: var(--shape-xl); background: var(--surface-container-low); }
.flow-main { display: grid; grid-template-columns: 1fr auto 1.15fr auto 1fr; gap: 10px; align-items: center; }
.flow-node { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px; border-radius: var(--shape-l); background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); }
.flow-node .msr { color: var(--primary); }
.flow-node strong { font-size: .98rem; line-height: 1.25; }
.flow-node small { font-size: .82rem; line-height: 1.45; color: var(--on-surface-variant); }
.flow-node--core { background: #231B16; border-color: #231B16; color: #F2EDE5; box-shadow: var(--elev-3); }
.flow-node--core .msr, .flow-node--core strong { color: var(--gold); }
.flow-node--core small { color: #CFC5B8; }
.flow-arrow { display: grid; place-items: center; color: var(--gold); }
.flow-arrow .msr { animation: nudge 1.8s var(--ease-standard) infinite; }
@keyframes nudge { 50% { transform: translateX(4px); } }
.flow-sub-label { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 10px; font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--on-surface-variant); }
.flow-sub-label .msr { font-size: 20px; color: var(--gold); }
.flow-sub { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.code { display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: var(--shape-xl); background: #1C1612; color: #EDE6DB; box-shadow: var(--elev-3); }
.code figcaption { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: .78rem; color: #B9AE9F; }
.code-dots { display: inline-flex; gap: 6px; }
.code-dots i { width: 10px; height: 10px; border-radius: 50%; background: #4A3F36; }
.code pre { flex: 1; margin: 0; padding: 20px 18px; overflow-x: auto; font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .86rem; line-height: 1.7; }
.code .k { color: #E2B867; }
.code .s { color: #9FD8A8; }
.code .c { color: #8C8073; font-style: italic; }
.code-note { padding: 0 18px 18px; font-size: .82rem; font-style: italic; color: #B9AE9F; }
.langs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* Abas */
.tabs-card { overflow: hidden; border-radius: var(--shape-xl); background: var(--surface-container-lowest); box-shadow: var(--elev-2); }
.tabs { position: relative; display: flex; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--outline-variant); }
.tabs::-webkit-scrollbar { display: none; }
.tab { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1 0 auto; min-height: 60px; padding: 0 22px; font-family: var(--font); font-size: .95rem; font-weight: 600; white-space: nowrap; color: var(--on-surface-variant); transition: color var(--dur-medium) var(--ease-standard); }
.tab::before { content: ''; position: absolute; inset: 0; z-index: -1; background: currentColor; opacity: 0; transition: opacity var(--dur-short) linear; }
.tab:hover::before { opacity: .06; }
.tab[aria-selected='true'] { color: var(--primary); }
.tab[aria-selected='true'] .msr { font-variation-settings: 'FILL' 1; }
.tabs-indicator { position: absolute; left: 0; bottom: 0; width: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--primary); transition: transform var(--dur-long) var(--ease-emph), width var(--dur-long) var(--ease-emph); }
.tab-panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 48px); align-items: center; padding: clamp(24px, 4vw, 44px); }
.tab-panel[hidden] { display: none; }
.tab-panel.enter { animation: panel-in var(--dur-long) var(--ease-emph-decel); }
@keyframes panel-in { from { opacity: 0; transform: translateX(28px); } }
.tab-panel h3 { margin-bottom: 20px; font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.tp-visual { padding: 24px; border-radius: var(--shape-l); background: var(--surface-container-low); }
.tp-note { display: block; margin-top: 14px; font-size: .78rem; color: var(--on-surface-variant); }
.kpi-stack { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.kpi { padding: 14px; border-radius: var(--shape-m); background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); }
.kpi small { display: block; font-size: .74rem; color: var(--on-surface-variant); }
.kpi strong { font-family: var(--font-display); font-size: 1.6rem; color: var(--primary); }
.big-stat strong { display: block; font-family: var(--font-display); font-size: clamp(2.4rem, 4.6vw, 3.2rem); line-height: 1.05; color: var(--primary); }
.big-stat strong small { font-size: .5em; color: var(--on-surface-variant); }
.big-stat span { display: block; margin-top: 10px; color: var(--on-surface); }
.event-card { overflow: hidden; border-radius: var(--shape-m); background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); font-size: .82rem; }
.event-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--outline-variant); }
.event-head strong { margin-right: auto; font-size: .9rem; }
.badge { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: var(--shape-full); font-size: .7rem; font-weight: 700; }
.badge--red { background: #FDE2E1; color: #9B1C1C; }
.badge--amber { background: #FDF3D7; color: #7A4E14; }
.badge--green { background: #DDF4E4; color: #0F5132; }
.event-rows { display: grid; gap: 8px; padding: 12px 14px; }
.event-rows div { display: grid; grid-template-columns: 96px 1fr; gap: 10px; }
.event-rows dt { color: var(--on-surface-variant); }
.event-rows dd { font-weight: 600; }
.event-quote { margin: 0 14px 14px; padding: 10px 12px; border-left: 3px solid var(--gold); border-radius: 0 var(--shape-s) var(--shape-s) 0; background: var(--surface-container-low); font-style: italic; color: var(--on-surface-variant); }
.sector-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.mini-table { overflow: hidden; border-radius: var(--shape-m); background: var(--surface-container-lowest); border: 1px solid var(--outline-variant); font-size: .8rem; }
.mini-table td { padding: 10px 12px; border-bottom: 1px solid var(--outline-variant); vertical-align: middle; }
.mini-table tr:last-child td { border-bottom: 0; }
.mini-table td:first-child { font-family: ui-monospace, Consolas, monospace; font-size: .74rem; white-space: nowrap; color: var(--on-surface-variant); }
.mini-table td:last-child { text-align: right; }

/* A prova */
.proof-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.proof-num { display: block; font-family: var(--font-display); font-size: clamp(4.2rem, 11vw, 8rem); font-weight: 700; line-height: .95; letter-spacing: -.02em; color: var(--gold); font-variant-numeric: tabular-nums; }
.proof-hero p { margin-top: 14px; font-family: var(--font-display); font-size: clamp(1.3rem, 2.6vw, 1.9rem); line-height: 1.25; }
.proof-hero .proof-strong { margin-top: 4px; font-weight: 700; }
.proof-list div { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; align-items: center; padding: 18px 0; border-top: 1px solid rgba(226, 184, 103, .22); }
.proof-list div:last-child { border-bottom: 1px solid rgba(226, 184, 103, .22); }
.proof-list dt { font-family: var(--font-display); font-size: clamp(1.8rem, 3.4vw, 2.4rem); font-weight: 700; line-height: 1; color: var(--gold); font-variant-numeric: tabular-nums; }
.proof-list dd { color: var(--inverse-on-surface); }
.proof-sub { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: clamp(40px, 5vw, 64px); }
.card-dark { padding: clamp(22px, 3vw, 32px); border-radius: var(--shape-xl); background: var(--inverse-surface-2); border: 1px solid rgba(226, 184, 103, .16); }
.card-dark h3 { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 1.2rem; color: var(--inverse-on-surface); }
.card-dark h3 .msr { color: var(--gold); }
.lat-big { display: grid; gap: 4px; margin-bottom: 18px; }
.lat-big strong { font-family: var(--font-display); font-size: clamp(2.2rem, 4.5vw, 3rem); line-height: 1; color: var(--gold); }
.lat-big span { color: var(--inverse-on-surface-variant); }
.lat-table { font-size: .86rem; }
.lat-table th, .lat-table td { padding: 9px 4px; text-align: left; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.lat-table th { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--inverse-on-surface-variant); }
.lat-table td { color: var(--inverse-on-surface); font-variant-numeric: tabular-nums; }
.lat-table td:not(:first-child), .lat-table th:not(:first-child) { text-align: right; }
.eng-title { margin: clamp(48px, 6vw, 72px) 0 24px; color: var(--inverse-on-surface); }
.eng-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.eng { padding: 24px; border-radius: var(--shape-l); background: var(--inverse-surface-2); border: 1px solid rgba(226, 184, 103, .12); }
.eng strong { display: block; font-family: var(--font-display); font-size: clamp(1.9rem, 3.4vw, 2.4rem); line-height: 1.1; color: var(--gold); }
.eng span { display: block; margin-top: 8px; font-weight: 700; color: var(--inverse-on-surface); }
.eng small { display: block; margin-top: 2px; font-size: .86rem; color: var(--inverse-on-surface-variant); }

/* Segurança */
.flowcard small { display: block; margin: -4px 0 16px; font-size: .84rem; color: var(--on-surface-variant); }
.dot-list { display: grid; gap: 10px; }
.dot-list li { position: relative; padding-left: 18px; font-size: .94rem; color: var(--on-surface-variant); }
.dot-list li::before { content: ''; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; background: var(--gold); transform: rotate(45deg); }
.notes { display: grid; gap: 10px; margin-top: 20px; padding: 20px 24px; border-radius: var(--shape-l); background: var(--surface-container); font-size: .94rem; color: var(--on-surface-variant); }
.notes strong { color: var(--on-surface); }
.sub-title { margin: clamp(44px, 6vw, 64px) 0 22px; }
.controls { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 28px; }
.control, .tech-item { display: flex; gap: 16px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--outline-variant); }
.control > .msr, .tech-item > .msr { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--surface-container); color: var(--primary); font-size: 22px; }
.control h4, .tech-item h4 { margin-bottom: 4px; font-family: var(--font); font-size: 1.02rem; letter-spacing: 0; }
.control p, .tech-item p { font-size: .93rem; color: var(--on-surface-variant); }
.tech-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 28px; }
.tech-item code { padding: 1px 6px; border-radius: 4px; background: var(--surface-container); }

/* Piloto */
.pilot { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pilot-step { position: relative; padding: 26px 22px; border-radius: var(--shape-xl); background: var(--surface-container-lowest); box-shadow: var(--elev-1); }
.pilot-n { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 50%; background: #231B16; color: var(--gold); font-family: 'Lora', Georgia, serif; font-size: 1.3rem; font-weight: 700; }
.pilot-step small { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); }
.pilot-step h3 { margin: 4px 0 8px; font-size: 1.25rem; }
.pilot-step p { font-size: .94rem; color: var(--on-surface-variant); }
.pilot-bottom { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 20px; margin-top: 20px; }
.pilot-bottom h3 { margin-bottom: 16px; font-size: 1.2rem; }
.checks--muted li > .msr { color: var(--on-surface-variant); }
.exit { display: flex; flex-direction: column; justify-content: center; background: #231B16; color: #F2EDE5; }
.exit > .msr { margin-bottom: 14px; font-size: 32px; color: var(--gold); }
.exit h3 { color: var(--gold); }
.exit p { color: #CFC5B8; }
.reco { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 24px 40px; margin-top: clamp(40px, 5vw, 56px); padding: clamp(24px, 4vw, 40px); border-radius: var(--shape-xl); background: var(--primary-container); color: var(--on-primary-container); }
.reco h3 { grid-column: 1 / -1; font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.reco-list { display: grid; gap: 14px; counter-reset: reco; }
.reco-list li { position: relative; padding-left: 44px; }
.reco-list li::before { counter-increment: reco; content: counter(reco); position: absolute; left: 0; top: -2px; font-family: 'Lora', Georgia, serif; font-size: 1.6rem; font-weight: 700; line-height: 1; color: var(--primary); }
.reco-why { align-self: center; padding: 22px; border-radius: var(--shape-l); background: #231B16; color: #F2EDE5; }
.reco-why strong { display: block; margin-bottom: 6px; color: var(--gold); }

/* Chamada final */
.cta-box { max-width: 860px; margin-inline: auto; text-align: center; }
.cta-box h2 { margin: 18px 0 16px; font-size: clamp(2.1rem, 5vw, 3.4rem); line-height: 1.1; color: var(--inverse-on-surface); }
.cta-box h2 em { font-style: italic; color: var(--gold); }
.cta-sub { font-size: 1.08rem; color: var(--inverse-on-surface-variant); }
.cta-promise { margin: 24px 0 32px; font-family: var(--font-display); font-size: clamp(1.1rem, 2vw, 1.3rem); font-style: italic; color: var(--gold); }
.cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.cta-contact { margin-top: 26px; font-size: .92rem; color: var(--inverse-on-surface-variant); }

/* Página 404 */
.notfound { min-height: 100svh; display: grid; place-items: center; padding: calc(var(--appbar-h) + 40px) 0 60px; text-align: center; }
.notfound .code-404 { font-size: clamp(5rem, 16vw, 9rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--primary); }
.notfound h1 { margin: 10px 0 14px; font-size: clamp(1.6rem, 4vw, 2.4rem); }
.notfound p { max-width: 520px; margin: 0 auto 30px; color: var(--on-surface-variant); }
.notfound .hero-actions { justify-content: center; }

/* ---------- 8. Animação de entrada (escalonada) ---------- */
.js .reveal { opacity: 0; translate: 0 28px; }
.js .reveal--scale { translate: none; scale: .95; }
.js .reveal.in { opacity: 1; translate: none; scale: none; transition: opacity 700ms var(--ease-emph-decel), translate 800ms var(--ease-emph-decel), scale 800ms var(--ease-emph-decel); transition-delay: calc(var(--i, 0) * 80ms); }

/* ---------- 9. Responsivo (classes de janela do Material: 600 / 840 / 1200) ---------- */
@media (max-width: 1120px) {
  .appbar-nav { display: none; }
  .appbar-menu { display: inline-grid; }
}

@media (max-width: 1024px) {
  .hero-grid, .j-grid, .podcast-grid, .contact-grid, .about, .change-grid, .proof-grid { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: 1fr; }
  .results-intro { position: static; }
  .chat-card { transform: none; }
  .hero-visual { max-width: 560px; width: 100%; margin-inline: auto; }
  .sol-grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
  .steps::before { display: none; }
  .how-grid { grid-template-columns: 1fr; }
  .tab-panel { grid-template-columns: 1fr; }
  .pilot { grid-template-columns: repeat(2, 1fr); }
  .pilot-bottom, .reco { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 840px) {
  .grid-3, .eng-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-sub, .controls, .tech-list, .win-lose { grid-template-columns: 1fr; }
  .flow-main { grid-template-columns: 1fr; }
  .flow-arrow .msr { transform: rotate(90deg); animation: none; }
  .compare thead { display: none; }
  .compare, .compare tbody, .compare tr, .compare th, .compare td { display: block; width: 100%; }
  .compare tr { padding: 6px 0; border-bottom: 1px solid var(--outline-variant); }
  .compare tr:last-child { border-bottom: 0; }
  .compare tbody th, .compare td { width: auto !important; padding: 8px 20px; border-bottom: 0; }
  .compare tbody th { padding-top: 16px; font-size: 1.02rem; }
  .compare td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--on-surface-variant); }
  .compare td:last-child { margin: 4px 12px 12px; border-radius: var(--shape-m); }
  .compare td:last-child::before { color: var(--primary); }
}

@media (max-width: 600px) {
  :root { --appbar-h: 64px; }
  .appbar-cta { display: none; }
  .section { padding: 72px 0; }
  .hero-actions .btn { width: 100%; }
  .hero-trust { flex-direction: column; gap: 10px; }
  .stats-card { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n + 2) { border-bottom: 1px solid var(--outline-variant); }
  .stat { padding: 18px 16px; }
  .stat-num { font-size: 1.5rem; }
  .stat-label { font-size: .8rem; }
  .chat-body { height: 360px; }
  .grid-2, .grid-3, .sol-grid, .cases, .steps, .facts, .j-feats, .eng-grid, .pilot, .flow-sub, .kpi-stack { grid-template-columns: 1fr; }
  .report { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .hero-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .hero-facts span { font-size: .76rem; }
  .dash-kpis { gap: 6px; }
  .dash-kpi { padding: 8px; }
  .dash-kpi strong { font-size: 1rem; }
  .bars { height: 84px; gap: 2px; }
  .proof-list div { grid-template-columns: 1fr; gap: 4px; }
  .callout { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .footer-col--contact { grid-column: 1 / -1; }
  .cta-actions .btn, .j-actions .btn { width: 100%; }
  .tab { padding: 0 16px; font-size: .9rem; }
  .event-rows div { grid-template-columns: 84px 1fr; }
}

/* ---------- 10. Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  .js .reveal { opacity: 1; translate: none; scale: none; }
  .js .bars i, .js .steps::before { transform: none; }
}
