/* =========================
   RESET & TIPOGRAFIA
========================= */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:'Montserrat',sans-serif;
    background:#ffffff;
    color:#1a1a1a;
    overflow-x:hidden;
    line-height:1.7;
}
a{color:inherit;}
img{max-width:100%;display:block;}
a{text-decoration:none;}
a:not([class]){color:inherit;}
ul{list-style:none;}

/* =========================
   DESIGN TOKENS
========================= */
:root{
    --white:#ffffff;
    --off-white:#f5f5f5;
    --cream:#eeeeee;
    --black:#000000;
    --dark:#0d0d0d;
    --text:#1a1a1a;
    --text-muted:#888888;
    --rose-gold:#0d0d0d;
    --rose-gold-light:#c0c0c0;
    --rose-gold-dark:#000000;
    --border:#dedede;
    --transition:.35s cubic-bezier(0.4,0,0.2,1);
    --shadow:0 4px 24px rgba(0,0,0,.07);
    --shadow-hover:0 16px 48px rgba(0,0,0,.14);
}

/* =========================
   DARK MODE
========================= */
[data-theme="dark"]{
    --white:#1e1e1e;
    --off-white:#252525;
    --cream:#2d2424;
    --black:#f0f0f0;
    --dark:#f0f0f0;
    --text:#e0d8d4;
    --text-muted:#9e948f;
    --border:#3a3030;
    --shadow:0 4px 24px rgba(0,0,0,.35);
    --shadow-hover:0 16px 48px rgba(0,0,0,.5);
}

[data-theme="dark"] body{background:#121212;color:#e0d8d4;}

[data-theme="dark"] .header.scrolled{background:rgba(18,18,18,0.97);}

[data-theme="dark"] .submenu{background:#1e1e1e;border-color:#3a3030;}
[data-theme="dark"] .submenu li a:hover{background:#252525;}

[data-theme="dark"] .header.scrolled .menu ul li a{color:#e0d8d4;}
[data-theme="dark"] .header.scrolled .btn-cliente{color:#e0d8d4;}
[data-theme="dark"] .header.scrolled .btn-instagram{color:#e0d8d4;}
[data-theme="dark"] .header.scrolled .menu-mobile-btn{color:#e0d8d4;}

[data-theme="dark"] .sobre,
[data-theme="dark"] .planos-home,
[data-theme="dark"] .tratamentos,
[data-theme="dark"] .principia,
[data-theme="dark"] .resultados,
[data-theme="dark"] .clube,
[data-theme="dark"] .depoimentos-section,
[data-theme="dark"] .planos-section{background:#121212;}

[data-theme="dark"] .card,
[data-theme="dark"] .plano-card,
[data-theme="dark"] .experiencia-card,
[data-theme="dark"] .resultado-card,
[data-theme="dark"] .tratamento-card,
[data-theme="dark"] .depoimento-card{
    background:#1e1e1e;
    border-color:#3a3030;
}

[data-theme="dark"] section:not(.hero):not(.cta):not(.page-hero):not(.page-hero-dark):not(.planos-hero):not(.planos-cta):not(.trat-hero){background:#121212;}

/* Links dentro de cards: var(--rose-gold) = #0d0d0d sobre fundo escuro = invisível */
[data-theme="dark"] .card a{
    color:#c8bfb8;
}
[data-theme="dark"] .card a:hover{
    color:#ffffff;
}

/* =========================
   DARK MODE — BOTÕES
========================= */

/* btn-primary: fundo quase preto sobre bg escuro = invisível.
   Inverte para fundo claro + texto escuro no dark mode. */
[data-theme="dark"] .btn-primary{
    background:#e8e2dc;
    color:#121212;
}
[data-theme="dark"] .btn-primary:hover{
    background:#ffffff;
    color:#000000;
    box-shadow:0 8px 24px rgba(255,255,255,.08);
}

/* Seções com override específico — herdam a regra geral acima */
[data-theme="dark"] .sobre .btn-primary,
[data-theme="dark"] .tratamentos .btn-primary,
[data-theme="dark"] .principia .btn-primary,
[data-theme="dark"] .planos-home .btn-primary,
[data-theme="dark"] .resultados .btn-primary,
[data-theme="dark"] .clube .btn-primary{
    background:#e8e2dc;
    color:#121212;
}
[data-theme="dark"] .sobre .btn-primary:hover,
[data-theme="dark"] .tratamentos .btn-primary:hover,
[data-theme="dark"] .principia .btn-primary:hover,
[data-theme="dark"] .planos-home .btn-primary:hover,
[data-theme="dark"] .resultados .btn-primary:hover,
[data-theme="dark"] .clube .btn-primary:hover{
    background:#ffffff;
    color:#000000;
}

/* CTA: fundo escuro — btn fica claro para contraste */
[data-theme="dark"] .cta .btn-primary{
    background:#e8e2dc;
    color:#121212;
}
[data-theme="dark"] .cta .btn-primary:hover{
    background:#ffffff;
    color:#000000;
}

/* btn-secondary (hero): borda/texto brancos sobre hero escuro — OK nos dois modos */

/* btn-whatsapp: var(--dark) em dark mode = #f0f0f0 (claro) + cor branca = ilegível */
[data-theme="dark"] .btn-whatsapp{
    background:#b99470;
    color:#fff;
}
[data-theme="dark"] .btn-whatsapp:hover{
    background:#a07850;
}

/* btn-wpp (WhatsApp verde no formulário indique-ganhe): mantém o verde mas ajusta hover */
[data-theme="dark"] .btn-wpp{
    background:#1ea952;
    color:#ffffff;
}
[data-theme="dark"] .btn-wpp:hover{
    background:#25D366;
}

/* Botão de dark mode */
.btn-theme-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    background:transparent;
    color:rgba(255,255,255,.8);
    border-radius:0;
    border:none;
    cursor:pointer;
    transition:var(--transition);
    font-size:15px;
    flex-shrink:0;
}
.header.scrolled .btn-theme-toggle{
    color:var(--dark);
}
.btn-theme-toggle:hover{
    color:#b99470;
}
[data-theme="dark"] .header.scrolled .btn-theme-toggle{
    color:#e0d8d4;
}

/* =========================
   ANIMAÇÕES
========================= */
@keyframes fadeInUp{
    from{opacity:0;transform:translateY(40px);}
    to{opacity:1;transform:translateY(0);}
}
@keyframes fadeInDown{
    from{opacity:0;transform:translateY(-30px);}
    to{opacity:1;transform:translateY(0);}
}
@keyframes slideInLeft{
    from{opacity:0;transform:translateX(-50px);}
    to{opacity:1;transform:translateX(0);}
}
@keyframes slideInRight{
    from{opacity:0;transform:translateX(50px);}
    to{opacity:1;transform:translateX(0);}
}
@keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-18px);}
}

/* =========================
   CONTAINER
========================= */
.container{width:90%;max-width:1300px;margin:0 auto;}

/* =========================
   HEADER & NAVEGAÇÃO
========================= */
.header{
    position:fixed;
    top:0;left:0;
    width:100%;
    z-index:999;
    transition:var(--transition);
    padding:22px 0;
    background:transparent;
}

.header.scrolled{
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    box-shadow:0 1px 0 rgba(0,0,0,0.09);
    padding:14px 0;
}

.header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
}

.logo img{
    height:44px;
    width:auto;
    transition:var(--transition);
}

/* Header transparente (sobre hero): inverte dark logo → branca */
.header:not(.scrolled) .logo img{
    filter:brightness(0) invert(1);
}

/* Dark mode com header scrolled: fundo escuro → logo branca */
[data-theme="dark"] .header.scrolled .logo img{
    filter:brightness(0) invert(1);
}

.menu{flex:1;}

.menu ul{
    display:flex;
    justify-content:center;
    gap:40px;
    flex-wrap:wrap;
}

.menu ul li{position:relative;}

.menu ul li a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,.88);
    font-size:13px;
    text-transform:none;
    letter-spacing:0.2px;
    transition:var(--transition);
    padding:8px 0;
    position:relative;
    font-weight:500;
    animation:fadeInDown .6s ease backwards;
}

.header.scrolled .menu ul li a{color:var(--dark);}

.menu ul li:nth-child(1) a{animation-delay:.1s;}
.menu ul li:nth-child(2) a{animation-delay:.2s;}
.menu ul li:nth-child(3) a{animation-delay:.3s;}
.menu ul li:nth-child(4) a{animation-delay:.4s;}
.menu ul li:nth-child(5) a{animation-delay:.5s;}

.menu ul li a::after{
    content:'';
    position:absolute;
    bottom:0;left:0;
    width:0;height:1px;
    background:#b99470;
    transition:width var(--transition);
}

.menu ul li a:hover::after{width:100%;}
.menu ul li a:hover{color:#b99470;}
.header.scrolled .menu ul li a:hover{color:#b99470;}

/* DROPDOWN */
.dropdown{position:relative;}

.dropdown{position:relative;}

/* ponte invisível para não fechar o submenu ao mover o mouse */
.dropdown::before{
    content:'';
    position:absolute;
    top:100%;
    left:-10px;
    right:-10px;
    height:18px;
}

.submenu{
    position:absolute;
    top:calc(100% + 18px);
    left:50%;
    transform:translateX(-50%) translateY(-6px);
    min-width:170px;
    background:#0d0d0d;
    padding:6px 0;
    border-radius:8px;
    border:none;
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease, transform .18s ease;
    box-shadow:0 16px 48px rgba(0,0,0,.35);
}

/* triângulo topo */
.submenu::before{
    content:'';
    position:absolute;
    top:-5px;
    left:50%;
    transform:translateX(-50%);
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-bottom:6px solid #0d0d0d;
}

.dropdown:hover .submenu{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

.submenu li a{
    display:block;
    padding:10px 20px;
    color:rgba(255,255,255,.72) !important;
    font-size:12.5px;
    transition:color .15s, padding-left .15s;
    animation:none !important;
    letter-spacing:0.2px;
    text-transform:none;
    white-space:nowrap;
}

.submenu li a::after{display:none !important;}

.submenu li a:hover{
    color:#b99470 !important;
    background:transparent;
    padding-left:26px;
}

.nav-chevron{
    font-size:8px;
    opacity:.55;
    transition:transform .2s;
    margin-top:1px;
}
.dropdown:hover .nav-chevron{ transform:rotate(180deg); }

/* HEADER ACTIONS */
.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.header-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* ── Botão Área da Cliente ── */
.btn-cliente{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:transparent;
    color:rgba(255,255,255,.88);
    border:none;
    padding:9px 20px;
    font-weight:500;
    transition:var(--transition);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    font-family:'Montserrat',sans-serif;
}
.header.scrolled .btn-cliente{
    color:var(--dark);
}
.btn-cliente:hover{
    color:#b99470;
}
[data-theme="dark"] .header.scrolled .btn-cliente{
    color:#e0d8d4;
}


.btn-instagram{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    background:transparent;
    color:rgba(255,255,255,.8);
    border-radius:0;
    border:none;
    transition:var(--transition);
}

.header.scrolled .btn-instagram{
    color:var(--dark);
}

.btn-instagram:hover{
    color:#b99470;
}

.btn-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#b99470;
    color:#fff;
    padding:10px 22px;
    border-radius:50px;
    font-weight:600;
    transition:var(--transition);
    font-size:10px;
    border:none;
    cursor:pointer;
    text-transform:uppercase;
    letter-spacing:2px;
    white-space:nowrap;
}

.btn-whatsapp i{ font-size:15px; }

.btn-whatsapp:hover{
    background:#a07850;
    transform:translateY(-1px);
    box-shadow:0 6px 20px rgba(185,148,112,.35);
}

/* MENU MOBILE */
.menu-mobile-btn{
    display:none;
    background:none;
    border:none;
    color:rgba(255,255,255,.9);
    font-size:22px;
    cursor:pointer;
    padding:4px 8px;
    transition:var(--transition);
    z-index:1001;
    position:relative;
}

.header.scrolled .menu-mobile-btn{color:var(--dark);}
.menu-mobile-btn:hover{color:#b99470;}

/* =========================
   HERO SECTION
========================= */
.hero{
    min-height:92vh;
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
    position:relative;
    display:flex;
    align-items:center;
    padding-top:80px;
    overflow:hidden;
}

/* Indicador de scroll */
.hero-scroll{
    position:absolute;
    bottom:32px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    z-index:3;
    animation:scrollBounce 2s ease-in-out infinite;
}

.hero-scroll span{
    display:block;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:3px;
    color:rgba(255,255,255,.5);
    font-family:'Montserrat',sans-serif;
}

.hero-scroll-icon{
    width:24px;
    height:38px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:12px;
    position:relative;
    display:flex;
    justify-content:center;
}

.hero-scroll-icon::before{
    content:'';
    width:4px;
    height:8px;
    background:rgba(255,255,255,.7);
    border-radius:2px;
    position:absolute;
    top:6px;
    animation:scrollDot 2s ease-in-out infinite;
}

@keyframes scrollBounce{
    0%,100%{opacity:.7;transform:translateX(-50%) translateY(0);}
    50%{opacity:1;transform:translateX(-50%) translateY(6px);}
}

@keyframes scrollDot{
    0%,100%{top:6px;opacity:1;}
    50%{top:18px;opacity:.3;}
}

/* Fallback de cor caso não haja imagem */
.hero{background-color:var(--black);}

/* Imagem de fundo por página */
.hero--index{background-image:url('../img/hero/hero-home.jpg');}

/* =========================
   PLANOS HERO
========================= */
.planos-hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:100vh;
    padding-top:80px; /* altura do header */
}

/* Coluna esquerda — texto */
.planos-hero-texto{
    background:#0d0d0d;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:80px 64px 80px 80px;
}

.planos-hero-tag{
    display:inline-block;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:4px;
    color:#b99470;
    margin-bottom:28px;
}

.planos-hero-texto h1{
    font-family:'Cormorant Garamond',serif;
    font-size:64px;
    font-weight:400;
    color:#fff;
    line-height:1.08;
    margin-bottom:24px;
}

.planos-hero-texto h1 em{
    font-style:italic;
    color:#b99470;
}

.planos-hero-texto p{
    font-size:14px;
    color:rgba(255,255,255,.45);
    line-height:1.9;
    max-width:380px;
    margin-bottom:36px;
}

.planos-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:44px;
}

.planos-hero-tags span{
    border:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.5);
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:7px 16px;
    transition:var(--transition);
}

.planos-hero-tags span:hover{
    border-color:#b99470;
    color:#b99470;
}

.planos-hero-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:13px 28px;
    background:transparent;
    border:1px solid rgba(255,255,255,.25);
    color:rgba(255,255,255,.7);
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:var(--transition);
    align-self:flex-start;
}

.planos-hero-btn:hover{
    border-color:#b99470;
    color:#b99470;
}

/* Coluna direita — imagem */
.planos-hero-img{
    position:relative;
    overflow:hidden;
}

.planos-hero-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:brightness(.75);
    transition:transform .8s cubic-bezier(0.4,0,0.2,1);
}

.planos-hero-img:hover img{
    transform:scale(1.04);
}

.planos-hero-img-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(13,13,13,.55) 0%, transparent 60%);
    pointer-events:none;
}

/* Badge flutuante */
.planos-hero-badge{
    position:absolute;
    bottom:40px;
    left:32px;
    background:rgba(13,13,13,.85);
    backdrop-filter:blur(12px);
    border:1px solid rgba(185,148,112,.3);
    padding:18px 24px;
    display:flex;
    align-items:center;
    gap:14px;
}

.planos-hero-badge-num{
    font-family:'Cormorant Garamond',serif;
    font-size:48px;
    font-weight:600;
    color:#b99470;
    line-height:1;
}

.planos-hero-badge-label{
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    color:rgba(255,255,255,.55);
    line-height:1.6;
}

/* Dark mode — texto lado esquerdo já é escuro, sem mudança necessária */

/* Responsivo */
@media(max-width:900px){
    .planos-hero{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .planos-hero-texto{
        padding:100px 32px 60px;
    }
    .planos-hero-texto h1{ font-size:46px; }
    .planos-hero-img{ min-height:300px; }
    .planos-hero-badge{ display:none; }
}

/* =========================
   TRATAMENTOS HERO (trat-hero)
   Padrão: text col esquerda clara + imagem direita
   Usado em: tratamentos.html, experiencias.html, skin-care.html
========================= */
.trat-hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:100vh;
    padding-top:80px;
}

.trat-hero-texto{
    background:var(--off-white);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:80px 60px 80px 80px;
}

[data-theme="dark"] .trat-hero-texto{
    background:#181818;
}

.trat-hero-back{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--text-muted);
    text-decoration:none;
    margin-bottom:32px;
    transition:color .2s;
}
.trat-hero-back:hover{ color:#b99470; }

.trat-hero-tag{
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:4px;
    color:#b99470;
    margin-bottom:28px;
    display:flex;
    align-items:center;
    gap:12px;
}
.trat-hero-tag::before{
    content:'';
    display:inline-block;
    width:28px;
    height:1px;
    background:#b99470;
    flex-shrink:0;
}

.trat-hero-texto h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(42px,4.5vw,66px);
    font-weight:400;
    color:var(--dark);
    line-height:1.08;
    margin-bottom:22px;
}
[data-theme="dark"] .trat-hero-texto h1{ color:#f0ece8; }

.trat-hero-texto h1 em{
    font-style:italic;
    color:#b99470;
}

.trat-hero-texto p{
    font-size:14px;
    color:var(--text-muted);
    line-height:1.9;
    max-width:400px;
    margin-bottom:36px;
}

.trat-hero-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:44px;
}
.trat-hero-pills span{
    border:1px solid rgba(185,148,112,.4);
    color:#b99470;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:7px 16px;
    transition:var(--transition);
    cursor:default;
}
.trat-hero-pills span:hover{
    background:#b99470;
    color:#fff;
}

.trat-hero-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 30px;
    background:var(--dark);
    color:var(--off-white);
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    align-self:flex-start;
    transition:background .2s, transform .2s;
}
.trat-hero-btn:hover{
    background:#b99470;
    transform:translateY(-2px);
}
[data-theme="dark"] .trat-hero-btn{
    background:#b99470;
    color:#fff;
}
[data-theme="dark"] .trat-hero-btn:hover{
    background:#a07850;
}

/* Coluna direita — imagem */
.trat-hero-img{
    position:relative;
    overflow:hidden;
}
.trat-hero-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .8s cubic-bezier(0.4,0,0.2,1);
}
.trat-hero-img:hover img{ transform:scale(1.04); }

.trat-hero-img-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(13,13,13,.1) 0%, rgba(13,13,13,.45) 100%);
    pointer-events:none;
}

.trat-hero-badge{
    position:absolute;
    bottom:36px;
    right:36px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.28);
    padding:18px 24px;
    display:flex;
    align-items:center;
    gap:14px;
    color:#fff;
}
.trat-hero-badge-icon{
    font-size:26px;
    color:#b99470;
}
.trat-hero-badge-text{
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    line-height:1.6;
}

