/* Direção tecnológica viva. Todas as cores vivem neste contrato de tokens. */
@font-face { font-family: 'Space Grotesk'; src: url('fontes/space-grotesk.woff2') format('woff2'); font-weight: 300 700; font-display: swap; }
@font-face { font-family: 'JetBrains Mono'; src: url('fontes/jetbrains-mono.woff2') format('woff2'); font-weight: 100 800; font-display: swap; }
:root {
  color-scheme: light;
  --color-primary: #246746; --color-primary-hover: #1a5136; --color-primary-light: #3a8059; --color-network: #3a8059; --color-accent-text: #246746;
  --color-primary-bg: rgba(36,103,70,.07); --color-primary-glow: rgba(36,103,70,.22);
  --color-bg: #fafbfc; --color-bg-elevated: #f5f7fa; --color-surface: #fff; --color-surface-2: #f5f7fa; --color-nav: #fff;
  --color-border: #eaedf1; --color-border-strong: #dbe0e7;
  --color-text: #0b1622; --color-text-secondary: #67748a; --color-text-muted: #67748a;
  --color-positive: #008451; --color-negative: #dc2626; --color-pending: #b66605;
  --color-blue: #2563eb; --color-cyan: #0891b2; --color-purple: #7c3aed;
  --color-blue-bg: #eef4ff; --color-cyan-bg: #e6f6fb; --color-purple-bg: #f2ecfc; --color-pending-bg: #fef4e2; --color-negative-bg: #fdecec;
  --color-button-text: #fff; --color-shadow: rgba(12,35,25,.12); --color-scan: rgba(36,103,70,.12);
  --surface-opacity: 93%; --nav-opacity: 96%;
  --chart-1: oklch(.6 .18 152); --chart-2: oklch(.58 .14 195); --chart-3: oklch(.6 .19 42); --chart-4: oklch(.65 .17 84);
  --chart-5: oklch(.6 .2 316); --chart-6: oklch(.55 .2 355); --chart-7: oklch(.6 .15 240); --chart-8: oklch(.58 .19 22);
}
:root[data-tema='escuro'] {
  color-scheme: dark;
  --color-primary: #246746; --color-primary-hover: #2f7953; --color-primary-light: #3a8059; --color-network: #539978; --color-accent-text: #80b49a;
  --color-primary-bg: rgba(36,103,70,.1); --color-primary-glow: rgba(36,103,70,.35);
  --color-bg: #05070c; --color-bg-elevated: #0a0e16; --color-surface: #0d131e; --color-surface-2: #111828; --color-nav: #070a11;
  --color-border: rgba(255,255,255,.06); --color-border-strong: rgba(255,255,255,.1);
  --color-text: #e9eef7; --color-text-secondary: #8a97ad; --color-text-muted: #8a97ad;
  --color-positive: #80b49a; --color-negative: #ff5c73; --color-pending: #ffc247;
  --color-blue: #5094ff; --color-cyan: #3ad5ec; --color-purple: #a36fff;
  --color-blue-bg: rgba(80,148,255,.1); --color-cyan-bg: rgba(58,213,236,.1); --color-purple-bg: rgba(163,111,255,.12);
  --color-pending-bg: rgba(255,194,71,.1); --color-negative-bg: rgba(255,92,115,.1);
  --color-button-text: #ffffff; --color-shadow: rgba(0,0,0,.55); --color-scan: rgba(36,103,70,.12);
  --surface-opacity: 84%; --nav-opacity: 88%;
  --chart-1: oklch(.79 .18 152); --chart-2: oklch(.72 .14 195); --chart-3: oklch(.72 .19 42); --chart-4: oklch(.82 .17 84);
  --chart-5: oklch(.75 .2 316); --chart-6: oklch(.68 .2 355); --chart-7: oklch(.75 .15 240); --chart-8: oklch(.72 .19 22);
}
:root, :root[data-tema='escuro'] {
  --color-surface-glass: color-mix(in srgb, var(--color-surface) var(--surface-opacity), transparent);
  --color-nav-glass: color-mix(in srgb, var(--color-nav) var(--nav-opacity), transparent);
  --shadow-lg: 0 24px 60px -20px var(--color-shadow), 0 8px 24px -8px var(--color-shadow);
  --glow-primary-soft: 0 0 12px var(--color-primary-glow);
  --ring-primary: 0 0 0 3px var(--color-primary-bg);
  /* Compatibility contract for the existing portal, including inline components. */
  --tinta: var(--color-text); --tinta-2: var(--color-text-secondary); --tinta-3: var(--color-text-muted);
  --fundo: var(--color-surface); --fundo-2: var(--color-surface-2); --fundo-3: var(--color-bg);
  --linha: var(--color-border); --acento: var(--color-primary); --acento-hover: var(--color-primary-hover);
  --ok: var(--color-positive); --alerta: var(--color-pending); --bloqueio: var(--color-text-muted);
  --vidro: var(--color-surface-glass); --vidro-forte: var(--color-nav); --vidro-borda: var(--color-border);
  --vidro-sombra: none; --sombra: none; --sombra-f: var(--shadow-lg); --raio: 12px; --raio-g: 24px;
  --deep-green: var(--color-primary); --leaf: var(--color-primary); --moss: var(--color-text-secondary);
  --sage: var(--color-text-secondary); --paper: var(--color-bg); --cream: var(--color-surface); --gold: var(--color-pending);
  --fonte-interface: Inter, system-ui, sans-serif; --fonte-editorial: 'Space Grotesk', Inter, sans-serif;
}
html { background: var(--color-bg); scrollbar-width: thin; scrollbar-color: var(--color-border-strong) transparent; }
body { background: var(--color-bg) !important; color: var(--color-text) !important; font-family: var(--fonte-interface); letter-spacing: -.005em; font-feature-settings: 'cv11', 'ss01', 'ss03'; -webkit-font-smoothing: antialiased; isolation: isolate; }
body::before { display: none; }
#start-rede { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--color-border-strong); border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }
h1,h2,h3,h4,.marca,.dev-marca { font-family: var(--fonte-editorial) !important; letter-spacing: -.02em !important; color: var(--color-text); }
h1 { position: relative; }
h1::before { content: ''; position: absolute; width: 3px; height: 40px; top: .08em; left: -20px; border-radius: 3px; background: linear-gradient(var(--color-primary),var(--color-primary-hover)); box-shadow: var(--glow-primary-soft); }
.numero,.mono,.home-route-number,.dev-metricas strong,.metrica strong,.metric strong,.kpi strong,.kpi b,.stat strong,.score-num { font-family: 'JetBrains Mono', monospace !important; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.olho,.home-eyebrow,.dev-kicker,.dev-tag,.menu-intencao-titulo { color: var(--color-text-secondary) !important; font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.topo { background: var(--color-nav-glass) !important; border-bottom: 1px solid var(--color-border); box-shadow: none; backdrop-filter: none; }
.topo nav a { color: var(--color-text-secondary); }
.topo nav a:hover,.topo nav a[aria-current] { color: var(--color-text); }
.topo nav a[aria-current] { box-shadow: inset 0 -2px var(--color-primary); }
.cartao,.cinza .cartao,.nota,.certificado,.etapa,.mc-cartao,.mc-filtros,.mc-busca,.mc-aviso,.mc-lateral,.vt-bloco,.vt-cartao,.porta,.home-path,.home-path.featured,.dev-acesso,.dev-metricas div {
  background: var(--color-surface-glass) !important; border: 1px solid var(--color-border) !important; border-radius: 12px; box-shadow: none !important;
}
.cartao:not([style*='box-shadow']) { border-top: 1px solid var(--color-border); }
.cartao.alto:hover,.porta:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg) !important; }
.cartao,.porta { transition: transform .15s, box-shadow .15s; }
.home-path-mark { background: var(--color-surface-2); color: var(--color-text-secondary); }
section.cinza,.home-close { background: transparent !important; }
.rodape { background: var(--color-nav-glass); border-top: 1px solid var(--color-border); }
.btn,.btn.g,.btn.p { border-radius: 999px; background: var(--color-primary); color: var(--color-button-text) !important; box-shadow: none !important; font-weight: 600; }
.btn:hover { background: var(--color-primary-hover); transform: none; }
.btn.calmo,.btn.vazado,.btn.ghost { background: transparent !important; color: var(--color-text) !important; border: 1px solid var(--color-border-strong); }
.btn.calmo:hover,.btn.vazado:hover { background: var(--color-surface-2) !important; }
.btn span[aria-hidden] { transition: transform .15s; } .btn:hover span[aria-hidden] { transform: translateX(2px); }
.btn:disabled { opacity: .5; }
input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='submit']):not([type='button']),select,textarea {
  color: var(--color-text) !important; background: var(--color-surface) !important; border: 1px solid var(--color-border-strong) !important; border-radius: 10px; min-height: 46px; padding: 12px 14px; font: inherit;
}
input::placeholder,textarea::placeholder { color: var(--color-text-muted); }
select { appearance: none; padding-right: 36px; background-image: linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%) !important; background-position: calc(100% - 19px) 50%,calc(100% - 14px) 50% !important; background-size: 5px 5px !important; background-repeat: no-repeat !important; }
input[type='checkbox'],input[type='radio'] { appearance: none; width: 18px; height: 18px; min-width: 18px; margin-top: 2px; border: 1px solid var(--color-border-strong); background: var(--color-surface); display: inline-grid; place-content: center; vertical-align: middle; }
input[type='checkbox'] { border-radius: 5px; } input[type='radio'] { border-radius: 50%; }
input[type='checkbox']:checked,input[type='radio']:checked { background: var(--color-primary); border-color: var(--color-primary); }
input[type='radio']:checked::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--color-button-text); }
input[type='checkbox']:checked::before { content: ''; width: 8px; height: 4px; border-left: 2px solid var(--color-button-text); border-bottom: 2px solid var(--color-button-text); transform: rotate(-45deg) translateY(-1px); }
input:disabled,select:disabled,textarea:disabled { opacity: .55; }
input[aria-invalid='true'],textarea[aria-invalid='true'],select[aria-invalid='true'] { border-color: var(--color-negative) !important; }
.campo-erro,#erro { color: var(--color-negative) !important; }
.campo label { color: var(--color-text); }
.escolha { background: var(--color-surface-glass); border-color: var(--color-border-strong); }
.escolha:has(input:checked) { background: var(--color-primary-bg); border-color: var(--color-primary); }
:focus-visible { outline: 2px solid var(--color-primary) !important; outline-offset: 3px; box-shadow: var(--ring-primary); }
.pilula { background: var(--color-surface-2); border-color: var(--color-border); color: var(--color-text-secondary); }
.pilula.ok { background: var(--color-primary-bg); color: var(--color-positive); }
.pilula.aguardando { background: var(--color-pending-bg); color: var(--color-pending); }
.pilula.erro { background: var(--color-negative-bg); color: var(--color-negative); }
.area-menu,.area-abas { background: var(--color-nav-glass) !important; border: 1px solid var(--color-border); box-shadow: none; backdrop-filter: none; }
.area-item { position: relative; color: var(--color-text-secondary); }
.area-item svg { width: 28px; height: 28px; padding: 5px; border-radius: 8px; background: var(--color-surface-2); stroke-width: 1.6; }
.area-item:hover svg,.area-item[aria-current] svg { background: var(--color-primary-bg); color: var(--color-text); }
.area-item[aria-current] { color: var(--color-text); background: var(--color-primary-bg) !important; }
.area-item[aria-current]::before { content: ''; position: absolute; left: -10px; top: 9px; bottom: 9px; width: 3px; border-radius: 3px; background: linear-gradient(var(--color-primary),var(--color-primary-hover)); box-shadow: var(--glow-primary-soft); }
.live-nav-indicator { position: absolute; left: 0; top: 0; width: 3px; height: 32px; border-radius: 3px; background: linear-gradient(var(--color-primary),var(--color-primary-hover)); box-shadow: var(--glow-primary-soft); transition: transform .34s cubic-bezier(.5,1.4,.5,1); pointer-events: none; }
.area-menu:has(.live-nav-indicator) .area-item[aria-current]::before { display: none; }
.live-metric { position: relative; --metric-accent: var(--color-blue); }
.live-metric::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg,transparent,var(--metric-accent),transparent); }
.live-metric .numero { font-size: 26px; font-weight: 500; }
.live-metric > p { font-size: 11px; text-transform: uppercase; font-weight: 600; letter-spacing: .12em; color: var(--color-text-secondary); }
.live-metric-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; color: var(--metric-accent); background: color-mix(in srgb,var(--metric-accent) 10%,transparent); margin-bottom: 18px; }
.live-metric-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.area-aba[aria-current] { color: var(--color-primary); }
.home-hero { background: transparent; padding-block: 64px; }
.home-map { background: var(--color-surface-glass) !important; color: var(--color-text); border: 1px solid var(--color-border-strong); border-radius: 24px; box-shadow: none; backdrop-filter: none; }
.home-map::before { display: none; }
.home-map h2,.home-route strong { color: var(--color-text); }
.home-map-head,.home-map-sub,.home-route small,.home-map-foot,.home-map-foot span:first-child { color: var(--color-text-secondary); }
.home-map-tag,.home-route li,.home-route li:last-child { border-color: var(--color-border-strong); background: transparent; }
.home-route .home-route-number { background: var(--color-surface-2); color: var(--color-text-secondary); }
.home-route .home-arrow { color: var(--color-text-muted); }
.home-route li:last-child .home-route-number { color: var(--color-primary); background: var(--color-primary-bg); }
.home-strip { background: var(--color-nav-glass); border-color: var(--color-border); }
.home-eyebrow::before { background: var(--color-primary); box-shadow: var(--glow-primary-soft); }
.home-hero h1 { font-weight: 600; font-size: clamp(2.9rem,5.3vw,4.7rem); }
.home-hero h1 em { color: var(--color-primary); }
.home-section h2 { font-weight: 500; }
.dev-marca { color: var(--color-text); margin-bottom: 30px; }
.dev-marca span,.dev-tag,.dev-apresentacao>p,.dev-estado,.dev-publico,.dev-acesso p,.dev-perfis small,.dev-metricas div { color: var(--color-text-secondary); }
.dev-apresentacao h1 span { color: var(--color-primary); }
.dev-estado span { background: var(--color-primary); box-shadow: var(--glow-primary-soft); }
.dev-tag,.dev-limite { border-color: var(--color-border); }
.dev-acesso { border-radius: 24px; background: var(--color-surface) !important; }
.dev-perfis button,.dev-destinos a { background: var(--color-surface-2); color: var(--color-text); border-color: var(--color-border-strong); }
.dev-perfis button[aria-pressed='true'] { border-color: var(--color-primary); background: var(--color-primary-bg); }
.dev-destinos a:first-child { background: var(--color-primary); color: var(--color-button-text); border-color: transparent; }
.dev-metricas strong { color: var(--color-text); font-size: 26px; }
.dev-metricas div { position: relative; }
.dev-metricas div::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg,transparent,var(--metric-accent,var(--color-blue)),transparent); }
.dev-metricas div:nth-child(2) { --metric-accent: var(--color-purple); } .dev-metricas div:nth-child(3) { --metric-accent: var(--color-cyan); }
.dev-banner { background: var(--color-nav-glass); color: var(--color-text-secondary); border-bottom: 1px solid var(--color-border); }
.dev-banner a { color: var(--color-text-secondary); }
.at-caixa,.at-corpo,.at-topo,.at-rodape,.at-input,.at-msg.assistente,.at-sugestoes button { background: var(--color-surface) !important; color: var(--color-text) !important; border-color: var(--color-border-strong) !important; }
.at-caixa { box-shadow: var(--shadow-lg); }
.at-bolha,.zap-bolha { background: var(--color-surface-2) !important; color: var(--color-text) !important; border: 1px solid var(--color-border-strong); box-shadow: none; }
.home-page .at-bolha::before { color: var(--color-text); background: transparent; }
.progresso { background: var(--color-border); }
.progresso span { background: var(--color-primary); transition: transform .75s; }
[role='dialog'],dialog,.modal { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border-strong); box-shadow: var(--shadow-lg); }
main,.dev-layout { animation: live-enter .35s cubic-bezier(.2,.7,.2,1) both; }
main .grade > :nth-child(2) { animation-delay: .045s; } main .grade > :nth-child(3) { animation-delay: .09s; }
.live-accessing .live-access-target { animation: live-access .18s ease-out forwards; backdrop-filter: none; }
.live-accessing::after { content: ''; position: fixed; inset: 0; z-index: 10001; pointer-events: none; background: radial-gradient(circle,var(--color-primary-glow),transparent 70%); animation: live-flash .18s both; }
.live-accessing { overflow: clip; }
@keyframes live-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes live-access { to { opacity: 0; transform: translateY(-6px); } }
@keyframes live-flash { 0%,100% { opacity: 0; } 75% { opacity: .5; } }
@media(max-width:820px) { .topo nav { background: var(--color-nav) !important; } h1::before { left: -12px; height: 32px; } }
@media(prefers-reduced-motion:reduce) {
  :root:not([data-movimento="ativo"]) *, :root:not([data-movimento="ativo"]) *::before, :root:not([data-movimento="ativo"]) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  :root:not([data-movimento="ativo"]) .reveal { opacity: 1 !important; transform: none !important; }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) { .cartao,.home-map,.topo,.area-menu { background: var(--color-surface) !important; backdrop-filter: none; } }
