@font-face {
  font-family: "Ramesha";
  src: url("/assets/Ramesha-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Ramesha";
  src: url("/assets/Ramesha-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #0a0d0b;
  --ink-soft: #131914;
  --ink-raised: #192119;
  --paper: #f2eee3;
  --paper-muted: #c8c6ba;
  --line: rgba(242, 238, 227, 0.14);
  --line-strong: rgba(242, 238, 227, 0.28);
  --lime: #bbf15d;
  --mint: #82cbbb;
  --warm: #d5a86f;
  --terracotta: #79422f;
  --warning: #eccb77;
  --danger: #ef9c86;
  --display: "Ramesha", Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html {
  background: var(--ink);
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 74% -10%, rgba(130, 203, 187, 0.12), transparent 34rem),
    var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

button, input { font: inherit; }
a { color: inherit; }
button { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  border-radius: 99px;
  background: var(--lime);
  color: var(--ink);
  font-weight: 800;
}

.skip-link:focus { transform: none; }

.atlas-shell {
  width: min(1540px, calc(100% - 48px));
  margin-inline: auto;
}

#atlas-explorer,
.encyclopedia,
.method-note,
.experience-cta { scroll-margin-top: 96px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  border-bottom: 1px solid rgba(10, 13, 11, .14);
  background: rgba(242, 238, 227, .97);
  color: var(--ink);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
  min-height: 84px;
}

.brand {
  display: inline-flex;
  align-items: center;
  width: 178px;
  text-decoration: none;
}

.brand img { display: block; width: 100%; height: auto; object-fit: contain; filter: none; }

.site-nav { display: flex; justify-content: flex-end; align-items: center; gap: 4px; }
.site-nav > a,
.solutions-trigger {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 13px;
  color: var(--ink);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
}
.solutions-trigger {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.solutions-trigger > span {
  margin-left: .4rem;
  font-size: 1rem;
  transition: transform .18s ease;
}

.site-nav > a:not(.site-nav__cta)::after,
.solutions-trigger::after {
  position: absolute;
  right: 13px;
  bottom: 5px;
  left: 13px;
  height: 1px;
  background: #507262;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
.site-nav > a:hover::after,
.site-nav > a:focus-visible::after,
.solutions-trigger:hover::after,
.solutions-trigger:focus-visible::after { transform: scaleX(1); }

.solutions-menu { position: relative; }
.solutions-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 30;
  display: grid;
  visibility: hidden;
  width: min(480px, 86vw);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 8px;
  border: 1px solid rgba(10, 13, 11, .14);
  border-radius: 18px;
  background: #f2eee3;
  box-shadow: 0 24px 56px rgba(10, 13, 11, .18);
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.solutions-menu[data-open] .solutions-panel {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.solutions-menu[data-open] .solutions-trigger > span { transform: rotate(45deg); }
.solutions-panel a {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .26rem;
  padding: 14px;
  border-radius: 12px;
  color: var(--ink);
  text-decoration: none;
}
.solutions-panel a:hover,
.solutions-panel a:focus-visible { background: rgba(10, 13, 11, .07); }
.solutions-panel strong { font-size: .76rem; line-height: 1.25; }
.solutions-panel small { color: #5d645c; font-size: .64rem; line-height: 1.35; }
.site-nav__cta {
  margin-left: .35rem;
  padding: 10px 18px !important;
  border: 1px solid var(--ink);
  border-radius: 99px;
  background: var(--ink);
  color: var(--paper) !important;
}
.site-nav__cta:hover, .site-nav__cta:focus-visible { background: #27342d; }

.site-menu-toggle {
  display: none;
  align-items: center;
  gap: .75rem;
  min-height: 44px;
  padding: 8px 0 8px 14px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.site-menu-toggle__icon {
  position: relative;
  width: 25px;
  height: 10px;
  border-top: 2px solid;
  border-bottom: 2px solid;
}

.atlas-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, .65fr);
  gap: 4rem;
  align-items: end;
  padding: clamp(3.5rem, 7vw, 7.5rem) 0 clamp(2.8rem, 5vw, 5rem);
}

.kicker {
  display: flex;
  align-items: center;
  gap: .72rem;
  margin: 0 0 1.25rem;
  color: var(--lime);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.kicker::before {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

.atlas-hero h1 {
  max-width: 950px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.45rem, 7.7vw, 8.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .84;
}

.atlas-hero h1 em { color: var(--lime); font-style: normal; }
.atlas-hero h1 span { display: block; }

.atlas-hero__intro {
  max-width: 36rem;
  margin: 0;
  padding-left: 1.25rem;
  border-left: 1px solid var(--line-strong);
  color: var(--paper-muted);
  font-size: .97rem;
}

.atlas-hero__status {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  color: var(--mint);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.atlas-hero__status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 0 5px rgba(130, 203, 187, .1);
}

.atlas-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem 1rem;
  margin-top: 1.35rem;
}

.atlas-hero__actions small {
  max-width: 25ch;
  color: var(--paper-muted);
  font-size: .74rem;
  line-height: 1.45;
}

.atlas-app {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(440px, 1.72fr) minmax(300px, .94fr);
  grid-template-rows: minmax(0, 1fr);
  height: min(840px, calc(100vh - 48px));
  min-height: 720px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 28px;
  background: #0d120f;
  box-shadow: 0 40px 110px rgba(0, 0, 0, .38);
}

.atlas-sidebar,
.atlas-viewer,
.atlas-detail { min-height: 0; }

.atlas-sidebar,
.atlas-detail {
  min-width: 0;
  background: rgba(13, 18, 15, .92);
}

.atlas-sidebar {
  z-index: 5;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
}

.atlas-panel-head {
  padding: 1.35rem;
  border-bottom: 1px solid var(--line);
}

.atlas-panel-head p,
.atlas-detail__eyebrow {
  margin: 0 0 .5rem;
  color: var(--mint);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.atlas-panel-head h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.65rem;
  font-weight: 400;
}

.atlas-search {
  position: relative;
  display: block;
  margin: 1.15rem 1.15rem .85rem;
}

.atlas-search::before {
  content: "⌕";
  position: absolute;
  top: 50%;
  left: .9rem;
  transform: translateY(-52%);
  color: var(--paper-muted);
  font-size: 1.35rem;
  pointer-events: none;
}

.atlas-search input {
  width: 100%;
  min-height: 46px;
  padding: .7rem .8rem .7rem 2.55rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  outline: none;
  background: rgba(255,255,255,.035);
  color: var(--paper);
}

.atlas-search input::placeholder { color: #868b84; }
.atlas-search input:focus { border-color: var(--mint); box-shadow: 0 0 0 3px rgba(130, 203, 187, .12); }

.atlas-filters {
  display: flex;
  gap: .45rem;
  overflow-x: auto;
  padding: 0 1.15rem .9rem;
  scrollbar-width: none;
}

.atlas-filters::-webkit-scrollbar { display: none; }

.atlas-filter {
  flex: 0 0 auto;
  min-height: 44px;
  padding: .48rem .72rem;
  border: 1px solid var(--line);
  border-radius: 99px;
  background: transparent;
  color: var(--paper-muted);
  cursor: pointer;
  font-size: .69rem;
  font-weight: 750;
}

.atlas-filter[aria-pressed="true"] { border-color: var(--lime); background: var(--lime); color: var(--ink); }

.atlas-list {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .15rem .7rem 1rem;
  scrollbar-color: rgba(187, 241, 93, .35) transparent;
}

.atlas-list-empty { padding: 1rem; color: var(--paper-muted); font-size: .84rem; }

.atlas-pager {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 46px;
  padding: .35rem .7rem .65rem;
  border-top: 1px solid var(--line);
}

.atlas-pager button {
  display: grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
}

.atlas-pager button:hover:not(:disabled) { border-color: var(--lime); color: var(--lime); }
.atlas-pager button:disabled { cursor: not-allowed; opacity: .28; }
.atlas-pager span { min-width: 3.2rem; color: var(--paper-muted); font-size: .67rem; font-weight: 800; text-align: center; }

.atlas-item {
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: .82rem .7rem;
  border: 0;
  border-bottom: 1px solid rgba(242, 238, 227, .075);
  border-radius: 11px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.atlas-item:hover { background: rgba(255,255,255,.045); }
.atlas-item[aria-current="true"] { background: rgba(187, 241, 93, .1); }
.atlas-item[aria-current="true"] .atlas-item__index { border-color: var(--lime); color: var(--lime); }

.atlas-item__index {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--paper-muted);
  font-family: var(--display);
  font-size: .73rem;
}

.atlas-item__copy { min-width: 0; }
.atlas-item__copy strong { display: -webkit-box; overflow: hidden; font-size: .78rem; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.atlas-item__copy span { display: block; overflow: hidden; margin-top: .12rem; color: #959b93; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.atlas-item__state { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(130,203,187,.08); }
.atlas-item__state.is-ready { background: var(--lime); box-shadow: 0 0 0 4px rgba(187,241,93,.11), 0 0 16px rgba(187,241,93,.24); }
.atlas-item__state.is-pending { background: var(--warning); box-shadow: 0 0 0 4px rgba(224,182,98,.08); }

.atlas-viewer {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 49.88%, rgba(255,255,255,.035) 50%, transparent 50.12%),
    linear-gradient(transparent 49.88%, rgba(255,255,255,.025) 50%, transparent 50.12%),
    radial-gradient(ellipse at 50% 44%, rgba(130, 203, 187, .15), transparent 33%),
    radial-gradient(ellipse at 50% 80%, rgba(187, 241, 93, .08), transparent 30%),
    #080c0a;
  background-size: 120px 120px, 120px 120px, auto, auto, auto;
}

.atlas-viewer::before {
  content: "";
  position: absolute;
  inset: 8% 12% 12%;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 50%;
  pointer-events: none;
}

.atlas-viewer__meta {
  position: absolute;
  z-index: 5;
  top: 1.15rem;
  left: 1.15rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  max-width: calc(100% - 350px);
}

.viewer-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: .45rem .7rem;
  border: 1px solid var(--line);
  border-radius: 99px;
  background: rgba(8, 12, 10, .72);
  backdrop-filter: blur(14px);
  color: var(--paper-muted);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.viewer-chip--accent { border-color: rgba(187, 241, 93, .38); color: var(--lime); }

.atlas-stage { position: absolute; inset: 0; }
.atlas-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.atlas-stage canvas:active { cursor: grabbing; }
.atlas-stage .anatomy-map__view-rail { bottom: 5rem; }
.atlas-stage .anatomy-map__readout { bottom: 8.7rem; }
.atlas-stage .anatomy-map__systems-panel { top: 4.7rem; bottom: 5.2rem; }
.atlas-app.is-active .atlas-selection { display: none; }

.atlas-view-switcher {
  position: absolute;
  z-index: 12;
  top: 1.05rem;
  right: 1.05rem;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: .22rem;
  padding: .24rem;
  border: 1px solid rgba(242,238,227,.18);
  border-radius: 999px;
  background: rgba(8,12,10,.78);
  box-shadow: 0 16px 46px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}

.atlas-view-switcher[hidden],
.atlas-media-stage[hidden] { display: none !important; }

.atlas-view-switcher button {
  min-height: 44px;
  padding: .55rem .8rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--paper-muted);
  cursor: pointer;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.atlas-view-switcher button[aria-pressed="true"] {
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 7px 20px rgba(0,0,0,.22);
}

.atlas-media-stage {
  position: absolute;
  z-index: 6;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 35%, rgba(130,203,187,.16), transparent 35%),
    linear-gradient(145deg, #101814 0%, #080c0a 58%, #111a15 100%);
}

.atlas-media-stage::before {
  content: "";
  position: absolute;
  inset: 9% 12% 12%;
  border: 1px solid rgba(242,238,227,.08);
  border-radius: 50%;
  box-shadow: inset 0 0 80px rgba(130,203,187,.025);
  pointer-events: none;
}

.atlas-media-stage figure { position: relative; width: 100%; height: 100%; margin: 0; }

.atlas-media-stage img {
  position: absolute;
  inset: 4.7rem 1rem 12rem;
  width: calc(100% - 2rem);
  height: calc(100% - 16.7rem);
  object-fit: contain;
  filter: drop-shadow(0 28px 42px rgba(0,0,0,.48));
}

.atlas-media-stage figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: min(355px, calc(100% - 2rem));
  padding: .78rem .9rem;
  border: 1px solid rgba(242,238,227,.12);
  border-radius: 14px;
  background: rgba(8,12,10,.76);
  backdrop-filter: blur(18px);
}

.atlas-media-stage figcaption strong,
.atlas-media-stage figcaption span,
.atlas-media-stage figcaption small { display: block; }
.atlas-media-stage figcaption strong { color: var(--paper); font-family: var(--display); font-size: 1.05rem; font-weight: 400; }
.atlas-media-stage figcaption span { margin-top: .28rem; color: var(--paper-muted); font-size: .66rem; line-height: 1.45; }
.atlas-media-stage figcaption small { margin-top: .45rem; color: #b7bdb5; font-size: .56rem; line-height: 1.35; }

.atlas-media-back {
  position: absolute;
  z-index: 8;
  left: 1rem;
  bottom: 1rem;
  min-height: 44px;
  padding: .6rem .85rem;
  border: 1px solid rgba(242,238,227,.18);
  border-radius: 999px;
  background: rgba(8,12,10,.78);
  color: var(--paper);
  backdrop-filter: blur(18px);
  cursor: pointer;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.atlas-media-back:hover { border-color: rgba(187,241,93,.52); color: var(--lime); }
.atlas-app.is-showing-media .atlas-orbit-hint,
.atlas-app.is-showing-media .atlas-selection { opacity: 0; pointer-events: none; }
.atlas-app.is-showing-media .atlas-orbit-hint,
.atlas-app.is-showing-media .atlas-selection { display: none; }
.atlas-app.is-showing-media .atlas-toolbar {
  width: min(126px, calc(100% - 2rem));
  grid-template-columns: 1fr;
}
.atlas-app.is-showing-media .atlas-toolbar .icon-button:not([data-atlas-tour]) { display: none; }

.atlas-poster {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 5rem 2rem 7rem;
  text-align: center;
  transition: opacity .4s ease, visibility .4s ease;
}

.atlas-poster[hidden] { display: none !important; }

.atlas-poster > div {
  display: grid;
  grid-template-columns: 165px minmax(0, 330px);
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
}

.atlas-app.is-active .atlas-poster { visibility: hidden; opacity: 0; pointer-events: none; }

.atlas-poster__figure {
  position: relative;
  width: min(170px, 38vw);
  aspect-ratio: .62;
  margin-inline: auto;
  isolation: isolate;
  filter: drop-shadow(0 30px 34px rgba(0,0,0,.65));
}

.atlas-poster__figure::before,
.atlas-poster__figure::after {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(187,241,93,.34);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(187,241,93,.22) 0 2%, transparent 2.5%),
    radial-gradient(circle at 50% 50%, transparent 0 30%, rgba(130,203,187,.2) 30.5% 31%, transparent 31.5%),
    conic-gradient(from 25deg, transparent 0 12%, rgba(130,203,187,.38) 12.5% 13%, transparent 13.5% 37%, rgba(187,241,93,.42) 37.5% 38%, transparent 38.5% 69%, rgba(130,203,187,.3) 69.5% 70%, transparent 70.5%);
  box-shadow: inset 0 0 42px rgba(130,203,187,.08), 0 0 70px rgba(130,203,187,.06);
}

.atlas-poster__figure::before {
  inset: 0;
  border: 0;
  border-radius: 0;
  background: url('/assets/anatomy-atlas/images/esqueleto-completo-explodido-r01-640.webp') center / contain no-repeat;
  box-shadow: none;
}

.atlas-poster__figure::after {
  z-index: -1;
  inset: -8%;
  border: 0;
  background: radial-gradient(ellipse, rgba(130,203,187,.2), transparent 62%);
  filter: blur(20px);
}

.atlas-poster__copy { position: relative; z-index: 2; max-width: 32rem; margin-top: 0; text-align: left; }
.atlas-poster__copy h2 { margin: 0; font-family: var(--display); font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 400; line-height: .98; }
.atlas-poster__copy p { max-width: 28rem; margin: .9rem 0 1.25rem; color: var(--paper-muted); font-size: .84rem; }

.primary-button,
.ghost-button,
.icon-button {
  border: 0;
  cursor: pointer;
}

.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .78rem 1.2rem;
  border-radius: 99px;
  background: var(--lime);
  color: var(--ink);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 14px 40px rgba(187,241,93,.12);
}

.primary-button:hover { background: #cbff73; transform: translateY(-1px); }
.primary-button:disabled { cursor: wait; opacity: .6; }

.atlas-loading {
  position: absolute;
  z-index: 4;
  inset: auto 50% 18%;
  width: min(320px, 68%);
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}

.atlas-app.is-loading .atlas-loading { opacity: 1; }
.atlas-loading__track { height: 2px; overflow: hidden; background: var(--line); }
.atlas-loading__bar { display: block; width: 0; height: 100%; background: var(--lime); transition: width .2s ease; }
.atlas-loading p { margin: .55rem 0 0; color: var(--paper-muted); font-size: .7rem; text-align: center; }

.atlas-selection {
  position: absolute;
  z-index: 4;
  left: 1.2rem;
  bottom: 5.8rem;
  max-width: min(360px, calc(100% - 2.4rem));
  padding: .78rem 1rem;
  border-left: 2px solid var(--lime);
  background: rgba(8,12,10,.72);
  backdrop-filter: blur(14px);
}

.atlas-selection small { display: block; color: var(--mint); font-size: .59rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.atlas-selection strong { display: block; margin-top: .16rem; font-family: var(--display); font-size: 1.15rem; font-weight: 400; }

.atlas-toolbar {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: .85rem;
  display: grid;
  width: min(calc(100% - 1.5rem), 760px);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .35rem;
  padding: .42rem;
  border: 1px solid rgba(242,238,227,.14);
  border-radius: 16px;
  background: rgba(8,12,10,.86);
  box-shadow: 0 18px 44px rgba(0,0,0,.36);
  backdrop-filter: blur(16px);
  transform: translateX(-50%);
}

.icon-button {
  display: inline-flex;
  min-width: 0;
  height: 46px;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  padding: .45rem .5rem;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
  color: var(--paper);
  cursor: pointer;
}

.icon-button > span { color: var(--warm); font-size: 1rem; line-height: 1; }
.icon-button > strong { overflow: hidden; font-size: .62rem; font-weight: 820; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.icon-button:hover, .icon-button[aria-pressed="true"] { border-color: rgba(213,168,111,.62); color: var(--paper); background: rgba(213,168,111,.09); }
.icon-button:hover > span, .icon-button[aria-pressed="true"] > span { color: var(--warm); }
.icon-button--tour > span { color: var(--lime); }
.icon-button--tour[aria-pressed="true"] { border-color: rgba(187,241,93,.55); background: rgba(187,241,93,.1); }
.icon-button--tour[aria-pressed="true"] > span { color: var(--lime); }
.icon-button:disabled { cursor: not-allowed; opacity: .35; }

.atlas-orbit-hint {
  position: absolute;
  z-index: 6;
  top: 4rem;
  left: 50%;
  margin: 0;
  padding: .48rem .7rem;
  border: 1px solid rgba(130,203,187,.2);
  border-radius: 999px;
  background: rgba(8,12,10,.72);
  color: var(--paper-muted);
  font-size: .62rem;
  letter-spacing: .025em;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity .25s ease;
  white-space: nowrap;
}

.atlas-orbit-hint span { color: var(--lime); font-size: .85rem; }
.atlas-orbit-hint .gesture-copy { color: inherit; font-size: inherit; }
.gesture-copy--mobile { display: none; }
.atlas-app.is-active .atlas-orbit-hint { opacity: 1; }
.atlas-app.has-interacted .atlas-orbit-hint { opacity: .32; }

.atlas-detail {
  z-index: 5;
  display: flex;
  min-height: 0;
  flex-direction: column;
  border-left: 1px solid var(--line);
}

.atlas-detail__scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.55rem;
  scrollbar-color: rgba(187,241,93,.35) transparent;
}

.atlas-detail__number {
  display: inline-grid;
  width: 35px;
  height: 35px;
  margin-bottom: 1.4rem;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--lime);
  font-family: var(--display);
  font-size: .8rem;
}

.atlas-detail h2 { margin: 0; font-family: var(--display); font-size: clamp(2.05rem, 3vw, 3.35rem); font-weight: 400; letter-spacing: -.025em; line-height: .94; }
.atlas-detail__latin { margin: .5rem 0 0; color: var(--mint); font-family: var(--display); font-size: .9rem; font-style: italic; }

.atlas-badges { display: flex; flex-wrap: wrap; gap: .42rem; margin: 1.1rem 0 1.4rem; }
.atlas-badge { padding: .38rem .6rem; border: 1px solid var(--line); border-radius: 99px; color: var(--paper-muted); font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.atlas-badge--pending { border-color: rgba(236,203,119,.38); color: var(--warning); }
.atlas-badge--model { border-color: rgba(130,203,187,.35); color: var(--mint); }

.atlas-detail__lead { margin: 0; color: #dfded5; font-size: .9rem; line-height: 1.68; }

.atlas-fact { margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.atlas-fact summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  color: var(--paper-muted);
  cursor: pointer;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .14em;
  list-style: none;
  text-transform: uppercase;
}
.atlas-fact summary::-webkit-details-marker { display: none; }
.atlas-fact summary span:last-child { color: var(--mint); font-size: .9rem; transition: transform .18s ease; }
.atlas-fact[open] summary span:last-child { transform: rotate(45deg); }
.atlas-fact[open] summary { margin-bottom: .5rem; }
.atlas-fact p { margin: 0; color: #c5c6bd; font-size: .79rem; line-height: 1.65; }
.atlas-fact ul { margin: .2rem 0 0; padding-left: 1.05rem; color: #c5c6bd; font-size: .78rem; }
.atlas-fact li + li { margin-top: .38rem; }

.atlas-source-list { display: grid; gap: .55rem; margin-top: .7rem; }
.atlas-source { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.07); color: var(--paper-muted); font-size: .68rem; text-decoration: none; }
.atlas-source:hover { color: var(--lime); }
.atlas-source span:last-child { flex: 0 0 auto; }

.atlas-accuracy {
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(236,203,119,.23);
  border-radius: 14px;
  background: rgba(236,203,119,.055);
}

.atlas-accuracy strong { display: block; color: var(--warning); font-size: .65rem; letter-spacing: .09em; text-transform: uppercase; }
.atlas-accuracy p { margin: .42rem 0 0; color: #c7c3b5; font-size: .7rem; line-height: 1.55; }

.atlas-error {
  position: absolute;
  z-index: 8;
  inset: 50% auto auto 50%;
  display: none;
  width: min(360px, calc(100% - 3rem));
  transform: translate(-50%, -50%);
  padding: 1.2rem;
  border: 1px solid rgba(239,156,134,.35);
  border-radius: 16px;
  background: rgba(21, 15, 13, .93);
  text-align: center;
}
.atlas-app.has-error .atlas-error { display: block; }
.atlas-error strong { display: block; color: var(--danger); }
.atlas-error p { margin: .5rem 0 0; color: var(--paper-muted); font-size: .77rem; }

.encyclopedia { padding: clamp(3rem, 6vw, 5rem) 0; }

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .6fr);
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
}

.section-head h2 { max-width: 800px; margin: 0; font-family: var(--display); font-size: clamp(2.8rem, 5.5vw, 6.3rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; text-wrap: balance; }
.section-head h2 span { display: block; }
.section-head p { margin: 0; color: var(--paper-muted); font-size: .9rem; }
.section-head .kicker { margin-bottom: 1.25rem; color: var(--lime); font-size: .72rem; }

.kicker--stacked {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 0 .72rem;
  align-items: start;
}
.kicker--stacked::before { grid-column: 1; grid-row: 1; margin-top: .55em; }
.kicker--stacked > span { display: block; grid-column: 2; }

.system-rail-tools {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: .8rem;
}

.system-rail-hint { margin: 0; color: var(--paper); font-size: .78rem; font-weight: 750; }
.system-rail-hint span { margin-right: .35rem; color: var(--lime); font-size: 1rem; }
.system-rail-tools small { display: block; margin-top: .22rem; color: var(--paper-muted); font-size: .69rem; }
.system-rail-controls { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; }
.system-rail-controls button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: rgba(255,255,255,.03);
  color: var(--paper);
  cursor: pointer;
  font-size: 1rem;
}
.system-rail-controls button:hover:not(:disabled),
.system-rail-controls button:focus-visible { border-color: var(--lime); color: var(--lime); }
.system-rail-controls button:disabled { cursor: default; opacity: .28; }
.system-rail-controls output { min-width: 5.2rem; color: var(--lime); font-size: .69rem; font-weight: 800; text-align: center; }

.system-grid { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(280px, 32vw, 330px); grid-template-rows: 270px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 1px; scrollbar-gutter: stable; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line); scrollbar-color: rgba(187,241,93,.35) transparent; }
.system-card { position: relative; width: auto; height: 100%; min-height: 0; overflow: hidden; padding: 1.25rem; scroll-snap-align: start; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.045), transparent 62%); transition: background .18s ease, transform .18s ease; }
.system-card:hover { background: linear-gradient(145deg, rgba(187,241,93,.075), rgba(255,255,255,.018) 62%); }
.system-card__index { color: var(--lime); font-family: var(--display); font-size: .75rem; }
.system-card h3 { display: -webkit-box; overflow: hidden; margin: 1.35rem 0 .55rem; font-family: var(--display); font-size: 1.55rem; font-weight: 400; line-height: 1.05; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.system-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--paper-muted); font-size: .8rem; line-height: 1.58; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.system-card button { position: absolute; right: 1.2rem; bottom: 1.1rem; left: 1.2rem; display: flex; min-height: 48px; align-items: center; justify-content: space-between; padding: .62rem .78rem; border: 1px solid rgba(130,203,187,.32); border-radius: 999px; background: rgba(130,203,187,.045); color: var(--mint); cursor: pointer; font-size: .65rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.system-card button:hover, .system-card button:focus-visible { border-color: var(--lime); color: var(--lime); background: rgba(187,241,93,.075); }

.method-note {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border: 1px solid var(--line-strong);
  border-radius: 28px;
  background: var(--paper);
  color: var(--ink);
}

.method-note h2 { margin: 0; font-family: var(--display); font-size: clamp(2.25rem, 4vw, 4.2rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.method-note h2 span { display: block; }
.method-note .kicker { color: var(--terracotta); }
.method-note :focus-visible { outline-color: var(--terracotta); }
.method-note__copy { display: grid; gap: .75rem; }
.method-note__copy p { margin: 0; color: #40473f; font-size: .88rem; line-height: 1.55; }
.method-note__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; margin-top: .35rem; }
.method-note__item { padding-top: 1rem; border-top: 1px solid rgba(10,13,11,.18); }
.method-note__item strong { display: block; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.method-note__item span { display: block; margin-top: .45rem; color: #5d645c; font-size: .72rem; }

.method-note__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-top: .5rem; }
.method-note__actions a { display: inline-flex; min-height: 44px; align-items: center; padding: .65rem .95rem; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.method-note__actions a:hover, .method-note__actions a:focus-visible { background: #27342d; }
.method-note__actions small { max-width: 28ch; color: #5d645c; font-size: .69rem; line-height: 1.45; }

.experience-cta {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(280px,.7fr);
  gap: clamp(1.5rem,4vw,4rem);
  align-items: end;
  margin-top: clamp(2rem,5vw,4.5rem);
  padding: clamp(1.6rem,4vw,3.2rem);
  border: 1px solid var(--line-strong);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(130,203,187,.08), rgba(187,241,93,.035) 62%, transparent);
}
.experience-cta h2 { max-width: 900px; margin: 0; font-family: var(--display); font-size: clamp(2.25rem,4.7vw,5rem); font-weight: 400; letter-spacing: -.045em; line-height: .92; text-wrap: balance; }
.experience-cta__copy { display: grid; justify-items: start; gap: 1rem; }
.experience-cta__copy p { margin: 0; color: var(--paper-muted); font-size: .9rem; line-height: 1.65; }
.experience-cta__copy small { color: var(--mint); font-size: .68rem; }

.atlas-footer { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; padding: 3rem 0 1.5rem; color: var(--paper-muted); }
.atlas-footer strong { font-family: var(--display); color: var(--paper); font-size: 1.35rem; font-weight: 400; }
.atlas-footer p { max-width: 540px; margin: .5rem 0 0; font-size: .72rem; }
.atlas-footer nav { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.atlas-footer a { display: inline-flex; min-height: 44px; align-items: center; padding: .35rem .1rem; font-size: .7rem; text-decoration: none; }
.atlas-footer a:hover { color: var(--lime); }

:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }

@media (max-width: 960px) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    min-height: 72px;
  }

  .brand { width: 160px; }
  .site-menu-toggle { display: inline-flex; justify-self: end; cursor: pointer; }

  .site-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px 18px 24px;
    border-top: 1px solid rgba(10, 13, 11, .14);
    background: var(--paper);
    box-shadow: 0 30px 50px rgba(16, 18, 15, .14);
  }

  .site-header[data-menu-open] .site-nav { display: flex; }
  .site-nav > a,
  .solutions-trigger { justify-content: space-between; width: 100%; padding: 14px 0; border-bottom: 1px solid rgba(10, 13, 11, .12); }
  .site-nav > a::after,
  .solutions-trigger::after { display: none; }
  .solutions-menu { width: 100%; }
  .solutions-panel {
    position: static;
    display: none;
    visibility: visible;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 6px 0 10px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    transform: none;
  }
  .solutions-menu[data-open] .solutions-panel { display: grid; }
  .solutions-panel a { padding: 10px 0; border-bottom: 1px solid rgba(10, 13, 11, .1); border-radius: 0; }
  .site-nav__cta { justify-content: center !important; margin: 12px 0 0; padding: 12px 16px !important; border-bottom: 1px solid var(--ink) !important; }

  .site-header[data-menu-open] .site-menu-toggle__icon {
    height: 2px;
    border-bottom: 0;
    transform: rotate(45deg);
  }

  .site-header[data-menu-open] .site-menu-toggle__icon::after {
    position: absolute;
    inset: -2px 0 auto;
    height: 2px;
    background: currentColor;
    content: "";
    transform: rotate(90deg);
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .atlas-app { height: clamp(620px, calc(100svh - 24px), 760px); min-height: 0; grid-template-columns: minmax(220px,255px) minmax(0,1fr); grid-template-rows: minmax(0,1fr) 230px; }
  .atlas-sidebar, .atlas-viewer, .atlas-detail { min-height: 0; }
  .atlas-list { min-height: 0; overflow-y: auto; }
  .atlas-detail { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .atlas-detail__scroll { display: grid; height: 100%; min-height: 0; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 2rem; overflow-y: auto; }
  .atlas-detail__header { position: sticky; top: 1rem; align-self: start; }
  .atlas-detail__body { min-width: 0; }
  .atlas-viewer__meta { max-width: calc(100% - 285px); }
  .viewer-chip:nth-child(2) { display: none; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 80px; }
  .atlas-shell { width: min(100% - 28px, 1540px); }
  #atlas-explorer, .encyclopedia, .method-note, .experience-cta { scroll-margin-top: 80px; }
  .atlas-hero { grid-template-columns: 1fr; gap: 1.25rem; padding: 2.5rem 0 2rem; }
  .atlas-hero h1 { font-size: clamp(3.5rem, 13vw, 5.4rem); }
  .atlas-hero__intro { max-width: none; }
  .atlas-hero__status { margin-top: .75rem; }
  .atlas-app { display: grid; height: auto; min-height: 0; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(500px,64svh) auto auto; border-radius: 20px; }
  .atlas-sidebar { position: relative; display: grid; grid-row: 2; height: auto; min-height: 0; grid-template-columns: minmax(230px,1fr) auto; grid-template-rows: 52px 80px; overflow: hidden; border-top: 1px solid var(--line); border-right: 0; }
  .atlas-panel-head { display: none; }
  .atlas-search { grid-column: 1; grid-row: 1; margin: .4rem .5rem; }
  .atlas-search input { min-height: 48px; }
  .atlas-filters { grid-column: 2; grid-row: 1; align-items: center; max-width: 350px; padding: 0 .5rem; }
  .atlas-list { display: flex; grid-column: 1; grid-row: 2; gap: .5rem; width: 100%; height: auto; max-height: none; overflow-x: auto; overflow-y: hidden; padding: .45rem .5rem .55rem; scroll-snap-type: x mandatory; scroll-padding-inline: .5rem; }
  .atlas-item { flex: 0 0 min(220px, 42vw); height: 62px; padding: .55rem .65rem; border: 1px solid var(--line); scroll-snap-align: start; }
  .atlas-pager { position: relative; z-index: 8; grid-column: 2; grid-row: 2; align-self: stretch; width: 142px; height: auto; min-height: 0; gap: .25rem; margin: .45rem .5rem .55rem 0; padding: .25rem; border: 1px solid var(--line); border-radius: 12px; background: rgba(8,12,10,.9); }
  .atlas-pager button { width: 44px; min-width: 44px; height: 48px; flex-basis: 44px; border-radius: 9px; }
  .atlas-pager span { min-width: 2rem; font-size: .58rem; }
  .atlas-viewer { grid-row: 1; height: auto; min-height: 0; }
  .atlas-viewer__meta { display: none; }
  .atlas-poster > div { display: block; }
  .atlas-poster__figure { width: 110px; }
  .atlas-poster__copy { margin-top: -1rem; text-align: center; }
  .atlas-poster__copy p { margin-inline: auto; }
  .atlas-detail { grid-row: 3; height: auto; min-height: 0; border-top: 1px solid var(--line); }
  .atlas-detail__scroll { display: block; height: auto; min-height: 0; overflow: visible; padding: 1.15rem; }
  .atlas-stage canvas { touch-action: pan-y pinch-zoom; }
  .atlas-detail__header { position: static; }
  .atlas-detail__body { margin-top: .75rem; }
  .atlas-detail__number { width: 28px; height: 28px; margin-bottom: .7rem; }
  .atlas-detail h2 { font-size: clamp(1.8rem,4vw,2.35rem); }
  .atlas-badges { margin: .75rem 0 1rem; }
  .atlas-fact { margin-top: 1rem; padding-top: .8rem; }
  .atlas-toolbar { bottom: .55rem; width: calc(100% - 1rem); grid-template-columns: repeat(4,minmax(0,1fr)); gap: .3rem; padding: .35rem; border-radius: 14px; }
  .atlas-toolbar [data-atlas-zoom-out], .atlas-toolbar [data-atlas-zoom-in] { display: none; }
  .atlas-toolbar [data-atlas-reset] { display: none; }
  .atlas-app.is-showing-media .atlas-toolbar { top: 3.75rem; bottom: auto; width: 154px; grid-template-columns: 1fr; }
  .icon-button { height: 48px; padding: .4rem .48rem; border-radius: 10px; }
  .icon-button > strong { font-size: .68rem; }
  .atlas-selection { bottom: 4.35rem; display: block; max-width: calc(100% - 1.2rem); padding: .48rem .66rem; }
  .atlas-selection small { font-size: .51rem; }
  .atlas-selection strong { max-width: 24ch; overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
  .atlas-orbit-hint { top: 3.6rem; max-width: calc(100% - 1.2rem); overflow: visible; font-size: .7rem; line-height: 1.35; text-align: center; text-overflow: clip; white-space: normal; }
  .gesture-copy--desktop { display: none; }
  .gesture-copy--mobile { display: inline; }
  .atlas-view-switcher { top: .72rem; right: .72rem; }
  .atlas-view-switcher button { min-height: 48px; padding: .6rem .72rem; font-size: .57rem; }
  .atlas-media-stage img { inset: 4.2rem .5rem 6.8rem; width: calc(100% - 1rem); height: calc(100% - 11rem); }
  .atlas-media-stage figcaption { right: .6rem; bottom: 4.8rem; width: min(290px, calc(100% - 1.2rem)); padding: .58rem .68rem; }
  .atlas-media-stage figcaption strong { font-size: .9rem; }
  .atlas-media-stage figcaption span { font-size: .58rem; }
  .atlas-media-stage figcaption small { font-size: .51rem; }
  .atlas-media-back { left: .6rem; bottom: 4.8rem; min-height: 44px; padding: .48rem .64rem; font-size: .55rem; }
  .encyclopedia { padding: 3rem 0; }
  .section-head { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.25rem; }
  .section-head h2 { font-size: clamp(2.45rem,6vw,3.5rem); }
  .method-note { grid-template-columns: minmax(200px,.75fr) minmax(0,1.25fr); padding: 1.5rem; gap: 1.25rem; }
  .method-note__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
  .experience-cta { grid-template-columns: 1fr; align-items: start; }
  .atlas-footer { align-items: flex-start; flex-direction: column; padding: 2.5rem 0 1.5rem; gap: 1rem; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 72px; }
  .site-header__inner { min-height: 64px; }
  .brand { width: 136px; }
  .site-menu-toggle { min-height: 48px; }
  #atlas-explorer, .encyclopedia, .method-note, .experience-cta { scroll-margin-top: 72px; }
  .atlas-hero { padding-top: 2rem; }
  .atlas-hero h1 { font-size: clamp(3.25rem,16vw,4.65rem); line-height: .86; }
  .atlas-hero__intro { padding-left: .9rem; font-size: 1rem; line-height: 1.62; }
  .atlas-hero__status { align-items: flex-start; font-size: .7rem; line-height: 1.45; }
  .atlas-hero__actions { align-items: flex-start; flex-direction: column; }
  .atlas-hero__actions .primary-button { width: 100%; }
  .atlas-hero__actions small { max-width: none; font-size: .8rem; }
  .atlas-app { height: auto; grid-template-rows: minmax(500px,66svh) auto auto; }
  .atlas-app.is-showing-media:not([data-tour-state="playing"]) .atlas-toolbar { display: none; }
  .atlas-sidebar { grid-template-columns: 1fr; grid-template-rows: 60px auto 92px; }
  .atlas-search { grid-column: 1; grid-row: 1; }
  .atlas-search input { min-height: 48px; font-size: 1rem; }
  .atlas-filters { display: grid; grid-column: 1; grid-row: 2; max-width: none; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; overflow: visible; padding: .25rem .5rem .55rem; }
  .atlas-filter { width: 100%; min-height: 44px; padding: .5rem .35rem; font-size: .73rem; }
  .atlas-filter[data-scale="micro"] { grid-column: span 2; }
  .atlas-list { grid-column: 1; grid-row: 3; width: calc(100% - 152px); max-width: calc(100% - 152px); min-width: 0; overflow: hidden; contain: paint; touch-action: auto; }
  .atlas-item { min-height: 76px; flex-basis: 100%; padding: .62rem .7rem; }
  .atlas-item__copy strong { font-size: .88rem; }
  .atlas-item__copy span { font-size: .72rem; }
  .atlas-pager { position: absolute; right: .35rem; bottom: .45rem; width: 142px; height: 76px; margin: 0; }
  .atlas-pager button { width: 44px; min-width: 44px; height: 48px; flex-basis: 44px; }
  .atlas-pager span { min-width: 2.25rem; font-size: .68rem; }
  .atlas-toolbar { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .atlas-toolbar .icon-button { height: 52px; flex-direction: column; gap: .1rem; padding: .28rem .18rem; }
  .atlas-toolbar .icon-button > span { font-size: .9rem; }
  .atlas-toolbar .icon-button > strong { font-size: .64rem; letter-spacing: .02em; }
  .atlas-view-switcher { top: .55rem; left: 50%; right: auto; width: min(356px, calc(100% - 1.1rem)); grid-template-columns: repeat(2,minmax(0,1fr)); transform: translateX(-50%); }
  .atlas-media-stage img { inset: 3.7rem .35rem 5rem; width: calc(100% - .7rem); height: calc(100% - 8.7rem); }
  .atlas-media-stage figcaption { right: .5rem; bottom: .45rem; width: calc(100% - 1rem); padding: .5rem .62rem; }
  .atlas-media-stage figcaption span { display: none; }
  .atlas-media-stage figcaption small { margin-top: .28rem; font-size: .7rem; line-height: 1.42; }
  .atlas-media-back { display: none; }
  .atlas-detail__scroll { padding: 1.25rem; }
  .atlas-detail h2 { font-size: clamp(2rem,10vw,2.8rem); }
  .atlas-detail__lead { font-size: 1rem; line-height: 1.65; }
  .atlas-badge { font-size: .66rem; }
  .atlas-fact { margin-top: 1rem; padding-top: .65rem; }
  .atlas-fact summary { min-height: 48px; font-size: .72rem; }
  .atlas-fact p, .atlas-fact ul { font-size: .88rem; line-height: 1.62; }
  .atlas-accuracy p { font-size: .8rem; }
  .section-head, .method-note, .experience-cta { grid-template-columns: 1fr; }
  .section-head { gap: 1rem; }
  .section-head p { font-size: 1rem; line-height: 1.6; }
  .system-rail-tools { align-items: stretch; flex-direction: column; margin-bottom: 1rem; }
  .system-rail-hint { font-size: .86rem; }
  .system-rail-tools small { font-size: .76rem; }
  .system-rail-controls { justify-content: space-between; }
  .system-rail-controls button { width: 48px; height: 48px; }
  .system-rail-controls output { font-size: .76rem; }
  .system-grid { grid-auto-columns: 86%; grid-template-rows: 280px; padding-right: 14%; scrollbar-width: none; }
  .system-grid::-webkit-scrollbar { display: none; }
  .system-card h3 { font-size: 1.75rem; }
  .system-card p { font-size: .88rem; }
  .system-card button { min-height: 48px; font-size: .7rem; }
  .method-note { padding: 1.4rem; border-radius: 22px; }
  .method-note h2 { font-size: clamp(2.1rem,10.3vw,2.65rem); }
  .method-note h2 span { white-space: nowrap; }
  .method-note__copy p { font-size: 1rem; line-height: 1.62; }
  .method-note__grid { grid-template-columns: 1fr; gap: .7rem; }
  .method-note__item span { font-size: .82rem; line-height: 1.5; }
  .method-note__actions { align-items: stretch; flex-direction: column; }
  .method-note__actions a { justify-content: center; min-height: 48px; }
  .method-note__actions small { max-width: none; font-size: .78rem; }
  .experience-cta { padding: 1.4rem; border-radius: 22px; }
  .experience-cta h2 { font-size: clamp(2.45rem,12vw,3.75rem); }
  .experience-cta__copy p { font-size: 1rem; }
  .experience-cta__copy .primary-button { width: 100%; }
}

@media (max-width: 520px) {
  .brand { width: 136px; }
  .atlas-viewer { min-height: 0; }
  .atlas-viewer__meta { top: .8rem; left: .8rem; }
  .viewer-chip:nth-child(2) { display: none; }
  .atlas-poster { padding-inline: 1rem; }
  .atlas-poster__figure { width: 96px; }
  .atlas-poster__copy h2 { font-size: 2.25rem; }
  .atlas-selection { display: block; }
  .system-card { min-height: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2026-10-05: explicit tour entry and controls outside the anatomy caption. */
.atlas-explainer{display:flex;gap:2rem;padding:0 0 1.3rem;color:var(--paper-muted);font-size:.86rem;line-height:1.6}
.atlas-explainer p{flex:1;margin:0;max-width:650px}.atlas-explainer strong{color:var(--paper)}
.atlas-viewer-actions{position:absolute;z-index:14;top:1rem;left:1rem;right:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.atlas-viewer-actions>*{pointer-events:auto}
.atlas-tour-dock{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.atlas-tour-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.65rem .95rem;border:1px solid var(--lime);border-radius:99px;background:var(--lime);color:var(--ink);cursor:pointer;white-space:nowrap}
.atlas-tour-button strong{font-size:.8rem;font-weight:800;letter-spacing:0;text-transform:none;overflow:visible}
.atlas-tour-button:disabled{opacity:.55;cursor:wait}.atlas-tour-button[aria-pressed="true"]{background:#152016;color:var(--lime)}
.atlas-tour-dock small{font-size:.62rem;color:var(--paper-muted);padding-left:8px;line-height:1.4;white-space:nowrap}
.atlas-viewer-actions .atlas-view-switcher{position:static;transform:none;width:auto;flex:none;margin:0;grid-template-columns:repeat(2,auto);box-shadow:none}
.atlas-viewer-actions .atlas-view-switcher button{font-size:.66rem;letter-spacing:0;text-transform:none;padding:.55rem .8rem}
.atlas-viewer__meta{display:none}
.atlas-media-stage img{inset:6.6rem 1rem 12rem;height:calc(100% - 18.6rem)}
.atlas-map-settings{position:absolute;z-index:13;bottom:1rem;left:1rem;max-width:calc(100% - 2rem);border:0;margin:0}
.atlas-map-settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:.6rem .95rem;border:1px solid var(--line);border-radius:99px;background:#080c0ae8;color:var(--paper);cursor:pointer;font-size:.74rem;font-weight:750;white-space:nowrap}
.atlas-map-settings summary::-webkit-details-marker{display:none}.atlas-map-settings[open] summary span{transform:rotate(45deg)}
.atlas-map-settings .atlas-toolbar{left:0;bottom:3.5rem;top:auto;transform:none;width:270px;max-width:calc(100vw - 40px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}
.atlas-map-settings .icon-button strong{font-size:.65rem;letter-spacing:0;text-transform:none;white-space:normal;text-overflow:clip}
.atlas-app.is-showing-media .atlas-map-settings,.atlas-app.is-showing-media .atlas-media-back{display:none}
.atlas-orbit-hint{top:5.9rem;max-width:calc(100% - 2rem);text-align:center}
@media(min-width:821px) and (max-width:1350px){.atlas-viewer-actions{flex-wrap:wrap}.atlas-viewer-actions .atlas-view-switcher{margin-left:auto}.atlas-media-stage img{inset:7.4rem 1rem 12rem;height:calc(100% - 19.4rem)}}
@media(max-width:820px){
 .atlas-explainer{gap:.8rem;flex-direction:column;font-size:.84rem}
 .atlas-viewer-actions{top:.55rem;left:.6rem;right:.6rem;gap:8px;align-items:flex-start}
 .atlas-tour-button{min-height:44px;padding:.55rem .65rem;gap:.35rem}.atlas-tour-button strong{font-size:.7rem}
 .atlas-tour-dock small{font-size:.54rem;padding-left:1px;max-width:154px;white-space:normal}
 .atlas-viewer-actions .atlas-view-switcher{gap:0;padding:.16rem;max-width:51%;min-width:0}
 .atlas-viewer-actions .atlas-view-switcher button{min-width:0;min-height:44px;font-size:.62rem;padding:.42rem .45rem;line-height:1.15}
 .atlas-media-stage img{inset:5.3rem .35rem 5rem;height:calc(100% - 10.3rem)}
 .atlas-map-settings{bottom:.65rem;left:.65rem}.atlas-map-settings .atlas-toolbar{width:220px;grid-template-columns:repeat(2,minmax(0,1fr));bottom:3.3rem}
 .atlas-map-settings .icon-button{display:flex;flex-direction:row;height:46px;padding:.4rem}.atlas-map-settings .icon-button>strong{font-size:.65rem}
 .atlas-map-settings [data-atlas-zoom-out],.atlas-map-settings [data-atlas-zoom-in],.atlas-map-settings [data-atlas-reset]{display:inline-flex}
 .atlas-orbit-hint{top:5.1rem;font-size:.58rem;line-height:1.3}
}
@media(max-width:360px){.atlas-tour-button strong{font-size:.66rem}.atlas-viewer-actions .atlas-view-switcher button{font-size:.58rem;padding:.42rem .32rem}.atlas-tour-button{padding:.55rem .5rem}.atlas-viewer-actions{gap:4px}}
