/* ===== eq ===== */
/* ===== As meninas (eq) ===== */
.eq{overflow:clip}
.eq-luz{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(closest-side at 72% 46%,rgb(230 214 193 / .95),rgb(230 214 193 / 0)),
    radial-gradient(closest-side at 18% 70%,rgb(41 68 61 / .07),rgb(41 68 61 / 0))}

.eq-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  grid-template-areas:"cab roda" "foto roda" "dona roda";grid-template-rows:auto auto 1fr;column-gap:clamp(2rem,5vw,5rem);row-gap:2.6rem;align-items:start}
.eq-cab{grid-area:cab}
.eq-foto{grid-area:foto}
.eq-roda{grid-area:roda;align-self:start}
.eq-dona{grid-area:dona}

.eq-tit{max-width:12ch}
.eq-apoio{font-size:1.125rem;line-height:1.6;margin:1.6rem 0 0;max-width:34ch}

/* foto em círculo, sem cartão */
.eq-foto{margin:0;position:relative;width:min(100%,23rem)}
.eq-foto__circulo{position:relative}
.eq-foto__aneis{position:absolute;inset:-4.5%;width:109%;height:109%;max-width:none;pointer-events:none}
.eq-foto__moldura{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden}
.eq-foto__moldura img{width:100%;height:100%;object-fit:cover;object-position:46% 40%}
.eq-foto figcaption{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--caramelo-escuro);margin-top:1.4rem;text-align:center}

/* a roda de nomes */
.eq-roda__palco{position:relative;width:min(100%,46rem);margin:0 auto;aspect-ratio:1}
.eq-roda__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eq-roda__marca{fill:var(--ouro-tinta)}
.eq-roda__giro{transform-box:view-box;transform-origin:500px 500px;transform:rotate(var(--eq-giro,0deg));transition:transform 1.5s var(--curva)}
.eq-roda__nome{font-family:var(--serifa);font-size:58px;letter-spacing:5px;fill:var(--tinta-2);opacity:.42;cursor:pointer;transition:fill .8s,opacity .8s}
.eq-roda__nome.is-on{fill:var(--ouro-tinta);opacity:1;font-weight:700}
.eq-roda__ponto{fill:var(--ouro-2);opacity:.7}

.eq-miolo{position:absolute;left:50%;top:50%;width:54%;transform:translate(-50%,-50%);display:grid;text-align:center}
.eq-fala{grid-area:1/1;margin:0;margin:0;align-self:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .7s var(--curva),transform .7s var(--curva),visibility 0s .7s}
.eq-fala.is-on{opacity:1;visibility:visible;transform:none;transition-delay:.35s,.35s,0s}
.eq-fala blockquote{margin:0}
.eq-fala blockquote p{font-family:var(--serifa);font-style:italic;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.18;color:var(--creme);margin:0;text-wrap:balance}
.eq-fala__rot{font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro-claro) !important;margin:0 0 1.1rem}
.eq-fala figcaption{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--caramelo);margin-top:1.2rem}

/* botões reais */
.eq-nomes{display:flex;flex-wrap:nowrap;justify-content:center;gap:.45rem;margin-top:2.2rem}
.eq-nome{font-family:var(--sans);font-weight:500;font-size:1rem;letter-spacing:.04em;color:var(--tinta);background:transparent;
  border:1px solid var(--filete);border-radius:999px;padding:.7rem 1rem;cursor:pointer;display:inline-flex;align-items:baseline;gap:.45rem;
  transition:background .4s,color .4s,border-color .4s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.eq-nome:hover{border-color:var(--ouro-2)}
.eq-nome[aria-pressed="true"]{background:var(--garrafa-0);color:var(--creme);border-color:var(--garrafa-0)}

/* a dona: o selo como assinatura */
.eq-dona{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.4rem;align-items:start;border-top:1px solid var(--filete);padding-top:1.8rem;max-width:32rem}
.eq-dona__selo{width:5.5rem;height:auto}
.eq-dona__rot{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--caramelo-escuro) !important;margin:.2rem 0 .5rem}
.eq-dona__txt{font-size:1.125rem;line-height:1.55;margin:0}
.eq-dona__txt strong{color:var(--tinta);font-weight:600}
.eq-dona__fala{margin:1rem 0 0}
.eq-dona__fala p{font-family:var(--serifa);font-style:italic;font-size:clamp(1.4rem,1.9vw,1.7rem);line-height:1.22;color:var(--ouro-tinta);margin:0}
.eq-dona__fala footer{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--caramelo-escuro);margin-top:.6rem}

@media (max-width:979px){
  .eq-grade{grid-template-columns:minmax(0,1fr);grid-template-areas:"cab" "foto" "roda" "dona";row-gap:3rem}
  .eq-foto{margin:0 auto;width:min(82%,24rem)}
  .eq-dona{margin:0 auto}
}
@media (max-width:1180px) and (min-width:980px){
  .eq-grade{grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);column-gap:2.5rem}
  .eq-nomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;max-width:30rem;margin-inline:auto}
  .eq-nome{justify-content:center;padding:.7rem .5rem}
}
@media (max-width:620px){
  .eq-luz{background:radial-gradient(circle closest-side at 50% 62%,rgb(230 214 193 / .95),rgb(230 214 193 / 0))}
  .eq-nomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .eq-nome{justify-content:center;padding:.75rem .4rem}
}
@media (max-width:520px){
  .eq-roda__palco{width:calc(100% + 2 * var(--margem) - .5rem);margin-left:calc(.25rem - var(--margem))}
  .eq-fala blockquote p{font-size:1.2rem}
  .eq-fala__rot{font-size:.62rem;letter-spacing:.2em;margin-bottom:.6rem}
  .eq-fala figcaption{font-size:.64rem;letter-spacing:.2em;margin-top:.7rem}
  .eq-miolo{width:64%}
  .eq-dona{grid-template-columns:4.2rem minmax(0,1fr);gap:1rem}
  .eq-dona__selo{width:4.2rem}
}
@media (prefers-reduced-motion:reduce){
  .eq-roda__giro,.eq-fala,.eq-roda__nome{transition:none}
}

/* ===== tr ===== */
/* ===== Tratamentos (prefixo tr) — o anel como lente ===== */
.tr { padding-block: var(--respiro); }
.tr-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* malha verde-garrafa com halos, como no hero */
.tr-malha, .tr-malha::before, .tr-malha::after { position: absolute; pointer-events: none; }
.tr-malha {
  inset: 0; z-index: -1;
  background:
    radial-gradient(in oklab ellipse 70% 40% at 30% 0%, rgb(41 68 61 / .9), rgb(41 68 61 / 0) 70%),
    radial-gradient(in oklab ellipse 60% 50% at 100% 100%, rgb(11 29 25 / .95), rgb(11 29 25 / 0) 70%),
    linear-gradient(in oklab 180deg, #1a352e 0%, #0f2a24 50%, #0b1d19 100%);
}
.tr-malha::before {
  content: ""; width: 70vmax; height: 70vmax; left: -22vmax; top: 4%;
  background: radial-gradient(in oklab closest-side circle, rgb(176 149 122 / .22), rgb(176 149 122 / 0));
  animation: tr-respira-a 34s ease-in-out infinite alternate;
}
.tr-malha::after {
  content: ""; width: 60vmax; height: 60vmax; right: -20vmax; bottom: -10vmax;
  background: radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .12), rgb(214 164 65 / 0));
  animation: tr-respira-b 27s ease-in-out infinite alternate;
}
@keyframes tr-respira-a { from { transform: translate(-4%, 0) scale(1); } to { transform: translate(5%, 6%) scale(1.1); } }
@keyframes tr-respira-b { from { transform: translate(0, 0) scale(1.05); opacity: .8; } to { transform: translate(-8%, -5%) scale(.95); opacity: 1; } }

