:root {
  color-scheme: light;

  --color-brand-50: #e6f5f7;
  --color-brand-100: #ccebef;
  --color-brand-500: #007f92;
  --color-brand-600: #006b7d;
  --color-brand-700: #005363;
  --color-navy-700: #173f4a;
  --color-navy-800: #102f38;
  --color-ink-900: #18323b;
  --color-ink-700: #334e57;
  --color-ink-600: #52666d;
  --color-line: #cbd7db;
  --color-line-strong: #9fb2b8;
  --color-canvas: #ffffff;
  --color-surface-subtle: #f4f8f9;
  --color-surface-muted: #e8f0f2;
  --color-focus: #005f73;
  --color-success: #216e43;
  --color-success-surface: #edf8f1;
  --color-warning: #73510d;
  --color-warning-surface: #fff8e8;
  --color-danger: #8b1e2d;
  --color-danger-surface: #fff1f2;
  --color-info: #145b75;
  --color-info-surface: #eef8fb;

  --color-text: var(--color-ink-900);
  --color-text-subtle: var(--color-ink-600);
  --color-heading: var(--color-navy-800);
  --color-link: var(--color-brand-600);
  --color-link-hover: var(--color-brand-700);
  --color-link-visited: #66518a;
  --color-border: var(--color-line);
  --color-border-strong: var(--color-line-strong);
  --color-surface: var(--color-canvas);
  --color-surface-alt: var(--color-surface-subtle);
  --color-surface-emphasis: var(--color-surface-muted);
  --color-action: var(--color-brand-600);
  --color-action-hover: var(--color-brand-700);
  --color-action-text: #ffffff;
  --color-shell-dark: var(--color-navy-800);
  --color-shell-dark-text: #f3f7f8;
  --color-shell-dark-muted: #c7d5d9;
  --color-overlay: rgb(16 47 56 / 72%);

  --color-primary: var(--color-action);
  --color-primary-dark: var(--color-action-hover);
  --color-muted: var(--color-text-subtle);
  --color-footer: var(--color-shell-dark);

  --state-hover-filter: brightness(.96);
  --state-pressed-filter: brightness(.9);
  --state-disabled-opacity: .55;
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
  --focus-ring: var(--focus-ring-width) solid var(--color-focus);
  --selection-background: var(--color-brand-100);
  --selection-text: var(--color-ink-900);

  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  --font-size-00: .75rem;
  --font-size-0: .875rem;
  --font-size-1: 1rem;
  --font-size-2: 1.125rem;
  --font-size-3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  --font-size-4: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --font-size-5: clamp(1.875rem, 1.45rem + 1.8vw, 2.75rem);
  --font-size-6: clamp(2.25rem, 1.65rem + 2.5vw, 3.5rem);
  --line-height-tight: 1.15;
  --line-height-heading: 1.25;
  --line-height-body: 1.65;
  --line-height-ui: 1.35;
  --font-weight-regular: 400;
  --font-weight-medium: 600;
  --font-weight-bold: 700;
  --tracking-heading: -.015em;
  --tracking-label: .04em;
  --measure-reading: 100%;
  --measure-wide: 82ch;

  --space-0: 0;
  --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;
  --control-min-size: 2.75rem;
  --control-padding-block: .75rem;
  --control-padding-inline: 1rem;
  --shell-gutter: clamp(1rem, 3vw, 2rem);
  --section-space: clamp(3rem, 7vw, 6rem);
  --content-gap: clamp(1.5rem, 4vw, 3rem);
  --layout-sidebar-min: 14rem;
  --container-max: 73.125rem;
  --container-reading: 48rem;
  --container-wide-reading: 60rem;

  --border-width: 1px;
  --border-width-strong: 2px;
  --radius-sm: .25rem;
  --radius-md: .5rem;
  --radius-lg: .75rem;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgb(16 47 56 / 8%);
  --shadow-md: 0 8px 24px rgb(16 47 56 / 12%);
  --shadow-overlay: -12px 0 36px rgb(16 47 56 / 24%);
  --z-content: 0;
  --z-carousel-controls: 10;
  --z-header: 20;
  --z-submenu: 30;
  --z-navigation-overlay: 40;
  --z-skip-link: 100;

  --duration-instant: 1ms;
  --duration-fast: 120ms;
  --duration-standard: 200ms;
  --duration-slow: 320ms;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(.2, .8, .2, 1);
  /* Media queries retain the equivalent literal boundaries below. */
  --breakpoint-sm: 48rem;
  --breakpoint-lg: 62rem;
  --breakpoint-xl: 75rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-surface); font-family: var(--font-body); font-size: var(--font-size-1); line-height: var(--line-height-body); }
