
/* ===== Estrutura da página ===== */
.nav { position: sticky; top: 0; z-index: var(--z-nav); background: rgb(255 255 255 / 0.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: var(--fio) solid var(--claro-fio); }
.nav .contentor { display: flex; align-items: center; gap: var(--s-5); height: 68px; }
.nav .logo-link { flex: none; display: block; width: 116px; }
.nav .logo-link svg { width: 100%; height: auto; overflow: visible; }
.nav .logo-link .lg-seta-g { transition: translate var(--d-medio) var(--e-seta); }
.nav .logo-link:hover .lg-seta-g { translate: 4px -4px; }
.nav ul { display: flex; gap: var(--s-1); margin: 0 0 0 auto; padding: 0; list-style: none; }
.nav ul a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s-3); color: var(--claro-texto); text-decoration: none; font-weight: var(--peso-semi); background: linear-gradient(var(--verde-400) 0 0) 50% 100% / 0 2px no-repeat; transition: background-size var(--d-medio) var(--e-sai); }
.nav ul a:hover { background-size: calc(100% - 24px) 2px; }
.nav .btn { min-height: 44px; padding: 0 var(--s-4); font-size: var(--t-sm); }
@media (max-width: 360px) { .nav .btn { padding: 0 var(--s-3); } .nav .btn .btn-icone { display: none; } .nav .logo-link { width: 100px; } }
.nav .btn { white-space: nowrap; }
@media (max-width: 980px) { .nav ul { display: none; } .nav .btn { margin-left: auto; } }

/* Seletor de língua PT | EN. O quadrado azul desliza para a língua ativa. */
.idioma { position: relative; flex: none; display: grid; grid-template-columns: 1fr 1fr; border: var(--fio) solid var(--claro-fio-forte); font-family: var(--fonte-mono); font-size: var(--t-mono); font-weight: var(--peso-semi); letter-spacing: var(--tr-mono); }
.idioma::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 50%; background: var(--acao); transition: translate var(--d-medio) var(--e-sai); }
.idioma:has(a:last-child[aria-current])::before { translate: 100% 0; }
.idioma a { position: relative; display: grid; place-items: center; min-width: 40px; min-height: 40px; color: var(--claro-texto); text-decoration: none; transition: color var(--d-medio) var(--e-sai); }
.idioma a[aria-current] { color: var(--acao-texto); }
.idioma a:not([aria-current]):hover { color: var(--acao); }
.idioma a:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
@media (max-width: 980px) { .nav .idioma { margin-left: auto; } .nav .idioma + .btn { margin-left: 0; } }
@media (max-width: 420px) { .nav .contentor { gap: var(--s-3); } .idioma a { min-width: 34px; } }
@media (prefers-reduced-motion: reduce) { .idioma::before { transition: none; } }
/* Com o seletor ao lado, "Pedir orçamento" não cabe num telemóvel estreito. */
.nav-curto { display: none; }
@media (max-width: 400px) { .nav-longo { display: none; } .nav-curto { display: inline; } }


.sec { padding-block: var(--seccao); position: relative; }
.cab { display: grid; gap: var(--s-4); margin-bottom: var(--s-8); }
@media (min-width: 960px) { .cab { grid-template-columns: 6fr 5fr; align-items: end; gap: var(--s-8); } }
.cab .lead { margin: 0; }
.cab > *, .escada > *, .pf > *, .faq-gr > *, .cesar > * { min-width: 0; }
.rotulo { flex-wrap: wrap; }


