/* Shared accessibility rules, loaded after the visual layout styles. */
:root { --focus-space: 7rem; }
.home-split {
  /* Keep white body text above 4.5:1 even at the brightest gradient stop. */
  background: radial-gradient(circle at 50% 0%, rgba(230, 243, 242, 0.08), transparent 31rem), var(--color-background);
}
html { scroll-padding-block-start: var(--focus-space); }
:where(a, button, summary, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #243b4b;
}
:where(main, section, h1, h2, h3, a, button, summary, [tabindex]) {
  scroll-margin-block-start: var(--focus-space);
}
.skip-link { z-index: 4001; max-width: calc(100% - 16px); }
.skip-link:focus { outline: 3px solid #243b4b; outline-offset: 2px; }
#main-content { scroll-margin-block-start: var(--focus-space); }
.split-hero { padding-block-start: max(122px, var(--focus-space)); }
.redesigned-page .page-shell { padding-block-start: max(clamp(106px, 13vw, 176px), var(--focus-space)); }
.legal-content { padding-block-start: max(clamp(88px, 11vw, 150px), var(--focus-space)); }
.home-nav-menu { min-width: 0; flex-wrap: wrap; }
.home-nav-menu > a { display: flex; align-items: center; }
.home-nav-menu > a, .language-menu summary, .language-options a {
  min-height: 2.75rem;
  white-space: normal;
  overflow-wrap: anywhere;
}
.language-menu summary { display: flex; align-items: center; }
.site-footer-links a { display: inline-flex; align-items: center; min-height: 2.75rem; }
:where(h1, h2, h3, p, li, a) { overflow-wrap: anywhere; }
.about-panel, .about-panel-body, .site-footer > *, .site-footer-links a { min-width: 0; max-width: 100%; }
.about-tags li { max-width: 100%; }
.split-content h1 { line-height: 1; }
.split-content h1 span, .content-title, .org-title, .about-panel-heading {
  white-space: normal;
  overflow-wrap: anywhere;
}
.redesigned-page .org-title, .redesigned-page .work-title,
.redesigned-page .about-title, .redesigned-page .contact-title {
  overflow-wrap: anywhere;
  white-space: normal;
}
.split-hero { overflow: visible; }
.alternative-page .content-card-title { min-width: 0; overflow-wrap: anywhere; }
.contact-email, .contact-email-control, .contact-mail-address { min-width: 0; }
.contact-mail-address { overflow-wrap: anywhere; }
.contact-copy-status {
  position: static;
  min-height: 2.8em;
  margin-top: 0.5rem;
  width: fit-content;
  opacity: 1;
  transform: none;
}
.contact-copy-status:empty { background: transparent; box-shadow: none; }
.clipboard-fallback {
  position: fixed;
  inset: 0 auto auto -10000px;
  font-size: 1rem;
}
.language-options {
  width: 19rem;
  max-width: min(20rem, calc(100vw - 2rem));
}
@media (min-width: 1200px) {
  /* Enlarged artwork grows into its column instead of beyond the viewport. */
  .alternative-page .content-illustration-work img { transform-origin: right center; }
}
.split-content h1 { font-size: calc(var(--home-heading-scale, 4) * 1rem); }
.split-lead { font-size: calc(var(--home-lead-scale, 1.2) * 1rem); }
.split-claim { font-size: calc(var(--home-claim-scale, 1.5) * 1rem); }
@media (max-width: 900px) {
  .split-content h1 { font-size: calc(var(--home-heading-scale, 2.55) * 1rem); }
}
@media (max-width: 900px) {
  .home-navbar:has(.home-nav-links:not(.has-menu-toggle)) {
    position: relative;
    inset: auto;
    padding-top: 1rem;
  }
  .home-nav-menu { max-height: calc(100dvh - 6rem); }
  .home-nav-links .home-nav-menu a:nth-of-type(n + 1) { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
@media (forced-colors: active) {
  .home-nav-links, .content-card, .about-panel, .content-hero-contact,
  .contact-mail, .split-claim { border: 1px solid CanvasText; }
  .home-nav-links .is-active { outline: 2px solid Highlight; }
  :where(a, button, summary, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid Highlight;
    box-shadow: none;
  }
  .card-toggle { border-color: ButtonText; }
}
