/* Páginas de serviço — largura alinhada ao site (desktop + mobile) */
*{margin:0;padding:0;box-sizing:border-box;}

html{
-webkit-text-size-adjust:100%;
text-size-adjust:100%;
}

img,svg,video{
max-width:100%;
height:auto;
}

/* Páginas desativadas no gestante e demais que forem sendo atualizadas */
.menu-disabled {
  pointer-events: none;
  opacity: .6;
  cursor: not-allowed;
}


/* Efeito sonho (aparecer com blur e fade) */
img.dreamy{
opacity:0;
filter:blur(14px);
transform:scale(1.02);
transition:opacity 0.9s ease, filter 1.2s ease, transform 1.2s ease;
}
img.dreamy.is-shown{
opacity:1;
filter:blur(0);
transform:scale(1);
}
img.no-dreamy{
opacity:1 !important;
filter:none !important;
transform:none !important;
transition:none !important;
}

body{
font-family:'Poppins',sans-serif;
background:#1c0f0c;
color:#fff;
line-height:1.65;
min-height:100vh;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}

/* Header — largura total, melhor alvo de toque (acessibilidade) */
.header{
position:fixed;
top:0;
left:0;
right:0;
width:100%;
max-width:100%;
background:rgba(0,0,0,0.72);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
display:flex;
justify-content:space-between;
align-items:center;
padding:clamp(10px,1.4vw,16px) clamp(12px,2.5vw,28px);
min-height:clamp(52px,5.5vw,64px);
z-index:1000;
}

.header-left{
display:flex;
align-items:center;
gap:clamp(4px,1vw,12px);
}

.header-home{
display:inline-flex;
align-items:center;
justify-content:center;
width:clamp(44px,5vw,48px);
height:clamp(44px,5vw,48px);
color:#e0b997;
border-radius:12px;
text-decoration:none;
transition:background 0.2s ease,color 0.2s ease;
}

.header-home:hover,
.header-home:focus-visible{
background:rgba(224,185,151,0.14);
color:#fff;
outline:none;
}

.header-home svg{
flex-shrink:0;
}

.logo{
font-size:clamp(12px,1.1vw,14px);
letter-spacing:2px;
text-align:right;
}

.menu-toggle{
font-size:clamp(20px,2.2vw,24px);
cursor:pointer;
background:none;
border:none;
color:#fff;
min-width:44px;
min-height:44px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:10px;
transition:background 0.2s ease;
}

.menu-toggle:hover,
.menu-toggle:focus-visible{
background:rgba(255,255,255,0.08);
outline:none;
}

.menu{
position:fixed;
top:0;
left:-260px;
width:260px;
height:100%;
max-height:100vh;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
background:rgba(0,0,0,0.72);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border-right:1px solid rgba(255,255,255,0.08);
padding:80px 18px 24px;
transition:0.4s;
z-index:999;
}

.menu.menu--flat .menu-flat-link,
.menu > a:not(.menu-acc-btn){
-webkit-tap-highlight-color:rgba(224,185,151,0.25);
border-radius:12px;
margin:10px 0;
padding:12px 14px;
display:block;
transition:background 0.22s ease,color 0.22s ease,transform 0.15s ease;
}

.menu.menu--flat .menu-flat-link:hover,
.menu.menu--flat .menu-flat-link:focus-visible,
.menu > a:not(.menu-acc-btn):hover,
.menu > a:not(.menu-acc-btn):focus-visible{
background:rgba(224,185,151,0.12);
color:#e0b997;
outline:none;
}

.menu > a[aria-current="page"]{
border-left:3px solid #e0b997;
padding-left:11px;
margin-left:-2px;
color:#e0b997;
}

.menu.open{left:0;}

.menu a{
display:block;
margin:15px 0;
color:#fff;
text-decoration:none;
}

.menu-accordion{
margin:15px 0;
border-top:1px solid rgba(255,255,255,0.1);
padding-top:12px;
}

.menu-acc-btn{
cursor:pointer;
color:#fff;
font-size:1rem;
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
padding:4px 0;
user-select:none;
background:none;
border:none;
width:100%;
font-family:inherit;
text-align:left;
}

.menu-acc-btn::after{
content:"+";
color:#e0b997;
font-size:1.1rem;
font-weight:300;
}

.menu-accordion.open .menu-acc-btn::after{
content:"−";
}

