/* Generated from the shared website styles. Run prepare-content to refresh. */

:root { --background:#fff; --foreground:#182638; --muted:#f3f6fa; --muted-foreground:#5a687c; --border:#dfe6ef; --primary:#355eb1; --primary-foreground:#fff; --accent:#edf3ff; --card:#fff; --card-foreground:#14233b; --ring:#355eb1; --radius:.25rem; --cyan-line:#bfe8f1; --violet-line:#dedff3; --reading-tint:#f5f8fc; --font-editorial:Georgia,"Times New Roman",serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--foreground); background:var(--background); font-family:var(--font-geist-sans),Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:5px; }
.container { width:min(1120px,calc(100% - 72px)); margin-inline:auto; }
.site-header { padding:34px 0 0; border-bottom:1px solid var(--border); }
.brand { display:inline-flex; gap:19px; align-items:center; font-size:38px; font-weight:400; line-height:1.15; letter-spacing:-1.2px; max-width:100%; color:#061327; }
.brand:hover { text-decoration:none; }
.brand-wordmark { min-width:0; }
.brand-wordmark strong { font-weight:750; }
.brand small { display:block; font-size:12px; font-weight:500; letter-spacing:.11em; text-transform:uppercase; color:#4b5e78; margin-top:9px; line-height:1.65; }
.brand-logo { width:72px; height:72px; border-radius:8px; flex-shrink:0; }
.site-header nav { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:10px; border-top:1px solid var(--border); padding:12px 0; margin-top:28px; }
.site-header nav .nav-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--border); border-radius:4px; color:var(--foreground); font-size:14px; line-height:1.4; transition:border-color 160ms ease,box-shadow 160ms ease,background-color 160ms ease; }
.site-header nav .nav-link:hover { border-color:var(--primary); text-decoration:none; }
.site-header nav .nav-link[aria-current=page] { color:var(--primary); border-color:var(--primary); font-weight:600; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:2px; }
.site-footer { border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px; padding:32px 0 36px; font-size:13px; color:var(--muted-foreground); }
.footer-brand { font-size:15px; color:var(--foreground); font-weight:550; }
.footer-brand span { display:block; font-size:12px; font-weight:400; color:var(--muted-foreground); margin-top:6px; }
.site-footer p { margin:0; }
.site-footer > a:last-child { color:var(--foreground); }
.site-footer > a:last-child span { margin-left:15px; }
.skip-link { position:absolute; top:-100px; left:20px; background:var(--foreground); color:#fff; padding:14px; z-index:50; }
.skip-link:focus { top:10px; }
@media(max-width:1000px) {
  .site-header nav { gap:10px; }
}
@media(max-width:800px) {
  .container { width:calc(100% - 48px); }
  .site-footer p { display:none; }
}
@media(max-width:560px) {
  .container { width:calc(100% - 40px); }
  .site-header { padding-top:25px; }
  .brand { font-size:27px; gap:12px; letter-spacing:-.9px; }
  .brand-logo { width:58px; height:58px; }
  .brand small { font-size:12px; letter-spacing:.025em; line-height:1.6; }
  .site-header nav { margin-top:24px; gap:8px; }
  .site-header nav a { font-size:14px; }
  .site-footer { padding-block:27px; }
}
@media print { .site-header, .site-footer { display:none; } .container { width:100%; } }
:root {
  --brand-cyan: 0 199 226;
  --brand-blue: 32 105 244;
  --brand-ice: 194 221 250;
  --primary: #2c5fbb;
  --ring: #2c5fbb;
  --border: #dce7f3;
  --cyan-line: #bde7ef;
  --brand-surface: radial-gradient(ellipse at 100% 0%, rgb(var(--brand-cyan) / .065), transparent 65%), linear-gradient(135deg, rgb(242 248 255 / .82), rgb(255 255 255 / .9) 55%, rgb(var(--brand-ice) / .22));
}

body {
  background-color: #fff;
  background-image: radial-gradient(ellipse 620px 320px at calc(50% - 430px) 0%, rgb(var(--brand-cyan) / .045), transparent 75%), radial-gradient(ellipse 700px 400px at calc(50% + 480px) 0%, rgb(var(--brand-blue) / .035), transparent 75%);
  background-size: 100% 540px;
  background-repeat: no-repeat;
}

.site-header, .site-footer { position: relative; isolation: isolate; }
.site-header::before {
  content: '';
  position: absolute;
  inset: -20px -24px -12px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 48% 92% at 18% 24%, rgb(var(--brand-cyan) / .11), transparent 76%), radial-gradient(ellipse 52% 100% at 72% 12%, rgb(var(--brand-blue) / .065), transparent 78%);
}
.site-header::after, .site-footer::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(var(--brand-cyan) / .4) 20%, rgb(var(--brand-blue) / .22) 64%, transparent);
  box-shadow: 0 0 12px 1px rgb(var(--brand-cyan) / .09);
}
.site-header::after { bottom: -1px; }
.brand-logo { box-shadow: 0 0 24px rgb(var(--brand-cyan) / .12), 0 5px 16px rgb(var(--brand-blue) / .07); }
.site-header nav { border-top-color: rgb(var(--brand-blue) / .1); }
.site-header nav .nav-link {
  background: linear-gradient(120deg, rgb(var(--brand-cyan) / .045), rgb(255 255 255 / .7), rgb(var(--brand-blue) / .035));
  border-color: rgb(var(--brand-blue) / .2);
  box-shadow: 0 0 16px rgb(var(--brand-blue) / .035);
}
.site-header nav .nav-link:hover, .site-header nav .nav-link:focus-visible {
  background: linear-gradient(120deg, rgb(var(--brand-cyan) / .09), rgb(255 255 255 / .8), rgb(var(--brand-blue) / .06));
  box-shadow: 0 2px 18px rgb(var(--brand-cyan) / .11);
}
.site-header nav .nav-link[aria-current=page] {
  background: linear-gradient(120deg, rgb(var(--brand-cyan) / .11), rgb(var(--brand-ice) / .24), rgb(var(--brand-blue) / .07));
  box-shadow: 0 0 16px rgb(var(--brand-blue) / .07);
}
.site-footer {
  background: radial-gradient(ellipse 55% 80% at 65% 0%, rgb(var(--brand-ice) / .2), transparent 80%);
}
.site-footer::before { top: -1px; }

