/* Template «Rumo» para o rtc.pt, versão 1.7.0, 02/10/2026 (primeira: 01/10/2026). Motor 3.2: pasta própria, zonas de HTML.
   Baseado na proposta de site feita por uma empresa parceira (decisão do Domingos, 01/10/2026),
   corrigida pelas regras do perfil do site e pelas boas práticas de outubro de 2026.
   Tipo de letra: Host Grotesk (OFL 1.1, @fontsource-variable/host-grotesk 5.3.0; licença em host-grotesk-LICENSE.txt).
   Correções de base incluídas (perfil 5.9): respostas .faq-item > div, tabelas de .tabela-envolve e .tabela-wrap,
   sublinhado das ligações no texto, menu móvel, espaço do aviso de cookies no telemóvel, campos a 16 px.
   Escala de raios assumida: 999px só em botões; 4px em cartões, campos, tabelas e etiquetas. */

/* ---------- Tipos de letra ---------- */
@font-face {
  font-family: 'Host Grotesk';
  src: url('fontes/host-grotesk-var-latin.woff2') format('woff2');
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Host Grotesk Recurso';
  src: local('Arial'), local('Liberation Sans');
  size-adjust: 103.80%;
  ascent-override: 97.78%;
  descent-override: 30.35%;
  line-gap-override: 0%;
}

