/* ============================================================
   Beaunique — Clínica de Beleza e Rejuvenescimento
   ============================================================ */

:root {
  --cream:      #FBF9F5;
  --cream-2:    #F5F2EC;
  --sand:       #EFE9DF;
  --ink:        #16120F;
  --ink-2:      #1E1712;
  --ink-3:      #0F0C09;
  --text:       #3B342D;
  --text-soft:  #6E655B;
  --hairline:   rgba(22,18,15,.12);

  --gold-1:     #C9962C;
  --gold-2:     #E8C978;
  --gold-text:  #A87D18;
  --gold-line:  rgba(201,150,44,.35);
  --terracotta: #B5563A;

  --serif: "Marcellus", "Bodoni Moda", Georgia, serif;
  --sans:  "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --gold-grad: linear-gradient(100deg, var(--gold-1), var(--gold-2));
  --shadow-lg: 0 30px 70px rgba(22,18,15,.18);
  --shadow-md: 0 14px 34px rgba(22,18,15,.14);

  --container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--text);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
p { margin: 0; }
button { font-family: inherit; cursor: pointer; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .3em;
  font-weight: 500;
  color: var(--gold-text);
  text-transform: uppercase;
}
section[style*="background: var(--ink)"] .eyebrow,
.on-dark .eyebrow { color: var(--gold-2); }

.section { padding: 108px 0; }
.section--tight { padding: 88px 0; }
@media (max-width: 900px) {
  .section { padding: 76px 0; }
  .section--tight { padding: 60px 0; }
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 52px;
  flex-wrap: wrap;
}
.section-head h2 { font-size: clamp(34px, 4.6vw, 56px); line-height: 1.04; }
.section-head p { max-width: 420px; font-size: 15px; line-height: 1.8; color: var(--text-soft); }

.btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 19px 40px;
  border: none;
  transition: filter .25s ease, transform .25s ease, background .25s ease, color .25s ease;
  white-space: nowrap;
}
.btn-gold { background: var(--gold-grad); color: var(--ink); }
.btn-gold:hover { filter: brightness(1.1); transform: translateY(-1px); }
.btn-outline { border: 1px solid rgba(255,255,255,.45); color: #fff; }
.btn-outline:hover { border-color: var(--gold-2); color: var(--gold-2); }
.btn-ink { background: var(--ink); color: var(--cream); }
.btn-ink:hover { background: var(--gold-text); }

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink);
}
.link-arrow .circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--gold-1);
  border-radius: 50%;
  color: var(--gold-text);
  transition: background .25s ease, color .25s ease;
  flex: none;
}
.link-arrow:hover .circle { background: var(--gold-grad); color: var(--ink); }
.link-arrow.on-dark { color: #fff; }

/* ---------------------------------- header — logo centralizada ---------------------------------- */
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 900;
  padding: 0 40px;
  transition: background .45s ease, box-shadow .45s ease;
}
/* grid 1fr/auto/1fr mantém a logo no centro exato, independente da
   largura dos menus laterais */
.nav__inner {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 44px; height: 96px;
  transition: height .45s ease;
}
.nav__side {
  display: flex; align-items: center; gap: 38px;
  list-style: none; margin: 0; padding: 0; min-width: 0;
}
.nav__side--left { justify-content: flex-end; }
.nav__side--right { justify-content: flex-start; }
.nav__side a {
  position: relative;
  font-size: 13px; font-weight: 400;
  letter-spacing: .15em; text-transform: uppercase;
  color: #fff; white-space: nowrap;
  transition: color .35s ease;
}
.nav__side a::after {
  content: ''; position: absolute; left: 0; bottom: -7px;
  width: 0; height: 1px; background: currentColor;
  transition: width .38s ease;
}
.nav__side a:hover::after { width: 100%; }