@media(max-width:900px){
    .trat-hero{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .trat-hero-img{
        min-height:300px;
        order:-1;
    }
    .trat-hero-texto{
        padding:60px 28px 50px;
    }
    .trat-hero-badge{ display:none; }
}

/* =========================
   SERVIÇOS & VALORES (tratamentos.html)
========================= */
.servicos-section{
    padding:100px 0;
    background:var(--white);
}
[data-theme="dark"] .servicos-section{ background:#141414; }

/* Bloco wrapper (básico / premium) */
.servicos-bloco-wrap{
    border:1px solid var(--border);
    margin-bottom:0;
}
[data-theme="dark"] .servicos-bloco-wrap{ border-color:rgba(255,255,255,.08); }
.servicos-bloco-wrap--premium{ background:#0d0d0d; border-color:rgba(185,148,112,.2); }

.servicos-bloco-header{
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px 36px;
    border-bottom:1px solid var(--border);
    background:var(--off-white);
}
[data-theme="dark"] .servicos-bloco-header{ background:#1e1e1e; border-color:rgba(255,255,255,.08); }

.servicos-bloco-wrap--premium .servicos-bloco-header{
    background:#0d0d0d;
    border-color:rgba(185,148,112,.2);
}
[data-theme="dark"] .servicos-bloco-wrap--premium .servicos-bloco-header{
    background:#0d0d0d;
}

.servicos-bloco-tag{
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:3px;
    padding:5px 14px;
    border:1px solid rgba(185,148,112,.4);
    color:#b99470;
}
.servicos-bloco-wrap--premium .servicos-bloco-tag{
    border-color:rgba(185,148,112,.5);
    color:#b99470;
}

.servicos-bloco-header h3{
    font-family:'Cormorant Garamond',serif;
    font-size:20px;
    font-weight:400;
    color:var(--dark);
    margin:0;
}
[data-theme="dark"] .servicos-bloco-header h3{ color:#e8e2dc; }
.servicos-bloco-wrap--premium .servicos-bloco-header h3{ color:#fff; }

/* Grade 2-col dentro de cada bloco */
.servicos-grade{
    display:grid;
    grid-template-columns:1fr 1fr;
}

.servicos-cat{
    padding:32px 36px;
}
.servicos-cat + .servicos-cat{
    border-left:1px solid var(--border);
}
[data-theme="dark"] .servicos-cat + .servicos-cat{ border-color:rgba(255,255,255,.08); }
.servicos-bloco-wrap--premium .servicos-cat + .servicos-cat{
    border-color:rgba(185,148,112,.15);
}

.servicos-cat-titulo{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
}
[data-theme="dark"] .servicos-cat-titulo{ border-color:rgba(255,255,255,.08); }
.servicos-bloco-wrap--premium .servicos-cat-titulo{ border-color:rgba(185,148,112,.2); }

.servicos-cat-titulo i{
    color:#b99470;
    font-size:13px;
}

.servicos-cat-titulo h4{
    font-family:'Cormorant Garamond',serif;
    font-size:18px;
    font-weight:500;
    color:var(--dark);
    margin:0;
}
[data-theme="dark"] .servicos-cat-titulo h4{ color:#e8e2dc; }
.servicos-bloco-wrap--premium .servicos-cat-titulo h4{ color:#f0ece8; }

/* Linha de serviço */
.servico-row{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid rgba(0,0,0,.05);
}
[data-theme="dark"] .servico-row{ border-color:rgba(255,255,255,.05); }
.servicos-bloco-wrap--premium .servico-row{ border-color:rgba(255,255,255,.06); }
.servico-row:last-child{ border-bottom:none; }

.servico-nome{
    flex:1;
    font-size:13px;
    color:var(--dark);
    line-height:1.4;
}
[data-theme="dark"] .servico-nome{ color:#d8d0c8; }
.servicos-bloco-wrap--premium .servico-nome{ color:#c8c0b8; }

.servico-duracao{
    font-size:10.5px;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
}
.servicos-bloco-wrap--premium .servico-duracao{ color:rgba(255,255,255,.3); }

.servico-preco{
    font-size:14px;
    font-weight:600;
    color:var(--dark);
    white-space:nowrap;
    text-align:right;
    min-width:88px;
}
[data-theme="dark"] .servico-preco{ color:#b99470; }
.servicos-bloco-wrap--premium .servico-preco{ color:#b99470; }

/* Separador entre básico e premium */
.servicos-sep{
    display:flex;
    align-items:center;
    gap:28px;
    margin:56px 0;
}
.servicos-sep::before,.servicos-sep::after{
    content:'';
    flex:1;
    height:1px;
    background:var(--border);
}
[data-theme="dark"] .servicos-sep::before,
[data-theme="dark"] .servicos-sep::after{ background:rgba(255,255,255,.08); }

.servicos-sep-label{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#b99470;
    white-space:nowrap;
    padding:8px 22px;
    border:1px solid rgba(185,148,112,.35);
}
.servicos-sep-label i{ font-size:10px; }

/* CTA abaixo da tabela */
.servicos-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:60px;
    flex-wrap:wrap;
}
.servicos-cta .cta-btn-outline{
    border-color:rgba(0,0,0,.18);
    color:var(--text-muted);
}
.servicos-cta .cta-btn-outline:hover{
    border-color:#b99470;
    color:#b99470;
}
[data-theme="dark"] .servicos-cta .cta-btn-outline{
    border-color:rgba(255,255,255,.2);
    color:rgba(255,255,255,.6);
}

@media(max-width:768px){
    .servicos-grade{ grid-template-columns:1fr; }
    .servicos-cat + .servicos-cat{
        border-left:none;
        border-top:1px solid var(--border);
    }
    [data-theme="dark"] .servicos-cat + .servicos-cat{ border-color:rgba(255,255,255,.08); }
    .servicos-bloco-wrap--premium .servicos-cat + .servicos-cat{
        border-color:rgba(185,148,112,.15);
    }
    .servicos-cat{ padding:24px 20px; }
    .servicos-bloco-header{ padding:16px 20px; }
}

/* =========================
   LOCALIZAÇÃO STRIP — tratamentos.html
========================= */
.trat-localizacao{
    background:#0d0d0d;
    padding:28px 0;
    border-bottom:1px solid rgba(185,148,112,.15);
}
.trat-localizacao-inner{
    display:flex;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}
.trat-localizacao-lugar{
    display:flex;
    align-items:center;
    gap:18px;
}
.trat-localizacao-icon{
    width:46px;
    height:46px;
    border:1px solid rgba(185,148,112,.35);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b99470;
    font-size:16px;
    flex-shrink:0;
}
.trat-localizacao-nome{
    font-family:'Cormorant Garamond',serif;
    font-size:24px;
    font-weight:500;
    color:#fff;
    margin:0 0 2px;
    line-height:1;
}
.trat-localizacao-cidade{
    font-size:10px;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:rgba(255,255,255,.4);
    font-family:'Montserrat',sans-serif;
}
.trat-localizacao-sep{
    width:1px;
    height:36px;
    background:rgba(185,148,112,.2);
    flex-shrink:0;
}
.trat-localizacao-detalhe{
    font-size:12px;
    color:rgba(255,255,255,.45);
    font-family:'Montserrat',sans-serif;
    line-height:1.7;
}
.trat-localizacao-detalhe strong{ color:rgba(255,255,255,.8); }
.trat-localizacao-link{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:10px;
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:#b99470;
    text-decoration:none;
    border:1px solid rgba(185,148,112,.3);
    padding:12px 22px;
    transition:var(--transition);
    white-space:nowrap;
}
.trat-localizacao-link:hover{
    border-color:#b99470;
    background:rgba(185,148,112,.06);
}
@media(max-width:768px){
    .trat-localizacao-sep{ display:none; }
    .trat-localizacao-link{ margin-left:0; }
}

/* =========================
   CATÁLOGO POR CATEGORIA — tratamentos.html
========================= */
.catalogo-secao{
    padding:90px 0;
    border-bottom:1px solid var(--border);
}
.catalogo-secao:nth-child(odd){ background:#fff; }
.catalogo-secao:nth-child(even){ background:#faf9f7; }
[data-theme="dark"] .catalogo-secao:nth-child(odd){ background:#141414; }
[data-theme="dark"] .catalogo-secao:nth-child(even){ background:#111; }
[data-theme="dark"] .catalogo-secao{ border-color:rgba(255,255,255,.06); }

.catalogo-header{
    display:flex;
    align-items:flex-start;
    gap:24px;
    margin-bottom:52px;
}
.catalogo-num{
    font-family:'Cormorant Garamond',serif;
    font-size:88px;
    font-weight:400;
    color:var(--border);
    line-height:1;
    flex-shrink:0;
    user-select:none;
}
[data-theme="dark"] .catalogo-num{ color:rgba(255,255,255,.06); }
.catalogo-header-info{ padding-top:8px; }
.catalogo-header-info > span{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#b99470;
    font-family:'Montserrat',sans-serif;
    display:block;
    margin-bottom:8px;
}
.catalogo-header-info h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(28px,3vw,42px);
    font-weight:400;
    color:var(--dark);
    margin:0 0 10px;
    line-height:1.1;
}
[data-theme="dark"] .catalogo-header-info h2{ color:#e8e2dc; }
.catalogo-header-info p{
    font-size:13px;
    color:var(--text-muted);
    margin:0;
    line-height:1.75;
    max-width:540px;
}

.catalogo-grid{
    display:grid;
    grid-template-columns:1fr 300px;
    gap:64px;
    align-items:start;
}
.catalogo-grid--rev{
    grid-template-columns:300px 1fr;
}
.catalogo-grid--rev .catalogo-servicos{ order:2; }
.catalogo-grid--rev .catalogo-lateral{ order:1; }

.catalogo-secao-img{
    width:100%;
    height:320px;
    overflow:hidden;
    border-radius:12px;
    margin-bottom:48px;
    position:relative;
}
.catalogo-secao-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 30%;
    transition:transform .8s cubic-bezier(0.4,0,0.2,1);
}
.catalogo-secao-img:hover img{ transform:scale(1.03); }
.catalogo-secao-img::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(13,13,13,.35) 0%, transparent 60%);
    pointer-events:none;
    border-radius:12px;
}
@media(max-width:768px){
    .catalogo-secao-img{ height:220px; }
}

/* Cards de serviço individuais */
.servico-cards{ display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.servico-card{
    display:flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    transition:box-shadow .2s;
}
.servico-card:hover{ box-shadow:0 4px 18px rgba(0,0,0,.07); }
[data-theme="dark"] .servico-card{ border-color:rgba(255,255,255,.06); }
.servico-card-foto{ width:90px; height:78px; flex-shrink:0; overflow:hidden; }
.servico-card-foto img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.servico-card:hover .servico-card-foto img{ transform:scale(1.06); }
.servico-card-info{
    flex:1;
    padding:0 16px;
    display:flex;
    align-items:center;
    gap:12px;
}
.servico-card-nome{
    flex:1;
    font-size:13px;
    font-weight:500;
    color:var(--dark);
    font-family:'Montserrat',sans-serif;
}
[data-theme="dark"] .servico-card-nome{ color:#d8d0c8; }
.servico-card-meta{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.servico-card-dur{
    font-size:10.5px;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
}
.servico-card-preco{
    font-size:13px;
    font-weight:600;
    color:#b99470;
    white-space:nowrap;
    font-family:'Montserrat',sans-serif;
}
@media(max-width:600px){
    .servico-card-foto{ width:70px; height:64px; }
    .servico-card-info{ padding:0 12px; flex-wrap:wrap; gap:6px; }
    .servico-card-meta{ flex-wrap:wrap; }
}

/* Link PDF discreto no rodapé do catálogo */
.catalogo-pdf-link{
    text-align:center;
    padding:28px 0 36px;
    border-top:1px solid var(--border);
}
.catalogo-pdf-link a{
    font-size:11.5px;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    display:inline-flex;
    align-items:center;
    gap:7px;
    text-decoration:underline;
    text-underline-offset:3px;
    transition:color .2s;
}
.catalogo-pdf-link a:hover{ color:#b99470; }

/* Lista de serviços */
.catalogo-servicos-titulo{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    margin-bottom:14px;
}
.catalogo-row{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 0;
    border-bottom:1px solid var(--border);
}
[data-theme="dark"] .catalogo-row{ border-color:rgba(255,255,255,.06); }
.catalogo-row:last-of-type{ border-bottom:none; }
.catalogo-row-nome{
    flex:1;
    font-size:13.5px;
    color:var(--dark);
    font-family:'Montserrat',sans-serif;
}
[data-theme="dark"] .catalogo-row-nome{ color:#d8d0c8; }
.catalogo-row-dur{
    font-size:10.5px;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
}
.catalogo-row-preco{
    font-size:13.5px;
    font-weight:600;
    color:#b99470;
    min-width:80px;
    text-align:right;
    font-family:'Montserrat',sans-serif;
}
.catalogo-row-badge{
    font-size:8.5px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    background:#0d0d0d;
    color:#b99470;
    padding:3px 8px;
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    white-space:nowrap;
    border:1px solid rgba(185,148,112,.3);
}
[data-theme="dark"] .catalogo-row-badge{ background:#1e1e1e; }

/* Jornada do cliente */
.catalogo-jornada{
    margin-top:36px;
    padding-top:28px;
    border-top:1px solid var(--border);
}
[data-theme="dark"] .catalogo-jornada{ border-color:rgba(255,255,255,.06); }
.catalogo-jornada-titulo{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    margin-bottom:18px;
}
.jornada-steps{
    display:flex;
    gap:0;
}
.jornada-step{
    flex:1;
    position:relative;
    padding-right:20px;
}
.jornada-step:not(:last-child)::after{
    content:'';
    position:absolute;
    top:13px;
    right:4px;
    width:12px;
    height:1px;
    background:var(--border);
}
[data-theme="dark"] .jornada-step:not(:last-child)::after{ background:rgba(255,255,255,.1); }
.jornada-step-num{
    width:26px;
    height:26px;
    border:1px solid rgba(185,148,112,.5);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
    font-weight:700;
    color:#b99470;
    font-family:'Montserrat',sans-serif;
    margin-bottom:10px;
}
.jornada-step-label{
    font-size:11.5px;
    color:var(--dark);
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    line-height:1.4;
    margin-bottom:4px;
}
[data-theme="dark"] .jornada-step-label{ color:#e8e2dc; }
.jornada-step-desc{
    font-size:11px;
    color:var(--text-muted);
    line-height:1.55;
}

/* Botão CTA inline da categoria */
.catalogo-agendar{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:28px;
    font-size:10px;
    font-weight:600;
    letter-spacing:2.5px;
    text-transform:uppercase;
    font-family:'Montserrat',sans-serif;
    padding:14px 28px;
    background:var(--dark);
    color:#fff;
    text-decoration:none;
    transition:var(--transition);
}
.catalogo-agendar:hover{ background:#b99470; }
[data-theme="dark"] .catalogo-agendar{ background:#e8e2dc; color:#121212; }
[data-theme="dark"] .catalogo-agendar:hover{ background:#b99470; color:#fff; }

/* Lateral: produtos */
.catalogo-lateral-titulo{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    margin-bottom:14px;
}
.produto-card{
    border:1px solid var(--border);
    padding:22px;
    margin-bottom:12px;
    transition:var(--transition);
    background:#fff;
}
[data-theme="dark"] .produto-card{ background:#1a1a1a; border-color:rgba(255,255,255,.07); }
.produto-card:hover{ border-color:#b99470; }
.produto-card-tag{
    font-size:9px;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:#b99470;
    font-family:'Montserrat',sans-serif;
    margin-bottom:8px;
    display:block;
}
.produto-card-nome{
    font-family:'Cormorant Garamond',serif;
    font-size:19px;
    color:var(--dark);
    margin:0 0 6px;
    font-weight:500;
    line-height:1.2;
}
[data-theme="dark"] .produto-card-nome{ color:#e8e2dc; }
.produto-card-desc{
    font-size:12px;
    color:var(--text-muted);
    line-height:1.65;
    margin:0 0 14px;
}
.produto-card-link{
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--dark);
    font-family:'Montserrat',sans-serif;
    font-weight:600;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition:var(--transition);
}
[data-theme="dark"] .produto-card-link{ color:#e8e2dc; }
.produto-card-link:hover{ color:#b99470; }

@media(max-width:900px){
    .catalogo-grid,
    .catalogo-grid--rev{ grid-template-columns:1fr; }
    .catalogo-grid--rev .catalogo-servicos,
    .catalogo-grid--rev .catalogo-lateral{ order:unset; }
    .catalogo-num{ font-size:60px; }
    .jornada-steps{ flex-direction:column; gap:16px; }
    .jornada-step:not(:last-child)::after{ display:none; }
    .jornada-step{ padding-right:0; }
}

/* =========================
   CTA + MAPA — tratamentos.html
========================= */
.cta-mapa{
    background:#0d0d0d;
    padding:80px 0 0;
}
.cta-mapa-texto{
    text-align:center;
    padding-bottom:60px;
}
.cta-mapa-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:28px;
    font-family:'Montserrat',sans-serif;
}
.cta-mapa-label::before,
.cta-mapa-label::after{
    content:'';
    display:inline-block;
    width:44px;
    height:1px;
    background:#b99470;
    opacity:.7;
}
.cta-mapa-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,4vw,54px);
    font-weight:400;
    color:#fff;
    margin:0 0 16px;
    line-height:1.1;
}
.cta-mapa-texto p{
    font-size:14px;
    color:rgba(255,255,255,.45);
    margin:0 auto 40px;
    max-width:480px;
    line-height:1.8;
}
.cta-mapa-btns{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}
.cta-mapa-frame{
    width:100%;
    height:420px;
    border:0;
    display:block;
    margin-top:60px;
    filter:grayscale(15%) contrast(1.05);
}

/* =========================
   LINHA DO TEMPO DO ESPAÇO — experiencias.html
========================= */
.exp-timeline{ padding:96px 0; background:var(--off-white); }

.exp-tl-header{ text-align:center; margin-bottom:72px; }
.exp-tl-header > span{
    display:inline-block;
    font-size:10px; font-weight:600; letter-spacing:4px;
    text-transform:uppercase; color:#b99470;
    margin-bottom:16px; font-family:'Montserrat',sans-serif;
}
.exp-tl-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(30px,4vw,46px); font-weight:600;
    color:var(--dark); margin-bottom:14px; line-height:1.15;
}
[data-theme="dark"] .exp-tl-header h2{ color:#e8e0d8; }
.exp-tl-header p{
    font-size:15px; color:var(--text-muted);
    max-width:460px; margin:0 auto; line-height:1.7;
}

.exp-tl-list{ max-width:960px; margin:0 auto; }

.exp-tl-item{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
    padding:56px 0;
    border-bottom:1px solid var(--border);
}
[data-theme="dark"] .exp-tl-item{ border-color:rgba(255,255,255,.06); }
.exp-tl-item:last-child{ border-bottom:none; }

.exp-tl-item--rev .exp-tl-foto{ order:-1; }

.exp-tl-item--sensorial{
    grid-template-columns:1fr;
}
.exp-tl-item--sensorial .exp-tl-lado{
    max-width:540px; margin:0 auto; text-align:center; align-items:center;
}

.exp-tl-lado{
    display:flex; flex-direction:column; gap:14px;
}

.exp-tl-num{
    font-family:'Cormorant Garamond',serif;
    font-size:54px; font-weight:700;
    color:rgba(185,148,112,.18); line-height:1;
}

.exp-tl-icon{
    width:42px; height:42px; border-radius:50%;
    background:rgba(185,148,112,.1);
    display:flex; align-items:center; justify-content:center;
    color:#b99470; font-size:16px;
}

.exp-tl-texto h3{
    font-family:'Cormorant Garamond',serif;
    font-size:26px; font-weight:600;
    color:var(--dark); margin-bottom:10px; line-height:1.2;
}
[data-theme="dark"] .exp-tl-texto h3{ color:#e8e0d8; }
.exp-tl-texto p{
    font-size:14px; color:var(--text-muted); line-height:1.75;
}

.exp-tl-foto{
    border-radius:12px; overflow:hidden; aspect-ratio:4/3;
}
.exp-tl-foto img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .6s ease;
}
.exp-tl-item:hover .exp-tl-foto img{ transform:scale(1.04); }

@media(max-width:768px){
    .exp-tl-item,
    .exp-tl-item--rev{ grid-template-columns:1fr; gap:28px; }
    .exp-tl-item--rev .exp-tl-foto{ order:0; }
    .exp-tl-item--sensorial .exp-tl-lado{ text-align:left; align-items:flex-start; }
    .exp-tl-num{ font-size:40px; }
    .exp-tl-texto h3{ font-size:22px; }
}

/* (legado — mantido para não quebrar nada)
.exp-galeria{
    padding:100px 0;
    background:var(--off-white);
    border-top:1px solid var(--border);
}
.exp-galeria-header{
    text-align:center;
    margin-bottom:56px;
}
.exp-galeria-header > span{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#b99470;
    font-family:'Montserrat',sans-serif;
    display:block;
    margin-bottom:12px;
}
.exp-galeria-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(30px,4vw,48px);
    font-weight:400;
    color:var(--dark);
    margin:0 0 14px;
    line-height:1.1;
}
[data-theme="dark"] .exp-galeria-header h2{ color:#e8e2dc; }
.exp-galeria-header p{
    font-size:14px;
    color:var(--text-muted);
    max-width:480px;
    margin:0 auto;
    line-height:1.75;
}
.exp-galeria-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    grid-template-rows:280px 280px 340px;
    gap:10px;
}
.exp-galeria-item{
    position:relative;
    overflow:hidden;
    border-radius:8px;
    cursor:pointer;
    background:var(--border);
}
.exp-galeria-item--tall{ grid-row:span 2; }
.exp-galeria-item--wide{ grid-column:span 3; }
.exp-galeria-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s cubic-bezier(0.4,0,0.2,1);
}
.exp-galeria-item:hover img{ transform:scale(1.06); }
.exp-galeria-overlay{
    position:absolute;
    inset:0;
    background:rgba(13,13,13,.0);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:background .3s;
}
.exp-galeria-item:hover .exp-galeria-overlay{
    background:rgba(13,13,13,.45);
}
.exp-galeria-overlay i{
    font-size:22px;
    color:#fff;
    opacity:0;
    transform:scale(.7);
    transition:opacity .3s, transform .3s;
}
.exp-galeria-overlay span{
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#fff;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .3s .05s, transform .3s .05s;
}
.exp-galeria-item:hover .exp-galeria-overlay i,
.exp-galeria-item:hover .exp-galeria-overlay span{
    opacity:1;
    transform:scale(1) translateY(0);
}

/* Lightbox */
.exp-lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.95);
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s;
}
.exp-lightbox.ativo{
    opacity:1;
    pointer-events:all;
}
.exp-lightbox-img-wrap{
    max-width:90vw;
    max-height:85vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.exp-lightbox-img-wrap img{
    max-width:100%;
    max-height:85vh;
    object-fit:contain;
    border-radius:4px;
    display:block;
}
.exp-lightbox-close{
    position:absolute;
    top:20px; right:24px;
    background:none; border:none;
    color:#fff; font-size:24px;
    cursor:pointer; opacity:.7;
    transition:opacity .2s;
}
.exp-lightbox-close:hover{ opacity:1; }
.exp-lightbox-prev,
.exp-lightbox-next{
    position:absolute;
    top:50%; transform:translateY(-50%);
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.15);
    color:#fff; font-size:18px;
    width:48px; height:48px;
    border-radius:50%;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s;
}
.exp-lightbox-prev{ left:24px; }
.exp-lightbox-next{ right:24px; }
.exp-lightbox-prev:hover,
.exp-lightbox-next:hover{ background:rgba(255,255,255,.2); }
.exp-lightbox-caption{
    position:absolute;
    bottom:24px;
    left:50%; transform:translateX(-50%);
    color:rgba(255,255,255,.5);
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    letter-spacing:1px;
    text-transform:uppercase;
    white-space:nowrap;
}
.exp-lightbox-counter{
    position:absolute;
    top:24px; left:24px;
    color:rgba(255,255,255,.4);
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    letter-spacing:1px;
}
@media(max-width:900px){
    .exp-galeria-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:200px 200px 200px 300px;
    }
    .exp-galeria-item--tall{ grid-row:span 2; }
    .exp-galeria-item--wide{ grid-column:span 2; }
}
@media(max-width:540px){
    .exp-galeria-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:160px 160px 160px 240px;
    }
    .exp-lightbox-prev{ left:8px; }
    .exp-lightbox-next{ right:8px; }
}

/* =========================
   FAQ + POLÍTICA — experiencias.html
========================= */
.exp-faq{ padding:96px 0; background:var(--white); }
[data-theme="dark"] .exp-faq{ background:var(--dark); }

.exp-faq-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:flex-start;
}

.exp-faq-label{
    display:inline-block;
    font-size:10px; font-weight:600; letter-spacing:4px;
    text-transform:uppercase; color:#b99470;
    margin-bottom:14px; font-family:'Montserrat',sans-serif;
}
.exp-faq-bloco h2,
.exp-politica-bloco h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(26px,3vw,36px); font-weight:600;
    color:var(--dark); line-height:1.2; margin-bottom:32px;
}
[data-theme="dark"] .exp-faq-bloco h2,
[data-theme="dark"] .exp-politica-bloco h2{ color:#e8e0d8; }

/* FAQ accordion */
.exp-faq-lista{ display:flex; flex-direction:column; gap:0; }
.exp-faq-item{
    border-bottom:1px solid var(--border);
}
[data-theme="dark"] .exp-faq-item{ border-color:rgba(255,255,255,.07); }
.exp-faq-item:first-child{ border-top:1px solid var(--border); }
[data-theme="dark"] .exp-faq-item:first-child{ border-color:rgba(255,255,255,.07); }
.exp-faq-item summary{
    list-style:none;
    padding:16px 0;
    font-size:13.5px; font-weight:500;
    color:var(--dark); cursor:pointer;
    font-family:'Montserrat',sans-serif;
    display:flex; justify-content:space-between; align-items:center;
    gap:12px;
    transition:color .2s;
}
.exp-faq-item summary::-webkit-details-marker{ display:none; }
.exp-faq-item summary::after{
    content:'\f067';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:10px;
    color:#b99470;
    flex-shrink:0;
    transition:transform .25s;
}
.exp-faq-item[open] summary::after{ content:'\f068'; }
.exp-faq-item summary:hover{ color:#b99470; }
[data-theme="dark"] .exp-faq-item summary{ color:#d8d0c8; }
.exp-faq-item p{
    font-size:13.5px; color:var(--text-muted);
    line-height:1.75; padding:0 0 18px 0;
}

/* Política card */
.exp-politica-card{
    background:var(--off-white);
    border-radius:14px;
    padding:32px;
    display:flex; flex-direction:column; gap:24px;
}
[data-theme="dark"] .exp-politica-card{ background:rgba(255,255,255,.04); }
.exp-politica-item{
    display:flex; align-items:flex-start; gap:16px;
}
.exp-politica-icon{
    width:40px; height:40px; flex-shrink:0;
    border-radius:50%;
    background:rgba(185,148,112,.12);
    display:flex; align-items:center; justify-content:center;
    color:#b99470; font-size:16px;
}
.exp-politica-item strong{
    display:block; font-size:13px; font-weight:600;
    color:var(--dark); margin-bottom:4px;
    font-family:'Montserrat',sans-serif;
}
[data-theme="dark"] .exp-politica-item strong{ color:#d8d0c8; }
.exp-politica-item span{
    font-size:13px; color:var(--text-muted); line-height:1.65;
}
.exp-politica-btn{
    display:inline-flex; align-items:center; gap:10px;
    background:#25d366; color:#fff;
    padding:13px 24px; border-radius:50px;
    font-size:12px; font-weight:600; letter-spacing:.5px;
    font-family:'Montserrat',sans-serif;
    transition:background .2s, transform .2s;
    align-self:flex-start; margin-top:4px;
}
.exp-politica-btn:hover{ background:#1ebe5a; transform:translateY(-2px); }

@media(max-width:900px){
    .exp-faq-inner{ grid-template-columns:1fr; gap:56px; }
}

/* =========================
   CTA AVALIAÇÃO — experiencias.html
========================= */
.exp-cta-avaliacao{
    background:#0d0d0d;
    padding:100px 0;
}
.exp-cta-avaliacao-inner{
    max-width:620px;
    margin:0 auto;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.exp-cta-avaliacao-label{
    display:flex;
    align-items:center;
    gap:16px;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:28px;
    font-family:'Montserrat',sans-serif;
}
.exp-cta-avaliacao-label::before,
.exp-cta-avaliacao-label::after{
    content:'';
    display:inline-block;
    width:40px;
    height:1px;
    background:#b99470;
    opacity:.65;
}
.exp-cta-avaliacao h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(34px,4.5vw,58px);
    font-weight:400;
    color:#fff;
    line-height:1.1;
    margin-bottom:20px;
}
.exp-cta-avaliacao p{
    font-size:14px;
    color:rgba(255,255,255,.4);
    line-height:1.85;
    margin-bottom:44px;
    max-width:460px;
}
.exp-cta-avaliacao-btns{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
@media(max-width:768px){
    .exp-cta-avaliacao{ padding:72px 0; }
    .exp-cta-avaliacao-btns{ flex-direction:column; align-items:stretch; width:100%; }
    .exp-cta-avaliacao-btns .btn-pill{ justify-content:center; }
}
@media(max-width:480px){
    .exp-cta-avaliacao{ padding:56px 0; }
    .exp-cta-avaliacao h2{ font-size:clamp(28px,8vw,40px); }
}

/* =========================
   SOBRE O ESPAÇO — experiencias.html
========================= */
.exp-espaco{
    background:var(--off-white);
    padding:96px 0;
}
.exp-espaco-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.exp-espaco-label{
    display:block;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:24px;
    font-family:'Montserrat',sans-serif;
}
.exp-espaco-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(28px,3vw,42px);
    font-weight:400;
    color:var(--text);
    line-height:1.15;
    margin-bottom:20px;
}
.exp-espaco-texto p{
    font-size:13.5px;
    color:var(--text-muted);
    line-height:1.9;
    margin-bottom:16px;
}
.exp-espaco-texto p strong{ color:var(--text); }
.exp-espaco-texto{
    display:flex;
    flex-direction:column;
}

.exp-espaco-destaques{
    display:flex;
    flex-direction:column;
    gap:1px;
    border:1px solid var(--border);
    background:var(--white);
}
.exp-espaco-destaque{
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px 24px;
    border-bottom:1px solid var(--border);
    transition:background .2s;
}
.exp-espaco-destaque:last-child{ border-bottom:none; }
.exp-espaco-destaque:hover{ background:rgba(185,148,112,.05); }
.exp-espaco-destaque-icon{
    width:42px;
    height:42px;
    border:1px solid rgba(185,148,112,.3);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b99470;
    font-size:15px;
    flex-shrink:0;
}
.exp-espaco-destaque div:last-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.exp-espaco-destaque strong{
    font-size:13px;
    font-weight:600;
    color:var(--text);
    font-family:'Montserrat',sans-serif;
}
.exp-espaco-destaque span{
    font-size:12px;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    line-height:1.5;
}

@media(max-width:900px){
    .exp-espaco-inner{
        grid-template-columns:1fr;
        gap:48px;
    }
    .exp-espaco{ padding:64px 0; }
}
@media(max-width:480px){
    .exp-espaco{ padding:52px 0; }
    .exp-espaco-texto h2{ font-size:26px; }
}

/* =========================
   TRILHA DA EXPERIÊNCIA — experiencias.html
========================= */
.exp-trilha{
    padding:96px 0;
    background:var(--off-white);
}
[data-theme="dark"] .exp-trilha{ background:#181818; }

.exp-trilha-header{
    text-align:center;
    margin-bottom:72px;
}
.exp-trilha-header > span{
    display:block;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
}
.exp-trilha-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(28px,3.5vw,44px);
    font-weight:400;
    color:var(--dark);
    margin-bottom:14px;
    line-height:1.1;
}
[data-theme="dark"] .exp-trilha-header h2{ color:#f0ece8; }
.exp-trilha-header p{
    font-size:13.5px;
    color:var(--text-muted);
    max-width:480px;
    margin:0 auto;
    line-height:1.8;
}

.exp-trilha-steps{
    display:flex;
    align-items:flex-start;
    gap:0;
}
.exp-trilha-step{
    flex:1;
    text-align:center;
    padding:0 20px;
}
.exp-trilha-step-top{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    margin-bottom:20px;
}
.exp-trilha-step-num{
    font-family:'Cormorant Garamond',serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    color:#b99470;
    font-variant-numeric:tabular-nums;
}
.exp-trilha-step-icon{
    width:64px;
    height:64px;
    border:1px solid rgba(185,148,112,.3);
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#b99470;
    transition:background .25s, border-color .25s, transform .25s;
    box-shadow:0 2px 12px rgba(185,148,112,.08);
}
[data-theme="dark"] .exp-trilha-step-icon{
    background:#1e1e1e;
    border-color:rgba(185,148,112,.25);
}
.exp-trilha-step:hover .exp-trilha-step-icon{
    background:#b99470;
    color:#fff;
    border-color:#b99470;
    transform:translateY(-4px);
    box-shadow:0 8px 24px rgba(185,148,112,.2);
}
.exp-trilha-step h4{
    font-family:'Cormorant Garamond',serif;
    font-size:20px;
    font-weight:500;
    color:var(--dark);
    margin:0 0 10px;
    line-height:1.2;
}
[data-theme="dark"] .exp-trilha-step h4{ color:#e8e2dc; }
.exp-trilha-step p{
    font-size:12.5px;
    color:var(--text-muted);
    line-height:1.75;
    margin:0;
}

.exp-trilha-connector{
    padding-top:50px;
    color:rgba(185,148,112,.35);
    font-size:12px;
    flex-shrink:0;
    display:flex;
    align-items:flex-start;
}

@media(max-width:900px){
    .exp-trilha-steps{
        flex-direction:column;
        gap:0;
        align-items:stretch;
    }
    .exp-trilha-step{
        display:flex;
        flex-direction:row;
        text-align:left;
        padding:24px 0;
        gap:24px;
        align-items:flex-start;
        border-bottom:1px solid var(--border);
    }
    [data-theme="dark"] .exp-trilha-step{ border-color:rgba(255,255,255,.07); }
    .exp-trilha-step:last-child{ border-bottom:none; }
    .exp-trilha-step-top{
        flex-direction:column;
        flex-shrink:0;
        align-items:center;
        gap:8px;
        margin-bottom:0;
        min-width:64px;
    }
    .exp-trilha-step-icon{
        width:52px;
        height:52px;
        font-size:18px;
    }
    .exp-trilha-connector{ display:none; }
    .exp-trilha{ padding:64px 0; }
    .exp-trilha-header{ margin-bottom:48px; }
}
@media(max-width:480px){
    .exp-trilha{ padding:52px 0; }
    .exp-trilha-step-icon{ width:46px; height:46px; font-size:16px; }
    .exp-trilha-step h4{ font-size:18px; }
}

/* =========================
   DIFERENCIAIS — tratamentos.html
========================= */
.diferenciais{
    padding:100px 0;
    background:var(--off-white);
}
[data-theme="dark"] .diferenciais{ background:#181818; }

.diferenciais-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

/* Coluna esquerda */
.diferenciais-texto > span{
    display:block;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#b99470;
    margin-bottom:20px;
}
.diferenciais-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(36px,3.5vw,52px);
    font-weight:400;
    color:var(--dark);
    line-height:1.12;
    margin-bottom:20px;
}
[data-theme="dark"] .diferenciais-texto h2{ color:#f0ece8; }

.diferenciais-texto p{
    font-size:14px;
    color:var(--text-muted);
    line-height:1.9;
    margin-bottom:36px;
    max-width:400px;
}

/* Grid de itens */
.diferenciais-itens{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.diferencial-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 20px;
    background:var(--white);
    border:1px solid var(--border);
    transition:border-color .2s, box-shadow .2s;
}
[data-theme="dark"] .diferencial-item{
    background:#222;
    border-color:rgba(255,255,255,.07);
}
.diferencial-item:hover{
    border-color:rgba(185,148,112,.4);
    box-shadow:0 4px 16px rgba(185,148,112,.08);
}

.diferencial-item--destaque{
    border-color:rgba(185,148,112,.3);
    background:rgba(185,148,112,.04);
}
[data-theme="dark"] .diferencial-item--destaque{
    background:rgba(185,148,112,.06);
}

.diferencial-icon{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(185,148,112,.1);
    border-radius:50%;
    flex-shrink:0;
}
.diferencial-icon i{
    color:#b99470;
    font-size:14px;
}

.diferencial-info{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.diferencial-info strong{
    font-size:12.5px;
    font-weight:600;
    color:var(--dark);
    line-height:1.3;
}
[data-theme="dark"] .diferencial-info strong{ color:#e8e2dc; }

.diferencial-info span{
    font-size:11px;
    color:var(--text-muted);
    line-height:1.3;
}

@media(max-width:900px){
    .diferenciais-wrap{
        grid-template-columns:1fr;
        gap:48px;
    }
    .diferenciais-texto p{ max-width:none; }
}
@media(max-width:500px){
    .diferenciais-itens{ grid-template-columns:1fr; }
}

/* =========================
   PAGE HERO DARK
   Hero centralizado escuro — tratamentos, experiências,
   skin-care, resultados, antes-depois, depoimentos
========================= */
.page-hero-dark{
    background:#0d0d0d;
    min-height:60vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:130px 24px 90px;
}

.page-hero-dark-inner{
    max-width:820px;
    width:100%;
}

.page-hero-dark-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:36px;
}
.page-hero-dark-label::before,
.page-hero-dark-label::after{
    content:'';
    display:inline-block;
    width:44px;
    height:1px;
    background:#b99470;
    opacity:.7;
}

.page-hero-dark h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(36px,4.5vw,64px);
    font-weight:400;
    color:#fff;
    line-height:1.1;
    margin-bottom:24px;
}

.page-hero-dark p{
    font-size:14px;
    color:rgba(255,255,255,.42);
    line-height:1.9;
    max-width:520px;
    margin:0 auto 44px;
}

.page-hero-dark-btns{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

/* Botão primário pill */
.btn-pill{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:14px 34px;
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:background .2s, color .2s, border-color .2s, transform .2s;
    cursor:pointer;
    border:none;
}
.btn-pill--primary{
    background:#b99470;
    color:#fff;
}
.btn-pill--primary:hover{
    background:#a07850;
    transform:translateY(-2px);
}
.btn-pill--ghost{
    background:transparent;
    border:1.5px solid rgba(255,255,255,.28);
    color:rgba(255,255,255,.8);
}
.btn-pill--ghost:hover{
    border-color:#b99470;
    color:#b99470;
}

/* Pills dos planos no hero */
.planos-pills-hero{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-bottom:44px;
}
.planos-pills-hero span{
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    padding:7px 18px;
    border:1px solid rgba(185,148,112,.3);
    color:rgba(255,255,255,.45);
    border-radius:50px;
    transition:var(--transition);
}
.planos-pills-hero span:hover{
    border-color:#b99470;
    color:#b99470;
}

@media(max-width:768px){
    .page-hero-dark{
        min-height:auto;
        padding:110px 20px 70px;
    }
    .page-hero-dark h1{ font-size:clamp(30px,8vw,44px); }
}

/* =========================
   PLANOS — POR QUE ASSINAR
========================= */
.planos-porque{
    background:var(--white);
}

.porque-intro{
    max-width:680px;
    margin:0 auto 56px;
    text-align:center;
}

.porque-intro p{
    font-size:15px;
    color:var(--text-muted);
    line-height:2;
}

.porque-intro strong{
    color:var(--dark);
    font-weight:600;
}

.porque-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    margin-bottom:56px;
}

.porque-card{
    padding:36px 28px;
    border:1px solid var(--border);
    background:var(--off-white);
    display:flex;
    flex-direction:column;
    gap:14px;
    transition:var(--transition);
}

.porque-card:hover{
    border-color:#b99470;
    transform:translateY(-4px);
    box-shadow:0 8px 28px rgba(185,148,112,.12);
}

.porque-icone{
    width:44px;
    height:44px;
    background:var(--dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    flex-shrink:0;
}

[data-theme="dark"] .porque-icone{
    background:#e8e2dc;
    color:#121212;
}

.porque-card h3{
    font-family:'Cormorant Garamond',serif;
    font-size:22px;
    font-weight:500;
    color:var(--dark);
    line-height:1.2;
}

.porque-card p{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.85;
}

/* Banner CTA dentro da seção */
.porque-cta-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    background:var(--dark);
    padding:36px 44px;
    flex-wrap:wrap;
}

.porque-cta-banner strong{
    display:block;
    font-size:17px;
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    margin-bottom:6px;
}

.porque-cta-banner p{
    font-size:13px;
    color:rgba(255,255,255,.45);
    line-height:1.6;
}

[data-theme="dark"] .porque-cta-banner{
    background:#1e1e1e;
    border:1px solid #3a3030;
}

.porque-cta-banner .pcard-btn{
    background:#b99470;
    border-color:#b99470;
    color:#fff;
    flex-shrink:0;
}

.porque-cta-banner .pcard-btn:hover{
    background:#fff;
    border-color:#fff;
    color:#121212;
}

@media(max-width:1024px){
    .porque-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:600px){
    .porque-grid{ grid-template-columns:1fr; }
    .porque-cta-banner{ flex-direction:column; align-items:flex-start; }
    .porque-cta-banner .pcard-btn{ width:100%; justify-content:center; }
}

/* =========================
   PLANOS PÁGINA — CARDS
========================= */
.planos-pagina{ background:var(--off-white); }

.planos-pagina-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin-bottom:40px;
}

/* Card */
.pcard{
    background:var(--white);
    border:1px solid var(--border);
    display:flex;
    flex-direction:column;
    transition:var(--transition);
    overflow:hidden;
}

.pcard:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-hover);
}

/* Destaque */
.pcard--destaque{
    border-color:#b99470;
    box-shadow:0 4px 24px rgba(185,148,112,.16);
    position:relative;
}

.pcard--destaque::before{
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    background:#b99470;
}

/* Topo */
.pcard-topo{
    padding:32px 30px 24px;
    border-bottom:1px solid var(--border);
}

.pcard-cat{
    display:inline-block;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2.5px;
    color:var(--text-muted);
    margin-bottom:10px;
}

.pcard-cat--destaque{ color:#b99470; }

.pcard-nome{
    font-family:'Cormorant Garamond',serif;
    font-size:26px;
    font-weight:500;
    color:var(--dark);
    margin-bottom:16px;
    line-height:1.2;
}

.pcard-preco{
    display:flex;
    align-items:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.pcard-de{
    display:block;
    width:100%;
    font-size:11px;
    color:var(--text-muted);
    text-decoration:line-through;
    margin-bottom:4px;
}

.pcard-valor{
    font-family:'Cormorant Garamond',serif;
    font-size:48px;
    font-weight:600;
    color:var(--dark);
    line-height:1;
}

.pcard-valor sup{
    font-size:20px;
    vertical-align:super;
    font-weight:400;
}

.pcard-valor span{
    font-size:22px;
    font-weight:400;
}

.pcard-periodo{
    font-size:11px;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:1.5px;
    margin-bottom:6px;
}

/* Corpo */
.pcard-corpo{
    padding:24px 30px;
    flex:1;
}

.pcard-incluso-label{
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    color:var(--text-muted);
    margin-bottom:14px;
}

.pcard-lista{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.pcard-lista li{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13.5px;
    color:var(--dark);
}

.pcard-lista li i{
    font-size:10px;
    color:#b99470;
    flex-shrink:0;
    width:14px;
}

.pcard-brinde{
    color:var(--text-muted) !important;
    font-style:italic;
}

.pcard-brinde i{ color:#b99470 !important; }

/* Botão */
.pcard-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 30px 30px;
    padding:13px 20px;
    background:var(--dark);
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:var(--transition);
    border:1px solid var(--dark);
}

.pcard-btn:hover{
    background:#b99470;
    border-color:#b99470;
}

.pcard--destaque .pcard-btn{
    background:#b99470;
    border-color:#b99470;
}

.pcard--destaque .pcard-btn:hover{
    background:var(--dark);
    border-color:var(--dark);
}

/* Nota de rodapé */
.planos-nota{
    text-align:center;
    font-size:12.5px;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
}

.planos-nota i{ color:#b99470; }

.planos-nota a{
    color:var(--dark);
    font-weight:600;
    text-decoration:none;
}

.planos-nota a:hover{ color:#b99470; }

/* Dark mode */
[data-theme="dark"] .pcard{
    background:#1e1e1e;
    border-color:#3a3030;
}

[data-theme="dark"] .pcard-btn{
    background:#e8e2dc;
    color:#121212;
    border-color:#e8e2dc;
}

[data-theme="dark"] .pcard-btn:hover{
    background:#b99470;
    border-color:#b99470;
    color:#fff;
}

[data-theme="dark"] .pcard--destaque .pcard-btn{
    background:#b99470;
    border-color:#b99470;
    color:#fff;
}

/* Responsivo */
@media(max-width:1024px){
    .planos-pagina-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:600px){
    .planos-pagina-grid{ grid-template-columns:1fr; }
}

/* Hero limpo — sem imagem de fundo */
.page-hero{
    padding:160px 0 90px;
    background:var(--white);
    text-align:center;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid var(--border);
}

.page-hero::before{
    content:'';
    position:absolute;
    top:-120px; right:-120px;
    width:400px; height:400px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(192,192,192,.1) 0%, transparent 70%);
    pointer-events:none;
}

.page-hero::after{
    content:'';
    position:absolute;
    bottom:-80px; left:-80px;
    width:300px; height:300px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(192,192,192,.08) 0%, transparent 70%);
    pointer-events:none;
}

.page-hero-label{
    display:inline-block;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:4px;
    color:var(--text-muted);
    margin-bottom:20px;
}

.page-hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:68px;
    font-weight:400;
    color:var(--dark);
    line-height:1.08;
    margin-bottom:20px;
    letter-spacing:.5px;
}

.page-hero-line{
    width:48px;
    height:1px;
    background:var(--rose-gold-light);
    margin:24px auto;
}

.page-hero p{
    font-size:15px;
    color:var(--text-muted);
    max-width:520px;
    margin:0 auto;
    line-height:1.9;
    font-weight:300;
}

@media(max-width:768px){
    .page-hero{padding:130px 24px 70px;}
    .page-hero h1{font-size:44px;}
}

@media(max-width:480px){
    .page-hero h1{font-size:36px;}
    .page-hero p{font-size:14px;}
}

.hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(0,0,0,.88) 0%, rgba(0,0,0,.6) 55%, rgba(0,0,0,.25) 100%);
    z-index:1;
}

.hero .overlay{display:none;}

.hero-content{
    position:relative;
    z-index:2;
    max-width:660px;
    animation:fadeInUp .9s ease;
}

.hero-content span{
    display:inline-block;
    color:var(--rose-gold-light);
    letter-spacing:4px;
    font-size:10.5px;
    font-weight:500;
    text-transform:uppercase;
    margin-bottom:22px;
}

.hero-content h1{
    font-family:'Cormorant Garamond',serif;
    font-size:76px;
    line-height:1.04;
    margin:0 0 28px;
    color:#ffffff;
    font-weight:400;
    letter-spacing:1px;
    animation:slideInLeft .9s ease;
}

.hero-content p{
    color:rgba(255,255,255,.68);
    font-size:15.5px;
    line-height:1.95;
    margin-bottom:40px;
    animation:slideInLeft .9s ease .15s backwards;
    font-weight:300;
    max-width:520px;
}

.hero-buttons{
    display:flex;
    gap:16px;
    animation:slideInLeft .9s ease .3s backwards;
}

/* Variações de overlay por página */
body.experiencias .hero::before{background:linear-gradient(to right,rgba(0,0,0,.92) 0%,rgba(0,0,0,.65) 55%,rgba(0,0,0,.3) 100%);}
body.skin-care .hero::before{background:linear-gradient(135deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 100%);}
body.depoimentos .hero::before{background:linear-gradient(to right,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 100%);}
body.antes-depois .hero::before{background:linear-gradient(135deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 100%);}

/* =========================
   BOTÕES
========================= */
.btn-primary,.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 40px;
    border-radius:0;
    font-weight:600;
    transition:var(--transition);
    cursor:pointer;
    border:none;
    text-transform:uppercase;
    letter-spacing:2.5px;
    font-size:10px;
    font-family:'Montserrat',sans-serif;
}

.btn-primary{
    background:var(--rose-gold);
    color:#ffffff;
}

.btn-primary:hover{
    background:#000000;
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.btn-secondary{
    border:1px solid rgba(255,255,255,.55);
    color:rgba(255,255,255,.9);
    background:transparent;
}

.btn-secondary:hover{
    border-color:#ffffff;
    color:#ffffff;
    transform:translateY(-2px);
}

/* Botão primário em seções claras */
.sobre .btn-primary,
.tratamentos .btn-primary,
.principia .btn-primary,
.planos-home .btn-primary,
.resultados .btn-primary,
.clube .btn-primary{
    background:var(--rose-gold);
    color:#fff;
}

/* Botão na seção CTA escura */
.cta .btn-primary{
    background:#ffffff;
    color:#000000;
}

.cta .btn-primary:hover{
    background:#e8e8e8;
    color:#000000;
    box-shadow:0 10px 28px rgba(255,255,255,.15);
}

/* =========================
   SECTIONS GERAIS
========================= */
section{padding:120px 0;}

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.section-title span{
    display:inline-block;
    color:var(--rose-gold);
    letter-spacing:4px;
    font-size:10px;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:14px;
}

.section-title h2{
    font-family:'Cormorant Garamond',serif;
    font-size:48px;
    color:var(--dark);
    font-weight:400;
    margin-top:8px;
    line-height:1.15;
    letter-spacing:.5px;
}

/* =========================
   CARDS
========================= */
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:24px;
}

.card{
    background:var(--white);
    padding:0;
    border:1px solid var(--border);
    border-radius:0;
    transition:var(--transition);
    animation:fadeInUp .6s ease backwards;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.card-img{
    width:100%;
    height:220px;
    overflow:hidden;
    flex-shrink:0;
}

.card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s cubic-bezier(0.4,0,0.2,1);
}

.card:hover .card-img img{
    transform:scale(1.05);
}

.card-body{
    padding:36px 34px 40px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.card::before{
    content:'';
    position:absolute;
    top:0;left:0;
    width:0;height:2px;
    background:var(--dark);
    transition:width var(--transition);
}

.card:hover::before{width:100%;}

.card:nth-child(1){animation-delay:.1s;}
.card:nth-child(2){animation-delay:.2s;}
.card:nth-child(3){animation-delay:.3s;}

.card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-hover);
    border-color:var(--rose-gold-light);
}

.card h3{
    font-family:'Cormorant Garamond',serif;
    font-size:28px;
    margin-bottom:12px;
    color:var(--dark);
    font-weight:500;
}

.card p{
    color:var(--text-muted);
    line-height:1.85;
    margin-bottom:24px;
    font-size:14px;
}

.card a{
    color:var(--rose-gold);
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:var(--transition);
    font-weight:600;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:2px;
}

.card a:hover{
    color:var(--rose-gold-dark);
    gap:14px;
}

/* Overrides para inline styles de páginas antigas */
.card ul{
    color:var(--text-muted) !important;
    margin:20px 0;
    line-height:2;
}

.card ul li{
    font-size:14px;
    padding:2px 0;
}

/* Tag de categoria no card */
.card-tag{
    display:inline-block;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2.5px;
    color:var(--text-muted);
    margin-bottom:16px;
}

/* Card em destaque — fundo escuro invertido */
.card--destaque{
    background:var(--dark);
    border-color:var(--dark);
    transform:translateY(-8px);
    box-shadow:var(--shadow-hover);
}

.card--destaque::before{
    background:#b99470;
    width:100%;
}

.card--destaque h3{
    color:#ffffff;
}

.card--destaque p{
    color:rgba(255,255,255,.6);
}

.card--destaque .card-tag{
    color:rgba(255,255,255,.4);
}

.card--destaque a{
    color:#b99470;
}

.card--destaque a:hover{
    color:#ffffff;
}

.card-tag--destaque{
    color:#b99470 !important;
}

/* Dark mode: card destaque usa fundo claro para contrastar */
[data-theme="dark"] .card--destaque{
    background:#e8e2dc;
    border-color:#e8e2dc;
}
[data-theme="dark"] .card--destaque h3{color:#121212;}
[data-theme="dark"] .card--destaque p{color:rgba(0,0,0,.55);}
[data-theme="dark"] .card--destaque .card-tag{color:rgba(0,0,0,.4);}
[data-theme="dark"] .card--destaque a{color:#7a5c3a;}
[data-theme="dark"] .card--destaque a:hover{color:#121212;}

/* =========================
   SECTION BACKGROUNDS
========================= */
.tratamentos{background:var(--white);}
.planos-home{background:var(--off-white);}

/* Grid de planos */
.planos-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.plano-card{
    background:var(--white);
    border:1px solid var(--border);
    transition:var(--transition);
    overflow:hidden;
}

.plano-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-4px);
}

.plano-card--destaque{
    border-color:#b99470;
    box-shadow:0 4px 24px rgba(185,148,112,.18);
}

.plano-card--destaque:hover{
    box-shadow:0 8px 36px rgba(185,148,112,.28);
}

.plano-topo{
    padding:32px 28px 28px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    cursor:pointer;
    user-select:none;
}

.plano-tag{
    display:inline-block;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2.5px;
    color:var(--text-muted);
    margin-bottom:10px;
}

.plano-tag--destaque{ color:#b99470; }

.plano-nome{
    font-family:'Cormorant Garamond',serif;
    font-size:28px;
    font-weight:500;
    color:var(--dark);
    margin-bottom:8px;
}

.plano-desc{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.7;
    margin-bottom:14px;
}

.plano-count{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--text-muted);
}

.plano-count::before{
    content:'';
    width:16px;
    height:1px;
    background:#b99470;
    display:inline-block;
}

.plano-toggle{
    width:36px;
    height:36px;
    border:1px solid var(--border);
    background:transparent;
    color:var(--dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    flex-shrink:0;
    cursor:pointer;
    transition:transform .3s ease, background .2s, border-color .2s;
    margin-top:4px;
}

.plano-toggle i{
    transition:transform .35s cubic-bezier(0.4,0,0.2,1);
}

.plano-card--destaque .plano-toggle{
    border-color:#b99470;
    color:#b99470;
}

/* Corpo expansível */
.plano-body{
    max-height:0;
    overflow:hidden;
    transition:max-height .45s cubic-bezier(0.4,0,0.2,1),
               padding .45s cubic-bezier(0.4,0,0.2,1);
    padding:0 28px;
}

.plano-card.aberto .plano-body{
    max-height:400px;
    padding:0 28px 32px;
}

.plano-incluso-label{
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    color:var(--text-muted);
    margin-bottom:14px;
    padding-top:4px;
    border-top:1px solid var(--border);
    padding-top:18px;
}

.plano-lista{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.plano-lista li{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13.5px;
    color:var(--dark);
}

.plano-lista li i{
    font-size:11px;
    color:#b99470;
    flex-shrink:0;
    width:14px;
}

.plano-brinde{
    color:var(--text-muted) !important;
    font-style:italic;
}

.plano-brinde i{ color:#b99470 !important; }

/* Botão rodapé da seção */
.planos-rodape{
    margin-top:40px;
    text-align:center;
}

/* Dark mode */
[data-theme="dark"] .plano-card{
    background:var(--dark-surface,#1e1e1e);
    border-color:var(--border);
}

[data-theme="dark"] .plano-card--destaque{
    border-color:#b99470;
}

[data-theme="dark"] .plano-toggle{
    color:var(--dark);
}

/* Responsivo */
@media(max-width:900px){
    .planos-grid{ grid-template-columns:1fr; gap:16px; }
    .plano-card--destaque{ transform:none; }
    .plano-card--destaque:hover{ transform:translateY(-4px); }
}
.resultados{background:var(--white);}
.clube{background:var(--off-white);}

.clube-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}

/* Card base */
.clube-card{
    background:var(--white);
    border:1px solid var(--border);
    padding:40px 38px 44px;
    display:flex;
    flex-direction:column;
    gap:28px;
    transition:var(--transition);
}

.clube-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-4px);
}

.clube-card--fidelidade{
    border-top:3px solid #b99470;
}

/* Topo */
.clube-card-topo{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.clube-icone-wrap{
    width:46px;
    height:46px;
    background:var(--dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    flex-shrink:0;
}

.clube-icone-wrap--fid{
    background:#b99470;
}

[data-theme="dark"] .clube-icone-wrap{
    background:#e8e2dc;
    color:#121212;
}

.clube-tag{
    display:block;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2.5px;
    color:var(--text-muted);
    margin-bottom:7px;
}

.clube-card h3{
    font-family:'Cormorant Garamond',serif;
    font-size:28px;
    font-weight:500;
    color:var(--dark);
    line-height:1.2;
}

/* Destaque 10% */
.clube-destaque-num{
    display:flex;
    align-items:center;
    gap:16px;
    background:var(--off-white);
    border:1px solid var(--border);
    padding:20px 24px;
}

[data-theme="dark"] .clube-destaque-num{
    background:rgba(255,255,255,.04);
}

.clube-num{
    font-family:'Cormorant Garamond',serif;
    font-size:52px;
    font-weight:600;
    color:var(--dark);
    line-height:1;
    flex-shrink:0;
}

.clube-num sup{
    font-size:26px;
    vertical-align:super;
    color:#b99470;
}

.clube-num-desc{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.clube-num-desc span{
    font-size:11.5px;
    color:var(--text-muted);
    line-height:1.5;
}

.clube-divider-v{
    width:1px;
    height:40px;
    background:var(--border);
    flex-shrink:0;
}

/* Steps fidelidade */
.clube-steps{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.clube-step{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.clube-step-num{
    font-family:'Cormorant Garamond',serif;
    font-size:32px;
    font-weight:600;
    color:#b99470;
    line-height:1;
}

.clube-step p{
    font-size:12.5px;
    color:var(--text-muted);
    line-height:1.65;
}

.clube-step-seta{
    font-size:11px;
    color:var(--border);
    margin-top:12px;
    flex-shrink:0;
}

/* Lista de benefícios */
.clube-lista{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:11px;
    border-top:1px solid var(--border);
    padding-top:22px;
}

.clube-lista li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:13.5px;
    color:var(--dark);
    line-height:1.55;
}

.clube-lista li i{
    font-size:10px;
    color:#b99470;
    flex-shrink:0;
    margin-top:4px;
}

/* Botões */
.clube-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:13px 26px;
    background:var(--dark);
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:var(--transition);
    border:1px solid var(--dark);
    align-self:flex-start;
}

.clube-btn:hover{
    background:#b99470;
    border-color:#b99470;
}

.clube-btn--outline{
    background:transparent;
    color:var(--dark);
}

.clube-btn--outline:hover{
    background:var(--dark);
    color:#fff;
}

[data-theme="dark"] .clube-btn{
    background:#e8e2dc;
    color:#121212;
    border-color:#e8e2dc;
}

[data-theme="dark"] .clube-btn--outline{
    background:transparent;
    color:#e8e2dc;
    border-color:#e8e2dc;
}

[data-theme="dark"] .clube-btn:hover,
[data-theme="dark"] .clube-btn--outline:hover{
    background:#b99470;
    border-color:#b99470;
    color:#fff;
}

/* Responsivo */
@media(max-width:900px){
    .clube-grid{ grid-template-columns:1fr; }
    .clube-steps{ flex-direction:column; }
    .clube-step-seta{ transform:rotate(90deg); align-self:center; margin:0; }
    .clube-destaque-num{ flex-wrap:wrap; }
}

/* =========================
   SOBRE SECTION
========================= */
.sobre{background:var(--off-white);}

.sobre .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:72px;
    align-items:start;
}

/* ── Carrossel do Sobre ── */
.sobre-carousel-wrap{
    display:flex;
    flex-direction:column;
    gap:12px;
    animation:slideInLeft .9s ease;
}

.sobre-carousel{
    position:relative;
    overflow:hidden;
    border-radius:2px;
}

.sobre-carousel-track{
    display:flex;
    transition:transform .45s cubic-bezier(.4,0,.2,1);
    will-change:transform;
}

.sobre-carousel-slide{
    min-width:100%;
    flex-shrink:0;
}

.sobre-carousel-slide img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
}

.sobre-carousel-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(6px);
    border:none;
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0d0d0d;
    font-size:12px;
    cursor:pointer;
    z-index:10;
    opacity:0;
    transition:opacity .2s, background .15s;
}
.sobre-carousel:hover .sobre-carousel-btn{ opacity:1; }
.sobre-carousel-btn:hover{ background:#fff; }
.sobre-carousel-btn--prev{ left:14px; }
.sobre-carousel-btn--next{ right:14px; }

.sobre-carousel-dots{
    position:absolute;
    bottom:14px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:6px;
    z-index:10;
}

.sobre-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(255,255,255,.5);
    border:none;
    cursor:pointer;
    padding:0;
    transition:background .2s, width .25s;
}
.sobre-dot.active{
    background:#fff;
    width:22px;
    border-radius:3px;
}

/* Badges lado a lado abaixo do carrossel */
.sobre-badges-row{
    display:flex;
    gap:12px;
}

.sobre-badges-row .sobre-badge{
    flex:1;
    position:static;
    min-width:0;
}

/* Badges flutuantes (mantido para compatibilidade) */
.sobre-badge{
    position:absolute;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(185,148,112,.28);
    padding:18px 22px;
    z-index:2;
    min-width:148px;
    box-shadow:0 8px 32px rgba(0,0,0,.10);
}

[data-theme="dark"] .sobre-badge{
    background:rgba(18,18,18,.85);
    border-color:rgba(185,148,112,.28);
}


.sobre-badge-num{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:44px;
    font-weight:600;
    color:var(--dark);
    line-height:1;
    margin-bottom:5px;
}

.sobre-badge-num sup{
    font-size:22px;
    vertical-align:super;
    color:#b99470;
}

.sobre-badge-label{
    display:block;
    font-size:9.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    color:var(--text-muted);
}

.sobre-badge-icon{
    display:block;
    font-size:17px;
    color:#b99470;
    margin-bottom:9px;
}

.sobre-badge-tagline{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:16px;
    font-weight:500;
    color:var(--dark);
    line-height:1.5;
}

.sobre-text span{
    display:inline-block;
    color:var(--rose-gold);
    letter-spacing:4px;
    font-size:10px;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:14px;
}

.sobre-text h2{
    font-family:'Cormorant Garamond',serif;
    font-size:46px;
    margin:10px 0 24px;
    color:var(--dark);
    font-weight:400;
    line-height:1.12;
    letter-spacing:.5px;
}

.sobre-text p{
    color:var(--text-muted);
    line-height:2;
    margin-bottom:25px;
    font-size:14.5px;
}

/* Tabs do sobre */
.sobre-tabs{
    margin-top:4px;
    margin-bottom:0;
}
.sobre-tab-p{
    font-size:14px;
    color:var(--text-muted);
    line-height:1.8;
    margin-bottom:14px;
}
.sobre-feats{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:8px;
}
.sobre-feat{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    background:rgba(185,148,112,.06);
    border-radius:8px;
    border-left:3px solid rgba(185,148,112,.35);
}
.sobre-feat i{
    color:#b99470;
    font-size:13px;
    width:16px;
    text-align:center;
    flex-shrink:0;
}
.sobre-feat span{
    font-size:13px;
    color:var(--text);
    font-family:'Montserrat',sans-serif;
    text-transform:none;
    letter-spacing:0;
    line-height:1.4;
}
.sobre-cta{
    display:inline-flex;
    margin-top:28px;
}

/* =========================
   PRINCIPIA SECTION
========================= */
.principia{background:var(--cream);}

.principia-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.principia-content span{
    display:inline-block;
    color:var(--rose-gold);
    letter-spacing:4px;
    font-size:10px;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:14px;
}

.principia-content h2{
    font-family:'Cormorant Garamond',serif;
    font-size:46px;
    color:var(--dark);
    font-weight:400;
    margin:10px 0 20px;
    line-height:1.12;
    letter-spacing:.5px;
}

.principia-content p{
    color:var(--dark);
    line-height:2;
    margin-bottom:32px;
    font-size:14.5px;
}

.principia-content > div:last-child img,
.principia-img-wrap img{
    border-radius:0;
    width:100%;
    box-shadow:-16px 16px 0 var(--rose-gold-light);
    display:block;
}

/* Pilares */
.principia-pilares{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin:28px 0 24px;
}

.principia-pilar{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:18px 20px;
    background:var(--white);
    border:1px solid var(--border);
    transition:var(--transition);
}

.principia-pilar:hover{
    border-color:#b99470;
    box-shadow:0 4px 16px rgba(185,148,112,.12);
    transform:translateX(4px);
}

.principia-pilar-icone{
    width:38px;
    height:38px;
    background:var(--dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    flex-shrink:0;
}

[data-theme="dark"] .principia-texto > span:first-child{
    color:#b99470;
}

[data-theme="dark"] .principia-pronta-entrega{
    background:rgba(185,148,112,.12);
    border-color:rgba(185,148,112,.3);
    color:#e8e2dc;
}

[data-theme="dark"] .principia-pilar-icone{
    background:#e8e2dc;
    color:#121212;
}

.principia-pilar strong{
    display:block;
    font-size:12px;
    font-weight:700;
    color:var(--dark);
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:4px;
}

.principia-pilar p{
    font-size:12.5px;
    color:var(--dark);
    opacity:.65;
    line-height:1.6;
    margin:0;
}

/* Badge pronta entrega */
.principia-pronta-entrega{
    display:flex;
    align-items:center;
    gap:10px;
    background:rgba(185,148,112,.10);
    border:1px solid rgba(185,148,112,.3);
    padding:12px 16px;
    margin-bottom:28px;
    font-size:12.5px;
    color:var(--dark);
    line-height:1.5;
}

.principia-pronta-entrega i{
    color:#b99470;
    font-size:16px;
    flex-shrink:0;
}

/* Badge na imagem */
.principia-img-wrap{
    position:relative;
}

.principia-badge{
    position:absolute;
    bottom:32px;
    left:-16px;
    background:var(--dark);
    color:#fff;
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    line-height:1.4;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
}

.principia-badge i{
    color:#b99470;
    font-size:18px;
}

[data-theme="dark"] .principia-badge{
    background:#e8e2dc;
    color:#121212;
}

/* =========================
   GALERIA
========================= */
.galeria{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:16px;
}

.galeria img{
    height:300px;
    width:100%;
    object-fit:cover;
    border-radius:3px;
    cursor:pointer;
    transition:var(--transition);
    animation:fadeInUp .6s ease backwards;
}

.galeria img:nth-child(1){animation-delay:.1s;}
.galeria img:nth-child(2){animation-delay:.2s;}
.galeria img:nth-child(3){animation-delay:.3s;}
.galeria img:nth-child(4){animation-delay:.4s;}

.galeria img:hover{
    transform:scale(1.03) translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.14);
}

/* =========================
   PLANOS CTA — versão rica (planos.html)
========================= */
.planos-cta{
    display:grid;
    grid-template-columns:2fr 1fr;
    min-height:480px;
    background:#0d0d0d;
    padding:0 max(5%, calc((100vw - 1300px) / 2));
}

.planos-cta-texto{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:60px 50px 60px 40px;
    position:relative;
    overflow:hidden;
}

.planos-cta-texto::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:linear-gradient(to right, #b99470, transparent);
}

.planos-cta-tag{
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:4px;
    color:#b99470;
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:12px;
}
.planos-cta-tag::before{
    content:'';
    display:inline-block;
    width:28px;
    height:1px;
    background:#b99470;
    flex-shrink:0;
}

.planos-cta-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,3vw,48px);
    font-weight:400;
    color:#fff;
    line-height:1.1;
    margin-bottom:14px;
}
.planos-cta-texto h2 em{
    font-style:italic;
    color:#b99470;
}

.planos-cta-texto p{
    font-size:13.5px;
    color:rgba(255,255,255,.42);
    line-height:1.8;
    max-width:400px;
    margin-bottom:24px;
}

/* Trust badges */
.planos-cta-trust{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:28px;
}
.planos-cta-trust-item{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    color:rgba(255,255,255,.5);
}
.planos-cta-trust-item i{
    color:#b99470;
    font-size:13px;
    width:16px;
    flex-shrink:0;
}

/* Buttons */
.planos-cta-btns{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.planos-cta-btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 32px;
    background:#b99470;
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:background .2s, transform .2s;
}
.planos-cta-btn-primary:hover{
    background:#a07850;
    transform:translateY(-2px);
}

.planos-cta-btn-ghost{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 28px;
    border:1px solid rgba(255,255,255,.2);
    color:rgba(255,255,255,.6);
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:border-color .2s, color .2s;
}
.planos-cta-btn-ghost:hover{
    border-color:#b99470;
    color:#b99470;
}

/* Coluna direita — imagem */
.planos-cta-img{
    position:relative;
    overflow:hidden;
}
.planos-cta-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:brightness(.55) saturate(.8);
    transition:transform .8s cubic-bezier(0.4,0,0.2,1);
}
.planos-cta-img:hover img{ transform:scale(1.04); }

.planos-cta-img-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(13,13,13,.6) 0%, transparent 50%);
    pointer-events:none;
}

/* Badge flutuante de preço */
.planos-cta-badge{
    position:absolute;
    bottom:116px;
    right:36px;
    background:rgba(13,13,13,.85);
    backdrop-filter:blur(14px);
    border:1px solid rgba(185,148,112,.35);
    padding:20px 26px;
    text-align:center;
}
.planos-cta-badge-from{
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    color:rgba(255,255,255,.4);
    margin-bottom:4px;
}
.planos-cta-badge-price{
    font-family:'Cormorant Garamond',serif;
    font-size:38px;
    font-weight:600;
    color:#b99470;
    line-height:1;
    margin-bottom:2px;
}
.planos-cta-badge-period{
    font-size:10px;
    color:rgba(255,255,255,.35);
    letter-spacing:1px;
}

/* Badge flutuante de contagem */
.planos-cta-badge2{
    position:absolute;
    bottom:36px;
    right:36px;
    background:rgba(185,148,112,.12);
    backdrop-filter:blur(12px);
    border:1px solid rgba(185,148,112,.3);
    padding:14px 22px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
}
.planos-cta-badge2 i{
    color:#b99470;
    font-size:18px;
}
.planos-cta-badge2-text{
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    line-height:1.5;
    color:rgba(255,255,255,.7);
}

@media(max-width:900px){
    .planos-cta{
        grid-template-columns:1fr;
        height:auto;
    }
    .planos-cta-img{
        height:280px;
        order:1;
    }
    .planos-cta-texto{
        padding:50px 24px;
        order:2;
    }
    .planos-cta-badge,.planos-cta-badge2{ display:none; }
}

/* =========================
   CTA SECTION
========================= */
.cta{
    background:#0d0d0d;
    padding:0;
}

.cta-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:560px;
}

/* Esquerda — texto */
.cta-texto{
    padding:90px 70px 90px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.cta-tag{
    display:inline-block;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:3px;
    color:rgba(185,148,112,.8);
    margin-bottom:20px;
}

.cta h2{
    font-family:'Cormorant Garamond',serif;
    font-size:48px;
    color:#ffffff;
    font-weight:400;
    line-height:1.15;
    letter-spacing:.5px;
    margin-bottom:20px;
}

.cta-sub{
    color:rgba(255,255,255,.45);
    margin-bottom:36px;
    font-size:13.5px;
    line-height:1.9;
}

.cta-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    padding:15px 36px;
    align-self:flex-start;
}

.cta-btns{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

.cta-btns .cta-btn{
    align-self:auto;
}

.cta-btn-outline{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 34px;
    border:1px solid rgba(255,255,255,.3);
    color:rgba(255,255,255,.75);
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    text-decoration:none;
    transition:var(--transition);
}

.cta-btn-outline:hover{
    border-color:#b99470;
    color:#b99470;
}

@media(max-width:520px){
    .cta-btns{ flex-direction:column; }
    .cta-btns .cta-btn,
    .cta-btn-outline{ width:100%; justify-content:center; }
}

.cta-badges{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:36px;
}

.cta-badge{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    color:rgba(255,255,255,.35);
    text-transform:uppercase;
    letter-spacing:1.5px;
}

.cta-badge i{ color:rgba(185,148,112,.6); font-size:12px; width:14px; }

/* Direita — mapa */
.cta-mapa{
    overflow:hidden;
    opacity:.85;
    transition:opacity .3s;
    min-height:480px;
}

.cta-mapa:hover{ opacity:1; }

.cta-mapa iframe{
    display:block;
    filter:grayscale(1) invert(1) brightness(.8);
}

.cta p{
    color:rgba(255,255,255,.5);
    margin-bottom:40px;
    font-size:14.5px;
    letter-spacing:.5px;
}

@media(max-width:900px){
    .cta-grid{ grid-template-columns:1fr; }
    .cta-texto{ padding:70px 0 50px; }
    .cta-btn{ align-self:center; }
    .cta-badges{ align-items:center; }
    .cta-mapa{ min-height:280px; }
}

/* =========================
   FOOTER
========================= */
footer{
    padding:72px 0 0;
    background:#000000;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
    padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.footer-inner img{
    height:40px;
    opacity:.6;
    display:block;
    transition:opacity .2s;
}

.footer-inner img:hover{ opacity:1; }

.footer-contato{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
}

.footer-contato span,
.footer-contato a{
    font-size:11.5px;
    color:rgba(255,255,255,.4);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:7px;
    transition:color .2s;
}

.footer-contato a:hover{ color:#b99470; }

.footer-contato i{
    font-size:11px;
    color:rgba(185,148,112,.55);
}

.footer-sep{
    width:1px;
    height:12px;
    background:rgba(255,255,255,.12);
    flex-shrink:0;
}

@media(max-width:600px){
    .footer-sep{ display:none; }
    .footer-contato{ flex-direction:column; gap:12px; }
}


/* Rodapé inferior */
.footer-bottom{
    padding:20px 0;
    text-align:center;
}

.footer-bottom p{
    color:rgba(255,255,255,.2);
    font-size:11px;
    letter-spacing:.8px;
}

/* Responsivo */
@media(max-width:768px){
    .footer-grid{
        grid-template-columns:1fr;
        gap:36px;
        padding-bottom:40px;
    }
    .footer-brand p{ max-width:100%; }
}

/* =========================
   MODAL FRIZZAR
========================= */
.frizzar-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:1200;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s;
}
.frizzar-overlay.active{
    opacity:1;
    pointer-events:all;
}
.frizzar-modal{
    background:var(--white);
    border-radius:12px;
    width:100%;
    max-width:520px;
    max-height:90vh;
    overflow-y:auto;
    padding:40px 36px;
    position:relative;
    transform:translateY(16px);
    transition:transform .25s;
}
.frizzar-overlay.active .frizzar-modal{
    transform:translateY(0);
}
.frizzar-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    background:none;
    border:none;
    color:var(--text-muted);
    font-size:15px;
    cursor:pointer;
    padding:8px;
    border-radius:6px;
    transition:background .15s, color .15s;
    line-height:1;
}
.frizzar-modal-close:hover{
    background:var(--off-white);
    color:var(--text);
}
.frizzar-modal-icon-wrap{
    width:50px;
    height:50px;
    border-radius:12px;
    background:rgba(185,148,112,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b99470;
    font-size:22px;
    margin-bottom:14px;
}
.frizzar-modal-top h2{
    font-family:'Cormorant Garamond',serif;
    font-size:26px;
    font-weight:600;
    color:var(--text);
    margin-bottom:10px;
}
.frizzar-modal-top p{
    font-size:13.5px;
    color:var(--text-muted);
    line-height:1.75;
    margin-bottom:24px;
}
.frizzar-modal-top p strong{ color:var(--text); }
.frizzar-modal-features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:28px;
}
.frizzar-feat{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--off-white);
}
.frizzar-feat i{
    color:#b99470;
    font-size:13px;
    width:15px;
    text-align:center;
    flex-shrink:0;
}
.frizzar-feat span{
    font-size:12px;
    font-weight:500;
    color:var(--text);
    font-family:'Montserrat',sans-serif;
}
.frizzar-modal-divider{
    height:1px;
    background:var(--border);
    margin-bottom:24px;
}
.frizzar-tutorial-label{
    display:block;
    font-size:9.5px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
}
.frizzar-steps{
    display:flex;
    flex-direction:column;
    gap:13px;
    margin-bottom:32px;
}
.frizzar-step{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.frizzar-step-num{
    width:24px;
    height:24px;
    border-radius:50%;
    background:#0d0d0d;
    color:#fff;
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-family:'Montserrat',sans-serif;
    margin-top:2px;
}
.frizzar-step span{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.65;
}
.frizzar-step span strong{ color:var(--text); }
.frizzar-modal-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    padding:16px;
    background:#0d0d0d;
    color:#fff;
    border-radius:50px;
    text-decoration:none;
    font-size:10.5px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    font-family:'Montserrat',sans-serif;
    transition:background .2s;
}
.frizzar-modal-btn:hover{ background:#2a2a2a; }

/* =========================
   WHATSAPP FLUTUANTE
========================= */
.whatsapp-float{
    position:fixed;
    bottom:28px;right:28px;
    width:48px;height:48px;
    border-radius:0;
    background:#121212;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:20px;
    z-index:998;
    transition:var(--transition);
    box-shadow:0 4px 16px rgba(0,0,0,.28);
}

.whatsapp-float:hover{
    background:#000;
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0,0,0,.4);
}

[data-theme="dark"] .whatsapp-float{
    background:#e8e2dc;
    color:#121212;
}

[data-theme="dark"] .whatsapp-float:hover{
    background:#fff;
    color:#121212;
}

/* =========================
   RESPONSIVO — 991px
========================= */
@media(max-width:991px){
    /* No header: esconde nav, Instagram, WhatsApp e tema */
    /* !important necessário — .header-actions a tem especificidade maior */
    .menu{display:none;}
    .header-actions .btn-whatsapp,
    .header-actions .btn-instagram,
    .header-actions .btn-theme-toggle{display:none !important;}
    /* Mantém só logo + cliente + hamburguer */
    .header-actions .btn-cliente{
        display:inline-flex !important;
        color:rgba(255,255,255,.88);
    }
    .header.scrolled .header-actions .btn-cliente{
        color:var(--dark);
    }
    .menu-mobile-btn{display:flex;}

    /* Planos CTA — empilha abaixo de 991px */
    .planos-cta{
        grid-template-columns:1fr;
        min-height:auto;
        padding:0;
    }
    .planos-cta-texto{
        padding:56px 32px 52px;
    }
    .planos-cta-img{ min-height:280px; }

    /* Planos hero — padding */
    .planos-hero-texto{ padding:100px 28px 56px; }
    .planos-hero-texto h1{ font-size:42px; }

    /* Header transparente quando menu está aberto */
    body.menu-open .header{
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }
    body.menu-open .header .logo img{
        filter:brightness(0) invert(1) !important;
    }
    body.menu-open .menu-mobile-btn{
        color:rgba(255,255,255,.9) !important;
    }

    /* Mobile menu — fullscreen overlay premium */
    @keyframes menuOverlayIn{
        from{ opacity:0; }
        to{ opacity:1; }
    }
    @keyframes menuItemIn{
        from{ opacity:0; transform:translateY(18px); }
        to{ opacity:1; transform:translateY(0); }
    }

    .menu.active{
        display:flex;
        position:fixed;
        top:0;left:0;
        width:100%;height:100%;
        background:rgba(10,8,8,.93);
        backdrop-filter:blur(36px) saturate(1.5);
        -webkit-backdrop-filter:blur(36px) saturate(1.5);
        z-index:990;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        animation:menuOverlayIn .3s cubic-bezier(.16,1,.3,1);
        padding:100px 24px 60px;
        overflow-y:auto;
    }

    .menu.active > ul{
        flex-direction:column;
        align-items:center;
        gap:0;
        width:100%;
    }

    .menu.active > ul > li{
        text-align:center;
        opacity:0;
        animation:menuItemIn .5s cubic-bezier(.16,1,.3,1) forwards;
    }
    .menu.active > ul > li:nth-child(1){ animation-delay:.07s; }
    .menu.active > ul > li:nth-child(2){ animation-delay:.12s; }
    .menu.active > ul > li:nth-child(3){ animation-delay:.17s; }
    .menu.active > ul > li:nth-child(4){ animation-delay:.22s; }
    .menu.active > ul > li:nth-child(5){ animation-delay:.27s; }

    .menu.active > ul > li > a{
        font-family:'Cormorant Garamond',serif !important;
        font-size:clamp(32px,9vw,50px) !important;
        font-weight:400 !important;
        color:rgba(255,255,255,.88) !important;
        letter-spacing:.5px !important;
        padding:8px 32px !important;
        display:block;
        text-align:center;
        transition:color .2s;
        line-height:1.15;
        text-transform:none !important;
    }
    .menu.active > ul > li > a:hover{ color:#b99470 !important; }

    .menu.active .submenu{
        position:static;
        transform:none;
        opacity:1;
        visibility:visible;
        box-shadow:none;
        border:none;
        padding:0;
        background:transparent;
        min-width:unset;
        display:flex !important;
        flex-direction:row !important;
        justify-content:center;
        gap:0;
        margin-bottom:4px;
    }
    .menu.active .submenu li a{
        font-family:'Montserrat',sans-serif !important;
        font-size:9px !important;
        color:rgba(255,255,255,.25) !important;
        letter-spacing:3px !important;
        padding:5px 12px !important;
        text-transform:uppercase !important;
    }
    .menu.active .submenu li a:hover{ color:#b99470 !important; }

    /* Extras */
    .menu-mobile-extras{ display:none; }

    .menu.active .menu-mobile-extras{
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:center;
        gap:0;
        margin-top:52px;
        padding-top:28px;
        border-top:1px solid rgba(255,255,255,.07);
        width:100%;
        flex-wrap:wrap;
    }

    .menu-mobile-extra-link{
        display:inline-flex;
        align-items:center;
        gap:8px;
        color:rgba(255,255,255,.28) !important;
        font-size:10px;
        text-transform:uppercase;
        letter-spacing:2.5px;
        font-weight:500;
        padding:12px 18px;
        transition:color .2s;
        background:none;
        border:none;
        cursor:pointer;
        font-family:'Montserrat',sans-serif;
        text-decoration:none;
    }
    .menu-mobile-extra-link:hover{ color:rgba(255,255,255,.7) !important; }

    .menu-mobile-btn.active{ color:rgba(255,255,255,.9); }

    .hero-content h1{font-size:50px;}

    .sobre .container,.principia-content{
        grid-template-columns:1fr;
        gap:40px;
    }

    .sobre-imgs{ padding-bottom:0; }
    .sobre-badge{ display:none; }
    .principia-content > div:last-child img,
    .principia-img-wrap img{box-shadow:none;}
    .principia-badge{ display:none; }
    .principia-pilar:hover{ transform:none; }

    .galeria{grid-template-columns:repeat(2,1fr);}

    .section-title h2{font-size:36px;}
    .cta h2{font-size:38px;}
}

/* =========================
   RESPONSIVO — 768px
========================= */
@media(max-width:768px){
    section{padding:64px 0;}

    .logo img{height:34px;}

    /* Hero principal */
    .hero{
        min-height:85vh;
        padding-top:60px;
        background-attachment:scroll;
    }
    .hero-content h1{font-size:36px;}
    .hero-content p{font-size:14px;}
    .hero-buttons{flex-direction:column;align-items:stretch;}
    .hero-buttons .btn-primary,
    .hero-buttons .btn-secondary{width:100%;justify-content:center;}

    /* Page Hero Dark (subpáginas) */
    .page-hero-dark{
        padding:90px 20px 56px;
        min-height:auto;
    }
    .page-hero-dark-label{ margin-bottom:24px; }
    .page-hero-dark p{ margin-bottom:32px; font-size:13.5px; }
    .page-hero-dark-btns{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .btn-pill{ justify-content:center; width:100%; }

    /* Galeria */
    .galeria{grid-template-columns:1fr;}

    /* Títulos */
    .section-title h2,
    .sobre-text h2,
    .principia-content h2{font-size:28px;}
    .cta h2{font-size:28px;}

    /* Cards */
    .cards{gap:14px;}
    .card{padding:26px;}

    /* Sobre */
    .sobre .container{gap:28px;}

    /* CTA */
    .cta{padding:64px 0;}

    /* Localização strip */
    .trat-localizacao{ padding:22px 0; }
    .trat-localizacao-inner{ gap:18px; justify-content:center; text-align:center; }
    .trat-localizacao-lugar{ flex-direction:column; align-items:center; gap:10px; }
    .trat-localizacao-detalhe{ display:none; }
    .trat-localizacao-link{ margin-left:0; width:100%; justify-content:center; }

    /* Catálogo de tratamentos */
    .catalogo-secao{ padding:60px 0; }
    .catalogo-header{ gap:14px; margin-bottom:36px; }
    .catalogo-num{ font-size:52px; }
    .catalogo-header-info h2{ font-size:26px; }
    .catalogo-agendar{ width:100%; justify-content:center; margin-top:24px; }

    /* CTA + Mapa */
    .cta-mapa{ padding:60px 0 0; }
    .cta-mapa-texto{ padding-bottom:44px; }
    .cta-mapa-texto p{ font-size:13px; margin-bottom:28px; }
    .cta-mapa-btns{ flex-direction:column; align-items:stretch; gap:10px; }
    .cta-mapa-btns .btn-pill{ justify-content:center; width:100%; }
    .cta-mapa-frame{ height:280px; margin-top:44px; }

    /* Diferenciais */
    .diferenciais{ padding:64px 0; }

    /* Planos home grid */
    .planos-grid{ grid-template-columns:1fr; gap:14px; }

    /* Planos hero */
    .planos-hero-texto{ padding:90px 24px 48px; }
    .planos-hero-texto h1{ font-size:36px; }
    .planos-hero-img{ min-height:240px; }

    /* Planos CTA */
    .planos-cta-texto{ padding:48px 24px 44px; }
    .planos-cta-img{ min-height:220px; }
    .planos-cta-btns{ flex-direction:column; align-items:stretch; gap:10px; }
    .planos-cta-btn-primary,
    .planos-cta-btn-ghost{ justify-content:center; text-align:center; }

    /* Serviços section */
    .servicos-section{ padding:56px 0; }
    .servico-row{ flex-wrap:wrap; gap:6px; }
    .servico-preco{ min-width:auto; }

    /* Footer */
    footer{ padding:48px 0 0; }
}

/* =========================
   RESPONSIVO — 480px
========================= */
@media(max-width:480px){
    .container{width:94%;}

    .header .container{gap:8px;}
    .header{ padding:16px 0; }
    .logo img{ height:30px; }

    /* Hero principal */
    .hero{min-height:75vh;}
    .hero-content h1{font-size:28px;}
    .hero-content span{font-size:9px;}
    .hero-content p{font-size:13px;}

    /* Page Hero Dark */
    .page-hero-dark{
        padding:80px 16px 48px;
    }
    .page-hero-dark h1{ font-size:clamp(28px,8vw,40px); }
    .page-hero-dark p{ font-size:13px; }
    .page-hero-dark-label{
        font-size:9px;
        letter-spacing:3px;
        gap:10px;
        margin-bottom:20px;
    }
    .page-hero-dark-label::before,
    .page-hero-dark-label::after{ width:28px; }

    /* Imagens sobre */
    .sobre-imgs{ grid-template-columns:1fr; gap:8px; }
    .sobre-img-wrap--main img,
    .sobre-img-wrap--secondary img{ height:240px; }
    .sobre-img-wrap--secondary{ margin-top:0; }

    /* Títulos */
    .section-title span{font-size:9px;}
    .section-title h2{font-size:24px;}

    /* Cards */
    .card{padding:22px;}
    .card h3{font-size:22px;}

    /* CTA */
    .cta{padding:56px 0;}
    .cta h2{font-size:24px;}
    .btn-primary,.btn-secondary{padding:13px 24px;font-size:9.5px;}

    /* Galeria */
    .galeria img{height:220px;}

    /* Catálogo */
    .catalogo-secao{ padding:48px 0; }
    .catalogo-num{ font-size:44px; }
    .catalogo-header{ gap:10px; margin-bottom:28px; }
    .catalogo-header-info h2{ font-size:23px; }
    .catalogo-row{ flex-wrap:wrap; gap:4px; }
    .catalogo-row-dur{ order:3; width:100%; }
    .catalogo-row-preco{ min-width:auto; }
    .catalogo-row-badge{ font-size:7.5px; padding:2px 6px; }
    .jornada-step-label{ font-size:11px; }
    .jornada-step-desc{ font-size:10.5px; }
    .produto-card{ padding:18px; }
    .produto-card-nome{ font-size:17px; }

    /* Localização strip */
    .trat-localizacao-nome{ font-size:20px; }
    .trat-localizacao{ padding:18px 0; }

    /* CTA mapa */
    .cta-mapa{ padding:48px 0 0; }
    .cta-mapa-frame{ height:220px; margin-top:32px; }
    .cta-mapa-texto h2{ font-size:clamp(26px,7vw,36px); }

    /* Diferenciais */
    .diferenciais{ padding:52px 0; }

    /* Planos */
    .planos-hero-texto{ padding:80px 18px 40px; }
    .planos-hero-texto h1{ font-size:30px; }
    .planos-cta-texto{ padding:40px 18px 36px; }
    .planos-cta-img{ min-height:180px; }
    .planos-pills-hero span{ font-size:9px; padding:7px 14px; }

    /* Footer */
    footer{ padding:40px 0 0; }
    .footer-inner img{ height:32px; }
    .footer-contato span,
    .footer-contato a{ font-size:11px; }
    .footer-bottom p{ font-size:10.5px; }
}

/* =====================================================================
   SKIN & CARE PAGE
   ===================================================================== */

/* ---------- Shared section helpers ---------- */
.sc-section-header{
    text-align:center;
    max-width:680px;
    margin:0 auto 56px;
}
.sc-section-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,4vw,48px);
    font-weight:600;
    line-height:1.2;
    color:var(--text);
    margin-bottom:14px;
}
.sc-section-header p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.7;
}
.sc-section-header--light h2{ color:#ffffff; }
.sc-section-header--light p{ color:rgba(255,255,255,.65); }

.sc-section-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:10px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:6px 16px;
    border-radius:50px;
    margin-bottom:20px;
    font-family:'Montserrat',sans-serif;
}
.sc-section-badge--verde{
    background:rgba(185,148,112,.10);
    color:#b99470;
    border:1px solid rgba(185,148,112,.28);
}
.sc-section-badge--gold{
    background:rgba(185,148,112,.12);
    color:#b99470;
    border:1px solid rgba(185,148,112,.3);
}

/* ---------- Filosofia ---------- */
.sc-filosofia{
    padding:96px 0;
    background:var(--off-white);
}
.sc-filosofia-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.sc-filosofia-texto span{
    display:block;
    font-size:10px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:18px;
    font-family:'Montserrat',sans-serif;
}
.sc-filosofia-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,3.5vw,46px);
    font-weight:600;
    line-height:1.2;
    color:var(--text);
    margin-bottom:24px;
}
.sc-filosofia-texto p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.75;
    margin-bottom:14px;
}
.sc-filosofia-texto strong{ color:var(--text); font-weight:600; }
.sc-filosofia-destaques{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.sc-filosofia-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:20px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:4px;
}
.sc-filosofia-item i{
    font-size:20px;
    color:#b99470;
    flex-shrink:0;
    margin-top:2px;
}
.sc-filosofia-item strong{
    display:block;
    font-size:13px;
    font-weight:700;
    color:var(--text);
    margin-bottom:4px;
    font-family:'Montserrat',sans-serif;
}
.sc-filosofia-item span{
    font-size:12px;
    color:var(--text-muted);
    line-height:1.5;
}

/* ---------- Pronta Entrega ---------- */
.sc-pronta-entrega{
    padding:96px 0;
    background:var(--white);
}
.sc-produto-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}
.sc-produto-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:4px;
    overflow:hidden;
    transition:var(--transition);
    display:flex;
    flex-direction:column;
}
.sc-produto-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-6px);
}
.sc-produto-img{
    position:relative;
    width:100%;
    aspect-ratio:3/4;
    background:var(--off-white);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.sc-produto-img::before{
    content:'\f030';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:32px;
    color:var(--border);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:0;
    pointer-events:none;
}
.sc-produto-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
    position:relative;
    z-index:1;
}
.sc-produto-card:hover .sc-produto-img img{
    transform:scale(1.04);
}
.sc-produto-img-tag{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    background:#0d0d0d;
    color:#fff;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
}
.sc-produto-info{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.sc-produto-categoria{
    font-size:9px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:10px;
    font-family:'Montserrat',sans-serif;
}
.sc-produto-info h3{
    font-family:'Cormorant Garamond',serif;
    font-size:22px;
    font-weight:600;
    color:var(--text);
    margin-bottom:10px;
    line-height:1.25;
}
.sc-produto-info p{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.65;
    margin-bottom:14px;
    flex:1;
}
.sc-produto-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:18px;
}
.sc-produto-tags span{
    font-size:9px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text-muted);
    border:1px solid var(--border);
    padding:3px 10px;
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
}
.sc-produto-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#0d0d0d;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:12px 18px;
    border-radius:50px;
    text-decoration:none;
    transition:var(--transition);
    font-family:'Montserrat',sans-serif;
    margin-top:auto;
}
.sc-produto-btn:hover{
    background:#2a2a2a;
    transform:translateY(-2px);
}
.sc-produto-btn i{ font-size:14px; }
.sc-produto-btn--outline{
    background:transparent;
    border:1.5px solid var(--border);
    color:var(--text-muted);
}
.sc-produto-btn--outline:hover{
    background:var(--text);
    border-color:var(--text);
    color:#fff;
}

/* ---------- Por Encomenda ---------- */
.sc-encomenda{
    padding:96px 0;
    background:var(--off-white);
}
.sc-encomenda-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}
.sc-encomenda-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:4px;
    overflow:hidden;
    transition:var(--transition);
    display:flex;
    flex-direction:column;
}
.sc-encomenda-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-6px);
}
.sc-encomenda-img{
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    background:var(--cream);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.sc-encomenda-img::before{
    content:'\f030';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:28px;
    color:var(--border);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:0;
    pointer-events:none;
}
.sc-encomenda-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
    position:relative;
    z-index:1;
}
.sc-encomenda-card:hover .sc-encomenda-img img{
    transform:scale(1.04);
}
.sc-encomenda-overlay{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    z-index:2;
    background:linear-gradient(to top,rgba(13,13,13,.8) 0%,transparent 100%);
    padding:20px 14px 14px;
    display:flex;
    align-items:flex-end;
}
.sc-encomenda-overlay span{
    font-size:9px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#b99470;
    font-family:'Montserrat',sans-serif;
    background:rgba(13,13,13,.7);
    padding:4px 10px;
    border-radius:50px;
    border:1px solid rgba(185,148,112,.4);
}
.sc-encomenda-info{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.sc-encomenda-info h3{
    font-family:'Cormorant Garamond',serif;
    font-size:21px;
    font-weight:600;
    color:var(--text);
    margin-bottom:10px;
    line-height:1.25;
}
.sc-encomenda-info p{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.65;
    margin-bottom:18px;
    flex:1;
}

/* --- Encomenda — novo layout sem lista de produtos --- */
.sc-encomenda-layout{
    display:grid;
    grid-template-columns:1fr 380px;
    gap:56px;
    align-items:start;
}
.sc-encomenda-descricao p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.8;
    margin-bottom:16px;
}
.sc-encomenda-intro{
    font-size:14px;
    color:var(--text-muted);
    line-height:1.7;
    margin-bottom:28px;
}
.sc-tabs-nav{
    display:flex;
    border-bottom:1px solid var(--border);
    margin-bottom:24px;
}
.sc-tab-btn{
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    padding:10px 20px;
    font-family:'Montserrat',sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--text-muted);
    cursor:pointer;
    margin-bottom:-1px;
    transition:color .2s, border-color .2s;
}
.sc-tab-btn:hover{ color:var(--text); }
.sc-tab-btn.active{ color:var(--text); border-bottom-color:#b99470; }
.sc-tab-content{ display:none; }
.sc-tab-content.active{ display:block; }
.sc-cat-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.sc-cat-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--white);
    transition:border-color .2s, background .2s;
    cursor:default;
}
.sc-cat-item:hover{
    border-color:#b99470;
    background:rgba(185,148,112,.04);
}
.sc-cat-item i{
    color:#b99470;
    font-size:13px;
    width:14px;
    text-align:center;
    flex-shrink:0;
}
.sc-cat-item span{
    font-size:11.5px;
    font-weight:500;
    color:var(--text);
    font-family:'Montserrat',sans-serif;
}
.sc-encomenda-card-wa{
    background:#0d0d0d;
    border-radius:4px;
    padding:36px 28px;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:100px;
}
.sc-encomenda-card-wa-label{
    font-size:9px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
}
.sc-encomenda-card-wa h3{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(22px,2.5vw,30px);
    font-weight:600;
    color:#ffffff;
    line-height:1.2;
    margin-bottom:14px;
}
.sc-encomenda-card-wa p{
    font-size:13.5px;
    color:rgba(255,255,255,.5);
    line-height:1.7;
    margin-bottom:28px;
}
.sc-encomenda-btn-wa{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:#b99470;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:14px 22px;
    border-radius:50px;
    text-decoration:none;
    transition:var(--transition);
    font-family:'Montserrat',sans-serif;
    margin-bottom:14px;
}
.sc-encomenda-btn-wa:hover{
    background:#a07850;
    transform:translateY(-2px);
}
.sc-encomenda-btn-wa i{ font-size:16px; }
.sc-encomenda-card-wa-rodape{
    text-align:center;
    font-size:11px;
    color:rgba(255,255,255,.3);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-family:'Montserrat',sans-serif;
}

/* ---------- Como Funciona ---------- */
.sc-como-funciona{
    padding:96px 0;
    background:#0d0d0d;
}
.sc-como-funciona .sc-section-header{ margin-bottom:64px; }
.sc-como-funciona .sc-section-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,4vw,48px);
    font-weight:600;
    line-height:1.2;
    color:#ffffff;
    margin-bottom:14px;
}

