.contact-page {
  --contact-ink: #20384a;
  --contact-rule: #c3b69e;
  --contact-rule-light: #dfd7c8;
  --contact-serif: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}
.contact-skip {
  position: absolute;
  top: .4rem;
  left: .4rem;
  z-index: 1;
  transform: translateY(-170%);
  padding: .45rem .8rem;
  color: white;
  background: #203b50;
}
.contact-skip:focus { transform: none; }
.contact-page .family-links {
  margin: 0 0 clamp(1.6rem, 4vw, 2.8rem);
  padding: .1rem 0 .85rem;
  border-bottom: 1px solid var(--contact-rule);
}
.contact-page .family-links ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.1rem;
  row-gap: .18rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-page .family-links a {
  display: inline-block;
  font: .88rem/1.65 var(--contact-serif);
  text-decoration-thickness: 1px;
  text-decoration-color: #b6ada1;
  text-underline-offset: .2em;
}
.contact-page .site-index a[aria-current="page"] {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.contact-page .contact-information,
.contact-page .family-name { max-width: 51rem; }
.contact-page h1,
.contact-page .family-name h2 {
  color: var(--contact-ink);
  font-family: var(--contact-serif);
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.contact-page h1 {
  font-size: clamp(2.2rem, 1.62rem + 2.05vw, 3.43rem);
  line-height: 1.09;
  margin: 0 0 1.12rem;
}
.contact-page .contact-register {
  margin: 0;
  border-top: 2px solid #9a8256;
  border-bottom: 1px solid var(--contact-rule);
  font-family: var(--contact-serif);
}
.contact-page .contact-row {
  display: grid;
  grid-template-columns: minmax(12.3rem, 38%) minmax(0, 1fr);
  align-items: baseline;
  column-gap: 1.45rem;
  padding: .77rem .2rem;
  line-height: 1.43;
}
.contact-page .contact-row + .contact-row { border-top: 1px solid var(--contact-rule-light); }
.contact-page .contact-row dt {
  margin: 0;
  color: var(--contact-ink);
  font-size: 1.02rem;
  font-weight: 600;
}
.contact-page .contact-row dd {
  margin: 0;
  min-width: 0;
  font-size: 1.08rem;
  font-variant-numeric: lining-nums tabular-nums;
}
.contact-page .contact-row a {
  text-underline-offset: .19em;
  text-decoration-color: #a4b3bb;
  text-decoration-thickness: 1px;
}
.contact-page a[href^="tel:"] { white-space: nowrap; }
.contact-page .contact-number, .contact-page .contact-alternate { display: inline-block; }
.contact-page .contact-alternate { margin-right: .15rem; }
.contact-page .contact-number { margin-right: .35rem; }
.contact-page .family-name { margin: clamp(2.2rem, 6vw, 4.1rem) 0 1.8rem; }
.contact-page .family-name h2 {
  margin: 0 0 .8rem;
  font-size: clamp(1.85rem, 1.5rem + 1.1vw, 2.46rem);
  line-height: 1.17;
}
.contact-page .family-name p {
  max-width: 68ch;
  margin: .85rem 0;
  font: clamp(1.02rem, .96rem + .23vw, 1.16rem)/1.68 var(--contact-serif);
}
.contact-page .contact-wordmark {
  width: fit-content;
  margin: 1.8rem 0 .4rem;
  text-align: center;
  color: var(--contact-ink);
}
.contact-page .contact-wordmark img { display: block; height: auto; max-width: 100%; }
.contact-page footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .45rem;
}
.contact-page footer > a { text-align: start; }
@media (max-width: 760px) {
  .contact-page .family-links { margin-bottom: 1.55rem; }
  .contact-page .family-links ul { column-gap: 1rem; row-gap: .12rem; }
  .contact-page .site-index { margin-bottom: .1rem; }
}
@media (max-width: 580px) {
  .contact-page .contact-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    row-gap: .16rem;
    padding: .68rem 0 .72rem;
  }
  .contact-page .contact-row dt { font-size: .98rem; }
  .contact-page .contact-row dd { font-size: 1.06rem; }
  .contact-page footer { font-size: .91rem; }
}
@media print {
  .contact-page .family-links, .contact-page .site-index, .contact-skip { display: none; }
  .contact-page .site-layout { display: block; }
  .contact-page .contact-row { break-inside: avoid; }
  .contact-page .contact-wordmark { break-inside: avoid; }
}
