/* ============================================================
   layout-2.css — adrianapsi2
   Estrutura inspirada em drguilhermebretas.com
   Paleta original da Adriana (petróleo + cobre + cream)
   ============================================================ */

body { background: var(--bg); color: var(--fg); font-family: var(--font-body); }

/* ===== NAV ===== */
.lp2-nav {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  background: rgba(246, 247, 242, 0.88);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid rgba(220, 222, 215, 0.6);
  box-shadow: 0 1px 0 rgba(11, 14, 12, 0.02), 0 6px 24px -12px rgba(11, 14, 12, 0.08);
  transition: background 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}
.lp2-nav__inner {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  min-height: var(--header-h);
  padding-top: var(--s-2);
  padding-bottom: var(--s-2);
}
.lp2-nav__brand {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  text-decoration: none;
  color: var(--fg);
}
/* Nav usa LOGO HORIZONTAL OFICIAL (pulmão + texto Victor Falcone Pneumopediatria) */
.lp2-nav__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--fg);
}
.lp2-nav__logo {
  display: block;
  height: 48px;
  width: auto;
  max-width: none;
}
@media (max-width: 720px) {
  .lp2-nav__logo { height: 40px; }
}
/* lp2-nav__mark e brand-text apenas pra fallback acessível (visualmente escondidos) */
.lp2-nav__mark,
.lp2-nav__brand-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.lp2-nav__brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.lp2-nav__brand-name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--petrol-12);
}
.lp2-nav__brand-tag {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-faint);
  margin-top: 2px;
}
.lp2-nav__menu {
  margin-left: auto;
  display: none;
  gap: var(--s-5);
}
@media (min-width: 960px) {
  .lp2-nav__menu { display: inline-flex; align-items: center; }
}
.lp2-nav__link {
  font-size: 0.92rem;
  color: var(--fg);
  text-decoration: none;
  letter-spacing: 0.01em;
  position: relative;
  padding: 4px 0;
  transition: color var(--dur-fast) var(--ease);
}
.lp2-nav__link::after {
  content: "";
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 1.5px;
  background: var(--copper-9);
  transition: width var(--dur-base) var(--ease);
}
.lp2-nav__link:hover { color: var(--petrol-11); }
.lp2-nav__link:hover::after { width: 100%; }
.lp2-nav__cta { display: none; }
@media (min-width: 960px) { .lp2-nav__cta { display: inline-flex; margin-left: var(--s-3); } }
.lp2-nav__toggle {
  display: inline-flex;
  margin-left: auto;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  width: 42px; height: 42px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ink);
  font-size: 1.4rem;
}
@media (min-width: 960px) { .lp2-nav__toggle { display: none; } }

.lp2-nav__drawer {
  position: fixed;
  top: var(--header-h);
  left: 0; right: 0;
  background: var(--cream);
  border-top: 1px solid var(--rule-soft);
  padding: var(--s-5) var(--gutter);
  flex-direction: column;
  gap: var(--s-3);
  z-index: var(--z-nav);
  box-shadow: var(--sh-card);
  display: none;
}
.lp2-nav__drawer:not([hidden]) { display: flex; }
@media (min-width: 960px) {
  .lp2-nav__drawer,
  .lp2-nav__drawer:not([hidden]) { display: none !important; }
}
.lp2-nav__drawer .lp2-nav__link { font-size: 1.05rem; padding: var(--s-2) 0; border-bottom: 1px solid var(--rule-soft); }
.lp2-nav__drawer .btn { margin-top: var(--s-2); }

/* ===== UTILS ===== */
.lp2-eyebrow {
  font-family: var(--font-body);
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--copper-10);
  font-weight: 600;
  margin: 0 0 var(--s-3);
}
.lp2-section-head { max-width: 720px; margin-bottom: var(--s-7); }
.lp2-section-head--center { text-align: center; margin-left: auto; margin-right: auto; }
.lp2-section-title {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: 400;
  line-height: 1.12;
  color: var(--petrol-12);
  margin: 0 0 var(--s-4);
  letter-spacing: -0.012em;
}
.lp2-section-lede {
  font-size: var(--fs-md);
  color: var(--fg-muted);
  line-height: 1.55;
  margin: 0;
  max-width: 60ch;
}

/* ===== HERO ===== */
.lp2-hero {
  padding: var(--section-y) 0 calc(var(--section-y) - var(--s-5));
  background:
    /* Wave pattern brand (figura humana sage, sutil) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 560' fill='none' stroke='%233F7E7B' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' opacity='0.10'><circle cx='540' cy='110' r='28' /><path d='M540 138 C520 175 470 200 415 220 M540 138 C560 175 610 200 665 220 M540 200 C510 240 450 290 410 310 M540 200 C570 240 630 290 670 310 M540 280 C510 320 470 365 440 395 M540 280 C570 320 610 365 640 395' /></svg>") right 4% top 18% / 600px no-repeat,
    /* Gradient warm cream */
    linear-gradient(180deg, var(--cream-50) 0%, var(--cream-100) 100%);
  position: relative;
  overflow: hidden;
}
.lp2-hero::before {
  content: "";
  position: absolute;
  inset: -200px -200px auto auto;
  width: 720px; height: 720px;
  background: radial-gradient(closest-side, rgba(63, 126, 123, 0.08), transparent);
  pointer-events: none;
}
.lp2-hero::after {
  content: "";
  position: absolute;
  inset: auto auto -120px -180px;
  width: 480px; height: 480px;
  background: radial-gradient(closest-side, rgba(162, 188, 133, 0.14), transparent 75%);
  pointer-events: none;
  z-index: 0;
}
.lp2-hero__inner { z-index: 1; }
.lp2-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-8);
  align-items: center;
  position: relative;
}
@media (min-width: 960px) {
  .lp2-hero__inner { grid-template-columns: 1.05fr 0.95fr; gap: var(--s-9); }
}
.lp2-hero__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--copper-10);
  font-weight: 600;
  margin: 0 0 var(--s-4);
  padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--rule);
  display: inline-block;
}
.lp2-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.5rem);
  font-weight: 400;
  line-height: 1.05;
  color: var(--petrol-12);
  margin: 0 0 var(--s-4);
  letter-spacing: -0.018em;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .lp2-hero__title { white-space: normal; font-size: clamp(1.85rem, 7.6vw, 2.4rem); }
}
.lp2-hero__subtitle {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-md);
  font-weight: 400;
  color: var(--petrol-9);
  line-height: 1.4;
  margin: 0 0 var(--s-5);
  max-width: 56ch;
}
.lp2-hero__lede {
  font-size: var(--fs-body);
  color: var(--fg-muted);
  line-height: 1.65;
  margin: 0 0 var(--s-6);
  max-width: 56ch;
}
.lp2-hero__cta { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-bottom: var(--s-6); }
.lp2-hero__badge { margin-top: var(--s-4); }
.lp2-hero__badge-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4);
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--r-full);
  font-size: 0.88rem;
  color: var(--fg-muted);
}
.lp2-hero__badge-pill i { color: var(--petrol-9); font-size: 1.3em; }
.lp2-hero__badge-pill strong { color: var(--petrol-11); font-weight: 600; }

