/* =========================================================
   ATIVA MKT  |  Site  |  style.css  (v2)
   Base: tokens.css + ativa-ds.css do design system
   ========================================================= */

html { scroll-padding-top: 110px; }
body { background: var(--ardosia-950); }
img { max-width: 100%; }

/* ---------- Cabeçalho de seção: rótulo, título e texto empilhados no mesmo eixo ---------- */
.secao-cab { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-4); margin-bottom: var(--e-8); max-width: 62rem; }
.secao-cab h2 { margin: 0; font-size: clamp(2.4rem, 1.2rem + 4vw, 5rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.secao-cab p { margin: 0; color: var(--texto-suave); font-size: var(--t-md); max-width: 52ch; }
.secao-cab .rotulo { margin: 0; }
.secao-cab--centro { align-items: center; text-align: center; margin-inline: auto; }
.rotulo { display: inline-flex; align-items: center; gap: .6em; margin-bottom: var(--e-4); font-size: var(--t-sm); font-weight: 600; color: var(--texto-suave); }
.rotulo::before { content: ""; width: .55em; height: .55em; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: var(--lima); box-shadow: 0 0 12px var(--lima); }
[data-tema="claro"] .rotulo::before, [data-tema="lima"] .rotulo::before { background: var(--ardosia-700); box-shadow: none; }

/* ---------- Botões extras ---------- */
.btn__zap { display: inline-grid; place-items: center; width: 1.25em; height: 1.25em; }
.btn__zap svg { width: 100%; height: 100%; }
.btn--escuro { --btn-bg: var(--ardosia-900); --btn-cor: var(--branco); --btn-preench: var(--branco); --btn-cor-hover: var(--ardosia-900); box-shadow: 0 14px 34px -14px rgb(16 25 29 / .6); }
.btn--escuro .btn__zap { color: var(--lima); transition: color var(--d-media); }
.btn--escuro:hover .btn__zap { color: #25D366; }
.btn__icone--zap { color: var(--ardosia-900); }
.btn__icone--zap svg { width: 62%; }

/* ---------- Menu: leitura do link sob a pílula ---------- */
.nav__links a.is-sob { color: var(--ardosia-900); }
.nav__links:hover a.is-ativo:not(.is-sob) { color: var(--texto-suave); }
.nav__menu { display: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 0; background: rgb(254 254 254 / .08); color: var(--branco); place-items: center; cursor: pointer; }
.nav__menu svg { width: 1.2rem; height: 1.2rem; }
.nav__acoes { display: flex; align-items: center; gap: var(--e-2); }
@media (max-width: 960px) {
  .nav__menu { display: grid; }
  .nav .btn--ativo > span:not([class]), .nav .btn--ativo .btn__seta { display: none; }
  .nav .btn--ativo { padding-right: .4rem; }
}
.gaveta { position: fixed; inset: 0; z-index: 60; display: grid; align-content: center; gap: var(--e-5); padding: var(--e-8) var(--margem-lateral);
  background: rgb(16 25 29 / .95); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; transition: opacity var(--d-media) var(--ease-saida), visibility var(--d-media); }
.gaveta.is-aberta { opacity: 1; visibility: visible; }
.gaveta > a:not(.btn) { font-size: clamp(2rem, 1rem + 6vw, 3.4rem); font-weight: 800; letter-spacing: -.03em; text-decoration: none; color: var(--branco); }
.gaveta > a:not(.btn):hover { color: var(--lima); }
.gaveta .btn { width: max-content; }
.gaveta__fechar { display: grid; position: absolute; top: var(--e-5); right: var(--margem-lateral); }

/* ---------- TOPO: mosaico 3D ---------- */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; align-items: center; overflow: hidden; padding: 8rem 0 2.5rem; isolation: isolate; }
.mosaico { position: absolute; inset: 0; z-index: -2; perspective: 2600px; overflow: hidden; }
.mosaico__plano { position: absolute; left: 38%; top: -18%; display: grid; grid-template-columns: repeat(6, clamp(180px, 15vw, 250px)); gap: .9rem;
  transform: rotateX(28deg) rotateZ(-20deg) rotateY(10deg) translateZ(-200px); transform-style: preserve-3d; transform-origin: 0 0; }
.mosaico__coluna { display: flex; flex-direction: column; gap: .9rem; animation: mosaico var(--vel, 40s) linear infinite; animation-direction: var(--dir, normal); will-change: transform; }
.mosaico__coluna img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; box-shadow: 0 30px 60px -25px rgb(0 0 0 / .8); filter: saturate(1.08); }
@keyframes mosaico { to { transform: translateY(-50%); } }
.hero__veu { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, var(--ardosia-950) 0%, rgb(16 25 29 / .94) 32%, rgb(16 25 29 / .55) 58%, rgb(16 25 29 / .1) 100%),
    linear-gradient(0deg, var(--ardosia-950) 0%, transparent 28%),
    radial-gradient(60% 50% at 15% 30%, rgb(153 235 0 / .14), transparent 70%); }
.hero__conteudo { position: relative; }
.hero h1 { margin: 0; font-size: clamp(3rem, 1rem + 7vw, 7.6rem); font-weight: 900; letter-spacing: -.05em; line-height: .92; max-width: 11ch; }
.hero h1 em, .maraba__titulo em { font-style: normal; color: var(--lima); }
.hero__sub { margin: var(--e-5) 0 var(--e-6); max-width: 40ch; font-size: var(--t-md); color: var(--texto-suave); }
/* principais serviços no pé do topo: cada um leva até o cartão dele */
.hero__principais { position: relative; margin-top: var(--e-7); }
.principais { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: var(--e-3); margin-top: var(--e-3); }
.principal { display: flex; align-items: center; gap: var(--e-4); padding: var(--e-4) var(--e-5); border-radius: var(--raio-md); text-decoration: none; color: var(--branco);
  background: rgb(16 25 29 / .55); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1);
  transition: background .3s, transform .4s var(--ease-saida), box-shadow .3s; }
.principal__icone { flex: none; width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; background: rgb(153 235 0 / .14); color: var(--lima); transition: background .3s, color .3s; }
.principal__icone svg { width: 1.4rem; height: 1.4rem; }
.principal__texto { display: grid; gap: .15rem; min-width: 0; }
.principal__texto strong { font-size: var(--t-md); line-height: 1.15; }
.principal__texto small { color: var(--ardosia-200); font-size: var(--t-xs); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.principal__seta { flex: none; margin-left: auto; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18); transition: transform .4s var(--ease-saida), background .3s, color .3s; }
.principal__seta svg { width: 1rem; transform: rotate(90deg); }
.principal:hover { background: var(--lima); color: var(--ardosia-950); transform: translateY(-4px); box-shadow: 0 20px 40px -18px rgb(153 235 0 / .6); }
.principal:hover .principal__icone { background: var(--ardosia-950); color: var(--lima); }
.principal:hover small { color: var(--ardosia-700); }
.principal:hover .principal__seta { background: var(--ardosia-950); color: var(--lima); box-shadow: none; transform: translateY(3px); }
.principal--todos { padding-inline: var(--e-5); }
@media (max-width: 1080px) { .principais { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .principais { grid-template-columns: 1fr; } .principal { padding: var(--e-3) var(--e-4); } .principal__icone { width: 2.6rem; height: 2.6rem; } }
/* serviços logo no topo: cada um leva até o cartão dele */
.hero__servicos { display: flex; flex-wrap: wrap; gap: .5rem; max-width: 40rem; margin: calc(-1 * var(--e-2)) 0 var(--e-6); }
.hero__servicos-rotulo { display: block; flex-basis: 100%; font-size: var(--t-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-mudo); margin-bottom: .15rem; }
.chip-servico { display: inline-flex; align-items: center; gap: .45rem; height: 2.3rem; padding: 0 .95rem 0 .55rem; border-radius: 99px; font-size: var(--t-sm); font-weight: 700; color: var(--ardosia-100); text-decoration: none;
  background: rgb(255 255 255 / .06); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); transition: background .25s, color .25s, transform .25s var(--ease-saida), box-shadow .25s; }
.chip-servico svg { width: 1.45rem; height: 1.45rem; padding: .25rem; border-radius: 50%; background: rgb(153 235 0 / .15); color: var(--lima); transition: background .25s, color .25s; }
.chip-servico:hover, .chip-servico:focus-visible { background: var(--lima); color: var(--ardosia-950); transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgb(153 235 0 / .7); }
.chip-servico:hover svg, .chip-servico:focus-visible svg { background: var(--ardosia-950); color: var(--lima); }
@media (max-width: 560px) { .chip-servico { height: 2.1rem; font-size: var(--t-xs); } }
.hero__acoes { display: flex; flex-wrap: wrap; gap: var(--e-3); }
.hero__equipe { display: flex; align-items: center; gap: var(--e-4); margin-top: var(--e-7); font-size: var(--t-sm); color: var(--texto-suave); }
.avatares { display: flex; }
.avatares img { width: 3.2rem; height: 3.2rem; border-radius: 50%; object-fit: cover; border: 3px solid var(--ardosia-950); box-shadow: 0 0 0 2px var(--lima); }
.avatares img + img { margin-left: -.9rem; }
@media (max-width: 860px) {
  .hero { align-items: end; padding-bottom: 3.5rem; }
  .mosaico__plano { left: -6%; top: -8%; grid-template-columns: repeat(5, 150px); gap: .6rem; transform: rotateX(34deg) rotateZ(-18deg); }
  .mosaico__coluna { gap: .6rem; }
  .mosaico__coluna:nth-child(6) { display: none; }
  .hero__veu { background: linear-gradient(0deg, var(--ardosia-950) 18%, rgb(16 25 29 / .86) 52%, rgb(16 25 29 / .35) 100%); }
}

