/*rr-house-style*/:root {
  --ff-indigo: #5d93cb;
  --ff-teal: #1f7c89;
  --ff-coral: #d37755;
  --ff-lavender: #9d7bad;
  --ff-sky: #228a98;
  --ff-saffron: #cca134;
  --ff-ink: #111b26;
  --ff-soft: #214265;
  --ff-line: #cfdbe7;
  --ff-paper: #fff;
  --ff-page: #f6f7fc;
}

.frontier-figure {
  width: 100%;
  margin: 3.25rem 0;
  padding: 0;
  border: 0;
  border-top: 2px solid var(--ff-ink);
  border-bottom: 1px solid var(--ff-line);
  background: var(--ff-paper);
  color: var(--ff-ink);
}

.leadvisual .frontier-figure {
  margin: 0;
}

.frontier-figure__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: .85rem 0 .75rem;
}

.frontier-figure__number,
.frontier-figure__status,
.frontier-figure__legend,
.frontier-figure__axis,
.frontier-figure__micro {
  font-family: var(--f-mono);
  font-size: .68rem;
  line-height: 1.35;
  letter-spacing: .045em;
}

.frontier-figure__number,
.frontier-figure__status,
.frontier-figure__axis,
.frontier-figure__micro {
  color: var(--muted);
}

.frontier-figure__number {
  display: block;
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.frontier-figure__title {
  max-width: 34ch;
  margin: 0;
  font: 700 clamp(1.05rem, 1.7vw, 1.35rem)/1.15 var(--f-display);
  letter-spacing: -.025em;
}

.frontier-figure__status {
  max-width: 26ch;
  padding: .35rem .5rem;
  border-left: 3px solid var(--ff-sky);
  text-align: left;
}

.frontier-figure__scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  border-top: 1px solid var(--ff-line);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--ff-page) 62%, white), white 15%, white 85%, color-mix(in srgb, var(--ff-page) 62%, white));
}

.frontier-figure__svg {
  display: block;
  width: 100%;
  min-width: 720px;
  height: auto;
}

.frontier-figure__svg text {
  fill: var(--ff-ink);
  font-family: var(--f-display);
}

.frontier-figure__svg .ff-label {
  font-size: 15px;
  font-weight: 650;
}

.frontier-figure__svg .ff-note {
  fill: var(--ff-soft);
  font-size: 12px;
  font-weight: 500;
}

.frontier-figure__svg .ff-mono {
  fill: var(--ff-soft);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .035em;
}

.frontier-figure__svg .ff-axis,
.frontier-figure__svg .ff-grid,
.frontier-figure__svg .ff-guide {
  fill: none;
  stroke: var(--ff-soft);
  stroke-width: 1.2;
}

.frontier-figure__svg .ff-grid,
.frontier-figure__svg .ff-guide {
  opacity: .22;
}

.frontier-figure__svg .ff-proposal,
.frontier-figure__svg .ff-uncertain {
  fill: none;
  stroke: var(--ff-indigo);
  stroke-width: 2;
  stroke-dasharray: 7 6;
}

.frontier-figure__svg .ff-authoritative {
  fill: none;
  stroke: var(--ff-teal);
  stroke-width: 2.2;
}

.frontier-figure__svg .ff-risk {
  fill: none;
  stroke: var(--ff-coral);
  stroke-width: 2.2;
}

.frontier-figure__svg .ff-human {
  fill: none;
  stroke: var(--ff-lavender);
  stroke-width: 2.2;
}

.frontier-figure__svg .ff-evidence {
  fill: none;
  stroke: var(--ff-sky);
  stroke-width: 2;
}

.frontier-figure__svg .ff-zone-indigo { fill: color-mix(in srgb, var(--ff-indigo) 12%, white); }
.frontier-figure__svg .ff-zone-teal { fill: color-mix(in srgb, var(--ff-teal) 12%, white); }
.frontier-figure__svg .ff-zone-coral { fill: color-mix(in srgb, var(--ff-coral) 13%, white); }
.frontier-figure__svg .ff-zone-lavender { fill: color-mix(in srgb, var(--ff-lavender) 12%, white); }
.frontier-figure__svg .ff-zone-sky { fill: color-mix(in srgb, var(--ff-sky) 11%, white); }
.frontier-figure__svg .ff-zone-saffron { fill: color-mix(in srgb, var(--ff-saffron) 13%, white); }

.frontier-figure__svg .ff-boundary {
  fill: var(--ff-paper);
  stroke: var(--ff-soft);
  stroke-width: 1.2;
}

.frontier-figure__svg .ff-boundary-risk {
  fill: color-mix(in srgb, var(--ff-coral) 7%, white);
  stroke: var(--ff-coral);
  stroke-width: 1.6;
}

.frontier-figure__svg .ff-node {
  fill: var(--ff-paper);
  stroke: var(--ff-soft);
  stroke-width: 1.1;
}

.frontier-figure__svg .ff-node[data-tone="teal"] { stroke: var(--ff-teal); }
.frontier-figure__svg .ff-node[data-tone="indigo"] { stroke: var(--ff-indigo); }
.frontier-figure__svg .ff-node[data-tone="coral"] { stroke: var(--ff-coral); }
.frontier-figure__svg .ff-node[data-tone="lavender"] { stroke: var(--ff-lavender); }
.frontier-figure__svg .ff-node[data-tone="sky"] { stroke: var(--ff-sky); }
.frontier-figure__svg .ff-node[data-tone="saffron"] { stroke: var(--ff-saffron); }

.frontier-figure__legend {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
  padding: .7rem 0 .65rem;
  border-top: 1px solid var(--ff-line);
  color: var(--ff-soft);
}

.frontier-figure__legend span {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
}

.frontier-figure__legend i {
  width: 1.7rem;
  border-top: 2px solid var(--ff-teal);
}

.frontier-figure__legend .is-proposal i {
  border-color: var(--ff-indigo);
  border-top-style: dashed;
}

.frontier-figure__legend .is-risk i { border-color: var(--ff-coral); }
.frontier-figure__legend .is-human i { border-color: var(--ff-lavender); }
.frontier-figure__legend .is-evidence i { border-color: var(--ff-sky); }

.frontier-figure figcaption {
  max-width: 74ch;
  padding: .85rem 0 1rem;
  color: var(--ff-soft);
  font: 500 .79rem/1.55 var(--f-mono);
}

.frontier-figure figcaption strong {
  color: var(--ff-ink);
}

@media (max-width: 760px) {
  .frontier-figure {
    margin: 2.5rem 0;
  }

  .frontier-figure__head {
    grid-template-columns: 1fr;
    gap: .6rem;
  }

  .frontier-figure__status {
    max-width: none;
  }

  .frontier-figure__svg {
    min-width: 680px;
  }

  .frontier-figure__title {
    max-width: none;
  }
}

@media print {
  .frontier-figure__scroll { overflow: visible; }
  .frontier-figure__svg { min-width: 0; }
}
