/* ============================================
   MELLOCLINIC — Estética Avançada
   Design: minimalismo de luxo, paleta da marca
   ============================================ */

:root{
  --cream:#F3F0E8;
  --cream-2:#ECE8DC;
  --sand:#DDD7C6;
  --sage:#A9AB99;
  --sage-soft:#C3C4B5;
  --olive:#75775F;
  --olive-deep:#45473A;
  --ink:#1B1B18;
  --ink-soft:#3A3A34;
  --white:#FBFAF6;
  --line:rgba(27,27,24,.14);
  --line-soft:rgba(27,27,24,.08);
  --ease:cubic-bezier(.22,1,.36,1);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost",-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:300;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}

::selection{background:var(--olive);color:var(--cream)}

/* grain sutil */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

.wrap{width:min(100% - 2.5rem,1180px);margin-inline:auto}

/* ---------- tipografia ---------- */
.eyebrow{
  font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;
  font-weight:400;color:var(--olive);display:flex;align-items:center;gap:.9rem;
}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:var(--olive);flex:none}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:2.2rem;height:1px;background:var(--olive);flex:none}

h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.01em}
.display{font-size:clamp(2.6rem,9.5vw,5.6rem)}
.t-xl{font-size:clamp(2.2rem,7vw,4.2rem)}
.t-lg{font-size:clamp(1.9rem,5.5vw,3.2rem)}
.t-md{font-size:clamp(1.45rem,4vw,2.1rem)}
em.it{font-style:italic;font-weight:400}
.lead{font-size:clamp(1rem,2.4vw,1.15rem);color:var(--ink-soft);max-width:34em}

/* ---------- botões ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:.75rem;
  padding:1rem 1.9rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  font-weight:400;border:1px solid var(--ink);color:var(--ink);
  overflow:hidden;transition:color .5s var(--ease);isolation:isolate;
}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--ink);z-index:-1;
  transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);
}
.btn:hover{color:var(--cream)}
.btn:hover::before{transform:scaleY(1)}
.btn.solid{background:var(--ink);color:var(--cream)}
.btn.solid::before{background:var(--olive)}
.btn.solid:hover{border-color:var(--olive)}
.btn.light{border-color:var(--cream);color:var(--cream)}
.btn.light::before{background:var(--cream)}
.btn.light:hover{color:var(--ink)}
.btn svg{width:14px;height:14px;flex:none;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translateX(4px)}

.link-line{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  padding-bottom:.4rem;position:relative;
}
.link-line::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform:scaleX(1);transform-origin:left;
  transition:transform .45s var(--ease);
}
.link-line:hover::after{transform:scaleX(.4)}

/* ---------- header ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  transition:background .45s ease,box-shadow .45s ease,transform .45s var(--ease);
}
.header.scrolled{background:rgba(243,240,232,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-soft)}
.header.hidden{transform:translateY(-100%)}
.header-in{
  width:min(100% - 2.5rem,1320px);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;
  padding-block:1rem;
}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{width:40px;height:auto}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--sans);font-weight:500;letter-spacing:.26em;font-size:.82rem}
.brand-sub{font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:var(--olive);margin-top:.32em}

.nav-desktop{display:none}
.nav-desktop a{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;
  position:relative;padding-block:.3rem;
}
.nav-desktop a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--ink);transform:scaleX(0);transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav-desktop a:hover::after{transform:scaleX(1);transform-origin:left}

.menu-btn{display:flex;flex-direction:column;gap:6px;padding:.6rem;z-index:210;position:relative}
.menu-btn span{width:26px;height:1.5px;background:var(--ink);transition:.45s var(--ease)}
.menu-open .header{z-index:300;background:transparent;box-shadow:none;transform:none;backdrop-filter:none}
.menu-open .header .brand img{filter:invert(1)}
.menu-open .header .brand-name{color:var(--cream)}
.menu-open .header .brand-sub{color:var(--sage-soft)}
.menu-open .menu-btn span{background:var(--cream)}
.menu-open .menu-btn span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
.menu-open .menu-btn{position:fixed;top:1rem;right:1.25rem}

/* menu mobile fullscreen */
.menu{
  position:fixed;inset:0;z-index:200;background:var(--olive-deep);color:var(--cream);
  display:flex;flex-direction:column;justify-content:center;
  padding:6rem 2rem 3rem;
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .7s var(--ease),visibility 0s .7s;
}
.menu-open .menu{clip-path:inset(0 0 0% 0);visibility:visible;transition:clip-path .7s var(--ease)}
.menu a.big{
  font-family:var(--serif);font-size:clamp(2rem,8vw,3.4rem);line-height:1.25;
  display:block;opacity:0;transform:translateY(30px);
  transition:opacity .6s ease,transform .6s var(--ease),color .3s;
}
.menu a.big:hover{color:var(--sage-soft);font-style:italic}
.menu-open .menu a.big{opacity:1;transform:none}
.menu-open .menu a.big:nth-child(1){transition-delay:.15s}
.menu-open .menu a.big:nth-child(2){transition-delay:.22s}
.menu-open .menu a.big:nth-child(3){transition-delay:.29s}
.menu-open .menu a.big:nth-child(4){transition-delay:.36s}
.menu-open .menu a.big:nth-child(5){transition-delay:.43s}
.menu-foot{margin-top:3rem;display:flex;flex-direction:column;gap:.5rem;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-soft);
  opacity:0;transition:opacity .6s ease .5s}