.nav__brand {
  width: 116px; height: 50px;
  display: flex; align-items: center; justify-content: center;
  transition: width .45s ease, height .45s ease;
}
.nav__logo { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.nav__logo--dark { display: none; }

/* estado sólido ao rolar */
.nav.is-scrolled {
  background: var(--cream);
  box-shadow: 0 2px 22px rgba(15,15,15,.08);
}
.nav.is-scrolled .nav__inner { height: 76px; }
.nav.is-scrolled .nav__brand { width: 96px; height: 42px; }
.nav.is-scrolled .nav__side a { color: var(--text); }
.nav.is-scrolled .nav__side a:hover { color: var(--gold-text); }
.nav.is-scrolled .nav__logo--light { display: none; }
.nav.is-scrolled .nav__logo--dark { display: block; }

.nav__toggle {
  display: none; position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  width: 40px; height: 32px; padding: 0;
  background: none; border: 0;
  flex-direction: column; justify-content: center; gap: 6px;
}
.nav__toggle span {
  display: block; height: 1px; width: 26px;
  background: #fff; transition: .35s ease;
}
.nav.is-scrolled .nav__toggle span { background: var(--text); }

/* o dropdown acompanha o estado do header: escuro enquanto o header está
   transparente sobre o hero, claro depois que ele vira sólido ao rolar */
.nav__mobile {
  display: none; list-style: none; margin: 0; padding: 0;
  background: var(--ink);
  max-height: 0; overflow: hidden;
  transition: max-height .45s ease, background .45s ease;
}
.nav.is-scrolled .nav__mobile { background: var(--cream); }

@media (max-width: 1180px) {
  .nav__side { gap: 24px; }
  .nav__side a { font-size: 11.5px; letter-spacing: .1em; }
  .nav__inner { gap: 26px; }
}
@media (max-width: 980px) {
  .nav { padding: 0 24px; }
  .nav__side { display: none; }
  .nav__toggle { display: flex; }
  .nav__inner { grid-template-columns: 1fr; justify-items: center; position: relative; height: 78px; }
  .nav__mobile { display: block; }
  .nav__mobile.is-open { max-height: 520px; }
  .nav__mobile a {
    display: block; padding: 16px 24px;
    font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--cream);
    border-bottom: 1px solid rgba(218,165,32,.18);
    transition: color .45s ease, border-color .45s ease;
  }
  .nav__mobile a:hover { color: var(--gold-2); }
  .nav.is-scrolled .nav__mobile a { color: var(--text); border-bottom-color: rgba(218,165,32,.12); }
  .nav.is-scrolled .nav__mobile a:hover { color: var(--gold-text); }
  .nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

/* ---------------------------------- hero ---------------------------------- */
.hero {
  position: relative;
  height: 100vh;
  min-height: 640px;
  max-height: 1200px;
  overflow: hidden;
  background: var(--ink);
}
.hero__media { position: absolute; inset: 0; }
.hero__media img {
  width: 100%; height: 100%; object-fit: cover; object-position: 60% 24%;
}
.hero__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(0deg, rgba(15,12,9,.98) 0%, rgba(15,12,9,.62) 48%, rgba(15,12,9,.38) 100%),
    linear-gradient(100deg, rgba(15,12,9,.82) 0%, rgba(15,12,9,.25) 62%);
}
.hero__content {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 90px;
}
.hero__content .container { display: flex; flex-direction: column; gap: 22px; max-width: 880px; margin: 0; padding-left: 64px; }
.hero__kicker { font-size: 13px; letter-spacing: .34em; color: var(--gold-2); font-weight: 500; }
.hero__title-1 { font-family: var(--serif); font-size: clamp(26px, 3.4vw, 40px); color: var(--cream); line-height: 1.15; }
.hero__title-2 {
  font-family: var(--serif);
  font-size: clamp(56px, 10vw, 124px);
  line-height: .9;
  margin-top: 14px;
  color: var(--gold-2);
  text-shadow: 0 2px 40px rgba(201,150,44,.35);
}
.hero__sub { max-width: 540px; font-size: 17px; font-weight: 300; line-height: 1.8; color: rgba(251,249,245,.85); }
.hero__actions { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.hero__scrolldown {
  position: absolute; right: 40px; bottom: 40px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  color: rgba(251,249,245,.65); font-size: 11px; letter-spacing: .2em;
}
.hero__scrolldown::after {
  content: ""; width: 1px; height: 44px; background: linear-gradient(180deg, var(--gold-2), transparent);
  animation: bqScroll 2.2s ease-in-out infinite;
}
@media (max-width: 700px) { .hero__scrolldown { display: none; } }
@media (max-width: 760px) {
  .hero__content .container { padding-left: 24px; }
}

/* credentials strip */
.stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--ink);
  border-top: 1px solid var(--gold-line);
}
.stats__item { padding: 40px 30px; border-right: 1px solid var(--gold-line); }
.stats__item:last-child { border-right: none; }
.stats__num { font-family: var(--serif); font-size: clamp(30px, 4vw, 44px); color: var(--gold-2); line-height: 1; }
.stats__label { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; margin-top: 10px; color: rgba(251,249,245,.68); }
@media (max-width: 720px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stats__item { border-bottom: 1px solid var(--gold-line); }
}