::selection { color: var(--selection-text); background: var(--selection-background); }
img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; }
button, input, select, textarea { color: inherit; font: inherit; }
a { color: var(--color-link); text-decoration-thickness: from-font; text-underline-offset: .18em; transition: color var(--duration-fast) var(--ease-standard), text-decoration-thickness var(--duration-fast) var(--ease-standard); }
a:hover { color: var(--color-link-hover); text-decoration-thickness: .12em; }
a:active { color: var(--color-action-hover); }
.prose a:visited { color: var(--color-link-visited); }
h1, h2, h3, h4, h5, h6 { margin-block: var(--space-0) var(--space-4); color: var(--color-heading); font-family: var(--font-heading); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-heading); line-height: var(--line-height-heading); }
h1 { font-size: var(--font-size-5); }
h2 { font-size: var(--font-size-4); }
h3 { font-size: var(--font-size-3); }
h4 { font-size: var(--font-size-2); }
h5, h6 { font-size: var(--font-size-1); }
p, ul, ol, table, figure { margin-block: var(--space-0) var(--space-4); }

:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; z-index: var(--z-skip-link); top: var(--space-2); left: var(--space-2); transform: translateY(-150%); min-height: var(--control-min-size); padding: var(--control-padding-block) var(--control-padding-inline); color: var(--color-action-text); background: var(--color-action); font-weight: var(--font-weight-bold); transition: transform var(--duration-fast) var(--ease-standard); }
.skip-link:focus { transform: translateY(0); }
.shell-container { width: min(100%, var(--container-max)); padding-inline: var(--shell-gutter); margin-inline: auto; }

.topbar { color: var(--color-shell-dark-text); background: var(--color-navy-700); font-size: var(--font-size-00); letter-spacing: var(--tracking-label); }
.topbar__inner { display: flex; min-height: 2.5rem; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-5); padding-block: var(--space-2); }
.topbar p { margin: 0; }
.social-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: 0; margin: 0; list-style: none; }
.social-links a { font-weight: var(--font-weight-bold); text-decoration: underline; text-decoration-thickness: .08em; }
.topbar .social-links a { color: var(--color-shell-dark-text); }
.topbar .social-links a:hover { color: var(--color-canvas); text-decoration-thickness: .14em; }

.site-header { position: relative; z-index: var(--z-header); border-bottom: var(--border-width) solid var(--color-border); background: rgb(255 255 255 / 96%); box-shadow: var(--shadow-sm); }
.site-header__inner { display: flex; min-height: 5.5rem; align-items: center; gap: var(--space-4); }
.site-branding { flex: 0 1 auto; min-width: 0; }
.site-branding a { display: inline-flex; align-items: center; color: var(--color-heading); text-decoration: none; }
.site-branding img { display: block; width: auto; max-width: min(10rem, 40vw); max-height: 4.25rem; object-fit: contain; }
.primary-navigation { margin-left: auto; }
.primary-navigation__list, .primary-navigation__list ul { padding: 0; margin: 0; list-style: none; }
.primary-navigation__list li { min-width: 0; }
.primary-navigation__list a { display: flex; min-height: var(--control-min-size); align-items: center; padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); color: var(--color-text); font-family: var(--font-heading); font-size: var(--font-size-00); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-label); line-height: var(--line-height-ui); overflow-wrap: anywhere; text-decoration: none; text-transform: uppercase; transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.primary-navigation__list a:hover { color: var(--color-link-hover); background: var(--color-brand-50); }
.primary-navigation__list a:active { background: var(--color-brand-100); }
.primary-navigation__list a[aria-current="page"] { color: var(--color-primary-dark); background: var(--color-brand-50); box-shadow: inset 0 -.1875rem 0 var(--color-action); }
.navigation-toggle, .navigation-close { min-width: var(--control-min-size); min-height: var(--control-min-size); padding: var(--control-padding-block) var(--control-padding-inline); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-md); color: var(--color-text); background: var(--color-surface); font-weight: var(--font-weight-medium); line-height: var(--line-height-ui); cursor: pointer; transition: border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.navigation-toggle:hover, .navigation-close:hover { border-color: var(--color-action); color: var(--color-link-hover); background: var(--color-brand-50); }
.navigation-toggle:active, .navigation-close:active { transform: translateY(1px); }
.menu-item--expanded > [data-submenu-toggle] { display: inline-flex; width: max-content; flex-wrap: nowrap; gap: .5rem; white-space: nowrap; }
.submenu-arrow { display: inline-block; width: .45rem; height: .45rem; flex: 0 0 auto; border-right: .125rem solid currentColor; border-bottom: .125rem solid currentColor; transform: translateY(-.125rem) rotate(45deg); transition: transform var(--duration-fast) var(--ease-standard); }
[data-submenu-toggle][aria-expanded="true"] .submenu-arrow { transform: translateY(.125rem) rotate(225deg); }
.navigation-close { display: none; }
.primary-navigation__panel { background: var(--color-surface); }