.faixa { padding-block: var(--e-6); background: var(--lima); }
.faixa .letreiro__item { color: var(--ardosia-900); font-weight: 800; text-decoration: none; }
.faixa .letreiro__item:hover { color: var(--branco); }
.faixa .letreiro__item::after { background: var(--ardosia-900); }
.faixa { -webkit-mask: none; mask: none; }

/* ---------- MARABÁ: foto cheia que se abre com a rolagem ---------- */
.maraba { position: relative; height: 170vh; --m: 0; }
.maraba__palco { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; align-items: end; }
.maraba__foto { position: absolute; inset: 0; margin: 0;
  clip-path: inset(calc((1 - var(--m)) * 7vh) calc((1 - var(--m)) * 6vw) round calc((1 - var(--m)) * 36px)); }
.maraba__foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.18 - var(--m) * .18)); filter: saturate(1.12) contrast(1.05); }
.maraba__veu { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgb(16 25 29 / .9) 0%, rgb(16 25 29 / .55) 45%, rgb(16 25 29 / .25) 75%), linear-gradient(0deg, var(--ardosia-950) 0%, rgb(16 25 29 / .75) 22%, transparent 60%), rgb(10 16 19 / .25); }
.maraba__conteudo { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: var(--e-6); padding-bottom: clamp(2.5rem, 1rem + 5vw, 5.5rem); }
.maraba__titulo { margin: 0; font-size: clamp(2.6rem, 1rem + 6vw, 6.5rem); font-weight: 900; letter-spacing: -.045em; line-height: .95; max-width: 9ch; text-wrap: balance; }
.maraba__texto { transform: translateY(calc((1 - var(--m)) * 40px)); }
.maraba__cartao { max-width: 26rem; padding: var(--e-6); border-radius: var(--raio-lg); }
.maraba__cartao p { margin: var(--e-3) 0 0; color: var(--ardosia-100); }
@media (max-width: 860px) {
  .maraba { height: 140vh; }
  .maraba__conteudo { flex-direction: column; align-items: flex-start; }
  .maraba__cartao { padding: var(--e-5); }
}
@media (prefers-reduced-motion: reduce) { .maraba { height: auto; --m: 1; } .maraba__palco { position: relative; } }

/* ---------- TRABALHOS: carrossel 3D ---------- */
.trabalhos { overflow: hidden; }
.carrossel { position: relative; user-select: none; }
.carrossel__palco { position: relative; height: clamp(20rem, 34vw, 34rem); perspective: 1600px; transform-style: preserve-3d; touch-action: pan-y; cursor: grab; }
.carrossel__palco:active { cursor: grabbing; }
.carrossel__item { position: absolute; left: 50%; top: 0; width: min(54vw, 52rem); height: 100%; margin-left: calc(min(54vw, 52rem) / -2);
  border-radius: var(--raio-lg); overflow: hidden; text-decoration: none; color: var(--branco); background: var(--superficie);
  transition: transform .9s var(--ease-saida), opacity .9s var(--ease-saida), filter .9s var(--ease-saida); will-change: transform;
  box-shadow: 0 40px 80px -40px rgb(0 0 0 / .9); }
.carrossel__item img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.carrossel__info { position: absolute; left: var(--e-5); right: var(--e-5); bottom: var(--e-5); display: flex; flex-direction: column; gap: .2rem; padding: var(--e-4) var(--e-5); border-radius: var(--raio-md);
  background: rgb(16 25 29 / .72); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); opacity: 0; transform: translateY(20px); transition: opacity .5s, transform .6s var(--ease-saida); }
.carrossel__info small { color: var(--lima); font-size: var(--t-xs); font-weight: 600; }
.carrossel__info strong { font-size: var(--t-lg); font-weight: 800; letter-spacing: -.01em; }
.carrossel__item.is-atual .carrossel__info { opacity: 1; transform: none; }
.carrossel__controles { display: flex; align-items: center; justify-content: center; gap: var(--e-5); margin-top: var(--e-6); }
.carrossel__pontos { display: flex; gap: .45rem; }
.carrossel__pontos button { width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 99px; background: var(--linha-forte); cursor: pointer; transition: width var(--d-media) var(--ease-saida), background var(--d-media); }
.carrossel__pontos button[aria-selected="true"] { width: 2rem; background: var(--lima); }
@media (max-width: 760px) {
  .carrossel__palco { height: 62vw; }
  .carrossel__item { width: 78vw; margin-left: -39vw; }
  .carrossel__info { left: var(--e-3); right: var(--e-3); bottom: var(--e-3); padding: var(--e-3) var(--e-4); }
  .carrossel__info strong { font-size: var(--t-md); }
}

.lista-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-4); margin-top: var(--e-9); margin-bottom: var(--e-5); }
.lista-cab h3 { margin: 0; font-size: var(--t-xl); font-weight: 800; letter-spacing: -.02em; }
.filtros { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.trilho-projetos { display: flex; gap: var(--e-4); overflow-x: auto; padding: var(--e-2) max(var(--margem-lateral), calc((100vw - var(--largura-max)) / 2)) var(--e-5); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.trilho-projetos::-webkit-scrollbar { display: none; }
/* destaque: um projeto grande logo depois da lista */
.destaque { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: var(--e-6);
  margin-top: var(--e-8); min-height: clamp(26rem, 20rem + 14vw, 36rem); padding: clamp(1.75rem, 1rem + 3vw, 3.5rem); border-radius: var(--raio-lg); overflow: hidden;
  text-decoration: none; color: var(--branco); box-shadow: 0 40px 80px -40px rgb(0 0 0 / .8), inset 0 0 0 1px rgb(255 255 255 / .06); }
.destaque__fundo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.2s var(--ease-saida); }
.destaque::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(16 25 29 / .96) 0%, rgb(16 25 29 / .82) 38%, rgb(16 25 29 / .25) 75%, rgb(16 25 29 / .1)); }
.destaque:hover .destaque__fundo { transform: scale(1); }
.destaque__texto { display: flex; flex-direction: column; align-items: flex-start; gap: var(--e-3); max-width: 30rem; }
.destaque__nome { font-size: clamp(2rem, 1rem + 3vw, 3.6rem); font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.destaque__resumo { color: var(--ardosia-100); }
.destaque__meta { font-size: var(--t-sm); color: var(--texto-suave); }
.destaque__meta b { color: var(--lima); font-size: var(--t-md); }
.destaque__meta i { font-style: normal; margin-inline: .35rem; }
.destaque__btn { margin-top: var(--e-3); }
.destaque__pilha { position: relative; height: 100%; min-height: 20rem; }
.destaque__pilha img { position: absolute; width: 58%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-md); border: 5px solid var(--ardosia-950); box-shadow: 0 30px 60px -20px rgb(0 0 0 / .8);
  top: calc(8% + var(--k) * 22%); right: calc(4% + var(--k) * 16%); rotate: calc(-6deg + var(--k) * 6deg); transition: translate .6s var(--ease-saida), rotate .6s var(--ease-saida); }
.destaque:hover .destaque__pilha img { translate: calc(var(--k) * -14px) calc(var(--k) * -10px); rotate: calc(-9deg + var(--k) * 8deg); }
@media (max-width: 860px) {
  .destaque { grid-template-columns: 1fr; }
  .destaque::before { background: linear-gradient(0deg, rgb(16 25 29 / .97) 35%, rgb(16 25 29 / .4)); }
  .destaque__pilha { min-height: 14rem; order: -1; }
  .destaque__pilha img { width: 62%; }
}
.mini-proj { flex: none; width: clamp(15rem, 22vw, 20rem); scroll-snap-align: start; text-decoration: none; color: var(--texto); }
.mini-proj.is-oculto { display: none; }
.mini-proj__img { display: block; aspect-ratio: 16 / 10; border-radius: var(--raio-md); overflow: hidden; margin-bottom: var(--e-3); background: var(--superficie); }
.mini-proj__img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--d-cena) var(--ease-saida); }
.mini-proj:hover .mini-proj__img img { transform: scale(1.07); }
.mini-proj strong { display: block; font-size: var(--t-base); }
.mini-proj small { color: var(--texto-mudo); font-size: var(--t-xs); }

