/* BOTANIÊ — GOMA studio
   Paleta tirada dos destaques do perfil: pêssego #ECCCB3 · sálvia #6F827C · terracota #CA7B6A */

:root{
  --papel:#FCFAF6;
  --papel-2:#F5F0E8;
  --tinta:#1E231F;
  --tinta-suave:#565D54;
  --pessego:#ECCCB3;
  --pessego-claro:#F6E4D4;
  --salvia:#6F827C;
  --salvia-claro:#93A187;
  --terracota:#CA7B6A;
  --linha:#E0D8CA;
  --serif:'Bodoni Moda', Didot, Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, sans-serif;
  --raio:14px;
  --raio-g:20px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--papel);color:var(--tinta);
  font-family:var(--sans);font-weight:300;line-height:1.6;
  overflow-x:hidden;
}
img,video{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
em{font-style:italic}
figure{border-radius:var(--raio);overflow:hidden}

/* ---------- selo ---------- */
.selo-demo{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:var(--tinta);color:var(--papel);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  text-align:center;padding:7px 12px;line-height:1.3;
  padding-bottom:calc(7px + env(safe-area-inset-bottom));
}
@media (max-width:430px){ .selo-demo{font-size:8.6px;letter-spacing:.1em;padding-inline:8px} }

/* ---------- topo ---------- */
.topo{
  position:fixed;top:0;left:0;right:0;z-index:80;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px clamp(14px,4vw,56px);color:#fff;
  background:linear-gradient(180deg,rgba(18,22,16,.5),rgba(18,22,16,0));
}
.topo .marca{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.42em;text-indent:.42em}
.menu{display:flex;gap:clamp(12px,2vw,28px);align-items:center;flex-shrink:0}
.menu a{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.86;white-space:nowrap}
.menu a:hover{opacity:1}
.menu .destaque{
  border:1px solid rgba(255,255,255,.55);border-radius:100px;
  padding:8px 16px;background:rgba(18,22,16,.28);opacity:1;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:background .35s ease;
}
.menu .destaque:hover{background:rgba(18,22,16,.6)}
.so-pequeno{display:none}
@media (max-width:900px){
  .menu a:not(.destaque){display:none}
  .so-grande{display:none}.so-pequeno{display:inline}
  .topo .marca{font-size:15px;letter-spacing:.3em;text-indent:.3em}
}

/* ---------- abertura ---------- */
.abertura{
  position:relative;min-height:100svh;
  display:grid;align-items:end;
  padding:0 clamp(18px,4vw,56px) clamp(56px,9vh,96px);
  color:#fff;overflow:hidden;
}
.abertura-fundo{position:absolute;inset:0;z-index:-2;background:var(--tinta);overflow:hidden}
.fundo-floral{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.42) saturate(.88) blur(1px);
  transform:scale(1.06);
}
.chuva{position:absolute;inset:0;perspective:1200px}
.chuva .cai{
  position:absolute;left:var(--x);top:var(--y);
  width:var(--w);aspect-ratio:4/5;
  transform:translate(-50%,-50%) rotate(var(--r));
  border-radius:12px;overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.45);
  opacity:1;will-change:transform,opacity;
}
/* camada interna: é ela que boia, sem brigar com a entrada */
.chuva .boia{
  display:block;width:100%;height:100%;
  animation:boiar var(--t,7s) ease-in-out var(--d,0s) infinite alternate;
  will-change:transform;
}
.chuva .boia img{width:100%;height:100%;object-fit:cover}