.sc-steps{
    display:flex;
    align-items:flex-start;
    gap:0;
}
.sc-step{
    flex:1;
    text-align:center;
    padding:0 24px;
    position:relative;
}
.sc-step-num{
    font-family:'Cormorant Garamond',serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    color:#b99470;
    margin-bottom:16px;
    font-style:italic;
}
.sc-step-icon{
    width:64px;
    height:64px;
    background:rgba(185,148,112,.12);
    border:1px solid rgba(185,148,112,.3);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
}
.sc-step-icon i{
    font-size:22px;
    color:#b99470;
}
.sc-step h4{
    font-family:'Cormorant Garamond',serif;
    font-size:21px;
    font-weight:600;
    color:#ffffff;
    margin-bottom:10px;
}
.sc-step p{
    font-size:13px;
    color:rgba(255,255,255,.55);
    line-height:1.65;
}
.sc-step-line{
    width:48px;
    height:1px;
    background:rgba(185,148,112,.3);
    flex-shrink:0;
    margin-top:48px;
}

/* ---------- CTA ---------- */
.sc-cta{
    padding:120px 0;
    background:var(--off-white);
    text-align:center;
}
.sc-cta-inner{
    max-width:680px;
    margin:0 auto;
}
.sc-cta-inner h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(36px,5vw,60px);
    font-weight:600;
    line-height:1.15;
    color:var(--text);
    margin:14px 0 20px;
}
.sc-cta-inner p{
    font-size:16px;
    color:var(--text-muted);
    line-height:1.7;
    margin-bottom:40px;
}
.sc-cta .exp-cta-avaliacao-btns{
    justify-content:center;
}
.sc-cta .btn-pill--ghost{
    border-color:rgba(0,0,0,.18);
    color:var(--text-muted);
}
.sc-cta .btn-pill--ghost:hover{
    border-color:#b99470;
    color:#b99470;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
    .sc-produto-grid,
    .sc-encomenda-grid{ grid-template-columns:repeat(2,1fr); }
    .sc-encomenda-layout{ grid-template-columns:1fr; }
    .sc-encomenda-card-wa{ position:static; }
    .sc-cat-grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:991px){
    .sc-filosofia-inner{ grid-template-columns:1fr; gap:40px; }
    .sc-filosofia-destaques{ grid-template-columns:1fr 1fr; }
    .sc-steps{ flex-wrap:wrap; justify-content:center; gap:40px; }
    .sc-step-line{ display:none; }
    .sc-step{ min-width:180px; max-width:220px; }
}

