/* 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 */
.home-shell {
  --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 */
.home-shell {
  --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;
}
.home-shell {
  --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 */
.home-shell {
  --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 */
.home-shell {
  --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 */
.home-shell {
  --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 */
.home-shell {
  --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) {
  .home-shell {
    --dur-fast:0ms;
    --dur-base:0ms;
    --dur-slow:0ms;
  }
}

/* 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/home-shell.css */
.home-shell {
  font: var(--type-ui);
}
.home-shell * {
  box-sizing: border-box;
}
.home-shell [hidden] {
  display: none !important;
}
.home-shell :focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
.home-shell .fv-sf {
  text-transform: none;
  letter-spacing: 0;
}
.home-shell .fv-gh-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.home-shell .fv-mnav:not([open]) {
  display: none;
}
.home-shell 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;
}
.home-shell .fv-mnav::backdrop {
  background: var(--ink);
}
.home-shell .fv-mnav-top {
  color: var(--bone);
}
.home-shell .fallback-nav {
  padding: 14px var(--g);
  display: flex;
  gap: 22px;
}
