/* Hipótese B · "O escritório" — retrato editorial */
:root {
  --noite: #0f1a33;
  --marinho: #1b2f63;
  --marinho-2: #16264f;
  --madeira: #ac8969;
  --madeira-clara: #d9c4a8;
  --ouro-1: #c39b59;
  --ouro-2: #f9efa3;
  --vinho: #6e1f2b;
  --papel: #f4ede2;
  --texto: #f4ede2;
  --texto-2: #d6cbbb;

  --f-titulo: "Noto Sans Display", "Arial Narrow", sans-serif;
  --f-texto: "Noto Sans", system-ui, sans-serif;

  --margem: clamp(1.25rem, 4.6vw, 4.5rem);
  --topo-h: clamp(4.25rem, 7vw, 5.5rem);
  --t-entrada: cubic-bezier(.2, .7, .1, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--noite);
  color: var(--texto);
  font-family: var(--f-texto);
  font-size: 1.125rem;
  line-height: 1.55;
  overflow-x: clip;
}
a { color: inherit; }

/* ---------- topo ---------- */
.topo {
  position: absolute; inset: 0 0 auto 0; z-index: 10;
  height: var(--topo-h);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0 var(--margem);
}
.marca { display: flex; align-items: center; gap: .85rem; text-decoration: none; }
.mono { width: 3.1rem; height: auto; overflow: visible; flex: none; }
.mono path {
  fill: none; stroke: url(#ouro); stroke-width: 44;
  stroke-linecap: round; stroke-linejoin: round;
}
.marca-txt { display: flex; flex-direction: column; line-height: 1.15; }
.marca-txt b {
  font-family: var(--f-titulo); font-weight: 700; font-stretch: 85%;
  font-size: 1.12rem; letter-spacing: .01em;
}
.marca-txt span {
  font-family: var(--f-titulo); font-weight: 400; font-size: .78rem;
  letter-spacing: .2em; text-transform: uppercase; color: var(--madeira-clara);
}
.topo-tel {
  text-decoration: none; font-weight: 600; font-size: 1.05rem;
  padding: .55rem 1rem; border: 1px solid rgb(217 196 168 / .35); border-radius: 999px;
  background: rgb(15 26 51 / .45); backdrop-filter: blur(6px);
  transition: border-color .3s, background .3s;
}
.topo-tel:hover, .topo-tel:focus-visible { border-color: var(--ouro-1); background: rgb(15 26 51 / .7); }
.topo-tel-rot {
  font-weight: 400; color: var(--texto-2); font-size: .82rem; margin-right: .35rem;
}

/* ---------- hero ---------- */
.hero {
  position: relative;
  min-height: max(100svh, 44rem);
  overflow: clip;
  isolation: isolate;
  display: grid;
  align-items: center;
}

/* malha de fundo: marinho com luz de madeira */
.malha {
  position: absolute; inset: -20%; z-index: -3;
  background:
    radial-gradient(in oklab circle at 18% 78%, rgb(172 137 105 / .34), transparent 46%),
    radial-gradient(in oklab circle at 8% 12%, rgb(27 47 99 / .95), transparent 55%),
    radial-gradient(in oklab circle at 44% 46%, rgb(36 60 118 / .7), transparent 50%),
    radial-gradient(in oklab circle at 30% 104%, rgb(110 31 43 / .22), transparent 40%),
    linear-gradient(in oklab 160deg, #13214a, var(--noite) 58%, #0c1428);
  animation: respira 34s ease-in-out infinite alternate;
}
@keyframes respira {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(3%, -2%, 0) scale(1.05); }
  100% { transform: translate3d(-2%, 2%, 0) scale(1.02); }
}

/* ---------- a foto ---------- */
.foto {
  position: absolute; margin: 0; z-index: -2;
  top: 0; bottom: 0; left: 34%; right: 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / .55) 14%, #000 34%);
          mask-image: linear-gradient(90deg, transparent 0, rgb(0 0 0 / .55) 14%, #000 34%);
}
.foto img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 56%;
  transform-origin: 39% 37%;
  transform: scale(1.28);
  filter: saturate(.9) contrast(1.06) brightness(.97);
}
/* tratamento: sombras azuladas, meios-tons mornos */
.tom {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgb(15 26 51 / .0) 40%, rgb(15 26 51 / .55) 100%),
    var(--marinho);
  mix-blend-mode: soft-light; opacity: .55;
}
.tom::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(in oklab ellipse 60% 55% at 42% 40%, rgb(217 196 168 / .22), transparent 70%);
  mix-blend-mode: soft-light;
}
/* luz que entra pela persiana */
.persiana {
  position: absolute; inset: -10% -30%;
  background:
    repeating-linear-gradient(90deg, rgb(249 231 200 / .0) 0 18px, rgb(249 231 200 / .55) 18px 30px),
    transparent;
  -webkit-mask-image: linear-gradient(104deg, transparent 52%, #000 64%, #000 70%, transparent 82%);
          mask-image: linear-gradient(104deg, transparent 52%, #000 64%, #000 70%, transparent 82%);
  mix-blend-mode: soft-light;
  opacity: .5;
  animation: feixe 26s ease-in-out infinite alternate;
}
@keyframes feixe {
  from { transform: translate3d(14%, 0, 0); }
  to   { transform: translate3d(-6%, 0, 0); }
}
/* véu de leitura: escurece a base e a borda esquerda */
.veu {
  position: absolute; inset: 0;
  background:
    linear-gradient(0deg, rgb(15 26 51 / .92) 0%, rgb(15 26 51 / .35) 22%, transparent 42%),
    linear-gradient(90deg, rgb(15 26 51 / .55) 0%, transparent 30%);
}

.legenda {
  position: absolute; right: var(--margem); bottom: clamp(1.5rem, 4vh, 2.75rem);
  display: flex; flex-direction: column; align-items: flex-end; gap: .2rem;
  text-align: right; font-size: 1rem; color: var(--papel);
  text-shadow: 0 1px 12px rgb(15 26 51 / .8);
}
.legenda b { font-weight: 600; }
.legenda .fio { width: 3.5rem; margin-bottom: .55rem; }
.legenda-sub { font-size: .9rem; color: var(--madeira-clara); }

.fio {
  display: inline-block; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
  transform-origin: left center;
}

/* ---------- texto ---------- */
.texto {
  position: relative; z-index: 2;
  width: min(48%, 44rem);
  padding: calc(var(--topo-h) + 2rem) 0 3rem var(--margem);
}
.sobre {
  display: flex; align-items: center; gap: .9rem; margin: 0 0 1.4rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .95rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--madeira-clara);
}
.sobre .fio { width: 2.75rem; }

.titulo {
  margin: 0;
  font-family: var(--f-titulo);
  font-weight: 800; font-stretch: 68%;
  font-size: clamp(3.4rem, 7.6vw, 8.4rem);
  line-height: .9; letter-spacing: -.012em;
  color: var(--papel);
  text-wrap: balance;
}
.linha { display: block; overflow: hidden; padding: .12em 0 .06em; margin: -.12em 0 -.06em; }
.linha > span { display: inline-block; }
.linha.leve {
  font-weight: 300; font-stretch: 100%;
  font-size: .5em; letter-spacing: .005em; line-height: 1.1;
  color: var(--madeira-clara);
  padding: .3em 0 .2em; margin: -.06em 0 .02em;
}
.titulo em {
  font-style: normal;
  background: linear-gradient(100deg, var(--ouro-1) 0%, var(--ouro-2) 38%, #c9a361 62%, #f1df92 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.apoio {
  margin: 1.6rem 0 0; max-width: 34rem;
  font-size: clamp(1.125rem, 1.25vw, 1.25rem); line-height: 1.6; color: var(--texto-2);
}
.apoio strong { color: var(--papel); font-weight: 600; }

.acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 2rem; }
.botao {
  display: inline-flex; align-items: center; gap: .85rem;
  min-height: 4rem; padding: .8rem 1.6rem .8rem 1.25rem;
  border-radius: 999px; text-decoration: none;
  background: linear-gradient(100deg, #d4b06c, var(--ouro-2) 55%, #d9b874);
  color: var(--noite); font-weight: 600; font-size: 1.15rem; line-height: 1.2;
  box-shadow: 0 10px 30px -10px rgb(195 155 89 / .65), inset 0 1px 0 rgb(255 255 255 / .5);
  transition: transform .3s var(--t-entrada), box-shadow .3s;
}
.botao:hover, .botao:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 36px -12px rgb(195 155 89 / .8), inset 0 1px 0 rgb(255 255 255 / .5); }
.botao svg { width: 1.7rem; height: 1.7rem; fill: currentColor; flex: none; }
.botao span { display: flex; flex-direction: column; }
.botao small { font-size: .9rem; font-weight: 500; opacity: .8; }
.secundaria {
  font-weight: 600; font-size: 1.1rem; text-decoration: none;
  padding: .6rem 0; border-bottom: 2px solid rgb(195 155 89 / .55);
  transition: border-color .3s;
}
.secundaria:hover, .secundaria:focus-visible { border-color: var(--ouro-2); }
.botao:focus-visible, .secundaria:focus-visible, .topo-tel:focus-visible, .marca:focus-visible {
  outline: 3px solid var(--ouro-2); outline-offset: 4px;
}

.provas {
  list-style: none; margin: 2.4rem 0 0; padding: 1.4rem 0 0;
  display: flex; flex-wrap: wrap; gap: 1rem 2.5rem;
  border-top: 1px solid rgb(217 196 168 / .22);
}
.provas li { display: flex; flex-direction: column; line-height: 1.25; }
.provas b {
  font-family: var(--f-titulo); font-weight: 700; font-stretch: 80%;
  font-size: 1.5rem; color: var(--papel);
}
.provas i { font-style: normal; font-size: .9rem; letter-spacing: .08em; color: var(--ouro-2); vertical-align: .15em; }
.provas span { font-size: 1rem; color: var(--texto-2); }

/* granulado fino */
.grao {
  position: absolute; inset: 0; z-index: 5; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- notebook / tablet largo ---------- */
@media (max-width: 1180px) and (min-width: 761px) {
  .foto { left: 38%; }
  .foto img { transform-origin: 30% 37%; }
  .texto { width: min(52%, 34rem); }
  .titulo { font-size: clamp(3.4rem, 8vw, 6rem); }
  .sobre { letter-spacing: .16em; font-size: .85rem; }
  .apoio { font-size: 1.125rem; }
  .provas { gap: 1rem 1.75rem; }
  .topo-tel-rot { display: none; }
}

@media (max-width: 900px) and (min-width: 761px) {
  .foto { left: 42%; }
  .foto img { transform-origin: 22% 37%; }
  .texto { width: 50%; }
}

/* ---------- celular ---------- */
@media (max-width: 760px) {
  .hero { display: block; min-height: 0; }
  .foto {
    position: relative; inset: auto; left: auto; right: auto;
    width: 100%; height: min(112vw, 60svh);
    -webkit-mask-image: linear-gradient(180deg, #000 62%, rgb(0 0 0 / .5) 82%, transparent 100%);
            mask-image: linear-gradient(180deg, #000 62%, rgb(0 0 0 / .5) 82%, transparent 100%);
  }
  .foto img {
    inset: auto; object-fit: fill;
    width: 190vw; height: calc(190vw * 4 / 3);
    left: -24.1vw; top: -77.5vw;
    transform-origin: 74.1vw 111.5vw;
    transform: scale(1);
  }
  .veu {
    background:
      linear-gradient(0deg, rgb(15 26 51 / .6) 0%, transparent 34%),
      linear-gradient(180deg, rgb(15 26 51 / .7) 0%, transparent 22%);
  }
  .legenda { display: none; }
  .texto { width: auto; padding: 0 var(--margem) 2.5rem; margin-top: -4.5rem; }
  .sobre { font-size: .8rem; letter-spacing: .18em; margin-bottom: .9rem; }
  .sobre .fio { display: none; }
  .titulo { font-size: clamp(3.1rem, 15.5vw, 4.6rem); }
  .linha.leve { font-size: .56em; }
  .apoio { margin-top: 1.25rem; }
  .acoes { margin-top: 1.6rem; }
  .botao { width: 100%; justify-content: center; }
  .provas { gap: 1rem 1.6rem; margin-top: 2rem; }
  .marca-txt span { display: none; }
  .marca-txt b { font-size: 1rem; }
  .mono { width: 2.6rem; }
  .topo-tel-rot { display: none; }
  .topo-tel { font-size: .95rem; padding: .45rem .8rem; }
}
@media (max-width: 380px) {
  .marca-txt { display: none; }
  .sobre { letter-spacing: .12em; font-size: .76rem; }
}

/* ---------- entrada (só com JS) ---------- */
.js .foto img { filter: saturate(.4) contrast(1.06) brightness(.18); transform: scale(1.38); }
.js .foto .persiana { opacity: 0; }
.js .linha > span { transform: translateY(115%); }
.js [data-rev] { opacity: 0; transform: translateY(16px); }
.js .fio { transform: scaleX(0); }
.js .mono path { stroke-dasharray: var(--len, 1000); stroke-dashoffset: var(--len, 1000); }

.js .pronto .foto img, .js.pronto .foto img {
  filter: saturate(.92) contrast(1.06) brightness(1.02);
  transform: scale(1.28);
  transition: filter 2.8s ease-out, transform 4.2s var(--t-entrada);
}
@media (max-width: 760px) {
  .js .foto img { transform: scale(1.08); }
  .js.pronto .foto img { transform: scale(1); }
}
.js.pronto .foto .persiana { opacity: .5; transition: opacity 3s ease 1.6s; }
.js.pronto .linha > span { transform: none; transition: transform 1.1s var(--t-entrada); }
.js.pronto .linha:nth-child(1) > span { transition-delay: .55s; }
.js.pronto .linha:nth-child(2) > span { transition-delay: .72s; }
.js.pronto .linha:nth-child(3) > span { transition-delay: .89s; }
.js.pronto [data-rev] { opacity: 1; transform: none; transition: opacity 1s ease, transform 1s var(--t-entrada); }
.js.pronto .topo { transition-delay: .2s; }
.js.pronto .sobre { transition-delay: .35s; }
.js.pronto .apoio { transition-delay: 1.15s; }
.js.pronto .acoes { transition-delay: 1.3s; }
.js.pronto .provas { transition-delay: 1.45s; }
.js.pronto .legenda { transition-delay: 1.9s; }
.js.pronto .fio { transform: none; transition: transform 1.4s var(--t-entrada) .5s; }
.js.pronto .legenda .fio { transition-delay: 2.1s; }
.js.pronto .mono path { stroke-dashoffset: 0; transition: stroke-dashoffset 1.3s var(--t-entrada); }
.js.pronto .mono path:nth-child(2) { transition-delay: .15s; }
.js.pronto .mono path:nth-child(3) { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .foto img, .js.pronto .foto img { filter: saturate(.9) contrast(1.06) brightness(.97); }
  .js .linha > span, .js [data-rev], .js .fio { transform: none; opacity: 1; }
  .js .foto .persiana { opacity: .5; }
  .js .mono path { stroke-dashoffset: 0; }
}

/* ===== base comum (depois do hero) ===== */
:root{
  --papel-2:#ebe1d2;
  --tinta:#16213f;          /* texto sobre papel */
  --tinta-2:#4a4f5c;        /* texto de apoio sobre papel (AA) */
  --linha-clara:rgb(22 33 63 / .14);
  --linha-escura:rgb(217 196 168 / .22);
  --ouro-txt:#8a6a2e;       /* ouro legível sobre papel */
  --raio:14px;
  --secao-y:clamp(5rem,11vw,9.5rem);
  --t-lenta:cubic-bezier(.2,.7,.1,1);
}
html{scroll-padding-top:1rem}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--ouro-1);outline-offset:3px;border-radius:4px}
.pular{position:absolute;left:-999px;top:0;z-index:50;background:var(--papel);color:var(--tinta);padding:.6rem 1rem}
.pular:focus{left:1rem;top:1rem}

/* revelação das seções (não usar data-rev: é do hero) */
.js [data-revela]{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform 1s var(--t-lenta);transition-delay:var(--atraso,0s)}
.js [data-revela].visto{opacity:1;transform:none}

/* WhatsApp que acompanha a rolagem no celular */
.zap-fixo{position:fixed;z-index:40;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));
  display:none;align-items:center;gap:.55rem;padding:.85rem 1.15rem;border-radius:999px;text-decoration:none;
  font-family:var(--f-titulo);font-weight:700;font-size:1.02rem;color:#1d1608;
  background:linear-gradient(100deg,var(--ouro-1),var(--ouro-2) 45%,#e2c879);box-shadow:0 10px 30px rgb(0 0 0 / .35);
  opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s var(--t-lenta)}
.zap-fixo svg{width:1.35rem;height:1.35rem;fill:currentColor}
.zap-fixo.ativo{opacity:1;transform:none}
@media (max-width:900px){.zap-fixo{display:inline-flex}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js [data-revela]{opacity:1;transform:none}
}

/* ===== sobre ===== */
/* Sobre — a página dupla em papel depois da capa */
.so-secao {
  --so-p: 0;
  --so-sangria: calc(var(--margem) + max(0px, (100vw - 2 * var(--margem) - 1320px) / 2));
  position: relative;
  background: var(--papel);
  color: var(--tinta);
  padding: var(--secao-y) var(--margem);
  overflow: clip;
}
.so-fio { display: inline-block; flex: none; width: 42px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1)); }

