/* Rafael Pacheco Advogados — site reformulado (out/2026)
   Direção: balcão de relojoaria. Campo azul-marinho, retrato recortado no próprio campo,
   nome como marca larga, ouro só na ação. Fonte única: Jost. */

:root {
  --marinho: #0A1628;
  --marinho-2: #0F2038;
  --marinho-3: #172B4B;
  --claro: #F4F5F7;
  --claro-2: #B9C4D2;
  --papel: #EDEEF1;
  --papel-2: #DFE3EA;
  --tinta: #0A1628;
  --tinta-2: #3B4656;
  --ouro: #C9923A;
  --ouro-claro: #E8B86D;
  --ouro-escuro: #8F6420;
  --verde-zap: #15803d;

  --margem: clamp(18px, 3vw, 40px);
  --larg: 1360px;
  --secao: clamp(88px, 10vw, 160px);

  --t-mega: clamp(52px, 9.4vw, 150px);
  --t-titulo: clamp(38px, 5.2vw, 80px);
  --t-frase: clamp(22px, 2.3vw, 34px);
  --t-texto: 18px;
  --t-nota: 15px;

  --curva: cubic-bezier(.2, .7, .2, 1);
  --raio: 999px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--t-texto);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video, svg { display: block; max-width: 100%; }
img, video { height: auto; }
a { color: inherit; }
h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3 { font-weight: 500; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; }
h2 { font-size: var(--t-titulo); }
h3 { font-size: var(--t-frase); letter-spacing: -.01em; line-height: 1.15; }
::selection { background: var(--ouro); color: var(--marinho); }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; border-radius: 4px; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.num { font-variant-numeric: tabular-nums; }

.moldura { width: 100%; max-width: var(--larg); margin-inline: auto; padding-inline: var(--margem); }
.escuro { background: var(--marinho); color: var(--claro); }
.escuro-2 { background: var(--marinho-2); color: var(--claro); }
.papel-2 { background: var(--papel-2); }
.suave { color: var(--tinta-2); }
.escuro .suave, .escuro-2 .suave { color: var(--claro-2); }

