/* Market context uses the atlas paper, ink and rust palette. */
.env-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: center;
  padding-block: clamp(30px, 5vw, 64px) clamp(24px, 4vw, 48px);
}
.env-intro h1 { font-size: clamp(30px, 3.35vw, 46px); line-height: 1.42; }
.env-intro p { max-width: 40em; line-height: 1.85; }
.env-figure {
  min-width: 0;
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--blue);
  background: var(--white);
}
.env-figure figcaption { color: var(--ink); font-weight: 680; line-height: 1.55; }
.env-figure p, .env-figure small { color: var(--muted); font-size: .83rem; line-height: 1.6; }
.env-measure { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--rule); }
.env-measure h3 { margin: 0 0 .38rem; font-size: .9rem; color: var(--ink); }
.env-bar {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: .6rem;
  align-items: center;
  margin: .18rem 0;
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
}
.env-bar span { min-width: 3em; color: var(--muted); }
.env-bar b { min-width: 5.7em; text-align: right; color: var(--ink); }
.env-bar i { display: block; height: .55rem; background: #e7e8df; }
.env-bar i::before { content: ""; display: block; height: 100%; width: clamp(0%, var(--bar, 0%), 100%); background: var(--blue); }
.env-bar + .env-bar i::before { background: var(--rust); }
.env-toc { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-block: .5rem 1.6rem; }
.env-toc a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .27rem .75rem;
  border: 1px solid var(--rule);
  border-radius: 3px;
  background: var(--white);
  color: var(--blue);
  font-size: .88rem;
  font-weight: 650;
}
.env-toc a:hover { border-color: var(--blue); }
.env-section { min-width: 0; padding-block: clamp(22px, 3.8vw, 46px); border-top: 1px solid var(--rule); }
.env-section h2 { margin: 0 0 .55em; font-size: clamp(22px, 2.45vw, 32px); line-height: 1.5; }
.env-section h3 { margin: 1em 0 .36em; font-size: clamp(16px, 1.65vw, 20px); line-height: 1.6; }
.env-section p { margin-block: .5em; line-height: 1.85; }
.env-section p:not(.cite) { max-width: 68em; }
.env-section .subnote, .env-notes, .env-sources, .env-section .cite {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.75;
}
.env-section .cite { margin-block: .9rem 0; }
.env-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin: 1rem 0 .75rem;
  border: 1px solid var(--rule);
  background: var(--white);
}
.env-section table { width: 100%; border-collapse: collapse; font-size: .92rem; line-height: 1.55; font-variant-numeric: tabular-nums; }
.env-section caption { padding: .65rem .85rem; text-align: left; color: var(--blue); font-size: .85rem; font-weight: 660; }
.env-section th, .env-section td { padding: .55rem .8rem; text-align: left; vertical-align: middle; }
.env-section thead th { background: var(--blue); color: var(--white); font-size: .84rem; }
.env-section tbody th, .env-section tbody td { border-top: 1px solid var(--rule); }
.env-section tbody th { font-weight: 650; }
.env-section tbody tr:nth-child(even) { background: #f1f2eb; }
.region-overview .env-scroll table { min-width: 34rem; }
.region-overview .env-scroll td, .region-overview .env-scroll th:not(:first-child) { text-align: right; }
.env-pref-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: .6rem 1rem;
  padding: .85rem 1rem;
  background: #edf0ea;
  border-left: 3px solid var(--blue);
}
.env-pref-controls label { color: var(--ink); font-size: .9rem; font-weight: 650; }
.env-pref-controls :is(select,button,input) {
  max-width: 100%; min-height: 44px; padding: .45rem .7rem;
  border: 1px solid #7b888b; border-radius: 3px; background: var(--white); color: var(--ink); font: inherit;
}
.env-pref-controls :is(button,select) { cursor: pointer; }
.env-worklist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 23px); margin-top: 1rem; }
.env-worklist article { padding: .9rem 1rem; background: var(--white); border-top: 2px solid var(--rust); }
.env-worklist article h3 { margin-top: 0; }
.env-worklist article p { font-size: .94rem; }
.env-notes, .env-sources { margin-block: .8rem; }
.env-notes { padding: .75rem 1rem; border-left: 3px solid #b3b5a8; background: #eeeee6; }
.env-sources ul, .env-notes ul { margin-block: .35rem; padding-inline-start: 1.4em; }
.env-sources a { text-decoration: underline; text-underline-offset: .18em; }
:is(.env-toc,.env-section,.env-figure) :is(a,button,select,input,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--rust); outline-offset: 3px;
}
@media (max-width: 820px) {
  .env-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .env-intro .env-figure { max-width: 44rem; }
}
@media (max-width: 650px) {
  .env-worklist { grid-template-columns: 1fr; }
  .env-section th, .env-section td { padding: .48rem .6rem; }
  .env-toc { gap: .35rem; }
  .env-toc a { font-size: .82rem; padding-inline: .55rem; }
  .env-pref-controls { align-items: stretch; }
  .env-bar { gap: .4rem; }
}

.env-intro h1 span { display: block; }
.env-intro .eyebrow { margin-top: 1rem; }
.env-section details ul { padding-inline-start: 1.45rem; }
.env-section details li { margin: .5rem 0; line-height: 1.75; }
.env-pref-controls[hidden] { display: none; }
.env-intro .button { margin-top: 1rem; }
.env-figure > small { display: block; margin-top: .8rem; }
.env-section details { margin-top: .8rem; padding: 0 .9rem; border: 1px solid var(--rule); background: var(--white); }
.env-section summary { min-height: 44px; padding: .61rem 0; cursor: pointer; color: var(--blue); font-weight: 650; }
.env-section details[open] { padding-bottom: .6rem; }
.env-section :is(#env-pref-table,#env-pref-all) td,
.env-section :is(#env-pref-table,#env-pref-all) thead th:not(:first-child) { text-align: right; }
.env-section #env-pref-all { min-width: 65rem; }
.env-section #env-pref-table { min-width: 29rem; }
.env-pref-reading { color: var(--blue); font-weight: 620; }
.env-section .env-worklist article small { color: var(--rust); font-weight: 650; }
