/* Beco Cria — site institucional (gerado a partir do Figma "Beco Cria / Telas") */
:root {
  --azul: #4367ff;
  --azul-escuro: #162342;
  --laranja: #ff7e00;
  --ceu: #c7eaf2;
  --cinza: #a1a1a1;
  --cinza-claro: #bbb;
  --cinza-medio: #7c7c7c;
  --texto: #444;
  --preto: #000;
  --branco: #fff;
  --raio: 20px;
  --pad: clamp(16px, 5.56vw, 80px);
  --max: 1440px;
  --fonte: "Familjen Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--fonte);
  color: var(--preto);
  background: var(--branco);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: inherit; font-size: inherit; }
.crop { position: relative; overflow: hidden; }
.crop > img { position: absolute; max-width: none; }
.wrap { width: 100%; max-width: var(--max); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 2px solid var(--laranja); outline-offset: 3px; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--azul-escuro); border-radius: 500px;
  padding: 24px; font-size: 16px; font-weight: 500; line-height: 1;
  color: var(--azul-escuro); white-space: nowrap;
  transition: background .2s, color .2s;
}
.btn:hover { background: var(--azul-escuro); color: var(--branco); }
.btn--claro { border-color: var(--branco); color: var(--branco); padding: 16px 24px; font-weight: 400; }
.btn--claro:hover { background: var(--branco); color: var(--azul); }

/* ---------- Header ---------- */
.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.header--linha { border-bottom: 1px solid var(--azul-escuro); }
.header__in {
  max-width: var(--max); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 29px var(--pad); min-height: 122px;
}
.header__logo img { width: 160px; height: 42px; }
.menu { display: flex; align-items: center; gap: 24px; }
.menu a { display: flex; align-items: center; gap: 8px; font-size: 20px; color: var(--azul-escuro); }
.menu a:hover { color: var(--azul); }
.menu a[aria-current="page"] { color: var(--azul); font-weight: 500; }
.menu a[aria-current="page"]::before {
  content: ""; width: 32px; height: 32px; margin: 4px;
  background: url(assets/estrela.svg) center / contain no-repeat;
}
.menu-toggle { display: none; width: 48px; height: 48px; align-items: center; justify-content: center; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
  display: block; width: 26px; height: 2px; background: var(--azul-escuro); position: relative; transition: transform .2s;
}
.menu-toggle span::before, .menu-toggle span::after { content: ""; position: absolute; left: 0; }
.menu-toggle span::before { top: -8px; }
.menu-toggle span::after { top: 8px; }
.header.aberto .menu-toggle span { background: transparent; }
.header.aberto .menu-toggle span::before { transform: translateY(8px) rotate(45deg); }
.header.aberto .menu-toggle span::after { transform: translateY(-8px) rotate(-45deg); }

/* ---------- Seções genéricas ---------- */
.secao { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad); }
.contexto {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 40px;
  font-size: 24px; font-weight: 500; line-height: 1;
}
.contexto__rotulo { color: var(--azul-escuro); white-space: nowrap; }
.contexto__rotulo--cinza { color: var(--texto); line-height: 1.25; }
.contexto__texto { color: var(--cinza); text-transform: lowercase; width: min(737px, 100%); }
.contexto__lado { display: flex; flex-direction: column; gap: 40px; align-items: flex-start; width: min(521px, 100%); }
.contexto__lado .btn { color: var(--preto); border-color: var(--azul-escuro); }
.contexto__lado .btn:hover { color: var(--branco); }

.titulo-hero {
  font-size: clamp(36px, 4.45vw, 64px); line-height: 1; color: var(--cinza-claro); max-width: 997px;
}
.hero-pagina { max-width: var(--max); margin: 0 auto; padding: 24px var(--pad) 80px; display: flex; flex-direction: column; gap: clamp(80px, 20.4vw, 294px); }
.logo-grande { width: min(639px, 100%); height: auto; aspect-ratio: 639 / 160; }