.menu-sub{
overflow:hidden;
padding:10px 0 4px 10px;
margin-top:6px;
border-left:2px solid rgba(224,185,151,0.4);
max-height:0;
opacity:0;
transform:translateY(-4px);
transition:max-height 0.4s ease, opacity 0.25s ease, transform 0.25s ease;
}

.menu-accordion.open .menu-sub{
max-height:520px;
opacity:1;
transform:translateY(0);
}

.menu-sub a{
display:block;
margin:11px 0;
font-size:0.86rem;
line-height:1.35;
color:rgba(255,255,255,0.92);
padding:2px 0;
}

.menu-sub a:hover{color:#e0b997;}

/* Menu lateral com dois links diretos (hover / toque) */
.menu.menu--flat .menu-flat-link{
-webkit-tap-highlight-color:rgba(224,185,151,0.25);
border-radius:12px;
margin:10px 0;
padding:12px 14px;
transition:background 0.22s ease,color 0.22s ease,transform 0.15s ease;
}

.menu.menu--flat .menu-flat-link:hover,
.menu.menu--flat .menu-flat-link:focus-visible{
background:rgba(224,185,151,0.12);
color:#e0b997;
outline:none;
}

.menu.menu--flat .menu-flat-link:active{
background:rgba(224,185,151,0.2);
color:#fff;
transform:scale(0.985);
}

.menu.menu--flat .menu-flat-link[aria-current="page"]{
border-left:3px solid #e0b997;
padding-left:11px;
margin-left:-2px;
}

/* Hero em tela cheia (layout portfólio / hero slider) */
.svc-hero-scene{
position:relative;
width:100vw;
max-width:100%;
margin-left:calc(50% - 50vw);
margin-right:calc(50% - 50vw);
margin-top:0;
padding-top:0;
height:100svh;
overflow:hidden;
z-index:1;
}

.svc-hero-stage{
position:relative;
width:100%;
height:100%;
padding-top:clamp(52px,5.5vw,64px);
transform-origin:center top;
overflow:hidden;
border-radius:0;
will-change:transform;
}

.svc-hero-slider{
position:relative;
width:100%;
height:100%;
overflow:hidden;
background:#0d0807;
}

.svc-hero-viewport{
overflow:hidden;
width:100%;
height:100%;
}

.svc-hero-track{
display:flex;
height:100%;
width:100%;
transition:transform 0.55s cubic-bezier(0.33,1,0.68,1);
}

.svc-hero-slide{
flex:0 0 100%;
width:100%;
height:100%;
position:relative;
}

.svc-hero-slide img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
display:block;
}

/* Foto retrato no mobile: posiciona o rosto no topo */
@media (max-width: 767px){
.svc-hero-slide img.portrait-mobile{
object-position:center top;
}
}

/* Hero um pouco mais alto no desktop (só páginas que usarem esta classe): menos corte vertical com cover */
@media (min-width:900px){
.svc-hero-scene--extended .svc-hero-slider{
height:100%;
}
.svc-hero-scene--extended .svc-hero-viewport{
height:100%;
}
.svc-hero-scene--extended .svc-hero-slide img{
object-position:center center;
}
}

.svc-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(12,6,5,0.92) 0%,rgba(12,6,5,0.35) 38%,transparent 62%);
pointer-events:none;
}

.svc-hero-caption{
position:absolute;
left:0;
right:0;
bottom:0;
padding:clamp(20px,4vw,48px) clamp(16px,4vw,40px) clamp(24px,5vw,56px);
max-width:min(900px,100%);
margin:0 auto;
text-align:center;
z-index:2;
}

.svc-hero-caption h1{
font-size:clamp(1.65rem,4.5vw,2.75rem);
font-weight:600;
letter-spacing:0.5px;
margin:0 0 8px;
text-shadow:0 2px 24px rgba(0,0,0,0.6);
}

.svc-hero-sub{
font-size:clamp(1rem,2.2vw,1.35rem);
font-weight:300;
color:rgba(255,255,255,0.92);
margin:0;
line-height:1.45;
text-shadow:0 1px 16px rgba(0,0,0,0.55);
}

.svc-hero-nav{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:4;
width:42px;
height:42px;
border:none;
border-radius:50%;
background:rgba(0,0,0,0.45);
color:#e0b997;
font-size:1.35rem;
line-height:1;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
padding:0;
box-shadow:0 2px 10px rgba(0,0,0,0.35);
transition:background 0.2s ease;
}