.chuva .cai img{filter:saturate(1) brightness(1.02)}
@keyframes boiar{
  0%  {transform:translate3d(-4px,-9px,0) rotate(-.7deg) scale(1.002)}
  50% {transform:translate3d(3px,4px,0) rotate(.45deg) scale(1)}
  100%{transform:translate3d(5px,10px,0) rotate(.9deg) scale(1.004)}
}
@media (max-width:860px){
  .chuva .cai{width:40vw}
  .chuva .so-largo{display:none}
}
@media (prefers-reduced-motion:reduce){
  .chuva .cai{opacity:1;animation:none}
}
.abertura::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(18,22,17,.82) 0%,rgba(18,22,17,.46) 40%,rgba(18,22,17,.08) 72%),
    linear-gradient(185deg,rgba(18,22,17,.42) 0%,rgba(18,22,17,.04) 34%,rgba(18,22,17,.6) 100%);
}
.sobrenome{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.9;margin-bottom:clamp(12px,2vh,22px)}

/* título vivo */
.titulo-vivo{font-family:var(--serif);font-weight:400;font-size:clamp(52px,12.5vw,166px);line-height:.9;letter-spacing:-.02em}
.titulo-vivo.fina{
  font-style:italic;font-weight:400;
  font-size:clamp(38px,7.6vw,96px);
  line-height:1.02;letter-spacing:-.005em;
  text-shadow:0 2px 26px rgba(0,0,0,.3);
}
.titulo-vivo.fina .linha:nth-child(2){padding-left:clamp(14px,5vw,86px)}
.titulo-vivo.fina .linha:nth-child(3){padding-left:clamp(6px,2.4vw,40px)}
.titulo-vivo.fina i{font-style:normal;color:var(--pessego)}
.titulo-vivo .linha{display:block}
.titulo-vivo .linha:nth-child(2){padding-left:clamp(18px,7vw,128px)}
.titulo-vivo .linha:nth-child(3){padding-left:clamp(8px,3vw,52px)}
.titulo-vivo i{font-style:italic;color:var(--pessego)}
.titulo-vivo .ch{
  display:inline-block;will-change:transform;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), color .5s ease;
}
.titulo-vivo .ch.ativa{transform:translateY(-7px) rotate(-2deg)}
.petala{
  position:fixed;z-index:70;pointer-events:none;
  border-radius:62% 62% 48% 48%/74% 74% 34% 34%;
  will-change:transform,opacity;filter:blur(.2px);
  box-shadow:inset 0 -2px 4px rgba(0,0,0,.07);
}

.abertura-rodape{
  display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;
  margin-top:clamp(18px,3vh,38px);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;opacity:.88;
  border-top:1px solid rgba(255,255,255,.26);padding-top:14px;
}
.assinatura{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:.02em;font-size:15px}

/* lírio que segue o cursor */
.lirio{
  position:absolute;left:0;top:0;width:clamp(40px,3.8vw,56px);
  z-index:2;pointer-events:none;opacity:0;
  perspective:620px;transition:opacity 1.1s ease;will-change:transform;
}
.lirio.visivel{opacity:.85}
.lirio-corpo{
  transform-style:preserve-3d;will-change:transform;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.3));
}
.lirio svg{width:100%;height:auto;display:block}
@media (max-width:760px){ .lirio{animation:bal 7s ease-in-out infinite alternate} }
@keyframes bal{from{transform:translate(12vw,58vh) rotate(-6deg)}to{transform:translate(64vw,46vh) rotate(7deg)}}