.menu-open .menu-foot{opacity:1}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;
  background:
    radial-gradient(90% 60% at 85% 20%,rgba(169,171,153,.16),transparent 60%),
    linear-gradient(var(--cream),var(--cream-2));
  overflow:hidden;
}
.hero-word{
  position:absolute;z-index:0;left:50%;top:54%;transform:translateX(-50%);
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(6rem,26vw,22rem);line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(69,71,58,.11);
  white-space:nowrap;user-select:none;pointer-events:none;
}
.hero-in{
  position:relative;z-index:2;flex:1;
  width:min(100% - 2.5rem,1320px);margin-inline:auto;
  display:flex;flex-direction:column;
  padding-top:6.5rem;
}
.hero-copy{max-width:36rem;margin-inline:auto;text-align:center}
.hero-copy .eyebrow{justify-content:center}
.hero-copy .eyebrow::after{content:"";width:2.2rem;height:1px;background:var(--olive);flex:none}
.hero h1{margin:1.4rem 0 1.2rem;font-size:clamp(3rem,12.5vw,5.8rem);font-weight:600;letter-spacing:-.01em}
.hero .lead{margin-bottom:2rem;margin-inline:auto}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;justify-content:center}
.hero-img-zone{
  position:relative;margin-top:auto;flex:1;min-height:52svh;
  display:flex;align-items:flex-end;justify-content:center;
}
.hero-img-zone::before{
  content:"";position:absolute;left:50%;bottom:-6%;transform:translateX(-50%);
  width:min(96vw,520px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(169,171,153,.2),rgba(169,171,153,0) 68%);
}
.hero-img-zone::after{
  content:"";position:absolute;left:50%;bottom:-10%;transform:translateX(-50%);
  width:min(88vw,480px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(69,71,58,.08);
}
.hero-duo{
  position:relative;z-index:2;width:min(90vw,470px);
  display:block;margin-bottom:0;
  filter:drop-shadow(0 22px 38px rgba(27,27,24,.18));
}
.hero-scroll{
  display:none;
  position:absolute;z-index:1;left:2.5rem;bottom:2rem;
  font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);
  flex-direction:column;align-items:center;gap:.5rem;
}
.hero-scroll::after{
  content:"";width:1px;height:2.6rem;background:var(--ink-soft);
  animation:drip 2.2s var(--ease) infinite;transform-origin:top;
}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* entrada do hero */
.hr-item{opacity:0;transform:translateY(34px);animation:rise 1s var(--ease) forwards}
.hr-item.d1{animation-delay:.1s}.hr-item.d2{animation-delay:.22s}
.hr-item.d3{animation-delay:.34s}.hr-item.d4{animation-delay:.46s}
.hero-duo{opacity:0;transform:translateY(60px);animation:rise 1.2s var(--ease) .35s forwards}
.hero-word{opacity:0;animation:fadein 1.6s ease .5s forwards}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes fadein{to{opacity:1}}