/* ---------- Tokens (escuro: cabeçalho, rodapé, Karetix, cookies e secções escuras) ---------- */
body.tema-rumo {
  --gradiente-marca: linear-gradient(45deg, #FCD000 0%, #F25100 25%, #BA492B 50%, #7D445B 75%, #293D9B 100%);
  --fonte-titulo: 'Host Grotesk', 'Host Grotesk Recurso', system-ui, sans-serif;
  --fonte-corpo: 'Host Grotesk', 'Host Grotesk Recurso', system-ui, sans-serif;
  --superficie-2: #191C23;
  --r-fundo: #121419;
  --r-fundo-2: #0C0E12;
  --r-claro: #F3F3F1;
  --r-foco: #F25100;
  --r-alt: 67px;
  --r-filete: #6B7180;
  --r-erro: #FF6F61;
  --radius: 4px;
  color-scheme: dark;
  font-size: 1rem;
  line-height: 1.6;
  font-feature-settings: 'ss01' 0;
}

body.tema-rumo main:not(.nl):not(:has(> .nl)) {
  --r-fundo: #F3F3F1;
  --texto: #11141B;
  --texto-2: #4F5562;
  --surface: #FFFFFF;
  --surface-2: #FFFFFF;
  --border: #D9DADD;
  --border-forte: #7F8490;
  --acento: #BA492B;
  --superficie-2: #FFFFFF;
  --r-foco: #BA492B;
  --r-filete: #868A94;
  --r-erro: #B42318;
  background: var(--r-fundo);
  color: var(--texto);
  color-scheme: light;
}
body.tema-rumo .hero,
body.tema-rumo .pagina-head,
body.tema-rumo main > .seccao:has(> .cta),
body.tema-rumo main > .seccao:has(> .topologia-cartao),
body.tema-rumo main > .seccao:has(> .grelha-2 > .card > .icone) {
  --r-fundo: #121419;
  --texto: #F2F1EE;
  --texto-2: #ABAFB8;
  --surface: #191C23;
  --surface-2: #20242C;
  --border: #2B2F39;
  --border-forte: #6B7180;
  --acento: #F25100;
  --superficie-2: #191C23;
  --r-foco: #F25100;
  --r-filete: #6B7180;
  --r-erro: #FF6F61;
  background: var(--r-fundo);
  color: var(--texto);
  color-scheme: dark;
}

body.tema-rumo main:not(.nl) > .container {
  border-image: conic-gradient(var(--r-fundo) 0 0) fill 0 / 0 / 0 100vmax;
}

/* ---------- Base ---------- */
html:has(body.tema-rumo) { scroll-behavior: auto; scrollbar-gutter: stable; scroll-padding-top: calc(var(--r-alt, 66px) + 8px); }
html:has(.cookie-banner) { scroll-padding-bottom: 300px; }
@media (max-width: 760px) { html:has(.cookie-banner) { scroll-padding-bottom: 72dvh; } }
body.tema-rumo { background: var(--r-fundo); color: var(--texto); }
body.tema-rumo .container { width: auto; max-width: 1200px; padding-inline: clamp(16px, 5vw, 40px); }
body.tema-rumo h1, body.tema-rumo h2, body.tema-rumo h3, body.tema-rumo h4 { font-family: var(--fonte-titulo); letter-spacing: -0.02em; line-height: 1.1; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
body.tema-rumo ::placeholder { color: var(--texto-2); opacity: 1; }
body.tema-rumo p { text-wrap: pretty; }
body.tema-rumo ::selection { background: #F25100; color: #11141B; }
body.tema-rumo a { color: var(--acento); }
body.tema-rumo :focus-visible { outline: 3px solid var(--r-foco); outline-offset: 2px; }
body.tema-rumo main p a:not(.btn),
body.tema-rumo .conteudo li a,
body.tema-rumo main ul:not([class]) > li a,
body.tema-rumo main ol:not([class]) > li a,
body.tema-rumo main td a,
body.tema-rumo main dd a,
body.tema-rumo .faq-item a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }

/* ---------- Neutralização (perfil 6.6 e Anexo E) ---------- */
body.tema-rumo .scroll-progresso { background: #F25100; box-shadow: none; height: 2px; }
body.tema-rumo .hero h1 .destaque { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--acento); animation: none; }
body.tema-rumo .metrica .num { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--texto); }
body.tema-rumo .card::before { background: var(--acento); }
body.tema-rumo .card::after { content: none; background: none; display: none; }
body.tema-rumo .card { backdrop-filter: none; -webkit-backdrop-filter: none; }
body.tema-rumo .card:hover { transform: none; }
body.tema-rumo .marquee-faixa { animation: none; }
body.tema-rumo .cta::before { animation: none; background: none; display: none; }
body.tema-rumo .cta::after { background: transparent; }
body.tema-rumo .icone { background: none; border: 0; border-radius: 0; width: auto; height: auto; justify-content: flex-start; }
body.tema-rumo .icone svg { stroke: var(--acento); width: 28px; height: 28px; }
body.tema-rumo .tag { background: transparent; border: 1px solid var(--border-forte); color: var(--texto-2); border-radius: 4px; }
body.tema-rumo .kicker,
body.tema-rumo .hero .badge { text-transform: none; letter-spacing: 0; font-size: 0.875rem; font-weight: 500; color: var(--texto-2); background: none; border: 0; padding: 0; border-radius: 0; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; }
body.tema-rumo .kicker::before,
body.tema-rumo .hero .badge::before { content: ""; width: 8px; height: 8px; border-radius: 0; background: var(--gradiente-marca); box-shadow: none; flex: none; }
body.tema-rumo .card .data { text-transform: none; letter-spacing: 0; font-size: 0.875rem; }
body.tema-rumo .competencia-fill { background: var(--acento); box-shadow: none; border-radius: 0; }
body.tema-rumo .competencia-barra { border-radius: 0; }
body.tema-rumo input:focus, body.tema-rumo textarea:focus, body.tema-rumo select:focus { box-shadow: none; border-color: var(--acento); }
body.tema-rumo .alerta { border-radius: 4px; }
body.tema-rumo main .alerta-ok { background: #E7F4EC; border: 1px solid #1E7A45; color: #145232; }
body.tema-rumo main .alerta-erro { background: #FBEAEA; border: 1px solid #B42318; color: #8A1C13; }

/* ---------- Botões ---------- */
body.tema-rumo .btn {
  background: var(--texto); color: var(--r-fundo) !important; /* imp: btn-cor */
  border: 1px solid var(--texto); border-radius: 999px; font-weight: 600; font-size: 1rem;
  min-height: 48px; padding: 12px 24px; gap: 10px; box-shadow: none;
}
body.tema-rumo .btn::before { content: ""; width: 8px; height: 8px; background: var(--gradiente-marca); flex: none; }
body.tema-rumo .btn:hover { transform: none; box-shadow: none; background: transparent; color: var(--texto) !important; /* imp: btn-cor */ }
body.tema-rumo .btn-ghost { background: transparent; border-color: var(--border-forte); color: var(--texto) !important; /* imp: btn-cor */ }
body.tema-rumo .btn-ghost::before { display: none; }
body.tema-rumo .btn-ghost:hover { border-color: var(--texto); }
body.tema-rumo .btn-sm { min-height: 40px; padding: 8px 18px; font-size: 0.9375rem; }

/* ---------- Cabeçalho ---------- */
body.tema-rumo .site-header { background: #121419; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid #2B2F39; }
body.tema-rumo .nav-wrap { padding-block: 9px; min-height: 66px; gap: 20px; }
body.tema-rumo .nav-toggle span { border-radius: 0; }
body.tema-rumo .logo-img { height: 41px; }
body.tema-rumo .nav a { color: #ABAFB8; font-size: 0.9375rem; }
@media (min-width: 761px) {
  body.tema-rumo .nav { flex: 1; justify-content: flex-start; margin-left: clamp(16px, 4vw, 64px); }
  body.tema-rumo .nav a.btn { margin-left: auto; }
}
body.tema-rumo .nav a:hover, body.tema-rumo .nav a.ativo { color: #F2F1EE; }
body.tema-rumo .nav a.ativo:not(.btn) { text-decoration: underline; text-decoration-color: #F25100; text-decoration-thickness: 2px; text-underline-offset: 0.45em; }
body.tema-rumo .nav a.btn { color: #121419 !important; /* imp: btn-cor */ }
body.tema-rumo .nav a.btn:hover { color: #F2F1EE !important; /* imp: btn-cor */ }
body.tema-rumo .nav-toggle { width: 48px; height: 48px; align-items: center; justify-content: center; }

/* ---------- Hero (página inicial) ---------- */
body.tema-rumo .hero { text-align: left; padding-block: clamp(48px, 8vw, 120px) clamp(40px, 6vw, 88px); }
body.tema-rumo .hero h1 { font-size: clamp(2.25rem, 1.6rem + 3.4vw, 4.75rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.02; margin-bottom: 24px; max-width: 13ch; }
body.tema-rumo .hero p.lead { margin: 0 0 32px; max-width: 58ch; font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem); color: var(--texto-2); }
body.tema-rumo .hero-acoes { justify-content: flex-start; gap: 12px; }
body.tema-rumo .hero > .reveal { opacity: 1; transform: none; transition: none; }
body.tema-rumo .metricas { display: flex; flex-wrap: wrap; gap: 0; background: none; border: 0; border-top: 1px solid var(--border); border-radius: 0; margin-top: clamp(40px, 6vw, 72px); overflow: visible; }
body.tema-rumo .metrica { background: none; text-align: left; padding: 16px 24px 0 0; margin-right: 24px; flex: 1 1 140px; box-shadow: none; }
body.tema-rumo .metrica .num { font-size: 1rem; font-weight: 400; color: var(--texto-2); }
body.tema-rumo .metrica .rot { font-size: 0.875rem; }

body.tema-rumo .hero::before,
body.tema-rumo .hero::after { content: ""; position: absolute; pointer-events: none; display: none; }

body.tema-rumo .pagina-head { position: relative; }
body.tema-rumo .efeito-cena { position: absolute; inset: 0 0 0 auto; width: 44%; pointer-events: none; opacity: 0; display: none; overflow: hidden; }

body.tema-rumo .efeito-pausa { position: absolute; right: clamp(16px, 3vw, 32px); bottom: 16px; z-index: 2; min-height: 32px; padding: 4px 12px; font: inherit; font-size: 0.8125rem; color: #ABAFB8; background: #121419; border: 1px solid #6B7180; border-radius: 0; cursor: pointer; }
body.tema-rumo .efeito-pausa:hover { color: #F2F1EE; border-color: #F2F1EE; }
body.tema-rumo .efeito-pausa:focus-visible { outline: 3px solid #F25100; outline-offset: 2px; color: #F2F1EE; }

body.tema-rumo .efeito-simbolo3d { position: absolute; inset: 0 0 0 auto; width: 42%; pointer-events: none; opacity: 0; display: none; overflow: hidden; }

/* ---------- Saltar para o conteúdo (zona saltar): só aparece com o foco ---------- */
body.tema-rumo .saltar { position: fixed; top: 0; left: clamp(16px, 5vw, 40px); z-index: 99; display: inline-flex; align-items: center; min-height: 44px; padding: 8px 20px; background: #F2F1EE; color: #121419; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; transform: translateY(-110%); }
body.tema-rumo .saltar:focus { transform: translateY(8px); }

/* ---------- Faixa de serviços: sem JS, as 10 ligações em linhas (zona faixa-servicos) ou o texto parado; com o efeito faixa, em movimento ---------- */
body.tema-rumo .marquee { background: #F3F3F1; border: 0; mask-image: none; -webkit-mask-image: none; padding: clamp(28px, 4vw, 48px) clamp(16px, 5vw, 40px); }
body.tema-rumo .marquee-faixa { width: auto; max-width: 1120px; margin-inline: auto; }
body.tema-rumo .marquee-faixa span { white-space: normal; display: block; text-transform: none; letter-spacing: -0.01em; font-size: clamp(1.25rem, 1rem + 1.2vw, 2rem); font-weight: 300; line-height: 1.35; color: #11141B; }
body.tema-rumo .marquee-faixa span + span { display: none; }
body.tema-rumo .marquee-faixa i { color: #BA492B; opacity: 1; font-size: 0.6em; vertical-align: 0.2em; margin-inline: 0.3em; }

body.tema-rumo .marquee.com-ligacoes { position: relative; overflow: hidden; padding-inline: 0; padding-bottom: 64px; }
body.tema-rumo .faixa-pista { display: flex; width: max-content; }
body.tema-rumo .faixa-servicos ul { display: flex; flex: none; align-items: center; margin: 0; padding: 0; list-style: none; }
body.tema-rumo .faixa-servicos li { display: flex; align-items: center; }
body.tema-rumo .faixa-servicos li::after { content: ""; flex: none; width: 0.22em; height: 0.22em; margin-inline: 0.55em; background: var(--gradiente-marca); transform: rotate(45deg); font-size: clamp(1.75rem, 1rem + 3vw, 4rem); }
body.tema-rumo main .faixa-servicos ul > li a { position: relative; display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; font-size: clamp(1.75rem, 1rem + 3vw, 4rem); font-weight: 300; letter-spacing: -0.03em; line-height: 1.15; color: #11141B; text-decoration: none; }
body.tema-rumo .faixa-servicos a::after { content: ""; position: absolute; inset: auto 0 0.04em; height: 3px; background: var(--gradiente-marca); transform: scaleX(0); transform-origin: left; }
body.tema-rumo .faixa-servicos a:hover, body.tema-rumo .faixa-servicos a:focus-visible { color: #BA492B; }
body.tema-rumo .faixa-servicos a:hover::after, body.tema-rumo .faixa-servicos a:focus-visible::after { transform: scaleX(1); }
body.tema-rumo .marquee.com-ligacoes .efeito-pausa { bottom: 16px; background: #F3F3F1; color: #4F5562; border-color: #868A94; }
body.tema-rumo .marquee.com-ligacoes .efeito-pausa:hover { color: #11141B; border-color: #11141B; }

body.tema-rumo .marquee.parada .faixa-pista { width: auto; max-width: 1120px; margin-inline: auto; padding-inline: clamp(16px, 5vw, 40px); }
body.tema-rumo .marquee.parada .faixa-servicos ul { flex-wrap: wrap; flex: 1 1 auto; }
body.tema-rumo .faixa-servicos ul[hidden] { display: none; }
body.tema-rumo .marquee.parada .faixa-servicos a { white-space: normal; font-size: clamp(1.25rem, 1rem + 1.2vw, 2rem); }
body.tema-rumo .marquee.parada .faixa-servicos li::after { font-size: clamp(1.25rem, 1rem + 1.2vw, 2rem); }

/* ---------- Secções ---------- */
body.tema-rumo .seccao { padding-block: clamp(48px, 2rem + 4vw, 88px); }
body.tema-rumo .seccao[style*="padding-top"] { padding-top: clamp(24px, 3vw, 40px) !important; /* imp: style-inline */ }
body.tema-rumo .seccao-head,
body.tema-rumo .seccao-head.centro { text-align: left; margin-inline: 0; max-width: 46rem; margin-bottom: clamp(32px, 4vw, 56px); }
body.tema-rumo .seccao-head h2 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem); font-weight: 650; letter-spacing: -0.02em; margin-bottom: 16px; }
body.tema-rumo .seccao-head p { font-size: 1.0625rem; max-width: 60ch; }
body.tema-rumo .pagina-head { padding-block: clamp(48px, 7vw, 104px) clamp(32px, 4vw, 56px); }
body.tema-rumo .pagina-head h1 { font-size: clamp(2.125rem, 1.3rem + 3.4vw, 4rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; max-width: 20ch; }
body.tema-rumo .pagina-head p.lead { font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem); max-width: 62ch; }
body.tema-rumo .breadcrumbs a, body.tema-rumo .breadcrumbs { color: var(--texto-2); }
body.tema-rumo .pagina-head p:not(.lead) { max-width: 62ch; margin-top: 16px; }
body.tema-rumo .pagina-head .btn ~ .btn { background: transparent; border-color: var(--border-forte); color: var(--texto) !important; /* imp: btn-cor */ }
body.tema-rumo .pagina-head .btn ~ .btn::before { display: none; }
body.tema-rumo main [style*="text-align: center"]:not(.cta) { text-align: left !important; /* imp: style-inline */ }
body.tema-rumo .artigo-tldr > div:first-child, body.tema-rumo .artigo-indice > div:first-child { text-transform: none !important; /* imp: style-inline */ letter-spacing: 0 !important; /* imp: style-inline */ font-size: 0.875rem !important; /* imp: style-inline */ }
body.tema-rumo .revisto, body.tema-rumo .nota-legal, body.tema-rumo .nota-custo { color: var(--texto-2); font-size: 0.875rem; }

/* ---------- Cartões: lista com filetes, sem caixa ---------- */
body.tema-rumo .grelha { gap: 0 clamp(24px, 4vw, 48px); }
body.tema-rumo .card { background: transparent; border: 0; border-top: 1px solid var(--r-filete); border-radius: 0; padding: 24px 0 28px; overflow: visible; }
body.tema-rumo .card::before { inset: -1px auto auto 0; width: 0; height: 2px; opacity: 1; }
body.tema-rumo .card:hover { background: transparent; border-color: var(--r-filete); }
body.tema-rumo .card h3 a, body.tema-rumo .card h2 a { color: var(--texto); }
body.tema-rumo .card h3 a:hover, body.tema-rumo .card h2 a:hover { color: var(--acento); }
body.tema-rumo .card h3, body.tema-rumo .card h2 { font-size: clamp(1.1875rem, 1.1rem + 0.4vw, 1.375rem); font-weight: 600; margin-bottom: 10px; }
body.tema-rumo .contacto-info .item h3.item-titulo { font-size: 1rem; margin-bottom: 2px; }
body.tema-rumo .card p { font-size: 1rem; }
body.tema-rumo .card .mais { margin-top: 14px; min-height: 44px; display: inline-flex; align-items: center; }
body.tema-rumo .icone { margin-bottom: 16px; }

body.tema-rumo main .seccao:has(.projeto-tags) .grelha-3 { grid-template-columns: 1fr; }
body.tema-rumo main .seccao:has(.projeto-tags) .card { position: relative; padding-block: 28px; }
body.tema-rumo main .seccao:has(.projeto-tags) .card h3,
body.tema-rumo main .seccao:has(.projeto-tags) .card h2 { font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.5rem); font-weight: 600; letter-spacing: -0.02em; }
body.tema-rumo main .seccao:has(.projeto-tags) .card h3 a::after,
body.tema-rumo main .seccao:has(.projeto-tags) .card h2 a::after { content: ""; position: absolute; inset: 0; }

body.tema-rumo .card > h2 + p[style] { font-size: clamp(2.75rem, 2rem + 3vw, 4rem) !important; /* imp: style-inline */ letter-spacing: -0.02em; line-height: 1 !important; /* imp: style-inline */ font-variant-numeric: tabular-nums; margin: 12px 0 8px !important; /* imp: style-inline */ }
body.tema-rumo .card > h2 + p[style] { color: var(--texto); }
body.tema-rumo .card > h2 + p[style] span { font-size: 1rem !important; /* imp: style-inline */ letter-spacing: 0; font-weight: 500; }
body.tema-rumo .card[style*="border-color"] { border-color: var(--r-filete) !important; /* imp: style-inline */ }

/* ---------- Topologia (cartão escuro do efeito; só cores e forma) ---------- */
body.tema-rumo .topologia-cartao { border-radius: 4px; border: 1px solid #2B2F39; background: #0C0E12; box-shadow: none; }
body.tema-rumo .topologia-tip { background: #0C0E12; border-radius: 4px; box-shadow: none; backdrop-filter: none; }
body.tema-rumo .topologia-tip-acao { color: #FCD000; }
body.tema-rumo .topologia-dica { color: #ABAFB8; }
body.tema-rumo .topologia-nos { justify-content: flex-start; }
body.tema-rumo .topo-chip { border-radius: 4px; background: transparent; min-height: 44px; color: var(--texto); border-color: var(--border-forte); }
body.tema-rumo .topo-chip:hover, body.tema-rumo .topo-chip.ativo { transform: none; box-shadow: none; background: #20242C; border-color: #F25100; }

/* ---------- FAQ ---------- */
body.tema-rumo .faq-lista { max-width: 52rem; margin-inline: 0; gap: 0; }
body.tema-rumo .faq-item { background: transparent; border: 0; border-top: 1px solid var(--r-filete); border-radius: 0; }
body.tema-rumo .faq-item:last-child { border-bottom: 1px solid var(--r-filete); }
body.tema-rumo .faq-item[open] { background: transparent; border-color: var(--r-filete); }
body.tema-rumo .faq-item summary { min-height: 56px; padding: 16px 48px 16px 0; display: flex; align-items: center; font-size: 1.0625rem; }
body.tema-rumo .faq-item summary::after { right: 4px; color: var(--acento); }
body.tema-rumo .faq-item > p,
body.tema-rumo .faq-item > div { padding: 0 48px 20px 0; color: var(--texto-2); font-size: 1rem; }

/* ---------- CTA: o telefone como remate da página ---------- */
body.tema-rumo .cta { text-align: left; background: transparent; padding: 0; border-radius: 0; overflow: visible; }
body.tema-rumo .cta h2 { font-size: clamp(2rem, 1.2rem + 3.4vw, 4rem); font-weight: 700; letter-spacing: -0.02em; max-width: 18ch; }
body.tema-rumo .cta p { margin-inline: 0; max-width: 60ch; }
body.tema-rumo .cta p:has(> a.btn[href^="tel:"]) { max-width: none; }
body.tema-rumo .cta a.btn[href^="tel:"] {
  background: none; border: 0; padding: 0; min-height: 0; border-radius: 0; display: flex; width: fit-content;
  font-family: var(--fonte-titulo); font-size: clamp(1.875rem, 1.2rem + 4vw, 4.5rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; white-space: normal; text-wrap: balance; max-inline-size: 100%;
  color: var(--texto) !important; /* imp: btn-cor */ margin: 8px 0 20px;
}
body.tema-rumo .cta a.btn[href^="tel:"]::before { display: none; }
body.tema-rumo .cta a.btn[href^="tel:"]:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.12em; }

/* ---------- Texto longo, artigos e tabelas ---------- */
body.tema-rumo .conteudo { max-width: 46rem; }
body.tema-rumo .conteudo p, body.tema-rumo .conteudo ul, body.tema-rumo .conteudo ol { color: var(--texto); font-size: 1.0625rem; line-height: 1.65; }
body.tema-rumo .conteudo h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); margin-top: 48px; }
body.tema-rumo main .conteudo h2 { scroll-margin-top: calc(var(--r-alt) + 8px); }
body.tema-rumo .conteudo table, body.tema-rumo .tabela-envolve table, body.tema-rumo .tabela-wrap table { width: 100%; border-collapse: collapse; margin: 1.6rem 0 2rem; font-size: 0.9375rem; line-height: 1.5; background: #FFFFFF; }
body.tema-rumo .conteudo table th, body.tema-rumo .conteudo table td,
body.tema-rumo .tabela-envolve th, body.tema-rumo .tabela-envolve td,
body.tema-rumo .tabela-wrap th, body.tema-rumo .tabela-wrap td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #D9DADD; }
body.tema-rumo .conteudo table thead th, body.tema-rumo .tabela-envolve thead th, body.tema-rumo .tabela-wrap thead th { border-bottom: 2px solid #11141B; color: #11141B; font-weight: 600; }
body.tema-rumo .conteudo table tbody tr:hover, body.tema-rumo .tabela-envolve tbody tr:hover { background: transparent; }
body.tema-rumo caption { caption-side: top; text-align: left; font-size: 0.875rem; color: var(--texto-2); padding-bottom: 8px; }
body.tema-rumo .tabela-envolve, body.tema-rumo .tabela-wrap { overflow-x: auto; overscroll-behavior-x: contain; }
body.tema-rumo .tabela-envolve:focus-visible, body.tema-rumo .conteudo table:focus-visible { outline: 3px solid var(--r-foco); }
body.tema-rumo .autor-caixa, body.tema-rumo .artigo-tldr, body.tema-rumo .artigo-indice { border: 1px solid var(--border) !important; /* imp: style-inline */ border-radius: 4px !important; /* imp: style-inline */ background: #FFFFFF; }
body.tema-rumo .resposta-direta { border-left: 0; }

/* ---------- Formulários ---------- */
body.tema-rumo main :is(input:not([type=checkbox], [type=radio], [type=hidden]), textarea, select) { font-size: 1rem; min-height: 48px; border-radius: 4px; background: var(--surface); border: 1px solid var(--border-forte); color: var(--texto); }
body.tema-rumo main textarea { min-height: 9rem; field-sizing: content; }
body.tema-rumo input:focus-visible, body.tema-rumo textarea:focus-visible, body.tema-rumo select:focus-visible { outline: 3px solid var(--r-foco); outline-offset: 1px; }
body.tema-rumo main :is(input, textarea, select):user-invalid { border: 2px solid var(--r-erro); }
body.tema-rumo .contacto-info .item .icone { width: auto; height: auto; }
body.tema-rumo #pedir-contacto .form-grelha { text-align: left; }

/* ---------- Relacionados ---------- */
body.tema-rumo .relacionados { border-top: 1px solid var(--border); margin-top: 0; padding-block: 48px 64px; }
body.tema-rumo .relacionados-lista { gap: 0 clamp(24px, 4vw, 48px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
body.tema-rumo .relacionados-lista a { border: 0; border-top: 1px solid var(--r-filete); background: transparent; border-radius: 0; min-height: 44px; padding: 14px 0; }
body.tema-rumo .relacionados-lista a:hover, body.tema-rumo .relacionados-lista a:focus-visible { border-color: #BA492B; background: transparent; transform: none; }
body.tema-rumo .relacionados-lista .rel-ancora { color: #11141B; }
body.tema-rumo .relacionados-lista .rel-nota { color: #4F5562; }

/* ---------- Rodapé ---------- */
body.tema-rumo .site-footer { background: #0C0E12; margin-top: 0; border-top: 0; }
body.tema-rumo .site-footer::before { content: ""; display: block; height: 2px; background: var(--gradiente-marca); }
body.tema-rumo .footer-grid { padding-block: clamp(48px, 6vw, 88px) 40px; }

body.tema-rumo .footer-logo { width: fit-content;  }
body.tema-rumo .footer-logo .logo-img { height: 44px;  }
body.tema-rumo .footer-desc { margin: 0; max-width: 60ch; }
body.tema-rumo .footer-logo + .footer-desc { margin-top: 24px; }
body.tema-rumo .footer-desc + .footer-desc { margin-top: 32px; }

body.tema-rumo .footer-desc strong { display: block; max-inline-size: 12em; font-family: var(--fonte-titulo); font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: #F2F1EE; text-wrap: balance; }

body.tema-rumo .footer-desc strong, body.tema-rumo .footer-desc + .footer-desc, body.tema-rumo .site-footer :is(h2, h4) { text-box: trim-both cap alphabetic; }
body.tema-rumo .site-footer :is(h2, h4) { font-size: 0.875rem; font-weight: 500; color: #ABAFB8; margin: 0 0 16px; }

body.tema-rumo .footer-grid > div + div { border-top: 1px solid #2B2F39; padding-top: 16px; }
body.tema-rumo .site-footer li a { color: #F2F1EE; display: inline-flex; align-items: center; min-height: 32px; }
body.tema-rumo .site-footer li a:hover, body.tema-rumo .legal-links a:hover, body.tema-rumo .social a:hover { color: #F25100; }

body.tema-rumo .social { margin-top: 16px; gap: 0 24px; }
body.tema-rumo .social a { color: #F2F1EE; border: 0; border-radius: 0; padding: 0; min-height: 32px; min-width: 24px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.9375rem; text-decoration-line: underline; text-decoration-thickness: 1px; text-decoration-color: #6B7180; text-underline-offset: 0.3em; }
body.tema-rumo .social a:hover { text-decoration-color: currentColor; }
body.tema-rumo .social a { transition: none; }

body.tema-rumo .footer-bottom { width: min(100% - 2 * clamp(16px, 5vw, 40px), 1120px); padding-inline: 0; padding-block: 24px 32px; border-top-color: #2B2F39; font-size: 0.875rem; }
body.tema-rumo .legal-links { column-gap: 24px; }
body.tema-rumo .legal-links a { color: #ABAFB8; min-height: 32px; display: inline-flex; align-items: center; font-size: 0.875rem; }

body.tema-rumo:has(.rtc-ag-abrir) .footer-legal { padding-bottom: 80px; }

@media (pointer: coarse) {
  body.tema-rumo .site-footer li a, body.tema-rumo .legal-links a, body.tema-rumo .social a, body.tema-rumo .nav a { min-height: 44px; min-width: 44px; }
  body.tema-rumo .card :is(h2, h3) a, body.tema-rumo .cta a.btn[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; }
  body.tema-rumo .breadcrumbs a, body.tema-rumo .artigo-indice a, body.tema-rumo main td > a, body.tema-rumo a.logo { display: inline-flex; align-items: center; min-height: 44px; }
  body.tema-rumo .btn, body.tema-rumo .efeito-pausa { min-height: 44px; }
  body.tema-rumo .breadcrumbs a { padding-inline: 9px; margin-inline: -9px; }
  body.tema-rumo .nl-faq summary { min-height: 48px; align-items: center; }
}

html:has(body.tema-rumo .cookie-banner) { scroll-padding-bottom: 260px; }
body.tema-rumo:has(.cookie-banner) .site-footer { padding-bottom: 260px; }

body.tema-rumo p a:not(.btn) { text-decoration-line: underline; text-underline-offset: 0.2em; }

body.tema-rumo main .seccao p { max-width: 34em; }
body.tema-rumo table { font-variant-numeric: tabular-nums; }

/* ---------- Aviso de cookies (opaco; Aceitar e Rejeitar com o mesmo peso) ---------- */
body.tema-rumo .cookie-caixa { background: #121419; backdrop-filter: none; -webkit-backdrop-filter: none; border-radius: 4px; border: 1px solid #6B7180; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
body.tema-rumo .cookie-acoes .btn { min-height: 48px; }

body.tema-rumo .cookie-acoes .btn[data-acao="rejeitar"] { background: #F2F1EE; border-color: #F2F1EE; color: #121419 !important; /* imp: btn-cor */ }
body.tema-rumo .cookie-acoes .btn[data-acao="rejeitar"]::before { display: block; }
body.tema-rumo .cookie-acoes .btn[data-acao="personalizar"] { border-color: #F2F1EE; }
body.tema-rumo .cookie-opcoes label { min-height: 44px; }
body.tema-rumo .cookie-opcoes input { width: 24px; height: 24px; min-height: 0; }

/* ---------- Karetix: só a letra, nos 16 seletores do agente.js (perfil 5.1) ---------- */
body .rtc-ag-abrir, body .rtc-ag-convite, body .rtc-ag-convite button.rtc-ag-convite-abrir, body .rtc-ag-convite strong,
body .rtc-ag-convite-rapidas button, body .rtc-ag-painel, body .rtc-ag-topo h2, body .rtc-ag-entradas button, body .rtc-ag-voltar,
body .rtc-ag-pedido h3, body .rtc-ag-form label, body .rtc-ag-form input[type=text], body .rtc-ag-form button[type=submit],
body .rtc-ag-form .rtc-ag-agora-nao, body .rtc-ag-forma textarea, body .rtc-ag-enviar { font-family: var(--fonte-corpo); }

/* ---------- Newsletter (/newsletter mantém o escuro do newsletter.css; só a letra) ---------- */
body.tema-rumo .nl, body.tema-rumo .nl h1, body.tema-rumo .nl h2, body.tema-rumo .nl h3, body.tema-rumo .nl-kicker, body.tema-rumo .nl-temas legend,
body.tema-rumo .nl-tema-texto strong, body.tema-rumo .nl-campo label, body.tema-rumo .nl-consent label, body.tema-rumo .nl-campo input,
body.tema-rumo .nl-campo select, body.tema-rumo .nl-botao, body.tema-rumo .nl-faq summary { font-family: var(--fonte-corpo); }
body.tema-rumo .nl-tema, body.tema-rumo .nl-marca, body.tema-rumo .nl-campo input, body.tema-rumo .nl-campo select, body.tema-rumo .nl-sucesso,
body.tema-rumo .nl-erro-geral, body.tema-rumo .nl-cartao, body.tema-rumo .nl-botao, body.tema-rumo .nl-botao::after, body.tema-rumo .nl-garantias li::before { border-radius: 4px; }
body.tema-rumo .nl-hero { top: calc(var(--r-alt) + 16px); }

body.tema-rumo .nl-tema-grelha.nl-apagada { opacity: 1; }
body.tema-rumo .nl-tema-grelha.nl-apagada .nl-tema { border-style: dashed; }

/* ---------- Telemóvel (até 760 px: o main.js troca o menu aqui) ---------- */
@media (max-width: 760px) {
  body.tema-rumo .nav { inset: var(--r-alt) 0 auto 0; background: #121419; backdrop-filter: none; -webkit-backdrop-filter: none; max-height: 0; overflow-y: auto; overscroll-behavior: contain; visibility: hidden; }
  body.tema-rumo .nav.aberto { max-height: calc(100dvh - var(--r-alt)); visibility: visible; }
  body.tema-rumo .nav a { min-height: 52px; display: flex; align-items: center; font-size: 1.125rem; padding: 12px clamp(16px, 5vw, 40px); border-top-color: #2B2F39; }
  body.tema-rumo .nav a.btn { margin: 16px clamp(16px, 5vw, 40px) 24px; justify-content: center; }
  body.tema-rumo .hero-acoes .btn { width: 100%; justify-content: center; }
  body.tema-rumo .cta a.btn:not([href^="tel:"]) { width: 100%; justify-content: center; margin-bottom: 12px; }
  body.tema-rumo .site-footer li a, body.tema-rumo .legal-links a { min-height: 44px; }
  body.tema-rumo .legal-links { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; gap: 0 20px; }
  body.tema-rumo .social { gap: 0 16px; }
  body.tema-rumo .footer-legal > p { margin-bottom: 12px; }
  body.tema-rumo .cookie-banner { padding: 0; }
  body.tema-rumo:has(.cookie-banner) .site-footer { padding-bottom: 72dvh; }
  body.tema-rumo .cookie-caixa { width: 100%; border-radius: 0; border-inline: 0; border-bottom: 0; max-height: 70dvh; overflow-y: auto; padding: 20px 16px 84px; }
  body.tema-rumo .cookie-acoes { flex-direction: column; }
  body.tema-rumo .cookie-acoes .btn { width: 100%; justify-content: center; }
  body.tema-rumo .marquee { padding-block: 20px; }
  body.tema-rumo .marquee-faixa span { font-size: 1rem; line-height: 1.6; }
  body.tema-rumo .form-grelha button.btn { width: 100%; justify-content: center; }
  body.tema-rumo .social a { min-height: 44px; min-width: 44px; }
  html:has(body.tema-rumo .cookie-banner) { scroll-padding-bottom: 72dvh; }
  body.tema-rumo .site-footer li a { min-width: 44px; }
  body.tema-rumo .conteudo table { min-width: 0; }
  body.tema-rumo .conteudo table th:first-child, body.tema-rumo .conteudo table td:first-child,
  body.tema-rumo .tabela-envolve th:first-child, body.tema-rumo .tabela-envolve td:first-child { position: sticky; inset-inline-start: 0; background: #FFFFFF; }
  body.tema-rumo .tabela-envolve, body.tema-rumo .conteudo table { background: linear-gradient(90deg, #FFFFFF 30%, rgba(255, 255, 255, 0)) left / 32px 100% no-repeat local, linear-gradient(270deg, #FFFFFF 30%, rgba(255, 255, 255, 0)) right / 32px 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, rgba(17, 20, 27, 0.18), transparent) right / 12px 100% no-repeat scroll, #FFFFFF; }
  body.tema-rumo caption { max-inline-size: calc(100vw - 32px); position: sticky; inset-inline-start: 0; }
  body.tema-rumo .tabela-envolve table, body.tema-rumo .tabela-wrap table { min-width: 560px; }
}
@media (max-width: 359px) {
  body.tema-rumo #pedir-contacto.container { padding-inline: 10px; }
}
@media (max-height: 500px) and (max-width: 960px) {
  body.tema-rumo .site-header { position: static; }
}

/* ---------- Tablet e computador ---------- */
body.tema-rumo .breadcrumbs a, body.tema-rumo .artigo-indice a, body.tema-rumo main td > a { display: inline-block; padding-block: 4px; }
body.tema-rumo .nl-faq summary { padding-block: 4px; }
@media (min-width: 761px) { body.tema-rumo .nav a { min-height: 44px; display: inline-flex; align-items: center; } }
@media (min-width: 761px) and (max-width: 1100px) {
  body.tema-rumo .nav { gap: 12px; margin-left: 12px; }
  body.tema-rumo .nav a { font-size: 0.8125rem; white-space: nowrap; }
  body.tema-rumo .nav a.btn { padding-inline: 14px; }
}
@media (max-width: 560px) {

  body.tema-rumo .footer-grid > div:nth-child(2) > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
}
@media (min-width: 561px) and (max-width: 899px) {
  body.tema-rumo .footer-grid { row-gap: 48px; }
  body.tema-rumo .footer-grid > div:first-child { grid-column: 1 / -1; /* ordem-dom: o bloco da marca é o primeiro filho e ocupa a primeira linha inteira */ }
  body.tema-rumo .footer-grid > div:last-child { grid-column: 1 / -1; /* ordem-dom: Contactos é o último filho e ocupa a última linha inteira */ }

  body.tema-rumo .footer-contactos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; align-items: baseline; }
}
@media (min-width: 900px) {
  body.tema-rumo main .seccao:has(.projeto-tags) .card { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); column-gap: 48px; align-items: baseline; }
  /* ordem-dom: título, resumo e etiquetas ficam pela ordem do HTML, da esquerda para a direita e de cima para baixo */
  body.tema-rumo main .seccao:has(.projeto-tags) .card > .data { grid-column: 1 / -1; /* ordem-dom: a categoria é o primeiro filho e fica por cima, a toda a largura */ }
  body.tema-rumo main .seccao:has(.projeto-tags) .card > .projeto-tags { grid-column: 2; /* ordem-dom: ordem do HTML (categoria, título, resumo, etiquetas): título à esquerda, resumo à direita, etiquetas por baixo do resumo */ }
  body.tema-rumo .grelha-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.tema-rumo .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; row-gap: 56px; }

  body.tema-rumo .footer-grid > div:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; align-items: start; /* ordem-dom: o bloco da marca é o primeiro filho e ocupa a primeira linha inteira */ }
  body.tema-rumo .footer-grid > div:first-child > * { grid-column: 2 / -1; /* ordem-dom: slogan, descrição e redes vêm depois do logótipo no HTML e empilham-se por essa ordem nas colunas 2 e 3 */ }
  body.tema-rumo .footer-grid > div:first-child > .footer-logo { grid-column: 1; grid-row: 1; /* ordem-dom: o logótipo é o primeiro filho e fica à esquerda do slogan, com o topo à altura das maiúsculas */ }
  body.tema-rumo .footer-logo + .footer-desc { margin-top: 0; }
}
@media (min-width: 1024px) {

  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) { grid-template-columns: 1fr; }
  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) > .card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 48px; align-items: start; padding-block: 28px; }
  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) > .card > * { grid-column: 2; /* ordem-dom: texto e «Saber mais» vêm depois do título no HTML e ficam à direita dele */ }
  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) > .card > :is(h2, h3) { grid-column: 1; grid-row: 1 / span 3; margin: 0; font-size: clamp(1.375rem, 1rem + 1vw, 1.875rem); /* ordem-dom: o título é o primeiro filho visível e fica à esquerda */ }
  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) > .card > p { margin: 0; }
  body.tema-rumo main > .seccao > .grelha-2:has(> .card > .icone) > .card > .mais { margin-top: 4px; }

  body.tema-rumo main > .seccao:has(> .faq-lista) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 48px; align-items: start; }
  body.tema-rumo main > .seccao:has(> .faq-lista) > .faq-lista { grid-column: 2; /* ordem-dom: a lista vem depois da cabeça no HTML e fica à direita dela */ }
  body.tema-rumo main > .seccao:has(> .faq-lista) > .seccao-head { grid-column: 1; /* ordem-dom: a cabeça é o primeiro filho e fica à esquerda */ }
  body.tema-rumo main > .seccao:has(> .faq-lista) .faq-item summary { font-size: 1.25rem; }
}
@media (min-width: 1024px) {
  body.tema-rumo .hero { min-height: min(78svh, 760px); display: flex; flex-direction: column; justify-content: center; }
  body.tema-rumo .hero > :not(.metricas):not(.efeito-simbolo3d):not(.efeito-pausa) { max-width: 54%; }
  body.tema-rumo .hero { --r-sim: min(28vw, 380px); }
  body.tema-rumo .hero::before { display: block; right: clamp(16px, 5vw, 40px); top: 50%; width: var(--r-sim); aspect-ratio: 1; margin-top: calc(var(--r-sim) / -2); border-radius: 50%; background: conic-gradient(transparent 0deg 90deg, #F2F1EE 90deg 360deg); }
  body.tema-rumo .hero::after { display: block; right: clamp(16px, 5vw, 40px); top: 50%; width: calc(var(--r-sim) * 0.33); aspect-ratio: 1; margin-top: calc(var(--r-sim) / -2); background: var(--gradiente-marca); }
  body.tema-rumo .hero:has(.efeito-simbolo3d.pronto)::before,
  body.tema-rumo .hero:has(.efeito-simbolo3d.pronto)::after { display: none; }
  body.tema-rumo .efeito-simbolo3d { display: block; }
  body.tema-rumo .efeito-simbolo3d.pronto { opacity: 1; }
  body.tema-rumo .efeito-simbolo3d canvas { width: 100%; height: 100%; display: block; }
  body.tema-rumo .efeito-cena { display: block; }
  body.tema-rumo .efeito-cena.pronto { opacity: 1; }
  body.tema-rumo .efeito-cena canvas { width: 100%; height: 100%; display: block; }

  body.tema-rumo .pagina-head > :not(.efeito-cena):not(.efeito-pausa) { max-width: 54%; }
}

/* ---------- Movimento ---------- */
@media (prefers-reduced-motion: no-preference) {
  body.tema-rumo .btn, body.tema-rumo .topo-chip, body.tema-rumo .relacionados-lista a, body.tema-rumo .social a { transition: background-color 0.15s, color 0.15s, border-color 0.15s; }
  body.tema-rumo .card::before { transition: width 0.3s ease; }
  body.tema-rumo .card:hover::before { width: 64px; }
  body.tema-rumo .nav { transition: max-height 0.25s ease, visibility 0.25s; }
  body.tema-rumo .efeito-simbolo3d, body.tema-rumo .efeito-cena { transition: opacity 0.6s ease; }
  body.tema-rumo .faixa-servicos a::after, body.tema-rumo .saltar { transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }

  @view-transition { navigation: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.tema-rumo .reveal { opacity: 1 !important; /* imp: movimento-reduzido */ transform: none !important; /* imp: movimento-reduzido */ transition: none !important; /* imp: movimento-reduzido */ }
  body.tema-rumo .cookie-banner, body.tema-rumo .aurora span, body.tema-rumo .marquee-faixa { animation: none !important; /* imp: movimento-reduzido */ }
}
@media (prefers-contrast: more) {
  body.tema-rumo main:not(.nl):not(:has(> .nl)) { --texto-2: #2F343E; --border: #7F8490; }
  body.tema-rumo .card, body.tema-rumo .faq-item { border-top-width: 2px; }
}
@media (forced-colors: active) {
  body.tema-rumo .btn, body.tema-rumo .btn-ghost, body.tema-rumo input, body.tema-rumo textarea, body.tema-rumo select, body.tema-rumo .card, body.tema-rumo .faq-item, body.tema-rumo .cookie-caixa { border: 1px solid CanvasText; }
  body.tema-rumo .cta a.btn[href^="tel:"] { border: 1px solid CanvasText; padding: 4px 12px; }
  body.tema-rumo :focus-visible { outline: 3px solid Highlight; }
  body.tema-rumo .hero::before, body.tema-rumo .hero::after { display: none; }
  body.tema-rumo main:not(.nl) > .container { border-image: none; }
  body.tema-rumo a.logo, body.tema-rumo .footer-logo { forced-color-adjust: none; background: #121419; }
}

/* ---------- Validação final anti-IA (01/10/2026) ---------- */

body.tema-rumo .grelha > .card > .icone { display: none; }

body.tema-rumo .rtc-ag-abrir { background: #191C23; color: #F2F1EE; border-color: #6B7180; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35); }
body.tema-rumo .rtc-ag-convite { background: #191C23; color: #F2F1EE; border-color: #6B7180; border-radius: 4px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35); }
body.tema-rumo .rtc-ag-convite-rapidas button { border-color: #6B7180; border-radius: 4px; color: #F2F1EE; }

body.tema-rumo .competencias-lista { margin-inline: 0; max-width: 60ch; gap: 0; }
body.tema-rumo .competencia { border-top: 1px solid var(--r-filete); padding-block: 14px; }
body.tema-rumo .competencia-barra { height: 2px; border: 0; background: transparent; }
body.tema-rumo .competencia-topo span:last-child { color: var(--texto-2); font-family: var(--fonte-corpo); font-weight: 400; }

body.tema-rumo main > .seccao > p { max-width: 34em; }
body.tema-rumo main > .seccao > p + p { margin-top: 1em; }

body.tema-rumo main .conteudo[style*="margin-inline"] { margin-inline: 0 !important; /* imp: style-inline */ }

body.tema-rumo .hero .metricas { column-gap: 0; row-gap: 4px; padding-top: 16px; }
body.tema-rumo .hero .metrica { flex: none; display: inline-flex; align-items: baseline; gap: 0.4ch; padding: 0; margin: 0; }
body.tema-rumo .hero .metrica .num, body.tema-rumo .hero .metrica .rot { font-size: 0.9375rem; font-weight: 400; color: var(--texto-2); margin: 0; }
body.tema-rumo .hero .metrica + .metrica::before { content: "·"; margin-inline: 1ch; color: var(--texto-2); }
@media (max-width: 560px) {
  body.tema-rumo .hero .metricas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  body.tema-rumo .hero .metrica { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  body.tema-rumo .hero .metrica .num { color: var(--texto); }
  body.tema-rumo .hero .metrica .rot { line-height: 1.35; }
  body.tema-rumo .hero .metrica + .metrica::before { content: none; }
}
