
/* ═══════════════════════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════════════════════ */
:root {
  /* Palette: Rose + Aubergine (default) */
  --aubergine:  #3B2838;
  --aubergine-lt: #5C4256;
  --rose:       #D4A89A;
  --rose-lt:    #EED7CC;
  --cream:      #F5EDE4;
  --ivory:      #FAF6F0;
  --champagne:  #C9A876;
  --champagne-lt:#E4CFA8;
  --ink:        #2A1F26;
  --mute:       #8A7A82;
  --mute-lt:    #D8CEC9;
  --line:       #E8DFD7;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Jost', system-ui, sans-serif;

  --pad-x: clamp(24px, 6vw, 120px);
  --section-y: clamp(80px, 11vw, 160px);
  --radius: 2px;
  --radius-lg: 4px;

  --easing: cubic-bezier(.22,.8,.32,1);
}

/* Alt palettes via [data-palette] */
[data-palette="champagne-ivory"] {
  --aubergine: #2E2418;
  --aubergine-lt: #4A3C2A;
  --rose: #C9A876;
  --rose-lt: #E4CFA8;
  --cream: #F7F1E7;
  --ivory: #FBF7F0;
  --champagne: #A8895A;
  --line: #E9E0D0;
}
[data-palette="navy-nude"] {
  --aubergine: #1B2D4F;
  --aubergine-lt: #3D5A8A;
  --rose: #C4956A;
  --rose-lt: #E8CCB0;
  --cream: #F8F5F0;
  --ivory: #FAFAF8;
  --champagne: #C4956A;
  --line: #E8EDF5;
}
[data-palette="noir"] {
  --aubergine: #1A1A1A;
  --aubergine-lt: #333333;
  --rose: #B89574;
  --rose-lt: #D4B895;
  --cream: #EDE7DF;
  --ivory: #F7F3EC;
  --champagne: #B89574;
  --line: #DDD5CC;
}

/* Density */
[data-density="spacious"] { --section-y: clamp(120px, 14vw, 200px); }
[data-density="compact"]  { --section-y: clamp(60px, 8vw, 100px); }

/* ═══════════════════════════════════════════════════════════════
   RESET
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  background: var(--ivory);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY BASE
═══════════════════════════════════════════════════════════════ */
.eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--champagne);
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.eyebrow::before {
  content: ''; width: 32px; height: 1px; background: currentColor;
}
.eyebrow--center { justify-content: center; }
.eyebrow--center::before { display: none; }
.eyebrow--center::after {
  content: ''; width: 32px; height: 1px; background: currentColor; margin-left: 16px;
}
.eyebrow--center::before {
  display: block; width: 32px; height: 1px; background: currentColor; margin-right: 0;
}

.display {
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  line-height: 1.02;
  letter-spacing: -0.01em;
  color: var(--aubergine);
}
.h1 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.005em;
  color: var(--aubergine);
}
.h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  line-height: 1.1;
  color: var(--aubergine);
}
.lead {
  font-family: var(--sans);
  font-weight: 300;
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.75;
  color: var(--ink);
  opacity: 0.82;
}
.body {
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.75;
  color: var(--ink);
}
.label {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════
   LAYOUT PRIMITIVES
═══════════════════════════════════════════════════════════════ */
.container { max-width: 1440px; margin: 0 auto; padding-inline: var(--pad-x); }
.section { padding-block: var(--section-y); }
.section--cream { background: var(--cream); }
.section--ivory { background: var(--ivory); }
.section--aubergine { background: var(--aubergine); color: var(--ivory); }
.section--aubergine .h1, .section--aubergine .h2, .section--aubergine .display { color: var(--ivory); }
.section--aubergine .body, .section--aubergine .lead { color: rgba(255,255,255,0.72); }
.section--aubergine .eyebrow { color: var(--champagne); }

.section-head { max-width: 860px; margin-bottom: clamp(48px, 6vw, 96px); }
.section-head .eyebrow { margin-bottom: 28px; }
.section-head .h1 { font-size: clamp(36px, 4.4vw, 64px); margin-bottom: 24px; }
.section-head .lead { max-width: 640px; }

/* ═══════════════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════════════════════════════ */
.announce {
  background: var(--aubergine);
  color: var(--ivory);
  padding: 10px 24px;
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  position: relative;
  z-index: 40;
}
.announce strong { color: var(--champagne); font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════════════════ */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250,246,240,0.86);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  max-width: 1440px; margin: 0 auto;
  padding: 18px var(--pad-x);
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.nav-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.nav-logo-mark {
  width: 38px; height: 38px;
  border: 1px solid var(--aubergine);
  display: grid; place-items: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 20px;
  color: var(--aubergine);
  font-weight: 400;
  letter-spacing: -0.02em;
}
.nav-logo-text { display: flex; flex-direction: column; gap: 2px; }
.nav-logo-name {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--aubergine);
}
.nav-logo-role {
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mute);
}
.nav-links {
  display: flex; gap: 36px;
  list-style: none;
}
.nav-links a {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: 0.5px;
  position: relative;
  padding-block: 4px;
  transition: color .25s var(--easing);
}
.nav-links a::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px; background: var(--champagne);
  transition: width .35s var(--easing);
}
.nav-links a:hover { color: var(--aubergine); }
.nav-links a:hover::after { width: 100%; }
.nav-li-cta { display: none; }
@media (max-width: 1200px) { .nav-li-cta { display: list-item !important; } }

.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: 1px solid var(--aubergine);
  background: var(--aubergine);
  color: var(--ivory);
  transition: all .3s var(--easing);
  cursor: pointer;
  text-decoration: none;
  border-radius: var(--radius);
}
.btn:hover { background: var(--aubergine-lt); border-color: var(--aubergine-lt); transform: translateY(-1px); }
.btn .arrow {
  width: 16px; height: 8px;
  display: inline-block;
  border-top: 1px solid currentColor;
  position: relative;
  transition: transform .3s var(--easing);
}
.btn .arrow::after {
  content: ''; position: absolute; right: 0; top: -3px;
  width: 7px; height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.btn:hover .arrow { transform: translateX(4px); }
.btn--ghost {
  background: transparent; color: var(--aubergine);
}
.btn--ghost:hover { background: var(--aubergine); color: var(--ivory); }
.btn--gold {
  background: var(--champagne); color: var(--ivory); border-color: var(--champagne);
}
.btn--gold:hover { background: var(--aubergine); border-color: var(--aubergine); }

.nav-mobile-toggle { display: none; }

/* ═══════════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════════ */
.hero {
  min-height: 88vh;
  padding-block: clamp(60px, 9vw, 120px);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(32px, 5vw, 88px);
  align-items: center;
  background:
    radial-gradient(ellipse 70% 90% at 100% 50%, var(--rose-lt) 0%, transparent 60%),
    var(--ivory);
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: 0; right: 0; width: 45%; height: 100%;
  background:
    linear-gradient(180deg, transparent 0%, rgba(212,168,154,0.1) 100%);
  pointer-events: none;
}
.hero-text {
  padding-left: var(--pad-x);
  position: relative; z-index: 2;
  max-width: 720px;
}
.hero-eyebrow { margin-bottom: 32px; }
.hero-title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(40px, 5.6vw, 84px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--aubergine);
  margin-bottom: 36px;
  white-space: pre-line;
}
.hero-title em {
  font-style: italic;
  color: var(--champagne);
  font-weight: 300;
}
.hero-lead {
  max-width: 520px;
  margin-bottom: 44px;
}
.hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.hero-meta {
  display: flex; gap: 32px; margin-top: 56px;
  padding-top: 32px; border-top: 1px solid var(--line);
  max-width: 520px;
}
.hero-meta-item { display: flex; flex-direction: column; gap: 4px; }
.hero-meta-value {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  font-style: italic;
  color: var(--aubergine);
  line-height: 1;
}
.hero-meta-label {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mute);
}