@media print { #start-rede { display: none; } body { background: var(--color-surface) !important; } }
/* Páginas de persona e vitrines seguem os dois temas, inclusive seus heros. */
.pp-hero { background: transparent !important; color: var(--color-text); }
.pp-hero::before { display: none; }
.pp-hero h1 span,.pp-sub { color: var(--color-text-secondary); }
.pp-tag,.pp-fato,.pp-chip,.pp-escola { background: var(--color-surface-glass); color: var(--color-text); border-color: var(--color-border-strong); }
.pp-fato span,.pp-nota { color: var(--color-text-secondary); }
.pp .btn:not(.calmo) { background: var(--color-primary); color: var(--color-button-text); }
.pp .btn.calmo { background: transparent; color: var(--color-text); border-color: var(--color-border-strong); }
.pp-pular { background: var(--color-surface); color: var(--color-text); }
.abas { background: var(--color-surface-2); }
.aba { color: var(--color-text-secondary); }
.aba[aria-selected='true'] { color: var(--color-text); background: var(--color-surface); box-shadow: none; }
.pp { --p: var(--color-primary) !important; --p-btn: var(--color-primary) !important; --p-txt: var(--color-primary) !important; --p-txt-e: var(--color-primary) !important; }
.pp-hero .olho,.pp-beta { color: var(--color-text-secondary); }
.pp-selo-estado,.pp-chip[aria-pressed='true'] { background: var(--color-surface-2); color: var(--color-text); border-color: var(--color-border-strong); }
.pp-passo,.pp-carta,.pp-dor,.esp .esp-passo,.esp-radar,.esp-caminho { background: var(--color-surface-glass); border: 1px solid var(--color-border); box-shadow: none; }
.pp-passo::before { color: var(--color-text-secondary); background: var(--color-surface-2); }
.pp-carta:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.pp-fato b,.pp-valor,.esp-anel span,.esp-caminho .n { font-family: 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; }
.esp-caminho .n { color: var(--color-text-secondary); }
.pp .btn.calmo:hover { background: var(--color-surface-2); }
@media(min-width:1100px) { body:has(.dev-banner) .area-menu { top: 120px; } }
.topo { top: var(--dev-banner-size,0px); }
.at-bolha::before { background: var(--color-text) !important; }
.home-page .at-bolha::before { background: transparent !important; color: var(--color-text) !important; }
.live-title { position: relative; }
.live-title:not(h1)::before { content: ''; position: absolute; width: 3px; height: 40px; top: .08em; left: -20px; border-radius: 3px; background: linear-gradient(var(--color-primary),var(--color-primary-hover)); box-shadow: var(--glow-primary-soft); }
@media(max-width:820px) { .live-title:not(h1)::before { left: -12px; height: 32px; } }
@media print {
  :root,:root[data-tema='escuro'] { --color-bg: white; --color-surface: white; --color-surface-2: white; --color-text: black; --color-text-secondary: black; --color-border: gray; --color-button-text: white; }
}
/* Carregamento real do atendente: shimmer por transform, sem spinner. */
.live-skeleton,.at-pensando { position: relative; overflow: hidden; background: var(--color-surface-2); animation: none; opacity: 1; }
.live-skeleton::after,.at-pensando::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent,var(--color-primary-bg),transparent); transform: translateX(-100%); animation: live-shimmer 1.5s linear infinite; pointer-events: none; }
@keyframes live-shimmer { to { transform: translateX(100%); } }
.at-halo::before,.at-halo::after { animation: none; }
@media(prefers-reduced-motion:reduce) { :root:not([data-movimento="ativo"]) .live-skeleton::after,:root:not([data-movimento="ativo"]) .at-pensando::after { animation: none !important; transform: none; } }
@media(max-width:640px) { .abas { gap: 2px; } .abas .aba { flex: 1 0 auto; padding: 9px 7px; font-size: 12px; } }