.lp2-hero__media {
  position: relative;
}
.lp2-hero__photo {
  margin: 0;
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-hero);
  background: var(--petrol-2);
  aspect-ratio: 4 / 5;
}
.lp2-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp2-hero__photo::after {
  content: "";
  position: absolute;
  inset: -8px -8px 12px -8px;
  border: 1px solid var(--copper-9);
  border-radius: var(--r-lg);
  z-index: -1;
  opacity: 0.6;
}
.lp2-hero__location {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  margin-top: var(--s-5);
  padding: var(--s-4) var(--s-5);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  box-shadow: var(--sh-2);
}
.lp2-hero__location i {
  color: var(--copper-9);
  font-size: 1.5rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.lp2-hero__location p { margin: 0; font-size: 0.9rem; color: var(--fg-muted); line-height: 1.5; }
.lp2-hero__location p strong { color: var(--petrol-11); font-weight: 600; }

/* ===== SOBRE — bg respirado warm (sem textura, gradient sutil) ===== */
.lp2-sobre {
  padding: var(--section-y) 0;
  background-color: var(--cream-50);
  background-image:
    radial-gradient(circle at 12% 18%, rgba(162, 188, 133, 0.10) 0%, transparent 42%),
    radial-gradient(circle at 88% 82%, rgba(63, 126, 123, 0.08) 0%, transparent 48%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
@media (max-width: 720px) {
  .lp2-sobre {
    background-image: none;
  }
}
.lp2-sobre::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 253, 248, 0.4);
  pointer-events: none;
  z-index: 0;
}
.lp2-sobre > * { position: relative; z-index: 1; }
.lp2-sobre__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-7);
  align-items: start;
}
@media (min-width: 960px) {
  .lp2-sobre__grid { grid-template-columns: 1.4fr 1fr; gap: var(--s-8); }
}
.lp2-sobre__body p {
  font-size: var(--fs-body);
  color: var(--fg);
  line-height: 1.7;
  margin: 0 0 var(--s-4);
  max-width: 60ch;
}
.lp2-sobre__lead {
  font-size: var(--fs-md) !important;
  color: var(--petrol-12) !important;
  font-weight: 400;
  line-height: 1.55 !important;
}
.lp2-sobre__quote {
  margin: var(--s-6) 0;
  padding: var(--s-5) var(--s-6);
  border-left: 3px solid var(--copper-9);
  background: var(--cream);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.lp2-sobre__quote p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-md);
  color: var(--petrol-11);
  margin: 0 0 var(--s-2) !important;
  line-height: 1.45;
}
.lp2-sobre__quote cite {
  font-style: normal;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--copper-10);
  font-weight: 600;
}
.lp2-sobre__credentials {
  list-style: none;
  padding: 0;
  margin: var(--s-6) 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-2);
}
@media (min-width: 600px) {
  .lp2-sobre__credentials { grid-template-columns: 1fr 1fr; gap: var(--s-2) var(--s-5); }
}
.lp2-sobre__credentials li {
  font-size: 0.92rem;
  color: var(--fg-muted);
  padding: var(--s-2) 0;
  border-bottom: 1px solid var(--rule-soft);
}
.lp2-sobre__credentials strong { color: var(--petrol-11); font-weight: 600; }
.lp2-sobre__photo {
  margin: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 4 / 5;
  box-shadow: var(--sh-card);
}
.lp2-sobre__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Aside foto + quote Frankl (equilibra coluna direita do Sobre) */
.lp2-sobre__media {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}
.lp2-sobre__media .lp2-sobre__quote {
  margin: 0;
}

/* ===== CARDS GENERIC (Abordagens + Método) ===== */
.lp2-abordagens, .lp2-metodo {
  padding: var(--section-y) 0;
}
.lp2-abordagens { background: var(--cream); }
.lp2-metodo { background: var(--paper); }

.lp2-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-5);
}
@media (min-width: 720px) {
  .lp2-cards--3 { grid-template-columns: repeat(2, 1fr); }
  .lp2-cards--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1080px) {
  .lp2-cards--3 { grid-template-columns: repeat(3, 1fr); }
  .lp2-cards--4 { grid-template-columns: repeat(4, 1fr); }
}
.lp2-card {
  position: relative;
  padding: var(--s-6) var(--s-5);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.lp2-metodo .lp2-card { background: var(--cream); }
.lp2-card:hover {
  transform: translateY(-3px);
  border-color: var(--copper-4);
  box-shadow: var(--sh-card);
}
.lp2-card__num {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--copper-9);
  display: block;
  line-height: 1;
  margin-bottom: var(--s-3);
  letter-spacing: -0.02em;
}
.lp2-card__title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--petrol-12);
  margin: 0 0 var(--s-3);
  line-height: 1.25;
}
.lp2-card__title small {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--copper-10);
  font-weight: 600;
  margin-top: var(--s-1);
}
.lp2-card__text {
  font-size: 0.95rem;
  color: var(--fg-muted);
  line-height: 1.6;
  margin: 0 0 var(--s-3);
}
.lp2-card__text:last-child { margin-bottom: 0; }
.lp2-card--tall { padding: var(--s-7) var(--s-5); }

/* ===== PERFIS (Pra quem com CTA por card) ===== */
.lp2-perfis {
  padding: var(--section-y) 0;
  background: var(--cream-2);
}
.lp2-perfis__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-5);
  align-items: start;
}
@media (min-width: 720px) {
  .lp2-perfis__grid { grid-template-columns: repeat(2, 1fr); }
  .lp2-perfis__grid > .lp2-perfil:nth-child(1) { grid-column: 1 / -1; }
}

/* Secondary perfis grid — 2 cards lado a lado, sem destaque clínico */
.lp2-perfis__grid--secondary {
  margin-top: var(--s-5);
}
@media (min-width: 720px) {
  .lp2-perfis__grid--secondary { grid-template-columns: repeat(2, 1fr); }
  .lp2-perfis__grid--secondary > .lp2-perfil:nth-child(1) { grid-column: auto; }
}
.lp2-perfil {
  display: flex;
  flex-direction: column;
  padding: var(--s-6);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  box-shadow: var(--sh-2);
  transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}