.hero-visual {
  position: relative;
  height: 78vh;
  max-height: 720px;
  margin-right: var(--pad-x);
  min-height: 540px;
}
.hero-portrait {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(59,40,56,0.05) 0%, rgba(59,40,56,0.25) 100%),
    linear-gradient(135deg, var(--rose) 0%, var(--rose-lt) 50%, var(--cream) 100%);
  border-radius: var(--radius);
  overflow: hidden;
  display: grid;
  place-items: center;
  text-align: center;
}
.hero-portrait::before {
  content: '';
  position: absolute;
  top: 24px; left: 24px; right: 24px; bottom: 24px;
  border: 1px solid rgba(255,255,255,0.3);
  pointer-events: none;
}
.hero-portrait-placeholder {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: rgba(59,40,56,0.45);
  letter-spacing: 0.05em;
  max-width: 260px;
  line-height: 1.5;
}
.hero-stamp {
  position: absolute;
  bottom: -40px;
  left: -40px;
  width: 140px; height: 140px;
  border-radius: 50%;
  background: var(--aubergine);
  color: var(--ivory);
  display: grid; place-items: center;
  text-align: center;
  box-shadow: 0 20px 60px rgba(59,40,56,0.25);
  animation: slow-spin 48s linear infinite;
}
.hero-stamp-inner {
  transform: rotate(0);
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  line-height: 1.3;
}
.hero-stamp-inner strong {
  display: block;
  font-family: var(--sans);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.5px;
  font-style: normal;
  color: var(--champagne);
  margin-bottom: 2px;
}
@keyframes slow-spin { to { transform: rotate(360deg); } }

.hero-crm {
  position: absolute;
  top: 24px; right: 24px;
  background: rgba(250,246,240,0.92);
  backdrop-filter: blur(8px);
  padding: 12px 18px;
  border: 1px solid rgba(59,40,56,0.08);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--aubergine);
  z-index: 3;
}

/* ═══════════════════════════════════════════════════════════════
   TRUST MARQUEE
═══════════════════════════════════════════════════════════════ */
.marquee {
  background: var(--cream);
  border-block: 1px solid var(--line);
  padding: 28px 0;
  overflow: hidden;
}
.marquee-track {
  display: flex;
  gap: 72px;
  animation: marquee 40s linear infinite;
  white-space: nowrap;
  align-items: center;
}
.marquee-item {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mute);
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.marquee-item::after {
  content: '◆';
  color: var(--champagne);
  font-size: 8px;
  margin-left: 72px;
}
@keyframes marquee {
  to { transform: translateX(calc(-50% - 36px)); }
}

/* ═══════════════════════════════════════════════════════════════
   SOBRE
═══════════════════════════════════════════════════════════════ */
.sobre {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.sobre-visual {
  position: relative;
  aspect-ratio: 4/5;
  background:
    linear-gradient(180deg, rgba(59,40,56,0.1) 0%, rgba(59,40,56,0.3) 100%),
    linear-gradient(135deg, var(--rose-lt), var(--cream));
  overflow: hidden;
  border-radius: var(--radius);
}
.sobre-visual::before {
  content: '';
  position: absolute;
  top: 20px; left: 20px; right: 20px; bottom: 20px;
  border: 1px solid rgba(255,255,255,0.4);
}
.sobre-visual-label {
  position: absolute;
  bottom: 40px; left: 40px; right: 40px;
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: var(--ivory);
  opacity: 0.8;
  letter-spacing: 0.05em;
}
.sobre-quote {
  position: absolute;
  top: -36px;
  right: -32px;
  width: 180px;
  height: 180px;
  background: var(--aubergine);
  color: var(--ivory);
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  z-index: 2;
  border-radius: var(--radius);
}

.sobre-content .eyebrow { margin-bottom: 24px; }
.sobre-content h2 {
  font-family: var(--serif);
  font-size: clamp(32px, 3.6vw, 54px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--aubergine);
  margin-bottom: 32px;
  letter-spacing: -0.01em;
}
.sobre-content h2 em { font-style: italic; color: var(--champagne); }
.sobre-bio p { margin-bottom: 20px; max-width: 540px; }

.credentials {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.credential {
  background: var(--ivory);
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.credential-label {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--champagne);
}
.credential-value {
  font-family: var(--serif);
  font-size: 17px;
  color: var(--aubergine);
  line-height: 1.35;
}
.credential-value em { font-style: italic; font-weight: 400; }

/* ═══════════════════════════════════════════════════════════════
   PROCEDIMENTOS
═══════════════════════════════════════════════════════════════ */
.proc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.proc-card {
  background: var(--ivory);
  padding: 44px 36px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: background .4s var(--easing);
  cursor: pointer;
  position: relative;
  min-height: 360px;
}
.proc-card:hover { background: var(--cream); }
.proc-card--featured { background: var(--aubergine); color: var(--ivory); }
.proc-card--featured:hover { background: var(--aubergine-lt); }

.proc-num {
  font-family: var(--serif);
  font-size: 14px;
  font-style: italic;
  color: var(--champagne);
  letter-spacing: 0.05em;
}
.proc-title {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.15;
  color: var(--aubergine);
  letter-spacing: -0.005em;
}
.proc-card--featured .proc-title { color: var(--ivory); }
.proc-title em { font-style: italic; }
.proc-desc {
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink);
  opacity: 0.78;
  font-weight: 300;
  flex: 1;
}
.proc-card--featured .proc-desc { color: rgba(255,255,255,0.72); }
.proc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.proc-tag {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 12px;
  border: 1px solid var(--line);
  color: var(--mute);
  border-radius: var(--radius);
}
.proc-card--featured .proc-tag {
  color: rgba(255,255,255,0.65);
  border-color: rgba(255,255,255,0.18);
}
.proc-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--aubergine);
  margin-top: 16px;
  transition: gap .3s var(--easing);
}
.proc-card--featured .proc-cta { color: var(--champagne); }
.proc-card:hover .proc-cta { gap: 16px; }

/* ═══════════════════════════════════════════════════════════════
   JORNADA
═══════════════════════════════════════════════════════════════ */
.jornada {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1px;
  background: rgba(255,255,255,0.08);
  margin-top: 64px;
}
.jornada-step {
  padding: 40px 32px;
  background: var(--aubergine);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}
.jornada-num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 64px;
  line-height: 1;
  color: var(--champagne);
  font-weight: 300;
  opacity: 0.85;
}
.jornada-title {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--ivory);
  line-height: 1.2;
}
.jornada-desc {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
}
.jornada-time {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--champagne);
  opacity: 0.8;
  padding-top: 16px;
  border-top: 1px solid rgba(201,168,118,0.2);
  margin-top: auto;
}