.rolar{position:absolute;left:50%;bottom:52px;width:1px;height:46px;background:rgba(255,255,255,.34);overflow:hidden}
.rolar span{position:absolute;inset:0;background:#fff;animation:desce 2.4s ease-in-out infinite}
@keyframes desce{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
@media (max-width:760px){.rolar{display:none}}

/* ---------- rótulos ---------- */
.rotulo{
  display:flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tinta-suave);margin-bottom:clamp(22px,4vh,46px);
}
.rotulo i{font-style:normal;color:var(--salvia);font-weight:500}
.rotulo::after{content:"";flex:1;height:1px;background:var(--linha)}
.rotulo.claro{color:rgba(252,250,246,.72)}
.rotulo.claro i{color:var(--pessego)}
.rotulo.claro::after{background:rgba(252,250,246,.22)}

section{padding:clamp(64px,11vh,140px) clamp(18px,4vw,56px)}

/* ---------- manifesto ---------- */
.manifesto{background:var(--papel-2)}
.manifesto blockquote{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(27px,5.2vw,60px);line-height:1.12;letter-spacing:-.012em;max-width:19ch;
}
.manifesto blockquote em{display:block;color:var(--salvia);margin-top:.22em}
.manifesto-corpo{
  display:grid;gap:clamp(16px,2.4vw,40px);
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  margin-top:clamp(30px,5vh,58px);max-width:900px;
}
.manifesto-corpo p{font-size:15px;color:var(--tinta-suave);max-width:42ch}

/* ---------- serviços (layout editorial alternado) ---------- */
.palco-servicos{position:relative}
.retrato-flutuante{display:none}
.lista-servicos{list-style:none;display:grid;gap:clamp(42px,8vh,110px)}
.lista-servicos li{
  display:grid;gap:clamp(16px,3vw,54px);align-items:center;
  grid-template-columns:1fr;
}
.lista-servicos .num{
  display:block;font-size:11px;letter-spacing:.2em;color:var(--salvia);
  margin-bottom:10px;
}
.lista-servicos h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(28px,4.4vw,56px);line-height:1.04;letter-spacing:-.01em;
}
.lista-servicos p{font-size:15px;color:var(--tinta-suave);margin-top:14px;max-width:44ch}
.foto-servico{
  aspect-ratio:4/5;border-radius:var(--raio-g);
  box-shadow:0 18px 44px rgba(30,35,31,.1);
}
.foto-servico{
  border-radius:var(--raio);
  box-shadow:0 12px 32px rgba(30,35,31,.1);
  position:relative;overflow:hidden;isolation:isolate;
  aspect-ratio:3/2;
}
.foto-servico img{filter:saturate(.97) contrast(.99)}
/* carrossel contínuo: a trilha anda e o hover acelera */
.carrossel .trilho{
  display:flex;height:100%;width:max-content;
  animation:correr var(--vel,26s) linear infinite;
  will-change:transform;
}
.carrossel .trilho img{
  width:var(--larg,290px);height:100%;object-fit:cover;flex:0 0 auto;
}
.lista-servicos li:hover .carrossel .trilho{animation-duration:var(--vel-rapida,8s)}
@keyframes correr{ to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce){ .carrossel .trilho{animation:none} }

@media (min-width:860px){
  .lista-servicos li{grid-template-columns:1.18fr .82fr}
  .servico-texto{order:1;padding-right:clamp(0px,3vw,50px)}
  .foto-servico{order:2;aspect-ratio:3/2}
  .lista-servicos li:nth-child(even) .servico-texto{order:2;padding-right:0;padding-left:clamp(0px,3vw,50px)}
  .lista-servicos li:nth-child(even) .foto-servico{order:1}
}

/* ---------- manifesto em duas colunas ---------- */
.manifesto{position:relative}
.manifesto-grade{
  display:grid;gap:clamp(26px,4vw,64px);
  grid-template-columns:1fr;
  align-items:center;
}
.foto-manifesto{
  border-radius:var(--raio-g);overflow:hidden;
  box-shadow:0 24px 54px rgba(30,35,31,.17);
  opacity:0;filter:blur(16px);
  transition:opacity 1.4s cubic-bezier(.2,.7,.2,1),filter 1.5s cubic-bezier(.2,.7,.2,1);
}
.foto-manifesto.visivel{opacity:1;filter:blur(0)}
.foto-manifesto img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.foto-manifesto:hover img{transform:scale(1.05)}
@media (min-width:1001px){
  .manifesto-grade{grid-template-columns:1.1fr .9fr}
  .manifesto blockquote{max-width:none}
  .manifesto-corpo{max-width:none}
  .foto-manifesto{aspect-ratio:4/5}
}
@media (max-width:1000px){
  .foto-manifesto{aspect-ratio:4/3;margin-top:clamp(22px,4vh,38px)}
}