@media (max-width: 680px) {
  .site-header::before { inset-inline: -12px; }
}

@media (prefers-reduced-transparency: reduce), print, (forced-colors: active) {
  body, .site-footer { background-image: none; }
  .site-header::before, .site-header::after, .site-footer::before { display: none; }
  .brand-logo, .site-header nav .nav-link, .site-header nav .nav-link:hover, .site-header nav .nav-link:focus-visible, .site-header nav .nav-link[aria-current=page] { box-shadow: none; }
  .site-header nav .nav-link, .site-header nav .nav-link:hover, .site-header nav .nav-link:focus-visible, .site-header nav .nav-link[aria-current=page] { background: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header nav .nav-link { transition: none; }
}
body.site-editorial {
  --font-editorial: var(--font-geist-sans), Arial, sans-serif;
  --muted-foreground: #526b7e;
  --reading-tint: #f0f7fa;
  --brand-surface: #edf6fa;
  --accent: #e7f3f8;
  --cyan-line: #add9e5;
  --editorial-ink: #0a2135;
  --editorial-cyan: #a2edf5;
  --editorial-radius: 1.25rem;
  --editorial-hero: radial-gradient(ellipse at 95% 100%, #23668566, transparent 65%), #0a2135;
}
body.site-editorial a:focus-visible, body.site-editorial button:focus-visible { outline: 3px solid #268cac; outline-offset: 5px; }
body.site-editorial { --background: #fcfdfe; --foreground: #0b243b; --primary: #176688; --ring: #176688; --border: #cedee8; background: #fcfdfe; }
body.site-editorial .container { width: min(1180px, calc(100% - 64px)); }
body.site-editorial .site-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; padding-block: 1.5rem; border-bottom-color: #cedee8; }
body.site-editorial .site-header::before { display: none; }
body.site-editorial .brand { font-size: 1.65rem; gap: .75rem; letter-spacing: -.055em; }
body.site-editorial .brand-logo { width: 45px; height: 45px; border-radius: .55rem; }
body.site-editorial .brand small { max-width: 210px; margin-top: .3rem; color: #4b6277; font-size: .625rem; letter-spacing: .07em; }
body.site-editorial .site-header nav { margin: 0; padding: .35rem; gap: .25rem; border: 1px solid #ccdde7; background: #f1f6f9; border-radius: 3rem; }
body.site-editorial .site-header nav .nav-link { padding: .7rem 1rem; min-height: 44px; border-radius: 2rem; font-size: .8125rem; border-color: transparent; background: transparent; box-shadow: none; color: #354f62; }
body.site-editorial .site-header nav .nav-link:hover { background: #e1f1f7; border-color: #bedae5; }
body.site-editorial .site-header nav .nav-link[aria-current=page] { color: white; background: #0d2d45; border-color: #0d2d45; text-decoration: none; box-shadow: 0 2px 0 #829dad; }
body.site-editorial .site-footer { padding-block: 2rem; font-size: .875rem; background: none; }
@media (max-width: 1080px) { body.site-editorial .site-header { gap: 1rem; } body.site-editorial .site-header nav .nav-link { padding-inline: .8rem; } }
@media (max-width: 900px) { body.site-editorial .site-header nav { width: 100%; justify-content: center; } }
@media (max-width: 620px) {
  body.site-editorial .container { width: calc(100% - 36px); }
  body.site-editorial .site-header { padding-block: 1rem; }
  body.site-editorial .site-header nav { border-radius: 1rem; justify-content: flex-start; gap: .2rem; }
  body.site-editorial .site-header nav .nav-link { font-size: .8125rem; padding-inline: .8rem; }
}
@media (forced-colors: active) {
  body.site-editorial { background: Canvas; color: CanvasText; }
  body.site-editorial .site-header nav .nav-link[aria-current=page] { color: HighlightText; background: Highlight; border-color: Highlight; }
}
@media (max-width: 620px) {
  body.site-editorial .site-footer { align-items: flex-start; flex-wrap: wrap; gap: 1rem; }
}
@media (prefers-reduced-transparency: reduce) {
  body.site-editorial { --editorial-hero: #0a2135; }
}
@media print {
  body.site-editorial .container { width: 100%; }
  body.site-editorial :is(.site-header, .site-footer, .rmf-nav, .rmf-reading-aside, .evidence-jump, .lab-access) { display: none; }
}