/* src/footer.css */
.footer-utilities {
  display: flex;
  align-items: center;
  gap: 12px 24px;
  flex-wrap: wrap;
}
.footer-utilities a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
}
.footer-utilities a:hover {
  text-decoration: underline;
  text-decoration-color: var(--accent-rule);
}
.fv-gf .fv-gf-cols {
  grid-template-columns: minmax(0, 160px) repeat(var(--footer-group-count), minmax(0, 200px));
  column-gap: 56px;
  justify-content: start;
}
@container (max-width:1023px) {
  .fv-gf .fv-gf-cols {
    grid-template-columns: repeat(var(--footer-group-count), minmax(0, 1fr));
    column-gap: 24px;
  }
  .fv-gf .fv-gf-cols > :first-child {
    grid-column: 1 / -1;
  }
}

/* src/ds3/tokens/colors.css */
:root {
  --bone:#F4F0E7;
  --ink:#1C1A17;
  --terracotta:#EB5F47;
  --moss:#667052;
  --stone:#B8B1A6;
  --paper:#FFFFFF;
  --ink-90:rgba(28,26,23,.9);
  --ink-85:rgba(28,26,23,.85);
  --ink-80:rgba(28,26,23,.8);
  --ink-75:rgba(28,26,23,.75);
  --ink-70:rgba(28,26,23,.7);
  --ink-55:rgba(28,26,23,.55);
  --ink-50:rgba(28,26,23,.5);
  --ink-45:rgba(28,26,23,.45);
  --ink-20:rgba(28,26,23,.2);
  --ink-15:rgba(28,26,23,.15);
  --ink-14:rgba(28,26,23,.14);
  --ink-08:rgba(28,26,23,.08);
  --bone-90:rgba(244,240,231,.9);
  --bone-70:rgba(244,240,231,.7);
  --bone-65:rgba(244,240,231,.65);
  --bone-60:rgba(244,240,231,.6);
  --bone-45:rgba(244,240,231,.45);
  --bone-16:rgba(244,240,231,.16);
  --rule-on-inverse:var(--bone-16);
}

/* src/ds3/tokens/environments.css */
:root {
  --bg:#F4F0E7;
  --raised:#FFFFFF;
  --fg:#1C1A17;
  --fg-90:rgba(28,26,23,.9);
  --fg-85:rgba(28,26,23,.85);
  --fg-80:rgba(28,26,23,.8);
  --fg-75:rgba(28,26,23,.75);
  --fg-70:rgba(28,26,23,.7);
  --fg-55:rgba(28,26,23,.55);
  --fg-50:rgba(28,26,23,.5);
  --fg-45:rgba(28,26,23,.45);
  --fg-20:rgba(28,26,23,.2);
  --fg-15:rgba(28,26,23,.15);
  --fg-14:rgba(28,26,23,.14);
  --fg-08:rgba(28,26,23,.08);
  --bg-70:rgba(244,240,231,.7);
  --rule-strong:#B8B1A6;
  --accent:#EB5F47;
  --accent-rule:#EB5F47;
  --accent-text:#1C1A17;
  --accent-display:#EB5F47;
  --support:#667052;
  --hover-text:#1C1A17;
  --mark-highlight:rgba(184,177,166,.55);
  --media-field:#B8B1A6;
  --status-active:#667052;
  --chart-compare:#667052;
  --chart-muted:#B8B1A6;
}
.env-bone {
  --bg:#F4F0E7;
  --raised:#FFFFFF;
  --fg:#1C1A17;
  --fg-90:rgba(28,26,23,.9);
  --fg-85:rgba(28,26,23,.85);
  --fg-80:rgba(28,26,23,.8);
  --fg-75:rgba(28,26,23,.75);
  --fg-70:rgba(28,26,23,.7);
  --fg-55:rgba(28,26,23,.55);
  --fg-50:rgba(28,26,23,.5);
  --fg-45:rgba(28,26,23,.45);
  --fg-20:rgba(28,26,23,.2);
  --fg-15:rgba(28,26,23,.15);
  --fg-14:rgba(28,26,23,.14);
  --fg-08:rgba(28,26,23,.08);
  --bg-70:rgba(244,240,231,.7);
  --rule-strong:#B8B1A6;
  --accent:#EB5F47;
  --accent-rule:#EB5F47;
  --accent-text:#1C1A17;
  --accent-display:#EB5F47;
  --support:#667052;
  --hover-text:#1C1A17;
  --mark-highlight:rgba(184,177,166,.55);
  --media-field:#B8B1A6;
  --status-active:#667052;
  --chart-compare:#667052;
  --chart-muted:#B8B1A6;
}
.env-ink {
  --bg:#1C1A17;
  --raised:transparent;
  --fg:#F4F0E7;
  --fg-90:rgba(244,240,231,.9);
  --fg-85:rgba(244,240,231,.85);
  --fg-80:rgba(244,240,231,.8);
  --fg-75:rgba(244,240,231,.75);
  --fg-70:rgba(244,240,231,.7);
  --fg-55:rgba(244,240,231,.55);
  --fg-50:rgba(244,240,231,.5);
  --fg-45:rgba(244,240,231,.45);
  --fg-20:rgba(244,240,231,.2);
  --fg-15:rgba(244,240,231,.16);
  --fg-14:rgba(244,240,231,.16);
  --fg-08:rgba(244,240,231,.07);
  --bg-70:rgba(28,26,23,.7);
  --rule-strong:rgba(244,240,231,.32);
  --accent-text:#EB5F47;
  --hover-text:#EB5F47;
  --mark-highlight:rgba(235,95,71,.28);
  --media-field:rgba(244,240,231,.08);
  --status-active:#F4F0E7;
}
:root {
  --text-primary:var(--fg);
  --text-body:var(--fg-85);
  --text-secondary:var(--fg-70);
  --text-muted:var(--fg-55);
  --text-label:var(--fg-70);
  --rule-hairline:var(--fg-15);
  --rule-card:var(--fg-14);
  --rule-emphasis:var(--fg);
  --border-emphasis:1px solid var(--fg);
  --status-standing:var(--fg);
  --status-future:var(--fg-55);
  --status-closed:var(--fg-45);
  --status-text:var(--fg-70);
  --chart-primary:var(--fg);
  --chart-grid:var(--fg-15);
  --action-fill:var(--fg);
  --action-text-on-fill:var(--bg);
  --action-fill-hover:var(--accent);
  --action-text-on-hover:#1C1A17;
  --focus-ring:var(--accent);
}
.env-bone {
  --text-primary:var(--fg);
  --text-body:var(--fg-85);
  --text-secondary:var(--fg-70);
  --text-muted:var(--fg-55);
  --text-label:var(--fg-70);
  --rule-hairline:var(--fg-15);
  --rule-card:var(--fg-14);
  --rule-emphasis:var(--fg);
  --border-emphasis:1px solid var(--fg);
  --status-standing:var(--fg);
  --status-future:var(--fg-55);
  --status-closed:var(--fg-45);
  --status-text:var(--fg-70);
  --chart-primary:var(--fg);
  --chart-grid:var(--fg-15);
}
.env-ink {
  --text-primary:var(--fg);
  --text-body:var(--fg-85);
  --text-secondary:var(--fg-70);
  --text-muted:var(--fg-55);
  --text-label:var(--fg-70);
  --rule-hairline:var(--fg-15);
  --rule-card:var(--fg-14);
  --rule-emphasis:var(--fg);
  --border-emphasis:1px solid var(--fg);
  --status-standing:var(--fg);
  --status-future:var(--fg-55);
  --status-closed:var(--fg-45);
  --status-text:var(--fg-70);
  --chart-primary:var(--fg);
  --chart-grid:var(--fg-15);
}
.env-bone,
.env-ink {
  background-color: var(--bg);
  color: var(--fg);
}