/* ---------- Botões ---------- */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 56px; padding: 0 30px; border-radius: var(--raio); border: 0;
  background: var(--ouro); color: var(--marinho);
  font: 500 17px/1 "Jost", sans-serif; text-decoration: none; cursor: pointer;
  transition: transform .35s var(--curva), background-color .25s;
  will-change: transform;
}
.botao:hover { background: var(--ouro-claro); transform: translateY(-2px); }
.botao:active { transform: translateY(1px) scale(.98); }
.botao svg { width: 22px; height: 22px; flex: none; }
.botao--claro { background: var(--claro); color: var(--marinho); }
.botao--claro:hover { background: #fff; }
.botao--escuro { background: var(--marinho); color: var(--claro); }
.botao--escuro:hover { background: var(--marinho-3); }
.botao--zap { background: var(--verde-zap); color: #fff; }
.botao--zap:hover { background: #166534; }
.link-seta {
  display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 500;
  border-bottom: 2px solid currentColor; padding-bottom: 2px;
}
.link-seta span { transition: transform .3s var(--curva); }
.link-seta:hover span { transform: translateX(6px); }

/* ---------- Topo ---------- */
.topo {
  position: absolute; inset: 0 0 auto; z-index: 30; color: var(--claro);
}
.topo--fixo { position: sticky; top: 0; background: var(--marinho); }
.topo .moldura { display: flex; align-items: center; gap: 28px; min-height: 84px; }
.topo__marca { font-size: 17px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.topo__marca b { font-weight: 500; color: var(--ouro-claro); }
.topo nav { margin-left: auto; display: flex; align-items: center; gap: 30px; }
.topo nav a:not(.botao) { text-decoration: none; font-size: 16px; color: var(--claro-2); transition: color .2s; position: relative; }
.topo nav a:not(.botao)::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--ouro);
  transform: scaleX(0); transform-origin: left; transition: transform .35s var(--curva);
}
.topo nav a:not(.botao):hover, .topo nav a[aria-current="page"] { color: var(--claro); }
.topo nav a:not(.botao):hover::after, .topo nav a[aria-current="page"]::after { transform: scaleX(1); }
.topo .botao { min-height: 46px; padding: 0 22px; font-size: 16px; }
.menu-botao { display: none; margin-left: auto; background: none; border: 0; color: inherit; font: 500 16px "Jost", sans-serif; cursor: pointer; padding: 10px 0; }

@media (max-width: 900px) {
  .menu-botao { display: inline-flex; align-items: center; gap: 10px; }
  .menu-botao i { width: 22px; height: 2px; background: currentColor; position: relative; display: block; }
  .menu-botao i::before, .menu-botao i::after { content: ""; position: absolute; left: 0; width: 22px; height: 2px; background: currentColor; transition: transform .3s; }
  .menu-botao i::before { top: -7px; } .menu-botao i::after { top: 7px; }
  .menu-botao[aria-expanded="true"] i { background: transparent; }
  .menu-botao[aria-expanded="true"] i::before { transform: translateY(7px) rotate(45deg); }
  .menu-botao[aria-expanded="true"] i::after { transform: translateY(-7px) rotate(-45deg); }
  .topo nav {
    position: fixed; inset: 0; z-index: -1; background: var(--marinho);
    flex-direction: column; align-items: flex-start; justify-content: center; gap: 22px;
    padding: 0 var(--margem); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
  }
  .topo nav.aberto { opacity: 1; visibility: visible; }
  .topo nav a:not(.botao) { font-size: 34px; color: var(--claro); }
  .topo nav .botao { margin-top: 12px; }
  .topo__marca { letter-spacing: .22em; font-size: 15px; }
}

/* ---------- Capa (balcão) ---------- */
.capa {
  position: relative; min-height: 100svh; overflow: hidden;
  background: var(--marinho); color: var(--claro);
  display: grid; grid-template-rows: 1fr auto; isolation: isolate;
}
.capa__luz {
  position: absolute; z-index: -2; left: 50%; top: 44%; width: min(1100px, 120vw); aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(201,146,58,.22), rgba(23,43,75,.55) 45%, rgba(10,22,40,0) 72%);
  animation: respira 9s ease-in-out infinite;
}
@keyframes respira { 50% { transform: translate(-50%, -50%) scale(1.08); opacity: .82; } }
.capa__chao { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 34%; background: var(--marinho); }
.capa__palco { position: relative; display: grid; justify-items: center; align-content: end; padding-top: 96px; }
.capa__fundo {
  position: absolute; z-index: -1; left: 0; right: 0; top: clamp(70px, 11vh, 120px); text-align: center;
  font-size: min(21vw, 30vh); font-weight: 600; line-height: .8; letter-spacing: -.04em; text-transform: uppercase;
  color: #142A4C; white-space: nowrap; user-select: none; pointer-events: none;
  animation: fundo 2.2s var(--curva) both;
}
@keyframes fundo { from { opacity: 0; transform: translateY(40px) scale(.94); } }
.capa__retrato {
  width: min(36vw, 44svh, 540px); aspect-ratio: 1023 / 1394; position: relative;
  -webkit-mask-image: linear-gradient(#000 60%, transparent 96%), linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(#000 60%, transparent 96%), linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-composite: intersect;
  margin-bottom: clamp(-150px, -9vw, -60px);
}
.capa__retrato img { width: 100%; height: 100%; object-fit: contain; filter: brightness(.94) contrast(1.04); }
.capa__base { position: relative; z-index: 2; text-align: center; padding: 0 var(--margem) clamp(32px, 5vh, 56px); }
.capa h1 { font-size: inherit; letter-spacing: 0; line-height: 1; }
.capa__marca {
  display: block; white-space: nowrap; font-weight: 500; text-transform: uppercase;
  font-size: clamp(26px, 3.6vw, 54px); letter-spacing: .58em; margin-right: -.58em; color: var(--claro);
}
.capa__oficio { display: block; margin-top: 14px; font-size: clamp(15px, 1.25vw, 18px); letter-spacing: .5em; margin-right: -.5em; text-transform: uppercase; color: var(--ouro-claro); font-weight: 500; }
.capa__frase { max-width: 30ch; margin: 24px auto 0; font-size: var(--t-frase); line-height: 1.22; color: var(--claro); }
.capa__linha { margin-top: 28px; display: flex; justify-content: center; align-items: center; gap: 48px; font-size: 16px; color: var(--claro-2); }
.capa__linha .botao { min-height: 60px; font-size: 18px; }

@media (max-width: 760px) {
  .capa__palco { padding-top: 92px; }
  .capa__retrato { width: 82vw; margin-bottom: -72px; }
  .capa__marca { font-size: 6.3vw; letter-spacing: .34em; margin-right: -.34em; }
  .capa__oficio { letter-spacing: .38em; margin-right: -.38em; font-size: 13px; }
  .capa__frase { font-size: 6vw; margin-top: 22px; }
  .capa__linha { flex-direction: column; gap: 14px; }
  .capa__linha .botao { width: 100%; }
}

/* ---------- Seções ---------- */
.secao { padding-block: var(--secao); }
.cabeca { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 64px; align-items: end; margin-bottom: clamp(48px, 6vw, 88px); }
.cabeca p { font-size: 19px; max-width: 46ch; }
@media (max-width: 860px) { .cabeca { grid-template-columns: 1fr; } }

/* Escolha: "Como posso te ajudar?" — programa em uma só medida */
.escolha { counter-reset: none; }
.escolha__linha {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 15rem auto; gap: 24px; align-items: center;
  padding: 26px var(--margem); margin-inline: calc(var(--margem) * -1);
  text-decoration: none; font-size: clamp(20px, 2vw, 29px); line-height: 1.2; isolation: isolate;
}
.escolha__linha + .escolha__linha { margin-top: 6px; }
.escolha__linha::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--marinho);
  transform: scaleX(0); transform-origin: left; transition: transform .55s var(--curva);
}
.escolha__linha:nth-child(odd)::after { content: ""; position: absolute; inset: 0; z-index: -2; background: rgba(10,22,40,.035); }
.escolha__linha:hover::before, .escolha__linha:focus-visible::before { transform: scaleX(1); }
.escolha__linha:hover, .escolha__linha:focus-visible { color: var(--claro); }
.escolha__area { color: var(--ouro-escuro); transition: color .3s; }
.escolha__linha:hover .escolha__area, .escolha__linha:focus-visible .escolha__area { color: var(--ouro-claro); }
.escolha__ir { justify-self: end; display: inline-flex; align-items: center; gap: 12px; font-size: 16px; white-space: nowrap; }
.escolha__ir i {
  width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--marinho); color: var(--claro);
  font-style: normal; font-size: 20px; transition: transform .45s var(--curva), background-color .3s;
}
.escolha__linha:hover .escolha__ir i { background: var(--ouro); color: var(--marinho); transform: translateX(6px) rotate(-45deg); }
.escolha__nota { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; font-size: 18px; }
@media (max-width: 760px) {
  .escolha__linha { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; padding-block: 20px; font-size: 21px; }
  .escolha__area { grid-row: 2; font-size: 15px; }
  .escolha__ir { grid-row: 1 / span 2; grid-column: 2; }
  .escolha__ir b { display: none; }
}

