/* Bruna Oliveira — experiência premium. Paleta clara (papel, osso, sálvia, blush, argila). Sem fundos pretos. */
:root{
  --papel:#f7f4ef;--osso:#eee8de;--tint:#f1ede5;--salvia:#9aa78f;--salvia-2:#e2e8da;--verde:#5f6e56;--verde-2:#4b5944;
  --argila:#b0866f;--blush:#f1e2d6;--tinta:#2e3329;--texto:#4b4f45;--linha:rgba(46,51,41,.12);
  --display:"Archivo",system-ui,sans-serif;--serif:"Instrument Serif",Georgia,serif;
  --r:24px;--ease:cubic-bezier(.16,1,.3,1);--w:1280px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px;overflow-x:clip}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--display);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%}
a{color:inherit}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--verde)}
h1,h2,h3{margin:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--osso);padding:10px 14px;border-radius:99px}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--argila);outline-offset:3px}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
.line-mask,.word-mask,.char-mask{padding:0 .08em .08em;margin:0 -.08em -.08em}

/* cortina de transição entre páginas */
.curtain{position:fixed;inset:0;z-index:150;background:var(--papel);pointer-events:none;opacity:0}
.js.motion .curtain{opacity:1}

/* tipografia */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--argila);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.h-display{font-family:var(--display);font-stretch:76%;font-weight:700;font-size:clamp(38px,5.2vw,76px);line-height:.98;letter-spacing:-.025em}
.h-display em{font-size:1.07em}
.page-title{font-family:var(--display);font-stretch:72%;font-weight:800;font-size:clamp(52px,8.5vw,132px);line-height:.92;letter-spacing:-.03em}
.page-title em{font-size:1.06em}
.lead{font-size:clamp(17px,1.5vw,21px);color:var(--texto);max-width:54ch;margin:22px 0 0}
.muted{color:var(--texto)}
.note{font-size:13px;color:#7a7d72;margin:30px 0 0;max-width:80ch}

/* botões com microinteração */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 26px;border-radius:99px;background:var(--verde);color:#fbf9f5;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;overflow:hidden;isolation:isolate;border:1px solid transparent;will-change:transform}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--argila);border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover::before{transform:none}
.btn .arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--tinta);border-color:rgba(46,51,41,.28)}
.btn-ghost::before{background:var(--osso)}
.btn-sm{padding:11px 18px;font-size:14px}
.btn-lg{padding:19px 32px;font-size:16px}
.btn-block{width:100%}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}
.cta-center{justify-content:center}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;color:var(--verde);padding-bottom:4px;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .5s var(--ease)}
.link:hover{background-size:30% 1px}
.link .arr,.t-more .arr,.ir-count .arr{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* cabeçalho: transparente sobre a foto, sólido ao rolar */
.header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px clamp(20px,4vw,48px);transition:background-color .4s,padding .4s,box-shadow .4s}
.header.is-scrolled,.page-lista .header,.page-trat .header,.page-sobre .header,.page-contato .header{background:rgba(247,244,239,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--linha)}
.header.is-scrolled{padding-top:12px;padding-bottom:12px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-mono{font-family:var(--serif);font-size:30px;line-height:1;letter-spacing:-.02em}
.logo-mono i{font-style:normal;color:var(--argila)}
.logo-txt{display:flex;flex-direction:column;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.25}
.logo-txt small{font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--argila)}
.menu{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.menu>a:not(.btn),.has-mega>a{text-decoration:none;padding:6px 0;position:relative}
.menu>a[aria-current],.has-mega>a[aria-current]{color:var(--verde)}
.menu>a:not(.btn)::after,.has-mega>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.menu>a:not(.btn):hover::after,.has-mega:hover>a::after{transform:scaleX(1)}
.has-mega{position:relative}
.mega{position:absolute;left:50%;top:calc(100% + 16px);transform:translate(-50%,10px);display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:28px;padding:30px;border-radius:var(--r);background:#fbf9f5;border:1px solid var(--linha);box-shadow:0 30px 70px rgba(46,51,41,.14);opacity:0;visibility:hidden;transition:opacity .3s,transform .35s var(--ease),visibility .3s}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.mega-col{display:flex;flex-direction:column;gap:8px;font-size:14px}
.mega-col a{text-decoration:none;color:var(--texto);transition:color .25s,transform .25s}
.mega-col a:hover{color:var(--verde);transform:translateX(3px)}
.mega-cat{font-weight:700;color:var(--tinta)!important;margin-bottom:4px}
.burger{display:none;width:46px;height:46px;border:0;background:rgba(238,232,222,.9);border-radius:50%;cursor:pointer;position:relative;z-index:70}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:var(--tinta);transition:transform .3s}
.burger span:first-child{top:19px}.burger span:last-child{top:26px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:1060px){
  .burger{display:block}
  .header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .header.is-scrolled,.page-lista .header,.page-trat .header,.page-sobre .header,.page-contato .header{background:var(--papel)}
  .menu{position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);flex-direction:column;align-items:flex-start;gap:8px;padding:96px 30px 30px;background:#fbf9f5;box-shadow:-20px 0 60px rgba(46,51,41,.12);transform:translateX(105%);visibility:hidden;transition:transform .5s var(--ease),visibility .5s;overflow:auto;font-size:19px}
  .menu.is-open{transform:none;visibility:visible}
  .mega{position:static;transform:none;opacity:1;visibility:visible;display:flex;flex-direction:column;gap:14px;padding:10px 0 10px 14px;border:0;box-shadow:none;background:transparent}
  .has-mega:hover .mega{transform:none}
  .menu-cta{margin-top:16px}
}

/* =========================================================
   HERO cinematográfico
   ========================================================= */
.hero{position:relative;height:100svh;min-height:640px}
.hero-stage{position:relative;height:100%;overflow:hidden;background:#ebe8e3}
.hero-layer{position:absolute;inset:0}
.hero-photo{will-change:transform}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:74% 32%;transform-origin:72% 38%}
.hero-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(247,244,239,.86) 0%,rgba(247,244,239,.5) 34%,rgba(247,244,239,0) 56%),linear-gradient(180deg,rgba(247,244,239,.35) 0%,rgba(247,244,239,0) 18%,rgba(247,244,239,0) 78%,rgba(247,244,239,.6) 100%)}
.hero-light{position:absolute;z-index:3;width:60vw;height:60vw;left:-10vw;top:-20vw;border-radius:50%;background:radial-gradient(circle,rgba(255,250,240,.55),rgba(255,250,240,0) 65%);pointer-events:none;mix-blend-mode:soft-light}
.hero-text{z-index:4;display:flex;align-items:center}
.hero-in{width:100%;padding-top:80px}
.hero-eyebrow .ln{display:inline-block;width:44px;height:1px;background:currentColor}
.hero-title{font-family:var(--display);font-stretch:70%;font-weight:800;font-size:clamp(54px,6.6vw,112px);line-height:.9;letter-spacing:-.03em;max-width:7.6em}
.hero-title .ht{display:block}
.hero-title em{font-size:1.06em}
.hero-sub{font-size:clamp(17px,1.4vw,20px);color:var(--texto);max-width:34ch;margin:26px 0 0}
.scroll-ind{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--verde-2)}
.si-line{position:relative;width:1px;height:54px;background:rgba(75,89,68,.25);overflow:hidden}
.si-line i{position:absolute;left:0;top:0;width:1px;height:40%;background:var(--verde-2);animation:si 2.2s var(--ease) infinite}
@keyframes si{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}
@media(max-width:820px){
  .hero{height:100svh;min-height:600px}
  .hero-photo img{object-position:62% 12%}
  .hero-veil{background:linear-gradient(180deg,rgba(247,244,239,.25) 0%,rgba(247,244,239,0) 18%,rgba(247,244,239,0) 30%,rgba(247,244,239,.88) 55%,rgba(247,244,239,.97) 72%)}
  .hero-text{align-items:flex-end}
  .hero-in{padding-bottom:84px}
  .hero-title em{color:var(--verde-2)}
  .scroll-ind{display:none}
}

