/* Content and navigation refinement. The approved scene and identity are unchanged. */
.site-nav a { white-space: nowrap; }

/* Let the shared live scene remain visible as the homepage scrolls. */
.home-page :is(.latest-section, .learning-section, .person-section, .connect-section) {
  background: transparent;
}

/* Every interior page shares the approved live network and contrast overlays. */
body:not(.home-page) #world-stage { display: block; opacity: 1; }
body:not(.home-page) .scene-fallback {
  width: 100%; height: 100%; inset: 0; border-radius: 0; transform: none; opacity: .75;
}
body:not(.home-page) #world-stage::after {
  background: linear-gradient(90deg, #05070cec 0%, #05070c70 36%, transparent 62%),
    linear-gradient(0deg, #05070cb8, transparent 40%);
}
body:not(.home-page) :is(.page-intro, .section, .system-explorer) { background: transparent; }
body:not(.home-page) .glass-panel { background: #0b12204d; }
body:not(.home-page) :is(.editorial-feature, .comparison-scroll) { background: #0b12204d; }
body:not(.home-page) .editorial-feature:hover { background: #0e1a2e80; }
body:not(.home-page) .course-code { background: linear-gradient(125deg, #172b4e99, #0b152666); }
body:not(.home-page) .comparison-table thead { background: #15233b80; }
body:not(.home-page) :is(.lesson-object, .destination-art) { display: none; }
@media (max-width: 700px) {
  body:not(.home-page) #world-stage::after {
    background: linear-gradient(90deg, #05070c88, transparent 80%),
      linear-gradient(0deg, #05070cb5, transparent 65%);
  }
}

.home-page .signal-hero {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: clamp(136px, 10.5vw, 168px) var(--gutter) 48px;
  justify-content: center;
}
.home-intro { max-width: 1040px; }
.home-intro h1 {
  margin: 0;
  font-size: clamp(48px, 5.6vw, 84px);
  line-height: 1.06;
  letter-spacing: -.045em;
  font-weight: 500;
}
.home-intro h1 > span { color: #9fb5ee; }
.home-intro > p {
  max-width: 510px;
  margin: 26px 0 0;
  color: #b6becd;
  font-size: 19px;
  line-height: 1.65;
}
.home-intro > p a { color: #e0e6f3; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #7084ad; }
.home-intro > p a:hover { color: #fff; text-decoration-color: currentColor; }
.home-intro .hero-actions { margin-top: 30px; gap: 28px; flex-wrap: wrap; }
.home-intro .hero-actions a { min-height: 48px; }
.home-page .latest-section { padding-top: 32px; padding-bottom: 72px; }
.home-page .latest-heading { margin-bottom: 28px; }
.home-page .latest-heading h2,
.home-page .learning-heading h2,
.home-page .person-copy h2 {
  font-size: clamp(36px, 3.5vw, 52px);
  margin: 0;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.home-page .latest-heading .text-link { align-self: center; }
/* The featured article uses the same quiet type and rules as the resource list. */
.writing-feature {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 28px clamp(32px, 6vw, 88px);
  padding: 30px 0 40px;
  border-block: 1px solid #7388b23d;
}
.writing-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  color: #9daac0;
  font-size: 12px;
  line-height: 1.5;
}
.writing-kind {
  color: #a8bfff;
  border: 1px solid #627fb25c;
  padding: 4px 9px;
  border-radius: 3px;
  font: 10px/1.5 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.writing-meta time { margin-left: auto; color: #9daac0; font: 11px/1.5 var(--mono); }
.writing-feature h3 {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 450;
  line-height: 1.14;
  letter-spacing: -.035em;
  color: #eef2f8;
  text-wrap: pretty;
}
.writing-feature h3 a { transition: color .2s; }
.writing-feature h3 a:hover { color: #aec2fa; }
.writing-summary { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.writing-summary > p {
  color: #b6becd;
  font-size: 17px;
  line-height: 1.75;
  margin: 0;
  max-width: 46ch;
}
.writing-summary .writing-read {
  margin-top: auto;
  min-height: 44px;
  font-size: 14px;
  color: #c6d4fa;
  border-color: #809ed05e;
}
.writing-read > span { color: #9cb7ff; }
@media (max-width: 900px) {
  .writing-feature { grid-template-columns: 1fr; gap: 24px; }
  .writing-feature h3 { max-width: 26ch; font-size: clamp(30px, 4.8vw, 40px); }
  .writing-summary { gap: 20px; }
  .writing-summary > p { max-width: 62ch; }
}
.home-page .learning-section { display: block; padding-top: 64px; padding-bottom: 56px; }
.home-page .learning-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px 32px;
  margin-bottom: 30px;
}
.home-page .learning-heading > p {
  grid-column: 1 / -1;
  max-width: 56ch;
  margin: 0;
  color: #b6becd;
  font-size: 17px;
  line-height: 1.75;
}
.resource-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-block: 1px solid #7388b23d;
}
.resource-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px clamp(24px, 2.8vw, 40px) 34px;
  color: #eef2f8;
}
.resource-card:first-child { padding-left: 0; }
.resource-card:last-child { padding-right: 0; }
.resource-card + .resource-card { border-left: 1px solid #7388b23d; }
.resource-format {
  color: #a8bfff;
  font: 10px/1.6 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.resource-card h3 {
  min-height: 2.28em;
  margin: 24px 0 16px;
  font-size: clamp(26px, 2.35vw, 34px);
  font-weight: 450;
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
  transition: color .2s;
}
.resource-card > p { margin: 0 0 28px; color: #b6becd; font-size: 16px; line-height: 1.75; }
.resource-action {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  margin-top: auto;
  color: #c6d4fa;
  font-size: 14px;
  border-bottom: 1px solid #809ed05e;
}
.resource-action > span { color: #9cb7ff; font-size: 23px; }
.resource-card:hover h3, .resource-card:focus-visible h3 { color: #aec2fa; }
.resource-card:hover .resource-action, .resource-card:focus-visible .resource-action { border-color: #a8bfff; }
.home-page .training-route { margin-top: 0; padding-top: 24px; border-top: 0; align-items: center; }
.home-page .training-route a { min-height: 44px; align-items: center; }
@media (max-width: 900px) {
  .resource-list { grid-template-columns: 1fr; }
  .resource-card, .resource-card:first-child, .resource-card:last-child { padding: 28px 0; }
  .resource-card + .resource-card { border-left: 0; border-top: 1px solid #7388b23d; }
  .resource-card h3 { min-height: 0; margin: 18px 0 14px; font-size: 30px; }
  .resource-card > p { max-width: 60ch; margin-bottom: 18px; }
}
.home-page .person-section { padding-top: 90px; padding-bottom: 90px; }
.home-page .person-copy > p { margin-top: 22px; }
.home-page .connect-section { padding-top: 38px; padding-bottom: 60px; }
.home-page .connect-link { font-size: clamp(42px, 5.5vw, 76px); }

@media (min-width: 701px) and (max-width: 1100px) {
  .site-header { gap: 16px; }
  .site-nav { gap: 16px; }
}
@media (min-width: 701px) and (max-width: 850px) {
  .site-header { gap: 12px; }
  .site-nav { gap: 12px; }
  .site-nav a { font-size: 11px; }
}
@media (max-width: 700px) {
  .home-page .signal-hero { padding: 124px var(--gutter) 50px; }
  .home-intro h1 { font-size: clamp(38px, 10.5vw, 48px); }
  .home-intro > p { font-size: 17px; margin-top: 22px; max-width: 420px; }
  .home-intro .hero-actions { gap: 16px 22px; margin-top: 26px; }
  .home-intro .hero-actions .button { font-size: 14px; }
  .home-intro .hero-actions .text-link { font-size: 14px; }
  .home-page .latest-section { padding-top: 34px; padding-bottom: 56px; }
  .home-page .latest-heading { display: flex; flex-wrap: wrap; gap: 16px 24px; }
  .home-page .latest-heading h2 { flex: 1 0 100%; }
  .writing-feature { padding: 24px 0 28px; gap: 22px; }
  .writing-meta { gap: 10px 14px; }
  .writing-summary > p { font-size: 16px; }
  .writing-meta time { flex-basis: 100%; margin-left: 0; }
  .home-page .learning-section { padding-top: 52px; padding-bottom: 40px; }
  .home-page .learning-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
  .home-page .learning-heading > p { grid-row: 2; font-size: 16px; }
  .home-page .learning-heading .text-link { justify-self: start; font-size: 13px; }
  .home-page .person-section { padding-top: 64px; padding-bottom: 64px; }
  .home-page .connect-section { padding-top: 26px; padding-bottom: 42px; }
  html:not(.js) .home-page .signal-hero { padding-top: 48px; }
}