/* ═══════════════════════════════════════════════════════════════
   DIFERENCIAIS (Stats + Values)
═══════════════════════════════════════════════════════════════ */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border-block: 1px solid var(--line);
}
.stat {
  background: var(--cream);
  padding: 56px 32px;
  text-align: center;
}
.stat-value {
  font-family: var(--serif);
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 300;
  font-style: italic;
  color: var(--aubergine);
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.stat-value sup {
  font-size: 0.4em;
  font-style: normal;
  color: var(--champagne);
  vertical-align: super;
  margin-left: 4px;
  font-family: var(--sans);
  font-weight: 600;
}
.stat-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--mute);
}

/* ═══════════════════════════════════════════════════════════════
   ANTES / DEPOIS
═══════════════════════════════════════════════════════════════ */
.ba-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 64px;
}
.ba-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ba-slider {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--cream);
  cursor: ew-resize;
  border-radius: var(--radius);
  user-select: none;
}
.ba-side {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
}
.ba-before {
  background: linear-gradient(135deg, #D8CEC9, #B8AAA0);
}
.ba-after {
  background: linear-gradient(135deg, var(--rose-lt), var(--rose));
  clip-path: inset(0 0 0 50%);
}
.ba-label {
  position: absolute;
  top: 20px;
  padding: 6px 14px;
  background: rgba(250,246,240,0.92);
  color: var(--aubergine);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.ba-label-before { left: 20px; }
.ba-label-after  { right: 20px; }
.ba-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--ivory);
  transform: translateX(-50%);
  pointer-events: none;
  box-shadow: 0 0 24px rgba(0,0,0,0.15);
}
.ba-handle::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 44px; height: 44px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--ivory);
  border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(59,40,56,0.15);
}
.ba-handle::after {
  content: '‹›';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--aubergine);
  letter-spacing: -2px;
}
.ba-placeholder {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
}
.ba-meta { display: flex; align-items: baseline; justify-content: space-between; }
.ba-proc {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--aubergine);
  letter-spacing: -0.005em;
}
.ba-age {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mute);
}

.ba-disclaimer {
  margin-top: 48px;
  font-family: var(--sans);
  font-size: 11px;
  color: var(--mute);
  line-height: 1.7;
  max-width: 640px;
  font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════
   DEPOIMENTOS
═══════════════════════════════════════════════════════════════ */
.testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.testimonial {
  padding: 44px 36px;
  background: var(--ivory);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-radius: var(--radius);
  position: relative;
}
.testimonial::before {
  content: '"';
  position: absolute;
  top: 16px; left: 24px;
  font-family: var(--serif);
  font-size: 80px;
  line-height: 1;
  color: var(--champagne);
  opacity: 0.25;
  font-style: italic;
}
.testimonial-stars { display: flex; gap: 2px; color: var(--champagne); font-size: 14px; letter-spacing: 2px; }
.testimonial-body {
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  color: var(--aubergine);
  font-weight: 400;
  flex: 1;
  position: relative;
  z-index: 2;
}
.testimonial-author {
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 14px;
}
.testimonial-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rose), var(--rose-lt));
  display: grid; place-items: center;
  font-family: var(--serif);
  font-style: italic;
  color: var(--aubergine);
  font-weight: 400;
  font-size: 18px;
}
.testimonial-info { display: flex; flex-direction: column; gap: 2px; }
.testimonial-name {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--aubergine);
  letter-spacing: 0.5px;
}
.testimonial-proc {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mute);
}

/* ═══════════════════════════════════════════════════════════════
   CLÍNICA / ESTRUTURA
═══════════════════════════════════════════════════════════════ */
.clinica {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 260px 260px;
  gap: 16px;
  margin-top: 64px;
}
.clinica-tile {
  background: linear-gradient(135deg, var(--rose-lt), var(--cream));
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}
.clinica-tile::before {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(255,255,255,0.4);
}
.clinica-tile-label {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(59,40,56,0.5);
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
.clinica-tile--main { grid-row: 1/3; background: linear-gradient(180deg, rgba(59,40,56,0.15), rgba(59,40,56,0.45)), linear-gradient(135deg, var(--rose), var(--rose-lt)); }
.clinica-tile--main .clinica-tile-label { color: var(--ivory); }
.clinica-tile--dark { background: var(--aubergine); }
.clinica-tile--dark .clinica-tile-label { color: rgba(255,255,255,0.5); }

/* ═══════════════════════════════════════════════════════════════
   INSTAGRAM
═══════════════════════════════════════════════════════════════ */
.ig-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 32px;
  margin-bottom: 48px; flex-wrap: wrap;
}
.ig-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
.ig-post {
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--rose-lt), var(--cream));
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  cursor: pointer;
  transition: transform .4s var(--easing);
}
.ig-post:hover { transform: scale(1.03); }
.ig-post::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(59,40,56,0.4) 100%);
  opacity: 0;
  transition: opacity .3s var(--easing);
}
.ig-post:hover::before { opacity: 1; }
.ig-post:nth-child(2) { background: linear-gradient(135deg, var(--rose), var(--rose-lt)); }
.ig-post:nth-child(3) { background: linear-gradient(135deg, var(--cream), var(--ivory)); }
.ig-post:nth-child(4) { background: linear-gradient(135deg, var(--aubergine-lt), var(--rose)); }
.ig-post:nth-child(5) { background: linear-gradient(135deg, var(--rose-lt), var(--champagne-lt)); }
.ig-post:nth-child(6) { background: var(--aubergine); }
.ig-post-icon {
  position: absolute;
  top: 10px; right: 10px;
  color: var(--ivory);
  opacity: 0.8;
}

/* ═══════════════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════════════ */
.faq-wrap { max-width: 900px; margin-top: 48px; }
.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-q {
  width: 100%;
  text-align: left;
  padding: 28px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 400;
  color: var(--aubergine);
  line-height: 1.3;
  transition: color .25s var(--easing);
}
.faq-q:hover { color: var(--aubergine-lt); }
.faq-icon {
  width: 20px; height: 20px;
  flex-shrink: 0;
  position: relative;
  color: var(--champagne);
}
.faq-icon::before, .faq-icon::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 16px; height: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .3s var(--easing);
}
.faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[data-open="true"] .faq-icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .5s var(--easing);
}
.faq-item[data-open="true"] .faq-a { max-height: 400px; }
.faq-a-inner {
  padding: 0 0 32px 0;
  max-width: 720px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink);
  opacity: 0.82;
}

/* ═══════════════════════════════════════════════════════════════
   CONTATO / LOCATION
═══════════════════════════════════════════════════════════════ */
.contato {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(40px, 6vw, 80px);
  margin-top: 64px;
}
.contato-info .h2 {
  font-size: clamp(32px, 3.4vw, 48px);
  margin-bottom: 24px;
  color: var(--ivory);
  font-style: normal;
}
.contato-info .h2 em { font-style: italic; color: var(--champagne); }
.contato-info .lead { color: rgba(255,255,255,0.72); margin-bottom: 40px; max-width: 520px; }

.info-block {
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  align-items: start;
}
.info-block:last-of-type { border-bottom: 1px solid rgba(255,255,255,0.12); }
.info-label {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--champagne);
  padding-top: 4px;
}
.info-value {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--ivory);
}
.info-value strong { font-weight: 500; }
.info-value a { color: var(--ivory); border-bottom: 1px solid rgba(201,168,118,0.4); transition: color .25s; }
.info-value a:hover { color: var(--champagne); }