@media(max-width:768px){
    .sc-filosofia,
    .sc-pronta-entrega,
    .sc-encomenda,
    .sc-como-funciona,
    .sc-cta{ padding:64px 0; }
    .sc-filosofia-destaques{ grid-template-columns:1fr; }
    .sc-produto-grid,
    .sc-encomenda-grid{ grid-template-columns:1fr; gap:20px; }
    .sc-section-header{ margin-bottom:36px; }
    .sc-section-header h2{ font-size:28px; }
    .sc-cta-inner h2{ font-size:32px; }
}

@media(max-width:480px){
    .sc-filosofia{ padding:52px 0; }
    .sc-pronta-entrega,
    .sc-encomenda,
    .sc-como-funciona,
    .sc-cta{ padding:52px 0; }
}
}

/* =====================================================================
   RESULTADOS — Hub page
   ===================================================================== */

.res-numeros{
    padding:0;
    background:#0d0d0d;
}
.res-numeros-grid{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px 0;
}
.res-numero{
    flex:1;
    text-align:center;
    padding:0 32px;
}
.res-numero-val{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(36px,4vw,52px);
    font-weight:700;
    color:#ffffff;
    line-height:1;
    margin-bottom:8px;
}
.res-numero-label{
    display:block;
    font-size:10px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.45);
    font-family:'Montserrat',sans-serif;
}
.res-numero-sep{
    width:1px;
    height:48px;
    background:rgba(255,255,255,.12);
    flex-shrink:0;
}