/* ---------------------------------- sobre ---------------------------------- */
.sobre { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: center; background: var(--cream-2); }
.sobre__text { padding: 100px 60px 100px clamp(24px, 6vw, 100px); display: flex; flex-direction: column; gap: 20px; }
.sobre__text .rule { display: flex; align-items: center; gap: 14px; }
.sobre__text .rule i { width: 64px; height: 2px; background: var(--gold-grad); display: block; }
.sobre__text .rule span { font-family: var(--serif); font-size: 20px; color: var(--gold-1); }
.sobre__text h2 { font-family: var(--serif); font-size: clamp(36px, 4.4vw, 58px); color: var(--ink); line-height: 1.08; }
.sobre__text p { font-size: 16px; line-height: 1.85; text-wrap: pretty; }
.sobre__gallery {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; padding: 60px clamp(24px, 6vw, 100px) 60px 40px; height: 760px;
}
.sobre__gallery img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.sobre__gallery .g1 { object-position: 50% 35%; }
.sobre__gallery .g2 { object-position: 50% 30%; }
.sobre__gallery .g3 { object-position: 50% 25%; }

@media (max-width: 980px) {
  .sobre { grid-template-columns: 1fr; }
  .sobre__text { padding: 70px 24px 40px; order: 2; }
  .sobre__gallery { padding: 0; order: 1; height: 460px; }
}
@media (max-width: 560px) {
  .sobre__gallery { grid-template-columns: 1fr; height: auto; gap: 8px; }
  .sobre__gallery img { height: 280px; }
}

/* ---------------------------------- tratamentos ---------------------------------- */
.tratamentos { position: relative; background: var(--ink-2); overflow: hidden; }
.tratamentos__media { position: absolute; inset: 0 auto 0 0; width: 34%; z-index: 0; overflow: hidden; }
.tratamentos__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; transition: transform 1.1s ease; }
.tratamentos__media:hover img { transform: scale(1.06); }
.tratamentos__title {
  position: relative; z-index: 2; width: 100%; text-align: center;
  font-family: var(--serif); font-weight: 400; margin: 0 0 0 -100px;
  font-size: clamp(32px, 4vw, 50px); color: var(--cream);
  padding: 64px 24px 0;
}
@media (max-width: 980px) { .tratamentos__title { margin-left: 0; } }
.tratamentos__panel {
  position: relative; z-index: 1; margin-left: 34%;
  padding: 46px 70px 70px 130px;
  display: flex; flex-direction: column;
}
.tratamento-item {
  position: relative; padding: 26px 0;
  transition: padding-left .4s ease;
}
.tratamento-item:hover { padding-left: 16px; }
.tratamento-item .icon {
  position: absolute; left: -162px; top: 22px;
  display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--cream); color: var(--gold-text);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  transition: background .4s ease, color .4s ease, transform .4s ease, box-shadow .4s ease;
}
.tratamento-item:hover .icon {
  background: var(--gold-grad); color: var(--ink);
  transform: scale(1.08);
  box-shadow: 0 12px 30px rgba(201,150,44,.4);
}
.tratamento-item .icon svg { width: 33px; height: 33px; }
.tratamento-item h3 {
  font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--cream);
  margin-bottom: 10px; font-weight: 500; transition: color .35s ease;
}
.tratamento-item:hover h3 { color: var(--gold-2); }
.tratamento-item p { font-size: 14.5px; line-height: 1.8; color: rgba(251,249,245,.7); }
@media (max-width: 980px) {
  .tratamentos__media { position: static; width: 100%; height: 320px; }
  .tratamentos__title { padding: 48px 24px 0; }
  .tratamentos__panel { margin-left: 0; padding: 40px 24px 60px; }
  .tratamento-item { padding: 22px 0 22px 66px; }
  .tratamento-item .icon { position: absolute; left: 0; top: 20px; width: 52px; height: 52px; }
  .tratamento-item .icon svg { width: 27px; height: 27px; }
}