/* ---------- VÍDEOS ---------- */
.videos-secao { padding-top: clamp(2rem, 1rem + 3vw, 4rem); }
.videos-cab { align-items: flex-end; margin-top: 0; }
.videos-cab .secao-cab { margin: 0; max-width: 40rem; }
.trilho-videos { --alt: clamp(19rem, 14rem + 14vw, 27rem); display: flex; gap: var(--e-4); overflow-x: auto; padding: var(--e-3) max(var(--margem-lateral), calc((100vw - var(--largura-max)) / 2)) var(--e-6); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.trilho-videos::-webkit-scrollbar { display: none; }
.vid { position: relative; flex: none; height: var(--alt); padding: 0; border: 0; border-radius: var(--raio-lg); overflow: hidden; isolation: isolate; cursor: pointer; scroll-snap-align: start; background: var(--superficie);
  box-shadow: 0 30px 60px -35px rgb(0 0 0 / .9), inset 0 0 0 1px rgb(255 255 255 / .06); color: var(--branco); text-align: left; font: inherit; transition: transform var(--d-lenta) var(--ease-saida); }
.vid--v { aspect-ratio: 9 / 16; }
.vid--h { aspect-ratio: 16 / 9; }
.vid--destaque { --alt-d: calc(var(--alt) * 1); aspect-ratio: 16 / 9; }
.vid.is-oculto { display: none; }
.vid img, .vid__previa { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vid img { z-index: -2; transition: transform 1s var(--ease-saida), filter .4s; }
.vid__previa { z-index: -1; opacity: 0; transition: opacity .35s; pointer-events: none; }
.vid.is-tocando .vid__previa { opacity: 1; }
.vid::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(10 16 19 / .88), transparent 45%); pointer-events: none; }
.vid:hover img { transform: scale(1.05); }
.vid:focus-visible { outline: 3px solid var(--lima); outline-offset: 3px; }
.vid__play { position: absolute; top: var(--e-4); right: var(--e-4); width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; background: rgb(255 255 255 / .16); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--branco); transition: background .3s, color .3s, transform .3s var(--ease-saida); }
.vid__play svg { width: 1.2rem; margin-left: 2px; }
.vid:hover .vid__play { background: var(--lima); color: var(--ardosia-950); transform: scale(1.08); }
.vid--destaque .vid__play { top: 50%; left: 50%; right: auto; width: 4.5rem; height: 4.5rem; translate: -50% -50%; background: var(--lima); color: var(--ardosia-950); box-shadow: 0 0 0 10px rgb(153 235 0 / .18); }
.vid--destaque .vid__play svg { width: 1.7rem; }
.vid__info { position: absolute; left: var(--e-5); right: var(--e-5); bottom: var(--e-4); display: grid; gap: 2px; }
.vid__info small { color: var(--lima); font-size: var(--t-xs); font-weight: 700; }
.vid__info strong { font-size: var(--t-md); line-height: 1.15; }
.vid--destaque .vid__info strong { font-size: var(--t-xl); }

/* cinema */
.cine { padding: 0; border: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100%; height: 100%; }
.cine::backdrop { background: rgb(8 12 14 / .9); backdrop-filter: blur(6px); }
.cine[open] { display: grid; place-items: center; }
.cine__caixa { position: relative; width: min(92vw, 1100px); }
.cine--v .cine__caixa { width: min(92vw, calc(82vh * 9 / 16)); }
.cine video { display: block; width: 100%; max-height: 82vh; border-radius: var(--raio-md); background: #000; }
.cine__titulo { margin: 0 3.5rem var(--e-3) 0; color: var(--branco); font-weight: 700; }
.cine__fechar { position: absolute; top: -.4rem; right: 0; width: 2.6rem; height: 2.6rem; border: 0; border-radius: 50%; background: var(--lima); color: var(--ardosia-950); cursor: pointer; display: grid; place-items: center; }
.cine__fechar svg { width: 1.2rem; }
@media (max-width: 860px) { .trilho-videos { --alt: 22rem; } .vid--destaque .vid__info strong { font-size: var(--t-lg); } }

/* ---------- MANIFESTO com imagem ---------- */
.manifesto__grade { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--e-8); align-items: center; }
.manifesto__frase { margin: 0; font-size: clamp(1.9rem, 1rem + 2.8vw, 3.6rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.manifesto__apoio { margin: var(--e-6) 0 0; max-width: 46ch; color: var(--texto-suave); font-size: var(--t-md); }
.manifesto__imagens { position: relative; padding-bottom: 18%; }
.manifesto__img1 { aspect-ratio: 4 / 5; border-radius: var(--raio-lg); }
.manifesto__img2 { position: absolute; left: -16%; bottom: 0; width: 56%; aspect-ratio: 4 / 3; border-radius: var(--raio-md); overflow: hidden; box-shadow: var(--sombra-2); border: 6px solid var(--ardosia-950); }
.manifesto__img2 img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .manifesto__grade { grid-template-columns: 1fr; gap: var(--e-7); } .manifesto__img2 { left: -4%; } }

/* ---------- SERVIÇOS em fundo claro ---------- */
.servicos-secao { --dobra: clamp(3rem, 7vw, 7.5rem); position: relative; z-index: 1; margin-top: calc(-1 * var(--dobra)); padding-top: calc(var(--dobra) + clamp(3rem, 2rem + 4vw, 6rem));
  background: radial-gradient(60% 50% at 85% 10%, var(--lima-200), transparent 70%), var(--lima);
  clip-path: polygon(0 var(--dobra), 100% 0, 100% 100%, 0 100%); padding-bottom: clamp(2rem, 1rem + 2vw, 3rem); }
/* a dobra: faixa mais escura acompanhando a diagonal, como papel dobrado */
.servicos-secao::before { content: ""; position: absolute; inset: 0 0 auto; height: calc(var(--dobra) + 1.6rem); pointer-events: none;
  background: linear-gradient(180deg, var(--lima-700), var(--lima-600) 60%, var(--lima));
  clip-path: polygon(0 var(--dobra), 100% 0, 100% 1.6rem, 0 calc(var(--dobra) + 1.6rem)); }
.servicos-secao .secao-cab p { color: var(--ardosia-700); }
.servicos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--e-4); }
.servico { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--e-3);
  padding: var(--e-7) var(--e-5) var(--e-6); border-radius: var(--raio-lg); background: var(--ardosia-900);
  box-shadow: 0 30px 60px -30px rgb(16 25 29 / .7); transition: transform var(--d-lenta) var(--ease-saida), color var(--d-media); }
.servico__fundo { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.12); transition: opacity var(--d-lenta) var(--ease-saida), transform var(--d-cena) var(--ease-saida); }
.servico::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(16 25 29 / .55), rgb(16 25 29 / .92)); opacity: 0; transition: opacity var(--d-lenta) var(--ease-saida); }
.servico__icone { width: 4.5rem; height: 4.5rem; border-radius: 50%; display: grid; place-items: center; background: var(--ardosia-700); color: var(--lima);
  box-shadow: 0 14px 28px -12px rgb(45 64 73 / .6); transition: transform var(--d-lenta) var(--ease-mola), background var(--d-media), color var(--d-media); }
.servico__icone svg { width: 2rem; height: 2rem; }
.servico h3 { margin: var(--e-3) 0 0; font-size: var(--t-lg); font-weight: 800; letter-spacing: -.01em; line-height: 1.15; color: var(--branco); transition: color var(--d-media); }
.servico p { margin: 0; color: var(--ardosia-200); font-size: var(--t-sm); max-width: 28ch; transition: color var(--d-media); }
.servico:hover, .servico:focus-within { transform: translateY(-8px); }
/* cartão escolhido no topo: acende por alguns segundos */
.servico { scroll-margin-top: 8rem; }
.servico.is-alvo { transform: translateY(-8px); box-shadow: 0 0 0 3px var(--ardosia-950), 0 0 0 7px var(--branco), 0 30px 60px -20px rgb(16 25 29 / .8); }
.servico.is-alvo .servico__fundo { opacity: 1; transform: scale(1); }
.servico.is-alvo::after { opacity: 1; }
.servico.is-alvo .servico__icone { background: var(--lima); color: var(--ardosia-900); transform: rotate(-8deg) scale(1.06); }
.servico:hover .servico__fundo { opacity: 1; transform: scale(1); }
.servico:hover::after { opacity: 1; }
.servico:hover h3 { color: var(--branco); }
.servico:hover p { color: var(--ardosia-100); }
.servico:hover .servico__icone { background: var(--lima); color: var(--ardosia-900); transform: rotate(-8deg) scale(1.06); }
@media (max-width: 1080px) { .servicos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .servicos { grid-template-columns: 1fr; } .servico { padding: var(--e-6) var(--e-5); } }