.page-family--landing .content-layout { padding-block: 0; }
.page-family--landing .content-layout--full-width-no-sidebar .content-layout__inner { gap: 0; padding-inline: 0; }
.landing-page, .landing-page__sections { min-width: 0; }
.landing-page__sections > section { position: relative; }
.landing-section, .landing-page__sections > .feature-state { width: min(calc(100% - (2 * var(--shell-gutter))), var(--container-wide-reading)); margin-inline: auto; }
.landing-section { padding-block: var(--section-space); }
.landing-page__sections > .feature-state { margin-block: var(--section-space); }
.home-carousel { color: var(--color-shell-dark-text); background: var(--color-shell-dark); }
.home-carousel__viewport { height: clamp(15rem, 34vw, 30rem); overflow: hidden; background: var(--color-shell-dark); }
.home-carousel__slides { height: 100%; padding: 0; margin: 0; list-style: none; }
.home-carousel__slide { height: 100%; }
.home-carousel__slide[hidden] { display: none; }
.home-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-carousel__controls { position: relative; z-index: var(--z-carousel-controls); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-3) var(--shell-gutter); border-top: var(--border-width) solid rgb(255 255 255 / 18%); background: var(--color-shell-dark); }
.home-carousel__controls button { display: inline-grid; min-width: var(--control-min-size); min-height: var(--control-min-size); place-items: center; padding: var(--space-2); border: var(--border-width) solid rgb(255 255 255 / 68%); border-radius: var(--radius-pill); color: var(--color-shell-dark-text); background: transparent; font-weight: var(--font-weight-bold); line-height: 1; cursor: pointer; transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.home-carousel__controls button:hover { border-color: var(--color-canvas); background: rgb(255 255 255 / 12%); }
.home-carousel__controls button:active { transform: translateY(1px); }
.home-carousel__controls [data-carousel-pause] { min-width: 5.5rem; padding-inline: var(--space-4); border-radius: var(--radius-pill); }
.home-carousel__controls [data-carousel-pause][aria-pressed="true"] { background: var(--color-canvas); color: var(--color-shell-dark); text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .18em; }
.home-carousel__dots { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-1); }
.home-carousel__dots button { position: relative; border-color: transparent; background: transparent; }
.home-carousel__dots button::before { width: .75rem; height: .75rem; border: var(--border-width-strong) solid currentColor; border-radius: var(--radius-pill); content: ""; }
.home-carousel__dots button[aria-current="true"]::before { background: currentColor; box-shadow: 0 0 0 var(--border-width) var(--color-shell-dark), 0 0 0 .25rem currentColor; }
.no-js .home-carousel__controls { display: none; }
.no-js .home-carousel__slides { display: grid; height: auto; }
.no-js .home-carousel__slide { height: auto; border-bottom: var(--border-width) solid rgb(255 255 255 / 18%); }
.no-js .home-carousel__viewport { height: auto; }
.no-js .home-carousel__slide img { height: auto; aspect-ratio: auto; object-fit: contain; }
.home-section__inner { padding-block: var(--section-space); }
.home-introduction { background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-alt) 100%); }
.home-introduction .home-section__inner { max-width: none; }
.home-introduction h2 { margin-bottom: var(--space-3); color: var(--color-heading); font-size: var(--font-size-5); }
.home-introduction h3 { margin-top: var(--space-7); color: var(--color-primary-dark); font-size: var(--font-size-3); }
.heading-rule { width: 4rem; height: .1875rem; margin: 0 0 var(--space-6); border-radius: var(--radius-pill); background: var(--color-primary); }
.home-introduction p, .home-priorities { max-width: none; }
.home-priorities { padding-left: var(--space-6); }
.home-priorities li { padding-left: var(--space-2); margin-bottom: var(--space-4); }
.home-introduction__action { margin-top: var(--space-6); }
.button-link { display: inline-flex; min-height: var(--control-min-size); align-items: center; justify-content: center; padding: var(--control-padding-block) var(--control-padding-inline); border: var(--border-width-strong) solid var(--color-action); border-radius: var(--radius-sm); color: var(--color-action-text); background: var(--color-action); font-weight: var(--font-weight-bold); line-height: var(--line-height-ui); text-decoration: none; text-transform: uppercase; transition: border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.button-link:hover { border-color: var(--color-action-hover); color: var(--color-action-text); background: var(--color-action-hover); }
.button-link--outline { border-color: var(--color-heading); color: var(--color-heading); background: transparent; }
.button-link--outline:hover { border-color: var(--color-heading); color: var(--color-action-text); background: var(--color-heading); }
.home-connect { border-top: var(--border-width) solid var(--color-border); background: var(--color-surface-emphasis); }
.home-connect__grid { display: grid; gap: var(--space-5); padding-block: var(--section-space); }
.home-connect__grid > div { display: flex; min-width: 0; align-items: flex-start; flex-direction: column; padding: var(--space-5); border-top: var(--space-1) solid var(--color-primary); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.home-connect__grid h2 { margin-bottom: var(--space-4); font-size: var(--font-size-3); }
.home-connect__grid .button-link { margin-top: auto; }
.social-links--large { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding: 0; margin: 0; font-size: var(--font-size-1); list-style: none; }
.social-links--large a { display: inline-flex; min-height: var(--control-min-size); align-items: center; }

.breadcrumbs { border-bottom: var(--border-width) solid var(--color-border); background: var(--color-surface-alt); box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%); }
.breadcrumbs__list { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); padding-block: var(--space-3); margin: 0; font-size: var(--font-size-0); line-height: var(--line-height-ui); list-style: none; }
.breadcrumbs__list li { min-width: 0; overflow-wrap: anywhere; }
.breadcrumbs__list li:not(:last-child)::after { margin-left: var(--space-3); color: var(--color-muted); content: "/"; }
.breadcrumbs__list [aria-current="page"] { color: var(--color-text-subtle); font-weight: var(--font-weight-medium); }