/* ===== 1 · HERO: PAINEL DE CRESCIMENTO ===== */
.hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--azul-50) 0%, #FFFFFF 70%); }
.hero-grelha { display: grid; gap: var(--s-7); align-items: center; padding-block: var(--s-8) var(--s-8); }
@media (min-width: 1000px) { .hero-grelha { grid-template-columns: 5fr 6fr; gap: var(--s-8); padding-block: var(--s-9); } }
.hero-grelha > * { min-width: 0; }
.hero-texto { display: grid; gap: var(--s-5); justify-items: start; container-type: inline-size; }
/* Limite em cqi: a linha mais comprida do título (~10,7em) cabe na coluna. */
.hero h1 { font-size: min(clamp(2.6rem, 1.2rem + 4.2vw, 5rem), 9.2cqi); font-weight: var(--peso-get); line-height: 0.98; letter-spacing: -0.045em; color: var(--tinta-900); }
.hero .lead { color: var(--claro-texto); opacity: 0.8; max-width: 44ch; margin: 0; }
.hero .acoes { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.hero-provas { display: flex; flex-wrap: wrap; gap: var(--s-4) var(--s-7); padding-top: var(--s-5); border-top: var(--fio) solid var(--claro-fio); }
.hero-provas div { display: grid; }
.hero-provas b { font-size: var(--t-xl); font-weight: var(--peso-right); letter-spacing: -0.02em; line-height: 1.1; }
.hero-provas span { color: var(--claro-suave); font-size: var(--t-sm); }

.cresc { display: grid; gap: var(--s-4); }
.cresc-palco { --px: 0; --py: 0; --p: 0; position: relative; isolation: isolate; aspect-ratio: 600 / 620; container-type: inline-size; overflow: hidden;
  border: var(--fio) solid rgb(0 94 207 / 0.12);
  background: linear-gradient(180deg, #FFFFFF 0%, var(--neutro-50) 100%);
  box-shadow: 0 1px 2px rgb(6 16 31 / 0.04), 0 30px 60px -30px rgb(0 94 207 / 0.25); }
/* Grelha fina que se desvanece para os cantos e aparece antes da linha. */
.cresc-palco::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(rgb(0 94 207 / 0.09) 1px, transparent 1px) 0 0 / 8.333% 8.065%,
    linear-gradient(90deg, rgb(0 94 207 / 0.09) 1px, transparent 1px) 0 0 / 8.333% 8.065%;
  -webkit-mask-image: radial-gradient(120% 100% at 30% 85%, #000 30%, transparent 85%);
  mask-image: radial-gradient(120% 100% at 30% 85%, #000 30%, transparent 85%);
  opacity: 0; transition: opacity 1200ms var(--e-sai); }
.cresc-palco.pronto::before { opacity: 1; }
/* Halo verde que acende em cima à direita à medida que a seta sobe. */
.cresc-palco::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 50% at 92% 6%, rgb(5 223 150 / 0.22), transparent 70%);
  opacity: var(--p); }
.cresc-grafico { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.cresc-area { fill: url(#cresc-grad); }
/* A linha é a seta do logótipo a crescer: verde, cantos vivos, com um
   brilho suave por baixo em vez de sombra dura. */
.cresc-linha { fill: none; stroke: var(--verde-400); stroke-width: 11; stroke-linejoin: miter; stroke-miterlimit: 10; stroke-linecap: butt;
  filter: drop-shadow(0 8px 14px rgb(5 223 150 / 0.35)); }
.cresc-sombra { display: none; }
.cresc-ponta polygon { fill: var(--verde-400); filter: drop-shadow(0 6px 12px rgb(5 223 150 / 0.45)); }
.cresc-ponta.disparo polygon { animation: disparo-ponta 900ms var(--e-seta); }
@keyframes disparo-ponta { 35% { translate: 14px -14px; } }

/* Pontos: aparecem com um pequeno pulso. */
.cresc-marcas rect { fill: #FFFFFF; stroke: var(--azul-600); stroke-width: 3.5; opacity: 0; scale: 0.2; transform-box: fill-box; transform-origin: center;
  transition: opacity 400ms var(--e-sai), scale 600ms var(--e-seta), fill var(--d-rapido); }
.cresc-marcas rect.on { opacity: 1; scale: 1; }
.cresc-marcas rect.foco { fill: var(--azul-600); scale: 1.5; }

/* Brilho final: uma faixa de luz atravessa o painel quando a seta chega. */
.cresc-luz { position: absolute; inset: 0; pointer-events: none; z-index: 3;
  background: linear-gradient(115deg, transparent 35%, rgb(255 255 255 / 0.65) 50%, transparent 65%);
  translate: -110% 0; }
.cresc-palco.completo .cresc-luz { animation: luz 1400ms var(--e-sai) 150ms; }
@keyframes luz { to { translate: 110% 0; } }

/* Cartões de resultados: vidro fosco, sombra leve, entram desfocados. */
.metrica { position: absolute; left: var(--x); top: var(--y); z-index: 2; width: 33%;
  display: flex; align-items: center; gap: 1.6cqw; padding: 1.6cqw 2.2cqw 1.6cqw 1.6cqw;
  background: rgb(255 255 255 / 0.86);
  -webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%);
  border: 1px solid rgb(6 16 31 / 0.07);
  box-shadow: 0 1px 2px rgb(6 16 31 / 0.04), 0 14px 32px -12px rgb(0 94 207 / 0.28);
  clip-path: polygon(0 0, calc(100% - 1.4cqw) 0, 100% 1.4cqw, 100% 100%, 0 100%);
  opacity: 0; filter: blur(8px); scale: 0.94;
  translate: calc(var(--px) * var(--prof) * 18px - 14px) calc(var(--py) * var(--prof) * 18px + 14px);
  transition: opacity 700ms var(--e-sai), filter 700ms var(--e-sai), scale 900ms var(--e-sai), translate 900ms var(--e-sai), border-color 400ms; }
.metrica.on { opacity: 1; filter: blur(0); scale: 1; translate: calc(var(--px) * var(--prof) * 18px) calc(var(--py) * var(--prof) * 18px); }
.metrica:hover { border-color: var(--azul-600); }
.m-icone { flex: none; display: grid; place-items: center; width: 6cqw; height: 6cqw; background: var(--azul-50); color: var(--azul-600); }
.m-icone svg { width: 58%; height: 58%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; }
.m-estrela svg { fill: #F5B400; stroke: none; }
.m-estrela { background: #FFF6DB; }
.m-txt { display: grid; gap: 0.3cqw; }
.m-rot { font-size: 1.9cqw; color: var(--claro-suave); font-weight: var(--peso-semi); line-height: 1.15; }
.m-val { display: flex; align-items: center; gap: 0.8cqw; font-size: 4cqw; line-height: 1; font-weight: var(--peso-right); letter-spacing: -0.02em; color: var(--tinta-900); font-variant-numeric: tabular-nums; }
.m-val .seta { width: 2cqw; height: 2cqw; color: var(--verde-500); }
.m-val small { font-size: 1.7cqw; color: #F5B400; letter-spacing: 0.05em; font-weight: var(--peso-texto); }
.m-linhas { display: grid; gap: 0.7cqw; width: 14cqw; margin-top: 0.6cqw; }
.m-linhas i { height: 0.9cqw; background: var(--neutro-200); }
.m-linhas i:first-child { background: var(--azul-600); width: 80%; }
.m-google .m-rot { color: var(--tinta-900); white-space: normal; }
.metrica.on .m-icone svg { animation: icone 700ms var(--e-seta) 150ms both; }
@keyframes icone { from { scale: 0.3; opacity: 0; } }
.metrica.on.acabou-de-chegar { border-color: rgb(5 223 150 / 0.7); }
.cresc-aviso { position: absolute; right: 2.4cqw; bottom: 2.4cqw; color: var(--claro-suave); font-size: max(10px, 1.6cqw); }

/* Régua do tempo */
.cresc-ctrl { display: grid; gap: var(--s-2); }
.cresc-ctrl-topo { display: flex; align-items: baseline; gap: var(--s-3); }
.cresc-ctrl-topo .mono { color: var(--claro-suave); }
.cresc-ctrl-topo b { font-size: var(--t-lg); color: var(--azul-600); font-weight: var(--peso-right); }
.cresc-repetir { margin-left: auto; min-height: 36px; padding: 0 var(--s-3); border: var(--fio) solid var(--claro-fio-forte); background: #FFFFFF; cursor: pointer; color: var(--claro-texto); }
.cresc-repetir:hover { border-color: var(--azul-600); color: var(--azul-600); }
.cresc-pista { position: relative; }
.cresc-celulas { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; height: 14px; }
.cresc-celulas i { background: var(--azul-100); transition: background var(--d-rapido); }
.cresc-celulas i.on { background: var(--azul-600); }
.cresc-celulas i.on:last-child { background: var(--verde-400); }
.cresc-pista input { position: absolute; inset: -14px 0; width: 100%; height: calc(100% + 28px); opacity: 0; cursor: ew-resize; margin: 0; }
.cresc-pista:has(input:focus-visible) { outline: var(--fio-forte) solid var(--foco); outline-offset: 6px; }
.cresc-legenda { display: flex; justify-content: space-between; color: var(--claro-suave); }

/* Em ecrãs pequenos os cartões de canto saem: ficam os quatro que contam a história. */
@container (max-width: 420px) {
  .metrica:first-of-type { --y: 76% !important; }
  .metrica { padding: 1.8cqw 2.6cqw 1.8cqw 1.8cqw; }
  .m-rot { font-size: 2.9cqw; }
  .m-val { font-size: 5.4cqw; }
  .m-icone { width: 8cqw; height: 8cqw; }
  .m-val .seta { width: 3cqw; height: 3cqw; }
}

/* ===== 2 · CLIENTES ===== */
.clientes { position: relative; border-block: var(--fio) solid var(--claro-fio); padding-block: var(--s-6); }
.clientes p { text-align: center; margin: 0 0 var(--s-2); color: var(--claro-suave); }
.clientes .faixa-pista { gap: var(--s-9); padding-right: var(--s-9); }
.clientes .faixa { padding-block: var(--s-4); }
/* Mobile: a faixa para e os logótipos ficam em grelha de 3 por linha. */
@media (max-width: 640px) {
  .clientes .faixa { mask-image: none; padding-inline: var(--s-4); }
  .clientes .faixa-pista { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6) var(--s-4); width: auto; padding-right: 0; transform: none !important; }
  .clientes .cliente { width: 100%; height: calc(var(--h, 40px) * 0.75); aspect-ratio: auto; }
  .clientes .cliente[aria-hidden] { display: none; }
}

/* ===== 3 · RAZÕES ===== */
.razoes { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
.razao { padding: var(--s-6); background: #FFFFFF; display: grid; gap: var(--s-4); align-content: start; }
.razao .n { font-family: var(--fonte-mono); font-size: var(--t-mono); color: var(--azul-600); display: flex; justify-content: space-between; align-items: center; }
.razao .n .seta { width: 20px; height: 20px; color: var(--verde-400); transition: rotate var(--d-medio) var(--e-seta); }
.razao:hover .n .seta { rotate: 45deg; }
.razao h3 { font-size: var(--t-xl); font-weight: var(--peso-right); letter-spacing: -0.02em; line-height: 1.15; }
.razao p { margin: 0; color: var(--claro-suave); }

/* ===== 4 · DUAS FRENTES ===== */
.frentes { display: grid; gap: var(--s-4); }
@media (min-width: 900px) { .frentes { display: flex; } }
.frente { flex: 1; min-width: 0; display: grid; align-content: start; gap: var(--s-5); padding: var(--s-6); border: var(--fio) solid var(--claro-fio-forte); background: #FFFFFF; transition: flex var(--d-lento) var(--e-sai), box-shadow var(--d-medio), border-color var(--d-medio); }
.frente.ativa { flex: 1.7; border-color: var(--azul-600); box-shadow: var(--sombra-seta-azul); }
.frente-topo { display: flex; justify-content: space-between; align-items: start; gap: var(--s-4); }
.frente-topo .mono { color: var(--azul-600); }
.frente-topo button { all: unset; cursor: pointer; display: grid; place-items: center; width: 44px; height: 44px; border: var(--fio) solid var(--claro-fio-forte); color: var(--azul-600); flex: none; }
.frente-topo button:focus-visible { outline: var(--fio-forte) solid var(--foco); outline-offset: 2px; }
.frente-topo button .seta { width: 16px; height: 16px; rotate: 135deg; }
.frente.ativa .frente-topo button { background: var(--azul-600); color: var(--verde-400); border-color: var(--azul-600); }
.frente h3 { font-size: var(--t-2xl); font-weight: var(--peso-get); letter-spacing: var(--tr-titulo); line-height: 1.02; }
.frente-corpo { display: grid; gap: var(--s-4); }
@media (min-width: 900px) {
  .frente-corpo { opacity: 0.35; transition: opacity var(--d-medio); }
  .frente.ativa .frente-corpo { opacity: 1; }
}
.frente ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.frente li { display: grid; grid-template-columns: 14px 1fr; gap: var(--s-3); align-items: baseline; }
.frente li .seta { width: 10px; height: 10px; color: var(--verde-500); }
.frente-visual { height: 140px; display: flex; align-items: end; gap: var(--s-2); }
.frente-visual i { flex: 1; background: var(--azul-100); transition: background var(--d-medio); }
.frente.ativa .frente-visual i { background: var(--azul-600); }
.frente.ativa .frente-visual i:last-child { background: var(--verde-400); }
.mini-browser { height: 140px; border: var(--fio-forte) solid var(--claro-texto); display: grid; grid-template-rows: 18px 1fr; }
.mini-browser > div:first-child { display: flex; gap: 4px; align-items: center; padding: 0 6px; border-bottom: var(--fio-forte) solid var(--claro-texto); }
.mini-browser > div:first-child i { width: 6px; height: 6px; background: var(--claro-texto); }
.mini-browser > div:last-child { padding: var(--s-3); display: grid; gap: 6px; align-content: start; }
.mini-browser span { display: block; height: 8px; background: var(--azul-100); transition: background var(--d-medio); }
.frente.ativa .mini-browser span { background: var(--azul-600); }
.frente.ativa .mini-browser span.cta { background: var(--verde-400); }

/* ===== 5 · NÚMEROS ===== */
.numeros-gr { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.numeros-gr > div { padding: var(--s-6) var(--s-5) var(--s-6) 0; border-top: var(--fio-forte) solid var(--claro-fio-forte); position: relative; }
.numeros-gr > div::before { content: ""; position: absolute; top: -2px; left: 0; height: 2px; width: 0; background: var(--azul-600); transition: width 1.4s var(--e-sai); }
.numeros-gr.visto > div::before { width: 100%; }
.numeros-gr .numero { font-size: clamp(3.25rem, 2rem + 4vw, 5.5rem); color: var(--tinta-900); }
.numeros-gr p { margin: var(--s-3) 0 0; color: var(--claro-suave); max-width: 24ch; }

/* ===== 6 · PORTEFÓLIO ===== */
.pf { display: grid; gap: var(--s-6); }
@media (min-width: 1000px) { .pf { grid-template-columns: 4fr 8fr; align-items: start; } }
.pf-lado { display: grid; gap: var(--s-6); }
.pf-abas { display: grid; border-top: var(--fio) solid var(--claro-fio-forte); }
.pf-abas button { all: unset; cursor: pointer; display: grid; grid-template-columns: 32px 1fr 16px; gap: var(--s-3); align-items: center; min-height: 60px; border-bottom: var(--fio) solid var(--claro-fio-forte); font-size: var(--t-lg); font-weight: var(--peso-semi); color: var(--claro-suave); transition: color var(--d-rapido), padding var(--d-medio) var(--e-sai); }
.pf-abas button .seta { width: 14px; height: 14px; opacity: 0; translate: -8px 8px; transition: opacity var(--d-medio), translate var(--d-medio) var(--e-sai); color: var(--verde-500); }
.pf-abas button:hover { color: var(--claro-texto); }
.pf-abas button[aria-selected="true"] { color: var(--claro-texto); padding-left: var(--s-3); box-shadow: inset 3px 0 0 var(--azul-600); }
.pf-abas button[aria-selected="true"] .seta { opacity: 1; translate: 0 0; }
.pf-abas button:focus-visible { outline: var(--fio-forte) solid var(--foco); outline-offset: -2px; }
.pf-info { display: grid; gap: var(--s-3); }
.pf-info h3 { font-size: var(--t-xl); font-weight: var(--peso-right); letter-spacing: -0.02em; }
.pf-info p { margin: 0; color: var(--claro-suave); }
.pf-info [data-tags] { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pf-palco { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); justify-items: center; }
.pf-ecras { display: inline-flex; border: var(--fio) solid var(--claro-fio-forte); justify-self: end; }
.pf-ecras button { min-height: 40px; padding: 0 var(--s-4); border: 0; background: transparent; cursor: pointer; font-family: var(--fonte-mono); font-size: var(--t-mono); letter-spacing: var(--tr-mono); text-transform: uppercase; color: var(--claro-suave); }
.pf-ecras button + button { border-left: var(--fio) solid var(--claro-fio-forte); }
.pf-ecras button[aria-pressed="true"] { background: var(--claro-texto); color: #FFFFFF; }
.pf-janela { width: 100%; background: #FFFFFF; border: var(--fio-forte) solid var(--claro-texto); box-shadow: var(--sombra-seta-azul); cursor: ns-resize; transition: width var(--d-lento) var(--e-sai); position: relative; }
.pf[data-ecra-ativo="tel"] .pf-janela { width: min(340px, 100%); }
.pf-barra { display: flex; align-items: center; gap: var(--s-3); height: 36px; padding: 0 var(--s-3); border-bottom: var(--fio-forte) solid var(--claro-texto); }
.pf-barra i { width: 9px; height: 9px; border: var(--fio-forte) solid var(--claro-texto); flex: none; }
.pf-barra span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; color: var(--claro-suave); }
.pf-vista { position: relative; height: clamp(320px, 38vw, 540px); overflow: hidden; background: var(--neutro-100); }
.pf[data-ecra-ativo="tel"] .pf-vista { height: clamp(480px, 60vh, 640px); }
.pf-vista img { width: 100%; height: auto; transition-property: translate, opacity; transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1), ease; }
.pf-dica { position: absolute; right: var(--s-3); bottom: var(--s-3); display: inline-flex; gap: var(--s-2); align-items: center; padding: var(--s-1) var(--s-3); background: var(--claro-texto); color: #FFFFFF; pointer-events: none; transition: opacity var(--d-medio); }
.pf-dica .seta { width: 10px; height: 10px; color: var(--verde-400); rotate: 90deg; }
.a-descer .pf-dica { opacity: 0; }

/* ===== 7 · ESCADA ===== */
.escada { display: grid; gap: var(--s-6); }
@media (min-width: 960px) { .escada { grid-template-columns: 7fr 5fr; align-items: end; } }
.degraus { --topo: 56px; --passo: 0; position: relative; display: grid; grid-template-columns: repeat(5, 1fr); align-items: end; gap: var(--s-2); height: clamp(280px, 32vw, 420px); padding-top: var(--topo); }
.degrau { all: unset; box-sizing: border-box; cursor: pointer; position: relative; height: calc(var(--h) * 1%); display: flex; flex-direction: column; justify-content: space-between; padding: var(--s-3); background: #FFFFFF; border: var(--fio) solid var(--claro-fio-forte); transition: background var(--d-medio) var(--e-sai), color var(--d-medio), border-color var(--d-medio); }
.degrau .mono { color: var(--azul-600); }
.degrau b { font-size: var(--t-sm); line-height: 1.2; font-weight: var(--peso-semi); }
.degrau:hover { border-color: var(--azul-600); }
.degrau.feito { background: var(--azul-100); border-color: var(--azul-100); }
.degrau[aria-selected="true"] { background: var(--azul-600); border-color: var(--azul-600); color: #FFFFFF; }
.degrau[aria-selected="true"] .mono { color: var(--verde-400); }
.degrau:focus-visible { outline: var(--fio-forte) solid var(--foco); outline-offset: 3px; }
@media (max-width: 640px) { .degrau b { display: none; } .degrau { padding: var(--s-2); } .degraus { gap: var(--s-1); } }
.escada-seta { position: absolute; width: 36px; height: 36px; color: var(--verde-400); pointer-events: none; z-index: 1;
  left: calc((100% - 4 * var(--s-2)) / 5 * (var(--passo) + 0.5) + var(--s-2) * var(--passo) - 18px);
  bottom: calc((100% - var(--topo)) * (0.2 + var(--passo) * 0.2) + 10px);
  transition: left 700ms var(--e-seta), bottom 700ms var(--e-seta); }
.escada-painel { display: grid; gap: var(--s-3); padding: var(--s-6); background: #FFFFFF; border: var(--fio) solid var(--claro-fio); border-left: 4px solid var(--azul-600); }
.escada-painel .mono { color: var(--azul-600); }
.escada-painel h3 { font-size: var(--t-2xl); font-weight: var(--peso-right); letter-spacing: var(--tr-titulo); line-height: 1.05; }
.escada-painel p { margin: 0; color: var(--claro-suave); font-size: var(--t-lg); }
.escada-painel ul { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s-2); }
.escada-painel li { display: flex; gap: var(--s-3); align-items: baseline; }
.escada-painel li .seta { width: 10px; height: 10px; color: var(--verde-500); }
.escada-painel[hidden] { display: none; }
.escada-painel > * { min-width: 0; }
@media (max-width: 640px) { .escada-painel { padding: var(--s-5); } .escada-painel h3 { font-size: var(--t-xl); } }
.escada-painel:not([hidden]) { animation: entra-painel 500ms var(--e-sai); }
@keyframes entra-painel { from { opacity: 0; translate: -12px 12px; } }

/* ===== 9 · PACOTES ===== */
.pacotes-cab { display: grid; gap: var(--s-4); margin-bottom: var(--s-7); }
.pacotes-cab p { margin: 0; color: var(--claro-suave); min-height: 1.6em; }
.pacotes-grelha { display: grid; gap: var(--s-5); grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); align-items: start; }
.pacote { position: relative; display: grid; gap: var(--s-4); padding: var(--s-5); background: #FFFFFF; border: var(--fio-forte) solid var(--claro-fio); transition: translate var(--d-medio) var(--e-sai), box-shadow var(--d-medio) var(--e-sai), border-color var(--d-medio); }
.pacote.escolhido { border-color: var(--azul-600); translate: -6px -6px; box-shadow: 10px 10px 0 var(--azul-600); }
.pacote .tipo { color: var(--claro-suave); }
.pacote { container-type: inline-size; }
/* O título encolhe com o cartão: "Método GETFOUND" cabe sempre numa linha. */
.pacote h3 { font-size: clamp(1.1rem, 10.5cqw, 1.6rem); font-weight: var(--peso-right); letter-spacing: -0.02em; line-height: 1.1; white-space: nowrap; }
.pacote h3 + p { margin: calc(var(--s-3) * -1) 0 0; color: var(--azul-600); font-weight: var(--peso-semi); }
.pacote ul { list-style: none; margin: 0; padding: var(--s-4) 0 0; border-top: var(--fio) solid var(--claro-fio); display: grid; gap: var(--s-2); font-size: var(--t-sm); }
.pacote li { display: grid; grid-template-columns: 12px 1fr; gap: var(--s-2); align-items: baseline; }
.pacote li .seta { width: 9px; height: 9px; color: var(--verde-500); }
.pacote .selo { position: absolute; top: -14px; right: var(--s-4); opacity: 0; translate: 0 6px; transition: opacity var(--d-medio), translate var(--d-medio) var(--e-sai); }
.pacote.escolhido .selo { opacity: 1; translate: 0 0; }
.pacote-novo { background: var(--azul-50); border-color: var(--azul-100); }

/* ===== 10 · TESTEMUNHOS ===== */
.tst { display: grid; gap: var(--s-6); touch-action: pan-y; }
.tst-barras { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2); }
.tst-barras button { all: unset; cursor: pointer; height: 20px; display: grid; align-items: center; }
.tst-barras button::before { content: ""; height: 3px; background: linear-gradient(var(--azul-600) 0 0) 0 0 / calc(var(--v, 0) * 100%) 100% no-repeat, var(--neutro-200); }
.tst-barras button:focus-visible { outline: var(--fio-forte) solid var(--foco); }
.tst-slide { display: grid; gap: var(--s-6); align-items: center; margin: 0; }
@media (min-width: 900px) { .tst-slide { grid-template-columns: 4fr 8fr; gap: var(--s-8); } }
.tst-slide[hidden] { display: none; }
.tst-slide:not([hidden]) { animation: entra-painel 600ms var(--e-sai); }
.tst-foto { position: relative; max-width: 360px; }
.tst-foto img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.tst-foto::after { content: ""; position: absolute; inset: auto -12px -12px auto; width: 64px; height: 64px; background: var(--verde-400); clip-path: polygon(16.88% 0, 100% 0, 100% 83.12%, 70.26% 83.12%, 70.26% 50.8%, 21.06% 100%, 0 78.95%, 49.2% 29.75%, 16.88% 29.75%); }
.tst blockquote { margin: 0; font-size: clamp(1.35rem, 1rem + 1.4vw, 2.1rem); font-weight: var(--peso-get); line-height: 1.3; letter-spacing: -0.015em; }
.tst blockquote b { font-weight: var(--peso-right); color: var(--azul-600); }
.tst-quem { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-4); align-items: center; margin-top: var(--s-5); padding-top: var(--s-4); border-top: var(--fio) solid var(--claro-fio); }
.tst-quem b { display: block; font-size: var(--t-lg); }
.tst-quem span { color: var(--claro-suave); }
.tst-ctrl { display: flex; gap: var(--s-2); justify-content: end; }
.tst-ctrl button { width: 52px; height: 52px; display: grid; place-items: center; border: var(--fio) solid var(--claro-texto); background: #FFFFFF; cursor: pointer; transition: background var(--d-rapido), color var(--d-rapido); }
.tst-ctrl button:hover { background: var(--azul-600); border-color: var(--azul-600); color: var(--verde-400); }
.tst-ctrl .seta { width: 16px; height: 16px; }

/* ===== 11 · DIAGNÓSTICO ===== */
.pt { display: grid; border: var(--fio) solid var(--claro-fio-forte); background: #FFFFFF; }
@media (min-width: 960px) { .pt { grid-template-columns: 6fr 5fr; } }
.pt-perguntas { display: grid; gap: var(--s-2); padding: var(--s-5); align-content: start; }
.interruptor small { display: block; color: var(--claro-suave); font-family: var(--fonte-mono); font-size: 11px; letter-spacing: var(--tr-mono); text-transform: uppercase; }
.pt-resultado { display: grid; gap: var(--s-5); align-content: start; padding: var(--s-6); background: var(--azul-50); border-top: var(--fio) solid var(--claro-fio); }
@media (min-width: 960px) { .pt-resultado { border-top: 0; border-left: var(--fio) solid var(--claro-fio); } }
.pt-num { display: flex; align-items: baseline; gap: var(--s-2); }
.pt-num b { font-size: clamp(5.5rem, 4rem + 6vw, 9rem); font-weight: var(--peso-right); line-height: 0.85; letter-spacing: -0.06em; font-variant-numeric: tabular-nums; color: var(--azul-600); }
.pt-num span { color: var(--claro-suave); font-size: var(--t-xl); }
.pt-barra { display: grid; grid-template-columns: repeat(25, 1fr); gap: 3px; }
.pt-barra i { aspect-ratio: 1 / 2.4; background: var(--azul-100); transition: background var(--d-medio) var(--e-sai); }
.pt-barra i.on { background: var(--azul-600); }
.pt[data-nivel="baixo"] .pt-barra i.on { background: var(--alerta-claro); }
.pt[data-nivel="alto"] .pt-barra i.on { background: var(--verde-500); }
.pt-veredicto b { display: block; font-size: var(--t-2xl); line-height: 1; letter-spacing: var(--tr-titulo); }
.pt-veredicto span { color: var(--claro-suave); }
.pt-cats { display: grid; gap: var(--s-2); }
.pt-cats > div { display: grid; grid-template-columns: 96px 1fr; gap: var(--s-3); align-items: center; color: var(--claro-suave); }
.pt-cats i { display: block; height: 8px; background: var(--azul-100); position: relative; }
.pt-cats i::after { content: ""; position: absolute; inset: 0; background: var(--azul-600); transform: scaleX(var(--v, 0)); transform-origin: left; transition: transform var(--d-lento) var(--e-sai); }

/* ===== 13 · FAQ ===== */
.faq-gr { display: grid; gap: var(--s-6); }
@media (min-width: 960px) { .faq-gr { grid-template-columns: 5fr 7fr; gap: var(--s-8); } }
.faq-gr h2 { font-size: var(--t-2xl); }

/* ===== RODAPÉ ===== */
.rodape { border-top: var(--fio) solid var(--claro-fio); padding-block: var(--s-8) var(--s-6); background: var(--pagina-alt); }
.rodape .contentor { display: grid; gap: var(--s-6); }
.rodape-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-5); align-items: end; }
.rodape-topo svg { width: min(340px, 80vw); height: auto; }
.rodape-topo p { margin: var(--s-3) 0 0; color: var(--claro-suave); font-weight: var(--peso-semi); }
.rodape-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); padding-top: var(--s-5); border-top: var(--fio) solid var(--claro-fio); color: var(--claro-suave); }

/* ===== 12 · FORMULÁRIO ===== */
.contacto { background: linear-gradient(180deg, #FFFFFF 0%, var(--azul-50) 100%); }
.contacto-gr { display: grid; gap: var(--s-7); align-items: start; }
@media (min-width: 960px) { .contacto-gr { grid-template-columns: 5fr 6fr; gap: var(--s-9); } }
.contacto-gr > * { min-width: 0; }
.contacto-texto { display: grid; gap: var(--s-5); }
.contacto-texto .rotulo { margin: 0; }
.contacto-texto .lead { margin: 0; }
.contacto-texto .titulo-1 { font-size: var(--t-2xl); }
.form { position: relative; display: grid; gap: var(--s-5); padding: var(--s-6); background: #FFFFFF; border: var(--fio-forte) solid var(--azul-600); box-shadow: var(--sombra-seta-azul); }
.form-campos { display: grid; gap: var(--s-4); }
/* Passos compactos no topo do formulário */
.passos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); font-size: var(--t-sm); }
.passos li { display: grid; grid-template-columns: 22px 1fr; gap: var(--s-3); align-items: baseline; }
.passos span { display: grid; place-items: center; width: 22px; height: 22px; background: var(--azul-50); color: var(--azul-600); font-size: var(--t-xs); font-weight: var(--peso-right); }
.passos p { margin: 0; color: var(--claro-suave); }
.passos b { color: var(--claro-texto); }
/* Etiquetas simples, em frase */
.form .campo label, .form-ajuda legend { font-family: var(--fonte); font-size: var(--t-sm); font-weight: var(--peso-semi); letter-spacing: 0; text-transform: none; color: var(--claro-texto); }
.form .campo label .opcional, .form legend .opcional { text-transform: none; letter-spacing: 0; font-family: var(--fonte); color: var(--neutro-500); font-size: var(--t-xs); margin-left: var(--s-1); }
.form .campo .ajuda:empty { display: none; }
.form .campo.erro .ajuda { display: flex; gap: var(--s-2); align-items: baseline; }
.form .campo.erro .ajuda::before { content: "!"; flex: none; display: grid; place-items: center; width: 16px; height: 16px; background: var(--alerta-claro); color: #FFFFFF; font-weight: var(--peso-right); font-size: 11px; line-height: 1; }
.form-ajuda { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-ajuda legend { padding: 0; margin-bottom: var(--s-2); }
.escolhas { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.form .escolha { position: relative; cursor: pointer; font-family: var(--fonte); font-size: var(--t-sm); letter-spacing: 0; text-transform: none; color: var(--claro-texto); }
.escolha input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; }
.escolha span { display: flex; align-items: center; gap: var(--s-2); min-height: 44px; padding: var(--s-2) var(--s-4); border: var(--fio) solid var(--claro-fio-forte); font-weight: var(--peso-semi); line-height: 1.2; transition: background var(--d-rapido), border-color var(--d-rapido), color var(--d-rapido); }
.escolha .seta { width: 12px; height: 12px; color: var(--neutro-300); transition: color var(--d-rapido), rotate var(--d-medio) var(--e-seta); }
.escolha:hover span { border-color: var(--claro-texto); }
.escolha input:checked + span { background: var(--azul-600); border-color: var(--azul-600); color: #FFFFFF; }
.escolha input:checked + span .seta { color: var(--verde-400); rotate: 0deg; }
.escolha input:focus-visible + span { outline: var(--fio-forte) solid var(--foco); outline-offset: 2px; }
.form-ajuda.erro .escolha span { border-color: var(--alerta-claro); }
.pt-resumo { margin: 0; display: flex; gap: var(--s-2); align-items: baseline; padding: var(--s-3) var(--s-4); background: var(--azul-50); color: var(--azul-800); font-size: var(--t-sm); }
.pt-resumo .seta { width: 10px; height: 10px; color: var(--verde-500); flex: none; }
.pt-resumo[hidden] { display: none; }
.armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-nota { margin: calc(var(--s-3) * -1) 0 0; font-size: var(--t-xs); color: var(--claro-suave); text-align: center; }
.form-erro { display: grid; gap: var(--s-1); padding: var(--s-3) var(--s-4); border-left: 4px solid var(--alerta-claro); background: #FDF0EE; color: #7A2416; font-size: var(--t-sm); }
.form-erro:focus { outline: none; }
.form-captcha .captcha-caixa { min-height: 78px; max-width: 100%; }
.form-erro[hidden] { display: none; }
.a-enviar { width: 16px; height: 16px; border: 2px solid rgb(255 255 255 / 0.35); border-top-color: var(--verde-400); animation: gira 700ms linear infinite; }
@keyframes gira { to { rotate: 360deg; } }
.form[data-estado="a-enviar"] .btn { pointer-events: none; }
.form[data-estado="sucesso"] > :not(.form-sucesso) { visibility: hidden; }
.form-sucesso { position: absolute; inset: 0; display: grid; align-content: center; justify-items: start; gap: var(--s-4); padding: var(--s-7); background: #FFFFFF; }
.form-sucesso[hidden] { display: none; }
.form-sucesso:focus { outline: none; }
.form-sucesso > .seta { width: 56px; height: 56px; color: var(--verde-400); animation: ponta 700ms var(--e-seta); }
.form-sucesso h3 { font-size: var(--t-2xl); font-weight: var(--peso-right); letter-spacing: var(--tr-titulo); line-height: 1.05; }
.form-sucesso p { margin: 0; color: var(--claro-suave); max-width: 40ch; }
.form-sucesso b { color: var(--claro-texto); }

/* ===== TELEMÓVEL: secções mais curtas ===== */
@media (max-width: 700px) {
  .sec { padding-block: var(--s-8); }
  .cab { margin-bottom: var(--s-6); }
  .cab .lead { font-size: var(--t-base); }
  .titulo-1 { font-size: clamp(2.1rem, 1.4rem + 3.5vw, 2.6rem); }

  /* Razões: carrossel em vez de três cartões empilhados */
  .razoes { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--s-4); margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) var(--s-4); scrollbar-width: none; }
  .razoes::-webkit-scrollbar { display: none; }
  .razao { flex: 0 0 84%; scroll-snap-align: center; padding: var(--s-5); }

  /* Números em duas colunas */
  .numeros-gr { grid-template-columns: 1fr 1fr; column-gap: var(--s-4); }
  .numeros-gr > div { padding: var(--s-4) 0 var(--s-5); }
  .numeros-gr .numero { font-size: clamp(2.4rem, 1.5rem + 5vw, 3rem); }
  .numeros-gr p { font-size: var(--t-sm); }

  /* Método: degraus mais baixos */
  .degraus { --topo: 44px; height: 200px; }
  .escada-seta { width: 28px; height: 28px; }

  /* Pacotes: carrossel */
  .fichas { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) var(--s-1); scrollbar-width: none; }
  .fichas::-webkit-scrollbar { display: none; }
  .ficha { flex: none; }
  .pacotes-cab { margin-bottom: var(--s-4); }
  .pacotes-grelha { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--s-4); margin-inline: calc(var(--gutter) * -1); padding: var(--s-5) var(--gutter) var(--s-5); scrollbar-width: none; }
  .pacotes-grelha::-webkit-scrollbar { display: none; }
  .pacote { flex: 0 0 82%; scroll-snap-align: center; }
  .pacote.escolhido { translate: -4px -4px; box-shadow: 8px 8px 0 var(--azul-600); }

  /* Pontuação mais compacta */
  .pt-perguntas { padding: var(--s-3); }
  .interruptor { min-height: 52px; padding: var(--s-2) var(--s-3); font-size: var(--t-sm); }
  .pt-resultado { padding: var(--s-5); gap: var(--s-4); }
  .pt-num b { font-size: 4.5rem; }
  .pt-cats { display: none; }

  /* Formulário */
  .form { padding: var(--s-5); box-shadow: 6px 6px 0 var(--azul-600); }
  .escolhas { grid-template-columns: 1fr 1fr; }
  .escolha span { font-size: var(--t-sm); }

  .faq summary { font-size: var(--t-base); min-height: 56px; }
}

/* Testemunhos em telemóvel: foto pequena ao lado do nome, citação por baixo */
@media (max-width: 899px) {
  .tst-slide { grid-template-columns: 80px 1fr; grid-template-areas: "foto quem" "citacao citacao"; gap: var(--s-4); align-items: center; }
  .tst-slide > div:last-child { display: contents; }
  .tst-foto { grid-area: foto; max-width: 80px; }
  .tst-foto::after { width: 26px; height: 26px; inset: auto -8px -8px auto; }
  .tst blockquote { grid-area: citacao; font-size: 1.2rem; }
  .tst-quem { grid-area: quem; margin: 0; padding: 0; border: 0; }
  .tst-quem .cliente { display: none; }
  .tst-quem b { font-size: var(--t-base); }
  .tst-quem span { font-size: var(--t-sm); }
  .tst { gap: var(--s-5); }
  .tst-ctrl button { width: 48px; height: 48px; }
}

/* Duas frentes em telemóvel: acordeão, só a ativa mostra o conteúdo */
@media (max-width: 899px) {
  .frente { padding: var(--s-5); gap: var(--s-4); }
  .frente h3 { font-size: var(--t-xl); }
  .frente:not(.ativa) :is(.frente-corpo, .frente-visual, .mini-browser) { display: none; }
  .frente-visual, .mini-browser { height: 96px; }
}

/* Portefólio em telemóvel: abas em fila por cima, janela logo a seguir, descrição por baixo */
@media (max-width: 999px) {
  .pf { display: flex; flex-direction: column; gap: var(--s-4); }
  .pf-lado { display: contents; }
  .pf-abas { order: 1; display: flex; gap: var(--s-2); overflow-x: auto; border: 0; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter); scrollbar-width: none; }
  .pf-abas::-webkit-scrollbar { display: none; }
  .pf-abas button { flex: none; grid-template-columns: auto auto; min-height: 44px; padding: 0 var(--s-4); border: var(--fio) solid var(--claro-fio-forte); font-size: var(--t-base); }
  .pf-abas button .seta { display: none; }
  .pf-abas button[aria-selected="true"] { background: var(--azul-600); border-color: var(--azul-600); color: #FFFFFF; padding-left: var(--s-4); box-shadow: none; }
  .pf-abas button[aria-selected="true"] .mono { color: var(--verde-400); }
  .pf-palco { order: 2; }
  .pf-info { order: 3; }
  .pf-ecras { justify-self: stretch; display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .pf-vista { height: 380px; }
  .pf[data-ecra-ativo="tel"] .pf-vista { height: 440px; }
  .pf[data-ecra-ativo="tel"] .pf-janela { width: min(280px, 100%); }
}


/* ===== HERO EM TELEMÓVEL: tudo num ecrã, na vertical =====
   Título em cima, gráfico a ocupar o espaço que sobra, botões em baixo.
   O título e a seta animam ao mesmo tempo; nada fica à espera. */
@media (max-width: 700px) {
  .hero { background: linear-gradient(180deg, var(--azul-50) 0%, #FFFFFF 55%); }
  .hero-grelha { display: flex; flex-direction: column; align-items: stretch; gap: var(--s-3);
    height: calc(100svh - var(--altura-nav, 68px)); min-height: 540px; max-height: 900px;
    padding-block: var(--s-5) var(--s-4); }
  .hero-texto { display: contents; }
  .hero-texto > .etiqueta, .hero-provas { display: none; }
  .hero h1 { order: 1; font-size: clamp(2.1rem, 1rem + 6vw, 2.7rem); line-height: 1; text-align: center; }
  .hero .lead { order: 2; font-size: var(--t-sm); line-height: 1.45; max-width: 36ch; text-align: center; align-self: center; }

  /* O gráfico ocupa o que sobra e mantém a proporção: cresce até à
     largura do ecrã ou até à altura disponível, o que vier primeiro. */
  .hero .cresc { order: 4; flex: 1 1 0; min-height: 0; container-type: size; display: grid; place-items: center; }
  .hero .cresc-palco { width: min(100cqw, 96.77cqh); height: auto; }
  .hero .cresc-ctrl { display: none; }

  .hero .acoes { order: 3; margin-block: var(--s-1); display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); width: 100%; }
  .hero .btn-grande { min-height: 52px; padding: 0 var(--s-3); font-size: var(--t-base); white-space: nowrap; }
  /* No primeiro ecrã não se espera pelo scroll: tudo entra logo, em sequência. */
  .hero .revela { opacity: 1; translate: 0 0; animation: entra-hero 800ms var(--e-sai) both; animation-delay: calc(300ms + var(--i, 0) * 110ms); }
  .hero .mascara > span { translate: 0 0; animation: sobe-linha 900ms var(--e-sai) both; animation-delay: calc(var(--i, 0) * 110ms); }
  .hero .marca { background-size: 100% 100%; animation: marca 900ms var(--e-sai) 500ms both; }
}
@keyframes entra-hero { from { opacity: 0; translate: -16px 16px; } }
@keyframes sobe-linha { from { translate: 0 105%; } }
@keyframes marca { from { background-size: 0 100%; } }
/* Ecrãs estreitos: botões mais compactos para caberem lado a lado. */
@media (max-width: 360px) {
  .hero .btn-grande { font-size: var(--t-sm); padding: 0 var(--s-2); }
  .hero .btn-grande .btn-icone { display: none; }
}
/* Ecrãs baixos (telemóveis pequenos ou deitados): sem descrição. */
@media (max-width: 700px) and (max-height: 640px) {
  .hero .lead { display: none; }
}


/* ===== Títulos que se ajustam à coluna =====
   Entre o telemóvel e o ecrã largo, as colunas ficam estreitas e um título
   grande passava por cima do texto ao lado. O tamanho passa a depender da
   largura da coluna (cqi), sem nunca passar o máximo da escala. */
.cab > div:first-child, .faq-gr > div:first-child, .contacto-texto, .escada-painel { container-type: inline-size; }
.cab .titulo-1, .faq-gr .titulo-1 { font-size: min(var(--t-3xl), 9.5cqi); }
.contacto-texto .titulo-1 { font-size: min(var(--t-2xl), 9.5cqi); }
.escada-painel h3 { font-size: min(var(--t-2xl), 8cqi); }
