/* Demo Lumi Estética (/lumi-estetica). CSS do protótipo referencia/prototipo-lumi-estetica.html, valores idênticos.
   Para outro cliente do "Site completo": troque as cores nos tokens do :root (e os tons por página em body[data-pg=...]). */
/* Layout: site completo de 5 páginas num arquivo só. Largura 1200, margem 18. Tema único claro e quente, por escolha (identidade nude e rosé);
   a Galeria é a única página escura, de propósito (sala de exposição).
   Assinatura: a LUZ. Troca de página por uma onda de luz que nasce no clique e volta para o menu; capa clara com arco que se abre;
   manifesto que acende palavra por palavra; ritual em carrossel para arrastar; galeria para arrastar;
   roleta de horários; convite com selo de cera; rodapé que se revela por baixo. */
:root{
  --nude:#F5E9E4; --nude-2:#EEDCD4; --perola:#FCF7F4;
  --rose:#B88576; --rose-esc:#8F5F53; --rose-claro:#F3D9C9;
  --cacau:#3B2A26; --cacau-2:#2A1D1A; --taupe:#7A6660; --linha:#E3CEC5; --ouro:#C9A27A; --erro:#A3473A;
  --bg:var(--nude); --fg:var(--cacau); --fg2:var(--taupe); --ln:var(--linha); --cartao:var(--perola);
  --f-titulo:"Cormorant Garamond","Cormorant",Georgia,serif;
  --f-texto:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --max:1200px; --gut:18px; --rodape:420px;
  color-scheme:light;
}
body[data-pg="galeria"]{--bg:var(--cacau-2);--fg:var(--perola);--fg2:#BFA79F;--ln:rgba(255,255,255,.14);--cartao:#3A2925}
body[data-pg="tratamentos"]{--bg:var(--perola)}
body[data-pg="sobre"]{--bg:#F3E3DC}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--fg);font:300 17px/1.7 var(--f-texto);-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .7s ease,color .7s ease}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-titulo);font-weight:300;line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;color:var(--rose)}
.rot{font:500 11.5px/1 var(--f-texto);letter-spacing:.32em;text-transform:uppercase;color:var(--rose)}
.num{font-variant-numeric:tabular-nums}
.brilho{background:linear-gradient(100deg,var(--rose) 35%,#F7E3D6 48%,#fff 50%,#F7E3D6 52%,var(--rose) 65%) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brilho 5.5s ease-in-out 1.6s infinite;padding-right:.08em}
@keyframes brilho{0%,60%{background-position:100% 0}100%{background-position:0 0}}
.letras .l{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.25em)}
.letras.vivo .l{animation:letra .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * 30ms)}
@keyframes letra{to{opacity:1;filter:none;transform:none}}

/* faixa Freguesia */
.faixa{background:var(--cacau-2);color:var(--perola);font:500 13px/1.2 var(--f-texto);position:relative;z-index:5}
.faixa .wrap{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-block:9px;text-align:center}
.faixa a{font-weight:600;text-underline-offset:3px;color:var(--rose-claro)}

/* topo */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .4s,background-color .7s}
.topo.rolou{border-color:var(--ln)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.logo b{font:italic 400 34px/1 var(--f-titulo)}
.logo small{font:500 10px/1 var(--f-texto);letter-spacing:.38em;text-transform:uppercase;color:var(--rose)}
.nav{display:flex;align-items:center;gap:26px}
.nav a.lk{text-decoration:none;font-size:15px;color:var(--fg2);display:inline-flex;align-items:center;gap:7px;transition:color .3s}
.rl{display:inline-block;height:1.5em;overflow:hidden;line-height:1.5}
.rl span{display:block;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.nav a.lk:hover .rl span{transform:translateY(-100%)}
.nav a.lk::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rose);transform:scale(0);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.nav a.lk.on{color:var(--fg)}
.nav a.lk.on::before{transform:scale(1)}
.hamb{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--ln);background:var(--cartao);position:relative}
.hamb i{position:absolute;left:13px;right:13px;height:1.5px;background:var(--fg);transition:transform .4s,top .4s}
.hamb i:first-child{top:17px}.hamb i:last-child{top:25px}
.menu-aberto .hamb i:first-child{top:21px;transform:rotate(45deg)}
.menu-aberto .hamb i:last-child{top:21px;transform:rotate(-45deg)}
@media (max-width:900px){.nav a.lk{display:none}.hamb{display:block}}
.menu{position:fixed;inset:0;z-index:35;background:var(--rose);color:var(--perola);display:flex;flex-direction:column;justify-content:center;padding:90px max(28px,env(safe-area-inset-left,0px)) 40px;clip-path:circle(0% at calc(100% - 40px) 40px);transition:clip-path .8s cubic-bezier(.7,0,.2,1);visibility:hidden}
.menu-aberto .menu{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible}
.menu a{font:italic 300 54px/1.18 var(--f-titulo);text-decoration:none;opacity:0;transform:translateY(40px) rotate(3deg);transform-origin:left;transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1)}
.menu-aberto .menu a{opacity:1;transform:none}
.menu a:nth-child(2){transition-delay:.07s}.menu a:nth-child(3){transition-delay:.14s}.menu a:nth-child(4){transition-delay:.21s}.menu a:nth-child(5){transition-delay:.28s}
.menu p{margin-top:30px;opacity:.85;font-size:15px}