/* ---------- estação ---------- */
.estacao{background:var(--tinta);color:var(--papel)}
.estacao-corpo{display:grid;gap:clamp(34px,6vw,86px);grid-template-columns:1fr;align-items:center}
@media (min-width:980px){.estacao-corpo{grid-template-columns:1fr 1fr}}
.estacao h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,8.6vw,108px);line-height:.94}
.estacao-sub{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--pessego);margin-top:6px}
.flores{list-style:none;margin:clamp(22px,4vh,40px) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.flores{gap:14px 10px}
.flores li{
  position:relative;display:flex;align-items:center;gap:8px;
  border:1px solid rgba(252,250,246,.26);border-radius:100px;
  padding:7px 16px 7px 10px;font-size:12.5px;letter-spacing:.04em;
  animation:surge .6s both;
  transition:background .4s ease,color .4s ease,border-color .4s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.flores li .desenho{
  width:24px;height:24px;flex:0 0 24px;display:block;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.flores li .desenho svg{width:100%;height:100%;display:block}
.flores li:hover{
  background:var(--pessego);color:var(--tinta);border-color:var(--pessego);
  transform:translateY(-3px);
}
.flores li:hover .desenho{transform:rotate(-12deg) scale(1.16)}
@keyframes surge{from{opacity:0;transform:translateY(8px)}}
.estacao-pe{font-size:14px;color:rgba(252,250,246,.6);margin-top:clamp(20px,3.4vh,34px);max-width:44ch}

/* roleta */
.roda-caixa{display:flex;justify-content:center;perspective:1000px}
.roda{
  position:relative;width:min(84vw,430px);aspect-ratio:1;
  transform-style:preserve-3d;
}
.anel{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;
  border:1px solid rgba(252,250,246,.18);
  transform:rotateX(50deg) rotateZ(0deg);
  transform-style:preserve-3d;
  transition:transform 1.5s cubic-bezier(.22,.78,.2,1);
}
.anel::before{
  content:"";position:absolute;inset:13%;border-radius:50%;
  border:1px dashed rgba(252,250,246,.11);
}
.anel::after{
  content:"";position:absolute;inset:-6%;border-radius:50%;
  background:radial-gradient(circle,rgba(242,206,171,.1),transparent 68%);
}
.roda-miolo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) translateZ(46px);
  text-align:center;pointer-events:none;
}
.roda-miolo span{
  display:block;font-family:var(--serif);font-size:58px;line-height:1;color:var(--pessego);
  text-shadow:0 10px 26px rgba(0,0,0,.5);
}
.roda-miolo small{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:rgba(252,250,246,.5)}
.plano{position:absolute;inset:0;z-index:3}
.roda .mes{
  position:absolute;background:none;border:0;cursor:pointer;
  padding:14px 16px;margin:0;
  transform:translate(-50%,-50%);
  -webkit-tap-highlight-color:transparent;
}
.roda .mes:focus-visible{outline:1px solid var(--pessego);outline-offset:2px;border-radius:6px}
.roda .mes-in{
  display:block;
  font-family:var(--serif);font-size:16.5px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(252,250,246,.55);white-space:nowrap;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
  transition:color .4s ease,letter-spacing .5s ease,font-size .4s ease,transform .6s cubic-bezier(.2,.8,.2,1);
}
.roda .mes:hover .mes-in{color:var(--papel);letter-spacing:.3em}
.roda .mes.on .mes-in{color:var(--pessego);font-size:21px;letter-spacing:.18em}
.roda .ponto{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:rgba(252,250,246,.3);pointer-events:none;
  transform:translate(-50%,-50%);
  transition:background .4s ease,transform .5s ease,box-shadow .4s ease;
}
.roda .ponto.on{
  background:var(--pessego);transform:translate(-50%,-50%) scale(2.2);
  box-shadow:0 0 14px rgba(236,204,179,.7);
}
@media (prefers-reduced-motion:reduce){
  .anel{transform:none}
  .roda .mes-in{transform:none!important}
}

/* ---------- imprensa (destaque) ---------- */
.imprensa{
  position:relative;color:var(--papel);overflow:hidden;
  padding-block:clamp(84px,14vh,170px);
}
.imprensa-video{position:absolute;inset:0;z-index:-2;background:#2a2f26}
.imprensa-video video{transform:scale(1.05);filter:saturate(.92)}
.imprensa::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(24,28,22,.9) 0%,rgba(24,28,22,.72) 46%,rgba(24,28,22,.42) 100%);
}
.imprensa-corpo{max-width:860px}
.imprensa h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(28px,4.6vw,56px);line-height:1.1;max-width:17ch;
}
.imprensa h2 em{color:var(--pessego)}
.veiculos{list-style:none;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));margin-top:clamp(28px,5vh,50px)}
.veiculos li{
  padding:clamp(16px,2.6vh,26px) 18px clamp(16px,2.6vh,26px) 0;
  border-top:1px solid rgba(252,250,246,.22);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .45s ease;
  transform-origin:left center;cursor:default;
}
.veiculos li:hover{transform:scale(1.07);border-color:var(--pessego)}
.veiculos li:hover span{color:var(--pessego)}
.veiculos span{transition:color .45s ease}
.veiculos span{display:block;font-family:var(--serif);font-size:clamp(19px,2.4vw,26px)}
.veiculos em{display:block;font-size:12.5px;color:rgba(252,250,246,.62);margin-top:5px;font-style:normal;line-height:1.4}
.imprensa-pe{margin-top:clamp(22px,4vh,38px);font-size:13.5px;color:rgba(252,250,246,.72);letter-spacing:.02em}