/* ---------- marquee divider ---------- */
.marquee{
  background:var(--olive-deep);color:var(--cream);
  padding-block:.55rem;overflow:hidden;
  position:relative;z-index:5;
  border-block:1px solid rgba(251,250,246,.12);
}
.marquee-track{display:flex;width:max-content;animation:scroll 32s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{
  font-family:var(--serif);font-style:italic;font-size:.98rem;white-space:nowrap;
  letter-spacing:.04em;
  display:flex;align-items:center;gap:1.8rem;padding-right:1.8rem;
}
.marquee-track span i{
  font-style:normal;font-size:.55rem;color:var(--sage-soft);
}
@keyframes scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-33.3333%)}
}

/* ---------- seções ---------- */
section{position:relative}
.sec-pad{padding-block:clamp(4.5rem,11vw,8.5rem)}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(38px);transition:opacity .9s ease,transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}
.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

/* sobre */
.sobre{background:var(--cream)}
.sobre-grid{display:grid;gap:2.6rem;margin-top:2.4rem}
.sobre-img{position:relative}
.sobre-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sobre-img::after{
  content:"";position:absolute;inset:1rem -1rem -1rem 1rem;
  border:1px solid var(--sage);z-index:-1;
}
.sobre-txt p+p{margin-top:1.1rem}
.sobre-txt .serif-quote{
  font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.35;
  color:var(--olive);margin-bottom:1.4rem;display:block;
}
.sobre-sign{
  margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--line);
  font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--olive);
}

/* ---------- procedimentos: pilha ---------- */
.proc{background:var(--cream-2)}
.proc-head{margin-bottom:3rem}
.stack{--top:5.2rem}
.stack-card{
  position:sticky;top:var(--top);
  background:var(--white);border:1px solid var(--line-soft);
  padding:2rem 1.5rem 2.4rem;margin-bottom:1.2rem;
  display:flex;flex-direction:column;gap:1rem;
  box-shadow:0 -18px 45px rgba(27,27,24,.07);
  transform-origin:top center;
  will-change:transform;
  overflow:hidden;
  isolation:isolate;
}
.stack-card .bg{
  position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center 30%;
  filter:saturate(.72) contrast(.96);
  transition:transform 1.2s var(--ease);
}
.stack-card:hover .bg{transform:scale(1.045)}
.stack-card::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(251,250,246,.42),rgba(251,250,246,.94) 34%,rgba(251,250,246,.97));
}
.stack-card{padding-top:8.5rem}
.stack-card .num{
  font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--olive);
  display:flex;align-items:center;gap:.8rem;
}
.stack-card .num::after{content:"";height:1px;flex:1;background:var(--line)}
.stack-card h3{font-size:clamp(1.7rem,6vw,2.6rem)}
.stack-card p{color:var(--ink-soft);max-width:32em}
.stack-card .tags{display:flex;flex-wrap:wrap;gap:.5rem}
.stack-card .tags li{
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--line);padding:.35rem .7rem;color:var(--ink-soft);
  background:rgba(251,250,246,.65);
}
.stack-card .link-line{margin-top:.4rem;color:var(--olive-deep)}

/* ---------- lash section ---------- */
.lash{background:var(--olive-deep);color:var(--cream);overflow:hidden}
.lash .eyebrow{color:var(--sage-soft)}
.lash .eyebrow::before,.lash .eyebrow::after{background:var(--sage-soft)}
.lash-head{text-align:center;max-width:44rem;margin-inline:auto}
.lash-head .eyebrow{justify-content:center}
.lash-head p{color:var(--sage-soft);margin-top:1.2rem}
.lash-strokes{width:110px;margin:1.6rem auto 0;display:block}
.lash-strokes path{
  stroke-dasharray:120;stroke-dashoffset:120;
  animation:lashdraw 3.6s var(--ease) infinite;
}
.lash-strokes path:nth-child(2){animation-delay:.25s}
.lash-strokes path:nth-child(3){animation-delay:.5s}
@keyframes lashdraw{
  0%{stroke-dashoffset:120;opacity:0}
  18%{opacity:1}
  45%,70%{stroke-dashoffset:0;opacity:1}
  95%,100%{stroke-dashoffset:0;opacity:0}
}
/* banner cinematográfico do olhar */
.lash-banner{position:relative;margin-top:3rem;overflow:hidden}
.lash-banner img{
  width:100%;height:clamp(200px,42vw,340px);object-fit:cover;object-position:center 42%;
  filter:grayscale(.5) brightness(1.05) contrast(.95);
  transition:transform 1.4s var(--ease);
}
.lash-banner:hover img{transform:scale(1.04)}
.lash-banner::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(0deg,rgba(27,27,24,.62),rgba(27,27,24,0) 45%),
    linear-gradient(90deg,rgba(69,71,58,.5),rgba(69,71,58,0) 45%,rgba(69,71,58,.5));
  box-shadow:inset 0 0 0 1px rgba(251,250,246,.22);
}
.lash-banner figcaption{
  position:absolute;left:0;right:0;bottom:1.1rem;text-align:center;z-index:2;
  font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--cream);
  text-shadow:0 2px 12px rgba(27,27,24,.5);
}
.lash-row{display:grid;margin-top:2.6rem}
.lash-row article{
  padding-block:1.5rem;border-top:1px solid rgba(251,250,246,.16);
}
.lash-row article:last-child{border-bottom:1px solid rgba(251,250,246,.16)}
.lash-row i{
  font-family:var(--serif);font-style:italic;font-size:.9rem;
  color:var(--sage-soft);display:block;margin-bottom:.5rem;
}
.lash-row h3{font-size:1.3rem;margin-bottom:.35rem}
.lash-row p{font-size:.92rem;color:var(--sage-soft);max-width:28em}
.lash-cta{text-align:center;margin-top:2.6rem}