/* Escada: a frase da trajetória */
.escada { position: relative; display: grid; align-items: center; padding-block: var(--secao); overflow: hidden; }
.escada .moldura { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; align-items: center; }
.escada__frase { font-size: clamp(34px, 4.3vw, 64px); line-height: 1.04; font-weight: 500; letter-spacing: -.02em; }
.escada__frase span { display: block; }
.escada__frase span:nth-child(2) { padding-left: 6vw; }
.escada__frase span:nth-child(3) { padding-left: 12vw; color: var(--ouro-claro); }
.escada__frase span:nth-child(4) { padding-left: 18vw; }
.escada__frase span:nth-child(5) { padding-left: 24vw; color: var(--ouro-claro); }
.escada__fotos { display: grid; gap: 16px; }
.troca { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--marinho-3); }
.troca img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.6s ease, transform 7s linear; transform: scale(1.08); }
.troca img.ativa { opacity: 1; transform: scale(1); }
.troca figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 16px; font-size: 15px; background: rgba(10,22,40,.78); color: var(--claro); }
.escada__nota { margin-top: 56px; max-width: 44ch; font-size: 17px; }
@media (max-width: 860px) {
  .escada { min-height: 0; }
  .escada .moldura { grid-template-columns: 1fr; }
  .escada__frase { font-size: 8.6vw; }
  .escada__frase span:nth-child(2) { padding-left: 5vw; } .escada__frase span:nth-child(3) { padding-left: 10vw; }
  .escada__frase span:nth-child(4) { padding-left: 15vw; } .escada__frase span:nth-child(5) { padding-left: 20vw; }
  .escada__fotos { grid-template-columns: 1fr; }
  .troca { aspect-ratio: 4 / 3; }
  .bilhete { padding: 28px 22px 60px; font-size: 15px; }
  .bilhete__fim { margin-inline: -22px; padding-inline: 22px; }
}

/* Mapa vivo */
.mapa__palco { overflow: clip; padding: 24px 12px 32px; }
.mapa { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.mapa__palco { perspective: 1400px; }
.mapa__svg {
  width: 100%; height: auto; overflow: visible;
  transform: rotateX(var(--rx, 18deg)) rotateY(var(--ry, -10deg)) rotateZ(-2deg);
  transform-style: preserve-3d; transition: transform .8s var(--curva);
}
.mapa__svg path {
  fill: var(--marinho-3); stroke: var(--marinho); stroke-width: 1.2; cursor: pointer;
  transition: fill .45s, transform .45s var(--curva); transform-box: fill-box; transform-origin: center;
}
.mapa__svg path.atendido { fill: #2D4470; }
.mapa__svg path.atendido.aceso { fill: var(--ouro); }
.mapa__svg path:hover { fill: var(--ouro-claro); transform: translateY(-6px) scale(1.04); }
.mapa__svg path.escolhido { fill: var(--claro); transform: translateY(-10px) scale(1.07); }
.mapa__sombra { fill: #050C17; transform: translate(10px, 14px); }
.mapa__painel { display: grid; gap: 22px; }
.mapa__painel label { font-size: 16px; color: var(--claro-2); }
.mapa__painel select {
  width: 100%; min-height: 58px; padding: 0 18px; border-radius: 14px; border: 0; background: var(--marinho-3);
  color: var(--claro); font: 400 19px "Jost", sans-serif; cursor: pointer;
}
.mapa__resposta { min-height: 230px; padding: 30px; border-radius: 22px; background: var(--marinho-3); display: grid; gap: 14px; align-content: start; }
.mapa__resposta strong { font-size: clamp(26px, 2.4vw, 36px); font-weight: 500; line-height: 1.1; }
.mapa__resposta p { color: var(--claro-2); }
.mapa__conta { font-size: var(--t-titulo); line-height: 1; font-weight: 500; letter-spacing: -.03em; }
.mapa__conta small { display: block; font-size: 18px; letter-spacing: 0; color: var(--claro-2); margin-top: 10px; font-weight: 400; }
@media (max-width: 900px) { .mapa { grid-template-columns: 1fr; } }

/* Faixa de nomes correndo */
.faixa { background: var(--ouro); color: var(--marinho); overflow: hidden; height: 34vh; min-height: 200px; display: flex; align-items: center; }
.faixa__trilho { display: flex; width: max-content; animation: corre 46s linear infinite; }
.faixa__trilho span { font-size: 8vw; font-weight: 500; white-space: nowrap; letter-spacing: -.03em; line-height: 1; display: inline-flex; align-items: center; }
.faixa__trilho span::after { content: ""; width: .22em; height: .22em; border-radius: 50%; background: var(--marinho); margin: 0 .5em; }
@keyframes corre { to { transform: translateX(-50%); } }
.faixa-legenda { padding: 28px 0 0; font-size: 18px; }
@media (max-width: 760px) { .faixa { height: 22vh; } .faixa__trilho span { font-size: 15vw; } }

/* Itinerário (como funciona) */
.roteiro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: start; }
.roteiro__texto p { margin-top: 24px; max-width: 34ch; font-size: 19px; }
.roteiro__texto .botao { margin-top: 36px; }
.bilhete {
  justify-self: end; width: min(100%, 500px); background: var(--claro); color: var(--marinho); padding: 34px 32px 64px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), 95% 100%, 90% calc(100% - 16px), 85% 100%, 80% calc(100% - 16px), 75% 100%, 70% calc(100% - 16px), 65% 100%, 60% calc(100% - 16px), 55% 100%, 50% calc(100% - 16px), 45% 100%, 40% calc(100% - 16px), 35% 100%, 30% calc(100% - 16px), 25% 100%, 20% calc(100% - 16px), 15% 100%, 10% calc(100% - 16px), 5% 100%, 0 calc(100% - 16px));
  font-size: 17px; transform: rotate(1.2deg); transition: transform .6s var(--curva);
}
.bilhete:hover { transform: rotate(0); }
.bilhete h3 { font-size: 18px; font-weight: 600; margin-top: 26px; letter-spacing: 0; }
.bilhete h3:first-child { margin-top: 0; }
.bilhete li { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; }
.bilhete li em { font-style: normal; flex: 1; border-bottom: 3px dotted #9AA6B5; transform: translateY(-5px); min-width: 20px; }
.bilhete li b { font-weight: 500; white-space: nowrap; color: var(--tinta-2); }
.bilhete__fim { margin: 30px -32px 0; padding: 0 32px; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--marinho); color: var(--claro); }
@media (max-width: 860px) { .roteiro { grid-template-columns: 1fr; } .bilhete { justify-self: stretch; } }

