/* Aeonik, a mesma fonte do site publicado (arquivos servidos pelo Wix do próprio site) */
@font-face { font-family: "Aeonik"; src: url("fonts/aeonik-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Aeonik"; src: url("fonts/aeonik-medium.woff2") format("woff2"); font-weight: 500 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Aeonik"; src: url("fonts/aeonik-bold.woff2") format("woff2"); font-weight: 700 900; font-style: normal; font-display: swap; }
/* Gerado para replicar o layout do Wix: seções -> faixas de colunas -> elementos posicionados */
:root {
  --bg: #FFFFFF;
  --ink: #000000;
  --muted: #757575;
  --line: #E8E6E6;
  --font: "Aeonik", "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --stage: 980px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; }
p, h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 400; }
ul, ol { margin: 0; padding-left: 1.2em; }

/* Fontes do tema Wix (font_0..font_10) */
.font_0 { font-size: clamp(48px, 8.3vw, 120px); line-height: .9; letter-spacing: -.02em; color: #FFFFFF; }
.font_1 { font-size: 16px; line-height: 1.4; color: #757575; }
.font_2 { font-size: clamp(22px, 1.95vw, 28px); line-height: 1.4; }
.font_3 { font-size: clamp(34px, 4.2vw, 60px); line-height: 1.2; }
.font_4 { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.3; }
.font_5 { font-size: clamp(22px, 1.95vw, 28px); line-height: 1.4; }
.font_6 { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.4; }
.font_7 { font-size: 17px; line-height: 1.4; }
.font_8 { font-size: clamp(16px, 1.4vw, 20px); line-height: 1.4; }
.font_9 { font-size: 14px; line-height: 1.4; }
.font_10 { font-size: 12px; line-height: 1.4; color: #757575; }
.txt span[style*="font-weight:bold"], .txt strong { font-weight: 600; }

/* Cabeçalho: fixo no topo, fundo #F8F8F8, 93px (medido no site publicado);
   logo e idioma alinhados ao palco de 980px */
:root { --hdr: 93px; }
.site-header { position: sticky; top: 0; z-index: 50; height: var(--hdr); background: #F8F8F8; transition: transform .2s ease; }
.site-header.hide { transform: translateY(-100%); }
.site-header .logo { position: absolute; left: max(16px, calc(50% - 490px)); top: 28px; width: 73px; }
.site-header .lang { position: absolute; right: max(16px, calc(50% - 490px)); top: 46px; display: flex; gap: 10px; font-size: 12px; }
.site-header .lang a { text-decoration: none; color: #757575; }
.site-header .lang a.on { color: #000; }

/* Fundo com zoom (BgZoom): como no Wix, a imagem fica presa ao topo da tela (sticky) dentro de uma
   camada que se estende uma tela acima e abaixo do bloco; altura = max(tela, bloco) */
[data-bg^="zoom"] { overflow: clip; }
[data-bg^="zoom"] > .bgwrap { position: absolute; left: 0; right: 0; top: -100vh; height: calc(100% + 200vh); pointer-events: none; }
[data-bg^="zoom"] > .bgwrap > .bgm { position: sticky; top: 0; display: block; width: 100%; height: max(100vh, var(--ch, 100%)); object-fit: cover; transform-origin: 50% 50%; }

/* Estrutura
   Cada coluna ocupa uma fração da janela; dentro dela, uma caixa interna com a largura
   nominal do Wix (--cw), alinhada por --al (0 = esquerda, .5 = centro, 1 = direita). */
.sec { position: relative; overflow: clip; display: flow-root; }
.spacer { height: var(--sh); }
.strip { position: relative; display: flex; gap: var(--gap); padding: 0 var(--fm); min-height: var(--sh); }
.strip.boxed { max-width: var(--stage); margin: 0 auto; }
.col { position: relative; min-height: var(--ch); }
.col-in { position: absolute; top: 0; bottom: 0; width: var(--cw); left: calc((100% - var(--cw)) * var(--al)); }
.col > .bgm, .sec > .bgm, .strip > .bgm, .grp > .bgm { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ov { position: absolute; inset: 0; pointer-events: none; }
.stage { position: relative; min-height: var(--sh); }
.stage.over { position: absolute; inset: 0; min-height: 0; z-index: 1; pointer-events: none; }
.stage.over .c { pointer-events: auto; }
.stage-in { position: absolute; top: 0; bottom: 0; left: calc(50% - 490px); width: 980px; }

/* Elemento posicionado (coordenadas do Wix) */
.c { position: absolute; left: var(--l); top: var(--y); width: var(--wd); z-index: 1; }
.c.dock { left: var(--dl); right: var(--dr); width: auto; }
.c.img, .c.galbox, .c.embed, .c.grp, .c.slideshow, .c.btnbox { height: var(--h); }
.c.img img { width: 100%; height: 100%; }
.c.img.cover img { object-fit: cover; }
.c.img.contain img { object-fit: contain; }
.c.img a { display: block; height: 100%; }
.c.embed iframe { width: 100%; height: 100%; border: 0; }
.grp { overflow: hidden; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 44px; padding: 0 22px;
  border: 1px solid #000; color: #000; background: transparent; text-decoration: none; font-size: 14px; letter-spacing: .02em; transition: background .2s, color .2s; cursor: pointer; }
.btn:hover { background: #000; color: #fff; }

/* Galerias (pro-gallery do Wix) */
.gal { position: relative; height: 100%; }
.gal-prev, .gal-next, .ss-prev, .ss-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 40px; height: 56px; border: 0;
  background: transparent; font-size: 40px; line-height: 1; cursor: pointer; color: #000; font-family: inherit; }
.gal-prev, .ss-prev { left: 8px; }
.gal-next, .ss-next { right: 8px; }
/* faixa (layout 4): imagens na altura da galeria, lado a lado */
/* o Wix recua a faixa 70px de cada lado (área das setas) e usa metade do espaçamento como margem */
.gal.strip { padding: 0 70px; min-height: 0; }  /* não herda a altura mínima das faixas de seção (.strip) */
.gal.strip .gal-track { display: flex; gap: var(--gap); height: calc(100% + var(--gap) / 2); padding: calc(var(--gap) / 2) 0 0 calc(var(--gap) / 2);
  box-sizing: border-box; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: calc(var(--gap) / 2); scrollbar-width: none; }
.gal.strip .gal-prev { left: 15px; } .gal.strip .gal-next { right: 15px; }
.gal.strip .gal-track::-webkit-scrollbar { display: none; }
.gal.strip figure { margin: 0; flex: 0 0 auto; height: 100%; aspect-ratio: var(--r); scroll-snap-align: start; overflow: hidden; }
.gal.strip figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.gal.strip figure:hover img { transform: scale(1.04); }
/* imagem única (layouts 3 e 5) com miniaturas opcionais */
.gal.one { display: flex; flex-direction: column; gap: var(--tg); }
.gal.one .gal-stage { position: relative; flex: 1; min-height: 0; }
.gal.one figure { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .5s; }
.gal.one figure.on { opacity: 1; }
.gal.one figure img { width: 100%; height: 100%; }
.gal.one .gal-thumbs { flex: 0 0 var(--ts); display: flex; gap: var(--tg); justify-content: center; overflow-x: auto; scrollbar-width: none; }
.gal.one .gal-thumbs::-webkit-scrollbar { display: none; }
.gal.one .gal-thumbs button { flex: 0 0 var(--ts); height: var(--ts); padding: 0; border: 0; background: none; cursor: pointer; opacity: .5; transition: opacity .2s; }
.gal.one .gal-thumbs button.on, .gal.one .gal-thumbs button:hover { opacity: 1; }
.gal.one .gal-thumbs img { width: 100%; height: 100%; object-fit: cover; }
/* grade (layout 2) */
.gal.grid { display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: var(--gap); height: auto; }
.gal.grid figure { margin: 0; aspect-ratio: var(--ar); }
.gal.grid img { width: 100%; height: 100%; }
.c.galbox:has(.gal.grid) { height: auto; }

/* Slideshow / abas */
.slideshow .slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .4s; }
.slideshow .slide.on { opacity: 1; visibility: visible; }
.repeater { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; height: auto !important; }
.rep-item { position: relative; min-height: 200px; }

/* Formulários */
.field label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.field input, .field textarea { font: inherit; padding: 10px 12px; border: 1px solid #000; background: transparent; }
.popup-page { position: relative; max-width: 640px; margin: 40px auto; min-height: 600px; }

/* Home: projetos selecionados (grade do Wix: 4 colunas, 20px, cards 3:4, nome no hover) */
.home { padding: 0 20px 4px; }
.home h1 { font-size: 40px; line-height: 1; margin: 29px 0 0 max(0px, calc(50% - 490px - 20px)); height: 148px; }
.grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.card { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #eee; color: #fff; text-decoration: none; }
.card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.card-txt { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px;
  text-align: center; background: rgba(0,0,0,.25); opacity: 0; transition: opacity .3s; }
.card-txt h2 { font-size: 32px; line-height: 1.1; }
.card-txt p { font-size: 20px; }
.card:hover img { transform: scale(1.05); }
.card:hover .card-txt, .card:focus-visible .card-txt { opacity: 1; }
.card.soon { cursor: default; }

/* Mobile: tudo vira fluxo vertical */
@media (max-width: 900px) {
  .grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .home h1 { margin: 24px 0; height: auto; font-size: 32px; }
  .card-txt { opacity: 1; background: linear-gradient(transparent 50%, rgba(0,0,0,.55)); justify-content: flex-end; align-items: flex-start; text-align: left; }
  .card-txt h2 { font-size: 18px; } .card-txt p { font-size: 13px; }
  :root { --hdr: 72px; }
  .site-header .logo { top: 16px; width: 60px; }
  .site-header .lang { top: 30px; }
  .sec { height: auto !important; }
  .sec.bgonly { min-height: 60vw !important; }
  .strip { flex-direction: column; gap: 0; padding: 0; min-height: 0; }
  .col { position: relative; min-height: 0; flex: none !important; }
  .col.media { min-height: 70vw; }
  .col-in { position: relative; width: auto; left: auto; padding: 0 20px; display: flex; flex-direction: column; gap: 20px; }
  .col-in:not(:empty) { padding-top: 32px; padding-bottom: 32px; }
  .col.media .col-in { padding: 0; }
  .c, .c.dock { position: relative; left: auto; right: auto; top: auto; width: 100%; }
  .c.img, .c.grp, .c.slideshow { height: auto; }
  .c.img img { height: auto; }
  .gal.strip { padding: 0; }
  .c.galbox { height: min(var(--h), 70vw); margin: 0 -20px; width: calc(100% + 40px); }
  .col > .c.galbox { margin: 0; width: 100%; }
  .c.embed { height: max(var(--h), 600px); }
  .c.btnbox { height: 48px; }
  .grp > .c { position: relative; }
  .slideshow .slide { position: relative; display: none; }
  .slideshow .slide.on { display: block; }
  .spacer { height: calc(var(--sh) * .4); }
  .stage, .stage.over { position: relative; inset: auto; min-height: 0; display: flex; flex-direction: column; gap: 20px; }
  .stage-in { position: relative; left: auto; width: auto; padding: 0 20px; display: flex; flex-direction: column; gap: 20px; }
}
@media (max-width: 520px) {
  .grid { grid-template-columns: 1fr; }
}

/* Formulários RD Station embutidos */
.c.embed.rd { height: auto; min-height: var(--h); }

/* ---------- Efeitos do Wix ----------
   data-in: entrada quando o elemento aparece na tela (FadeIn, GlitchIn, SlideIn, FloatIn)
   data-bg: fundo animado pela rolagem (BgZoom, BgPullBack, BgFade, BgCloseUp) — ver script.js */
.fx-ready [data-in] { opacity: 0; }
.fx-ready [data-in].in { animation-duration: var(--dur, 1000ms); animation-delay: var(--del, 0ms); animation-fill-mode: both; animation-timing-function: cubic-bezier(.2,.7,.2,1); }
.fx-ready [data-in="fade"].in { animation-name: fx-fade; }
.fx-ready [data-in="glitch"].in { animation-name: fx-glitch; animation-timing-function: linear; }
.fx-ready [data-in^="slide-"].in { animation-name: fx-slide-top; }
.fx-ready [data-in="slide-bottom"].in { animation-name: fx-slide-bottom; }
.fx-ready [data-in="slide-left"].in { animation-name: fx-slide-left; }
.fx-ready [data-in="slide-right"].in { animation-name: fx-slide-right; }
.fx-ready [data-in^="float-"].in { animation-name: fx-float-bottom; }
.fx-ready [data-in="float-left"].in { animation-name: fx-float-left; }
.fx-ready [data-in="float-right"].in { animation-name: fx-float-right; }
@keyframes fx-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fx-glitch {
  0% { opacity: 0; transform: translateX(-14px); }
  12% { opacity: .6; transform: translateX(10px); }
  24% { opacity: .3; transform: translateX(-6px); }
  36% { opacity: .9; transform: translateX(4px); }
  50% { opacity: .7; transform: translateX(-2px); }
  100% { opacity: 1; transform: none; }
}
@keyframes fx-slide-top { from { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(-24px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes fx-slide-bottom { from { opacity: 0; clip-path: inset(100% 0 0 0); transform: translateY(24px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes fx-slide-left { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-24px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes fx-slide-right { from { opacity: 0; clip-path: inset(0 0 0 100%); transform: translateX(24px); } to { opacity: 1; clip-path: inset(0); transform: none; } }
@keyframes fx-float-bottom { from { opacity: 0; transform: translateY(60px); } to { opacity: 1; transform: none; } }
@keyframes fx-float-left { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes fx-float-right { from { opacity: 0; transform: translateX(60px); } to { opacity: 1; transform: none; } }
[data-bg] { overflow: clip; }
[data-bg] > .bgm { will-change: transform, opacity; transform-origin: center; }
@media (prefers-reduced-motion: reduce) {
  .fx-ready [data-in] { opacity: 1; animation: none !important; }
  [data-bg] > .bgm { transform: none !important; opacity: 1 !important; }
}

/* Botão do Wix sem moldura (StylableButton, ex. "Download") */
.btn.plain { border: 0; min-height: 0; line-height: 1.2; justify-content: flex-start; align-items: center; padding: 0; font-size: 24px; font-weight: 500; letter-spacing: 0; background: none; }
.btn.plain:hover { background: none; color: #000; text-decoration: underline; }
/* Rodapé vazio de 40px do Wix */
body::after { content: ""; display: block; height: 40px; background: #F7F7F7; }
/* Filtros de imagem do Wix: "ink" (preto e branco de alto contraste) e "darken" */
img.fx-ink { filter: grayscale(1) contrast(4); }
img.fx-darken { filter: brightness(.25); }