.contato-ctas { display: flex; gap: 16px; margin-top: 40px; flex-wrap: wrap; }
.btn--light {
  background: var(--ivory); color: var(--aubergine); border-color: var(--ivory);
}
.btn--light:hover { background: var(--champagne); border-color: var(--champagne); color: var(--ivory); }

.map-frame {
  position: relative;
  aspect-ratio: 4/5;
  background: var(--aubergine-lt);
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 440px;
}
.map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(0.85) contrast(0.95); z-index: 1; }
.map-overlay {
  position: absolute;
  bottom: 24px; left: 24px; right: 24px;
  z-index: 2;
  background: rgba(250,246,240,0.95);
  backdrop-filter: blur(8px);
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: var(--radius);
}
.map-overlay-text {
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  color: var(--aubergine);
  line-height: 1.4;
}
.map-overlay-link {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--champagne);
  border-bottom: 1px solid var(--champagne);
  padding-bottom: 2px;
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   CTA BLOCK FINAL
═══════════════════════════════════════════════════════════════ */
.cta-final {
  background: var(--cream);
  padding: clamp(80px, 10vw, 140px) var(--pad-x);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-final::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 50%, var(--rose-lt) 0%, transparent 40%),
    radial-gradient(circle at 80% 50%, var(--champagne-lt) 0%, transparent 40%);
  opacity: 0.5;
  pointer-events: none;
}
.cta-final-inner { position: relative; z-index: 2; max-width: 820px; margin: 0 auto; }
.cta-final .eyebrow { margin-bottom: 32px; }
.cta-final h2 {
  font-family: var(--serif);
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 300;
  line-height: 1.05;
  color: var(--aubergine);
  margin-bottom: 28px;
  letter-spacing: -0.01em;
}
.cta-final h2 em { font-style: italic; color: var(--champagne); }
.cta-final p {
  font-family: var(--sans);
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 300;
  line-height: 1.75;
  color: var(--ink);
  opacity: 0.78;
  max-width: 560px;
  margin: 0 auto 44px;
}
.cta-final-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
.footer {
  background: var(--aubergine);
  color: rgba(255,255,255,0.6);
  padding: 80px var(--pad-x) 40px;
}
.footer-top {
  max-width: 1440px; margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand .nav-logo-name { color: var(--ivory); }
.footer-brand .nav-logo-role { color: rgba(255,255,255,0.4); }
.footer-brand .nav-logo-mark { border-color: var(--ivory); color: var(--ivory); }
.footer-brand p {
  margin-top: 20px;
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 300;
  max-width: 320px;
  color: rgba(255,255,255,0.55);
}
.footer-col h4 {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--champagne);
  margin-bottom: 20px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col a {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.65);
  transition: color .2s var(--easing);
}
.footer-col a:hover { color: var(--champagne); }
.footer-bottom {
  max-width: 1440px; margin: 40px auto 0;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.4);
  flex-wrap: wrap;
}
.footer-bottom .legal-links { display: flex; gap: 24px; }
.footer-disclaimer {
  max-width: 1440px; margin: 40px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-family: var(--sans);
  font-size: 10px;
  line-height: 1.7;
  color: rgba(255,255,255,0.35);
  font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════
   FLOATING WHATSAPP
═══════════════════════════════════════════════════════════════ */
.wa-float {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #25D366;
  color: white;
  padding: 14px 20px 14px 16px;
  border-radius: 48px;
  box-shadow: 0 16px 40px rgba(37,211,102,0.35), 0 0 0 8px rgba(37,211,102,0.08);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: transform .3s var(--easing), box-shadow .3s var(--easing);
  animation: wa-pulse 2.4s ease-in-out infinite;
}
.wa-float:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 20px 50px rgba(37,211,102,0.45), 0 0 0 12px rgba(37,211,102,0.12); }
.wa-float-text { display: flex; flex-direction: column; line-height: 1.2; }
.wa-float-text small { font-size: 10px; opacity: 0.85; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; }
@keyframes wa-pulse {
  0%, 100% { box-shadow: 0 16px 40px rgba(37,211,102,0.35), 0 0 0 0 rgba(37,211,102,0.35); }
  50% { box-shadow: 0 16px 40px rgba(37,211,102,0.35), 0 0 0 14px rgba(37,211,102,0); }
}