/* ---------- Home: hero ---------- */
.hero { max-width: var(--max); margin: 0 auto; padding: 40px var(--pad) 80px; display: flex; flex-direction: column; gap: 24px; }
@media (min-width: 1100px) { .hero__frases > * { white-space: nowrap; } }
.hero__frases {
  display: flex; justify-content: space-between; gap: 24px;
  color: var(--laranja); font-size: clamp(14px, 1.67vw, 24px); font-weight: 500; text-transform: uppercase; line-height: 1;
}
.hero__ilustra { width: 100%; height: auto; aspect-ratio: 1284 / 422; background: var(--ceu); display: block; }
.hero__base { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.hero__setas { display: flex; justify-content: space-between; width: min(239px, 30%); }
.hero__setas img { width: 79px; height: auto; aspect-ratio: 79 / 168; }

/* ---------- Home: case em destaque ---------- */
.case-video { position: relative; display: block; border-radius: var(--raio); overflow: hidden; aspect-ratio: 1280 / 667; }
.case-video img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transition: transform .6s ease; }
.case-video:hover img { transform: scale(1.03); }
.case-video__tag {
  position: absolute; left: 24px; bottom: 24px; display: flex; align-items: center; gap: 12px;
  color: var(--branco); font-size: 20px; font-weight: 500; text-transform: uppercase;
}
.case-video__tag::before { content: ""; width: 48px; height: 48px; border-radius: 50%; background: var(--laranja) url(assets/seta-direita.svg) center / 24px no-repeat; }

/* ---------- Listas tipo acordeão (serviços / pilares) ---------- */
.topicos { max-width: var(--max); margin: 0 auto; }
.topico { position: relative; padding: 0 var(--pad); }
.topico::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 0;
  background: var(--ceu); transition: height .35s ease; z-index: -1;
}
.topico:hover::before { height: 100%; }
.topico__in {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;
  border-top: 1px solid var(--azul-escuro); padding: 40px 0; color: var(--texto);
}
.topico__titulo { min-width: 0; display: flex; align-items: flex-start; gap: clamp(16px, 5.2vw, 75px); }
.topico__num { font-size: 24px; font-weight: 500; line-height: 2; }
.topico__nome { font-size: clamp(32px, 4.45vw, 64px); text-transform: uppercase; line-height: 1; padding-top: 6px; }
.topico__mais { width: 62px; height: 62px; flex: none; transition: transform .35s ease; }
.topico:hover .topico__mais { transform: rotate(90deg); }

/* ---------- Home: potência cultural ---------- */
.potencia { display: flex; flex-direction: column; gap: 48px; align-items: flex-end; }
.potencia__titulo { width: 100%; color: var(--cinza); font-size: clamp(40px, 5.56vw, 80px); font-weight: 500; text-transform: uppercase; line-height: 1; }
.potencia__cards { display: flex; gap: 16px; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.potencia__cards::-webkit-scrollbar { display: none; }
.potencia__cards .crop { flex: 0 0 auto; width: min(416px, 75vw); aspect-ratio: 416 / 528; border-radius: var(--raio); scroll-snap-align: start; }
.potencia__texto { width: min(416px, 100%); color: var(--cinza); font-size: 24px; font-weight: 500; text-transform: lowercase; line-height: 1; margin-top: 32px; }

/* ---------- Home: somos a ponte ---------- */
.ponte { background: var(--ceu); }
.ponte__in { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad); display: flex; flex-direction: column; gap: 10px; }
.ponte__linha { width: 100%; height: auto; aspect-ratio: 1279.94 / 73.28; }
.ponte__meio { position: relative; width: 100%; aspect-ratio: 1280 / 79.107; }
.ponte__meio img { position: absolute; width: auto; height: auto; max-width: none; }
.ponte__meio .a { left: 0; right: 55.55%; top: 0; bottom: 0; width: 44.45%; height: 100%; }
.ponte__meio .b { left: 73.26%; width: 26.74%; top: 0; height: 91.12%; }
.ponte__meio .c { left: 56.48%; width: 10.18%; top: 0; height: 91.05%; }
.ponte__meio .d { left: 51.05%; width: 4.81%; top: .39%; height: 90.26%; }
.ponte__meio .x1 { left: 44.89%; width: 5.72%; top: .29%; height: 92.64%; transform: scaleY(-1); }
.ponte__meio .x2 { left: 67.10%; width: 5.72%; top: .29%; height: 92.64%; transform: scaleY(-1); }