/* ---------- NÚMEROS em faixa lima ---------- */
.numeros-faixa { --dobra: clamp(2.5rem, 5vw, 5.5rem); padding-block: clamp(1rem, 1vw, 2rem) calc(var(--dobra) + clamp(2.5rem, 2rem + 3vw, 5rem)); background: radial-gradient(60% 120% at 15% 100%, var(--lima-200), transparent 60%), var(--lima);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--dobra)), 0 100%); margin-bottom: calc(-1 * var(--dobra)); position: relative; z-index: 1; }
.numeros-faixa .numeros { padding-top: clamp(2.5rem, 2rem + 3vw, 4.5rem); border-top: 1px solid rgb(16 25 29 / .18); }
.numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--e-6); }
.numero { padding-left: var(--e-5); border-left: 2px solid rgb(24 36 42 / .22); }
.numero__valor { display: block; font-size: clamp(2.6rem, 1.4rem + 3vw, 4.4rem); font-weight: 900; letter-spacing: -.045em; line-height: 1; color: var(--ardosia-900); }
.numero__valor sup { font-size: .42em; vertical-align: top; margin-right: .08em; }
.numero__rotulo { display: block; margin-top: var(--e-3); color: var(--ardosia-700); font-size: var(--t-sm); font-weight: 500; max-width: 24ch; }
@media (max-width: 960px) { .numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .numeros { grid-template-columns: 1fr; gap: var(--e-5); } }

/* ---------- EQUIPE: cartões que giram ---------- */
.equipe { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-5); }
.giro { perspective: 1600px; aspect-ratio: 4 / 4.4; outline: none; cursor: pointer; }
.giro__miolo { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1s var(--ease-mola); }
.giro:hover .giro__miolo, .giro.is-virado .giro__miolo, .giro:focus-visible .giro__miolo { transform: rotateY(180deg); }
.giro__frente, .giro__verso { position: absolute; inset: 0; border-radius: var(--raio-lg); overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.giro__frente img { width: 100%; height: 100%; object-fit: cover; }
.giro__frente::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(16 25 29 / .95) 0%, rgb(16 25 29 / .2) 45%, transparent 70%); }
.giro__nome { position: absolute; z-index: 1; left: var(--e-6); right: var(--e-6); bottom: var(--e-6); }
.giro__nome h3, .giro__verso h3 { margin: 0; font-size: clamp(1.8rem, 1rem + 2vw, 2.8rem); font-weight: 900; letter-spacing: -.035em; line-height: 1; }
.giro__nome p { margin: var(--e-2) 0 var(--e-4); color: var(--lima); font-weight: 600; font-size: var(--t-sm); }
.giro__dica { display: inline-flex; align-items: center; gap: .5em; font-size: var(--t-xs); color: var(--ardosia-200); }
.giro__dica svg { width: 1em; }
.giro__verso { transform: rotateY(180deg); padding: clamp(1.5rem, 1rem + 2vw, 3rem); display: flex; flex-direction: column; justify-content: center; gap: var(--e-3);
  background: radial-gradient(90% 70% at 100% 0%, rgb(153 235 0 / .25), transparent 60%), var(--ardosia-700); }
.giro__cargo { margin: 0; color: var(--lima); font-weight: 600; font-size: var(--t-sm); }
.giro__verso > p:not(.giro__cargo) { margin: 0; color: var(--ardosia-100); font-size: var(--t-sm); }
.giro__verso ul { list-style: none; margin: var(--e-2) 0 0; padding: 0; display: grid; gap: var(--e-2); font-size: var(--t-sm); }
.giro__verso li { display: flex; gap: var(--e-3); color: var(--ardosia-100); }
.giro__verso li::before { content: ""; flex: none; margin-top: .55em; width: .45em; height: .45em; border-radius: 50%; background: var(--lima); }
@media (max-width: 860px) { .equipe { grid-template-columns: 1fr; } .giro { aspect-ratio: 4 / 5; } }
@media (hover: none) { .giro:hover .giro__miolo { transform: none; } .giro.is-virado .giro__miolo { transform: rotateY(180deg); } }

/* ---------- PROCESSO (claro) ---------- */
.processo-secao { background: var(--branco); }
.processo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-8); align-items: center; }
.processo__titulo { margin: 0 0 var(--e-6); font-size: clamp(2.2rem, 1.2rem + 3vw, 4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.processo-secao .passo { background: var(--ardosia-50); box-shadow: none; }
.processo-secao .passo[aria-current="step"] { background: var(--ardosia-700); }
.processo-secao .passo[aria-current="step"] .passo__titulo { color: var(--branco); }
.processo-secao .passo[aria-current="step"] .passo__texto { color: var(--ardosia-100); }
.processo-secao .passo__titulo { color: var(--ardosia-700); }
.pilha { height: 26rem; }
@media (max-width: 860px) { .processo { grid-template-columns: 1fr; gap: var(--e-6); } .pilha { height: 20rem; } }

/* ---------- CHAMADA FINAL com WhatsApp ---------- */
.chamada { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--e-6); align-items: center;
  border-radius: var(--raio-lg); padding: clamp(2.5rem, 1rem + 5vw, 5.5rem) clamp(1.5rem, 1rem + 4vw, 5rem);
  background: radial-gradient(70% 90% at 100% 100%, var(--lima-200), transparent 60%), var(--lima); }
.chamada__selo { display: inline-flex; align-items: center; gap: .5em; padding: .45em .9em; border-radius: 99px; background: var(--ardosia-900); color: var(--branco); font-size: var(--t-xs); font-weight: 600; margin-bottom: var(--e-5); }
.chamada__selo svg { width: 1.1em; color: #25D366; }
.chamada h2 { margin: 0; font-size: clamp(2.2rem, 1rem + 4vw, 4.6rem); font-weight: 900; letter-spacing: -.04em; line-height: 1; max-width: 14ch; }
.chamada p { margin: var(--e-4) 0 var(--e-6); font-size: var(--t-md); color: var(--ardosia-700); max-width: 40ch; }
.chamada__visual { position: relative; min-height: 20rem; }
.balao { position: absolute; max-width: 18rem; padding: var(--e-4) var(--e-5); border-radius: 22px; font-size: var(--t-sm); box-shadow: 0 20px 40px -20px rgb(16 25 29 / .5); animation: balao 6s var(--ease-suave) infinite; }
.balao p { margin: 0; }
.balao--1 { left: 0; top: 8%; background: var(--branco); color: var(--ardosia-900); border-bottom-left-radius: 6px; display: flex; gap: var(--e-3); align-items: flex-start; }
.balao__zap { flex: none; width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: #25D366; color: #fff; }
.balao__zap svg { width: 60%; }
.balao--2 { right: 0; top: 46%; background: var(--ardosia-900); color: var(--branco); border-bottom-right-radius: 6px; animation-delay: -3s; }
.chamada .balao--2 p { color: var(--branco); opacity: 1; }
.chamada .balao--1 p { color: var(--ardosia-900); }
.balao--2 small { display: block; margin-top: .4rem; color: var(--lima); font-size: var(--t-xs); }
@keyframes balao { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.orbe-zap { position: absolute; left: 8%; bottom: -4%; width: 7rem; height: 7rem; border-radius: 50%; display: grid; place-items: center; background: var(--ardosia-900); color: var(--lima);
  box-shadow: 0 0 0 10px rgb(24 36 42 / .12), 0 0 0 22px rgb(24 36 42 / .06); transition: translate 600ms var(--ease-saida); }
.orbe-zap svg { width: 46%; }
.orbe-zap::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgb(24 36 42 / .35); animation: pulso 2.4s var(--ease-saida) infinite; }
@keyframes pulso { from { transform: scale(.9); opacity: 1; } to { transform: scale(1.5); opacity: 0; } }
@media (max-width: 860px) { .chamada { grid-template-columns: 1fr; } .chamada__visual { min-height: 16rem; } }

/* ---------- RODAPÉ: cartão claro com mapa ---------- */
.rodape { padding: var(--e-8) 0 var(--e-5); }
/* palco: o mapa ocupa o cartão inteiro, o painel flutua por cima */
.rodape__palco { position: relative; display: grid; align-items: center; min-height: clamp(36rem, 30rem + 12vw, 44rem); padding: clamp(1rem, .5rem + 2vw, 2.5rem);
  border-radius: var(--raio-lg); overflow: hidden; background: #0c1a12; box-shadow: inset 0 0 0 1px rgb(153 235 0 / .18), 0 40px 90px -45px rgb(0 0 0 / .9); scroll-margin-top: 6rem; }
.rodape__mapa { position: absolute; inset: 0; }
/* mapa escuro puxado para o verde da marca */
.rodape__mapa iframe { position: absolute; inset: -60px 0 0; width: 100%; height: calc(100% + 60px); border: 0;
  filter: grayscale(1) invert(.92) contrast(1.15) brightness(.85); }
.rodape__tinta { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgb(10 18 14 / .85) 0%, rgb(10 18 14 / .45) 35%, transparent 60%); }
.rodape__pino { position: absolute; left: 68%; top: 50%; width: 3.4rem; height: 3.4rem; translate: -50% -100%; pointer-events: none; filter: drop-shadow(0 10px 18px rgb(0 0 0 / .6)); animation: pino 2.6s var(--ease-suave) infinite; }
.rodape__pino svg { width: 100%; height: 100%; }
.rodape__pino::after { content: ""; position: absolute; left: 50%; top: 100%; width: 5rem; height: 1.6rem; translate: -50% -40%; border-radius: 50%; background: radial-gradient(closest-side, rgb(153 235 0 / .55), transparent); z-index: -1; }
@keyframes pino { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.painel { position: relative; z-index: 2; width: min(100%, 34rem); border-radius: var(--raio-lg); padding: var(--e-5); color: var(--branco);
  background: rgb(16 25 29 / .78); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), 0 30px 70px -30px rgb(0 0 0 / .8); }
.painel__abas { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); padding: 4px; border-radius: 99px; background: rgb(255 255 255 / .06); margin-bottom: var(--e-5); }
.painel__abas button { position: relative; z-index: 1; border: 0; background: none; padding: .7rem .5rem; border-radius: 99px; font: 700 var(--t-sm)/1 var(--fonte-texto, inherit); color: var(--ardosia-100); cursor: pointer; transition: color var(--d-media); }
.painel__abas button[aria-selected="true"] { color: var(--ardosia-950); }
.painel__abas button:focus-visible { outline: 2px solid var(--lima); outline-offset: 2px; }
.painel__marca { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc((100% - 8px) / 3); border-radius: 99px; background: var(--lima); box-shadow: 0 6px 20px -6px rgb(153 235 0 / .7);
  transform: translateX(calc(var(--aba, 0) * 100%)); transition: transform .5s var(--ease-saida); }
.painel__corpo { animation: painelEntra .5s var(--ease-saida); }
@keyframes painelEntra { from { opacity: 0; transform: translateY(10px); } }
.painel__titulo { margin: 0; font-size: clamp(1.5rem, 1rem + 1.4vw, 2.1rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; }
.painel__texto { margin: var(--e-3) 0 var(--e-5); color: var(--ardosia-200); font-size: var(--t-sm); }
.painel__logo { width: 170px; height: auto; margin-bottom: var(--e-2); }
.painel__lista { list-style: none; margin: var(--e-5) 0; padding: 0; display: grid; gap: var(--e-4); }
.painel__lista li { display: flex; align-items: center; gap: var(--e-3); color: var(--ardosia-100); }
.painel__lista span { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: rgb(153 235 0 / .14); color: var(--lima); font-weight: 800; }
.painel__lista span svg { width: 1.1rem; height: 1.1rem; }
.painel__lista a { color: inherit; }
.painel__acoes { display: flex; flex-wrap: wrap; gap: var(--e-3); }

/* formulário */
.form { display: grid; gap: var(--e-3); }
.form__linha { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e-3); }
.campo { display: grid; gap: .35rem; font-size: var(--t-xs); font-weight: 700; color: var(--ardosia-200); letter-spacing: .01em; }
.campo small { font-weight: 400; color: var(--texto-mudo); }
.campo input, .campo select, .campo textarea { width: 100%; padding: .8rem .95rem; border-radius: 12px; border: 1px solid rgb(255 255 255 / .1); background: rgb(255 255 255 / .05);
  color: var(--branco); font: 400 var(--t-sm)/1.4 inherit; font-family: inherit; transition: border-color var(--d-media), background var(--d-media), box-shadow var(--d-media); }
.campo select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--lima) 50%), linear-gradient(135deg, var(--lima) 50%, transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.2rem; }
.campo select option { color: #10191D; }
.campo textarea { resize: vertical; min-height: 4.2rem; }
.campo input::placeholder, .campo textarea::placeholder { color: rgb(255 255 255 / .35); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--lima); background: rgb(153 235 0 / .06); box-shadow: 0 0 0 4px rgb(153 235 0 / .15); }
.campo input:user-invalid { border-color: #ff8a7a; }
.form__isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__fim { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3) var(--e-4); margin-top: var(--e-2); }
.form__fim small { color: var(--texto-mudo); font-size: var(--t-xs); max-width: 22ch; }
.form__retorno { margin: 0; min-height: 1.2em; font-size: var(--t-sm); font-weight: 700; color: var(--lima); }
.form__retorno.is-erro { color: #ff9d8f; }
.form.is-enviando button[type=submit] { opacity: .6; pointer-events: none; }

.rodape__base { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--e-4); padding-top: var(--e-5); font-size: var(--t-xs); color: var(--texto-mudo); }
.rodape__base nav { display: flex; gap: var(--e-5); }
.rodape__base a { color: var(--texto-suave); text-decoration: none; }
.rodape__base a:hover { color: var(--lima); }
@media (max-width: 860px) {
  .rodape__palco { align-items: end; padding: 0; min-height: 0; padding-top: 16rem; }
  .rodape__tinta { background: linear-gradient(0deg, rgb(10 18 14 / .9) 30%, transparent 60%); }
  .rodape__pino { left: 50%; top: 9rem; }
  .painel { width: 100%; border-radius: var(--raio-lg) var(--raio-lg) 0 0; padding: var(--e-4); }
  .rodape__base { justify-content: center; text-align: center; }
}
@media (max-width: 520px) { .form__linha { grid-template-columns: 1fr; } .painel__abas button { font-size: var(--t-xs); } }

