/* Softer charcoal palette for easier reading. */
:root {
  --black: #17181b;
  --panel: #242529;
  --line: #48494f;
  --muted: #d1d1d4;
}

.site-header { background: #18191c; }
.hero {
  min-height: 610px;
  background: radial-gradient(circle at 80% 25%, #80364f 0, transparent 35%),
    radial-gradient(circle at 10% 100%, #34343a 0, transparent 37%), #17181b;
}
.hero::before { background: linear-gradient(90deg, #17181b 25%, rgba(23,24,27,.45) 65%, transparent 100%); }
.services { background: linear-gradient(135deg, #d7d4d6 0%, #a9a6aa 45%, #2a2428 100%); color: #191a1d; }
.services .section-intro { color: #403d42; }
.services .service-grid { background: #8a878c; border-color: #8a878c; }
.service-card { background: #f5f4f5; color: #191a1d; }
.service-card.featured { background: #ffffff; color: #191a1d; }
.service-card.dark-card { background: #3c3b40; color: #ffffff; }
.service-card.outline-card { background: #d8d7da; }
.service-card > p:not(.service-number) { color: #464249; }
.service-card.dark-card > p:not(.service-number) { color: #ebe8eb; }
.service-card li::before,
.service-card.featured li::before { color: var(--pink); }
/* Keep every service call-to-action aligned, even when its label is one line. */
.service-card a {
  min-height: 5rem;
  align-items: flex-start;
}
.process-section { background: linear-gradient(115deg, #18191c 0%, #30272c 56%, #6e364a 160%); }
.area-section { background: linear-gradient(135deg, #d9d7d9 0%, #a09da2 49%, #2b2428 100%); color: #191a1d; }
.area-card { background: #efedef; border-color: #969299; }
.area-card > p { color: #48434a; }
.area-tags span { border-color: #8e8990; color: #373238; }
.booking { background: linear-gradient(115deg, #191a1d 0%, #30282d 52%, #71384c 155%); }
.booking-form { background: #efedef; border-color: #908b92; color: #191a1d; }
.booking-form label { color: #4b444b; }
.booking-form input, .booking-form textarea, .booking-form select {
  background: #fbfafb;
  border-color: #aaa5ab;
  color: #191a1d;
}
.price-disclaimer {
  margin: .25rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid #c5c1c6;
  color: #575158;
  font-size: .8rem;
  line-height: 1.5;
}
.price-disclaimer strong { color: #b20c55; }
.trust-bar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
}
.trust-bar div {
  justify-content: center;
  text-align: center;
}
.about-section {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 5rem;
  align-items: center;
  padding: 7rem clamp(1.4rem, 16vw, 20rem);
  background: #f1f0f1;
  color: #1b1b1f;
}
.about-mark {
  width: min(240px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #27272c, #5c263d);
  font: 800 clamp(3rem, 7vw, 6rem) 'Barlow Condensed', sans-serif;
  letter-spacing: .04em;
  border: 8px solid #d9d7da;
}
.about-mark img { width: 82%; mix-blend-mode: screen; }
.about-copy { max-width: 630px; }
.about-copy h2 { font-size: clamp(3.6rem, 5vw, 6rem); letter-spacing: .02em; }
.about-copy > p:not(.eyebrow) { color: #4b474d; line-height: 1.7; max-width: 590px; }
.booking-details a { color: var(--pink); font-weight: 700; text-decoration: none; }
.booking-details p { font-size: 1.08rem; }
.booking-details b { font-size: .95rem; }
.booking-details p:first-child a { font-size: 1.28rem; }
@media (max-width: 780px) {
  .trust-bar div { justify-content: flex-start; text-align: left; }
  .about-section { grid-template-columns: 1fr; gap: 2rem; padding: 5rem 1.4rem; }
  .about-mark { width: 150px; }
}
footer { background: #18191c; color: #d7d4d8; }