.lp2-perfil:hover { transform: translateY(-4px); box-shadow: var(--sh-card-hover); }
.lp2-perfil__icon {
  width: 56px; height: 56px;
  border-radius: 999px;
  background: var(--cream);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  color: var(--petrol-9);
  margin-bottom: var(--s-4);
}
.lp2-perfil__title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-style: italic;
  font-weight: 400;
  color: var(--petrol-12);
  line-height: 1.4;
  margin: 0 0 var(--s-3);
}
.lp2-perfil__text {
  font-size: 0.95rem;
  color: var(--fg-muted);
  line-height: 1.65;
  margin: 0 0 var(--s-5);
  flex-grow: 1;
}
.lp2-perfil__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--petrol-9);
  text-decoration: none;
  border-bottom: 1px solid var(--petrol-4);
  align-self: flex-start;
  padding-bottom: 2px;
  transition: color var(--dur-fast) var(--ease), gap var(--dur-fast) var(--ease);
}
.lp2-perfil__cta:hover { color: var(--copper-10); border-bottom-color: var(--copper-9); gap: var(--s-3); }

/* ===== AVALIAÇÕES (Google Reviews) ===== */
.lp2-reviews {
  padding: var(--section-y) 0;
  background: var(--cream-2);
  position: relative;
}
.lp2-reviews .lp2-section-head { margin-left: auto; margin-right: auto; text-align: center; }
.lp2-reviews .lp2-section-title { margin-bottom: var(--s-3); }
/* Compensa letter-spacing à direita pra eyebrow ficar visualmente centralizado */
.lp2-section-head--center .lp2-eyebrow,
.lp2-reviews .lp2-eyebrow,
.lp2-contato .lp2-eyebrow,
.lp2-atend-map-head .lp2-eyebrow {
  text-align: center;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.22em;
  letter-spacing: 0.22em;
}
.lp2-section-head--center,
.lp2-atend-map-head { text-align: center; }
.lp2-reviews .lp2-section-lede {
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--fg-faint);
  max-width: 56ch;
  margin: var(--s-3) auto 0;
}
.lp2-stars-inline {
  display: inline-block;
  color: #E8B647;
  font-size: 0.95em;
  vertical-align: 2px;
  margin: 0 4px;
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1;
}
.lp2-reviews__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-4);
  max-width: 1080px;
  margin: 0 auto;
}
@media (min-width: 720px) {
  .lp2-reviews__grid { grid-template-columns: repeat(2, 1fr); gap: var(--s-5); }
  .lp2-review--featured { grid-column: 1 / -1; }
}
.lp2-review--featured {
  background: linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%);
  border-color: var(--copper-3);
  box-shadow: var(--sh-card);
  position: relative;
}
.lp2-review--featured::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--copper-9), var(--petrol-9));
  border-radius: var(--r-md) var(--r-md) 0 0;
}
.lp2-review--featured .lp2-review__text { font-size: 1rem; }

.lp2-review__badge {
  display: inline-block;
  margin-left: var(--s-2);
  padding: 2px 10px;
  background: var(--petrol-2);
  color: var(--petrol-11);
  border-radius: var(--r-full);
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  vertical-align: 2px;
  white-space: nowrap;
}
.lp2-review {
  display: flex;
  flex-direction: column;
  padding: var(--s-6);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  box-shadow: var(--sh-2);
  transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}
.lp2-review:hover { transform: translateY(-2px); box-shadow: var(--sh-card); }
.lp2-review__head {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-bottom: var(--s-4);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--rule-soft);
}
.lp2-review__avatar {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--copper-9);
  color: var(--cream);
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
}
.lp2-review--featured .lp2-review__avatar { background: var(--petrol-11); width: 52px; height: 52px; font-size: 1rem; }
.lp2-review:nth-child(2) .lp2-review__avatar { background: var(--copper-9); }
.lp2-review:nth-child(3) .lp2-review__avatar { background: var(--petrol-9); }
.lp2-review:nth-child(4) .lp2-review__avatar { background: var(--petrol-7); }
.lp2-review:nth-child(5) .lp2-review__avatar { background: var(--copper-7); }
.lp2-review__author { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.lp2-review__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--petrol-12);
  margin: 0;
}
.lp2-review__meta {
  font-size: 0.78rem;
  color: var(--fg-faint);
  margin: 2px 0 0;
  letter-spacing: 0.02em;
}
.lp2-review__stars { color: #E8B647; letter-spacing: 0.05em; }
.lp2-review__text {
  font-size: 0.95rem;
  color: var(--fg-muted);
  line-height: 1.65;
  margin: 0 0 var(--s-5);
  flex-grow: 1;
  font-style: italic;
}
.lp2-review__source {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--petrol-9);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--petrol-4);
  transition: color var(--dur-fast) var(--ease), gap var(--dur-fast) var(--ease), border-bottom-color var(--dur-fast) var(--ease);
}
.lp2-review__source:hover { color: var(--copper-10); border-bottom-color: var(--copper-9); gap: var(--s-3); }

.lp2-reviews__footer {
  margin-top: var(--s-7);
  text-align: center;
}
.lp2-reviews__note {
  font-size: 0.85rem;
  color: var(--fg-faint);
  margin: 0 0 var(--s-4);
  font-style: italic;
  max-width: 64ch;
  margin-left: auto;
  margin-right: auto;
}
.lp2-reviews__cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  justify-content: center;
  margin-top: var(--s-4);
}

