*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; }
[hidden] { display: none !important; }
a { touch-action: manipulation; }
p, h1, h2, h3, ul, ol { margin: 0; }
.c-shell { display: grid; grid-template-columns: 228px minmax(0, 1fr); gap: clamp(3rem, 6vw, 6rem); width: min(1280px, calc(100% - 6rem)); margin-inline: auto; }
.c-rail { align-self: start; position: sticky; top: 2.75rem; padding-block: 2.75rem; min-width: 0; }
.c-brand { display: flex; align-items: center; gap: .875rem; min-height: 52px; width: fit-content; padding-block: .25rem; }
.c-brand__ring { flex: 0 0 36px; width: 36px; height: 36px; position: relative; }
.c-brand__ring::before { content: ''; position: absolute; inset: 2px; }
.c-brand__text { display: grid; gap: .125rem; }
.c-rail__note { margin-top: 1.25rem; max-width: 21ch; }
.c-index { margin-top: 3rem; }
.c-index__label { margin-bottom: 1rem; }
.c-index__list { list-style: none; padding: 0; display: grid; gap: .25rem; }
.c-index__link { display: flex; align-items: center; min-height: 48px; width: 100%; padding: .75rem 1rem; gap: .75rem; }
.c-index__link::before { content: ''; flex: 0 0 5px; width: 5px; height: 5px; }
.c-rail__foot { margin-top: 2.25rem; display: grid; gap: .375rem; }
.c-rail__foot a { display: flex; align-items: center; width: fit-content; min-height: 44px; padding: .5rem .25rem; }
.c-main { min-width: 0; padding-top: 3rem; }
.c-page-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: 1.25rem; }
.c-page-top span { display: block; }
.c-hero { position: relative; isolation: isolate; padding-block: 4.5rem 4rem; }
.c-hero::before { content: ''; position: absolute; z-index: -1; inset: 0 0 2rem; pointer-events: none; }
.c-hero__kicker { margin-bottom: 1.5rem; }
.c-hero__title { max-width: 18ch; }
.c-hero__title em { display: block; padding-bottom: .05em; }
.c-hero__guide { max-width: 50ch; margin-top: 1.5rem; }
.c-hero__lead { max-width: 60ch; margin-top: 1.25rem; }
.c-hero__actions { margin-top: 2rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.c-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 52px; min-width: 44px; padding: .75rem 1.375rem; position: relative; }
.c-button::before { content: ''; position: absolute; inset: -1px; z-index: -1; }
.c-button::after { content: ''; position: absolute; inset: 1px; z-index: -1; }
.c-text-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; min-width: 44px; padding: .5rem .25rem; }
.c-section { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1.75rem; padding-block: 3rem; position: relative; }
.c-section__topic { padding-top: .25rem; min-width: 0; }
.c-section__body { min-width: 0; max-width: 72ch; }
.c-section__body h2 { margin-bottom: 1rem; }
.c-section__body h3 { margin-bottom: .5rem; }
.c-section__body p + p, .c-section__body p + ul, .c-section__body ul + p { margin-top: 1rem; }
.c-section__body .c-text-link { margin-top: .875rem; }
.c-section--reverse { grid-template-columns: minmax(0, 1fr) 112px; }
.c-section--reverse .c-section__topic { grid-column: 2; grid-row: 1; }
.c-section--reverse .c-section__body { grid-column: 1; grid-row: 1; }
.c-list { padding-left: 1.25rem; }
.c-list li { padding-left: .25rem; }
.c-list li + li { margin-top: .75rem; }
.c-prompt { margin-top: 1.5rem; padding: 1.5rem; }
.c-prompt__label { display: block; margin-bottom: .5rem; }
.c-route-list { list-style: none; padding: 0; margin-top: 1.5rem; }
.c-route { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1.5rem; padding-block: 1.5rem; min-height: 44px; }
.c-route__title { grid-column: 1; }
.c-route__desc { grid-column: 1; margin-top: .375rem; max-width: 58ch; }
.c-route__arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.c-drug { padding-block: 1.25rem; }
.c-drug + .c-drug { margin-top: .25rem; }
.c-drug p { max-width: 65ch; }
.c-asof { margin-bottom: 1.25rem; }
.c-reading { padding-block: 2.5rem; }
.c-reading__publisher { margin-bottom: .875rem; }
.c-reading__body { max-width: 68ch; }
.c-reading h2 { margin-bottom: .875rem; }
.c-reading p + p { margin-top: .875rem; }
.c-reading .c-text-link { margin-top: 1rem; }
.c-reading__limit { padding-left: 1.125rem; }
.c-urgent { padding: 2rem; margin-bottom: 3rem; }
.c-urgent h2 { margin-bottom: 1rem; }
.c-urgent p + p { margin-top: 1rem; }
.c-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; align-items: center; padding: 2rem; margin-block: 2rem 3rem; }
.c-next__label { display: block; margin-bottom: .5rem; }
.c-next__text { max-width: 44ch; }
.c-footer { padding-block: 2rem 3rem; }
.c-footer__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 1.25rem; }
.c-footer__links a { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; padding: .5rem .25rem; }
.c-footer p { max-width: 66ch; }
.c-progress { position: fixed; inset: 0 0 auto; height: 4px; z-index: 10; pointer-events: none; }
.c-progress progress { display: block; appearance: none; border: 0; width: 100%; height: 4px; }
.c-skip { position: fixed; z-index: 20; top: .75rem; left: 1rem; padding: .75rem 1rem; min-height: 44px; transform: translateY(-200%); }
.c-skip:focus { transform: translateY(0); }
:focus-visible { outline-offset: 5px; }
@media print {
  .c-shell { display: block; width: 100%; }
  .c-rail, .c-progress, .c-skip, .c-page-top, .c-hero__actions, .c-next, .c-footer__links, .c-hero::before { display: none; }
  .c-main { padding-top: 0; }
  .c-hero { padding-block: 0 1.5rem; }
  .c-section, .c-reading { break-inside: avoid; padding-block: 1.5rem; }
}
@media (min-width: 1600px) { .c-shell { gap: 6rem; } }
@media (max-width: 1000px) {
  .c-shell { width: min(780px, calc(100% - 3rem)); display: block; }
  .c-rail { position: static; padding-block: 1.5rem 1.25rem; }
  .c-brand { min-height: 44px; }
  .c-rail__note { max-width: none; margin-top: .75rem; }
  .c-index { margin-top: 1.25rem; }
  .c-index__label { margin-bottom: .75rem; }
  .c-index__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
  .c-index__link { padding: .75rem; min-height: 44px; }
  .c-index__link::before { display: none; }
  .c-rail__foot { display: none; }
  .c-main { padding-top: 1rem; }
  .c-hero { padding-block: 2.5rem 3rem; }
  .c-section { grid-template-columns: 90px minmax(0, 1fr); }
  .c-section--reverse { grid-template-columns: minmax(0, 1fr) 90px; }
}
@media (max-width: 600px) {
  .c-shell { width: calc(100% - 2.5rem); }
  .c-rail { padding-top: 1.25rem; }
  .c-rail__note { max-width: 32ch; }
  .c-index__label { display: none; }
  .c-index__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-index__link { padding: .5rem .75rem; }
  .c-main { padding-top: .5rem; }
  .c-page-top { gap: .5rem; padding-bottom: 1rem; }
  .c-page-top__aside { display: none !important; }
  .c-hero { padding-block: 2rem 2.5rem; }
  .c-hero__kicker { margin-bottom: 1.125rem; }
  .c-hero__guide { margin-top: 1rem; }
  .c-hero__lead { margin-top: 1rem; }
  .c-hero__actions { margin-top: 1.5rem; gap: .625rem; }
  .c-section, .c-section--reverse { display: block; padding-block: 2.25rem; }
  .c-section__topic { margin-bottom: .75rem; }
  .c-prompt { padding: 1.25rem; }
  .c-reading { padding-block: 2.25rem; }
  .c-urgent { padding: 1.25rem; margin-bottom: 2rem; }
  .c-next { display: block; padding: 1.5rem; margin-top: 1.5rem; }
  .c-next .c-button { margin-top: 1.25rem; }
  .c-footer { padding-bottom: 2rem; }
}