/* --- Portais --- */
.res-portais{
    display:flex;
    min-height:640px;
}
.res-portal{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 64px;
    text-decoration:none;
    transition:var(--transition);
    position:relative;
    overflow:hidden;
}
.res-portal::after{
    content:'';
    position:absolute;
    inset:0;
    opacity:0;
    transition:var(--transition);
}
.res-portal:hover::after{ opacity:1; }
.res-portal--dark{
    background:#0d0d0d;
}
.res-portal--dark::after{
    background:rgba(185,148,112,.06);
}
.res-portal--light{
    background:var(--off-white);
}
.res-portal--light::after{
    background:rgba(0,0,0,.03);
}
.res-portal-inner{
    max-width:440px;
    position:relative;
    z-index:1;
}
.res-portal-label{
    font-size:9px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:18px;
    display:block;
    font-family:'Montserrat',sans-serif;
}
.res-portal--dark .res-portal-label{ color:#b99470; }
.res-portal--light .res-portal-label{ color:#b99470; }
.res-portal-inner h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(28px,3vw,42px);
    font-weight:600;
    line-height:1.2;
    margin-bottom:16px;
}
.res-portal--dark .res-portal-inner h2{ color:#ffffff; }
.res-portal--light .res-portal-inner h2{ color:var(--text); }
.res-portal-inner p{
    font-size:14px;
    line-height:1.7;
    margin-bottom:28px;
}
.res-portal--dark .res-portal-inner p{ color:rgba(255,255,255,.55); }
.res-portal--light .res-portal-inner p{ color:var(--text-muted); }

.res-portal-fotos{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:28px;
    border-radius:4px;
    overflow:hidden;
}
.res-portal-foto{
    position:relative;
    aspect-ratio:3/4;
    background:rgba(255,255,255,.06);
    overflow:hidden;
}
.res-portal--light .res-portal-foto{
    background:var(--cream);
}
.res-portal-foto::before{
    content:'\f030';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:20px;
    color:rgba(255,255,255,.15);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:0;
    pointer-events:none;
}
.res-portal--light .res-portal-foto::before{
    color:var(--border);
}
.res-portal-foto img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:relative;
    z-index:1;
}
.res-portal-foto span{
    position:absolute;
    bottom:8px;
    left:8px;
    font-size:8px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    padding:3px 8px;
    border-radius:50px;
    z-index:2;
    font-family:'Montserrat',sans-serif;
    background:rgba(13,13,13,.7);
    color:rgba(255,255,255,.85);
}

.res-portal-depoimentos{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:28px;
}
.res-mini-dep{
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:4px;
    background:var(--white);
}
.res-mini-dep-stars{
    font-size:11px;
    color:#b99470;
    margin-bottom:6px;
    letter-spacing:2px;
}
.res-mini-dep p{
    font-size:13px;
    line-height:1.55;
    color:var(--text);
    margin-bottom:6px;
    font-style:italic;
}
.res-mini-dep span{
    font-size:10px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
}

.res-portal-cta{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#ffffff;
    padding:12px 22px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.15);
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
    transition:var(--transition);
}
.res-portal:hover .res-portal-cta{
    background:rgba(255,255,255,.16);
}
.res-portal-cta--dark{
    color:var(--text);
    background:rgba(0,0,0,.06);
    border-color:rgba(0,0,0,.12);
}
.res-portal:hover .res-portal-cta--dark{
    background:rgba(0,0,0,.1);
}