/* ---------- Footer ---------- */
.footer { background: var(--azul); color: var(--branco); border-radius: var(--raio) var(--raio) 0 0; overflow: hidden; }
.footer__in { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad) 48px; display: flex; flex-direction: column; gap: clamp(80px, 13vw, 200px); }
.footer__topo { display: flex; justify-content: space-between; gap: 48px; }
.footer__marca { display: flex; flex-direction: column; gap: 64px; }
.form-contato { display: flex; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.form-contato input {
  width: min(632px, 100%); background: transparent; border: 0; border-bottom: 1px solid var(--branco);
  padding: 4px 0; font: inherit; font-size: clamp(24px, 2.8vw, 40px); line-height: 1; color: var(--branco);
}
.form-contato input::placeholder { color: #acacac; }
.form-contato input:focus { outline: none; border-bottom-color: var(--laranja); }
.form-contato__ok { width: 100%; font-size: 16px; color: var(--ceu); }
.footer__menu { width: min(307px, 100%); display: flex; flex-direction: column; gap: 16px; }
.footer__menu-rotulo { font-size: 16px; }
.footer__menu nav { display: flex; flex-direction: column; gap: 24px; }
.footer__menu a { display: flex; justify-content: space-between; align-items: center; font-size: 24px; font-weight: 500; color: #f5f5f5; }
.footer__menu a[aria-current="page"] { font-weight: 700; color: var(--branco); }
.footer__menu a[aria-current="page"]::after { content: ""; width: 24px; height: 24px; background: url(assets/mais-branco.svg) center / contain no-repeat; }
.footer__menu a:hover { color: var(--ceu); }

.letreiro { overflow: hidden; margin: 0 calc(-1 * var(--pad)); }
.letreiro__trilho { display: flex; width: max-content; animation: letreiro 28s linear infinite; }
.letreiro__texto {
  flex: none; padding-right: .6em; white-space: nowrap; text-transform: uppercase;
  font-size: clamp(40px, 5.56vw, 80px); line-height: 1; color: var(--ceu);
}
.letreiro__texto b { font-weight: 700; color: var(--laranja); }
.letreiro__destaque { background: var(--laranja); color: var(--azul); border-radius: var(--raio); padding: 10px 0; }
.letreiro__destaque b { color: var(--azul); }
@keyframes letreiro { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .letreiro__trilho { animation: none; } }

.footer__base { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; font-size: 16px; margin-top: 93px; }
.footer__links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer__links a { border-bottom: 1px solid var(--branco); padding: 2px 0; }
.footer__links a:hover { color: var(--ceu); border-color: var(--ceu); }
.footer__letreiro-bloco { display: flex; flex-direction: column; }

/* ---------- Institucional ---------- */
.time { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.carrossel { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 40px var(--pad) 24px; max-width: var(--max); margin: 0 auto; scroll-padding-left: var(--pad); }
.carrossel::-webkit-scrollbar { display: none; }
.pessoa { flex: 0 0 auto; width: min(308px, 70vw); display: flex; flex-direction: column; gap: 16px; scroll-snap-align: start; text-align: left; }
.pessoa--grande { width: min(524px, 85vw); }
.pessoa__foto { border-radius: var(--raio); overflow: hidden; aspect-ratio: 308 / 440; }
.pessoa--grande .pessoa__foto { aspect-ratio: 524 / 755; }
.pessoa__foto img { transition: transform .5s ease; transform-origin: center; }
.pessoa:hover .pessoa__foto img { transform: scale(1.04); }
.pessoa__nome { display: flex; justify-content: space-between; gap: 12px; font-size: 24px; font-weight: 500; text-transform: uppercase; line-height: 1; }
.carrossel-nav { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad) 80px; display: flex; justify-content: flex-end; gap: 8px; }
.carrossel-nav button { width: 64px; height: 64px; border-radius: 50%; background: #4266ff; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.carrossel-nav button:hover { background: var(--azul-escuro); }
.carrossel-nav img { width: 24px; height: 24px; }

.foto-larga { border-radius: var(--raio); overflow: hidden; aspect-ratio: 1280 / 780; margin-top: 80px; }
.foto-larga img { width: 100%; height: 100%; object-fit: cover; object-position: top; }

/* ---------- Drawer (perfil) ---------- */
.drawer-fundo { position: fixed; inset: 0; background: rgba(22,35,66,.4); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 90; }
.drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(820px, 100%); z-index: 100;
  background: var(--branco); border-left: 1px solid var(--preto);
  transform: translateX(100%); transition: transform .4s ease; overflow-y: auto;
  padding: 40px clamp(16px, 9.7vw, 80px) 80px;
}
.drawer-aberto .drawer { transform: none; }
.drawer-aberto .drawer-fundo { opacity: 1; pointer-events: auto; }
.drawer__fechar { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }
.drawer__fechar img { width: 24px; height: 24px; }
.drawer__nome { margin-top: 70px; font-size: clamp(36px, 8.9vw, 73px); font-weight: 500; text-transform: uppercase; letter-spacing: .02em; line-height: 1; }
.drawer__fotos { display: grid; grid-template-columns: 316fr 284fr; gap: 16px; margin-top: 16px; align-items: start; max-width: 620px; }
.drawer__fotos > img { width: 100%; aspect-ratio: 316 / 451; object-fit: cover; }
.drawer__lugar img { width: 100%; aspect-ratio: 284 / 218; object-fit: cover; }
.drawer__lugar p { margin-top: 16px; font-size: 24px; font-weight: 700; }
.drawer__bio { margin-top: 60px; max-width: 479px; }
.drawer__bio h3 { font-size: 24px; font-weight: 700; }
.drawer__bio p { margin-top: 16px; font-size: 16px; color: #1d1d1d; line-height: 1.25; }

/* ---------- Trabalhos ---------- */
.cases { display: flex; gap: 16px; justify-content: center; }
.case-card { display: flex; flex-direction: column; gap: 24px; width: min(416px, 100%); flex: 1 1 0; }
.case-card__img { border-radius: var(--raio); overflow: hidden; aspect-ratio: 416 / 570; }
.case-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.case-card:hover .case-card__img img { transform: scale(1.04); }
.legenda { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; font-weight: 500; text-transform: uppercase; line-height: 1; }
.legenda span:first-child { font-size: 24px; }
.legenda span:last-child { font-size: 16px; color: var(--cinza-medio); text-align: right; }

.mais-trabalhos { display: flex; gap: 16px; align-items: flex-start; overflow-x: auto; scrollbar-width: none; padding-left: 43.06%; margin: 80px calc(-1 * var(--pad)) 0; padding-right: var(--pad); }
.mais-trabalhos::-webkit-scrollbar { display: none; }
.mini { flex: 0 0 200px; display: flex; flex-direction: column; gap: 8px; }
.mini__img { height: 196px; border-radius: var(--raio); overflow: hidden; }
.mini--alto .mini__img { height: 315px; }
.mini__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mini:hover .mini__img img { transform: scale(1.05); }
.mini .legenda span:first-child { color: var(--azul-escuro); }

.depoimentos { display: flex; justify-content: flex-end; padding-top: 40px; }
.acordeao { width: min(737px, 100%); display: flex; flex-direction: column; gap: 24px; }
.acordeao__item { border-bottom: 1px solid var(--preto); }
.acordeao__item:first-child { border-bottom: 0; }
.acordeao__cab { width: 100%; display: flex; align-items: center; gap: 24px; padding: 14px 0 24px; font-size: 24px; text-align: left; }
.acordeao__cab > span { flex: 1; display: flex; justify-content: space-between; gap: 16px; }
.acordeao__icone { width: 24px; height: 24px; background: url(assets/mais.svg) center / contain no-repeat; flex: none; }
.acordeao__item.aberto .acordeao__icone { background-image: url(assets/menos.svg); }
.acordeao__corpo { display: none; padding-bottom: 24px; }
.acordeao__item.aberto .acordeao__corpo { display: block; }
.acordeao__corpo > p { font-size: 16px; font-weight: 500; color: var(--cinza); line-height: 1; max-width: 572px; }
.acordeao__visual { display: flex; gap: 16px; margin-top: 24px; justify-content: flex-end; }
.acordeao__marca { flex: 527 1 0; background: var(--ceu); border-radius: var(--raio); display: flex; align-items: center; justify-content: center; min-height: 200px; }
.acordeao__marca img { width: 135px; height: auto; }
.acordeao__foto { flex: 740 1 0; border-radius: var(--raio); overflow: hidden; aspect-ratio: 740 / 389; }
.acordeao__foto img { width: 100%; height: 100%; object-fit: cover; }
/* o primeiro depoimento estende o visual para a esquerda, como no Figma */
@media (min-width: 1100px) {
  .acordeao__item:first-child .acordeao__visual { margin-left: calc(-1 * (100vw - 2 * var(--pad) - 737px)); }
  @supports (width: min(1px, 2px)) {
    .acordeao__item:first-child .acordeao__visual { margin-left: calc(-1 * (min(100vw, var(--max)) - 2 * var(--pad) - 737px)); }
  }
}

/* ---------- Projeto ---------- */
.projeto-titulo { font-size: clamp(48px, 8.34vw, 120px); line-height: 1.1; }
.ficha { display: flex; flex-direction: column; gap: 40px; margin-top: 48px; }
.ficha__linha { display: flex; gap: 16px; }
.ficha__item { flex: 1 1 0; border-top: 1px solid var(--preto); padding: 24px 0; display: flex; flex-direction: column; gap: 8px; line-height: 1; }
.ficha__item small { font-size: 16px; }
.ficha__item strong { font-size: 24px; font-weight: 400; }
.ficha__item--largo { flex: 0 0 min(631px, 100%); }
.ficha__item--texto strong { line-height: 1.1; }
.creditos { display: flex; flex-direction: column; gap: 40px; font-size: 24px; margin-top: 8px; }
.creditos div { display: flex; justify-content: space-between; gap: 16px; }
.creditos b { font-weight: 500; text-align: right; }
.galeria { max-width: 1280px; margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: 1fr 1fr; gap: 16px; box-sizing: content-box; }
.galeria figure { margin: 0; border-radius: var(--raio); overflow: hidden; background: #e2e2e2; aspect-ratio: 632 / 714; }
.galeria figure.largo { grid-column: 1 / -1; aspect-ratio: 1280 / 714; }
.galeria img { width: 100%; height: 100%; object-fit: cover; }
.depoimento { max-width: 1280px; margin: 0 auto; padding: 80px var(--pad); display: flex; gap: clamp(40px, 8.6vw, 124px); box-sizing: content-box; }
.depoimento__lado { display: flex; gap: 16px; flex: none; }
.depoimento__lado > p { width: 200px; font-size: 24px; }
.depoimento__lado img { width: 308px; height: 366px; object-fit: cover; border-radius: 8px; }
.depoimento__texto { flex: 1; display: flex; flex-direction: column; gap: 86px; }
.depoimento__texto blockquote { margin: 0; font-size: 24px; line-height: 1.5; }
.depoimento__pessoa p:first-child { font-size: 24px; }
.depoimento__pessoa p:last-child { font-size: 16px; color: #717171; margin-top: 8px; max-width: 202px; }
.mais-titulo { text-align: center; font-size: clamp(40px, 8.6vw, 124px); font-weight: 500; letter-spacing: .18em; text-transform: uppercase; line-height: 1; margin-bottom: 80px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  .header__in { min-height: 88px; padding-top: 20px; padding-bottom: 20px; }
  .menu-toggle { display: inline-flex; }
  .header .btn { display: none; }
  .menu {
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: flex-start; gap: 0;
    background: var(--branco); border-bottom: 1px solid var(--azul-escuro);
    padding: 8px var(--pad) 24px; display: none;
  }
  .menu a { font-size: 28px; padding: 12px 0; }
  .header.aberto .menu { display: flex; }
  .header.aberto .menu .btn { display: inline-flex; margin-top: 16px; font-size: 16px; padding: 20px 24px; }
  .header__in--sem-logo { justify-content: space-between; }
  .contexto { flex-direction: column; }
  .contexto__rotulo { white-space: normal; }
  .footer__topo { flex-direction: column; }
  .cases { overflow-x: auto; justify-content: flex-start; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--pad)); padding: 0 var(--pad); scrollbar-width: none; }
  .cases::-webkit-scrollbar { display: none; }
  .case-card { flex: 0 0 min(416px, 78vw); scroll-snap-align: start; }
  .mais-trabalhos { padding-left: var(--pad); }
  .depoimento { flex-direction: column; }
  .ficha__linha { flex-wrap: wrap; }
  .ficha__item { flex: 1 1 calc(50% - 8px); }
}
@media (max-width: 640px) {
  .header__logo img { width: 128px; height: auto; }
  .hero { padding-top: 16px; gap: 16px; }
  .hero__frases { flex-direction: column; gap: 6px; }
  .hero__setas img { width: 40px; }
  .secao { padding-top: 56px; padding-bottom: 56px; }
  .topico__in { padding: 28px 0; }
  .topico__mais { width: 36px; height: 36px; }
  .topico__num { font-size: 16px; }
  .topico__nome { font-size: 26px; padding-top: 2px; }
  .potencia__texto, .contexto, .contexto__texto { font-size: 20px; }
  .pessoa__nome { font-size: 18px; flex-direction: column; }
  .legenda span:first-child { font-size: 20px; }
  .acordeao__cab { font-size: 20px; }
  .acordeao__visual { flex-direction: column; }
  .acordeao__marca { min-height: 160px; }
  .galeria { grid-template-columns: 1fr; }
  .galeria figure, .galeria figure.largo { grid-column: auto; aspect-ratio: 4 / 3; }
  .depoimento__lado { flex-direction: column; }
  .depoimento__lado img { width: 100%; height: auto; aspect-ratio: 308 / 366; }
  .depoimento__texto { gap: 40px; }
  .ficha__item { flex: 1 1 100%; }
  .ficha__item--largo { flex: 1 1 100%; }
  .creditos { font-size: 18px; gap: 24px; }
  .footer__marca { gap: 40px; }
  .footer__base { margin-top: 48px; }
  .carrossel-nav button { width: 52px; height: 52px; }
  .drawer__fotos { grid-template-columns: 1fr 1fr; }
}

/* botão de contato duplicado dentro do menu: só aparece no menu do celular */
@media (min-width: 1025px) { .menu .btn { display: none; } }
@media (max-width: 640px) {
  .hero__setas { display: none; }
  .case-video__tag { left: 12px; bottom: 12px; font-size: 14px; gap: 8px; }
  .case-video__tag::before { width: 32px; height: 32px; background-size: 16px; }
}
@media (max-width: 1024px) { .cases, .potencia__cards, .mais-trabalhos { scroll-padding-inline: var(--pad); } }
@media (max-width: 640px) { .acordeao__marca, .acordeao__foto { flex: none; width: 100%; } }