.main-page { min-height: 40vh; }
.content-layout { padding-block: var(--section-space); }
.content-layout__inner { display: grid; width: 100%; gap: var(--content-gap); }
.content-layout--contained-no-sidebar, .content-layout--contained-sidebar { padding-inline: var(--shell-gutter); }
.content-layout--contained-no-sidebar .content-layout__inner, .content-layout--contained-sidebar .content-layout__inner { max-width: var(--container-max); }
.content-layout--full-width-no-sidebar, .content-layout--full-width-sidebar { width: 100%; }
.content-layout--full-width-no-sidebar .content-layout__inner, .content-layout--full-width-sidebar .content-layout__inner { padding-inline: var(--shell-gutter); }
.content-layout__inner > *, .content-layout__main { min-width: 0; }
.standard-page, .article-page { max-width: var(--container-wide-reading); }
.page-header { max-width: var(--measure-wide); padding-bottom: var(--space-5); margin-bottom: var(--space-6); border-bottom: var(--border-width-strong) solid var(--color-brand-100); }
.page-header h1 { margin-bottom: 0; overflow-wrap: anywhere; }
.article-category { margin-bottom: var(--space-2); color: var(--color-link); font-size: var(--font-size-0); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.article-metadata { margin-top: var(--space-3); margin-bottom: 0; color: var(--color-text-subtle); font-size: var(--font-size-0); line-height: var(--line-height-ui); }

.prose { max-width: var(--measure-reading); overflow-wrap: anywhere; }
.prose > * + * { margin-top: var(--space-4); }
.prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { margin-top: var(--space-6); }
.prose ul, .prose ol { padding-left: var(--space-6); }
.prose li + li { margin-top: var(--space-2); }
.prose blockquote { padding: var(--space-4) var(--space-5); margin-inline: 0; border-left: var(--border-width-strong) solid var(--color-action); background: var(--color-surface-alt); }
.prose table { display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: collapse; overscroll-behavior-inline: contain; }
.prose caption { padding-bottom: var(--space-3); color: var(--color-text-subtle); font-weight: var(--font-weight-medium); text-align: left; }
.prose th, .prose td { min-width: 9rem; padding: var(--space-3) var(--space-4); border: var(--border-width) solid var(--color-border-strong); text-align: left; vertical-align: top; }
.prose th { color: var(--color-heading); background: var(--color-surface-emphasis); font-weight: var(--font-weight-bold); }
.prose tbody tr:nth-child(even) { background: var(--color-surface-alt); }

.sidebar { min-width: 0; padding: var(--space-5); border-top: var(--border-width-strong) solid var(--color-brand-500); border-radius: var(--radius-md); background: var(--color-surface-alt); }
.sidebar > :last-child { margin-bottom: 0; }
.sidebar h2, .sidebar h3 { font-size: var(--font-size-3); }
.sidebar a { display: block; padding-block: var(--space-3); border-bottom: var(--border-width) solid var(--color-border); overflow-wrap: anywhere; }

.content-media { max-width: var(--container-wide-reading); margin: 0 0 var(--space-6); }
.content-media img { display: block; width: auto; max-width: 100%; height: auto; border-radius: var(--radius-md); }
.content-media figcaption { max-width: var(--measure-reading); padding-top: var(--space-3); color: var(--color-text-subtle); font-size: var(--font-size-0); }
.content-media__fallback { padding: var(--space-4); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-alt); color: var(--color-text-subtle); }