/* --- CTA final --- */
.res-cta{
    padding:120px 0;
    background:var(--off-white);
    text-align:center;
}
.res-cta-inner{
    max-width:640px;
    margin:0 auto;
}
.res-cta-inner h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(36px,5vw,60px);
    font-weight:600;
    line-height:1.15;
    color:var(--text);
    margin:14px 0 20px;
}
.res-cta-inner p{
    font-size:16px;
    color:var(--text-muted);
    line-height:1.7;
    margin-bottom:40px;
}
.res-cta .exp-cta-avaliacao-btns{ justify-content:center; }
.res-cta .btn-pill--ghost{
    border-color:rgba(0,0,0,.18);
    color:var(--text-muted);
}
.res-cta .btn-pill--ghost:hover{
    border-color:#b99470;
    color:#b99470;
}

/* =====================================================================
   ANTES & DEPOIS
   ===================================================================== */

.ad-intro{
    padding:80px 0 40px;
    background:var(--white);
}
.ad-intro-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:64px;
    align-items:center;
}
.ad-intro-texto span{
    display:block;
    font-size:9px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
}
.ad-intro-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(30px,3.5vw,44px);
    font-weight:600;
    line-height:1.2;
    color:var(--text);
    margin-bottom:16px;
}
.ad-intro-texto p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.75;
    max-width:580px;
}
.ad-intro-aviso{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:10px;
    padding:24px 28px;
    background:var(--off-white);
    border:1px solid var(--border);
    border-radius:4px;
    max-width:220px;
    flex-shrink:0;
}
.ad-intro-aviso i{
    font-size:24px;
    color:#b99470;
}
.ad-intro-aviso p{
    font-size:12px;
    color:var(--text-muted);
    line-height:1.6;
    margin:0;
}