/* faixa contínua */
.ticker{overflow:hidden;border-block:1px solid var(--linha);background:#fbf9f5;padding:18px 0;white-space:nowrap}
.ticker-track{display:inline-flex;align-items:center;gap:28px;animation:tick 38s linear infinite}
.ticker span{font-size:15px;font-weight:600;letter-spacing:.02em}
.ticker i{font-style:normal;color:var(--argila)}
@keyframes tick{to{transform:translateX(-50%)}}

/* apresentação: frase que acende */
.intro{padding:clamp(100px,14vw,190px) 0 clamp(80px,10vw,140px)}
.intro-sm{padding-top:clamp(40px,6vw,80px)}
.intro-text{font-family:var(--display);font-stretch:78%;font-weight:700;font-size:clamp(34px,4.6vw,70px);line-height:1.04;letter-spacing:-.02em;max-width:20ch}
.intro-text em{font-size:1.06em}
.js.motion .intro-text .lw{color:#cdc8bd;transition:color .3s}
.js.motion .intro-text .lw.on{color:var(--tinta)}
.js.motion .intro-text em .lw.on,.js.motion .intro-text .lw.on em{color:var(--verde)}
.intro-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:clamp(40px,6vw,80px);padding-top:28px;border-top:1px solid var(--linha)}
.intro-foot p{margin:0;max-width:56ch;color:var(--texto);font-size:17px}
@media(max-width:820px){.intro-foot{flex-direction:column;align-items:flex-start}}

/* índice editorial de áreas */
.index{padding:0 0 clamp(90px,11vw,150px)}
.sec-head{margin-bottom:clamp(34px,4vw,60px);max-width:820px}
.sec-head-row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.index-list{border-top:1px solid var(--linha)}
.index-row{position:relative;display:grid;grid-template-columns:70px 80px minmax(0,5fr) minmax(0,4fr) auto;align-items:center;gap:24px;padding:34px 10px;border-bottom:1px solid var(--linha);text-decoration:none;overflow:hidden;isolation:isolate}
.index-row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--salvia-2);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}
.index-row:hover::before{transform:none}
.ir-n{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--argila)}
.ir-ico svg{width:52px;height:52px;fill:none;stroke:var(--verde);stroke-width:1.3;stroke-linecap:round}
.ir-title{font-stretch:74%;font-weight:700;font-size:clamp(30px,3.4vw,52px);line-height:1;letter-spacing:-.02em;transition:transform .6s var(--ease)}
.index-row:hover .ir-title{transform:translateX(12px)}
.ir-desc{color:var(--texto)}
.ir-count{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--verde);white-space:nowrap}
@media(max-width:900px){.index-row{grid-template-columns:50px 1fr;gap:10px 16px;padding:26px 4px}.ir-ico{display:none}.ir-desc,.ir-count{grid-column:2}}