/* Avaliação + Instagram */
.duo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
.estrelas { display: flex; gap: 6px; color: var(--ouro); margin-top: 28px; }
.estrelas svg { width: 34px; height: 34px; animation: brilho 3.2s ease-in-out infinite; }
.estrelas svg:nth-child(2) { animation-delay: .15s; } .estrelas svg:nth-child(3) { animation-delay: .3s; }
.estrelas svg:nth-child(4) { animation-delay: .45s; } .estrelas svg:nth-child(5) { animation-delay: .6s; }
@keyframes brilho { 0%, 70%, 100% { transform: none; } 80% { transform: translateY(-5px) rotate(-8deg); } }
.duo__acoes { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; }
.celular {
  justify-self: center; width: min(330px, 80vw); aspect-ratio: 9 / 16; border-radius: 42px; padding: 12px;
  background: var(--marinho); position: relative; transform: rotate(-4deg); transition: transform .7s var(--curva);
}
.celular:hover { transform: rotate(0) translateY(-6px); }
.celular video { width: 100%; height: 100%; object-fit: cover; border-radius: 32px; }
.celular a { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); white-space: nowrap; }
.insta-grade { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.insta-grade a { position: relative; aspect-ratio: 1; overflow: hidden; display: block; background: var(--marinho-3); border-radius: 14px; opacity: 0; transform: translateY(18px) scale(.97); transition: opacity .8s var(--curva), transform .8s var(--curva); }
.insta-grade.pronta a { opacity: 1; transform: none; }
.insta-grade img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--curva); }
.insta-grade a:hover img, .insta-grade a:focus-visible img { transform: scale(1.07); }
.insta-legenda { position: absolute; inset: auto 0 0; padding: 14px; font-size: 14px; line-height: 1.35; color: var(--claro); background: rgba(10,22,40,.86); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; transform: translateY(101%); transition: transform .45s var(--curva); }
.insta-grade a:hover .insta-legenda, .insta-grade a:focus-visible .insta-legenda { transform: none; }
.insta-tipo { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 500; background: var(--ouro); color: var(--marinho); }
.insta-perfil { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.insta-perfil img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.insta-perfil b { display: block; font-weight: 500; font-size: 19px; }
@media (max-width: 760px) { .insta-grade { grid-template-columns: repeat(2, 1fr); } .insta-legenda { display: none; } }
@media (max-width: 860px) { .duo { grid-template-columns: 1fr; } }

/* Contato em linhas grandes */
.contato-linhas a, .contato-linhas div {
  display: flex; align-items: flex-end; min-height: 150px; padding: 0 var(--margem) 26px;
  font-size: clamp(30px, 5.4vw, 84px); line-height: 1; letter-spacing: -.025em; text-decoration: none; overflow-wrap: anywhere;
  transition: padding-left .45s var(--curva), color .3s;
}
.contato-linhas > :nth-child(odd) { background: var(--marinho); }
.contato-linhas > :nth-child(even) { background: var(--marinho-2); }
.contato-linhas a:hover { padding-left: calc(var(--margem) + 24px); color: var(--ouro-claro); }
.contato-linhas .menor { font-size: clamp(22px, 3.4vw, 54px); }
.contato-linhas .chamada { background: var(--ouro); color: var(--marinho); justify-content: space-between; }
.contato-linhas .chamada:hover { color: var(--marinho); }
.contato-linhas .chamada i {
  font-style: normal; width: .9em; height: .9em; border-radius: 50%; background: var(--marinho); color: var(--ouro); display: grid; place-items: center;
  font-size: 1em; transition: transform .45s var(--curva);
}
.contato-linhas .chamada:hover i { transform: rotate(-45deg); }
@media (max-width: 760px) { .contato-linhas a, .contato-linhas div { min-height: 88px; padding-bottom: 18px; font-size: 8.4vw; } .contato-linhas .menor { font-size: 5.4vw; } }

/* Rodapé */
.rodape { background: var(--papel); color: var(--tinta); min-height: 92svh; display: grid; grid-template-rows: auto 1fr auto; padding-top: 48px; }
.rodape__colunas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; font-size: 16px; }
.rodape__colunas li { color: var(--tinta-2); margin-top: 6px; }
.rodape__colunas li:first-child { color: var(--tinta); font-weight: 500; margin-top: 0; }
.rodape__colunas a { text-decoration: none; } .rodape__colunas a:hover { color: var(--ouro-escuro); text-decoration: underline; }
.rodape__nome { padding-inline: var(--margem); }
.rodape__nome svg { width: 100%; height: auto; fill: var(--marinho); }
.rodape__legal { padding: 16px var(--margem) 26px; font-size: 14px; color: var(--tinta-2); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
@media (max-width: 760px) { .rodape__colunas { grid-template-columns: 1fr 1fr; } }

/* WhatsApp flutuante */
.zap-flutua {
  position: fixed; right: 18px; bottom: 18px; z-index: 40; width: 62px; height: 62px; border-radius: 50%;
  background: var(--verde-zap); color: #fff; display: grid; place-items: center; text-decoration: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.28); transition: transform .35s var(--curva);
  animation: chega .8s var(--curva) 1.4s both;
}
.zap-flutua svg { width: 32px; height: 32px; }
.zap-flutua:hover { transform: scale(1.08) rotate(-6deg); }
@keyframes chega { from { transform: translateY(90px); } }

/* Aviso de cookies */
.cookies {
  position: fixed; left: 18px; bottom: 18px; z-index: 45; max-width: 420px; padding: 20px 22px; border-radius: 18px;
  background: var(--marinho); color: var(--claro); font-size: 15px; display: none; gap: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.3);
}
.cookies.visivel { display: grid; }
.cookies div { display: flex; gap: 10px; flex-wrap: wrap; }
.cookies button { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; font: 500 15px "Jost", sans-serif; cursor: pointer; background: var(--ouro); color: var(--marinho); }
.cookies button + button { background: var(--marinho-3); color: var(--claro); }
@media (max-width: 760px) { .cookies { right: 92px; left: 12px; bottom: 12px; } }