/* src/ds3/tokens/typography.css */
:root {
  --font-code:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --font-mark:"Bricolage Grotesque","Bricolage Grotesque 24pt",system-ui,sans-serif;
  --font-serif:Newsreader,Georgia,serif;
  --font-serif-alt:Petrona,Georgia,serif;
  --font-sans:Archivo,system-ui,sans-serif;
  --mark-variation:"wdth" 84,"opsz" 32;
  --mark-variation-small:"wdth" 84,"opsz" 20;
  --mark-weight:700;
  --mark-tracking:-.02em;
  --size-mark:84px;
  --size-display:56px;
  --size-lead:28px;
  --size-body:17px;
  --size-body-sm:16px;
  --size-ui:14px;
  --size-ui-sm:12px;
  --size-label:10px;
  --size-heading:36px;
  --size-subhead:22px;
  --size-quote:44px;
  --size-answer:25px;
  --size-caption:13px;
  --size-key:12.5px;
  --size-code:13.5px;
  --lh-mark:1.05;
  --lh-display:1.15;
  --lh-lead:1.35;
  --lh-body:1.7;
  --lh-body-tight:1.65;
  --lh-ui:1.6;
  --lh-label:1;
  --track-display:0;
  --track-label:.16em;
  --track-label-tight:.12em;
  --weight-display:300;
  --weight-serif:400;
  --weight-ui:400;
  --weight-ui-strong:500;
  --type-display:var(--weight-display) var(--size-display)/var(--lh-display) var(--font-serif);
  --type-lead:var(--weight-serif) var(--size-lead)/var(--lh-lead) var(--font-serif);
  --type-body:var(--weight-serif) var(--size-body)/var(--lh-body) var(--font-serif);
  --type-ui:var(--weight-ui) var(--size-ui)/var(--lh-ui) var(--font-sans);
  --type-label:var(--weight-ui-strong) var(--size-label)/var(--lh-label) var(--font-sans);
}

/* src/ds3/tokens/spacing.css */
:root {
  --space-1:4px;
  --space-2:8px;
  --space-3:14px;
  --space-4:16px;
  --space-5:22px;
  --space-6:26px;
  --space-7:34px;
  --space-8:44px;
  --space-9:56px;
  --space-10:64px;
  --space-11:96px;
  --page-gutter:56px;
  --page-gutter-tight:26px;
  --card-pad:30px 28px;
  --card-pad-tight:24px 22px;
  --grid-gap:24px;
  --grid-gap-wide:34px;
  --measure:640px;
  --measure-narrow:520px;
  --page-max:1280px;
  --gutter-desktop:56px;
  --gutter-tablet:34px;
  --gutter-mobile:22px;
  --margin-col:200px;
  --measure-wide:880px;
  --bp-tablet:1024px;
  --bp-mobile:640px;
  --bp-nav:768px;
}

/* src/ds3/tokens/borders.css */
:root {
  --radius-none:0;
  --radius-pill:999px;
  --border-hairline:1px solid var(--rule-hairline);
  --border-card:1px solid var(--rule-card);
  --border-strong:1px solid var(--rule-strong);
  --border-inverse:1px solid var(--rule-on-inverse);
  --shadow-paper:0 6px 18px rgba(35,31,26,.18);
  --shadow-overlay:0 18px 48px rgba(28,26,23,.24);
  --rule-weight:1px;
  --rule-signal:2px;
  --rule-signal-strong:3px;
  --border-signal:2px solid var(--accent);
}

/* src/ds3/tokens/motion.css */
:root {
  --ease-standard:cubic-bezier(.2,0,0,1);
  --dur-fast:120ms;
  --dur-base:180ms;
  --dur-slow:320ms;
  --transition-color:color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),text-decoration-color var(--dur-fast) var(--ease-standard);
}
@media (prefers-reduced-motion:reduce) {
  :root {
    --dur-fast:0ms;
    --dur-base:0ms;
    --dur-slow:0ms;
  }
}

/* src/ds3/tokens/base.css */
html {
  -webkit-font-smoothing: antialiased;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: var(--type-ui);
}
a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: var(--transition-color);
}
a:hover {
  color: var(--hover-text);
  text-decoration-color: var(--accent-rule);
}
:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
::selection {
  background: var(--terracotta);
  color: var(--ink);
}