.live-accessing .live-access-target * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }

/* Motion choice also disables effects when the OS normally permits them. */
:root[data-movimento='reduzido'] *, :root[data-movimento='reduzido'] *::before, :root[data-movimento='reduzido'] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.live-tab-enter { position: relative; animation: live-enter .35s cubic-bezier(.2,.7,.2,1) both; }
.live-tab-enter::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; pointer-events: none; background: linear-gradient(90deg,transparent,var(--color-primary),transparent); transform-origin: left; animation: live-tab-scan .58s ease-out both; }
@keyframes live-tab-scan { from { opacity: .8; transform: scaleX(0); } to { opacity: 0; transform: scaleX(1); } }


/* Brand green restored; text uses a muted accessible tint on dark surfaces. */
:root[data-tema='escuro'] main a:not(.btn):not(.aba), :root[data-tema='escuro'] .home-hero h1 em, :root[data-tema='escuro'] .dev-apresentacao h1 span { color: var(--color-accent-text); }
:root[data-tema='escuro'] .btn.p { color: var(--color-button-text) !important; }

/* Transparent surfaces keep the glass palette without filtering a moving canvas every frame. */
.topo,.topo nav,.cartao,.nota,.certificado,.mc-filtros,.mc-busca,.mc-aviso,.mc-lateral,.vt-bloco,.vt-cartao,.area-menu,.area-abas,.home-map { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* Ambient movement stays on transform/opacity, with no JavaScript frame loop. */
#start-rede { overflow: hidden; contain: strict; }
.live-network-layer { position: absolute; inset: -64px; will-change: transform; --network-orbit: 42px; animation: live-network-drift 10s linear infinite; }
.live-network-layer:nth-child(2) { --network-orbit: 32px; animation-duration: 14s; animation-delay: -5s; animation-direction: reverse; opacity: .75; }
.live-network-layer:nth-child(3) { --network-orbit: 24px; animation-duration: 18s; animation-delay: -11s; opacity: .55; }
.live-network-layer canvas { display: block; width: 100%; height: 100%; }
.live-network-signal { position: absolute; left: 0; top: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--color-network); box-shadow: 0 0 4px var(--color-network); will-change: transform,opacity; animation: live-network-signal 3.2s linear infinite; animation-delay: var(--signal-delay); }
@keyframes live-network-drift { from { transform: rotate(0deg) translate3d(var(--network-orbit),0,0) rotate(0deg); } to { transform: rotate(360deg) translate3d(var(--network-orbit),0,0) rotate(-360deg); } }
@keyframes live-network-signal { 0% { transform: translate3d(var(--signal-x0),var(--signal-y0),0); opacity: 0; } 15%,80% { opacity: .9; } 100% { transform: translate3d(var(--signal-x1),var(--signal-y1),0); opacity: 0; } }
#start-rede[data-motion-state='hidden'] * { animation-play-state: paused; }
#start-rede[data-motion-state='reduced'] * { animation: none !important; }
#start-rede[data-motion-state='reduced'] .live-network-signal { display: none; }
/* Shared finishing: restrained surfaces, clear hierarchy and precise focus. */
.btn { border-radius: 10px !important; min-height: 46px; font-weight: 600; letter-spacing: -.01em; }
.btn:not(.calmo):hover { box-shadow: 0 5px 18px var(--color-primary-bg); }
.cartao,.home-path,.porta,.dev-acesso { border-color: var(--color-border-strong) !important; }
.cartao.alto:hover,.porta:hover,.home-path:hover { border-color: var(--color-primary-light) !important; }
.area-menu { padding: 10px; border-radius: 16px; }
.area-item { border-radius: 9px; }
input:not([type='checkbox']):not([type='radio']),select,textarea { border-radius: 9px !important; }
:where(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--color-accent-text); outline-offset: 4px; }
.home-map { background: linear-gradient(145deg,var(--color-surface),var(--color-bg-elevated)) !important; }
.home-map h2 { max-width: 15ch; font-size: clamp(1.7rem,2.4vw,2.25rem); line-height: 1.15; }
.home-route { gap: 0; }
.home-route li { padding: 19px 0; border: 0; border-bottom: 1px solid var(--color-border-strong); border-radius: 0; background: transparent !important; }
.home-route li:last-child { border-bottom: 0; }
.home-route .home-route-number { border: 1px solid var(--color-border-strong); border-radius: 50%; background: transparent; color: var(--color-accent-text); }
.home-map-tag { color: var(--color-accent-text); background: var(--color-primary-bg); border-color: transparent; }
.home-path-mark { border-radius: 50%; border: 1px solid var(--color-border-strong); background: transparent; color: var(--color-accent-text); }
.home-hero .acoes .btn { border-radius: 10px !important; }
.home-hero .acoes .calmo { border-color: var(--color-border-strong); }
.home-hero h1 { font-size: clamp(3.2rem,6.1vw,5.6rem); line-height: 1.02; font-weight: 600; letter-spacing: -.055em !important; }
.home-hero { padding-top: 90px; padding-bottom: 80px; }
.home-lead { max-width: 38ch; font-size: 1.04rem; }
.home-section-head h2 { max-width: 20ch; }
@media(max-width:720px) { .home-hero { padding: 44px 0; } .home-hero h1 { font-size: clamp(3rem,12vw,4.6rem); } .home-lead { font-size: .95rem; } .home-map h2 { max-width: 18ch; } }

