.filters {
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.mast-inner {
  padding-block: 20px;
}

.brand {
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  line-height: 1.2;
}

.service-banner {
  color: #132f43;
  background: linear-gradient(115deg, #eaf3f5 0%, #f7fafc 65%, #e8f0f4 100%);
  border-bottom: 1px solid #c5d5de;
}

.service-banner-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  gap: clamp(28px, 5vw, 70px);
  max-width: 1400px;
  margin: 0 auto;
  padding: 34px 40px 36px;
}

.banner-kicker {
  margin: 0 0 8px;
  color: #126f70;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .14em;
}

.service-banner h1 {
  max-width: 18ch;
  margin: 0 0 16px;
  font: normal clamp(1.75rem, 3vw, 2.55rem)/1.13 Georgia, 'Times New Roman', serif;
  letter-spacing: -.015em;
}

.service-banner p {
  margin: 0;
  font-size: .96rem;
  line-height: 1.62;
}

.service-details {
  display: grid;
  gap: 12px;
  align-content: start;
}

.service-banner a {
  color: #0b6264;
  font-weight: 650;
  text-underline-offset: 3px;
}

.banner-contact {
  padding-top: 12px;
  border-top: 1px solid #c5d5de;
}

.catalogue .collection-heading h2 {
  max-width: none;
  margin: 0 0 12px;
  font: normal clamp(1.875rem, 3vw, 2.625rem)/1.15 Georgia, 'Times New Roman', serif;
  letter-spacing: -.015em;
}

@media (max-width: 640px) {
  .filters {
    max-height: none;
    overflow: visible;
  }

  .service-banner-inner {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 20px 30px;
  }

  .service-banner h1 {
    max-width: 20ch;
  }
}