/* ---------- carrossel ---------- */
.carousel{position:relative;margin-top:2.6rem}
.car-track{
  display:flex;gap:1rem;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:.4rem;
}
.car-track::-webkit-scrollbar{display:none}
.car-item{
  flex:0 0 86%;scroll-snap-align:center;position:relative;overflow:hidden;
}
.car-item img{width:100%;aspect-ratio:4/4.6;object-fit:cover;display:block}
.car-item figcaption{
  position:absolute;left:1rem;bottom:1rem;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  background:rgba(251,250,246,.9);padding:.45rem .85rem;backdrop-filter:blur(8px);
}
.car-nav{
  display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:1.6rem;
}
.car-btn{
  width:44px;height:44px;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink);
  transition:background .4s var(--ease),color .4s,border-color .4s,opacity .3s;
}
.car-btn:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.car-btn:disabled{opacity:.3;pointer-events:none}
.car-btn svg{width:16px;height:16px}
.car-dots{display:flex;gap:.55rem}
.car-dot{
  width:6px;height:6px;border-radius:50%;background:var(--sand);
  transition:background .4s ease,transform .4s var(--ease);
}
.car-dot.on{background:var(--olive);transform:scale(1.5)}

/* ---------- equipe ---------- */
.equipe{background:var(--cream)}
.equipe-grid{display:grid;gap:1.4rem;margin-top:2.6rem}
.pro-card{position:relative;overflow:hidden;background:var(--sand)}
.pro-card img{
  width:100%;aspect-ratio:3/3.6;object-fit:cover;object-position:top;
  transition:transform 1.1s var(--ease);
}
.pro-card:hover img{transform:scale(1.045)}
.pro-card .pro-info{
  position:absolute;inset:auto 0 0 0;padding:1.4rem;
  background:linear-gradient(transparent,rgba(27,27,24,.62));color:var(--cream);
}
.pro-card .pro-info h3{font-size:1.7rem}
.pro-card .pro-info span{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-soft)}
.pro-card .pro-tag{
  position:absolute;top:1.1rem;left:1.1rem;
  font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;
  background:rgba(251,250,246,.85);padding:.4rem .8rem;backdrop-filter:blur(8px);
}

/* ---------- divisória ornamental ---------- */
.ornament{
  display:flex;align-items:center;gap:1.6rem;
  width:min(100% - 2.5rem,880px);margin:0 auto;
  padding-block:clamp(3rem,8vw,5rem);
}
.ornament::before,.ornament::after{content:"";height:1px;flex:1;background:var(--line)}
.ornament img{width:52px;opacity:.75;transform:rotate(0deg);transition:transform 1s var(--ease)}
.ornament:hover img{transform:rotate(180deg)}

