:root {
  --cor-primaria: #006CAD;
  --cor-secundaria: #47BCC8;
  --cor-destaque: #F39200;
}

/* CONFORPÉS · tema v1 (21/09/2026)
   Design read: site institucional de saúde para famílias de pessoas amputadas
   (50 a 70 anos lendo no celular) e profissionais que indicam, linguagem
   técnica e acolhedora, tendendo a "clínica humana": papel quente, azul do
   logo, âmbar só como marca de progresso.
   Dials: variância 4 · movimento 2 · densidade 4.
   Assinatura: a régua do processo (5 etapas numeradas, a única sequência
   real do site) e o número grande de prova em âmbar. */

@font-face { font-family: "Bricolage"; src: url("/fontes/bricolage-var.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }
@font-face { font-family: "Source Sans"; src: url("/fontes/sourcesans-var.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }

:root {
  --azul: #006CAD;
  --azul-escuro: #00558A;
  --turquesa: #47BCC8;
  --turquesa-claro: #E3F4F6;
  --noite: #0B2A42;
  --ambar: #F39200;
  --papel: #F6F4EF;
  --papel-2: #ECE8DF;
  --branco: #FDFCFA;
  --texto: #1D2733;
  --apoio: #56616F;
  --linha: #D9D3C7;
  --raio: 12px;
  --sombra: 0 10px 30px -18px rgba(10, 37, 64, .35);
  --display: "Bricolage", "Segoe UI", system-ui, sans-serif;
  --corpo: "Source Sans", "Segoe UI", system-ui, sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--papel); color: var(--texto); font-family: var(--corpo); font-size: 1.125rem; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--azul); text-decoration-color: color-mix(in srgb, var(--azul) 38%, transparent); text-underline-offset: .18em; padding-block: .2rem; }
a:hover { color: var(--noite); }
:focus-visible { outline: 3px solid var(--ambar); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--display); color: var(--noite); line-height: 1.12; letter-spacing: -0.02em; text-wrap: balance; margin: 0 0 .6em; font-weight: 700; }
h1 { font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 650; }
p { margin: 0 0 1em; text-wrap: pretty; }
.container { width: min(1180px, 100% - 2.5rem); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular-conteudo { position: absolute; left: -999px; top: .5rem; background: var(--noite); color: #fff; padding: .6rem 1rem; z-index: 50; }
.pular-conteudo:focus { left: .5rem; }

/* BOTÕES */
.botao { display: inline-flex; align-items: center; gap: .5rem; background: var(--azul); color: #fff; font-family: var(--corpo); font-weight: 650; font-size: 1.05rem; padding: .85rem 1.4rem; border-radius: var(--raio); text-decoration: none; white-space: nowrap; border: 2px solid var(--azul); transition: transform .2s var(--ease), background .2s; }
.botao:hover { background: var(--azul-escuro); border-color: var(--azul-escuro); color: #fff; }
.botao:active { transform: translateY(1px); }
.botao-borda { background: transparent; color: var(--azul); }
.botao-borda:hover { background: var(--azul); color: #fff; }
.botao-claro { background: var(--branco); color: var(--noite); border-color: var(--branco); }
.botao-claro:hover { background: var(--ambar); border-color: var(--ambar); color: var(--noite); }

/* TOPO */
.topo { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--papel) 94%, transparent); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid transparent; transition: border-color .2s; }
.topo[data-rolou] { border-bottom-color: var(--linha); }
.topo-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; height: 72px; }
.logo { display: flex; align-items: center; padding: 0; }
.logo img { height: 46px; width: auto; }
.logo-texto { font-family: var(--display); font-weight: 750; font-size: 1.5rem; color: var(--azul); }
.menu { display: flex; align-items: center; gap: 1.4rem; }
.menu a { color: var(--texto); text-decoration: none; font-weight: 550; font-size: 1rem; }
.menu a:hover { color: var(--azul); }
.menu a.menu-cta { background: var(--azul); color: #fff; padding: .55rem 1rem; border-radius: var(--raio); }
.menu a.menu-cta:hover { background: var(--azul-escuro); }
.menu-toggle, .menu-botao { display: none; }
@media (max-width: 1200px) {
  .menu-botao { display: grid; place-items: center; width: 48px; height: 48px; font-size: 1.6rem; cursor: pointer; color: var(--noite); }
  .menu { position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--branco); border-bottom: 1px solid var(--linha); padding: .5rem 1.25rem 1.25rem; display: none; box-shadow: var(--sombra); }
  .menu a { padding: .85rem 0; border-bottom: 1px solid var(--papel-2); font-size: 1.1rem; }
  .menu a.menu-cta { margin-top: .8rem; text-align: center; border: 0; }
  .menu-toggle:checked ~ .menu { display: flex; }
}

/* HERO DA HOME: split, texto à esquerda, foto real à direita */
.h-hero { padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4rem); }
.h-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.h-hero h1 { max-width: 15ch; font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
.h-hero .h-sub { font-size: 1.25rem; color: var(--apoio); max-width: 34ch; margin-bottom: 1.8rem; }
.h-acoes { display: flex; flex-wrap: wrap; gap: .8rem; }
.h-hero-foto { position: relative; margin: 0; }
.h-hero-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
.h-hero-selo { position: absolute; left: -1.2rem; top: 1.6rem; background: var(--branco); border-radius: var(--raio); padding: 1rem 1.2rem; box-shadow: var(--sombra); max-width: 15rem; }
.h-hero-selo strong { display: block; font-family: var(--display); font-size: 2.2rem; line-height: 1; color: var(--noite); }
.h-hero-selo span { font-size: .95rem; color: var(--apoio); line-height: 1.35; display: block; margin-top: .3rem; }
.h-hero-selo strong::after { content: ""; display: block; width: 2.2rem; height: 4px; background: var(--ambar); border-radius: 2px; margin-top: .45rem; }
@media (max-width: 860px) {
  .h-hero-grid { grid-template-columns: 1fr; }
  .h-hero h1 { max-width: none; }
  .h-hero-foto img { aspect-ratio: 4 / 3; }
  .h-hero-selo { position: static; max-width: none; margin-top: .8rem; box-shadow: none; border: 1px solid var(--linha); }
}

/* SEÇÕES */
.secao { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.secao-branca { background: var(--branco); }
.secao-noite { background: var(--noite); color: #E6ECF3; }
.secao-noite h2, .secao-noite h3 { color: #fff; }
.secao-noite a:not(.botao) { color: #fff; }
.cabeca { max-width: 46rem; margin-bottom: 2.5rem; }
.cabeca p { color: var(--apoio); font-size: 1.2rem; }
.secao-noite .cabeca p { color: #B9C6D6; }
.rotulo { display: inline-block; font-weight: 650; font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; color: var(--azul); margin-bottom: .8rem; }

/* PRÓTESES POR REGIÃO: dois painéis com lista de níveis */
.regioes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.regiao { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; }
.regiao img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 22%; }
.regiao-corpo { padding: 1.5rem 1.6rem 1.7rem; display: flex; flex-direction: column; flex: 1; }
.regiao ul { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.regiao li { border-top: 1px solid var(--papel-2); }
.regiao li a { display: flex; justify-content: space-between; padding: .7rem 0; text-decoration: none; color: var(--texto); font-weight: 550; }
.regiao li a::after { content: "→"; color: var(--azul); }
.regiao li a:hover { color: var(--azul); }
.regiao .botao { align-self: flex-start; margin-top: auto; }

/* O PROCESSO: assinatura, régua de 5 etapas */
.processo { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; counter-reset: etapa; position: relative; }
.processo li { counter-increment: etapa; padding: 0 1.2rem 0 0; position: relative; }
.processo li::before { content: counter(etapa); display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--noite); color: #fff; font-family: var(--display); font-weight: 700; font-size: 1.2rem; margin-bottom: 1.2rem; position: relative; z-index: 1; }
.processo li:last-child::before { background: var(--ambar); color: var(--noite); }
.processo::before { content: ""; position: absolute; top: 1.5rem; left: 1.5rem; right: 10%; height: 2px; background: var(--linha); }
.processo h3 { font-size: 1.2rem; margin-bottom: .4rem; }
.processo p { color: var(--apoio); font-size: 1rem; margin: 0; }
@media (max-width: 900px) {
  .processo { grid-template-columns: 1fr; gap: 1.6rem; }
  .processo::before { top: 0; bottom: 0; left: 1.5rem; right: auto; width: 2px; height: auto; }
  .processo li { display: grid; grid-template-columns: 3rem 1fr; column-gap: 1.2rem; padding: 0; }
  .processo li::before { grid-row: span 2; margin: 0; }
}

/* PROVA: números grandes em linha, sem cartões */
.provas { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem 2.5rem; margin: 0; }
.provas div { border-top: 2px solid rgba(255,255,255,.18); padding-top: 1.1rem; }
.provas dt { font-family: var(--display); font-weight: 700; font-size: clamp(2.4rem, 4.5vw, 3.4rem); line-height: 1; color: var(--ambar); margin-bottom: .5rem; }
.provas dd { margin: 0; color: #C9D4E1; font-size: 1.05rem; }

/* SPLIT: texto + foto (máx. 2 seguidos) */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.split img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio); }
.split-inv .split-foto { order: -1; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; } .split-inv .split-foto { order: 0; } }

/* CITAÇÃO */
.citacao { max-width: 52rem; margin: 0; }
.citacao blockquote { margin: 0; font-family: var(--display); font-size: clamp(1.5rem, 2.8vw, 2.1rem); line-height: 1.3; color: var(--noite); font-weight: 600; letter-spacing: -0.015em; }
.citacao figcaption { margin-top: 1.2rem; color: var(--apoio); }
.citacao figcaption strong { color: var(--texto); }

/* UNIDADES */
.unidades { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1.5rem; }
.unidade { background: var(--branco); border-radius: var(--raio); padding: 1.6rem; border: 1px solid var(--linha); }
.unidade h3 { margin-bottom: .3rem; }
.unidade .tipo { color: var(--azul); font-weight: 650; font-size: .95rem; margin-bottom: 1rem; display: block; }
.unidade p { margin: 0 0 .5rem; font-size: 1.02rem; }
.unidade .nota { color: var(--apoio); font-size: .95rem; }

/* DÚVIDAS (FAQ) */
.faq-lista { max-width: 50rem; }
.faq-item { border-top: 1px solid var(--linha); }
.faq-item:last-child { border-bottom: 1px solid var(--linha); }
.faq-item summary { cursor: pointer; list-style: none; padding: 1.2rem 2.5rem 1.2rem 0; font-family: var(--display); font-weight: 650; font-size: 1.2rem; color: var(--noite); position: relative; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: .2rem; top: 1rem; font-size: 1.6rem; color: var(--azul); transition: transform .25s var(--ease); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-resposta { padding: 0 0 1.3rem; color: var(--texto); max-width: 44rem; }

/* CHAMADA FINAL */
.chamada { background: var(--azul); color: #fff; border-radius: var(--raio); padding: clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: center; }
.chamada h2 { color: #fff; margin-bottom: .4rem; }
.chamada p { color: #DCE6F2; margin: 0; }
.chamada-acoes { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: flex-end; }
.chamada .botao-borda { color: #fff; border-color: rgba(255,255,255,.6); }
.chamada .botao-borda:hover { background: #fff; color: var(--azul); }
@media (max-width: 860px) { .chamada { grid-template-columns: 1fr; } .chamada-acoes { justify-content: flex-start; } }

/* IMPRENSA */
.imprensa { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2.5rem; color: var(--apoio); font-family: var(--display); font-weight: 650; font-size: 1.3rem; }
.imprensa span:first-child { font-family: var(--corpo); font-weight: 500; font-size: 1rem; }

/* PÁGINAS INTERNAS */
.cabecalho-pagina { padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.5rem, 3vw, 2.5rem); }
.cabecalho-pagina h1 { max-width: 22ch; }
.cabecalho-pagina .hero-sub { font-size: 1.25rem; color: var(--apoio); max-width: 42rem; }
.trilha { font-size: .95rem; color: var(--apoio); margin-bottom: 1rem; }
.trilha a { color: var(--apoio); }
.pagina-capa { margin-bottom: clamp(2rem, 4vw, 3rem); }
.pagina-capa img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--raio); }
.conteudo-md { max-width: 46rem; padding-bottom: clamp(3rem, 6vw, 5rem); }
.conteudo-md h2 { margin-top: 2.2em; font-size: clamp(1.5rem, 2.6vw, 2rem); }
.conteudo-md h3 { margin-top: 1.6em; }
.conteudo-md ul, .conteudo-md ol { padding-left: 1.3rem; }
.conteudo-md li { margin-bottom: .45rem; }
.conteudo-md img { border-radius: var(--raio); margin: 1.5rem 0; }
.conteudo-md table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 1rem; }
.conteudo-md th, .conteudo-md td { text-align: left; padding: .7rem .6rem; border-bottom: 1px solid var(--linha); vertical-align: top; }
.conteudo-md th { font-family: var(--display); color: var(--noite); }
.conteudo-md blockquote { margin: 1.5rem 0; padding: 1.2rem 1.4rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.conteudo-md .aviso { background: var(--papel-2); border-radius: var(--raio); padding: 1.1rem 1.3rem; font-size: 1rem; }

/* BLOG */
.grade-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.8rem; padding-bottom: 4rem; }
.card-post { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.card-post img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.card-post-corpo { padding: 1.3rem 1.4rem 1.5rem; }
.card-post h2, .card-post h3 { font-size: 1.25rem; }
.card-post a { text-decoration: none; }

/* RODAPÉ */
.rodape { background: var(--noite); color: #B9C6D6; padding: 4rem 0 2rem; font-size: 1rem; }
.rodape strong { color: #fff; font-family: var(--display); font-size: 1.1rem; display: block; margin-bottom: .8rem; }
.rodape a { color: #E6ECF3; text-decoration: none; }
.rodape a:hover { color: var(--ambar); }
.rodape-inner { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2.5rem; }
.rodape-inner p { margin: 0 0 .45rem; }
.rodape-base { border-top: 1px solid rgba(255,255,255,.12); margin-top: 3rem; padding-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .92rem; }
.rodape-base p { margin: 0; }
/* Área de toque mínima de 24 px (WCAG 2.5.8): o texto em .92rem dava 23,5 px de altura. */
.rodape-base .redes a { display: inline-block; padding: .3rem 0; }
.hl-assinatura { color: #8FA0B4 !important; }
.hl-assinatura b { color: #E6ECF3; }
@media (max-width: 860px) { .rodape-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rodape-inner { grid-template-columns: 1fr; } }

/* WHATSAPP */
.whatsapp-flutuante { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 30; width: 58px; height: 58px; border-radius: 50%; background: #1FA855; color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px -10px rgba(10,37,64,.55); padding: 0; }
.whatsapp-flutuante:hover { color: #fff; transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* VÍDEO do YouTube dentro dos guias (vem do WordPress sem wrapper) */
.conteudo-md iframe { display: block; width: 100%; max-width: 360px; aspect-ratio: 9 / 16; height: auto; border: 0; border-radius: var(--raio); margin: 1.5rem 0; background: var(--papel-2); }

/* HUB DE PRÓTESES */
.hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; padding-bottom: 1rem; }
.hub-grupo { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.6rem; }
.hub-grupo h2 { font-size: 1.4rem; margin: 0 0 .3rem; }
.hub-grupo > p { color: var(--apoio); font-size: 1rem; }
.hub-grupo ul { list-style: none; padding: 0; margin: 0; }
.hub-grupo li { border-top: 1px solid var(--papel-2); margin: 0; }
.hub-grupo li a { display: flex; justify-content: space-between; padding: .7rem 0; text-decoration: none; color: var(--texto); font-weight: 550; }
.hub-grupo li a::after { content: "→"; color: var(--azul); }
.hub-grupo--inferior { border-top: 4px solid var(--ambar); }
.hub-grupo--superior { border-top: 4px solid var(--turquesa); }
.hub-grupo--tecnologia { border-top: 4px solid var(--azul); }

/* SOBRE: fundador */
.fundador { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; margin: 2rem 0; }
.fundador img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); margin: 0; }
@media (max-width: 760px) { .fundador { grid-template-columns: 1fr; } }
.conteudo-md.largo { max-width: 1200px; }
.galeria { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 2rem 0; }
.galeria img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; border-radius: var(--raio); }
.destaque-turquesa { background: var(--turquesa-claro); border-radius: var(--raio); padding: 1.4rem 1.6rem; margin: 1.5rem 0; }

/* GUIAS: resposta curta no topo (é o trecho que buscador e IA citam) */
.conteudo-md .resposta { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.2rem 1.4rem; font-size: 1.15rem; line-height: 1.55; margin: 0 0 2rem; }
.conteudo-md .resposta strong:first-child { display: block; font-family: var(--display); color: var(--azul); font-size: .95rem; letter-spacing: .02em; margin-bottom: .3rem; }
.conteudo-md table { display: block; overflow-x: auto; }
.conteudo-md td:last-child { white-space: nowrap; }
.conteudo-md h3 { font-size: 1.15rem; }
.rodape-base p:first-child { max-width: 46rem; }

/* HOME: equipe com prótese (bento de 3 células: texto + 2 fotos de alturas diferentes) */
.h-equipe { display: grid; grid-template-columns: 1.1fr .8fr .8fr; gap: 1.2rem; align-items: end; }
.h-equipe-texto { align-self: center; padding-right: 1.5rem; }
.h-equipe figure { margin: 0; }
.h-equipe img { width: 100%; object-fit: cover; border-radius: var(--raio); }
.h-equipe-a img { aspect-ratio: 3 / 4; object-position: 50% 30%; }
.h-equipe-b img { aspect-ratio: 4 / 5; object-position: 50% 20%; }
.h-equipe-b { transform: translateY(-2.5rem); }
@media (max-width: 900px) {
  .h-equipe { grid-template-columns: 1fr 1fr; }
  .h-equipe-texto { grid-column: span 2; padding: 0; }
  .h-equipe-b { transform: none; }
}

/* REVISÃO "APPLE" (21/09/2026) */
/* Resposta: feedback no toque, instantâneo, e sem o flash cinza do WebKit */
html { -webkit-tap-highlight-color: transparent; }
.botao { transition: transform 100ms ease-out, background-color .2s, color .2s, border-color .2s; }
.botao:active, .menu a:active, .regiao li a:active, .hub-grupo li a:active { transform: scale(.97); }
.regiao li a, .hub-grupo li a { transition: color .15s, transform 100ms ease-out; }
/* Tipografia: tracking por tamanho, entrelinha inversa ao corpo */
h1 { letter-spacing: -0.028em; line-height: 1.05; }
h2 { letter-spacing: -0.022em; line-height: 1.1; }
h3 { letter-spacing: -0.01em; line-height: 1.25; }
.rotulo, .conteudo-md .resposta strong:first-child { letter-spacing: .04em; }
.provas dt { letter-spacing: -0.03em; }
/* Material: topo translúcido, e borda de rolagem como sombra suave, não filete */
.topo { background: color-mix(in srgb, var(--papel) 78%, transparent); backdrop-filter: blur(18px) saturate(170%); -webkit-backdrop-filter: blur(18px) saturate(170%); border-bottom: 0; }
.topo[data-rolou] { box-shadow: 0 8px 18px -14px rgba(11, 42, 66, .35); }
/* Orientação: onde estou */
.menu a[aria-current="page"]:not(.menu-cta) { color: var(--azul); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .45em; text-decoration-color: var(--ambar); }
/* Menu móvel nasce do botão que o abriu, e sai pelo mesmo caminho */
@media (max-width: 1200px) {
  .menu { display: flex; transform-origin: top right; opacity: 0; transform: translateY(-6px) scale(.98); visibility: hidden; transition: opacity .18s ease-out, transform .22s cubic-bezier(.16,1,.3,1), visibility 0s linear .22s; }
  .menu-toggle:checked ~ .menu { opacity: 1; transform: none; visibility: visible; transition: opacity .18s ease-out, transform .22s cubic-bezier(.16,1,.3,1), visibility 0s; }
  .menu-botao:active { transform: scale(.94); }
}
/* Acessibilidade de materiais e contraste */
@media (prefers-reduced-transparency: reduce) { .topo { background: var(--papel); backdrop-filter: none; -webkit-backdrop-filter: none; } }
@media (prefers-contrast: more) {
  :root { --apoio: #3B4450; --linha: #9C9384; }
  .topo { background: var(--papel); backdrop-filter: none; box-shadow: 0 1px 0 var(--noite); }
  .botao-borda { border-color: var(--noite); }
}
@media (prefers-reduced-motion: reduce) { .botao:active, .menu a:active { transform: none; } .menu { transform: none !important; } }

/* Vídeo como fachada leve: miniatura + link, sem iframe pesado no meio da leitura */
.conteudo-md .video-link { display: grid; grid-template-columns: 160px 1fr; gap: 1rem; align-items: center; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: .7rem; margin: 1.5rem 0; text-decoration: none; color: var(--texto); transition: transform 100ms ease-out, border-color .2s; }
.conteudo-md .video-link:hover { border-color: var(--azul); }
.conteudo-md .video-link:active { transform: scale(.98); }
.conteudo-md .video-link img { margin: 0; width: 160px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.conteudo-md .video-link span { font-weight: 600; font-size: 1rem; line-height: 1.35; }
.conteudo-md .video-link span::before { content: "▶  "; color: var(--azul); }
.regiao img.foco-baixo { object-position: 50% 78%; }
@media (max-width: 420px) { h1, .h-hero h1 { font-size: 2rem; } }

/* CATÁLOGO: ficha técnica em duas colunas, rótulo à esquerda */
.conteudo-md table.ficha { display: table; }
.conteudo-md table.ficha th { width: 38%; font-family: var(--corpo); font-weight: 600; color: var(--apoio); font-size: .98rem; }
.conteudo-md table.ficha td { white-space: normal; font-weight: 600; color: var(--noite); }
.conteudo-md .nota-ficha { font-size: .95rem; color: var(--apoio); }

/* GUIA DO AMPUTADO: esquemas de perna e braço com linhas de corte clicáveis */
.ga-mapa { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 2rem 0 1rem; }
.ga-esquema { margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1rem .6rem; }
.ga-esquema svg { width: 100%; height: auto; display: block; }
.ga-esquema figcaption { font-size: .92rem; color: var(--apoio); text-align: center; margin-top: .4rem; }
.ga-esquema .osso { fill: var(--papel-2); stroke: #C9C1B2; stroke-width: 1.5; }
.ga-esquema .junta { fill: #E3DDD1; stroke: #C9C1B2; stroke-width: 1.5; }
.ga-esquema .dedo { stroke: #C9C1B2; stroke-width: 9; stroke-linecap: round; fill: none; }
.ga-esquema .corte line { stroke: var(--azul); stroke-width: 2; stroke-dasharray: 5 4; }
.ga-esquema .corte circle { fill: var(--azul); }
.ga-esquema .corte text { font-family: var(--corpo); font-size: 15px; font-weight: 600; fill: var(--noite); }
.ga-esquema .corte:hover line, .ga-esquema .corte:focus-visible line { stroke: var(--ambar); stroke-width: 3; stroke-dasharray: none; }
.ga-esquema .corte:hover circle, .ga-esquema .corte:focus-visible circle { fill: var(--ambar); }
.ga-esquema .corte:hover text { fill: var(--azul); }
.ga-lista { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .8rem; }
.ga-lista li { margin: 0; }
.ga-lista a { display: block; height: 100%; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.1rem; text-decoration: none; color: var(--texto); transition: border-color .2s, transform 100ms ease-out; }
.ga-lista a:hover { border-color: var(--azul); }
.ga-lista a:active { transform: scale(.98); }
.ga-lista strong { display: block; font-family: var(--display); color: var(--noite); font-size: 1.08rem; margin-bottom: .25rem; }
.ga-lista span { font-size: .96rem; color: var(--apoio); line-height: 1.45; }
/* Ilustração de cada cartão do guia (catalogo/ilustracoes_guia.py): desenho inteiro tracejado, parte que fica pintada, corte em âmbar */
.ga-lista .ga-ilu { display: block; width: 100%; height: 140px; margin: 0 0 .8rem; background: var(--papel); border-radius: calc(var(--raio) - 4px); padding: 8px 0; }
.ga-ilu .sai * { fill: var(--papel-2); stroke: var(--apoio); stroke-width: 1.2; stroke-dasharray: 3 3; opacity: .6; }
.ga-ilu .fica * { fill: var(--turquesa-claro); stroke: var(--azul); stroke-width: 1.8; stroke-linejoin: round; }
.ga-ilu .corte { fill: none; stroke: var(--ambar); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.ga-ilu-icone .f { fill: var(--turquesa-claro); stroke: var(--azul); stroke-width: 2.6; stroke-linejoin: round; }
.ga-ilu-icone .l { fill: none; stroke: var(--azul); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.ga-ilu-icone .grosso { stroke-width: 5; }
.ga-ilu-icone .a { fill: none; stroke: var(--ambar); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.ga-ilu-icone .tracejado { stroke-dasharray: 6 5; }
.ga-ilu-icone .a-f { fill: var(--ambar); }
.ga-ilu-icone .n { font-family: var(--display); font-size: 30px; font-weight: 700; fill: var(--azul); }
.ga-lista a:hover .ga-ilu .corte, .ga-lista a:hover .ga-ilu-icone .a { stroke-width: 4; }
/* Glossário ilustrado (/glossario/, catalogo/gerar_glossario.py) */
.container.conteudo-md > .gl-ferramentas, .container.conteudo-md > .gl-grade, .container.conteudo-md > .gl-letra { max-width: 76rem; }
.gl-ferramentas { padding: .8rem 0 .9rem; margin: 1.5rem 0 1rem; border-bottom: 1px solid var(--linha); }
.gl-termo[hidden], .gl-grade[hidden], .gl-letra[hidden], .gl-vazio[hidden] { display: none; }
.gl-busca { display: block; margin-bottom: .6rem; }
.gl-busca span { display: block; font-size: .9rem; color: var(--apoio); margin-bottom: .25rem; }
.gl-busca input { width: 100%; max-width: 28rem; font: inherit; font-size: 1.05rem; padding: .65rem .9rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--branco); color: var(--texto); }
.gl-busca input:focus { outline: 2px solid var(--azul); outline-offset: 1px; }
.gl-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .6rem; }
.gl-chip { font: inherit; font-size: .92rem; padding: .35rem .8rem; border: 1px solid var(--linha); border-radius: 999px; background: var(--branco); color: var(--texto); cursor: pointer; min-height: 36px; }
.gl-chip.ativo { background: var(--azul); border-color: var(--azul); color: #fff; }
.gl-az { display: flex; flex-wrap: wrap; gap: .15rem .5rem; font-family: var(--display); font-weight: 700; }
.gl-az a { text-decoration: none; padding: .15rem .3rem; }
.gl-letra { scroll-margin-top: 90px; margin-top: 2rem; font-size: 2rem; color: var(--azul); }
.gl-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .9rem; margin: .8rem 0 1rem; }
.gl-termo { scroll-margin-top: 90px; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; }
.gl-termo:target { border-color: var(--ambar); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ambar) 30%, transparent); }
.gl-termo .gl-ilu { display: block; width: 100%; height: 120px; margin: 0 0 .8rem; background: var(--papel); border-radius: calc(var(--raio) - 4px); padding: 8px 0; }
.gl-termo h3 { font-family: var(--display); font-size: 1.15rem; color: var(--noite); margin: 0 0 .2rem; }
.gl-termo p { margin: 0 0 .5rem; font-size: .98rem; line-height: 1.5; }
.gl-termo .gl-tb { font-size: .88rem; color: var(--apoio); font-style: italic; }
.gl-termo .gl-grupo { font-size: .8rem; letter-spacing: .03em; text-transform: uppercase; color: var(--apoio); margin-top: auto; padding-top: .3rem; }
.gl-termo .gl-mais { font-weight: 600; font-size: .95rem; }
.gl-vazio { padding: 1rem; background: var(--branco); border: 1px dashed var(--linha); border-radius: var(--raio); }

@media (max-width: 700px) { .ga-mapa { grid-template-columns: 1fr; } }
.ga-esquema .corte.ativo line { stroke: var(--ambar); stroke-width: 4; stroke-dasharray: none; }
.ga-esquema .corte.ativo circle { fill: var(--ambar); }
.ga-esquema .corte.ativo text { fill: var(--noite); font-weight: 800; font-size: 17px; }
.conteudo-md .ga-esquema-pagina { max-width: 380px; margin: 0 0 2rem; }
.conteudo-md .ga-esquema-pagina svg { margin: 0; }

/* BLOG: listagem, destaque, post e paginação */
.post-meta { color: var(--apoio); font-size: .98rem; margin: 0; }
.post-capa-wrap { max-width: calc(46rem + 0px); margin-bottom: 2.2rem; }
.post-capa { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--raio); }
.post-corpo { padding-bottom: 2rem; }
.post-tags { display: flex; flex-wrap: wrap; gap: .5rem; padding-bottom: 3rem; max-width: 46rem; }
.tag { background: var(--papel-2); color: var(--apoio); border-radius: 999px; padding: .35rem .8rem; font-size: .92rem; text-decoration: none; }
.tag:hover { color: var(--azul); }
.secao-cabeca h2 { margin-bottom: 1.5rem; }
.regua { display: none; }
.card-post > a { display: block; padding: 0; }
.card-corpo { padding: 1.2rem 1.35rem 1.4rem; }
.card-corpo h2, .card-corpo h3 { font-size: 1.18rem; line-height: 1.25; margin: .35rem 0 .5rem; }
.card-corpo h2 a, .card-corpo h3 a { color: var(--noite); text-decoration: none; }
.card-corpo h2 a:hover, .card-corpo h3 a:hover { color: var(--azul); }
.card-corpo p { font-size: .98rem; color: var(--apoio); margin: 0 0 .6rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-corpo time { font-size: .88rem; color: var(--apoio); }
.card-categoria a { font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--azul); text-decoration: none; }
.post-destaque { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.post-destaque > a { display: block; padding: 0; }
.post-destaque img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.post-destaque .card-corpo { padding: 2rem; align-self: center; }
.post-destaque h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
@media (max-width: 760px) { .post-destaque { grid-template-columns: 1fr; } }
.paginacao { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0 0 4rem; }
.paginacao-info { color: var(--apoio); font-size: .95rem; }
.filtro-aviso { margin-bottom: 1.5rem; }

/* Cabeçalho com foto vertical (guias de prótese): texto à esquerda, foto inteira à direita */
.cabecalho-com-foto .container { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.cabecalho-foto { margin: 0; }
.cabecalho-foto img { width: 100%; max-height: 440px; object-fit: contain; border-radius: var(--raio); }
@media (max-width: 760px) { .cabecalho-com-foto .container { grid-template-columns: 1fr; } .cabecalho-foto img { max-height: 320px; } }

/* CATÁLOGO: foto do componente ao lado da ficha técnica */
.conteudo-md .ficha-topo { display: grid; grid-template-columns: 240px 1fr; gap: 1.8rem; align-items: start; margin-top: 1rem; }
.conteudo-md .ficha-topo h2 { margin-top: 0; }
.conteudo-md .ficha-foto { margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: .8rem; position: sticky; top: 90px; }
.conteudo-md .ficha-foto img { margin: 0; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 8px; }
.conteudo-md .ficha-foto figcaption { font-size: .82rem; color: var(--apoio); text-align: center; margin-top: .4rem; }
@media (max-width: 700px) { .conteudo-md .ficha-topo { grid-template-columns: 1fr; } .conteudo-md .ficha-foto { position: static; max-width: 260px; } }
.conteudo-md td.td-comp { display: flex; align-items: center; gap: .7rem; white-space: normal; }
.conteudo-md img.mini-comp { width: 48px; height: 48px; object-fit: contain; margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: 8px; flex: none; }
.conteudo-md ul.cat-cards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; }
.conteudo-md ul.cat-cards li { margin: 0; }
.conteudo-md ul.cat-cards a { display: block; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: .8rem; text-decoration: none; color: var(--noite); height: 100%; transition: border-color .2s, transform 100ms ease-out; }
.conteudo-md ul.cat-cards a:hover { border-color: var(--azul); }
.conteudo-md ul.cat-cards a:active { transform: scale(.98); }
.conteudo-md ul.cat-cards img { margin: 0 0 .6rem; width: 100%; aspect-ratio: 1; object-fit: contain; }
.conteudo-md ul.cat-cards strong { display: block; font-family: var(--display); font-size: 1rem; line-height: 1.2; }
.conteudo-md ul.cat-cards span { font-size: .88rem; color: var(--apoio); }

/* REVISÃO 28/09: layout das páginas internas
   A coluna de leitura (46rem) passa a alinhar à esquerda com o título, em vez
   de ficar centralizada sob um cabeçalho alinhado à esquerda. Blocos largos
   (hubs, esquemas, cartões, tabelas) podem usar a largura toda do container. */
.container.conteudo-md { max-width: none; overflow-wrap: anywhere; }
.container.conteudo-md > * { max-width: min(46rem, 100%); }
.container.conteudo-md > img { height: auto; }
.container.conteudo-md > .hub,
.container.conteudo-md > .ga-mapa,
.container.conteudo-md > .ga-lista,
.container.conteudo-md > .cat-cards,
.container.conteudo-md > .galeria,
.container.conteudo-md > .fundador,
.container.conteudo-md > table { max-width: 100%; }
.container.conteudo-md > .ficha-topo { max-width: 60rem; }
.conteudo-md td, .conteudo-md th { overflow-wrap: normal; }
.hub { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* Tabela no celular: rolagem visível, com sombra na borda que ainda tem conteúdo */
@media (max-width: 760px) {
  .conteudo-md table {
    font-size: .92rem;
    background:
      linear-gradient(to right, var(--papel) 30%, transparent) left / 24px 100% no-repeat local,
      linear-gradient(to left, var(--papel) 30%, transparent) right / 24px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgba(11,42,66,.18), transparent) left / 12px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgba(11,42,66,.18), transparent) right / 12px 100% no-repeat scroll;
  }
  .conteudo-md th, .conteudo-md td { min-width: 8.5rem; }
  .conteudo-md table.ficha th, .conteudo-md table.ficha td { min-width: 0; }
  .conteudo-md td.td-comp { min-width: 12rem; }
}

/* Menu móvel: ícone vira ✕, fundo escurece e o WhatsApp sai da frente */
@media (max-width: 1200px) {
  .menu-toggle:checked + .menu-botao { font-size: 0; }
  .menu-toggle:checked + .menu-botao::after { content: "✕"; font-size: 1.5rem; }
  .menu { box-shadow: 0 0 0 100vmax rgba(11, 42, 66, .35), var(--sombra); }
  body:has(.menu-toggle:checked) .whatsapp-flutuante { display: none; }
}

/* WhatsApp no celular: menor e com reserva de espaço no fim da página */
@media (max-width: 700px) {
  .whatsapp-flutuante { width: 52px; height: 52px; right: .9rem; bottom: .9rem; }
  .rodape { padding-bottom: 5.5rem; }
}
.hub-grupo .hub-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--papel-2); border-radius: 8px; margin: 0 0 1rem; }
.container.conteudo-md > .ga-esquema-pagina { max-width: 340px; }

/* Imagens de corpo restauradas do WordPress */
.conteudo-md .post-figura { margin: 1.8rem 0; }
.conteudo-md .post-figura img { margin: 0; width: 100%; height: auto; max-height: 560px; object-fit: contain; background: var(--papel-2); border-radius: var(--raio); }
.conteudo-md .post-figura figcaption { font-size: .92rem; color: var(--apoio); margin-top: .5rem; }

/* MENU: destaque de "Para profissionais" e botão de modo escuro */
.menu a.menu-pro { color: var(--azul); border: 2px solid var(--azul); padding: .4rem .85rem; border-radius: var(--raio); font-weight: 700; }
.menu a.menu-pro:hover { background: var(--azul); color: #fff; }
.menu-tema { display: inline-flex; align-items: center; gap: .5rem; min-width: 44px; min-height: 44px; justify-content: center; padding: 0; border: 1px solid var(--linha); border-radius: 50%; background: transparent; color: var(--texto); cursor: pointer; font: inherit; font-weight: 550; }
.menu-tema svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.menu-tema .sol, html[data-tema="escuro"] .menu-tema .lua { display: none; }
html[data-tema="escuro"] .menu-tema .sol { display: block; }
.menu-tema-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.menu-tema:hover { color: var(--azul); border-color: var(--azul); }
@media (min-width: 1201px) { .menu a { white-space: nowrap; } }
@media (max-width: 1400px) and (min-width: 1201px) { .topo-inner { gap: 1rem; } .menu { gap: .95rem; } .menu a { font-size: .93rem; } .menu a.menu-pro, .menu a.menu-cta { padding: .45rem .7rem; } }
@media (max-width: 1200px) and (min-width: 1201px) { .menu { gap: .7rem; } .menu a { font-size: .88rem; } }
@media (max-width: 1200px) {
  .menu a.menu-pro { margin-top: .8rem; text-align: center; padding: .7rem 1rem; }
  .menu-tema { border-radius: var(--raio); justify-content: flex-start; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--papel-2); border-radius: 0; font-size: 1.1rem; order: -1; }
  .menu-tema-texto { position: static; width: auto; height: auto; clip: auto; }
}

/* MODO ESCURO: escolha no menu, guardada no navegador; sem escolha, segue o celular.
   --noite é cor de título no claro e fundo das faixas escuras: no escuro vira texto
   claro, e as faixas que a usam como fundo ganham um azul-noite fixo. */
html[data-tema="escuro"] {
  --papel: #0F1A23; --papel-2: #1B2A36; --branco: #152430;
  --texto: #E6ECF2; --apoio: #AEBBC8; --linha: #2C3D4D;
  --noite: #F1F5F9; --azul: #5AB2EE; --azul-escuro: #8CCBF5;
  --turquesa-claro: #12353B;
  --sombra: 0 10px 30px -18px rgba(0, 0, 0, .7);
  color-scheme: dark;
}
html[data-tema="escuro"] body { background: var(--papel); }
html[data-tema="escuro"] .secao-noite, html[data-tema="escuro"] .rodape, html[data-tema="escuro"] .pular-conteudo { background: #081119; }
html[data-tema="escuro"] .processo li::before { background: #0F6BAA; color: #fff; }
html[data-tema="escuro"] .botao, html[data-tema="escuro"] .menu a.menu-cta { background: #0F6BAA; color: #fff; }
html[data-tema="escuro"] .botao:hover, html[data-tema="escuro"] .menu a.menu-cta:hover { background: #1B7FC4; color: #fff; }
html[data-tema="escuro"] .botao-borda { background: transparent; color: var(--azul); }
html[data-tema="escuro"] .botao-borda:hover { background: #0F6BAA; color: #fff; }
html[data-tema="escuro"] .chamada { background: #0F4F7D; }
html[data-tema="escuro"] .chamada .botao-borda { color: #fff; }
html[data-tema="escuro"] .chamada .botao-claro, html[data-tema="escuro"] .chamada .botao-claro:hover { background: #fff; color: #0F4F7D; }
html[data-tema="escuro"] .menu a.menu-pro:hover { background: #0F6BAA; border-color: #0F6BAA; }
html[data-tema="escuro"] .logo img { filter: brightness(1.75) saturate(.85); }
html[data-tema="escuro"] .ga-esquema .osso { fill: #22394A; stroke: #7FA3BD; }
html[data-tema="escuro"] .ga-esquema .junta { fill: #2C4658; stroke: #7FA3BD; }
html[data-tema="escuro"] .ga-esquema .dedo { stroke: #7FA3BD; }
@media (max-width: 1200px) { html[data-tema="escuro"] .menu { box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .55), var(--sombra); } }
html[data-tema="escuro"] img:not(.logo img) { filter: brightness(.92); }

/* HOME: os dois caminhos em destaque (profissionais e app) e chamada do app no guia */
.h-duo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.h-duo-cad { border-top: 5px solid var(--turquesa); }
.h-duo-card { display: flex; flex-direction: column; gap: .2rem; padding: clamp(1.6rem, 4vw, 2.4rem); border-radius: var(--raio); text-decoration: none; color: var(--texto); background: var(--branco); border: 1px solid var(--linha); box-shadow: var(--sombra); transition: transform .2s var(--ease), border-color .2s; }
.h-duo-card:hover { transform: translateY(-3px); border-color: var(--azul); color: var(--texto); }
.h-duo-card .rotulo { font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--azul); }
.h-duo-card h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: .3rem 0 .5rem; }
.h-duo-card p { color: var(--apoio); margin: 0 0 1.2rem; }
.h-duo-acao { margin-top: auto; align-self: flex-start; font-weight: 700; background: var(--azul); color: #fff; padding: .7rem 1.2rem; border-radius: var(--raio); }
.h-duo-pro { border-top: 5px solid var(--azul); }
.h-duo-app { border-top: 5px solid var(--ambar); background: linear-gradient(160deg, var(--branco) 55%, color-mix(in srgb, var(--ambar) 12%, var(--branco))); }
.h-duo-app .h-duo-acao { background: var(--ambar); color: #231400; }
html[data-tema="escuro"] .h-duo-pro .h-duo-acao { background: #0F6BAA; }
@media (max-width: 980px) { .h-duo { grid-template-columns: 1fr; } }
.app-cta { display: flex; align-items: center; gap: 1.25rem; background: color-mix(in srgb, var(--ambar) 13%, var(--branco)); border: 1px solid color-mix(in srgb, var(--ambar) 40%, transparent); border-left: 5px solid var(--ambar); border-radius: var(--raio); padding: 1.2rem 1.4rem; margin: 1.5rem 0 2rem; }
.app-cta strong { font-family: var(--display); font-size: 1.2rem; color: var(--noite); }
.app-cta p { margin: .3rem 0 0; color: var(--apoio); font-size: 1rem; }
.app-cta .botao { flex: none; background: var(--ambar); color: #231400; border-color: var(--ambar); }
html[data-tema="escuro"] .app-cta .botao { background: var(--ambar); color: #231400; }
@media (max-width: 640px) { .app-cta { flex-direction: column; align-items: stretch; } .app-cta .botao { justify-content: center; } }

/* Logo maior no desktop: 46px de altura sumia ao lado do menu longo. */
@media (min-width: 1201px) {
  .topo-inner { height: 88px; }
  .logo img { height: 62px; }
}
.logo { flex: none; }
@media (min-width: 1201px) and (max-width: 1200px) { .logo img { height: 52px; } .menu { gap: .6rem; } .menu a { font-size: .84rem; } .menu-tema { min-width: 40px; min-height: 40px; } }
@media (min-width: 1201px) and (max-width: 1100px) { .topo-inner { gap: .6rem; } .menu { gap: .5rem; } .menu a.menu-pro, .menu a.menu-cta { padding: .4rem .55rem; } .logo img { height: 48px; } }

/* HOME: Histórias que inspiram (depoimentos em vídeo; o YouTube só carrega no clique) */
.secao-historias { background: color-mix(in srgb, var(--ambar) 12%, var(--papel)); }
.rotulo-secao { display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--azul); margin-bottom: .5rem; }
.hist { display: grid; grid-template-columns: 1.55fr 1fr; gap: 1.5rem; align-items: start; }
.hist-play, .hist-frame { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: var(--raio); overflow: hidden; background: #000; cursor: pointer; box-shadow: var(--sombra); }
.hist-play img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.hist-play:hover img { transform: scale(1.03); }
.hist-play-icone { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; border-radius: 50%; background: var(--ambar); color: #231400; display: grid; place-items: center; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); padding-left: 4px; }
.hist-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hist-legenda { margin: .8rem 0 0; color: var(--apoio); }
.hist-legenda strong { color: var(--noite); }
.hist-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.hist-card { display: block; text-decoration: none; color: var(--texto); border-radius: 10px; padding: .35rem; border: 2px solid transparent; transition: border-color .2s, background .2s; }
.hist-card:hover { background: var(--branco); color: var(--texto); }
.hist-card[aria-current] { border-color: var(--ambar); background: var(--branco); }
.hist-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 7px; }
.hist-card span { display: block; padding: .45rem .2rem .1rem; line-height: 1.25; }
.hist-card strong { display: block; font-size: .95rem; color: var(--noite); }
.hist-card small { display: block; font-size: .82rem; color: var(--apoio); }
.hist-mais { margin-top: 1.5rem; }
@media (max-width: 860px) { .hist { grid-template-columns: 1fr; } .hist-lista { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 560px) { .hist-lista { grid-template-columns: 1fr 1fr; } }
html[data-tema="escuro"] .secao-historias { background: #13202A; }

/* CATÁLOGO: especificações completas, dados por modelo e documentos do fabricante */
.tabela-rolagem { overflow-x: auto; margin: 1rem 0 2rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--branco); }
.ficha-modelos { border-collapse: collapse; font-size: .92rem; min-width: 100%; }
.ficha-modelos th, .ficha-modelos td { padding: .55rem .8rem; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.ficha-modelos th { position: sticky; left: 0; background: var(--papel-2); font-weight: 650; min-width: 12rem; max-width: 18rem; }
.ficha-modelos tr:first-child td { font-weight: 700; color: var(--noite); }
.conteudo-md ul.docs { list-style: none; padding: 0; display: grid; gap: .6rem; margin: .6rem 0 1.6rem; }
.conteudo-md ul.docs li { margin: 0; }
.doc-link { display: grid; grid-template-columns: 2.4rem 1fr; column-gap: .9rem; align-items: center; padding: .85rem 1rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--branco); text-decoration: none; color: var(--texto); transition: border-color .2s, transform .2s; }
.doc-link::before { content: "PDF"; grid-row: span 2; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 8px; background: color-mix(in srgb, var(--azul) 12%, var(--branco)); color: var(--azul); font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.doc-link:hover { border-color: var(--azul); color: var(--texto); transform: translateY(-1px); }
.doc-titulo { font-weight: 650; line-height: 1.3; }
.doc-meta { font-size: .85rem; color: var(--apoio); }

/* FABRICANTE: página rica (vídeos, números, tecnologias, linha do tempo) */
.conteudo-md .fab-videos { margin: 1.5rem 0 .5rem; grid-template-columns: 1fr; }
.conteudo-md .fab-videos .hist-lista { list-style: none; padding: 0; margin: 0; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.conteudo-md .fab-videos li { margin: 0; }
@media (max-width: 640px) { .conteudo-md .fab-videos .hist-lista { grid-template-columns: 1fr 1fr; } }
.fab-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem; margin: 2rem 0; }
.fab-numeros div { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.1rem 1.2rem; }
.fab-numeros dt { font-family: var(--display); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 750; color: var(--azul); line-height: 1.1; }
.fab-numeros dd { margin: .35rem 0 0; color: var(--apoio); font-size: .95rem; line-height: 1.35; }
.fonte-mini { font-size: .75rem; color: var(--apoio); white-space: nowrap; }
.fab-tec { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.fab-tec article { background: var(--branco); border: 1px solid var(--linha); border-top: 4px solid var(--azul); border-radius: var(--raio); padding: 1.2rem 1.3rem; }
.fab-tec h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.fab-tec p { margin: 0; font-size: 1rem; }
.conteudo-md ol.fab-tempo { list-style: none; padding: 0 0 0 1.4rem; margin: 1rem 0 2rem; border-left: 3px solid color-mix(in srgb, var(--azul) 35%, transparent); }
.conteudo-md ol.fab-tempo li { position: relative; margin: 0 0 1.2rem; padding-left: .6rem; }
.conteudo-md ol.fab-tempo li::before { content: ""; position: absolute; left: -1.95rem; top: .35rem; width: .9rem; height: .9rem; border-radius: 50%; background: var(--ambar); border: 3px solid var(--papel); }
.fab-ano { font-family: var(--display); font-weight: 750; font-size: 1.15rem; color: var(--azul); }
.conteudo-md ol.fab-tempo p { margin: .15rem 0 0; }
.conteudo-md ul.fab-links { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.conteudo-md ul.fab-links li { margin: 0; }
.fab-links a { display: inline-block; padding: .55rem 1rem; border: 1px solid var(--linha); border-radius: 999px; background: var(--branco); text-decoration: none; font-weight: 600; }
.fab-links a:hover { border-color: var(--azul); }

/* VITRINE: catálogo com cara de loja (cards, filtros, busca) */
.conteudo-md.conteudo-vitrine, .conteudo-md.conteudo-revista { max-width: none; }
.conteudo-vitrine > p, .conteudo-vitrine > h2, .conteudo-vitrine > ul:not(.vitrine-grade), .conteudo-revista > p, .conteudo-revista > h2, .conteudo-revista > h3, .conteudo-revista > ul, .conteudo-revista > ol { max-width: 46rem; }
.vitrine { margin: 2rem 0 3rem; }
.vf { position: sticky; top: 72px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; padding: .9rem 0; background: color-mix(in srgb, var(--papel) 94%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--linha); margin-bottom: 1.4rem; }
@media (min-width: 1201px) { .vf { top: 88px; } }
.vf-busca input { width: min(22rem, 100%); padding: .65rem 1rem; border: 1px solid var(--linha); border-radius: 999px; background: var(--branco); color: var(--texto); font: inherit; font-size: .95rem; }
.vf-busca input:focus { outline: 2px solid var(--azul); outline-offset: 1px; }
.vf-grupo { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.vf-rot { font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--apoio); margin-right: .2rem; }
.vf-chip { font: inherit; font-size: .88rem; font-weight: 600; padding: .38rem .8rem; border-radius: 999px; border: 1px solid var(--linha); background: var(--branco); color: var(--texto); cursor: pointer; min-height: 36px; }
.vf-chip:hover { border-color: var(--azul); }
.vf-chip[aria-pressed="true"] { background: var(--azul); border-color: var(--azul); color: #fff; }
html[data-tema="escuro"] .vf-chip[aria-pressed="true"] { background: #0F6BAA; }
.vf-total { margin: 0 0 0 auto; font-size: .9rem; color: var(--apoio); }
.vf-vazio { padding: 2rem 0; }
.vf-limpar { font: inherit; background: none; border: 0; color: var(--azul); text-decoration: underline; cursor: pointer; }
.conteudo-md ul.vitrine-grade { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.1rem; }
.conteudo-md ul.vitrine-grade li { margin: 0; }
.vp[hidden] { display: none; }
.vp a { display: flex; flex-direction: column; height: 100%; background: var(--branco); border: 1px solid var(--linha); border-radius: 16px; overflow: hidden; text-decoration: none; color: var(--texto); transition: transform .25s var(--ease), box-shadow .25s, border-color .2s; }
.vp a:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(11, 42, 66, .45); border-color: color-mix(in srgb, var(--azul) 45%, var(--linha)); color: var(--texto); }
.vp-foto { display: grid; place-items: center; aspect-ratio: 1; background: #fff; padding: 1rem; border-bottom: 1px solid var(--linha); }
.vp-foto img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s var(--ease); }
.vp a:hover .vp-foto img { transform: scale(1.05); }
.vp-semfoto { color: var(--apoio); font-size: .85rem; }
.vp-corpo { display: flex; flex-direction: column; gap: .35rem; padding: .95rem 1rem 1.05rem; flex: 1; }
.vp-marca { font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--azul); }
.vp-nome { font-family: var(--display); font-size: 1.08rem; line-height: 1.2; color: var(--noite); }
.vp-sub { font-size: .88rem; color: var(--apoio); line-height: 1.35; }
.vp-selos { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .2rem; }
.vp-selos i { font-style: normal; font-size: .75rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; background: var(--papel-2); color: var(--noite); }
.vp-selos i.vp-k { background: color-mix(in srgb, var(--azul) 14%, var(--branco)); color: var(--azul); }
.vp-selos i.vp-agua { background: color-mix(in srgb, var(--turquesa) 22%, var(--branco)); }
.vp-selos i.vp-docs { background: color-mix(in srgb, var(--ambar) 18%, var(--branco)); }
.vp-ver { margin-top: auto; padding-top: .6rem; font-weight: 700; font-size: .9rem; color: var(--azul); }
.vp-ver::after { content: " →"; }
.conteudo-md ul.fab-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.conteudo-md ul.fab-chips li { margin: 0; }
.fab-chips a { display: inline-block; padding: .5rem 1rem; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha); text-decoration: none; font-weight: 650; }
.fab-chips a:hover { border-color: var(--azul); }

/* REVISTA: abertura em tela cheia das páginas de fabricante */
.rv-hero { position: relative; min-height: min(92vh, 860px); display: flex; align-items: flex-end; overflow: hidden; background: #081119; color: #fff; margin-top: -1px; }
.rv-hero-fundo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .62; transform: scale(1.04); animation: rv-zoom 18s ease-out both; }
.rv-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8, 17, 25, .96) 8%, rgba(8, 17, 25, .55) 45%, rgba(8, 17, 25, .15)); }
@keyframes rv-zoom { from { transform: scale(1.12); } to { transform: scale(1.02); } }
@media (prefers-reduced-motion: reduce) { .rv-hero-fundo { animation: none; } }
.rv-hero-texto { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.rv-hero .trilha, .rv-hero .trilha a { color: rgba(255, 255, 255, .8); }
.rv-selo { display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); padding: .35rem .8rem; border-radius: 999px; margin: 1rem 0 .8rem; }
.rv-hero h1 { color: #fff; font-size: clamp(3rem, 9vw, 6.5rem); line-height: .95; letter-spacing: -.03em; margin: 0 0 1rem; }
.rv-lema { font-size: clamp(1.15rem, 2.2vw, 1.5rem); max-width: 44rem; color: rgba(255, 255, 255, .88); margin: 0 0 1.8rem; }
.rv-acoes { display: flex; flex-wrap: wrap; gap: .8rem; }
.rv-hero .botao { background: var(--ambar); border-color: var(--ambar); color: #231400; }
.rv-hero .botao:hover { background: #ffab2e; color: #231400; }
.rv-hero .rv-assistir { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }
.rv-hero .rv-assistir:hover { background: #fff; color: #081119; }
.rv-hero-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; max-width: 52rem; margin: 2.6rem 0 0; padding-top: 1.6rem; border-top: 1px solid rgba(255, 255, 255, .22); }
.rv-hero-numeros dt { font-family: var(--display); font-size: clamp(1.6rem, 3.6vw, 2.6rem); font-weight: 750; color: #fff; line-height: 1; }
.rv-hero-numeros dd { margin: .35rem 0 0; font-size: .9rem; color: rgba(255, 255, 255, .75); }
@media (max-width: 640px) { .rv-hero-numeros { grid-template-columns: 1fr; gap: .8rem; } .rv-hero { min-height: 88vh; } }
.conteudo-revista { padding-top: clamp(2.5rem, 5vw, 4rem); }
.conteudo-revista .fab-videos { max-width: 72rem; }
.conteudo-revista .fab-videos .hist-lista { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.conteudo-revista .fab-tec { max-width: 72rem; }
.conteudo-revista .fab-numeros { max-width: 72rem; }
.ficha-galeria { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-top: .5rem; } .ficha-galeria img { border: 1px solid var(--linha); border-radius: 8px; background: #fff; }
.conteudo-md.conteudo-vitrine > .vitrine, .conteudo-md.conteudo-revista > .vitrine, .conteudo-md.conteudo-revista > .fab-videos, .conteudo-md.conteudo-revista > .fab-tec, .conteudo-md.conteudo-revista > .fab-numeros { max-width: none; }
/* Menu com 11 itens: compacto em todo o desktop, porque o conteúdo tem largura máxima fixa. */
@media (min-width: 1201px) { .topo-inner { gap: .9rem; } .menu { gap: .72rem; } .menu a { font-size: .86rem; } .menu a.menu-pro, .menu a.menu-cta { padding: .45rem .7rem; } .logo img { height: 54px; } .menu-tema { min-width: 40px; min-height: 40px; } }

/* LOJA: /mobilidade/ como home de loja online */
.lj-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--turquesa) 16%, var(--papel)), var(--papel) 60%); padding: clamp(2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--linha); }
.lj-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.5rem; align-items: center; }
.lj-hero h1 { font-size: clamp(2.4rem, 5.5vw, 4.2rem); line-height: 1; letter-spacing: -.03em; margin: .6rem 0 1rem; }
.lj-selo { color: var(--azul); background: var(--branco); border-color: var(--linha); }
.lj-lema { font-size: clamp(1.05rem, 1.8vw, 1.25rem); color: var(--apoio); max-width: 36rem; margin: 0 0 1.4rem; }
.lj-busca { display: flex; gap: .5rem; max-width: 36rem; background: var(--branco); border: 1px solid var(--linha); border-radius: 999px; padding: .35rem; box-shadow: var(--sombra); }
.lj-busca input { flex: 1; border: 0; background: transparent; padding: .6rem 1rem; font: inherit; color: var(--texto); min-width: 0; }
.lj-busca input:focus { outline: none; }
.lj-busca .botao { border-radius: 999px; }
.lj-atalhos { list-style: none; padding: 0; margin: 1.1rem 0 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.lj-atalhos a { display: inline-block; padding: .4rem .85rem; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha); font-size: .9rem; font-weight: 600; text-decoration: none; color: var(--noite); }
.lj-atalhos a:hover { border-color: var(--azul); color: var(--azul); }
.lj-mosaico { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.lj-mosaico img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 14px; border: 1px solid var(--linha); padding: .6rem; box-shadow: var(--sombra); }
.lj-mosaico img:nth-child(2), .lj-mosaico img:nth-child(5) { transform: translateY(1.2rem); }
@media (max-width: 860px) { .lj-hero-grid { grid-template-columns: 1fr; } .lj-mosaico { grid-template-columns: repeat(3, 1fr); } .lj-mosaico img:nth-child(n+4) { display: none; } }
.lj-faixa { background: var(--noite); color: #E6ECF3; }
html[data-tema="escuro"] .lj-faixa { background: #081119; }
.lj-faixa-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; padding: 1.3rem 0; }
.lj-faixa strong { display: block; color: #fff; font-family: var(--display); font-size: 1rem; }
.lj-faixa span { font-size: .88rem; color: #B9C6D6; }
@media (max-width: 860px) { .lj-faixa-grid { grid-template-columns: 1fr 1fr; } }
.conteudo-md.conteudo-revista > .lj-cats, .conteudo-md.conteudo-revista > .lj-necs, .conteudo-md.conteudo-revista > .lj-marcas, .conteudo-md.conteudo-revista > .lj-loja, .conteudo-md.conteudo-revista > .lj-destaques, .conteudo-md.conteudo-revista > ul.vitrine-grade { max-width: none; }
.conteudo-md ul.lj-cats { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; margin: 1rem 0 2.5rem; }
.conteudo-md ul.lj-cats li, .conteudo-md ul.lj-necs li, .conteudo-md ul.lj-marcas li { margin: 0; }
.lj-cat { display: flex; flex-direction: column; height: 100%; background: var(--branco); border: 1px solid var(--linha); border-radius: 16px; overflow: hidden; text-decoration: none; color: var(--texto); transition: transform .25s var(--ease), box-shadow .25s, border-color .2s; }
.lj-cat:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(11, 42, 66, .45); border-color: var(--azul); color: var(--texto); }
.lj-cat-foto { display: block; aspect-ratio: 4 / 3; background: #fff; padding: .8rem; }
.lj-cat-foto img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s var(--ease); }
.lj-cat:hover .lj-cat-foto img { transform: scale(1.06); }
.lj-cat-txt { padding: .8rem 1rem 1rem; border-top: 1px solid var(--linha); }
.lj-cat-txt strong { display: block; font-family: var(--display); font-size: 1.05rem; color: var(--noite); line-height: 1.2; }
.lj-cat-txt small { color: var(--apoio); font-size: .85rem; }
.conteudo-md ul.lj-necs { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .9rem; margin: 1rem 0 2.5rem; }
.lj-nec { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.1rem 1.2rem; border-radius: 16px; background: linear-gradient(160deg, var(--branco), color-mix(in srgb, var(--turquesa) 10%, var(--branco))); border: 1px solid var(--linha); text-decoration: none; color: var(--texto); transition: border-color .2s, transform .2s; }
.lj-nec:hover { border-color: var(--azul); transform: translateY(-2px); color: var(--texto); }
.lj-nec strong { font-family: var(--display); font-size: 1.15rem; color: var(--noite); }
.lj-nec span { font-size: .92rem; color: var(--apoio); }
.lj-nec em { margin-top: auto; padding-top: .4rem; font-style: normal; font-weight: 700; font-size: .88rem; color: var(--azul); }
.lj-nec em::after { content: " →"; }
.conteudo-md ul.lj-marcas { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; margin: 1rem 0 2.5rem; }
.lj-marcas a { display: flex; flex-direction: column; padding: .8rem 1rem; border-radius: 12px; background: var(--branco); border: 1px solid var(--linha); text-decoration: none; color: var(--noite); }
.lj-marcas a:hover { border-color: var(--azul); }
.lj-marcas strong { font-family: var(--display); }
.lj-marcas span { font-size: .82rem; color: var(--apoio); }
.lj-loja { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem; align-items: center; margin: 1rem 0 3rem; padding: clamp(1.2rem, 3vw, 2rem); background: var(--branco); border: 1px solid var(--linha); border-radius: 20px; }
.lj-loja-fotos { display: grid; grid-template-columns: 1.4fr 1fr; gap: .6rem; }
.lj-loja-fotos img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; border-radius: 14px; }
.lj-loja h2 { margin-top: .2rem; }
.lj-unidade { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 0; border-top: 1px solid var(--linha); font-size: .95rem; }
.lj-unidade strong { font-family: var(--display); color: var(--noite); }
.lj-unidade span { color: var(--apoio); }
.lj-unidade-acoes a { font-weight: 700; margin-right: 1rem; }
@media (max-width: 860px) { .lj-loja { grid-template-columns: 1fr; } }
/* vitrine: barra de busca, ordenação e filtros recolhíveis */
.vf { display: block; }
.vf-topo { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; }
.vf-ordem select { padding: .6rem .9rem; border-radius: 999px; border: 1px solid var(--linha); background: var(--branco); color: var(--texto); font: inherit; font-size: .92rem; }
.vf-mais { margin-top: .6rem; }
.vf-mais summary { cursor: pointer; font-weight: 700; font-size: .9rem; color: var(--azul); list-style: none; }
.vf-mais summary::-webkit-details-marker { display: none; }
.vf-mais summary::before { content: "⚙ "; }
.vf-grupos { display: flex; flex-direction: column; gap: .5rem; margin-top: .5rem; }
.vf-rot { flex: none; white-space: nowrap; }
/* grupo com muitas opções: quebra em linhas no desktop; rolagem lateral só no celular */
@media (max-width: 700px) {
  .vf-grupo-longo { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; scrollbar-width: none; }
  .vf-grupo-longo::-webkit-scrollbar { display: none; }
  .vf-grupo-longo .vf-chip { flex: none; }
}
.vp-selos i.vp-dobra { background: color-mix(in srgb, var(--turquesa) 22%, var(--branco)); }
@media (max-width: 700px) { .vf { position: static; } .vf-mais:not([open]) + * { } }

/* TABELAS NO CELULAR: linhas viram cartões (script no base.html marca .tab-cards e cria .modelos-cards) */
.modelos-cards { display: none; }
@media (max-width: 760px) {
  .conteudo-md table.tab-cards { display: block; background: none; font-size: .98rem; }
  .conteudo-md table.tab-cards thead { display: none; }
  .conteudo-md table.tab-cards tbody { display: grid; gap: .8rem; }
  .conteudo-md table.tab-cards tr { display: block; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: .35rem 1rem; }
  .conteudo-md table.tab-cards td { display: grid; grid-template-columns: minmax(6.5rem, 40%) 1fr; gap: .8rem; min-width: 0; padding: .55rem 0; border: 0; border-top: 1px solid var(--linha); white-space: normal; text-align: left; }
  .conteudo-md table.tab-cards td::before { content: attr(data-rot); color: var(--apoio); font-size: .85rem; font-weight: 600; }
  .conteudo-md table.tab-cards td:first-child { display: block; border-top: 0; font-family: var(--display); font-weight: 700; font-size: 1.05rem; color: var(--noite); }
  .conteudo-md table.tab-cards td:first-child::before { content: none; }
  .conteudo-md table.tab-cards td:empty { display: none; }
  .so-desktop { display: none !important; }
  .modelos-cards { display: grid; gap: .8rem; margin: 1rem 0 2rem; }
  .modelos-cards dl { margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: .35rem 1rem; }
  .modelos-cards dl > div { display: grid; grid-template-columns: minmax(6.5rem, 45%) 1fr; gap: .8rem; padding: .5rem 0; border-top: 1px solid var(--linha); font-size: .95rem; }
  .modelos-cards dt { color: var(--apoio); font-size: .85rem; font-weight: 600; }
  .modelos-cards dd { margin: 0; font-weight: 600; color: var(--noite); }
  .modelos-cards .mc-tit { border-top: 0; }
  .modelos-cards .mc-tit dd { font-family: var(--display); font-size: 1.05rem; font-weight: 700; }
}

/* VITRINE NO COMPUTADOR: filtros numa coluna lateral fixa, produtos ocupando o resto */
.vf-lado .vf-mais { margin: 0 0 .8rem; }
@media (min-width: 1000px) {
  .vitrine-corpo { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 2rem; align-items: start; }
  .vf-lado { position: sticky; top: 104px; max-height: calc(100vh - 124px); overflow-y: auto; scrollbar-width: thin; padding: 1rem 1rem 1rem 0; border-right: 1px solid var(--linha); }
  .vf-lado .vf-mais summary { pointer-events: none; font-family: var(--display); font-size: 1.05rem; color: var(--noite); margin-bottom: .4rem; }
  .vf-lado .vf-mais summary::before { content: none; }
  .vf-lado .vf-grupos { gap: 1.3rem; }
  .vf-lado .vf-grupo, .vf-lado .vf-grupo-longo { flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: .1rem; overflow: visible; }
  .vf-lado .vf-rot { margin: 0 0 .35rem; padding-bottom: .35rem; border-bottom: 1px solid var(--linha); }
  .vf-lado .vf-chip { text-align: left; border: 0; border-radius: 8px; background: none; min-height: 34px; padding: .35rem .6rem; font-weight: 500; }
  .vf-lado .vf-chip:hover { background: color-mix(in srgb, var(--azul) 8%, transparent); }
  .vf-lado .vf-chip[aria-pressed="true"] { background: color-mix(in srgb, var(--azul) 14%, transparent); color: var(--azul); font-weight: 700; }
  html[data-tema="escuro"] .vf-lado .vf-chip[aria-pressed="true"] { color: #7CC4F5; }
  .vf-principal .vf { position: static; padding: 0 0 1rem; margin-bottom: 1.2rem; background: none; backdrop-filter: none; }
  .conteudo-md .vf-principal ul.vitrine-grade { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}

/* GALERIA DO PRODUTO: desliza com o dedo, setas e miniaturas; toque abre em tela cheia com zoom */
.container.conteudo-md > .ficha-topo { max-width: 76rem; }
.conteudo-md .ficha-topo { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.4rem; }
.galeria-prod { margin: 0; position: sticky; top: 100px; min-width: 0; }
.gp-janela { position: relative; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.gp-palco { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.gp-palco::-webkit-scrollbar { display: none; }
.gp-slide { flex: 0 0 100%; scroll-snap-align: center; border: 0; padding: 0; margin: 0; background: #fff; cursor: zoom-in; }
.conteudo-md .gp-slide img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; margin: 0; border-radius: 0; padding: 4%; }
.gp-seta { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); background: color-mix(in srgb, #fff 92%, transparent); color: var(--noite); font-size: 1.7rem; line-height: 1; display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 10px rgba(11,42,66,.12); }
.gp-ant { left: .7rem; }
.gp-prox { right: .7rem; }
.gp-seta:hover { border-color: var(--azul); color: var(--azul); }
.gp-cont { position: absolute; left: .8rem; bottom: .8rem; background: rgba(11,42,66,.78); color: #fff; font-size: .8rem; font-weight: 700; padding: .2rem .6rem; border-radius: 999px; }
.gp-lupa { position: absolute; right: .8rem; bottom: .8rem; background: rgba(255,255,255,.9); color: #0B2A42; font-size: .78rem; font-weight: 700; padding: .25rem .65rem; border-radius: 999px; border: 1px solid #ddd; pointer-events: none; }
.gp-minis { display: flex; gap: .5rem; overflow-x: auto; padding: .6rem 0 .2rem; scrollbar-width: thin; }
.gp-mini { flex: 0 0 68px; height: 68px; padding: 3px; border: 2px solid var(--linha); border-radius: 10px; background: #fff; cursor: pointer; }
.conteudo-md .gp-mini img { width: 100%; height: 100%; object-fit: contain; margin: 0; border-radius: 6px; }
.gp-mini[aria-current="true"] { border-color: var(--azul); }
.galeria-prod figcaption { font-size: .82rem; color: var(--apoio); margin-top: .4rem; }
@media (max-width: 860px) {
  .conteudo-md .ficha-topo { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .galeria-prod { position: static; margin: 0 calc(50% - 50vw); }
  .gp-janela { border-radius: 0; border-left: 0; border-right: 0; }
  .galeria-prod .gp-seta { display: none; }
  .gp-minis, .galeria-prod figcaption { padding-left: 16px; padding-right: 16px; }
}
/* tela cheia */
.gp-lb { position: fixed; inset: 0; z-index: 1000; background: #0b1620; display: none; flex-direction: column; }
.gp-lb[open] { display: flex; }
.gp-lb-topo { display: flex; align-items: center; justify-content: space-between; padding: .6rem 1rem; color: #fff; font-weight: 700; }
.gp-lb-fechar { width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; font-size: 1.6rem; cursor: pointer; }
.gp-lb-palco { flex: 1; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gp-lb-palco::-webkit-scrollbar { display: none; }
.gp-lb-item { flex: 0 0 100%; scroll-snap-align: center; overflow: auto; display: grid; place-items: center; background: #fff; }
.gp-lb-item img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; cursor: zoom-in; }
.gp-lb-item.zoom { place-items: start; }
.gp-lb-item.zoom img { max-width: none; max-height: none; width: 220%; cursor: zoom-out; }
.gp-lb-dica { color: rgba(255,255,255,.75); text-align: center; font-size: .85rem; padding: .5rem; margin: 0; }
@media (max-width: 860px) { .gp-lb .gp-seta { display: none; } }

/* HISTÓRIAS: sem vazio sob o vídeo. Largo: lista rolável da altura do vídeo. Estreito: faixa que desliza */
.hist { align-items: stretch; }
.hist-lista { scrollbar-width: thin; }
@media (min-width: 1001px) {
  .hist { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); }
  .hist-lista { grid-template-columns: 1fr; gap: .4rem; height: 0; min-height: 100%; overflow-y: auto; align-content: start; padding-right: .3rem; }
  .hist-card { display: grid; grid-template-columns: 132px 1fr; gap: .7rem; align-items: center; }
  .hist-card span { padding: 0; }
}
@media (max-width: 1000px) {
  .hist { grid-template-columns: 1fr; }
  .hist-lista { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .8rem; padding-bottom: .5rem; }
  .hist-lista > li { flex: 0 0 min(240px, 62vw); scroll-snap-align: start; }
}

/* VÍDEOS: todo vídeo toca na própria página. Cartão com capa grande e play; vertical (short) em formato de celular */
.conteudo-md .video-link { position: relative; display: block; max-width: 46rem; margin: 1.4rem 0; padding: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; text-decoration: none; color: var(--texto); box-shadow: var(--sombra); transition: border-color .2s, transform .2s; }
.conteudo-md .video-link:hover { border-color: var(--azul); color: var(--texto); }
.conteudo-md .video-link:active { transform: scale(.99); }
.conteudo-md .video-link img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: 0; border-radius: 0; background: #000; }
.conteudo-md .video-link::after { content: ""; position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 16 / 9; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Ccircle cx='36' cy='36' r='36' fill='%23F39200'/%3E%3Cpath d='M29 22v28l22-14z' fill='%23231400'/%3E%3C/svg%3E") center / 72px no-repeat; filter: drop-shadow(0 8px 18px rgba(0,0,0,.45)); pointer-events: none; }
.conteudo-md .video-link > span { display: block; padding: .8rem 1rem .9rem; font-weight: 650; font-size: 1rem; line-height: 1.35; }
.conteudo-md .video-link > span::before { content: none; }
.conteudo-md .video-link[data-formato="v"] { max-width: 15.5rem; }
.conteudo-md .video-link[data-formato="v"] img { aspect-ratio: 9 / 16; }
.conteudo-md .video-link[data-formato="v"]::after { aspect-ratio: 9 / 16; }
/* depois do toque: o player ocupa o lugar da capa */
.video-inline { position: relative; max-width: 46rem; margin: 1.4rem 0; border-radius: var(--raio); overflow: hidden; background: #000; box-shadow: var(--sombra); }
.video-inline.vert { max-width: 15.5rem; }
.video-inline .vi-tela { position: relative; aspect-ratio: 16 / 9; }
.video-inline.vert .vi-tela { aspect-ratio: 9 / 16; }
.video-inline iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-inline p { margin: 0; padding: .8rem 1rem .9rem; background: var(--branco); color: var(--texto); font-weight: 650; }
/* vários vídeos seguidos: grade */
.conteudo-md .videos-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; align-items: start; margin: 1.2rem 0 2rem; }
.container.conteudo-md > .videos-grade { max-width: 76rem; }
.conteudo-md .videos-grade .video-link, .conteudo-md .videos-grade .video-inline { margin: 0; max-width: none; }
.conteudo-md .videos-grade .video-link[data-formato="v"]::after { aspect-ratio: 9 / 16; }
.conteudo-md .videos-grade:has(> [data-formato="v"]) { grid-template-columns: repeat(auto-fill, 15.5rem); }
@media (max-width: 600px) { .conteudo-md .videos-grade:has(> [data-formato="v"]) { grid-template-columns: 1fr 1fr; gap: .7rem; } }
.conteudo-md .videos-grade:has(> :only-child) { display: block; }
.conteudo-md .videos-sub { margin: 1.6rem 0 .2rem; font-size: .9rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--apoio); }
.conteudo-md .lead { font-size: 1.2rem; line-height: 1.5; max-width: 44rem; }
.conteudo-md .videos-grade > :only-child:not([data-formato="v"]) { max-width: 46rem; }
.conteudo-md .videos-grade > [data-formato="v"]:only-child { max-width: 15.5rem; }
.conteudo-md .video-inline iframe { margin: 0; max-width: none; aspect-ratio: auto; height: 100%; border-radius: 0; background: #000; }
.conteudo-md .video-inline p { font-size: 1rem; line-height: 1.35; }
/* vertical sozinho no computador: fica ao lado do texto, como numa revista */
@media (min-width: 1000px) {
  .container.conteudo-md > .video-link[data-formato="v"], .container.conteudo-md > p:has(> .video-link[data-formato="v"]:only-child), .container.conteudo-md > .video-inline.vert,
  .container.conteudo-md > .videos-grade:has(> [data-formato="v"]:only-child) { float: right; clear: right; width: 15.5rem; margin: .4rem 0 1.5rem 2.5rem; }
  .container.conteudo-md > p:has(> .video-link[data-formato="v"]:only-child) > .video-link { margin: 0; }
  .container.conteudo-md > h2 { clear: none; }
  .container.conteudo-md::after { content: ""; display: block; clear: both; }
}
/* vertical sozinho no celular e tablet: centralizado e maior */
@media (max-width: 999px) {
  .conteudo-md .video-link[data-formato="v"]:not(.videos-grade > *), .conteudo-md .video-inline.vert:not(.videos-grade > *) { max-width: min(100%, 21rem); margin-left: auto; margin-right: auto; }
  .conteudo-md .videos-grade:has(> [data-formato="v"]:only-child) > * { max-width: min(100%, 21rem); margin: 0 auto; }
}
/* galeria de vídeos: short toca em pé, centralizado na área do player */
.hist-frame.vert { aspect-ratio: 9 / 16; width: min(100%, calc(min(78vh, 680px) * 9 / 16)); margin: 0 auto; }
/* galerias de vídeo dos fabricantes: lista em grade normal (a coluna rolável é só da home) */
@media (min-width: 1001px) {
  .fab-videos .hist-lista { height: auto; min-height: 0; overflow: visible; padding-right: 0; gap: .8rem; }
  .conteudo-revista .fab-videos .hist-lista, .conteudo-md .fab-videos .hist-lista { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .fab-videos .hist-card { display: block; }
  .fab-videos .hist-card span { padding: .45rem .2rem .1rem; }
}

/* TEMA: interruptor sol/lua no topo, sem texto; o lado ativo ganha a "bolinha" */
.tema-switch { position: relative; display: inline-flex; align-items: center; flex: none; width: 76px; height: 40px; padding: 3px; border: 1px solid var(--linha); border-radius: 999px; background: var(--papel-2); cursor: pointer; order: 5; transition: border-color .2s, background .3s; }
.tema-switch::before { content: ""; position: absolute; top: 3px; left: 3px; width: 34px; height: 32px; border-radius: 999px; background: var(--ambar); box-shadow: 0 2px 8px rgba(243,146,0,.45); transition: transform .3s cubic-bezier(.16,1,.3,1), background .3s; }
.ts-op { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 32px; color: var(--apoio); transition: color .3s; }
.ts-op svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ts-sol { color: #231400; }
.ts-sol svg circle { fill: currentColor; }
.tema-switch:hover { border-color: var(--azul); }
.tema-switch:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
html[data-tema="escuro"] .tema-switch { background: #0E1C27; border-color: #2A3B48; }
html[data-tema="escuro"] .tema-switch::before { transform: translateX(34px); background: #3E8FD6; box-shadow: 0 2px 10px rgba(62,143,214,.5); }
html[data-tema="escuro"] .ts-sol { color: #7D8C98; }
html[data-tema="escuro"] .ts-sol svg circle { fill: none; }
html[data-tema="escuro"] .ts-lua { color: #fff; }
html[data-tema="escuro"] .ts-lua svg path { fill: currentColor; }
@media (max-width: 1200px) {
  .tema-switch { order: 0; margin-left: auto; margin-right: -.6rem; }
}
@media (prefers-reduced-motion: reduce) { .tema-switch::before { transition: none; } }
/* ilustração da área de profissionais: mostra a cena inteira, sem cortar cabeças e pés */
.pagina-capa img[src*="profissionais-equipe-reabilitacao"] { aspect-ratio: 16 / 9; }

/* LINHA INFANTIL: página lúdica, cores vivas por seção, formas arredondadas */
.inf-hero { position: relative; overflow: hidden; padding: clamp(1.5rem, 4vw, 3rem) 0 1.5rem; background: radial-gradient(circle at 12% 18%, #FFE7A3 0 9rem, transparent 9.1rem), radial-gradient(circle at 92% 8%, #C9F0EE 0 7rem, transparent 7.1rem), #FFF8EC; }
.inf-hero-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.inf-selo { display: inline-block; margin: .6rem 0 .8rem; padding: .35rem .9rem; border-radius: 999px; background: #FF7A7A; color: #fff; font-weight: 800; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-2deg); }
.inf-hero h1 { font-size: clamp(2.2rem, 5.4vw, 4rem); line-height: 1.02; margin: 0 0 1rem; color: #0B2A42; }
.inf-c1 { color: #F39200; } .inf-c2 { color: #1FA5A8; } .inf-c3 { color: #E2557B; }
.inf-sub { font-size: 1.15rem; color: #3A4B58; max-width: 34rem; }
.inf-acoes { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.3rem; }
.inf-hero-arte { margin: 0; }
.inf-hero-arte img { width: 100%; height: auto; border-radius: 2.2rem 2.2rem 2.2rem .6rem; box-shadow: 0 18px 40px -18px rgba(11,42,66,.35); transform: rotate(1deg); }
.inf-nav { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.8rem; }
.inf-pilula { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .95rem; border-radius: 999px; font-weight: 750; text-decoration: none; color: #0B2A42; border: 2px solid rgba(11,42,66,.12); transition: transform .2s; }
.inf-pilula b { display: grid; place-items: center; min-width: 1.7rem; height: 1.7rem; padding: 0 .4rem; border-radius: 999px; background: #fff; font-size: .82rem; }
.inf-pilula:hover { transform: translateY(-2px) rotate(-1deg); color: #0B2A42; }
.inf-secao { padding: clamp(2.2rem, 5vw, 3.6rem) 0; position: relative; }
.inf-secao h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); margin-top: 0; }
.inf-lead { font-size: 1.1rem; max-width: 40rem; }
.inf-secao .vp { border-radius: 1.4rem; border-width: 2px; }
.inf-secao .vp:hover { transform: translateY(-4px) rotate(-.5deg); }
.inf-laranja { background: #FFE9CC; } .inf-turquesa { background: #D6F3F1; } .inf-rosa { background: #FFE1E6; }
.inf-azul { background: #DDEBFB; } .inf-amarelo { background: #FFF2BF; } .inf-verde { background: #E2F4DA; } .inf-creme { background: #FFF8EC; }
.inf-secao.inf-laranja h2 { color: #B86A00; } .inf-secao.inf-turquesa h2 { color: #0E7C7E; } .inf-secao.inf-rosa h2 { color: #B83A5C; }
.inf-secao.inf-azul h2 { color: #1D5FA8; } .inf-secao.inf-amarelo h2 { color: #8A6A00; } .inf-secao.inf-verde h2 { color: #3E7A2A; }
.inf-secao::before { content: ""; position: absolute; top: -18px; left: 0; right: 0; height: 36px; background: inherit; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
@media (max-width: 860px) { .inf-hero-grade { grid-template-columns: 1fr; } .inf-hero-arte { order: -1; } .inf-hero-arte img { transform: none; } }
html[data-tema="escuro"] .inf-hero { background: radial-gradient(circle at 12% 18%, rgba(243,146,0,.16) 0 9rem, transparent 9.1rem), radial-gradient(circle at 92% 8%, rgba(31,165,168,.18) 0 7rem, transparent 7.1rem), #13202A; }
html[data-tema="escuro"] .inf-hero h1 { color: #F2F5F7; }
html[data-tema="escuro"] .inf-sub { color: #B9C6CF; }
html[data-tema="escuro"] .inf-pilula { color: #F2F5F7; border-color: rgba(255,255,255,.18); }
html[data-tema="escuro"] .inf-pilula b { background: rgba(255,255,255,.12); }
html[data-tema="escuro"] .inf-laranja { background: #2A1F12; } html[data-tema="escuro"] .inf-turquesa { background: #10282A; }
html[data-tema="escuro"] .inf-rosa { background: #2B171D; } html[data-tema="escuro"] .inf-azul { background: #12213A; }
html[data-tema="escuro"] .inf-amarelo { background: #29240F; } html[data-tema="escuro"] .inf-verde { background: #15241A; } html[data-tema="escuro"] .inf-creme { background: #13202A; }
html[data-tema="escuro"] .inf-secao h2 { color: #F2F5F7 !important; }
@media (max-width: 999px) { .vf-lado .vf-grupo { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; scrollbar-width: none; } .vf-lado .vf-grupo::-webkit-scrollbar { display: none; } .vf-lado .vf-grupo .vf-chip { flex: none; } }

/* LINHA INFANTIL no menu e na home */
.menu a.menu-inf { color: #D8466C; font-weight: 750; }
.menu a.menu-inf::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem; border-radius: 50%; background: linear-gradient(135deg, #F39200, #1FA5A8 55%, #E2557B); vertical-align: middle; }
html[data-tema="escuro"] .menu a.menu-inf { color: #FF8FAB; }
.h-inf { background: radial-gradient(circle at 8% 20%, #FFE7A3 0 8rem, transparent 8.1rem), radial-gradient(circle at 95% 85%, #FFD3DC 0 7rem, transparent 7.1rem), #FFF8EC; }
.h-inf-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.h-inf-arte img { width: 100%; height: auto; display: block; border-radius: 2rem 2rem 2rem .6rem; box-shadow: 0 18px 40px -18px rgba(11,42,66,.35); transform: rotate(-1deg); transition: transform .3s; }
.h-inf-arte:hover img { transform: rotate(0) scale(1.01); }
.h-inf-selo { display: inline-block; padding: .35rem .9rem; border-radius: 999px; background: #FF7A7A; color: #fff; font-weight: 800; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-2deg); }
.h-inf h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.05; margin: .8rem 0; color: #0B2A42; }
.h-inf p { color: #3A4B58; font-size: 1.1rem; }
.h-inf-chips { list-style: none; padding: 0; margin: 1rem 0 1.4rem; display: flex; flex-wrap: wrap; gap: .45rem; }
.h-inf-chips li { padding: .35rem .8rem; border-radius: 999px; font-weight: 700; font-size: .9rem; color: #0B2A42; }
.h-inf-chips li:nth-child(1) { background: #FFE9CC; } .h-inf-chips li:nth-child(2) { background: #D6F3F1; } .h-inf-chips li:nth-child(3) { background: #FFE1E6; }
.h-inf-chips li:nth-child(4) { background: #DDEBFB; } .h-inf-chips li:nth-child(5) { background: #FFF2BF; } .h-inf-chips li:nth-child(6) { background: #E2F4DA; }
@media (max-width: 860px) { .h-inf-grade { grid-template-columns: 1fr; } .h-inf-arte img { transform: none; } }
html[data-tema="escuro"] .h-inf { background: radial-gradient(circle at 8% 20%, rgba(243,146,0,.15) 0 8rem, transparent 8.1rem), radial-gradient(circle at 95% 85%, rgba(226,85,123,.16) 0 7rem, transparent 7.1rem), #13202A; }
html[data-tema="escuro"] .h-inf h2 { color: #F2F5F7; } html[data-tema="escuro"] .h-inf p { color: #B9C6CF; }

/* "Quem atende você": as duas fotos com a mesma proporção, alinhadas */
.h-equipe { align-items: center; }
.h-equipe-a img, .h-equipe-b img { aspect-ratio: 3 / 4; }
.h-equipe-b { transform: none; }
/* menu com a linha infantil: topo mais largo em telas grandes; em telas médias, Unidades e Dúvidas saem da barra (seguem no rodapé e no Sobre) */
@media (min-width: 1201px) {
  .topo > .container.topo-inner { width: min(1400px, 100% - 2.5rem); }
}
@media (min-width: 1201px) and (max-width: 1499px) {
  .menu a[href="/unidades/"], .menu a[href="/faq/"] { display: none; }
}
@media (min-width: 1201px) and (max-width: 1299px) { .topo-inner { gap: .6rem; } .menu { gap: .55rem; } .menu a { font-size: .82rem; } .logo img { height: 48px; } }

/* HOME: caminhos em faixas ilustradas (profissionais, app, cadeiras), no padrão da linha infantil */
.h-faixa { padding: clamp(2.6rem, 6vw, 4.5rem) 0; position: relative; overflow: hidden; }
.h-faixa-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3.2rem); align-items: center; }
.h-faixa-app .h-faixa-grade { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.h-faixa-selo { display: inline-block; padding: .35rem .9rem; border-radius: 999px; color: #fff; font-weight: 800; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-2deg); }
.h-faixa h2 { font-size: clamp(2rem, 4.2vw, 3.1rem); line-height: 1.05; margin: .8rem 0; color: #0B2A42; }
.h-faixa p { color: #3A4B58; font-size: 1.1rem; max-width: 34rem; }
.h-faixa-chips { list-style: none; padding: 0; margin: 1rem 0 1.4rem; display: flex; flex-wrap: wrap; gap: .45rem; }
.h-faixa-chips li { padding: .35rem .8rem; border-radius: 999px; font-weight: 700; font-size: .9rem; color: #0B2A42; background: rgba(255,255,255,.75); border: 1px solid rgba(11,42,66,.08); }
.h-faixa-acoes { display: flex; flex-wrap: wrap; gap: .7rem; }
.h-faixa-arte img { width: 100%; height: auto; display: block; border-radius: 2rem 2rem .6rem 2rem; box-shadow: 0 18px 40px -18px rgba(11,42,66,.35); transform: rotate(1deg); transition: transform .3s; }
.h-faixa-app .h-faixa-arte img { border-radius: 2rem 2rem 2rem .6rem; transform: rotate(-1deg); }
.h-faixa-arte:hover img { transform: rotate(0) scale(1.01); }
.h-faixa-pro { background: radial-gradient(circle at 92% 12%, #CFE2F7 0 8rem, transparent 8.1rem), #EEF5FD; }
.h-faixa-pro .h-faixa-selo { background: #0F6BAA; } .h-faixa-pro .hf-destaque { color: #0F6BAA; }
.h-faixa-app { background: radial-gradient(circle at 6% 85%, #FFE0B0 0 8rem, transparent 8.1rem), #FFF4E4; }
.h-faixa-app .h-faixa-selo { background: #F39200; } .h-faixa-app .hf-destaque { color: #C46F00; }
.h-faixa-cad { background: radial-gradient(circle at 94% 88%, #BFEBE8 0 8rem, transparent 8.1rem), #E9F7F6; }
.h-faixa-cad .h-faixa-selo { background: #1FA5A8; } .h-faixa-cad .hf-destaque { color: #0E7C7E; }
@media (max-width: 860px) {
  .h-faixa-grade, .h-faixa-app .h-faixa-grade { grid-template-columns: 1fr; }
  .h-faixa-arte { order: -1; }
  .h-faixa-arte img, .h-faixa-app .h-faixa-arte img { transform: none; }
}
html[data-tema="escuro"] .h-faixa-pro { background: radial-gradient(circle at 92% 12%, rgba(15,107,170,.22) 0 8rem, transparent 8.1rem), #12202E; }
html[data-tema="escuro"] .h-faixa-app { background: radial-gradient(circle at 6% 85%, rgba(243,146,0,.16) 0 8rem, transparent 8.1rem), #1E1A14; }
html[data-tema="escuro"] .h-faixa-cad { background: radial-gradient(circle at 94% 88%, rgba(31,165,168,.18) 0 8rem, transparent 8.1rem), #11221F; }
html[data-tema="escuro"] .h-faixa h2 { color: #F2F5F7; } html[data-tema="escuro"] .h-faixa p { color: #B9C6CF; }
html[data-tema="escuro"] .h-faixa-chips li { background: rgba(255,255,255,.08); color: #E6ECF0; border-color: rgba(255,255,255,.1); }
html[data-tema="escuro"] .h-faixa-pro .hf-destaque { color: #6FB6EA; } html[data-tema="escuro"] .h-faixa-app .hf-destaque { color: #FFB04D; } html[data-tema="escuro"] .h-faixa-cad .hf-destaque { color: #5FD0D2; }
.pagina-capa img[src*="app-guia-do-amputado-celular"] { aspect-ratio: 16 / 9; }

/* HOME: faixas da linha infantil, profissionais, app e cadeiras no padrão do tema (sem fundos pastel e
   sem bolhas coloridas). As ilustrações ficam; o lúdico fica só na página da linha infantil. */
html .h-inf, html[data-tema="escuro"] .h-inf { background: var(--branco); }
html .h-faixa-pro, html[data-tema="escuro"] .h-faixa-pro { background: var(--papel); }
html .h-faixa-app, html[data-tema="escuro"] .h-faixa-app { background: var(--branco); }
html .h-faixa-cad, html[data-tema="escuro"] .h-faixa-cad { background: var(--papel); }
html .h-inf-selo, html .h-faixa-selo, html[data-tema="escuro"] .h-faixa-selo {
  background: none; color: var(--azul); padding: 0; border-radius: 0; transform: none;
  font-size: .8rem; font-weight: 800; letter-spacing: .07em; }
html .h-inf h2, html .h-faixa h2, html[data-tema="escuro"] .h-inf h2, html[data-tema="escuro"] .h-faixa h2 { color: var(--noite); }
html .h-inf p, html .h-faixa p, html[data-tema="escuro"] .h-inf p, html[data-tema="escuro"] .h-faixa p { color: var(--apoio); }
html .h-inf .inf-c1, html .h-inf .inf-c2, html .h-inf .inf-c3, html .hf-destaque,
html[data-tema="escuro"] .h-faixa-pro .hf-destaque, html[data-tema="escuro"] .h-faixa-app .hf-destaque, html[data-tema="escuro"] .h-faixa-cad .hf-destaque { color: var(--azul); }
html .h-inf-chips li, html .h-faixa-chips li, html[data-tema="escuro"] .h-faixa-chips li {
  background: transparent; color: var(--texto); border: 1px solid var(--linha); font-weight: 600; }
html .h-inf-arte img, html .h-faixa-arte img, html .h-faixa-app .h-faixa-arte img {
  transform: none; border-radius: var(--raio); box-shadow: var(--sombra); }
html .h-inf-arte:hover img, html .h-faixa-arte:hover img { transform: none; }
html .h-inf .h-inf-chips li:nth-child(n), html[data-tema="escuro"] .h-inf .h-inf-chips li:nth-child(n) { background: transparent; color: var(--texto); }
html .h-faixa-pro .h-faixa-selo, html .h-faixa-app .h-faixa-selo, html .h-faixa-cad .h-faixa-selo,
html[data-tema="escuro"] .h-faixa-pro .h-faixa-selo, html[data-tema="escuro"] .h-faixa-app .h-faixa-selo, html[data-tema="escuro"] .h-faixa-cad .h-faixa-selo { background: none; color: var(--azul); }
html .h-faixa-pro .hf-destaque, html .h-faixa-app .hf-destaque, html .h-faixa-cad .hf-destaque { color: var(--azul); }

/* Formulário de avaliação (/js/avaliacao.js, 19/10/2026): popup nos botões "Agendar avaliação" e fixo em /contato/ */
.av-form, .av-form *, .av-dialog, .av-dialog * { box-sizing: border-box; }
.av-form { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; min-width: 0; }
.av-campo { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.av-campo[hidden] { display: none; }
.av-campo label { font-weight: 600; font-size: .95rem; color: var(--noite); }
.av-campo input, .av-campo select { font: inherit; font-size: 1rem; padding: .7rem .8rem; border: 1px solid var(--linha); border-radius: calc(var(--raio) - 4px); background: var(--branco); color: var(--texto); min-height: 48px; width: 100%; }
.av-campo input:focus, .av-campo select:focus { outline: 2px solid var(--azul); outline-offset: 1px; border-color: var(--azul); }
.av-campo input:user-invalid, .av-campo select:user-invalid { border-color: #B3261E; }
.av-mel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.av-enviar { grid-column: 1 / -1; justify-content: center; width: 100%; margin-top: .3rem; cursor: pointer; }
.av-enviar:disabled { opacity: .6; cursor: wait; }
.av-aviso { grid-column: 1 / -1; font-size: .88rem; color: var(--apoio); margin: 0; }
.av-status { grid-column: 1 / -1; margin: 0; font-weight: 600; }
.av-status:empty { display: none; }
.av-status.av-ok { color: #1E7A4C; background: color-mix(in srgb, #1E7A4C 10%, transparent); padding: .8rem 1rem; border-radius: calc(var(--raio) - 4px); }
.av-status.av-erro { color: #B3261E; }
.av-form.av-enviado .av-campo, .av-form.av-enviado .av-enviar, .av-form.av-enviado .av-aviso { display: none; }
.av-fixo { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.3rem; margin: 1rem 0 2rem; box-shadow: var(--sombra); scroll-margin-top: 90px; }
.av-dialog { overflow-x: hidden; border: 0; padding: 0; border-radius: var(--raio); background: var(--papel); color: var(--texto); width: min(640px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); box-shadow: 0 30px 80px -20px rgba(0,0,0,.45); }
.av-dialog::backdrop { background: rgba(11, 42, 66, .55); backdrop-filter: blur(2px); }
.av-caixa { position: relative; padding: 1.6rem 1.5rem 1.4rem; }
.av-caixa h2 { font-family: var(--display); color: var(--noite); font-size: 1.55rem; margin: 0 2rem .4rem 0; }
.av-sub { color: var(--apoio); margin: 0 0 1.1rem; }
.av-fechar { position: absolute; top: .6rem; right: .6rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--noite); font-size: 1.8rem; line-height: 1; cursor: pointer; }
.av-fechar:hover { background: var(--papel-2); }
@media (max-width: 600px) { .av-form { grid-template-columns: 1fr; } .av-caixa { padding: 1.3rem 1rem 1.1rem; } }

/* Landing pages de campanha (tema/lp.html), 22/10/2026: título e formulário lado a lado no topo. */
.lp-hero-grid { display: grid; grid-template-columns: 1fr minmax(0, 560px); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.lp-hero h1 { max-width: 18ch; }
.lp-hero .h-sub { max-width: 40ch; }
.lp-provas { list-style: none; margin: 0 0 1.8rem; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.lp-provas li { border-top: 3px solid var(--ambar); padding-top: .5rem; }
.lp-provas strong { display: block; font-family: var(--display); font-size: 1.9rem; line-height: 1.1; color: var(--noite); }
.lp-provas span { color: var(--apoio); font-size: .95rem; }
.lp-form { scroll-margin-top: 90px; }
.lp-form h2 { font-size: 1.5rem; margin-bottom: .3rem; }
.lp-form > p { color: var(--apoio); margin: 0; }
.lp-form .av-fixo { margin: 1rem 0 0; }
.lp-tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.lp-tipo { display: flex; flex-direction: column; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.3rem 1.3rem 1.2rem; text-decoration: none; color: var(--texto); transition: border-color .2s, transform .2s var(--ease); }
.lp-tipo:hover { border-color: var(--azul); color: var(--texto); transform: translateY(-2px); }
.lp-tipo h3 { font-size: 1.15rem; margin-bottom: .4rem; color: var(--noite); }
.lp-tipo p { font-size: .98rem; color: var(--apoio); margin: 0 0 1rem; }
.lp-tipo-mais { margin-top: auto; font-weight: 650; color: var(--azul); }
.lp-tipo-mais::after { content: " →"; }
@media (max-width: 900px) { .lp-hero-grid { grid-template-columns: 1fr; } .lp-provas { display: none; } .lp-hero .h-sub { margin-bottom: 1rem; } .lp-hero-texto .botao { display: none; } }
@media (prefers-reduced-motion: reduce) { .lp-tipo:hover { transform: none; } }

/* Materiais gratuitos (/materiais/ e /material/<slug>/) */
.mat-lista { display: grid; gap: 1.5rem; margin: 1rem 0 2rem; }
.mat-item { display: grid; grid-template-columns: 180px 1fr; gap: 1.5rem; align-items: center; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.3rem; }
.mat-item img { width: 100%; height: auto; margin: 0; }
.mat-item h2 { font-size: 1.3rem; margin: .1rem 0 .4rem; }
.mat-item h2 a { color: var(--noite); text-decoration: none; }
.mat-item p { margin: 0 0 1rem; color: var(--apoio); }
.mat-pedido { display: grid; grid-template-columns: 220px 1fr; gap: 1.8rem; align-items: start; margin: 1rem 0 2rem; }
.mat-capa { margin: 0; position: sticky; top: 100px; }
.mat-capa img { width: 100%; height: auto; margin: 0; }
.mat-pedido h2 { margin-top: .1rem; }
.mat-pedido .av-fixo { margin-bottom: 0; }
.av-status.av-ok .botao { margin-top: .7rem; color: #fff; }
@media (max-width: 700px) {
  .mat-item, .mat-pedido { grid-template-columns: 1fr; }
  .mat-item img, .mat-capa { max-width: 200px; }
  .mat-capa { position: static; }
}

/* Links da bio do Instagram (/bio/) */
.bio-links { display: grid; gap: .8rem; max-width: 30rem; margin: 1rem 0 2rem; }
.bio-links .botao { justify-content: center; white-space: normal; text-align: center; }