/* ---------- WhatsApp flutuante ---------- */
.zap { position: fixed; z-index: 45; right: var(--e-5); bottom: var(--e-5); width: 3.6rem; height: 3.6rem; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(70% 70% at 50% 100%, var(--lima-200), transparent), var(--lima); color: var(--ardosia-900); box-shadow: 0 12px 30px -8px rgb(153 235 0 / .6); transition: transform var(--d-media) var(--ease-mola); }
.zap:hover { transform: scale(1.08) rotate(-6deg); }
.zap svg { width: 1.6rem; height: 1.6rem; }

/* ---------- Página de projeto ---------- */
.proj-hero { position: relative; padding-top: clamp(7.5rem, 5rem + 6vw, 11rem); overflow: hidden; }
.proj-hero__fundo { position: absolute; inset: 0 0 auto 0; height: 70vh; z-index: -1; opacity: .25; }
.proj-hero__fundo img { width: 100%; height: 100%; object-fit: cover; filter: blur(40px) saturate(1.4); transform: scale(1.2); }
.proj-hero__fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, var(--ardosia-950)); }
.proj-hero__topo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--e-6); align-items: end; margin-bottom: var(--e-7); }
.proj-hero h1 { margin: 0; font-size: clamp(2.6rem, 1rem + 6vw, 6.5rem); font-weight: 900; letter-spacing: -.045em; line-height: .95; }
.proj-hero__dados { display: grid; gap: var(--e-4); justify-items: start; }
.proj-hero__dados p { margin: 0; color: var(--texto-suave); font-size: var(--t-md); }
.proj-capa { aspect-ratio: 16 / 9; border-radius: var(--raio-lg); }
.proj-capa > img { height: 100%; }
.voltar { display: inline-flex; align-items: center; gap: var(--e-2); margin-bottom: var(--e-5); color: var(--texto-suave); text-decoration: none; font-size: var(--t-sm); }
.voltar:hover { color: var(--lima); }
@media (max-width: 860px) { .proj-hero__topo { grid-template-columns: 1fr; } .proj-capa { aspect-ratio: 4 / 3; } }
.entregas { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--e-6); padding-block: var(--e-8); border-bottom: 1px solid var(--linha); }
.entregas h2 { margin: 0; font-size: var(--t-xl); font-weight: 800; letter-spacing: -.02em; }
.entregas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--e-2); }
@media (max-width: 760px) { .entregas { grid-template-columns: 1fr; gap: var(--e-4); } }
.galeria { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--e-4); padding-top: var(--e-8); align-items: start; }
.galeria figure { margin: 0; grid-column: span 12; border-radius: var(--raio-md); overflow: hidden; background: var(--superficie); }
.galeria figure.meia { grid-column: span 6; }
.galeria figure.terco { grid-column: span 4; }
.galeria img { width: 100%; height: auto; display: block; cursor: zoom-in; }
@media (max-width: 760px) { .galeria figure.meia, .galeria figure.terco { grid-column: span 12; } }
.proximo { display: block; position: relative; margin-top: var(--e-9); border-radius: var(--raio-lg); overflow: hidden; text-decoration: none; color: var(--branco); aspect-ratio: 21 / 8; }
.proximo img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.45); transition: transform var(--d-cena) var(--ease-saida), filter var(--d-lenta); }
.proximo:hover img { transform: scale(1.05); filter: brightness(.6); }
.proximo__texto { position: absolute; inset: auto var(--e-6) var(--e-6) var(--e-6); }
.proximo__texto small { color: var(--lima); font-size: var(--t-sm); }
.proximo__texto strong { display: block; font-size: clamp(1.8rem, 1rem + 3vw, 3.6rem); font-weight: 900; letter-spacing: -.035em; line-height: 1; }
@media (max-width: 640px) { .proximo { aspect-ratio: 4 / 3; } .proximo__texto { inset: auto var(--e-4) var(--e-4) var(--e-4); } }
.lupa { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: var(--e-5); background: rgb(10 16 19 / .94); opacity: 0; visibility: hidden; transition: opacity var(--d-media); cursor: zoom-out; }
.lupa.is-aberta { opacity: 1; visibility: visible; }
.lupa img { max-width: 100%; max-height: 92vh; border-radius: var(--raio-sm); }