/* ---------- resultados ---------- */
.result{background:var(--cream)}
.result-grid{display:grid;gap:1.2rem;margin-top:2.6rem}
.result-item{position:relative;overflow:hidden}
.result-item img{width:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.result-item:hover img{transform:scale(1.04)}
.result-item figcaption{
  position:absolute;left:1rem;bottom:1rem;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  background:rgba(251,250,246,.88);padding:.45rem .85rem;backdrop-filter:blur(8px);
}
.result-note{font-size:.72rem;color:var(--ink-soft);margin-top:1.4rem;letter-spacing:.06em}

/* ---------- depoimentos ---------- */
.depo{background:var(--cream-2)}
.depo-grid{display:grid;gap:1.2rem;margin-top:2.6rem}
.depo-card{
  background:var(--white);border:1px solid var(--line-soft);
  padding:2rem 1.6rem;display:flex;flex-direction:column;gap:1.1rem;
}
.stars{color:var(--olive);letter-spacing:.25em;font-size:.8rem}
.depo-card blockquote{
  font-family:var(--serif);font-size:1.35rem;font-style:italic;line-height:1.4;
}
.depo-card cite{font-style:normal;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}
.depo-note{display:flex;align-items:center;gap:.7rem;margin-top:2rem;font-size:.72rem;letter-spacing:.08em;color:var(--ink-soft)}
.depo-note b{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--ink)}

/* ---------- visita / contato ---------- */
.visita{background:var(--olive-deep);color:var(--cream)}
.visita .eyebrow{color:var(--sage-soft);justify-content:center}
.visita .eyebrow::before,.visita .eyebrow::after{background:var(--sage-soft)}
.visita-in{max-width:44rem;margin-inline:auto;text-align:center}
.visita h2{margin-block:1.2rem 1rem}
.visita p{color:var(--sage-soft);max-width:34em;margin-inline:auto}
.visita-list{margin-top:2.6rem;display:flex;flex-direction:column;text-align:left}
.visita-list li{
  display:flex;justify-content:space-between;gap:1.4rem;
  padding-block:1.05rem;border-top:1px solid rgba(251,250,246,.16);
  font-size:.85rem;
}
.visita-list li:last-child{border-bottom:1px solid rgba(251,250,246,.16)}
.visita-list span{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage-soft);padding-top:.2em}
.visita-list b{font-weight:400;text-align:right}
.visita .btn{margin-top:2.4rem}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--cream);padding-top:clamp(3.5rem,9vw,6rem)}
.footer-grid{display:grid;gap:2.4rem;padding-bottom:3rem}
.footer .brand-name{color:var(--cream)}
.footer .brand-sub{color:var(--sage)}
.footer p{color:rgba(251,250,246,.55);font-size:.88rem;max-width:26em}
.footer h4{
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;font-weight:400;
  color:var(--sage);margin-bottom:1.1rem;
}
.footer ul{display:flex;flex-direction:column;gap:.55rem}
.footer ul a{font-size:.86rem;color:rgba(251,250,246,.72);transition:color .3s,padding-left .3s}
.footer ul a:hover{color:var(--cream);padding-left:.4rem}
.footer-word{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(3rem,14vw,9.5rem);line-height:.9;color:transparent;
  -webkit-text-stroke:1px rgba(251,250,246,.22);
  text-align:center;white-space:nowrap;overflow:hidden;
  padding-block:1.5rem .5rem;user-select:none;
}
.footer-base{
  border-top:1px solid rgba(251,250,246,.12);
  padding-block:1.4rem;display:flex;flex-direction:column;gap:.5rem;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,250,246,.4);
}

/* ---------- botão whatsapp flutuante ---------- */
.wa-float{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:90;
  width:54px;height:54px;border-radius:50%;
  background:var(--olive-deep);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px rgba(27,27,24,.3);
  transition:transform .4s var(--ease),background .3s;
}
.wa-float:hover{transform:translateY(-4px) scale(1.05);background:var(--olive)}
.wa-float svg{width:24px;height:24px}
.wa-float::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px solid var(--olive);opacity:0;
  animation:pulse 2.6s ease infinite;
}
@keyframes pulse{0%{transform:scale(.8);opacity:.8}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}

/* ============================================
   PÁGINAS DE PROCEDIMENTO
   ============================================ */