/* ===== ATENDIMENTO (envelope verde escuro com gradient deep + teal) ===== */
.lp2-atend {
  padding: var(--section-y) 0;
  background-color: var(--deep-12);
  background-image:
    radial-gradient(circle at 18% 25%, rgba(63, 126, 123, 0.45) 0%, transparent 55%),
    radial-gradient(circle at 80% 75%, rgba(212, 178, 100, 0.12) 0%, transparent 45%),
    linear-gradient(135deg, rgba(3, 21, 15, 0.92) 0%, rgba(8, 41, 33, 0.85) 60%, rgba(14, 61, 51, 0.78) 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--cream-50);
  position: relative;
}
.lp2-atend::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 50% 100%, rgba(162, 188, 133, 0.08) 0%, transparent 60%);
  pointer-events: none;
}
.lp2-atend .lp2-eyebrow { color: var(--copper-5); }
.lp2-atend .lp2-section-title { color: var(--cream); }
.lp2-atend p { color: rgba(251, 247, 237, 0.78); }
.lp2-atend__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-7);
  align-items: center;
}
@media (min-width: 960px) {
  .lp2-atend__inner { grid-template-columns: 1.3fr 1fr; gap: var(--s-8); }
}
.lp2-atend__copy p {
  font-size: var(--fs-body);
  line-height: 1.65;
  margin: 0 0 var(--s-4);
  max-width: 60ch;
}
.lp2-atend__list {
  list-style: none;
  padding: 0;
  margin: var(--s-5) 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-2);
}
@media (min-width: 600px) {
  .lp2-atend__list { grid-template-columns: 1fr 1fr; gap: var(--s-2) var(--s-5); }
}
.lp2-atend__list li {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  font-size: 0.95rem;
  color: var(--cream);
  padding: var(--s-3) 0;
  border-bottom: 1px solid rgba(251, 247, 237, 0.15);
}
.lp2-atend__list li i { color: var(--copper-5); font-size: 1.2em; }
/* CTA na seção dark: cream knockout sobre deep — alto contraste, brand-consistent */
.lp2-atend__copy .btn--primary {
  background: var(--cream-50) !important;
  color: var(--deep-11) !important;
  margin-top: var(--s-4);
  box-shadow: 0 6px 24px -4px rgba(212, 178, 100, 0.30), 0 2px 8px rgba(0, 0, 0, 0.20);
}
.lp2-atend__copy .btn--primary span,
.lp2-atend__copy .btn--primary i { color: var(--deep-11) !important; }
.lp2-atend__copy .btn--primary:hover {
  background: var(--gold-9) !important;
  color: var(--deep-12) !important;
  box-shadow: 0 8px 32px -4px rgba(212, 178, 100, 0.50), 0 4px 12px rgba(0, 0, 0, 0.25);
}
.lp2-atend__copy .btn--primary:hover span,
.lp2-atend__copy .btn--primary:hover i { color: var(--deep-12) !important; }
.lp2-atend__copy .btn--primary:visited { color: var(--deep-11) !important; }

/* Quebra de linha mobile-only via spans (mais robusto que <br>) */
.lp2-title-line { display: inline; }
@media (max-width: 720px) {
  .lp2-title-line { display: block; }
  .lp2-title-line + .lp2-title-line { margin-top: 2px; }
}

.lp2-atend__aside {
  position: relative;
  padding: var(--s-7) var(--s-6);
  background: rgba(251, 247, 237, 0.06);
  border: 1px solid rgba(251, 247, 237, 0.12);
  border-radius: var(--r-lg);
}

/* Cards "Como funciona" — 2 modalidades + 4 itens de formato (LP2) */
.lp2-atend__cards {
  margin-top: var(--s-8);
  padding-top: var(--s-7);
  border-top: 1px solid rgba(251, 247, 237, 0.12);
}
.lp2-atend__modalidades {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-4);
  margin-bottom: var(--s-5);
}
@media (min-width: 720px) {
  .lp2-atend__modalidades { grid-template-columns: 1fr 1fr; gap: var(--s-5); }
}
.lp2-atend__card {
  padding: var(--s-6);
  background: rgba(251, 247, 237, 0.08);
  border: 1px solid rgba(251, 247, 237, 0.18);
  border-radius: var(--r-lg);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
}
.lp2-atend__card:hover {
  transform: translateY(-2px);
  border-color: var(--copper-5);
  background: rgba(251, 247, 237, 0.12);
}
.lp2-atend__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  border-radius: var(--r-md);
  background: rgba(251, 247, 237, 0.10);
  color: var(--copper-5);
  font-size: 1.6rem;
  margin-bottom: var(--s-3);
}
.lp2-atend__card-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--cream);
  margin: 0 0 var(--s-2);
  letter-spacing: -0.012em;
}
.lp2-atend__card-text {
  font-size: 0.95rem;
  color: rgba(251, 247, 237, 0.82);
  line-height: 1.6;
  margin: 0;
}

.lp2-atend__formato {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-3);
}
@media (min-width: 880px) {
  .lp2-atend__formato { grid-template-columns: repeat(4, 1fr); gap: var(--s-4); }
}
.lp2-atend__formato-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: var(--s-4) var(--s-3);
  background: rgba(251, 247, 237, 0.06);
  border: 1px solid rgba(251, 247, 237, 0.15);
  border-radius: var(--r-md);
}
.lp2-atend__formato-item--highlight {
  background: rgba(184, 149, 68, 0.15);
  border-color: var(--copper-5);
}
.lp2-atend__formato-icon {
  color: var(--copper-5);
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 2px;
}
.lp2-atend__formato-label {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--copper-5);
  font-weight: 600;
}
.lp2-atend__formato-value {
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--cream);
  font-weight: 500;
}
.lp2-atend__formato-hint {
  font-size: 0.72rem;
  color: rgba(251, 247, 237, 0.72);
  font-style: italic;
  margin-top: 2px;
}

/* Mapa dos 2 consultórios (Leaflet + OSM) — LP2 */
.lp2-atend-map-wrap {
  margin-top: var(--s-9);
  padding-top: var(--s-7);
  border-top: 1px solid rgba(251, 247, 237, 0.12);
}
.lp2-atend-map-head { text-align: center; margin-bottom: var(--s-5); }
.lp2-atend-map-head .lp2-eyebrow { color: var(--copper-5); }
.lp2-atend-map-title {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: 400;
  color: var(--cream);
  margin: var(--s-2) 0 0;
  letter-spacing: -0.015em;
}
.lp2-atend-map {
  width: 100%;
  height: 420px;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 20px 50px -15px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(251, 247, 237, 0.15);
  background: var(--petrol-11);
  z-index: 1;
  position: relative;
}
@media (max-width: 720px) {
  .lp2-atend-map { height: 320px; }
  .lp2-atend-map-wrap { margin-top: var(--s-7); padding-top: var(--s-5); }
}
.lp2-atend-map-legend {
  list-style: none;
  padding: 0;
  margin: var(--s-5) 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-3);
}
@media (min-width: 720px) {
  .lp2-atend-map-legend { grid-template-columns: 1fr 1fr; gap: var(--s-4); }
}
.lp2-atend-map-legend a {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-4) var(--s-5);
  background: rgba(251, 247, 237, 0.06);
  border: 1px solid rgba(251, 247, 237, 0.15);
  border-radius: var(--r-md);
  text-decoration: none;
  color: var(--cream);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
  min-height: 44px;
}
.lp2-atend-map-legend a:hover {
  transform: translateY(-2px);
  border-color: var(--copper-5);
  background: rgba(251, 247, 237, 0.1);
}
.lp2-atend-map-legend i {
  margin-left: auto;
  color: var(--copper-5);
  font-size: 1.1rem;
  transition: transform var(--dur-base) var(--ease);
}
.lp2-atend-map-legend a:hover i { transform: translate(2px, -2px); }
.lp2-atend-map-legend-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lp2-atend-map-legend-text strong { font-family: var(--font-display); font-size: 1.05rem; font-weight: 500; color: var(--cream); }
.lp2-atend-map-legend-text span { font-size: 0.88rem; color: rgba(251, 247, 237, 0.75); }
.lp2-atend-map-pin {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px var(--petrol-12), 0 0 0 4px rgba(251, 247, 237, 0.3);
}
.lp2-atend-map-pin--barra { background: var(--petrol-4); }
.lp2-atend-map-pin--zonasul { background: var(--copper-9); }