/* ---------- Renata ---------- */
.sobre{background:var(--papel-2)}
.sobre-corpo{display:grid;gap:clamp(26px,4vw,64px);grid-template-columns:1fr}
@media (min-width:880px){.sobre-corpo{grid-template-columns:minmax(0,.84fr) 1fr}}
.sobre-foto{aspect-ratio:3/4;border-radius:var(--raio-g)}
.sobre h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.6vw,66px);line-height:1.02}
.sobre-texto p{margin-top:18px;font-size:15.5px;color:var(--tinta-suave);max-width:50ch}
.sobre-texto p em{font-family:var(--serif);font-size:1.1em;color:var(--tinta)}
.sobre-nota{font-size:11.5px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--salvia)!important;margin-top:26px!important}

/* nome com ramo que floresce */
.nome-caixa{position:relative;display:inline-block;padding:.42em .6em .38em .1em}
.ramo{
  position:absolute;left:-5%;top:-16%;width:114%;height:132%;
  pointer-events:none;overflow:visible;
}
.ramo .galho{
  fill:none;stroke:var(--salvia);stroke-width:1.5;stroke-linecap:round;opacity:.85;
}
.ramo .folha{
  fill:var(--salvia-claro);opacity:0;
  transform-origin:0 0;transform:scale(0);
  transition:opacity .6s ease,transform .8s cubic-bezier(.2,.9,.2,1);
}
.ramo .folha.aberta{opacity:.85;transform:scale(1)}
.ramo .brote{
  opacity:0;transform-origin:0 0;transform:scale(0);
  transition:opacity .55s ease,transform .85s cubic-bezier(.2,.95,.25,1);
}
.ramo .brote.aberta{opacity:1;transform:scale(1)}
.nome-floral{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end}
.nome-floral .ch{position:relative;display:inline-block;color:rgba(30,35,31,.2);transition:color .7s ease}
.nome-floral .ch.aberta{color:var(--tinta)}

