/* Dr. Felipe Augusto · site v3 · marca final do handoff da EIRA (27/10/2026): Overused Grotesk, paleta Floresta/Oliva/Pedra/Água/Ruptura, texturas reais de papel. */

:root{
  /* paleta final · handoff EIRA 27/10/2026 */
  --floresta:#293B2A; --oliva:#3B3520; --pedra:#DAD4C8; --agua:#8EADA7; --ruptura:#B7F089;
  /* apelidos de compatibilidade (nomes antigos apontam para a paleta final) */
  --noite:var(--floresta); --floresta-2:var(--floresta); --oliva-clara:var(--oliva); --creme:var(--pedra);
  --tinta:var(--floresta); --tinta-2:var(--oliva); --folha:var(--agua); --menta:var(--agua);
  /* tipo: Overused Grotesk; a serifada existe só dentro do logo em vetor */
  --sans:"Overused Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:var(--sans);
  /* grade */
  --m:clamp(11.9px,3.23vw,42.7px); --col:clamp(7.1px,1.54vw,18.9px); --max:1293.6px;
  --ease:cubic-bezier(.22,.7,.16,1);
}
@font-face{font-family:"Overused Grotesk";src:url(fonts/og-book.woff) format("woff");font-weight:300 350;font-display:swap}
@font-face{font-family:"Overused Grotesk";src:url(fonts/og-roman.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Overused Grotesk";src:url(fonts/og-medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Overused Grotesk";src:url(fonts/og-semibold.woff) format("woff");font-weight:600 800;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--creme);color:var(--tinta);font-family:var(--sans);font-weight:400;font-size:13.1px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,li{text-wrap:balance}
p{text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* superfícies */
.s-floresta{background:var(--floresta);color:var(--creme)}
.s-noite{background:var(--noite);color:var(--creme)}
.s-oliva{background:var(--oliva-clara);color:var(--creme)}
.s-oliva-escura{background:var(--oliva);color:var(--creme)}
.s-pedra{background:var(--pedra);color:var(--tinta)}
.s-creme{background:var(--creme);color:var(--tinta)}
.s-agua{background:var(--agua);color:var(--tinta)}
.papel{position:relative;isolation:isolate}
.papel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .5  0 0 0 0 .42  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.grao::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>")}

/* campo de luz verde (referência Pinterest: luz vazada, foco suave) */
.luz{position:absolute;inset:-10%;z-index:0;pointer-events:none;filter:blur(30.8px) saturate(1.05);opacity:.95}
.luz i{position:absolute;border-radius:50%;will-change:transform}
.luz i:nth-child(1){width:62vmax;height:62vmax;left:38%;top:-22%;background:radial-gradient(closest-side,rgba(142,173,167,.55),rgba(41,59,42,.28) 45%,transparent 72%);animation:deriva 34s var(--ease) infinite alternate}
.luz i:nth-child(2){width:48vmax;height:48vmax;left:-12%;top:30%;background:radial-gradient(closest-side,rgba(142,173,167,.42),rgba(41,59,42,.0) 70%);animation:deriva 41s var(--ease) infinite alternate-reverse}
.luz i:nth-child(3){width:26vmax;height:70vmax;left:70%;top:10%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(183,240,137,.16) 45%,rgba(142,173,167,.32) 52%,transparent);animation:faixa 26s var(--ease) infinite alternate}
@keyframes deriva{to{transform:translate3d(-6%,5%,0) scale(1.08)}}
@keyframes faixa{to{transform:translate3d(-14%,4%,0) rotate(14deg)}}
.s-pedra .luz,.s-creme .luz{opacity:.55;mix-blend-mode:multiply}
@media (prefers-reduced-motion:reduce){.luz i{animation:none}}

/* cabeçalho */
.topo{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18.5px;
  padding:13.9px var(--m);color:var(--creme);transition:background .6s var(--ease),color .6s var(--ease),padding .6s var(--ease)}
.topo.claro{color:var(--tinta)}
.topo.fixo{background:rgba(218,212,200,.86);backdrop-filter:blur(10.8px) saturate(1.2);-webkit-backdrop-filter:blur(10.8px) saturate(1.2);color:var(--tinta);padding-block:9.2px}
.topo .marca{width:clamp(78.2px,8.47vw,99.6px);flex:0 0 auto}
.topo nav{display:flex;align-items:center;gap:clamp(8.3px,1.54vw,17.8px);font-size:10.8px;letter-spacing:.01em}
.topo nav a.l{opacity:.78;transition:opacity .3s}
.topo nav a.l:hover{opacity:1}
.btn{display:inline-flex;align-items:center;gap:7.7px;padding:9.2px 13.9px;border-radius:769.2px;font-size:10.8px;font-weight:500;
  background:var(--creme);color:var(--floresta);transition:transform .4s var(--ease),background .4s,color .4s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn.esc{background:var(--floresta);color:var(--creme)}
.btn.rup{background:var(--ruptura);color:var(--floresta)}
.btn.vaz{background:transparent;box-shadow:inset 0 0 0 1px currentColor;color:inherit}
.topo.fixo .btn,.topo.claro .btn{background:var(--floresta);color:var(--creme)}
.menu{display:none;background:none;border:0;color:inherit;font:inherit;font-size:10.8px;cursor:pointer}
@media (max-width:980px){
  .topo nav a.l{display:none}
  .topo nav .btn.so-desk{display:none}
}

/* tipografia */
.mono{font-family:var(--sans);font-weight:500;letter-spacing:-.045em;line-height:.9}
.h-mon{font-size:clamp(32px,8.01vw,116.2px)}
.h-xl{font-size:clamp(26.1px,5.39vw,75.9px)}
.h-l{font-size:clamp(21.3px,3.54vw,49.8px);letter-spacing:-.035em;line-height:.98}
.h-m{font-size:clamp(16.6px,2.31vw,30.8px);letter-spacing:-.028em;line-height:1.04;font-weight:500}
.h-s{font-size:clamp(12.5px,1.31vw,16.6px);letter-spacing:-.018em;line-height:1.18;font-weight:500}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.012em}
.rot{font-size:9.2px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.rot.f{opacity:.62}
.corpo{font-size:clamp(9.5px,0.85vw,10.7px);line-height:1.55;max-width:46ch}
.corpo.g{font-size:clamp(10.7px,1.04vw,13px);line-height:1.45;max-width:38ch;letter-spacing:-.008em}
.nw{white-space:nowrap}
.t-agua{color:var(--agua)} .t-menta{color:var(--menta)} .t-rup{color:var(--ruptura)} .t-folha{color:var(--folha)}

/* seções e grade */
section{position:relative;overflow:hidden}
.sec{padding:clamp(56.9px,10.01vw,118.6px) var(--m)}
.sec.c{padding-block:clamp(42.7px,6.93vw,83px)}
.in{max-width:var(--max);margin:0 auto;position:relative;z-index:1}
.grade{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col);row-gap:37px}
.cab{display:flex;justify-content:space-between;align-items:baseline;gap:18.5px;margin-bottom:clamp(23.7px,4.62vw,56.9px)}
.pag{font-size:9.2px;letter-spacing:.14em;opacity:.55;font-variant-numeric:tabular-nums}

/* hero */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(71.1px,11.55vh,100.8px) var(--m) clamp(16.6px,3.08vw,33.2px)}
.hero h1{max-width:13ch;position:relative;z-index:1}
.hero .base{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col);row-gap:21.6px;align-items:end;margin-top:49.3px}
.hero .base .txt{grid-column:1 / span 4}
.portas{grid-column:6 / span 7;display:grid;grid-template-columns:1fr 1fr;gap:var(--col)}
.porta{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:169.4px;padding:20px 20px 16.9px;border-radius:4.6px;
  background:rgba(218,212,200,.08);backdrop-filter:blur(13.9px) saturate(1.15);-webkit-backdrop-filter:blur(13.9px) saturate(1.15);
  box-shadow:inset 0 0 0 1px rgba(218,212,200,.16);transition:background .5s var(--ease),transform .5s var(--ease)}