/* ---------- Páginas internas ---------- */
.capa-interna { padding: 160px 0 var(--secao); position: relative; overflow: hidden; }
.capa-interna .moldura { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: end; }
.capa-interna h1 { font-size: var(--t-mega); letter-spacing: -.04em; line-height: .92; }
.capa-interna h1.medio { font-size: clamp(46px, 6.6vw, 104px); }
.capa-interna p.frase { margin-top: 28px; max-width: 32ch; font-size: var(--t-frase); line-height: 1.25; }
.capa-interna .acoes { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 18px 30px; align-items: center; }
.capa-interna figure { position: relative; overflow: hidden; aspect-ratio: 4 / 5; }
.capa-interna figure img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: assenta 2.4s var(--curva) both; }
@keyframes assenta { from { transform: scale(1.18); } }
@media (max-width: 860px) {
  .capa-interna { padding-top: 120px; }
  .capa-interna .moldura { grid-template-columns: 1fr; }
  .capa-interna figure { aspect-ratio: 4 / 3; }
}

/* Situações de uma área */
.situacoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; }
.situacoes li { padding: 28px 0; display: grid; gap: 8px; }
.situacoes li + li { }
.situacoes strong { font-size: clamp(21px, 1.8vw, 26px); font-weight: 500; line-height: 1.2; }
.situacoes span { color: var(--tinta-2); }
.escuro .situacoes span { color: var(--claro-2); }
@media (max-width: 760px) { .situacoes { grid-template-columns: 1fr; } }

.dupla { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
@media (max-width: 860px) { .dupla { grid-template-columns: 1fr; } }
.lista-docs li { padding: 16px 0 16px 34px; position: relative; font-size: 19px; }
.lista-docs li::before { content: ""; position: absolute; left: 0; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: var(--ouro); }

.perguntas details { background: var(--claro); border-radius: 18px; padding: 0 26px; }
.perguntas details + details { margin-top: 12px; }
.escuro .perguntas details { background: var(--marinho-3); }
.perguntas summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; font-size: 21px; font-weight: 500; list-style: none; }
.perguntas summary::-webkit-details-marker { display: none; }
.perguntas summary::after { content: "+"; font-size: 30px; font-weight: 300; transition: transform .35s var(--curva); color: var(--ouro-escuro); }
.perguntas details[open] summary::after { transform: rotate(45deg); }
.perguntas details p { padding-bottom: 24px; max-width: 70ch; }