/* ---------- arquivo ---------- */
.arquivo-topo{display:flex;flex-wrap:wrap;gap:10px 40px;align-items:baseline;justify-content:space-between}
.arquivo-topo .rotulo{flex:1 1 220px}
.arquivo-nota{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--tinta-suave);max-width:34ch;margin-bottom:clamp(22px,4vh,46px)}
.grade{
  display:grid;gap:0;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));
  align-items:stretch;
  width:100vw;margin-left:calc(50% - 50vw);
}
@media (min-width:900px){
  .grade{grid-template-columns:repeat(4,1fr)}
  .grade .peca:last-child{grid-column:span 2}
  .grade .peca:last-child figure{aspect-ratio:8/5}
}
@media (min-width:600px) and (max-width:899px){
  .grade{grid-template-columns:repeat(2,1fr)}
  .grade .peca:last-child{grid-column:span 2}
  .grade .peca:last-child figure{aspect-ratio:8/5}
}
.peca{position:relative;display:block;overflow:hidden}
.peca figure{
  aspect-ratio:4/5;background:var(--papel-2);border-radius:0;
  animation:flutua 7.5s ease-in-out infinite alternate;animation-delay:var(--fase,0s);
}
.peca img{transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter 1s ease;filter:saturate(.95)}
.peca:hover img{transform:scale(1.05);filter:saturate(1.04)}
.peca-info{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(14px,2vw,22px);
  background:linear-gradient(180deg,transparent,rgba(18,22,17,.82));
  color:var(--papel);
  opacity:0;transform:translateY(12px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);
}
.peca:hover .peca-info,.peca:focus-within .peca-info{opacity:1;transform:none}
.peca .peca-meta{color:rgba(252,250,246,.76)}
.peca .peca-meta span:not(:last-child)::after{color:var(--pessego)}
@keyframes flutua{
  from{transform:scale(1.08) translateY(calc(var(--amp,8px) * -1))}
  to{transform:scale(1.08) translateY(var(--amp,8px))}
}
@media (prefers-reduced-motion:reduce){.peca{animation:none}}
.peca-info{padding:14px 2px 26px}
.peca-titulo{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.2}
.peca-meta{overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
.peca-meta span:not(:last-child)::after{content:" ▪";color:var(--salvia);margin-left:10px}

/* ---------- contato ---------- */
.contato h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,5.6vw,66px);line-height:1.04;max-width:16ch;margin-bottom:clamp(30px,5vh,56px)}
.contato-grade{display:grid;gap:clamp(14px,2vw,26px);grid-template-columns:1fr}
@media (min-width:920px){.contato-grade{grid-template-columns:.78fr 1fr}}
.cartao-rot{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:16px}
.cartao-wpp{
  position:relative;overflow:hidden;
  background:var(--salvia);color:var(--papel);border-radius:var(--raio-g);
  padding:clamp(24px,3.6vw,40px);display:flex;flex-direction:column;justify-content:space-between;
  min-height:clamp(300px,34vw,380px);transition:background .6s ease;
}
.cartao-wpp:hover{background:var(--tinta)}
.flor-botao{
  position:absolute;right:-12%;bottom:-18%;
  width:min(86%,340px);aspect-ratio:1;pointer-events:none;
  filter:drop-shadow(0 14px 30px rgba(0,0,0,.2));
}
.flor-botao svg{width:100%;height:100%;display:block}
.flor-botao .camada{transform-origin:110px 110px;transition:transform 1.5s cubic-bezier(.2,.8,.2,1)}
.flor-botao .miolo,.flor-botao .pontos{transform-origin:110px 110px;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.cartao-wpp:hover .camada-fora{transform:rotate(26deg) scale(1.07)}
.cartao-wpp:hover .camada-meio{transform:rotate(-20deg) scale(1.05)}
.cartao-wpp:hover .camada-dentro{transform:rotate(16deg) scale(1.08)}
.cartao-wpp:hover .miolo{transform:scale(1.14)}
.cartao-wpp:hover .pontos{transform:rotate(-14deg)}
.cartao-wpp strong,.cartao-wpp .cartao-rot,.cartao-wpp .cartao-pe{position:relative;z-index:2}
.cartao-wpp strong{max-width:9ch}
@media (prefers-reduced-motion:reduce){.flor-botao .camada,.flor-botao .miolo,.flor-botao .pontos{transition:none}}
.cartao-wpp .cartao-rot{color:rgba(252,250,246,.74)}
.cartao-wpp strong{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:1.1}
.cartao-pe{font-size:12px;letter-spacing:.06em;opacity:.78;margin-top:16px}
.cartao-form{border:1px solid var(--linha);border-radius:var(--raio-g);padding:clamp(24px,3.6vw,40px)}
#form-evento{display:grid;gap:14px 18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.campo-largo{grid-column:1/-1}
.campo label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:6px}
.campo input,.campo select,.campo textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--linha);
  font-family:var(--sans);font-size:15px;color:var(--tinta);padding:8px 0;border-radius:0;
}
.campo textarea{resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--salvia)}
#form-evento button{
  grid-column:1/-1;justify-self:start;margin-top:10px;border-radius:100px;
  background:var(--tinta);color:var(--papel);border:0;cursor:pointer;
  font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 32px;transition:background .35s ease;
}
#form-evento button:hover{background:var(--salvia)}