/* --- Cabeçalho de seção reutilizável (resultados) --- */
.res-section-header{
    text-align:center;
    max-width:640px;
    margin:0 auto 56px;
    padding:80px 0 0;
}
.res-section-header span{
    display:block;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--rose-gold);
    margin-bottom:14px;
}
.res-section-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,4vw,52px);
    font-weight:600;
    line-height:1.15;
    color:var(--dark);
    margin:0 0 18px;
}
.res-section-header p{
    font-size:16px;
    color:var(--text-muted);
    line-height:1.7;
    margin:0;
}
[data-theme="dark"] .res-section-header h2{ color:var(--off-white); }

/* --- Galeria --- */
.ad-galeria{
    padding:40px 0 96px;
    background:var(--white);
}
.ad-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}
.ad-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:4px;
    overflow:hidden;
    transition:var(--transition);
}
.ad-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-4px);
}
.ad-card-fotos{
    display:grid;
    grid-template-columns:1fr 2px 1fr;
    aspect-ratio:2/1.5;
    overflow:hidden;
    position:relative;
}
.ad-foto{
    position:relative;
    overflow:hidden;
    background:var(--off-white);
    display:flex;
    align-items:center;
    justify-content:center;
}
.ad-foto--depois{ background:var(--cream); }
.ad-foto::before{
    content:'\f030';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:22px;
    color:var(--border);
    position:absolute;
    z-index:0;
}
.ad-foto img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:relative;
    z-index:1;
    transition:.4s ease;
}
.ad-card:hover .ad-foto img{ transform:scale(1.04); }
.ad-foto-label{
    position:absolute;
    bottom:8px;
    left:8px;
    font-size:8px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    background:rgba(13,13,13,.7);
    color:#fff;
    padding:3px 10px;
    border-radius:50px;
    z-index:2;
    font-family:'Montserrat',sans-serif;
}
.ad-foto-label--depois{
    background:rgba(185,148,112,.85);
}
.ad-divisor{
    background:rgba(255,255,255,.3);
    z-index:3;
    position:relative;
}
.ad-card-info{
    padding:22px;
}
.ad-card-tag{
    display:inline-block;
    font-size:9px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:10px;
    font-family:'Montserrat',sans-serif;
}
.ad-card-info h3{
    font-family:'Cormorant Garamond',serif;
    font-size:20px;
    font-weight:600;
    color:var(--text);
    margin-bottom:8px;
    line-height:1.25;
}
.ad-card-info p{
    font-size:13px;
    color:var(--text-muted);
    line-height:1.6;
    margin-bottom:16px;
}
.ad-card-btn{
    display:flex;
    align-items:center;
    gap:7px;
    background:#25D366;
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:10px 16px;
    border-radius:50px;
    text-decoration:none;
    transition:var(--transition);
    font-family:'Montserrat',sans-serif;
    width:fit-content;
}
.ad-card-btn:hover{
    background:#1ebe5e;
    transform:translateY(-2px);
}
.ad-card-btn i{ font-size:13px; }

.ad-galeria-cta{
    display:flex;
    justify-content:center;
    margin-top:52px;
}

/* --- AD CTA --- */
.ad-cta{
    padding:120px 0;
    background:#0d0d0d;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.ad-cta-glow{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:600px;
    height:600px;
    background:radial-gradient(circle, rgba(185,148,112,.18) 0%, transparent 70%);
    pointer-events:none;
}
.ad-cta-inner{
    max-width:620px;
    margin:0 auto;
    position:relative;
    z-index:1;
}
.ad-cta-proof{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.42);
    font-size:11px;
    font-family:'Montserrat',sans-serif;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:24px;
}
.ad-cta-proof-dot{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#b99470;
    opacity:.7;
    display:inline-block;
}
.ad-cta-inner h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(38px,5vw,62px);
    font-weight:600;
    line-height:1.1;
    color:#ffffff;
    margin:0 0 20px;
}
.ad-cta-inner p{
    font-size:15px;
    color:rgba(255,255,255,.5);
    line-height:1.75;
    margin-bottom:44px;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
}
.ad-cta-btns{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}
.ad-cta-btn-primary{
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:#b99470;
    color:#fff;
    padding:14px 30px;
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    transition:background .2s, transform .2s, box-shadow .2s;
    white-space:nowrap;
}
.ad-cta-btn-primary:hover{
    background:#a07850;
    transform:translateY(-2px);
    box-shadow:0 10px 32px rgba(185,148,112,.35);
}
.ad-cta-btn-primary i{ font-size:15px; }
.ad-cta-btn-ghost{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.5);
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:500;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:color .2s;
    padding:14px 10px;
    white-space:nowrap;
}
.ad-cta-btn-ghost:hover{ color:#b99470; }

/* =====================================================================
   HISTÓRIAS REAIS
   ===================================================================== */

.hr-google-strip{
    background:#0d0d0d;
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.hr-google-inner{
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
}
.hr-google-estrelas{
    display:flex;
    gap:4px;
    color:#f5c518;
    font-size:18px;
    flex-shrink:0;
}
.hr-google-texto{
    flex:1;
}
.hr-google-texto strong{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#ffffff;
    margin-bottom:2px;
}
.hr-google-texto span{
    font-size:12px;
    color:rgba(255,255,255,.45);
}
.hr-google-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#ffffff;
    border:1px solid rgba(255,255,255,.2);
    padding:10px 20px;
    border-radius:50px;
    text-decoration:none;
    font-family:'Montserrat',sans-serif;
    transition:var(--transition);
    flex-shrink:0;
}
.hr-google-btn:hover{
    background:rgba(255,255,255,.08);
}
.hr-google-btn i{ font-size:14px; color:#4285F4; }

/* --- Section header --- */
.hr-section-header{
    text-align:center;
    max-width:560px;
    margin:0 auto 56px;
}
.hr-section-header span{
    display:block;
    font-size:9px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:16px;
    font-family:'Montserrat',sans-serif;
}
.hr-section-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,4vw,48px);
    font-weight:600;
    line-height:1.2;
    color:var(--text);
    margin-bottom:14px;
}
.hr-section-header p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.7;
}