/* seções */
.sec{padding:clamp(90px,10vw,140px) 0}
.sec-tint{background:var(--tint)}

/* cartões de tratamento com brilho que segue o mouse */
.tabs{display:flex;gap:6px;padding:5px;background:#fbf9f5;border:1px solid var(--linha);border-radius:99px}
.tabs button{border:0;background:transparent;padding:10px 18px;border-radius:99px;font:inherit;font-size:14px;font-weight:600;color:var(--texto);cursor:pointer;transition:background-color .35s,color .35s}
.tabs button[aria-selected="true"]{background:var(--verde);color:#fbf9f5}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.t-grid-2{grid-template-columns:repeat(2,1fr)}
.t-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;min-height:300px;background:#fbf9f5;border:1px solid var(--linha);border-radius:var(--r);text-decoration:none;overflow:hidden;isolation:isolate;transition:border-color .4s,box-shadow .5s var(--ease),transform .5s var(--ease)}
.t-card:hover{border-color:rgba(95,110,86,.35);box-shadow:0 26px 60px rgba(46,51,41,.1)}
.t-card[hidden]{display:none}
.t-glow{position:absolute;z-index:-1;width:340px;height:340px;left:var(--mx,50%);top:var(--my,0%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(226,232,218,.95),rgba(241,226,214,.5) 45%,transparent 70%);opacity:0;transition:opacity .4s}
.t-card:hover .t-glow{opacity:1}
.t-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto;padding-bottom:28px}
.t-ico{width:56px;height:56px;border-radius:18px;display:grid;place-items:center}
.t-ico svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.ico-facial{background:var(--salvia-2);color:var(--verde)}
.ico-corporal{background:var(--blush);color:#8b6552}
.ico-capilar{background:var(--osso);color:#7d7466}
.t-num{font-family:var(--serif);font-style:italic;font-size:22px;color:#b9b3a7}
.t-cat{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--argila)}
.t-card h3{font-size:24px;font-stretch:80%;font-weight:700;line-height:1.1}
.t-card p{margin:0;color:var(--texto);font-size:15px}
.t-more{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--verde);margin-top:6px}
.t-card:hover .t-more .arr{transform:translateX(4px)}
.t-more .arr{transition:transform .4s var(--ease)}
@media(max-width:1000px){.t-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.t-grid,.t-grid-2{grid-template-columns:1fr}.t-card{min-height:0}.tabs{overflow:auto;max-width:100%}}

/* seção imersiva (fixa, vídeo cresce, passos trocam) */
.immersive{position:relative;background:var(--papel)}
.imm-pin{position:relative;height:100svh;min-height:620px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,5vw,80px);padding:0 clamp(20px,4vw,48px);max-width:1440px;margin:0 auto;overflow:hidden}
.imm-frame{position:relative;justify-self:end;width:min(100%,420px);aspect-ratio:9/14;border-radius:var(--r);overflow:hidden;background:var(--osso);will-change:transform,border-radius}
.imm-frame video{width:100%;height:100%;object-fit:cover}
.imm-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,244,239,0) 60%,rgba(247,244,239,.25))}
.imm-title{font-stretch:76%;font-weight:700;font-size:clamp(34px,4vw,60px);line-height:1;letter-spacing:-.02em;margin-bottom:34px}
.imm-steps{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--linha)}
.imm-steps li{display:grid;grid-template-columns:54px 1fr;gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--linha);opacity:.35;transition:opacity .5s}
.imm-steps li.on{opacity:1}
.imm-steps span{grid-row:span 2;font-family:var(--serif);font-style:italic;font-size:28px;color:var(--argila);line-height:1}
.imm-steps strong{font-size:22px;font-stretch:82%}
.imm-steps p{margin:0;color:var(--texto)}
@media(max-width:900px){.imm-pin{height:auto;grid-template-columns:1fr;padding-top:90px;padding-bottom:90px}.imm-frame{justify-self:start;width:min(100%,360px)}.imm-steps li{opacity:1}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:4fr 7fr;gap:clamp(30px,5vw,80px)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:18px;font-weight:600;transition:color .3s}
.faq summary:hover{color:var(--verde)}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{font-size:26px;color:var(--argila);transition:transform .4s var(--ease);line-height:1}
.faq details[open] summary span{transform:rotate(45deg)}
.faq p{margin:0 0 22px;color:var(--texto);max-width:62ch}
@media(max-width:860px){.faq-wrap{grid-template-columns:1fr}}

