/* =====================================================================
   Facilita Telecom — tema-filho do blueprint Valente.
   Design aprovado em 06/10/2026 (tela de design). As cores saem do logo:
   azul e ciano; os quatro pontos coloridos são o "sinal" da marca e só
   aparecem como marcador (rótulos, medidores, etapas), nunca como fundo.
   ===================================================================== */

:root {
	--noite: #07142E;
	--marinho: #0B1B3F;
	--azul: #1C4082;
	--ciano: #00A7E1;
	--ciano-txt: #0B6FA4;      /* ciano que passa no contraste sobre claro */
	--ciano-claro: #8FDBF6;    /* ciano para texto sobre escuro */
	--tinta: #0E1A2F;
	--aco: #4A5872;
	--linha: #DDE4EE;
	--linha-forte: #CBD5E3;
	--nevoa: #F4F6FA;
	--branco: #FFFFFF;
	--p1: #F4C20D;
	--p2: #1FA34A;
	--p3: #00A7E1;
	--p4: #E0312F;
	--f-tit: 'Sora', 'Sora Reserva', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--f-txt: 'Instrument Sans', 'Instrument Sans Reserva', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--f-mono: 'JetBrains Mono', 'JetBrains Mono Reserva', ui-monospace, Menlo, Consolas, monospace;
	--wrap: 1200px;
	--gut: 40px;
	--secao: 120px;
	--raio: 28px;
	--sombra: 0 30px 70px rgba(7, 20, 46, .16);
	--topo-h: 132px;
	/* o consentimento do core lê estas */
	--vl-primaria: var(--azul);
	--vl-escuro: var(--noite);
	--vl-branco: #fff;
	--vl-cinza: var(--aco);
	--vl-cinza-claro: var(--nevoa);
	--vl-raio: 16px;
	--vl-titulos: var(--f-tit);
}

/* ------------------------------------------------------------- base -- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--f-txt); font-size: 17px; line-height: 1.6; color: var(--tinta); background: var(--branco); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--ciano-txt); text-decoration: none; }
a:hover { color: var(--azul); }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3, h4 { font-family: var(--f-tit); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin: 0; color: inherit; }
h2 { font-size: clamp(32px, 3.6vw, 54px); }
h3 { font-size: clamp(22px, 2vw, 30px); letter-spacing: -.02em; line-height: 1.15; }
.h2-menor { font-size: clamp(28px, 3vw, 44px); line-height: 1.1; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--ciano); outline-offset: 3px; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pular { position: absolute; left: 16px; top: -60px; z-index: 200; background: var(--ciano); color: var(--noite); padding: 10px 16px; border-radius: 10px; font-weight: 600; }
.pular:focus { top: 12px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); }
.centro { text-align: center; display: flex; flex-direction: column; align-items: center; }
.secao { position: relative; padding: var(--secao) 0; }
.secao-curta { padding: 0 0 72px; }
.escuro { background: var(--noite); color: #fff; }
.escuro .lede { color: rgba(255, 255, 255, .8); }
.lede { font-size: 18px; line-height: 1.6; color: var(--aco); }
.cab-2 { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; margin-bottom: 64px; }
.cab-2 > div:first-child { max-width: 720px; display: flex; flex-direction: column; gap: 22px; }
.cab-2 > div:last-child, .cab-2 > p { max-width: 440px; display: flex; flex-direction: column; gap: 18px; }
.acoes-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.pontilhado { position: absolute; inset: 0; background-image: radial-gradient(rgba(143, 219, 246, .2) 1px, transparent 1px); background-size: 28px 28px; opacity: .45; pointer-events: none; }
.anel-deco { position: absolute; right: -60px; bottom: -60px; width: 300px; height: 300px; border-radius: 50%; border: 40px solid rgba(255, 255, 255, .06); pointer-events: none; }
.anel-deco.grande { right: auto; left: -120px; bottom: -160px; width: 460px; height: 460px; border-width: 60px; border-color: rgba(255, 255, 255, .05); }

/* ----------------------------------------------- rótulo e sinal -- */
.kicker { display: inline-flex; align-items: center; gap: 12px; font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ciano-txt); }
.kicker.claro, .escuro .kicker { color: var(--ciano-claro); }
.pontos { display: inline-flex; gap: 5px; }
.pontos i, .ponto { width: 7px; height: 7px; border-radius: 50%; background: var(--p1); display: inline-block; flex-shrink: 0; }
.pontos i:nth-child(2) { background: var(--p2); }
.pontos i:nth-child(3) { background: var(--p3); }
.pontos i:nth-child(4) { background: var(--p4); }
.ponto.verde { background: var(--p2); }
.sinal { display: inline-flex; align-items: flex-end; gap: 4px; height: 22px; }
.sinal i { width: 6px; border-radius: 2px; background: var(--p1); height: 8px; }
.sinal i:nth-child(2) { background: var(--p2); height: 13px; }
.sinal i:nth-child(3) { background: var(--p3); height: 18px; }
.sinal i:nth-child(4) { background: var(--p4); height: 22px; }