/* ---------- Prévia de celular (Ctrl + Y) ---------- */
.previa { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: rgb(10 16 19 / .88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.previa[hidden] { display: none; }
.previa__aparelho { position: relative; width: 410px; height: min(864px, 92vh); padding: 10px; border-radius: 48px; background: #0b0f11; box-shadow: 0 0 0 2px #2c3a41, 0 40px 80px -20px #000; }
.previa__aparelho iframe { width: 100%; height: 100%; border: 0; border-radius: 38px; background: var(--ardosia-950); }
.previa__info { position: absolute; top: var(--e-5); left: 50%; translate: -50% 0; color: var(--ardosia-200); font-size: var(--t-xs); }

/* ---------- Leveza em celular ---------- */
@media (max-width: 760px), (pointer: coarse) {
  .ambiente::before { animation: none; }
  .ambiente__granulado, .ambiente__arco { display: none; }
  .ambiente__colunas i:nth-child(2n)::after { display: none; }
  .mosaico__coluna { animation-duration: calc(var(--vel) * 1.6); }
  .carrossel__info { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgb(16 25 29 / .85); }
}
@media (prefers-reduced-motion: reduce) { .mosaico__coluna, .balao, .orbe-zap::after { animation: none; } }


/* ================= v5: ajustes da revisão ================= */
/* Trabalhos: cabeçalho central com vida */
.trabalhos-cab { max-width: 52rem; margin-inline: auto; }
.trabalhos-cab__titulo { margin: 0; font-size: clamp(2.6rem, 1rem + 5vw, 5.4rem); font-weight: 900; letter-spacing: -.045em; line-height: .98; text-wrap: balance; }
.trabalhos-cab__titulo em { font-style: normal; color: var(--lima); position: relative; display: inline-block; }
.trabalhos-cab__titulo em::after { content: ""; position: absolute; left: 0; right: 0; bottom: .06em; height: .12em; border-radius: 99px; background: var(--lima); transform: scaleX(0); transform-origin: left; animation: sublinha 1.2s .4s var(--ease-saida) forwards; }
@keyframes sublinha { to { transform: scaleX(1); } }
.trabalhos-cab__numeros { list-style: none; margin: var(--e-5) 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--e-3); }
.trabalhos-cab__numeros li { padding: .55rem 1.1rem; border-radius: 99px; font-size: var(--t-sm); color: var(--ardosia-100); background: rgb(255 255 255 / .05); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); }
.trabalhos-cab__numeros b { color: var(--lima); font-size: var(--t-md); margin-right: .25rem; }

/* grade de projetos de ponta a ponta, um colado no outro */
.grade-projetos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-flow: dense; gap: 3px; padding: 3px; }
.tile { position: relative; overflow: hidden; aspect-ratio: 16 / 11; isolation: isolate; color: var(--branco); text-decoration: none; background: var(--superficie); }
.tile:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.tile--larga { grid-column: span 2; aspect-ratio: auto; }
.tile.is-oculto { display: none; }
.tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-saida), filter .5s; }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(10 16 19 / .92), transparent 55%); opacity: .75; transition: opacity .4s; }
.tile__info { position: absolute; z-index: 1; left: var(--e-4); right: var(--e-4); bottom: var(--e-4); display: grid; gap: 2px; transform: translateY(6px); transition: transform .5s var(--ease-saida); }
.tile__info small { color: var(--lima); font-size: var(--t-xs); font-weight: 700; }
.tile__info strong { font-size: var(--t-md); line-height: 1.15; }
.tile:first-child .tile__info strong { font-size: var(--t-xl); }
.tile:hover img { transform: scale(1.06); }
.tile:hover::after { opacity: 1; }
.tile:hover .tile__info { transform: none; }
.grade-projetos:hover .tile:not(:hover) img { filter: brightness(.55) saturate(.8); }
@media (max-width: 1080px) { .grade-projetos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .grade-projetos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tile__info strong { font-size: var(--t-sm); } }

/* três destaques: grande à esquerda, projeto e vídeo à direita */
.destaques { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: 1fr 1fr; gap: var(--e-4); margin-top: var(--e-8); }
.destaques .destaque { margin-top: 0; min-height: 0; }
.destaque--grande { grid-row: span 2; min-height: clamp(30rem, 24rem + 14vw, 40rem) !important; grid-template-columns: 1fr; align-content: end; }
.destaque--grande .destaque__pilha { position: absolute; inset: 5% 3% auto auto; width: 50%; height: 40%; min-height: 0; }
.destaque--grande .destaque__pilha img { width: 62%; }
.destaque--grande::before { background: linear-gradient(0deg, rgb(16 25 29 / .97) 0%, rgb(16 25 29 / .75) 40%, rgb(16 25 29 / .15) 75%); }
.destaque--medio, .destaque--video { grid-template-columns: 1fr; align-content: end; padding: var(--e-6); min-height: 17rem; }
.destaque--medio::before, .destaque--video::before { background: linear-gradient(0deg, rgb(16 25 29 / .95) 0%, rgb(16 25 29 / .35) 55%, transparent); }
.destaque--medio .destaque__nome, .destaque--video .destaque__nome { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.2rem); }
.destaque--video { border: 0; font: inherit; text-align: left; cursor: pointer; background: #000; }
.destaque--video video.destaque__fundo { object-fit: cover; }
.destaque__play { position: absolute; top: var(--e-5); right: var(--e-5); width: 3.6rem; height: 3.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--lima); color: var(--ardosia-950); box-shadow: 0 0 0 10px rgb(153 235 0 / .2); transition: transform .4s var(--ease-saida); }
.destaque__play svg { width: 1.3rem; margin-left: 3px; }
.destaque--video:hover .destaque__play { transform: scale(1.1); }
@media (max-width: 860px) { .destaques { grid-template-columns: 1fr; grid-template-rows: auto; } .destaque--grande { grid-row: auto; } .destaque--grande .destaque__pilha { display: none; } }

/* dobra genérica: diagonal na entrada da seção, como a dos serviços */
.dobra { --dobra: clamp(3rem, 7vw, 7.5rem); position: relative; z-index: 1; margin-top: calc(-1 * var(--dobra)); padding-top: calc(var(--dobra) + clamp(3rem, 2rem + 4vw, 6rem)) !important;
  clip-path: polygon(0 var(--dobra), 100% 0, 100% 100%, 0 100%); }
.dobra::before { content: ""; position: absolute; inset: 0 0 auto; height: calc(var(--dobra) + 1.6rem); pointer-events: none; z-index: 0;
  background: linear-gradient(180deg, var(--lima-700), var(--lima-600) 60%, var(--lima)); clip-path: polygon(0 var(--dobra), 100% 0, 100% 1.6rem, 0 calc(var(--dobra) + 1.6rem)); }
.dobra--escura { background: var(--ardosia-950); clip-path: polygon(0 0, 100% var(--dobra), 100% 100%, 0 100%); }
.dobra--escura::before { background: linear-gradient(180deg, #050a0c, var(--ardosia-900) 70%, var(--ardosia-950)); clip-path: polygon(0 0, 100% var(--dobra), 100% calc(var(--dobra) + 1.6rem), 0 1.6rem); }

/* vídeos em verde */
.videos-secao[data-tema="lima"] { background: radial-gradient(60% 50% at 15% 0%, var(--lima-200), transparent 70%), var(--lima); color: var(--ardosia-950); padding-bottom: calc(clamp(3rem, 7vw, 7.5rem) + 2rem); }
.videos-secao[data-tema="lima"] .secao-cab p { color: var(--ardosia-700); }
.videos-secao[data-tema="lima"] .etiqueta { color: var(--ardosia-900); box-shadow: inset 0 0 0 1.5px rgb(16 25 29 / .35); }
.videos-secao[data-tema="lima"] .etiqueta[aria-pressed="true"] { background: var(--ardosia-950); color: var(--lima); box-shadow: none; }
.videos-secao[data-tema="lima"] .vid { box-shadow: 0 30px 60px -30px rgb(16 25 29 / .7); }

/* manifesto com chamada */
.manifesto__chamada { display: flex; flex-wrap: wrap; gap: var(--e-3); margin-top: var(--e-6); }

/* equipe: rosto esverdeado no verso */
.giro__avatar { position: relative; width: 5.5rem; height: 5.5rem; border-radius: 50%; overflow: hidden; margin-bottom: var(--e-2); box-shadow: 0 0 0 3px var(--ardosia-900), 0 0 0 5px var(--lima), 0 14px 30px -10px rgb(153 235 0 / .5); flex: none; }
.giro__avatar img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(1.05); }
.giro__avatar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgb(153 235 0 / .85), rgb(46 120 20 / .9)); mix-blend-mode: multiply; }

/* mapa do Google escuro com verde, arrastável; o pino da Ativa fica por cima do ponto central */
.rodape__mapa { z-index: 0; }
.rodape__mapa iframe { position: absolute; left: 0; top: -60px; width: 136%; height: calc(100% + 60px); border: 0;
  filter: grayscale(1) invert(.92) contrast(1.15) brightness(.8) sepia(.4) hue-rotate(45deg) saturate(1.8); }
.rodape__pino { top: calc(50% - 30px); }
@media (max-width: 860px) {
  .rodape__mapa iframe { width: 100%; height: calc(18rem + 120px); }
  .rodape__pino { top: 9rem; }
}