/* ---------- fólio: o cabeçalho corrido da página de revista ---------- */
.so-folio {
  position: relative; max-width: 1320px; margin: calc(-1 * var(--secao-y) + clamp(1.6rem, 3vw, 2.4rem)) auto calc(var(--secao-y) - clamp(3rem, 6vw, 5rem));
  display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .9rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .8rem; letter-spacing: .22em; text-transform: uppercase; color: var(--tinta-2);
}
.so-folio-fio {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 30%, rgb(195 155 89 / .35) 70%, rgb(22 33 63 / .12));
  transform-origin: left;
}
.js .so-folio-fio { transform: scaleX(0); transition: transform 1.6s var(--t-lenta) .15s; }
.js .so-folio.so-visto .so-folio-fio { transform: none; }

/* ---------- a página dupla ---------- */
.so-pagina {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 3rem);
  align-items: center;
}
.so-foto { grid-column: 1 / span 6; margin: 0 0 0 calc(-1 * var(--so-sangria)); }
.so-quadro { position: relative; height: clamp(34rem, 88vh, 54rem); overflow: hidden; }
.so-quadro img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 40%;
  filter: saturate(.92) contrast(1.04);
  transform: scale(1.14); transform-origin: 38% 62%;
}
/* luz de persiana, a mesma assinatura do hero, agora sobre a recepção */
.so-ripas {
  position: absolute; inset: -10% -30%;
  background: repeating-linear-gradient(90deg, rgb(249 231 200 / 0) 0 18px, rgb(249 231 200 / .5) 18px 30px);
  -webkit-mask-image: linear-gradient(104deg, transparent 50%, #000 62%, #000 70%, transparent 84%);
          mask-image: linear-gradient(104deg, transparent 50%, #000 62%, #000 70%, transparent 84%);
  mix-blend-mode: soft-light; opacity: .55;
  animation: so-feixe 26s ease-in-out infinite alternate;
}
@keyframes so-feixe { from { transform: translate3d(-12%, 0, 0); } to { transform: translate3d(8%, 0, 0); } }
/* a dobra da revista: sombra na lombada */
.so-dobra {
  position: absolute; inset: 0;
  background:
    linear-gradient(270deg, rgb(22 33 63 / .32) 0%, rgb(22 33 63 / .08) 5%, transparent 14%),
    linear-gradient(0deg, rgb(22 33 63 / .18), transparent 25%);
}
.so-legenda {
  display: flex; align-items: center; gap: .8rem;
  margin: .9rem 0 0 var(--so-sangria);
  font-size: 1rem; color: var(--tinta-2);
}

.so-texto { grid-column: 7 / span 6; padding: 2rem 0; }
.so-rotulo {
  display: flex; align-items: center; gap: .9rem; margin: 0 0 1.4rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .85rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-txt);
}
.so-titulo {
  margin: 0 0 2rem;
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(3rem, 6.6vw, 6.4rem); line-height: .92; letter-spacing: -.012em; color: var(--tinta);
  text-wrap: balance;
}
.so-linha { display: block; overflow: hidden; padding: .1em 0 .06em; margin: -.1em 0 -.06em; }
.so-linha > span { display: inline-block; }
.js .so-linha > span { transform: translateY(115%); transition: transform 1.1s var(--t-lenta); }
.js .so-titulo.so-visto .so-linha > span { transform: none; }
.js .so-titulo.so-visto .so-leve > span { transition-delay: .16s; }
.so-leve { font-weight: 300; font-stretch: 100%; font-size: .56em; letter-spacing: 0; line-height: 1.1; color: var(--ouro-txt); margin-top: .12em; }
.so-texto .so-abre { max-width: 30ch; margin: 0 0 1.4rem; font-size: clamp(1.3rem, 1.6vw, 1.55rem); line-height: 1.45; color: var(--tinta); font-weight: 500; }
.so-corpo { max-width: 52ch; margin: 0 0 1.1rem; font-size: 1.125rem; line-height: 1.62; color: var(--tinta-2); }
.so-assina {
  display: flex; flex-direction: column; margin: 2rem 0 0; padding-top: 1.2rem;
  border-top: 1px solid var(--linha-clara); max-width: 52ch; line-height: 1.3;
}
.so-assina b { font-family: var(--f-titulo); font-weight: 700; font-stretch: 85%; font-size: 1.3rem; }
.so-assina span { font-size: 1rem; color: var(--tinta-2); }

/* ---------- linha do tempo em fio de ouro ---------- */
.so-tempo { position: relative; max-width: 1320px; margin: clamp(5rem, 10vw, 8.5rem) auto 0; }
.so-tempo-tit { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.so-trilho { position: absolute; left: 0; right: 0; top: 10px; height: 3px; border-radius: 3px; background: rgb(22 33 63 / .1); }
.so-trilho-ouro {
  position: absolute; inset: 0; border-radius: 3px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 30%, #ac8346 55%, #f1df92 80%, var(--ouro-1));
  transform-origin: left; transform: scaleX(var(--so-p));
}
.so-marcos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.so-marco { position: relative; padding-top: 3rem; }
.so-ponto {
  position: absolute; top: 0; left: 0; width: 23px; height: 23px; border-radius: 50%;
  background: var(--papel); border: 2px solid rgb(22 33 63 / .2);
  transition: border-color .5s, box-shadow .6s;
}
.so-ponto::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: linear-gradient(135deg, var(--ouro-1), var(--ouro-2)); transform: scale(0); transition: transform .6s var(--t-lenta); }
.so-marco.so-aceso .so-ponto { border-color: var(--ouro-1); box-shadow: 0 0 0 6px rgb(195 155 89 / .14); }
.so-marco.so-aceso .so-ponto::after { transform: scale(1); }
.so-ano {
  display: block;
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(4.5rem, 12vw, 11.5rem); line-height: .86; letter-spacing: -.02em;
  background: linear-gradient(100deg, #9c7536 0%, #c9a45e 30%, #8a6a2e 58%, #b38a47 100%) left / 100% 100% no-repeat;
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.js .so-ano { background-size: 0% 100%; -webkit-text-stroke: 1.5px rgb(22 33 63 / .16); transition: background-size 1.4s var(--t-lenta), -webkit-text-stroke-color 1.4s; }
.js .so-aceso .so-ano { background-size: 100% 100%; -webkit-text-stroke-color: rgb(22 33 63 / 0); }
.so-marco p { margin: 1.1rem 0 0; max-width: 26ch; font-size: 1.125rem; line-height: 1.5; color: var(--tinta-2); }
.so-marco strong { display: block; color: var(--tinta); font-weight: 600; }
.js .so-marco > p { opacity: .2; transform: translateY(14px); transition: opacity .9s ease, transform 1s var(--t-lenta); }
.js .so-marco.so-aceso > p { opacity: 1; transform: none; }

/* ---------- fecho ---------- */
.so-fecho {
  max-width: 1320px; margin: clamp(4rem, 7vw, 6rem) auto 0; padding-top: 1.8rem;
  border-top: 1px solid var(--linha-clara);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem;
}
.so-fecho p { margin: 0; font-size: 1.2rem; color: var(--tinta); }
.so-cta {
  display: inline-flex; align-items: center; gap: .7rem; min-height: 3.25rem;
  font-weight: 600; font-size: 1.15rem; color: var(--tinta); text-decoration: none;
  padding: .55rem 1.3rem .55rem 1rem; border-radius: 999px; border: 2px solid var(--ouro-1);
  transition: background .3s, color .3s;
}
.so-cta:hover, .so-cta:focus-visible { background: var(--tinta); color: var(--papel); }
.so-cta svg { width: 1.5rem; height: 1.5rem; fill: currentColor; flex: none; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) and (min-width: 901px) {
  .so-foto { grid-column: 1 / span 5; }
  .so-texto { grid-column: 6 / span 7; }
}

/* ---------- celular e tablet estreito ---------- */
@media (max-width: 900px) {
  .so-foto { grid-column: 1 / -1; margin: 0 calc(-1 * var(--margem)); }
  .so-quadro { height: auto; aspect-ratio: 5 / 4; }
  .so-quadro img { object-position: 50% 26%; }
  .so-dobra { background: linear-gradient(0deg, rgb(22 33 63 / .2), transparent 30%); }
  .so-legenda { margin: .8rem var(--margem) 0; font-size: .95rem; }
  .so-texto { grid-column: 1 / -1; padding: 3rem 0 0; }
  .so-tempo { padding-left: 0; }
  .so-trilho { left: 10px; right: auto; top: 0; bottom: 0; width: 3px; height: auto; }
  .so-trilho-ouro { transform-origin: top; transform: scaleY(var(--so-p)); }
  .so-marcos { grid-template-columns: 1fr; gap: 3rem; }
  .so-marco { padding: 0 0 0 3.25rem; }
  .so-ano { font-size: clamp(4.5rem, 24vw, 7.5rem); }
  .so-fecho { flex-direction: column; align-items: flex-start; }
  .so-texto .so-abre { font-size: 1.25rem; }
  .so-folio-mais { display: none; }
  .so-quadro img { transform: scale(1.06); transform-origin: 50% 40%; }
  .so-cta { white-space: nowrap; }
  .so-cta { width: 100%; justify-content: center; }
}
@media (max-width: 380px) {
  .so-cta { font-size: 1.02rem; padding-inline: .7rem; gap: .5rem; }
  .so-folio { letter-spacing: .14em; font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  .js .so-linha > span, .js .so-folio-fio { transform: none; }
  .js .so-ano { background-size: 100% 100%; -webkit-text-stroke-color: transparent; }
}

/* ===== areas ===== */
/* Áreas — o título do hero vira índice de revista, em noite */
.ar-secao {
  --ar-painel: clamp(20rem, 27vw, 25rem);
  --ar-vao: clamp(2rem, 4vw, 4.5rem);
  position: relative; isolation: isolate; overflow: clip;
  background: var(--noite); color: var(--texto);
  padding: var(--secao-y) var(--margem);
}
.ar-fundo {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(in oklab ellipse 55% 40% at 92% 6%, rgb(36 60 118 / .55), transparent 70%),
    radial-gradient(in oklab ellipse 45% 35% at 0% 100%, rgb(36 60 118 / .45), transparent 70%),
    radial-gradient(in oklab ellipse 30% 22% at 12% 104%, rgb(110 31 43 / .16), transparent 70%),
    linear-gradient(in oklab 180deg, #0c1428, var(--noite) 30%, var(--noite) 70%, #0c1428);
}
/* a luz da janela do escritório cai em ripas sobre a seção */
.ar-fundo::before {
  content: ""; position: absolute; inset: -10% -25%;
  background: repeating-linear-gradient(90deg, rgb(249 231 200 / 0) 0 22px, rgb(249 231 200 / .05) 22px 36px);
  -webkit-mask-image: linear-gradient(112deg, transparent 48%, #000 60%, #000 64%, transparent 78%);
          mask-image: linear-gradient(112deg, transparent 48%, #000 60%, #000 64%, transparent 78%);
  animation: ar-feixe 26s ease-in-out infinite alternate;
}
@keyframes ar-feixe {
  from { transform: translate3d(8%, 0, 0); }
  to   { transform: translate3d(-8%, 0, 0); }
}
.ar-miolo { max-width: 1320px; margin: 0 auto; }

/* cabeçalho: a coluna da direita é a mesma do painel de leitura */
.ar-cabeca {
  display: grid; grid-template-columns: minmax(0, 1fr) var(--ar-painel);
  column-gap: var(--ar-vao); align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.ar-rotulo {
  grid-column: 1 / -1; display: flex; align-items: center; gap: .9rem; margin: 0 0 1.3rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .85rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--madeira-clara);
}
.ar-fio {
  display: inline-block; width: 42px; height: 2px; border-radius: 2px; flex: none;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
}
.ar-h2 {
  margin: 0; font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(2.4rem, 5.6vw, 5rem); line-height: .95; letter-spacing: -.01em; color: var(--papel);
}
.ar-h2-leve {
  display: block; font-weight: 300; font-stretch: 100%; font-size: .5em; line-height: 1.15;
  letter-spacing: .005em; color: var(--madeira-clara); margin-top: .35em;
}
.ar-intro { margin: 0; font-size: 1.125rem; line-height: 1.6; color: var(--texto-2); }

/* a lista-manchete */
.ar-lista { position: relative; list-style: none; margin: 0; padding: 0; }
.ar-linha {
  position: relative;
  display: grid; grid-template-columns: clamp(2.6rem, 4.4vw, 4.6rem) minmax(0, 1fr);
  column-gap: clamp(.8rem, 1.6vw, 1.6rem); align-items: first baseline;
  padding: clamp(.55rem, 1vw, .9rem) 0 clamp(.9rem, 1.5vw, 1.4rem);
}
.ar-num {
  font-family: var(--f-titulo); font-weight: 700; font-stretch: 80%;
  font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1; letter-spacing: .04em;
  background: linear-gradient(100deg, var(--ouro-1) 0%, var(--ouro-2) 38%, #c9a361 62%, #f1df92 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  opacity: .6; transition: opacity .6s;
}
.ar-manchete {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .1em .14em;
  margin: 0; padding: 0 0 .14em; margin-bottom: -.14em;
  clip-path: inset(-1em -2em 0 -2em); /* máscara da subida sem quebrar a linha de base */
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(3rem, 7.4vw, 7.2rem); line-height: .92; letter-spacing: -.012em;
}
.ar-palavra {
  display: inline-block; color: #7f766e;
  transition: color .6s ease, text-shadow .8s ease, transform 1.1s var(--t-lenta);
}
.ar-leve {
  display: inline-block; font-weight: 300; font-stretch: 100%; font-size: max(.36em, 1.15rem); letter-spacing: .005em;
  color: var(--madeira-clara); opacity: .7; line-height: 1.1;
  transition: opacity .6s, transform 1.1s var(--t-lenta) .12s;
}
.ar-conta { display: none; }
.ar-corpo p { margin: 0 0 1.25rem; font-size: 1.125rem; line-height: 1.62; color: var(--texto-2); max-width: 30rem; }
.ar-zap {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 3.2rem;
  padding: .6rem 1.3rem .6rem 1.05rem; border-radius: 999px; text-decoration: none;
  border: 1px solid rgb(195 155 89 / .6); color: var(--papel);
  font-weight: 600; font-size: 1.05rem; line-height: 1.2;
  transition: background .35s, color .35s, border-color .35s;
}
.ar-zap svg { width: 1.3rem; height: 1.3rem; fill: currentColor; flex: none; }
.ar-zap:hover, .ar-zap:focus-visible {
  background: linear-gradient(100deg, #d4b06c, var(--ouro-2) 55%, #d9b874); color: var(--noite); border-color: transparent;
}
.ar-zap:focus-visible { outline: 3px solid var(--ouro-2); outline-offset: 4px; }
.ar-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* fio de cada linha: base fina, ouro cresce na linha acesa */
.ar-trilho { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--linha-escura); transform-origin: left center; }
.ar-ouro {
  position: absolute; left: 0; right: 0; top: -.5px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 30%, var(--ouro-1) 62%, rgb(195 155 89 / 0));
  transform: scaleX(0); transform-origin: left center; transition: transform 1.1s var(--t-lenta);
}
/* luz de persiana que atravessa a linha */
.ar-luz {
  position: absolute; inset: 0; pointer-events: none; opacity: 0;
  background: repeating-linear-gradient(90deg, rgb(249 231 200 / 0) 0 16px, rgb(249 231 200 / .5) 16px 27px);
  -webkit-mask-image: linear-gradient(104deg, transparent 30%, #000 44%, #000 56%, transparent 70%);
          mask-image: linear-gradient(104deg, transparent 30%, #000 44%, #000 56%, transparent 70%);
  -webkit-mask-size: 200% 100%; mask-size: 200% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 120% 0; mask-position: 120% 0;
  mix-blend-mode: soft-light;
}

/* linha acesa */
.ar-item.ar-ativo .ar-palavra { color: var(--papel); text-shadow: 0 0 42px rgb(249 239 163 / .22); }
.ar-item.ar-ativo .ar-leve { opacity: 1; }
.ar-item.ar-ativo .ar-num { opacity: 1; }
.ar-item.ar-ativo .ar-ouro { transform: scaleX(1); }
.ar-item.ar-ativo .ar-luz { animation: ar-varre 1.9s var(--t-lenta) both; }
@keyframes ar-varre {
  0%   { opacity: 0; -webkit-mask-position: 120% 0; mask-position: 120% 0; }
  20%  { opacity: 1; }
  100% { opacity: .35; -webkit-mask-position: -20% 0; mask-position: -20% 0; }
}

.ar-onde {
  position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.8rem;
  margin: clamp(3rem, 6vw, 5rem) 0 0; padding-top: 1.6rem; border-top: 1px solid var(--linha-escura);
  font-size: 1.125rem; color: var(--texto);
}
.ar-onde::before {
  content: ""; position: absolute; left: 0; top: -1px; width: 42px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
}
.ar-onde-rot {
  font-family: var(--f-titulo); font-weight: 500; font-size: .85rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--madeira-clara);
}
.ar-onde span:not(.ar-onde-rot) { display: inline-flex; align-items: center; gap: .6rem; }
.ar-onde span:not(.ar-onde-rot)::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ouro-1); flex: none;
}

/* desktop com mouse: as manchetes formam um bloco e o texto da linha acesa aparece no painel */
@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {
  .ar-lista { padding-right: calc(var(--ar-painel) + var(--ar-vao)); min-height: var(--ar-min, 0px); }
  .ar-item { position: static; }
  .ar-linha { cursor: default; }
  .ar-corpo {
    position: absolute; top: 0; right: 0; width: var(--ar-painel);
    transform: translateY(calc(var(--ar-y, 0px) + 14px)); opacity: 0; pointer-events: none;
    transition: opacity .45s ease, transform .9s var(--t-lenta);
  }
  .ar-conta { display: flex; align-items: baseline; gap: .8rem; margin: -.12em 0 1rem; }
  .ar-conta b {
    font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
    font-size: clamp(4.5rem, 7vw, 6.5rem); line-height: .9; letter-spacing: -.02em;
    background: linear-gradient(100deg, var(--ouro-1) 0%, var(--ouro-2) 38%, #c9a361 62%, #f1df92 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .ar-conta span {
    font-family: var(--f-titulo); font-weight: 300; font-size: 1.05rem; letter-spacing: .18em;
    text-transform: uppercase; color: var(--madeira-clara);
  }
  .ar-item.ar-ativo .ar-corpo { opacity: 1; transform: translateY(var(--ar-y, 0px)); pointer-events: auto; transition-delay: .1s, 0s; }
  .ar-item:not(.ar-ativo) .ar-linha:hover .ar-palavra { color: #b5aca3; }
}

/* lista com tudo visível: tablet e celular */
@media (max-width: 1099px), (hover: none), (pointer: coarse) {
  .ar-cabeca { grid-template-columns: minmax(0, 1fr); row-gap: 1.4rem; }
  .ar-intro { max-width: 34rem; }
  .ar-item { padding-bottom: 2.2rem; }
  .ar-item + .ar-item { margin-top: .6rem; }
  .ar-linha { grid-template-columns: clamp(2.3rem, 6vw, 3.6rem) minmax(0, 1fr); }
  .ar-manchete { font-size: clamp(2.6rem, 11.5vw, 5.6rem); }
  .ar-palavra { color: var(--papel); }
  .ar-leve { opacity: 1; }
  .ar-corpo { padding: 1.2rem 0 0 calc(clamp(2.3rem, 6vw, 3.6rem) + clamp(.8rem, 1.6vw, 1.6rem)); }
  /* sem cinco pílulas iguais empilhadas: o convite vira link sublinhado em ouro */
  .ar-zap { min-height: 3rem; padding: .5rem 0; border: 0; border-radius: 0; border-bottom: 2px solid rgb(195 155 89 / .6); }
  .ar-zap svg { color: var(--ouro-2); }
  .ar-zap:hover, .ar-zap:focus-visible { background: none; color: var(--ouro-2); border-color: var(--ouro-2); }
}
@media (max-width: 600px) {
  .ar-linha { column-gap: .6rem; }
  .ar-corpo { padding-left: 0; }
  .ar-onde { flex-direction: column; align-items: flex-start; }
}

/* entrada: a manchete sobe como o título do hero, o fio cresce */
.js .ar-palavra { transform: translateY(115%); }
.js .ar-leve { transform: translateY(320%); }
.js .ar-item.ar-entrou .ar-palavra, .js .ar-item.ar-entrou .ar-leve { transform: none; }
.js .ar-trilho { transform: scaleX(0); transition: transform 1.2s var(--t-lenta) .15s; }
.js .ar-item.ar-entrou .ar-trilho { transform: none; }

@media (prefers-reduced-motion: reduce) {
  .js .ar-palavra, .js .ar-leve, .js .ar-trilho { transform: none; }
  .ar-item.ar-ativo .ar-luz { animation: none; opacity: .3; -webkit-mask-position: 50% 0; mask-position: 50% 0; }
}
.ar-fundo.ar-parado::before { animation-play-state: paused; }
/* tablet: texto e convite lado a lado, sem deixar meia tela vazia */
@media (min-width: 700px) and (max-width: 1099px), (min-width: 700px) and (hover: none), (min-width: 700px) and (pointer: coarse) {
  .ar-corpo { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2.5rem; align-items: end; }
  .ar-corpo p { margin: 0; max-width: 34rem; }
}

/* ===== caminho ===== */
/* Caminho · "Como funciona" — a persiana do hero vira as etapas */
.ca-secao{
  --ca-p:0;
  --ca-fresta:6px;
  position:relative; isolation:isolate; overflow:clip;
  color:var(--tinta);
  background:linear-gradient(in oklab 165deg,var(--papel-2) 0%,color-mix(in oklab,var(--papel-2),var(--madeira-clara) 55%) 55%,var(--madeira-clara) 100%);
}
.ca-palco{position:relative; padding:var(--secao-y) var(--margem)}

/* luz da janela projetada na parede: cada etapa acesa lança a sua faixa (posição dada pelo JS) */
.ca-luz{position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:clip}
.ca-feixe{
  position:absolute; left:0; top:0; width:0; height:0;
  background:
    repeating-linear-gradient(180deg,transparent 0 9px,rgb(255 247 222 / .55) 9px 21px),
    linear-gradient(270deg,rgb(255 244 212 / .95),rgb(255 244 212 / .5) 45%,transparent 92%);
  -webkit-mask-image:linear-gradient(270deg,#000 30%,transparent);
          mask-image:linear-gradient(270deg,#000 30%,transparent);
  filter:blur(6px);
  transform-origin:right center; transform:skewY(9deg) scaleX(0);
  opacity:0;
  transition:transform 1.4s var(--t-lenta),opacity 1s ease;
}
.ca-feixe.ca-acesa{transform:skewY(9deg) scaleX(1); opacity:.9}

.ca-grade{
  max-width:1320px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:clamp(2.5rem,6vw,6rem); align-items:center;
}

.ca-rotulo{
  display:flex; align-items:center; gap:.9rem; margin:0 0 1.3rem;
  font-family:var(--f-titulo); font-weight:500; font-size:.85rem; letter-spacing:.22em; text-transform:uppercase;
  color:color-mix(in oklab,var(--ouro-txt),var(--tinta) 35%);
}
.ca-fio{display:inline-block; flex:none; width:42px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--ouro-1),var(--ouro-2) 45%,var(--ouro-1))}
.ca-titulo{
  margin:0; font-family:var(--f-titulo); font-weight:800; font-stretch:68%;
  font-size:clamp(2.6rem,4.5vw,4.6rem); line-height:.95; letter-spacing:-.01em; color:var(--tinta);
}
.ca-titulo span{display:block}
.ca-t-leve{font-weight:300; font-stretch:100%; font-size:.6em; line-height:1.3; color:var(--tinta-2)}
.ca-apoio{margin:1.4rem 0 0; max-width:31rem; font-size:1.125rem; line-height:1.6; color:var(--tinta-2)}

/* contador grande (só na versão presa) */
.ca-contador{display:none}
.ca-presa .ca-contador{display:grid; grid-template-columns:auto 1fr; column-gap:1.1rem; align-items:end; margin-top:clamp(1.5rem,4vh,3rem)}
.ca-cont-n{
  grid-row:span 2; font-family:var(--f-titulo); font-weight:800; font-stretch:68%;
  font-size:clamp(6rem,10vw,9.5rem); line-height:.8; letter-spacing:-.02em;
  background:linear-gradient(100deg,#9a7434 0%,#d9b45f 38%,#8a6a2e 66%,#c39b59 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ca-cont-de{font-family:var(--f-titulo); font-weight:500; font-size:.85rem; letter-spacing:.2em; text-transform:uppercase; color:var(--tinta-2)}
.ca-cont-i{font-style:normal}
.ca-cont-de{display:flex; align-items:center; gap:.7rem}
.ca-ticks{display:inline-flex; flex-direction:column; gap:3px}
.ca-ticks i{display:block; width:22px; height:3px; border-radius:1px; background:rgb(22 33 63 / .2); transition:background .5s}
.ca-ticks i.ca-acesa{background:linear-gradient(90deg,var(--ouro-1),var(--ouro-2) 50%,var(--ouro-1)); box-shadow:0 0 6px rgb(249 225 150 / .9)}
.ca-cont-nome{font-family:var(--f-titulo); font-weight:700; font-stretch:80%; font-size:1.5rem; line-height:1.15; color:var(--tinta); padding-bottom:.35rem}

/* ---------- a persiana ---------- */
.ca-persiana{
  list-style:none; margin:0; padding:var(--ca-fresta) 0;
  position:relative; display:flex; flex-direction:column; gap:var(--ca-fresta);
  border-radius:3px;
  /* o que se vê pelas frestas com a persiana fechada: sombra da janela */
  background:linear-gradient(180deg,#8f8879,#a39b8b);
  box-shadow:0 30px 60px -30px rgb(22 33 63 / .55),0 0 0 1px rgb(22 33 63 / .12);
}
/* cordão da persiana: desce com o progresso */
.ca-persiana::after{
  content:""; position:absolute; right:-24px; top:-6px; width:14px;
  height:calc(18% + var(--ca-p) * 78%);
  background:
    radial-gradient(circle at 50% 50%,#f9efa3 0 18%,#c39b59 40%,#8a6a2e 72%,transparent 74%) bottom / 14px 20px no-repeat,
    linear-gradient(90deg,#ac8346,#f1df92,#ac8346) top / 2px calc(100% - 16px) no-repeat;
  filter:drop-shadow(0 3px 3px rgb(22 33 63 / .3));
  transition:height .8s var(--t-lenta);
}
/* bandô: a caixa de madeira no alto da persiana */
.ca-persiana::before{
  content:""; position:absolute; left:-10px; right:-10px; top:-16px; height:16px; border-radius:3px 3px 1px 1px;
  background:linear-gradient(180deg,#c2a27f,var(--madeira) 60%,#8f6f50);
  box-shadow:0 4px 8px -3px rgb(22 33 63 / .45);
}
.ca-ripa{
  position:relative; isolation:isolate;
  display:grid; grid-template-columns:4.4rem 1fr; gap:1.1rem; align-items:start;
  padding:1.15rem 1.6rem 1.2rem 1.3rem;
  background:
    repeating-linear-gradient(180deg,rgb(255 255 255 / .38) 0 1px,transparent 1px 19px,rgb(22 33 63 / .07) 19px 21px,transparent 21px 22px),
    linear-gradient(180deg,#ece8e1 0%,#dcd7ce 52%,#cfc9be 100%);
}
/* face aquecida: a luz entra pelo lado da janela (direita) */
.ca-ripa::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    repeating-linear-gradient(180deg,rgb(255 252 236 / .7) 0 1.5px,transparent 1.5px 19px,rgb(172 137 105 / .16) 19px 21px,transparent 21px 22px),
    radial-gradient(120% 140% at 100% 0%,rgb(255 248 222 / .95),transparent 60%),
    linear-gradient(180deg,#f8ecd0 0%,#efdcb6 55%,#e2c99c 100%);
  transition:clip-path 1.1s var(--t-lenta);
}
/* fio de luz na fresta acima da ripa */
.ca-ripa::before{
  content:""; position:absolute; left:0; right:0; top:calc(var(--ca-fresta) * -1); height:var(--ca-fresta); z-index:1;
  background:linear-gradient(270deg,#fffbe8,var(--ouro-2) 40%,rgb(249 239 163 / .55));
  box-shadow:0 0 14px 3px rgb(249 232 160 / .75);
  transform-origin:right center;
  transition:transform .9s var(--t-lenta);
}
/* sem JS tudo fica aceso; com JS a luz entra ripa por ripa */
.js .ca-ripa:not(.ca-acesa)::after{clip-path:inset(0 0 0 100%)}
.js .ca-ripa:not(.ca-acesa)::before{transform:scaleX(0)}
.ca-ripa.ca-atual{box-shadow:0 0 50px -6px rgb(249 225 150 / .9); z-index:2}

.ca-ripa-txt{min-width:0}
.ca-num{
  font-family:var(--f-titulo); font-weight:800; font-stretch:68%; font-size:2.7rem; line-height:.95;
  transition:color .6s;
}
.ca-num{background:linear-gradient(100deg,#7d5e26,#b48a3e 45%,#8a6a2e 75%,#a07a35); -webkit-background-clip:text; background-clip:text; color:transparent}
.js .ca-ripa:not(.ca-acesa) .ca-num{background:none; color:#6f6a60}
.ca-ripa h3{margin:0; font-family:var(--f-titulo); font-weight:700; font-stretch:80%; font-size:1.6rem; line-height:1.15; color:var(--tinta)}
.ca-ripa p{margin:.3rem 0 0; font-size:1.125rem; line-height:1.5; color:var(--tinta-2); max-width:40rem}

/* ---------- fecho ---------- */
.ca-fecho{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 1.5rem; margin-top:1.8rem}
.ca-fecho-txt{margin:0; font-size:1.125rem; line-height:1.45; color:var(--tinta-2)}
.ca-nq{white-space:nowrap}
.ca-fecho-txt b{display:block; font-family:var(--f-titulo); font-weight:700; font-stretch:80%; font-size:1.45rem; color:var(--tinta)}
.ca-botao{
  display:inline-flex; align-items:center; gap:.85rem; min-height:4rem; padding:.8rem 1.7rem .8rem 1.3rem;
  border-radius:999px; text-decoration:none; color:var(--texto);
  background:linear-gradient(160deg,#22396f,var(--marinho) 45%,var(--marinho-2)); font-weight:600; font-size:1.15rem; line-height:1.2;
  box-shadow:0 14px 30px -14px rgb(22 33 63 / .8),inset 0 1px 0 rgb(255 255 255 / .12);
  transition:transform .3s var(--t-lenta),box-shadow .3s;
}
.ca-botao:hover,.ca-botao:focus-visible{transform:translateY(-2px); box-shadow:0 18px 36px -14px rgb(22 33 63 / .9),inset 0 1px 0 rgb(255 255 255 / .12)}
.ca-botao:focus-visible{outline:3px solid var(--marinho); outline-offset:4px}
.ca-botao svg{width:1.7rem; height:1.7rem; fill:var(--ouro-2); flex:none}
.ca-botao span{display:flex; flex-direction:column}
.ca-botao small{font-size:.92rem; font-weight:500; color:var(--texto-2)}

/* ---------- presa (desktop com JS, sem movimento reduzido) ---------- */
.ca-presa .ca-trilho{height:calc(100vh + 300vh)}
.ca-presa .ca-palco{position:sticky; top:0; height:100vh; display:flex; align-items:center; padding-block:5vh}
.ca-presa .ca-grade{width:100%; grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr); grid-template-areas:"cabeca persiana" "fecho persiana"; grid-template-rows:auto auto; align-items:center}
.ca-presa .ca-janela{display:contents}
.ca-presa .ca-cabeca{grid-area:cabeca; align-self:end}
.ca-presa .ca-persiana{grid-area:persiana}
.ca-presa .ca-fecho{grid-area:fecho; align-self:start; flex-direction:column; align-items:flex-start; margin-top:2rem}
.ca-presa .ca-ripa{padding-block:1rem 1.05rem}
.ca-presa .ca-titulo{font-size:clamp(2.6rem,3.75vw,4.3rem)}

/* duas colunas sem trava (tela baixa ou movimento reduzido): título acompanha a persiana */
@media (min-width:1000px){
  .ca-secao:not(.ca-presa) .ca-grade{align-items:start}
  .ca-secao:not(.ca-presa) .ca-cabeca{position:sticky; top:2.5rem}
}

/* ---------- tablet e celular ---------- */
@media (max-width:999px){
  .ca-feixe{display:none}
  .ca-grade{grid-template-columns:1fr}
  .ca-janela{margin-top:3.2rem}
}
@media (max-width:600px){
  .ca-secao{--ca-fresta:5px}
  .ca-ripa{grid-template-columns:auto 1fr; column-gap:.8rem; row-gap:.35rem; align-items:baseline; padding:1.05rem 1.1rem 1.15rem}
  .ca-ripa-txt{display:contents}
  .ca-ripa p{grid-column:1 / -1; margin:0}
  .ca-num{font-size:2rem}
  .ca-ripa h3{font-size:1.4rem}
  .ca-persiana::before{left:-6px; right:-6px}
  .ca-persiana::after{right:-16px; width:12px}
  .ca-fecho{flex-direction:column; align-items:stretch}
  .ca-botao{justify-content:center}
}

/* movimento reduzido: tudo aceso, nada preso */
@media (prefers-reduced-motion:reduce){
  .js .ca-ripa:not(.ca-acesa)::after{clip-path:inset(0)}
  .js .ca-ripa:not(.ca-acesa)::before{transform:none}
  .js .ca-ripa:not(.ca-acesa) .ca-num{background:linear-gradient(100deg,#7d5e26,#b48a3e 45%,#8a6a2e 75%,#a07a35); -webkit-background-clip:text; background-clip:text; color:transparent}
}
@media (max-width:600px){
  .ca-titulo{font-size:clamp(2.2rem,10.6vw,2.8rem)}
}

/* ===== escritorio ===== */
/* O escritório · noite, editorial, fotos reveladas por ripas de persiana */
.es-secao {
  --es-borda: max(var(--margem), calc((100% - 1320px) / 2));
  position: relative; isolation: isolate; overflow: clip;
  background: var(--noite); color: var(--texto);
  padding: var(--secao-y) 0;
  display: grid;
  /* linha 1 = sangria, 2..14 = 12 colunas, 15 = sangria */
  grid-template-columns: var(--es-borda) repeat(12, minmax(0, 1fr)) var(--es-borda);
  column-gap: clamp(.75rem, 1.6vw, 1.5rem);
  align-items: start;
}
.es-fundo {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(in oklab circle at 80% 18%, rgb(36 60 118 / .5), transparent 44%),
    radial-gradient(in oklab circle at 10% 96%, rgb(172 137 105 / .15), transparent 40%),
    linear-gradient(in oklab 180deg, var(--noite), #0c1428);
}

/* ---------- grade (desktop) ---------- */
.es-foto { position: relative; margin: 0; min-width: 0; }
.es-cabeca       { grid-column: 9 / 14; grid-row: 1; padding-left: clamp(0rem, 2vw, 2rem); align-self: end; }
.es-foto--grande { grid-column: 1 / 9;  grid-row: 1 / 3; }
.es-corpo        { grid-column: 9 / 14; grid-row: 2; padding-left: clamp(0rem, 2vw, 2rem); }
.es-foto--totem  { grid-column: 3 / 6;  grid-row: 3; margin-top: -9rem; z-index: 3; }
.es-foto--entrada{ grid-column: 7 / 10; grid-row: 3; margin-top: 3.5rem; }
.es-foto--placa  { grid-column: 11 / 14; grid-row: 3; margin-top: 7rem; }
.es-endereco     { grid-column: 2 / 7; grid-row: 4; margin-top: -10rem; }

/* ---------- fotos ---------- */
.es-quadro { position: relative; overflow: hidden; background: #0c1428; }
.es-foto--grande .es-quadro { aspect-ratio: 6 / 5; }
.es-foto--grande { align-self: stretch; }
.es-foto--totem .es-quadro  { aspect-ratio: 2 / 3; border-radius: 3px; outline: 10px solid var(--noite); box-shadow: 0 30px 60px -20px rgb(0 0 0 / .7); }
.es-foto--entrada .es-quadro{ aspect-ratio: 3 / 4; border-radius: 3px; box-shadow: 0 30px 60px -24px rgb(0 0 0 / .6); }
.es-foto--placa .es-quadro  { aspect-ratio: 3 / 4; border-radius: 3px; box-shadow: 0 30px 60px -24px rgb(0 0 0 / .6); }
.es-quadro img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.9) contrast(1.05) brightness(.96);
}
.es-foto--grande img { object-position: 40% 50%; }
.es-foto--totem img { object-position: 50% 18%; }
.es-foto--placa img { object-position: 50% 100%; }

/* tratamento do hero: sombras azuladas, meios-tons mornos, base na noite */
.es-tom {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 45%, rgb(15 26 51 / .5) 100%), var(--marinho);
  mix-blend-mode: soft-light; opacity: .6;
}
.es-tom::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgb(15 26 51 / .55), transparent 28%);
  mix-blend-mode: normal;
}
/* luz parada da persiana sobre a foto grande */
.es-luz {
  position: absolute; inset: 0; pointer-events: none;
  inset: 0 -40%;
  background: repeating-linear-gradient(90deg, rgb(249 231 200 / 0) 0 20px, rgb(249 231 200 / .55) 20px 32px);
  -webkit-mask-image: linear-gradient(110deg, transparent 38%, #000 52%, #000 60%, transparent 76%);
          mask-image: linear-gradient(110deg, transparent 38%, #000 52%, #000 60%, transparent 76%);
  mix-blend-mode: soft-light; opacity: 0;
}
.es-foto.es-aberta .es-luz {
  animation: es-varre 2.6s var(--t-lenta) calc(var(--base, 0s) + .55s) both;
}
.es-foto--grande.es-aberta .es-luz {
  animation: es-varre 2.6s var(--t-lenta) calc(var(--base, 0s) + .55s) both,
             es-feixe 26s ease-in-out calc(var(--base, 0s) + 3.2s) infinite alternate;
}
@keyframes es-varre {
  0%   { transform: translate3d(-70%, 0, 0); opacity: 0; }
  25%  { opacity: .75; }
  100% { transform: translate3d(70%, 0, 0); opacity: 0; }
}
@keyframes es-feixe {
  0%   { transform: translate3d(-25%, 0, 0); opacity: 0; }
  20%, 80% { opacity: .38; }
  100% { transform: translate3d(20%, 0, 0); opacity: .38; }
}

/* créditos de revista */
.es-credito {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .6rem;
  margin-top: .9rem;
  font-family: var(--f-titulo); font-size: .85rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--texto-2); line-height: 1.35;
}
.es-foto--grande .es-credito { justify-content: flex-end; padding-right: clamp(0rem, 1vw, 1rem); }
.es-num {
  font-weight: 700; letter-spacing: .06em;
  background: linear-gradient(100deg, var(--ouro-1), var(--ouro-2) 50%, var(--ouro-1));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.es-credito b { font-weight: 600; color: var(--madeira-clara); }

/* ---------- texto ---------- */
.es-rotulo {
  display: flex; align-items: center; gap: .9rem; margin: 0 0 1.4rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .85rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--madeira-clara);
}
.es-fio {
  display: inline-block; width: 42px; height: 2px; border-radius: 2px; flex: none;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
}
.es-titulo {
  margin: 0;
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(2.4rem, 5.6vw, 5rem); line-height: .94; letter-spacing: -.01em;
  color: var(--papel);
}
.es-l { display: block; }
.es-leve {
  font-weight: 300; font-stretch: 100%; font-size: .48em; line-height: 1.2;
  color: var(--madeira-clara); margin-top: .5em; letter-spacing: 0;
}
.es-apoio { margin: 1.6rem 0 0; max-width: 34rem; font-size: 1.125rem; line-height: 1.62; color: var(--texto-2); }
.es-apoio strong { color: var(--papel); font-weight: 600; }
.es-dados { margin: 1.8rem 0 0; padding: 1.3rem 0 0; border-top: 1px solid var(--linha-escura); display: grid; gap: 1rem; }
.es-dados div { display: grid; gap: .15rem; }
.es-dados dt {
  font-family: var(--f-titulo); font-size: .85rem; font-weight: 500;
  letter-spacing: .18em; text-transform: uppercase; color: var(--madeira-clara);
}
.es-dados dd { margin: 0; font-size: 1.125rem; line-height: 1.5; color: var(--papel); }
.es-nq { white-space: nowrap; }
.es-acoes { margin: 1.6rem 0 0; }
.es-link {
  font-weight: 600; font-size: 1.125rem; text-decoration: none; color: var(--papel);
  padding: .6rem 0; border-bottom: 2px solid rgb(195 155 89 / .55); transition: border-color .3s;
}
.es-link:hover, .es-link:focus-visible { border-color: var(--ouro-2); }

/* ---------- ripas de persiana ---------- */
.es-ripas {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  display: flex;
}
.es-ripas i {
  flex: 1 1 0; height: 100%;
  background: linear-gradient(90deg, #0c1428 0%, var(--marinho-2) 55%, rgb(217 196 168 / .5) 93%, #0c1428 100%);
  transform-origin: 50% 50%;
  margin-right: -1px; /* sem fresta entre ripas */
}
.es-foto.es-aberta .es-ripas i {
  transform: scaleX(0);
  transition: transform .95s cubic-bezier(.6,.05,.2,1);
  transition-delay: calc(var(--base, 0s) + var(--i) * 55ms);
}
.es-quadro img { transition: transform 2s var(--t-lenta) var(--base, 0s), filter 2s ease var(--base, 0s); }
.js .es-foto[data-es-ripas]:not(.es-aberta) img { transform: scale(1.06); filter: saturate(.5) brightness(.6); }
.es-credito { transition: opacity .8s ease .6s; }
.js .es-foto[data-es-ripas]:not(.es-aberta) .es-credito { opacity: 0; }

/* endereço em manchete */
.es-endereco { margin-bottom: 0; display: flex; flex-direction: column; align-items: flex-start; }
.es-end-rua {
  font-family: var(--f-titulo); font-weight: 300; font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  color: var(--madeira-clara); line-height: 1;
}
.es-end-num {
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(6.5rem, 13vw, 12.5rem); line-height: .82; letter-spacing: -.02em;
  margin: .05em 0 .12em;
  background: linear-gradient(100deg, var(--ouro-1) 0%, var(--ouro-2) 38%, #c9a361 62%, #f1df92 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.es-end-sub {
  font-family: var(--f-titulo); font-weight: 500; font-size: .9rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--texto-2); margin-bottom: 1.4rem;
}

/* ---------- notebook / tablet ---------- */
@media (max-width: 1100px) {
  .es-foto--grande { grid-column: 1 / 8; }
  .es-cabeca, .es-corpo { grid-column: 8 / 14; }
  .es-foto--totem { grid-column: 2 / 6; margin-top: -6rem; }
  .es-foto--entrada { grid-column: 7 / 10; }
  .es-foto--placa { grid-column: 11 / 14; }
  .es-endereco { grid-column: 2 / 8; margin-top: 3rem; }
}

/* ---------- celular ---------- */
@media (max-width: 760px) {
  .es-secao { grid-template-columns: var(--margem) repeat(6, minmax(0, 1fr)) var(--margem); column-gap: .75rem; }
  .es-cabeca  { grid-column: 2 / 8; grid-row: 1; padding: 0; }
  .es-foto--grande { grid-column: 1 / -1; grid-row: 2; margin-top: 2rem; }
  .es-foto--grande .es-quadro { aspect-ratio: 5 / 4; }
  .es-foto--grande .es-credito { padding-right: var(--margem); }
  .es-corpo   { grid-column: 2 / 8; grid-row: 3; padding: 0; margin-top: 1.25rem; }
  .es-foto--totem   { grid-column: 2 / 5; grid-row: 4; margin-top: 3rem; }
  .es-foto--totem .es-quadro { outline: 0; }
  .es-foto--entrada { grid-column: 5 / 8; grid-row: 4; margin-top: 6rem; }
  .es-foto--placa   { grid-column: 2 / 5; grid-row: 5; margin-top: 2.75rem; }
  .es-endereco      { grid-column: 5 / 8; grid-row: 5; margin-top: 2.75rem; align-self: end; padding-bottom: 2.4rem; }
  .es-end-num { font-size: clamp(4.6rem, 25vw, 6.5rem); }
  .es-end-rua { font-size: 1.3rem; }
  .es-end-sub { font-size: .8rem; letter-spacing: .12em; }
  .es-titulo { font-size: clamp(3rem, 14.5vw, 4.4rem); }
  .es-leve { font-size: .5em; }
  .es-credito { font-size: .8rem; letter-spacing: .1em; }
}

@media (prefers-reduced-motion: reduce) {
  .es-ripas { display: none; }
  .js .es-foto[data-es-ripas]:not(.es-aberta) img { transform: none; filter: saturate(.9) contrast(1.05) brightness(.96); }
  .js .es-foto[data-es-ripas]:not(.es-aberta) .es-credito { opacity: 1; }
  .es-foto.es-aberta .es-luz { animation: none; }
  .es-foto--grande .es-luz { opacity: .3; }
}

/* ===== duvidas ===== */
/* Dúvidas — perguntas frequentes em papel claro */
.du-secao {
  position: relative; overflow: clip; isolation: isolate;
  background:
    radial-gradient(in oklab ellipse 70% 60% at 6% 0%, rgb(217 196 168 / .55), transparent 70%),
    radial-gradient(in oklab ellipse 60% 50% at 100% 100%, rgb(235 225 210 / .9), transparent 70%),
    var(--papel);
  color: var(--tinta);
  padding: var(--secao-y) var(--margem);
}
.du-secao::before { /* granulado do papel */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .2 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.du-grade {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2vw, 2rem);
  grid-template-rows: auto 1fr;
}
.du-cabeca { grid-column: 1 / span 5; grid-row: 1 / span 2; position: sticky; top: 2.5rem; align-self: start; }
.du-lista { grid-column: 6 / span 7; grid-row: 1; }
.du-fecho { grid-column: 6 / span 7; grid-row: 2; }

.du-rotulo {
  display: flex; align-items: center; gap: .9rem; margin: 0 0 1.4rem;
  font-family: var(--f-titulo); font-weight: 500; font-size: .85rem;
  letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-txt);
}
.du-fio {
  display: inline-block; width: 42px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
}
.du-titulo {
  margin: 0; font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(2.8rem, 6.4vw, 6rem); line-height: .92; letter-spacing: -.012em;
}
.du-linha { display: block; overflow: hidden; padding: .12em 0 .06em; margin: -.12em 0 -.06em; }
.du-linha > span { display: inline-block; }
.du-leve {
  font-weight: 300; font-stretch: 100%; font-size: .48em; line-height: 1.1; letter-spacing: .005em;
  color: var(--tinta-2); padding: .3em 0 .2em; margin: -.06em 0 .02em;
}

/* número da pergunta aberta, em ouro, como o "2003." do hero */
.du-contador {
  display: flex; align-items: flex-end; gap: .9rem; margin: clamp(2rem, 5vw, 4rem) 0 0;
  font-family: var(--f-titulo); line-height: .8;
}
.du-cont-vis { display: block; overflow: hidden; padding: .06em 0; }
.du-cont-n {
  display: block; font-weight: 800; font-stretch: 68%; font-size: clamp(7rem, 13vw, 12rem); letter-spacing: -.02em;
  background: linear-gradient(100deg, #9c7a3c 0%, var(--ouro-1) 30%, #ead27f 48%, #b18a4a 70%, #d9bd72 100%);
  filter: drop-shadow(0 1px 0 rgb(255 255 255 / .6));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.du-cont-n.du-sai { animation: du-sai .32s ease-in forwards; }
.du-cont-n.du-entra { animation: du-entra .7s var(--t-lenta); }
@keyframes du-sai { to { transform: translateY(-105%); } }
@keyframes du-entra { from { transform: translateY(105%); } }
.du-cont-tot {
  display: flex; flex-direction: column; gap: .8rem; padding-bottom: 1.1rem;
  font-weight: 500; font-size: .9rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-txt);
}
.du-trilho { display: flex; gap: 5px; }
.du-trilho i { width: 18px; height: 3px; border-radius: 3px; background: rgb(22 33 63 / .16); transition: background-color .5s ease, width .6s var(--t-lenta); }
.du-trilho i.du-on { width: 34px; background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 50%, var(--ouro-1)); }

/* lista */
.du-item { position: relative; border-top: 1px solid var(--linha-clara); }
.du-item:last-child { border-bottom: 1px solid var(--linha-clara); }
.du-item::before { /* painel morno da pergunta aberta */
  content: ""; position: absolute; inset: 0 calc(-1 * clamp(.75rem, 1.6vw, 1.5rem)); z-index: -1;
  background: var(--papel-2); border-radius: var(--raio); opacity: 0; transition: opacity .6s ease;
}
.du-item[open]:not(.du-fechando)::before { opacity: 1; }
.du-item[open]:not(.du-fechando) + .du-item { border-top-color: transparent; }
.du-item[open]:not(.du-fechando) { border-top-color: transparent; }

.du-perg {
  position: relative; list-style: none; cursor: pointer;
  display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) 2.9rem; gap: 1.1rem; align-items: center;
  padding: 1.55rem 0;
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem); line-height: 1.04; letter-spacing: -.005em;
}
.du-perg::-webkit-details-marker { display: none; }
.du-perg::marker { content: ""; }
.du-perg:focus-visible { outline-offset: 6px; }
.du-perg::after { /* fio de ouro que cresce na pergunta aberta */
  content: ""; position: absolute; left: 4.5rem; right: 0; bottom: 0; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2) 45%, var(--ouro-1));
  transform: scaleX(0); transform-origin: left center; transition: transform 1.1s var(--t-lenta) .1s;
}
.du-item[open]:not(.du-fechando) > .du-perg::after { transform: scaleX(1); }

/* número / monograma */
.du-marca { position: relative; width: 3.4rem; height: 1.9rem; align-self: center; }
.du-num {
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  font-weight: 600; font-stretch: 100%; font-size: 1.05rem; color: var(--ouro-txt); letter-spacing: .1em;
  transition: opacity .4s ease, transform .5s var(--t-lenta);
}
.du-mono { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; }
.du-mono path {
  fill: none; stroke: url(#ouro); stroke-width: 50; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: var(--du-len, 1000); stroke-dashoffset: var(--du-len, 1000);
  transition: stroke-dashoffset .5s ease;
}
.du-item[open]:not(.du-fechando) .du-num { opacity: 0; transform: translate(-.6rem, -50%); }
.du-item[open]:not(.du-fechando) .du-mono path { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--t-lenta) .1s; }
.du-item[open]:not(.du-fechando) .du-mono path:nth-child(2) { transition-delay: .25s; }
.du-item[open]:not(.du-fechando) .du-mono path:nth-child(3) { transition-delay: .4s; }

.du-txt { transition: color .3s ease; }
.du-perg:hover .du-txt { color: var(--marinho); }

/* botão + / − redondo, alvo grande */
.du-sinal {
  position: relative; width: 2.9rem; height: 2.9rem; border-radius: 50%;
  border: 1.5px solid rgb(22 33 63 / .28); transition: background-color .4s ease, border-color .4s ease;
}
.du-sinal::before, .du-sinal::after {
  content: ""; position: absolute; left: 30%; right: 30%; top: 50%; height: 2px; margin-top: -1px;
  background: var(--tinta); border-radius: 2px; transition: transform .5s var(--t-lenta), background-color .4s;
}
.du-sinal::after { transform: rotate(90deg); }
.du-perg:hover .du-sinal { border-color: var(--ouro-1); }
.du-item[open]:not(.du-fechando) .du-sinal { background: var(--tinta); border-color: var(--tinta); }
.du-item[open]:not(.du-fechando) .du-sinal::before,
.du-item[open]:not(.du-fechando) .du-sinal::after { background: var(--papel); }
.du-item[open]:not(.du-fechando) .du-sinal::after { transform: rotate(0); }

.du-resp { overflow: hidden; }
.du-resp-in { padding: 1.5rem 3.4rem 2.2rem 4.5rem; max-width: calc(62ch + 8rem); }
.du-resp p, .du-resp li { font-size: 1.125rem; line-height: 1.62; color: var(--tinta); }
.du-resp p { margin: 0 0 1rem; }
.du-resp p:last-child { margin-bottom: 0; }
.du-resp ul { margin: 0 0 1rem; padding: 0; list-style: none; }
.du-resp li { position: relative; padding-left: 1.5rem; margin-bottom: .35rem; }
.du-resp li::before {
  content: ""; position: absolute; left: 0; top: .78em; width: .8rem; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ouro-1), var(--ouro-2));
}
.du-tel { white-space: nowrap; }
.du-resp a { color: var(--tinta); font-weight: 600; text-decoration-color: var(--ouro-1); text-decoration-thickness: 2px; text-underline-offset: .2em; }

/* fecho: o único momento escuro da seção */
.du-fecho {
  position: relative; overflow: clip; isolation: isolate; margin-top: clamp(2.5rem, 5vw, 4rem);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2rem;
  padding: clamp(1.75rem, 3vw, 2.6rem) clamp(1.5rem, 3vw, 2.6rem);
  border-radius: var(--raio); color: var(--texto);
  background:
    radial-gradient(in oklab circle at 0% 100%, rgb(172 137 105 / .3), transparent 55%),
    linear-gradient(in oklab 150deg, var(--marinho), var(--noite) 70%);
  box-shadow: 0 30px 60px -30px rgb(15 26 51 / .55);
}
.du-fecho-mono { position: absolute; z-index: -1; right: -2.5rem; bottom: -2.2rem; width: 15rem; height: auto; opacity: .3; }
.du-fecho-mono path { fill: none; stroke: url(#ouro); stroke-width: 44; stroke-linecap: round; stroke-linejoin: round; }
.du-fecho-txt { margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.du-fecho-txt b {
  font-family: var(--f-titulo); font-weight: 800; font-stretch: 68%; font-size: clamp(1.9rem, 2.8vw, 2.6rem); line-height: 1; color: var(--papel);
}
.du-fecho-txt span { font-size: 1.125rem; color: var(--texto-2); }
.du-zap {
  display: inline-flex; align-items: center; gap: .85rem;
  min-height: 4rem; padding: .8rem 1.6rem .8rem 1.25rem; border-radius: 999px; text-decoration: none;
  background: linear-gradient(100deg, #d4b06c, var(--ouro-2) 55%, #d9b874);
  color: var(--noite); font-weight: 600; font-size: 1.15rem; line-height: 1.2;
  box-shadow: 0 10px 30px -10px rgb(195 155 89 / .65), inset 0 1px 0 rgb(255 255 255 / .5);
  transition: transform .3s var(--t-lenta), box-shadow .3s;
}
.du-zap:hover, .du-zap:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 36px -12px rgb(195 155 89 / .8), inset 0 1px 0 rgb(255 255 255 / .5); }
.du-zap:focus-visible { outline: 3px solid var(--ouro-2); outline-offset: 4px; }
.du-zap svg { width: 1.7rem; height: 1.7rem; fill: currentColor; flex: none; }
.du-zap span { display: flex; flex-direction: column; }
.du-zap small { font-size: .9rem; font-weight: 500; opacity: .8; }

/* entrada: título por linha, perguntas em cascata, fio e monograma da aberta depois */
.js .du-secao:not(.du-visto) .du-linha > span { transform: translateY(115%); }
.js .du-secao:not(.du-visto) .du-item { opacity: 0; transform: translateY(26px); }
.js .du-secao:not(.du-visto) .du-item > .du-perg::after { transform: scaleX(0); }
.js .du-secao:not(.du-visto) .du-mono path { stroke-dashoffset: var(--du-len, 1000); }
.js .du-secao:not(.du-visto) .du-cont-vis { opacity: 0; }
.du-linha > span { transition: transform 1.1s var(--t-lenta); }
.du-linha:nth-child(2) > span { transition-delay: .15s; }
.du-linha:nth-child(3) > span { transition-delay: .3s; }
.du-cont-vis { transition: opacity 1.2s ease .5s; }
.du-item { transition: opacity .9s ease calc(.25s + var(--du-i, 0) * .09s), transform 1s var(--t-lenta) calc(.25s + var(--du-i, 0) * .09s); }
.du-visto .du-item:first-child[open] > .du-perg::after { transition-delay: .9s; }

@media (max-width: 1180px) and (min-width: 901px) {
  .du-cabeca { grid-column: 1 / span 4; }
  .du-lista, .du-fecho { grid-column: 5 / span 8; }
}
@media (max-width: 900px) {
  .du-grade { grid-template-rows: none; }
  .du-cabeca, .du-lista, .du-fecho { grid-column: 1 / -1; grid-row: auto; }
  .du-cabeca { position: static; }
  .du-titulo { font-size: clamp(3.2rem, 14vw, 4.4rem); }
  .du-contador { display: none; }
  .du-lista { margin-top: 2.5rem; }
  .du-perg { grid-template-columns: 2.4rem minmax(0, 1fr) 2.6rem; gap: .8rem; padding: 1.35rem 0; font-size: clamp(1.55rem, 6.4vw, 2rem); }
  .du-marca { width: 2.4rem; height: 1.4rem; }
  .du-num { font-size: 1rem; letter-spacing: .04em; }
  .du-sinal { width: 2.6rem; height: 2.6rem; }
  .du-perg::after { left: 0; }
  .du-resp-in { padding: 1.1rem 0 1.8rem; }
  .du-fecho { flex-direction: column; align-items: stretch; }
  .du-zap { justify-content: center; }
  .du-fecho-mono { width: 8rem; right: -2.8rem; top: -2.1rem; bottom: auto; opacity: .22; }
  .du-zap { padding-inline: 1rem 1.2rem; }
}

/* ===== contato ===== */
.ct-secao{position:relative;isolation:isolate;overflow:clip;background:var(--marinho);color:var(--texto);padding:var(--secao-y) var(--margem)}
.ct-malha{position:absolute;inset:-15%;z-index:-2;background:
  radial-gradient(in oklab circle at 78% 18%,rgb(172 137 105 / .3),transparent 42%),
  radial-gradient(in oklab circle at 10% 92%,rgb(36 60 118 / .85),transparent 55%),
  radial-gradient(in oklab circle at 55% 112%,rgb(110 31 43 / .22),transparent 40%),
  linear-gradient(in oklab 200deg,#243c76,var(--marinho) 45%,var(--marinho-2))}

/* ---- cabeça: título × assinatura ---- */
.ct-cabeca,.ct-painel{position:relative;max-width:1320px;margin-inline:auto}
.ct-cabeca{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;align-items:end}
.ct-texto{grid-column:1/8}
.ct-assina{grid-column:8/13;display:flex;flex-direction:column;align-items:flex-end;gap:1.1rem;padding-bottom:.6rem}
.ct-mono-caixa{position:relative;width:100%;max-width:440px}
.ct-mono{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 40px rgb(195 155 89 / .18))}
.ct-mono path{fill:none;stroke:url(#ouro);stroke-width:44;stroke-linecap:round;stroke-linejoin:round}
.ct-brilho{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.ct-brilho i{position:absolute;top:-10%;bottom:-10%;left:0;width:45%;transform:translateX(-120%) skewX(-14deg);
  background:repeating-linear-gradient(90deg,transparent 0 9px,rgb(255 248 222 / .85) 9px 15px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}
.js .ct-secao.ct-entrou .ct-brilho i{animation:ct-passa 2.4s cubic-bezier(.45,.05,.3,1) 2.6s 1 both}
@keyframes ct-passa{from{transform:translateX(-120%) skewX(-14deg)}to{transform:translateX(330%) skewX(-14deg)}}
.ct-assina-fio{display:block;width:min(100%,440px);height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--ouro-1) 30%,var(--ouro-2) 60%,var(--ouro-1));transform-origin:right center}
.ct-assina-txt{font-family:var(--f-titulo);font-weight:500;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--madeira-clara);text-align:right}

.ct-rotulo{display:flex;align-items:center;gap:.9rem;margin:0 0 1.4rem;font-family:var(--f-titulo);font-weight:500;font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--madeira-clara)}
.ct-fio{display:inline-block;width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ouro-1),var(--ouro-2) 45%,var(--ouro-1))}
.ct-titulo{margin:0;font-family:var(--f-titulo);font-weight:800;font-stretch:68%;font-size:clamp(3rem,7vw,6.6rem);line-height:.92;letter-spacing:-.012em;color:var(--papel)}
.ct-linha{display:block;overflow:hidden;padding:.1em 0 .06em;margin:-.1em 0 -.06em}
.ct-linha>span{display:inline-block}
.ct-leve{font-weight:300;font-stretch:100%;font-size:.5em;letter-spacing:.005em;line-height:1.1;color:var(--madeira-clara);padding:.3em 0 .2em;margin:-.06em 0 .02em}
.ct-apoio{margin:1.6rem 0 0;max-width:34rem;font-size:clamp(1.125rem,1.3vw,1.25rem);line-height:1.6;color:var(--texto-2)}

.ct-zap{display:inline-flex;align-items:center;gap:1rem;margin-top:2.2rem;min-height:4.75rem;padding:.9rem 2.1rem .9rem 1.5rem;border-radius:999px;text-decoration:none;background:linear-gradient(100deg,#d4b06c,var(--ouro-2) 55%,#d9b874);color:var(--noite);font-weight:600;font-size:1.3rem;line-height:1.2;box-shadow:0 14px 34px -12px rgb(195 155 89 / .7),inset 0 1px 0 rgb(255 255 255 / .5);transition:transform .3s var(--t-lenta),box-shadow .3s}
.ct-zap:hover,.ct-zap:focus-visible{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgb(195 155 89 / .85),inset 0 1px 0 rgb(255 255 255 / .5)}
.ct-zap:focus-visible{outline:3px solid var(--ouro-2);outline-offset:4px}
.ct-zap svg{width:2.1rem;height:2.1rem;fill:currentColor;flex:none}
.ct-zap-txt{display:flex;flex-direction:column}
.ct-zap small{font-size:.95rem;font-weight:500;opacity:.8}

/* ---- painel: mapa × ficha ---- */
.ct-painel{margin-top:clamp(3.5rem,7vw,6rem);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2.5rem 3rem;align-items:start}
.ct-lugar{grid-column:1/8;margin:0}

.ct-mapa{position:relative;aspect-ratio:16/11;border-radius:var(--raio);overflow:hidden;background:#1a2440;
  box-shadow:0 0 0 1px rgb(195 155 89 / .55),0 0 0 7px rgb(15 26 51 / .55),0 0 0 8px rgb(217 196 168 / .18),0 40px 70px -30px rgb(0 0 0 / .7)}
/* recorte: esconde o cartão do topo do mapa, mantém os créditos de baixo */
.ct-mapa iframe{position:absolute;left:0;top:-90px;width:100%;height:calc(100% + 90px);border:0;
  filter:invert(.92) hue-rotate(180deg) saturate(.6) brightness(.92) contrast(.95)}
.ct-tinta{position:absolute;inset:0;pointer-events:none;background:#2a4590;mix-blend-mode:color;opacity:.75}
.ct-tinta::after{content:"";position:absolute;inset:0;background:radial-gradient(in oklab ellipse 75% 75% at 50% 45%,transparent 45%,rgb(15 26 51 / .6) 100%)}
.ct-mapa::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(in oklab ellipse 45% 40% at 72% 30%,rgb(217 196 168 / .14),transparent 70%);mix-blend-mode:screen}
.ct-persiana{position:absolute;inset:-10% -30%;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 18px,rgb(249 231 200 / .09) 18px 30px);-webkit-mask-image:linear-gradient(104deg,transparent 34%,#000 50%,#000 60%,transparent 78%);mask-image:linear-gradient(104deg,transparent 34%,#000 50%,#000 60%,transparent 78%);mix-blend-mode:screen;opacity:1;animation:ct-feixe 26s ease-in-out infinite alternate}
@keyframes ct-feixe{from{transform:translate3d(12%,0,0)}to{transform:translate3d(-8%,0,0)}}
.ct-mapa-pe{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-top:1.4rem;font-size:1.05rem;color:var(--madeira-clara)}
.ct-abrir{display:inline-flex;align-items:center;gap:.5rem;min-height:3rem;padding:.6rem 1.3rem;border-radius:999px;border:1px solid rgb(195 155 89 / .7);font-weight:600;font-size:1.05rem;color:var(--papel);text-decoration:none;transition:background .3s,border-color .3s}
.ct-abrir:hover,.ct-abrir:focus-visible{background:rgb(195 155 89 / .14);border-color:var(--ouro-2)}

.ct-ficha{margin:0;border-top:1px solid var(--linha-escura)}
.ct-item{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--linha-escura);align-items:baseline}
.ct-item dt{font-family:var(--f-titulo);font-weight:500;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--madeira-clara)}
.ct-item dd{margin:0;font-size:1.2rem;font-weight:500;color:var(--papel);overflow-wrap:anywhere}
.ct-item address{font-style:normal;display:flex;flex-direction:column;gap:.15rem}
.ct-item address strong{font-weight:600}
.ct-item address span{font-size:1.05rem;color:var(--texto-2);font-weight:400}
.ct-item a{text-decoration:none;border-bottom:1px solid rgb(195 155 89 / .5);transition:border-color .3s,color .3s}
.ct-item a:hover,.ct-item a:focus-visible{border-color:var(--ouro-2);color:#fff}
.ct-nb{white-space:nowrap}
.ct-estrelas{color:var(--ouro-2);font-size:.85em;letter-spacing:.05em}

/* ---- área de atuação (na coluna da ficha) ---- */
.ct-col{grid-column:8/13;min-width:0}
.ct-area{margin-top:2.4rem}
.ct-area-tit{margin:0;font-family:var(--f-titulo);font-weight:800;font-stretch:68%;font-size:clamp(1.8rem,2.4vw,2.3rem);line-height:1;color:var(--papel)}
.ct-area-rot{margin:1rem 0 .4rem;font-family:var(--f-titulo);font-weight:500;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--madeira-clara)}
.ct-cidades{list-style:none;margin:0;padding:0;font-size:1.02rem;line-height:1.75;color:var(--texto-2)}
.ct-cidades li{display:inline;white-space:nowrap}
.ct-cidades li:not(:last-child)::after{content:"·";color:var(--ouro-1);padding:0 .45em}

/* ---- entrada ---- */
.js .ct-linha>span{transform:translateY(115%)}
.js .ct-secao.ct-entrou .ct-linha>span{transform:none;transition:transform 1.1s var(--t-lenta)}
.js .ct-secao.ct-entrou .ct-leve>span{transition-delay:.15s}
.js .ct-mono path{stroke-dasharray:var(--len,1000);stroke-dashoffset:var(--len,1000)}
.js .ct-secao.ct-entrou .ct-mono path{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--t-lenta) .3s}
.js .ct-secao.ct-entrou .ct-mono path:nth-child(2){transition-delay:.6s}
.js .ct-secao.ct-entrou .ct-mono path:nth-child(3){transition-delay:.9s}
.js .ct-brilho{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.ct-brilho i{position:absolute;top:-10%;bottom:-10%;left:0;width:45%;transform:translateX(-120%) skewX(-14deg);
  background:repeating-linear-gradient(90deg,transparent 0 9px,rgb(255 248 222 / .85) 9px 15px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}
.js .ct-secao.ct-entrou .ct-brilho i{animation:ct-passa 2.4s cubic-bezier(.45,.05,.3,1) 2.6s 1 both}
@keyframes ct-passa{from{transform:translateX(-120%) skewX(-14deg)}to{transform:translateX(330%) skewX(-14deg)}}
.ct-assina-fio{transform:scaleX(0)}
.js .ct-assina-txt{opacity:0}
.js .ct-secao.ct-entrou .ct-brilho{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.ct-brilho i{position:absolute;top:-10%;bottom:-10%;left:0;width:45%;transform:translateX(-120%) skewX(-14deg);
  background:repeating-linear-gradient(90deg,transparent 0 9px,rgb(255 248 222 / .85) 9px 15px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}
.js .ct-secao.ct-entrou .ct-brilho i{animation:ct-passa 2.4s cubic-bezier(.45,.05,.3,1) 2.6s 1 both}
@keyframes ct-passa{from{transform:translateX(-120%) skewX(-14deg)}to{transform:translateX(330%) skewX(-14deg)}}
.ct-assina-fio{transform:none;transition:transform 1.4s var(--t-lenta) 1.4s}
.js .ct-secao.ct-entrou .ct-assina-txt{opacity:1;transition:opacity 1s ease 1.8s}

@media (max-width:1100px){
  .ct-item{grid-template-columns:minmax(0,1fr);gap:.2rem}
}
@media (max-width:900px){
  .ct-cabeca,.ct-painel{grid-template-columns:minmax(0,1fr)}
  .ct-texto,.ct-assina,.ct-lugar,.ct-col{grid-column:1/-1}
  .ct-assina{order:-1;align-items:flex-start;padding:0 0 1rem}
  .ct-mono-caixa{max-width:min(62vw,300px)}
  .ct-brilho{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.ct-brilho i{position:absolute;top:-10%;bottom:-10%;left:0;width:45%;transform:translateX(-120%) skewX(-14deg);
  background:repeating-linear-gradient(90deg,transparent 0 9px,rgb(255 248 222 / .85) 9px 15px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}
.js .ct-secao.ct-entrou .ct-brilho i{animation:ct-passa 2.4s cubic-bezier(.45,.05,.3,1) 2.6s 1 both}
@keyframes ct-passa{from{transform:translateX(-120%) skewX(-14deg)}to{transform:translateX(330%) skewX(-14deg)}}
.ct-assina-fio{width:min(62vw,300px);transform-origin:left center;background:linear-gradient(90deg,var(--ouro-1),var(--ouro-2) 40%,var(--ouro-1) 70%,transparent)}
  .ct-assina-txt{display:none}
  .ct-item{grid-template-columns:7.5rem minmax(0,1fr)}
}
@media (max-width:560px){
  .ct-titulo{font-size:clamp(2.8rem,14vw,4.2rem)}
  .ct-leve{font-size:.56em}
  .ct-zap{width:100%;justify-content:center;padding-inline:1.2rem;font-size:1.2rem}
  .ct-zap-extra{display:none}
  .ct-mapa{aspect-ratio:4/5}
  .ct-item{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .ct-abrir{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .js .ct-linha>span,.js .ct-brilho{position:absolute;inset:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-30 -30 860 500'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 415 L250 20'/%3E%3Cpath d='M400 20 L170 415 L525 415 L570 338'/%3E%3Cpath d='M375 330 L555 20 L780 415'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.ct-brilho i{position:absolute;top:-10%;bottom:-10%;left:0;width:45%;transform:translateX(-120%) skewX(-14deg);
  background:repeating-linear-gradient(90deg,transparent 0 9px,rgb(255 248 222 / .85) 9px 15px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent)}
.js .ct-secao.ct-entrou .ct-brilho i{animation:ct-passa 2.4s cubic-bezier(.45,.05,.3,1) 2.6s 1 both}
@keyframes ct-passa{from{transform:translateX(-120%) skewX(-14deg)}to{transform:translateX(330%) skewX(-14deg)}}
.ct-assina-fio{transform:none}
  .js .ct-assina-txt{opacity:1}
  .js .ct-mono path{stroke-dashoffset:0}
  .ct-persiana{animation:none}
  .ct-brilho{display:none}
}

/* ===== rodape ===== */
.rd-rodape{position:relative;background:linear-gradient(in oklab 180deg,var(--marinho-2),var(--noite) 9rem);color:var(--texto-2);padding:clamp(3.5rem,6vw,5rem) var(--margem) 2rem;font-size:1rem;line-height:1.55}
.rd-fio{position:absolute;top:0;left:var(--margem);right:var(--margem);height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ouro-1),var(--ouro-2) 30%,var(--ouro-1) 60%,rgb(195 155 89 / .15));transform-origin:left center}
.rd-grade,.rd-legal,.rd-selo{max-width:1320px;margin-inline:auto}
.rd-grade{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);gap:2rem 2.75rem;align-items:start}
.rd-marca{display:flex;align-items:center;gap:1rem}
.rd-mono{width:4.4rem;height:auto;overflow:visible;flex:none}
.rd-mono path{fill:none;stroke:url(#ouro);stroke-width:44;stroke-linecap:round;stroke-linejoin:round}
.rd-nome{margin:0;display:flex;flex-direction:column;line-height:1.05}
.rd-nome b{font-family:var(--f-titulo);font-weight:800;font-stretch:68%;font-size:1.9rem;white-space:nowrap;color:var(--papel);letter-spacing:-.005em}
.rd-nome span{margin-top:.35rem;font-family:var(--f-titulo);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--madeira-clara)}
.rd-col p{margin:0}
.rd-rot{font-family:var(--f-titulo);font-weight:500;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--madeira-clara);margin-bottom:.45rem!important}
.rd-val{font-style:normal;color:var(--papel);font-weight:500;font-size:1.05rem}
.rd-end{display:flex;flex-direction:column}
.rd-apoio{color:var(--texto-2);font-size:.98rem;font-weight:400}
.rd-nb{white-space:nowrap}
.rd-val a{text-decoration:none;border-bottom:1px solid rgb(195 155 89 / .55)}
.rd-val a:hover,.rd-val a:focus-visible{border-color:var(--ouro-2)}
.rd-legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-top:2.75rem;padding-top:1.4rem;border-top:1px solid var(--linha-escura);font-size:.9rem;color:#b9b0a3}
.rd-legal p{margin:0 0 .3rem}
.rd-selo{margin-top:1.6rem;font-size:.9rem;color:#b9b0a3}
.rd-selo a{color:var(--madeira-clara);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgb(195 155 89 / .6)}
.rd-selo a:hover,.rd-selo a:focus-visible{color:var(--ouro-2)}

.js .rd-fio{transform:scaleX(0)}
.js .rd-rodape.rd-entrou .rd-fio{transform:none;transition:transform 1.6s var(--t-lenta)}

@media (max-width:1100px){
  .rd-grade{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rd-marca{grid-column:1/-1}
}
@media (max-width:640px){
  .rd-grade{grid-template-columns:minmax(0,1fr);gap:1.6rem}
}
@media (prefers-reduced-motion:reduce){.js .rd-fio{transform:none}}
.rd-zap{margin-top:.5rem!important}
.rd-zap a{font-weight:600;font-size:.98rem;color:var(--madeira-clara);text-decoration:none;border-bottom:1px solid rgb(195 155 89 / .55)}
.rd-zap a:hover,.rd-zap a:focus-visible{color:var(--ouro-2);border-color:var(--ouro-2)}
.rd-topo{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;padding:.45rem 1.1rem;border:1px solid var(--linha-escura);border-radius:999px;font-size:.95rem;font-weight:600;color:var(--papel);text-decoration:none;transition:border-color .3s,background .3s}
.rd-topo:hover,.rd-topo:focus-visible{border-color:var(--ouro-1);background:rgb(195 155 89 / .1)}
.rd-selo-fio{display:inline-block;vertical-align:middle;margin-right:.75rem;width:1.6rem;height:1px;background:var(--ouro-1);opacity:.8}
