/*
  Home redesign, September 2026.
  This file is deliberately scoped to the home page. Archive, note, and course
  routes keep their independent styling while the home gets a clean visual system.
*/

body.home-rebuilt {
  --home-bg: #101312;
  --home-surface: #171b19;
  --home-surface-2: #202522;
  --home-line: rgba(230, 233, 225, 0.15);
  --home-line-strong: rgba(230, 233, 225, 0.29);
  --home-text: #f0eee8;
  --home-muted: #a8aca5;
  --home-dim: #737a73;
  --home-signal: #df9154;
  --home-blue: #91b8c6;
  --home-green: #9cb487;
  --home-gut: clamp(20px, 4.2vw, 68px);
  --home-space: clamp(78px, 10vw, 152px);
  --home-reading: 68ch;
  background: var(--home-bg) !important;
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.55;
}

body.home-rebuilt::before {
  display: none !important;
}

body.home-rebuilt .site-shell {
  width: min(100%, 1540px) !important;
  padding: 0 var(--home-gut) !important;
}

body.home-rebuilt .topbar-index {
  display: grid !important;
  grid-template-columns: minmax(185px, 0.82fr) minmax(0, 1.7fr) auto;
  gap: clamp(18px, 3vw, 54px);
  min-height: 64px !important;
  margin: 0 calc(var(--home-gut) * -1) !important;
  padding: 0 var(--home-gut) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--home-line) !important;
  border-radius: 0 !important;
  background: rgba(16, 19, 18, 0.9) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

body.home-rebuilt .brand {
  min-width: 0;
  gap: 9px;
}

body.home-rebuilt .brand-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--home-signal) !important;
  box-shadow: none !important;
}

body.home-rebuilt .brand-text {
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
}

body.home-rebuilt .topnav-index {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: clamp(13px, 2vw, 31px) !important;
}

body.home-rebuilt .topnav-index a {
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 500;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

body.home-rebuilt .topnav-index a:hover,
body.home-rebuilt .topnav-index a:focus-visible {
  color: var(--home-text) !important;
}

body.home-rebuilt .topbar-actions {
  display: flex !important;
  gap: 10px !important;
}

body.home-rebuilt .density-switch {
  display: none !important;
}

body.home-rebuilt .theme-switch,
body.home-rebuilt .lang-switch {
  display: inline-flex !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.home-rebuilt .theme-btn,
body.home-rebuilt .lang-btn,
body.home-rebuilt .install-app {
  min-height: auto !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--home-dim) !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
  font-size: 0.67rem !important;
  font-weight: 600;
  letter-spacing: 0.06em !important;
}

body.home-rebuilt .theme-switch {
  gap: 12px !important;
  padding-right: 11px !important;
  border-right: 1px solid var(--home-line) !important;
}

body.home-rebuilt .lang-switch {
  gap: 9px !important;
}

body.home-rebuilt .theme-btn.is-active,
body.home-rebuilt .lang-btn.is-active {
  color: var(--home-text) !important;
  background: transparent !important;
}

body.home-rebuilt main#top > .hero.hero-identity.new-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, 0.84fr) !important;
  grid-template-areas:
    "copy image"
    "meta meta" !important;
  gap: 22px clamp(32px, 6vw, 96px);
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(38px, 3vw, 52px) 0 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.home-rebuilt .hero-copy-new {
  grid-area: copy;
  align-self: center;
}

body.home-rebuilt .section-kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  color: var(--home-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600;
  letter-spacing: 0.11em !important;
  line-height: 1.2;
  text-transform: uppercase;
}

body.home-rebuilt .section-kicker::before {
  width: 22px !important;
  height: 1px !important;
  background: var(--home-signal) !important;
}

body.home-rebuilt .new-hero .hero-headline {
  max-width: 10ch !important;
  margin: 20px 0 0 !important;
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(3.55rem, 6vw, 7rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 0.91 !important;
  text-wrap: balance;
}

body.home-rebuilt .new-hero .hero-headline > span,
body.home-rebuilt .new-hero .hero-headline em {
  display: block !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .new-hero .hero-name > span {
  display: block;
}

body.home-rebuilt .new-hero .hero-headline em {
  max-width: 11ch;
  margin-top: 0.32em;
  color: var(--home-blue) !important;
  font-family: var(--font-display) !important;
  font-size: 0.42em;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.04;
}

body.home-rebuilt .new-hero .hero-proposition {
  max-width: 56ch !important;
  margin: 30px 0 0 !important;
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1.35vw, 1.26rem) !important;
  font-weight: 400;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
}

body.home-rebuilt .hero-actions-new {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 26px;
}

body.home-rebuilt .hero-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid var(--home-line-strong);
  color: var(--home-text);
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0 !important;
}

body.home-rebuilt .hero-link::after {
  content: "->";
  margin-left: 8px;
  color: var(--home-signal);
}

body.home-rebuilt .hero-link:hover,
body.home-rebuilt .hero-link:focus-visible {
  border-bottom-color: var(--home-signal);
  color: var(--home-blue);
}

body.home-rebuilt .hero-field-image {
  position: relative;
  grid-area: image;
  align-self: start;
  min-height: clamp(360px, 33vw, 470px);
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 6px;
  background: var(--home-surface);
}

body.home-rebuilt .hero-field-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 48% 50%;
  filter: saturate(0.86) contrast(1.04);
}

