/* ---------- Hero ---------- */
.hero { padding-block: clamp(2.5rem, 6vw, 5rem) var(--space-2xl); overflow: hidden; }
.hero__inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}
.hero h1 { font-size: var(--fs-display-xl); max-width: 15ch; margin-top: var(--space-md); }
.hero__lede { font-size: var(--fs-body-lg); color: var(--color-ink-soft); max-width: 42ch; margin-top: var(--space-md); }
.hero__actions { display: flex; gap: 1rem; margin-top: var(--space-lg); flex-wrap: wrap; }
.hero__trust {
  display: flex;
  gap: var(--space-lg);
  margin-top: var(--space-2xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-line);
}
.hero__trust div { display: flex; flex-direction: column; gap: 0.2rem; }
.hero__trust strong { font-family: var(--font-display); font-size: 1.2rem; }
.hero__trust span { font-size: 0.78rem; color: var(--color-ink-soft); }

.hero__visual { position: relative; }
.hero__art { position: relative; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; }
.hero__art-glow { position: absolute; inset: -10%; z-index: 0; }
.hero__art-line { position: relative; z-index: 1; animation: spin-slow 26s linear infinite; }
@keyframes spin-slow { to { transform: rotate(360deg); } }

.hero__card {
  position: absolute;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(18px);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-lg);
  animation: float-y 6s ease-in-out infinite;
}
.hero__card--price { top: 6%; right: 2%; text-align: left; }
.hero__card--price p { font-size: 0.85rem; font-weight: 600; margin-top: 0.2rem; }
.hero__card--trust { bottom: 8%; left: -4%; max-width: 220px; animation-delay: 1.2s; }
.hero__card--trust p { font-size: 0.9rem; font-style: italic; margin-top: 0.3rem; }
.hero__card--trust span { font-size: 0.78rem; }
@keyframes float-y { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

@media (max-width: 900px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero__visual { order: -1; max-width: 420px; margin-inline: auto; }
  .hero__trust { flex-wrap: wrap; gap: var(--space-md); }
}

/* ---------- Benefits strip ---------- */
.benefits-strip { padding-block: var(--space-xl); border-bottom: 1px solid var(--color-line); }
.benefits-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); }
.benefit h3 { font-size: 1.1rem; margin-top: var(--space-sm); }
.benefit p { color: var(--color-ink-soft); margin-top: 0.4rem; font-size: 0.92rem; }
@media (max-width: 900px) { .benefits-strip__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .benefits-strip__grid { grid-template-columns: 1fr; } }

/* ---------- Lead magnet ---------- */
.lead-magnet__box {
  background: linear-gradient(135deg, #1A1B20, #0E0E11);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: var(--space-xl);
  align-items: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.lead-magnet__box::before {
  content: "";
  position: absolute;
  left: -80px; bottom: -120px;
  width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(255,106,61,0.4), transparent 70%);
}
.lead-magnet__box .eyebrow { color: var(--color-accent); }
.lead-magnet__box h2 { color: #fff; font-size: var(--fs-display-md); margin-top: 0.6rem; }
.lead-magnet__box .text-soft { color: rgba(255,255,255,0.65); margin-top: 0.7rem; max-width: 46ch; }
.lead-magnet__list { display: grid; gap: 0.65rem; margin-top: var(--space-md); }
.lead-magnet__list li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.94rem; color: rgba(255,255,255,0.85); }
.lead-magnet__actions { display: flex; gap: 1rem; margin-top: var(--space-lg); flex-wrap: wrap; }
.lead-magnet__box .btn--ghost { color: #fff; }
.lead-magnet__box .hint { color: rgba(255,255,255,0.45); margin-top: var(--space-sm); }
.lead-magnet__visual {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  text-align: center;
}
.price-tag--big .num { font-size: 3.4rem; color: #fff; }
.price-tag--big .cur { color: rgba(255,255,255,0.6); font-size: 1.1rem; }
.lead-magnet__visual > span { display: block; margin-top: 0.4rem; color: rgba(255,255,255,0.55); }

@media (max-width: 820px) {
  .lead-magnet__box { grid-template-columns: 1fr; padding: var(--space-lg); }
  .lead-magnet__visual { order: -1; }
}

/* ---------- Services grid ---------- */
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); margin-top: var(--space-xl); }
.service-card { display: flex; flex-direction: column; gap: 0.7rem; }
.service-card h3 { font-size: 1.25rem; margin-top: 0.3rem; }
.service-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: var(--space-md); }
.service-card__footer .btn--ghost { padding: 0; font-size: 0.9rem; }

.disciplines {
  margin-top: var(--space-2xl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--color-line);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  justify-content: space-between;
}
.disciplines__label { font-weight: 600; flex-shrink: 0; }
.disciplines__chips { display: flex; gap: 0.6rem; flex-wrap: wrap; flex: 1; }

@media (max-width: 960px) { .services-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .services-grid { grid-template-columns: 1fr; } }

/* ---------- Why us ---------- */
.why-us__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: var(--space-2xl); align-items: start; }
.why-us .btn--dark { margin-top: var(--space-lg); }
.why-us__list { display: grid; gap: var(--space-lg); }
.why-item { display: flex; gap: var(--space-md); align-items: flex-start; }
.why-item h3 { font-size: 1.1rem; }
.why-item p { color: var(--color-ink-soft); margin-top: 0.35rem; font-size: 0.94rem; }
@media (max-width: 860px) { .why-us__grid { grid-template-columns: 1fr; } }

/* ---------- Doctors ---------- */
.doctors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); margin-top: var(--space-xl); }
.doctor-card { text-align: center; }
.doctor-card__avatar {
  width: 4.5rem; height: 4.5rem;
  border-radius: 50%;
  background: var(--color-accent-light);
  color: var(--color-accent-ink);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 600;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--space-md);
}
.doctor-card h3 { font-size: 1.15rem; }
.doctor-card__role { color: var(--color-accent-dark); font-weight: 600; font-size: 0.88rem; margin-top: 0.2rem; }
.doctor-card p.text-soft { margin-top: 0.6rem; font-size: 0.9rem; }
.doctor-card__meta { display: flex; justify-content: center; gap: 0.9rem; margin-top: var(--space-md); font-size: 0.8rem; color: var(--color-ink-faint); }
@media (max-width: 860px) { .doctors-grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; } }

/* ---------- Testimonials ---------- */
.testimonials-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); margin-top: var(--space-xl); }
.testimonial-card { font-size: 0.92rem; }
.testimonial-card__quote { margin-top: 0.8rem; color: var(--color-ink); line-height: 1.55; }
.testimonial-card__author { display: flex; flex-direction: column; margin-top: var(--space-md); gap: 0.1rem; }
.testimonial-card__author span { font-size: 0.8rem; color: var(--color-ink-faint); }
@media (max-width: 960px) { .testimonials-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .testimonials-grid { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */
.faq-list { margin-top: var(--space-lg); }

/* ---------- Contact ---------- */
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); align-items: center; }
.contact-details { display: grid; gap: var(--space-md); margin: var(--space-lg) 0; }
.contact-details div { display: flex; flex-direction: column; gap: 0.15rem; padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-line); }
.contact-details span { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-ink-faint); }
.contact-details strong { font-family: var(--font-display); font-weight: 500; font-size: 1.05rem; }
.contact-map { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); aspect-ratio: 4/3; }
.contact-map iframe { width: 100%; height: 100%; border: 0; }
@media (max-width: 860px) { .contact-layout { grid-template-columns: 1fr; } }