/* botões: a luz enche a partir de onde o mouse entrou */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:16px 28px;font:500 13px/1 var(--f-texto);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:transform .35s cubic-bezier(.3,1.5,.5,1),color .4s,box-shadow .4s}
.btn::before{content:"";position:absolute;left:var(--bx,50%);top:var(--by,50%);width:0;height:0;border-radius:50%;background:var(--rose);transform:translate(-50%,-50%);transition:width .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1);z-index:-1}
.btn:hover::before{width:260%;height:600%}
.btn-cheio{background:var(--fg);color:var(--bg)}
.btn-cheio:hover{color:#fff}
.btn-linha{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
.btn-linha:hover{color:#fff;box-shadow:inset 0 0 0 1px var(--rose)}
.btn-claro{background:var(--perola);color:var(--cacau)}
.btn-claro:hover{color:#fff}
.btn-p{padding:12px 20px;font-size:11.5px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.btn[disabled]::before{display:none}

/* foto: fundo rosé enquanto a imagem carrega; a <img> fica por cima e herda formato e arredondamento do bloco */
.foto{position:relative;overflow:hidden;background:
  radial-gradient(90% 70% at 30% 25%,rgba(255,255,255,.75),transparent 60%),
  radial-gradient(70% 60% at 80% 85%,rgba(184,133,118,.45),transparent 70%),
  linear-gradient(160deg,#EBD3C9,#D2A99B);max-width:100%}
.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tela-g img,.voo img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.rev-img{position:relative;overflow:hidden}
.rev-img::before{content:"";position:absolute;inset:0;background:var(--rose);z-index:3;transform-origin:top;transform:scaleY(0);pointer-events:none}
.rev-img.esp::before{transform:scaleY(1)}
.rev-img.esp .foto{transform:scale(1.25)}
.rev-img.in::before{transform:scaleY(0);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.rev-img .foto{transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}
.rev-img.in .foto{transform:none}
[data-rev]{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1),filter 1s}
[data-rev].esp{opacity:.001;transform:translateY(40px);filter:blur(6px)}

/* ---------- troca de página: onda de luz ---------- */
.onda-luz{position:fixed;inset:0;z-index:100;pointer-events:none;background:radial-gradient(circle at var(--x,50%) var(--y,50%),#FFF4EC 0,var(--rose-claro) 12%,var(--rose) 45%,var(--rose-esc) 100%);clip-path:circle(0px at 50% 50%);display:grid;place-items:center}
.onda-luz span{font:italic 300 clamp(56px,10vw,130px)/1 var(--f-titulo);color:#fff;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .6s cubic-bezier(.2,.8,.2,1)}
.onda-luz.nome span{opacity:1;transform:none}
main{position:relative;z-index:1;background:var(--bg);transition:background-color .7s;transform-origin:50% 30vh}
.pg{display:none}
.pg.on{display:block}
.entra > *{opacity:0;transform:translateY(30px);filter:blur(8px)}
.pg.vivo .entra > *{animation:entra 1s cubic-bezier(.2,.8,.2,1) forwards}
.pg.vivo .entra > :nth-child(2){animation-delay:.1s}.pg.vivo .entra > :nth-child(3){animation-delay:.2s}.pg.vivo .entra > :nth-child(4){animation-delay:.3s}.pg.vivo .entra > :nth-child(n+5){animation-delay:.4s}
@keyframes entra{to{opacity:1;transform:none;filter:none}}
.cab-pg{padding-block:70px 40px}
.cab-pg h1{font-size:clamp(56px,9vw,124px)}
.cab-pg p{max-width:36em;color:var(--fg2);margin:20px 0 0}
.sec{padding-block:100px}
.sec-topo{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.sec-topo h2{font-size:clamp(42px,5.6vw,72px);margin-top:14px}
.sec-topo p{color:var(--fg2);max-width:26em;margin:0}

/* ---------- INÍCIO: capa clara ---------- */
.capa{position:relative;overflow:hidden}
.capa .brilho-fundo{position:absolute;width:640px;height:640px;border-radius:50%;left:0;top:0;background:radial-gradient(rgba(255,244,236,.95),rgba(243,217,201,.5) 40%,transparent 70%);transform:translate(var(--gx,60vw),var(--gy,10vh));pointer-events:none;z-index:0}
.perolas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.capa .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-block:60px 90px}
.capa h1{font-size:clamp(60px,8.6vw,128px);line-height:.92}
.capa .lead{font-size:19px;color:var(--fg2);max-width:28em;margin:26px 0 32px}
.capa .acoes{display:flex;gap:12px;flex-wrap:wrap}
.capa .info{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:32px;font-size:14px;color:var(--fg2)}
.capa .info b{font-weight:500;color:var(--fg)}
.arco{position:relative;justify-self:center;width:min(100%,450px)}
.arco .moldura{border-radius:999px 999px 20px 20px;overflow:hidden;aspect-ratio:3/4;clip-path:inset(45% 32% 0 32% round 999px 999px 20px 20px);box-shadow:0 50px 80px -50px rgba(59,42,38,.55)}
.pg.vivo .arco .moldura{animation:abre-arco 1.6s cubic-bezier(.7,0,.2,1) .2s forwards}
@keyframes abre-arco{to{clip-path:inset(0 0 0 0 round 999px 999px 20px 20px)}}
.arco .foto{width:100%;height:100%;transform:scale(1.2)}
.pg.vivo .arco .foto{animation:assenta 2.4s cubic-bezier(.2,.8,.2,1) .2s forwards}
@keyframes assenta{to{transform:scale(1)}}
.arco .reflexo{position:absolute;inset:0;border-radius:999px 999px 20px 20px;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.4) 48%,transparent 60%) -150% 0/250% 100% no-repeat;pointer-events:none;animation:passa 6s ease-in-out 2.2s infinite;z-index:2}
@keyframes passa{0%,65%{background-position:-150% 0}100%{background-position:150% 0}}
.selo-giro{position:absolute;left:-54px;bottom:46px;width:140px;height:140px;animation:gira 24s linear infinite;z-index:3}
.selo-giro circle{fill:var(--perola)}
.selo-giro text{font:500 10.5px var(--f-texto);letter-spacing:.34em;text-transform:uppercase;fill:var(--rose-esc)}
.selo-giro .estrela{fill:var(--rose)}
@keyframes gira{to{transform:rotate(360deg)}}
.flutua{position:absolute;right:-18px;top:70px;z-index:3;background:var(--perola);border-radius:18px;padding:12px 16px;box-shadow:0 20px 40px -24px rgba(59,42,38,.5);display:flex;gap:10px;align-items:center;font-size:13.5px;animation:boia 5s ease-in-out infinite}
.flutua b{display:block;font:italic 400 20px/1.1 var(--f-titulo)}
.flutua i{width:10px;height:10px;border-radius:50%;background:#7FA67E;box-shadow:0 0 0 5px rgba(127,166,126,.2)}
@keyframes boia{50%{transform:translateY(-10px)}}
@media (max-width:900px){
  .capa .wrap{grid-template-columns:1fr;gap:36px;padding-block:26px 64px}
  .arco{order:-1;width:min(80%,360px)}
  .selo-giro{left:-26px;width:100px;height:100px}
  .flutua{right:-14px;top:30px}
}

/* manifesto que acende */
.manifesto{padding-block:120px}
.manifesto p{font:300 clamp(34px,4.6vw,62px)/1.18 var(--f-titulo);margin:0;max-width:20em}
.manifesto .w{opacity:.14;transition:opacity .35s,color .35s}
.manifesto .w.on{opacity:1}
.manifesto .w.on.d{color:var(--rose);font-style:italic}

/* ritual: carrossel para deslizar (sem prender a rolagem) */
.hz{background:var(--nude-2);padding-block:90px 80px}
.hz-cab{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.hz-cab h2{font-size:clamp(40px,5vw,68px)}
.hz-setas{display:flex;gap:10px}
.hz-setas button{width:52px;height:52px;border-radius:50%;border:1px solid var(--cacau);background:transparent;font-size:20px;transition:background .3s,color .3s,transform .3s cubic-bezier(.3,1.6,.5,1)}
.hz-setas button:hover{background:var(--cacau);color:var(--perola);transform:scale(1.06)}
.hz-setas button[disabled]{opacity:.3;pointer-events:none}
.hz-trilho{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut))) 30px;scroll-padding-inline:max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)))}
.hz-trilho::-webkit-scrollbar{display:none}
.painel{flex:none;scroll-snap-align:start;width:min(520px,84vw);height:470px;background:var(--perola);border-radius:30px;box-shadow:0 40px 70px -55px rgba(59,42,38,.7);display:flex;flex-direction:column;overflow:hidden;transform:scale(var(--pz,.94));opacity:var(--po,.6);transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s}
.painel.on{--pz:1;--po:1}
.painel .pt{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--linha);font:500 11px var(--f-texto);letter-spacing:.26em;text-transform:uppercase;color:var(--rose-esc)}
.painel .pc{flex:1;min-height:0;padding:22px 24px;display:flex;flex-direction:column;gap:14px;position:relative}
.painel h3{font:italic 400 30px/1.1 var(--f-titulo)}
.hz-pe{display:flex;align-items:center;gap:18px}
.hz-barra{flex:1;height:2px;background:var(--linha);position:relative}
.hz-barra i{position:absolute;inset:0;background:var(--rose-esc);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.hz-pe ol{list-style:none;margin:0;padding:0;display:flex;gap:18px;font:italic 400 18px var(--f-titulo);color:var(--taupe)}
.hz-pe li{transition:color .4s}
.hz-pe li.on{color:var(--cacau)}
@media (max-width:760px){.hz-pe ol{display:none}.painel .pc{padding:18px}.painel{height:440px}}
.cha-cena{flex:1;display:grid;place-items:center}
.xicara{width:200px;max-width:70%;overflow:visible}
.xicara .liq{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}
.painel.on .xicara .liq{animation:enche-x 2.2s cubic-bezier(.4,0,.2,1) .9s forwards}
@keyframes enche-x{to{transform:scaleY(1)}}
.xicara .bule{transform-box:view-box;transform-origin:150px 40px;transform:translate(40px,-30px);opacity:0}
.painel.on .xicara .bule{animation:serve 3.2s cubic-bezier(.5,0,.3,1) .2s forwards}
@keyframes serve{15%{opacity:1;transform:translate(0,0) rotate(0)}30%,75%{opacity:1;transform:translate(0,0) rotate(-28deg)}100%{opacity:0;transform:translate(30px,-20px)}}
.xicara .fio{stroke:#C9A27A;stroke-width:3;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60}
.painel.on .xicara .fio{animation:fio 2.2s ease .9s forwards}
@keyframes fio{20%,80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-60;opacity:0}}
.xicara .vap{fill:none;stroke:var(--rose);stroke-width:2;stroke-linecap:round;opacity:0}
.painel.on .xicara .vap{animation:vapor 3s ease-in-out 3s infinite}
@keyframes vapor{0%{opacity:0;transform:translateY(8px)}35%{opacity:.8}100%{opacity:0;transform:translateY(-16px)}}
.boas{font:italic 300 26px/1.2 var(--f-titulo);text-align:center;opacity:0;transform:translateY(10px);transition:all .8s}
.painel.on .boas{opacity:1;transform:none;transition-delay:2.6s}
.ficha-l{display:grid;gap:14px}
.ficha-l .lin{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;font-size:14px}
.ficha-l .trilho{height:8px;border-radius:8px;background:var(--nude-2);overflow:hidden}
.ficha-l .trilho i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--rose),var(--ouro));width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.ficha-l .tag{font-size:12px;color:var(--rose-esc)}
.plano{margin-top:auto;background:var(--nude);border-radius:16px;padding:14px 16px;font-size:14px;opacity:0;transform:translateY(16px);transition:all .7s cubic-bezier(.3,1.3,.5,1)}
.painel.on .plano{opacity:1;transform:none;transition-delay:2.2s}
.plano b{font:italic 400 20px var(--f-titulo);display:block}
.rosto{flex:none;width:58px}
.rosto .scan{fill:none;stroke:var(--rose);stroke-width:1.2;stroke-dasharray:4 4;transform-box:fill-box;transform-origin:center;animation:gira 6s linear infinite}
.relax{flex:1;display:grid;place-items:center;position:relative}
.vela{width:110px;overflow:visible}
.vela .chama{transform-box:fill-box;transform-origin:bottom center;animation:chama 1.6s ease-in-out infinite alternate}
@keyframes chama{0%{transform:scale(1,1) rotate(-2deg)}100%{transform:scale(.9,1.08) rotate(2deg)}}
.vela .halo{transform-box:fill-box;transform-origin:center;animation:halo 2.4s ease-in-out infinite alternate}
@keyframes halo{to{opacity:.3;transform:scale(1.12)}}
.anel-t{position:absolute;width:210px;height:210px}
.anel-t circle{fill:none;stroke-width:2}
.anel-t .bg{stroke:var(--nude-2)}
.anel-t .fg{stroke:var(--rose);stroke-linecap:round;stroke-dasharray:629;stroke-dashoffset:629;transform:rotate(-90deg);transform-origin:center}
.painel.on .anel-t .fg{animation:anel 6s linear .4s forwards}
@keyframes anel{to{stroke-dashoffset:0}}
.eq{display:flex;gap:3px;align-items:end;height:18px}
.eq i{width:3px;background:var(--rose);height:30%;border-radius:2px;animation:eq .9s ease-in-out infinite alternate}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.45s}.eq i:nth-child(4){animation-delay:.1s}
@keyframes eq{to{height:100%}}
.orient{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.orient li{display:flex;gap:12px;align-items:center;font-size:15px;opacity:.35;transition:opacity .5s}
.orient li i{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--rose);display:grid;place-items:center;font-style:normal;font-size:12px;color:transparent;transition:all .4s cubic-bezier(.3,1.6,.5,1)}
.orient li.ok{opacity:1}
.orient li.ok i{background:var(--rose);color:#fff;transform:scale(1.1)}
.zap-lemb{margin-top:auto;display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 14px 30px -20px rgba(59,42,38,.5);opacity:0;transform:translateY(-20px) scale(.96);transition:all .6s cubic-bezier(.3,1.5,.5,1)}
.zap-lemb.on{opacity:1;transform:none}
.av{flex:none;width:34px;height:34px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font:italic 400 18px var(--f-titulo)}
.zap-lemb small{display:block;color:var(--taupe);font-size:12px}
.zap-lemb p{margin:2px 0 0;font-size:14px;line-height:1.45}

.destaques{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dest{display:grid;gap:16px;cursor:pointer;background:none;border:0;padding:0;text-align:left}
.dest .rev-img{border-radius:220px 220px 14px 14px}
.dest .foto{aspect-ratio:3/4;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.dest:hover .foto{transform:scale(1.06)}
.dest h3{font-size:32px;font-weight:400;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.dest h3 small{font:400 13px var(--f-texto);color:var(--fg2);white-space:nowrap}
.dest p{margin:0;color:var(--fg2);font-size:15.5px}
@media (max-width:860px){.destaques{grid-template-columns:1fr;gap:40px}.dest .foto{aspect-ratio:4/3}}

/* ---------- TRATAMENTOS ---------- */
.quiz{background:var(--nude);border-radius:30px;padding:34px;display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;margin-bottom:70px;position:relative;overflow:hidden}
.quiz::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-160px;background:radial-gradient(rgba(243,217,201,.9),transparent 70%);pointer-events:none}
.quiz h2{font-size:clamp(38px,4.6vw,58px)}
.quiz-pontos{display:flex;gap:6px;margin-top:20px}
.quiz-pontos i{width:26px;height:3px;border-radius:3px;background:var(--linha);transition:background .4s}
.quiz-pontos i.on{background:var(--rose-esc)}
.quiz-area{position:relative;min-height:250px;perspective:1000px}
.q-perg{font:italic 400 30px/1.15 var(--f-titulo);margin-bottom:18px}
.q-ops{display:flex;flex-wrap:wrap;gap:10px}
.q-op{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--cacau);background:transparent;border-radius:999px;padding:13px 22px;font-size:15px;transition:color .3s,transform .3s cubic-bezier(.3,1.6,.5,1);opacity:0;animation:entra .6s cubic-bezier(.2,.8,.2,1) forwards}
.q-op:nth-child(2){animation-delay:.08s}.q-op:nth-child(3){animation-delay:.16s}
.q-op:hover{transform:translateY(-3px)}
.q-op .gota{position:absolute;border-radius:50%;background:var(--rose);transform:scale(0);animation:gota .6s ease-out forwards;pointer-events:none;width:20px;height:20px;margin:-10px;z-index:-1}
@keyframes gota{to{transform:scale(18)}}
.q-res{background:var(--perola);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:150px 1fr;animation:vira .9s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}
@keyframes vira{from{transform:rotateY(-70deg);opacity:0}}
.q-res .foto{min-height:100%}
.q-res .tx{padding:22px;display:grid;gap:8px}
.q-res h3{font-size:32px}
.q-res p{margin:0;color:var(--taupe);font-size:15px}
.q-res .acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.q-res .refaz{background:none;border:0;font-size:13px;color:var(--taupe);text-decoration:underline;text-underline-offset:3px;padding:0;justify-self:start}
@media (max-width:860px){.quiz{grid-template-columns:1fr;padding:24px}.q-res{grid-template-columns:1fr}.q-res .foto{aspect-ratio:16/9}}
.abas{position:relative;display:inline-flex;gap:4px;background:var(--nude);border-radius:999px;padding:5px;margin-bottom:40px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.abas button{position:relative;z-index:1;border:0;background:none;padding:10px 20px;border-radius:999px;font:500 12px var(--f-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);white-space:nowrap;transition:color .4s}
.abas button.on{color:var(--perola)}
.abas .pilula{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;background:var(--cacau);transition:transform .6s cubic-bezier(.3,1.3,.5,1),width .6s cubic-bezier(.3,1.3,.5,1)}
.grade-t{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.trat{position:relative;background:var(--nude);border-radius:24px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .6s,opacity .5s,filter .5s;border:0;text-align:left;padding:0}
.trat:hover{transform:translateY(-6px);box-shadow:0 40px 60px -40px rgba(59,42,38,.55)}
.trat .foto{aspect-ratio:16/11;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.trat:hover .foto{transform:scale(1.07)}
.trat .tx{padding:20px 22px 22px;display:grid;gap:6px}
.trat .cat{font:500 10.5px var(--f-texto);letter-spacing:.3em;text-transform:uppercase;color:var(--rose-esc)}
.trat h3{font-size:30px;font-weight:400}
.trat .meta{display:flex;justify-content:space-between;font-size:14px;color:var(--taupe)}
.trat .meta b{font-weight:500;color:var(--cacau)}
.trat .ver{position:absolute;top:16px;right:16px;z-index:3;width:46px;height:46px;border-radius:50%;background:var(--perola);display:grid;place-items:center;font-size:18px;transform:scale(0) rotate(-90deg);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.trat:hover .ver{transform:none}
.trat.some{opacity:0;transform:scale(.9);filter:blur(6px)}
@media (max-width:960px){.grade-t{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grade-t{grid-template-columns:1fr}}
.voo{position:fixed;z-index:90;overflow:hidden;pointer-events:none}
.voo::after{display:none}
.gaveta-fundo{position:fixed;inset:0;background:rgba(42,29,26,.45);backdrop-filter:blur(4px);z-index:70;opacity:0;transition:opacity .5s}
.gaveta-fundo.on{opacity:1}
.gaveta{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--perola);color:var(--cacau);z-index:71;display:flex;flex-direction:column;overflow:auto;clip-path:inset(0 0 0 100%);transition:clip-path .8s cubic-bezier(.7,0,.2,1)}
.gaveta.on{clip-path:inset(0 0 0 0)}
.gaveta > .foto{aspect-ratio:16/10;flex:none;opacity:0}
.gaveta.chegou > .foto{opacity:1}
.gaveta .gt{padding:28px max(28px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) 28px;display:grid;gap:16px}
.gaveta .gt > *{opacity:0;transform:translateY(24px);transition:all .8s cubic-bezier(.2,.8,.2,1)}
.gaveta.chegou .gt > *{opacity:1;transform:none}
.gaveta.chegou .gt > :nth-child(2){transition-delay:.07s}.gaveta.chegou .gt > :nth-child(3){transition-delay:.14s}.gaveta.chegou .gt > :nth-child(4){transition-delay:.21s}.gaveta.chegou .gt > :nth-child(5){transition-delay:.28s}.gaveta.chegou .gt > :nth-child(6){transition-delay:.35s}
.gaveta h2{font-size:50px}
.gaveta .fatos{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--linha)}
.gaveta .fatos div{padding:14px 0;display:grid;gap:2px}
.gaveta .fatos small{font:500 10px var(--f-texto);letter-spacing:.24em;text-transform:uppercase;color:var(--taupe)}
.gaveta .fatos b{font:400 24px var(--f-titulo)}
.gaveta ul{margin:0;padding-left:18px;color:var(--taupe)}
.gaveta .fechar{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:var(--perola);font-size:22px;box-shadow:0 8px 20px -10px rgba(0,0,0,.3);transition:transform .4s}
.gaveta .fechar:hover{transform:rotate(90deg)}

/* ---------- SOBRE ---------- */
.sobre-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sobre-intro .rev-img{border-radius:18px}
.sobre-intro .foto{aspect-ratio:4/5}
.sobre-intro p{color:var(--fg2)}
.sobre-intro .grande{font:italic 300 32px/1.3 var(--f-titulo);color:var(--fg)}
.numeros{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ln);margin-top:80px}
.numeros div{padding:30px 10px;text-align:center}
.numeros div + div{border-left:1px solid var(--ln)}
.numeros b{display:block;font:300 76px/1 var(--f-titulo);color:var(--rose-esc)}
.numeros span{font-size:14px;color:var(--fg2)}
.equipe{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vira-c{perspective:1100px;cursor:pointer;background:none;border:0;padding:0;text-align:left;display:block;width:100%}
.vira-c .in{position:relative;aspect-ratio:3/4.3;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.3,1.2,.4,1)}
.vira-c:hover .in,.vira-c.virado .in{transform:rotateY(180deg)}
.vira-c .fr,.vira-c .vs{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:200px 200px 18px 18px;overflow:hidden}
.vira-c .fr .foto{width:100%;height:100%}
.vira-c .fr .nm{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(42,29,26,.7));color:var(--perola);z-index:3}
.vira-c .fr h3{font-size:34px;font-weight:400}
.vira-c .fr small{font:500 10.5px var(--f-texto);letter-spacing:.26em;text-transform:uppercase;color:var(--rose-claro)}
.vira-c .vs{transform:rotateY(180deg);background:var(--rose);color:var(--perola);padding:70px 26px 26px;display:flex;flex-direction:column;gap:12px}
.vira-c .vs h3{font:italic 400 34px var(--f-titulo)}
.vira-c .vs p{margin:0;font-size:15.5px;color:#FBEDE6}
.vira-c .vs .fav{margin-top:auto;border-top:1px solid rgba(255,255,255,.3);padding-top:14px;font:italic 300 22px/1.3 var(--f-titulo)}
.vira-c .vs .fav small{display:block;font:500 10px var(--f-texto);letter-spacing:.26em;text-transform:uppercase;font-style:normal;opacity:.85;margin-bottom:4px}
.linha-tempo{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;padding-block:30px 10px}
.linha-tempo:active{cursor:grabbing}
.lt-trilho{display:flex;width:max-content;will-change:transform}
.lt-item{width:300px;flex:none;padding-right:40px;position:relative}
.lt-item::before{content:"";position:absolute;left:0;right:0;top:58px;height:1px;background:var(--rose)}
.lt-item b{display:block;font:italic 300 46px/1 var(--f-titulo);color:var(--rose-esc)}
.lt-item i{position:relative;display:block;width:13px;height:13px;border-radius:50%;background:var(--rose);margin:6px 0 16px;box-shadow:0 0 0 6px var(--bg)}
.lt-item h3{font-size:26px;font-weight:400;margin-bottom:6px}
.lt-item p{margin:0;color:var(--fg2);font-size:15px}
@media (max-width:900px){.sobre-intro,.equipe{grid-template-columns:1fr}.numeros{grid-template-columns:1fr 1fr}.numeros div:nth-child(3){border-left:0}.numeros div:nth-child(n+3){border-top:1px solid var(--ln)}}

/* ---------- GALERIA: tela para arrastar ---------- */
.tela-g{position:relative;height:min(78svh,760px);overflow:hidden;cursor:grab;touch-action:none;user-select:none;border-block:1px solid var(--ln)}
.tela-g:active{cursor:grabbing}
.tela-g .bloco{position:absolute;left:0;top:0;will-change:transform;border:0;padding:0;background:none;border-radius:18px;overflow:hidden;cursor:inherit}
.tela-g .bloco .foto{width:100%;height:100%}
.tela-g .bloco .leg{position:absolute;left:14px;bottom:12px;z-index:3;font:italic 400 20px var(--f-titulo);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);opacity:0;transform:translateY(8px);transition:all .4s}
.tela-g .bloco:hover .leg,.tela-g .bloco:focus-visible .leg{opacity:1;transform:none}
.dica-arr{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);pointer-events:none;width:130px;height:130px;border-radius:50%;background:rgba(252,247,244,.92);color:var(--cacau);display:grid;place-items:center;text-align:center;font:500 11px var(--f-texto);letter-spacing:.24em;text-transform:uppercase;transition:opacity .6s,transform .6s}
.dica-arr.some{opacity:0;transform:translate(-50%,-50%) scale(.6)}
.dica-arr span{display:block;font:italic 300 30px var(--f-titulo);letter-spacing:0;text-transform:none;animation:balanca-x 1.6s ease-in-out infinite}
@keyframes balanca-x{0%,100%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
.nota-gal{display:flex;gap:12px;align-items:center;color:var(--fg2);font-size:15px;margin-top:26px}
.caixa{position:fixed;inset:0;z-index:80;background:rgba(20,13,11,.92);display:grid;place-items:center;padding:30px max(16px,env(safe-area-inset-left,0px));opacity:0;transition:opacity .4s}
.caixa.on{opacity:1}
.caixa .palco-img{width:min(900px,100%)}
.caixa .foto{border-radius:16px;width:100%;max-height:76vh}
.caixa p{color:#F7E6DE;text-align:center;font:italic 300 28px var(--f-titulo);margin:14px 0 0}
.caixa button{position:absolute;border:0;border-radius:50%;width:48px;height:48px;background:rgba(252,247,244,.14);color:#fff;font-size:22px}
.caixa .x{top:calc(18px + env(safe-area-inset-top,0px));right:max(18px,env(safe-area-inset-right,0px))}
.caixa .ant{left:max(14px,env(safe-area-inset-left,0px));top:50%}
.caixa .prox{right:max(14px,env(safe-area-inset-right,0px));top:50%}

/* ---------- CONTATO / AGENDA ---------- */
.agenda-grade{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:start}
.agenda{background:var(--perola);border-radius:30px;padding:30px;position:relative;overflow:hidden;min-height:580px}
.ag-passos{display:flex;gap:6px;margin-bottom:26px}
.ag-passos span{flex:1;height:2px;background:var(--linha);position:relative;overflow:hidden}
.ag-passos span::after{content:"";position:absolute;inset:0;background:var(--rose-esc);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.ag-passos span.on::after{transform:scaleX(1)}
.ag-tit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:20px}
.ag-tit h2{font-size:40px}
.ag-tit small{font:500 11px var(--f-texto);letter-spacing:.26em;text-transform:uppercase;color:var(--taupe)}
.ag-corpo{min-height:340px}
.lista-esc{display:grid;gap:8px;max-height:440px;overflow:auto;padding-right:4px}
.esc{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;width:100%;text-align:left;background:var(--nude);border:1px solid transparent;border-radius:18px;padding:12px 14px;transition:border-color .3s,background .3s,transform .4s cubic-bezier(.3,1.4,.5,1);opacity:0;animation:entra .6s cubic-bezier(.2,.8,.2,1) forwards}
.esc:hover{border-color:var(--rose);transform:translateX(5px)}
.esc[aria-pressed="true"]{background:#fff;border-color:var(--rose-esc)}
.esc .mini{width:52px;height:52px;border-radius:50%}
.esc .t{font:400 22px/1.1 var(--f-titulo)}
.esc .s{font-size:13px;color:var(--taupe)}
.esc .v{font-size:12.5px;color:var(--rose-esc);text-align:right;white-space:nowrap}
.esc .v b{display:block;font:400 22px var(--f-titulo);color:var(--cacau)}
.dias{position:relative;display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;margin-bottom:18px}
.dias .sel{position:absolute;top:4px;left:0;width:68px;height:calc(100% - 14px);border-radius:999px;background:var(--cacau);transition:transform .6s cubic-bezier(.3,1.3,.5,1);z-index:0}
.dia{position:relative;z-index:1;flex:none;width:68px;border:1px solid var(--linha);background:transparent;border-radius:999px;padding:12px 0;display:grid;justify-items:center;gap:2px;transition:color .4s,border-color .4s}
.dia small{font:500 10px var(--f-texto);letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);transition:color .4s}
.dia b{font:400 28px/1 var(--f-titulo)}
.dia[aria-pressed="true"]{color:var(--perola);border-color:transparent}
.dia[aria-pressed="true"] small{color:#E9CFC4}
.dia[disabled]{opacity:.35;cursor:not-allowed}
.roleta-w{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.roleta-box{position:relative}
.roleta{position:relative;height:250px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;perspective:600px;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.roleta::-webkit-scrollbar{display:none}
.roleta .pad{height:103px}
.roleta button{display:block;width:100%;height:44px;scroll-snap-align:center;border:0;background:none;font:300 30px/44px var(--f-titulo);font-variant-numeric:tabular-nums;color:var(--cacau);transform:rotateX(var(--rx,0deg)) scale(var(--rs,1));opacity:var(--ro,1);transition:color .3s}
.roleta button.oc{color:#C9AFA6;text-decoration:line-through;text-decoration-thickness:1px}
.roleta button.on{color:var(--rose-esc);font-style:italic}
.roleta-marca{position:absolute;left:0;right:0;top:50%;height:46px;margin-top:-23px;border-block:1px solid var(--linha);pointer-events:none}
.hora-info{display:grid;gap:8px}
.hora-info b{font:italic 300 64px/1 var(--f-titulo);color:var(--rose-esc)}
.hora-info span{font-size:14.5px;color:var(--taupe)}
.hora-info .st{font:500 11px var(--f-texto);letter-spacing:.22em;text-transform:uppercase}
.hora-info .st.ok{color:#5E8A62}
.hora-info .st.no{color:var(--erro)}
@media (max-width:520px){.roleta-w{gap:10px}.hora-info b{font-size:46px}}
.campo{display:grid;gap:6px;margin-bottom:16px}
.campo label{font:500 11px var(--f-texto);letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.campo input{border:0;border-bottom:1px solid var(--linha);background:transparent;padding:10px 2px;font:300 20px var(--f-texto);color:var(--cacau);border-radius:0;transition:border-color .3s}
.campo input:focus{outline:none;border-color:var(--rose-esc)}
.campo .err{color:var(--erro);font-size:13px}
.campo.ruim input{border-color:var(--erro)}
.prim{display:flex;gap:8px;flex-wrap:wrap}
.prim label{position:relative}
.prim input{position:absolute;opacity:0}
.prim span{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid var(--linha);font-size:14px;cursor:pointer;transition:all .3s}
.prim input:checked + span{background:var(--cacau);color:var(--perola);border-color:var(--cacau)}
.prim input:focus-visible + span{outline:2px solid var(--rose-esc);outline-offset:2px}
.resumo-ag{background:var(--nude);border-radius:16px;padding:14px 16px;font-size:14.5px;margin-bottom:18px;display:grid;gap:2px}
.resumo-ag b{font:italic 400 22px var(--f-titulo)}
.ag-pe{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--linha)}
.ag-pe .voltar{background:none;border:0;font:500 12px var(--f-texto);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);padding:8px 0}
.ag-pe .voltar.esc-v{visibility:hidden}
.lado{display:grid;gap:18px}
.lado .bl{background:var(--perola);border-radius:24px;padding:24px}
.lado h3{font-size:28px;font-weight:400;margin-bottom:10px}
.lado p{margin:0 0 4px;color:var(--taupe);font-size:15.5px}
.lado .hr{display:flex;justify-content:space-between;font-size:15px;padding:6px 0;border-bottom:1px solid var(--linha)}
.lado .hr:last-child{border:0}
.lado .hr.hoje{color:var(--rose-esc);font-weight:500}
.mapa{height:170px;border-radius:16px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 38px,rgba(184,133,118,.18) 38px 40px),repeating-linear-gradient(90deg,transparent 0 52px,rgba(184,133,118,.18) 52px 54px),var(--nude-2);margin-top:12px}
.mapa .pino{position:absolute;left:50%;top:46%;width:22px;height:22px;margin:-22px 0 0 -11px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--rose-esc);animation:pino 2s cubic-bezier(.3,1.6,.5,1) infinite}
.mapa .pino::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--perola)}
.mapa .onda{position:absolute;left:50%;top:46%;width:14px;height:14px;margin:-7px;border-radius:50%;border:2px solid var(--rose);animation:ond 2s ease-out infinite}
@keyframes pino{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes ond{to{transform:scale(6);opacity:0}}
@media (max-width:900px){.agenda-grade{grid-template-columns:1fr}.agenda{padding:22px}}
.convite{text-align:center}
.convite .carta-c{position:relative;background:#fff;border:1px solid var(--linha);border-radius:6px;padding:44px 26px 30px;max-width:420px;margin:34px auto 20px;box-shadow:0 30px 60px -40px rgba(59,42,38,.6);animation:convite 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes convite{from{opacity:0;transform:translateY(60px) rotate(-4deg) scale(.95)}}
.convite .carta-c::before{content:"";position:absolute;inset:8px;border:1px solid var(--linha);border-radius:3px;pointer-events:none}
.convite .rot{display:block;margin-bottom:12px}
.convite h3{font-size:46px}
.convite .quando{font:italic 400 26px/1.3 var(--f-titulo);color:var(--rose-esc);margin:10px 0}
.convite .det{color:var(--taupe);font-size:14.5px}
.cera{position:absolute;left:50%;top:-36px;width:72px;height:72px;margin-left:-36px;animation:cera .7s cubic-bezier(.3,1.6,.5,1) .8s both}
@keyframes cera{0%{transform:translateY(-140px) scale(1.4) rotate(-30deg);opacity:0}60%{transform:translateY(0) scale(.84,1.12)}100%{transform:none;opacity:1}}
.cera .gota-c{fill:#A35F55}
.cera text{font:italic 500 32px var(--f-titulo);fill:#E8B3A6}
.faisca{position:absolute;left:50%;top:0;width:6px;height:6px;border-radius:50%;background:var(--ouro);pointer-events:none;animation:faisca 1s ease-out forwards}
@keyframes faisca{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(var(--fx),var(--fy)) scale(0);opacity:0}}
.chega{text-align:left;background:var(--nude);border-radius:16px;padding:14px;margin:0 auto 16px;max-width:420px}
.chega .rot{font-size:10px;margin-bottom:8px;color:var(--rose-esc)}
.notif{background:#fff;border-radius:12px;padding:12px;font-size:13.5px;line-height:1.5;white-space:pre-line;opacity:0;animation:entra .7s 1.5s forwards}
.notif .q{display:flex;justify-content:space-between;font-size:12px;color:var(--taupe);white-space:normal}
.notif .lk{color:var(--rose-esc);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.pequena{font-size:12.5px;color:var(--taupe);margin-top:10px}

/* ---------- rodapé que se revela por baixo ---------- */
.rodape{position:fixed;left:0;right:0;bottom:0;z-index:0;background:var(--cacau-2);color:#D8C2BA;font-size:14px;overflow:hidden}
.rodape .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;padding-block:56px 20px}
.rodape .logo b{color:var(--perola)}
.rodape h4{font:500 11px var(--f-texto);letter-spacing:.26em;text-transform:uppercase;color:#E9CFC4;margin:0 0 12px}
.rodape a{display:block;text-decoration:none;padding:3px 0}
.rodape a:hover{color:#fff}
.gigante{font:italic 300 clamp(120px,30vw,420px)/.8 var(--f-titulo);color:var(--rose);text-align:center;letter-spacing:-.03em;transform:translateY(var(--gy,40%));white-space:nowrap;margin-top:10px}
.rodape .base{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}
.rodape .base a{display:inline}
.calco{height:var(--rodape);background:transparent;pointer-events:none}
main::after{content:"";display:block}
@media (max-width:760px){.rodape .wrap{grid-template-columns:1fr;gap:18px;padding-block:36px 10px}}
.barra-m{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px max(var(--gut),env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(var(--gut),env(safe-area-inset-left,0px));background:linear-gradient(transparent,var(--bg) 35%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.barra-m .btn{width:100%}
.barra-m.some{transform:translateY(110%)}
@media (min-width:761px){.barra-m{display:none}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}
  [data-rev].esp{opacity:1;transform:none;filter:none}.rev-img.esp::before{transform:scaleY(0)}.rev-img .foto{transform:none!important}
  .entra > *,.letras .l,.q-op,.esc,.notif{opacity:1;transform:none;filter:none}
  .painel{--pz:1;--po:1}
  .manifesto .w{opacity:1}}

/* ---------- site: envio que falhou (plano B pelo WhatsApp) ---------- */
.ag-falha{display:grid;gap:10px;margin-top:16px;text-align:center}
.ag-falha b{color:var(--erro);font-weight:500;font-size:14.5px}

/* ---------- site: o último cartão do ritual também chega ao começo da trilha (no protótipo, em telas largas,
   o 4º cartão nunca ficava ativo). Espaço vazio no fim = largura visível - 1 cartão - 1 vão. ---------- */
.hz-trilho::after{content:"";flex:none;width:max(0px,calc(100% - min(520px,84vw) - 26px))}

/* ---------- site: sem animação, o arco da capa já aparece aberto (no protótipo ficava fechado, escondendo a foto) ---------- */
@media (prefers-reduced-motion:reduce){.arco .moldura{clip-path:inset(0 0 0 0 round 999px 999px 20px 20px)}.arco .foto{transform:none}}