/* ═══════════════════════════════════════════════════════════════
   TWEAKS PANEL
═══════════════════════════════════════════════════════════════ */
.tweaks-panel {
  position: fixed;
  bottom: 28px;
  left: 28px;
  z-index: 70;
  width: 320px;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 60px rgba(59,40,56,0.2);
  font-family: var(--sans);
  display: none;
  max-height: 80vh;
  overflow-y: auto;
}
.tweaks-panel[data-open="true"] { display: block; }
.tweaks-head {
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tweaks-head-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--aubergine);
}
.tweaks-body { padding: 20px; display: flex; flex-direction: column; gap: 24px; }
.tweak-group { display: flex; flex-direction: column; gap: 10px; }
.tweak-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mute);
}
.tweak-row { display: flex; flex-wrap: wrap; gap: 6px; }
.tweak-opt {
  padding: 8px 12px;
  border: 1px solid var(--line);
  font-size: 11px;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--ivory);
  cursor: pointer;
  transition: all .2s;
  border-radius: var(--radius);
  letter-spacing: 0.3px;
}
.tweak-opt:hover { border-color: var(--aubergine); }
.tweak-opt[data-active="true"] {
  background: var(--aubergine); color: var(--ivory); border-color: var(--aubergine);
}
.tweak-swatch {
  display: flex; gap: 8px;
  align-items: center;
}
.tweak-swatch-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all .2s;
  padding: 2px;
  background: white;
}
.tweak-swatch-btn[data-active="true"] { border-color: var(--aubergine); }
.tweak-swatch-inner {
  width: 100%; height: 100%;
  border-radius: 50%;
}
.tweak-swatch-btn[data-palette="rose-aubergine"] .tweak-swatch-inner {
  background: linear-gradient(135deg, #3B2838 50%, #D4A89A 50%);
}
.tweak-swatch-btn[data-palette="champagne-ivory"] .tweak-swatch-inner {
  background: linear-gradient(135deg, #2E2418 50%, #C9A876 50%);
}
.tweak-swatch-btn[data-palette="navy-nude"] .tweak-swatch-inner {
  background: linear-gradient(135deg, #1B2D4F 50%, #C4956A 50%);
}
.tweak-swatch-btn[data-palette="noir"] .tweak-swatch-inner {
  background: linear-gradient(135deg, #1A1A1A 50%, #B89574 50%);
}
.tweak-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: var(--ivory);
  font-family: var(--serif);
  font-size: 13px;
  color: var(--aubergine);
  border-radius: var(--radius);
  resize: vertical;
  min-height: 72px;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .nav-toggle { display: flex; }
  .nav-cta { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-text { padding-inline: var(--pad-x); }
  .hero-visual { margin-inline: var(--pad-x); height: 60vh; min-height: 400px; }
  .proc-grid { grid-template-columns: repeat(2, 1fr); }
  .sobre { grid-template-columns: 1fr; }
  .jornada { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .testimonials { grid-template-columns: 1fr; }
  .ba-gallery { grid-template-columns: repeat(2, 1fr); }
  .clinica { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .clinica-tile--main { grid-row: auto; aspect-ratio: 3/2; }
  .ig-grid { grid-template-columns: repeat(3, 1fr); }
  .contato { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
  /* ROZ Eyes tablet */
  #roz-eyes .container > div {
    grid-template-columns: 1fr !important;
    gap: clamp(32px, 4vw, 56px) !important;
  }
  #roz-eyes .container > div > div:last-child { height: 420px !important; }
}
@media (max-width: 640px) {
  .proc-grid { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .jornada { grid-template-columns: 1fr; }
  .ba-gallery { grid-template-columns: 1fr; }
  .clinica { grid-template-columns: 1fr; }
  .ig-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .hero-stamp { width: 100px; height: 100px; left: auto; right: -20px; bottom: -20px; }
  @media (max-width: 350px) { .hero-stamp { display: none; } }
  .credentials { grid-template-columns: 1fr; }
  .info-block { grid-template-columns: 1fr; gap: 8px; }
  .tweaks-panel { left: 12px; right: 12px; bottom: 90px; width: auto; }
  .wa-float .wa-float-text { display: none; }
  .wa-float { padding: 14px; }
  /* ROZ Eyes mobile */
  #roz-eyes .container > div { grid-template-columns: 1fr !important; }
  #roz-eyes .container > div > div:last-child { height: 320px !important; }
}


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE FIXES, Hamburger, breakpoints, typography, a11y
═══════════════════════════════════════════════════════════════ */

/* --- Hamburger Menu --- */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--aubergine);
  border-radius: 2px;
  transition: transform .3s var(--easing), opacity .3s;
}
.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);
}

/* --- Focus Indicators (acessibilidade) --- */
.btn:focus-visible,
.nav-links a:focus-visible,
.nav-logo:focus-visible,
.proc-cta:focus-visible,
.faq-q:focus-visible,
.wa-float:focus-visible {
  outline: 2px solid var(--aubergine);
  outline-offset: 3px;
  border-radius: 2px;
}

/* --- text-wrap balance em headings --- */
.h1, .h2, h1, h2, h3 { text-wrap: balance; }

/* --- Prefers reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* --- 1024px Hamburger (after base def) --- */
@media (max-width: 1200px) {
  .nav-toggle { display: flex !important; }
}

/* --- 768px Tablet portrait --- */
@media (max-width: 768px) {
  .jornada { grid-template-columns: repeat(2, 1fr); }
  .jornada-step { padding: clamp(24px, 4vw, 32px) clamp(16px, 3vw, 24px); }
  .jornada-num { font-size: 44px; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .ig-grid { grid-template-columns: repeat(3, 1fr); }
  #roz-eyes .container > div {
    grid-template-columns: 1fr !important;
    gap: clamp(32px, 4vw, 48px) !important;
  }
  #roz-eyes .container > div > div:last-child { height: 400px !important; }
}

/* --- 1024px: hamburger + proc-card especial --- */
@media (max-width: 1200px) {
  .nav-links {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--ivory);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 200;
    padding: 80px 24px 40px;
  }
  .nav-links.nav-open { display: flex !important; }
  .nav-links li { width: 100%; text-align: center; }
  .nav-links a {
    display: block;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid var(--line);
  }
  .proc-card-special {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
}

/* --- 640px Mobile --- */
@media (max-width: 640px) {
  /* Nav */
  .nav-inner { gap: 12px; }
  .nav-links {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--ivory);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 200;
    padding: 80px 24px 40px;
  }
  .nav-links.nav-open { display: flex; }
  .nav-links li { width: 100%; text-align: center; }
  .nav-links a {
    display: block;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid var(--line);
  }
  .nav-close {
    position: fixed;
    top: 20px;
    right: var(--pad-x);
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 201;
    width: 44px;
    height: 44px;
    display: none;
    align-items: center;
    justify-content: center;
    color: var(--aubergine);
  }
  .nav-open ~ .nav-close { display: flex; }
  /* .nav-cta ja oculto via 1024px rule */

  /* Typography mobile */
  .eyebrow { font-size: 10px; letter-spacing: 1.5px; }
  .jornada-num { font-size: 36px; }
  .jornada-desc { font-size: 14px; line-height: 1.65; }
  .jornada-time { font-size: 11px; }

  /* Proc card especial mobile */
  .proc-card-special {
    grid-column: 1 !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 40px 28px !important;
  }
  .proc-card-special > div:last-child { text-align: left; }

  /* ROZ Eyes */
  #roz-eyes .container > div > div:last-child { height: 280px !important; }

  /* IG Grid pequeno */
  .ig-grid { grid-template-columns: repeat(2, 1fr); }

  /* Clinica grid editorial mobile */
  .clinica-grid-editorial {
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(5, 220px) !important;
  }
  .clinica-grid-editorial > div:first-child {
    grid-row: auto !important;
    grid-column: auto !important;
  }
}

/* Ajuste do cartao de citacao na foto Sobre em telas pequenas */
@media (max-width: 767px) {
  .sobre-quote {
    top: 14px;
    right: 14px;
    width: 145px;
    height: auto;
    min-height: 115px;
    padding: 16px 13px;
    font-size: 12px;
    line-height: 1.4;
    max-width: calc(100% - 28px);
    box-sizing: border-box;
    overflow-wrap: break-word;
  }
}

/* --- 375px Small phones --- */
@media (max-width: 375px) {
  .ig-grid { grid-template-columns: 1fr !important; }
  .hero-meta { gap: 20px; flex-wrap: wrap; }
  .hero-meta-item { flex: 1 1 auto; min-width: 80px; }
}


/* Botao CTA dentro do nav-links: visivel apenas no overlay mobile */
@media (min-width: 1025px) {
  .nav-li-cta { display: none !important; }
}


/* --- 350px Ultra-small --- */
@media (max-width: 350px) {
  .jornada { grid-template-columns: 1fr !important; }
  .hero-meta { gap: 12px; flex-wrap: wrap; }
  .hero-meta-item { flex: 1 1 80px; }
  .hero-ctas { flex-direction: column; }
}


/* --- 320px Ultra-small fixes ---*/
@media (max-width: 320px) {
  .map-frame { min-height: 260px !important; aspect-ratio: auto !important; height: 260px; }
  .sobre-quote { max-width: 55% !important; font-size: 13px !important; }
  .stats { grid-template-columns: 1fr !important; }
  .stat { padding: 20px 16px; }
  .hero-ctas { flex-direction: column; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
}

/* Reveal animations */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s var(--easing), transform .8s var(--easing);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* MR Longevidade · integração 2027 */
.mr-intro-link{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--aubergine);text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:7px}
.mr-intro-link:hover{color:var(--aubergine-lt)}
.mr-section{background:var(--ivory);padding-block:clamp(72px,9vw,135px);border-top:1px solid var(--line)}
.mr-section .mr-heading{max-width:820px;margin-bottom:42px}
.mr-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(46px,6.3vw,85px);line-height:1.02;letter-spacing:-.045em;color:var(--aubergine);margin:20px 0 24px}
.mr-section h2 em{color:var(--aubergine-lt);font-weight:300}
.mr-section .mr-sub{max-width:710px;font-size:clamp(15px,1.4vw,18px);line-height:1.8;color:var(--mute)}
.mr-section .mr-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:40px 0 42px}
.mr-section .mr-tile{padding:34px 28px 36px;background:var(--cream);border:1px solid var(--line);min-height:224px;display:flex;flex-direction:column;justify-content:space-between}
.mr-section .mr-index{font-family:var(--serif);font-size:29px;color:var(--rose);font-style:italic}
.mr-section .mr-tile h3{font-family:var(--serif);font-weight:500;color:var(--aubergine);font-size:clamp(26px,2.5vw,36px);margin:12px 0}
.mr-section .mr-tile p{color:var(--mute);font-size:13px;line-height:1.8}
.mr-section .mr-plan{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}
.mr-section .mr-plan h3{font-family:var(--serif);color:var(--aubergine);font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.18}
.mr-section .mr-plan p{color:var(--mute);line-height:1.85;font-size:14px;margin-bottom:18px}
.mr-section .mr-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.mr-section .mr-small{color:var(--mute);font-size:11px;line-height:1.7;max-width:850px;margin-top:30px}
@media(max-width:760px){.mr-section .mr-tiles{grid-template-columns:1fr;gap:9px;margin:28px 0}.mr-section .mr-tile{min-height:0;padding:24px}.mr-section .mr-plan{grid-template-columns:1fr;gap:12px}.mr-section h2{font-size:clamp(40px,10.8vw,62px)}.mr-section .mr-actions .btn{width:100%;justify-content:center;text-align:center}.mr-section .mr-heading{margin-bottom:18px}}

