/* ── HERO ──────────────────────────────────────────────────── */
.hero {
  padding: calc(var(--nav-h) + 4rem) 0 5rem;
  border-bottom: 1px solid var(--border);
}
.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.hero-text .eyebrow { color: var(--text-light); }
.hero-text h1 {
  margin-bottom: 1.25rem;
  font-size: clamp(2.8rem, 5vw, 4.2rem);
}
.hero-text h1 em {
  font-style: italic;
  color: var(--green-mid);
}
.hero-sub {
  color: var(--text-mid);
  font-size: 1rem;
  line-height: 1.8;
  max-width: 480px;
  margin-bottom: 2rem;
}
.hero-ctas {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.hero-image { position: relative; }
.hero-img-wrap {
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 3/4;
  max-height: 520px;
}
.hero-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.hero-badge {
  position: absolute;
  bottom: -1rem;
  left: -1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  padding: 0.65rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-dark);
  box-shadow: 0 4px 20px var(--shadow);
}
.badge-stars { color: #4A7C59; font-size: 0.78rem; }

/* ── TESTIMONIALS ──────────────────────────────────────────── */
.section-head { margin-bottom: 3rem; }
.section-head h2 { margin-top: 0.25rem; }

.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.testimonial-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: 2rem;
}
.quote-icon {
  font-size: 1.5rem;
  color: var(--green-light);
  margin-bottom: 1rem;
  font-family: Georgia, serif;
  line-height: 1;
  color: #C5D4BE;
}
.testimonial-card p {
  font-size: 0.95rem;
  color: var(--text-mid);
  line-height: 1.75;
  margin-bottom: 1.25rem;
}
.t-divider {
  height: 1px;
  background: var(--border);
  margin-bottom: 1.25rem;
}
.t-author strong { display: block; font-size: 0.9rem; color: var(--text-dark); }
.t-author span { font-size: 0.82rem; color: var(--text-light); }

/* ── READY CTA ─────────────────────────────────────────────── */
.ready-section { border-top: 1px solid var(--border); }
.ready-inner {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.ready-inner h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 1rem; }
.ready-inner p { color: var(--text-mid); font-size: 1rem; margin-bottom: 2rem; }
.ready-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.ready-or { font-size: 0.88rem; color: var(--text-mid); }

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 860px) {
  .hero-inner { grid-template-columns: 1fr; gap: 3rem; }
  .hero-img-wrap { aspect-ratio: 4/3; max-height: 380px; }
  .hero-badge { left: 1rem; bottom: 1rem; }
  .testimonials-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hero-ctas { flex-direction: column; align-items: flex-start; }
  .ready-ctas { flex-direction: column; }
}
