:root {
  --fundo: #F5F2EE;
  --branco: #FFFFFF;
  --tinta: #1D1D1F;
  --cinza: #6E6E73;
  --marca: #6B4A38;      /* marrom-café do SOME: títulos */
  --link: #8A5E40;       /* links */
  --linha: #DCD6CF;
  --raio: 26px;
  --lado: 20px;
  --fonte: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}
* { box-sizing: border-box; margin: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: var(--fundo); color: var(--tinta); font: 400 17px/1.47 var(--fonte); -webkit-font-smoothing: antialiased; letter-spacing: -0.01em; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }

/* topo */
.topo {
  position: sticky; top: 0; z-index: 20; height: 52px;
  display: flex; align-items: center; justify-content: space-between; padding: 0 var(--lado);
  background: rgba(245, 242, 238, .85); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px);
}
.logo img { height: 22px; width: auto; filter: brightness(0); }
.topo-acoes { display: flex; gap: 6px; margin-right: -10px; }
.icone { width: 44px; height: 44px; display: grid; place-items: center; background: none; border: 0; cursor: pointer; }
.icone svg { width: 22px; height: 22px; fill: none; stroke: var(--tinta); stroke-width: 1.6; stroke-linecap: round; }
.menu {
  position: absolute; top: 52px; left: 0; right: 0; display: grid; padding: 4px var(--lado) 28px;
  background: var(--fundo); max-height: calc(100dvh - 52px); overflow-y: auto;
  opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.topo.aberto .menu { opacity: 1; visibility: visible; }
.menu a { font-size: 1.6rem; font-weight: 600; letter-spacing: -0.02em; padding: 8px 0; }

/* abertura */
.abertura { padding: 36px var(--lado) 8px; }
h1 { font-size: 3.4rem; font-weight: 700; line-height: 1.05; letter-spacing: -0.035em; color: var(--marca); }
.abertura-sub { margin: 10px 0 26px; font-size: 1.45rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; color: var(--marca); }
.link-azul { display: block; padding: 7px 0; color: var(--link); font-size: 1.05rem; }

/* trilhos que deslizam */
.trilho {
  display: grid; grid-auto-flow: column; gap: 14px; overflow-x: auto;
  scroll-snap-type: x mandatory; scrollbar-width: none;
  padding: 4px var(--lado) 18px; scroll-padding: 0 var(--lado);
}
.trilho::-webkit-scrollbar { display: none; }
.trilho > * { scroll-snap-align: start; }

/* categorias */
.categorias { margin-top: 26px; }
.trilho-cat { grid-auto-columns: 96px; gap: 8px; }
.trilho-cat a { display: grid; justify-items: center; gap: 8px; text-align: center; font-size: .9rem; font-weight: 500; line-height: 1.2; }
.trilho-cat img, .cat-sinal {
  width: 76px; height: 76px; border-radius: 50%; object-fit: cover;
}
.cat-sinal { display: grid; place-items: center; background: var(--branco); color: var(--marca); font-size: 1.3rem; font-weight: 600; }

/* seções */
.secao { padding-top: 46px; }
.secao h2 {
  padding: 0 var(--lado) 18px; font-size: 1.75rem; font-weight: 600; line-height: 1.14; letter-spacing: -0.025em; color: var(--cinza);
}
.secao h2 strong { color: var(--marca); font-weight: 600; }
.secao h2.titulo-simples { color: var(--tinta); }

/* cartões */
.trilho-grande { grid-auto-columns: 84%; }
.trilho-medio { grid-auto-columns: 78%; }
.cartao { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--raio); background: #E9DFD4; }
.cartao-topo { padding: 26px 24px 18px; }
.cartao h3 { font-size: 1.6rem; font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; }
.cartao-topo p:not(.rotulo) { margin-top: 6px; font-size: 1rem; color: #4a4a4f; }
.rotulo { font-size: .78rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: #6e6e73; margin-bottom: 6px; }
.rotulo.dourado { color: #A0522D; text-transform: none; font-size: .9rem; letter-spacing: 0; }
.cartao > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin-top: auto; }
.trilho-grande .cartao:nth-child(2) { background: #E3D3C4; }
.trilho-grande .cartao:nth-child(3) { background: #EBD2C2; }
.trilho-grande .cartao:nth-child(4) { background: #E6E0D6; }

.cartao-branco { background: var(--branco); box-shadow: 0 4px 18px rgba(0, 0, 0, .05); }
.cartao-branco > img { margin: 0; aspect-ratio: 1 / 1; }
.cartao-base { padding: 20px 22px 24px; }
.cartao-base h3 { font-size: 1.25rem; }
.preco { margin-top: 18px; font-size: .95rem; color: #4a4a4f; }

.cartao-depo { margin: 0; padding: 26px 24px; background: var(--branco); box-shadow: 0 4px 18px rgba(0, 0, 0, .05); }
.estrelas { color: #C08A3E; letter-spacing: .12em; }
.cartao-depo blockquote { margin: 14px 0 18px; font-size: 1.15rem; font-weight: 500; line-height: 1.38; letter-spacing: -0.015em; }
.cartao-depo figcaption { margin-top: auto; font-size: .9rem; color: var(--cinza); }

.cartao-escuro { margin: 0 var(--lado); background: #2A211C; color: #fff; }
.cartao-escuro .rotulo { color: #CDB8A6; }
.cartao-escuro h3 { font-size: 1.45rem; }
.cartao-escuro > img { aspect-ratio: 780 / 1100; object-position: top; }

/* setas */
.setas { display: flex; justify-content: flex-end; gap: 14px; padding: 0 var(--lado); }
.seta {
  width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(0, 0, 0, .08); font-size: 1.5rem; line-height: 1; color: #555;
}
.seta:hover { background: rgba(0, 0, 0, .14); }

/* pílulas */
.pilulas { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 var(--lado); }
.pilulas a { padding: 11px 20px; border: 1px solid var(--tinta); border-radius: 999px; font-size: 1rem; cursor: pointer; }
.aviso { padding: 22px var(--lado) 0; font-size: .9rem; color: var(--cinza); }

/* rodapé sanfona */
.rodape { margin-top: 56px; padding: 0 var(--lado) 40px; font-size: .9rem; color: #4a4a4f; }
.rodape details { border-top: 1px solid var(--linha); }
.rodape details:last-of-type { border-bottom: 1px solid var(--linha); }
.rodape summary {
  list-style: none; display: flex; justify-content: space-between; align-items: center;
  padding: 14px 0; font-size: 1rem; color: var(--tinta); cursor: pointer;
}
.rodape summary::-webkit-details-marker { display: none; }
.rodape summary::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.rodape details[open] summary::after { transform: rotate(-135deg) translateY(-3px); }
.rodape details a { display: block; padding: 6px 0 6px 2px; }
.rodape details[open] { padding-bottom: 10px; }
.rodape-fim { margin-top: 22px; font-size: .8rem; line-height: 1.7; color: var(--cinza); }

/* botão flutuante do WhatsApp */
.flutuante {
  position: fixed; right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 30;
  width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center;
  background: #25D366; box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}
.flutuante svg { width: 30px; height: 30px; fill: #fff; }

@media (min-width: 900px) {
  :root { --lado: max(40px, calc((100vw - 1100px) / 2)); }
  h1 { font-size: 4.8rem; }
  .abertura { padding-top: 64px; }
  .abertura-sub { font-size: 1.9rem; max-width: 640px; }
  .trilho-grande { grid-auto-columns: 380px; }
  .trilho-medio { grid-auto-columns: 340px; }
  .secao h2 { font-size: 2.2rem; }
  .cartao-escuro { display: grid; grid-template-columns: 1fr 1.3fr; align-items: center; }
  .cartao-escuro > img { height: 100%; }
}

/* ===== aberturas (escolha: body data-abertura="1|2|3") ===== */
.ab { display: none; }
body:not([data-abertura]) .ab4, body[data-abertura="1"] .ab1, body[data-abertura="2"] .ab2, body[data-abertura="3"] .ab3 { display: block; }

.pilula { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; font-size: 1.02rem; font-weight: 600; letter-spacing: -0.01em; cursor: pointer; }
.pilula-branca { background: #fff; color: var(--tinta); }
.pilula-escura { background: var(--tinta); color: #fff; }
.pilula-contorno { border: 1.5px solid var(--tinta); color: var(--tinta); }
.ab-nota { margin-top: 14px; text-align: center; font-size: .92rem; color: var(--cinza); }

/* 1 — foto em destaque */
.ab1 { padding: 8px 12px 0; }
.ab1-cartao { position: relative; border-radius: 30px; overflow: hidden; height: min(66svh, 600px); min-height: 440px; }
.ab1-cartao img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.ab1-cartao::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(20, 14, 10, .78)); }
.ab1-texto { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 24px; color: #fff; }
.ab1-rotulo { font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .85; }
.ab1 h1 { margin: 6px 0 20px; color: #fff; font-size: 2.5rem; line-height: 1.04; }

/* 2 — destaques que deslizam */
.ab2 { padding-top: 26px; }
.ab2-titulo { padding: 0 var(--lado) 18px; font-size: 2rem; font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; color: var(--cinza); }
.ab2-titulo strong { color: var(--marca); font-weight: 700; }
.ab2-trilho { grid-auto-columns: 86%; padding-bottom: 12px; }
.ab2-cartao { position: relative; height: min(52svh, 480px); min-height: 360px; border-radius: 28px; overflow: hidden; color: #fff; }
.ab2-cartao img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.ab2-cartao::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(20, 14, 10, .75)); }
.ab2-cartao div { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 1; }
.ab2-cartao p { font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .85; }
.ab2-cartao h2 { margin: 2px 0 4px; font-size: 1.9rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
.ab2-cartao span { font-size: 1rem; opacity: .92; }
.ab2-pontos { display: flex; justify-content: center; gap: 7px; }
.ab2-pontos i { width: 7px; height: 7px; border-radius: 50%; background: #cfc6bd; }
.ab2-pontos i.ativo { background: var(--tinta); }
.ab2-botao { margin: 18px var(--lado) 0; }

/* 3 — logo e confiança */
.ab3 { padding: 56px var(--lado) 6px; text-align: center; }
.ab3-logo { height: 64px; width: auto; margin: 0 auto; filter: brightness(0); }
.ab3-frase { margin: 18px 0 26px; font-size: 1.7rem; font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; color: var(--marca); }
.ab3-prova { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 28px; font-size: .95rem; color: var(--cinza); }
.ab3-prova strong { color: var(--tinta); }
.ab3-rostos { display: flex; }
.ab3-rostos img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 2.5px solid var(--fundo); margin-left: -12px; }
.ab3-rostos img:first-child { margin-left: 0; }
.ab3 .pilula + .pilula { margin-top: 10px; }

@media (min-width: 900px) {
  .ab1 { padding: 16px var(--lado) 0; }
  .ab1-cartao { height: 78vh; }
  .ab1 h1 { font-size: 4.2rem; }
  .ab1 .pilula { display: inline-flex; }
  .ab2-trilho { grid-auto-columns: 520px; }
  .ab3 .pilula { display: flex; max-width: 360px; margin-inline: auto; }
}
body[data-abertura="3"] .topo .logo { visibility: hidden; }

/* 4 — no jeito da loja da Apple */
body[data-abertura="4"] .ab4 { display: block; }
.ab4 { padding: 28px var(--lado) 4px; text-align: center; }
.ab4-logo { height: 46px; width: auto; margin: 0 auto 22px; filter: brightness(0); }
.ab4 .ab4-sub { margin: 0 0 26px; font-size: 1.9rem; font-weight: 600; line-height: 1.18; letter-spacing: -0.025em; color: var(--marca); }
.ab4-link { display: block; padding: 8px 0; font-size: 1.1rem; color: var(--link); }
body:not([data-abertura]) .topo .logo, body[data-abertura="4"] .topo .logo { visibility: hidden; }

/* carrossel de serviços (vale para todas as aberturas) */
.categorias { position: relative; margin-top: 30px; }
.trilho-cat { grid-auto-columns: 124px; gap: 6px; padding-top: 4px; padding-bottom: 8px; }
.trilho-cat a { gap: 10px; font-size: .92rem; align-content: start; hyphens: manual; }
.trilho-cat img, .cat-sinal { width: 104px; height: 104px; border-radius: 22px; object-position: center 25%; }
.cat-sinal { font-size: 1.6rem; box-shadow: inset 0 0 0 1px var(--linha); }
.cat-seta {
  position: absolute; top: 0; bottom: 0; z-index: 2; width: 44px; border: 0; cursor: pointer; padding-bottom: 44px;
  font-size: 2.2rem; line-height: 1; color: #6e6e73;
}
.cat-seta[hidden] { display: none; }
.cat-dir { right: 0; background: linear-gradient(to right, rgba(245, 242, 238, 0), var(--fundo) 45%); border-left: 1px solid var(--linha); }
.cat-esq { left: 0; background: linear-gradient(to left, rgba(245, 242, 238, 0), var(--fundo) 45%); border-right: 1px solid var(--linha); }
@media (min-width: 900px) { .ab4 .ab4-sub { font-size: 2.6rem; max-width: 760px; } }
.cartao > img.foto-topo { object-position: top; }
.trilho .cartao-escuro { margin: 0; }
.trilho .cartao-escuro > img { aspect-ratio: 4 / 5; }
.sem-foto { aspect-ratio: 1 / 1; display: grid; place-items: center; background: linear-gradient(160deg, #E9DFD4, #D9C6B3); }
.sem-foto span { font-size: 2rem; font-weight: 700; letter-spacing: -0.03em; color: var(--marca); }
.trilho-grande .cartao:nth-child(n) { }
.selo { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 6px 12px; border-radius: 999px; background: rgba(107, 74, 56, .1); color: var(--marca); font-size: .76rem; white-space: nowrap; max-width: 100%; font-weight: 600; letter-spacing: -0.005em; }
.cartao > img.foto-inteira { aspect-ratio: 16 / 9; object-fit: contain; }
.antes-depois { display: flex; justify-content: space-around; margin-top: 8px; font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--marca); }

/* computador: escritas centralizadas (13/11) */
@media (min-width: 900px) {
  .ab4 { text-align: center; padding-top: 48px; }
  .ab4 .ab4-sub { margin-inline: auto; }
  .ab4-link { display: inline-block; margin: 0 18px; }
  .categorias { margin-top: 40px; }
  .trilho-cat { justify-content: center; }
  .secao h2 { text-align: center; max-width: 820px; margin-inline: auto; }
  .secao .trilho:not(.trilho-cat) { justify-content: safe center; }
}
@media (min-width: 900px) {
  .trilho .cartao-escuro { display: flex; }
  .trilho .cartao-escuro > img { height: auto; }
  .pilulas { justify-content: center; }
  .pilulas + p, .secao > .aviso { text-align: center; }
}
/* ícones dos serviços em retrato, foto inteira (13/11) */
.trilho-cat img, .cat-sinal { height: 156px; object-position: center; }
/* micro: antes em cima, depois embaixo, ocupando o cartão todo (13/11) */
.cartao > .antes-depois { flex: 1; display: flex; flex-direction: column; gap: 3px; margin: 0; min-height: 300px; }
.antes-depois figure { position: relative; flex: 1; margin: 0; min-height: 0; overflow: hidden; }
.antes-depois figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.antes-depois figcaption { position: absolute; left: 12px; bottom: 12px; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .85); color: var(--marca); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
/* computador: carrosséis começam perto da borda, sem vão à esquerda (13/11) */
@media (min-width: 900px) {
  .secao .trilho:not(.trilho-cat) { padding-inline: 40px; scroll-padding: 0 40px; justify-content: start; }
  .secao .setas { padding-inline: 40px; }
}
@media (min-width: 900px) { .secao h2 { max-width: none; padding-inline: max(40px, calc((100vw - 820px) / 2)); } }

/* ===== equipe (13/11) ===== */
.trilho-equipe { grid-auto-columns: 132px; gap: 12px; }
.pessoa { display: grid; justify-items: center; gap: 4px; text-align: center; }
.pessoa img { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; margin-bottom: 6px; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--linha); }
.pessoa strong { font-size: .92rem; font-weight: 600; line-height: 1.2; }
.pessoa span { font-size: .8rem; line-height: 1.25; color: var(--cinza); }
@media (min-width: 900px) { .trilho-equipe { grid-auto-columns: 150px; } }

/* página de cada profissional */
.voltar { display: inline-block; margin: 12px var(--lado) 0; padding: 8px 0; font-size: .95rem; color: var(--link); }
.perfil { display: grid; gap: 22px; padding: 14px var(--lado) 10px; }
.perfil-avatar { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--linha); }
.perfil-foto-grande { width: 100%; max-width: 440px; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: var(--raio); }
.perfil h1 { font-size: 2.2rem; font-weight: 700; line-height: 1.08; letter-spacing: -0.03em; margin: 0; }
.perfil .rotulo { margin-bottom: 8px; }
.perfil-texto { margin-top: 14px; font-size: 1.08rem; line-height: 1.45; color: var(--tinta); }
.perfil-servicos { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.perfil-servicos li { padding: 7px 14px; border-radius: 999px; background: #E9DFD4; font-size: .9rem; }
.perfil-acoes { display: grid; gap: 10px; margin-top: 24px; max-width: 420px; }
.perfil-ig { gap: 8px; }
.perfil-ig svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.rodape-simples { padding: 40px var(--lado) 50px; font-size: .8rem; line-height: 1.7; color: var(--cinza); }
@media (min-width: 900px) {
  .perfil { grid-template-columns: auto 1fr; align-items: center; gap: 48px; max-width: 1000px; margin: 0 auto; padding-inline: 40px; }
  .perfil-foto-grande { width: 400px; }
  .perfil h1 { font-size: 3rem; }
  .voltar { display: block; max-width: 1000px; margin: 20px auto 0; padding-inline: 40px; }
  .rodape-simples { text-align: center; }
}
body.pagina-perfil .topo .logo { visibility: visible; }
.trilho-curso { grid-auto-columns: 88%; }
.cartao-foto { margin: 0; }
.cartao-foto img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 900px) { .trilho-curso { grid-auto-columns: 640px; } }
.perfil .selo { white-space: normal; }
/* computador: 6 ícones visíveis, centralizados, rolagem pelas setas (13/11) */
@media (min-width: 900px) {
  .categorias { max-width: calc(6 * 124px + 5 * 6px + 2 * 48px); margin-inline: auto; }
  .categorias .trilho-cat { justify-content: start; padding-inline: 48px; scroll-padding: 0 48px; }
  .cat-seta { width: 48px; }
}

/* ===== páginas internas (13/11) ===== */
.pagina-interna .topo .logo, .pagina-perfil .topo .logo { visibility: visible; }
.pag-capa { display: grid; gap: 22px; padding: 18px var(--lado) 6px; }
.pag-capa h1, .pag-titulo h1 { font-size: 2.2rem; font-weight: 700; line-height: 1.08; letter-spacing: -0.03em; color: var(--marca); margin: 0; }
.pag-capa h1 span, .pag-titulo h1 span { color: var(--cinza); }
.pag-sub { margin-top: 14px; font-size: 1.08rem; line-height: 1.45; color: var(--tinta); }
.pag-acoes { display: grid; gap: 10px; margin-top: 22px; max-width: 420px; }
.pag-capa-foto { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
.pag-titulo { padding: 26px var(--lado) 4px; }
.pag-bloco { padding-inline: var(--lado); }
.pag-bloco h2 { padding-inline: 0; }
.pag-texto p { margin: 0 0 14px; font-size: 1.05rem; line-height: 1.55; }
.pag-texto a { color: var(--link); text-decoration: underline; }
.trilho-galeria { grid-auto-columns: 70%; }
.trilho-largo { grid-auto-columns: 88%; }
.cartao-foto-retrato { margin: 0; }
.cartao-foto-retrato img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; }
.cartao-antes-depois { margin: 0; background: #fff; }
.cartao-antes-depois img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cartao-antes-depois figcaption { padding: 12px 16px; font-size: .9rem; font-weight: 600; }
.tabela-caixa { background: #fff; border-radius: var(--raio); padding: 6px 18px; }
.tabela-viva { width: 100%; border-collapse: collapse; font-size: .98rem; }
.tabela-viva td { padding: 12px 0; border-bottom: 1px solid var(--linha); vertical-align: top; }
.tabela-viva tr:last-child td { border-bottom: 0; }
.tabela-viva .t-tempo { padding-inline: 10px; color: var(--cinza); font-size: .85rem; white-space: nowrap; }
.tabela-viva .t-valor { text-align: right; font-weight: 600; white-space: nowrap; }
.tabela-secao th { padding: 22px 0 6px; text-align: left; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--marca); }
.tabela-nota td { font-size: .85rem; color: var(--cinza); }
.tabela-obs { margin-top: 12px; font-size: .85rem; color: var(--cinza); }
.aviso-forte { font-weight: 600; color: var(--marca); }
.pag-chamada { margin: 50px var(--lado) 10px; padding: 36px 24px; border-radius: var(--raio); background: #2A211C; color: #fff; text-align: center; }
.pag-chamada h2 { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 10px; }
.pag-chamada p { margin: 0 0 22px; color: #D9CBBE; }
.pag-chamada .pilula { display: inline-flex; }
.pag-produtos { width: 100%; max-width: 520px; margin: 0 auto; border-radius: var(--raio); background: #fff; }
.mapa iframe { width: 100%; height: 340px; border: 0; border-radius: var(--raio); }
.contatos { list-style: none; padding: 0; margin: 0; background: #fff; border-radius: var(--raio); padding: 4px 18px; }
.contatos li { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.contatos li:last-child { border-bottom: 0; }
.contatos span { color: var(--cinza); }
.contatos a { color: var(--link); text-align: right; word-break: break-all; }
.passos { margin: 0; padding-left: 22px; font-size: 1.05rem; line-height: 1.5; }
.passos li { margin-bottom: 10px; }
.form-vaga { display: grid; gap: 14px; max-width: 520px; }
.form-vaga label { display: grid; gap: 6px; font-weight: 600; font-size: .95rem; }
.form-vaga small { font-weight: 400; color: var(--cinza); }
.form-vaga input, .form-vaga select, .form-vaga textarea { font: inherit; font-weight: 400; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; }
.form-vaga button { border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.grade-equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 22px 12px; }
@media (min-width: 900px) {
  .pag-capa { grid-template-columns: 1fr 440px; align-items: center; gap: 56px; max-width: 1100px; margin: 0 auto; padding: 40px 40px 10px; }
  .pag-capa h1, .pag-titulo h1 { font-size: 3.2rem; }
  .pag-titulo, .pag-bloco { max-width: 900px; margin-inline: auto; padding-inline: 40px; }
  .pag-titulo { padding-top: 50px; }
  .pag-acoes-linha { grid-auto-flow: column; max-width: none; justify-content: start; }
  .pag-chamada { max-width: 900px; margin: 70px auto 10px; }
  .trilho-galeria { grid-auto-columns: 360px; }
  .trilho-largo { grid-auto-columns: 640px; }
  .pagina-interna .secao h2 { text-align: left; }
  .pagina-interna .secao.equipe h2, .pagina-interna .secao:not(.pag-bloco) h2 { text-align: center; }
}
body.pagina-interna .topo .logo, body.pagina-perfil .topo .logo { visibility: visible; }
.tabela-viva small.t-tempo { display: block; padding: 2px 0 0; font-size: .8rem; color: var(--cinza); }
.tabela-viva .t-valor { padding-left: 14px; }
/* menu: cada item numa caixa arredondada (13/11) */
.menu { gap: 8px; }
.menu a { display: block; padding: 14px 18px; border: 1px solid var(--linha); border-radius: 18px; background: #fff; font-size: 1.15rem; }
.menu a:hover { border-color: var(--marca); }
@media (min-width: 900px) {
  .menu { grid-template-columns: repeat(3, 1fr); max-width: 1000px; margin-inline: auto; }
}
.contatos span { flex-shrink: 0; } .contatos a { word-break: normal; overflow-wrap: anywhere; font-size: .95rem; }

/* ===== página Kérastase (13/11) ===== */
.pagina-kerastase { --k-preto: #0D0C0B; --k-ouro: #B89A6A; --k-marfim: #F7F3EC; background: var(--k-marfim); }
.pagina-kerastase .topo { background: rgba(13,12,11,.92); color: #fff; }
.pagina-kerastase .topo .logo img { filter: none; }
.pagina-kerastase .topo .icone { color: #fff; }
.pagina-kerastase .topo svg { stroke: #fff; }
.k-capa { position: relative; min-height: 88svh; display: grid; align-items: end; background: var(--k-preto); color: #fff; overflow: hidden; }
.k-capa-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: .55; }
.k-capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,12,11,.95) 10%, rgba(13,12,11,.2) 60%, rgba(13,12,11,.5)); }
.k-capa-texto { position: relative; z-index: 1; padding: 0 var(--lado) 52px; text-align: center; }
.k-logo { width: 190px; height: auto; margin: 0 auto 18px; }
.k-selo { margin: 0 0 18px; font-size: .74rem; letter-spacing: .28em; text-transform: uppercase; color: var(--k-ouro); }
.k-capa h1 { margin: 0; font-size: 2.6rem; font-weight: 300; letter-spacing: -0.01em; }
.k-sub { margin: 12px auto 28px; max-width: 420px; font-size: 1.08rem; color: #D8D2C8; }
.k-botao { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 32px; border-radius: 999px; background: #fff; color: var(--k-preto); font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.k-botao-contorno { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.6); }
.k-secao { padding: 64px var(--lado); }
.k-kicker { margin: 0 0 12px; font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: var(--k-ouro); text-align: center; }
.k-secao h2, .k-final h2 { margin: 0 0 14px; font-size: 1.9rem; font-weight: 300; line-height: 1.15; letter-spacing: -0.01em; text-align: center; color: var(--k-preto); }
.k-secao h2 em { font-style: normal; color: #8C8279; }
.k-h2-2 { margin-top: 56px !important; }
.k-texto { margin: 0 auto 26px; max-width: 520px; text-align: center; color: #5E5750; line-height: 1.55; }
.k-passos { display: grid; gap: 14px; margin-top: 30px; }
.k-passos div { padding: 26px 22px; background: #fff; border-radius: 22px; }
.k-passos span { font-size: .8rem; letter-spacing: .2em; color: var(--k-ouro); }
.k-passos h3 { margin: 8px 0 8px; font-size: 1.2rem; font-weight: 600; }
.k-passos p { margin: 0; color: #5E5750; line-height: 1.5; }
.k-claro { background: #fff; }
.k-prateleira { display: grid; grid-auto-flow: column; grid-auto-columns: 42%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--lado)); padding: 4px var(--lado) 10px; }
.k-prateleira::-webkit-scrollbar { display: none; }
.k-produto { margin: 0; scroll-snap-align: start; display: grid; justify-items: center; gap: 12px; padding: 22px 10px 18px; background: var(--k-marfim); border-radius: 22px; text-align: center; }
.k-produto img { height: 190px; width: 100%; object-fit: contain; }
.k-prateleira-fina .k-produto img { height: 210px; }
.k-produto figcaption { display: grid; gap: 4px; }
.k-produto strong { font-size: .95rem; }
.k-produto span { font-size: .8rem; color: #8C8279; }
.k-escuro { background: var(--k-preto); color: #fff; }
.k-escuro h2 { color: #fff; }
.k-escuro h2 em { color: #A79E93; }
.k-escuro .k-texto { color: #CFC8BE; }
.k-dupla { display: grid; gap: 30px; text-align: center; }
.k-dupla img { width: 100%; max-width: 460px; margin: 0 auto; border-radius: 22px; background: #fff; }
.k-galeria { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 24px calc(-1 * var(--lado)) 0; padding: 0 var(--lado); }
.k-galeria img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 22px; scroll-snap-align: start; }
.k-valor .tabela-caixa { max-width: 560px; margin: 0 auto; }
.k-valor .tabela-viva td { font-size: 1.1rem; }
.k-valor .tabela-obs { text-align: center; }
.k-final { padding: 70px var(--lado); background: var(--k-preto); color: #fff; text-align: center; }
.k-final h2 { color: #fff; }
.k-final p { margin: 0 0 26px; color: #CFC8BE; }
@media (min-width: 900px) {
  .k-capa { min-height: 86vh; }
  .k-capa h1 { font-size: 4.2rem; }
  .k-logo { width: 240px; }
  .k-secao { padding: 96px 40px; }
  .k-secao > * { max-width: 1100px; margin-inline: auto; }
  .k-secao h2, .k-final h2 { font-size: 2.8rem; }
  .k-passos { grid-template-columns: repeat(3, 1fr); }
  .k-prateleira { grid-auto-flow: row; grid-template-columns: repeat(6, 1fr); overflow: visible; margin: 0 auto; padding: 0; }
  .k-prateleira-fina, .k-linhas { grid-template-columns: repeat(5, 1fr); }
  .k-dupla { grid-template-columns: 1fr 1fr; align-items: center; text-align: left; }
  .k-dupla .k-kicker, .k-dupla h2, .k-dupla .k-texto { text-align: left; margin-left: 0; }
  .k-galeria { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin: 30px auto 0; padding: 0; }
}
.k-capa h1 { color: #fff; }
/* cadastro premiado: formulário (13/11) */
.form-cadastro fieldset { border: 0; margin: 0 0 6px; padding: 18px; background: #fff; border-radius: var(--raio); display: grid; gap: 14px; }
.form-cadastro legend { float: left; width: 100%; margin-bottom: 4px; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--marca); font-weight: 700; }
.form-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.form-opcoes label { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1px solid var(--linha); border-radius: 999px; font-weight: 500; cursor: pointer; }
.form-opcoes label:has(input:checked) { border-color: var(--marca); background: #F3EAE2; }
.form-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-aceite { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: 10px; font-weight: 400 !important; font-size: .92rem; }
.form-aceite input { margin-top: 3px; width: 18px; height: 18px; flex-shrink: 0; }
.form-aceite a { color: var(--link); text-decoration: underline; }
.form-erro { margin: 0; padding: 12px 14px; border-radius: 14px; background: #FBE9E4; color: #9A3412; font-size: .95rem; }
.form-cadastro .invalido input { border-color: #C2410C; background: #FFF7F4; }
.form-cadastro .invalido { color: #9A3412; }
.form-ok { padding: 28px 22px; background: #fff; border-radius: var(--raio); text-align: center; }
.form-ok h3 { margin: 0 0 8px; font-size: 1.4rem; color: var(--marca); }
.form-ok p { margin: 0 0 18px; }
.form-ok .pilula { display: inline-flex; }
.form-cadastro { max-width: 620px; }
.form-cadastro fieldset { min-width: 0; }
.form-cadastro input:not([type=radio]):not([type=checkbox]) { width: 100%; min-width: 0; box-sizing: border-box; }
.form-cadastro [hidden], .form-ok[hidden] { display: none !important; }
.form-dupla > label { min-width: 0; }
/* sem as setinhas redondas embaixo dos carrosséis (13/11) */
.setas { display: none !important; }
/* barra de rolagem embaixo dos carrosséis, no lugar das setinhas (13/11) */
.carrossel .trilho, .k-prateleira, .k-galeria { scrollbar-width: thin; scrollbar-color: #B9A797 #E7DED5; padding-bottom: 22px; }
.carrossel .trilho::-webkit-scrollbar, .k-prateleira::-webkit-scrollbar, .k-galeria::-webkit-scrollbar { display: block; height: 6px; }
.carrossel .trilho::-webkit-scrollbar-track, .k-prateleira::-webkit-scrollbar-track, .k-galeria::-webkit-scrollbar-track { background: #E7DED5; border-radius: 999px; margin-inline: var(--lado); }
.carrossel .trilho::-webkit-scrollbar-thumb, .k-prateleira::-webkit-scrollbar-thumb, .k-galeria::-webkit-scrollbar-thumb { background: #B9A797; border-radius: 999px; }
.carrossel .trilho::-webkit-scrollbar-thumb:hover { background: var(--marca); }
@media (min-width: 900px) { .carrossel .trilho::-webkit-scrollbar-track { margin-inline: 40px; } }
/* a barra nativa volta a ficar escondida; no lugar, a barrinha do barra.js */
.carrossel .trilho, .k-prateleira, .k-galeria { scrollbar-width: none !important; padding-bottom: 10px; }
.carrossel .trilho::-webkit-scrollbar, .k-prateleira::-webkit-scrollbar, .k-galeria::-webkit-scrollbar { display: none !important; }
.barra-rolagem { position: relative; height: 6px; margin: 10px var(--lado) 0; border-radius: 999px; background: #E4DAD0; cursor: pointer; touch-action: none; }
.barra-rolagem::before { content: ""; position: absolute; inset: -10px 0; }
.barra-rolagem span { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: #A8927F; transition: background .2s; }
.barra-rolagem:hover span { background: var(--marca); }
.barra-rolagem[hidden] { display: none; }
.k-escuro .barra-rolagem { background: #3A332E; }
@media (min-width: 900px) { .barra-rolagem { max-width: 360px; margin: 14px auto 0; } }
video.k-capa-foto { object-position: 72% center; opacity: .7; }
@media (min-width: 900px) { video.k-capa-foto { object-position: center; } }
/* Kérastase no celular: vídeo inteiro no alto (16:9), texto embaixo no preto (13/11) */
@media (max-width: 899px) {
  .k-capa { min-height: 0; display: block; }
  .k-capa::after { display: none; }
  video.k-capa-foto { position: relative; inset: auto; display: block; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; opacity: 1; }
  .k-capa-texto { padding: 30px var(--lado) 44px; background: linear-gradient(to bottom, #0D0C0B, #0D0C0B); }
}

/* ===== marcas, faixa de luxo (13/11) ===== */
.marcas { margin-top: 56px; padding: 64px var(--lado) 56px; background: #0D0C0B; color: #fff; text-align: center; }
.marcas-kicker { margin: 0 0 12px; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: #B89A6A; }
.marcas h2 { margin: 0 0 34px; font-family: "Bodoni Moda", Georgia, serif; font-weight: 400; font-size: 2rem; line-height: 1.15; }
.marcas h2 em { color: #A79E93; }
.marcas-destaque { display: grid; justify-items: center; gap: 14px; padding: 30px 20px; border: 1px solid rgba(184,154,106,.45); border-radius: 22px; transition: border-color .25s, background .25s; }
.marcas-destaque:hover { border-color: #B89A6A; background: rgba(184,154,106,.06); }
.marcas-destaque img { width: 210px; height: auto; }
.marcas-destaque span { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: #B89A6A; }
.marcas-lista { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.12); border-radius: 22px; overflow: hidden; }
.marcas-lista li { display: grid; gap: 4px; padding: 26px 10px; background: #0D0C0B; }
.marcas-lista strong { font-family: "Bodoni Moda", Georgia, serif; font-weight: 500; font-size: 1.45rem; letter-spacing: .02em; }
.marcas-lista span { font-size: .62rem; letter-spacing: .3em; text-transform: uppercase; color: #8C8279; }
@media (min-width: 900px) {
  .marcas { padding: 96px 40px 88px; margin-top: 80px; }
  .marcas > * { max-width: 1000px; margin-inline: auto; }
  .marcas h2 { font-size: 2.8rem; margin-bottom: 44px; }
  .marcas-destaque img { width: 280px; }
  .marcas-lista { grid-template-columns: repeat(4, 1fr); margin-top: 22px; }
  .marcas-lista strong { font-size: 1.8rem; }
}
.marcas h2, .marcas-kicker { text-align: center; }
/* marcas: versão clara (13/11 — o preto ficou pesado) */
.marcas { background: linear-gradient(180deg, #F3ECE3 0%, #EADFD2 100%); color: var(--tinta); }
.marcas h2 { color: #2A211C; }
.marcas h2 em { color: #8C7A6B; }
.marcas-kicker, .marcas-destaque span { color: #9C7B4E; }
.marcas-destaque { background: rgba(255,255,255,.55); border-color: rgba(156,123,78,.35); }
.marcas-destaque:hover { background: rgba(255,255,255,.85); border-color: #9C7B4E; }
.marcas-lista { background: rgba(156,123,78,.22); }
.marcas-lista li { background: #F7F2EB; }
.marcas-lista strong { color: #2A211C; }
.marcas-lista span { color: #9C8A7A; }
.marcas h2, .marcas-kicker { margin-left: auto; margin-right: auto; }
/* marcas: Keune e links (13/11) */
.marcas-lista a { display: grid; gap: 4px; color: inherit; }
.marcas-lista li { transition: background .2s; }
.marcas-lista li:hover { background: #fff; }
.marcas-lista li:last-child { grid-column: auto; }
@media (min-width: 900px) { .marcas-lista { grid-template-columns: repeat(4, 1fr); } .marcas-lista li:last-child { grid-column: auto; } }
/* páginas das marcas */
.m-capa { padding: 70px var(--lado) 50px; text-align: center; background: linear-gradient(180deg, #F3ECE3 0%, #EADFD2 100%); }
.m-capa h1 { display: grid; margin: 0; font-family: "Bodoni Moda", Georgia, serif; font-weight: 400; font-size: 3.4rem; line-height: 1; color: #2A211C; }
.m-capa h1 span { margin-top: 10px; font-family: Inter, sans-serif; font-size: .72rem; letter-spacing: .34em; text-transform: uppercase; color: #9C8A7A; }
.m-frase { margin: 24px auto 28px; max-width: 520px; font-family: "Bodoni Moda", Georgia, serif; font-size: 1.5rem; line-height: 1.25; color: #2A211C; }
.m-frase em { color: #8C7A6B; }
.m-capa .pilula { display: inline-flex; }
.m-usos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.m-usos li { display: grid; gap: 4px; padding: 18px 20px; background: #fff; border-radius: 18px; }
.m-usos span { color: var(--cinza); font-size: .95rem; }
.m-fotos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: var(--raio); scroll-snap-align: start; }
.m-outras { text-align: center; }
.m-outras p:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-family: "Bodoni Moda", Georgia, serif; font-size: 1.25rem; }
.m-outras a { color: #2A211C; }
@media (min-width: 900px) { .m-capa { padding: 110px 40px 80px; } .m-capa h1 { font-size: 5rem; } .m-frase { font-size: 2rem; max-width: 700px; } .m-usos { grid-template-columns: repeat(2, 1fr); } }
/* logos oficiais das marcas (13/11) */
.marcas-lista a { display: grid; place-items: center; min-height: 110px; padding: 0 14px; }
.marcas-lista img { width: 100%; max-width: 150px; height: 46px; object-fit: contain; }
.marcas-lista .logo-wella { height: 54px; }
.marcas-lista .logo-sebastian { height: 26px; }
.marcas-lista .logo-truss { height: 40px; }
.marcas-lista .logo-schwarzkopf, .marcas-lista .logo-keune { height: 50px; }
.m-logo { display: block; margin: 6px auto 0; width: min(320px, 72vw); height: 110px; object-fit: contain; }
/* política e termos (13/11) */
.texto-legal { padding-top: 34px; padding-bottom: 20px; max-width: 760px; margin-inline: auto; line-height: 1.6; }
.texto-legal h1 { font-size: 2.2rem; font-weight: 700; letter-spacing: -0.03em; color: var(--marca); margin: 0 0 6px; }
.texto-legal h2 { font-size: 1.15rem; font-weight: 700; color: var(--tinta); margin: 30px 0 8px; padding: 0; text-align: left !important; }
.texto-legal p, .texto-legal li { margin: 0 0 10px; }
.texto-legal ul { padding-left: 20px; margin: 0 0 10px; }
.texto-legal a { color: var(--link); text-decoration: underline; }
.rodape-fim a { color: inherit; text-decoration: underline; }
/* movimento ao rolar (efeitos.js) */
.vai-surgir { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--atraso, 0ms); }
.vai-surgir.surgiu { opacity: 1; transform: none; }
.pag-capa-foto, .k-dupla img { will-change: transform; transition: transform .1s linear; }
.pag-capa, .cartao-escuro, .k-dupla { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .vai-surgir { opacity: 1; transform: none; transition: none; } }
/* cartela So Pure (13/11) */
.cartela { list-style: none; margin: 0; padding: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 18px 10px; background: #fff; border-radius: var(--raio); }
.cartela li { display: grid; justify-items: center; gap: 4px; text-align: center; }
.cartela .tom { width: 54px; height: 54px; border-radius: 50%; box-shadow: inset 0 -6px 12px rgba(0,0,0,.25), inset 0 6px 10px rgba(255,255,255,.18), 0 0 0 3px #fff, 0 0 0 4px var(--linha); }
.cartela strong { font-size: .95rem; }
.cartela small { font-size: .72rem; line-height: 1.2; color: var(--cinza); }
.perfil-foto-extra { display: block; width: 100%; max-width: 560px; margin: 0 auto; border-radius: var(--raio); }
.t-valor .a-partir { font-weight: 400; font-size: .78rem; color: var(--cinza); margin-right: 4px; }
.marcas-lista .logo-wella { height: 58px; }
.marcas-lista .logo-schwarzkopf { height: 58px; }
.marcas-lista .logo-keune { height: 30px; }
.cartao-foto-retrato img { object-position: center 35%; }
/* linhas Kérastase completas (13/11) */
.k-produto img { mix-blend-mode: multiply; }
.k-produto-texto { align-content: center; min-height: 260px; }
.k-k { display: grid; place-items: center; width: 92px; height: 92px; margin: 0 auto; border-radius: 50%; background: #0D0C0B; color: #D9C08A; font-family: "Bodoni Moda", Georgia, serif; font-size: 2.6rem; }
@media (min-width: 900px) { .k-linhas { grid-template-columns: repeat(5, 1fr); row-gap: 14px; } }
/* ícone Kérastase: só o K (13/11) */
.cat-sinal.cat-k { background: #0D0C0B; color: #D9C08A; box-shadow: none; font-family: "Bodoni Moda", Georgia, serif; font-size: 3.4rem; font-weight: 400; }
.cartao-empilhado { display: flex; flex-direction: column; }
.cartao-empilhado .antes-depois { flex: 1; display: flex; flex-direction: column; gap: 3px; margin: 0; min-height: 320px; }
.cat-sinal.cat-k img { width: 58%; height: auto; aspect-ratio: 1; border-radius: 0; object-fit: contain; }
.trilho-grande .cartao > img, .trilho-grande .cartao > img.foto-topo { object-position: center 30%; }
.video-servico { display: block; width: 100%; max-width: 420px; margin: 0 auto; aspect-ratio: 9 / 16; border-radius: var(--raio); background: #000; object-fit: cover; }