/* ================= v8 ================= */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* menu com mais links: o menu vira botão mais cedo */
@media (max-width: 1180px) {
  .nav__menu { display: grid; }
  .nav__links { display: none; }
  .nav .btn--ativo > span:not([class]), .nav .btn--ativo .btn__seta { display: none; }
  .nav .btn--ativo { padding-right: .4rem; }
}

/* ---------- TOPO com letras gigantes e imagem dentro (dupla exposição) ---------- */
.hero2 { background: var(--ardosia-950); }
.hero2__fundo { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.hero2__fundo i { position: absolute; inset: -6%; background: var(--fundo) center / cover no-repeat; filter: blur(2px) saturate(1.3); opacity: .26; transform: scale(1.04); transition: opacity .7s, transform 2.4s var(--ease-saida); }
.hero2__fundo i + i { background: linear-gradient(90deg, var(--ardosia-950) 8%, rgb(16 25 29 / .5) 55%, var(--ardosia-950) 100%); opacity: 1; filter: none; }
.hero2:has(.dx:hover) .hero2__fundo i:first-child, .hero2:has(.dx:focus-visible) .hero2__fundo i:first-child { opacity: .42; transform: scale(1.1); }
.hero2__grao { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(70% 60% at 85% 20%, rgb(153 235 0 / .16), transparent 65%), linear-gradient(0deg, var(--ardosia-950) 0%, transparent 35%); }
.hero2__conteudo { padding-top: var(--e-4); }
.hero2__linha { margin: 0 0 var(--e-3); font-size: clamp(1.1rem, .8rem + 1.6vw, 2rem); font-weight: 700; letter-spacing: -.02em; color: var(--texto-suave); }
.hero2__linha--baixo { margin: var(--e-2) 0 var(--e-3); color: var(--lima); }

/* letra preenchida por imagem */
.dx, .dx-camada { background: var(--img) center / cover no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
  -webkit-text-stroke: 1px rgb(153 235 0 / .6); font-weight: 900; letter-spacing: -.055em; line-height: .9; text-transform: none; }
.dx-lista { list-style: none; margin: 0 0 var(--e-5); padding: 0; display: flex; flex-wrap: wrap; gap: 0 .32em; font-size: clamp(2.4rem, .8rem + 5.4vw, 6.6rem); max-width: 26ch; align-items: baseline; }
.dx-lista li { display: block; }
.dx { position: relative; display: inline-block; padding: .02em .04em .08em; text-decoration: none; background-size: 150%; transition: background-size 1.2s var(--ease-saida), background-position 1.2s var(--ease-saida), -webkit-text-stroke-color .4s, transform .5s var(--ease-mola); filter: grayscale(.75) brightness(1.3) contrast(1.15); }
.dx::before { content: attr(data-t); position: absolute; inset: .02em .04em .08em; background: linear-gradient(120deg, rgb(153 235 0 / .85), transparent 55%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; mix-blend-mode: overlay; opacity: .7; pointer-events: none; transition: opacity .5s; }
.dx:hover, .dx:focus-visible { filter: grayscale(0) brightness(1.12) contrast(1.1) saturate(1.2); background-size: 215%; background-position: 70% 40%; -webkit-text-stroke-color: var(--lima); transform: translateY(-.04em) rotate(-1.2deg); outline: none; }
.dx-gigante { position: relative; display: block; font-size: clamp(5.5rem, 1rem + 25vw, 27rem); margin: 0 0 var(--e-4) -.04em; line-height: .86; width: max-content; max-width: 100%; }
.dx-gigante--marca { font-size: clamp(7rem, 1rem + 32vw, 34rem); }
.dx-camada { display: block; text-align: left; font-size: inherit; background-color: var(--lima); background-blend-mode: overlay; filter: brightness(1.12) contrast(1.12) saturate(1.15); transition: background-blend-mode .5s; }
.dx-gigante:hover .dx-camada { background-blend-mode: normal; }
.dx-camada:not(:first-child) { position: absolute; inset: 0; }
.dx-camada::before { content: attr(data-t); position: absolute; inset: 0; background: linear-gradient(120deg, rgb(153 235 0 / .8), transparent 60%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; mix-blend-mode: overlay; }
.dx-gigante .dx-camada { animation: dx-troca calc(var(--qtd) * 4.2s) infinite; animation-delay: calc(var(--n) * 4.2s); opacity: 0; background-size: 120%; }
.dx-gigante .dx-camada:first-child { opacity: 1; }
.dx-gigante--um .dx-camada { animation: none; opacity: 1; }
@keyframes dx-troca { 0% { opacity: 0; background-position: 0% 50%; } 6%, 24% { opacity: 1; } 32% { opacity: 0; } 100% { opacity: 0; background-position: 100% 50%; } }
@media (max-width: 860px) {
  .dx-lista { max-width: none; gap: 0 .35em; }
  .hero2 { padding-top: 6.5rem; }
}
@media (prefers-reduced-motion: reduce) { .dx-gigante .dx-camada { animation: none; } .dx-gigante .dx-camada:not(:first-child) { display: none; } }

/* ---------- MARABÁ com fotos da cidade na frente ---------- */
.maraba--fotos .maraba__foto img { filter: saturate(.45) contrast(.9) brightness(.6) blur(1px); opacity: .42; }
.maraba--fotos .maraba__veu { background: linear-gradient(90deg, rgb(16 25 29 / .85) 0%, rgb(16 25 29 / .45) 55%, rgb(16 25 29 / .2) 100%), linear-gradient(0deg, var(--ardosia-950) 0%, rgb(16 25 29 / .7) 20%, transparent 55%); }
.maraba__fotos-caixa { position: absolute; inset: 0; margin-inline: auto; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding-top: 5rem; pointer-events: none; }
.maraba__fotos-titulo { margin: 0 0 var(--e-4); max-width: 22ch; text-align: right; font-weight: 800; font-size: var(--t-md); color: var(--lima); opacity: var(--m); }
.maraba__fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-3); width: min(42rem, 52%); pointer-events: auto; }
.maraba--fotos .maraba__conteudo { flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: var(--e-5); }
.maraba--fotos .maraba__titulo { font-size: clamp(2.4rem, 1rem + 4.4vw, 5.4rem); max-width: 11ch; }
.maraba--fotos .maraba__cartao { max-width: 24rem; padding: var(--e-5); }
.maraba__quadro { position: relative; margin: 0; overflow: hidden; border-radius: var(--raio-lg); aspect-ratio: 4 / 3; box-shadow: 0 30px 60px -30px rgb(0 0 0 / .85); isolation: isolate;
  opacity: calc(var(--m) * 1.4 - .3); transform: translateY(calc((1 - var(--m)) * (40px + var(--k) * 40px))) rotate(calc((var(--k) - 1.5) * .8deg)); transition: transform .6s var(--ease-saida), box-shadow .5s; }
.maraba__quadro:nth-child(even) { translate: 0 1.4rem; }
.maraba__quadro img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-saida); }
.maraba__quadro:hover { transform: translateY(-6px) rotate(0); box-shadow: 0 40px 70px -30px rgb(153 235 0 / .35); z-index: 2; }
.maraba__quadro:hover img { transform: scale(1.07); }
.maraba__quadro figcaption { position: absolute; left: var(--e-3); bottom: var(--e-3); padding: .3rem .8rem; border-radius: 999px; font-size: var(--t-xs); font-weight: 700; background: rgb(16 25 29 / .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--branco); }
.maraba__fotos.n1 { grid-template-columns: 1fr; } .maraba__fotos.n1 .maraba__quadro { aspect-ratio: 16 / 10; }
.maraba__fotos.n3 .maraba__quadro:first-child { grid-column: span 2; aspect-ratio: 16 / 8; }
@media (max-width: 860px) {
  /* no celular a seção vira uma coluna normal: fotos em cima, texto embaixo */
  .maraba--fotos { height: auto; }
  .maraba--fotos .maraba__palco { position: relative; height: auto; display: block; padding: 6.5rem 0 2.5rem; }
  .maraba--fotos .maraba__foto { clip-path: none; }
  .maraba--fotos .maraba__foto img { transform: none; }
  .maraba__fotos-caixa { position: relative; inset: auto; align-items: stretch; padding-top: 0; margin-bottom: var(--e-6); }
  .maraba__fotos { width: 100%; gap: .5rem; } .maraba__fotos-titulo { text-align: left; max-width: none; opacity: 1; }
  .maraba__quadro { aspect-ratio: 4 / 3; opacity: 1; transform: none; translate: none !important; }
  .maraba__fotos.n3 .maraba__quadro:first-child { aspect-ratio: 16 / 9; }
  .maraba--fotos .maraba__conteudo { padding-bottom: 0; }
}

/* ---------- PROJETOS: grade configurável e efeitos ---------- */
.grade-projetos { grid-template-columns: repeat(var(--cols, 6), minmax(0, 1fr)); }
@media (max-width: 1080px) { .grade-projetos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .grade-projetos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tile__seta { position: absolute; z-index: 2; right: var(--e-4); top: var(--e-4); width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--lima); color: var(--ardosia-950);
  opacity: 0; transform: translate(-8px, 8px) scale(.7); transition: opacity .35s, transform .5s var(--ease-mola); }