/* topo */
.tr-topo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); grid-template-areas: "rot rot" "tit apoio"; column-gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.tr-topo .rot { grid-area: rot; }
.tr-tit { grid-area: tit; }
.tr-apoio { grid-area: apoio; }
.tr-apoio { margin: 0 0 .4rem; font-weight: 300; font-size: clamp(1.125rem, 1.4vw, 1.3rem); line-height: 1.6; color: rgb(239 230 216 / .82); max-width: 36rem; }

/* ---------- o anel (lente) ---------- */
.tr-lente { position: relative; aspect-ratio: 1; container-type: inline-size; display: grid; place-items: center; }
.tr-anel { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tr-anel circle { vector-effect: none; }
.js .tr-lente [data-traco] { stroke-dasharray: 100 100; stroke-dashoffset: 100; transition: stroke-dashoffset 2.4s var(--curva-traco); transition-delay: var(--d, 0s); }
.js .tr-lente.is-in [data-traco] { stroke-dashoffset: 0; }
.tr-palavra {
  position: relative; font-family: var(--serifa); font-style: italic; font-weight: 400;
  font-size: 23cqi; line-height: 1; letter-spacing: .01em; padding-bottom: .06em;
  background: linear-gradient(in oklab 135deg, #f3d68f, #e8c06a 40%, #b8893a 70%, #f0d38c);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.js .tr-lente .tr-palavra { opacity: 0; transform: scale(.94); transition: opacity 1.4s var(--curva) .9s, transform 1.6s var(--curva) .9s; }
.js .tr-lente.is-in .tr-palavra { opacity: 1; transform: none; }
.tr-letreiro text { font-family: var(--sans); font-weight: 600; fill: var(--caramelo); }
.tr-letreiro__alto { font-size: 15px; letter-spacing: 9px; }
.tr-letreiro__baixo { font-size: 12px; letter-spacing: 7px; }
.js .tr-lente .tr-letreiro { opacity: 0; transition: opacity 1.4s var(--curva) 1.3s; }
.js .tr-lente.is-in .tr-letreiro { opacity: 1; }
.tr-halo {
  position: absolute; inset: -18%; z-index: -1; border-radius: 50%;
  background: radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .2), rgb(214 164 65 / .06) 60%, rgb(214 164 65 / 0));
  animation: tr-pulso 14s ease-in-out infinite alternate;
}
@keyframes tr-pulso { from { transform: scale(.94); opacity: .8; } to { transform: scale(1.05); opacity: 1; } }

/* ---------- laser ---------- */
.tr-laser {
  display: grid; gap: clamp(2rem, 4vw, 4rem) clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  grid-template-areas: "lente texto" "lente falas";
  align-items: center;
}
.tr-lente--grande { grid-area: lente; width: min(112%, 44rem); justify-self: center; margin-left: -6%; }
.tr-lente--grande .tr-palavra { text-shadow: none; filter: drop-shadow(0 0 28px rgb(214 164 65 / .35)); }
.tr-laser__texto { grid-area: texto; align-self: end; }
.tr-falas { grid-area: falas; align-self: start; display: grid; gap: 1.6rem; }

.tr-num { margin: 0 0 .7rem; font-family: var(--sans); font-weight: 500; font-size: .78rem; letter-spacing: .3em; text-transform: uppercase; color: var(--ouro); }
.tr-h3 { margin: 0; font-family: var(--serifa); font-weight: 400; font-size: clamp(1.7rem, 2.4vw, 2.3rem); line-height: 1.1; color: var(--creme); }
.tr-h3--grande { font-size: clamp(2.3rem, 4vw, 3.9rem); line-height: 1.02; }
.tr-corpo { margin: 1.1rem 0 0; font-weight: 300; font-size: 1.125rem; line-height: 1.65; color: rgb(239 230 216 / .86); }

.tr-areas { list-style: none; margin: 1.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.tr-areas li {
  padding: .55rem 1.1rem; border-radius: 999px; border: 1px solid var(--filete);
  font-weight: 500; font-size: 1rem; letter-spacing: .04em; color: var(--creme);
  background: rgb(214 164 65 / .06);
}
.tr-areas .tr-areas__mais { border-style: dashed; color: var(--caramelo); background: none; font-weight: 400; }

.tr-comeca { margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid var(--filete); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.4rem; align-items: baseline; }
.tr-comeca__rot { margin: 0; font-weight: 500; font-size: .78rem; letter-spacing: .26em; text-transform: uppercase; color: var(--caramelo); white-space: nowrap; }
.tr-comeca__txt { margin: 0; font-weight: 300; font-size: 1.125rem; line-height: 1.6; color: var(--creme); }

.tr-fala { margin: 0; padding-left: 1.4rem; border-left: 1px solid var(--filete); }
.tr-fala p { margin: 0; font-family: var(--serifa); font-style: italic; font-size: clamp(1.3rem, 1.6vw, 1.55rem); line-height: 1.3; color: var(--ouro-claro); }
.tr-fala footer { margin-top: .6rem; font-weight: 500; font-size: .76rem; letter-spacing: .26em; text-transform: uppercase; color: var(--caramelo); }

/* ---------- rosto e corpo: faixas espelhadas ---------- */
.tr-faixas { margin-top: clamp(4.5rem, 9vw, 8.5rem); display: grid; gap: clamp(4.5rem, 9vw, 8rem); }
.tr-faixa {
  display: grid; align-items: center; gap: clamp(2.5rem, 5vw, 5.5rem);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "sel txt";
}
.tr-faixa--corpo { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "txt sel"; }
.tr-faixa__sel { grid-area: sel; position: relative; display: grid; justify-items: center; }
.tr-faixa__txt { grid-area: txt; }
.tr-lente--media { width: min(100%, 22rem); }
.tr-lente--media::before {
  content: ""; position: absolute; inset: -16%; z-index: -1; border-radius: 50%;
  background: radial-gradient(in oklab closest-side circle, rgb(176 149 122 / .2), rgb(176 149 122 / 0));
}
.tr-lente--media .tr-palavra { font-size: 24cqi; }
.tr-letreiro--media .tr-letreiro__alto { font-size: 17px; letter-spacing: 12px; }
.tr-letreiro--media .tr-letreiro__baixo { font-size: 15px; letter-spacing: 10px; }

.tr-itens { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.2rem clamp(2rem, 3.5vw, 3.5rem); }
.tr-itens li { padding-top: 1.1rem; border-top: 1px solid rgb(214 164 65 / .3); }
.tr-itens h4 { margin: 0; font-family: var(--serifa); font-weight: 400; font-size: clamp(1.35rem, 1.7vw, 1.6rem); line-height: 1.15; color: var(--creme); }
.tr-itens p { margin: .55rem 0 0; font-weight: 300; font-size: 1.125rem; line-height: 1.6; color: rgb(239 230 216 / .8); }

/* a foto do Pollogen como segunda lente, encostada no anel "Corpo" */
.tr-faixa--corpo .tr-lente--media { margin-left: 18%; }
.tr-faixa--corpo .tr-faixa__sel { padding-bottom: 3rem; }
.tr-foto { position: absolute; left: -2%; bottom: -16%; z-index: 2; margin: 0; width: 34%; display: grid; justify-items: center; gap: .8rem; }
.tr-foto img {
  width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 30% 55%; border-radius: 50%;
  box-shadow: 0 0 0 5px var(--garrafa-0), 0 0 0 7px rgb(214 164 65 / .75), 0 0 0 12px var(--garrafa-0), 0 0 0 13px rgb(214 164 65 / .35), 0 20px 40px rgb(0 0 0 / .35);
}
.tr-foto figcaption { font-weight: 500; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--caramelo); text-align: center; }

/* ---------- ação: fecho entre filetes com anéis ---------- */
.tr-acao { margin-top: clamp(5rem, 10vw, 9rem); display: grid; justify-items: center; text-align: center; gap: 1.2rem; }
.tr-acao__linha { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: clamp(1rem, 2.5vw, 2.2rem); width: 100%; }
.tr-acao__linha::before, .tr-acao__linha::after {
  content: ""; height: 14px;
  background:
    radial-gradient(circle at var(--x) 50%, transparent 4px, var(--ouro) 4.5px, var(--ouro) 5.5px, transparent 6px),
    radial-gradient(circle at var(--x) 50%, transparent 1.5px, rgb(214 164 65 / .6) 2px, rgb(214 164 65 / .6) 2.6px, transparent 3px),
    linear-gradient(var(--filete), var(--filete)) center / 100% 1px no-repeat;
}
.tr-acao__linha::before { --x: calc(100% - 7px); }
.tr-acao__linha::after { --x: 7px; }
.tr-acao__frase { margin: 0; font-family: var(--serifa); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.1; color: var(--creme); text-wrap: balance; }
.tr-acao__frase em { font-style: italic; color: var(--ouro-claro); }
.tr-acao__apoio { margin: 0; max-width: 32rem; font-weight: 300; font-size: 1.125rem; line-height: 1.6; color: rgb(239 230 216 / .82); }
.tr-acao .btn-ouro { margin-top: .8rem; }

/* ---------- celular e tablet ---------- */
@media (max-width: 979px) {
  .tr-laser { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lente" "texto" "falas"; }
  .tr-lente--grande { width: min(100%, 30rem); margin-left: 0; }
  .tr-faixa, .tr-faixa--corpo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "sel" "txt"; }
  .tr-topo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "rot" "tit" "apoio"; row-gap: 1.2rem; margin-bottom: 1rem; }
  .tr-faixa, .tr-faixa--corpo { gap: 1.6rem; }
  .tr-faixa__sel { justify-items: start; }
  .tr-lente--media { width: min(58%, 17rem); }
  .tr-faixa--corpo .tr-faixa__sel { padding-bottom: 0; }
  .tr-faixa--corpo .tr-lente--media { margin-left: 0; }
  .tr-foto { width: 40%; left: auto; right: 0; bottom: auto; top: 6%; }
}
@media (max-width: 520px) {
  .tr-comeca { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .tr-itens { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .tr-acao .btn-ouro { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .tr-malha::before, .tr-malha::after, .tr-halo { animation: none; }
  .js .tr-lente [data-traco] { stroke-dashoffset: 0; transition: none; }
  .js .tr-lente .tr-palavra, .js .tr-lente .tr-letreiro { opacity: 1; transform: none; transition: none; }
}

/* ===== vi ===== */
/* Seção "A visita" (#a-sala) — prefixo vi */
.vi{--vi-s:min(560px,40vw,74vh);background:
  radial-gradient(in oklab ellipse 60% 45% at 12% 18%, rgb(230 214 193 / .85), rgb(230 214 193 / 0) 70%),
  radial-gradient(in oklab ellipse 50% 40% at 92% 70%, rgb(41 68 61 / .08), rgb(41 68 61 / 0) 70%),
  var(--papel)}
.vi-luz{position:absolute;z-index:-1;pointer-events:none;left:-10%;top:30%;width:70vmin;height:70vmin;
  background:radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .12), rgb(214 164 65 / 0))}
.vi-cab{grid-column:2;grid-row:1;max-width:36rem;padding-top:clamp(1rem,3vw,3rem)}
.vi-tit{font-size:clamp(2.4rem,4.4vw,4.4rem)}
.vi-lead{font-size:1.125rem;line-height:1.6;margin:1.4rem 0 0;max-width:36rem}

/* palco: janela redonda fixa + passos que correm */
.vi-palco{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(2rem,6vw,6rem);align-items:start}
.vi-passos{grid-column:2;grid-row:2}
.vi-janela-col{grid-column:1;grid-row:1 / span 2;align-self:start;position:sticky;top:calc(50vh - var(--vi-s) / 2);height:var(--vi-s);display:grid;place-items:center}
.vi-janela{position:relative;width:var(--vi-s);aspect-ratio:1;transform:scale(var(--vi-escala,1));transform-origin:50% 50%}
.vi-disco{position:absolute;inset:12%;border-radius:50%;overflow:hidden;background:var(--garrafa-0);
  box-shadow:0 30px 60px -20px rgb(15 42 36 / .45),0 0 0 1px rgb(214 164 65 / .3)}
.vi-disco::after{content:"";position:absolute;inset:0;z-index:6;border-radius:50%;pointer-events:none;
  box-shadow:inset 0 0 40px rgb(11 29 25 / .35);
  background:radial-gradient(in oklab circle at 50% 18%, rgb(240 211 140 / .28), rgb(176 149 122 / .12) 60%, rgb(11 29 25 / .18));mix-blend-mode:soft-light}
.vi-quadro img{filter:saturate(.9) contrast(1.04)}
.vi-quadro{position:absolute;inset:0;clip-path:circle(0% at 50% 50%);transition:clip-path 1.1s var(--curva)}
.vi-quadro.is-on{clip-path:circle(72% at 50% 50%)}
.vi-quadro img{width:100%;height:100%;object-fit:cover;transform:scale(var(--vi-zoom,1.08));transition:transform 1.6s var(--curva)}
.vi-quadro.is-on img{--vi-zoom:1}
.vi-quadro:nth-child(1){z-index:1}.vi-quadro:nth-child(2){z-index:2}.vi-quadro:nth-child(3){z-index:3}.vi-quadro:nth-child(4){z-index:4}.vi-quadro:nth-child(5){z-index:5}
/* o "botão" do elevador: o 8 em metal sobre o verde */
.vi-quadro--andar{display:grid;place-content:center;justify-items:center;gap:.2em;
  background:radial-gradient(in oklab circle at 50% 30%, var(--garrafa-2), var(--garrafa-0) 62%, var(--noite))}
.vi-andar-seta{width:clamp(14px,1.6vw,22px);fill:var(--ouro);opacity:.85}
.vi-andar-num{font-family:var(--serifa);font-weight:400;font-size:calc(var(--vi-s) * .36);line-height:.9;
  background:var(--ouro-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.vi-andar-num sup{font-size:.36em;vertical-align:.95em}
.vi-andar-txt{font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:.32em;font-size:.8rem;color:var(--caramelo)}

.vi-aneis{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.vi-trilho{fill:none;stroke:rgb(138 100 36 / .22);stroke-width:1.5}
.vi-progresso{fill:none;stroke:url(#vi-ouro);stroke-width:4;stroke-linecap:round;
  stroke-dasharray:1828.5;stroke-dashoffset:var(--vi-off,1828.5)}
.vi-arco{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.34em;fill:var(--ouro-tinta)}
.vi-arco--vivo{font-family:var(--serifa);font-size:19px;letter-spacing:.24em;fill:var(--tinta);transition:opacity .35s ease}
.vi-arco--vivo.is-troca{opacity:0}

/* passos */
.vi-passos{list-style:none;margin:0;padding:0}
.vi-passo{min-height:76vh;display:flex;flex-direction:column;justify-content:center;padding:2rem 0;max-width:34rem}
.vi-passo:first-child{min-height:62vh}
.vi-onde{font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--caramelo-escuro);margin:0 0 .9rem}
.vi-h{font-family:var(--serifa);font-weight:400;font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin:0 0 1rem;color:var(--tinta);text-wrap:balance}
.vi-h em{font-style:italic;color:var(--ouro-tinta)}
.vi-passo p{font-size:1.125rem;line-height:1.6;margin:0 0 1rem}
.vi-passo p.vi-fala{font-family:var(--serifa);font-style:italic;font-size:clamp(1.3rem,1.7vw,1.5rem);line-height:1.3;color:var(--tinta);
  margin:1.2rem 0 0;padding-left:1.1rem;border-left:1px solid var(--filete)}
.vi-passo p.vi-fala--grande{font-size:clamp(1.5rem,2.2vw,2rem);border-left:0;padding-left:0}
.vi-passo p.vi-fala--miuda{font-size:1.2rem}
.vi-fala span{display:block;margin-top:.5rem;font-family:var(--sans);font-style:normal;font-weight:500;font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--caramelo-escuro)}
.vi-horas{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;margin:1.8rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--filete)}
.vi-horas dt{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--caramelo-escuro)}
.vi-horas dd{margin:.2rem 0 0;font-family:var(--serifa);font-size:1.7rem;color:var(--tinta)}
.vi-btn{margin-top:2rem;align-self:flex-start}

/* com JS: passo fora de foco esmaece */
.vi.vi-on .vi-passo{opacity:.3;transition:opacity .7s var(--curva)}
.vi.vi-on .vi-passo.is-ativo{opacity:1}

/* celular e tablet estreito: janela presa no topo, passos passam por baixo */
@media (max-width:860px){
  .vi{--vi-s:min(74vw,330px,44svh)}
  .vi{background:var(--papel)}
  .vi-luz{display:none}
  .vi-palco{grid-template-columns:minmax(0,1fr);gap:0}
  .vi-cab,.vi-passos,.vi-janela-col{grid-column:1;grid-row:auto}
  .vi-cab{padding-top:0;margin-bottom:1.5rem}
  .vi-passos{padding-bottom:calc(var(--vi-s) + 2rem)}
  .vi-janela-col{top:0;z-index:2;height:auto;padding:1.1rem 0 1.6rem;margin:0 calc(var(--margem) * -1);
    background:var(--papel)}
  .vi-janela-col::after{content:"";position:absolute;left:0;right:0;top:100%;height:2.4rem;pointer-events:none;
    background:linear-gradient(in oklab 180deg, var(--papel), rgb(246 240 230 / 0))}
  .vi-passo{min-height:56svh;padding:1.5rem 0;justify-content:flex-start}
  .vi-passo:first-child{min-height:48svh}
  .vi-passo:last-child{min-height:0;padding-bottom:0}
  .vi-arco{font-size:17px}
  .vi-arco--vivo{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
  .vi-quadro,.vi-quadro img,.vi-arco--vivo,.vi.vi-on .vi-passo{transition:none}
  .vi-janela{transform:none}
}

/* ===== av ===== */
/* Avaliações · prefixo av */
.av{--av-luz:30%;background:linear-gradient(in oklab 180deg,var(--noite),#0d231e 50%,var(--noite))}
.av-halos{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(in oklab closest-side circle at 50% 50%,rgb(214 164 65 / .16),rgb(214 164 65 / 0)) -12vw 50% / 70vw 70vw no-repeat,
    radial-gradient(in oklab closest-side circle at 50% 50%,rgb(176 149 122 / .2),rgb(176 149 122 / 0)) 105% -10% / 60vw 60vw no-repeat,
    radial-gradient(in oklab closest-side circle at 50% 50%,rgb(41 68 61 / .7),rgb(41 68 61 / 0)) 70% 120% / 80vw 60vw no-repeat}

.av-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:center}

/* ---------- selo ---------- */
.av-selo{position:relative;margin:0;width:100%;max-width:42rem;aspect-ratio:1;container-type:inline-size;justify-self:center}
.av-selo::before{content:"";position:absolute;inset:14%;border-radius:50%;z-index:-1;background:radial-gradient(in oklab closest-side circle,rgb(214 164 65 / .2),rgb(214 164 65 / .06) 60%,rgb(214 164 65 / 0))}
.av-selo::after{content:"";position:absolute;inset:-9%;border-radius:50%;border:1px solid rgb(214 164 65 / .14);pointer-events:none}
.av-selo__svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 22px rgb(214 164 65 / .18))}
.av-selo__letreiro{font-family:var(--sans);font-weight:600;font-size:44px;letter-spacing:12px;fill:var(--creme-2);opacity:.82}
.av-selo__nota{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.av-selo__num{font-family:var(--serifa);font-weight:400;font-size:30cqi;line-height:.9;letter-spacing:-.01em;padding:.04em .06em 0;
  background:linear-gradient(in oklab 110deg,#8c6224 0%,#b8893a 18%,#f3d68f 32%,#fff3cf 38%,#e8c06a 46%,#b8893a 62%,#f0d38c 78%,#9a6f2a 100%);
  background-size:260% 100%;background-position:var(--av-luz) 50%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 .02em .05em rgb(0 0 0 / .45))}
.av-selo__data{margin-top:.9cqi;font-family:var(--sans);font-weight:400;font-size:clamp(.68rem,1.9cqi,.78rem);letter-spacing:.24em;color:rgb(176 149 122 / .8)}
.av-selo__de{margin-top:1.6cqi;font-family:var(--sans);font-weight:500;font-size:clamp(.72rem,2.2cqi,.85rem);letter-spacing:.3em;text-transform:uppercase;color:var(--caramelo)}

/* ---------- texto ---------- */
.av-tit{margin-bottom:1.4rem}
.av-apoio{font-weight:300;font-size:1.125rem;line-height:1.6;max-width:34rem;margin:0 0 2.4rem;color:rgb(239 230 216 / .82)}

/* temas: números com tamanho pelo peso */
.av-temas{position:relative;display:flex;align-items:flex-end;gap:clamp(1rem,2.4vw,2.2rem);flex-wrap:wrap;padding-bottom:1.6rem;border-bottom:1px solid var(--filete)}
.av-tema{appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;color:var(--creme);display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;opacity:.6;transition:opacity .5s var(--curva)}
.av-tema:hover,.av-tema[aria-pressed="true"]{opacity:1}
.av-tema__n{position:relative;font-family:var(--serifa);line-height:.85;font-size:calc(1.5rem + (var(--av-peso) / 63) * 2.6rem)}
.av-tema[aria-pressed="true"] .av-tema__n{background:var(--ouro-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.av-tema__p{font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--caramelo)}
.av-tema[aria-pressed="true"] .av-tema__p{color:var(--ouro-claro)}
.av-marca{position:absolute;left:0;bottom:0;width:1.1rem;height:1.1rem;border-radius:50%;translate:calc(var(--av-x,1.2rem) - 50%) 50%;
  border:1px solid var(--ouro);background:var(--noite);box-shadow:inset 0 0 0 3px var(--noite),inset 0 0 0 4px rgb(214 164 65 / .8),0 0 14px rgb(214 164 65 / .45);
  transition:translate .9s var(--curva)}

/* palco da fala */
.av-palco{margin-top:2rem}
.av-legenda{margin:0 0 1.6rem;font-family:var(--serifa);font-style:italic;font-size:1.2rem;color:var(--ouro-claro);opacity:.9}
.av-legenda::before{content:"";display:inline-block;vertical-align:middle;width:1.6rem;height:1px;margin-right:.7rem;background:var(--ouro);opacity:.7}
.av-falas{display:grid;gap:2rem;isolation:isolate;min-height:11.5em}
.av-fala{margin:0}
.js .av-fala{grid-area:1/1;align-self:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .9s var(--curva),transform .9s var(--curva),visibility 0s .9s}
.js .av-fala.is-on{opacity:1;visibility:visible;transform:none;transition:opacity 1s var(--curva) .15s,transform 1s var(--curva) .15s,visibility 0s}
.av-fala p{position:relative;margin:0;font-family:var(--serifa);font-style:italic;font-size:clamp(1.7rem,2.75vw,2.7rem);line-height:1.18;color:var(--creme);text-wrap:pretty}
.av-fala p::before{content:"“";position:absolute;left:-.42em;top:-.38em;font-size:4.2em;line-height:1;font-style:normal;background:var(--ouro-metal);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5;z-index:-1}
.av-fala em{color:var(--ouro-claro)}
.av-fala footer{margin-top:1.3rem;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--caramelo)}
.av-resp{display:block;margin-top:.5rem;letter-spacing:.02em;text-transform:none;font-weight:300;font-size:1rem;color:rgb(239 230 216 / .7)}

.av-ctrl{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.av-prox{appearance:none;width:3.2rem;height:3.2rem;border-radius:999px;border:1px solid rgb(214 164 65 / .6);background:none;color:var(--ouro-claro);font-size:1.2rem;cursor:pointer;display:grid;place-items:center;transition:background .4s,transform .4s var(--curva)}
.av-prox:hover{background:rgb(214 164 65 / .12);transform:translateX(3px)}
.av-conta{font-family:var(--sans);font-size:.8rem;letter-spacing:.2em;color:var(--caramelo)}
.av-conta b{color:var(--creme);font-weight:500}
.av-fio{flex:1;height:1px;background:var(--filete);position:relative;overflow:hidden;min-width:2rem}
.av-fio i{position:absolute;inset:0;background:var(--ouro);transform-origin:0 50%;transform:scaleX(0)}
.av-fio.is-corre i{animation:av-corre var(--av-tempo,8s) linear forwards}
@keyframes av-corre{to{transform:scaleX(1)}}
.av-google{color:var(--ouro-claro);font-size:1rem;white-space:nowrap}

@media (max-width:979px){
  .av-grade{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .av-selo{max-width:min(30rem,88vw)}
  .av-fala p::before{left:-.12em;top:-.5em}
  .av-falas{padding-top:1.2rem}
}
/* coluna estreita (notebook pequeno e celular): régua só de números; a legenda diz o tema */
@media (max-width:520px),(min-width:980px) and (max-width:1180px){
  .av-temas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;align-items:end}
  .av-tema{align-items:center}
  .av-tema__p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .av-tema__n{font-size:calc(1.35rem + (var(--av-peso) / 63) * 1.9rem)}
}
@media (max-width:520px){
  .av-ctrl{flex-wrap:wrap}
  .av-fio{order:3;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  .js .av-fala,.js .av-fala.is-on{transition:none}
  .av-fio{display:none}
}

/* ===== pf ===== */
/* ===== Perguntas (prefixo pf) ===== */
.pf{overflow:clip}
.pf-defs{position:absolute;width:0;height:0}
.pf-luz{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(in oklab ellipse 55% 60% at 8% 20%, rgb(230 214 193 / .85), rgb(230 214 193 / 0) 70%),
    radial-gradient(in oklab ellipse 50% 55% at 95% 90%, rgb(41 68 61 / .08), rgb(41 68 61 / 0) 70%),
    var(--papel)}

.pf-topo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);column-gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.pf-topo .rot{grid-column:1 / -1}
.pf-tit{font-size:clamp(2.5rem,6.2vw,6.4rem);line-height:.98}
.pf-l{display:block}
.pf-apoio{margin:0 0 .6rem;font-size:1.125rem;line-height:1.6}

.pf-grade{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2.5rem,6vw,6.5rem);align-items:start}
.pf-lado{position:sticky;top:clamp(4rem,10vh,7rem)}

/* emblema: o anel duplo do selo com o número e o assunto da pergunta aberta */
.pf-emblema{width:min(24rem,100%);position:relative}
.pf-emblema::before{content:"";position:absolute;inset:6%;border-radius:50%;
  background:radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .2), rgb(214 164 65 / 0))}