.map-frame .optional-note[hidden] { display: none !important; }

.reveal {opacity:1;transform:none;}
:focus-visible {outline:3px solid #92623d;outline-offset:4px;}
.hero-crm {max-width:245px;line-height:1.6;letter-spacing:1px;}
.hero-stamp {font-family:var(--sans);font-size:12px;text-align:center;display:flex;align-items:center;justify-content:center;padding:20px;}
#privacy-options {position:fixed;bottom:12px;left:12px;z-index:9999;background:#faf6f0;color:#3b2838;border:1px solid #9c8078;border-radius:8px;padding:18px;width:min(420px,calc(100vw - 24px));box-shadow:0 4px 20px #0002;font:14px/1.5 Arial,sans-serif;}
#privacy-options[hidden] {display:none;}
.privacy-buttons {display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.privacy-buttons button,.privacy-settings {padding:10px 14px;cursor:pointer;border:1px solid #3b2838;background:#faf6f0;color:#3b2838;border-radius:4px;font:inherit;}
.optional-note {padding:20px;font:14px/1.6 var(--sans);}
@media(max-width:640px){.sobre-eventos-strip{grid-template-columns:1fr!important;} .proc-card-special{grid-template-columns:1fr!important;grid-column:1/-1!important;padding:24px!important;} .proc-card-special>div{text-align:left!important;} .proc-card-special .btn{white-space:normal;} #roz-eyes>.container>div{grid-template-columns:1fr!important;} .hero-crm{max-width:205px;font-size:10px;} }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Ajustes de identidade e legibilidade — novembro 2026 */
.nav-logo-mark { border: 0; width: 42px; height: 42px; background: rgba(250,246,240,.97); padding: 3px; flex-shrink: 0; }
.nav-logo-mark img { display:block; object-fit:contain; width:100%; height:100%; mix-blend-mode:multiply; }
.footer-brand .nav-logo-mark { background:var(--ivory); border: 0; }
.nav-logo-role { font-size: 10px; letter-spacing: 1.6px; }
.hero { width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,70px); }
.hero-text { min-width: 0; max-width: 800px; }
.hero-visual { min-width:0; }
.hero-stamp { width: 150px; height:150px; left:-30px; bottom:-35px; animation:none; }
.hero-stamp-inner { font-family: var(--serif); font-size:21px; font-weight:400; font-style:italic; line-height:1.12; letter-spacing:0; animation:slow-spin 42s linear infinite; }
.sobre-quote { display:flex; align-items:center; justify-content:center; text-align:center; font-size:19px; line-height:1.4; padding:22px; }
.proc-card--featured .proc-tags { color:rgba(255,255,255,.83); }
.proc-card--featured .proc-num {color:#e5bda6;}
.proc-card--featured .proc-cta {color:#e5bda6;}
.proc-desc { font-size:15px; line-height:1.75; opacity: .95; font-weight:400; }
.proc-card--featured .proc-desc { color:rgba(255,255,255,.91); }
.proc-tags { font-size:13px; line-height:1.5; }
.footer-col a { font-size:14px; line-height:1.65; color:rgba(255,255,255,.86); }
.footer-col h4 { font-size:12px; letter-spacing:1.5px; }
.footer-brand p { font-size:14px; line-height:1.7; color:rgba(255,255,255,.82); }
.footer-bottom, .footer-bottom a { font-size:12px; }
.proc-cta {font-size:12px;}
.credential-value {line-height:1.6;}
.mr-intro-link {font-size:13px; line-height:1.7;}
@media (max-width: 1024px) {
 .hero { grid-template-columns:1fr; }
 .hero-visual { width:auto; margin-left:var(--pad-x); }
 .hero-stamp { width:106px; height:106px; left:-15px; bottom:-18px; }
 .hero-stamp-inner {font-size:16px;}
}
@media (max-width: 767px) {
 .nav-logo-mark { width:35px; height:35px; padding:2px; }
 .sobre-quote { top:12px; right:12px; width:154px; min-height:120px; height:auto; padding:14px; font-size:15px; line-height:1.5; }
 .hero-stamp {width:102px;height:102px;}
 .hero-stamp-inner {font-size:15px;}
 .proc-desc {font-size:14px;}
 .footer-col a {font-size:14px;}
 .hero-crm {font-size:10px; line-height:1.45; max-width:185px;}
}
@media (prefers-reduced-motion:reduce){.hero-stamp-inner {animation:none;}}

/* Revisão de layout 09/11/2026 — hero alinhado ao grid e citação centralizada */
@media (min-width: 1025px) {
  .hero {
    width:100%; max-width:1440px; margin-inline:auto;
    padding-inline:var(--pad-x);
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    column-gap:clamp(30px, 4vw, 65px);
  }
  .hero-text { padding-inline:0; width:100%; max-width:none; }
  .hero-visual { width:100%; margin:0; }
  .hero-title { font-size:clamp(47px, 4.2vw, 72px); }
}
.sobre-quote {
  display:flex!important; flex-direction:column; align-items:center!important; justify-content:center!important;
  text-align:center!important; padding:22px 20px!important; box-sizing:border-box;
  width:190px; height:190px; top:0; right:0;
  line-height:1.5; font-size:18px; overflow-wrap:normal; word-break:normal;
}
#loc-tabs { flex-wrap:wrap; }
@media(max-width:767px){
  .sobre-quote { width:142px; height:142px; top:10px;right:10px; padding:12px!important; font-size:14px!important; line-height:1.45!important; }
  .hero { max-width:100%; }
  #loc-tabs button { flex:1 1 140px; }
}

/* ═══════════════════════════════════════════════════════════════
   PÁGINAS INTERNAS · novembro 2026
═══════════════════════════════════════════════════════════════ */
.skip-link { position:absolute; left:-9999px; top:0; background:var(--aubergine); color:var(--ivory); padding:12px 18px; z-index:100; font:14px var(--sans); }
.skip-link:focus { left:12px; top:12px; }

.nav-links { gap: 26px; }
.nav-links a[aria-current="page"] { color: var(--aubergine); font-weight: 500; }
.nav-links a[aria-current="page"]::after { width: 100%; }
.nav-li-mobile { display: none; }
@media (max-width: 1200px) { .nav-li-mobile { display: list-item; } }
.nav-links a, .nav-logo-name, .nav-logo-role, .nav .btn.nav-cta { white-space: nowrap; }
.nav-inner { gap: 28px; }
@media (min-width: 1201px) and (max-width: 1420px) {
  .nav-links { gap: 18px; }
  .nav-links a { font-size: 12.5px; letter-spacing: .1px; }
  .nav-inner { gap: 18px; }
  .nav .btn.nav-cta { padding: 12px 14px; letter-spacing: 1.2px; }
  .nav .btn.nav-cta .arrow { display: none; }
}
@media (min-width: 1201px) and (max-width: 1290px) {
  .nav .btn.nav-cta { display: none; }
}

/* Hero da home: complemento descritivo do H1 */
.hero-title .hero-h1-sub {
  display:block; margin-top:26px; white-space:normal;
  font-family:var(--sans); font-style:normal; font-weight:500;
  font-size:clamp(12px,.95vw,14px); line-height:1.7; letter-spacing:2.2px; text-transform:uppercase;
  color:var(--aubergine-lt); max-width:560px;
}
.hero-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; }

/* Hero das páginas internas */
.page-hero {
  background: radial-gradient(ellipse 60% 100% at 100% 30%, var(--rose-lt) 0%, transparent 62%), var(--ivory);
  padding-block: clamp(44px, 6vw, 92px) clamp(48px, 6vw, 88px);
  border-bottom: 1px solid var(--line);
}
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); gap:clamp(32px,5vw,80px); align-items:center; }
.page-hero-grid--solo { grid-template-columns:minmax(0,1fr); }
.page-hero h1 {
  font-family:var(--serif); font-weight:300; color:var(--aubergine);
  font-size:clamp(38px,4.7vw,70px); line-height:1.04; letter-spacing:-.012em; margin:22px 0 26px; max-width:900px;
  text-wrap:balance;
}
.page-hero h1 em { font-style:italic; color:var(--champagne); }
.page-hero .lead { max-width:680px; opacity:1; font-weight:400; color:#4a3b45; font-size:clamp(17px,1.25vw,20px); }
.page-hero .hero-ctas { margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; }
.page-hero-img { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); background:var(--rose-lt); }
.page-hero-img img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; }
.page-hero-img::after { content:''; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.45); pointer-events:none; }
.page-meta { margin-top:30px; font:400 12.5px/1.7 var(--sans); color:#6d5d66; letter-spacing:.3px; }
.page-meta strong { font-weight:600; color:var(--aubergine); }

.crumbs { font:400 12.5px/1.6 var(--sans); color:#6d5d66; letter-spacing:.4px; }
.crumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px 10px; }
.crumbs li + li::before { content:'/'; margin-right:10px; color:var(--champagne); }
.crumbs a { border-bottom:1px solid var(--line); }
.crumbs a:hover { color:var(--aubergine); border-color:var(--champagne); }

/* Corpo de texto */
.article { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:clamp(40px,6vw,104px); align-items:start; }
.article--solo { grid-template-columns:minmax(0,820px); }
.prose > * + * { margin-top:22px; }
.prose h2 {
  font-family:var(--serif); font-style:italic; font-weight:400; color:var(--aubergine);
  font-size:clamp(29px,3vw,44px); line-height:1.12; margin-top:clamp(52px,6vw,84px); text-wrap:balance; scroll-margin-top:110px;
}
.prose > h2:first-child { margin-top:0; }
.prose h3 { font-family:var(--serif); font-weight:500; color:var(--aubergine); font-size:clamp(22px,1.9vw,27px); line-height:1.25; margin-top:38px; scroll-margin-top:110px; }
.prose p, .prose li { font-family:var(--sans); font-weight:400; font-size:17px; line-height:1.82; color:#3d3038; }
.prose a:not(.btn):not(.link-card) { color:var(--aubergine); border-bottom:1px solid var(--champagne); transition:background .2s; }
.prose a:not(.btn):not(.link-card):hover { background:var(--rose-lt); }
.prose strong { font-weight:600; color:var(--aubergine); }
.prose ul, .prose ol { padding-left:0; list-style:none; display:grid; gap:12px; }
.prose ul li { position:relative; padding-left:30px; }
.prose ul li::before { content:''; position:absolute; left:0; top:.85em; width:16px; height:1px; background:var(--champagne); }
.prose ol { counter-reset:step; }
.prose ol li { position:relative; padding-left:52px; counter-increment:step; }
.prose ol li::before { content:counter(step, decimal-leading-zero); position:absolute; left:0; top:-2px; font:italic 300 26px/1.4 var(--serif); color:var(--champagne); }

.resumo { background:var(--cream); border-left:2px solid var(--champagne); padding:30px 32px 32px; }
.resumo .eyebrow { margin-bottom:16px; }
.resumo ul { gap:10px; }
.resumo li { font-size:16px !important; line-height:1.7 !important; }

.note { font:400 14px/1.75 var(--sans); color:#6d5d66; border-top:1px solid var(--line); padding-top:22px; margin-top:44px !important; }
.note strong { color:var(--aubergine); }

/* Lateral */
.aside { position:sticky; top:110px; display:grid; gap:18px; }
.aside-card { background:var(--aubergine); color:var(--ivory); padding:34px 30px 36px; }
.aside-card h2 { font:italic 400 28px/1.15 var(--serif); color:var(--ivory); margin:14px 0 14px; }
.aside-card p { font:400 15px/1.7 var(--sans); color:rgba(255,255,255,.84); margin-bottom:24px; }
.aside-card .btn { width:100%; justify-content:center; background:var(--ivory); color:var(--aubergine); border-color:var(--ivory); }
.aside-card .btn:hover { background:var(--champagne-lt); border-color:var(--champagne-lt); }
.aside-card small { display:block; margin-top:16px; font:400 12.5px/1.6 var(--sans); color:rgba(255,255,255,.7); }
.aside-list { border:1px solid var(--line); padding:26px 28px 28px; background:var(--ivory); }
.aside-list h2 { font:600 11px/1.4 var(--sans); letter-spacing:3px; text-transform:uppercase; color:#8b6b3d; margin-bottom:14px; }
.aside-list ul { list-style:none; display:grid; }
.aside-list a { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--line); font:400 15px/1.45 var(--sans); color:var(--ink); }
.aside-list li:first-child a { border-top:0; }
.aside-list a::after { content:'→'; color:var(--champagne); transition:transform .25s var(--easing); }
.aside-list a:hover { color:var(--aubergine); }
.aside-list a:hover::after { transform:translateX(4px); }
.aside-list a[aria-current="page"] { font-weight:600; color:var(--aubergine); }

/* Cartões de link */
.link-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.link-cards--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.link-cards--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.link-card { background:var(--ivory); padding:38px 32px 34px; display:flex; flex-direction:column; gap:14px; min-height:250px; transition:background .35s var(--easing); }
.link-card:hover { background:var(--cream); }
.link-card--dark { background:var(--aubergine); }
.link-card--dark:hover { background:var(--aubergine-lt); }
.link-card .k { font:600 11px/1.4 var(--sans); letter-spacing:3px; text-transform:uppercase; color:#8b6b3d; }
.link-card h3 { font-family:var(--serif); font-weight:400; font-size:clamp(25px,2.2vw,32px); line-height:1.12; color:var(--aubergine); }
.link-card h3 em { font-style:italic; }
.link-card p { font:400 15px/1.7 var(--sans); color:#55464f; }
.link-card .go { margin-top:auto; padding-top:14px; font:600 11.5px/1 var(--sans); letter-spacing:2.2px; text-transform:uppercase; color:var(--aubergine); display:inline-flex; gap:10px; align-items:center; transition:gap .3s var(--easing); }
.link-card:hover .go { gap:16px; }
.link-card--dark .k, .link-card--dark .go { color:#e5bda6; }
.link-card--dark h3 { color:var(--ivory); }
.link-card--dark p { color:rgba(255,255,255,.88); }

/* Destaque em duas colunas */
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(32px,6vw,104px); align-items:center; }
.split-img { aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); position:relative; background:var(--rose-lt); }
.split-img img { width:100%; height:100%; object-fit:cover; }
.split h2 { font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(34px,3.8vw,56px); line-height:1.08; color:var(--aubergine); margin:22px 0 22px; text-wrap:balance; }
.split p { font:400 17px/1.8 var(--sans); color:#3d3038; margin-bottom:18px; }
.split .cred { margin:28px 0 30px; display:grid; gap:0; }
.split .cred div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:16px 0; border-top:1px solid var(--line); font:400 15px/1.6 var(--sans); color:#3d3038; }
.split .cred span:first-child { font:600 10.5px/1.6 var(--sans); letter-spacing:2.5px; text-transform:uppercase; color:#8b6b3d; padding-top:3px; }

/* Locais */
.locais { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.local { border:1px solid rgba(255,255,255,.16); padding:32px 28px 30px; display:flex; flex-direction:column; gap:12px; }
.local .k { font:600 11px/1.4 var(--sans); letter-spacing:3px; text-transform:uppercase; color:var(--champagne); }
.local h3 { font:400 28px/1.15 var(--serif); color:var(--ivory); }
.local p { font:400 15px/1.7 var(--sans); color:rgba(255,255,255,.84); }
.local a.more { margin-top:auto; padding-top:12px; font:600 11.5px/1 var(--sans); letter-spacing:2.2px; text-transform:uppercase; color:#e5bda6; }
.local a.more:hover { color:var(--ivory); }
.section--cream .local, .section--ivory .local { border-color:var(--line); background:var(--ivory); }
.section--cream .local h3, .section--ivory .local h3 { color:var(--aubergine); }
.section--cream .local p, .section--ivory .local p { color:#55464f; }
.section--cream .local .k, .section--ivory .local .k, .section--cream .local a.more, .section--ivory .local a.more { color:#8b6b3d; }

.section-head--row { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; max-width:none; }
.section-head--row > div { max-width:760px; }
.section-head .lead { opacity:1; font-weight:400; color:#4a3b45; }
.section--aubergine .section-head .lead { color:rgba(255,255,255,.84); }
.faq-a-inner { opacity:1; font-weight:400; color:#3d3038; font-size:16px; }
.faq-a-inner a { border-bottom:1px solid var(--champagne); }
.faq-item[data-open="true"] .faq-a { max-height:900px; }
.faq-group-title { font:600 11px/1.4 var(--sans); letter-spacing:3px; text-transform:uppercase; color:#8b6b3d; margin:56px 0 4px; }
.jornada-desc { font-size:14.5px; color:rgba(255,255,255,.86); font-weight:400; }
.mr-section .mr-tile p { color:#55464f; font-size:15px; line-height:1.7; }
a.mr-tile { transition:background .35s var(--easing); }
a.mr-tile:hover { background:var(--rose-lt); }
.mr-tile .go { margin-top:16px; font:600 11.5px/1 var(--sans); letter-spacing:2.2px; text-transform:uppercase; color:var(--aubergine); }
a.proc-card { color:inherit; }
.footer-top { grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; }
.footer-disclaimer { font-size:12.5px; color:rgba(255,255,255,.72); font-style:normal; }
.footer-bottom { color:rgba(255,255,255,.7); }
.footer .privacy-settings { background:transparent; color:rgba(255,255,255,.86); border-color:rgba(255,255,255,.3); padding:6px 10px; font-size:12px; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 30px; }
.tags span { font:500 11.5px/1 var(--sans); letter-spacing:1.6px; text-transform:uppercase; padding:10px 14px; border:1px solid var(--line); color:var(--aubergine); background:var(--ivory); }

@media (max-width: 1200px) {
  .footer-top { grid-template-columns:1fr 1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .link-cards--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1024px) {
  .article { grid-template-columns:minmax(0,1fr); }
  .aside { position:static; }
  .page-hero-grid { grid-template-columns:minmax(0,1fr); }
  .page-hero-img { display:none; }
  .link-cards, .locais { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .split { grid-template-columns:minmax(0,1fr); }
  .split-img { max-width:460px; }
}
@media (max-width: 640px) {
  .link-cards, .link-cards--2, .link-cards--4, .locais { grid-template-columns:minmax(0,1fr); }
  .link-card { min-height:0; padding:30px 24px 28px; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .prose p, .prose li { font-size:16.5px; }
  .resumo { padding:24px 22px 26px; }
  .split .cred div { grid-template-columns:1fr; gap:4px; }
  .page-hero .hero-ctas .btn { width:100%; justify-content:center; }
  .hero-title .hero-h1-sub { letter-spacing:1.6px; margin-top:20px; }
}

/* Cartões dentro do texto */
.prose a.link-card { border-bottom:0; }
.prose a.link-card:hover { background:var(--cream); }
.prose a.link-card--dark:hover { background:var(--aubergine-lt); }
.prose .link-cards { grid-template-columns:minmax(0,1fr); margin-top:28px; }
.prose .link-card { min-height:0; padding:28px 30px; gap:10px; }
.prose .link-card p { font-size:15.5px; line-height:1.7; color:#55464f; }
.prose .link-card--dark p { color:rgba(255,255,255,.88); }
.prose .link-card .go { padding-top:6px; }
.prose figure { margin:0; }
.prose .resumo a:not(.btn) { border-bottom:1px solid var(--champagne); }

/* Menu no celular: o desfoque do cabeçalho prendia o painel fixo dentro da barra */
@media (max-width: 1200px) {
  .nav { backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--ivory); }
  .nav-links { justify-content:flex-start; gap:0; padding:92px 24px 40px; overflow-y:auto; }
  .nav-links a { padding:15px 12px; white-space:normal; }
  .nav-links a::after { display:none; }
  .nav-links .nav-li-cta { margin-top:22px; }
  .nav-links .nav-li-cta a.btn { justify-content:center; border-bottom:0; color:var(--ivory); padding:16px 24px; font-size:12px; }
  .nav-toggle { position:relative; z-index:210; }
}
.split-img picture, .page-hero-img picture, .hero-portrait picture { display:block; width:100%; height:100%; }
@media (min-width: 1201px) { .footer-top { grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; gap:36px; } }
