:root{--bg:#0a0a0a;--bg2:#121110;--gold:#c9a34e;--gold2:#e6c97a;--ink:#f4f0e8;--mut:#9a948a;--teal:#0c2428;--ivory:#f3ede0;--ink2:#15120d;--serif:'Cormorant Garamond',serif;--sans:'Inter',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}
h1,h2{font-family:var(--serif);font-weight:400;line-height:.95}
h2{font-size:clamp(2.4rem,6vw,5rem);margin-bottom:1.5rem}
section{padding:7rem 6vw}
.lead{max-width:56ch;color:var(--mut);font-size:1.1rem}
.eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:.75rem;color:var(--gold)}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:.8rem 6vw;background:linear-gradient(#0a0a0acc,transparent)}
.nav-logo{height:44px}
.btn{display:inline-block;cursor:pointer;background:var(--gold);color:#0a0a0a;padding:1rem 2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;text-decoration:none;transition:.25s;border:0}
.btn:hover{background:var(--gold2);transform:translateY(-2px)}
.btn-sm{padding:.65rem 1.2rem}.btn-lg{padding:1.4rem 3rem;font-size:.95rem}

.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:3rem;position:relative;background:radial-gradient(ellipse at 70% 20%,#2a2110 0,transparent 55%)}
.giant{display:flex;flex-direction:column;font-size:clamp(5rem,22vw,22rem);letter-spacing:-.02em;margin:1rem 0 2rem;line-height:.82}
.giant span:nth-child(2){color:var(--gold);padding-left:6vw;font-style:italic}
.giant span{opacity:0;transform:translateY(60px);animation:up .9s .2s forwards}
.giant span:nth-child(2){animation-delay:.45s}
@keyframes up{to{opacity:1;transform:none}}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border-top:1px solid #ffffff22;padding-top:1.5rem}
.hero-foot p{font-family:var(--serif);font-size:1.6rem;max-width:30ch}
.scroll-hint{position:absolute;right:6vw;top:6rem;color:var(--mut);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}

.marquee{overflow:hidden;border-block:1px solid #ffffff1a;background:var(--bg2);padding:1rem 0;white-space:nowrap}
#marquee{display:inline-block;animation:mq 40s linear infinite;font-family:var(--serif);font-size:1.6rem;color:var(--gold)}
#marquee span{margin:0 2rem}
@keyframes mq{to{transform:translateX(-50%)}}

/* procedimentos: seção fixa, troca abrupta */
.procs{padding:0;height:calc(var(--n,8)*85vh)}
.procs-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.stage{position:absolute;inset:0}
.proc{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;visibility:hidden}
.proc.on{visibility:visible;animation:cut .35s steps(1) both}
@keyframes cut{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.proc-txt{display:flex;flex-direction:column;justify-content:center;padding:6rem 4vw 4rem 6vw;background:var(--bg)}
.proc-txt .tag{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:.75rem}
.proc-txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,8vw,7.5rem);line-height:.9;margin:1rem 0}
.proc-txt .fr{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--gold2)}
.proc-txt .dt{color:var(--mut);margin:1rem 0 2rem;max-width:44ch}
.ba{position:relative;overflow:hidden;background:#1a1712;user-select:none;touch-action:pan-y}
.ba .img{position:absolute;inset:0;background:center/cover,linear-gradient(135deg,#2a2314,#0e0d0b);display:flex;align-items:flex-end;padding:1rem;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:#fff9}
.ba .after{clip-path:inset(0 0 0 50%)}
.ba .lbl-b{position:absolute;top:5.5rem;left:1rem}.ba .lbl-a{position:absolute;top:5.5rem;right:1rem;color:var(--gold)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}
.ba .bar{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold);z-index:2;pointer-events:none}
.ba .bar::after{content:'⟷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:#000;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.procs-index{position:absolute;z-index:5;top:5.5rem;left:6vw;font-family:var(--serif);color:var(--mut);display:none}
.procs-dots{position:absolute;z-index:5;bottom:1.5rem;left:6vw;display:flex;gap:.5rem}
.procs-dots i{width:28px;height:2px;background:#ffffff33}.procs-dots i.on{background:var(--gold)}

.digital{background:var(--bg2)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:#ffffff1a;margin-top:3rem}
.grid4>div{background:var(--bg2);padding:2rem}
.grid4 b{display:block;font-family:var(--serif);font-size:1.8rem;color:var(--gold);font-weight:400;margin-bottom:.6rem}
.grid4 p{color:var(--mut)}

.steps ol{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-top:3rem}
.steps li{counter-increment:s;border-top:1px solid var(--gold);padding-top:1.2rem}
.steps li::before{content:'0' counter(s);font-family:var(--serif);font-size:3.5rem;color:var(--gold);display:block;line-height:1}
.steps b{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:400;margin:.6rem 0 .3rem}
.steps p{color:var(--mut)}

.team{background:var(--bg2)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem}
.member{aspect-ratio:3/4;background:center/cover,linear-gradient(160deg,#2a2314,#0e0d0b);position:relative;display:flex;align-items:flex-end}
.member div{padding:1.2rem;background:linear-gradient(transparent,#000d);width:100%}
.member b{font-family:var(--serif);font-size:1.7rem;font-weight:400;display:block}
.member span{color:var(--gold);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}

.faq details{border-bottom:1px solid #ffffff22;padding:1.3rem 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.7rem;list-style:none}
.faq summary::after{content:'+';float:right;color:var(--gold)}
.faq details[open] summary::after{content:'–'}
.faq p{color:var(--mut);margin-top:.8rem;max-width:62ch}

.quiz{background:radial-gradient(ellipse at 20% 0,#2a2110,var(--bg) 60%)}
.quiz-box{max-width:720px;border:1px solid var(--gold);padding:2.5rem;background:#0a0a0acc}
.quiz-bar{height:2px;background:#ffffff22;margin-bottom:2rem}.quiz-bar i{display:block;height:100%;width:0;background:var(--gold);transition:.4s}
.q-q{font-family:var(--serif);font-size:2.2rem;margin-bottom:1.5rem;line-height:1.05}
.q-opt{display:block;width:100%;text-align:left;background:none;color:var(--ink);border:1px solid #ffffff33;padding:1rem 1.2rem;margin-bottom:.7rem;font:inherit;cursor:pointer;transition:.2s}
.q-opt:hover{border-color:var(--gold);color:var(--gold2)}

.final{text-align:center;padding:9rem 6vw}
.final h2{font-size:clamp(3rem,9vw,8rem)}
.final p{color:var(--mut);max-width:50ch;margin:0 auto 2.5rem}
footer{border-top:1px solid #ffffff1a;padding:3rem 6vw 6rem;color:var(--mut);text-align:center;font-size:.9rem}
.foot-logo{height:70px;margin-bottom:1rem}
.txt{font-family:var(--serif);color:var(--gold);letter-spacing:.06em;text-transform:uppercase;font-size:1.25rem;line-height:44px;height:auto}
.foot-logo.txt{font-size:2rem;line-height:1.2}
footer .small{font-size:.72rem;max-width:70ch;margin:1.2rem auto 0}


@media(max-width:800px){
  section{padding:5rem 6vw}
  .proc{grid-template-columns:1fr;grid-template-rows:46% 54%}
  .proc .ba{order:-1}
  .proc-txt{padding:1.5rem 6vw}
  .proc-txt h3{font-size:clamp(2.4rem,12vw,4rem)}
  .proc-txt .dt{display:none}
  .ba .lbl-b,.ba .lbl-a{top:4.5rem}
  .scroll-hint{display:none}
}

.local{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.local iframe{width:100%;height:420px;border:0;filter:grayscale(1) invert(.92) contrast(.9)}
.hours{margin:1.5rem 0 2rem;border-collapse:collapse;min-width:280px}
.hours td{padding:.6rem 0;border-bottom:1px solid #ffffff22}.hours td:last-child{text-align:right;color:var(--gold)}
@media(max-width:800px){.local{grid-template-columns:1fr}}

/* ---- v2: centralizado + teoria das cores (60 preto / 30 petróleo+marfim / 10 dourado) ---- */
h2{text-align:center}
.lead{margin-inline:auto;text-align:center}
.hero{align-items:center;justify-content:center;text-align:center;gap:1.6rem;padding-top:6rem;background:radial-gradient(ellipse at 50% 45%,#2a2110 0,transparent 60%)}
.hero .giant{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:0 .25em;font-size:clamp(3.2rem,14vw,14rem);margin:0;text-align:center}
.giant span:nth-child(2){padding-left:0}
.hero-sub{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,2rem);max-width:46ch;color:var(--ink)}
.scroll-hint{right:auto;left:50%;top:auto;bottom:1.5rem;transform:translateX(-50%)}
.digital,.team{background:var(--teal)}
.grid4>div{background:var(--teal)}.grid4{background:#c9a34e33}
.grid4>div{text-align:center}
.steps{background:var(--ivory);color:var(--ink2)}
.steps h2{color:var(--ink2)}.steps p{color:#5b5446}
.steps li{border-top-color:#a8832f;text-align:center}.steps li::before{color:#a8832f}
.faq{background:var(--ivory);color:var(--ink2);padding-inline:0;overflow:hidden}
.faq .lead{color:#5b5446;margin-bottom:3rem}
.faq h2{color:var(--ink2)}
.scroller{overflow:hidden;margin-bottom:1.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;width:max-content;animation:sh var(--dur,50s) linear infinite}
.track.rev{animation-name:shr}.scroller:hover .track{animation-play-state:paused}
.half{display:flex;gap:1.5rem;padding-right:1.5rem}
.faq-card{width:24rem;flex-shrink:0;background:var(--bg);color:var(--ink);padding:1.8rem;border-top:3px solid var(--gold)}
.faq-card h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--gold2);line-height:1.05;margin-bottom:.7rem}
.faq-card p{color:var(--mut)}
@keyframes sh{to{transform:translateX(-50%)}}@keyframes shr{from{transform:translateX(-50%)}to{transform:none}}
.local>div{text-align:center}.local .hours{margin-inline:auto}
.local{grid-template-columns:1fr}
.local iframe{max-width:1000px;margin-inline:auto}
.team .lead{margin-bottom:0}
.final{background:linear-gradient(var(--bg),var(--teal))}
@media(max-width:800px){.faq-card{width:18rem}}

.ambient{position:relative;min-height:80vh;display:grid;place-items:center;text-align:center;background:linear-gradient(#0a0a0aee,#0a0a0acc),url(assets/ambiente.jpg) center/cover fixed}
.ambient h2{max-width:16ch;margin-inline:auto}
.ambient .btn{margin-top:1rem}
.ambient small{position:absolute;right:1rem;bottom:.8rem;font-size:.65rem;color:#fff8;letter-spacing:.15em;text-transform:uppercase}

.ba .lbl-b,.ba .lbl-a{z-index:2;font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;background:#0a0a0acc;padding:.35rem .7rem;color:var(--ink)}
.ba .lbl-a{color:var(--gold2)}

/* ---- v3: fluidez + hero com foto ---- */
.proc{visibility:hidden}
.proc.prev{visibility:visible;z-index:1}
.proc.on{visibility:visible;z-index:2;animation:wipe .55s cubic-bezier(.77,0,.18,1) both}
@keyframes wipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.ambient{background:linear-gradient(#0a0a0aee,#0a0a0acc),url(assets/ambiente.jpg) center/cover}
.hero{background:var(--bg);isolation:isolate;overflow:hidden}
.hero::before{content:'';position:absolute;inset:-4%;z-index:-2;background:url(assets/ambiente.jpg) 0% 50%/160% auto no-repeat;animation:kb 28s ease-in-out infinite alternate;will-change:transform}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 50% at 50% 42%,#0a0a0acc,transparent 75%),linear-gradient(180deg,#0a0a0a99 0%,#0a0a0a66 35%,#0a0a0acc 80%,var(--bg) 100%)}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-sub{text-shadow:0 2px 24px #000a}
.giant{text-shadow:0 4px 60px #0009}
.quiz{background:var(--teal)}
.final{background:var(--bg)}
.nav{background:linear-gradient(#0a0a0a88,transparent)}
@media not all{.hero::before{animation:none}.proc.on{animation:none}}

/* ---- quiz em duas colunas ---- */
.quiz-wrap{display:grid;grid-template-columns:minmax(0,640px);justify-content:center;gap:2rem;max-width:1200px;margin:0 auto}
.quiz-wrap.open{grid-template-columns:minmax(0,600px) minmax(0,440px)}
.quiz-box{max-width:none;width:100%}
.quiz-form{border:1px solid #c9a34e55;background:#ffffff08;backdrop-filter:blur(8px);padding:2.2rem;display:none}
.quiz-wrap.open .quiz-form{display:block;animation:slideIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes slideIn{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
.qf-fields h3{font-family:var(--serif);font-weight:400;font-size:2.4rem;color:var(--gold2);line-height:1}
.qf-sum{color:var(--mut);font-size:.85rem;margin:.4rem 0 1.4rem}
.quiz-form label{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-bottom:1.1rem}
.quiz-form input,.quiz-form select{display:block;width:100%;margin-top:.45rem;background:#0a0a0acc;border:1px solid #ffffff33;color:var(--ink);padding:.95rem 1rem;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;outline:none;transition:.2s}
.quiz-form input:focus,.quiz-form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a34e22}
.quiz-form .btn{width:100%;margin-top:.4rem}
.quiz-form .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.qf-note{display:block;margin-top:.9rem;color:var(--mut);text-align:center}
.q-opt{transition:.2s}.q-opt:active{transform:scale(.985)}
@media(max-width:900px){.quiz-wrap.open{grid-template-columns:1fr}}

/* ---- botão WhatsApp liquid glass ---- */
.wa-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;display:flex;align-items:center;text-decoration:none;cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent}
.wa-glass{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.35rem .85rem 1.1rem;border-radius:999px;overflow:hidden;
  background:linear-gradient(135deg,#34e57aa6,#25d3664d 55%,#ffffff33);
  backdrop-filter:blur(16px) saturate(1.9) brightness(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.9) brightness(1.1);
  border:1px solid #ffffff55;
  box-shadow:inset 0 1px 1px #ffffffaa,inset 0 -8px 18px #25d36633,inset 0 0 22px #ffffff14,0 10px 30px #000a,0 0 0 1px #25d36633;
  transition:transform .35s cubic-bezier(.2,.9,.3,1.4),box-shadow .35s}
.wa-glass::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 25% -10%,#ffffff88,transparent 45%);mix-blend-mode:overlay;pointer-events:none}
.wa-glass::after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:skewX(-20deg);transition:left .8s}
.wa-float:hover .wa-glass{transform:translateY(-3px) scale(1.04);box-shadow:inset 0 1px 1px #fffc,inset 0 -8px 18px #25d36655,0 14px 36px #000b,0 0 28px #25d36666}
.wa-float:hover .wa-glass::after{left:130%}
.wa-float:active .wa-glass{transform:scale(.97)}
.wa-glass svg{position:relative;filter:drop-shadow(0 1px 3px #0006)}
.wa-glass b{position:relative;font-weight:500;letter-spacing:.04em;font-size:.95rem;text-shadow:0 1px 6px #0007}
.wa-tip{position:absolute;right:0;bottom:calc(100% + .8rem);white-space:nowrap;padding:.6rem 1rem;border-radius:16px 16px 4px 16px;font-size:.85rem;background:#ffffff1f;backdrop-filter:blur(14px) saturate(1.6);border:1px solid #ffffff44;box-shadow:inset 0 1px 1px #fff8,0 8px 24px #0008;opacity:0;transform:translateY(8px) scale(.9);transform-origin:bottom right;transition:.45s cubic-bezier(.2,.9,.3,1.3);pointer-events:none}
.wa-float.ring .wa-tip{opacity:1;transform:none}
.wa-float.ring .wa-glass{animation:ringp 1.2s ease-in-out 3}
@keyframes ringp{0%,100%{transform:none}15%{transform:rotate(-6deg) scale(1.06)}30%{transform:rotate(6deg) scale(1.06)}45%{transform:rotate(-4deg)}60%{transform:rotate(4deg)}}
@media(max-width:800px){.wa-glass b{display:none}.wa-glass{padding:.95rem}}
.quiz h2{margin-bottom:3rem}

/* ---- celular: procedimentos em coverflow 3D ---- */
.cf{display:none;text-align:center;overflow:hidden;padding:5.5rem 0 3rem}
.cf h2{padding:0 6vw;margin-bottom:.4rem}
.cf-frame{--cf-card:clamp(190px,62vw,290px);perspective:calc(var(--cf-card) * 3);overflow:hidden;padding:1.6rem 0 2rem;touch-action:pan-y;cursor:grab;outline:none;-webkit-tap-highlight-color:transparent}
.cf-frame:active{cursor:grabbing}
.cf-track{position:relative;height:calc(var(--cf-card) * 1.25);transform-style:preserve-3d;user-select:none;-webkit-user-select:none}
.cf-card{position:absolute;left:50%;top:0;width:var(--cf-card);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#2a2a2a,#111);box-shadow:0 24px 50px #0008;will-change:transform,opacity}
.cf-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;pointer-events:none;transition:opacity .45s}
.cf-card.b .aft{opacity:0}
.cf-chip{position:absolute;left:.7rem;bottom:.7rem;padding:.35rem .7rem;border-radius:99px;background:#000b;color:#fff;font:600 .62rem/1 sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cf-chip i{font-style:normal}.cf-chip .cb{display:none}.cf-card.b .ca{display:none}.cf-card.b .cb{display:inline}
.cf-cap.proc-txt{padding:.2rem 7vw 0;background:transparent;align-items:center;justify-content:flex-start;text-align:center;min-height:15rem}
.cf-cap.proc-txt h3{font-size:clamp(2.2rem,11vw,3.6rem);margin:.6rem 0}
.cf-cap.proc-txt .fr{font-size:1.3rem;margin-bottom:1.2rem}
.cf-cap .btn{align-self:center}
.cf-hint{font-size:.72rem;letter-spacing:.08em;opacity:.55;margin-top:1.6rem}
.cf-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap;padding:0 6vw}
.cf-dots button{width:26px;height:3px;border:0;padding:0;background:currentColor;opacity:.25;cursor:pointer;transition:opacity .3s}
.cf-dots button.on{opacity:1}
@media(max-width:800px){
  .procs{height:auto!important}
  .procs-sticky{display:none}
  .cf{display:block}
}
@media not all{.cf-card img{transition:none}}

.cf-dots button{color:inherit}
.cf-frame{padding-bottom:3.4rem;margin-bottom:-1.2rem}

/* antes/depois lado a lado em cada carta + linha animada */
.cf-card .aft{clip-path:inset(0 0 0 var(--s,50%))}
.cf-card .cf-div{position:absolute;top:0;bottom:0;left:var(--s,50%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px #0009;pointer-events:none}
.cf-card .cf-div::after{content:'\27F7';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:1rem;box-shadow:0 2px 12px #0008}
.cf-chip.l{left:.7rem}.cf-chip.r{left:auto;right:.7rem}
.cf-chip{top:.7rem;bottom:auto;z-index:2}
.cf-sub{font-size:.95rem;opacity:.7;margin:-.2rem 6vw 0}
