/* Product foundation. Kept here so the public shell has one CSS owner. */
:root {
  color-scheme: light;
  --ink: #173a36;
  --muted: #61756d;
  --line: #d8d3c3;
  --paper: #fffdf8;
  --wash: #f3f0e7;
  --sky: #a7c7bd;
  --blue: #1f6658;
  --blue-deep: #173a36;
  --blue-pale: #e6f0ea;
  --gold: #c18f42;
  --radius: 14px;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--wash);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--wash);
  font-size: 16px;
  line-height: 1.5;
}

a {
  color: var(--blue);
  text-underline-offset: 3px;
}

a:hover {
  color: var(--blue-deep);
}

.skip {
  position: absolute;
  z-index: 4;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  clip-path: inset(50%);
  background: var(--ink);
  color: #fff;
  white-space: nowrap;
}

.skip:focus {
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 9px 12px;
  clip-path: none;
}

.shell {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.site-head {
  position: sticky;
  top: 0;
  z-index: 3;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
}

.head-row {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.brand-logo {
  width: 32px;
  height: 32px;
  display: block;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(12, 86, 118, 0.12);
}

nav {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow-x: auto;
}

nav a {
  padding: 7px 9px;
  border-radius: 6px;
  color: #41556b;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

nav a[aria-current="page"] {
  background: var(--blue-pale);
  color: var(--blue-deep);
}

.header-tools {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.desktop-nav {
  min-width: 0;
  flex: 1 1 auto;
}

.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #eef6f9;
}

.lang-switch a {
  min-width: 40px;
  padding: 6px 7px;
  border-radius: 999px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.lang-switch a[aria-current="page"] {
  background: var(--blue-deep);
  color: #fff;
}

main {
  padding: 38px 0 56px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  color: var(--ink);
  line-height: 1.1;
  letter-spacing: 0;
}

h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(38px, 5.5vw, 68px);
}

h2 {
  margin: 0 0 10px;
  font-size: 25px;
}

h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

p {
  margin: 0 0 14px;
  color: #4c6074;
}

.lead {
  max-width: 700px;
  font-size: 19px;
  line-height: 1.55;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(290px, 0.7fr);
  align-items: end;
  gap: 28px;
  padding: 28px 0 36px;
  border-bottom: 1px solid var(--line);
}

.hero-side {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.hero-side strong {
  display: block;
  margin-bottom: 5px;
  font-size: 24px;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid var(--blue);
  border-radius: 7px;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.button:hover {
  background: var(--blue-deep);
  color: #fff;
}

.button.secondary {
  border-color: #a9bfd0;
  background: #fff;
  color: var(--blue-deep);
}

.button.secondary:hover {
  background: var(--blue-pale);
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}

.grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid.stats .card {
  padding: 16px;
}

.grid.stats .number {
  font-size: 30px;
}

.card {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.card p:last-child {
  margin-bottom: 0;
}

.card-link {
  height: 100%;
  display: block;
  color: inherit;
  text-decoration: none;
}

.card-link:hover h2,
.card-link:hover h3 {
  color: var(--blue);
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
}

.tag {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfc;
  color: #40566c;
  font-size: 12px;
  font-weight: 700;
}

.number {
  margin: 3px 0 6px;
  color: var(--blue-deep);
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
}

.section {
  margin-top: 42px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.section-head p {
  max-width: 620px;
  margin: 0;
}

.note {
  padding: 14px 16px;
  border: 1px solid #ead59c;
  border-radius: var(--radius);
  background: #fff8e9;
  color: #6b5118;
}

.note p {
  margin: 0;
  color: inherit;
}

.facts {
  display: grid;
  gap: 0;
  margin: 12px 0 0;
}

.facts div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}

.facts span {
  color: var(--muted);
}

.facts strong {
  text-align: right;
}

.toolbar {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-top: 24px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.search-field {
  display: grid;
  flex: 1 1 360px;
  gap: 6px;
}

.search-field span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.search-input {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #9eb4c4;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.search-input:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(85, 184, 209, 0.28);
}

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.filter-button {
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid #a9bfd0;
  border-radius: 6px;
  background: #fff;
  color: var(--blue-deep);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.filter-button[aria-pressed="true"] {
  border-color: var(--blue-deep);
  background: var(--blue-deep);
  color: #fff;
}

.result-status {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.no-results {
  margin-top: 16px;
  padding: 16px;
  border: 1px dashed #8dc9d7;
  border-radius: var(--radius);
  background: #f9fcfe;
}

.resource-card[hidden],
.shezhire-node-card[hidden],
.no-results[hidden] {
  display: none;
}

.source-meta {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 5px 14px;
  margin: 14px 0;
  font-size: 13px;
}

.source-meta dt {
  color: var(--muted);
}

.source-meta dd {
  margin: 0;
  color: var(--ink);
  font-weight: 700;
}

.source-use {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.article {
  width: min(760px, 100%);
}

.noscript-note {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #d9c98f;
  border-radius: var(--radius);
  background: #fff9e9;
  color: #604e25;
}

.article h2 {
  margin-top: 30px;
}

.article li {
  margin: 7px 0;
  color: #4c6074;
}

.article-meta {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 14px;
}

.map-frame {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #dbe7ec;
}

#family-map {
  width: 100%;
  height: 590px;
}

.map-state {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 1;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.94);
  color: #40546a;
  font-size: 13px;
}

.map-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.map-legend .card {
  padding: 16px;
}

.site-foot {
  padding: 22px 0 30px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
}

@media (max-width: 820px) {
  .shell {
    width: min(100% - 24px, 720px);
  }

.head-row {
    min-height: auto;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0;
  }

.header-tools {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

.lang-switch {
    align-self: flex-start;
  }

nav {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

nav::-webkit-scrollbar {
    display: none;
  }

nav a {
    padding: 7px 8px;
  }

main {
    padding-top: 26px;
  }

.hero,
.grid,
.grid.two {
    grid-template-columns: 1fr;
    gap: 14px;
  }

.grid.stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

.grid.stats .card {
    padding: 12px 10px;
  }

.grid.stats .eyebrow {
    font-size: 10px;
  }

.grid.stats .number {
    font-size: 27px;
  }

.grid.stats p:last-child {
    font-size: 13px;
    line-height: 1.35;
  }

.hero {
    padding-top: 8px;
  }

.section {
    margin-top: 30px;
  }

.section-head {
    display: block;
  }

.section-head p {
    margin-top: 8px;
  }

.toolbar {
    align-items: stretch;
    flex-direction: column;
  }

.search-field {
    width: 100%;
    flex: 0 0 auto;
  }

.filter-row {
    width: 100%;
  }

.filter-button {
    flex: 1 1 auto;
  }

.map-frame,
#family-map {
    min-height: 440px;
    height: 440px;
  }

.map-legend {
    grid-template-columns: 1fr;
  }
}

/* Product layer over the immutable AV DS 4.6.0 static token contract. */
:root {
  --ink: #102f43;
  --muted: #50697a;
  --line: hsl(var(--avds-border));
  --paper: #fff;
  --wash: #eef7fa;
  --sky: #49b7d2;
  --blue: #087ca0;
  --blue-deep: #07556f;
  --blue-pale: #dff4f8;
  --gold: #c99a2e;
  --radius: var(--avds-radius);
  font-family: Arial, sans-serif;
}

body {
  background:
    linear-gradient(180deg, #e9f6f9 0, #f7fafb 360px, #f7fafb 100%);
  color: var(--ink);
}

body,
button,
input {
  font-family: Arial, sans-serif;
}

:focus-visible {
  outline: 3px solid hsl(var(--avds-ring) / 0.32);
  outline-offset: 3px;
}

.site-head {
  background: rgb(255 255 255 / 0.96);
  box-shadow: 0 1px 0 rgb(16 47 67 / 0.04);
}

.brand-logo {
  box-shadow: none;
}

.mobile-nav {
  display: none;
}

.desktop-nav a,
.mobile-nav a {
  border-radius: var(--radius);
}

main {
  padding-top: 28px;
}

.hero {
  min-height: 430px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgb(255 255 255 / 0.26);
  border-radius: var(--radius);
  background-position: center;
  background-size: cover;
  color: #fff;
  box-shadow: 0 18px 46px rgb(7 61 80 / 0.14);
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(7 38 54 / 0.92) 0%, rgb(7 51 69 / 0.78) 48%, rgb(7 51 69 / 0.16) 100%);
}

.hero-home {
  display: flex;
  min-height: 500px;
  align-items: end;
  padding: 52px;
  border-bottom: 0;
}

/* Section introductions share the research opening's type and paper surface. */
.page-masthead {
  padding: 18px 0 28px;
  border-bottom: 1px solid var(--line);
}

.page-masthead > div { max-width: 840px; }
.page-masthead .eyebrow { color: var(--muted); }
.page-masthead h1 {
  margin: 14px 0 18px;
  color: var(--ink);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.page-masthead .lead {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

/* Family research opening: a learning worksheet, not a documentary image. */
.research-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
  gap: clamp(30px, 5vw, 76px);
  align-items: center;
  padding: clamp(24px, 4vw, 58px) 0 clamp(36px, 5vw, 66px);
}

.research-opening-copy { min-width: 0; }
.research-opening .eyebrow { color: var(--muted); font-size: 12px; letter-spacing: 0.09em; }
.research-opening h1 {
  color: var(--ink);
  max-width: 670px;
  font-size: clamp(36px, 4.2vw, 62px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 18px 0 22px;
  text-wrap: balance;
}

.research-opening-lead { font-size: 18px; line-height: 1.65; max-width: 570px; color: var(--muted); }
.research-opening-action { margin-top: 24px; min-height: 48px; padding: 12px 20px; }
.research-storage-note { margin: 12px 0 0; max-width: 440px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.research-opening-links { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 28px; }
.research-opening-links a { padding: 8px 0; text-underline-offset: 5px; }
.research-example { background: #f1ebde; border: 1px solid #d8cfbd; padding: clamp(24px, 3vw, 40px); box-shadow: 6px 6px 0 #e8e3d7; }
.research-example h2 { font-size: 27px; line-height: 1.2; font-weight: 500; margin: 14px 0 26px; }
.research-example-fields { padding: 0; margin: 0; list-style: none; }
.research-example-fields li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-top: 1px solid #d8cfbd; }
.research-example-fields li > span { color: #6b7465; font-size: 12px; padding-top: 3px; font-variant-numeric: tabular-nums; }
.research-example-fields h3 { margin: 0 0 5px; font: 500 13px/1.4 "IBM Plex Sans", "Noto Sans", Arial, sans-serif; color: var(--muted); }
.research-example-fields p { margin: 0; color: var(--ink); font-size: 16px; line-height: 1.5; }
.research-example-note { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 18px 0 0; }
@media (max-width: 1000px) {
  .research-opening { gap: 32px; grid-template-columns: 1fr 1fr; }
  .research-example { padding: 24px; }
  .research-opening h1 { font-size: 42px; }
  .research-opening-lead { font-size: 16px; }
}
@media (max-width: 700px) {
  .research-opening { grid-template-columns: 1fr; gap: 32px; padding-top: 18px; }
  .research-opening h1 { font-size: 38px; }
  .research-opening-action { width: 100%; font-size: 14px; }
  .research-opening-links { margin-top: 16px; gap: 10px 24px; }
  .research-example h2 { font-size: 26px; }
}

.home-page {
  padding-top: 28px;
}

.home-page .hero-content {
  max-width: 820px;
}

.home-title {
  max-width: none;
  font-size: 56px;
  line-height: 1.04;
}

.home-title span {
  display: block;
}

.home-page .hero .lead {
  max-width: 720px;
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.5;
}

.home-page .hero .button {
  min-height: 46px;
  padding: 10px 17px;
}

.hero-content {
  max-width: 770px;
}

.hero h1,
.hero p {
  color: #fff;
}

.hero .eyebrow {
  color: #9ceaff;
}

.hero h1 {
  text-wrap: balance;
}

.hero .lead {
  color: rgb(255 255 255 / 0.9);
}

.hero .button.secondary {
  border-color: rgb(255 255 255 / 0.7);
  background: rgb(255 255 255 / 0.1);
  color: #fff;
  backdrop-filter: blur(8px);
}

.hero .button.secondary:hover {
  background: #fff;
  color: var(--blue-deep);
}

.media-caption {
  position: absolute;
  right: 14px;
  bottom: 10px;
  z-index: 1;
  margin: 0;
  color: rgb(255 255 255 / 0.78) !important;
  font-size: 12px;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.metric-strip > div {
  min-width: 0;
  padding: 14px 16px;
  border-left: 1px solid var(--line);
}

.metric-strip > div:first-child {
  border-left: 0;
}

.metric-strip strong,
.metric-strip span {
  display: block;
}

.metric-strip strong {
  overflow: hidden;
  color: var(--blue-deep);
  font-size: 25px;
  line-height: 1.1;
  text-overflow: ellipsis;
}

.metric-strip span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.metric-strip-page {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.data-provenance {
  margin: 8px 2px 0;
  color: var(--muted);
  font-size: 12px;
}

.home-data-map {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 14px;
  margin-top: 18px;
}

.home-data-map > div {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.home-data-map > div:first-child {
  padding: 20px;
}

.home-data-map h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.home-data-map p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.home-data-bars {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
}

.home-data-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px;
  gap: 6px 12px;
  align-items: center;
}

.home-data-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.home-data-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.home-data-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}

.home-section {
  margin-top: 48px;
}

.public-launch {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1.18fr);
  gap: 28px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid rgb(73 183 210 / 0.34);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgb(255 255 255 / 0.92), rgb(223 244 248 / 0.86));
  box-shadow: 0 14px 34px rgb(7 85 111 / 0.08);
}

.public-launch h2 {
  margin: 0;
  font-size: 26px;
}

.public-launch p:last-child {
  margin-bottom: 0;
}

.home-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  gap: 32px;
  align-items: end;
  margin-bottom: 18px;
}

.home-section-head .eyebrow {
  margin-bottom: 7px;
}

.home-section-head h2 {
  margin: 0;
  font-size: 29px;
}

.home-section-head > p {
  margin: 0 0 2px;
  color: var(--muted);
  font-size: 15px;
}

.home-destinations {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgb(255 255 255 / 0.66);
}

.home-destination {
  min-width: 0;
  min-height: 148px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 24px 22px;
  border-left: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  transition: background-color 150ms ease;
}

.home-destination:first-child {
  border-left: 0;
}

.home-destination:hover {
  background: var(--blue-pale);
}

.home-index {
  padding-top: 3px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.home-destination-copy,
.home-destination-copy strong,
.home-destination-copy > span {
  display: block;
}

.home-destination-copy strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.2;
}

.home-destination-copy > span {
  margin-top: 8px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.home-arrow {
  color: var(--blue);
  font-size: 20px;
  line-height: 1;
}

.home-start {
  margin-top: 44px;
}

.home-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  list-style: none;
}

.home-steps li {
  min-width: 0;
  border-left: 1px solid var(--line);
}

.home-steps li:first-child {
  border-left: 0;
}

.home-steps a {
  min-height: 190px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 23px 24px 25px;
  color: inherit;
  text-decoration: none;
  transition: background-color 150ms ease;
}

.home-steps a:hover {
  background: rgb(255 255 255 / 0.76);
}

.home-step-number {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #8fc9d7;
  border-radius: 50%;
  color: var(--blue-deep);
  background: var(--blue-pale);
  font-size: 13px;
  font-weight: 800;
}

.family-surface-list {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.family-surface-row {
  display: grid;
  grid-template-columns: minmax(148px, 0.42fr) minmax(0, 1fr) max-content;
  gap: 22px;
  align-items: center;
  padding: 22px 0;
  border-top: 1px solid var(--line);
}

.family-surface-row:first-child {
  border-top: 0;
}

.family-surface-status .tag {
  display: inline-flex;
  max-width: 100%;
}

.family-surface-copy h3,
.family-surface-copy p {
  margin: 0;
}

.family-surface-copy h3 {
  color: var(--ink);
  font-size: 21px;
  line-height: 1.2;
}

.family-surface-copy p {
  margin-top: 5px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.family-surface-action,
.family-start-steps a {
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.family-surface-action {
  justify-self: end;
  padding: 8px 0;
  white-space: nowrap;
}

.family-start-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.family-start-steps li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  padding: 24px 20px;
  border-left: 1px solid var(--line);
}

.family-start-steps li:first-child {
  border-left: 0;
  padding-left: 0;
}

.family-start-steps li:last-child {
  padding-right: 0;
}

.family-step-number {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid #8fc9d7;
  border-radius: 50%;
  background: var(--blue-pale);
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 800;
}

.family-start-steps h3,
.family-start-steps p {
  margin: 0;
}

.family-start-steps h3 {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.3;
}

.family-start-steps p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.48;
}

.family-start-steps a {
  display: inline-block;
  margin-top: 14px;
}

.family-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.family-evidence-grid > div {
  min-width: 0;
  padding: 22px 20px;
  border-left: 1px solid var(--line);
}

.family-evidence-grid > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.family-evidence-grid > div:last-child {
  padding-right: 0;
}

.family-evidence-grid dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.family-evidence-grid dd {
  margin: 6px 0 0;
  color: var(--blue-deep);
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

.family-evidence-grid p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.family-evidence-actions {
  margin-top: 20px;
}

.home-steps strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}

.home-steps a > span:last-child {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.privacy-boundary {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: 42px;
  padding: 20px 22px;
  border: 1px solid #b9dce5;
  border-radius: var(--radius);
  background: #edf8fa;
}

.privacy-boundary strong {
  color: var(--blue-deep);
  font-size: 15px;
}

.privacy-boundary p {
  margin: 0;
  color: #405d6e;
  font-size: 14px;
}

.journey-prompt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 22px;
  align-items: center;
  margin-top: 36px;
  padding: 20px 22px;
  border: 1px solid #abd6e1;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #edf9fb 0%, #fff 80%);
}

.journey-prompt h2,
.journey-prompt p {
  margin-bottom: 0;
}

.journey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.journey-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.journey-card > a {
  min-height: 218px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
  color: inherit;
  text-decoration: none;
}

.journey-card h2 {
  margin: 0;
  font-size: 24px;
  text-wrap: balance;
}

.journey-card p:not(.eyebrow) {
  margin: 0;
  font-size: 14px;
}

.journey-card strong {
  align-self: end;
  color: var(--blue);
  font-size: 14px;
}

.journey-card:hover {
  border-color: #9ac8d4;
  box-shadow: 0 10px 26px rgb(15 53 72 / 0.09);
}

.journey-decision {
  margin-top: 30px;
}

.journey-decision .section-head.compact {
  align-items: end;
  margin-bottom: 14px;
}

.journey-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
}

.journey-decision-grid article {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.journey-decision-grid article:nth-child(-n + 2) {
  border-top: 0;
}

.journey-decision-grid article:nth-child(odd) {
  border-left: 0;
}

.journey-decision-grid span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.journey-decision-grid strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.journey-decision-grid a {
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.journey-decision-grid small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.journey-rail {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 34px;
  align-items: start;
  margin-top: 32px;
  padding: 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.journey-rail h2,
.journey-rail p {
  margin-bottom: 0;
}

.journey-rail ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.journey-rail li {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgb(255 255 255 / 0.7);
}

.journey-rail strong,
.journey-rail span {
  display: block;
}

.journey-rail span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.not-found-panel {
  padding: clamp(28px, 6vw, 58px);
  border: 1px solid #abd6e1;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #edf9fb 0%, #fff 82%);
}

.not-found-panel h1 {
  max-width: 780px;
}

.not-found-panel code {
  overflow-wrap: anywhere;
  color: var(--blue-deep);
  font-weight: 800;
}

@media (min-width: 1180px) {
  .hero-home,
  .masthead-research {
  }
}

.card {
  border-color: hsl(var(--avds-card-border));
  border-radius: var(--radius);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.card-link {
  position: relative;
}

.card-link::after {
  content: "›";
  position: absolute;
  top: -3px;
  right: 0;
  color: var(--blue);
  font-size: 24px;
  line-height: 1;
}

.resource-card,
.journal-card {
  content-visibility: auto;
  contain-intrinsic-size: 220px;
  transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.resource-card:hover,
.journal-card:hover {
  transform: translateY(-2px);
  border-color: #9ac8d4;
  box-shadow: 0 10px 26px rgb(15 53 72 / 0.09);
}

.toolbar {
  position: sticky;
  top: 78px;
  z-index: 2;
  box-shadow: 0 8px 20px rgb(15 53 72 / 0.07);
}

.journal-section {
  margin-top: 46px;
}

.journal-composition {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.75fr) minmax(0, 1fr);
  gap: 14px;
  margin: 18px 0 0;
}

.journal-composition-copy,
.journal-proof-grid article,
.journal-topic-bars {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.journal-composition-copy {
  padding: 20px;
}

.journal-composition-copy h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.journal-composition-copy p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.journal-proof-grid {
  display: grid;
  gap: 10px;
}

.journal-proof-grid article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: end;
  padding: 15px 16px;
}

.journal-proof-grid span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.journal-proof-grid strong {
  color: var(--blue);
  font-size: 25px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.journal-proof-grid em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.journal-topic-bars {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
}

.journal-topic-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 6px 10px;
  align-items: center;
}

.journal-topic-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.journal-topic-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
}

.journal-topic-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}

.journal-featured {
  border-top: 1px solid #b8d8e1;
  border-bottom: 1px solid #b8d8e1;
  background: rgb(255 255 255 / 0.56);
}

.journal-featured > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 42px;
  align-items: end;
  padding: 28px 4px;
  color: inherit;
  text-decoration: none;
}

.journal-featured h2 {
  max-width: 720px;
  margin-bottom: 12px;
  font-size: 36px;
  text-wrap: balance;
}

.journal-featured p {
  max-width: 720px;
}

.journal-featured-meta {
  display: grid;
  gap: 12px;
  justify-items: end;
  color: var(--muted);
  font-size: 13px;
  text-align: right;
}

.journal-featured-meta strong {
  color: var(--blue);
  font-size: 14px;
}

.journal-featured > a:hover h2,
.journal-featured > a:hover strong {
  color: var(--blue-deep);
}

.journal-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.journal-card {
  min-height: 220px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.journal-card > a {
  padding: 21px 22px;
}

.journal-card h3 {
  padding-right: 24px;
  font-size: 21px;
  text-wrap: balance;
}

.journal-card p:not(.eyebrow,
.article-meta) {
  font-size: 14px;
}

.journal-card .article-meta {
  margin: 18px 0 0;
}

.article {
  width: 100%;
}

.article-head {
  width: min(860px, 100%);
}

.article-head h1 {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 500;
  text-wrap: balance;
}

.article-layout {
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(0, 720px) minmax(250px, 1fr);
  gap: 42px;
  align-items: start;
}

.article-body p,
.article-body li {
  color: #344f61;
  font-size: 18px;
  line-height: 1.68;
}

.article-sources {
  position: sticky;
  top: 92px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  padding: 18px;
}

.article-sources h2 {
  margin-top: 0;
  font-size: 20px;
}

.article-sources li {
  margin: 10px 0;
}

.source-meta dd {
  overflow-wrap: anywhere;
}

.source-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.source-composition {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(260px, 0.7fr) minmax(0, 1.2fr);
  gap: 14px;
  align-items: stretch;
  margin: 18px 0 30px;
}

.source-composition-copy,
.source-class-card,
.source-type-bars {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.source-composition-copy {
  padding: 20px;
}

.source-composition-copy h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.source-composition-copy p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.source-class-grid {
  display: grid;
  gap: 10px;
}

.source-class-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: end;
  padding: 15px 16px;
}

.source-class-card span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.source-class-card strong {
  color: var(--blue);
  font-size: 25px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.source-class-card em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.source-type-bars {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.source-type-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 6px 12px;
  align-items: center;
}

.source-type-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.source-type-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.source-type-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}

.source-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 16px;
  align-items: end;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.source-toolbar .result-status {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.source-registry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.source-card {
  min-width: 0;
  content-visibility: auto;
  contain-intrinsic-size: 360px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.source-card[hidden] {
  display: none;
}

.source-card h3 {
  max-width: 470px;
  font-size: 22px;
  text-wrap: balance;
}

.source-card > p:not(.eyebrow,
.source-use) {
  font-size: 14px;
}

.source-card > a {
  font-size: 14px;
  font-weight: 700;
}

.source-use {
  font-size: 14px;
}

.source-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.source-actions > a {
  min-height: 96px;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  color: inherit;
  text-decoration: none;
}

.source-actions > a + a {
  border-left: 1px solid var(--line);
}

.source-actions small,
.source-actions strong {
  display: block;
}

.source-actions small {
  margin-bottom: 4px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.source-actions strong {
  color: var(--ink);
  font-size: 17px;
}

.source-actions > a > span:last-child {
  color: var(--blue);
  font-size: 28px;
}

.source-actions > a:hover {
  background: rgb(255 255 255 / 0.7);
}

.source-boundary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 24px;
  align-items: center;
  margin-top: 30px;
  padding: 16px 18px;
  border: 1px solid #d9c98f;
  border-radius: var(--radius);
  background: #fff9e9;
}

.source-boundary p {
  margin: 0;
  color: #604e25;
  font-size: 14px;
}

.source-boundary a {
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.map-frame {
  min-height: 560px;
  box-shadow: 0 10px 30px rgb(15 53 72 / 0.1);
}

#family-map {
  height: 560px;
}

.map-state {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.map-retry {
  min-height: 32px;
  border: 1px solid #9db6c5;
  border-radius: var(--radius);
  background: #fff;
  color: var(--blue-deep);
  font-weight: 800;
  cursor: pointer;
}

.atlas-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.atlas-notes > div {
  padding: 20px 22px;
}

.atlas-notes > div + div {
  border-left: 1px solid var(--line);
}

.atlas-notes h3,
.atlas-notes p:last-child {
  margin-bottom: 0;
}

.atlas-notes p:last-child {
  font-size: 14px;
}

.about-masthead {
  min-height: 340px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 56px;
  align-items: center;
  padding: 42px;
  overflow: hidden;
  border: 1px solid #b9dce5;
  border-radius: var(--radius);
  background:
    linear-gradient(120deg, #fafdfe 0%, #e1f4f8 100%);
}

.about-masthead h1 {
  max-width: 720px;
  font-size: 52px;
  text-wrap: balance;
}

.about-masthead .lead {
  margin-top: 18px;
  font-size: 18px;
}

.about-mark {
  display: grid;
  justify-items: center;
  gap: 12px;
}

.about-mark img {
  display: block;
  width: 180px;
  height: auto;
  border-radius: 50%;
}

.about-mark span {
  max-width: 210px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.about-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-value-map {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
  margin-top: 18px;
}

.about-value-copy,
.about-value-steps {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.about-value-copy {
  padding: 20px;
}

.about-value-copy h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.about-value-copy p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.about-value-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.about-value-steps li {
  min-width: 0;
  padding: 18px 16px;
}

.about-value-steps li + li {
  border-left: 1px solid var(--line);
}

.about-value-steps span,
.about-value-steps strong,
.about-value-steps em {
  display: block;
}

.about-value-steps span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 999px;
  background: var(--blue-pale);
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 900;
}

.about-value-steps strong {
  color: var(--ink);
  font-size: 16px;
}

.about-value-steps em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.about-boundaries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 42px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.about-boundaries > div {
  padding: 25px 26px;
}

.about-boundaries > div + div {
  border-left: 1px solid var(--line);
}

.about-boundaries p:last-child {
  margin-bottom: 0;
}

.infrastructure-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.infrastructure-list article {
  min-width: 0;
  padding: 23px 24px;
}

.infrastructure-list article + article {
  border-left: 1px solid var(--line);
}

.infrastructure-list p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.service-details {
  margin-top: 24px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgb(255 255 255 / 0.72);
}

.service-details summary {
  color: var(--blue-deep);
  cursor: pointer;
  font-weight: 800;
}

.service-details p {
  margin-top: 10px;
}

.service-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-links a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.foot-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.avds-coverage-badge {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 28px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid hsl(var(--avds-success) / 0.48);
  border-radius: 999px;
  background: hsl(var(--avds-success) / 0.09);
  color: hsl(var(--avds-success));
  font-family: var(--avds-font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
}

.service-note {
  max-width: 560px;
  color: rgb(80 105 122 / 0.74);
  text-align: right;
}

.research-privacy {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 12px;
  padding: 13px 16px;
  border: 1px solid #a8d9e3;
  border-radius: var(--radius);
  background: #edf9fb;
}

.research-privacy strong {
  color: var(--blue-deep);
  font-size: 14px;
}

.research-privacy span {
  color: var(--muted);
  font-size: 13px;
}

.research-app {
  width: min(100%, 1040px);
  margin: 28px auto 0;
}

.research-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.research-steps button {
  width: 100%;
  min-height: 46px;
  display: flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--muted);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.research-steps button span {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #a8bdc9;
  border-radius: 50%;
  font-size: 12px;
}

.research-steps button[aria-current="step"] {
  border-color: var(--blue);
  background: var(--blue-deep);
  color: #fff;
}

.research-steps button[aria-current="step"] span {
  border-color: rgb(255 255 255 / 0.6);
  background: rgb(255 255 255 / 0.12);
}

.research-status {
  min-height: 22px;
  margin: 9px 2px;
  color: var(--muted);
  font-size: 13px;
}

.research-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  padding: clamp(20px, 4vw, 34px);
  box-shadow: var(--avds-shadow-card);
}

.research-panel[hidden] {
  display: none;
}

.research-panel-head {
  display: flex;
  gap: 24px;
  align-items: start;
  justify-content: space-between;
}

.research-panel-head .eyebrow {
  margin-bottom: 7px;
}

.research-panel-head h2 {
  margin: 0;
  font-size: clamp(26px, 4vw, 38px);
}

.research-panel-head h2:focus {
  outline: none;
}

.research-counter {
  min-width: 76px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  text-align: center;
  font-size: 13px;
}

.research-counter strong {
  display: block;
  color: var(--blue-deep);
  font-size: 25px;
  line-height: 1;
}

.research-intro {
  max-width: 760px;
  margin: 14px 0 22px;
}

.research-workspace,
.research-conversation {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 18px;
  align-items: start;
}

.research-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fbfc;
}

.field {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.field-wide {
  grid-column: 1 / -1;
}

.field label {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 43px;
  border: 1px solid #9eb4c4;
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  padding: 9px 11px;
  font: inherit;
}

.field textarea {
  min-height: 210px;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--blue);
  outline: 3px solid rgb(73 183 210 / 0.22);
}

.field small,
.research-question small,
.research-persistence small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.research-add {
  grid-column: 1 / -1;
  justify-self: start;
}

.research-list-wrap {
  min-height: 100%;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.research-suggestions {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #a8d9e3;
  border-radius: var(--radius);
  background: #f3fbfd;
}

.research-suggestions-head {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 10px;
}

.research-suggestions-head h3,
.research-suggestions-head .eyebrow {
  margin: 0;
}

.research-suggestions-head span {
  color: var(--muted);
  font-size: 12px;
}

.research-suggestion-empty {
  color: var(--muted);
  font-size: 14px;
}

.research-suggestion-empty[hidden] {
  display: none;
}

.research-suggestion-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.research-suggestion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.research-suggestion:first-child {
  border-top: 0;
  padding-top: 0;
}

.research-suggestion:last-child {
  padding-bottom: 0;
}

.research-suggestion-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.research-suggestion-copy strong,
.research-suggestion-copy span {
  overflow-wrap: anywhere;
}

.research-suggestion-copy span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.research-suggestion-link {
  font-size: 13px;
  font-weight: 800;
}

.research-list-head {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}

.research-list-head h3 {
  margin: 0;
}

.research-list-head span {
  color: var(--muted);
  font-size: 11px;
}

.research-empty {
  margin: 30px 0;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}

.research-people {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.research-person {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.research-person:first-child {
  border-top: 0;
}

.research-person-body {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.research-person-name,
.research-person-meta,
.research-person-note {
  overflow-wrap: anywhere;
}

.research-person-meta {
  color: var(--muted);
  font-size: 13px;
}

.research-person-note {
  color: #405b6b;
  font-size: 12px;
}

.research-remove,
.research-clear {
  min-height: 36px;
  border: 1px solid #d7b4b4;
  border-radius: var(--radius);
  background: #fff;
  color: #8a3434;
  padding: 6px 9px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.research-persistence {
  display: flex;
  gap: 11px;
  align-items: start;
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  cursor: pointer;
}

.research-persistence input,
.research-check input {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--blue);
}

.research-persistence strong {
  display: block;
  margin-bottom: 2px;
  color: var(--ink);
}

.research-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.research-actions-end {
  justify-content: end;
}

.research-actions-between {
  justify-content: space-between;
}

.research-actions .button:disabled,
.research-add:disabled {
  border-color: #c9d3d8;
  background: #dfe6e9;
  color: #75838a;
  cursor: not-allowed;
}

.research-questions {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  list-style: none;
}

.research-question {
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.research-question:first-child {
  border-top: 0;
}

.research-check {
  display: flex;
  gap: 10px;
  align-items: start;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}

.research-question small {
  margin: 4px 0 0 29px;
}

.research-notes {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fbfc;
}

.research-summary {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.research-summary-empty {
  margin: 0;
  padding: 18px;
}

.research-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 14px;
  align-items: center;
  padding: 13px 15px;
  border-top: 1px solid var(--line);
}

.research-summary-row:first-child {
  border-top: 0;
}

.research-summary-row > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.research-summary-row span {
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.research-confidence {
  max-width: 190px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--blue-pale);
  color: var(--blue-deep) !important;
  text-align: center;
  font-weight: 800;
}

.research-export {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #a8d9e3;
  border-radius: var(--radius);
  background: #edf9fb;
}

.research-export h3,
.research-export p {
  margin-bottom: 4px;
}

.research-export-buttons {
  display: flex;
  gap: 8px;
}

.research-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.research-next-grid .card {
  padding: 16px;
}

.research-next-grid .card-link::after {
  content: "";
}

.explore-coverage {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
  margin-top: 18px;
}

.explore-coverage > div {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.explore-coverage > div:first-child {
  padding: 20px;
}

.explore-coverage h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.explore-coverage p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.coverage-bars {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
}

.coverage-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 6px 12px;
  align-items: center;
}

.coverage-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.coverage-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.coverage-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
}

.explore-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
  padding: 17px 18px 14px;
}

.explore-toolbar .search-input {
  min-height: 46px;
  font-size: 16px;
}

.catalog-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: end;
}

.catalog-search-submit {
  min-height: 46px;
  white-space: nowrap;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
}

.pagination-link {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper);
  color: var(--blue-deep);
  text-decoration: none;
}

.pagination-link:hover {
  background: var(--blue-pale);
}

.pagination-link.is-disabled {
  color: #83939d;
}

.pagination-status {
  min-width: 112px;
  text-align: center;
}

.explore-filters {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.explore-toolbar .filter-button {
  min-height: 38px;
  padding: 7px 10px;
}

.explore-toolbar .filter-button span {
  margin-left: 4px;
  color: inherit;
  font-size: 11px;
  opacity: 0.72;
}

.explore-reset {
  min-height: 38px;
  padding: 6px 2px;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.list-more-wrap {
  display: flex;
  justify-content: center;
  margin: 22px 0 0;
}

.list-more {
  min-height: 42px;
  padding: 9px 18px;
  border: 1px solid #a9bfd0;
  border-radius: 7px;
  background: var(--paper);
  color: var(--blue-deep);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.list-more:hover {
  background: var(--blue-pale);
}

.list-more[hidden] {
  display: none;
}

.explore-toolbar .result-status {
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.resource-catalog {
  display: grid;
  gap: 38px;
  margin-top: 28px;
}

.resource-group[hidden],
.resource-card[hidden],
.resource-map[hidden] {
  display: none;
}

.resource-map {
  border: 1px solid #abd6e1;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #e7f7fa 0%, #fff 76%);
  overflow: hidden;
}

.resource-map > a {
  min-height: 150px;
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(360px, 0.95fr) max-content;
  gap: 26px;
  align-items: center;
  padding: 23px 26px;
  color: inherit;
  text-decoration: none;
}

.resource-map .eyebrow {
  margin-bottom: 7px;
}

.resource-map h2 {
  margin-bottom: 7px;
  font-size: 27px;
}

.resource-map p {
  max-width: 520px;
  margin: 0;
  font-size: 14px;
}

.resource-map-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.resource-map-stats div {
  min-width: 0;
  padding: 2px 14px;
  border-left: 1px solid #badce4;
}

.resource-map-stats dt {
  color: var(--muted);
  font-size: 11px;
}

.resource-map-stats dd {
  margin: 3px 0 0;
  color: var(--blue-deep);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.1;
}

.resource-map-action {
  color: var(--blue-deep);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.resource-shezhire {
  background:
    linear-gradient(135deg, rgb(255 248 230 / 0.92) 0%, rgb(232 248 251 / 0.96) 100%),
    radial-gradient(circle at 18% 20%, rgb(214 162 58 / 0.25), transparent 34%);
}

.resource-group-head {
  display: flex;
  gap: 24px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 14px;
}

.resource-group-head .eyebrow {
  margin-bottom: 6px;
}

.resource-group-head h2 {
  margin: 0;
  font-size: 27px;
}

.resource-group-head > span {
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 13px;
}

.resource-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.explore-page .resource-card {
  min-height: 194px;
  padding: 20px;
}

.explore-page .resource-card h3 {
  max-width: calc(100% - 24px);
  margin: 0 0 9px;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.15;
}

.explore-page .resource-card p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.45;
}

.explore-page .resource-card .card-meta {
  margin-top: 14px;
}

.catalog-boundary {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 24px;
  margin-top: 38px;
  padding: 17px 19px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.catalog-boundary strong {
  color: var(--ink);
  font-size: 14px;
}

.catalog-boundary p {
  margin: 0;
  font-size: 14px;
}

.shezhire-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.shezhire-boundary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.shezhire-boundary > div {
  padding: 22px 24px;
}

.shezhire-boundary > div + div {
  border-left: 1px solid var(--line);
}

.shezhire-boundary p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.shezhire-workbench {
  margin-top: 36px;
}

.shezhire-tools {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 8px 24px rgb(15 53 72 / 0.06);
}

.shezhire-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.shezhire-tab {
  min-height: 42px;
  border: 1px solid #a9bfd0;
  border-radius: var(--radius);
  background: #fff;
  color: var(--blue-deep);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.shezhire-tab[aria-pressed="true"] {
  border-color: var(--blue-deep);
  background: var(--blue-deep);
  color: #fff;
}

.shezhire-branch {
  margin-top: 28px;
}

.shezhire-branch[hidden],
.shezhire-results[hidden] {
  display: none;
}

.shezhire-branch-head {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(320px, 0.7fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 16px;
}

.shezhire-branch-head h2 {
  margin: 0;
  font-size: 32px;
}

.shezhire-branch-head > p {
  margin: 0;
  font-size: 14px;
}

.shezhire-node-grid,
.shezhire-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.shezhire-union {
  margin-top: 22px;
}

.shezhire-union:first-child {
  margin-top: 0;
}

.shezhire-union > header {
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line);
}

.shezhire-union h3 {
  margin: 0;
  font-size: 23px;
}

.shezhire-node-card,
.shezhire-result {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 5px 16px rgb(15 53 72 / 0.04);
}

.shezhire-node-card > a,
.shezhire-result {
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 15px;
  color: inherit;
  text-decoration: none;
}

.shezhire-node-card > a:hover strong,
.shezhire-result:hover strong {
  color: var(--blue);
}

.shezhire-kind,
.shezhire-result span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shezhire-node-card strong,
.shezhire-result strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.12;
}

.shezhire-node-card span:not(.shezhire-kind),
.shezhire-result small {
  color: var(--muted);
  font-size: 13px;
}

.shezhire-node-card small {
  margin-top: 7px;
  color: #617687;
  font-size: 12px;
  font-weight: 700;
}

.shezhire-results {
  margin-top: 18px;
}

.shezhire-summary {
  margin-bottom: 22px;
}

.shezhire-source-card h3 {
  font-size: 19px;
}

.corpus-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.corpus-boundary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.corpus-boundary > div {
  padding: 22px 24px;
}

.corpus-boundary > div + div {
  border-left: 1px solid var(--line);
}

.corpus-boundary p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.corpus-live-data {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 26px;
}

.corpus-live-data > div:first-child,
.corpus-type-grid,
.corpus-workflow,
.corpus-api-strip {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.corpus-live-data > div:first-child {
  padding: 20px;
}

.corpus-live-data p:last-child,
.corpus-workflow-grid p:last-child {
  margin-bottom: 0;
}

.corpus-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.corpus-type-grid article {
  position: relative;
  min-width: 0;
  padding: 15px 16px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.corpus-type-grid article:nth-child(odd) {
  border-left: 0;
}

.corpus-type-grid article:nth-child(-n + 2) {
  border-top: 0;
}

.corpus-type-grid span,
.corpus-type-grid small,
.corpus-api-strip span,
.corpus-api-strip strong {
  display: block;
}

.corpus-type-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.corpus-type-grid strong {
  display: inline-block;
  margin-top: 7px;
  color: var(--blue-deep);
  font-size: 28px;
  line-height: 1;
}

.corpus-type-grid small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.corpus-type-grid i {
  display: block;
  width: var(--bar, 20%);
  height: 5px;
  margin-top: 11px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}

.corpus-toolbar {
  margin: -10px 0 18px;
}

.corpus-workflow {
  margin-top: 24px;
  padding: 20px;
}

.corpus-workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.corpus-workflow-grid article {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fbfc;
}

.corpus-workflow-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--blue-pale);
  color: var(--blue-deep);
  font-size: 13px;
  font-weight: 800;
}

.corpus-workflow-grid strong {
  display: block;
  margin-bottom: 6px;
  font-size: 16px;
}

.corpus-workflow-grid p {
  font-size: 13px;
}

.corpus-api-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 14px;
  overflow: hidden;
}

.corpus-api-strip a {
  min-width: 0;
  padding: 14px 16px;
  border-left: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.corpus-api-strip a:first-child {
  border-left: 0;
}

.corpus-api-strip span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.corpus-api-strip strong {
  margin-top: 5px;
  color: var(--blue);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.corpus-service-details {
  margin-top: 16px;
}

.corpus-service-details .corpus-api-strip {
  margin-top: 12px;
}

.release-composition {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 14px;
  margin-top: 18px;
}

.release-composition > div {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.release-composition > div:first-child {
  padding: 20px;
}

.release-composition h2 {
  margin-bottom: 8px;
  font-size: 24px;
  text-wrap: balance;
}

.release-composition p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.release-composition-bars {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
}

.release-composition-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px;
  gap: 6px 12px;
  align-items: center;
}

.release-composition-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.release-composition-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.release-composition-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
}

.release-changelog,
.release-snapshots {
  margin-top: 26px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.release-changelog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.release-changelog-grid article {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fbfc;
}

.release-changelog-grid h3 {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.35;
}

.release-snapshots {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
  align-items: center;
}

.release-snapshots p:last-child {
  margin-bottom: 0;
}

.release-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfdfe;
}

.release-snapshot-grid a {
  min-width: 0;
  padding: 14px 16px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.release-snapshot-grid a:nth-child(odd) {
  border-left: 0;
}

.release-snapshot-grid a:nth-child(-n + 2) {
  border-top: 0;
}

.release-snapshot-grid span,
.release-snapshot-grid strong {
  display: block;
}

.release-snapshot-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.release-snapshot-grid strong {
  margin-top: 5px;
  color: var(--blue);
  font-size: 13px;
}

.release-boundary {
  margin-top: 24px;
}

.corpus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.corpus-card {
  min-width: 0;
  content-visibility: auto;
  contain-intrinsic-size: 270px;
  min-height: 270px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.corpus-card[hidden] {
  display: none;
}

.corpus-card > a {
  min-height: 270px;
  padding: 19px;
}

.corpus-card h3 {
  padding-right: 22px;
  font-size: 20px;
  text-wrap: balance;
}

.corpus-card p:not(.eyebrow) {
  font-size: 14px;
}

.corpus-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.corpus-card-meta span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #40566c;
  background: #f8fbfc;
  font-size: 12px;
  font-weight: 700;
}

.entity-head,
.claim-detail {
  width: min(100%, 1060px);
}

.entity-head {
  padding: 34px 0 28px;
  border-bottom: 1px solid var(--line);
}

.entity-head h1,
.claim-detail h1 {
  max-width: 940px;
  font-size: clamp(34px, 5vw, 56px);
  text-wrap: balance;
}

.entity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.entity-meta span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid #a8d3dc;
  border-radius: 999px;
  background: #ecf9fb;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 800;
}

.entity-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 28px;
  align-items: start;
  margin-top: 28px;
}

.claim-list {
  display: grid;
  gap: 14px;
}

.claim-card,
.claim-detail-card,
.entity-side {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.claim-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 18px;
  padding: 20px;
}

.claim-review-notice {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e3c98d;
  border-radius: 12px;
  background: #fff8e8;
  color: #5d4a21;
}

.claim-review-notice strong {
  display: block;
  font-size: 14px;
}

.claim-review-notice p {
  margin: 4px 0 0;
  color: inherit;
  font-size: 13px;
}

.claim-review-notice.is-disputed {
  border-color: #d8a2a2;
  background: #fff3f2;
  color: #713737;
}

.claim-review-notice.is-superseded {
  border-color: #b8c5d1;
  background: #f4f7f9;
  color: #40566c;
}

.claim-detail > .claim-review-notice {
  margin: 22px 0 0;
}

.claim-card h3 {
  margin-bottom: 9px;
  font-size: 21px;
  text-wrap: balance;
}

.claim-card p {
  font-size: 14px;
}

.claim-meta {
  display: grid;
  gap: 7px;
  align-content: start;
  justify-items: start;
}

.claim-meta span,
.claim-meta a {
  font-size: 12px;
  font-weight: 800;
}

.claim-meta span {
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fbfc;
  color: #40566c;
}

.claim-card .source-panel,
.claim-card .source-panel-link {
  grid-column: 1 / -1;
}

.source-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--line);
}

.source-panel div {
  min-width: 0;
  padding: 10px 12px 8px 0;
  border-bottom: 1px solid var(--line);
}

.source-panel dt {
  color: var(--muted);
  font-size: 11px;
}

.source-panel dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.source-panel-link,
.entity-json {
  display: inline-flex;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 800;
}

.entity-side {
  position: sticky;
  top: 92px;
  padding: 18px;
}

.entity-side ul {
  margin: 0 0 18px;
  padding-left: 18px;
}

.entity-side li {
  margin: 8px 0;
  color: #40566c;
  font-size: 14px;
}

.entity-side .button {
  width: 100%;
  margin-top: 8px;
}

.claim-detail {
  padding-top: 34px;
}

.claim-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 30px 0 20px;
}

.claim-detail-card {
  padding: 20px;
}

.claim-detail-card h2 {
  font-size: 22px;
}

.integration-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.integration-health {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 0.8fr) minmax(0, 1.5fr);
  gap: 14px;
  align-items: stretch;
  margin: 18px 0 24px;
}

.integration-health-copy,
.integration-status-bars,
.integration-system-tile {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.integration-health-copy {
  padding: 20px;
}

.integration-health-copy h2 {
  margin-bottom: 8px;
  font-size: 23px;
  text-wrap: balance;
}

.integration-health-copy p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.integration-status-bars {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.integration-status-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  gap: 6px 10px;
  align-items: center;
}

.integration-status-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.integration-status-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.integration-status-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
}

.integration-system-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.integration-system-tile {
  min-width: 0;
  padding: 14px;
}

.integration-system-tile span,
.integration-system-tile strong,
.integration-system-tile em {
  display: block;
}

.integration-system-tile span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
}

.integration-system-tile strong {
  margin-top: 5px;
  color: var(--blue);
  font-size: 12px;
  line-height: 1.25;
}

.integration-system-tile em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}

.integration-live,
.integration-boundary-grid {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.integration-live {
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  align-items: stretch;
}

.integration-live > div:first-child,
.integration-surface-grid,
.integration-boundary-grid article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.integration-live > div:first-child,
.integration-boundary-grid article {
  padding: 20px;
}

.integration-live p:last-child,
.integration-boundary-grid p:last-child {
  margin-bottom: 0;
}

.integration-surface-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.integration-surface-grid a {
  min-width: 0;
  padding: 15px 16px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.integration-surface-grid a:nth-child(odd) {
  border-left: 0;
}

.integration-surface-grid a:nth-child(-n + 2) {
  border-top: 0;
}

.integration-surface-grid span,
.integration-surface-grid strong,
.integration-surface-grid small {
  display: block;
}

.integration-surface-grid span {
  color: var(--ink);
  font-weight: 800;
}

.integration-surface-grid strong {
  margin-top: 4px;
  color: var(--blue);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.integration-surface-grid small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
}

.integration-boundary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.integration-boundary-grid strong {
  display: block;
  margin-bottom: 8px;
  font-size: 17px;
}

.integration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.integration-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.integration-card-head {
  min-height: 70px;
}

.integration-card h3 {
  font-size: 23px;
}

.integration-card > p {
  min-height: 66px;
  font-size: 14px;
}

.integration-details {
  margin-top: 14px;
  border-top: 1px solid var(--line);
}

.integration-details summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  color: var(--blue);
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.integration-details .source-panel {
  margin-top: 4px;
}

.route-map-panel,
.research-preflight,
.taxonomy-coverage,
.corpus-signal-panel,
.integration-pipeline {
  margin-top: 18px;
}

.route-map-panel,
.research-preflight,
.taxonomy-coverage,
.corpus-signal-panel,
.integration-pipeline {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgb(255 255 255 / 0.78);
  box-shadow: 0 6px 20px rgb(15 53 72 / 0.045);
}

.route-map-panel {
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1.38fr);
}

.route-map-panel h2,
.research-preflight h2,
.taxonomy-coverage h2,
.corpus-signal-panel h2,
.integration-pipeline h2 {
  margin-bottom: 6px;
  font-size: 24px;
  text-wrap: balance;
}

.route-map-panel p:last-child,
.research-preflight p:last-child,
.taxonomy-coverage p:last-child,
.corpus-signal-panel p:last-child,
.integration-pipeline p:last-child {
  margin-bottom: 0;
  font-size: 14px;
}

.route-map-flow,
.integration-pipeline-flow {
  display: grid;
  gap: 8px;
}

.route-map-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.route-map-step,
.integration-pipeline-flow article {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid #c8e4eb;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff 0%, #f6fbfc 100%);
  color: inherit;
  text-decoration: none;
}

.route-map-step {
  white-space: normal;
}

.route-map-step::after,
.integration-pipeline-flow article::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -9px;
  width: 8px;
  height: 1px;
  background: #9ac8d4;
}

.route-map-step:nth-child(3n)::after,
.route-map-step:last-child::after,
.integration-pipeline-flow article:last-child::after {
  display: none;
}

.route-map-step span,
.integration-pipeline-flow span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.route-map-step strong,
.integration-pipeline-flow strong {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.route-map-step em,
.integration-pipeline-flow em {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.route-map-step > strong,
.route-map-step > em,
.integration-pipeline-flow article > strong,
.integration-pipeline-flow article > em {
  overflow-wrap: anywhere;
}

.research-preflight {
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 1.48fr);
}

.research-preflight ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.research-preflight li,
.taxonomy-coverage-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.research-preflight span,
.research-preflight strong,
.research-preflight em,
.taxonomy-coverage-card span,
.taxonomy-coverage-card strong,
.taxonomy-coverage-card em {
  display: block;
}

.research-preflight span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  border-radius: 999px;
  background: var(--blue-pale);
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 900;
}

.research-preflight strong,
.taxonomy-coverage-card span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}

.research-preflight em,
.taxonomy-coverage-card em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.taxonomy-coverage-card strong {
  margin-top: 7px;
  color: var(--blue-deep);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.taxonomy-coverage {
  grid-template-columns: minmax(0, 0.64fr) minmax(0, 1.36fr);
}

.taxonomy-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.taxonomy-coverage-card {
  position: relative;
  overflow: hidden;
}

.taxonomy-coverage-card i {
  display: block;
  width: var(--bar);
  min-width: 18px;
  height: 7px;
  margin-top: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
}

.corpus-signal-panel {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.64fr) minmax(0, 0.64fr);
  align-items: stretch;
}

.corpus-signal-bars {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.corpus-signal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 6px 10px;
  align-items: center;
}

.corpus-signal-row span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.corpus-signal-row strong {
  color: var(--blue);
  font-size: 13px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.corpus-signal-row i {
  grid-column: 1 / -1;
  width: var(--bar);
  min-width: 18px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--sky));
}

.integration-pipeline {
  grid-template-columns: minmax(0, 0.56fr) minmax(0, 1.44fr);
}

.integration-pipeline-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.research-introduction {
  max-width: 860px;
  padding: 18px 0 4px;
}

.research-introduction h1 {
  margin: 12px 0 16px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.12;
  font-weight: 500;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.research-introduction .lead {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.research-save-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.research-entry {
  min-width: 0;
}

.research-entry .research-persistence {
  margin-top: 16px;
}

.research-app {
  width: 100%;
  margin-top: 24px;
}

.research-navigation {
  margin-bottom: 12px;
}

.research-steps {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}

.research-steps li {
  border-left: 1px solid var(--line);
}

.research-steps li:first-child {
  border-left: 0;
}

.research-steps button {
  min-height: 48px;
  border: 0;
  border-radius: 0;
}

.research-steps button[aria-current="step"] {
  background: var(--blue-deep);
}

.research-status {
  margin: 8px 2px 0;
}

.research-panel {
  padding: 30px;
  box-shadow: 0 8px 28px rgb(15 53 72 / 0.055);
}

.research-panel-head h2 {
  font-size: 32px;
}

.research-intro {
  margin-bottom: 24px;
}

.research-workspace {
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 24px;
}

.research-form {
  gap: 14px;
  padding: 0 24px 0 0;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.research-more {
  grid-column: 1 / -1;
  margin-top: 2px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.research-more summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--blue-deep);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.research-more summary::-webkit-details-marker {
  display: none;
}

.research-more summary::after {
  content: "+";
  margin-left: 12px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 400;
}

.research-more[open] summary::after {
  content: "−";
}

.research-more-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 2px 0 16px;
}

.research-list-wrap {
  min-height: 280px;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.research-empty {
  min-height: 216px;
  display: grid;
  align-content: center;
  gap: 6px;
  margin: 0;
  padding: 24px;
  border: 1px dashed #acd3dc;
  border-radius: var(--radius);
  background: #f7fbfc;
  text-align: left;
}

.research-empty[hidden] {
  display: none;
}

.research-empty strong,
.research-empty span {
  display: block;
}

.research-empty strong {
  color: var(--ink);
  font-size: 16px;
}

.research-empty span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.research-persistence {
  margin-top: 20px;
  background: #fbfdfe;
}

@media (max-width: 820px) {
  .head-row {
    min-height: 58px;
    flex-wrap: nowrap;
    padding: 8px 0;
  }

.desktop-nav {
    display: none;
  }

.mobile-nav {
    display: block;
    position: relative;
  }

.mobile-nav summary {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--ink);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
  }

.mobile-nav summary::-webkit-details-marker {
    display: none;
  }

.mobile-nav summary::after {
    content: "+";
    margin-left: 7px;
    color: var(--blue);
    font-size: 18px;
  }

.mobile-nav[open] summary::after {
    content: "−";
  }

.mobile-nav nav {
    position: absolute;
    top: 46px;
    right: 0;
    display: grid;
    width: min(270px, calc(100vw - 24px));
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--avds-shadow-dialog);
  }

.mobile-nav nav a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
  }

main {
    padding-top: 14px;
  }

.hero {
    min-height: 390px;
  }

.hero-home {
    padding: 24px 20px 34px;
  }

.home-page {
    padding-top: 14px;
  }

.home-title {
    font-size: 38px;
    line-height: 1.06;
  }

.home-page .hero .lead {
    margin-top: 14px;
    font-size: 16px;
  }

.hero::before {
    background: linear-gradient(0deg, rgb(7 38 54 / 0.94) 0%, rgb(7 51 69 / 0.55) 70%, rgb(7 51 69 / 0.15) 100%);
  }

.hero h1,
.article-head h1 {
    font-size: 38px;
  }

.hero .lead {
    font-size: 16px;
    line-height: 1.5;
  }

.button-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

.metric-strip,
.metric-strip-page {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.metric-strip > div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.metric-strip > div:nth-child(-n + 2) {
    border-top: 0;
  }

.metric-strip > div:nth-child(even) {
    border-left: 1px solid var(--line);
  }

.metric-strip:not(.metric-strip-page) > div:last-child {
    grid-column: 1 / -1;
    border-left: 0;
    text-align: center;
  }

.corpus-metrics > div:last-child,
.about-metrics > div:last-child,
.source-metrics > div:last-child {
    grid-column: auto;
    border-left: 1px solid var(--line);
    text-align: left;
  }

.metric-strip strong {
    font-size: 23px;
  }

.home-section,
.home-start {
    margin-top: 34px;
  }

.public-launch {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px;
  }

.public-launch h2 {
    font-size: 23px;
  }

.home-section-head {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 14px;
  }

.home-section-head h2 {
    font-size: 25px;
  }

.home-section-head > p {
    font-size: 14px;
  }

.family-surface-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px 0;
  }

.family-surface-action {
    justify-self: start;
  }

.family-start-steps,
.family-evidence-grid {
    grid-template-columns: 1fr;
  }

.family-start-steps li,
.family-start-steps li:first-child,
.family-start-steps li:last-child,
.family-evidence-grid > div,
.family-evidence-grid > div:first-child,
.family-evidence-grid > div:last-child {
    border-top: 1px solid var(--line);
    border-left: 0;
    padding: 18px 0;
  }

.family-start-steps li:first-child,
.family-evidence-grid > div:first-child {
    border-top: 0;
  }

.home-destinations,
.home-steps {
    grid-template-columns: 1fr;
  }

.home-destination {
    min-height: auto;
    padding: 18px 4px;
    border-top: 1px solid var(--line);
    border-left: 0;
    background: transparent;
  }

.home-destination:first-child {
    border-top: 0;
  }

.home-steps li {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.home-steps li:first-child {
    border-top: 0;
  }

.home-steps a {
    min-height: auto;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 6px 10px;
    padding: 18px 4px;
  }

.home-step-number {
    grid-row: 1 / span 2;
  }

.privacy-boundary {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 34px;
    padding: 17px;
  }

.journey-prompt,
.journey-rail {
    grid-template-columns: 1fr;
    gap: 14px;
  }

.journey-prompt {
    margin-top: 28px;
    padding: 17px;
  }

.journey-prompt .button {
    width: 100%;
  }

.journey-grid {
    grid-template-columns: 1fr;
  }

.journey-decision .section-head.compact,
.journey-decision-grid {
    grid-template-columns: 1fr;
  }

.journey-decision-grid article,
.journey-decision-grid article:nth-child(-n + 2) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.journey-decision-grid article:first-child {
    border-top: 0;
  }

.journey-card > a {
    min-height: auto;
    padding: 18px;
  }

.journey-rail {
    padding: 18px 0;
  }

.journey-rail ol {
    grid-template-columns: 1fr;
  }

.toolbar {
    position: static;
  }

.explore-filters {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }

.explore-reset {
    align-self: flex-start;
  }

.resource-map > a {
    grid-template-columns: 1fr;
    gap: 18px;
  }

.resource-map-stats div:first-child {
    border-left: 0;
  }

.resource-map-action {
    justify-self: start;
  }

.resource-list {
    grid-template-columns: 1fr;
  }

.shezhire-boundary,
.shezhire-branch-head,
.shezhire-node-grid,
.shezhire-result-grid {
    grid-template-columns: 1fr;
  }

.shezhire-boundary > div {
    padding: 18px 4px;
  }

.shezhire-boundary > div + div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.shezhire-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.resource-group-head {
    align-items: start;
    flex-direction: column;
    gap: 4px;
  }

.catalog-boundary {
    grid-template-columns: 1fr;
    gap: 6px;
  }

.corpus-boundary,
.corpus-live-data,
.corpus-workflow-grid,
.corpus-api-strip,
.corpus-grid,
.home-data-map,
.source-composition,
.journal-composition,
.explore-coverage,
.about-value-map,
.entity-layout,
.release-changelog-grid,
.release-composition,
.release-snapshots,
.release-snapshot-grid,
.integration-health,
.integration-pipeline,
.integration-live,
.integration-boundary-grid,
.integration-grid,
.route-map-panel,
.research-preflight,
.taxonomy-coverage,
.corpus-signal-panel,
.claim-detail-grid {
    grid-template-columns: 1fr;
  }

.route-map-flow,
.research-preflight ol,
.taxonomy-coverage-grid,
.integration-pipeline-flow {
    grid-template-columns: 1fr;
  }

.corpus-signal-bars {
    padding: 14px;
  }

.route-map-step::after,
.integration-pipeline-flow article::after {
    display: none;
  }

.corpus-boundary > div {
    padding: 18px 4px;
  }

.corpus-boundary > div + div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.integration-surface-grid {
    grid-template-columns: 1fr;
  }

.integration-system-tiles {
    grid-template-columns: 1fr;
  }

.integration-surface-grid a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.integration-surface-grid a:first-child {
    border-top: 0;
  }

.integration-surface-grid a:nth-child(-n + 2) {
    border-top: 1px solid var(--line);
  }

.integration-surface-grid a:first-child {
    border-top: 0;
  }

.corpus-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.corpus-type-grid article {
    min-height: 92px;
    padding: 12px;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
  }

.corpus-type-grid article:nth-child(odd) {
    border-left: 0;
  }

.corpus-type-grid article:nth-child(-n + 2) {
    border-top: 0;
  }

.corpus-type-grid span {
    font-size: 11px;
  }

.corpus-type-grid strong {
    font-size: 22px;
  }

.corpus-api-strip a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.corpus-api-strip a:first-child {
    border-top: 0;
  }

.release-snapshot-grid a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.release-snapshot-grid a:first-child {
    border-top: 0;
  }

.release-snapshot-grid a:nth-child(-n + 2) {
    border-top: 1px solid var(--line);
  }

.release-snapshot-grid a:first-child {
    border-top: 0;
  }

.corpus-card,
.corpus-card > a {
    min-height: auto;
  }

.entity-head {
    padding-top: 18px;
  }

.entity-layout {
    gap: 18px;
  }

.entity-side {
    position: static;
    order: -1;
  }

.claim-card {
    grid-template-columns: 1fr;
  }

.claim-meta {
    display: flex;
    flex-wrap: wrap;
  }

.source-panel {
    grid-template-columns: 1fr;
  }

.filter-button {
    min-width: calc(50% - 3px);
  }

.article-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

.article-body p,
.article-body li {
    font-size: 17px;
  }

.article-sources {
    position: static;
  }

.journal-featured > a {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px 2px;
  }

.journal-featured h2 {
    font-size: 31px;
  }

.journal-featured-meta {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }

.journal-list,
.source-registry-grid {
    grid-template-columns: 1fr;
  }

.source-composition {
    gap: 10px;
    margin: 14px 0 24px;
  }

.source-composition-copy,
.source-type-bars,
.integration-health-copy,
.integration-status-bars {
    padding: 16px;
  }

.source-class-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

.journal-proof-grid,
.about-value-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

.about-value-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.about-value-steps li {
    padding: 14px;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
  }

.about-value-steps li:nth-child(odd) {
    border-left: 0;
  }

.about-value-steps li:nth-child(-n + 2) {
    border-top: 0;
  }

.source-class-card {
    display: block;
    min-height: 92px;
    padding: 12px;
  }

.source-class-card span {
    display: block;
    min-height: 32px;
    font-size: 11px;
    line-height: 1.25;
  }

.source-class-card strong {
    display: block;
    margin-top: 8px;
    font-size: 22px;
  }

.source-card {
    padding: 16px;
  }

.source-card h3 {
    font-size: 20px;
  }

.source-card > p:not(.eyebrow,
.source-use),
.source-use {
    font-size: 13px;
  }

.integration-card-head {
    min-height: auto;
  }

.integration-card > p {
    min-height: auto;
  }

.source-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
  }

.catalog-search-form {
    grid-template-columns: 1fr;
  }

.catalog-search-submit {
    width: 100%;
  }

.catalog-pagination {
    gap: 8px;
  }

.pagination-link {
    padding-inline: 10px;
  }

.pagination-status {
    min-width: 84px;
    font-size: 12px;
  }

.source-toolbar .result-status {
    margin: 0;
  }

.journal-card {
    min-height: auto;
  }

.source-actions {
    grid-template-columns: 1fr;
  }

.source-actions > a + a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.source-boundary {
    grid-template-columns: 1fr;
    gap: 10px;
  }

.map-frame,
#family-map {
    min-height: 470px;
    height: 470px;
  }

.atlas-notes,
.about-boundaries,
.infrastructure-list {
    grid-template-columns: 1fr;
  }

.atlas-notes > div + div,
.about-boundaries > div + div,
.infrastructure-list article + article {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

.foot-row {
    display: grid;
    gap: 8px;
  }

.service-note {
    max-width: none;
    text-align: left;
  }

.about-masthead {
    min-height: 330px;
    grid-template-columns: minmax(0, 1fr) 120px;
    gap: 22px;
    padding: 30px 26px;
  }

.about-masthead h1 {
    font-size: 40px;
  }

.about-mark img {
    width: 110px;
  }

.about-mark span {
    display: none;
  }

.research-workspace,
.research-conversation {
    grid-template-columns: 1fr;
  }

.research-form {
    padding: 0 0 22px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

.research-list-wrap {
    min-height: 0;
  }

.research-empty {
    min-height: 150px;
  }

.research-next-grid {
    grid-template-columns: 1fr;
  }

.research-export {
    grid-template-columns: 1fr;
  }

.research-export-buttons {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .shell {
    width: calc(100% - 20px);
  }

.brand {
    font-size: 16px;
  }

.hero {
    min-height: 420px;
  }

.explore-toolbar {
    padding: 14px;
  }

.explore-toolbar .filter-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

.explore-toolbar .filter-button {
    min-width: 0;
  }

.resource-catalog {
    gap: 30px;
    margin-top: 24px;
  }

.resource-map > a {
    padding: 20px;
  }

.resource-map-stats {
    grid-template-columns: 1fr;
  }

.resource-map-stats div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 8px 0;
    border-top: 1px solid #badce4;
    border-left: 0;
  }

.resource-map-stats dd {
    font-size: 19px;
  }

.resource-group-head h2 {
    font-size: 24px;
  }

.shezhire-tools {
    padding: 14px;
  }

.shezhire-tabs {
    grid-template-columns: 1fr;
  }

.shezhire-tab {
    min-height: 39px;
  }

.shezhire-branch-head h2 {
    font-size: 26px;
  }

.shezhire-node-card > a,
.shezhire-result {
    min-height: 104px;
    padding: 14px;
  }

.shezhire-node-card strong,
.shezhire-result strong {
    font-size: 18px;
  }

.explore-page .resource-card {
    min-height: auto;
    padding: 18px;
  }

.explore-page .resource-card h3 {
    font-size: 19px;
  }

.explore-page .resource-card p:not(.eyebrow) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

.explore-page .resource-card .card-meta {
    margin-top: 10px;
  }

.hero h1,
.article-head h1 {
    font-size: 34px;
  }

.button-row {
    grid-template-columns: 1fr;
  }

.button {
    width: 100%;
  }

.grid.stats {
    grid-template-columns: 1fr;
  }

.grid.stats .card {
    display: grid;
    grid-template-columns: 74px 1fr;
    column-gap: 10px;
    align-items: center;
  }

.grid.stats .card .eyebrow {
    grid-column: 1 / -1;
  }

.grid.stats .number {
    margin: 0;
  }

.media-caption {
    max-width: 180px;
    text-align: right;
  }

.journal-section {
    margin-top: 34px;
  }

.journal-featured h2 {
    font-size: 27px;
  }

.journal-featured-meta {
    align-items: start;
    flex-direction: column;
    gap: 4px;
  }

.journal-card > a,
.source-card {
    padding: 18px;
  }

.journal-card h3,
.source-card h3 {
    font-size: 20px;
  }

.source-actions > a {
    min-height: 82px;
    padding: 16px 4px;
  }

.source-boundary {
    padding: 15px;
  }

.atlas-page .section-head h2 {
    font-size: 24px;
  }

.map-frame,
#family-map {
    min-height: 420px;
    height: 420px;
  }

.atlas-notes > div,
.about-boundaries > div,
.infrastructure-list article {
    padding: 19px 4px;
  }

.about-masthead {
    min-height: 340px;
    grid-template-columns: 1fr;
    align-content: center;
    padding: 26px 22px;
  }

.about-masthead h1 {
    font-size: 34px;
  }

.about-masthead .lead {
    font-size: 16px;
  }

.about-mark {
    justify-items: start;
  }

.about-mark img {
    width: 82px;
  }

.research-privacy {
    grid-template-columns: 1fr;
    gap: 4px;
  }

.research-app {
    margin-top: 18px;
  }

.research-steps {
    gap: 5px;
  }

.research-steps button {
    min-height: 44px;
    gap: 5px;
    padding: 5px;
    font-size: 12px;
  }

.research-steps button span {
    width: 21px;
    height: 21px;
  }

.research-panel {
    padding: 18px 14px;
  }

.research-panel-head h2 {
    font-size: 27px;
  }

.research-form {
    grid-template-columns: 1fr;
    padding: 0 0 18px;
  }

.field-wide,
.research-add {
    grid-column: auto;
  }

.research-more {
    grid-column: auto;
  }

.research-more-grid {
    grid-template-columns: 1fr;
  }

.research-add {
    width: 100%;
  }

.research-person {
    grid-template-columns: 1fr;
  }

.research-suggestions-head,
.research-suggestion {
    grid-template-columns: 1fr;
  }

.research-suggestions-head {
    display: grid;
    gap: 4px;
  }

.research-remove {
    justify-self: start;
  }

.research-summary-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

.research-confidence {
    max-width: none;
    justify-self: start;
  }

.research-export-buttons,
.research-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

.research-export-buttons .button,
.research-actions .button,
.research-actions .research-clear {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media print {
  .site-head,
  .site-foot,
  .page-masthead,
  .research-privacy,
  .research-introduction,
  .research-steps,
  .research-status,
  .research-actions,
  .research-next-grid,
  .research-export-buttons {
    display: none !important;
  }

body,
main,
.research-app,
.research-panel {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }
}

.mama-situations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.mama-situation {
  display: flex;
  min-height: 164px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  color: var(--ink);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.mama-situation:hover,
.mama-situation:focus-visible {
  border-color: var(--sky);
  box-shadow: 0 8px 22px rgba(21, 49, 74, .08);
  transform: translateY(-1px);
}

.mama-situation:focus-visible,
.mama-action:focus-visible {
  outline: 3px solid rgba(85, 184, 209, .34);
  outline-offset: 2px;
}

.mama-situation[aria-pressed="true"] {
  border-color: var(--blue);
  background: var(--blue-pale);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.mama-situation .eyebrow {
  margin-bottom: 0;
}

.mama-situation strong {
  font-size: 18px;
  line-height: 1.15;
}

.mama-situation > span:last-child {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

.mama-plan {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid #a9cbd5;
  border-radius: var(--radius);
  background: #f6fcfd;
}

.mama-plan[hidden] {
  display: none;
}

.mama-plan-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.mama-plan-head .eyebrow {
  margin-bottom: 8px;
}

.mama-plan-head h3 {
  margin-bottom: 0;
}

.mama-actions {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.mama-actions li {
  display: grid;
  gap: 6px;
}

.mama-action {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: start;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.mama-action[aria-pressed="true"] {
  border-color: #8bb8a4;
  background: #f1faf4;
}

.mama-action-marker {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #9eb4c4;
  border-radius: 6px;
  color: #216d50;
  background: #fff;
  font-size: 15px;
  font-weight: 800;
}

.mama-action[aria-pressed="true"] .mama-action-marker {
  border-color: #6aa688;
  background: #dff2e5;
}

.mama-action-label {
  line-height: 1.4;
}

.mama-source-link {
  margin-left: 38px;
  font-size: 13px;
  font-weight: 700;
}

.mama-plan-actions {
  margin-top: 18px;
}

.mama-local-status {
  min-height: 1.4em;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.mama-storage-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 18px 22px;
  border: 1px solid #a8d9e3;
  border-radius: var(--radius);
  background: #edf9fb;
}

.mama-storage-choice h3,
.mama-storage-choice p {
  margin-bottom: 4px;
}

.mama-storage-choice p:last-child {
  max-width: 760px;
  color: var(--muted);
  font-size: 14px;
}

.mama-storage-toggle {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
}

.mama-storage-toggle input {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--blue);
}

.mama-local-draft {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.mama-local-draft-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.mama-local-draft-head .eyebrow {
  margin-bottom: 8px;
}

.mama-local-draft-head h3 {
  margin-bottom: 0;
}

.mama-draft-copy {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 14px;
}

.mama-draft-label {
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
}

.mama-local-draft textarea {
  width: 100%;
  min-height: 132px;
  resize: vertical;
  padding: 12px 14px;
  border: 1px solid #9eb4c4;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.5;
}

.mama-local-draft textarea:focus-visible {
  outline: 3px solid rgba(85, 184, 209, .34);
  outline-offset: 2px;
  border-color: var(--blue);
}

#mama-week-title {
  scroll-margin-top: 8rem;
}

.mama-week-plan {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}

.mama-week-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mama-week-slot {
  display: grid;
  gap: 8px;
}

.mama-week-plan textarea {
  width: 100%;
  min-height: 78px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid #9eb4c4;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  line-height: 1.45;
}

.mama-week-plan textarea:focus-visible {
  outline: 3px solid rgba(85, 184, 209, .34);
  outline-offset: 2px;
  border-color: var(--blue);
}

/* qaz.family greenfield public direction: an abstract family-research atlas,
deliberately without documentary imagery in the masthead. */
:root {
  --ink: #173a36;
  --muted: #526861;
  --line: #d8d3c3;
  --paper: #fffdf8;
  --wash: #f3f0e7;
  --sky: #a7c7bd;
  --blue: #1f6658;
  --blue-deep: #173a36;
  --blue-pale: #e6f0ea;
  --gold: #c18f42;
  --radius: 14px;
}

body {
  background:
    radial-gradient(circle at 100% 0%, rgb(193 143 66 / 0.14), transparent 26rem),
    linear-gradient(180deg, #f3f0e7 0, #fffdf8 30rem, #fffdf8 100%);
}

body,
button,
input {
  font-family: "IBM Plex Sans", "Noto Sans", Arial, sans-serif;
}

h1,
h2,
h3,
.brand {
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
}

.site-head {
  border-bottom-color: rgb(23 58 54 / 0.16);
  background: rgb(255 253 248 / 0.95);
}

.brand {
  font-size: 20px;
  letter-spacing: -0.02em;
}

.brand-logo {
  width: 36px;
  height: 36px;
}

.lang-switch {
  border-color: rgb(23 58 54 / 0.22);
  background: #f4eee1;
}

.hero-home {
  min-height: 540px;
  align-items: center;
  padding: clamp(28px, 6vw, 78px);
  border: 0;
  background-image:
    linear-gradient(118deg, rgb(17 53 48) 0%, rgb(29 85 73) 56%, rgb(77 119 99) 100%);
  box-shadow: 0 24px 60px rgb(23 58 54 / 0.18);
}

.hero-home::before {
  background:
    linear-gradient(90deg, rgb(11 38 34 / 0.5), transparent 74%),
    radial-gradient(circle at 83% 48%, transparent 0 4.7rem, rgb(255 253 248 / 0.14) 4.8rem 5rem, transparent 5.1rem 8.7rem, rgb(255 253 248 / 0.12) 8.8rem 9rem, transparent 9.1rem),
    radial-gradient(circle at 83% 48%, transparent 0 12.7rem, rgb(193 143 66 / 0.64) 12.8rem 13rem, transparent 13.1rem);
}

.hero-home::after {
  content: "";
  position: absolute;
  right: clamp(24px, 8vw, 150px);
  bottom: 18%;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: -54px 74px 0 0 var(--sky), 62px 48px 0 0 rgb(255 253 248 / 0.78);
}

.hero-content {
  position: relative;
  z-index: 1;
}

.hero .eyebrow {
  color: #dfc48f;
}

.home-title {
  max-width: 740px;
  font-size: clamp(44px, 5.3vw, 76px);
  letter-spacing: -0.045em;
}

.hero .button {
  border-radius: 999px;
  background: #f5e7c6;
  border-color: #f5e7c6;
  color: #173a36;
}

.hero .button:hover {
  background: #fff7e7;
  color: #173a36;
}

.metric-strip {
  margin-top: 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.metric-strip > div {
  padding: 15px 18px;
  border-color: rgb(23 58 54 / 0.15);
}

.metric-strip strong {
  color: var(--blue-deep);
}

.home-data-map > div {
  border-color: rgb(23 58 54 / 0.14);
  box-shadow: 0 9px 30px rgb(23 58 54 / 0.06);
}

.home-destinations,
.home-steps {
  border-color: rgb(23 58 54 / 0.16);
  background: #fffdf8;
}

.home-destination {
  border-color: rgb(23 58 54 / 0.16);
}

.home-destination:hover,
.home-steps a:hover {
  background: #edf3ec;
}

.home-step-number {
  border-color: #9db9a8;
  background: #e6f0ea;
}

@media (max-width: 820px) {
  .mama-situations {
    grid-template-columns: 1fr;
  }

.mama-situation {
    min-height: 0;
  }

.mama-plan {
    padding: 18px 14px;
  }

.mama-local-draft {
    padding: 18px 14px;
  }

.mama-week-plan {
    padding: 18px 14px;
  }

.mama-storage-choice {
    grid-template-columns: 1fr;
    padding: 18px 14px;
  }

.mama-week-grid {
    grid-template-columns: 1fr;
  }

.mama-plan-head {
    display: grid;
  }

.mama-local-draft-head {
    display: grid;
  }

.mama-plan-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

.mama-plan-actions .button {
    width: 100%;
  }
}