.svc-hero-nav:hover,
.svc-hero-nav:focus-visible{
background:rgba(224,185,151,0.28);
outline:none;
}

.svc-hero-nav-prev{left:clamp(6px,2vw,16px);}
.svc-hero-nav-next{right:clamp(6px,2vw,16px);}

.svc-hero-dots{
position:absolute;
left:0;
right:0;
bottom:clamp(12px,2vw,20px);
display:flex;
justify-content:center;
gap:8px;
z-index:4;
padding:0 16px;
}

.svc-hero-dot{
width:8px;
height:8px;
border-radius:50%;
border:none;
padding:0;
background:rgba(255,255,255,0.35);
cursor:pointer;
transition:transform 0.2s ease,background 0.2s ease;
}

.svc-hero-dot.is-active{
background:#e0b997;
transform:scale(1.15);
}

.svc-page{
width:100%;
max-width:min(720px,calc(100vw - clamp(20px,5vw,48px)));
margin:0 auto;
padding:clamp(28px,5vw,48px) 0 clamp(40px,6vw,72px);
}

.svc-page--below-hero{
position:relative;
z-index:20;
margin-top:0;
padding-top:0;
}

.svc-page--below-hero .svc-wrap > .svc-body:first-child{
position:relative;
z-index:21;
margin-top:0;
padding:clamp(22px,4vw,36px) clamp(16px,4vw,24px) clamp(28px,5vw,40px);
background:#1c0f0c;
border-radius:0;
}

.svc-wrap h1{
font-size:clamp(1.45rem,2.5vw,2rem);
font-weight:600;
margin-bottom:12px;
letter-spacing:0.4px;
}

.svc-intro{
font-size:clamp(0.95rem,1.6vw,1.08rem);
font-weight:300;
color:rgba(255,255,255,0.9);
margin-bottom:clamp(18px,3vw,26px);
max-width:62ch;
}

.svc-intro p,
.svc-body p{
margin-bottom:1rem;
}

.svc-body{
font-size:clamp(0.95rem,1.55vw,1.05rem);
line-height:1.65;
color:rgba(255,255,255,0.88);
margin-bottom:clamp(24px,4vw,36px);
}

/* Pacotes (cards) */
.svc-section-title{
font-size:clamp(1.05rem,2vw,1.2rem);
font-weight:600;
color:#e0b997;
margin:clamp(28px,4vw,40px) 0 16px;
}

.svc-packs{
display:flex;
flex-direction:column;
gap:14px;
margin-bottom:8px;
}

.svc-pack{
background:rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.1);
border-radius:12px;
padding:clamp(14px,2.5vw,20px);
}

.svc-pack h3{
font-size:clamp(1rem,1.8vw,1.12rem);
color:#fff;
margin:0 0 10px;
font-weight:600;
}

.svc-pack ul{
list-style:none;
padding:0;
margin:0;
}

.svc-pack li{
font-size:clamp(0.88rem,1.4vw,0.98rem);
color:rgba(255,255,255,0.88);
padding:4px 0;
border-bottom:1px solid rgba(255,255,255,0.06);
}

.svc-pack li:last-child{
border-bottom:none;
font-weight:600;
color:#e0b997;
margin-top:6px;
padding-top:8px;
}

.svc-info-block{
background:rgba(255,255,255,0.04);
border-radius:12px;
padding:clamp(16px,3vw,22px);
border:1px solid rgba(255,255,255,0.08);
}

.svc-info-block p,
.svc-info-block li{
font-size:clamp(0.88rem,1.45vw,0.98rem);
line-height:1.6;
color:rgba(255,255,255,0.86);
margin-bottom:0.65rem;
}

.svc-info-block ul{
padding-left:1.1rem;
margin:0.5rem 0 0;
}

.svc-info-block li{margin-bottom:0.4rem;}

/* Galeria antiga 3 colunas (outras páginas que ainda usarem) */
.svc-photos{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:stretch;
gap:clamp(8px,1.8vw,16px);
width:100%;
margin:0 0 clamp(26px,4vw,40px);
}

.svc-photos figure{
flex:1 1 0;
min-width:0;
margin:0;
}

.svc-photos img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:clamp(4px,0.6vw,10px);
display:block;
}

@media (min-width:900px){
.svc-photos img{
aspect-ratio:4/5;
min-height:min(280px,24vw);
}
}