.porta:hover{background:rgba(218,212,200,.16);transform:translateY(-4px)}
.porta .n{font-size:9.2px;letter-spacing:.14em;opacity:.7}
.porta strong{display:block;font-weight:500;font-size:clamp(14.2px,1.69vw,21.3px);letter-spacing:-.03em;line-height:1.02;margin:30.8px 0 7.7px}
.porta span{font-size:10.8px;opacity:.78;line-height:1.4}
.porta .seta{position:absolute;right:16.9px;top:16.9px;width:16.9px;height:16.9px;transition:transform .5s var(--ease)}
.porta:hover .seta{transform:translate(3.1px,-4px)}
.porta.cl{background:var(--creme);color:var(--floresta);box-shadow:none}
.porta.cl:hover{background:#E4DFD5}
@media (max-width:980px){
  .hero .base .txt{grid-column:1 / -1}
  .portas{grid-column:1 / -1}
}
@media (max-width:560px){.portas{grid-template-columns:1fr}.porta{min-height:168px}.porta strong{margin-top:28px}}

/* blocos */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16.6px,2.31vw,33.2px)}
.cols4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14.2px,1.85vw,26.1px)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--col)}
@media (max-width:980px){.cols3,.cols4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cols3,.cols4,.cols2{grid-template-columns:1fr}}
.item .num{font-family:var(--sans);font-weight:500;font-size:clamp(23.7px,3.08vw,38px);letter-spacing:-.04em;line-height:1;margin-bottom:16.9px;font-variant-numeric:tabular-nums}
.item .rot{display:block;margin-bottom:9.2px}
.item p{font-size:12.3px;line-height:1.5;opacity:.86;max-width:34ch}