.attachments { max-width: var(--measure-reading); padding: var(--space-5); margin-top: var(--space-7); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-alt); }
.attachments h2 { font-size: var(--font-size-3); }
.attachments ul { display: grid; gap: var(--space-3); padding: 0; margin: 0; list-style: none; }
.attachment-link { display: flex; min-height: var(--control-min-size); align-items: center; padding: var(--space-3) var(--space-4); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface); font-weight: var(--font-weight-medium); overflow-wrap: anywhere; }
.attachment-link:hover { border-color: var(--color-action); }

.recovery-surface { max-width: var(--container-reading); padding: var(--space-6); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface-alt); box-shadow: var(--shadow-sm); }
.recovery-surface .page-header { margin-bottom: var(--space-5); }
.recovery-link { display: inline-flex; min-height: var(--control-min-size); align-items: center; justify-content: center; padding: var(--control-padding-block) var(--control-padding-inline); border: var(--border-width-strong) solid var(--color-action); border-radius: var(--radius-sm); color: var(--color-action-text); background: var(--color-action); font-weight: var(--font-weight-bold); line-height: var(--line-height-ui); text-decoration: none; }
.recovery-link:hover { border-color: var(--color-action-hover); color: var(--color-action-text); background: var(--color-action-hover); }
.page-family--listing .content-layout__inner { padding-inline: 0; }
.listing-page { width: 100%; max-width: var(--container-max); min-width: 0; }
.listing-page > .page-header { margin-inline: auto; }
.content-listing { min-width: 0; scroll-margin-top: var(--space-7); }
.content-listing + .content-listing, [id^="page-"] + [id^="page-"] { margin-top: var(--space-8); }
.content-listing > h2 { max-width: var(--measure-wide); margin-bottom: var(--space-5); overflow-wrap: anywhere; }
.content-listing__items { display: grid; gap: var(--space-5); }
.content-listing--grid .content-listing__items { grid-template-columns: minmax(0, 1fr); }
.content-listing__item { min-width: 0; overflow: hidden; border: var(--border-width) solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.content-listing__item:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); }
.listing-card__media { display: flex; min-width: 0; min-height: 8rem; align-items: center; justify-content: center; padding: var(--space-4); border-bottom: var(--border-width) solid var(--color-border); background: var(--color-surface-alt); }
.listing-card__media .content-media { width: 100%; margin: 0; }
.listing-card__media img { width: 100%; max-height: 12rem; margin-inline: auto; object-fit: contain; }
.listing-page--consortium .listing-card__media { width: 100%; aspect-ratio: 1 / 1; }
.listing-page--consortium .listing-card__media img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.listing-card__body { min-width: 0; padding: var(--space-5); }
.listing-card__body > :last-child { margin-bottom: 0; }
.listing-card__body h3 { margin-bottom: var(--space-3); font-size: var(--font-size-3); overflow-wrap: anywhere; }
.listing-card__body h3 a { text-decoration-thickness: .08em; text-underline-offset: .18em; }
.listing-card__body p { color: var(--color-text-subtle); overflow-wrap: anywhere; }
.content-listing--list .content-listing__item { display: grid; }
.empty-state, .feature-state { max-width: var(--measure-reading); padding: var(--space-5); border: var(--border-width) solid var(--color-border); border-left: var(--space-1) solid var(--color-info); border-radius: var(--radius-md); background: var(--color-info-surface); color: var(--color-text); }
.empty-state { margin-top: var(--space-5); }
.feature-state { margin-bottom: var(--space-6); }
.pager { margin-top: var(--space-6); }
.pager__items { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0; margin: 0; list-style: none; }
.pager__item a { display: inline-grid; min-width: var(--control-min-size); min-height: var(--control-min-size); place-items: center; padding: var(--space-2); border: var(--border-width) solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface); font-weight: var(--font-weight-medium); line-height: 1; text-decoration: none; transition: border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.pager__item a:hover { border-color: var(--color-action); background: var(--color-brand-50); }
.pager__item a[aria-current="page"] { border-color: var(--color-primary-dark); color: var(--color-action-text); background: var(--color-primary); box-shadow: inset 0 0 0 var(--border-width) currentColor; font-weight: var(--font-weight-bold); text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .16em; }

