/* Walk Productions · site v4 · versão 9
   Medidas em --u (1/1920 da largura). Cor e vozes da Walk. */

@font-face { font-family: "Archivo Expandido"; src: url("../fonts/archivo-expandido-800.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("../fonts/switzer-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("../fonts/switzer-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("../fonts/instrument-serif-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/dm-mono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("../fonts/dm-mono-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

:root {
  --fundo: #08080a;
  --fundo-2: #101014;
  --linha: #1e1e22;
  --tinta: #fafafa;
  --tinta-2: #a1a1a6;
  --bone: #f2efe6;
  --sinal: #EE3A0C;
  --borda: rgba(250, 250, 250, .4);

  --grosso: "Archivo Expandido", "Arial Black", sans-serif;
  --sans: "Switzer", "Helvetica Neue", Arial, sans-serif;
  --serifa: "Instrument Serif", Georgia, serif;
  --mono: "DM Mono", ui-monospace, monospace;

  --u: calc(100vw / 1920);
  --raio: calc(18 * var(--u));
  --entra: cubic-bezier(.16, 1, .3, 1);
  --curva: cubic-bezier(.9, 0, .1, 1);

  /* escala medida: 120 · 110 · 80 · 68 · 50 · 40 · 25 · 20 · 18 · 16 · 15 */
  --t120: calc(120 * var(--u));
  --t110: calc(110 * var(--u));
  --t80: calc(80 * var(--u));
  --t68: calc(68 * var(--u));
  --t50: calc(50 * var(--u));
  --t40: calc(40 * var(--u));
  --t25: max(calc(25 * var(--u)), 16px);
  --t20: max(calc(20 * var(--u)), 14px);
  --t18: max(calc(18 * var(--u)), 14px);
  --t16: max(calc(16 * var(--u)), 13px);
  --t15: max(calc(15 * var(--u)), 12px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: var(--t16);
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video, canvas, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p { margin: 0; font-weight: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

.grosso { font-family: var(--grosso); font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
.mono { font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.serifa-it { font-family: var(--serifa); font-style: italic; font-weight: 400; color: var(--sinal); text-transform: none; }
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

:focus-visible { outline: 2px solid var(--sinal); outline-offset: 4px; border-radius: 2px; }
.pular { position: fixed; left: 16px; top: -60px; z-index: 50; background: var(--sinal); color: var(--fundo); padding: 10px 16px; font-weight: 500; transition: top .2s; }
.pular:focus { top: 16px; }

.rec { display: inline-block; width: .62em; height: .62em; border-radius: 50%; background: var(--sinal); vertical-align: .02em; animation: rec 1.6s steps(1) infinite; }
@keyframes rec { 50% { opacity: .25; } }

.sublinhado { position: relative; display: inline-block; padding-bottom: 5px; }
.sublinhado::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: left; transition: transform .3s var(--entra); }
.sublinhado:hover::after { transform: scaleX(.35); }

/* ---------- 00 · abertura ---------- */
.abertura { display: none; }
html.movimento .abertura {
  position: fixed; inset: 0; z-index: 40; background: var(--fundo);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px;
  transition: opacity .6s var(--curva), visibility 0s .6s;
}
.abertura.fim { opacity: 0; visibility: hidden; }
.abertura__rec, .abertura__hud { font-size: var(--t15); color: var(--tinta-2); }
.abertura__num { font-size: max(var(--t110), 56px); line-height: .9; font-variant-numeric: tabular-nums; }

/* ---------- 01 · menu ---------- */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between;
  padding: calc(30 * var(--u)) calc(40 * var(--u));
  pointer-events: none;
}
.nav > * { pointer-events: auto; }
.nav__marca img { height: max(calc(42 * var(--u)), 26px); width: auto; }
.nav__botoes { display: flex; align-items: center; gap: calc(32 * var(--u)); }
.nav__busca { width: max(calc(34 * var(--u)), 24px); }
.nav__busca svg, .busca__ir svg, .busca__atalho svg { fill: none; stroke: currentColor; stroke-width: 2.4; overflow: visible; }
.nav__busca svg { width: 100%; height: auto; }
.nav__abrir, .nav__fechar { position: relative; width: max(calc(40 * var(--u)), 30px); height: max(calc(24 * var(--u)), 18px); }
.nav__abrir span, .nav__fechar span { position: absolute; left: 0; right: 0; height: 3px; background: var(--tinta); transition: transform .2s; }
.nav__abrir span:nth-child(1) { top: 0; }
.nav__abrir span:nth-child(2) { top: calc(50% - 1.5px); }
.nav__abrir span:nth-child(3) { bottom: 0; }
.nav__abrir:hover span:nth-child(2) { transform: scaleX(.6); transform-origin: right; }
.nav__fechar span { top: calc(50% - 1.5px); }
.nav__fechar span:nth-child(1) { transform: rotate(45deg); }
.nav__fechar span:nth-child(2) { transform: rotate(-45deg); }

.menu {
  position: fixed; inset: 0; z-index: 30; background: var(--fundo);
  display: flex; flex-direction: column; justify-content: space-between;
  padding: calc(30 * var(--u)) calc(40 * var(--u)) calc(36 * var(--u));
  overflow-y: auto;
}
.menu[hidden] { display: none; }
.menu__topo { display: flex; align-items: center; justify-content: space-between; }
.menu__direita { display: flex; align-items: center; gap: calc(40 * var(--u)); }
.menu__idioma { display: flex; gap: 8px; font-size: var(--t20); color: var(--tinta-2); }
.menu__idioma .ativo { color: var(--tinta); border-bottom: 1px solid currentColor; }
.menu__lista { display: flex; flex-direction: column; align-items: center; gap: calc(14 * var(--u)); padding: calc(40 * var(--u)) 0; }
.menu__item { position: relative; }
.menu__item > a { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: calc(14 * var(--u)); line-height: .9; }
.menu__estrela { font-size: var(--t50); line-height: 1; transition: color .2s; }
.menu__texto { font-size: max(var(--t80), 40px); }
.menu__num { font-size: var(--t20); color: var(--tinta-2); }
.menu__item > a:hover .menu__estrela, .menu__item > a:focus-visible .menu__estrela { color: var(--sinal); }
.menu__midia {
  position: absolute; z-index: 0; left: 50%; top: 50%;
  width: calc(700 * var(--u)); aspect-ratio: 700 / 363;
  border-radius: var(--raio); overflow: hidden; background: var(--fundo-2);
  transform: translate(-50%, -50%) scale(.94); opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .3s var(--entra);
}
.menu__midia img, .menu__midia video { width: 100%; height: 100%; object-fit: cover; }
.menu__midia--varredura video { object-fit: contain; background: var(--fundo); }
.menu__item:hover .menu__midia, .menu__item:focus-within .menu__midia { opacity: .55; transform: translate(-50%, -50%) scale(1); }
.menu__base { position: relative; display: flex; align-items: center; justify-content: space-between; font-size: var(--t18); }
.menu__meio { position: absolute; left: 50%; transform: translateX(-50%); color: var(--tinta-2); font-size: var(--t15); }
.menu__redes { display: flex; gap: calc(30 * var(--u)); color: var(--tinta-2); }
.menu__redes a:hover { color: var(--tinta); }

/* entrada medida: cada título do menu e a base vão de opacity 0 a 1 */
html.movimento .menu__item, html.movimento .menu__base { opacity: 0; transition: opacity .4s var(--entra); transition-delay: calc(var(--i) * 60ms); }
html.movimento .menu.aberto .menu__item, html.movimento .menu.aberto .menu__base { opacity: 1; }

/* ---------- 02 · hero ---------- */
.hero { padding: calc(112 * var(--u)) calc(40 * var(--u)) calc(100 * var(--u)); }
.hero__comp { position: relative; max-width: calc(1840 * var(--u)); margin: 0 auto; }
.hero__caixa {
  position: relative; width: calc(1526 * var(--u)); height: calc(827 * var(--u)); margin: 0 auto;
  border-radius: var(--raio); overflow: hidden; background: var(--fundo-2);
}
.hero__poster, .hero__ascii, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__video { opacity: 0; pointer-events: none; }
.hero__ascii { opacity: 0; transition: opacity .6s; }
.hero__caixa.gl .hero__ascii { opacity: 1; }
.hero__caixa.gl .hero__poster { opacity: 0; }
html.movimento .hero__poster[data-revela-img] { opacity: 0; transition: opacity .6s; }
html.movimento .hero__poster.visto { opacity: 1; }
html.movimento .hero__caixa.gl .hero__poster { opacity: 0; }
.hero__hud { position: absolute; z-index: 2; font-size: var(--t15); color: var(--tinta); text-shadow: 0 0 12px var(--fundo); }
.hero__hud--te { top: calc(26 * var(--u)); left: calc(30 * var(--u)); }
.hero__hud--be { bottom: calc(26 * var(--u)); left: calc(30 * var(--u)); }
.hero__hud--bd { bottom: calc(26 * var(--u)); right: calc(30 * var(--u)); font-variant-numeric: tabular-nums; }
.hero__texto { position: absolute; inset: 0; pointer-events: none; }
.hero__h1 {
  position: absolute; left: 0; right: 0; top: calc(413 * var(--u));
  display: flex; justify-content: space-between; align-items: flex-start;
  font-size: var(--t110); line-height: .9;
}
.hero__linha { display: block; text-align: right; }
.hero__linha--esq { text-align: left; }
.hero__pular { position: absolute; left: 0; bottom: 0; }
.hero__pular:not(:focus) { width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hero__pular:focus { background: var(--sinal); color: var(--fundo); padding: 8px 14px; }

/* ---------- cabeça das seções 03 e 04 ---------- */
.cabeca { text-align: center; }
.cabeca__h { display: flex; flex-direction: column; align-items: center; font-size: var(--t120); line-height: .9; }
.cabeca__cima { display: flex; align-items: flex-start; }
.cabeca__estrela { font-size: calc(45 * var(--u)); line-height: 1.6; margin-right: calc(4 * var(--u)); }
.cabeca__cima .serifa-it { font-size: var(--t120); line-height: 1; }
.cabeca__baixo { display: block; }
.cabeca__sub { max-width: max(calc(530 * var(--u)), 300px); margin: calc(50 * var(--u)) auto 0; font-size: var(--t25); line-height: 1.2; color: var(--tinta-2); }

/* ---------- 03 · verbos ---------- */
.verbos { padding: calc(100 * var(--u)) calc(40 * var(--u)) calc(180 * var(--u)); }
.verbos__topo { max-width: calc(1646 * var(--u)); margin: 0 auto; }

.busca { width: calc(1405 * var(--u)); margin: calc(200 * var(--u)) auto 0; }
.busca__form { position: relative; }
.busca__campo {
  width: 100%; height: max(calc(82 * var(--u)), 52px);
  padding: 0 calc(90 * var(--u)) 0 calc(40 * var(--u));
  background: transparent; color: var(--tinta);
  border: 1px solid var(--borda); border-radius: var(--raio);
  font: inherit; font-size: max(calc(28 * var(--u)), 16px);
  transition: border-color .2s;
  -webkit-appearance: none; appearance: none;
}
.busca__campo::placeholder { color: var(--tinta-2); opacity: 1; }
.busca__campo:hover, .busca__campo:focus { border-color: var(--tinta); }
.busca__campo:focus-visible { outline: 2px solid var(--sinal); outline-offset: 3px; }
.busca__campo::-webkit-search-cancel-button { -webkit-appearance: none; }
.busca__ir { position: absolute; right: calc(30 * var(--u)); top: 0; bottom: 0; width: max(calc(50 * var(--u)), 36px); display: grid; place-items: center; }
.busca__ir svg { width: max(calc(31 * var(--u)), 20px); height: auto; }
.busca__atalhos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px calc(24 * var(--u)); margin-top: calc(26 * var(--u)); padding-left: calc(52 * var(--u)); font-size: var(--t20); color: var(--tinta-2); }
.busca__atalho { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); transition: color .2s; }
.busca__atalho svg { width: max(calc(22 * var(--u)), 15px); height: auto; }
.busca__atalho:hover { color: var(--tinta); }
.busca__resposta { min-height: 1.6em; margin-top: calc(14 * var(--u)); padding-left: calc(52 * var(--u)); font-size: var(--t15); color: var(--tinta); }
.busca__resposta a { color: var(--sinal); }

.verbos__lista {
  display: grid; grid-template-columns: 1fr 1fr; align-items: start;
  max-width: calc(1840 * var(--u)); margin: calc(190 * var(--u)) auto 0;
}
.verbo { --w: 799; --h: 557; width: calc(var(--w) * var(--u)); }
.verbo:nth-child(odd) { justify-self: start; }
.verbo:nth-child(even) { justify-self: end; }
/* escada medida: o segundo cartão desce 251; cada cartão começa 101 abaixo do anterior da mesma coluna */
.verbo--1 { --w: 799; --h: 557; }
.verbo--2 { --w: 948; --h: 522; margin-top: calc(251 * var(--u)); }
.verbo--3 { --w: 743; --h: 486; margin-left: calc(93 * var(--u)); margin-top: calc(-125 * var(--u)); }
.verbo--4 { --w: 860; --h: 540; margin-top: calc(101 * var(--u)); margin-right: calc(40 * var(--u)); }
.verbo--5 { --w: 799; --h: 557; margin-top: calc(-179 * var(--u)); }
.verbo.verbo--mais { width: auto; justify-self: start; align-self: center; margin-left: calc(210 * var(--u)); }
.verbo__link { display: block; }
.verbo__midia { position: relative; height: calc(var(--h) * var(--u)); border-radius: var(--raio); overflow: hidden; background: var(--fundo-2); }
.verbo__midia video, .verbo__midia canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.verbo__nome {
  position: absolute; inset: 0; display: grid; place-items: center; text-align: center;
  font-size: var(--t50); line-height: .9; padding: 0 calc(60 * var(--u));
  transition: transform .3s var(--entra);
}
.verbo__link:hover .verbo__nome { transform: translateX(calc(12 * var(--u))); }
.verbo__legenda { margin-top: calc(20 * var(--u)); font-size: var(--t25); line-height: 1.2; max-width: 95%; }
.verbo__fmt { color: var(--tinta-2); }

.mais { display: inline-flex; flex-direction: column; font-size: max(var(--t40), 22px); line-height: 1.2; }
.mais__cima, .mais__texto { position: relative; display: inline-block; align-self: flex-start; }
.mais__baixo { display: inline-flex; align-items: center; gap: calc(16 * var(--u)); }
.mais__linha { position: absolute; left: 0; right: 0; bottom: .02em; height: 1px; background: var(--tinta); opacity: 0; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--entra), opacity .2s; }
.mais:hover .mais__linha, .mais:focus-visible .mais__linha { opacity: 1; transform: none; }
.mais__icone { width: max(calc(40 * var(--u)), 26px); height: auto; fill: none; stroke: var(--tinta); stroke-width: 1.2; transition: transform .3s var(--entra); }
.mais:hover .mais__icone { transform: translateX(calc(8 * var(--u))); }
.mais--centro { display: flex; width: max-content; margin: calc(70 * var(--u)) auto 0; }

/* ---------- 04 · trabalho ---------- */
.trabalho { padding: calc(100 * var(--u)) calc(40 * var(--u)) calc(120 * var(--u)); }
.trabalho__lista { max-width: calc(1646 * var(--u)); margin: calc(200 * var(--u)) auto 0; display: flex; flex-direction: column; gap: calc(100 * var(--u)); }
.peca { --p: 50; display: flex; align-items: center; }
.peca--dir { flex-direction: row-reverse; }
.peca--retrato, .peca:nth-child(4), .peca:nth-child(6) { --p: 0; }
.peca__img {
  flex: none; display: block; position: relative;
  width: calc(var(--w) * var(--u)); height: calc(var(--h) * var(--u));
  margin-left: calc(var(--p) * var(--u));
  border-radius: var(--raio); overflow: hidden; background: var(--fundo-2);
}
.peca--dir .peca__img { margin-left: 0; margin-right: calc(var(--p) * var(--u)); }
.peca__img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .6s var(--entra); }
.peca__img:hover img { transform: scale(1.03); }
.peca__texto { width: calc(var(--t) * var(--u)); margin-left: calc(121 * var(--u)); }
.peca--dir .peca__texto { margin-left: 0; margin-right: calc(122 * var(--u)); text-align: right; }
.peca__tag { display: flex; align-items: center; gap: calc(10 * var(--u)); font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; font-size: var(--t15); color: var(--tinta-2); }
.peca--dir .peca__tag { justify-content: flex-end; }
.peca__estrela { font-size: max(calc(29 * var(--u)), 18px); line-height: .54; color: var(--tinta-2); padding-top: .2em; }
.peca__par { margin-top: calc(22 * var(--u)); font-size: var(--t25); line-height: 1.4; }
.peca__link { margin-top: calc(30 * var(--u)); font-size: var(--t18); }

/* ---------- 05 · contato ---------- */
.fala { padding: calc(100 * var(--u)) calc(137 * var(--u)) 0; min-height: calc(605 * var(--u)); }
.fala__comp { display: flex; flex-direction: column; align-items: center; text-align: center; }
.fala__palavra { font-size: max(var(--t68), 30px); line-height: 1; }
.fala__meio {
  display: grid; grid-template-columns: 1fr calc(440 * var(--u)) 1fr; align-items: center; gap: calc(40 * var(--u));
  width: 100%; height: 0; margin: 0; overflow: hidden; opacity: 0;
  transition: height .5s var(--entra), margin .5s var(--entra), opacity .3s;
}
.fala__comp:hover .fala__meio, .fala__comp:focus-visible .fala__meio { height: calc(265 * var(--u)); margin: calc(30 * var(--u)) 0; opacity: 1; }
.fala__lado { font-size: var(--t25); line-height: 1.2; text-align: left; }
.fala__lado--esq { text-align: right; }
.fala__video { display: block; height: calc(265 * var(--u)); border-radius: var(--raio); overflow: hidden; background: var(--fundo); }
.fala__video video { width: 100%; height: 100%; object-fit: contain; }

/* ---------- 06 · rodapé ---------- */
.rodape { background: var(--fundo-2); border-radius: calc(20 * var(--u)) calc(20 * var(--u)) 0 0; padding: calc(178 * var(--u)) calc(87 * var(--u)) calc(75 * var(--u)); }
.rodape__topo { display: grid; grid-template-columns: calc(358 * var(--u)) calc(312 * var(--u)) calc(352 * var(--u)) calc(380 * var(--u)) 1fr; }
.rodape__h { font-size: var(--t15); line-height: 1; margin-bottom: calc(30 * var(--u)); }
.rodape__col a { font-size: var(--t18); line-height: 1.8; transition: color .2s; }
.rodape__col ul a:hover { color: var(--tinta-2); }
.rodape__col--ultima { max-width: calc(344 * var(--u)); }
.rodape__briefing { display: flex; align-items: center; justify-content: space-between; padding-bottom: 6px; border-bottom: 1px solid var(--borda); color: var(--tinta-2); }
.rodape__briefing:hover { color: var(--tinta); }
.rodape__briefing svg { width: max(calc(17 * var(--u)), 13px); height: auto; fill: none; stroke: currentColor; stroke-width: 1.4; }
.rodape__logo { width: calc(268 * var(--u)); height: auto; margin: calc(80 * var(--u)) auto 0; }
.rodape__base { display: flex; justify-content: space-between; gap: 12px 24px; margin-top: calc(48 * var(--u)); padding-top: calc(20 * var(--u)); border-top: 1px solid var(--linha); font-size: var(--t15); color: var(--tinta-2); }
.rodape__base a:hover { color: var(--tinta); }
.rodape__base .mono { font-size: .92em; }

/* ---------- cursor que segue o ponteiro ---------- */
.cursor { display: none; }
@media (hover: hover) and (pointer: fine) {
  .cursor {
    position: fixed; left: 0; top: 0; z-index: 25; pointer-events: none;
    display: grid; place-items: center;
    width: calc(100 * var(--u)); height: calc(100 * var(--u)); min-width: 72px; min-height: 72px;
    margin: max(calc(-50 * var(--u)), -36px) 0 0 max(calc(-50 * var(--u)), -36px);
    border-radius: 50%; background: var(--bone); color: var(--fundo);
    transform: translate3d(var(--x, -200px), var(--y, -200px), 0) scale(0);
    transition: transform .2s ease-out, background-color .2s;
    will-change: transform;
  }
  .cursor.ativo { transform: translate3d(var(--x), var(--y), 0) scale(1); }
  .cursor.sinal { background: var(--sinal); color: var(--fundo); }
  .cursor__texto { font-size: var(--t15); font-weight: 500; }
  [data-cursor], [data-cursor] * { cursor: none; }
}

/* ---------- revelações (entram pela esquerda, como tudo na Walk) ---------- */
html.movimento [data-revela] { opacity: 0; transform: translateX(-24px); transition: opacity .4s var(--entra), transform .6s var(--entra); }
html.movimento [data-revela].visto { opacity: 1; transform: none; }

/* ---------- até 1100 px ---------- */
@media (max-width: 1100px) {
  :root { --u: calc(100vw / 1500); }
  .hero__caixa { width: 100%; }
}

/* ---------- celular e tablet em pé ---------- */
@media (max-width: 820px) {
  :root { --u: calc(100vw / 820); --raio: 12px; }
  .nav { padding: 16px; }
  .menu { padding: 16px 16px 24px; }
  .menu__lista { align-items: flex-start; gap: 10px; }
  .menu__texto { font-size: 10.5vw; }
  .menu__estrela { font-size: 6vw; }
  .menu__midia { display: none; }
  .menu__base { flex-direction: column; align-items: flex-start; gap: 14px; }
  .menu__meio { position: static; transform: none; }

  .hero { padding: 84px 16px 48px; }
  .hero__caixa { width: 100%; height: 72svh; min-height: 440px; }
  .hero__h1 { top: auto; bottom: 64px; flex-direction: column; gap: 0; font-size: 9.6vw; padding: 0 12px; }
  .hero__linha--esq { align-self: flex-start; }
  .hero__linha--dir { align-self: flex-end; }

  .verbos, .trabalho { padding: 80px 16px 96px; }
  .cabeca__h, .cabeca__cima .serifa-it { font-size: 13vw; }
  .cabeca__estrela { font-size: 5vw; }
  .trabalho .cabeca__baixo { font-size: 10.4vw; }
  .cabeca__sub { margin-top: 24px; }
  .busca { width: 100%; margin-top: 56px; }
  .busca__atalhos, .busca__resposta { padding-left: 4px; }

  .verbos__lista { display: flex; flex-direction: column; gap: 48px; margin-top: 64px; }
  .verbo, .verbo:nth-child(n) { width: 100%; margin: 0; }
  .verbo__midia { height: auto; aspect-ratio: var(--w) / var(--h); }
  .verbo__nome { font-size: 9vw; }
  .verbo.verbo--mais { margin: 8px 0 0; }

  .trabalho__lista { margin-top: 64px; gap: 64px; }
  .peca, .peca--dir { flex-direction: column; align-items: stretch; }
  .peca__img, .peca--dir .peca__img { width: 100%; height: auto; aspect-ratio: var(--w) / var(--h); margin: 0; }
  .peca--retrato .peca__img { width: 78%; }
  .peca__texto, .peca--dir .peca__texto { width: 100%; margin: 20px 0 0; text-align: left; }
  .peca--dir .peca__tag { justify-content: flex-start; }
  .peca__par { margin-top: 12px; }
  .peca__link { margin-top: 18px; }
  .mais--centro { margin-top: 64px; }

  .fala { padding: 72px 16px 96px; min-height: 0; }
  .fala__palavra { font-size: 9.4vw; }
  .fala__meio, .fala__comp:hover .fala__meio { grid-template-columns: 1fr; height: auto; opacity: 1; margin: 24px 0; gap: 16px; }
  .fala__lado, .fala__lado--esq { text-align: center; }
  .fala__video { height: auto; aspect-ratio: 5 / 3; }

  .rodape { padding: 64px 16px 32px; border-radius: 16px 16px 0 0; }
  .rodape__topo { grid-template-columns: 1fr 1fr; gap: 40px 16px; }
  .rodape__h { margin-bottom: 14px; }
  .rodape__col--ultima { grid-column: 1 / -1; max-width: none; }
  .rodape__logo { width: 180px; margin: 40px 0 0; }
  .rodape__base { flex-direction: column; margin-top: 40px; padding-top: 16px; }
}

/* telas sem hover: o meio do contato fica aberto */
@media (hover: none) and (min-width: 821px) {
  .fala__meio { height: auto; opacity: 1; margin: calc(30 * var(--u)) 0; }
  .fala__video { height: calc(265 * var(--u)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation: none !important; }
}
