/* Small visual refinements on top of the current Osteon design. */
:root {
  --radius: 18px;
}

/* Give the existing typography a little more room. */
.hero h1 {
  letter-spacing: -0.05em;
  line-height: 1.06;
}
.section-title,
.about-quote,
.journey h2,
.partners h2,
.contact h2 {
  letter-spacing: -0.04em;
  line-height: 1.12;
}
.service-name {
  letter-spacing: -0.025em;
  line-height: 1.3;
}

/* Keep the cards, with slightly calmer edges and less decorative depth. */
.care-map {
  border-radius: 22px;
  box-shadow: 0 14px 36px -24px #10131955;
}
.care-map::before {
  background: none;
}
.care-map h2 {
  letter-spacing: -0.035em;
}
.care-map-intro {
  font-size: 14px;
}
.care-map-steps p {
  font-size: 12px;
  line-height: 1.75;
}
.care-map-footer {
  font-size: 11px;
}
.care-dot {
  box-shadow: none;
}
.service-row {
  box-shadow: none;
  border-radius: 13px;
}
.service-question {
  border-radius: 13px;
}
.gallery-panel {
  border-radius: 20px;
  box-shadow: none;
}
.nav-cta,
.button-primary,
.button-secondary {
  border-radius: 10px;
}
.offer p {
  line-height: 1.75;
}
.team-card p + p {
  margin-top: 14px;
}

/* Keep the original grey label typography and decorative dots. */
.service-detail + .service-detail,
.service-inclusions + .service-detail {
  margin-top: 18px;
}
.offer-tag {
  padding: 0;
  background: none;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0;
}
.offer-muted {
  background: transparent;
}
.about-body > p:last-child {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin-top: 24px;
  font-size: 13px;
  line-height: 1.75;
}
.about-body a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.hero-content > *,
.care-map {
  animation-duration: 450ms;
}

/* Subtle desktop feedback; touch and reduced-motion rules stay intact. */
@media (hover: hover) and (pointer: fine) {
  .button-primary:hover,
  .button-secondary:hover,
  .nav-cta:hover {
    transform: translateY(-1px);
    box-shadow: none;
  }
  .team-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -20px #10131945;
  }
  .team-card:hover img {
    transform: scale(1.01);
  }
}
@media (max-width: 540px) {
  .care-map {
    border-radius: 18px;
  }
  .gallery-panel {
    border-radius: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-content > *,
  .care-map {
    animation: none;
  }
  .button-primary:hover,
  .button-secondary:hover,
  .nav-cta:hover,
  .team-card:hover,
  .team-card:hover img {
    transform: none;
  }
}

.hero-consultation-note {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