/* src/ds3/styles/core.css */
.fv-cq {
  container-type: inline-size;
}
.fv-s {
  --g:var(--gutter-desktop);
  --fx-mark:84px;
  --fx-display:56px;
  --fx-heading:36px;
  --fx-lead:28px;
  --fx-subhead:22px;
  --fx-answer:25px;
  color: var(--text-primary);
}
@container (max-width:1023px) {
  .fv-s {
    --g:var(--gutter-tablet);
    --fx-mark:68px;
    --fx-display:46px;
    --fx-heading:31px;
    --fx-lead:25px;
  }
}
@container (max-width:639px) {
  .fv-s {
    --g:var(--gutter-mobile);
    --fx-mark:52px;
    --fx-display:36px;
    --fx-heading:27px;
    --fx-lead:22px;
    --fx-subhead:20px;
    --fx-answer:21px;
  }
}
.fv-num {
  font-family: var(--font-serif);
  font-weight: 400;
  font-feature-settings: "lnum", "tnum";
  letter-spacing: 0;
}
.fv-meta {
  font: 400 12.5px/1.45 var(--font-sans);
  color: var(--fg-70);
  letter-spacing: 0;
  text-transform: none;
}
.fv-meta.inv {
  color: var(--bone-70);
}
.fv-k {
  font: 500 12.5px/1.4 var(--font-sans);
  color: var(--fg);
  letter-spacing: 0;
  text-transform: none;
}
.fv-lbl {
  font: var(--type-label);
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--text-label);
}
.fv-lbl.t {
  letter-spacing: var(--track-label-tight);
}
.fv-lbl.moss {
  color: var(--support);
}
.fv-lbl.inv {
  color: var(--bone-65);
}
.fv-lbl.ink {
  color: var(--fg);
}
.fv-ui {
  font: var(--weight-ui) 14px/1.6 var(--font-sans);
  color: var(--fg-75);
}
.fv-cap {
  font: 400 var(--size-caption)/1.5 var(--font-sans);
  color: var(--fg-70);
}
.fv-disp {
  font: 300 var(--fx-display)/1.12 var(--font-serif);
  margin: 0;
  text-wrap: balance;
}
.fv-h2 {
  font: 300 var(--fx-heading)/1.2 var(--font-serif);
  margin: 0;
  text-wrap: balance;
}
.fv-h3 {
  font: 400 var(--fx-subhead)/1.3 var(--font-serif);
  margin: 0;
  text-wrap: pretty;
}
.fv-lead {
  font: 400 var(--fx-lead)/1.35 var(--font-serif);
  margin: 0;
  color: var(--fg-85);
  text-wrap: pretty;
}
.fv-dek {
  font: 400 var(--fx-subhead)/1.45 var(--font-serif);
  margin: 0;
  color: var(--fg-70);
  max-width: var(--measure);
  text-wrap: pretty;
}
.fv-body {
  font: 400 var(--size-body)/var(--lh-body) var(--font-serif);
  color: var(--text-body);
  max-width: var(--measure);
  text-wrap: pretty;
}
.fv-body p {
  margin: 0 0 1.1em;
}
.fv-body p:last-child {
  margin-bottom: 0;
}
.fv-body h2 {
  font: 300 var(--fx-heading)/1.2 var(--font-serif);
  color: var(--fg);
  margin: 1.6em 0 .6em;
}
.fv-body h3 {
  font: 400 var(--fx-subhead)/1.3 var(--font-serif);
  color: var(--fg);
  margin: 1.5em 0 .5em;
}
.fv-body h4 {
  font: 500 14px/1.4 var(--font-sans);
  color: var(--fg);
  margin: 2em 0 .6em;
}
.fv-small {
  font: 400 15.5px/1.6 var(--font-serif);
  color: var(--fg-75);
  text-wrap: pretty;
  margin: 0;
}
.fv-code {
  font-family: var(--font-code);
  font-size: .86em;
  letter-spacing: 0;
}
.fv-link {
  font: 500 13px/1.3 var(--font-sans);
  color: var(--fg);
  text-decoration: none;
  border-bottom: 1px solid var(--fg-20);
  padding-bottom: 2px;
  transition: var(--transition-color);
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
  width: fit-content;
  background: none;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  cursor: pointer;
  padding-left: 0;
  padding-right: 0;
}
.fv-link:hover {
  color: var(--hover-text);
  border-bottom-color: var(--accent-rule);
}
.fv-link.inv {
  color: var(--bone);
  border-bottom-color: var(--bone-45);
}
.fv-link.inv:hover {
  color: var(--bone-70);
}
.fv-link.quiet {
  border-bottom-color: transparent;
  color: var(--fg-70);
}
.fv-link.quiet:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-mark-hl {
  background: none;
  box-shadow: inset 0 -.42em 0 var(--mark-highlight);
  color: inherit;
  padding: 0 .06em;
}
.fv-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: 400 12.5px/1.2 var(--font-sans);
  color: var(--status-text);
  white-space: nowrap;
}
.fv-status svg {
  flex: none;
  display: block;
}
.fv-status.inv {
  color: var(--bone-70);
}
.fv-media {
  position: relative;
  width: 100%;
  background: var(--media-field);
  overflow: hidden;
}
.fv-media > .fv-media-lbl {
  position: absolute;
  left: 14px;
  top: 14px;
}
.fv-media.ink {
  background: var(--ink);
}
.fv-media.moss {
  background: var(--support);
}
.fv-media.paper {
  background: var(--raised);
  outline: 1px solid var(--rule-card);
  outline-offset: -1px;
}
.fv-media.bone {
  background: var(--bg);
  outline: 1px solid var(--rule-card);
  outline-offset: -1px;
}
.fv-media.empty {
  background: transparent;
  outline: 1px dashed var(--fg-20);
  outline-offset: -1px;
}
.fv-ml {
  display: grid;
  grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
  margin: 0;
}
.fv-ml > div {
  display: contents;
}
.fv-ml dt {
  font: 400 12.5px/1.5 var(--font-sans);
  color: var(--fg-70);
  padding: 12px 16px 12px 0;
  border-top: 1px solid var(--rule-hairline);
}
.fv-ml dd {
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--rule-hairline);
  font: 400 15.5px/1.5 var(--font-serif);
  color: var(--fg-85);
}
.fv-ml.sans dd {
  font: 400 13px/1.55 var(--font-sans);
  padding-top: 11px;
}
.fv-ml.inv dt {
  color: var(--bone-45);
  border-color: var(--rule-on-inverse);
}
.fv-ml.inv dd {
  color: var(--bone-90);
  border-color: var(--rule-on-inverse);
}
@container (max-width:639px) {
  .fv-ml {
    grid-template-columns: 1fr;
  }
  .fv-ml dd {
    border-top: 0;
    padding-top: 0;
  }
  .fv-ml dt {
    padding-bottom: 4px;
  }
}
.fv-run {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  align-items: baseline;
}
.fv-run > span {
  white-space: nowrap;
}
.fv-run > span + span::before {
  content: "\b7";
  padding: 0 .6em;
  color: inherit;
}
.fv-btn-inv {
  background: transparent !important;
  color: var(--bone) !important;
  border-color: var(--bone-45) !important;
}
.fv-btn-inv:hover {
  border-color: var(--bone) !important;
}
.fv-act {
  font: 500 13px/1 var(--font-sans);
  letter-spacing: .02em;
  border-radius: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 22px;
  min-height: 44px;
  box-sizing: border-box;
  text-decoration: none;
  width: fit-content;
  transition: var(--transition-color);
  border: 1px solid var(--fg);
  background: var(--fg);
  color: var(--bg);
}
.fv-act:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}
.fv-act:active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--ink);
}
.fv-act.secondary {
  background: transparent;
  color: var(--fg);
  border-color: var(--fg-45);
}
.fv-act.secondary:hover {
  border-color: var(--accent);
  color: var(--fg);
  box-shadow: inset 0 -2px 0 var(--accent);
}
.fv-act.ghost {
  background: transparent;
  border-color: transparent;
  color: var(--fg-75);
}
.fv-act.ghost:hover {
  color: var(--fg);
  box-shadow: inset 0 -1px 0 var(--accent);
}
.fv-act.accent {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}
.fv-act.accent:hover {
  background: var(--fg);
  border-color: var(--fg);
  color: var(--bg);
}
.fv-act.secondary[aria-pressed=true] {
  border-color: var(--fg);
  box-shadow: inset 0 -2px 0 var(--accent);
}
.fv-act[disabled] {
  opacity: .4;
  cursor: not-allowed;
  pointer-events: none;
}
.fv-act.sm {
  padding: 7px 14px;
  min-height: 32px;
  font-size: 12px;
}
.fv-mark {
  display: inline-block;
  vertical-align: baseline;
  flex: none;
}
.fv-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.fv-sf {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  padding: 16px var(--g,56px);
  border-top: 1px solid var(--rule-hairline);
  font: var(--type-label);
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--fg-70);
}

