/* Baseline for the standard components: accessible defaults, themed through custom properties.
   Loaded before the site theme, so the theme can override anything here. */
.markus-skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: .5rem 1rem; background: var(--papyrus-bg, #fff); color: var(--papyrus-ink, #000); }
.markus-skip-link:focus { left: 0; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--papyrus-focus, currentColor); outline-offset: 2px; }
.markus-site-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: .25em; }
.markus-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1rem; }
.markus-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; }
.markus-pager { display: flex; justify-content: space-between; gap: 1rem; margin: 2rem 0; }
.markus-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1.5rem; }
.markus-card-image { max-width: 100%; height: auto; }
.markus-tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.markus-nav-toggle { display: none; }
.markus-nav-js .markus-nav-toggle { display: inline-block; }
@media (max-width: 40rem) { .markus-nav-js .markus-site-nav:not(.is-open) { display: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
.markus-logo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0 0 2rem; }
.markus-logo a { display: flex; align-items: center; justify-content: center; min-height: 5rem; padding: .75rem; border: 1px solid var(--papyrus-rule, currentColor); border-radius: .5rem; text-decoration: none; color: inherit; }
.markus-logo-image { max-width: 100%; max-height: 3.5rem; height: auto; object-fit: contain; }
.markus-logo-text { font-weight: 600; text-align: center; }
.markus-form-field { display: grid; gap: .25rem; margin-bottom: 1rem; }
.markus-form-field :is(input, textarea, select) { font: inherit; padding: .5rem; max-width: 100%; }
.markus-form-trap { position: absolute; left: -9999px; }
.markus-form-status.is-error { color: var(--papyrus-error, #b00020); }
.markus-band { padding: var(--papyrus-band-padding, 3rem 1rem); background: var(--papyrus-band-bg, transparent); }
.markus-band[data-tone="card"] { background: var(--papyrus-band-card-bg, var(--papyrus-band-bg, transparent)); }
.markus-band[data-tone="muted"] { background: var(--papyrus-band-muted-bg, var(--papyrus-band-bg, transparent)); }
.markus-band[data-size="hero"] { padding-block: var(--papyrus-band-hero-padding, 5rem); }
.markus-band-inner { max-width: var(--papyrus-band-width, 72rem); margin: 0 auto; }
.markus-band-eyebrow { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.markus-columns { display: grid; gap: 2rem; }
.markus-columns:not([data-count="1"]) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.markus-column[data-panel="card"] { padding: 1.5rem; border: 1px solid var(--papyrus-rule, currentColor); border-radius: var(--papyrus-radius, .5rem); }
.markus-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.markus-button { display: inline-block; padding: .6rem 1.1rem; border: 1px solid transparent; border-radius: var(--papyrus-radius, .5rem); background: var(--papyrus-button-bg, var(--papyrus-ink, #000)); color: var(--papyrus-button-ink, var(--papyrus-bg, #fff)); font-weight: 600; text-decoration: none; }
.markus-button[data-size="lg"] { padding: .85rem 1.5rem; font-size: 1.1rem; }
.markus-button[data-variant="secondary"] { background: transparent; border-color: currentColor; color: inherit; }
.markus-nav-group > summary { cursor: pointer; }
.markus-nav-group-links { display: grid; gap: .5rem; padding: .5rem 0 .5rem 1rem; }
@media (min-width: 40.01rem) {
  .markus-nav-group { position: relative; display: inline-block; }
  .markus-nav-group-links { position: absolute; top: 100%; left: 0; z-index: 10; min-width: 12rem; padding: .75rem 1rem; background: var(--papyrus-bg, #fff); border: 1px solid var(--papyrus-rule, currentColor); border-radius: var(--papyrus-radius, .5rem); }
  .markus-nav-group:hover::details-content { content-visibility: visible; }
  .markus-nav-group:focus-within::details-content { content-visibility: visible; }
}
.papyrus-family-footer { width: 100%; box-sizing: border-box; padding: 1.5rem 0 0; background: var(--papyrus-family-footer-background, #27213a); color: var(--papyrus-family-footer-text, #f7f4ff); font-family: var(--papyrus-family-footer-font-family, inherit); }
.papyrus-family-footer-shell { box-sizing: border-box; max-width: var(--papyrus-family-footer-max-width, 1120px); margin: 0 auto; padding: 0 1rem; }
.papyrus-family-footer a { color: var(--papyrus-family-footer-link, #f7f4ff); font-weight: 400; text-decoration: none; }
.papyrus-family-footer-local { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem 1.5rem; align-items: start; }
.papyrus-family-footer-intro { display: grid; gap: .35rem; justify-items: start; text-align: left; }
.papyrus-family-footer-intro-row { display: grid; grid-template-columns: auto 1fr; gap: .75rem 1rem; align-items: start; width: 100%; }
.papyrus-family-footer-logo { max-width: 64px; height: auto; }
.papyrus-family-footer-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; font-weight: 500; color: var(--papyrus-family-footer-muted-text, #cbbfef); }
.papyrus-family-footer-title { margin: 0; font-size: 1.12rem; line-height: 1.25; font-weight: 400; text-align: left; }
.papyrus-family-footer-description { margin: 0; font-size: .92rem; line-height: 1.55; font-weight: 300; color: var(--papyrus-family-footer-muted-text, #cbbfef); text-align: left; }
.papyrus-family-footer-column-title { margin: 0 0 .5rem; font-size: .82rem; font-weight: 500; color: var(--papyrus-family-footer-muted-text, #cbbfef); }
.papyrus-family-footer-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.papyrus-family-footer-band { width: 100%; margin-top: 2rem; padding: 1.25rem 0; background: var(--papyrus-family-footer-accent-background, #3c3357); }
.papyrus-family-footer-section { display: grid; gap: 1rem; align-content: start; }
.papyrus-family-footer-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem 1.5rem; }
.papyrus-family-footer-group { display: grid; gap: 1rem; align-content: start; }
.papyrus-family-footer-item { display: grid; gap: .35rem; align-content: start; }
.papyrus-family-footer-item a { font-size: .92rem; font-weight: 500; }
.papyrus-family-footer-item p { margin: 0; font-size: .84rem; line-height: 1.5; font-weight: 300; color: var(--papyrus-family-footer-muted-text, #cbbfef); }
.papyrus-family-footer-bottom { margin-top: .5rem; font-size: .82rem; font-weight: 300; }
.papyrus-family-footer-bottom a { color: var(--papyrus-family-footer-muted-text, #cbbfef); }
.papyrus-family-footer-community { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem 1.5rem; margin-top: 1.25rem; padding-bottom: 1.5rem; }
.markus-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; min-height: 2.5rem; margin: 0 0 1rem; position: relative; }
.markus-page-actions :is(button, a) { font: inherit; padding: .35rem .75rem; border: 1px solid var(--papyrus-rule, currentColor); border-radius: .375rem; background: var(--papyrus-bg, transparent); color: var(--papyrus-ink, inherit); text-decoration: none; cursor: pointer; }
.markus-page-actions .markus-copy-md { visibility: hidden; }
.markus-actions-js .markus-copy-md { visibility: visible; }
.markus-actions-links { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.markus-actions-menu { position: relative; }
.markus-actions-menu [role="menu"] { position: absolute; z-index: 20; top: calc(100% + .25rem); left: 0; min-width: 14rem; margin: 0; padding: .25rem; list-style: none; background: var(--papyrus-bg, Canvas); color: var(--papyrus-ink, CanvasText); border: 1px solid var(--papyrus-rule, currentColor); border-radius: .375rem; }
.markus-actions-menu [role="menu"][hidden] { display: none; }
.markus-actions-menu [role="menuitem"] { display: block; border: 0; }
.markus-actions-menu [role="menuitem"]:is(:hover, :focus-visible) { background: var(--papyrus-hover, rgba(127,127,127,.2)); }
.markus-actions-status { min-width: 6rem; font-size: .875rem; }
.markus-actions-fallback { width: 100%; min-height: 6rem; }
.markus-page-actions-aside { margin-top: 2rem; }
