@font-face {
  font-family: "Alegreya";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/alegreya-latin-400-normal.4489f4407555.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/alegreya-latin-400-italic.faa0e87c581d.woff2") format("woff2");
}
@font-face {
  font-family: "Alegreya";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/alegreya-latin-600-normal.257fa984181c.woff2") format("woff2");
}
:root {
  color-scheme: light;
  --paper: #fdfcf9;
  --leaf: #f7f4ee;
  --ink: #302c26;
  --muted: #696157;
  --rule: #d5cbbd;
  --accent: #954a35;
  --mineral: #285c69;
  --ochre: #9a8058;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: var(--accent); }
:where(a, button, summary, input, select):focus-visible { outline: 2px solid var(--mineral, #245e70); outline-offset: 4px; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled, input:disabled { cursor: not-allowed; opacity: .5; }
input, select { max-width: 100%; min-width: 0; }
fieldset { min-width: 0; margin: 0 0 .8rem; padding: 0; border: 0; }
legend { margin-bottom: .4rem; }
.language-switch { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.language-switch select { display: inline; width: auto; padding: .25rem; font-size: inherit; }
.skip-link { position: fixed; top: .5rem; left: .5rem; padding: .5rem; background: white; color: #222; transform: translateY(-150%); z-index: 20; }
.skip-link:focus { transform: translateY(0); }
.notice, .marginal-note, .unsealed-leaf {
  background: var(--leaf);
  border-block: 1px solid var(--rule);
  padding: .8rem 1rem;
}
.notice > :last-child, .marginal-note > :last-child, .unsealed-leaf > :last-child { margin-bottom: 0; }
.notice.error, .errorlist { color: #852419; }
.notices { margin-top: 1.5rem; }
.guest-banner { margin-block: .75rem; padding: .6rem .8rem; font-size: .875rem; }
.guest-banner p { margin: 0 0 .3rem; }
.guest-banner a { display: inline-flex; align-items: center; min-height: 44px; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