.jornada{display:grid;grid-template-columns:1fr 1fr;gap:var(--col)}
.jornada a{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(249px,35.42vw,367.6px);padding:clamp(16.6px,2.31vw,30.8px);border-radius:4.6px;overflow:hidden;isolation:isolate;transition:transform .6s var(--ease)}
.jornada a:hover{transform:translateY(-6px)}
.jornada .lista{display:flex;flex-wrap:wrap;gap:6.2px;margin-top:21.6px}
.jornada .lista span{font-size:10px;padding:5.4px 9.2px;border-radius:769.2px;background:rgba(0,0,0,.08)}
.s-floresta .jornada .lista span,.jornada .s-floresta .lista span{background:rgba(218,212,200,.12)}
@media (max-width:820px){.jornada{grid-template-columns:1fr}}

.atos{display:grid;grid-template-columns:repeat(4,minmax(200.2px,1fr));gap:var(--col)}
.ato{padding-top:21.6px}
.ato .num{font-size:clamp(38px,5.39vw,75.9px);font-weight:500;letter-spacing:-.05em;line-height:.9;opacity:.9}
.ato h3{font-size:clamp(13px,1.39vw,17.8px);letter-spacing:-.02em;font-weight:500;margin:16.9px 0 7.7px}
.ato p{font-size:12.3px;opacity:.82;max-width:30ch}
@media (max-width:1100px){.atos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.atos{grid-template-columns:1fr}}

.citacao{font-family:var(--serif);font-size:clamp(17.8px,2.77vw,36.7px);line-height:1.08;letter-spacing:-.018em;max-width:22ch}
.citacao em{font-style:italic}
.fala{font-family:var(--serif);font-size:clamp(13px,1.46vw,17.8px);line-height:1.22;letter-spacing:-.01em}
.fala+.rot{display:block;margin-top:13.9px}

/* selo (referência MPB / selos postais do Pinterest) */
.selo{--p:6.9px;position:relative;width:clamp(118.6px,15.4vw,166px);aspect-ratio:4/5;padding:9.2px;background:var(--creme);color:var(--floresta);
  -webkit-mask:radial-gradient(circle at center,transparent 3.5px,#000 3.9px) -9px -9px/13.9px 13.9px round, linear-gradient(#000,#000) content-box;
  -webkit-mask-composite:source-over;mask:radial-gradient(circle,transparent 3.5px,#000 3.9px) -9px -9px/13.9px 13.9px round,linear-gradient(#000 0 0) content-box;
  filter:drop-shadow(0 0 0 transparent)}
.selo .cx{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:13.9px;background:var(--floresta);color:var(--creme);position:relative;overflow:hidden}
.selo .cx .luz{inset:-30%;filter:blur(13.9px)}
.selo .cx>*{position:relative;z-index:1}
.selo .v{font-size:33.9px;font-weight:600;letter-spacing:-.05em;line-height:.9}
.selo .t{font-size:9.2px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}

.pautas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col)}
.pauta{display:flex;flex-direction:column;justify-content:space-between;min-height:200.2px;padding:20px;border-radius:4.6px;background:rgba(255,255,255,.42);transition:background .4s,transform .5s var(--ease)}
.pauta:hover{background:rgba(255,255,255,.7);transform:translateY(-3px)}
.pauta h3{font-size:clamp(12.5px,1.23vw,15.4px);letter-spacing:-.02em;line-height:1.15;font-weight:500;margin-top:20px}
.pauta .pe{display:flex;justify-content:space-between;font-size:10px;opacity:.6;margin-top:21.6px}
@media (max-width:980px){.pautas{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pautas{grid-template-columns:1fr}}

.faq{max-width:847px}
.faq details{padding:20px 0;border-radius:0}
.faq details+details{margin-top:3.1px}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18.5px;font-size:clamp(11.9px,1.31vw,16.6px);letter-spacing:-.02em;font-weight:500;line-height:1.2}
.faq summary::-webkit-details-marker{display:none}
.faq summary .mais{flex:0 0 auto;width:23.1px;height:23.1px;border-radius:50%;display:grid;place-items:center;background:rgba(41,59,42,.08);transition:transform .5s var(--ease)}
.faq details[open] summary .mais{transform:rotate(45deg)}
.faq details p{margin-top:12.3px;max-width:62ch;font-size:13.1px;opacity:.86}
.faq details:nth-child(odd){background:transparent}