/* ---------------------------------- parede de certificados ---------------------------------- */
.parede { position: relative; min-height: 720px; overflow: hidden; display: flex; align-items: center; }
.parede img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% 38%; }
.parede__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(251,249,245,.97) 0%, rgba(251,249,245,.88) 42%, rgba(251,249,245,.18) 100%); }
.parede__content { position: relative; padding: 90px 60px; max-width: 620px; display: flex; flex-direction: column; gap: 20px; }
.parede__content h2 { font-family: var(--serif); font-size: clamp(32px, 4vw, 52px); color: var(--ink); line-height: 1.1; }
.parede__content p { font-size: 16px; line-height: 1.85; color: var(--text); text-wrap: pretty; }
.parede__figures { display: flex; gap: 44px; margin-top: 12px; padding-top: 26px; border-top: 1px solid var(--hairline); }
.parede__figures .fig-num { font-family: var(--serif); font-size: 28px; color: var(--ink); }
.parede__figures .fig-label { font-size: 11px; letter-spacing: .16em; color: var(--text-soft); margin-top: 6px; text-transform: uppercase; }
@media (max-width: 780px) {
  .parede__scrim { background: linear-gradient(0deg, rgba(251,249,245,.97) 30%, rgba(251,249,245,.55) 100%); }
  .parede { align-items: flex-end; }
  .parede__content { padding: 40px 24px 50px; max-width: 100%; }
}