.chamada-final { text-align: center; }
.chamada-final h2 { max-width: 16ch; margin-inline: auto; }
.chamada-final p { margin: 24px auto 0; max-width: 46ch; font-size: 19px; }
.chamada-final .botao { margin-top: 40px; }

/* Sobre */
.carreira { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.carreira__lado { padding: clamp(36px, 5vw, 72px); }
.carreira__lado h3 { font-size: clamp(30px, 3vw, 46px); }
.carreira__lado ol { margin-top: 36px; display: grid; gap: 30px; }
.carreira__lado li strong { display: block; font-size: 22px; font-weight: 500; }
.carreira__lado li span { display: block; margin-top: 6px; }
@media (max-width: 860px) { .carreira { grid-template-columns: 1fr; } }
.ponte { display: grid; gap: 4px; }
.ponte li { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; padding: 34px 0; align-items: baseline; }
.ponte li strong { font-size: clamp(30px, 3.4vw, 52px); font-weight: 500; letter-spacing: -.02em; line-height: 1.05; color: var(--ouro-claro); }
.ponte li p { font-size: var(--t-frase); line-height: 1.3; }
@media (max-width: 760px) { .ponte li { grid-template-columns: 1fr; gap: 10px; } .ponte li p { font-size: 21px; } }
.historia { columns: 2; column-gap: 40px; font-size: clamp(21px, 1.9vw, 29px); line-height: 1.3; color: var(--tinta-2); }
.historia b { color: var(--tinta); font-weight: 500; }
.historia mark { background: var(--ouro-claro); color: var(--marinho); padding: 0 .12em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.historia mark.az { background: #C9D6EA; }
.historia a.fecho { display: inline; background: var(--marinho); color: var(--claro); padding: 0 .16em; text-decoration: none; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media (max-width: 760px) { .historia { columns: 1; font-size: 20px; } }
.galeria { display: grid; grid-template-columns: 5fr 4fr 3fr; gap: 16px; align-items: end; }
.galeria figure { overflow: hidden; }
.galeria img, .galeria video { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--curva); }
.galeria figure:hover img { transform: scale(1.04); }
.galeria figcaption { font-size: 15px; margin-top: 10px; color: var(--tinta-2); }
@media (max-width: 760px) { .galeria { grid-template-columns: 1fr 1fr; } .galeria figure:first-child { grid-column: 1 / -1; } }

/* ---------- Enfermagem ---------- */
.frentes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.frente { padding: 34px 30px; border-radius: 24px; display: grid; gap: 14px; align-content: start; background: var(--marinho-3); }
.frente:nth-child(1) { background: var(--ouro); color: var(--marinho); }
.frente .grande { font-size: clamp(40px, 4vw, 60px); font-weight: 500; letter-spacing: -.03em; line-height: 1; }
.frente .estado { font-size: 15px; font-weight: 500; }
.frente p { font-size: 17px; }
@media (max-width: 860px) { .frentes { grid-template-columns: 1fr; } }

.linha-tempo { display: grid; gap: 0; }
.linha-tempo li { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 32px; padding: 20px 0; font-size: 19px; }
.linha-tempo li b { font-weight: 500; }
.linha-tempo time { color: var(--ouro-escuro); font-weight: 500; }
.linha-tempo li.agora { background: var(--ouro); margin-inline: calc(var(--margem) * -1); padding-inline: var(--margem); }
.linha-tempo li.agora time { color: var(--marinho); }
.linha-tempo li.futuro { color: var(--tinta-2); }
@media (max-width: 760px) { .linha-tempo li { grid-template-columns: 1fr; gap: 4px; } }

.mitos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
[hidden] { display: none !important; }
.mito { display: block; width: 100%; perspective: 1200px; border: 0; padding: 0; background: none; text-align: left; cursor: pointer; color: inherit; font: inherit; min-height: 250px; }
.mito__in { display: block; width: 100%; position: relative; min-height: 250px; height: 100%; transition: transform .8s var(--curva); transform-style: preserve-3d; }
.mito[aria-pressed="true"] .mito__in { transform: rotateY(180deg); }
.mito__face { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.mito__face--f { background: var(--marinho-3); color: var(--claro); }
.mito__face--v { background: var(--ouro); color: var(--marinho); transform: rotateY(180deg); }
.mito__face q { font-size: 22px; line-height: 1.25; font-weight: 500; }
.mito__face .dica { margin-top: auto; font-size: 15px; color: var(--claro-2); }
.mito__face .veredito { font-size: 26px; font-weight: 500; }
.mito__face p { font-size: 16px; }
.mito:hover .mito__in { transform: rotateY(12deg); }
.mito[aria-pressed="true"]:hover .mito__in { transform: rotateY(168deg); }

.vinculos { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
.vinculos button { min-height: 50px; padding: 0 22px; border-radius: 999px; border: 0; background: var(--papel-2); color: var(--tinta); font: 500 16px "Jost", sans-serif; cursor: pointer; transition: background-color .25s, transform .25s var(--curva); }
.vinculos button:hover { transform: translateY(-2px); }
.vinculos button[aria-selected="true"] { background: var(--marinho); color: var(--claro); }
.vinculo { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: 16px; }
.vinculo > div { border-radius: 22px; padding: 28px; background: var(--claro); display: grid; gap: 12px; align-content: start; }
.vinculo > div:first-child { background: none; padding-left: 0; }
.vinculo h3 { font-size: 30px; }
.vinculo ul li { padding: 6px 0 6px 20px; position: relative; font-size: 17px; }
.vinculo ul li::before { content: ""; position: absolute; left: 0; top: 16px; width: 8px; height: 8px; border-radius: 50%; background: var(--ouro); }
.selo { justify-self: start; padding: 6px 14px; border-radius: 999px; font-size: 15px; font-weight: 500; background: var(--marinho); color: var(--claro); }
.selo.dep { background: var(--ouro-claro); color: var(--marinho); }
.selo.nao { background: var(--papel-2); color: var(--tinta); }
.vinculo .olho { grid-column: 1 / -1; background: var(--marinho); color: var(--claro); }
@media (max-width: 860px) { .vinculo { grid-template-columns: 1fr; } .vinculo > div:first-child { padding: 0; } }

.semanas { display: grid; gap: 18px; }
.semana { display: grid; grid-template-columns: 12rem minmax(0, 1fr) 7rem; gap: 20px; align-items: center; }
.semana__dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.semana__dias span { height: 54px; border-radius: 10px; display: grid; place-items: center; font-size: 14px; font-weight: 500; background: var(--marinho-3); color: var(--claro-2); }
.semana__dias span.folga { background: var(--ouro); color: var(--marinho); }
.semana__horas { font-size: 36px; font-weight: 500; text-align: right; }
@media (max-width: 760px) { .semana { grid-template-columns: 1fr auto; } .semana__dias { grid-column: 1 / -1; grid-row: 2; } .semana__dias span { font-size: 13px; height: 46px; } }

.calc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; }
.calc__controles { background: var(--marinho); color: var(--claro); border-radius: 26px; padding: 32px; display: grid; gap: 28px; }
.calc__controles legend, .calc__controles .rotulo { font-size: 16px; color: var(--claro-2); margin-bottom: 12px; padding: 0; }
.calc fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg label { min-height: 56px; display: grid; place-items: center; text-align: center; border-radius: 14px; background: var(--marinho-3); cursor: pointer; font-size: 16px; line-height: 1.15; padding: 6px; transition: background-color .25s; }
.seg input:checked + label { background: var(--ouro); color: var(--marinho); }
.seg input:focus-visible + label { outline: 3px solid var(--ouro-claro); outline-offset: 2px; }
.horas-saida { font-size: 64px; font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.horas-saida small { font-size: 18px; color: var(--claro-2); letter-spacing: 0; }
.calc input[type=range] { width: 100%; accent-color: var(--ouro); margin-top: 14px; height: 32px; }
.rapidos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rapidos button { min-height: 42px; padding: 0 14px; border-radius: 999px; border: 0; background: var(--marinho-3); color: var(--claro); font: 500 15px "Jost", sans-serif; cursor: pointer; }
.rapidos button:hover { background: var(--ouro); color: var(--marinho); }
.calc__resultados { display: grid; gap: 12px; }
.res { background: var(--claro); border-radius: 22px; padding: 24px 26px; display: grid; gap: 12px; }
.res__topo { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.res__nome { font-weight: 500; font-size: 19px; }
.res__nome small { display: block; font-weight: 400; color: var(--tinta-2); font-size: 15px; }
.res__valor { font-size: clamp(30px, 3vw, 42px); font-weight: 500; letter-spacing: -.02em; }
.res__barra { height: 12px; border-radius: 99px; background: var(--papel-2); overflow: hidden; }
.res__barra i { display: block; height: 100%; border-radius: 99px; background: var(--marinho); transition: width .7s var(--curva); }
.res--b .res__barra i { background: var(--ouro-escuro); } .res--c .res__barra i { background: var(--ouro); }
.res__dif { font-size: 16px; color: var(--tinta-2); }
.res__dif b { color: var(--ouro-escuro); font-weight: 600; }
@media (max-width: 860px) { .calc { grid-template-columns: 1fr; } }

.kit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kit label { display: flex; gap: 16px; align-items: flex-start; background: var(--claro); border-radius: 18px; padding: 18px 20px; cursor: pointer; transition: background-color .25s; }
.kit input { appearance: none; flex: none; width: 28px; height: 28px; border-radius: 9px; background: var(--papel-2); margin: 0; display: grid; place-items: center; cursor: pointer; transition: background-color .25s; }
.kit input:checked { background: var(--ouro); }
.kit input:checked::after { content: ""; width: 11px; height: 6px; border-left: 3px solid var(--marinho); border-bottom: 3px solid var(--marinho); transform: rotate(-45deg) translate(1px, -1px); }
.kit b { display: block; font-weight: 500; font-size: 18px; }
.kit span { font-size: 16px; color: var(--tinta-2); }
.kit label:has(input:checked) { background: #FBF3E4; }
.progresso { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; font-size: 17px; }
.progresso div { flex: 1; height: 10px; border-radius: 99px; background: var(--papel-2); overflow: hidden; }
.progresso i { display: block; height: 100%; background: var(--ouro); transition: width .4s; }
@media (max-width: 760px) { .kit { grid-template-columns: 1fr; } }

.glossario { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 28px 40px; }
.glossario dt { font-weight: 500; font-size: 20px; }
.glossario dd { margin: 6px 0 0; color: var(--claro-2); font-size: 16px; }

.fontes { margin-top: 48px; font-size: 15px; color: var(--tinta-2); max-width: 110ch; }
.escuro .fontes, .escuro-2 .fontes { color: var(--claro-2); }
.fontes a { color: inherit; }
.aviso-info { margin-top: 32px; padding: 20px 24px; border-radius: 18px; background: var(--marinho-3); color: var(--claro); font-size: 16px; max-width: 70ch; }
.aviso-info b { color: var(--ouro-claro); font-weight: 500; }

/* ---------- Movimento ---------- */
.surge > * { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--curva), transform .9s var(--curva); }
.surge.visto > * { opacity: 1; transform: none; }
.surge.visto > *:nth-child(2) { transition-delay: .08s; } .surge.visto > *:nth-child(3) { transition-delay: .16s; }
.surge.visto > *:nth-child(4) { transition-delay: .24s; } .surge.visto > *:nth-child(5) { transition-delay: .32s; }
.surge.visto > *:nth-child(6) { transition-delay: .40s; } .surge.visto > *:nth-child(7) { transition-delay: .48s; }
.surge.visto > *:nth-child(n+8) { transition-delay: .54s; }
.sem-js .surge > * { opacity: 1; transform: none; }

.capa__retrato { animation: sobe 1.6s var(--curva) .1s both; }
.capa__marca { animation: abre 2s var(--curva) .3s both; }
.capa__oficio, .capa__frase, .capa__linha { animation: aparece 1.2s var(--curva) both; }
.capa__oficio { animation-delay: .7s; } .capa__frase { animation-delay: .9s; } .capa__linha { animation-delay: 1.1s; }
@keyframes sobe { from { opacity: 0; transform: translateY(60px) scale(.96); } }
@keyframes abre { from { opacity: 0; letter-spacing: 1.2em; } }
@keyframes aparece { from { opacity: 0; transform: translateY(20px); } }
.escada__frase span { transition: transform 1.1s var(--curva), opacity 1.1s; }
.escada:not(.visto) .escada__frase span { opacity: 0; transform: translateX(-40px); }
.escada.visto .escada__frase span:nth-child(2) { transition-delay: .1s; } .escada.visto .escada__frase span:nth-child(3) { transition-delay: .2s; }
.escada.visto .escada__frase span:nth-child(4) { transition-delay: .3s; } .escada.visto .escada__frase span:nth-child(5) { transition-delay: .4s; }
.sem-js .escada .escada__frase span { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .surge > *, .escada .escada__frase span { opacity: 1 !important; transform: none !important; }
  .faixa__trilho { animation: none; }
}
.cenarios { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { .cenarios { grid-template-columns: 1fr; } }
.avaliar-foto { overflow: hidden; border-radius: 0; }
.avaliar-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 1.2s var(--curva); }
.avaliar-foto:hover img { transform: scale(1.04); }
.placar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; align-items: stretch; }
.placar__ponto { background: var(--claro); border-radius: 24px; padding: 30px; display: grid; gap: 12px; align-content: start; }
.placar__ponto:first-child { background: var(--ouro); }
.placar__ponto:first-child .suave { color: var(--marinho); }
.placar__num { font-size: clamp(54px, 5.6vw, 88px); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.placar__votos { background: var(--marinho); color: var(--claro); border-radius: 24px; padding: 26px 30px; display: grid; gap: 14px; align-content: start; }
.placar__votos li { display: grid; gap: 2px; }
.placar__votos b { font-weight: 500; font-size: 19px; }
.placar__votos span { color: var(--claro-2); font-size: 16px; }
.acoes-centro { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.chamada-final .acoes-centro .botao { margin-top: 0; }
@media (max-width: 960px) { .placar { grid-template-columns: 1fr; } }

/* Formulário de diagnóstico para empresas */
.form-empresa { display: grid; gap: 16px; background: var(--marinho-3); border-radius: 26px; padding: clamp(24px, 3vw, 36px); }
.form-empresa .campo { display: grid; gap: 8px; }
.form-empresa label { font-size: 16px; color: var(--claro-2); }
.form-empresa input, .form-empresa select, .form-empresa textarea {
  width: 100%; min-height: 52px; padding: 12px 16px; border-radius: 12px; border: 2px solid transparent; background: var(--marinho);
  color: var(--claro); font: 400 17px "Jost", sans-serif; transition: border-color .2s;
}
.form-empresa textarea { min-height: 110px; resize: vertical; }
.form-empresa input:focus, .form-empresa select:focus, .form-empresa textarea:focus { outline: none; border-color: var(--ouro); }
.form-empresa .campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-empresa .aceite { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; }
.form-empresa .aceite input { width: 22px; min-height: 22px; height: 22px; flex: none; margin-top: 2px; accent-color: var(--ouro); }
.form-empresa .aceite a { color: var(--ouro-claro); }
.form-empresa .botao { justify-self: start; }
.form-empresa .botao[disabled] { opacity: .6; cursor: wait; }
.form-retorno { min-height: 1.5em; color: var(--ouro-claro); font-size: 17px; }
.campo--isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 760px) { .form-empresa .campos-2 { grid-template-columns: 1fr; } }