.p-hero{
  padding-top:8.5rem;
  background:
    radial-gradient(70% 55% at 50% 0%,rgba(169,171,153,.32),transparent 62%),
    linear-gradient(var(--cream-2),var(--cream));
  padding-bottom:clamp(2.5rem,6vw,4rem);
  text-align:center;
}
.p-hero .crumbs{
  font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);
  display:flex;gap:.7rem;align-items:center;justify-content:center;
  margin-bottom:2.2rem;flex-wrap:wrap;
}
.p-hero .crumbs a:hover{color:var(--ink)}
.p-hero h1{margin-inline:auto;margin-bottom:1.4rem;max-width:12em;font-weight:600}
.p-hero .lead{margin-inline:auto;margin-bottom:2.2rem}
.p-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.4rem;justify-content:center}
.p-meta li{
  border:1px solid var(--line);padding:.55rem 1rem;
  font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);
  background:rgba(251,250,246,.5);
}
.p-meta li b{font-weight:500;color:var(--ink)}
.p-hero .hero-cta{justify-content:center;margin-bottom:0}

/* banner de abertura */
.p-banner{background:var(--cream);padding-bottom:0}
.p-banner .wrap{position:relative}
.p-banner img{
  width:100%;height:clamp(240px,44vw,480px);object-fit:cover;
  filter:saturate(.8) contrast(.98);
}
.p-banner .wrap::after{
  content:"";position:absolute;inset:.9rem -.55rem -.55rem .9rem;
  border:1px solid var(--sage);pointer-events:none;
}
.p-banner figcaption{
  position:absolute;left:1.9rem;bottom:1.1rem;
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
  background:rgba(251,250,246,.88);padding:.5rem .95rem;backdrop-filter:blur(6px);
}

.p-body{background:var(--cream)}
.p-grid{display:grid;gap:2.6rem}
.p-txt h2{margin-bottom:1.2rem}
.p-txt p+p{margin-top:1rem}
.p-txt p{color:var(--ink-soft)}
.p-img{position:relative}
.p-img img{width:100%;object-fit:cover}
.p-img::after{content:"";position:absolute;inset:1rem -1rem -1rem 1rem;border:1px solid var(--sage);z-index:-1}
.p-quote{
  font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,4.5vw,2.2rem);
  line-height:1.3;color:var(--olive);border-left:1px solid var(--sage);
  padding-left:1.4rem;margin-block:1.8rem;
}

.beneficios{background:var(--cream-2)}
.sec-head-c{text-align:center;max-width:40rem;margin-inline:auto}
.sec-head-c .eyebrow{justify-content:center}

/* timeline animada de benefícios */
.timeline{position:relative;margin-top:3.4rem;padding-left:2.2rem}
.timeline::before{
  content:"";position:absolute;left:.5rem;top:0;bottom:0;width:1px;
  background:var(--line);
}
.tl-progress{
  position:absolute;left:.5rem;top:0;width:1px;height:0;
  background:var(--olive);z-index:1;
}
.tl-item{position:relative;padding-block:1.5rem;max-width:34rem}
.tl-item::before{
  content:"";position:absolute;left:-2.05rem;top:2.15rem;
  width:9px;height:9px;border-radius:50%;
  background:var(--cream-2);border:1px solid var(--olive);
  transition:background .5s ease,transform .5s var(--ease);
  z-index:2;
}
.tl-item.passed::before{background:var(--olive);transform:scale(1.25)}
.tl-item i{
  font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--olive);
  display:block;margin-bottom:.4rem;
}
.tl-item h3{font-size:1.35rem;margin-bottom:.35rem}
.tl-item p{font-size:.93rem;color:var(--ink-soft)}

/* etapas: como funciona */
.etapas{background:var(--cream)}
.etapa-grid{display:grid;margin-top:3rem;border-top:1px solid var(--line)}
.etapa{
  padding:2rem .4rem 2.2rem;border-bottom:1px solid var(--line);
  position:relative;transition:transform .5s var(--ease);
}
.etapa:hover{transform:translateY(-4px)}
.etapa i{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(2.6rem,7vw,3.4rem);color:var(--sage);
  display:block;line-height:1;margin-bottom:1rem;
  transition:color .5s ease;
}
.etapa:hover i{color:var(--olive)}
.etapa h3{font-size:1.35rem;margin-bottom:.45rem}
.etapa p{font-size:.92rem;color:var(--ink-soft);max-width:26em}

.faq{background:var(--cream-2)}
.faq-list{margin-top:2.4rem;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;
  align-items:center;padding:1.35rem .2rem;
  font-family:var(--serif);font-size:1.25rem;font-weight:500;
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--olive)}
.faq-item summary::after{
  content:"+";font-family:var(--sans);font-weight:300;font-size:1.4rem;flex:none;
  transition:transform .4s var(--ease);color:var(--olive);
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 .2rem 1.4rem;color:var(--ink-soft);max-width:56em;font-size:.95rem}

