.skip-link {
  position: fixed;
  z-index: 99999;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  background: #fffdf8;
  color: #172321;
  padding: 12px 16px;
  font-size: 12px;
}
.skip-link:focus { transform: translateY(0); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid #d5a25a;
  outline-offset: 4px;
}
.admin-bar .hero { min-height: calc(100svh - 32px); }
.sre-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.form-status {
  margin: -8px 0 2px;
  padding: 13px 15px;
  font-size: 12px;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
.form-status--success { background: #e5ede8; color: #173f35; }
.form-status--error { background: #f5e4df; color: #6e2d22; }
.form-status:focus { outline: 2px solid #d5a25a; }
.enquiry-form input[aria-invalid="true"],
.enquiry-form textarea[aria-invalid="true"] { border-color: #9f3f2c; }
.form-unavailable { background: #fffdf8; color: #172321; padding: 30px; }
.utility-header { background: #172321; color: #fffdf8; }
.utility-nav {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.utility-main { min-height: 70vh; padding-top: 110px; padding-bottom: 130px; }
.utility-article { max-width: 860px; }
.utility-article h1 {
  font: 300 clamp(56px, 7vw, 94px)/.98 Fraunces, Georgia, serif;
  letter-spacing: -.045em;
  margin: 0 0 60px;
}
.utility-content { color: #48534e; }
.utility-content h2 {
  color: #172321;
  font: 400 30px/1.15 Fraunces, Georgia, serif;
  margin: 55px 0 15px;
}
.utility-content h3 { color: #172321; margin-top: 34px; }
.utility-content p,
.utility-content li { max-width: 760px; }
.utility-content a { text-decoration: underline; text-underline-offset: 3px; }
.utility-footer { border-top: 1px solid #d7d9d5; }
.button-dark { background: #172321; color: #fffdf8; }
.not-found p { margin-top: 35px; }

@media (max-width: 782px) {
  .admin-bar .hero { min-height: calc(100svh - 46px); }
}
@media (max-width: 620px) {
  .utility-nav { min-height: 82px; }
  .utility-nav .nav-cta { display: block; font-size: 9px; }
  .utility-main { padding-top: 80px; padding-bottom: 90px; }
  .utility-article h1 { font-size: 52px; margin-bottom: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
