/* A full-bleed treatment film with readable copy and quiet brand accents. */
.hero{padding:80px 8% 0;min-height:760px;position:relative;display:flex;flex-direction:column;justify-content:space-between;background:#180e1d}
.hero-media,.hero-tint{position:absolute;inset:0;pointer-events:none}
.hero-media{z-index:-3;background:#201421 url('assets/massage-closeup-poster.webp') center 43%/cover no-repeat}
.hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.55);opacity:0;transition:opacity 1.2s}
.hero-media video.is-playing{opacity:1}
.hero-tint{z-index:-2;background:linear-gradient(90deg,rgba(19,10,24,.94) 0%,rgba(25,12,29,.78) 37%,rgba(25,12,29,.24) 73%,rgba(22,12,26,.37) 100%),linear-gradient(0deg,#170f1c 0%,transparent 32%,rgba(34,13,35,.2) 100%)}
.hero:before{z-index:-1;opacity:.35;inset:-20%;background:radial-gradient(ellipse at 25% 60%,#84285760,transparent 55%)}
.hero-copy{width:100%;max-width:660px;padding:10px 0 62px}.hero h1{font-size:clamp(58px,5.8vw,86px)}
.hero .intro{max-width:430px;color:#e0d1dc}.hero .hero-note{color:#d2bdcd}
.hero-bottom{position:relative;width:100%;padding-right:190px;align-items:center;min-height:72px;gap:30px}
.hero-bottom span:last-child{max-width:450px;text-align:right}.hero-bottom span:first-child{white-space:nowrap}
.video-toggle{position:absolute;z-index:3;bottom:22px;right:8%;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:#ecdbe7;border:1px solid #d9a4ca66;padding:9px 14px;min-height:40px;font-size:11px;letter-spacing:.2px;border-radius:20px;cursor:pointer}
.video-toggle:hover{border-color:#f0acd4;background:#4a254233}
.play-symbol{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}
.video-toggle.is-playing .play-symbol{width:8px;height:10px;border:0;border-left:2px solid currentColor;border-right:2px solid currentColor}
.button,.primary,.header-cta,.therapist .button{background:transparent;border:1px solid #a864916e;color:#ecdce8;box-shadow:none;border-radius:8px;transition:border-color .25s,box-shadow .25s,color .25s,transform .25s}
.button:hover,.primary:hover,.header-cta:hover,.therapist .button:hover{background:transparent;border-color:#da7cb8;color:#fff;box-shadow:0 0 14px #d653a12e;transform:translateY(-2px)}
.button.primary{border-color:#d67ab5b3;box-shadow:0 0 12px #d14e9721,inset 0 0 9px #b7509b12}
.button.primary:hover{border-color:#f5acd7;box-shadow:0 0 18px #ed64b33d,inset 0 0 12px #e55dac12}
.wa-icon{opacity:.94}.therapist .button .wa-icon{width:32px;height:32px;min-width:32px}
.floating-wa{width:48px;height:48px;background:#26142c;border:1px solid #c269a1;box-shadow:0 0 13px #bb3f8d38;right:23px;bottom:23px}
.floating-wa .wa-icon{width:38px;height:38px;min-width:38px}.floating-wa:hover{background:#301a36;border-color:#f0a4d0;box-shadow:0 0 18px #c64d9a55}
.map-wrap{border-radius:26px;border:1px solid #d174b2;padding:6px;background:#231328;overflow:hidden;box-shadow:0 0 8px #e66db255,0 0 30px #a9438d22,inset 0 0 12px #dd63aa24}
.map-wrap iframe{border-radius:20px}.map-directions{border-radius:9px;border-color:#c989b18c;box-shadow:0 0 10px #b4438c1f}
.fog-section{position:relative;isolation:isolate;overflow:hidden}
.fog-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.7}
.fog-layer span{position:absolute;inset:-30% -60%;display:block;background:radial-gradient(ellipse at 25% 50%,#f09cc62e 0%,transparent 21%),radial-gradient(ellipse at 50% 62%,#b567be26 0%,transparent 24%),radial-gradient(ellipse at 75% 40%,#e9a3cf1c 0%,transparent 22%);filter:blur(34px);will-change:transform;animation:fog-drift 32s ease-in-out infinite alternate}
.fog-layer span:nth-child(2){background:radial-gradient(ellipse at 20% 65%,#8c5abe24,transparent 23%),radial-gradient(ellipse at 65% 32%,#f8c6db24,transparent 24%);animation:fog-drift-back 39s ease-in-out infinite alternate;animation-delay:-15s;opacity:.65}
.team .fog-layer{opacity:.6}.pause .fog-layer{opacity:.85}.about .fog-layer{opacity:.55}
.team .fog-layer span{animation-delay:-12s}.about .fog-layer span{animation-delay:-7s}
@keyframes fog-drift{from{transform:translate3d(-12%,6%,0) scale(1)}to{transform:translate3d(16%,-9%,0) scale(1.12)}}
@keyframes fog-drift-back{from{transform:translate3d(18%,-4%,0) scale(1.15)}to{transform:translate3d(-13%,10%,0) scale(1)}}
@media(min-width:1500px){.hero{padding-left:10%;padding-right:10%;min-height:850px}.hero-copy{max-width:720px}.video-toggle{right:10%}}
@media(max-width:1000px) and (min-width:701px){.hero{padding:65px 6% 0;min-height:730px}.hero-copy{width:100%;max-width:570px}.hero h1{font-size:69px}.hero .intro{font-size:18px;max-width:410px}.hero-media video{object-position:64% center}.hero-bottom{padding-right:175px}.hero-bottom span:last-child{max-width:220px}.video-toggle{right:6%}}
@media(max-width:700px){.hero{padding:48px 6% 0;min-height:790px;min-height:min(860px,110svh)}.hero-copy{width:100%;max-width:none;padding:6px 0 65px}.hero h1{font-size:clamp(48px,10.9vw,73px)}.hero .intro{font-size:17px;max-width:350px}.hero-media{background-position:62% center}.hero-media video{object-position:62% center}.hero-tint{background:linear-gradient(90deg,#170d1be8,#1e1020a6 65%,#1b10206b),linear-gradient(0deg,#170f1c 0%,transparent 40%)}.hero-bottom{padding:22px 0 79px;margin-top:10px;align-items:flex-start;gap:20px}.hero-bottom span:last-child{font-size:8px;max-width:50%}.video-toggle{bottom:22px;right:6%;font-size:11px}.floating-wa{width:46px;height:46px;right:17px;bottom:17px}.floating-wa .wa-icon{width:36px;height:36px;min-width:36px}.map-wrap{border-radius:21px;padding:5px}.map-wrap iframe{border-radius:16px}.map-directions{right:16px;bottom:16px}.fog-layer span{filter:blur(22px);animation-duration:38s}.fog-layer{opacity:.5}.button.primary{box-shadow:0 0 9px #d14e9729}}
@media(prefers-reduced-motion:reduce){.fog-layer span,.hero:before,.pause:before{animation:none;will-change:auto}.hero-media video{transition:none}.button,.floating-wa{transition:none}}
html{scroll-padding-top:90px;scrollbar-color:#8b4bb0 #1b1021;scrollbar-width:thin}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#1b1021}::-webkit-scrollbar-thumb{background:linear-gradient(#6b318d,#af5a9a);border:2px solid #1b1021;border-radius:10px}
.header{position:sticky;top:0;z-index:50;height:76px;padding-top:0;padding-bottom:0;display:grid;grid-template-columns:90px 1fr 90px;background:#170f1cf2;backdrop-filter:blur(16px)}.header .brand img{width:65px;height:68px}.header nav{justify-content:center;gap:38px;margin:0}.header-cta{display:none}
.careers{position:relative;background:linear-gradient(90deg,#170f1ce8,#201226c9),url('assets/spa-room.webp') center/cover no-repeat;padding-top:85px;padding-bottom:85px}.careers>div{position:relative;z-index:1}
.smoke-puff{position:fixed;pointer-events:none;z-index:10000;width:42px;height:42px;margin:-21px;border-radius:50%;background:radial-gradient(circle,#b476d46b, #71318d38 45%,transparent 72%);filter:blur(6px)}
@media(max-width:1000px) and (min-width:701px){.header{height:76px;grid-template-columns:75px 1fr 15px}.header nav{gap:23px}}
@media(max-width:700px){.header{height:70px;display:flex;justify-content:space-between}.header .brand img{width:59px;height:62px}.header nav{top:69px;gap:22px;align-items:center}.careers{padding-top:55px;padding-bottom:55px}html{scroll-padding-top:85px}}
@media(prefers-reduced-motion:reduce){.smoke-puff{display:none}}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:start}.service-card{min-width:0;background:#24172a;border:1px solid #af6b9d30;border-radius:18px;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);border-color:#b96b9e85;box-shadow:0 10px 25px #0003}.service-card-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:17px 17px 12px 12px;filter:saturate(.7) brightness(.85)}.service-card-body{padding:24px 20px}.service-card h3{font-size:25px;margin:0 0 18px}.service-card .service-content{padding:0;font-size:15px;line-height:1.85}.service-card .service-content>div{flex-direction:column;align-items:flex-start;gap:14px}.service-card p{font-size:15px;color:var(--muted);line-height:1.85}.service-card .text-link{font-size:13px}.placeholder-label{display:block;font-size:10px;letter-spacing:1px;color:#d5a1c4;margin-bottom:14px}.service-placeholder h3{font-style:italic;color:#e5b7d3}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card h3{font-size:27px}.service-card p,.service-card .service-content{font-size:16px}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;gap:24px}.service-card-body{padding:25px}.service-card-image{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}.service-card:hover{transform:none}}
.compact-card{height:430px;display:flex;flex-direction:column}.compact-card .service-card-image{height:170px;aspect-ratio:auto;flex-shrink:0}.compact-card .service-card-body{height:260px;display:grid;grid-template-rows:68px 88px 44px;gap:10px;padding:20px}.compact-card h3{margin:0;align-self:center;font-size:25px;line-height:1.25}.compact-card .service-excerpt{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:15px;line-height:1.8}.service-expand{display:flex;justify-content:space-between;align-items:center;background:transparent;color:#edcfe8;border:1px solid #b8659b80;border-radius:8px;padding:8px 14px;font-size:13px}.service-expand span:last-child{font-size:27px;line-height:1}.service-expand:hover{border-color:#e38cc6;box-shadow:0 0 14px #b84b9326}
.service-dialog{width:min(620px,calc(100% - 32px));max-height:80dvh;overflow:auto;border:1px solid #b86ea5;border-radius:20px;background:#211427;color:#f6edf1;padding:40px;box-shadow:0 0 45px #6b2c8155}.service-dialog::backdrop{background:#0e0714cc;backdrop-filter:blur(6px)}.service-dialog h2{font-size:32px;padding-right:25px}.dialog-close{position:absolute;right:15px;top:12px;width:40px;height:40px;background:transparent;border:0;color:#ecc6e5;font-size:30px}.dialog-description,.dialog-description p{font-size:17px;line-height:1.9;color:#dac7d6}.dialog-description .service-content{padding:0}.dialog-description .service-content>div{flex-wrap:wrap;gap:20px}.dialog-description .wa-icon{width:30px;height:30px}
.smoke-puff{background:radial-gradient(circle,#c03cffad,#9021cc69 45%,transparent 72%)}
@media(max-width:600px){.service-dialog{padding:30px 24px}.service-dialog h2{font-size:29px}.compact-card{height:430px}}
.about{grid-template-columns:1fr 1.2fr;gap:28px 65px;padding-top:60px;padding-bottom:35px;align-items:start}.about-heading h2{margin-bottom:0}.about-copy{padding-top:0}.about-copy .lead{font-size:24px;margin-bottom:14px}.about-copy p:not(.lead){margin-bottom:18px}.about .values-strip{margin-top:0;padding:20px 0}.portrait{position:relative;aspect-ratio:4/4.6}.portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;visibility:visible}.pointer-smoke{position:fixed;inset:0;width:100%;height:100%;z-index:9999;pointer-events:none}
@media(max-width:700px){.about{display:block;padding-top:42px;padding-bottom:28px}.about-heading h2{margin-bottom:24px}.about-copy .lead{font-size:22px}.about .values-strip{margin-top:25px}.portrait{aspect-ratio:3/4}}
.careers{background:linear-gradient(90deg,#170f1ce6,#201226c4),url('assets/careers.webp') center 40%/cover no-repeat}

@media(hover:hover) and (pointer:fine){html,body,a,button,summary,.service-expand,.dialog-close{cursor:url("assets/cursor-purple.svg") 6 5,auto}}

/* Valores: seção curta com o botão do WhatsApp à direita */
.prices{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:70px;padding-bottom:70px}
.prices-heading h2{margin-bottom:16px}
.prices-heading>p:not(.eyebrow){max-width:460px;margin-bottom:0}
.prices>.button{flex-shrink:0;gap:12px}
@media(max-width:700px){.prices{flex-direction:column;align-items:flex-start;gap:28px;padding-top:55px;padding-bottom:55px}}

/* Botão flutuante: WhatsApp vazado em roxo, com anéis pulsando */
.floating-wa,.floating-wa:hover{background:transparent;border:0;box-shadow:none;width:60px;height:60px;padding:0}
.floating-wa .wa-icon{width:46px;height:46px;min-width:46px;opacity:1;position:relative;z-index:1;filter:drop-shadow(0 0 6px #0009)}
.floating-wa:before,.floating-wa:after{content:'';position:absolute;inset:4px;border-radius:50%;border:2px solid #b46ef0;opacity:0;animation:wa-pulse 2.4s ease-out infinite;pointer-events:none}
.floating-wa:after{animation-delay:1.2s}
@keyframes wa-pulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media(max-width:700px){.floating-wa,.floating-wa:hover{width:56px;height:56px}.floating-wa .wa-icon{width:42px;height:42px;min-width:42px}}
@media(prefers-reduced-motion:reduce){.floating-wa:before{animation:none;opacity:.6;transform:scale(1.1)}.floating-wa:after{display:none}}

/* Fotos dos serviços: mesmo tom quente e escuro em todas */
.service-card-image{filter:saturate(.72) brightness(.8) sepia(.18) contrast(1.05)}

/* Hero sem a faixa inferior: menos espaço vazio no celular */
@media(max-width:700px){.hero{min-height:640px;min-height:min(640px,82svh)}}
/* Emenda suave entre o Hero e a seção seguinte (sem linha de corte) */
.hero-media{-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.hero:before{-webkit-mask-image:linear-gradient(#000 60%,transparent 90%);mask-image:linear-gradient(#000 60%,transparent 90%)}
.hero{background-color:var(--bg)}
.hero-tint{-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(transparent,var(--bg) 92%);z-index:1;pointer-events:none}
.about .fog-layer{-webkit-mask-image:linear-gradient(transparent,#000 180px);mask-image:linear-gradient(transparent,#000 180px)}