/* Leaflet overrides LP2 */
.lp2-atend-map .leaflet-popup-content-wrapper {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--sh-card) !important;
  font-family: var(--font-body) !important;
}
.lp2-atend-map .leaflet-popup-content { margin: var(--s-3) var(--s-4) !important; font-size: 0.9rem !important; line-height: 1.5 !important; color: var(--ink) !important; }
.lp2-atend-map .leaflet-popup-content strong { color: var(--petrol-12); font-family: var(--font-display); font-weight: 500; }
.lp2-atend-map .leaflet-popup-content a {
  display: inline-block;
  margin-top: var(--s-2);
  color: var(--petrol-9);
  text-decoration: underline;
  text-decoration-color: var(--copper-9);
  text-underline-offset: 3px;
  font-weight: 600;
  font-size: 0.85rem;
}
.lp2-atend-map .leaflet-popup-tip { background: var(--paper) !important; }
.lp2-atend-map .leaflet-control-attribution {
  background: rgba(8, 23, 38, 0.7) !important;
  color: rgba(251, 247, 237, 0.7) !important;
  font-size: 0.7rem !important;
}
.lp2-atend-map .leaflet-control-attribution a { color: var(--copper-5) !important; }
.lp2-atend-map__leaflet-pin {
  background: transparent !important;
  border: none !important;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
  transition: transform var(--dur-base) var(--ease-spring);
}
.lp2-atend-map__leaflet-pin:hover { transform: translateY(-3px) scale(1.05); }
.lp2-atend__quote-mark {
  display: block;
  font-family: var(--font-display);
  font-size: 5rem;
  line-height: 0.8;
  color: var(--copper-5);
  margin-bottom: var(--s-3);
}
.lp2-atend__quote p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--fs-lg);
  font-weight: 400;
  color: var(--cream);
  line-height: 1.4;
  margin: 0 0 var(--s-4);
}
.lp2-atend__quote cite {
  font-style: normal;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--copper-5);
  font-weight: 600;
}

/* ===== CONTATO ===== */
.lp2-contato {
  padding: var(--section-y) 0;
  background: var(--cream);
  text-align: center;
}
.lp2-contato__cta {
  margin-bottom: var(--s-6);
}
.lp2-contato__list {
  list-style: none;
  padding: 0;
  margin: var(--s-6) 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-3);
  text-align: left;
}
@media (min-width: 720px) {
  .lp2-contato__list { grid-template-columns: repeat(3, 1fr); }
}
.lp2-contato__list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--s-2);
  padding: var(--s-5) var(--s-4);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-md);
  text-decoration: none;
  color: var(--fg);
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
}
.lp2-contato__list a:hover {
  transform: translateY(-3px);
  border-color: var(--copper-4);
  box-shadow: var(--sh-card);
}
.lp2-contato__list i { font-size: 1.8rem; color: var(--petrol-9); }
.lp2-contato__label {
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--copper-10);
  font-weight: 600;
}
.lp2-contato__value {
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--petrol-12);
  font-weight: 500;
  word-break: break-word;
}

/* ===== FOOTER ===== */
.lp2-footer {
  background-color: var(--deep-12);
  background-image:
    /* Wave pattern brand: figura humana sage (espelhada do hero, mais sutil) */
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 560' fill='none' stroke='%23A2BC85' stroke-width='6' stroke-linecap='round' stroke-linejoin='round' opacity='0.07'><circle cx='180' cy='110' r='28' /><path d='M180 138 C160 175 110 200 55 220 M180 138 C200 175 250 200 305 220 M180 200 C150 240 90 290 50 310 M180 200 C210 240 270 290 310 310 M180 280 C150 320 110 365 80 395 M180 280 C210 320 250 365 280 395' /></svg>") left 6% top 8% / 480px no-repeat,
    radial-gradient(circle at 90% 100%, rgba(63, 126, 123, 0.18) 0%, transparent 55%),
    linear-gradient(180deg, var(--deep-12) 0%, #02100A 100%);
  color: var(--cream-50);
  padding: var(--s-9) 0 var(--s-5);
  position: relative;
}
.lp2-footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--gold-9) 40%, var(--gold-9) 60%, transparent 100%);
  opacity: 0.35;
}
.lp2-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
  padding-bottom: var(--s-6);
  border-bottom: 1px solid rgba(251, 247, 237, 0.12);
}
@media (min-width: 720px) {
  .lp2-footer__inner { grid-template-columns: 1fr 1fr; gap: var(--s-6); }
}
@media (min-width: 1024px) {
  /* 4 colunas: brand (mais largo) + atendimento + contato + documentos */
  .lp2-footer__inner { grid-template-columns: 1.4fr 1fr 1.1fr 0.85fr; gap: var(--s-7); }
}
.lp2-footer__brand { text-align: center; }
.lp2-footer__brand p { margin: 0; line-height: 1.5; }
/* Footer mark: pulmão oficial sem caixa, sutil sobre dark */
.lp2-footer__mark {
  display: block;
  /* Logo mark agora tem proporção real 460x419 (≈1.10:1, só pulmão) */
  width: 86px;
  aspect-ratio: 460 / 419;
  height: auto;
  margin: 0 auto var(--s-4);
  background-image: url('../images/logo-mark.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* esconde texto "VF" do span: clipa pra fora da viewport SEM mexer no layout do background */
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
  /* glow sutil pra destacar sobre dark bg */
  filter: brightness(1.1) drop-shadow(0 0 14px rgba(212, 178, 100, 0.18)) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25));
  opacity: 1;
}
/* Garante que qualquer text node interno (o "VF" do span) vire visualmente invisível */
.lp2-footer__mark::first-line { color: transparent; }
.lp2-footer__name {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--cream);
  margin-top: var(--s-2);
}
.lp2-footer__tag { font-size: 0.88rem; color: rgba(251, 247, 237, 0.65); margin-top: 2px; }
.lp2-footer__crp { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--copper-5); margin-top: var(--s-2); font-weight: 600; }

.lp2-footer__heading {
  font-family: var(--font-body);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--copper-5);
  margin: 0 0 var(--s-3);
}
.lp2-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.lp2-footer__col li, .lp2-footer__col a {
  font-size: 0.92rem;
  color: rgba(251, 247, 237, 0.75);
  text-decoration: none;
  line-height: 1.5;
}
.lp2-footer__col a:hover { color: var(--copper-5); }

