/* [project]/src/styles/displayfont_7d47b0e2.module.css [app-client] (css) */
@font-face {
  font-family: displayFont;
  src: url("../media/newsreader_latin_wght_normal-s.p.0rbocftmutivq.woff2") format("woff2");
  font-display: swap;
  font-weight: 300 700;
}

@font-face {
  font-family: displayFont Fallback;
  src: local(Times New Roman);
  ascent-override: 70.13%;
  descent-override: 25.29%;
  line-gap-override: 0.0%;
  size-adjust: 104.8%;
}

.displayfont_7d47b0e2-module__-C9_jW__className {
  font-family: displayFont, displayFont Fallback, Georgia;
}

.displayfont_7d47b0e2-module__-C9_jW__variable {
  --font-display: "displayFont", "displayFont Fallback", Georgia;
}

/* [project]/src/styles/bodyfont_c927d22e.module.css [app-client] (css) */
@font-face {
  font-family: bodyFont;
  src: url("../media/inter_latin_wght_normal-s.p.0gsaq8ukbf34m.woff2") format("woff2");
  font-display: swap;
  font-weight: 400 700;
}

@font-face {
  font-family: bodyFont Fallback;
  src: local(Arial);
  ascent-override: 89.79%;
  descent-override: 22.36%;
  line-gap-override: 0.0%;
  size-adjust: 107.89%;
}

.bodyfont_c927d22e-module__RcyVrW__className {
  font-family: bodyFont, bodyFont Fallback, Arial;
}

.bodyfont_c927d22e-module__RcyVrW__variable {
  --font-ui: "bodyFont", "bodyFont Fallback", Arial;
}

/* [project]/src/styles/public.css [app-client] (css) */
:root {
  --background: #f6f4ef;
  --foreground: #2c302b;
  --muted: #62655e;
  --surface: #eae7df;
  --border: #d2d3c9;
  --accent: #424e3d;
  --on-accent: #fffefa;
  --type-xs: .75rem;
  --type-sm: .875rem;
  --type-body: 1rem;
  --type-lead: clamp(1rem, 1.2vw, 1.1875rem);
  --type-h1: clamp(2.75rem, 5.3vw, 5.375rem);
  --type-h2: clamp(1.75rem, 3vw, 2.75rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --content-width: 90rem;
  --reading-width: 42rem;
  --section-space: clamp(3rem, 7vw, 7rem);
  --radius: .125rem;
  --transition: .16s;
}

.public-site {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-ui), Arial, sans-serif;
  font-size: var(--type-body);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  line-height: 1.65;
}

.public-site *, .public-site :before, .public-site :after {
  box-sizing: border-box;
}

html:has(.public-site) {
  scrollbar-gutter: stable;
}

.public-site :where(h1, h2, h3, p, figure, ul, dl, dd) {
  margin: 0;
}

.public-site :where(ul) {
  padding: 0;
  list-style: none;
}

.public-site :where(a) {
  color: inherit;
  text-underline-offset: .3em;
  text-decoration-thickness: 1px;
}

.public-site :where(button) {
  font: inherit;
  cursor: pointer;
}

.public-site :where(a, button, summary):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 5px;
}

.public-site :where(a, button) {
  -webkit-tap-highlight-color: transparent;
}

.public-site h1, .public-site h2, .footer-name {
  font-family: var(--font-display), Georgia, serif;
  text-wrap: balance;
  font-weight: 400;
}

.public-site h1 {
  font-size: var(--type-h1);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  line-height: 1.06;
}

.public-site h2 {
  font-size: var(--type-h2);
  line-height: 1.18;
}