/* ------------------------------------------------------- botões -- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 999px; border: 1px solid transparent; font-family: var(--f-txt); font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn .ico { transition: transform .25s ease; }
.btn:hover .ico { transform: translateX(3px); }
.btn-ciano { background: var(--ciano); color: #06142E; }
.btn-ciano:hover { background: #33B9E8; color: #06142E; box-shadow: 0 12px 30px rgba(0, 167, 225, .35); }
.btn-azul { background: var(--azul); color: #fff; }
.btn-azul:hover { background: var(--marinho); color: #fff; }
.btn-vidro { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .38); color: #fff; backdrop-filter: blur(8px); }
.btn-vidro:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.btn-linha { border-color: var(--linha-forte); color: var(--marinho); background: transparent; }
.btn-linha:hover { border-color: var(--azul); color: var(--azul); }
.escuro .btn-linha { border-color: rgba(255, 255, 255, .3); color: #fff; }
.btn.largo { width: 100%; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--azul); }
.link-seta .ico { transition: transform .25s ease; }
.link-seta:hover .ico { transform: translateX(4px); }
.link-seta.claro { color: var(--ciano-claro); }
.link-seta.branco { color: #fff; }
.link-botao { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; font-size: inherit; }
.redondo { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .22); color: #fff; background: transparent; transition: background .25s, border-color .25s; }
.redondo:hover { background: rgba(255, 255, 255, .1); color: #fff; }

/* --------------------------------------------------- movimento -- */
.js .revela { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.js .revela.visivel { opacity: 1; transform: none; }
.zoom { overflow: hidden; }
.zoom img { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.card-sobe { transition: transform .35s ease, box-shadow .35s ease; }
.card-sobe:hover { transform: translateY(-4px); }
.card-sobe:hover .zoom img, .zoom:hover img { transform: scale(1.04); }
@keyframes fac-gira { to { transform: rotate(360deg); } }
@keyframes fac-pulso { 0%, 100% { box-shadow: 0 0 0 0 rgba(0, 167, 225, .5); } 50% { box-shadow: 0 0 0 16px rgba(0, 167, 225, 0); } }
@keyframes fac-barra { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes fac-faixa { from { transform: translateX(0); } to { transform: translateX(-100%); } }

/* ------------------------------------------------------- topo -- */
.topo { position: fixed; left: 0; right: 0; top: 0; z-index: 50; color: #fff; transition: background .2s ease, box-shadow .2s ease; }
.topo-util { height: 40px; border-bottom: 1px solid rgba(255, 255, 255, .1); font-family: var(--f-mono); font-size: 12px; letter-spacing: .04em; color: rgba(255, 255, 255, .8); transition: height .35s ease, opacity .35s ease; overflow: hidden; }
.topo-util-grade { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topo-util-esq, .topo-util-dir { display: flex; align-items: center; gap: 18px; }
.topo-util a { color: rgba(255, 255, 255, .9); display: inline-flex; align-items: center; gap: 8px; }
.topo-util a:hover { color: #fff; }
.topo-util-sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .22); }
.topo-grade { height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 24px; transition: height .35s ease; }
.logo { display: flex; flex-shrink: 0; }
.logo-img { height: 48px; width: auto; transition: height .35s ease; }
.logo-cor { display: none; }
.nav { display: flex; align-items: center; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.menu > li { position: relative; }
.menu > li > a, .nav-pai { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 15px; border-radius: 999px; border: 0; background: transparent; color: inherit; font-size: 15px; font-weight: 600; white-space: nowrap; transition: background .2s; }
.menu > li > a:hover, .nav-pai:hover, .nav-pai[aria-expanded="true"] { background: rgba(255, 255, 255, .1); color: inherit; }
.menu > li > a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--ciano); border-radius: 0; }
.nav-pai .ico, .nav-pai svg { transition: transform .2s; }
.nav-pai[aria-expanded="true"] svg { transform: rotate(180deg); }
.sub { list-style: none; margin: 0; padding: 10px; position: absolute; top: calc(100% + 8px); left: -6px; min-width: 260px; border-radius: 18px; background: var(--marinho); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 28px 60px rgba(0, 0, 0, .4); display: flex; flex-direction: column; gap: 2px; z-index: 5; visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .18s ease .15s, transform .18s ease .15s, visibility 0s linear .33s; }
/* ponte invisível sobre o vão entre o item e o submenu: o mouse passa sem o menu fechar */
.sub::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.tem-sub:hover > .sub, .tem-sub.aberto > .sub, .tem-sub:focus-within > .sub { visibility: visible; opacity: 1; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
.sub a { display: block; padding: 12px 14px; border-radius: 10px; color: #fff; font-size: 15px; }
.sub a:hover, .sub a[aria-current="page"] { background: rgba(255, 255, 255, .08); color: #fff; }
.topo-cta { min-height: 48px; padding: 0 22px; font-size: 15px; flex-shrink: 0; }
.menu-btn { display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(7, 20, 46, .35); backdrop-filter: blur(8px); flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; }
.menu-btn span { width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s, opacity .3s; }
.nav-cta-celular { display: none; }
/* rolou: o topo vira faixa branca com o logo colorido */
.topo.solido { background: rgba(255, 255, 255, .97); color: var(--marinho); box-shadow: 0 10px 30px rgba(7, 20, 46, .1); backdrop-filter: blur(10px); }
.topo.solido .topo-util { height: 0; opacity: 0; border: 0; }
.topo.solido .topo-grade { height: 76px; }
.topo.solido .logo-img { height: 42px; }
.topo.solido .logo-branco { display: none; }
.topo.solido .logo-cor { display: block; }
.topo.solido .menu > li > a:hover, .topo.solido .nav-pai:hover, .topo.solido .nav-pai[aria-expanded="true"] { background: var(--nevoa); }
.topo.solido .menu-btn { border-color: var(--linha-forte); background: #fff; }
.admin-bar .topo { top: 32px; }

/* ------------------------------------------------------- capa -- */
.capa { position: relative; height: 100vh; height: 100svh; min-height: 600px; max-height: 1000px; overflow: hidden; background: var(--noite); color: #fff; display: flex; flex-direction: column; justify-content: flex-end; }
.capa-midia { position: absolute; inset: 0; }
/* uma camada por canal: imagem e/ou vídeo curto; a ativa aparece por cima das outras */
.capa-camada { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.capa-camada.ativa { opacity: 1; }
.capa-poster, .capa-img, .capa-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--foco, 50% 50%); }
.capa-img { transform: scale(1.07); transition: transform 11s cubic-bezier(.2, .6, .3, 1); }
.capa-camada.ativa .capa-img { transform: none; }
.capa-video { opacity: 0; transition: opacity 1s ease; }
.capa-video.tocando { opacity: 1; }
.capa-veu { position: absolute; inset: 0; background:
	linear-gradient(180deg, rgba(7, 20, 46, .75) 0, rgba(7, 20, 46, 0) 230px),
	linear-gradient(0deg, rgba(7, 20, 46, .96) 0, rgba(7, 20, 46, 0) 360px),
	linear-gradient(90deg, rgba(7, 20, 46, .93) 0, rgba(7, 20, 46, .74) 40%, rgba(7, 20, 46, .22) 72%, rgba(7, 20, 46, .34) 100%); }
.capa-grade { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-grow: 1; padding-top: var(--topo-h); }
.capa-texto { max-width: 880px; display: flex; flex-direction: column; gap: 26px; }
/* os textos de todos os canais no mesmo lugar: a altura é a do maior e a troca não empurra nada */
.capa-pilha { display: grid; }
.capa-item { grid-area: 1 / 1; align-self: end; display: flex; flex-direction: column; gap: 22px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s; }
.capa-item.ativo { opacity: 1; visibility: visible; transform: none; transition: opacity .55s ease .2s, transform .55s ease .2s, visibility 0s; }
.capa-titulo { font-family: var(--f-tit); font-weight: 700; margin: 0; font-size: clamp(32px, min(3.7vw, 6.2vh), 52px); line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
.capa-lede { max-width: 600px; font-size: 18px; line-height: 1.5; color: rgba(255, 255, 255, .86); }
.capa-acoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.capa-acoes .btn { min-height: 58px; padding: 0 30px; }
.capa-play { position: relative; flex-shrink: 0; width: 184px; height: 184px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(7, 20, 46, .38); backdrop-filter: blur(10px); color: #fff; display: flex; align-items: center; justify-content: center; padding: 0; margin-right: 30px; transition: transform .35s ease, background .35s, opacity .4s ease, visibility 0s; }
/* o "assistir com som" é do canal do institucional: some nos outros */
.capa:not([data-canal="0"]) .capa-play { opacity: 0; visibility: hidden; transform: scale(.92); transition: transform .35s ease, opacity .4s ease, visibility 0s linear .4s; }
.capa-play:hover { transform: scale(1.04); background: rgba(7, 20, 46, .55); }
.capa-play-anel { position: absolute; inset: 0; width: 100%; height: 100%; animation: fac-gira 24s linear infinite; }
.capa-play-anel text { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 2.7px; fill: #fff; }
.capa-play-botao { width: 76px; height: 76px; border-radius: 50%; background: var(--ciano); color: #06142E; display: flex; align-items: center; justify-content: center; animation: fac-pulso 2.6s ease-in-out infinite; }
.capa-canais { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); gap: 16px; padding-top: 48px; padding-bottom: 44px; }
.canal { position: relative; text-align: left; border: 0; background: transparent; color: #fff; padding: 20px 8px 4px 0; display: flex; flex-direction: column; gap: 6px; opacity: .7; transition: opacity .25s; }
.canal:hover, .canal[aria-pressed="true"] { opacity: 1; }
.canal-barra { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(255, 255, 255, .22); overflow: hidden; }
.canal-barra span { position: absolute; inset: 0; background: var(--ciano); transform: scaleX(0); transform-origin: left; }
.canal[aria-pressed="true"] .canal-barra span { transform: scaleX(1); }
.capa.auto .canal[aria-pressed="true"] .canal-barra span { animation: fac-barra var(--tempo, 8s) linear forwards; }
.capa.pausa .canal[aria-pressed="true"] .canal-barra span { animation-play-state: paused; }
.canal-num { font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; color: rgba(255, 255, 255, .75); }
.canal[aria-pressed="true"] .canal-num { color: var(--ciano); }
.canal-nome { font-size: 17px; font-weight: 600; line-height: 1.25; }
.video-modal { width: min(1136px, 92vw); max-width: none; padding: 0; border: 0; background: transparent; overflow: visible; color: #fff; }
.video-modal::backdrop { background: rgba(4, 12, 28, .94); }
.video-modal-caixa { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.video-modal video { width: 100%; aspect-ratio: 16 / 9; border-radius: 22px; background: #000; box-shadow: 0 40px 100px rgba(0, 0, 0, .55); }
.video-modal-legenda { font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.video-modal-fechar { position: fixed; top: 32px; right: 32px; width: 52px; height: 52px; background: rgba(255, 255, 255, .08); }

/* ---------------------------------------------------- números -- */
.numeros { background: var(--nevoa); padding-bottom: 104px; }
.numeros h2 { color: var(--marinho); }
.numeros-grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.numero { padding-top: 28px; border-top: 2px solid var(--marinho); display: flex; flex-direction: column; gap: 16px; }
.numero-valor { display: flex; align-items: baseline; gap: 6px; font-family: var(--f-tit); color: var(--marinho); }
.numero-valor .mais { font-size: 34px; font-weight: 600; color: var(--ciano-txt); }
.numero-valor b { font-size: clamp(54px, 5.4vw, 78px); font-weight: 700; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.numero-valor .unid { font-size: 22px; font-weight: 600; }
.numero p { font-size: 16px; line-height: 1.45; color: var(--aco); }
.selos { list-style: none; margin: 56px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.selos li { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: #fff; border: 1px solid var(--linha); font-size: 15px; font-weight: 600; color: var(--tinta); }
.selos li:nth-child(5n+1) .ponto { background: var(--p1); }
.selos li:nth-child(5n+2) .ponto { background: var(--p2); }
.selos li:nth-child(5n+3) .ponto { background: var(--p3); }
.selos li:nth-child(5n+4) .ponto { background: var(--p4); }
.selos li:nth-child(5n+5) .ponto { background: var(--azul); }

/* ---------------------------------------------------- soluções -- */
.solucoes { overflow: hidden; overflow: clip; }
.solucoes .wrap { position: relative; }
.sol-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-auto-rows: min-content; column-gap: 48px; row-gap: 6px; align-items: start; }
.sol { display: contents; }
.sol-cab { grid-column: 1; display: flex; align-items: center; gap: 16px; min-height: 54px; padding: 10px 20px; border-radius: 14px; text-align: left; background: transparent; border: 1px solid rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .88); transition: background .2s, border-color .2s; }
.sol-cab:hover { background: rgba(255, 255, 255, .05); }
.sol-num { font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; color: rgba(255, 255, 255, .6); width: 22px; flex-shrink: 0; }
.sol-nome { flex-grow: 1; font-size: 17px; font-weight: 600; line-height: 1.3; }
.sol-cab .ico { opacity: 0; color: var(--ciano); transition: opacity .2s, transform .2s; }
.sol.ativa .sol-cab { background: rgba(0, 167, 225, .12); border-color: rgba(0, 167, 225, .5); color: #fff; }
.sol.ativa .sol-cab .sol-num { color: var(--ciano); }
.sol.ativa .sol-cab .ico { opacity: 1; }
.sol-corpo { grid-column: 2; grid-row: 1 / span var(--n, 10); display: none; border-radius: var(--raio); overflow: hidden; background: var(--marinho); border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 40px 80px rgba(0, 0, 0, .35); align-self: start; }
.sol.ativa .sol-corpo { display: block; animation: fac-surge .45s ease; }
@keyframes fac-surge { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.sol-foto { position: relative; aspect-ratio: 16 / 8.5; background: var(--azul); overflow: hidden; }
.sol-foto img { width: 100%; height: 100%; object-fit: cover; }
.sol-conta { position: absolute; left: 24px; top: 24px; height: 34px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 999px; background: rgba(7, 20, 46, .78); backdrop-filter: blur(8px); font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; }
.sol-txt { padding: 32px 40px 40px; display: flex; flex-direction: column; gap: 16px; }
.sol-txt h3 { font-size: 30px; font-weight: 600; }
.sol-txt p { font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.sol-txt .acoes-linha { margin-top: 8px; }
.sol-publicos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sol-publicos li { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(143, 219, 246, .4); font-size: 13px; font-weight: 600; }
.sol-publicos li .ico { color: var(--ciano-claro); }
.sol-publicos li.nao { opacity: .38; text-decoration: line-through; }
.sol-nota { grid-column: 1; margin-top: 14px; padding: 18px 20px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px dashed rgba(255, 255, 255, .2); font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .76); }
.sol-nota strong { color: #fff; }
.sol-nota a { color: var(--ciano-claro); }

/* computador: todos os cartões no mesmo lugar (a altura é a do maior: a troca não mexe na página) */
@media (min-width: 1025px) {
	.sol-corpo { display: block; visibility: hidden; }
	.sol.ativa .sol-corpo { visibility: visible; }
	/* bloco parado na tela enquanto a rolagem passa pelos itens (o JS liga .fixa quando cabe) */
	/* o espaço de rolagem vai DENTRO do trilho (sticky só anda na área de conteúdo, não no padding) */
	.sol-trilho.fixa::after, .cases-trilho.fixa::after { content: ''; display: block; height: calc((var(--n, 10) - 1) * var(--passo, 110px) + 40px); }
	.sol-trilho.fixa .sol-grade, .cases-trilho.fixa .cases-grade { position: sticky; top: var(--fixo, 100px); }
	.sol-trilho.fixa .sol-grade { row-gap: 4px; }
	.sol-trilho.fixa .sol-cab { min-height: 46px; padding: 6px 18px; }
	.sol-trilho.fixa .sol-nota { margin-top: 8px; padding: 12px 16px; }
	.sol-trilho.fixa .sol-foto { aspect-ratio: auto; height: clamp(170px, 27vh, 320px); }
	.sol-trilho.fixa .sol-txt { padding: 24px 34px 30px; gap: 12px; }
	.sol-trilho.fixa .sol-txt h3 { font-size: 26px; }
	.sol-trilho.fixa .sol-txt p { font-size: 17px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* -------------------------------------------------- sobre + etapas -- */
.sobre-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 88px; align-items: center; }
.sobre-fotos { position: relative; height: 640px; }
.sobre-f1 { position: absolute; left: 0; top: 0; width: 82%; height: 560px; border-radius: var(--raio); }
.sobre-f1 img, .sobre-f2 img { width: 100%; height: 100%; object-fit: cover; }
.sobre-f2 { position: absolute; right: 0; bottom: 0; width: 50%; height: 240px; border-radius: 24px; border: 8px solid #fff; box-shadow: var(--sombra); }
.sobre-iso { position: absolute; left: 70%; top: 36px; }
.sobre-chip { position: absolute; left: 24px; top: 490px; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; border-radius: 999px; background: rgba(255, 255, 255, .94); font-size: 15px; font-weight: 600; color: var(--marinho); }
.sobre-txt { display: flex; flex-direction: column; gap: 24px; }
.sobre-txt h2 { font-size: clamp(40px, 4.4vw, 60px); color: var(--marinho); }
.sobre-itens { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.sobre-itens li { position: relative; padding-left: 26px; font-size: 17px; line-height: 1.55; color: var(--aco); }
.sobre-itens li::before { content: ''; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--p1); }
.sobre-itens li:nth-child(2)::before { background: var(--p2); }
.sobre-itens li:nth-child(3)::before { background: var(--p3); }
.sobre-itens li:nth-child(4)::before { background: var(--p4); }
.sobre-itens strong { color: var(--marinho); }
.selo-iso { width: 132px; height: 132px; border-radius: 50%; background: #fff; border: 3px solid var(--azul); box-shadow: 0 0 0 7px #fff, 0 24px 48px rgba(7, 20, 46, .22); display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--azul); line-height: 1.05; flex-shrink: 0; }
.selo-iso small { font-family: var(--f-mono); font-size: 9px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.selo-iso b { font-family: var(--f-tit); font-size: 34px; font-weight: 700; letter-spacing: -.02em; }
.selo-iso em { font-style: normal; font-family: var(--f-mono); font-size: 11px; font-weight: 600; }
.selo-iso.pequeno { width: 64px; height: 64px; border-width: 2px; box-shadow: none; }
.selo-iso.pequeno small { display: none; }
.selo-iso.pequeno b { font-size: 17px; }
.selo-iso.pequeno em { font-size: 8px; }
.etapas { margin-top: 120px; padding-top: 64px; border-top: 1px solid var(--linha); }
.etapas h3, .etapas .h2-menor { color: var(--marinho); }
.etapas .cab-2 { margin-bottom: 56px; }
.etapas-lista { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.etapas-lista::before { content: ''; position: absolute; left: 0; right: 0; top: 13px; height: 2px; background: var(--linha); }
.etapas-lista li { position: relative; display: flex; flex-direction: column; gap: 14px; }
.etapa-ponto { width: 28px; height: 28px; border-radius: 50%; background: var(--p1); box-shadow: 0 0 0 6px #fff; }
.etapas-lista li:nth-child(4n+2) .etapa-ponto { background: var(--p2); }
.etapas-lista li:nth-child(4n+3) .etapa-ponto { background: var(--p3); }
.etapas-lista li:nth-child(4n+4) .etapa-ponto { background: var(--p4); }
.etapa-prazo { font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--aco); }
.etapas-lista strong { font-family: var(--f-tit); font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--marinho); }
.etapas-lista p { font-size: 15px; line-height: 1.6; color: var(--aco); }
.etapas-pagina { background: var(--nevoa); }
.etapas-pagina .etapas { margin-top: 0; padding-top: 0; border: 0; }
.etapas-pagina .etapa-ponto { box-shadow: 0 0 0 6px var(--nevoa); }
.etapas-lista li { z-index: 1; }
.etapas-lista.rolagem::after { content: ''; position: absolute; left: 0; right: 0; top: 13px; height: 2px; z-index: 0; background: linear-gradient(90deg, var(--p1), var(--p2) 33%, var(--p3) 66%, var(--p4)); transform: scaleX(var(--p, 0)); transform-origin: left; transition: transform .2s linear; }
.etapas-lista.rolagem li { opacity: .28; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
.etapas-lista.rolagem li.feita { opacity: 1; transform: none; }
.etapas-lista.rolagem li:not(.feita) .etapa-ponto { background: var(--linha-forte); }
.etapas-lista.rolagem .etapa-ponto { transition: background-color .4s ease, transform .4s ease; }
.etapas-lista.rolagem li.feita .etapa-ponto { animation: fac-ponto .5s ease; }
@keyframes fac-ponto { 50% { transform: scale(1.35); } }

/* -------------------------------------------- ISO + Facilita Social -- */
.compromissos { padding-top: 0; }
.compromissos-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.cartao-iso { position: relative; overflow: hidden; border-radius: var(--raio); background: var(--azul); color: #fff; padding: 48px; display: flex; flex-direction: column; gap: 20px; min-height: 440px; }
.cartao-iso .selo-iso { width: 104px; height: 104px; box-shadow: none; border-color: var(--marinho); }
.cartao-iso .selo-iso b { font-size: 28px; }
.cartao-iso .selo-iso small:last-child { display: none; }
.cartao-iso p { font-size: 17px; color: rgba(255, 255, 255, .86); max-width: 500px; }
.cartao-iso .link-seta { margin-top: auto; }
.cartao-social { overflow: hidden; border-radius: var(--raio); background: var(--nevoa); display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 440px; }
.cartao-social-foto img { width: 100%; height: 100%; object-fit: cover; }
.cartao-social-txt { padding: 44px 40px; display: flex; flex-direction: column; gap: 18px; }
.cartao-social-txt .h2-menor { font-size: 30px; color: var(--marinho); }
.cartao-social-txt p { font-size: 16px; color: var(--aco); }
.selos-sociais { height: 76px; width: auto; }
.cartao-social-txt .link-seta { margin-top: auto; }

/* ---------------------------------------------------- clientes -- */
.clientes { background: var(--nevoa); overflow: hidden; }
.clientes .centro { gap: 20px; }
.clientes h2 { max-width: 900px; color: var(--marinho); }
.abas { margin-top: 16px; display: inline-flex; padding: 6px; gap: 4px; border-radius: 999px; background: #fff; border: 1px solid var(--linha); }
.abas button { min-height: 48px; padding: 0 26px; border-radius: 999px; border: 0; background: transparent; color: var(--marinho); font-size: 15px; font-weight: 600; transition: background .2s, color .2s; }
.abas button[aria-selected="true"] { background: var(--marinho); color: #fff; }
.clientes-frase { margin-top: 20px; font-size: 16px; color: var(--aco); }
.faixas { margin-top: 40px; display: flex; flex-direction: column; gap: 16px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.faixa { display: flex; overflow: hidden; }
.faixa-trilho { list-style: none; margin: 0; padding: 0 8px; display: flex; gap: 16px; flex-shrink: 0; animation: fac-faixa 90s linear infinite; }
.faixa.ao-contrario .faixa-trilho { animation-direction: reverse; }
.faixa:hover .faixa-trilho { animation-play-state: paused; }
.logo-tile { width: 184px; height: 104px; flex-shrink: 0; border-radius: 18px; background: #fff; border: 1px solid #E3E8F0; display: flex; align-items: center; justify-content: center; padding: 14px 18px; }
.logo-tile img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
.logo-tile:hover img { filter: none; opacity: 1; }

/* ------------------------------------------------------- cases -- */
.cases-grade { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
.case-destaque { display: flex; flex-direction: column; gap: 26px; }
.case-midia, .video-fachada { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 26px; overflow: hidden; background: var(--marinho); color: #06142E; }
.case-midia img, .video-fachada img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.case-midia:hover img, .video-fachada:hover img { transform: scale(1.04); }
.case-midia::after, .video-fachada::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 20, 46, .7), rgba(7, 20, 46, 0) 55%); pointer-events: none; }
.case-midia iframe, .video-fachada iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.case-play { position: absolute; left: 50%; top: 50%; z-index: 1; margin: -44px 0 0 -44px; width: 88px; height: 88px; border-radius: 50%; background: var(--ciano); color: #06142E; display: flex; align-items: center; justify-content: center; animation: fac-pulso 2.6s ease-in-out infinite; }
.case-conta { position: absolute; left: 24px; bottom: 22px; z-index: 1; font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.case-txt { display: flex; flex-direction: column; gap: 10px; }
.case-txt h3 { font-size: 32px; font-weight: 600; }
.case-pessoa { font-size: 16px; font-weight: 600; color: var(--ciano-claro); }
.case-txt p { font-size: 17px; color: rgba(255, 255, 255, .8); }
.case-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.case-item { width: 100%; display: flex; align-items: center; gap: 16px; min-height: 68px; padding: 6px 16px 6px 6px; border-radius: 14px; text-align: left; background: transparent; border: 1px solid rgba(255, 255, 255, .06); color: #fff; transition: background .2s, border-color .2s; }
.case-item:hover { background: rgba(255, 255, 255, .05); }
.case-item img { width: 96px; height: 54px; object-fit: cover; border-radius: 9px; flex-shrink: 0; }
.case-item span { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.case-item strong { font-size: 16px; }
.case-item small { font-size: 13px; color: rgba(255, 255, 255, .7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.case-item .ico { opacity: 0; color: var(--ciano); flex-shrink: 0; }
.case-item[aria-pressed="true"] { background: rgba(0, 167, 225, .12); border-color: rgba(0, 167, 225, .5); }
.case-item[aria-pressed="true"] .ico { opacity: 1; }
@media (min-width: 1025px) {
	.cases-trilho.fixa .case-destaque { gap: 20px; }
	.cases-trilho.fixa .case-midia { aspect-ratio: auto; height: clamp(240px, 42vh, 420px); }
	.cases-trilho.fixa .case-txt h3 { font-size: 28px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.cases-trilho.fixa .case-txt p { height: 4.8em; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.cases-trilho.fixa .case-item { min-height: 60px; padding-top: 4px; padding-bottom: 4px; }
	.cases-trilho.fixa .case-item img { width: 88px; height: 50px; }
}

/* ------------------------------------------- contato + Book Digital -- */
.fecho { background: var(--nevoa); }
.fecho-painel { position: relative; overflow: hidden; border-radius: 36px; background: var(--azul); color: #fff; padding: 72px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.fecho-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.fecho-txt h2 { font-size: clamp(38px, 4.2vw, 58px); line-height: 1.02; letter-spacing: -.035em; }
.fecho-txt .lede { color: rgba(255, 255, 255, .86); }
.fecho-txt .btn { align-self: flex-start; margin-top: 8px; }
.contatos, .dados-contato { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.contatos li, .dados-contato li { display: flex; align-items: center; gap: 16px; }
.contatos li > span:last-child, .dados-contato li > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 17px; font-weight: 600; line-height: 1.45; }
.contatos small, .dados-contato small { font-size: 13px; font-weight: 400; color: rgba(255, 255, 255, .72); }
.contatos a { color: #fff; }
.contato-linha { display: flex; flex-wrap: wrap; gap: 0 10px; }
.contato-linha i { font-style: normal; opacity: .5; }
.contato-ico { width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dados-contato .contato-ico { background: var(--nevoa); color: var(--azul); }
.dados-contato small { color: var(--aco); }
.dados-contato a { color: var(--marinho); }
.fecho-form { position: relative; }

/* formulários do core (contato, Book Digital, currículo) */
.vl-form { position: relative; border-radius: 26px; background: #fff; color: var(--tinta); padding: 40px; box-shadow: 0 40px 80px rgba(4, 12, 28, .3); }
.form-caixa .vl-form { box-shadow: var(--sombra); border: 1px solid var(--linha); }
.vl-form-titulo { font-family: var(--f-tit); font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--marinho); margin: 0 0 8px; }
.vl-form-apoio { font-size: 15px; color: var(--aco); margin: 0 0 18px; }
.vl-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vl-form-campo { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.vl-form-campo:has(> input[type="hidden"]) { display: none; }
.vl-form-full, .vl-form-book .vl-form-campo:nth-child(3) { grid-column: 1 / -1; }
.vl-form label { font-size: 14px; font-weight: 600; color: var(--marinho); }
.vl-req { color: var(--p4); }
.vl-form input[type="text"], .vl-form input[type="email"], .vl-form input[type="tel"], .vl-form select, .vl-form textarea, .vl-form input[type="file"] { width: 100%; min-height: 52px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--linha-forte); background: #F8FAFC; font: inherit; font-size: 16px; color: var(--tinta); transition: border-color .2s, box-shadow .2s; }
.vl-form textarea { padding: 14px 16px; min-height: 120px; resize: vertical; }
.vl-form input[type="file"] { padding: 12px 16px; }
.vl-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231C4082' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.vl-form input:focus, .vl-form select:focus, .vl-form textarea:focus { outline: none; border-color: var(--ciano); box-shadow: 0 0 0 3px rgba(0, 167, 225, .25); }
.vl-form-lgpd { margin: 18px 0 0; }
.vl-form-lgpd label { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--aco); }
.vl-form-lgpd input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--azul); flex-shrink: 0; }
.vl-form-acao { margin: 18px 0 0; }
.vl-form .vl-btn, .vl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; padding: 0 26px; border-radius: 999px; border: 0; background: var(--azul); color: #fff; font-size: 16px; font-weight: 600; transition: background .2s, transform .2s; }
.vl-form .vl-btn:hover, .vl-btn:hover { background: var(--marinho); color: #fff; transform: translateY(-2px); }
.vl-btn-secundario { background: transparent; border: 1px solid var(--linha-forte); color: var(--marinho); width: auto; }
.vl-hp { position: absolute !important; left: -9999px; }
.vl-form-ok, .vl-form-erro { padding: 16px 18px; border-radius: 14px; margin: 12px 0; font-size: 15px; }
.vl-form-ok { background: #E7F7EE; color: #0F5C2E; }
.vl-form-erro { background: #FDECEC; color: #8A1C1C; }
.vl-form-produto { font-size: 14px; color: var(--aco); }

/* ----------------------------------------------- páginas internas -- */
.pagina-topo { position: relative; overflow: hidden; padding: calc(var(--topo-h) + 72px) 0 88px; }
.pagina-topo .wrap { position: relative; display: flex; flex-direction: column; gap: 20px; }
.pagina-topo h1 { font-size: clamp(38px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -.035em; max-width: 900px; }
.pagina-topo .lede { max-width: 720px; font-size: 20px; }
.vl-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .06em; color: rgba(255, 255, 255, .7); }
.vl-breadcrumb li + li::before { content: '/'; margin-right: 8px; opacity: .5; }
.vl-breadcrumb a { color: rgba(255, 255, 255, .85); }
.prosa { max-width: 820px; font-size: 18px; line-height: 1.7; color: var(--tinta); }
.prosa-estreita { max-width: 760px; }
.prosa > * + * { margin-top: 1.1em; }
.prosa h2 { font-size: clamp(28px, 2.8vw, 38px); color: var(--marinho); margin-top: 1.6em; }
.prosa h3 { font-size: 24px; color: var(--marinho); margin-top: 1.4em; }
.prosa h4 { font-size: 20px; color: var(--marinho); margin-top: 1.2em; }
.prosa ul, .prosa ol { padding-left: 0; list-style: none; }
.prosa ul li, .prosa ol li { position: relative; padding-left: 28px; margin-top: .5em; }
.prosa ul li::before { content: ''; position: absolute; left: 4px; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--ciano); }
.prosa ol { counter-reset: n; }
.prosa ol li::before { counter-increment: n; content: counter(n); position: absolute; left: 0; top: 0; font-family: var(--f-mono); font-weight: 600; color: var(--ciano-txt); }
.prosa strong { color: var(--marinho); }
.prosa a { text-decoration: underline; text-underline-offset: 3px; }
.prosa img { border-radius: 20px; }
.prosa figure { margin: 1.6em 0; }
.prosa figcaption { font-size: 14px; color: var(--aco); margin-top: 8px; }
.prosa blockquote { margin: 1.6em 0; padding: 24px 28px; border-radius: 20px; background: var(--nevoa); font-size: 20px; font-family: var(--f-tit); color: var(--marinho); }
.prosa table { width: 100%; border-collapse: collapse; font-size: 15px; }
.prosa th, .prosa td { padding: 12px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.prosa .galeria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.prosa .galeria figure { margin: 0; }
.prosa .galeria img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }
.prosa .galeria-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prosa .galeria-contain img { aspect-ratio: auto; object-fit: contain; background: var(--nevoa); }
.prosa .links-uteis { padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.prosa .links-uteis li { padding: 0; margin: 0; }
.prosa .links-uteis li::before { display: none; }
.prosa .links-uteis a { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 28px; border-radius: 22px; background: var(--nevoa); border: 1px solid var(--linha); text-decoration: none; font-family: var(--f-tit); font-size: 20px; font-weight: 600; color: var(--marinho); transition: transform .3s, border-color .3s; }
.prosa .links-uteis a:hover { transform: translateY(-4px); border-color: var(--ciano); }
.prosa .links-uteis small { font-family: var(--f-txt); font-size: 14px; font-weight: 400; color: var(--aco); }
.prosa .objetivos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.prosa .objetivos li { margin: 0; padding: 18px 20px 18px 48px; border-radius: 16px; background: var(--nevoa); }
.prosa .objetivos li::before { left: 20px; top: 26px; }
.prosa .destaques-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.prosa .destaques-4 li { margin: 0; padding: 22px 20px 22px 44px; border-radius: 16px; background: var(--nevoa); font-weight: 600; color: var(--marinho); line-height: 1.35; }
.prosa .destaques-4 li::before { left: 18px; top: 28px; }
.prosa .destaques-4 li:nth-child(1)::before { background: var(--p1); }
.prosa .destaques-4 li:nth-child(2)::before { background: var(--p2); }
.prosa .destaques-4 li:nth-child(3)::before { background: var(--p3); }
.prosa .destaques-4 li:nth-child(4)::before { background: var(--p4); }
.post-grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; align-items: start; }
.post-grade .prosa { max-width: none; }
.post-destaque { margin: 0 0 32px; }
.post-destaque img { width: 100%; border-radius: 24px; aspect-ratio: 16 / 9; object-fit: cover; }
.post-lado { position: sticky; top: 110px; }
.caixa-lado { border-radius: 24px; background: var(--noite); color: #fff; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.caixa-lado strong { font-family: var(--f-tit); font-size: 22px; line-height: 1.2; }
.caixa-lado p { font-size: 15px; color: rgba(255, 255, 255, .8); }
.caixa-lado .btn-linha { border-color: rgba(255, 255, 255, .3); color: #fff; }
.bloco-sol + .bloco-sol { padding-top: 0; }
.bloco-sol .wrap > .h2-menor { margin: 18px 0 40px; color: var(--marinho); }
.cards-sol, .posts-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.card-sol, .card-post { display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid var(--linha); color: var(--tinta); }
.card-sol:hover, .card-post:hover { color: var(--tinta); box-shadow: var(--sombra); }
.card-sol-foto, .card-post-foto { aspect-ratio: 16 / 10; background: var(--nevoa); }
.card-sol-foto img, .card-post-foto img { width: 100%; height: 100%; object-fit: cover; }
.card-post-vazio { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--marinho); }
.card-sol-txt, .card-post-txt { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.card-sol-txt strong, .card-post-txt strong { font-family: var(--f-tit); font-size: 21px; line-height: 1.25; color: var(--marinho); }
.card-sol-txt > span, .card-post-txt > span { font-size: 15px; color: var(--aco); }
.card-sol-txt em { margin-top: auto; padding-top: 6px; font-style: normal; font-weight: 600; color: var(--azul); display: inline-flex; align-items: center; gap: 8px; }
.card-post-txt small { font-family: var(--f-mono); font-size: 12px; letter-spacing: .06em; color: var(--ciano-txt); }
.relacionadas { background: var(--nevoa); }
.faixa-cta { position: relative; overflow: hidden; border-radius: 28px; background: var(--noite); color: #fff; padding: 44px 48px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; }
.faixa-cta h2 { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; }
.pessoas { background: var(--nevoa); }
.pessoas h2 { color: var(--marinho); }
.pessoas-grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.pessoa { border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--linha); display: flex; flex-direction: column; }
.pessoa-foto { aspect-ratio: 3 / 4; background: var(--linha); }
.pessoa-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pessoa-txt { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 4px; }
.pessoa-txt strong { font-family: var(--f-tit); font-size: 17px; color: var(--marinho); }
.pessoa-txt span { font-size: 14px; line-height: 1.4; color: var(--aco); }
.pessoa-txt a { font-size: 13px; word-break: break-all; margin-top: 4px; }
.mvv { overflow: hidden; }
.mvv-grade { position: relative; display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 24px; }
.mvv article { border-radius: 24px; padding: 36px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); display: flex; flex-direction: column; gap: 14px; }
.mvv h2 { font-size: 28px; }
.mvv p { color: rgba(255, 255, 255, .82); }
.mvv-ponto { width: 14px; height: 14px; border-radius: 50%; background: var(--p1); }
.mvv-ponto.p2 { background: var(--p2); }
.mvv-ponto.p3 { background: var(--p3); }
.mvv ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.mvv li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: rgba(255, 255, 255, .86); line-height: 1.4; }
.mvv li .ico { color: var(--ciano); flex-shrink: 0; margin-top: 2px; }
.sobre-video-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.sobre-video-grade > div { display: flex; flex-direction: column; gap: 20px; }
.sobre-video-grade h2 { color: var(--marinho); }
.form-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 64px; align-items: start; }
.form-grade .prosa { display: flex; flex-direction: column; gap: 24px; }
.form-grade .prosa > * + * { margin-top: 0; }
.mapa-fachada { border-radius: 24px; background: var(--nevoa); min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--aco); font-size: 14px; }
.mapa-fachada iframe { width: 100%; height: 420px; border: 0; border-radius: 24px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--linha-forte); color: var(--marinho); font-weight: 600; font-size: 14px; }
.chip span { font-family: var(--f-mono); font-size: 12px; color: var(--aco); }
.chip[aria-current="page"] { background: var(--marinho); border-color: var(--marinho); color: #fff; }
.chip[aria-current="page"] span { color: var(--ciano-claro); }
.paginacao { margin-top: 48px; }
.paginacao .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.paginacao .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--linha-forte); display: inline-flex; align-items: center; justify-content: center; color: var(--marinho); font-weight: 600; }
.paginacao .current { background: var(--marinho); border-color: var(--marinho); color: #fff; }
.mais-posts { background: var(--nevoa); }
.mais-posts .h2-menor { margin: 18px 0 36px; color: var(--marinho); }
.vl-obrigado { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.vl-obrigado-icone { width: 84px; height: 84px; border-radius: 50%; background: #E7F7EE; color: var(--p2); display: flex; align-items: center; justify-content: center; }
.vl-obrigado-titulo { font-size: clamp(28px, 3vw, 40px); color: var(--marinho); }
.vl-obrigado-texto { font-size: 18px; color: var(--aco); }
.vl-obrigado-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.vl-obrigado-acoes .vl-btn { width: auto; }

/* ------------------------------------------------------- rodapé -- */
.rodape { position: relative; overflow: hidden; background: var(--noite); color: #fff; padding-top: 88px; }
.rodape-grade { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(5, minmax(0, 1fr)); gap: 32px; }
.rodape-marca { display: flex; flex-direction: column; gap: 22px; }
.rodape-logo { height: 54px; width: auto; }
.rodape-marca p { font-size: 16px; color: rgba(255, 255, 255, .74); max-width: 280px; }
.redes { display: flex; gap: 10px; }
.rodape-tit { font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-claro); margin-bottom: 18px; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.rodape ul a { font-size: 15px; color: rgba(255, 255, 255, .82); }
.rodape ul a:hover { color: #fff; }
.rodape-fone { font-size: 18px !important; font-weight: 600; color: #fff !important; }
.rodape-end { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .74); }
.rodape-selos { margin-top: 64px; padding-top: 30px; padding-bottom: 30px; display: flex; align-items: center; gap: 48px; border-top: 1px solid rgba(255, 255, 255, .1); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.rodape-selo { display: flex; align-items: center; gap: 16px; font-size: 15px; font-weight: 600; color: rgba(255, 255, 255, .86); line-height: 1.35; }
.rodape-selo img { height: 64px; width: auto; }
.rodape-selo-sep { width: 1px; height: 48px; background: rgba(255, 255, 255, .14); }
.rodape-marca-grande { font-family: var(--f-tit); font-weight: 700; font-size: clamp(110px, 17vw, 250px); line-height: .78; letter-spacing: -.06em; color: rgba(255, 255, 255, .045); text-align: center; white-space: nowrap; margin-top: 40px; user-select: none; }
.rodape-base { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; color: rgba(255, 255, 255, .7); padding-top: 18px; padding-bottom: 18px; }
.rodape-base a, .rodape-base .link-botao { color: rgba(255, 255, 255, .82); }
.zap { position: fixed; right: 24px; bottom: 24px; z-index: 40; width: 60px; height: 60px; border-radius: 50%; background: var(--p2); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 14px 34px rgba(0, 0, 0, .3); transition: transform .25s; }
.zap:hover { color: #fff; transform: scale(1.06); }

/* --------------------------------------------- consentimento (core) -- */
.vl-consent .vl-btn { width: auto; min-height: 44px; }

@media (min-width: 1025px) and (max-height: 780px) {
	.capa-canais { padding-top: 28px; padding-bottom: 28px; }
	.capa-item { gap: 18px; }
	.capa-play { width: 150px; height: 150px; }
	.capa-play-botao { width: 64px; height: 64px; }
}

/* --------------------------------------------------------- tablet -- */
@media (max-width: 1180px) {
	:root { --gut: 32px; --secao: 100px; }
	.menu > li > a, .nav-pai { padding: 0 11px; font-size: 14px; }
	.topo-cta { display: none; }
	.numeros-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 40px; }
	.pessoas-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.capa-play { width: 150px; height: 150px; margin-right: 0; }
	.capa-play-botao { width: 64px; height: 64px; }
}

@media (max-width: 1024px) {
	:root { --topo-h: 84px; }
	.topo-util { display: none; }
	.topo-grade { height: 84px; }
	.menu-btn { display: inline-flex; }
	.nav { position: fixed; inset: 0; z-index: -1; background: var(--noite); color: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 112px var(--gut) 32px; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
	.menu-aberto .nav { opacity: 1; visibility: visible; }
	.menu-aberto { overflow: hidden; }
	/* backdrop-filter no topo prende o painel fixo dentro da barra: some com o menu aberto */
	.menu-aberto .topo, .menu-aberto .topo.solido { background: var(--noite); color: #fff; box-shadow: none; backdrop-filter: none; }
	.menu-aberto .topo .logo-branco { display: block; }
	.menu-aberto .topo .logo-cor { display: none; }
	.menu-aberto .topo .menu-btn { border-color: rgba(255, 255, 255, .3); background: transparent; color: #fff; }
	.topo .menu > li > a:hover, .topo .nav-pai:hover, .topo .nav-pai[aria-expanded="true"], .topo.solido .menu > li > a:hover, .topo.solido .nav-pai:hover, .topo.solido .nav-pai[aria-expanded="true"] { background: none; }
	.menu-aberto .menu-btn span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.menu-aberto .menu-btn span:nth-child(2) { opacity: 0; }
	.menu-aberto .menu-btn span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.menu { flex-direction: column; align-items: stretch; gap: 0; }
	.menu > li { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	.menu > li > a, .nav-pai { width: 100%; justify-content: space-between; height: 60px; padding: 0; border-radius: 0; font-family: var(--f-tit); font-size: 22px; }
	.menu > li > a:hover, .nav-pai:hover, .nav-pai[aria-expanded="true"] { background: none; }
	.sub { position: static; display: none; min-width: 0; background: none; border: 0; box-shadow: none; padding: 0 0 14px; flex-direction: row; flex-wrap: wrap; gap: 8px; visibility: visible; opacity: 1; transform: none; transition: none; }
	.sub::before { display: none; }
	.tem-sub:hover > .sub, .tem-sub:focus-within > .sub { display: none; }
	.tem-sub.aberto > .sub { display: flex; }
	.sub a { padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 14px; }
	.nav-cta-celular { display: inline-flex; margin-top: 28px; }
	.capa { height: auto; min-height: 760px; }
	.capa-grade { flex-direction: column; align-items: flex-start; justify-content: flex-end; padding-bottom: 12px; }
	.capa-play { display: none; }
	.capa-canais { display: flex; overflow-x: auto; scrollbar-width: none; gap: 8px; padding-top: 22px; padding-bottom: 28px; }
	.capa-canais::-webkit-scrollbar { display: none; }
	.canal { flex-shrink: 0; flex-direction: row; align-items: center; padding: 0 16px; min-height: 44px; border-radius: 999px; background: rgba(7, 20, 46, .45); border: 1px solid rgba(255, 255, 255, .3); opacity: 1; }
	.canal[aria-pressed="true"] { background: #fff; color: var(--noite); border-color: #fff; }
	.canal-barra, .canal-num { display: none; }
	.canal-nome { font-size: 14px; white-space: nowrap; }
	.cab-2 { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 44px; }
	.cab-2 > div:last-child, .cab-2 > p { max-width: 720px; }
	.sol-grade { display: flex; flex-direction: column; gap: 8px; }
	.sol { display: block; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03); overflow: hidden; }
	.sol.ativa { border-color: rgba(0, 167, 225, .5); background: rgba(0, 167, 225, .1); }
	.sol-cab, .sol.ativa .sol-cab { width: 100%; border: 0; background: none; }
	.sol-cab .ico { opacity: 1; transform: rotate(90deg); color: rgba(255, 255, 255, .6); }
	.sol.ativa .sol-cab .ico { transform: rotate(-90deg); color: var(--ciano); }
	.sol-corpo { border-radius: 0; box-shadow: none; border: 0; background: none; }
	.sol-foto { margin: 0 16px; border-radius: 12px; }
	.sol-conta { display: none; }
	.sol-txt { padding: 18px 16px 20px; }
	.sol-txt h3 { display: none; }
	.sol-txt p { font-size: 16px; }
	.sobre-grade, .compromissos-grade, .cases-grade, .fecho-painel, .form-grade, .post-grade, .sobre-video-grade { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.sobre-fotos { height: 520px; max-width: 620px; }
	.sobre-f1 { height: 460px; }
	.etapas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.etapas-lista::before, .etapas-lista.rolagem::after { display: none; }
	.fecho-painel { padding: 48px 40px; }
	.cards-sol, .posts-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rodape-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rodape-marca { grid-column: 1 / -1; }
	.post-lado { position: static; }
	.mvv-grade { grid-template-columns: 1fr 1fr; }
	.mvv-valores { grid-column: 1 / -1; }
	.faixa-cta { grid-template-columns: minmax(0, 1fr); }
	.pessoas-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.prosa .destaques-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.admin-bar .topo { top: 46px; }
}

/* -------------------------------------------------------- celular -- */
@media (max-width: 680px) {
	:root { --gut: 20px; --secao: 72px; --raio: 22px; }
	body { font-size: 16px; }
	.lede, .pagina-topo .lede { font-size: 16px; }
	.logo-img { height: 38px; }
	.topo.solido .logo-img { height: 36px; }
	.topo.solido .topo-grade { height: 68px; }
	.capa { min-height: 100svh; }
	.capa-veu { background: linear-gradient(180deg, rgba(7, 20, 46, .7) 0%, rgba(7, 20, 46, .25) 22%, rgba(7, 20, 46, .55) 42%, rgba(7, 20, 46, .94) 66%, #07142E 100%); }
	.capa-texto, .capa-item { gap: 18px; }
	.capa-titulo { font-size: clamp(27px, 7.6vw, 34px); }
	/* a fonte reserva quebra linha diferente da Sora: a pilha tem piso e o selo, uma linha só,
	   para a chegada da fonte não mexer na capa (CLS 0) */
	.capa-pilha { min-height: 420px; }
	.capa-item .kicker { max-width: 100%; }
	.capa-item .kicker > span:last-child { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.capa-lede { font-size: 16px; }
	.capa-acoes { flex-direction: column; align-items: stretch; width: 100%; }
	.capa-acoes .btn { min-height: 54px; }
	.numeros { padding-bottom: 72px; }
	.numeros-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	.numero { padding-top: 18px; gap: 10px; }
	.numero-valor .mais { font-size: 24px; }
	.numero-valor b { font-size: 52px; }
	.numero-valor .unid { font-size: 16px; }
	.numero p { font-size: 14px; }
	.selos { margin-top: 36px; gap: 8px; }
	.selos li { font-size: 14px; min-height: 40px; padding: 0 14px; }
	.sol-nome { font-size: 16px; }
	.sobre-fotos { height: 380px; }
	.sobre-f1 { width: 78%; height: 330px; border-radius: 22px; }
	.sobre-f2 { width: 46%; height: 140px; border-width: 6px; border-radius: 18px; }
	.sobre-iso { left: auto; right: 12px; top: 12px; width: 96px; height: 96px; }
	.sobre-iso b { font-size: 25px; }
	.sobre-iso small { font-size: 7px; }
	.sobre-iso em { font-size: 9px; }
	.sobre-chip { display: none; }
	.etapas { margin-top: 64px; padding-top: 48px; }
	.etapas-lista { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.etapas-lista li { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 16px; row-gap: 8px; padding-bottom: 28px; }
	.etapas-lista li > :not(.etapa-ponto) { grid-column: 2; }
	.etapa-ponto { grid-row: 1 / span 3; width: 22px; height: 22px; box-shadow: none; }
	.etapas-lista strong { font-size: 20px; }
	.cartao-iso { padding: 32px 28px; min-height: 0; }
	.cartao-social { grid-template-columns: minmax(0, 1fr); }
	.cartao-social-foto { height: 200px; }
	.cartao-social-txt { padding: 26px 24px 28px; }
	.abas { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
	.abas button { padding: 0 8px; font-size: 14px; }
	.logo-tile { width: 148px; height: 84px; border-radius: 14px; padding: 12px 14px; }
	.faixas { gap: 12px; margin-top: 28px; }
	.faixa-trilho { gap: 12px; padding: 0 6px; }
	.case-txt h3 { font-size: 22px; }
	.case-txt p { font-size: 15px; }
	.case-play { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
	.case-midia, .video-fachada { border-radius: 18px; }
	.case-lista { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 12px; margin: 0 calc(var(--gut) * -1); padding: 0 var(--gut); scroll-snap-type: x mandatory; }
	.case-lista::-webkit-scrollbar { display: none; }
	.case-lista li { flex-shrink: 0; width: 200px; scroll-snap-align: start; }
	.case-item { flex-direction: column; align-items: flex-start; gap: 10px; padding: 0; border: 0; background: none !important; min-height: 0; }
	.case-item img { width: 200px; height: 112px; border-radius: 12px; outline: 2px solid transparent; outline-offset: 2px; }
	.case-item[aria-pressed="true"] img { outline-color: var(--ciano); }
	.case-item small, .case-item .ico { display: none; }
	.case-item strong { font-size: 14px; }
	.fecho { padding: 56px 0; }
	.fecho .wrap { padding: 0 16px; }
	.fecho-painel { border-radius: 28px; padding: 32px 20px 20px; gap: 28px; }
	.fecho-txt .btn { align-self: stretch; }
	.vl-form { padding: 24px 20px; border-radius: 20px; }
	.vl-form-grid { grid-template-columns: minmax(0, 1fr); }
	.vl-form-titulo { font-size: 22px; }
	.pagina-topo { padding: calc(var(--topo-h) + 40px) 0 56px; }
	.cards-sol, .posts-grade { grid-template-columns: minmax(0, 1fr); }
	.pessoas-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.mvv-grade { grid-template-columns: minmax(0, 1fr); }
	.mvv ul { grid-template-columns: minmax(0, 1fr); }
	.mvv article { padding: 28px 24px; }
	.prosa { font-size: 16px; }
	.prosa .galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prosa .links-uteis, .prosa .objetivos, .prosa .destaques-4 { grid-template-columns: minmax(0, 1fr); }
	.faixa-cta { padding: 32px 24px; }
	.rodape { padding-top: 56px; }
	.rodape-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	.rodape-selos { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 40px; }
	.rodape-selo-sep { display: none; }
	.rodape-base { flex-direction: column; align-items: flex-start; padding-bottom: 28px; }
	.zap { right: 16px; bottom: 16px; width: 56px; height: 56px; }
	.video-modal-fechar { top: 16px; right: 16px; }
	.video-modal video { border-radius: 0; }
	.video-modal { width: 100vw; }
}

/* botão "assistir com som" no celular (o selo giratório some) */
.capa-play-celular { display: none; }
@media (max-width: 1024px) {
	.capa-play-celular { display: inline-flex; align-items: center; gap: 14px; border: 0; background: none; color: #fff; padding: 0; text-align: left; min-height: 52px; transition: opacity .4s ease, visibility 0s; }
	.capa:not([data-canal="0"]) .capa-play-celular { opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
	.capa-play-celular > span:first-child { width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35); display: flex; align-items: center; justify-content: center; animation: fac-pulso 2.6s ease-in-out infinite; }
	.capa-play-celular strong { display: block; font-size: 15px; }
	.capa-play-celular small { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; color: rgba(255, 255, 255, .72); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	.faixa-trilho { animation: none; }
	.faixa { overflow-x: auto; }
	.js .revela { opacity: 1; transform: none; }
}