/* src/ds3/styles/global.css */
.fv-gh {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 18px var(--g);
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-gh.inv {
  background: var(--ink);
  border-color: var(--rule-on-inverse);
}
.fv-gh-mark {
  text-decoration: none;
  color: inherit;
  display: flex;
}
.fv-gh-nav {
  display: flex;
  gap: 22px;
  margin-left: auto;
}
.fv-gh-nav a,
.fv-gh-search,
.fv-ctx a {
  font: var(--weight-ui) 12.5px/1 var(--font-sans);
  color: var(--fg-70);
  text-decoration: none;
  transition: var(--transition-color);
}
.fv-gh-nav a:hover,
.fv-gh-search:hover,
.fv-ctx a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-gh-nav a[aria-current] {
  color: var(--fg);
  box-shadow: 0 8px 0 -6px var(--accent-rule);
}
.fv-gh.inv .fv-gh-nav a,
.fv-gh.inv .fv-gh-search {
  color: var(--bone-70);
}
.fv-gh-search {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-left: 22px;
  border-left: 1px solid var(--rule-hairline);
}
.fv-gh-search kbd {
  font: 500 10px/1 var(--font-sans);
  border: 1px solid var(--fg-20);
  padding: 2px 5px;
  color: var(--fg-55);
}
.fv-gh-menu {
  display: none;
  margin-left: auto;
  background: none;
  border: 0;
  padding: 6px 0;
  font: 500 12.5px/1 var(--font-sans);
  color: inherit;
  cursor: pointer;
  min-height: 44px;
}
@container (max-width:767px) {
  .fv-gh-nav,
  .fv-gh-search {
    display: none;
  }
  .fv-gh-menu {
    display: block;
  }
}
.fv-ctx {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 12px var(--g);
  border-bottom: 1px solid var(--rule-hairline);
  overflow-x: auto;
  scrollbar-width: none;
}
.fv-ctx .fv-lbl {
  margin-right: 12px;
  white-space: nowrap;
}
.fv-ctx a {
  white-space: nowrap;
  padding: 4px 0;
}
.fv-ctx a[aria-current] {
  color: var(--fg);
  box-shadow: 0 7px 0 -6px var(--accent-rule);
}
.fv-mnav {
  background: var(--ink);
  color: var(--bone);
  display: flex;
  flex-direction: column;
  min-height: 640px;
}
.fv-mnav-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px var(--g);
  border-bottom: 1px solid var(--rule-on-inverse);
}
.fv-mnav-top button {
  background: none;
  border: 0;
  color: var(--bone);
  font: 500 12.5px/1 var(--font-sans);
  min-height: 44px;
  cursor: pointer;
}
.fv-mnav ol {
  list-style: none;
  margin: 0;
  padding: 10px var(--g) 0;
}
.fv-mnav li a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid var(--rule-on-inverse);
  color: var(--bone);
  text-decoration: none;
}
.fv-mnav li a span:first-child {
  font: 300 30px/1.1 var(--font-serif);
  transition: var(--transition-color);
}
.fv-mnav li a[aria-current] span:first-child,
.fv-mnav li a:hover span:first-child {
  color: var(--terracotta);
}
.fv-mnav-search {
  margin: 34px var(--g) 0;
  border-bottom: 1px solid var(--bone-45);
  padding: 10px 0;
  font: 400 19px/1.3 var(--font-serif);
  color: var(--bone-65);
}
.fv-mnav-foot {
  margin-top: auto;
  padding: 22px var(--g);
}
.fv-bc {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font: 400 12px/1.4 var(--font-sans);
  color: var(--fg-55);
}
.fv-bc li + li::before {
  content: "/";
  margin-right: 6px;
  color: var(--fg-45);
}
.fv-bc a {
  color: var(--fg-70);
  text-decoration: none;
}
.fv-bc a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-bc [aria-current] {
  color: var(--fg);
}
.fv-bc-m {
  display: none;
}
@container (max-width:639px) {
  .fv-bc-d {
    display: none;
  }
  .fv-bc-m {
    display: inline-flex;
  }
}
.fv-ph {
  padding: 64px var(--g) 34px;
}
.fv-ph-eyebrow {
  display: flex;
  gap: 18px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.fv-ph .fv-disp {
  max-width: 880px;
}
.fv-ph .fv-dek {
  margin-top: 22px;
}
.fv-ph-rec {
  display: grid;
  grid-template-columns: minmax(120px, 200px) minmax(0, 1fr);
  gap: 0 34px;
  align-items: start;
}
.fv-ph-rec > .fv-num {
  font-size: var(--fx-mark);
  line-height: .9;
  letter-spacing: -.02em;
  font-variation-settings: "wdth" 84, "opsz" 32;
}
.fv-ph-meta {
  margin-top: 34px;
  padding-top: 14px;
  border-top: 1px solid var(--rule-hairline);
  display: flex;
  justify-content: space-between;
  gap: 12px 24px;
  flex-wrap: wrap;
}
@container (max-width:639px) {
  .fv-ph {
    padding: 40px var(--g) 26px;
  }
  .fv-ph-rec {
    grid-template-columns: 1fr;
  }
  .fv-ph-rec > .fv-num {
    margin-bottom: 18px;
  }
}
.fv-sh {
  display: grid;
  grid-template-columns: 0 minmax(0, 1fr) auto;
  gap: 0;
  align-items: baseline;
  padding-top: 22px;
  border-top: 1px solid var(--rule-strong);
}
.fv-sh .fv-num {
  font-size: 15px;
}
.fv-sh-lbl {
  grid-column: 2;
  margin-bottom: 10px;
}
.fv-sh .fv-h2 {
  grid-column: 2;
}
.fv-sh-aside {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: end;
  padding-left: 20px;
}
.fv-sh.has-n {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.fv-sh.has-n .fv-num {
  padding-right: 14px;
  font-size: var(--fx-heading);
  font-weight: 300;
  line-height: 1.2;
  color: var(--fg-45);
}
@container (max-width:639px) {
  .fv-sh {
    grid-template-columns: 0 minmax(0, 1fr);
  }
  .fv-sh-aside {
    grid-column: 2;
    grid-row: auto;
    margin-top: 14px;
    padding-left: 0;
  }
}
.fv-pm {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0 24px;
  border-top: 1px solid var(--rule-hairline);
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-pm > div {
  padding: 12px 0;
}
.fv-pm dt {
  margin-bottom: 6px;
}
.fv-pm dd {
  margin: 0;
  font: 400 13px/1.4 var(--font-sans);
  color: var(--fg-85);
}
.fv-rel-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 4px 20px;
  align-items: baseline;
  padding: 15px 0;
  border-bottom: 1px solid var(--rule-hairline);
  text-decoration: none;
  color: inherit;
  transition: var(--transition-color);
}
.fv-rel-row .t {
  font: 400 19px/1.35 var(--font-serif);
  color: var(--fg);
  transition: var(--transition-color);
}
.fv-rel-row:hover .t {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
@container (max-width:639px) {
  .fv-rel-row {
    grid-template-columns: 1fr;
  }
  .fv-rel-row .m {
    order: 3;
  }
}
.fv-pn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--rule-strong);
}
.fv-pn a {
  padding: 18px 0 4px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fv-pn a + a {
  text-align: right;
  align-items: flex-end;
  border-left: 1px solid var(--rule-hairline);
  padding-left: 24px;
}
.fv-pn a:first-child {
  padding-right: 24px;
}
.fv-pn .t {
  font: 400 20px/1.35 var(--font-serif);
  transition: var(--transition-color);
}
.fv-pn a:hover .t {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
@container (max-width:639px) {
  .fv-pn {
    grid-template-columns: 1fr;
  }
  .fv-pn a + a {
    border-left: 0;
    border-top: 1px solid var(--rule-hairline);
    text-align: left;
    align-items: flex-start;
    padding-left: 0;
    margin-top: 14px;
  }
}
.fv-search {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: var(--measure);
}
.fv-search-in {
  display: flex;
  align-items: baseline;
  gap: 14px;
  border-bottom: 1px solid var(--fg);
}
.fv-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 10px 0;
  font: 300 var(--fx-subhead)/1.3 var(--font-serif);
  color: var(--fg);
  outline: none;
}
.fv-search input::placeholder {
  color: var(--fg-55);
}
.fv-search-in:focus-within {
  border-color: var(--accent-rule);
  outline: 2px solid var(--focus-ring);
  outline-offset: 4px;
}
.fv-search .fv-run a {
  color: var(--fg-70);
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  font: 400 13px/1.6 var(--font-sans);
}
.fv-search .fv-run a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-gf {
  border-top: 1px solid var(--rule-strong);
}
.fv-gf-cols {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  gap: 34px 24px;
  padding: 44px var(--g) 40px;
}
.fv-gf-cols ul {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.fv-gf-cols a {
  font: 400 13px/1.3 var(--font-sans);
  color: var(--fg-75);
  text-decoration: none;
}
.fv-gf-cols a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
@container (max-width:767px) {
  .fv-gf-cols {
    grid-template-columns: 1fr 1fr;
  }
  .fv-gf-cols > :first-child {
    grid-column: 1 / -1;
  }
}

/* src/ds3/styles/editorial.css */
.fv-ah-cover {
  background: var(--ink);
  color: var(--bone);
  padding: 54px var(--g) 46px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 44px;
}
.fv-ah-cover .fv-disp {
  color: var(--bone);
  max-width: 760px;
}
.fv-ah-cover .fv-dek {
  color: var(--bone-70);
  margin-top: 18px;
}
@container (max-width:639px) {
  .fv-ah-cover {
    flex-direction: column;
    align-items: flex-start;
    padding: 40px var(--g) 34px;
    gap: 34px;
  }
}
.fv-ah-std {
  padding: 64px var(--g) 0;
}
.fv-ah-std .fv-disp {
  max-width: 900px;
  margin-top: 20px;
}
.fv-ah-std .fv-dek {
  margin-top: 20px;
}
.fv-ah-split {
  padding: 64px var(--g) 34px;
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 34px 56px;
  align-items: end;
  border-bottom: 1px solid var(--rule-strong);
}
@container (max-width:767px) {
  .fv-ah-split {
    grid-template-columns: 1fr;
  }
}
.fv-byline {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fv-byline-p {
  width: 44px;
  height: 44px;
  background: var(--media-field);
  flex: none;
}
.fv-byline b {
  font: 500 13px/1.3 var(--font-sans);
  color: var(--fg);
}
.fv-byline span {
  font: 400 13px/1.3 var(--font-sans);
  color: var(--fg-70);
}
.fv-rg {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 640px) minmax(var(--margin-col), 1fr);
  gap: 0 34px;
  padding: 0 var(--g);
}
.fv-rg-l {
  padding-top: 6px;
}
.fv-rg-l > * {
  position: sticky;
  top: 24px;
}
.fv-rg-full {
  grid-column: 1 / -1;
}
.fv-rg-wide {
  grid-column: 2 / 4;
}
@container (max-width:1023px) {
  .fv-rg {
    grid-template-columns: minmax(0, 640px) minmax(var(--margin-col), 1fr);
  }
  .fv-rg-l {
    display: none;
  }
  .fv-rg-wide {
    grid-column: 1 / -1;
  }
}
@container (max-width:639px) {
  .fv-rg {
    grid-template-columns: minmax(0, 1fr);
  }
  .fv-rg-r {
    display: none;
  }
}
.fv-toc {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 14px;
}
.fv-toc a {
  font: 400 12px/1.45 var(--font-sans);
  color: var(--fg-55);
  text-decoration: none;
  display: block;
  padding-left: 12px;
  border-left: 1px solid transparent;
}
.fv-toc a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-toc a[aria-current] {
  color: var(--fg);
  border-left-color: var(--accent-rule);
}
.fv-toc .fv-num {
  font-size: 11px;
}
.fv-sn-ref {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: .62em;
  color: var(--support);
  vertical-align: super;
  line-height: 0;
  margin-left: 1px;
}
.fv-sn {
  float: right;
  clear: right;
  width: var(--margin-col);
  margin-right: calc(-1 * var(--margin-col) - 34px);
  margin-top: .3em;
  font: 400 13.5px/1.5 var(--font-serif);
  color: var(--fg-70);
  text-indent: 0;
}
.fv-sn .fv-num {
  font-size: 11px;
  color: var(--support);
  margin-right: 6px;
}
.fv-sn .fv-lbl,
.fv-sn .fv-k {
  display: block;
  margin-bottom: 5px;
}
.fv-annot {
  text-decoration: underline dotted var(--support);
  text-underline-offset: .22em;
  text-decoration-thickness: 1px;
}
@container (max-width:639px) {
  .fv-sn {
    float: none;
    display: block;
    width: auto;
    margin: 12px 0 14px;
    padding: 10px 0 10px 16px;
    border-left: 1px solid var(--rule-strong);
  }
}
.fv-notes {
  border-top: 1px solid var(--rule-strong);
  padding-top: 18px;
}
.fv-notes ol {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fv-notes li {
  display: grid;
  grid-template-columns: 26px 1fr;
  font: 400 14.5px/1.55 var(--font-serif);
  color: var(--fg-75);
}
.fv-notes li .fv-num {
  font-size: 12px;
  color: var(--support);
  padding-top: 2px;
}
.fv-bq {
  margin: 30px 0;
  padding: 0 0 0 34px;
}
.fv-bq blockquote {
  margin: 0;
  font: 400 18px/1.6 var(--font-serif);
  color: var(--fg-85);
}
.fv-bq figcaption {
  margin-top: 12px;
  font: 400 12.5px/1.4 var(--font-sans);
  color: var(--fg-70);
}
@container (max-width:639px) {
  .fv-bq {
    padding-left: 18px;
  }
}
.fv-arg {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: arg;
}
.fv-arg li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 0 20px;
  padding: 22px 0;
  border-top: 1px solid var(--rule-hairline);
}
.fv-arg li:last-child {
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-arg .fv-num {
  font-size: 40px;
  line-height: .9;
  font-weight: 300;
  color: var(--fg-45);
}
.fv-arg h4 {
  font: 400 var(--fx-subhead)/1.3 var(--font-serif);
  margin: 0 0 8px;
  color: var(--fg);
}
.fv-arg p {
  margin: 0;
  font: 400 16px/1.6 var(--font-serif);
  color: var(--fg-75);
}
@container (max-width:639px) {
  .fv-arg li {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0 12px;
  }
  .fv-arg .fv-num {
    font-size: 28px;
  }
}
.fv-fig {
  margin: 34px 0;
}
.fv-fig-cap {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px 16px;
  align-items: baseline;
  padding-top: 12px;
}
.fv-fig-cap .fv-cap {
  max-width: 560px;
}
@container (max-width:639px) {
  .fv-fig-cap {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .fv-fig-cap .cr {
    grid-column: 1 / -1;
  }
}
.fv-play {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 1px solid currentColor;
  padding: 0 16px;
  min-height: 44px;
  font: 500 12.5px/1 var(--font-sans);
  cursor: pointer;
  color: inherit;
  transition: var(--transition-color);
}
.fv-play:hover {
  border-color: var(--accent-rule);
  box-shadow: inset 0 -2px 0 var(--accent-rule);
}
.fv-vid-ctl {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  color: var(--bone);
}
.fv-vid-ctl .fv-play:hover {
  color: var(--bone-70);
}
.fv-audio {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px 20px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-audio-track {
  height: 1px;
  background: var(--fg-20);
  position: relative;
  margin-top: 12px;
}
.fv-audio-track i {
  position: absolute;
  left: 0;
  top: -1px;
  height: 3px;
  background: var(--accent);
}
@container (max-width:639px) {
  .fv-audio {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .fv-audio > :last-child {
    grid-column: 1 / -1;
  }
}
.fv-refs ol {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}
.fv-refs li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 12px 0;
  border-top: 1px solid var(--rule-hairline);
}
.fv-refs .fv-num {
  font-size: 12px;
  color: var(--fg-55);
  padding-top: 3px;
}
.fv-refs .a {
  font: 400 13px/1.4 var(--font-sans);
  color: var(--fg-85);
}
.fv-refs .ti {
  font: italic 400 16px/1.45 var(--font-serif);
  color: var(--fg);
}
.fv-refs .m {
  font: 400 12.5px/1.4 var(--font-sans);
  color: var(--fg-70);
  margin-top: 3px;
}
.fv-topics {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 0;
}
.fv-topics a {
  font: 400 13px/1.4 var(--font-sans);
  color: var(--fg-75);
  text-decoration: none;
}
.fv-topics a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-topics a + a::before {
  content: "\b7";
  padding: 0 .7em;
  color: var(--fg-45);
}
.fv-share {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.fv-share button {
  background: none;
  border: 0;
  padding: 6px 0;
  font: 400 12.5px/1 var(--font-sans);
  color: var(--fg-70);
  cursor: pointer;
  min-height: 32px;
}
.fv-share button:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}

/* src/ds3/styles/knowledge.css */
.fv-cd-head {
  display: flex;
  gap: 18px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.fv-cd-pos {
  font: italic 400 17px/1 var(--font-serif);
  color: var(--fg-70);
}
.fv-cd-def {
  margin-top: 26px;
  padding: 22px 0 24px;
  border-top: var(--border-emphasis);
  border-bottom: 1px solid var(--rule-strong);
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 8px 24px;
}
.fv-cd-def .fv-lead {
  max-width: 760px;
}
@container (max-width:639px) {
  .fv-cd-def {
    grid-template-columns: 1fr;
  }
}
.fv-cd-inline {
  border-top: var(--border-emphasis);
  padding: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fv-cd-inline .t {
  font: 400 22px/1.2 var(--font-serif);
}
.fv-ki {
  padding: 34px 34px 30px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.fv-ki.bone {
  border-top: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule-strong);
  padding-left: 0;
  padding-right: 0;
}
.fv-ki.moss {
  background: var(--support);
  color: var(--bone);
}
.fv-ki.ink {
  background: var(--ink);
  color: var(--bone);
}
.fv-ki.accent {
  background: var(--terracotta);
  color: var(--ink);
}
.fv-ki p {
  margin: 0;
  font: 300 var(--fx-lead)/1.3 var(--font-serif);
  max-width: 760px;
  text-wrap: pretty;
}
@container (max-width:639px) {
  .fv-ki {
    padding: 26px 22px;
  }
}
.fv-pr {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 0 24px;
  padding: 26px 0;
  border-top: 1px solid var(--rule-strong);
}
.fv-pr > .fv-k {
  padding-top: 10px;
}
.fv-pr h4 {
  margin: 0;
  font: 300 var(--fx-heading)/1.2 var(--font-serif);
  max-width: 760px;
  text-wrap: balance;
}
.fv-pr-cond {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 22px;
  max-width: 880px;
}
.fv-pr-cond p {
  margin: 8px 0 0;
}
@container (max-width:639px) {
  .fv-pr {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .fv-pr-cond {
    grid-template-columns: 1fr;
  }
}
.fv-fw {
  border: 1px solid var(--rule-card);
  background: var(--raised);
}
.fv-fw-layers > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  border-top: 1px solid var(--rule-hairline);
}
.fv-fw-layers > div:first-child {
  border-top: 0;
}
.fv-fw-layers .ax {
  padding: 18px 20px;
  border-right: 1px solid var(--rule-hairline);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.fv-fw-layers .ax .fv-num {
  font-size: 13px;
}
.fv-fw-nodes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}
.fv-fw-node {
  padding: 18px 20px;
  border-left: 1px solid var(--rule-hairline);
  font: 400 16px/1.35 var(--font-serif);
}
.fv-fw-node:first-child {
  border-left: 0;
}
.fv-fw-node small {
  display: block;
  font: 400 12.5px/1.45 var(--font-sans);
  color: var(--fg-70);
  margin-top: 6px;
}
.fv-fw-node {
  position: relative;
}
.fv-fw-node.on {
  box-shadow: inset 0 3px 0 var(--accent);
}
.fv-fw-node .mk {
  display: block;
  margin-top: 10px;
  font: 500 12px/1.3 var(--font-sans);
  color: var(--fg);
}
@container (max-width:639px) {
  .fv-fw-layers > div {
    grid-template-columns: 1fr;
  }
  .fv-fw-layers .ax {
    border-right: 0;
    border-bottom: 1px solid var(--rule-hairline);
  }
  .fv-fw-nodes {
    grid-template-columns: 1fr;
  }
  .fv-fw-node {
    border-left: 0;
    border-top: 1px solid var(--rule-hairline);
  }
  .fv-fw-node:first-child {
    border-top: 0;
  }
}
.fv-fw-mx {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  grid-template-rows: auto 1fr 1fr;
}
.fv-fw-mx .axh {
  padding: 14px 20px;
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-fw-mx .axv {
  padding: 20px 14px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  border-left: 1px solid var(--rule-hairline);
  text-align: center;
}
.fv-fw-mx .fv-fw-node {
  min-height: 130px;
  border-top: 1px solid var(--rule-hairline);
  border-left: 1px solid var(--rule-hairline);
}
@container (max-width:639px) {
  .fv-fw-mx {
    grid-template-columns: auto 1fr 1fr;
  }
  .fv-fw-mx .fv-fw-node {
    padding: 14px;
    font-size: 15px;
    min-height: 110px;
  }
  .fv-fw-mx .fv-fw-node small {
    display: none;
  }
  .fv-fw-mx .axh {
    padding: 12px 14px;
  }
}
.fv-cmp {
  width: 100%;
  border-collapse: collapse;
}
.fv-cmp th,
.fv-cmp td {
  text-align: left;
  vertical-align: top;
  padding: 16px 20px 16px 0;
  border-top: 1px solid var(--rule-hairline);
}
.fv-cmp thead th {
  border-top: 0;
  border-bottom: 1px solid var(--rule-strong);
  font: 400 var(--fx-subhead)/1.25 var(--font-serif);
  padding-bottom: 14px;
}
.fv-cmp tbody th {
  width: 22%;
  font: var(--type-label);
  letter-spacing: var(--track-label-tight);
  text-transform: uppercase;
  color: var(--text-label);
  line-height: 1.5;
}
.fv-cmp td {
  font: 400 15.5px/1.55 var(--font-serif);
  color: var(--fg-85);
  width: 39%;
}
.fv-cmp td .k {
  display: none;
}
.fv-cmp tr.key > * {
  border-top: 2px solid var(--accent);
}
.fv-cmp tr.key th {
  color: var(--fg);
}
.fv-cmp .kn {
  display: block;
  margin-top: 8px;
  font: italic 400 14px/1.4 var(--font-serif);
  color: var(--fg-75);
  text-transform: none;
  letter-spacing: 0;
}
@container (max-width:639px) {
  .fv-cmp thead {
    display: none;
  }
  .fv-cmp tr {
    display: block;
    padding: 14px 0;
    border-top: 1px solid var(--rule-hairline);
  }
  .fv-cmp tr.key {
    border-top: 2px solid var(--accent);
  }
  .fv-cmp tr.key > * {
    border-top: 0;
  }
  .fv-cmp th,
  .fv-cmp td {
    display: block;
    width: auto;
    border: 0;
    padding: 4px 0;
  }
  .fv-cmp td .k {
    display: block;
    margin: 10px 0 3px;
  }
}
.fv-seq {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--n,4), minmax(0, 1fr));
  gap: 0 24px;
}
.fv-seq li {
  position: relative;
  padding-top: 22px;
  border-top: 1px solid var(--fg);
}
.fv-seq li::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--bg);
  border: 1px solid var(--fg);
}
.fv-seq li.done::before {
  background: var(--fg);
}
.fv-seq li.on {
  border-top: 2px solid var(--accent);
  padding-top: 21px;
}
.fv-seq li.on::before {
  background: var(--accent);
  border-color: var(--accent);
  width: 9px;
  height: 9px;
  top: -6px;
}
.fv-seq li.on .fv-num {
  color: var(--fg);
}
.fv-seq .fv-num {
  font-size: 13px;
  color: var(--fg-55);
}
.fv-seq h4 {
  margin: 10px 0 8px;
  font: 400 19px/1.3 var(--font-serif);
}
.fv-seq p {
  margin: 0;
  font: 400 13px/1.55 var(--font-sans);
  color: var(--fg-70);
}
@container (max-width:767px) {
  .fv-seq {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .fv-seq li {
    border-top: 0;
    border-left: 1px solid var(--fg);
    padding: 0 0 26px 24px;
  }
  .fv-seq li:last-child {
    padding-bottom: 0;
  }
  .fv-seq li::before {
    top: 4px;
    left: -4px;
  }
  .fv-seq h4 {
    margin-top: 4px;
  }
  .fv-seq li.on {
    border-top: 0;
    border-left: 2px solid var(--accent);
    padding-top: 0;
    padding-left: 23px;
  }
  .fv-seq li.on::before {
    top: 3px;
    left: -6px;
  }
}
.fv-ev {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 24px 44px;
  padding-top: 22px;
  border-top: 1px solid var(--rule-strong);
}
.fv-ev-claim {
  font: 400 var(--fx-subhead)/1.4 var(--font-serif);
  margin: 10px 0 0;
}
.fv-ev ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.fv-ev li a {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  gap: 4px 16px;
  align-items: baseline;
  padding: 12px 0;
  border-top: 1px solid var(--rule-hairline);
  text-decoration: none;
  color: inherit;
}
.fv-ev li a .t {
  font: 400 16px/1.4 var(--font-serif);
  transition: var(--transition-color);
}
.fv-ev li a:hover .t {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
@container (max-width:767px) {
  .fv-ev {
    grid-template-columns: 1fr;
  }
}
@container (max-width:639px) {
  .fv-ev li a {
    grid-template-columns: 1fr;
  }
}
.fv-ev-inline {
  margin-top: 14px;
}
.fv-ev-inline > button {
  background: none;
  border: 0;
  padding: 6px 0;
  cursor: pointer;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font: 500 12.5px/1 var(--font-sans);
  color: var(--fg);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .3em;
}
.fv-da {
  position: relative;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px 24px;
  padding: 26px 0 20px;
  border-top: 1px solid var(--rule-hairline);
  border-bottom: 1px solid var(--rule-hairline);
}
.fv-da::before {
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  width: 64px;
  height: 3px;
  background: var(--accent);
}
.fv-da-text {
  margin: 0;
  font: 400 var(--fx-answer)/1.42 var(--font-serif);
  color: var(--fg);
  max-width: 780px;
  text-wrap: pretty;
}
.fv-da .fv-run {
  grid-column: 2;
  margin-top: 10px;
}
@container (max-width:639px) {
  .fv-da {
    grid-template-columns: 1fr;
  }
  .fv-da .fv-run {
    grid-column: 1;
  }
}
.fv-kd {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--rule-strong);
}
.fv-kd > div {
  padding: 20px 24px 4px 0;
}
.fv-kd > div + div {
  padding-left: 24px;
  border-left: 2px solid var(--accent);
}
.fv-kd p {
  margin: 10px 0 0;
  font: 400 18px/1.5 var(--font-serif);
}
@container (max-width:639px) {
  .fv-kd {
    grid-template-columns: 1fr;
  }
  .fv-kd > div + div {
    padding-left: 0;
    border-left: 0;
    border-top: 2px solid var(--accent);
    margin-top: 18px;
  }
}
.fv-rq a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: baseline;
  padding: 15px 0;
  border-bottom: 1px solid var(--rule-hairline);
  text-decoration: none;
  color: var(--fg);
  font: 400 19px/1.4 var(--font-serif);
  transition: var(--transition-color);
}
.fv-rq a span:last-child {
  font: 500 16px/1 var(--font-sans);
  color: var(--accent);
  transition: var(--transition-color);
}
.fv-rq a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-rq a:hover span:last-child {
  color: var(--accent);
  text-decoration: none;
}
.fv-cl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  align-items: baseline;
}
.fv-cl a {
  font: 400 17px/1.4 var(--font-serif);
  color: var(--fg);
  text-decoration: none;
  display: inline-flex;
  gap: 7px;
  align-items: baseline;
}
.fv-cl a .fv-num {
  font-size: 11px;
  color: var(--fg-55);
}
.fv-cl a:hover {
  color: var(--hover-text);
  text-decoration: underline 1px var(--accent-rule);
  text-underline-offset: .22em;
}
.fv-cl a + a::before {
  content: "\b7";
  color: var(--fg-45);
  padding: 0 .7em;
}
.fv-ex {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 8px 24px;
  padding: 18px 0;
  border-top: 1px solid var(--rule-hairline);
  border-bottom: 1px solid var(--rule-hairline);
}
@container (max-width:639px) {
  .fv-ex {
    grid-template-columns: 1fr;
  }
}

/* src/site.css */
* {
  box-sizing: border-box;
}
.concept-opening {
  padding: 78px var(--g) 0;
}
.concept-section {
  margin-top: 64px;
  padding: 0 var(--g);
}
.concept-detail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 44px 56px;
  margin-top: 26px;
}
.concept-evidence {
  max-width: var(--measure);
}
.concept-evidence p {
  margin: 18px 0;
}
.concept-related {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 44px 56px;
  padding: 64px var(--g);
}
.concept-related h2 {
  margin: 0 0 14px;
}
.fv-lbl {
  text-transform: none;
  letter-spacing: 0;
  font-size: 12.5px;
}
.fv-sf {
  text-transform: none;
  letter-spacing: 0;
}
.skip-link {
  position: absolute;
  left: 22px;
  top: -100px;
  z-index: 10;
  background: var(--bg);
  padding: 12px;
}
.skip-link:focus {
  top: 8px;
}
[hidden] {
  display: none !important;
}
.fv-mnav:not([open]) {
  display: none;
}
dialog.fv-mnav {
  position: fixed;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-height: 0;
  border: 0;
  padding: 0;
  --g:22px;
}
.fv-mnav::backdrop {
  background: var(--ink);
}
.fv-mnav-top {
  color: var(--bone);
}
.fv-gh-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.fallback-nav {
  padding: 14px var(--g);
  display: flex;
  gap: 22px;
}
section[id],
h2[id] {
  scroll-margin-top: 24px;
}
@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.concept-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 34px 56px;
}
.concept-associated .fv-meta {
  margin-right: 18px;
}
.concept-evidence [aria-disabled=true] {
  text-decoration: none;
  cursor: default;
}
.concept-opening .fv-cd > div:last-child > .fv-body {
  max-width: none;
}
.concept-context > p {
  margin: 0;
}