/* --- Grid --- */
.hr-depoimentos{
    padding:96px 0;
    background:var(--white);
}
.hr-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.hr-card{
    padding:36px 28px;
    background:var(--off-white);
    border:1px solid var(--border);
    border-radius:4px;
    display:flex;
    flex-direction:column;
    transition:var(--transition);
    position:relative;
}
.hr-card:hover{
    box-shadow:var(--shadow-hover);
    transform:translateY(-4px);
    border-color:rgba(185,148,112,.3);
}
.hr-card-quote{
    font-family:'Cormorant Garamond',serif;
    font-size:80px;
    line-height:.7;
    color:#b99470;
    opacity:.4;
    margin-bottom:12px;
    font-weight:700;
    font-style:italic;
}
.hr-card-texto{
    font-size:14.5px;
    color:var(--text);
    line-height:1.75;
    flex:1;
    margin-bottom:24px;
    font-style:italic;
}
.hr-card-footer{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.hr-card-stars{
    display:flex;
    gap:3px;
    color:#b99470;
    font-size:13px;
}
.hr-card-autor strong{
    display:block;
    font-size:13px;
    font-weight:700;
    color:var(--text);
    margin-bottom:2px;
}
.hr-card-autor span{
    font-size:10px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
}

/* --- Avaliar --- */
.hr-avaliar{
    padding:80px 0;
    background:var(--off-white);
    border-top:1px solid var(--border);
}
.hr-avaliar-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.hr-avaliar-texto span{
    display:block;
    font-size:9px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#b99470;
    margin-bottom:14px;
    font-family:'Montserrat',sans-serif;
}
.hr-avaliar-texto h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(30px,3.5vw,46px);
    font-weight:600;
    line-height:1.2;
    color:var(--text);
    margin-bottom:16px;
}
.hr-avaliar-texto p{
    font-size:15px;
    color:var(--text-muted);
    line-height:1.75;
}
.hr-avaliar-acoes{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.hr-avaliar-btn{
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px 24px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:4px;
    text-decoration:none;
    transition:var(--transition);
    color:var(--text);
}
.hr-avaliar-btn:hover{
    border-color:var(--text);
    box-shadow:var(--shadow);
    transform:translateX(4px);
}
.hr-avaliar-btn > i:first-child{
    font-size:24px;
    flex-shrink:0;
    width:40px;
    text-align:center;
}
.hr-avaliar-btn:first-child > i:first-child{ color:#4285F4; }
.hr-avaliar-btn--wa > i:first-child{ color:#25D366; }
.hr-avaliar-btn div{ flex:1; }
.hr-avaliar-btn strong{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--text);
    margin-bottom:2px;
}
.hr-avaliar-btn span{
    font-size:12px;
    color:var(--text-muted);
}
.hr-avaliar-btn > i:last-child{
    font-size:12px;
    color:var(--text-muted);
    transition:var(--transition);
}
.hr-avaliar-btn:hover > i:last-child{
    transform:translateX(4px);
    color:var(--text);
}

/* =====================================================================
   RESULTADOS / ANTES-DEPOIS / HR — Responsive
   ===================================================================== */

@media(max-width:991px){
    /* Hub */
    .res-portais{ flex-direction:column; }
    .res-portal{ padding:64px 40px; }
    .res-portal-fotos{ grid-template-columns:1fr 1fr; max-width:320px; }
    .res-numeros-grid{ flex-wrap:wrap; gap:0; }
    .res-numero{ flex:1 0 40%; padding:32px 20px; }
    .res-numero-sep{ display:none; }

    /* AD */
    .ad-grid{ grid-template-columns:repeat(2,1fr); }
    .ad-intro-inner{ grid-template-columns:1fr; gap:28px; }
    .ad-intro-aviso{ max-width:100%; flex-direction:row; text-align:left; }

    /* HR */
    .hr-grid{ grid-template-columns:repeat(2,1fr); }
    .hr-avaliar-inner{ grid-template-columns:1fr; gap:40px; }
}

@media(max-width:768px){
    .res-portal{ padding:52px 24px; }
    .res-portal-inner h2{ font-size:28px; }
    .ad-grid{ grid-template-columns:1fr; }
    .ad-card-fotos{ aspect-ratio:2/1.2; }
    .hr-grid{ grid-template-columns:1fr; }
    .hr-google-inner{ flex-direction:column; align-items:flex-start; gap:12px; }
    .res-cta,
    .ad-cta{ padding:72px 0; }
    .res-cta-inner h2,
    .ad-cta-inner h2{ font-size:32px; }
}

@media(max-width:480px){
    .res-numero-val{ font-size:32px; }
    .res-numero{ flex:1 0 50%; padding:24px 12px; }
    .res-portal{ padding:48px 20px; }
    .hr-card{ padding:28px 20px; }
    .hr-card-quote{ font-size:60px; }
    .ad-card-fotos{ aspect-ratio:2/1; }
}

/* =========================
   EXP-ESPACO FOTO LATERAL — experiencias.html
========================= */
.exp-espaco-foto{
    position:relative;
    overflow:hidden;
    aspect-ratio:3/4;
    border-radius:4px;
}
.exp-espaco-foto img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .8s cubic-bezier(.4,0,.2,1);
}
.exp-espaco-inner:hover .exp-espaco-foto img{ transform:scale(1.03); }
.exp-espaco-foto-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(13,13,13,.52) 0%,transparent 55%);
    pointer-events:none;
}
.exp-espaco-foto-badge{
    position:absolute;bottom:28px;left:28px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(185,148,112,.35);
    padding:14px 22px;
    display:flex;align-items:center;gap:14px;
}
.exp-espaco-foto-badge-num{
    font-family:'Cormorant Garamond',serif;
    font-size:38px;font-weight:600;color:#b99470;line-height:1;
}
.exp-espaco-foto-badge-txt{
    font-size:10px;font-weight:600;text-transform:uppercase;
    letter-spacing:1.5px;color:rgba(255,255,255,.82);
    line-height:1.55;max-width:90px;
}

/* =========================
   DIFERENCIAIS REDESIGN — header + 4 colunas + footer
========================= */
.diferenciais-header{
    text-align:center;max-width:600px;margin:0 auto 56px;
}
.diferenciais-header > span{
    display:block;font-size:10px;font-weight:700;
    text-transform:uppercase;letter-spacing:3px;color:#b99470;
    margin-bottom:20px;font-family:'Montserrat',sans-serif;
}
.diferenciais-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(32px,3.5vw,48px);font-weight:400;
    color:var(--dark);line-height:1.12;margin-bottom:16px;
}
[data-theme="dark"] .diferenciais-header h2{ color:#f0ece8; }
.diferenciais-header p{
    font-size:14px;color:var(--text-muted);line-height:1.9;
}
.diferenciais-itens--full{
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px;
}
.diferenciais-footer{
    text-align:center;margin-top:48px;
}
@media(max-width:900px){
    .diferenciais-itens--full{ grid-template-columns:repeat(2,1fr) !important; }
}
@media(max-width:500px){
    .diferenciais-itens--full{ grid-template-columns:1fr !important; }
}

/* =========================
   HISTÓRIAS INTERATIVAS — historias-reais.html
========================= */
.hr-historias{
    padding:96px 0;
    background:var(--off-white);
}
[data-theme="dark"] .hr-historias{ background:#181818; }

.hr-historias-header{
    text-align:center;max-width:640px;margin:0 auto 52px;
}
.hr-historias-header > span{
    display:inline-block;font-size:10px;font-weight:600;
    letter-spacing:4px;text-transform:uppercase;color:#b99470;
    margin-bottom:14px;font-family:'Montserrat',sans-serif;
}
.hr-historias-header h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(28px,3.5vw,44px);font-weight:400;
    color:var(--dark);line-height:1.15;margin-bottom:14px;
}
[data-theme="dark"] .hr-historias-header h2{ color:#e8e0d8; }
.hr-historias-header p{
    font-size:13.5px;color:var(--text-muted);line-height:1.8;
}

/* Filtros */
.hr-filtros{
    display:flex;align-items:center;justify-content:center;
    gap:8px;flex-wrap:wrap;margin-bottom:52px;
}
.hr-filtro{
    padding:8px 22px;
    border:1.5px solid var(--border);
    background:transparent;
    color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    font-size:10.5px;font-weight:600;
    text-transform:uppercase;letter-spacing:1.5px;
    cursor:pointer;transition:var(--transition);
    border-radius:50px;
}
.hr-filtro:hover{ border-color:#b99470;color:#b99470; }
.hr-filtro.ativo{ background:#b99470;border-color:#b99470;color:#fff; }
[data-theme="dark"] .hr-filtro{ border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.5); }
[data-theme="dark"] .hr-filtro.ativo{ border-color:#b99470;color:#fff; }

/* Grid */
.hr-historias-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

/* Card */
.hr-historia{
    background:var(--white);
    border:1px solid var(--border);
    padding:32px 28px;
    display:flex;flex-direction:column;gap:20px;
    transition:box-shadow .2s,transform .2s;
}
[data-theme="dark"] .hr-historia{ background:#1e1e1e;border-color:rgba(255,255,255,.07); }
.hr-historia:hover{
    box-shadow:0 8px 32px rgba(0,0,0,.08);
    transform:translateY(-4px);
}
.hr-historia.oculto{ display:none; }

.hr-historia-topo{
    display:flex;align-items:center;gap:14px;
}
.hr-historia-avatar{
    width:50px;height:50px;border-radius:50%;
    background:rgba(185,148,112,.12);
    border:1.5px solid rgba(185,148,112,.3);
    display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant Garamond',serif;
    font-size:22px;font-weight:600;color:#b99470;
    flex-shrink:0;
}
.hr-historia-meta{ flex:1; }
.hr-historia-nome{
    font-size:13.5px;font-weight:600;color:var(--dark);
    font-family:'Montserrat',sans-serif;margin-bottom:3px;
}
[data-theme="dark"] .hr-historia-nome{ color:#e0d8d0; }
.hr-historia-cat{
    font-size:9.5px;text-transform:uppercase;letter-spacing:2px;
    color:#b99470;font-family:'Montserrat',sans-serif;font-weight:600;
}
.hr-historia-stars{
    color:#b99470;font-size:10px;
    display:flex;gap:2px;flex-shrink:0;
}

.hr-historia-texto{
    font-size:13.5px;color:var(--text-muted);
    line-height:1.85;font-style:italic;
    border-left:2px solid rgba(185,148,112,.3);
    padding-left:18px;margin:0;flex:1;
}
[data-theme="dark"] .hr-historia-texto{ color:#9e948f; }

.hr-historia-resultados{
    display:flex;flex-wrap:wrap;gap:6px;
}
.hr-historia-result-tag{
    font-size:9.5px;font-weight:600;
    text-transform:uppercase;letter-spacing:1px;
    padding:5px 12px;
    background:rgba(185,148,112,.1);
    color:#b99470;
    border-radius:50px;
    font-family:'Montserrat',sans-serif;
}

@media(max-width:900px){
    .hr-historias-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:580px){
    .hr-historias-grid{ grid-template-columns:1fr; }
    .hr-historias{ padding:64px 0; }
}

/* =========================
   AD-CTA FUNDO CLARO — override do preto original
========================= */
.ad-cta{ background:#faf8f5; }
.ad-cta .ad-cta-glow{ display:none; }
.ad-cta-proof{ color:var(--text-muted) !important; }
.ad-cta-proof-dot{ background:var(--text-muted) !important; }
.ad-cta-inner--split h2{ color:var(--dark) !important; }
.ad-cta-inner--split p{ color:var(--text-muted) !important; }
.ad-cta .ad-cta-btn-ghost{
    color:var(--dark);
    border-color:rgba(0,0,0,.18);
}
.ad-cta .ad-cta-btn-ghost:hover{
    color:#b99470;
    border-color:#b99470;
}

/* =========================
   AD-CTA SPLIT — antes-depois.html redesign
========================= */
.ad-cta-inner--split{
    max-width:1160px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.ad-cta-lado{ display:flex; flex-direction:column; }
.ad-cta-lado .ad-cta-proof{
    justify-content:flex-start;
    margin-bottom:28px;
}
.ad-cta-inner--split h2{
    text-align:left;
}
.ad-cta-inner--split p{
    text-align:left;
    margin-left:0;
    margin-right:0;
    margin-bottom:36px;
}
.ad-cta-inner--split .ad-cta-btns{
    justify-content:flex-start;
}
.ad-cta-card{
    background:#ffffff;
    border:1px solid rgba(185,148,112,.28);
    padding:40px 36px;
    box-shadow:0 4px 24px rgba(0,0,0,.06);
}
.ad-cta-card-titulo{
    font-size:9px;font-weight:700;
    text-transform:uppercase;letter-spacing:3.5px;
    color:#b99470;font-family:'Montserrat',sans-serif;
    margin-bottom:28px;
    display:flex;align-items:center;gap:14px;
}
.ad-cta-card-titulo::before{
    content:'';width:28px;height:1px;
    background:#b99470;display:inline-block;flex-shrink:0;
}
.ad-cta-checklist{
    list-style:none;
    display:flex;flex-direction:column;gap:18px;
    margin-bottom:32px;
}
.ad-cta-checklist li{
    display:flex;align-items:flex-start;gap:14px;line-height:1.55;
}
.ad-cta-checklist li i{
    color:#b99470;font-size:11px;margin-top:4px;flex-shrink:0;
}
.ad-cta-checklist li span{
    font-size:14px;color:var(--dark);
    font-family:'Montserrat',sans-serif;
}
.ad-cta-card-nota{
    display:flex;align-items:center;gap:10px;
    font-size:10px;color:var(--text-muted);
    font-family:'Montserrat',sans-serif;
    text-transform:uppercase;letter-spacing:1.5px;
    padding-top:24px;
    border-top:1px solid var(--border);
}
.ad-cta-card-nota i{ font-size:11px;color:var(--text-muted); }
@media(max-width:900px){
    .ad-cta-inner--split{
        grid-template-columns:1fr;
        gap:52px;
        max-width:640px;
    }
}

/* =========================
   GALERIA COMPARAÇÃO (DRAG) — antes-depois.html
========================= */
.ad-galeria{ padding:80px 0; background:var(--white); }
[data-theme="dark"] .ad-galeria{ background:#121212; }

.ad-reveal-list{
    display:flex;flex-direction:column;
    border:1px solid var(--border);
}
[data-theme="dark"] .ad-reveal-list{ border-color:rgba(255,255,255,.07); }

.ad-reveal{
    display:grid;
    grid-template-columns:1.15fr 1fr;
    min-height:520px;
    border-bottom:1px solid var(--border);
}
[data-theme="dark"] .ad-reveal{ border-color:rgba(255,255,255,.06); }
.ad-reveal:last-child{ border-bottom:none; }
.ad-reveal--rev{
    grid-template-columns:1fr 1.15fr;
}
.ad-reveal--rev .ad-reveal-foto{ order:2; }
.ad-reveal--rev .ad-reveal-info{ order:1; }

/* Foto / comparador */
.ad-reveal-foto{
    position:relative;
    overflow:hidden;
    cursor:col-resize;
    user-select:none;
    -webkit-user-select:none;
    background:#e8e2dc;
}
.ad-reveal-antes,
.ad-reveal-depois{
    position:absolute;
    inset:0;
}
.ad-reveal-antes img,
.ad-reveal-depois img{
    width:100%;height:100%;
    object-fit:cover;display:block;
    pointer-events:none;
}
.ad-reveal-depois{
    clip-path:inset(0 0 0 50%);
}
.ad-reveal-label{
    position:absolute;bottom:16px;
    font-size:8.5px;font-weight:700;letter-spacing:2px;
    text-transform:uppercase;color:#fff;
    background:rgba(0,0,0,.72);padding:5px 13px;
    font-family:'Montserrat',sans-serif;
    z-index:3;pointer-events:none;
}
.ad-reveal-label--antes{ left:16px; }
.ad-reveal-label--depois{ right:16px; }

.ad-reveal-handle{
    position:absolute;
    top:0;bottom:0;
    left:50%;
    width:2px;
    background:#fff;
    z-index:4;
    transform:translateX(-50%);
    pointer-events:none;
}
.ad-reveal-handle-btn{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:46px;height:46px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 18px rgba(0,0,0,.28);
    display:flex;align-items:center;justify-content:center;
    pointer-events:all;
    cursor:col-resize;
    color:#b99470;
    font-size:15px;
    transition:transform .15s;
}
.ad-reveal-handle-btn:hover{ transform:translate(-50%,-50%) scale(1.08); }

.ad-reveal-hint{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    display:flex;align-items:center;gap:8px;
    font-size:9px;font-weight:600;letter-spacing:2px;
    text-transform:uppercase;color:rgba(255,255,255,.65);
    font-family:'Montserrat',sans-serif;
    pointer-events:none;
    z-index:5;
    opacity:1;
    transition:opacity .3s;
    margin-top:38px;
}
.ad-reveal-foto.moved .ad-reveal-hint{ opacity:0; }
.ad-reveal-hint i{ font-size:12px; }

/* Info */
.ad-reveal-info{
    padding:56px 52px;
    display:flex;flex-direction:column;justify-content:center;
    background:var(--off-white);
}
[data-theme="dark"] .ad-reveal-info{ background:#181818; }
.ad-reveal--rev .ad-reveal-info{ background:var(--white); }
[data-theme="dark"] .ad-reveal--rev .ad-reveal-info{ background:#141414; }

.ad-reveal-num{
    font-family:'Cormorant Garamond',serif;
    font-size:80px;font-weight:400;
    color:rgba(185,148,112,.13);
    line-height:1;margin-bottom:-12px;display:block;
}
.ad-reveal-tag{
    font-size:9.5px;font-weight:700;
    text-transform:uppercase;letter-spacing:3px;
    color:#b99470;font-family:'Montserrat',sans-serif;
    margin-bottom:10px;display:block;
}
.ad-reveal-info h3{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(24px,2.5vw,34px);font-weight:400;
    color:var(--dark);margin-bottom:28px;line-height:1.2;
}
[data-theme="dark"] .ad-reveal-info h3{ color:#e8e2dc; }

.ad-reveal-bloco{ margin-bottom:22px; }
.ad-reveal-bloco-titulo{
    font-size:10px;font-weight:700;
    text-transform:uppercase;letter-spacing:2px;
    color:var(--dark);font-family:'Montserrat',sans-serif;
    margin-bottom:12px;
    display:flex;align-items:center;gap:8px;
}
[data-theme="dark"] .ad-reveal-bloco-titulo{ color:#d8d0c8; }
.ad-reveal-bloco-titulo i{ color:#b99470;font-size:10px; }

.ad-reveal-bloco ul{
    list-style:none;display:flex;flex-direction:column;gap:9px;
}
.ad-reveal-bloco ul li{
    font-size:13px;color:var(--text-muted);
    padding-left:16px;position:relative;line-height:1.6;
}
.ad-reveal-bloco ul li::before{
    content:'';position:absolute;
    left:0;top:9px;
    width:6px;height:1px;background:#b99470;
}
.ad-reveal-bloco p{
    font-size:13.5px;color:var(--text-muted);line-height:1.75;
}

.ad-reveal-meta{
    display:flex;gap:20px;flex-wrap:wrap;
    margin-top:24px;padding-top:20px;
    border-top:1px solid var(--border);
}
[data-theme="dark"] .ad-reveal-meta{ border-color:rgba(255,255,255,.07); }
.ad-reveal-meta-item{
    display:flex;align-items:center;gap:7px;
    font-size:10.5px;font-weight:600;
    color:var(--text-muted);
    text-transform:uppercase;letter-spacing:1.5px;
    font-family:'Montserrat',sans-serif;
}
.ad-reveal-meta-item i{ color:#b99470;font-size:11px; }

/* CTA abaixo da galeria */
.ad-galeria-cta{
    text-align:center;
    padding:56px 0;
    border-top:1px solid var(--border);
}
[data-theme="dark"] .ad-galeria-cta{ border-color:rgba(255,255,255,.06); }

@media(max-width:900px){
    .ad-reveal,
    .ad-reveal--rev{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .ad-reveal--rev .ad-reveal-foto{ order:0; }
    .ad-reveal--rev .ad-reveal-info{ order:1; }
    .ad-reveal-foto{ min-height:340px; }
    .ad-reveal-info{ padding:40px 28px; }
    .ad-reveal-num{ font-size:56px; }
}
@media(max-width:480px){
    .ad-reveal-foto{ min-height:280px; }
    .ad-reveal-info{ padding:32px 20px; }
}