.lp2-footer__bottom {
  padding-top: var(--s-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--s-3);
  font-size: 0.85rem;
  color: rgba(251, 247, 237, 0.95);
  flex-wrap: wrap;
}
.lp2-footer__bottom p { margin: 0; color: rgba(251, 247, 237, 0.95); }
.lp2-footer__legal {
  padding-top: var(--s-4);
  margin-top: var(--s-4);
  border-top: 1px solid rgba(251, 247, 237, 0.18);
}
.lp2-footer__legal p {
  font-size: 0.82rem;
  line-height: 1.6;
  color: rgba(251, 247, 237, 0.9);
  margin: 0;
  max-width: none;
  width: 100%;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* ===== WA FLOAT (reusa o do projeto base mas reforça posição) ===== */
.wa-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: var(--z-cta);
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  background: #25D366;
  color: #fff;
  padding: 14px 18px;
  border-radius: var(--r-full);
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
}
.wa-float i { font-size: 1.4rem; }
.wa-float__label { display: none; }
@media (min-width: 720px) { .wa-float__label { display: inline; } }
.wa-float:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(37, 211, 102, 0.5); }

/* ============================================================
   ONDA 2 — Tratamento clínico do card "palpitação" (LP2)
   ============================================================ */
.lp2-perfil--clinico {
  position: relative;
  border-top: 3px solid var(--copper-9);
  background: linear-gradient(180deg, var(--paper) 0%, var(--copper-1) 100%);
  overflow: hidden;
}
/* Sobrescreve regra global p { max-width: var(--measure) } pra full-width */
.lp2-perfil--clinico .lp2-perfil__text { max-width: none; }
.lp2-perfil--clinico .lp2-perfil__title { max-width: none; }
.lp2-perfil--clinico::before {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 120px; height: 120px;
  background: radial-gradient(circle at top right, rgba(184, 149, 68, 0.12), transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.lp2-perfil--clinico > * { position: relative; z-index: 1; }

.lp2-perfil__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font-family: var(--font-body);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--r-full);
  font-weight: 600;
  margin-bottom: var(--s-3);
  border: 1px solid transparent;
}
.lp2-perfil__tag::before {
  content: "";
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
}

/* Variantes — mesmas 3 cores do LP1 */
.lp2-perfil__tag--neuro {
  color: var(--copper-11);
  background: var(--copper-2);
  border-color: var(--copper-3);
}
.lp2-perfil__tag--neuro::before {
  background: var(--copper-9);
  animation: pulseTagLp2 2.4s var(--ease) infinite;
}
@keyframes pulseTagLp2 {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.4); opacity: 0.6; }
}
.lp2-perfil__tag--psicoedu {
  color: var(--copper-11);
  background: var(--cream-2);
  border-color: var(--copper-3);
}
.lp2-perfil__tag--psicoedu::before { background: var(--copper-7); }
.lp2-perfil__tag--autoconhecimento {
  color: var(--petrol-11);
  background: var(--petrol-1);
  border-color: var(--petrol-3);
}
.lp2-perfil__tag--autoconhecimento::before { background: var(--petrol-9); }

@media (prefers-reduced-motion: reduce) {
  .lp2-perfil__tag::before { animation: none; }
}

.lp2-perfil__wave {
  width: 100%;
  height: 24px;
  color: var(--copper-9);
  opacity: 0.55;
  margin: var(--s-2) 0 var(--s-3);
}

/* ============================================================
   ONDA 2 — Microinterações variadas LP2
   ============================================================ */

/* Perfis: ícone pulsa em hover */
.lp2-perfil:hover .lp2-perfil__icon { transform: rotate(-5deg) scale(1.06); color: var(--copper-10); background: var(--copper-1); }
.lp2-perfil__icon { transition: transform var(--dur-slow) var(--ease-spring), color var(--dur-base) var(--ease), background var(--dur-base) var(--ease); }

/* Cards Abordagens/Método: número decorativo escurece e cresce */
.lp2-card:hover .lp2-card__num { color: var(--copper-10); transform: translateY(-2px); }
.lp2-card__num { transition: color var(--dur-base) var(--ease), transform var(--dur-base) var(--ease); }

/* Avaliações: avatar com scale sutil + revela uma linha lateral */
.lp2-review {
  position: relative;
}
.lp2-review:hover .lp2-review__avatar { transform: scale(1.06); }
.lp2-review__avatar { transition: transform var(--dur-base) var(--ease-spring); }

/* Contato: ícone bounce */
.lp2-contato__list a:hover i {
  animation: bounceIcon 0.6s var(--ease-spring);
}
@keyframes bounceIcon {
  0%, 100% { transform: translateY(0); }
  30%      { transform: translateY(-6px); }
  60%      { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .lp2-perfil:hover .lp2-perfil__icon,
  .lp2-card:hover .lp2-card__num,
  .lp2-review:hover .lp2-review__avatar,
  .lp2-contato__list a:hover i { transform: none !important; animation: none !important; }
}

/* ============================================================
   TIPOGRAFIA HARMONIZADA — Uma, escala consistente
   Body cards: 0.95rem · Card titles: 1.2rem · Ledes: --fs-body
   ============================================================ */

/* Body de cards uniforme */
.lp2-perfil__text,
.lp2-card__text,
.lp2-review__text,
.lp2-atend__copy p,
.avaliacao__text { font-size: 0.95rem; line-height: 1.65; }

/* Card titles uniforme */
.lp2-card__title,
.lp2-perfil__title { font-size: 1.2rem; line-height: 1.3; }

/* Section ledes harmonizadas: body normal */
.lp2-section-lede,
.lp2-hero__lede,
.lp2-sobre__body p { font-size: var(--fs-body); line-height: 1.65; }

/* Destaque: lead/manifesto/subtitle continuam protagonistas */
.lp2-sobre__lead,
.lp2-hero__subtitle { font-size: clamp(1.15rem, 0.85rem + 0.95vw, 1.4rem) !important; line-height: 1.5 !important; }

/* Eyebrow uniforme em todas seções */
.lp2-eyebrow { font-size: 0.78rem; letter-spacing: 0.22em; }

/* Captions e meta consistentes */
.lp2-review__meta,
.lp2-reviews__note,
.lp2-contato__label { font-size: 0.78rem; line-height: 1.45; }

/* Mobile: card titles e body sutilmente menores */
@media (max-width: 720px) {
  .lp2-card__title,
  .lp2-perfil__title { font-size: 1.1rem; }
  .lp2-perfil__text,
  .lp2-card__text,
  .lp2-review__text,
  .avaliacao__text,
  .lp2-atend__copy p { font-size: 0.92rem; }
}

/* ============================================================
   A11Y WCAG AA — Uma, conformidade reforçada
   ============================================================ */

/* Focus visível em TODOS interativos (não só alguns) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--copper-9);
  outline-offset: 3px;
  border-radius: var(--r-sm);
}

/* Skip link visível ao receber focus */
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  background: var(--petrol-12);
  color: var(--cream);
  padding: 12px 20px;
  border-radius: var(--r-md);
  font-weight: 600;
  text-decoration: none;
  z-index: 9999;
  transition: top var(--dur-fast) var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible {
  top: 16px;
  outline: 3px solid var(--copper-5);
  outline-offset: 2px;
}

/* Reduced motion: respeita preferência sistema */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .lp2-card:hover,
  .lp2-perfil:hover,
  .lp2-review:hover,
  .lp2-contato__list a:hover,
  .btn--primary:hover { transform: none; }
}