/* rodapé */
.rodape{padding:clamp(42.7px,6.93vw,75.9px) var(--m) 24.6px}
.rodape .marca-g{width:min(431.2px,78vw);margin-bottom:clamp(33.2px,5.39vw,65.2px)}
.rodape .linhas{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col);row-gap:27.7px;font-size:10.8px;line-height:1.6}
.rodape .linhas>div{grid-column:span 3}
.rodape .linhas .rot{margin-bottom:9.2px;display:block}
.rodape .aviso{grid-column:1 / span 6 !important;opacity:.7}
@media (max-width:900px){.rodape .linhas>div{grid-column:span 6}.rodape .aviso{grid-column:1 / -1 !important}}
@media (max-width:520px){.rodape .linhas>div{grid-column:1 / -1}}
.assina{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15.4px;margin-top:clamp(33.2px,5.39vw,56.9px);font-size:10px;opacity:.85}
.powered{display:inline-flex;align-items:center;gap:9.2px;opacity:.9;transition:opacity .3s}
.powered:hover{opacity:1}
.powered small{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.powered svg{height:11.6px;width:auto}

/* provisórios (modo revisão: ?revisao) */
.prov{position:relative}
.revisao .prov{outline:1px dashed var(--ruptura);outline-offset:3.1px}
.revisao .prov::after{content:attr(data-prov);position:absolute;left:0;top:calc(100% + 6.2px);z-index:5;font:600 7.7px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;
  background:var(--ruptura);color:var(--floresta);padding:3.1px 5.4px;border-radius:2.3px;white-space:nowrap}
.aviso-rev{position:fixed;left:12.3px;bottom:12.3px;z-index:60;font:500 9.2px/1.2 var(--sans);padding:7.7px 10.8px;border-radius:769.2px;background:var(--ruptura);color:var(--floresta);cursor:pointer;border:0}

/* entrada (movimento discreto) */
.rev{opacity:0;transform:translate3d(0,20px,0);filter:blur(4.6px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}
.rev.on{opacity:1;transform:none;filter:none}
.rev.h{transform:translate3d(-38px,0,0)}
.rev.h.on{transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;filter:none;transition:none}}
.linha-letras .w{display:inline-block;white-space:nowrap}
.linha-letras .l{display:inline-block;opacity:0;filter:blur(6.2px);transform:translateY(.12em);transition:opacity .9s var(--ease),filter .9s var(--ease),transform .9s var(--ease)}
.linha-letras.on .l{opacity:1;filter:none;transform:none}

.selo .t b{display:block;font-weight:inherit}
.rodape a.bl{display:block}
@media (max-width:820px){
  .grade>*{grid-column:1 / -1 !important;justify-self:start !important}
  .h-mon{font-size:clamp(23.7px,8.62vw,56.9px)}
  .h-xl{font-size:clamp(22.6px,7.7vw,47.4px)}
}

/* ===== V2 TESTE · fotos Soul Cinema + travelling no scroll ===== */
.fundo{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fundo img{width:100%;height:100%;object-fit:cover;opacity:var(--op,.5);transform:scale(1.04)}
.hero>.fundo img{animation:respira 26s var(--ease) infinite alternate}
@keyframes respira{to{transform:scale(1.12) translate3d(-1.5%,1%,0)}}
.hero>.fundo video{animation:respira 26s var(--ease) infinite alternate}
.fundo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.6s var(--ease)}
.fundo.tocando video{opacity:var(--op,.5)}
@media (prefers-reduced-motion:reduce){.hero>.fundo img,.hero>.fundo video{animation:none}.fundo video{display:none}}
.jornada a>.fundo img{transition:transform 1.2s var(--ease)}
.jornada a:hover>.fundo img{transform:scale(1.09)}
.foto{position:relative;overflow:hidden;border-radius:4.6px;margin:0;background:var(--noite)}
.foto img{width:100%;height:100%;object-fit:cover;display:block}
.ato-foto{aspect-ratio:4/5;margin-bottom:21.6px}
.foto-alta{aspect-ratio:3/4;margin-top:30.8px;max-width:323.4px}
.foto-larga{aspect-ratio:16/9}
.faixa{height:min(78vh,631.4px);position:relative}
.faixa-foto{position:absolute;inset:0;border-radius:0}
.faixa-foto img{transform:translateY(var(--py,0)) scale(1.18);will-change:transform}

/* travelling: o vídeo anda com o scroll (quadros num canvas) */
.travelling{height:460vh;background:#0e150f}
.travelling .palco{position:sticky;top:0;height:100svh;overflow:hidden}
.travelling .tela{position:absolute;inset:0;width:100%;height:100%;display:block}
.tv-txt{position:absolute;left:var(--m);bottom:clamp(38px,9.24vh,83px);z-index:2;max-width:min(14ch,90vw);color:var(--creme);
  opacity:0;filter:blur(7.7px);transform:translate3d(0,18.5px,0);transition:opacity .9s var(--ease),filter .9s var(--ease),transform .9s var(--ease)}
.tv-txt .rot{display:block;margin-bottom:13.9px}
.tv-txt.on{opacity:1;filter:none;transform:none}
.tv-txt.fim{max-width:min(12ch,90vw)}
.tv-barra{position:absolute;right:var(--m);bottom:clamp(38px,9.24vh,83px);z-index:2;width:2px;height:92.4px;background:rgba(218,212,200,.18);border-radius:2px;overflow:hidden}
.tv-barra i{position:absolute;left:0;right:0;top:0;height:var(--p,0%);background:var(--creme)}
section.travelling{overflow:visible}
.tv-txt{max-width:min(847px,84vw)}
.tv-txt p{max-width:14ch}
.tv-txt.fim p{max-width:12ch}
.tv-txt.fim p{max-width:16ch}
/* topo escuro e translúcido sobre seções escuras (v2) */
.topo.fixo:not(.claro){background:rgba(41,59,42,.62);color:var(--creme)}
.topo.fixo:not(.claro) .btn{background:var(--creme);color:var(--floresta)}
.topo.fixo:not(.claro) .btn.vaz{background:transparent;color:var(--creme)}

/* selo em vidro fosco (glassmorphism), pedido do Matheus 15/10 */
.selo{background:rgba(218,212,200,.10);-webkit-backdrop-filter:blur(16.9px) saturate(1.35) brightness(1.08);backdrop-filter:blur(16.9px) saturate(1.35) brightness(1.08)}
.selo .cx{background:linear-gradient(140deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 38%,rgba(255,255,255,0) 60%,rgba(255,255,255,.07) 100%),rgba(218,212,200,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.34)}
.selo .cx .luz{opacity:.35}
.selo{background:rgba(218,212,200,.14)}
.selo .cx{-webkit-backdrop-filter:blur(16.9px) saturate(1.35) brightness(1.08);backdrop-filter:blur(16.9px) saturate(1.35) brightness(1.08)}

/* ===== v2 · camada de movimento (motion.js com GSAP) ===== */
.gs .rev,.gs .linha-letras .l{opacity:1;filter:none;transform:none;transition:none}
.gs .linha-letras .w{perspective:539px}
.gs .foto,.gs .jornada .fundo{transition:filter .25s linear}
.gs .foto img{transform-origin:50% 50%;will-change:transform,filter}
.veu{position:fixed;inset:0;z-index:300;background:var(--noite);pointer-events:none;clip-path:inset(0 0 100% 0)}
.rot .tc{display:inline}
.rot .caret{display:inline-block;width:.55em;height:1.05em;margin-left:.15em;vertical-align:-.15em;background:currentColor;opacity:.75;animation:pisca .9s steps(1) infinite}
@keyframes pisca{50%{opacity:0}}
.atos.trilho{display:flex;gap:clamp(16.6px,2.31vw,33.2px);width:max-content}
.atos.trilho .ato{width:clamp(189.7px,23.1vw,308.3px);flex:0 0 auto}
.atos.trilho .ato-foto{aspect-ratio:4/5}
section.faixa{height:100vh;overflow:hidden}
.faixa .faixa-foto img{transform:none}
.jornada a,.porta{transform-style:preserve-3d;will-change:transform}
.cursor{position:fixed;left:0;top:0;z-index:400;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%)}
.cursor i{display:block;width:7.7px;height:7.7px;margin:-5px 0 0 -5px;border-radius:50%;background:#DAD4C8;transition:transform .45s cubic-bezier(.22,.7,.16,1)}
.cursor b{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.4);opacity:0;font:600 8.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#111;transition:all .45s cubic-bezier(.22,.7,.16,1)}
.cursor.sobre i{transform:scale(4.2)}
.cursor.foto-on i{transform:scale(8.5)}
.cursor.foto-on b{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none){.cursor{display:none}}
@media (max-width:759px){.atos.trilho{display:grid;width:auto}}
/* sem picote de selo: só o cartão de vidro (pedido 15/10) */
.selo{-webkit-mask:none;mask:none;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.selo .cx{border-radius:7.7px}
.atos-palco{overflow:hidden;margin-left:calc(-1 * var(--m));margin-right:calc(-1 * var(--m));padding:0 var(--m)}
.atos.trilho{padding-right:var(--m)}

/* manifesto (substitui a faixa da cortina, 15/10): 2 fundos (P&B longa exposição → cinema em cor) e linhas que acendem no scroll */
section.manifesto{position:relative;overflow:visible}
.mf-palco{position:relative;height:100svh;overflow:hidden;display:flex;align-items:center}
.mf-fundo{position:absolute;inset:0}
.mf-fundo img{width:100%;height:100%;object-fit:cover}
.mf-b{opacity:0}
.mf-palco::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 22% 55%,rgba(10,14,10,.42),rgba(10,14,10,0) 62%)}
.mf-txt{position:relative;z-index:2;padding:0 var(--m);max-width:min(908.6px,92vw);color:var(--creme)}
.mf-rot{display:block;margin-bottom:clamp(10.7px,1.85vw,20.2px)}
.mf-l{font-size:clamp(17.8px,3.39vw,46.3px);letter-spacing:-.035em;line-height:1.02;margin:0 0 .18em;max-width:16ch}
.mf-l .w{display:inline-block}
.mf-fim{margin-top:.5em}
@media (max-width:759px){.mf-l{font-size:clamp(26px,7.6vw,40px)}}

/* ===== tipografia e respiro finais (15/10, pedido do Matheus: corpo maior, mais espaço, hierarquia clara) =====
   Fora da redução de 23%: os títulos seguem menores, o texto de leitura volta a um tamanho confortável. */
body{font-size:16px;line-height:1.6}
.corpo{font-size:clamp(16px,1.12vw,18px);line-height:1.62;max-width:46ch}
.corpo.g{font-size:clamp(18px,1.42vw,22px);line-height:1.5;max-width:36ch;letter-spacing:-.01em}
.item p,.ato p{font-size:16px;line-height:1.6;max-width:36ch}
.item .rot,.ato h3{margin-bottom:12px}
.item .num{margin-bottom:20px}
.ato h3{font-size:clamp(20px,1.5vw,24px);margin-top:22px}
.rot{font-size:12px;letter-spacing:.14em;line-height:1.5}
.pauta h3{font-size:clamp(18px,1.35vw,21px);line-height:1.25}
.pauta{min-height:230px;padding:24px}
.porta span{font-size:14px;line-height:1.45}
.porta strong{font-size:clamp(20px,1.7vw,27px)}
.faq summary{font-size:clamp(18px,1.4vw,22px)}
.faq details{padding:24px 0}
.faq details p{font-size:16px;line-height:1.62}
.fala{font-size:clamp(20px,1.6vw,25px);line-height:1.32}
.citacao{line-height:1.12}
.rodape .linhas{font-size:14.5px;line-height:1.7}
.rodape .aviso{font-size:13.5px}
.btn{font-size:14px;padding:12px 20px}
.topo nav{font-size:13.5px}
/* respiro */
.sec{padding:clamp(96px,10.5vw,176px) var(--m)}
.sec.c{padding-block:clamp(80px,8vw,136px)}
.cab{margin-bottom:clamp(40px,4.6vw,84px)}
.grade{row-gap:clamp(40px,4vw,64px)}
.cols3{gap:clamp(36px,4.2vw,80px)}
.cols4{gap:clamp(30px,3.4vw,64px)}
.cab+h2,.cab+.grade{margin-top:0}
h1+.base,.hero .base{margin-top:clamp(48px,5vw,80px)}
.mf-l{margin-bottom:.24em}
@media (max-width:700px){
  body{font-size:16px}
  .corpo{font-size:16.5px}
  .corpo.g{font-size:18.5px}
  .item p,.ato p{font-size:16px}
  .rot{font-size:11.5px}
  .sec{padding:88px 22px}
  .cab{margin-bottom:36px}
}
.porta{transition:background .5s cubic-bezier(.22,.7,.16,1)}
.mf-l{font-size:clamp(26px,3.25vw,56px);max-width:21ch}
.mf-txt{padding-top:64px}
/* selo de vidro: reto, parado e 35% maior (15/10) */
.selo{width:clamp(208px,20.8vw,291px);transform:none!important}
.selo .cx{padding:22px}
.selo .v{font-size:46px}
.selo .t{font-size:12.5px;letter-spacing:.12em}

/* ===== versão mobile e ajuste por aparelho (15/10) ===== */
.menu-btn{display:none;align-items:center;gap:10px;background:none;border:0;color:inherit;font:500 13.5px/1 var(--sans);letter-spacing:.02em;cursor:pointer;padding:10px 4px}
.menu-btn i{position:relative;width:18px;height:8px;display:block}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .5s cubic-bezier(.22,.7,.16,1),top .5s}
.menu-btn i::before{top:0}.menu-btn i::after{top:6.5px}
.menu-on .menu-btn i::before{top:3.25px;transform:rotate(45deg)}
.menu-on .menu-btn i::after{top:3.25px;transform:rotate(-45deg)}
.menu-mob{position:fixed;inset:0;z-index:45;background:var(--noite);color:var(--creme);display:flex;flex-direction:column;justify-content:flex-end;gap:40px;
  padding:110px 24px max(36px,env(safe-area-inset-bottom));clip-path:inset(0 0 100% 0);transition:clip-path .8s cubic-bezier(.76,0,.24,1);visibility:hidden}