body.home-rebuilt .hero-field-image figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 22px;
  background: rgba(16, 19, 18, 0.88);
}

body.home-rebuilt .hero-field-image span {
  color: var(--home-green);
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.home-rebuilt .hero-field-image p {
  max-width: 30ch;
  margin: 8px 0 0;
  color: var(--home-text);
  font-family: var(--font-display);
  font-size: clamp(1.14rem, 1.65vw, 1.48rem);
  font-style: italic;
  letter-spacing: 0 !important;
  line-height: 1.2;
}

body.home-rebuilt .hero-meta-new {
  grid-area: meta;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  border-top: 1px solid var(--home-line-strong) !important;
}

body.home-rebuilt .hero-meta-new > div {
  padding: 17px 22px 2px 0 !important;
  border-right: 1px solid var(--home-line);
}

body.home-rebuilt .hero-meta-new > div + div {
  padding-left: 22px !important;
}

body.home-rebuilt .hero-meta-new > div:last-child {
  border-right: 0;
}

body.home-rebuilt .hero-meta-key {
  margin-bottom: 8px !important;
  color: var(--home-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.64rem !important;
  font-weight: 600;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
}

body.home-rebuilt .hero-meta-value {
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500;
  letter-spacing: 0 !important;
  line-height: 1.3;
}

body.home-rebuilt .hero-meta-new a:hover,
body.home-rebuilt .hero-meta-new a:focus-visible {
  color: var(--home-blue) !important;
}

body.home-rebuilt .visual-interlude {
  position: relative;
  height: clamp(310px, 34vw, 510px) !important;
  min-height: 0 !important;
  margin: 0 calc(var(--home-gut) * -1) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-top: 1px solid var(--home-line) !important;
  border-bottom: 1px solid var(--home-line) !important;
  border-radius: 0 !important;
  background: var(--home-surface) !important;
}

body.home-rebuilt .visual-interlude img {
  width: 100%;
  height: 100% !important;
  min-height: inherit !important;
  object-fit: cover;
  filter: saturate(0.72) brightness(0.7) contrast(1.08) !important;
  transform: none !important;
}

body.home-rebuilt .visual-interlude::after {
  background: rgba(16, 19, 18, 0.25) !important;
}

body.home-rebuilt .visual-interlude .photo-band-copy {
  right: var(--home-gut) !important;
  bottom: clamp(24px, 4vw, 54px) !important;
  left: var(--home-gut) !important;
  max-width: none !important;
}

body.home-rebuilt .visual-interlude .photo-band-copy span {
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.66rem !important;
  font-weight: 600;
  letter-spacing: 0.12em !important;
}

body.home-rebuilt .visual-interlude .photo-band-copy span::before {
  width: 18px;
  background: var(--home-signal);
}

body.home-rebuilt .visual-interlude .photo-band-copy p {
  max-width: 36ch !important;
  margin: 8px 0 0 !important;
  color: var(--home-text) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.1rem, 1.8vw, 1.65rem) !important;
  font-style: italic;
  letter-spacing: 0 !important;
  line-height: 1.24 !important;
  text-align: left !important;
}

body.home-rebuilt .visual-interlude-sky {
  height: clamp(250px, 27vw, 410px) !important;
}

body.home-rebuilt .visual-interlude-sky .photo-band-copy {
  right: auto !important;
  max-width: min(490px, 78%) !important;
}

body.home-rebuilt .visual-interlude-night {
  height: clamp(230px, 24vw, 350px) !important;
}

body.home-rebuilt .visual-interlude-structure {
  height: clamp(220px, 23vw, 330px) !important;
}

body.home-rebuilt .section,
body.home-rebuilt section.section {
  margin: 0 !important;
  padding: var(--home-space) 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home-rebuilt .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(22px, 4vw, 48px) !important;
  align-items: end !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home-rebuilt .section-head > div:first-child {
  display: block !important;
}

body.home-rebuilt .section-head .section-kicker {
  display: inline-flex !important;
}

body.home-rebuilt .section-head h2,
body.home-rebuilt .section-head h3 {
  max-width: 18ch !important;
  margin: 18px 0 0 !important;
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(2rem, 3.6vw, 4.15rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.02 !important;
}

body.home-rebuilt .section-head-compact h3 {
  font-size: clamp(1.65rem, 2.7vw, 2.72rem) !important;
}

body.home-rebuilt .section-subcopy,
body.home-rebuilt .section > .section-subcopy,
body.home-rebuilt section.section > .section-subcopy,
body.home-rebuilt .simulation-copy .section-subcopy {
  max-width: var(--home-reading) !important;
  margin: 22px 0 clamp(40px, 5vw, 70px) !important;
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1rem, 1.24vw, 1.18rem) !important;
  font-style: normal !important;
  font-weight: 400;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
}

body.home-rebuilt .chapter-work {
  border-top: 5px solid var(--home-signal) !important;
}

body.home-rebuilt .chapter-threads {
  border-top: 5px solid var(--home-blue) !important;
  background: #111819 !important;
}

body.home-rebuilt .chapter-notes {
  border-top: 5px solid var(--home-green) !important;
}

body.home-rebuilt .chapter-models {
  border-top: 5px solid var(--home-blue) !important;
  background: #101719 !important;
}

body.home-rebuilt .chapter-network {
  border-top: 5px solid var(--home-green) !important;
  background: #151a14 !important;
}

body.home-rebuilt .chapter-foundations {
  border-top: 5px solid var(--home-signal) !important;
}

body.home-rebuilt .chapter-contact {
  border-top: 5px solid var(--home-blue) !important;
  background: #171918 !important;
}

body.home-rebuilt .chapter-threads,
body.home-rebuilt .chapter-models,
body.home-rebuilt .chapter-network,
body.home-rebuilt .chapter-contact {
  margin-right: calc(var(--home-gut) * -1) !important;
  margin-left: calc(var(--home-gut) * -1) !important;
  padding-right: var(--home-gut) !important;
  padding-left: var(--home-gut) !important;
}

body.home-rebuilt .visual-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}

body.home-rebuilt .button.secondary,
body.home-rebuilt .button.primary {
  min-height: auto !important;
  padding: 0 0 7px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--home-line-strong) !important;
  border-radius: 0 !important;
  color: var(--home-text) !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.home-rebuilt .button.secondary::after,
body.home-rebuilt .button.primary::after {
  content: "->";
  margin-left: 7px;
  color: var(--home-signal);
}

body.home-rebuilt .button.secondary:hover,
body.home-rebuilt .button.secondary:focus-visible,
body.home-rebuilt .button.primary:hover,
body.home-rebuilt .button.primary:focus-visible {
  border-bottom-color: var(--home-signal) !important;
  color: var(--home-blue) !important;
}

body.home-rebuilt .card-grid.two,
body.home-rebuilt .card-grid.three,
body.home-rebuilt .publication-grid,
body.home-rebuilt .topic-card-grid,
body.home-rebuilt .foundation-card-grid,
body.home-rebuilt #news-lab-list {
  display: grid !important;
  gap: 0 !important;
  border-top: 1px solid var(--home-line-strong) !important;
  border-left: 1px solid var(--home-line) !important;
}

