@font-face {
  font-family: 'Playfair Display';
  src: url('/fonts/playfair.ttf') format('truetype');
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/fonts/dm-sans.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color: #093c3e;
  background: #faf9f6;
  font-family: 'DM Sans', sans-serif;
  font-size: 100%;
  line-height: 1.7;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
header, footer { padding: 2rem max(1.5rem, 5vw); }
header {
  border-bottom: 1px solid #b7ccca;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.wordmark {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 36px;
  letter-spacing: -.04em;
  text-decoration: none;
}
nav, .footer-links, .terms-footer { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
nav a, footer a { display: inline-flex; align-items: center; min-height: 44px; }
nav a[aria-current] { font-weight: 700; text-decoration-thickness: 2px; }
main { max-width: 760px; margin: 0 auto; padding: 4rem 2rem 5rem; }
h1, h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 400;
  text-wrap: balance;
}
h1 { font-size: clamp(2.75rem, 7vw, 4rem); line-height: 1.1; margin: 0 0 1.5rem; letter-spacing: -.03em; }
h2 { font-size: 29px; line-height: 1.25; margin: 0 0 1rem; letter-spacing: -.02em; }
p, li { font-size: 18px; overflow-wrap: anywhere; }
p { margin: 0 0 1rem; white-space: pre-line; }
li + li { margin-top: .75rem; }
ul { padding-left: 1.5rem; }
.version, .updated { font-size: 14px; margin-bottom: 2rem; }
.intro { font-size: 22px; line-height: 1.5; }
.contents { border-block: 1px solid #b7ccca; padding-block: 1rem; margin-block: 2rem; }
.preview-note { background: #e8efed; padding: 1.5rem max(1.5rem, 5vw); }
.preview-note p { margin: .25rem 0 0; }
.pending { margin-block: 2rem; }
.request-action { display: inline-flex; padding: .75rem 1.25rem; min-height: 44px; background: #093c3e; color: #faf9f6; border-radius: 8px; }
.request-action:hover { background: #28615b; }
footer { border-top: 1px solid #b7ccca; background: #e8efed; }
.skip-link { position: fixed; top: .75rem; left: .75rem; transform: translateY(-180%); background: #093c3e; color: #faf9f6; padding: .75rem 1rem; z-index: 2; }
.skip-link:focus { transform: none; }
section { margin-top: 44px; scroll-margin-top: 1.5rem; }
section p:last-child { margin-bottom: 0; }
@media (max-width: 700px) {
  header { padding-block: 1.5rem; gap: 1rem; }
  nav { column-gap: 1rem; }
  main { padding: 2.5rem 1.5rem 3.5rem; }
  h2 { font-size: 27px; }
}
@media print {
  header, footer, .contents, .skip-link { display: none; }
  main { width: auto; padding: 0; }
}