/* ---------------------------------- cuidados ---------------------------------- */
.cuidados { background: var(--cream-2); }
.cuidados__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.cuidado-card { background: var(--ink); color: var(--cream); display: flex; flex-direction: column; }
.cuidado-card__media { height: 280px; overflow: hidden; }
.cuidado-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s ease; }
.cuidado-card:hover .cuidado-card__media img { transform: scale(1.06); }
.cuidado-card__body { padding: 32px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.cuidado-card__body h3 { font-family: var(--serif); font-size: 28px; color: var(--gold-2); }
.cuidado-card__body p { font-size: 14.5px; line-height: 1.75; color: rgba(251,249,245,.72); }
.cuidado-card__body .link-arrow { margin-top: auto; color: var(--gold-2); font-size: 11px; }
.cuidado-card__body .link-arrow .circle { border-color: var(--gold-2); color: var(--gold-2); width: 36px; height: 36px; }
@media (max-width: 900px) { .cuidados__grid { grid-template-columns: 1fr; } }

/* ---------------------------------- resultados ---------------------------------- */
.ba-hero { background: var(--ink); color: var(--cream); }
.ba-disclaimer { font-size: 12px; color: rgba(251,249,245,.42); line-height: 1.7; }

.resultados-top { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.resultados-top__text { flex: 1 1 380px; max-width: 500px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.resultados-top__text h2 { font-family: var(--serif); font-size: clamp(34px, 4.6vw, 56px); color: var(--cream); line-height: 1.04; }
.resultados-top__text p { font-size: 16px; line-height: 1.8; color: rgba(251,249,245,.72); text-wrap: pretty; }
.ba-hint { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .16em; color: var(--gold-2); text-transform: uppercase; }

/* comparador arrastável — proporção travada na da imagem (280x380) */
.ba-slider {
  position: relative; flex: none; width: 420px; aspect-ratio: 280 / 380;
  overflow: hidden; cursor: ew-resize; user-select: none; touch-action: pan-y;
  border: 1px solid var(--gold-line); background: var(--ink-2);
}
.ba-slider .ba-half { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ba-slider .ba-half img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ba-slider .ba-after { clip-path: inset(0 0 0 50%); }
.ba-slider .ba-line {
  position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; pointer-events: none;
  background: linear-gradient(180deg, rgba(201,150,44,.2), var(--gold-2) 50%, rgba(201,150,44,.2));
}
.ba-slider .ba-handle {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--ink); border: 1px solid var(--gold-2); color: var(--gold-2);
  display: flex; align-items: center; justify-content: center; font-size: 16px;
}
.ba-slider .tag {
  position: absolute; bottom: 16px; font-size: 11px; letter-spacing: .2em; color: var(--cream);
  background: rgba(15,12,9,.75); padding: 8px 14px; pointer-events: none; text-transform: uppercase;
}
.ba-slider .tag--before { left: 16px; }
.ba-slider .tag--after { right: 16px; }

@media (max-width: 980px) {
  .resultados-top { flex-direction: column; align-items: stretch; gap: 40px; }
  .resultados-top__text { max-width: 100%; }
  .ba-slider { width: 100%; max-width: 420px; align-self: center; }
}

.resultados-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 46px;
}
.resultado-card { overflow: hidden; background: var(--ink-2); }
.resultado-card img { width: 100%; height: 420px; object-fit: cover; display: block; transition: transform .8s ease; }
.resultado-card:hover img { transform: scale(1.04); }
@media (max-width: 900px) {
  .resultados-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .resultado-card img { height: 360px; }
}
@media (max-width: 560px) {
  .resultados-grid { grid-template-columns: 1fr; }
  .resultado-card img { height: 420px; }
}

/* ---------------------------------- procedimentos ---------------------------------- */
.procedimentos { background: var(--cream-2); }
.procedimentos .container { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; }
.procedimentos__intro { display: flex; flex-direction: column; gap: 18px; justify-content: center; }
.procedimentos__intro h2 { font-family: var(--serif); font-size: clamp(32px, 4vw, 52px); color: var(--ink); line-height: 1.06; }
.procedimentos__intro p { font-size: 16px; line-height: 1.85; text-wrap: pretty; }
.proc-cat { display: flex; gap: 26px; padding: 26px 0; border-top: 1px solid var(--hairline); }
.proc-cat:last-of-type { border-bottom: 1px solid var(--hairline); }
.proc-cat .tag { font-family: var(--serif); font-size: 15px; letter-spacing: .18em; color: var(--gold-text); width: 92px; flex: none; text-transform: uppercase; }
.proc-cat p { font-size: 14.5px; line-height: 1.8; }
.proc-figures { display: flex; gap: 20px; margin-top: 30px; }
.proc-figures .box { flex: 1; background: var(--ink); color: var(--cream); padding: 28px; }
.proc-figures .box .n { font-family: var(--serif); font-size: 32px; color: var(--gold-2); }
.proc-figures .box p { font-size: 13.5px; color: rgba(251,249,245,.72); margin-top: 8px; line-height: 1.6; }
@media (max-width: 900px) {
  .procedimentos .container { grid-template-columns: 1fr; }
}

/* ---------------------------------- depoimentos ---------------------------------- */
.depoimentos { background: var(--ink-2); color: var(--cream); }

.depoimentos-marquee {
  display: flex; gap: 24px; height: 640px; overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
}
.depo-col { flex: 1; min-width: 0; overflow: hidden; }
.depo-col__track {
  display: flex; flex-direction: column; gap: 24px;
  animation: depoScroll var(--dur, 36s) linear infinite;
  will-change: transform;
}
.depo-col--b .depo-col__track { animation-direction: reverse; }
.depoimentos-marquee:hover .depo-col__track { animation-play-state: paused; }
@keyframes depoScroll {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .depo-col__track { animation: none; }
}

.depoimento-card {
  border: 1px solid var(--gold-line); padding: 30px 26px; display: flex; flex-direction: column; gap: 16px;
  flex: none; transition: background .3s ease, border-color .3s ease;
}
.depoimento-card:hover { border-color: var(--gold-1); background: rgba(201,150,44,.06); }
.depoimento-card .quote { font-family: var(--serif); font-size: 38px; color: var(--gold-1); line-height: .5; }
.depoimento-card p { font-size: 14.5px; line-height: 1.8; color: rgba(251,249,245,.85); }
.depoimento-card .author { font-family: var(--serif); font-size: 15px; letter-spacing: .06em; color: var(--gold-2); margin-top: auto; }

@media (max-width: 760px) {
  .depoimentos-marquee { height: 560px; gap: 16px; }
}
@media (max-width: 560px) {
  .depoimentos-marquee { height: 480px; }
  .depo-col--b { display: none; }
}

/* ---------------------------------- equipe ---------------------------------- */
.equipe { background: var(--cream-2); }
.equipe-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.equipe-card { display: flex; gap: 0; border: 1px solid var(--hairline); background: var(--cream); }
.equipe-card__photo { width: 220px; flex: none; overflow: hidden; background: var(--sand); }
.equipe-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.equipe-card__body { padding: 34px 30px; display: flex; flex-direction: column; gap: 10px; }
.equipe-card__body h3 { font-family: var(--serif); font-size: 27px; color: var(--ink); }
.equipe-card__body .role { font-size: 11px; letter-spacing: .16em; color: var(--gold-text); text-transform: uppercase; }
.equipe-card__body .crm { font-size: 11.5px; letter-spacing: .06em; color: var(--text-soft); border-bottom: 1px dashed var(--gold-1); align-self: flex-start; }
.equipe-card__body p.bio { font-size: 14px; line-height: 1.8; }
.equipe-card__body .ig {
  margin-top: auto; align-self: flex-start; font-size: 12px; letter-spacing: .1em; color: var(--ink);
  border-bottom: 1px solid var(--gold-1); padding-bottom: 4px;
}
.equipe-card__body .ig:hover { color: var(--gold-text); }
@media (max-width: 760px) {
  .equipe-grid { grid-template-columns: 1fr; }
  .equipe-card { flex-direction: column; }
  .equipe-card__photo { width: 100%; max-width: 320px; margin: 0 auto; height: auto; aspect-ratio: 4 / 5; }
}

/* ---------------------------------- o grupo ---------------------------------- */
.grupo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.grupo-card {
  background: var(--cream); border-bottom: 3px solid var(--gold-1);
  padding: 34px 28px; display: flex; flex-direction: column; gap: 14px;
  transition: background .3s ease, color .3s ease, transform .3s ease;
}
.grupo-card:hover { background: var(--ink); color: var(--cream); transform: translateY(-4px); }
.grupo-card .mark { font-family: var(--serif); font-size: 22px; color: var(--gold-1); }
.grupo-card h3 { font-family: var(--serif); font-size: 22px; }
.grupo-card p { font-size: 14px; line-height: 1.75; color: inherit; opacity: .8; }
.grupo-card .link-arrow { margin-top: auto; font-size: 11px; color: var(--gold-text); }
.grupo-card:hover .link-arrow { color: var(--gold-2); }
.grupo-card .link-arrow .circle { display: none; }
@media (max-width: 980px) { .grupo-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .grupo-grid { grid-template-columns: 1fr; } }

/* ---------------------------------- cta ---------------------------------- */
.cta { position: relative; background: var(--ink); overflow: hidden; padding: 96px 0; }
.cta::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(120% 160% at 82% 0%, rgba(201,150,44,.22), rgba(15,12,9,0) 62%);
}
.cta .container { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.cta h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 48px); color: var(--cream); line-height: 1.18; }