.p-cta{background:var(--olive-deep);color:var(--cream);text-align:center}
.p-cta .eyebrow{color:var(--sage-soft);justify-content:center}
.p-cta .eyebrow::before,.p-cta .eyebrow::after{background:var(--sage-soft)}
.p-cta h2{margin-block:1.2rem;max-width:16em;margin-inline:auto}
.p-cta p{color:var(--sage-soft);max-width:34em;margin:0 auto 2.2rem}

.outros{background:var(--cream)}
.outros-grid{display:grid;gap:.9rem;margin-top:2.2rem}
.outro-card{
  border:1px solid var(--line);padding:1.5rem 1.4rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  transition:background .4s,border-color .4s;
}
.outro-card:hover{background:var(--white);border-color:var(--sage)}
.outro-card h3{font-size:1.35rem}
.outro-card span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}
.outro-card svg{width:18px;height:18px;flex:none;color:var(--olive);transition:transform .4s var(--ease)}
.outro-card:hover svg{transform:translateX(5px)}

/* ============================================
   DESKTOP
   ============================================ */
@media (min-width:900px){
  .menu-btn{display:none}
  .nav-desktop{display:flex;gap:2.2rem;align-items:center}
  .header-in{padding-block:1.3rem}
  .brand img{width:46px}

  .hero-in{flex-direction:row;align-items:center;gap:2rem;padding-top:5rem}
  .hero-copy{flex:1.05;text-align:left;margin-inline:0}
  .hero-copy .eyebrow{justify-content:flex-start}
  .hero-copy .eyebrow::after{display:none}
  .hero .lead{margin-inline:0}
  .hero-cta{justify-content:flex-start}
  .hero h1{font-size:clamp(3rem,5.2vw,5.4rem)}
  .hero-img-zone{flex:1;min-height:78vh;margin-top:0;align-items:flex-end}
  .hero-duo{width:min(34vw,520px)}
  .hero-word{left:62%;top:50%}

  .sobre-grid{grid-template-columns:1fr 1.15fr;gap:5rem;align-items:center}
  .stack-card{padding:3.2rem 3rem;flex-direction:row;align-items:center;gap:3rem}
  .stack-card::before{
    background:linear-gradient(90deg,rgba(251,250,246,.97) 42%,rgba(251,250,246,.86) 62%,rgba(251,250,246,.38));
  }
  .stack-card .bg{background-position:78% center}
  .stack-card .sc-l{flex:1}
  .stack-card .sc-r{flex:1.2;display:flex;flex-direction:column;gap:1rem}
  .stack-card h3{margin-top:.6rem}

  .hero-scroll{display:flex}
  .lash-row{grid-template-columns:repeat(3,1fr);column-gap:3rem}
  .lash-row article{border-bottom:1px solid rgba(251,250,246,.16)}
  .car-item{flex:0 0 calc(50% - .5rem)}
  .equipe-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .result-grid{grid-template-columns:repeat(3,1fr)}
  .depo-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem}
  .footer-base{flex-direction:row;justify-content:space-between}

  .p-grid{grid-template-columns:1.15fr 1fr;gap:5rem;align-items:center}
  .p-grid.rev{grid-template-columns:1fr 1.15fr}

  .timeline{padding-left:0}
  .timeline::before,.tl-progress{left:50%}
  .tl-item{width:calc(50% - 3.2rem);padding-block:1.9rem}
  .tl-item:nth-of-type(even){margin-left:auto}
  .tl-item:nth-of-type(odd){text-align:right}
  .tl-item:nth-of-type(odd)::before{left:auto;right:-3.45rem}
  .tl-item:nth-of-type(even)::before{left:-3.45rem}

  .etapa-grid{grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
  .etapa-grid.three{grid-template-columns:repeat(3,1fr)}
  .etapa{border-bottom:0;padding:2.6rem 1.8rem}
  .etapa+.etapa{border-left:1px solid var(--line)}
  .outros-grid{grid-template-columns:repeat(3,1fr)}
  .outro-card{flex-direction:column;align-items:flex-start;gap:2.2rem;padding:1.8rem 1.6rem}
  .outro-card svg{align-self:flex-end}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
}