/* final forte */
.finale{position:relative;overflow:hidden;padding:clamp(110px,13vw,190px) 0 clamp(90px,10vw,140px);text-align:center;isolation:isolate}
.finale-bg{position:absolute;inset:-20%;z-index:-1;background:radial-gradient(40% 50% at 30% 40%,var(--salvia-2),transparent 70%),radial-gradient(40% 50% at 72% 60%,var(--blush),transparent 70%),var(--papel);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(4%,-3%,0) scale(1.06)}}
.marquee{position:absolute;left:0;right:0;top:34px;overflow:hidden;white-space:nowrap;opacity:.5;pointer-events:none}
.marquee-track{display:inline-flex;align-items:center;gap:40px;animation:tick 46s linear infinite}
.marquee span{font-stretch:72%;font-weight:800;font-size:clamp(40px,6vw,90px);letter-spacing:-.02em;color:rgba(46,51,41,.08)}
.marquee span em{color:rgba(95,110,86,.16)}
.marquee i{font-style:normal;color:rgba(176,134,111,.3);font-size:32px}
.finale-in{display:flex;flex-direction:column;align-items:center}
.finale-in .eyebrow{justify-content:center}
.finale-title{font-stretch:70%;font-weight:800;font-size:clamp(60px,10vw,160px);line-height:.88;letter-spacing:-.035em}
.finale-title em{font-size:1.05em}
.finale-sub{color:var(--texto);max-width:46ch;margin:26px 0 0;font-size:18px}
.finale-loc{margin:28px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#7a7d72}

/* rodapé */
.footer{background:#fbf9f5;border-top:1px solid var(--linha);padding:64px 0 26px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:30px}
.footer-grid>div{display:flex;flex-direction:column;gap:8px}
.footer-grid a{text-decoration:none;color:var(--texto);transition:color .25s}.footer-grid a:hover{color:var(--verde)}
.foot-title{font-weight:700;margin:0 0 6px;color:var(--tinta)}
.foot-desc{color:var(--texto);max-width:34ch;margin:14px 0 0}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--linha);color:#7a7d72;font-size:12.5px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

/* botão flutuante (aparece depois do topo) */
.float-cta{position:fixed;right:18px;bottom:18px;z-index:55;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:99px;background:var(--verde);color:#fbf9f5;font-weight:600;text-decoration:none;box-shadow:0 14px 34px rgba(79,93,71,.32);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .4s,transform .5s var(--ease),background-color .3s}
.float-cta.is-on{opacity:1;pointer-events:auto;transform:none}
.float-cta:hover{background:var(--argila)}
.float-cta .dot{width:8px;height:8px;border-radius:50%;background:#d6ecc9;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(214,236,201,.7)}70%{box-shadow:0 0 0 10px rgba(214,236,201,0)}100%{box-shadow:0 0 0 0 rgba(214,236,201,0)}}

/* páginas internas */
.page-hero{position:relative;padding:clamp(150px,16vw,210px) 0 clamp(60px,7vw,100px);overflow:hidden;background:radial-gradient(60% 80% at 85% 0%,var(--salvia-2),transparent 70%),radial-gradient(50% 60% at 0% 100%,var(--blush),transparent 70%),var(--papel)}
.crumbs{font-size:13px;color:#7a7d72;margin:0 0 26px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--verde)}
.t-hero-ico{position:absolute;right:-4vw;top:50%;transform:translateY(-45%);width:min(46vw,560px);opacity:.5;pointer-events:none}
.t-hero-ico svg{width:100%;height:auto;fill:none;stroke:var(--salvia);stroke-width:.5;stroke-linecap:round}
.page-trat .page-title{font-size:clamp(46px,6.6vw,104px);max-width:12em}
.price{font-size:14px;font-weight:600;color:var(--argila)}
.t-body{display:grid;grid-template-columns:7fr 4fr;gap:clamp(30px,5vw,80px);align-items:start}
.t-block{position:relative;padding:0 0 40px 64px;margin-bottom:40px;border-bottom:1px solid var(--linha)}
.tb-n{position:absolute;left:0;top:2px;font-family:var(--serif);font-style:italic;font-size:26px;color:var(--argila)}
.t-main h2{font-size:30px;font-stretch:80%;margin:0 0 14px}
.t-main p{color:var(--texto);font-size:17px;margin:0}
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checks li{padding:14px 16px 14px 44px;border-radius:14px;background:var(--tint);position:relative}
.checks li::before{content:"";position:absolute;left:17px;top:50%;width:13px;height:7px;border-left:2px solid var(--verde);border-bottom:2px solid var(--verde);transform:translateY(-70%) rotate(-45deg)}
.t-aside{position:sticky;top:110px}
.aside-card{padding:30px;border-radius:var(--r);background:var(--salvia-2)}
.aside-card p{color:var(--texto);margin:0 0 18px}
.aside-list{list-style:none;padding:0;margin:18px 0 0;font-size:14px;color:var(--texto);display:grid;gap:6px}
@media(max-width:900px){.t-body{grid-template-columns:1fr}.t-aside{position:static}.checks{grid-template-columns:1fr}.t-block{padding-left:0}.tb-n{position:static;display:block;margin-bottom:8px}.t-hero-ico{opacity:.25}}
.cat-block{display:grid;grid-template-columns:4fr 8fr;gap:clamp(24px,4vw,70px);align-items:start}
.cat-side{position:sticky;top:120px}
.cat-n{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--argila);display:block}
.cat-ico svg{width:90px;height:90px;fill:none;stroke:var(--verde);stroke-width:1;stroke-linecap:round;margin:10px 0 18px}
.cat-side p{color:var(--texto)}
@media(max-width:900px){.cat-block{grid-template-columns:1fr}.cat-side{position:static}}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value{padding:34px;border-radius:var(--r);background:#fbf9f5;border:1px solid var(--linha);min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.value span{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--argila);margin-bottom:auto}
.value h3{font-size:30px;font-stretch:78%}
.value p{margin:0;color:var(--texto)}
@media(max-width:820px){.values{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.c-card{display:flex;flex-direction:column;gap:8px;padding:32px;border-radius:var(--r);background:#fbf9f5;border:1px solid var(--linha);text-decoration:none;transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.c-card:hover{box-shadow:0 24px 56px rgba(46,51,41,.1);transform:translateY(-3px)}
.c-card strong{font-size:24px;font-stretch:80%}.c-card span:not(.eyebrow):not(.t-more){color:var(--texto)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* estados iniciais (só com JS + movimento) */
.motion [data-fade],.motion [data-card],.motion [data-row]{opacity:0}
.motion .hero-title,.motion .hero-eyebrow,.motion .hero-sub,.motion .hero-cta,.motion .scroll-ind{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .curtain{display:none}
}


/* =========================================================
   BOTÕES ANIMADOS
   ========================================================= */
.btn{gap:14px;padding-right:8px;transition:box-shadow .5s var(--ease),border-color .4s}
.btn-sm{padding-right:6px}
.btn:not(:has(.btn-ico)){padding-right:26px}
.btn-txt{position:relative;display:grid;overflow:hidden;line-height:1.25}
.btn-txt>span{grid-area:1/1;transition:transform .55s var(--ease)}
.bt-b{transform:translateY(110%)}
.btn:hover .bt-a{transform:translateY(-110%)}
.btn:hover .bt-b{transform:none}
.btn-ico{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(251,249,245,.16);overflow:hidden;transition:transform .55s var(--ease),background-color .4s}
.btn-sm .btn-ico{width:30px;height:30px}
.btn-lg .btn-ico{width:44px;height:44px}
.btn-ghost .btn-ico{background:rgba(95,110,86,.12)}
.btn-ico>span{grid-area:1/1;display:grid;place-items:center;transition:transform .55s var(--ease)}
.bi-b{transform:translateX(-160%)}
.btn:hover .btn-ico{transform:scale(1.12);background:rgba(251,249,245,.28)}
.btn:hover .bi-a{transform:translateX(160%)}
.btn:hover .bi-b{transform:none}
.btn .arr{width:17px;height:17px}
.btn:hover .arr{transform:none}
/* brilho que atravessa o botão sozinho */
.btn-shine{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.btn-shine::after{content:"";position:absolute;top:-20%;bottom:-20%;width:38%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);animation:shine 4.2s var(--ease) infinite}
.btn-ghost .btn-shine::after{background:linear-gradient(100deg,transparent,rgba(176,134,111,.18),transparent)}
.btn:nth-of-type(2) .btn-shine::after{animation-delay:1.4s}
@keyframes shine{0%,55%{left:-50%}85%,100%{left:130%}}
.btn>.btn-txt,.btn>.btn-ico{z-index:1}
/* aura pulsando no botão principal */
.btn-hero{box-shadow:0 0 0 0 rgba(95,110,86,.45),0 14px 34px rgba(79,93,71,.28);animation:aura 2.8s ease-out infinite}
.btn-hero:hover{animation-play-state:paused;box-shadow:0 0 0 6px rgba(95,110,86,.12),0 18px 44px rgba(79,93,71,.34)}
@keyframes aura{0%{box-shadow:0 0 0 0 rgba(95,110,86,.42),0 14px 34px rgba(79,93,71,.28)}70%{box-shadow:0 0 0 16px rgba(95,110,86,0),0 14px 34px rgba(79,93,71,.28)}100%{box-shadow:0 0 0 0 rgba(95,110,86,0),0 14px 34px rgba(79,93,71,.28)}}
/* onda no clique */
.btn .ripple{position:absolute;z-index:0;border-radius:50%;background:rgba(255,255,255,.45);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:ripple .7s ease-out forwards}
.btn-ghost .ripple{background:rgba(95,110,86,.25)}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
/* botão flutuante: texto e ponto também animados */
.float-cta{overflow:hidden}
.float-cta::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);animation:shine 5s var(--ease) infinite 2s}

/* =========================================================
   CAMADA DE VIDA: cursor, progresso, orbes, palavras de fundo, painéis
   ========================================================= */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--salvia),var(--argila));transform-origin:left;transform:scaleX(0)}
.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;will-change:transform}
.o1{width:46vw;height:46vw;left:-12vw;top:30vh;background:radial-gradient(circle,#dfe6d6,transparent 70%)}
.o2{width:40vw;height:40vw;right:-10vw;top:80vh;background:radial-gradient(circle,#f2dfd2,transparent 70%)}
.o3{width:34vw;height:34vw;left:30vw;top:160vh;background:radial-gradient(circle,#ece4d4,transparent 70%)}
.intro,.index,.sec:not(.sec-tint),.finale{background:transparent}
body{background:var(--papel)}
main{position:relative;z-index:1}

/* cursor personalizado (só com mouse) */
.cursor{display:none}
@media (pointer:fine){
  .motion .cursor{display:block;position:fixed;inset:0;z-index:180;pointer-events:none}
  .c-dot,.c-ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
  .c-dot{width:7px;height:7px;background:var(--verde)}
  .c-ring{width:38px;height:38px;border:1px solid rgba(95,110,86,.45);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),background-color .4s,border-color .4s}
  .c-ring b{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fbf9f5;opacity:0;transition:opacity .3s}
  .cursor.is-link .c-ring{width:62px;height:62px;border-color:rgba(176,134,111,.6);background:rgba(176,134,111,.08)}
  .cursor.is-card .c-ring{width:84px;height:84px;background:var(--verde);border-color:var(--verde)}
  .cursor.is-card .c-ring b{opacity:1}
  .cursor.is-card .c-dot,.cursor.is-link .c-dot{opacity:0}
}

/* palavra gigante de fundo que desliza com a rolagem */
[data-bgword]{position:relative;overflow:hidden}
.bgword{position:absolute;z-index:-1;top:50%;left:0;white-space:nowrap;transform:translateY(-50%);font-stretch:68%;font-weight:800;font-size:clamp(160px,24vw,380px);letter-spacing:-.04em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(95,110,86,.13);pointer-events:none;user-select:none}

/* painéis que sobem por cima da seção anterior (transição entre seções) */
[data-panel]{border-radius:40px 40px 0 0;box-shadow:0 -30px 60px rgba(46,51,41,.05);will-change:transform}

/* arte da seção imersiva (sem fotos) */
.imm-art{position:relative;justify-self:end;width:min(100%,420px);aspect-ratio:400/520;display:grid;place-items:center}
.imm-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.imm-svg .arc{fill:none;stroke-linecap:round}
.imm-svg .a1{stroke:var(--salvia);stroke-width:1.2}
.imm-svg .a2{stroke:var(--argila);stroke-width:1}
.imm-svg .a3{stroke:var(--verde);stroke-width:1.4}
.imm-svg .dot{fill:var(--argila)}
.imm-mono{position:relative;font-family:var(--serif);font-size:clamp(70px,8vw,120px);line-height:1;letter-spacing:-.02em;margin-top:30%}
.imm-mono i{font-style:normal;color:var(--argila)}
.imm-step-num{position:absolute;right:6%;top:6%;font-family:var(--serif);font-style:italic;font-size:48px;color:var(--argila)}
.immersive{background:var(--tint)}
@media(max-width:900px){.imm-art{justify-self:center;width:min(80%,320px)}}

/* Instagram e telefone */
.ig-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:14px;font-weight:600;color:var(--verde-2)}
.ig-link svg,.hero-contact svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.ig-link:hover{color:var(--argila)}
@media(min-width:1061px){.ig-link span{display:none}.ig-link{width:40px;height:40px;justify-content:center;border-radius:50%;background:rgba(247,244,239,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
.hero-contact{display:flex;flex-wrap:wrap;gap:22px;margin:22px 0 0;font-size:14px;font-weight:600}
.hero-contact a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--verde-2)}
.hero-contact a:hover{color:var(--argila)}
.motion .hero-contact{visibility:hidden}

/* =========================================================
   CELULAR — refeito do zero (≤820px)
   ========================================================= */
@media(max-width:820px){
  :root{--gut:20px}
  body{font-size:16px}
  .wrap{padding-left:var(--gut);padding-right:var(--gut)}
  .header{padding:12px var(--gut)}
  .logo-txt{font-size:11.5px}

  /* topo: cartão de foto centralizado + texto abaixo */
  .hero{height:auto;min-height:0}
  .hero-stage{height:auto;overflow:visible;background:transparent;display:flex;flex-direction:column;align-items:center;padding-top:84px}
  .hero-photo{position:relative;inset:auto;width:min(72vw,300px);height:auto;min-height:0;aspect-ratio:1145/1373;max-height:46svh;margin:0 auto;border-radius:26px;overflow:hidden;box-shadow:0 22px 44px rgba(46,51,41,.14),0 0 0 6px rgba(255,255,255,.7)}
  .hero-photo img{object-position:60% 0%}
  .hero-veil,.hero-light,.scroll-ind{display:none}
  .hero-text{position:relative;inset:auto;display:block;width:100%;text-align:center}
  .hero-in{padding:26px var(--gut) 40px!important}
  .hero-name{display:block;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:var(--verde);margin:0 0 10px}
  .hero-eyebrow{justify-content:center;margin-bottom:14px}
  .hero-eyebrow .ln{display:none}
  .hero-title{font-size:clamp(34px,10vw,44px);line-height:1.02;max-width:none;margin:0 auto}
  .hero-title .ht{display:block}
  .hero-title em{color:var(--verde)}
  .hero-sub{font-size:15.5px;line-height:1.55;margin:14px auto 0;max-width:34ch}
  .hero-cta{flex-direction:column;align-items:stretch;gap:10px;margin-top:22px}
  .hero-cta .btn{justify-content:space-between;padding:8px 8px 8px 22px;min-height:56px}
  .btn-hero{animation:none;box-shadow:0 10px 24px rgba(79,93,71,.24)}
  .hero-contact{justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}
  .hero-contact a{padding:9px 14px;border:1px solid var(--linha);border-radius:99px;font-size:13.5px;background:rgba(255,255,255,.55)}

  /* ritmo das seções */
  .ticker{padding:12px 0}.ticker span{font-size:12.5px}
  .intro{padding:64px 0 48px}
  .intro-text{font-size:clamp(26px,7.6vw,34px);line-height:1.15}
  .sec{padding:64px 0}
  .h-display{font-size:clamp(30px,8.8vw,40px);line-height:1.05}
  .page-title{font-size:clamp(40px,12vw,58px)}
  .page-hero{padding-top:110px}
  .bgword{display:none}
  [data-panel]{border-radius:26px 26px 0 0}
  .index{padding-bottom:56px}
  .index-row{padding:20px 0}
  .ir-title{font-size:26px}

  /* tratamentos */
  .tabs{width:100%;justify-content:space-between}
  .tabs button{flex:1;padding:10px 6px;font-size:14px}
  .t-card{padding:20px;gap:8px;border-radius:22px}
  .t-top{padding-bottom:14px}

  /* seção imersiva compacta */
  .imm-pin{padding:64px var(--gut);gap:28px}
  .imm-art{width:min(56vw,220px)!important;justify-self:center}
  .imm-title{font-size:30px}

  /* local, faq, final */
  .map{aspect-ratio:4/3}
  .faq summary{font-size:16px;padding:18px 0}
  .finale{padding:84px 0 72px}
  .finale-title{font-size:clamp(46px,13vw,66px)}
  .finale .cta-row{flex-direction:column;align-items:stretch;width:100%}
  .finale .btn{justify-content:space-between;padding-left:22px}
  .marquee span{font-size:38px}
  .footer{padding-bottom:100px}
  .t-hero-ico{width:60vw;right:-18vw;top:22%;opacity:.18}

  /* botão flutuante: pílula compacta no canto, some no fim da página */
  .float-cta{left:auto;right:16px;bottom:16px;padding:13px 18px 13px 14px;font-size:15px;gap:8px;justify-content:center}
  .float-cta::after{display:none}
  .float-cta .dot{display:none}
  .local-info .cta-row{flex-direction:column;align-items:stretch}
  .local-info .btn{justify-content:space-between;padding-left:22px}
  .float-cta .wa{width:20px;height:20px;fill:currentColor}
  .float-cta.is-end{opacity:0;pointer-events:none;transform:translateY(14px)}
}
@media(min-width:821px){.hero-name{display:none}.float-cta .wa{display:none}}
@media(max-width:640px){
  [data-grid].t-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:4px var(--gut) 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  [data-grid].t-grid::-webkit-scrollbar{display:none}
  [data-grid] .t-card{flex:0 0 82vw;scroll-snap-align:center;min-height:260px}
  .swipe-hint{display:flex!important}
}
/* toque: sem efeitos que dependem de mouse */
@media (hover:none){
  .t-glow{display:none}
  .index-row::before{display:none}
  .btn:active{transform:scale(.97)}
  .t-card:active{transform:scale(.985)}
}
/* cursor só aparece depois do primeiro movimento do mouse */
.cursor{opacity:0}
.cursor.is-live{opacity:1}
.swipe-hint{display:none;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--argila);margin:6px 0 0}
.swipe-hint i{display:inline-block;width:28px;height:1px;background:currentColor;animation:hint 1.6s ease-in-out infinite}
@keyframes hint{50%{transform:translateX(8px)}}

/* localização */
.local-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,5vw,80px);align-items:center}
.local-info address{font-style:normal;font-size:18px;line-height:1.6;color:var(--texto);margin-top:20px}
.local-info address span{font-size:14px;color:var(--argila)}
.map{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--osso);border:1px solid var(--linha);box-shadow:0 30px 60px rgba(46,51,41,.08)}
.map iframe{width:100%;height:100%;border:0;filter:saturate(.75) sepia(.12)}
@media(max-width:860px){.local-grid{grid-template-columns:1fr}.map{aspect-ratio:1/1}}