.tile__seta svg { width: 1.1rem; }
.tile:hover .tile__seta, .tile:focus-visible .tile__seta { opacity: 1; transform: none; }
.tile:focus-visible { outline: 3px solid var(--lima); outline-offset: -3px; }
.tile::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .4s; }
/* zoom: já existe; aqui só reforça o contorno */
.grade--zoom .tile:hover { box-shadow: inset 0 0 0 3px var(--lima); }
/* inclinar com brilho que segue o mouse */
.grade--inclinar .tile, .destaques .destaque { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--ease-saida), box-shadow .4s; will-change: transform; }
.grade--inclinar .tile:hover { z-index: 3; box-shadow: 0 30px 60px -24px rgb(0 0 0 / .85); }
.grade--inclinar .tile::before { background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgb(255 255 255 / .28), transparent 55%); mix-blend-mode: soft-light; }
.grade--inclinar .tile:hover::before { opacity: 1; }
/* cortina verde que sobe e mostra o nome grande */
.grade--cortina .tile::before { opacity: 1; background: linear-gradient(0deg, rgb(153 235 0 / .94), rgb(120 200 0 / .9)); transform: translateY(101%); transition: transform .55s var(--ease-saida); }
.grade--cortina .tile:hover::before, .grade--cortina .tile:focus-visible::before { transform: none; }
.grade--cortina .tile__info { z-index: 2; }
.grade--cortina .tile:hover .tile__info small, .grade--cortina .tile:hover .tile__info strong { color: var(--ardosia-950); }
.grade--cortina .tile:hover img { transform: scale(1.12) rotate(.6deg); filter: none; }

/* ---------- DESTAQUES: capa e hover ---------- */
.destaques-cab { margin-top: var(--e-9, 6rem); display: grid; justify-items: start; gap: var(--e-2); }
.destaques-cab > * { max-width: 46rem; }
.destaques-cab__titulo em { font-style: normal; color: var(--lima); }
.destaques-cab .rotulo { margin: 0; }
.destaques-cab__titulo { margin: 0; font-size: clamp(2rem, 1rem + 3.4vw, 4rem); font-weight: 900; letter-spacing: -.04em; line-height: 1; text-wrap: balance; }
.destaques-cab p { margin: var(--e-2) 0 0; color: var(--texto-suave); max-width: 40ch; }
.destaques-cab + .destaques { margin-top: var(--e-6); }
.destaque { position: relative; overflow: hidden; }
.destaque::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgb(153 235 0 / .22), transparent 50%); opacity: 0; transition: opacity .4s; }
.destaque:hover::after { opacity: 1; }
.destaque:hover { box-shadow: 0 0 0 2px var(--lima), 0 40px 80px -40px rgb(153 235 0 / .4); z-index: 2; }
.destaque__fundo { transition: transform 1.4s var(--ease-saida), filter .5s; }
.destaque:hover .destaque__fundo { transform: scale(1.07); }
.destaque__btn { transition: transform .45s var(--ease-mola); }
.destaque:hover .destaque__btn { transform: translateX(6px); }
.vid { transition: transform .5s var(--ease-mola), box-shadow .4s; }
.vid:hover { transform: translateY(-6px) scale(1.012); box-shadow: 0 0 0 3px var(--ardosia-950), 0 36px 60px -28px rgb(16 25 29 / .85); }
@media (hover: none) { .grade--inclinar .tile, .destaques .destaque { transform: none; } }

/* ---------- QUEM FAZ: versões 2 e 3 ---------- */
.equipe--palco, .equipe--linhas { display: grid; gap: var(--e-5); }
.equipe--palco { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.retrato { position: relative; border-radius: var(--raio-lg); overflow: hidden; min-height: clamp(30rem, 24rem + 20vw, 46rem); isolation: isolate; display: grid; align-items: end; }
.retrato > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.2); transition: transform 1.4s var(--ease-saida), filter .6s; }
.retrato::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgb(16 25 29 / .97) 0%, rgb(16 25 29 / .78) 38%, rgb(16 25 29 / .08) 70%); }
.retrato:hover > img { transform: scale(1.05); filter: none; }
.retrato__texto { padding: clamp(1.4rem, 1rem + 2vw, 2.6rem); display: grid; gap: var(--e-2); }
.retrato__cargo { margin: 0; color: var(--lima); font-weight: 700; font-size: var(--t-sm); }
.retrato h3 { margin: 0; font-size: clamp(2.2rem, 1rem + 3.4vw, 4.4rem); font-weight: 900; letter-spacing: -.045em; line-height: .95; }
.retrato__bio { margin: var(--e-2) 0 var(--e-2); max-width: 42ch; color: var(--ardosia-100); font-size: var(--t-sm); }
.retrato__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.retrato__chips li { padding: .35rem .85rem; border-radius: 999px; font-size: var(--t-xs); font-weight: 600; color: var(--ardosia-100); background: rgb(254 254 254 / .08); box-shadow: inset 0 0 0 1px rgb(254 254 254 / .14); }
.equipe--linhas { gap: 0; border-top: 1px solid rgb(254 254 254 / .14); }
.linha-pessoa { display: grid; grid-template-columns: 4rem minmax(0, 1fr) clamp(8rem, 5rem + 12vw, 16rem); gap: var(--e-5); align-items: center; padding: var(--e-6) 0; border-bottom: 1px solid rgb(254 254 254 / .14); transition: background .4s, padding .5s var(--ease-saida); }
.linha-pessoa:hover { background: linear-gradient(90deg, rgb(153 235 0 / .08), transparent 70%); padding-left: var(--e-4); }
.linha-pessoa__num { font-weight: 800; color: var(--lima); font-size: var(--t-md); align-self: start; padding-top: .8rem; }
.linha-pessoa h3 { margin: 0; font-size: clamp(2.6rem, .8rem + 7vw, 7.4rem); font-weight: 900; letter-spacing: -.055em; line-height: .88; }
.linha-pessoa__cargo { margin: var(--e-2) 0; color: var(--lima); font-weight: 700; }
.linha-pessoa__bio { margin: 0 0 var(--e-3); max-width: 52ch; color: var(--ardosia-100); }
.linha-pessoa__foto { justify-self: end; width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px var(--ardosia-900), 0 0 0 7px var(--lima); transition: transform .7s var(--ease-mola); }
.linha-pessoa__foto img { width: 100%; height: 100%; object-fit: cover; }
.linha-pessoa:hover .linha-pessoa__foto { transform: rotate(-6deg) scale(1.06); }
@media (max-width: 860px) {
  .equipe--palco { grid-template-columns: 1fr; }
  .linha-pessoa { grid-template-columns: minmax(0, 1fr) 6rem; } .linha-pessoa__num { display: none; }
  .linha-pessoa__foto { grid-column: 2; grid-row: 1; width: 6rem; }
}

/* ---------- v9: aviso de cookies, manutenção e página 404 ---------- */
.cookies { position: fixed; z-index: 90; left: var(--margem-lateral, 1rem); right: var(--margem-lateral, 1rem); bottom: 1rem; max-width: 42rem; margin-inline: auto; display: flex; gap: var(--e-4, 1rem); align-items: center; flex-wrap: wrap; padding: 1rem 1.25rem; border-radius: var(--raio-lg, 1.25rem); background: rgb(16 25 29 / .94); color: var(--branco, #fefefe); box-shadow: 0 20px 50px -20px rgb(0 0 0 / .6), inset 0 0 0 1px rgb(254 254 254 / .12); backdrop-filter: blur(14px); }
.cookies[hidden] { display: none; }
.cookies p { margin: 0; flex: 1 1 16rem; font-size: var(--t-sm, .9rem); color: var(--ardosia-100, #dde4e9); }
.cookies__acoes { display: flex; gap: .5rem; }
.rodape__cookies { all: unset; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; opacity: .8; }
.rodape__cookies:hover { opacity: 1; }
.manutencao { min-height: 100vh; display: grid; place-items: center; background: var(--ardosia-950, #10191d); color: var(--branco, #fefefe); font-family: var(--fonte-base, system-ui, sans-serif); }
.manutencao__caixa { max-width: 34rem; padding: 2rem; text-align: center; display: grid; gap: 1.25rem; justify-items: center; }
.manutencao__caixa h1 { margin: 0; font-size: clamp(2.4rem, 1rem + 5vw, 4.4rem); font-weight: 900; letter-spacing: -.045em; }
.manutencao__caixa p { margin: 0; color: var(--ardosia-100, #dde4e9); }
.erro404 { min-height: 70vh; display: grid; align-items: center; padding-top: 8rem; }
.erro404 h1 { margin: .5rem 0 1rem; font-size: clamp(2.6rem, 1rem + 6vw, 6rem); font-weight: 900; letter-spacing: -.05em; line-height: .95; max-width: 14ch; }
.erro404 p { max-width: 44ch; color: var(--ardosia-100, #dde4e9); }
.erro404__acoes { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