/* ---------- rodapé ---------- */
.pe{padding:clamp(50px,8vh,90px) clamp(18px,4vw,56px) 74px;border-top:1px solid var(--linha);overflow:hidden}
.pe-linhas{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.pe-linhas a:hover{color:var(--tinta)}
.wordmark-caixa{margin:clamp(24px,5vh,54px) 0 18px}
.wordmark{
  display:flex;justify-content:space-between;align-items:flex-end;
  font-family:var(--serif);font-weight:400;line-height:.78;
  font-size:clamp(56px,18.6vw,244px);
  color:var(--salvia-claro);cursor:default;
}
.wordmark{perspective:900px}
.wordmark .ch{display:inline-block;position:relative;transform-style:preserve-3d}
.wordmark .ch-in{
  display:inline-block;will-change:transform,color;
  transform-origin:50% 90%;
  transition:color .6s ease;
}
.credito{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
.credito strong{font-weight:500;color:var(--tinta)}

/* ---------- títulos que reagem ao toque do cursor ---------- */
.toca{
  display:inline-block;transform-origin:left center;cursor:default;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),color .45s ease;
}
.toca:hover{transform:scale(1.045);color:var(--salvia)}
.estacao .toca:hover,.imprensa .toca:hover{color:var(--pessego)}
.toca-pal .pal{cursor:default;transition-property:opacity,filter,transform,color}
.toca-pal .pal:hover{
  transform:translateY(-4px) scale(1.05);
  color:var(--salvia);transition-duration:.42s;transition-delay:0s!important;
}
.estacao .toca-pal .pal:hover,.imprensa .toca-pal .pal:hover{color:var(--pessego)}
.cartao-wpp:hover strong{letter-spacing:.012em}
.cartao-wpp strong{transition:letter-spacing .6s ease}

/* ---------- palavras entrando em desfoque ---------- */
.pal{
  display:inline-block;opacity:0;filter:blur(13px);
  transform:translateY(14px);
  transition:opacity 1.05s cubic-bezier(.2,.7,.2,1),
             filter 1.15s cubic-bezier(.2,.7,.2,1),
             transform 1.05s cubic-bezier(.2,.7,.2,1);
}
.pal.nitida{opacity:1;filter:blur(0);transform:none}

/* ---------- entrada por rolagem ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.visivel{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .lirio{display:none}
  .nome-floral .ch{color:var(--tinta)}
}