/* Acabamento da apresentação: superfície, hierarquia e elementos de produto. */
.presentation-banner { position:relative !important;padding:8px 16px !important;font:10px Inter,system-ui !important;background:var(--color-bg-elevated);color:var(--color-text-muted);border-bottom:1px solid var(--color-border); }
.presentation-banner a { color:var(--color-accent-text);text-decoration:none; }
.presentation-mode .home-hero .env-l { max-width:1240px; }
.home-map { border-radius:19px !important; padding-top:22px; }
.product-window { display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--color-border-strong);padding-bottom:18px;margin-bottom:27px; }
.product-window>span { width:5px;height:5px;border:1px solid var(--color-text-muted);border-radius:50%;opacity:.65; }
.product-window small { margin-left:auto;font-size:9px;color:var(--color-text-muted); }
.home-map-head { font-size:9px; }.home-map-foot a { font-size:10px;color:var(--color-accent-text); }
.home-hero h1 { font-weight:500; }.home-route li { padding:20px 0; }.home-route strong { font-size:13px;font-weight:550; }.home-route small { font-size:10px;margin-top:5px; }
.home-strip { background:var(--color-bg-elevated) !important; padding:21px 0; }
.home-product { background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border); }
.home-product-grid { display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center; }
.home-product h2 { font-size:clamp(28px,3.4vw,43px);font-weight:500;line-height:1.12;letter-spacing:-.05em !important;margin:22px 0; }
.home-product h2 em { font-style:normal;color:var(--color-accent-text); }.home-product p { font-size:13px;color:var(--color-text-secondary);line-height:1.85;max-width:43ch; }
.product-benefits { display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:var(--color-text-secondary);margin:28px 0; }
.product-board { border:1px solid var(--color-border-strong);border-radius:17px;background:var(--color-surface);box-shadow:0 18px 55px -28px var(--color-shadow);overflow:hidden; }
.product-board-top { display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 23px;border-bottom:1px solid var(--color-border-strong);font-size:12px; }.product-board-top small { font-size:9px;color:var(--color-text-muted); }
.product-board-content { padding:30px; }.product-board-content h3 { font-size:23px;line-height:1.2;font-weight:500;margin:18px 0 26px; }.product-board-course { display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--color-border-strong);border-radius:12px; }.product-course-symbol { width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:var(--color-primary-bg);color:var(--color-accent-text);font-size:26px; }.product-board-course strong { font-size:12px;display:block; }.product-board-course small { font-size:9px;color:var(--color-text-muted);display:block;margin-top:7px; }.product-board-course>span:last-child { margin-left:auto;color:var(--color-accent-text); }
.product-board-track { display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:var(--color-text-muted);margin:28px 0; }.product-board-track .done { color:var(--color-accent-text); }.product-board-track i { height:1px;flex:1;background:var(--color-border-strong); }
.product-board-next { display:flex;flex-direction:column;gap:10px;padding:19px;border-left:2px solid var(--color-primary-light);background:var(--color-primary-bg);border-radius:0 8px 8px 0; }.product-board-next span { font-size:9px;color:var(--color-accent-text); }.product-board-next strong { font-size:12px;font-weight:550; }.product-board-next small { font-size:10px;color:var(--color-text-muted); }
.home-path { padding:35px; }.home-path h3 { font-size:25px;font-weight:500; }.home-section-head h2 { font-weight:500; }.home-path.featured { background:linear-gradient(135deg,var(--color-primary-bg),var(--color-surface)) !important; }

@media(max-width:900px) { .home-product-grid { gap:32px; }.product-board-content { padding:23px; } }
@media(max-width:720px) { .home-product-grid { grid-template-columns:1fr; }.home-product h2 { font-size:33px; }.home-path { padding:27px; }.product-board-course { padding:15px; }.home-map { padding:25px; } }

/* A faixa de apresentação rola com a página; não reserva espaço no cabeçalho fixo. */
.presentation-mode .topo { top: 0; }
@media(max-width:820px) { .presentation-mode .topo { background: var(--color-nav) !important; } }
