/* Hero */
  .home-hero { padding: 40px 0 100px; position: relative; overflow: hidden; }
  .home-hero .container { position: relative; z-index: 1; }
  .hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: end; }
  @media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; } }
  .home-hero h1 { font-size: clamp(56px, 8vw, 112px); font-weight: 400; line-height: 0.95; letter-spacing: -0.03em; }
  .home-hero h1 em { font-style: italic; color: var(--gold); font-weight: 400; }
  .hero-image { aspect-ratio: 4/5; }
  .hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }

  /* Featured services */
  .service-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--r-4);
    overflow: hidden;
    transition: all .3s;
    display: block;
  }
  .service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
  .service-card .ph { aspect-ratio: 4/3; border-radius: 0; border-left: 0; border-right: 0; border-top: 0; }
  .service-card-body { padding: 24px; }
  .service-card h4 { margin-bottom: 8px; }
  .service-card .price { font-family: var(--font-display); font-size: 22px; color: var(--forest); margin-top: 16px; }
  .service-card .price small { font-family: var(--font-mono); font-size: 11px; color: var(--muted); letter-spacing: 0.05em; }

  /* Therapist highlight */
  .therapist-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
  @media (max-width: 900px) { .therapist-strip { grid-template-columns: repeat(2, 1fr); } }
  .therapist-card { text-align: left; }
  .therapist-card .ph { aspect-ratio: 3/4; margin-bottom: 16px; }
  .therapist-card h4 { font-size: 22px; margin-bottom: 4px; }
  .therapist-card .meta-row { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; font-size: 13px; color: var(--muted); }

  /* How it works */
  .how-section { background: var(--forest-deep); color: var(--sand); padding: 120px 0; margin: 100px 0; position: relative; overflow: hidden; }
  .how-section h2 { color: var(--sand); }
  .how-section .eyebrow { color: var(--gold-soft); }
  .how-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 60px; }
  @media (max-width: 900px) { .how-grid { grid-template-columns: 1fr 1fr; } }
  .how-step .num { font-family: var(--font-display); font-size: 72px; color: var(--gold); line-height: 1; margin-bottom: 16px; }
  .how-step h4 { color: var(--sand); font-size: 22px; margin-bottom: 12px; }
  .how-step p { color: rgba(245,239,230,0.7); font-size: 14px; }

  /* Offers banner */
  .offer-banner {
    background: linear-gradient(135deg, var(--gold), var(--gold-soft));
    border-radius: var(--r-4);
    padding: 60px;
    display: grid; grid-template-columns: 2fr 1fr; align-items: center; gap: 40px;
    color: var(--forest-deep);
  }
  @media (max-width: 900px) { .offer-banner { grid-template-columns: 1fr; padding: 40px; } }
  .offer-banner h3 { color: var(--forest-deep); font-size: 42px; }
  .offer-banner .code {
    background: var(--forest-deep); color: var(--gold-soft);
    padding: 12px 24px; border-radius: var(--r-3);
    font-family: var(--font-mono); font-size: 18px; letter-spacing: 0.1em;
    display: inline-block; margin-top: 16px;
  }

  /* Reviews */
  .review-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-4); padding: 32px; }
  .review-card p { font-family: var(--font-display); font-size: 22px; line-height: 1.4; color: var(--forest-deep); font-style: italic; }
  .review-card .who { margin-top: 20px; display: flex; align-items: center; gap: 12px; }
  .review-card .who .avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--sand-warm); }
  .review-card .who .name { font-weight: 600; font-size: 14px; }
  .review-card .who .loc { font-size: 12px; color: var(--muted); }

  /* Service areas */
  .cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  @media (max-width: 900px) { .cities { grid-template-columns: 1fr; } }
  .city-card { padding: 40px; border: 1px solid var(--line); border-radius: var(--r-4); background: var(--white); }
  .city-card.coming { background: var(--sand-warm); border-style: dashed; }
  .city-card h3 { font-size: 32px; margin-bottom: 8px; }
  .city-card .country { font-family: var(--font-mono); font-size: 11px; color: var(--gold); letter-spacing: 0.15em; text-transform: uppercase; }
  .city-card .stats { display: flex; gap: 24px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
  .city-card .stat { flex: 1; }
  .city-card .stat .num { font-family: var(--font-display); font-size: 28px; color: var(--forest); }
  .city-card .stat .lbl { font-size: 12px; color: var(--muted); }

  /* Final CTA */
  .cta-section { padding: 120px 0; text-align: center; }
  .cta-section h2 { font-size: clamp(48px, 6vw, 84px); max-width: 18ch; margin: 0 auto 24px; }