.container {
  width: min(100%, var(--content-width));
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.eyebrow {
  font-size: var(--type-xs);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.6;
}

.intro-text {
  color: var(--muted);
  font-size: var(--type-lead);
  max-width: 34rem;
  line-height: 1.8;
}

.skip-link {
  top: var(--space-4);
  left: var(--gutter);
  z-index: 100;
  padding: var(--space-3) var(--space-5);
  background: var(--foreground);
  position: fixed;
  transform: translateY(-200%);
  color: var(--on-accent) !important;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  z-index: 10;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.site-header--solid {
  background: var(--background);
}

.site-header--overlay {
  color: var(--on-accent);
  background: none;
  border-color: currentColor;
  position: absolute;
  inset: 0 0 auto;
}

.site-header--overlay :where(a, button):focus-visible {
  outline-color: currentColor;
}

.header-inner {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-5);
  min-height: 6.75rem;
  padding-block: var(--space-4);
  display: flex;
}

.wordmark {
  max-width: 19rem;
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.5rem;
  line-height: 1.15;
  text-decoration: none;
  display: block;
}

.brand-logo {
  width: 10rem;
  max-height: 3.5rem;
}

.brand-logo img {
  max-height: 3.5rem;
  object-fit: contain !important;
}

.desktop-navigation ul {
  align-items: center;
  gap: clamp(1rem, 1.8vw, 2rem);
  display: flex;
}

.desktop-navigation a {
  min-height: 44px;
  font-size: var(--type-sm);
  white-space: nowrap;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.desktop-navigation a[aria-current], .desktop-navigation a:hover {
  text-decoration: underline;
}

.header-controls {
  align-items: center;
  gap: var(--space-5);
  flex-shrink: 0;
  display: flex;
}

.language-switcher {
  font-size: var(--type-xs);
  letter-spacing: .04em;
  align-items: center;
  display: flex;
}

.language-switcher > span {
  align-items: center;
  display: inline-flex;
}

.language-switcher a {
  justify-content: center;
  align-items: center;
  min-width: 36px;
  min-height: 44px;
  text-decoration: none;
  display: inline-flex;
}

.language-switcher a[aria-current] {
  font-weight: 600;
  text-decoration: underline;
}

.language-divider {
  opacity: .5;
}

.mobile-menu {
  display: none;
}

.menu-toggle, .menu-close {
  color: inherit;
  min-width: 44px;
  min-height: 44px;
  padding: var(--space-2);
  background: none;
  border: 0;
}

.menu-toggle {
  align-items: center;
  gap: var(--space-3);
  display: inline-flex;
  font-size: var(--type-sm) !important;
}

.menu-lines {
  gap: 6px;
  width: 22px;
  display: grid;
}

.menu-lines i {
  background: currentColor;
  width: 100%;
  height: 1px;
  display: block;
}

.menu-dialog {
  padding: var(--space-5) var(--gutter) var(--space-7);
  background: var(--background);
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  color: var(--foreground);
  border: 0;
  margin: 0;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.menu-dialog::backdrop {
  background: var(--background);
}

.menu-dialog-top {
  padding-bottom: var(--space-7);
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.menu-close {
  font-size: 2rem !important;
}

.mobile-navigation {
  padding-block: var(--space-6);
}

.mobile-navigation a {
  padding-block: var(--space-3);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  text-decoration: none;
  display: block;
}

.mobile-navigation a[aria-current] {
  text-decoration: underline;
}

.menu-dialog .language-switcher {
  margin-top: var(--space-6);
}

.demo-note {
  padding-top: var(--space-5);
  font-size: var(--type-xs);
  color: var(--muted);
}

.page-intro {
  padding-block: var(--section-space);
}

.page-intro--split {
  grid-template-columns: .85fr 1.15fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  display: grid;
}

.intro-copy {
  min-width: 0;
}

.intro-copy .eyebrow {
  margin-bottom: var(--space-6);
}

.intro-copy h1 + .intro-text {
  margin-top: var(--space-5);
}

.intro-photo {
  min-width: 0;
}

.intro-photo figcaption {
  margin-top: var(--space-3);
  color: var(--muted);
  font-size: var(--type-xs);
}

.cms-image {
  width: 100%;
  aspect-ratio: var(--image-ratio);
  background: var(--surface);
  display: block;
  position: relative;
  overflow: hidden;
}

.cms-image img {
  width: 100%;
  height: auto;
  display: block;
}

.cms-image--fill {
  aspect-ratio: auto;
  width: 100%;
  height: 100%;
}

.cms-image--fill img {
  object-fit: cover;
  object-position: var(--image-position);
  width: 100%;
  height: 100%;
}

.image-placeholder {
  aspect-ratio: 3 / 2;
  width: 100%;
  padding: var(--space-6);
  background: var(--surface);
  color: var(--muted);
  text-align: center;
  font-size: var(--type-sm);
  place-items: center;
  display: grid;
}

.cta-row {
  align-items: center;
  gap: var(--space-4) var(--space-6);
  margin-top: var(--space-7);
  flex-wrap: wrap;
  display: flex;
}

.button-link {
  justify-content: center;
  align-items: center;
  gap: var(--space-5);
  min-height: 48px;
  padding: var(--space-3) var(--space-5);
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  font-size: var(--type-sm);
  transition: background var(--transition);
  text-decoration: none;
  display: inline-flex;
  color: var(--on-accent) !important;
}

.button-link:hover {
  background: var(--foreground);
}

.text-link {
  padding-block: var(--space-3);
  min-height: 44px;
  font-size: var(--type-sm);
  display: inline-block;
}

.listing-shell {
  padding-bottom: var(--section-space);
}

.listing-shell li {
  gap: var(--space-5);
  padding-block: var(--space-6);
  border-top: 1px solid var(--border);
  grid-template-columns: 3rem 1fr;
  display: grid;
}

.list-number {
  font-size: var(--type-xs);
  color: var(--muted);
  padding-top: var(--space-2);
}

.listing-shell h2 a {
  text-decoration: none;
}

.listing-shell h2 a:hover {
  text-decoration: underline;
}

.listing-shell p {
  margin-top: var(--space-3);
  max-width: var(--reading-width);
  color: var(--muted);
}

.empty-list {
  padding-block: var(--space-6);
  border-top: 1px solid var(--border);
}

.contact-shell {
  padding-bottom: var(--section-space);
}

.contact-shell dl {
  gap: var(--space-7);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 60rem;
  display: grid;
}

.contact-shell dt {
  margin-bottom: var(--space-3);
  font-size: var(--type-sm);
  color: var(--muted);
}

.contact-shell dd {
  overflow-wrap: anywhere;
}

.prose-shell {
  max-width: calc(var(--reading-width) + 2 * var(--gutter));
  padding-bottom: var(--section-space);
}

.prose-shell p {
  margin-bottom: var(--space-5);
}

.status-page {
  min-height: 65vh;
  padding-block: var(--section-space);
  max-width: 65rem;
}

.status-page h1 {
  margin-block: var(--space-5);
}

.status-page .intro-text {
  margin-bottom: var(--space-6);
}

.site-footer {
  border-top: 1px solid var(--border);
  padding-top: var(--space-8);
}

.footer-grid {
  gap: var(--space-7);
  padding-bottom: var(--space-8);
  grid-template-columns: 1.6fr .8fr 1fr;
  display: grid;
}

.footer-name {
  font-size: 1.75rem;
  line-height: 1.15;
  margin-bottom: var(--space-4) !important;
}

.footer-intro > p:not(.footer-name) {
  color: var(--muted);
  font-size: var(--type-sm);
  max-width: 24rem;
}

.footer-location {
  margin-top: var(--space-5) !important;
}

.site-footer nav a, .footer-contact > a {
  min-height: 44px;
  font-size: var(--type-sm);
  overflow-wrap: anywhere;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
}

.site-footer nav a:hover, .footer-contact > a:hover {
  text-decoration: underline;
}

.footer-contact {
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  display: flex;
}

.footer-bottom {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
  display: flex;
}

.footer-bottom small {
  color: var(--muted);
  font-size: var(--type-xs);
}

.footer-bottom ul {
  gap: var(--space-5);
  flex-wrap: wrap;
  display: flex;
}

@media (max-width: 71.999rem) {
  .desktop-navigation {
    display: none;
  }

  .mobile-menu {
    display: block;
  }
}

@media (max-width: 47.999rem) {
  .header-inner {
    gap: var(--space-3);
    min-height: 5.5rem;
  }

  .wordmark {
    max-width: 45%;
    font-size: 1.1875rem;
  }

  .header-controls {
    gap: var(--space-2);
  }

  .menu-toggle > span:first-child {
    display: none;
  }

  .page-intro--split {
    gap: var(--space-7);
    grid-template-columns: 1fr;
  }

  .intro-copy h1 {
    max-width: 36rem;
  }

  .page-intro--hero {
    padding-top: var(--space-7);
  }

  .footer-grid {
    gap: var(--space-6);
    grid-template-columns: 1fr;
  }

  .footer-grid > nav ul {
    column-gap: var(--space-5);
    flex-wrap: wrap;
    display: flex;
  }

  .footer-intro {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-shell dl {
    grid-template-columns: 1fr;
  }

  .listing-shell li {
    gap: var(--space-3);
    grid-template-columns: 2rem 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-site *, .public-site :before, .public-site :after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/*# sourceMappingURL=src_styles_0zmm74g._.css.map*/