.site-footer { color: var(--color-shell-dark-muted); background: var(--color-footer); }
.site-footer h2, .site-footer h3 { color: var(--color-shell-dark-text); }
.site-footer p, .site-footer ul { max-width: var(--measure-wide); }
.site-footer a { color: var(--color-shell-dark-text); overflow-wrap: anywhere; }
.site-footer a:hover { color: var(--color-canvas); }
.site-footer__center { padding-block: clamp(var(--space-7), 7vw, var(--space-8)); }
.site-footer__columns { display: grid; gap: var(--space-7); }
.site-footer__columns > * { min-width: 0; }
.site-footer__copyright { padding-block: var(--space-4); border-top: var(--border-width) solid rgb(255 255 255 / 18%); background: rgb(0 0 0 / 10%); font-size: var(--font-size-0); }
.funding-block img { display: block; width: min(17.875rem, 100%); margin-bottom: var(--space-5); object-fit: contain; }
.copyright-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-6); }
.copyright-row > * { min-width: 0; overflow-wrap: anywhere; }

.js .navigation-toggle { display: inline-flex; align-items: center; gap: .5rem; }

@media (max-width: 991px) {
  .site-header__inner { min-height: 4.75rem; }
  .topbar__inner { align-items: flex-start; flex-direction: column; padding-block: var(--space-3); }
  .primary-navigation__panel { position: fixed; z-index: var(--z-navigation-overlay); inset: 0 0 0 auto; width: min(88vw, 24rem); height: 100vh; height: 100dvh; padding: var(--space-4); overflow-y: auto; overscroll-behavior: contain; box-shadow: var(--shadow-overlay); transform: translateX(105%); visibility: hidden; pointer-events: none; transition: transform var(--duration-standard) var(--ease-emphasized), visibility 0s linear var(--duration-standard); }
  .primary-navigation.is-open .primary-navigation__panel { transform: translateX(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .navigation-close { display: block; margin: 0 0 var(--space-4) auto; }
  .primary-navigation__list > li { border-top: var(--border-width) solid var(--color-border); }
  .primary-navigation__list > li:last-child { border-bottom: var(--border-width) solid var(--color-border); }
  .primary-navigation__list li { position: relative; }
  .primary-navigation__list a { padding-right: var(--space-4); }
  .primary-navigation__list ul { padding: 0 0 var(--space-3) var(--space-4); border-left: var(--border-width-strong) solid var(--color-brand-100); }
  .primary-navigation__list ul a { min-height: var(--control-min-size); padding-block: var(--space-2); font-size: var(--font-size-0); letter-spacing: normal; text-transform: none; }
  .no-js .navigation-toggle, .no-js .navigation-close { display: none; }
  .no-js .site-header__inner { flex-wrap: wrap; padding-block: var(--space-3); }
  .no-js .primary-navigation { width: 100%; margin-left: 0; }
  .no-js .primary-navigation__panel { position: static; width: auto; height: auto; padding: var(--space-2) 0 0; overflow: visible; box-shadow: none; transform: none; visibility: visible; pointer-events: auto; transition: none; }
  .no-js .primary-navigation__list a { padding-right: var(--space-4); }
  .no-js .primary-navigation__list ul { display: block; }
  .content-layout__inner { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 768px) {
  .content-listing--grid .content-listing__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-listing--list .content-listing__item:has(.listing-card__media) { grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); }
  .content-listing--list .listing-card__media { border-right: var(--border-width) solid var(--color-border); border-bottom: 0; }
  .site-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .no-js .home-carousel__slides { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-connect__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
  .js .navigation-toggle, .navigation-toggle, .navigation-close { display: none; }
  .primary-navigation__list { display: flex; align-items: center; gap: var(--space-1); }
  .primary-navigation__list > li { position: relative; }
  .primary-navigation__list ul { position: absolute; z-index: var(--z-submenu); top: calc(100% + var(--space-2)); left: 0; display: none; width: max-content; min-width: 16rem; max-width: min(22rem, calc(100vw - (2 * var(--shell-gutter)))); padding: var(--space-2); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-md); background: var(--color-surface); }
  .primary-navigation__list ul::before { position: absolute; right: 0; bottom: 100%; left: 0; height: var(--space-2); content: ""; }
  .primary-navigation__list ul a { padding-right: var(--space-4); font-size: var(--font-size-0); letter-spacing: normal; text-transform: none; }
  .primary-navigation__list li:hover > ul, .primary-navigation__list li:focus-within > ul, .primary-navigation__list li.is-open > ul { display: block; }
  .content-layout--contained-no-sidebar .content-layout__inner, .content-layout--contained-sidebar .content-layout__inner { margin-inline: auto; }
  .content-layout--contained-sidebar .content-layout__inner, .content-layout--full-width-sidebar .content-layout__inner { grid-template-columns: minmax(0, 3fr) minmax(14rem, 1fr); }
  .content-layout--contained-sidebar.has-two-sidebars .content-layout__inner, .content-layout--full-width-sidebar.has-two-sidebars .content-layout__inner { grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr) minmax(14rem, 1fr); }
  .content-listing--grid .content-listing__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__columns { grid-template-columns: minmax(0, 2fr) minmax(14rem, 1fr); }
  .site-header.is-sticky { position: sticky; top: 0; }
}

@media (min-width: 1200px) {
  .shell-container, .content-layout--contained-no-sidebar .content-layout__inner, .content-layout--contained-sidebar .content-layout__inner { padding-inline: 2rem; }
  .content-listing--grid.columns-4 .content-listing__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-carousel__viewport { height: min(32rem, 42vw); }
}

@media (max-height: 600px) and (orientation: landscape) {
  .home-carousel__viewport { height: min(62vh, 20rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-delay: 0s !important; transition-duration: var(--duration-instant) !important; animation-delay: 0s !important; animation-duration: var(--duration-instant) !important; animation-iteration-count: 1 !important; }
  .site-header.is-sticky { position: static; }
}