.svc-how{
max-width:min(720px,100%);
}

.svc-how h2{
font-size:clamp(1.08rem,1.8vw,1.25rem);
margin-bottom:14px;
color:#e0b997;
font-weight:600;
}

.svc-how p,.svc-how li{
font-size:clamp(0.92rem,1.4vw,1.02rem);
font-weight:300;
color:rgba(255,255,255,0.88);
margin-bottom:10px;
}

.svc-how ol{
padding-left:1.2rem;
margin-bottom:6px;
}

.svc-how li{margin-bottom:8px;}

.svc-cta{
margin-top:26px;
padding-top:22px;
border-top:1px solid rgba(255,255,255,0.1);
text-align:center;
}

.svc-cta a,
.svc-cta .svc-cta-button{
display:inline-block;
padding:12px 24px;
background:#e0b997;
color:#000;
border-radius:28px;
text-decoration:none;
font-size:clamp(0.88rem,2.6vw,0.92rem);
font-weight:500;
max-width:100%;
}

.svc-cta a:hover,
.svc-cta .svc-cta-button:hover{filter:brightness(1.05);}

.svc-cta-lead{
font-size:clamp(0.9rem,1.45vw,1.02rem);
line-height:1.55;
color:rgba(255,255,255,0.9);
max-width:min(52ch,100%);
margin:0 auto 16px;
text-align:center;
}

/* WhatsApp flutuante (igual ao index) */
.whatsapp{
position:fixed;
bottom:20px;
right:20px;
z-index:1001;
width:52px;
height:52px;
background:#25d366;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
padding:0;
text-decoration:none;
box-shadow:0 4px 14px rgba(0,0,0,0.35);
}

.whatsapp img{
width:28px;
height:28px;
display:block;
object-fit:contain;
object-position:center;
}

.whatsapp-bubble{
position:fixed;
right:20px;
bottom:84px;
z-index:1001;
max-width:min(280px,70vw);
padding:10px 12px;
border-radius:14px;
background:#fff;
color:#1c0f0c;
font-size:0.8rem;
line-height:1.35;
box-shadow:0 8px 24px rgba(0,0,0,0.3);
text-align:left;
pointer-events:none;
animation:whatsBubbleFloat 2.6s ease-in-out infinite;
}

.whatsapp-bubble strong{
display:block;
font-size:0.86rem;
line-height:1.25;
text-align:left;
}

.whatsapp-bubble span{
display:block;
margin-top:4px;
padding-left:2px;
font-size:0.78rem;
line-height:1.35;
text-align:left;
opacity:0.92;
}

.svc-addons-lead{
font-size:clamp(0.88rem,1.4vw,0.98rem);
color:rgba(255,255,255,0.84);
margin:-6px 0 20px;
line-height:1.55;
}

.svc-addons-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
gap:16px;
margin-bottom:18px;
}

@media (min-width:1024px){
.svc-addons-grid{
grid-template-columns:repeat(4,1fr);
}
}

.svc-addon-card{
position:relative;
background:#2a1814;
border:1px solid rgba(224,185,151,0.35);
border-radius:16px;
padding:clamp(16px,2.8vw,22px);
box-shadow:0 10px 28px rgba(0,0,0,0.25);
display:flex;
flex-direction:column;
min-height:100%;
}

.svc-addon-badge{
display:inline-block;
align-self:flex-start;
margin-bottom:10px;
padding:4px 10px;
border-radius:999px;
background:#e8d5c4;
color:#2a1814;
font-size:0.68rem;
font-weight:700;
letter-spacing:0.06em;
text-transform:uppercase;
}

.svc-addon-icon{
display:block;
font-size:clamp(1.6rem,3vw,2rem);
line-height:1;
margin-bottom:10px;
}

.svc-addon-card h3{
font-size:clamp(0.95rem,1.6vw,1.08rem);
color:#fff;
margin:0 0 10px;
font-weight:600;
line-height:1.3;
}

.svc-addon-desc{
font-size:clamp(0.82rem,1.3vw,0.92rem);
color:rgba(255,255,255,0.78);
line-height:1.55;
margin:0 0 14px;
flex:1;
}

.svc-addon-divider{
border:none;
border-top:1px solid rgba(224,185,151,0.22);
margin:0 0 12px;
}

.svc-addon-price{
margin:0;
font-size:clamp(0.88rem,1.4vw,0.96rem);
color:#e0b997;
font-weight:600;
}