/* Aumenta contraste se preferência sistema for high contrast */
@media (prefers-contrast: more) {
  body { color: #000; }
  .lp2-section-lede,
  .lp2-hero__lede,
  .lp2-perfil__text,
  .lp2-card__text,
  .lp2-review__text,
  .lp2-review__meta,
  .lp2-reviews__note,
  .lp2-eyebrow { color: #000 !important; }
  .lp2-section-title,
  .lp2-hero__title,
  .lp2-perfil__title,
  .lp2-card__title { color: #000 !important; }
  .btn--ghost { border-color: #000; color: #000; }
  .lp2-review__badge { background: #000; color: #fff; }
  .lp2-card,
  .lp2-perfil,
  .lp2-review,
  .lp2-contato__list a { border-width: 2px; border-color: #000; }
}

/* Garante contraste mínimo: --fg-faint usado em texto pequeno fica mais escuro */
.lp2-review__meta,
.lp2-reviews__note,
.lp2-footer__legal p { color: var(--ink-3); }
.lp2-atend .lp2-eyebrow { color: var(--copper-3); }
.lp2-atend p { color: rgba(251, 247, 237, 0.92); }
.lp2-atend__list li { color: var(--cream); }

/* Visited links mantêm legibilidade */
a:visited { color: inherit; }

/* Touch targets garantidos em interativos */
.btn { min-height: 44px; }
.lp2-nav__toggle { min-height: 44px; min-width: 44px; }
.lp2-review__source { padding-top: 4px; padding-bottom: 6px; }

/* Inputs futuros (forms) com label visível */
label { font-weight: 500; }
:placeholder-shown { font-style: italic; }

/* Sublinhado em links de body (legibilidade A11Y) — exclui botões */
.lp2-hero__lede a:not(.btn),
.lp2-sobre__body a:not(.btn),
.lp2-perfil__text a:not(.btn),
.lp2-card__text a:not(.btn),
.lp2-review__text a:not(.btn),
.lp2-atend__copy a:not(.btn) {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: var(--copper-9);
  color: var(--petrol-9);
}
.lp2-hero__lede a:not(.btn):hover,
.lp2-sobre__body a:not(.btn):hover,
.lp2-perfil__text a:not(.btn):hover,
.lp2-atend__copy a:not(.btn):hover { text-decoration-color: var(--copper-9); color: var(--petrol-11); }

/* Aria-hidden decorativos não recebem focus */
[aria-hidden="true"] { pointer-events: none; }
[aria-hidden="true"] a,
[aria-hidden="true"] button { display: none; }

/* ============================================================
   MOBILE POLISH — Uma, modo Deus
   Aplica reflowability, hierarquia e touch targets
   ============================================================ */

/* Text balance globais nas headlines */
.lp2-section-title,
.lp2-hero__title,
.lp2-hero__subtitle,
.lp2-perfil__title,
.lp2-card__title,
.lp2-review__name { text-wrap: balance; }

.lp2-section-lede,
.lp2-hero__lede,
.lp2-perfil__text,
.lp2-card__text,
.lp2-review__text,
.lp2-sobre__body p { text-wrap: pretty; }

/* H1/H2/H3: line-height equilibrada pra serif Fraunces */
.lp2-hero__title { line-height: 1.08; }
.lp2-section-title { line-height: 1.14; }

/* HERO — corrige aspect-ratio e overflow da foto em mobile */
.lp2-hero { padding-top: calc(var(--s-7) + var(--header-h, 64px)); }
.lp2-hero__content { max-width: 56ch; }
.lp2-hero__photo::after { display: none; }

@media (max-width: 720px) {
  .lp2-hero { padding-top: calc(var(--s-5) + var(--header-h, 60px)); padding-bottom: var(--s-7); }
  /* Mobile: re-ordena conteúdo (eyebrow → foto → resto) */
  .lp2-hero__inner { display: flex; flex-direction: column; gap: var(--s-5); }
  .lp2-hero__content { display: contents; }
  .lp2-hero__eyebrow { order: 1; }
  .lp2-hero__media { order: 2; }
  .lp2-hero__title { order: 3; margin-top: var(--s-2); }
  .lp2-hero__subtitle { order: 4; }
  .lp2-hero__lede { order: 5; }
  .lp2-hero__cta { order: 6; }
  .lp2-hero__badge { order: 7; }

  .lp2-hero__title { font-size: clamp(2rem, 8.6vw, 2.6rem); }
  .lp2-hero__subtitle { font-size: 1.05rem; line-height: 1.45; }
  .lp2-hero__lede { font-size: 0.98rem; }
  .lp2-hero__cta { flex-direction: column; align-items: stretch; gap: var(--s-3); }
  .lp2-hero__cta .btn { width: 100%; justify-content: center; }
  .lp2-hero__badge-pill { width: 100%; justify-content: center; text-align: center; }
  .lp2-hero__photo { aspect-ratio: 4 / 5; max-height: 60vh; }
  .lp2-hero__location { padding: var(--s-3) var(--s-4); }
}

/* SECTION HEAD — alinha eyebrow + título + lede consistentemente */
.lp2-section-head { max-width: 60ch; }
.lp2-section-head--center { text-align: center; }
.lp2-section-head--center .lp2-eyebrow,
.lp2-section-head--center .lp2-section-title,
.lp2-section-head--center .lp2-section-lede { text-align: center; }

/* BRs decorativos somem em mobile (deixa o texto reflowar) */
@media (max-width: 720px) {
  .lp2-section-title br,
  .lp2-hero__title br { display: none; }
}

/* Reduz tipografia hero mobile pra caber */
@media (max-width: 480px) {
  .lp2-section-title { font-size: clamp(1.6rem, 7vw, 2rem); }
  .lp2-hero__title { font-size: clamp(1.85rem, 8vw, 2.4rem); }
}

/* CARDS — equilibra alturas (perfis com texto longo) */
.lp2-perfil { align-self: stretch; }
.lp2-perfis__grid { align-items: stretch; }

/* MÉTODO — card 03 com subtítulo Logoterapia */
.lp2-card .lp2-card__title small {
  white-space: nowrap;
}

/* PADDING MOBILE — reduz section-y pra <720px */
@media (max-width: 720px) {
  .lp2-sobre,
  .lp2-abordagens,
  .lp2-perfis,
  .lp2-metodo,
  .lp2-reviews,
  .lp2-atend,
  .lp2-contato { padding: var(--s-8) 0; }
  .lp2-section-head { margin-bottom: var(--s-6); }
}

/* HERO MOBILE — folga mínima no topo (só altura da nav + respiro de 4px) */
@media (max-width: 720px) {
  .lp2-hero {
    padding-top: calc(var(--s-1) + 60px) !important;
    padding-bottom: var(--s-6) !important;
  }
  .lp2-hero__inner { gap: var(--s-4) !important; }
  .lp2-hero__eyebrow { margin-top: 0 !important; padding-bottom: var(--s-2) !important; }
  .lp2-hero::before { display: none; }
}

/* SOBRE — em mobile, foto vai depois do texto, ordem mais natural */
@media (max-width: 960px) {
  .lp2-sobre__grid { gap: var(--s-6); }
  .lp2-sobre__photo { max-width: 420px; margin-inline: auto; aspect-ratio: 4 / 5; }
}

/* ATENDIMENTO — equilibrar grid 2-col em mobile + alinhar aside */
.lp2-atend__inner { align-items: stretch; }
.lp2-atend__copy { display: flex; flex-direction: column; }
.lp2-atend__copy .btn { align-self: flex-start; }

@media (max-width: 960px) {
  .lp2-atend__aside { max-width: 560px; margin-inline: auto; width: 100%; }
}
@media (max-width: 720px) {
  .lp2-atend__copy .btn { align-self: stretch; justify-content: center; }
  .lp2-atend__list { gap: var(--s-1); }
  .lp2-atend__list li { padding: var(--s-2) 0; font-size: 0.92rem; }
  .lp2-atend__quote { padding: var(--s-5) var(--s-4); }
  .lp2-atend__quote-mark { font-size: 4rem; }
  .lp2-atend__quote p { font-size: 1.15rem; line-height: 1.45; }
  .lp2-atend__aside { padding: var(--s-5) var(--s-4); }
}

/* AVALIAÇÕES — featured card respira melhor em mobile */
@media (max-width: 720px) {
  .lp2-review { padding: var(--s-5); }
  .lp2-review--featured .lp2-review__text { font-size: 0.96rem; }
  .lp2-review__head { gap: var(--s-3); padding-bottom: var(--s-3); margin-bottom: var(--s-3); }
  .lp2-review__name { font-size: 0.95rem; }
  .lp2-review__badge {
    display: block;
    margin-left: 0;
    margin-top: 4px;
    vertical-align: baseline;
    width: max-content;
    font-size: 0.62rem;
    padding: 1px 8px;
  }
  .lp2-reviews__cta-group { flex-direction: column; align-items: stretch; }
  .lp2-reviews__cta-group .btn { width: 100%; justify-content: center; }
}

/* PERFIS (pra quem) — CTA em mobile fica full-width */
@media (max-width: 720px) {
  .lp2-perfil { padding: var(--s-5); }
  .lp2-perfil__icon { width: 48px; height: 48px; font-size: 1.4rem; margin-bottom: var(--s-3); }
  .lp2-perfil__title { font-size: 1.02rem; }
  .lp2-perfil__cta { padding: var(--s-2) 0; font-size: 0.95rem; min-height: 44px; align-items: center; }
}

/* MÉTODO + ABORDAGENS — cards mobile */
@media (max-width: 720px) {
  .lp2-card { padding: var(--s-5); }
  .lp2-card--tall { padding: var(--s-5); }
  .lp2-card__num { font-size: 2rem; margin-bottom: var(--s-2); }
  .lp2-card__title { font-size: 1.1rem; }
}

/* CONTATO — mobile: flex column simples e consistente */
@media (max-width: 720px) {
  .lp2-contato__list { gap: var(--s-3); }
  .lp2-contato__list a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
    padding: var(--s-4) var(--s-3) !important;
    min-height: 100px !important;
  }
  .lp2-contato__list i { font-size: 1.7rem !important; margin-bottom: 2px; }
  .lp2-contato__label { font-size: 0.7rem !important; letter-spacing: 0.16em !important; }
  .lp2-contato__value {
    font-size: 0.9rem !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }
}

/* FOOTER — alinha mobile */
@media (max-width: 720px) {
  .lp2-footer__inner { gap: var(--s-5); }
  .lp2-footer__bottom { flex-direction: column; align-items: flex-start; gap: var(--s-2); }
  .lp2-footer { padding: var(--s-7) 0 var(--s-4); }
}

/* WHATSAPP FLOAT — não cobre conteúdo + touch target adequado */
.wa-float { min-height: 48px; min-width: 48px; }
@media (max-width: 480px) {
  .wa-float { bottom: 16px; right: 16px; padding: 12px 14px; font-size: 0.88rem; }
}

/* TOUCH TARGETS — garante 44px mínimo em links e botões mobile
   (lp2-contato__list a NÃO incluído aqui — tem seu próprio grid layout) */
@media (max-width: 720px) {
  .lp2-nav__link,
  .lp2-perfil__cta,
  .lp2-review__source {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* Lista de credenciais no Sobre — mobile mais compacto */
@media (max-width: 720px) {
  .lp2-sobre__credentials { grid-template-columns: 1fr; gap: var(--s-1); }
  .lp2-sobre__credentials li { padding: var(--s-2) 0; font-size: 0.88rem; }
  .lp2-sobre__quote { padding: var(--s-4) var(--s-5); margin: var(--s-5) 0; }
  .lp2-sobre__quote p { font-size: 1.05rem; }
}

/* Nav mobile — brand-tag visivel até 540px */
@media (max-width: 540px) {
  .lp2-nav__brand-tag { display: none; }
  .lp2-nav__brand-name { font-size: 0.92rem; }
  .lp2-nav__mark { width: 38px; height: 38px; }
}

/* Hero location compacto em mobile pra evitar overflow */
@media (max-width: 480px) {
  .lp2-hero__location { gap: var(--s-2); }
  .lp2-hero__location i { font-size: 1.3rem; }
  .lp2-hero__location p { font-size: 0.82rem; line-height: 1.45; }
}

/* Remove sublinhado decorativo em mobile no eyebrow do hero */
@media (max-width: 720px) {
  .lp2-hero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    padding-bottom: var(--s-2);
    line-height: 1.4;
  }
}