.menu-on .menu-mob{clip-path:inset(0);visibility:visible}
.menu-mob nav{display:flex;flex-direction:column;gap:6px}
.menu-mob nav a{font:500 clamp(40px,12vw,64px)/1.05 var(--sans);letter-spacing:-.04em;opacity:0;transform:translateY(24px);transition:opacity .6s,transform .8s cubic-bezier(.22,.7,.16,1)}
.menu-on .menu-mob nav a{opacity:1;transform:none}
.menu-on .menu-mob nav a:nth-child(2){transition-delay:.06s}.menu-on .menu-mob nav a:nth-child(3){transition-delay:.12s}.menu-on .menu-mob nav a:nth-child(4){transition-delay:.18s}
.menu-portas{display:flex;flex-wrap:wrap;gap:12px}
.menu-portas .btn{background:var(--creme);color:var(--floresta)}
.menu-portas .btn.vaz{background:transparent;color:var(--creme);box-shadow:inset 0 0 0 1px rgba(218,212,200,.5)}
.menu-on .topo{color:var(--creme);background:transparent!important}
.menu-on body{overflow:hidden}

@media (max-width:980px){
  .menu-btn{display:inline-flex}
  .topo nav .btn{display:none}
}
/* tablet em pé e deitado */
@media (min-width:761px) and (max-width:1180px){
  .h-mon{font-size:clamp(56px,9vw,104px)}
  .h-xl{font-size:clamp(46px,7.4vw,84px)}
  .h-l{font-size:clamp(34px,5vw,56px)}
  .cols3{grid-template-columns:1fr 1fr}
  .hero .base .txt{grid-column:1 / span 6}
  .portas{grid-column:1 / -1}
}
/* celular */
@media (max-width:760px){
  :root{--m:22px}
  .topo{padding:14px 22px}
  .topo .marca{width:132px}
  .hero{min-height:100svh;padding-top:120px;padding-bottom:28px}
  .h-mon{font-size:clamp(42px,12.6vw,60px);line-height:.94}
  .h-xl{font-size:clamp(36px,10.8vw,52px);line-height:.96}
  .h-l{font-size:clamp(30px,8.6vw,42px);line-height:1}
  .h-s{font-size:20px}
  .citacao{font-size:clamp(28px,8.2vw,38px)}
  .fala{font-size:20px}
  .mf-l{font-size:clamp(28px,8.4vw,40px);max-width:15ch}
  .cab{margin-bottom:32px}
  .grade{row-gap:28px}
  .portas{gap:12px}
  .porta{min-height:150px;padding:20px}
  .porta strong{font-size:24px;margin-top:22px}
  .jornada{gap:14px}
  .jornada a{min-height:0;gap:56px;padding:28px 24px}
  .jornada a h3{margin-top:18px!important}
  .jornada .lista{margin-top:22px}
  .item .num{font-size:44px;margin-bottom:14px}
  .cols3,.cols4{gap:40px}
  /* carrosséis de arrastar: atos e pautas */
  .atos,.pautas{display:flex!important;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin:0 -22px;padding:4px 22px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .atos::-webkit-scrollbar,.pautas::-webkit-scrollbar{display:none}
  .atos>.ato{flex:0 0 78vw;scroll-snap-align:start;padding-top:0}
  .pautas>.pauta{flex:0 0 74vw;scroll-snap-align:start;min-height:210px}
  .ato-foto{margin-bottom:18px}
  .ato .num{font-size:52px}
  .arrasta{display:block}
  .selo{margin-top:12px}
  .rodape .marca-g{width:86vw}
  .faq summary{font-size:19px}
  .sec{padding:84px 22px}
  .sec.c{padding:72px 22px}
}
.arrasta{display:none;margin-top:6px;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.55}
/* celular deitado e telas baixas */
@media (max-height:520px) and (orientation:landscape){
  .hero{min-height:auto;padding-top:96px}
  .h-mon{font-size:clamp(34px,6vw,52px)}
  .mf-palco{height:auto;min-height:100svh;padding:90px 0 40px}
}
@media (max-width:760px){.arrasta{margin:0 0 14px}}

/* 15/10 · trajetória legível: texto e número sem véu */
.ato p{opacity:.94}.ato .num{opacity:1}

/* 15/10 · volta a bordinha do selo, agora em vidro (sem picote): moldura fosca em volta do cartão */
.selo{padding:11px;border-radius:16px;background:linear-gradient(150deg,rgba(255,255,255,.20),rgba(255,255,255,.06) 45%,rgba(255,255,255,.12));
  -webkit-backdrop-filter:blur(18px) saturate(1.3) brightness(1.06);backdrop-filter:blur(18px) saturate(1.3) brightness(1.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.26),inset 0 1px 0 rgba(255,255,255,.38)}
.selo .cx{border-radius:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}

/* ================= v3 · marca final (27/10/2026) ================= */
/* fundos com textura real de papel; nada de ruído CSS, campo de luz ou bolinha do cursor */
.papel::before,.grao::after{content:none!important;display:none!important}
.luz{display:none!important}
.cursor{display:none!important}
.s-floresta{background:var(--floresta) url(img/tx/floresta.jpg?v=8) center/cover;background-blend-mode:soft-light;color:var(--pedra)}
.s-noite{background:var(--floresta) url(img/tx/oliva-papel.jpg?v=8) center/cover;background-blend-mode:soft-light;color:var(--pedra)}
.rodape.s-noite{background:var(--oliva) url(img/tx/oliva.jpg?v=8) center/cover;background-blend-mode:soft-light}
.s-oliva,.s-oliva-escura{background:var(--oliva) url(img/tx/oliva.jpg?v=8) center/cover;background-blend-mode:soft-light;color:var(--pedra)}
.s-pedra{background:var(--pedra) url(img/tx/pedra.jpg?v=8) center/cover;background-blend-mode:multiply;color:var(--floresta)}
.s-creme{background:var(--pedra) url(img/tx/pedra.jpg?v=8) center/cover;background-blend-mode:soft-light;color:var(--floresta)}
.s-agua{background:var(--agua) url(img/tx/pedra.jpg?v=8) center/cover;background-blend-mode:soft-light;color:var(--floresta)}
body{background:var(--pedra);color:var(--floresta)}
.foto{background:var(--floresta)}
.porta.cl:hover{background:#E4DFD5}
/* contraste AA: rótulos e numeração menos apagados */
.rot.f{opacity:.82}
.pag{opacity:.78}
/* Overused Grotesk */
.mono{letter-spacing:-.032em;line-height:.96}
.h-l{letter-spacing:-.026em}
.h-m{letter-spacing:-.02em}
.citacao,.fala{font-family:var(--sans);font-weight:400;letter-spacing:-.022em}
.citacao em{font-style:normal}
.t-menta{color:var(--agua)}
.s-pedra .t-menta,.s-creme .t-menta,.s-agua .t-menta{color:var(--oliva)}
/* logos oficiais: uma dimensão travada (altura), largura pelo viewBox */
.topo .marca{display:block;width:auto;height:clamp(17px,1.65vw,24px);flex:0 0 auto}
.topo .marca svg{display:block;height:100%;width:auto;overflow:visible}
.rodape .marca-g{width:auto}
.rodape .marca-g svg{display:block;height:clamp(168px,17vw,236px);width:auto}
/* retrato real */
.retrato{aspect-ratio:4/5}
.retrato img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.traj-grade{align-items:end}
.hero-retrato{position:absolute;right:var(--m);top:clamp(96px,13vh,150px);width:clamp(200px,19vw,290px);z-index:1;margin:0}
@media (max-height:760px){.hero-retrato{width:clamp(180px,16vw,240px)}}
@media (max-width:980px){.hero-retrato{display:none}}
.retrato-mob{display:none}
@media (max-width:980px){.retrato-mob{display:block;width:min(100%,420px);margin-top:28px}}
/* depoimentos: prints reais da landing, trilho horizontal com encaixe */
.depo{padding-bottom:clamp(48px,7vw,96px)}
.depo .in.cab-in{position:relative;z-index:1}
.depo-trilho{display:flex;align-items:flex-start;gap:clamp(14px,1.5vw,22px);overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:var(--m);padding:clamp(28px,3.6vw,48px) var(--m) 6px;scrollbar-width:none;position:relative;z-index:1}
.depo-trilho::-webkit-scrollbar{display:none}
.depo-item{flex:0 0 clamp(238px,21vw,300px);scroll-snap-align:start;margin:0;border-radius:6px;overflow:hidden;background:#fff}
.depo-item img{display:block;width:100%;height:auto}
.depo-pe{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(20px,2.4vw,32px);position:relative;z-index:1}
.depo-aviso{font-size:13.5px;line-height:1.5;max-width:62ch;opacity:.86}
.depo-nav{display:flex;gap:10px;flex:0 0 auto}
.depo-nav button{width:46px;height:46px;border-radius:50%;border:0;background:var(--floresta);color:var(--pedra);display:grid;place-items:center;cursor:pointer;transition:transform .4s var(--ease),opacity .3s}
.depo-nav button:hover{transform:translateY(-2px)}
.depo-nav button[disabled]{opacity:.35;cursor:default;transform:none}
.depo-nav svg{width:18px;height:18px}
@media (max-width:700px){.depo-pe{flex-direction:column;align-items:flex-start}.depo-item{flex-basis:76vw}}