.svc-addons-footnote{
font-size:clamp(0.78rem,1.2vw,0.86rem);
color:rgba(255,255,255,0.72);
line-height:1.55;
margin:0;
font-style:italic;
}

.whatsapp-bubble::after{
content:"";
position:absolute;
right:16px;
bottom:-8px;
width:14px;
height:14px;
background:#fff;
transform:rotate(45deg);
}

@keyframes whatsBubbleFloat{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-5px);}
}

.svc-how-lead{
font-size:clamp(0.9rem,1.35vw,1rem);
color:rgba(255,255,255,0.82);
margin-bottom:16px;
line-height:1.55;
}

.svc-how-steps li{
margin-bottom:12px;
line-height:1.55;
}

.svc-how-steps strong{
color:#e0b997;
font-weight:600;
}

.svc-video{
margin:12px 0 14px;
border-radius:12px;
overflow:hidden;
border:1px solid rgba(255,255,255,0.16);
background:rgba(0,0,0,0.25);
}

.svc-video video{
display:block;
width:100%;
max-height:min(58vh,520px);
background:#000;
}

.svc-photos--two{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}

.svc-photos--two img{
aspect-ratio:4/5;
}

.svc-emotional{
margin-top:16px;
padding:14px;
border-radius:12px;
background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.1);
}

.svc-emotional img{
width:100%;
border-radius:8px;
margin-bottom:12px;
}

.svc-emotional p{
font-size:clamp(0.9rem,1.4vw,1rem);
color:rgba(255,255,255,0.9);
margin-bottom:8px;
line-height:1.55;
}

.svc-emotional-title{
font-weight:600;
color:#e0b997;
}

.svc-tag{
display:inline-block;
font-size:0.74rem;
font-weight:600;
color:#1c0f0c;
background:#e0b997;
padding:2px 8px;
border-radius:999px;
margin-left:6px;
vertical-align:middle;
}

.svc-subtitle{
font-size:clamp(0.9rem,1.4vw,1rem);
color:#e0b997;
margin:14px 0 8px;
font-weight:600;
}

.svc-note{
font-size:clamp(0.86rem,1.3vw,0.95rem);
color:rgba(255,255,255,0.8);
margin-top:10px;
}

.svc-footer-min{
text-align:center;
padding:8px 16px 24px;
font-size:0.82rem;
}

.svc-footer-min a{
color:rgba(224,185,151,0.85);
text-decoration:none;
}

.svc-footer-min a:hover{text-decoration:underline;}

@media (max-width:560px){
.svc-photos--two{
grid-template-columns:1fr;
}

.whatsapp-bubble{
right:14px;
bottom:82px;
max-width:min(236px,76vw);
padding:9px 11px;
}
}

/* Desktop: coluna mais ampla em todas as páginas de serviço */
@media (min-width:900px){
.svc-page{
max-width:min(1120px,calc(100vw - clamp(32px,6vw,96px)));
padding-left:clamp(20px,3vw,40px);
padding-right:clamp(20px,3vw,40px);
}

.svc-how{
max-width:100%;
}

.svc-packs{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
align-items:stretch;
gap:clamp(16px,2vw,24px);
}
}

/* ══ FAQ ══════════════════════════════════════════════════════════════ */
.svc-faq{
  padding:0 0 32px;
}
.svc-faq-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.svc-faq-item{
  border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,0.04);
}
.svc-faq-q{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-size:clamp(0.88rem,1.4vw,0.97rem);
  font-weight:500;
  padding:14px 16px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  transition:color 0.2s;
}
.svc-faq-q span{
  font-size:1.2rem;
  color:#e0b997;
  flex-shrink:0;
  transition:transform 0.25s;
}
.svc-faq-q[aria-expanded="true"]{color:#e0b997;}
.svc-faq-q[aria-expanded="true"] span{transform:rotate(45deg);}
.svc-faq-a{
  padding:0 16px 14px;
  font-size:clamp(0.84rem,1.3vw,0.93rem);
  line-height:1.6;
  color:rgba(255,255,255,0.8);
}
.svc-faq-a p{margin:0;}

/* ══ CTA âncora emocional ══════════════════════════════════════════ */
.svc-cta-ancora{
  font-size:clamp(1rem,1.8vw,1.15rem);
  font-style:italic;
  color:#e0b997;
  text-align:center;
  margin:0 0 12px;
  line-height:1.5;
}