.pf-emblema svg{position:relative;width:100%;height:auto}
.pf-emb-arco{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:9px;fill:var(--caramelo-escuro)}
.pf-emb-arco--b{font-size:16px;letter-spacing:7px;fill:var(--ouro-tinta)}
.pf-emb-num{font-family:var(--serifa);font-style:italic;font-size:124px;fill:var(--ouro-tinta)}
.pf-emb-troca{transition:opacity .45s var(--curva)}
.pf-emb-aneis circle{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--curva-traco)}
.pf-emb-aneis circle:last-child{transition-delay:.2s}
.pf-emblema.is-troca .pf-emb-aneis circle{stroke-dashoffset:1;transition:stroke-dashoffset .45s ease-in}
.pf-emblema.is-troca .pf-emb-troca{opacity:0}

/* lista */
.pf-lista{border-top:1px solid var(--filete)}
.pf-item{position:relative;border-bottom:1px solid var(--filete)}
.pf-item::before{content:"";position:absolute;z-index:-1;top:-2.5rem;bottom:-2.5rem;left:-6rem;right:calc(-1 * var(--margem) - 40vw);pointer-events:none;opacity:0;transition:opacity .9s var(--curva);
  background:
    radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .28), rgb(214 164 65 / 0)) calc(var(--pf-fx,7.8rem) - 6rem) calc(var(--pf-fy,5.9rem) - 6rem) / 12rem 12rem no-repeat,
    linear-gradient(in oklab 90deg, rgb(230 214 193 / 0), rgb(230 214 193 / .75) 9rem, rgb(230 214 193 / .3) 70%, rgb(230 214 193 / 0));
  -webkit-mask:linear-gradient(180deg, transparent, #000 2.5rem, #000 calc(100% - 2.5rem), transparent);
          mask:linear-gradient(180deg, transparent, #000 2.5rem, #000 calc(100% - 2.5rem), transparent)}
.pf-item.is-aberta::before{opacity:1}
.pf-h{margin:0;font:inherit}
.pf-bt{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:3.6rem minmax(0,1fr) 1.6rem;align-items:center;gap:clamp(1rem,2vw,1.6rem);padding:clamp(1.15rem,2vw,1.6rem) 0;color:var(--tinta)}
.pf-bt:focus-visible{outline:2px solid var(--ouro-tinta);outline-offset:4px;border-radius:8px}
.pf-num{position:relative;width:3.6rem;aspect-ratio:1;display:grid;place-items:center;font-family:var(--serifa);font-style:italic;font-size:1.45rem;color:var(--ouro-tinta)}
.pf-anel{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.pf-anel circle{fill:none;stroke:url(#pf-ouro);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--curva-traco)}
.pf-anel circle:nth-child(2){stroke-width:2}
.pf-anel circle:last-child{stroke-width:1.1;transition-delay:.18s}
.pf-anel .pf-guia{stroke:var(--ouro-tinta);stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0;opacity:.22;transition:opacity .4s}
.pf-bt:hover .pf-guia{opacity:.5}
.pf-item.is-aberta .pf-guia{opacity:0}
.pf-item.is-aberta .pf-anel circle{stroke-dashoffset:0}
.pf-q{font-family:var(--serifa);font-size:clamp(1.35rem,1.9vw,1.9rem);line-height:1.2;color:var(--tinta-2);transition:color .4s}
.pf-item.is-aberta .pf-q{color:var(--tinta)}
.pf-bt:hover .pf-q{color:var(--ouro-tinta)}
.pf-mais{position:relative;width:1.2rem;height:1.2rem;justify-self:end}
.pf-mais::before,.pf-mais::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.5px;background:var(--ouro-tinta);transition:transform .5s var(--curva)}
.pf-mais::after{transform:rotate(90deg)}
.pf-item.is-aberta .pf-mais::after{transform:rotate(0)}

.pf-r{display:grid;grid-template-rows:1fr}
.pf-r-in{overflow:hidden;min-height:0;padding:0 2.8rem 0 calc(3.6rem + clamp(1rem,2vw,1.6rem))}
.pf-r-in > :first-child{margin-top:0}
.pf-r-in > :last-child{margin-bottom:clamp(1.4rem,2.4vw,2rem)}
.pf-r p{font-size:1.2rem;color:var(--tinta);line-height:1.65;max-width:38rem;margin:0 0 1rem}
.js .pf-r{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .7s var(--curva),visibility 0s .7s}
.js .pf-item.is-aberta .pf-r{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .7s var(--curva),visibility 0s 0s}

.pf-fala{margin:1.2rem 0 0;padding-left:1.2rem;border-left:1px solid var(--filete)}
.pf-fala p{font-family:var(--serifa);font-style:italic;font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.3;color:var(--tinta);margin:0 0 .4rem}
.pf-fala footer{font-size:.78rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--caramelo-escuro)}
.pf-link{color:var(--ouro-tinta);font-weight:500;text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgb(138 100 36 / .5)}

.pf-fim{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin:clamp(2.4rem,4vw,3.6rem) 0 0;padding-left:calc(3.6rem + clamp(1rem,2vw,1.6rem));font-family:var(--serifa);font-size:clamp(1.45rem,2vw,1.75rem);color:var(--tinta)}
.pf-fim .btn-verde{font-family:var(--sans)}

@media (max-width:899px){
  .pf-topo{grid-template-columns:minmax(0,1fr);margin-bottom:0}
  .pf-tit{font-size:clamp(2.2rem,9.6vw,3.4rem);grid-column:1 / -1}
  .pf-apoio{grid-column:1 / -1;margin-top:1.2rem}
  .pf-grade{grid-template-columns:minmax(0,1fr);gap:0}
  .pf-lado{position:relative;top:auto;width:11rem;margin:2rem auto 2.4rem}
  .pf-bt{grid-template-columns:2.9rem minmax(0,1fr) 1.2rem;gap:.9rem}
  .pf-num{width:2.9rem;font-size:1.2rem}
  .pf-r-in{padding:0 0 0 calc(2.9rem + .9rem)}
  .pf-r p{font-size:1.125rem}
  .pf-fim{padding-left:0}
  .pf-item::before{left:-5rem;right:calc(-1 * var(--margem));--pf-fx:6.45rem;--pf-fy:5.6rem}
}
@media (prefers-reduced-motion:reduce){
  .pf-anel circle,.js .pf-r,.js .pf-item.is-aberta .pf-r,.pf-mais::before,.pf-mais::after,.pf-emb-troca,.pf-emb-aneis circle,.pf-emblema.is-troca .pf-emb-aneis circle{transition:none}
}

/* ===== ct ===== */
/* ===== Contato / como chegar (prefixo ct) ===== */
.ct{overflow:clip;padding-bottom:clamp(4rem,8vw,7rem)}
.ct-malha,.ct-malha::before,.ct-malha::after{position:absolute;pointer-events:none}
.ct-malha{inset:0;z-index:-1;
  background:
    radial-gradient(in oklab circle at 70% -10%, rgb(41 68 61 / .95), rgb(41 68 61 / 0) 55%),
    radial-gradient(in oklab ellipse 60% 70% at 0% 100%, rgb(11 29 25 / 1), rgb(11 29 25 / 0) 70%),
    linear-gradient(in oklab 180deg, #1a352e 0%, #0f2a24 55%, #0b1d19 100%)}
.ct-malha::before{content:"";width:64vmax;height:64vmax;left:44%;top:-14vmax;
  background:radial-gradient(in oklab closest-side circle, rgb(176 149 122 / .24), rgb(176 149 122 / 0));
  animation:ct-respira-a 34s ease-in-out infinite alternate}
.ct-malha::after{content:"";width:52vmax;height:52vmax;left:-10%;bottom:-20vmax;
  background:radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .15), rgb(214 164 65 / 0));
  animation:ct-respira-b 27s ease-in-out infinite alternate}
@keyframes ct-respira-a{from{transform:translate(-6%,0) scale(1)}to{transform:translate(4%,6%) scale(1.12)}}
@keyframes ct-respira-b{from{transform:translate(0,0) scale(1.05);opacity:.8}to{transform:translate(10%,-6%) scale(.95);opacity:1}}

.ct-grade{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.ct-tit{font-size:clamp(2.4rem,4.6vw,4.6rem)}
.ct-end{font-style:normal;margin:clamp(1.6rem,3vw,2.4rem) 0 0;display:grid;gap:.15rem;font-weight:300;font-size:1.125rem;line-height:1.55;color:var(--creme)}
.ct-end-1{font-family:var(--serifa);font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.25;color:var(--creme);margin-bottom:.35rem}
.ct-passos{list-style:none;margin:clamp(1.8rem,3vw,2.4rem) 0 0;padding:0;display:grid;gap:1rem;max-width:32rem}
.ct-passos li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;align-items:start}
.ct-pn{width:2.6rem;aspect-ratio:1;border-radius:50%;border:1px solid rgb(214 164 65 / .6);box-shadow:inset 0 0 0 3px var(--garrafa-0),inset 0 0 0 4px rgb(214 164 65 / .35);display:grid;place-items:center;font-family:var(--serifa);font-style:italic;font-size:1.15rem;color:var(--ouro-claro)}
.ct-passos p{margin:.3rem 0 0;font-weight:300;font-size:1.125rem;line-height:1.5;color:var(--creme-2)}
.ct-passos strong{font-weight:500;color:var(--creme)}
.ct-canais{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:0;border-top:1px solid rgb(214 164 65 / .2)}
.ct-canais a{display:flex;align-items:center;gap:1rem;min-height:3rem;padding:.6rem 0;border-bottom:1px solid rgb(214 164 65 / .2);color:var(--creme);text-decoration:none;font-size:1.125rem;transition:color .4s}
.ct-canais a span{flex:0 0 7rem;font-size:.75rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--caramelo)}
.ct-canais b{font-weight:400;background:linear-gradient(var(--ouro),var(--ouro)) 0 100% / 0 1px no-repeat;padding-bottom:2px;transition:background-size .5s var(--curva)}
.ct-canais i{font-style:normal;color:var(--ouro);margin-left:auto;transition:transform .4s var(--curva)}
.ct-canais a:hover{color:var(--ouro-claro)}
.ct-canais a:hover b{background-size:100% 1px}
.ct-canais a:hover i{transform:translate(2px,-2px)}

/* o selo com o mapa */
.ct-selo{position:relative;aspect-ratio:1;width:min(40rem,calc(100% + 6vw));justify-self:end;margin-right:calc(-1 * min(6vw,5rem))}
.ct-selo::before{content:"";position:absolute;inset:-6%;border-radius:50%;
  background:radial-gradient(in oklab closest-side circle, rgb(214 164 65 / .16), rgb(214 164 65 / 0))}
.ct-aneis{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ct-tr{stroke-dasharray:1;stroke-dashoffset:0}
.js .ct-tr{stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--curva-traco)}
.js .ct-tr:nth-child(2){transition-delay:.2s}
.js .ct-tr:nth-child(3){transition-delay:.4s}
.js .ct-tr:nth-child(4){transition-delay:.55s}
.js .ct-selo.is-desenhado .ct-tr{stroke-dashoffset:0}
.ct-arco{font-family:var(--sans);font-weight:600;font-size:19px;letter-spacing:7px;fill:var(--creme-2);opacity:.7}
.ct-arco--b{font-size:17px;letter-spacing:9px;fill:var(--caramelo);opacity:.9}

.ct-mapa{position:absolute;inset:calc(100% * 80 / 600);border-radius:50%;overflow:hidden;clip-path:circle(50% at 50% 50%);isolation:isolate;
  background:radial-gradient(in oklab circle at 50% 40%, #29443d, #0f2a24 70%, #0b1d19)}
.ct-capa{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:.2rem;text-align:center;
  background:
    repeating-radial-gradient(circle at 50% 46%, rgb(214 164 65 / 0) 0 46px, rgb(214 164 65 / .05) 46px 47px)}
.ct-coord{margin-top:.5rem;font-size:.74rem;font-weight:400;letter-spacing:.14em;color:var(--caramelo);font-variant-numeric:lining-nums}
.ct-ponto{position:relative;width:14px;height:14px;border-radius:50%;background:var(--ouro-metal);box-shadow:0 0 26px rgb(214 164 65 / .6)}
.ct-ponto::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgb(214 164 65 / .5);animation:ct-halo 4.5s ease-in-out infinite}
@keyframes ct-halo{0%,100%{transform:scale(.8);opacity:.9}50%{transform:scale(1.35);opacity:.15}}
.ct-835{font-family:var(--serifa);font-size:clamp(4rem,8vw,6.6rem);line-height:1;color:var(--ouro-claro);margin-top:.4rem}
.ct-andar{font-size:.78rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--caramelo)}
.ct-ver{position:absolute;left:50%;bottom:15%;white-space:nowrap;translate:-50% 0;z-index:2;font:600 .95rem/1 var(--sans);letter-spacing:.04em;color:var(--creme);background:rgb(11 29 25 / .55);border:1px solid rgb(214 164 65 / .55);border-radius:999px;padding:.8rem 1.3rem;cursor:pointer;transition:background .4s,color .4s}
.ct-ver:hover{background:var(--ouro);color:#10251f}
.ct-moldura{position:absolute;inset:0;z-index:3;opacity:0;transition:opacity .8s var(--curva);pointer-events:none}
.ct-moldura iframe{position:absolute;left:-14%;top:-14%;width:128%;height:128%;border:0;-webkit-mask:radial-gradient(circle closest-side, #000 77.6%, transparent 78.1%);mask:radial-gradient(circle closest-side, #000 77.6%, transparent 78.1%)}
.ct-mapa.is-mapa .ct-moldura{opacity:1;pointer-events:auto}
.ct-mapa.is-mapa .ct-ver{display:none}

/* semana */
.ct-semana{margin-top:clamp(3rem,5vw,4.5rem);padding-top:clamp(2rem,3vw,2.6rem);border-top:1px solid var(--filete)}
.ct-agora{display:flex;align-items:center;gap:.9rem;margin:0 0 1.8rem;font-family:var(--sans);font-weight:300;font-size:clamp(1.35rem,1.9vw,1.75rem);letter-spacing:.01em;color:var(--creme)}
.ct-agora-ponto{width:10px;height:10px;border-radius:50%;background:var(--caramelo);flex:none}
.ct-semana.is-aberto .ct-agora-ponto{background:var(--ouro);box-shadow:0 0 0 5px rgb(214 164 65 / .2)}
.ct-dias{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ct-dias li{position:relative;display:grid;gap:.35rem;padding:1.1rem .9rem 1.2rem;border-left:1px solid rgb(214 164 65 / .2);border-top:2px solid transparent}
.ct-dias li:first-child{border-left:0}
.ct-dn{font-size:.78rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--caramelo)}
.ct-h{font-family:var(--sans);font-weight:300;font-size:clamp(1.15rem,1.55vw,1.45rem);color:var(--creme);font-variant-numeric:lining-nums}
.ct-fechado .ct-h{color:var(--caramelo)}
.ct-dias li.is-hoje{border-top-color:var(--ouro);background:radial-gradient(in oklab closest-side circle at 50% 0%, rgb(214 164 65 / .2), rgb(214 164 65 / 0)) 0 0 / 100% 200% no-repeat}
.ct-dias li.is-hoje .ct-dn{color:var(--ouro)}
.ct-dias li.is-hoje .ct-dn::after{content:" · hoje";letter-spacing:.2em}
.ct-dias li.is-hoje .ct-h{color:var(--ouro-claro);font-weight:400}

/* fecho */
.ct-fecho{margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(1rem,2vw,2rem);text-align:center;display:grid;justify-items:center;gap:2.2rem}
.ct-fecho-tit{margin:0;font-family:var(--serifa);font-size:clamp(2.1rem,5.2vw,5.4rem);line-height:1.04;color:var(--creme)}
.ct-fl{display:block}
.ct-corredor{display:block;width:1px;height:clamp(4rem,8vw,7rem);background:linear-gradient(in oklab 180deg, rgb(214 164 65 / 0), rgb(214 164 65 / .7));position:relative}
.ct-corredor::after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--ouro)}
.ct-fecho-tit em{color:var(--ouro-claro)}
.ct-fecho-acoes{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.6rem}
.ct-num{font-size:1.125rem;font-weight:400;letter-spacing:.06em;color:var(--creme);text-decoration:underline;text-decoration-color:rgb(214 164 65 / .6);text-underline-offset:.35em;padding:.7rem 0}
.ct-num:hover{color:var(--ouro-claro)}

@media (max-width:899px){
  .ct-grade{grid-template-columns:minmax(0,1fr)}
  .ct-selo{width:min(26rem,100%);justify-self:center;margin-right:0}
  .ct-arco{font-size:22px}
  .ct-835{font-size:4.2rem}
  .ct-capa{align-content:start;padding-top:21%}
  .ct-ver{bottom:13%;padding:.7rem 1.1rem;font-size:.9rem}
  .ct-dias li.is-hoje{background:linear-gradient(in oklab 90deg, rgb(214 164 65 / .14), rgb(214 164 65 / 0) 70%)}
  .ct-dias li{padding:.65rem .6rem;border-top:0;border-left:2px solid transparent}
  .ct-dias li.is-hoje{border-left-color:var(--ouro)}
  .ct-fecho-tit{font-size:clamp(2.1rem,9.4vw,2.8rem)}
  .ct-fq{display:block}
  .ct-dias{grid-template-columns:minmax(0,1fr)}
  .ct-dias li{grid-template-columns:7.5rem 1fr;align-items:baseline;border-bottom:1px solid rgb(214 164 65 / .16)}
  .ct-dias li:first-child{border-left:2px solid transparent}
}
@media (max-width:599px){.ct-coord{display:none}}
@media (prefers-reduced-motion:reduce){
  .ct-malha::before,.ct-malha::after,.ct-ponto::after{animation:none}
  .js .ct-tr{stroke-dashoffset:0;transition:none}
  .ct-moldura{transition:none}
}

/* ===== rp ===== */
.rp{padding-top:clamp(5rem,10vw,8rem);padding-bottom:2rem;border-top:1px solid rgb(214 164 65 / .25)}
.rp-luz{position:absolute;z-index:-1;left:50%;top:-12rem;width:min(70rem,140vw);aspect-ratio:1;translate:-50% 0;background:radial-gradient(in oklab closest-side circle,rgb(214 164 65 / .16),rgb(41 68 61 / .18) 45%,rgb(11 29 25 / 0));pointer-events:none}
.rp-topo{display:flex;flex-direction:column;align-items:center;text-align:center}
.rp-selo{width:clamp(9rem,16vw,12.5rem);aspect-ratio:1;filter:drop-shadow(0 0 22px rgb(214 164 65 / .28))}
.rp-selo svg{width:100%;height:100%}
.rp-letreiro text{fill:var(--creme-2);opacity:.75}
.rp-l-nome{font-family:var(--serifa);font-size:104px;letter-spacing:6px}
.rp-l-est{font-family:var(--sans);font-weight:600;font-size:74px;letter-spacing:46px}
.rp-frase{font-family:var(--serifa);font-size:clamp(1.9rem,3.2vw,2.8rem);letter-spacing:.08em;margin:1.6rem 0 .3rem;color:var(--creme)}
.rp-frase em{font-style:italic;color:var(--ouro-claro)}
.rp-desde{margin:0;font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;color:var(--caramelo)}
.rp-grade{margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid rgb(214 164 65 / .22);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 3rem;text-align:center}
.rp-rot{font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ouro);margin:0 0 1rem}
.rp-col address,.rp-col p{font-style:normal;margin:0;font-weight:400;font-size:1.06rem;line-height:1.85;color:rgb(239 230 216 / .9)}
.rp-col a{color:inherit;text-decoration:none;border-bottom:1px solid rgb(214 164 65 / .4);transition:color .3s,border-color .3s}
.rp-col a:hover{color:var(--ouro-claro);border-color:var(--ouro)}
.rp-mais{display:inline-block;margin-top:.8rem;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}
.rp-base{margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.4rem;border-top:1px solid rgb(214 164 65 / .16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;font-size:.88rem;color:rgb(239 230 216 / .66)}
.rp-base p{margin:0}
.rp-wf a{color:var(--ouro-claro);text-underline-offset:.25em;font-weight:500}
@media (max-width:860px){.rp-grade{grid-template-columns:minmax(0,1fr);gap:2.2rem}.rp-base{justify-content:center;text-align:center}.rp{padding-bottom:6.5rem}}
/* rodada 3 */
.rp-selo{width:clamp(11rem,19vw,15rem)}
.rp-ouro path{stroke-width:15}
.rp-ouro path:nth-child(-n+4){stroke-width:8}
.js .rp-ouro path{transition:stroke-dashoffset 2.6s var(--curva-traco)}
.rp-agora{margin-top:1rem !important;display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem !important;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-claro) !important}
.rp-agora::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--ouro);box-shadow:0 0 0 4px rgb(214 164 65 / .18)}
.rp-agora.is-fechado{color:var(--caramelo) !important}
.rp-agora.is-fechado::before{background:transparent;border:1px solid var(--caramelo);box-shadow:none}