body.home-rebuilt .card-grid.two,
body.home-rebuilt .publication-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.home-rebuilt .topic-card-grid,
body.home-rebuilt #news-lab-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.home-rebuilt .foundation-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.home-rebuilt .info-card,
body.home-rebuilt .publication-card,
body.home-rebuilt .topic-card,
body.home-rebuilt .news-card,
body.home-rebuilt .detail-card {
  min-height: 100%;
  padding: clamp(22px, 2.5vw, 36px) !important;
  border: 0 !important;
  border-right: 1px solid var(--home-line) !important;
  border-bottom: 1px solid var(--home-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background 0.18s ease, color 0.18s ease;
}

body.home-rebuilt .info-card:hover,
body.home-rebuilt .publication-card:hover,
body.home-rebuilt .topic-card:hover,
body.home-rebuilt .news-card:hover,
body.home-rebuilt .detail-card:hover {
  background: rgba(240, 238, 232, 0.045) !important;
  transform: none !important;
}

body.home-rebuilt .info-card h3,
body.home-rebuilt .publication-card h3,
body.home-rebuilt .topic-card h3,
body.home-rebuilt .news-card h3,
body.home-rebuilt .detail-value {
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.26rem, 1.65vw, 1.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
}

body.home-rebuilt .card-label,
body.home-rebuilt .detail-label,
body.home-rebuilt .news-tag,
body.home-rebuilt .news-stage {
  color: var(--home-dim) !important;
  font-family: var(--font-body) !important;
  font-size: 0.64rem !important;
  font-weight: 600;
  letter-spacing: 0.09em !important;
  line-height: 1.25;
  text-transform: uppercase;
}

body.home-rebuilt .info-card p,
body.home-rebuilt .publication-card p,
body.home-rebuilt .topic-card p,
body.home-rebuilt .news-card p,
body.home-rebuilt .detail-meta {
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0 !important;
  line-height: 1.58 !important;
}

body.home-rebuilt .work-card:first-child {
  background: rgba(223, 145, 84, 0.09) !important;
}

body.home-rebuilt .work-card:nth-child(2) {
  background: rgba(145, 184, 198, 0.06) !important;
}

body.home-rebuilt .selected-evidence-block,
body.home-rebuilt .section-block {
  margin-top: clamp(58px, 8vw, 116px) !important;
}

body.home-rebuilt .publication-disclosure {
  border-top: 1px solid var(--home-line-strong) !important;
  border-bottom: 1px solid var(--home-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.home-rebuilt .publication-disclosure + .publication-disclosure {
  margin-top: 0 !important;
  border-top: 0 !important;
}

body.home-rebuilt .disclosure-summary {
  min-height: 72px;
  padding: 20px 0 !important;
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0 !important;
}

body.home-rebuilt .disclosure-meta,
body.home-rebuilt .disclosure-count,
body.home-rebuilt .disclosure-toggle {
  color: var(--home-signal) !important;
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .chapter-threads .section-kicker::before,
body.home-rebuilt .chapter-models .section-kicker::before {
  background: var(--home-blue) !important;
}

body.home-rebuilt .chapter-notes .section-kicker::before,
body.home-rebuilt .chapter-network .section-kicker::before {
  background: var(--home-green) !important;
}

body.home-rebuilt .topic-card:nth-child(3n + 1) {
  border-top: 3px solid var(--home-blue) !important;
}

body.home-rebuilt .topic-card:nth-child(3n + 2) {
  border-top: 3px solid var(--home-green) !important;
}

body.home-rebuilt .topic-card:nth-child(3n) {
  border-top: 3px solid var(--home-signal) !important;
}

body.home-rebuilt .topic-card-note {
  color: var(--home-text) !important;
  font-family: var(--font-display) !important;
  font-size: 1.02rem !important;
  font-style: italic;
}

body.home-rebuilt .topic-card-links,
body.home-rebuilt .publication-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

body.home-rebuilt .inline-link,
body.home-rebuilt .topic-card-links .inline-link {
  border-bottom: 1px solid var(--home-line-strong) !important;
  color: var(--home-text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.74rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
}

body.home-rebuilt .inline-link:hover,
body.home-rebuilt .inline-link:focus-visible {
  border-bottom-color: var(--home-signal) !important;
  color: var(--home-blue) !important;
}

body.home-rebuilt .news-card-featured {
  background: rgba(156, 180, 135, 0.1) !important;
}

body.home-rebuilt .news-card h3 {
  font-size: clamp(1.24rem, 1.55vw, 1.65rem) !important;
}

body.home-rebuilt .news-card-link {
  color: inherit;
}

body.home-rebuilt .simulation-copy h2 {
  max-width: 12ch;
  margin: 18px 0 0;
  color: var(--home-text);
  font-family: var(--font-body);
  font-size: clamp(2.3rem, 4.2vw, 4.75rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.98;
}

body.home-rebuilt .grid-two.simulations-layout,
body.home-rebuilt .grid-two.foundation-layout,
body.home-rebuilt .contact-layout.terminal-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 0.66fr) minmax(0, 1.34fr) !important;
  gap: clamp(32px, 6vw, 88px) !important;
}

body.home-rebuilt .simulation-shell,
body.home-rebuilt .map-shell,
body.home-rebuilt .contact-form {
  border: 1px solid var(--home-line-strong) !important;
  border-radius: 6px !important;
  background: #0b1011 !important;
  box-shadow: none !important;
}

body.home-rebuilt .simulation-shell {
  padding: clamp(16px, 2vw, 26px) !important;
}

body.home-rebuilt .sim-tabs,
body.home-rebuilt .map-filters {
  gap: 8px !important;
  border-bottom: 1px solid var(--home-line) !important;
}

body.home-rebuilt .sim-tab {
  min-height: auto !important;
  padding: 9px 0 !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--home-dim) !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.home-rebuilt .sim-tab-active,
body.home-rebuilt .sim-tab:hover,
body.home-rebuilt .sim-tab:focus-visible {
  border-bottom-color: var(--home-blue) !important;
  color: var(--home-text) !important;
  background: transparent !important;
}

body.home-rebuilt .simulation-media {
  border: 1px solid var(--home-line) !important;
  border-radius: 4px;
  background: #050809 !important;
}

body.home-rebuilt .sim-stage-meta,
body.home-rebuilt .sim-stage-caption,
body.home-rebuilt .simulation-stage-label {
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .sim-stage-caption {
  font-size: 0.92rem;
  line-height: 1.5;
}

body.home-rebuilt .sim-rail {
  gap: 8px !important;
}

body.home-rebuilt .sim-thumb {
  border: 1px solid var(--home-line) !important;
  border-radius: 3px !important;
}

body.home-rebuilt .sim-thumb.is-active {
  border-color: var(--home-blue) !important;
}

body.home-rebuilt .map-intro {
  max-width: 62ch !important;
}

body.home-rebuilt .map-shell {
  overflow: hidden;
}

body.home-rebuilt .rich-copy {
  max-width: 56ch !important;
}

body.home-rebuilt .rich-copy p {
  color: var(--home-muted) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.24rem, 1.8vw, 1.75rem) !important;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0 !important;
  line-height: 1.38 !important;
}

body.home-rebuilt .rich-copy p + p {
  margin-top: 1.45em !important;
}

body.home-rebuilt .foundation-card {
  border-top: 3px solid var(--home-signal) !important;
}

body.home-rebuilt .foundation-card:nth-child(2n) {
  border-top-color: var(--home-green) !important;
}

body.home-rebuilt .visual-notes-section .section-head {
  align-items: start !important;
}

body.home-rebuilt .visual-intro {
  max-width: 56ch !important;
}

body.home-rebuilt .visual-rail-shell {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.home-rebuilt .visual-rail {
  grid-auto-columns: clamp(220px, 25vw, 385px) !important;
  gap: 12px !important;
  padding-bottom: 18px !important;
}

body.home-rebuilt .visual-card {
  height: clamp(280px, 33vw, 480px) !important;
  border: 1px solid var(--home-line) !important;
  border-radius: 5px !important;
  background: var(--home-surface) !important;
}

body.home-rebuilt .visual-card img {
  filter: saturate(0.88) contrast(1.03) brightness(0.84) !important;
}

body.home-rebuilt .visual-card-copy {
  padding: 24px !important;
  background: rgba(16, 19, 18, 0.88) !important;
}

body.home-rebuilt .visual-nav {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--home-line-strong) !important;
  border-radius: 50% !important;
  color: var(--home-text) !important;
  background: rgba(16, 19, 18, 0.88) !important;
  font-size: 1.3rem !important;
}

body.home-rebuilt .visual-lightbox {
  background: rgba(5, 8, 7, 0.94) !important;
}

body.home-rebuilt .visual-lightbox-frame img {
  border-color: var(--home-line-strong) !important;
  border-radius: 6px !important;
}

body.home-rebuilt .visual-lightbox-frame figcaption {
  color: var(--home-text) !important;
  font-family: var(--font-display) !important;
  font-size: 1.15rem;
  font-style: italic;
  letter-spacing: 0 !important;
}

body.home-rebuilt .visual-lightbox-close {
  min-width: 42px;
  min-height: 42px;
  padding: 0 !important;
  border: 1px solid var(--home-line-strong) !important;
  border-radius: 50% !important;
  color: var(--home-text) !important;
  background: rgba(16, 19, 18, 0.88) !important;
  font-family: var(--font-body) !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .visual-lightbox-close::before {
  content: "x";
  font-size: 1.05rem;
}

body.home-rebuilt .detail-grid.detail-grid-compact {
  grid-template-columns: 1fr !important;
  border-left: 1px solid var(--home-line) !important;
}

body.home-rebuilt .form-field label,
body.home-rebuilt .form-note,
body.home-rebuilt .form-status {
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .form-field input,
body.home-rebuilt .form-field textarea {
  border-color: var(--home-line-strong) !important;
  border-radius: 3px !important;
  color: var(--home-text) !important;
  background: rgba(240, 238, 232, 0.04) !important;
  font-family: var(--font-body) !important;
}

body.home-rebuilt .site-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 20px;
  margin: 0 calc(var(--home-gut) * -1) !important;
  padding: 28px var(--home-gut) !important;
  border-top: 1px solid var(--home-line-strong) !important;
  background: #0b0e0d !important;
}

body.home-rebuilt .footer-copy,
body.home-rebuilt .footer-legal {
  margin: 0;
  color: var(--home-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0 !important;
}

body.home-rebuilt .footer-links {
  display: flex;
  gap: 14px;
}

@media (max-width: 1120px) {
  body.home-rebuilt .topbar-index {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
  }

  body.home-rebuilt .topnav-index {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    min-height: 38px;
    margin: 0 calc(var(--home-gut) * -1);
    padding: 0 var(--home-gut);
    overflow-x: auto;
    border-top: 1px solid var(--home-line);
  }

  body.home-rebuilt .new-hero {
    grid-template-columns: minmax(0, 1fr) minmax(270px, 0.72fr) !important;
  }

  body.home-rebuilt .topic-card-grid,
  body.home-rebuilt #news-lab-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.home-rebuilt {
    --home-gut: 20px;
    --home-space: clamp(66px, 18vw, 96px);
  }

  body.home-rebuilt .topbar-index {
    position: sticky !important;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 58px !important;
  }

  body.home-rebuilt .brand-text {
    font-size: 0.86rem !important;
  }

  body.home-rebuilt .theme-switch {
    display: none !important;
  }

  body.home-rebuilt .topnav-index {
    gap: 18px !important;
    min-height: 36px;
    scrollbar-width: none;
  }

  body.home-rebuilt .topnav-index::-webkit-scrollbar {
    display: none;
  }

  body.home-rebuilt .topnav-index a {
    font-size: 0.7rem !important;
  }

  body.home-rebuilt main#top > .hero.hero-identity.new-hero {
    display: flex !important;
    flex-direction: column;
    gap: 26px;
    padding: 44px 0 22px !important;
  }

  body.home-rebuilt .hero-copy-new {
    width: 100%;
  }

  body.home-rebuilt .new-hero .hero-headline {
    max-width: 100% !important;
    font-size: clamp(3.2rem, 14vw, 5.1rem) !important;
    line-height: 0.92 !important;
  }

  body.home-rebuilt .new-hero .hero-headline em {
    max-width: 11ch;
    font-size: 0.43em;
  }

  body.home-rebuilt .new-hero .hero-proposition {
    font-size: 1rem !important;
  }

  body.home-rebuilt .hero-actions-new {
    gap: 16px;
  }

  body.home-rebuilt .hero-field-image {
    display: none;
  }

  body.home-rebuilt .hero-meta-new {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100%;
  }

  body.home-rebuilt .hero-meta-new > div {
    min-height: 76px;
    padding: 14px 12px 12px 0 !important;
    border-bottom: 1px solid var(--home-line);
  }

  body.home-rebuilt .hero-meta-new > div + div {
    padding-left: 12px !important;
  }

  body.home-rebuilt .hero-meta-new > div:nth-child(2n) {
    border-right: 0;
  }

  body.home-rebuilt .hero-meta-new > div:nth-child(n + 3) {
    display: none;
  }

  body.home-rebuilt .visual-interlude {
    height: 290px !important;
  }

  body.home-rebuilt .visual-interlude-sky,
  body.home-rebuilt .visual-interlude-night,
  body.home-rebuilt .visual-interlude-structure {
    height: 235px !important;
  }

  body.home-rebuilt .visual-interlude .photo-band-copy p {
    display: block !important;
    max-width: 30ch !important;
    font-size: 1.05rem !important;
  }

  body.home-rebuilt .section-head {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.home-rebuilt .section-head h2,
  body.home-rebuilt .section-head h3 {
    max-width: 13ch !important;
    margin-top: 16px !important;
    font-size: clamp(2rem, 9vw, 3.25rem) !important;
  }

  body.home-rebuilt .section-head .visual-actions {
    justify-content: flex-start;
  }

  body.home-rebuilt .section-subcopy,
  body.home-rebuilt .section > .section-subcopy,
  body.home-rebuilt section.section > .section-subcopy,
  body.home-rebuilt .simulation-copy .section-subcopy {
    margin-bottom: 36px !important;
    font-size: 1rem !important;
  }

  body.home-rebuilt .chapter-threads,
  body.home-rebuilt .chapter-models,
  body.home-rebuilt .chapter-network,
  body.home-rebuilt .chapter-contact {
    margin-right: calc(var(--home-gut) * -1) !important;
    margin-left: calc(var(--home-gut) * -1) !important;
    padding-right: var(--home-gut) !important;
    padding-left: var(--home-gut) !important;
  }

  body.home-rebuilt .card-grid.two,
  body.home-rebuilt .publication-grid,
  body.home-rebuilt .topic-card-grid,
  body.home-rebuilt .foundation-card-grid,
  body.home-rebuilt #news-lab-list {
    grid-template-columns: 1fr !important;
  }

  body.home-rebuilt .grid-two.simulations-layout,
  body.home-rebuilt .grid-two.foundation-layout,
  body.home-rebuilt .contact-layout.terminal-layout {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  body.home-rebuilt .simulation-copy h2 {
    font-size: clamp(2.2rem, 9vw, 3.4rem);
  }

  body.home-rebuilt .sim-tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.home-rebuilt .sim-tabs::-webkit-scrollbar {
    display: none;
  }

  body.home-rebuilt .sim-tab {
    flex: 0 0 auto;
  }

  body.home-rebuilt .rich-copy p {
    font-size: 1.28rem !important;
  }

  body.home-rebuilt .visual-rail {
    grid-auto-columns: minmax(238px, 82vw) !important;
  }

  body.home-rebuilt .visual-card {
    height: min(126vw, 480px) !important;
  }

  body.home-rebuilt .site-footer {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-rebuilt *,
  body.home-rebuilt *::before,
  body.home-rebuilt *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
