.topbar {
  background: #f8f7f3;
  color: #111315;
  border-bottom-color: rgba(17, 19, 21, 0.14);
}

.brand {
  color: #000;
  font-size: 1.3rem;
  font-weight: 850;
  letter-spacing: -0.045em;
}

.brand b {
  color: inherit;
}

.brand-mark {
  display: none;
}

.topbar nav a {
  color: #55585b;
}

.topbar nav a:hover {
  color: #000;
}

.lang {
  color: #111315;
  border-color: rgba(17, 19, 21, 0.3);
}

.service-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 24px;
  background: #292c2f;
}

.service-card h3 {
  margin: 0 0 13px;
}

footer {
  background: #f3f1ec;
  color: #111315;
  border-top: 1px solid rgba(17, 19, 21, 0.16);
}

footer p {
  color: #696b6d;
}

.intro { padding-top: 64px; padding-bottom: 64px; gap: 28px; }
.intro h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.05; }
.intro .section-copy { margin-top: 24px; font-size: 1rem; }
.service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 8px; }
.service-card, .service-card.featured { grid-row: auto; grid-column: auto; min-height: 0; padding: 20px; }
.service-photo { max-height: 250px; object-fit: contain; margin-bottom: 18px; }
.service-card h3 { font-size: 1.4rem; }
.service-card ul { margin-top: 14px; }
.service-card li { padding: 7px 0; }
.process { padding-top: 64px; padding-bottom: 64px; }
.process h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.05; }
.steps { margin-top: 28px; }
.steps article { min-height: 0; padding: 24px; }
.steps article > span { display: none; }
.steps h3 { margin: 0 0 12px; font-weight: 800; }
@media (max-width: 600px) {
  .service-grid { grid-template-columns: minmax(0, 1fr); }
  .service-photo { max-height: none; }
}
