*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  background: #ffffff;
  min-height: 100vh;
  color: #222222;
}

.page {
  padding: 56px 28px;
}

.content {
  max-width: 920px;
}

.brand-logo {
  width: min(420px, 100%);
  height: auto;
}

h1 {
  margin: 28px 0 22px;
  font-family: 'Merriweather Sans', 'Segoe UI', sans-serif;
  font-weight: 500;
  color: #1d1d1d;
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  line-height: 1.25;
  max-width: 760px;
}

.contact-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 1rem;
  color: #222222;
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.label {
  font-weight: 600;
}

.contact-row a {
  color: #0b63c9;
  text-decoration: none;
  font-weight: 400;
}

.contact-row a:hover {
  text-decoration: underline;
}

address {
  margin: 0;
  font-style: normal;
  line-height: 1.45;
  color: #222222;
}

@media (max-width: 640px) {
  .page {
    padding: 28px 16px;
  }
}
