
:root { --ru-color-brand:#1b3f2e;
--ru-color-brand-moss:#6b8f5e;
--ru-color-brand-stone:#d9c9b1;
--ru-color-brand-amber:#d5962d;
--ru-color-brand-soft:#e9f1ec;
--ru-color-neutral-ink:#2e2e2e;
--ru-color-neutral-stone:#d9c9b1;
--ru-color-neutral-white:#ffffff;
--ru-color-surface-page:#f7f6f1;
--ru-color-surface-card:#ffffff;
--ru-color-surface-muted:#e9eeea;
--ru-color-text:#2e2e2e;
--ru-color-text-muted:#50605a;
--ru-color-text-inverse:#ffffff;
--ru-color-border:#c4cec8;
--ru-color-border-control:#64796f;
--ru-color-action:#1b3f2e;
--ru-color-action-hover:#123022;
--ru-color-action-text:#ffffff;
--ru-color-action-secondary-hover:#dbe8df;
--ru-color-editorial-accent:#d5962d;
--ru-color-focus:#2e2e2e;
--ru-color-focus-gap:#ffffff;
--ru-color-info-text:#174f70;
--ru-color-info-surface:#edf5fa;
--ru-color-ready-text:#205c43;
--ru-color-ready-surface:#edf5ee;
--ru-color-attention-text:#675018;
--ru-color-attention-surface:#fcf6e4;
--ru-color-warning-text:#80441d;
--ru-color-warning-surface:#fff0e4;
--ru-color-urgent-text:#982c31;
--ru-color-urgent-surface:#fbedee;
--ru-color-evidence:#50605a;
--ru-color-domain-text:#1b3f2e;
--ru-color-domain-surface:#e9f1ec;
--ru-color-domain-marker-text:#ffffff;
--ru-color-domain-marker-surface:#1b3f2e;
--ru-color-print-text:#000000;
--ru-color-print-surface:#ffffff;
--ru-font-display:Charter, Georgia, Cambria, "Times New Roman", serif;
--ru-font-heading:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--ru-font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--ru-font-code:ui-monospace, "SFMono-Regular", Consolas, monospace;
--ru-size-display:clamp(2.5rem, 1.65rem + 3vw, 4.75rem);
--ru-size-heading-1:clamp(2rem, 1.6rem + 1.5vw, 3rem);
--ru-size-heading-2:clamp(1.5rem, 1.3rem + 0.75vw, 2rem);
--ru-size-heading-3:1.25rem;
--ru-size-body:1rem;
--ru-size-lead:1.25rem;
--ru-size-meta:0.875rem;
--ru-size-label:1rem;
--ru-size-code:0.875rem;
--ru-weight-regular:400;
--ru-weight-medium:600;
--ru-weight-strong:700;
--ru-line-display:1.08;
--ru-line-heading:1.2;
--ru-line-body:1.65;
--ru-line-label:1.4;
--ru-tracking-display:-0.025em;
--ru-tracking-heading:-0.02em;
--ru-tracking-label:0.015em;
--ru-space-0:0;
--ru-space-1:0.25rem;
--ru-space-2:0.5rem;
--ru-space-3:0.75rem;
--ru-space-4:1rem;
--ru-space-5:1.5rem;
--ru-space-6:2rem;
--ru-space-7:3rem;
--ru-space-8:4rem;
--ru-space-9:6rem;
--ru-space-identity-clear:24px;
--ru-size-identity-header-mobile:240px;
--ru-size-identity-header-desktop:320px;
--ru-layout-content:76rem;
--ru-layout-reading:66ch;
--ru-layout-gutter:1rem;
--ru-layout-gutter-wide:2rem;
--ru-layout-section:3rem;
--ru-layout-section-wide:4rem;
--ru-layout-intro-wide:3.25rem;
--ru-layout-grid-min:17rem;
--ru-breakpoint-medium:48rem;
--ru-breakpoint-wide:72rem;
--ru-radius-small:0.25rem;
--ru-radius-card:0.5rem;
--ru-border-thin:1px;
--ru-border-signal:3px;
--ru-shadow-raised:0 0.25rem 1rem rgb(23 44 43 / 0.06);
--ru-focus-width:3px;
--ru-focus-offset:3px;
--ru-target-min:44px;
--ru-motion-fast:120ms;
--ru-motion-standard:180ms;
--ru-motion-reduced:0s;
--ru-motion-ease:cubic-bezier(0.2, 0, 0, 1); }
.ru-root, .ru-root * { box-sizing: border-box; }
.ru-root { margin:0; color:var(--ru-color-text); background:var(--ru-color-surface-page); font-family:var(--ru-font-body); font-size:var(--ru-size-body); line-height:var(--ru-line-body); overflow-wrap:anywhere; }
.ru-root :where(h1,h2,h3,h4,h5,h6,p,ul,ol,figure) { margin-block:0; }
.ru-root :where(img,svg) { max-inline-size:100%; block-size:auto; }
.ru-root :where(button,input,select,textarea) { font:inherit; }
.ru-root :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:var(--ru-focus-width) solid var(--ru-color-focus); outline-offset:var(--ru-focus-offset); box-shadow:0 0 0 var(--ru-focus-offset) var(--ru-color-focus-gap); }
.ru-root :where([id]) { scroll-margin-block:var(--ru-space-6); }
.ru-container { max-inline-size:var(--ru-layout-content); margin-inline:auto; padding-inline:var(--ru-layout-gutter); }
.ru-section { padding-block:var(--ru-layout-section); }
.ru-stack { display:flex; flex-direction:column; gap:var(--ru-space-5); min-inline-size:0; }
.ru-stack[data-space="small"] { gap:var(--ru-space-2); }
.ru-stack[data-space="large"] { gap:var(--ru-space-7); }
.ru-cluster { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ru-space-3); }
.ru-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ru-layout-grid-min)),1fr)); gap:var(--ru-space-5); }
.ru-reading { max-inline-size:var(--ru-layout-reading); }
.ru-heading { font-family:var(--ru-font-heading); font-weight:var(--ru-weight-medium); line-height:var(--ru-line-heading); letter-spacing:var(--ru-tracking-heading); text-wrap:balance; }
.ru-heading[data-size="display"] { font-family:var(--ru-font-display); font-size:var(--ru-size-display); font-weight:var(--ru-weight-regular); line-height:var(--ru-line-display); letter-spacing:var(--ru-tracking-display); }
.ru-heading[data-size="1"] { font-size:var(--ru-size-heading-1); }
.ru-heading[data-size="2"] { font-size:var(--ru-size-heading-2); }
.ru-heading[data-size="3"] { font-size:var(--ru-size-heading-3); }
.ru-text { font-size:var(--ru-size-body); }
.ru-text[data-size="lead"] { font-size:var(--ru-size-lead); }
.ru-text[data-size="meta"] { font-size:var(--ru-size-meta); color:var(--ru-color-text-muted); }
.ru-evidence { font-size:var(--ru-size-meta); color:var(--ru-color-evidence); }
.ru-label { font-size:var(--ru-size-label); font-weight:var(--ru-weight-medium); line-height:var(--ru-line-label); letter-spacing:var(--ru-tracking-label); }
.ru-code { font-family:var(--ru-font-code); font-size:var(--ru-size-code); white-space:pre-wrap; }
.ru-link { color:var(--ru-color-action); text-decoration:underline; text-underline-offset:0.2em; text-decoration-thickness:0.08em; }
.ru-link:hover { color:var(--ru-color-action-hover); text-decoration-thickness:0.15em; }
.ru-button { display:inline-flex; align-items:center; justify-content:center; min-block-size:var(--ru-target-min); min-inline-size:var(--ru-target-min); padding:var(--ru-space-3) var(--ru-space-5); border:var(--ru-border-thin) solid var(--ru-color-action); border-radius:var(--ru-radius-small); font-weight:var(--ru-weight-medium); line-height:var(--ru-line-label); color:var(--ru-color-action-text); background:var(--ru-color-action); cursor:pointer; transition:background-color var(--ru-motion-fast) var(--ru-motion-ease); text-align:center; }
.ru-button:hover { background:var(--ru-color-action-hover); }
.ru-button[data-variant="secondary"] { background:var(--ru-color-surface-card); color:var(--ru-color-action); }
.ru-button[data-variant="secondary"]:not(:disabled):is(:hover,:focus-visible) { background:var(--ru-color-action-secondary-hover); text-decoration:underline; text-underline-offset:0.2em; }
.ru-button:disabled, .ru-button[data-variant="secondary"]:disabled { background:var(--ru-color-surface-muted); color:var(--ru-color-text-muted); border-color:var(--ru-color-border-control); cursor:not-allowed; }
.ru-badge { display:inline-flex; gap:var(--ru-space-2); padding:var(--ru-space-1) var(--ru-space-3); border-radius:var(--ru-radius-small); font-size:var(--ru-size-meta); font-weight:var(--ru-weight-medium); background:var(--ru-color-surface-muted); color:var(--ru-color-text); }
.ru-notice { padding:var(--ru-space-5); border-inline-start:var(--ru-border-signal) solid currentColor; border-radius:var(--ru-radius-small); }
[data-signal="info"] { color:var(--ru-color-info-text); background:var(--ru-color-info-surface); }
[data-signal="ready"] { color:var(--ru-color-ready-text); background:var(--ru-color-ready-surface); }
[data-signal="attention"] { color:var(--ru-color-attention-text); background:var(--ru-color-attention-surface); }
[data-signal="warning"] { color:var(--ru-color-warning-text); background:var(--ru-color-warning-surface); }
[data-signal="urgent"] { color:var(--ru-color-urgent-text); background:var(--ru-color-urgent-surface); }
.ru-notice .ru-link { color:inherit; }
.ru-divider { inline-size:100%; margin-inline:0; border:0; border-block-start:var(--ru-border-thin) solid var(--ru-color-border); margin-block:var(--ru-space-5); }
.ru-stack > .ru-divider { margin-block:0; }
.ru-card { padding:var(--ru-space-5); background:var(--ru-color-surface-card); border:var(--ru-border-thin) solid var(--ru-color-border); border-radius:var(--ru-radius-card); min-inline-size:0; }
.ru-card[data-elevation="raised"] { box-shadow:var(--ru-shadow-raised); }
.ru-skip-link { position:absolute; inset-block-start:var(--ru-space-3); inset-inline-start:var(--ru-space-3); z-index:10; transform:translateY(-200%); padding:var(--ru-space-3) var(--ru-space-4); min-block-size:var(--ru-target-min); background:var(--ru-color-surface-card); color:var(--ru-color-action); }
.ru-skip-link:focus { transform:none; }
.ru-field { display:grid; gap:var(--ru-space-2); }
.ru-input { inline-size:100%; min-block-size:var(--ru-target-min); padding:var(--ru-space-3); border:var(--ru-border-thin) solid var(--ru-color-border-control); border-radius:var(--ru-radius-small); background:var(--ru-color-surface-card); color:var(--ru-color-text); }
.ru-input[aria-invalid="true"] { border-color:var(--ru-color-urgent-text); border-width:var(--ru-border-signal); }
.ru-field-error { color:var(--ru-color-urgent-text); font-weight:var(--ru-weight-medium); }
.ru-domain-label { color:var(--ru-color-domain-text); display:flex; flex-wrap:wrap; align-items:center; gap:var(--ru-space-3); padding:var(--ru-space-4); border:var(--ru-border-thin) solid var(--ru-color-border); border-radius:var(--ru-radius-small); background:var(--ru-color-surface-card); font-weight:var(--ru-weight-medium); }
.ru-domain-label > :last-child { flex:1 1 12ch; min-inline-size:0; }
.ru-domain-marker { display:inline-grid; place-items:center; flex-shrink:0; min-inline-size:2.5em; min-block-size:2.5em; padding:var(--ru-space-1) var(--ru-space-2); border-radius:var(--ru-radius-small); text-align:center; color:var(--ru-color-domain-marker-text); background:var(--ru-color-domain-marker-surface); font-family:var(--ru-font-code); font-size:var(--ru-size-meta); }
.ru-editorial-detail { border-inline-start:var(--ru-border-signal) solid var(--ru-color-editorial-accent); padding-inline-start:var(--ru-space-4); }
.ru-brand-header { inline-size:calc(var(--ru-size-identity-header-mobile) + 2 * var(--ru-space-identity-clear)); max-inline-size:100%; padding:var(--ru-space-identity-clear); }
.ru-brand-header > .ru-identity-asset { inline-size:100%; }
.ru-identity-asset { display:block; object-fit:contain; max-inline-size:100%; block-size:auto; }
@media (min-width:48rem) { .ru-container { padding-inline:var(--ru-layout-gutter-wide); } .ru-section { padding-block:var(--ru-layout-section-wide); } .ru-brand-header { inline-size:calc(var(--ru-size-identity-header-desktop) + 2 * var(--ru-space-identity-clear)); } }
@media (min-width:72rem) { .ru-section[data-spacing="intro"] { padding-block:var(--ru-layout-intro-wide); } .ru-grid[data-columns="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .ru-root *, .ru-root *::before, .ru-root *::after { animation:none !important; transition-duration:var(--ru-motion-reduced) !important; scroll-behavior:auto !important; } }
@media (forced-colors:active) { .ru-root :focus-visible { outline:3px solid Highlight; box-shadow:none; } .ru-button, .ru-card, .ru-domain-marker, .ru-badge { border:1px solid CanvasText; } }
@media print {
  .ru-root, .ru-root * { background:var(--ru-color-print-surface) !important; color:var(--ru-color-print-text) !important; box-shadow:none !important; text-shadow:none !important; }
  .ru-container, .ru-reading { max-inline-size:none; padding:0; }
  .ru-editorial-detail { border-color:currentColor; }
  .ru-section, .ru-section[data-spacing="intro"] { padding-block:var(--ru-space-5); }
  .ru-grid { display:block; } .ru-grid > * + * { margin-block-start:var(--ru-space-4); }
  .ru-root :where(h1,h2,h3,h4,h5,h6) { break-after:avoid; }
  .ru-card, .ru-notice { break-inside:avoid; }
  .ru-root p, .ru-root li { orphans:3; widows:3; }
  .ru-skip-link, .ru-button, [data-print="hide"] { display:none !important; }
  .ru-root a[data-print-url][href^="https://"]::after { content:" (" attr(href) ")"; font-weight:normal; overflow-wrap:anywhere; }
}

/* Public-web composition only. All design values come from frozen DS v1.0. */
.shell {
  min-block-size: 100vh;
  display: flex;
  flex-direction: column;
}
.shell-main {
  inline-size: 100%;
  flex: 1;
}
.shell-header {
  border-block-end: var(--ru-border-thin) solid var(--ru-color-border);
}
.shell-header-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
.shell-brand {
  display: block;
}
.shell-brand .ru-header-identity {
  display:block;
  inline-size:100%;
  block-size:auto;
}
.shell-brand .ru-header-tagline { display:none; }
.shell-desktop {
  display: none;
}
.shell-mobile {
  inline-size: 100%;
  padding-block-end: 0;
}
.shell-mobile > summary { inline-size:fit-content; }
.shell :where(summary) {
  cursor: pointer;
  min-block-size: var(--ru-target-min);
  padding: var(--ru-space-2);
  color: var(--ru-color-action);
  border-radius: var(--ru-radius-small);
}
.shell summary:hover {
  background: var(--ru-color-action-secondary-hover);
}
.shell summary:focus-visible {
  outline: var(--ru-focus-width) solid var(--ru-color-focus);
  outline-offset: var(--ru-focus-offset);
  box-shadow: 0 0 0 var(--ru-focus-offset) var(--ru-color-focus-gap);
}
.shell-menu-open,
.shell-mobile[open] > summary .shell-menu-closed {
  display: none;
}
.shell-mobile[open] > summary .shell-menu-open {
  display: inline;
}
.shell-primary,
.shell-domain-list,
.shell-footer-list {
  list-style: none;
  padding: 0;
}
.shell-primary {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-block: var(--ru-space-2);
}
.shell-link {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--ru-target-min);
}
.shell-upcoming {
  display: flex;
  align-items: center;
  min-block-size: var(--ru-target-min);
  padding: var(--ru-space-2);
  color: var(--ru-color-text-muted);
}
.shell-subjects {
  padding-block: var(--ru-space-2);
  border-block-start: var(--ru-border-thin) solid var(--ru-color-border);
}
.shell-domain-list {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--ru-layout-grid-min)), 1fr)
  );
  gap: 0;
}
.shell-domain-list .shell-upcoming { min-block-size: 0; }
.shell-availability { padding: var(--ru-space-2); }
.shell-breadcrumbs {
  margin-block-end: var(--ru-space-5);
  font-size: var(--ru-size-meta);
}
.shell-breadcrumbs ol {
  padding: 0;
  list-style: none;
}
.shell-breadcrumbs li + li::before {
  content: '/';
  margin-inline-end: var(--ru-space-3);
  color: var(--ru-color-text-muted);
}
.shell-footer {
  border-block-start: var(--ru-border-thin) solid var(--ru-color-border);
  padding-block: var(--ru-space-6);
}
.shell-footer-groups {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--ru-layout-grid-min)), 1fr)
  );
  gap: var(--ru-space-6);
}
.shell-footer .shell-upcoming {
  padding-inline: 0;
}
@media (min-width: 48rem) {
  .shell-brand {
    inline-size:calc(var(--ru-size-identity-header-desktop) + 2 * var(--ru-space-identity-clear));
  }
  .shell-brand .ru-header-tagline { display:block; }
  .shell-desktop {
    display: block;
    min-inline-size:0;
    flex: 1;
  }
  .shell-mobile {
    display: none;
  }
  .shell-primary {
    flex-direction: row;
    column-gap: var(--ru-space-3);
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
  }
  .shell-desktop .shell-availability { text-align:end; padding-block:0; }
  .shell-desktop .shell-prepare > summary {
    list-style:none;
    inline-size:fit-content;
    border-radius:0;
    border-block-end:var(--ru-border-thin) solid transparent;
  }
  .shell-desktop .shell-prepare > summary::-webkit-details-marker { display:none; }
  .shell-desktop .shell-prepare > summary:is(:hover,:focus-visible),
  .shell-desktop .shell-prepare[open] > summary {
    background:transparent;
    border-block-end-color:var(--ru-color-action);
  }
  .shell-primary a[aria-current="page"] { text-decoration-thickness:var(--ru-border-signal); }
  .shell-primary > li:has(.shell-prepare[open]) { flex-basis:100%; }
  .shell-header-inner:has(.shell-prepare[open]) { align-items:flex-start; }

}
@media (forced-colors: active) {
  .shell summary:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
@media print {
  .shell {
    display: block;
    min-block-size: 0;
  }
  .shell-header-inner {
    display: block;
  }
  .shell-footer {
    margin-block-start: var(--ru-space-5);
  }
}