/* ---------------------------------- footer ---------------------------------- */
.site-footer { background: var(--ink-3); color: rgba(251,249,245,.7); padding: 80px 0 34px; border-top: 1px solid var(--gold-line); }
.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.footer-grid h4 { font-size: 12px; letter-spacing: .18em; color: var(--gold-2); font-weight: 500; margin-bottom: 14px; text-transform: uppercase; }
.footer-grid p { font-size: 14px; line-height: 1.85; font-weight: 300; margin-bottom: 14px; }
.footer-grid a:hover { color: var(--gold-2); }
.footer-grid .muted { color: rgba(251,249,245,.42); font-size: 12px; }
.footer-logo { display: flex; align-items: flex-start; justify-content: flex-end; }
.footer-logo img { width: 168px; }
.footer-bottom {
  margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(251,249,245,.12);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 12px; color: rgba(251,249,245,.4);
}
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-logo { justify-content: flex-start; grid-column: span 2; }
}
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } .footer-logo { grid-column: span 1; } }

/* ---------------------------------- floating whatsapp ---------------------------------- */
.wa-float {
  position: fixed; right: 26px; bottom: 26px; z-index: 90;
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--gold-grad); color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 30px rgba(22,18,15,.28);
  transition: transform .25s ease;
}
.wa-float:hover { transform: scale(1.08); }

/* ---------------------------------- reveal animation ---------------------------------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@keyframes bqScroll {
  0% { transform: scaleY(0); transform-origin: top; opacity: 0; }
  40% { transform: scaleY(1); transform-origin: top; opacity: 1; }
  60% { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* generic dark-section helper */
.bg-ink { background: var(--ink); color: var(--cream); }
