/* =========================================================
   AX PROFIL — QUANTUM IDENTITY MUSEUM V3
   ========================================================= */

:root {
  --bg: #050505;
  --paper: #f2efe8;
  --muted: #8f8d89;
  --line: rgba(242,239,232,.14);
  --electric: #b8ff66;
  --violet: #745cff;
  --cyan: #5ce1e6;
  --hot: #ff6b5c;
  --font-display: "Archivo Black", sans-serif;
  --font-serif: "Instrument Serif", serif;
  --font-body: "Manrope", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;
  --wrap: min(92vw, 1520px);
  --section: clamp(8rem, 14vw, 15rem);
  --ease: cubic-bezier(.18,.82,.22,1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { background: var(--bg); scroll-behavior: auto; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--paper);
  background:
    radial-gradient(circle at 50% -10%, rgba(116,92,255,.08), transparent 35rem),
    var(--bg);
  font-family: var(--font-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; width: 100%; }
::selection { color:#061001; background: var(--electric); }

.skip-link {
  position: fixed;
  top: -10rem;
  left: 1rem;
  z-index: 5000;
  padding: .7rem 1rem;
  background: var(--paper);
  color: var(--bg);
}
.skip-link:focus { top: 1rem; }

.micro {
  margin: 0 0 1rem;
  color: var(--electric);
  font-family: var(--font-mono);
  font-size: .64rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

h1,h2,h3,p { text-wrap: balance; }
h2 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(3rem, 7.4vw, 8.2rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.045em;
}

.chamber {
  position: relative;
  isolation: isolate;
}

#field-canvas {
  position: fixed;
  inset: 0;
  z-index: -5;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 3000;
  opacity: .05;
  pointer-events: none;
  mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.7'/%3E%3C/svg%3E");
}

.chromatic {
  position: fixed;
  z-index: -4;
  width: 34rem;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(130px);
  opacity: .055;
  pointer-events: none;
}
.chromatic--a { top: 5%; left: -14rem; background: var(--violet); }
.chromatic--b { right: -14rem; bottom: 8%; background: var(--electric); }

/* Entry */
.entry-sequence {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: #020202;
  overflow: hidden;
}
#entry-canvas { position:absolute; inset:0; width:100%; height:100%; }
.entry-sequence__copy {
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  gap:.7rem;
}
.entry-sequence__copy span,
.entry-sequence__copy small {
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.entry-sequence__copy strong {
  font-family:var(--font-display);
  font-size:clamp(5rem,18vw,14rem);
  line-height:.72;
}
.entry-sequence__line {
  position:absolute;
  left:8%;
  right:8%;
  bottom:7%;
  height:1px;
  background:rgba(255,255,255,.08);
}
.entry-sequence__line i {
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--violet),var(--electric));
  box-shadow:0 0 22px var(--electric);
}

/* Navigation */
.quantum-nav {
  position:fixed;
  inset:0 0 auto;
  z-index:1300;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem clamp(1rem,3vw,3rem);
  pointer-events:none;
}
.quantum-nav > * { pointer-events:auto; }

.quantum-mark {
  position:relative;
  display:grid;
  width:3.1rem;
  aspect-ratio:1;
  place-items:center;
  border:1px solid var(--line);
  background:rgba(5,5,5,.5);
  backdrop-filter:blur(14px);
}
.quantum-mark span {
  font-family:var(--font-display);
  font-size:.8rem;
}
.quantum-mark i {
  position:absolute;
  inset:-.4rem;
  border:1px solid rgba(184,255,102,.28);
  border-radius:50%;
  animation:spin 9s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

.map-button {
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.7rem .85rem;
  border:1px solid var(--line);
  background:rgba(5,5,5,.5);
  backdrop-filter:blur(14px);
  cursor:pointer;
}
.map-button span {
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.14em;
}
.map-button b {
  display:block;
  width:1rem;
  height:1rem;
  border:1px solid currentColor;
  transform:rotate(45deg);
  transition:transform .35s var(--ease);
}
.map-button[aria-expanded="true"] b { transform:rotate(135deg) scale(.7); }

.dimension-index {
  position:fixed;
  right:1rem;
  top:50%;
  display:grid;
  justify-items:center;
  gap:.4rem;
  transform:translateY(-50%);
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.dimension-index strong {
  color:var(--electric);
  font-size:.65rem;
}

/* Map */
.museum-map {
  position:fixed;
  inset:0;
  z-index:1900;
  visibility:hidden;
  pointer-events:none;
}
.museum-map[aria-hidden="false"] {
  visibility:visible;
  pointer-events:auto;
}
.museum-map__veil {
  position:absolute;
  inset:0;
  opacity:0;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(18px);
}
.museum-map__panel {
  position:absolute;
  inset:0 0 0 auto;
  display:flex;
  width:min(100%,760px);
  padding:clamp(6rem,10vw,8rem) clamp(2rem,6vw,5rem) 2rem;
  flex-direction:column;
  background:
    radial-gradient(circle at 100% 0,rgba(116,92,255,.18),transparent 30rem),
    #090909;
  border-left:1px solid var(--line);
  transform:translateX(100%);
}
.museum-map nav { display:grid; gap:.2rem; }
.museum-map nav a {
  display:flex;
  gap:1rem;
  align-items:baseline;
  font-family:var(--font-serif);
  font-size:clamp(2rem,5vw,4.8rem);
  line-height:1.05;
}
.museum-map nav a span {
  color:var(--electric);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.museum-map__meta {
  display:flex;
  justify-content:space-between;
  margin-top:auto;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.58rem;
}

/* Origin */
.origin {
  min-height:100svh;
  overflow:hidden;
}
#quantum-core {
  position:absolute;
  inset:0;
  z-index:-2;
}
.origin::after {
  position:absolute;
  inset:auto 0 0;
  height:30%;
  content:"";
  background:linear-gradient(transparent,var(--bg));
}
.origin__hud {
  position:absolute;
  left:4vw;
  right:4vw;
  top:7rem;
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.56rem;
  letter-spacing:.12em;
}
.origin__title {
  position:absolute;
  left:4vw;
  right:4vw;
  bottom:7vh;
  z-index:2;
}
.origin h1 {
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(4.8rem,16vw,16rem);
  line-height:.68;
  letter-spacing:-.075em;
  text-transform:uppercase;
}
.origin h1 span { display:block; }
.origin h1 span:last-child {
  margin-left:10vw;
  color:transparent;
  -webkit-text-stroke:1px rgba(242,239,232,.55);
}
.origin__descriptor {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:2rem;
  margin-top:2.5rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.origin__descriptor strong {
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:400;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.origin__descriptor p {
  max-width:40rem;
  margin:0 0 0 auto;
  font-size:clamp(1.1rem,2vw,1.8rem);
}
.origin__gateway {
  position:absolute;
  right:4vw;
  top:34%;
  display:grid;
  width:8.5rem;
  aspect-ratio:1;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
}
.origin__gateway::before,
.origin__gateway::after {
  position:absolute;
  content:"";
  border:1px solid rgba(184,255,102,.28);
  border-radius:50%;
}
.origin__gateway::before { inset:16%; }
.origin__gateway::after { inset:33%; animation:pulse 2.6s ease-in-out infinite; }
@keyframes pulse { 50% { transform:scale(.55); opacity:.25; } }
.origin__gateway span {
  max-width:4rem;
  text-align:center;
  font-family:var(--font-mono);
  font-size:.5rem;
  letter-spacing:.12em;
}
.origin__telemetry {
  position:absolute;
  left:1.2rem;
  bottom:1rem;
  display:flex;
  gap:1rem;
  color:rgba(255,255,255,.3);
  font-family:var(--font-mono);
  font-size:.48rem;
}

/* Identity */
.identity {
  min-height:120svh;
  padding:var(--section) 0;
  overflow:hidden;
}
.identity__shell {
  position:relative;
  width:var(--wrap);
  min-height:80rem;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:clamp(3rem,7vw,8rem);
  align-items:center;
}
.identity__portrait {
  position:relative;
  overflow:hidden;
  aspect-ratio:4/5.3;
  clip-path:polygon(8% 0,100% 10%,92% 100%,0 92%);
  background:#111;
}
.identity__portrait img {
  height:100%;
  object-fit:cover;
  filter:grayscale(.9) contrast(1.1);
}
.identity__slice {
  position:absolute;
  left:0;
  right:0;
  height:11%;
  border-top:1px solid rgba(255,255,255,.3);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.025);
  backdrop-filter:blur(2px);
}
.identity__slice--1 { top:20%; transform:translateX(7%); }
.identity__slice--2 { top:49%; transform:translateX(-6%); }
.identity__slice--3 { top:75%; transform:translateX(4%); }
.identity__copy h2 { font-size:clamp(3rem,6.8vw,7.4rem); }
.identity__copy h2 em {
  display:block;
  color:var(--electric);
  font-style:italic;
}
.identity__copy > p:not(.micro) {
  max-width:38rem;
  color:var(--muted);
  margin-top:2rem;
}
.identity__satellites {
  position:absolute;
  inset:0;
}
.identity-satellite {
  position:absolute;
  width:min(18vw,220px);
  padding:1rem;
  border:1px solid var(--line);
  background:rgba(5,5,5,.7);
  backdrop-filter:blur(14px);
  cursor:pointer;
}
.identity-satellite strong {
  display:block;
  font-family:var(--font-serif);
  font-size:1.4rem;
  font-weight:400;
}
.identity-satellite span {
  display:block;
  max-height:0;
  opacity:0;
  overflow:hidden;
  color:var(--muted);
  font-size:.75rem;
  transition:.4s var(--ease);
}
.identity-satellite.is-open span {
  max-height:6rem;
  margin-top:.5rem;
  opacity:1;
}

/* Manifesto */
.manifesto {
  min-height:120svh;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.manifesto__rift {
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:90%;
  background:linear-gradient(transparent,var(--violet),var(--electric),transparent);
  box-shadow:0 0 40px rgba(116,92,255,.45);
  transform:translate(-50%,-50%) rotate(10deg);
}
.manifesto__content {
  position:relative;
  z-index:2;
  width:var(--wrap);
}
.manifesto__content div {
  display:grid;
  gap:.8rem;
}
.manifesto__content p:not(.micro) {
  margin:0;
  font-family:var(--font-serif);
  font-size:clamp(2.8rem,7.6vw,8rem);
  line-height:.88;
}
.manifesto__content p:nth-child(even) {
  margin-left:auto;
  color:transparent;
  -webkit-text-stroke:1px rgba(242,239,232,.48);
}

/* Projects */
.projects {
  padding:var(--section) 0;
  min-height:160svh;
}
.projects__intro {
  width:var(--wrap);
  margin:auto;
}
.planet-system {
  position:relative;
  width:var(--wrap);
  min-height:130svh;
  margin:5rem auto 0;
}
.project-planet {
  position:absolute;
  display:grid;
  width:min(30vw,420px);
  aspect-ratio:1;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  cursor:pointer;
  overflow:hidden;
  background:#111;
}
.project-planet img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.65;
  transition:transform .8s var(--ease),opacity .4s ease;
}
.project-planet::after {
  position:absolute;
  inset:0;
  content:"";
  background:
    radial-gradient(circle at 40% 30%,transparent,rgba(0,0,0,.86)),
    linear-gradient(140deg,var(--planet-tint),transparent 50%);
}
.project-planet__orbit {
  position:absolute;
  inset:-12%;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  animation:spin 18s linear infinite;
}
.project-planet__copy {
  position:relative;
  z-index:2;
  max-width:70%;
  text-align:center;
}
.project-planet__copy span {
  color:var(--electric);
  font-family:var(--font-mono);
  font-size:.55rem;
  letter-spacing:.1em;
}
.project-planet h3 {
  margin:.6rem 0 0;
  font-family:var(--font-serif);
  font-size:clamp(2rem,4vw,4rem);
  font-weight:400;
  line-height:.9;
}
.project-planet:hover img { transform:scale(1.09); opacity:.9; }

/* Journey */
.journey {
  padding:var(--section) 0;
  overflow:hidden;
}
.journey__intro {
  width:var(--wrap);
  margin:auto;
}
.journey__tunnel {
  position:relative;
  min-height:120svh;
  margin-top:5rem;
}
#journey-canvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.journey__entries {
  position:relative;
  width:var(--wrap);
  min-height:120svh;
  margin:auto;
}
.journey-entry {
  position:absolute;
  width:min(26vw,300px);
  padding:1rem;
  border:1px solid var(--line);
  background:rgba(5,5,5,.78);
  backdrop-filter:blur(12px);
}
.journey-entry span {
  color:var(--electric);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.journey-entry h3 {
  margin:.4rem 0;
  font-family:var(--font-serif);
  font-size:1.8rem;
  font-weight:400;
}
.journey-entry p {
  margin:0;
  color:var(--muted);
  font-size:.78rem;
}

/* Capabilities */
.capabilities {
  min-height:120svh;
  padding:var(--section) 0;
}
.capabilities__intro {
  width:var(--wrap);
  margin:auto;
}
.capability-engine {
  position:relative;
  width:min(88vw,1050px);
  aspect-ratio:1;
  margin:5rem auto 0;
}
.capability-engine__core {
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  width:11rem;
  aspect-ratio:1;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#090909;
  box-shadow:0 0 100px rgba(116,92,255,.12);
  transform:translate(-50%,-50%);
}
.capability-engine__core span {
  font-family:var(--font-display);
  font-size:1.8rem;
}
.capability-engine__core i {
  position:absolute;
  inset:18%;
  border:1px solid rgba(184,255,102,.38);
  border-radius:50%;
  animation:spin 8s linear infinite reverse;
}
.capability-module {
  position:absolute;
  width:min(22vw,250px);
  padding:1rem;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}
.capability-module h3 {
  margin:0 0 .5rem;
  font-family:var(--font-serif);
  font-size:1.6rem;
  font-weight:400;
}
.capability-module p {
  margin:0;
  color:var(--muted);
  font-size:.76rem;
}

/* Impact */
.impact {
  padding:var(--section) 0;
  min-height:100svh;
}
.impact__intro {
  width:var(--wrap);
  margin:auto;
}
.impact__field {
  position:relative;
  width:var(--wrap);
  min-height:70vh;
  margin:4rem auto 0;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at center,rgba(116,92,255,.09),transparent 30rem),
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:auto,8vw 8vw,8vw 8vw;
}
.impact-node {
  position:absolute;
  padding:1rem;
  min-width:11rem;
  border:1px solid var(--line);
  background:rgba(5,5,5,.78);
  backdrop-filter:blur(12px);
}
.impact-node strong {
  display:block;
  font-family:var(--font-display);
  font-size:clamp(3rem,6vw,6.2rem);
  line-height:1;
}
.impact-node span {
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.55rem;
}

/* Voices */
.voices {
  padding:var(--section) 0;
  min-height:110svh;
}
.voices__intro {
  width:var(--wrap);
  margin:auto;
}
.voices__orbit {
  position:relative;
  width:min(90vw,980px);
  min-height:48rem;
  margin:5rem auto 0;
}
.voice-card {
  position:absolute;
  left:50%;
  top:50%;
  width:min(82vw,800px);
  padding:clamp(2rem,5vw,4rem);
  border:1px solid var(--line);
  background:rgba(8,8,8,.84);
  backdrop-filter:blur(18px);
  transform:translate(-50%,-50%);
}
.voice-card:not(:first-child) { opacity:0; }
.voice-card blockquote {
  margin:0;
  font-family:var(--font-serif);
  font-size:clamp(1.8rem,3.8vw,3.8rem);
  line-height:1.1;
}
.voice-card footer {
  display:flex;
  justify-content:space-between;
  margin-top:2rem;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.56rem;
}

/* Lab */
.lab {
  padding:var(--section) 0;
}
.lab__intro {
  width:var(--wrap);
  margin:auto;
}
.lab__rail {
  display:flex;
  width:max-content;
  gap:1rem;
  margin-top:5rem;
  padding-inline:max(4vw,calc((100vw - 1520px)/2));
}
.lab-item {
  position:relative;
  width:min(43vw,540px);
  height:62vh;
  overflow:hidden;
  border:1px solid var(--line);
  background:#111;
}
.lab-item img {
  height:100%;
  object-fit:cover;
  filter:grayscale(.75) contrast(1.1);
  transition:transform .8s var(--ease);
}
.lab-item::after {
  position:absolute;
  inset:0;
  content:"";
  background:linear-gradient(transparent,rgba(0,0,0,.9));
}
.lab-item__copy {
  position:absolute;
  inset:auto 1.4rem 1.4rem;
  z-index:2;
}
.lab-item__copy span {
  color:var(--electric);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.lab-item h3 {
  margin:.4rem 0 0;
  font-family:var(--font-serif);
  font-size:2.5rem;
  font-weight:400;
}
.lab-item:hover img { transform:scale(1.07); }

/* Contact */
.contact {
  min-height:125svh;
  padding-top:var(--section);
  overflow:hidden;
}
.contact__horizon {
  position:absolute;
  left:0;
  right:0;
  top:20%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--violet),var(--electric),transparent);
  box-shadow:0 0 50px rgba(116,92,255,.5);
}
.contact__content {
  position:relative;
  z-index:2;
  width:var(--wrap);
  margin:auto;
  text-align:center;
}
.contact__content h2 {
  max-width:12ch;
  margin:auto;
}
.contact__content > p:not(.micro) {
  max-width:46rem;
  margin:2rem auto 0;
  color:var(--muted);
}
.contact__actions {
  display:flex;
  justify-content:center;
  gap:.8rem;
  margin-top:3rem;
}
.signal-cta {
  display:flex;
  min-height:3.8rem;
  align-items:center;
  gap:2rem;
  padding:.8rem 1.2rem;
  background:var(--electric);
  color:#071000;
}
.signal-cta--ghost {
  border:1px solid var(--line);
  background:transparent;
  color:var(--paper);
}
.contact__socials {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  margin-top:2rem;
}
.contact__socials a {
  padding:.5rem .7rem;
  border:1px solid var(--line);
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.finale {
  width:var(--wrap);
  margin:11rem auto 0;
  padding:4rem 0 2rem;
  border-top:1px solid var(--line);
}
.finale__message {
  font-family:var(--font-serif);
  font-size:clamp(4rem,13vw,12rem);
  line-height:.8;
  text-align:center;
}
.finale__meta {
  display:flex;
  justify-content:space-between;
  margin-top:3rem;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.55rem;
}

/* Planet detail */
.planet-detail {
  position:fixed;
  inset:0;
  z-index:2200;
  visibility:hidden;
  pointer-events:none;
}
.planet-detail[aria-hidden="false"] {
  visibility:visible;
  pointer-events:auto;
}
.planet-detail__veil {
  position:absolute;
  inset:0;
  opacity:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(18px);
}
.planet-detail__shell {
  position:absolute;
  inset:1.4rem;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  overflow:auto;
  border:1px solid var(--line);
  background:#080808;
  opacity:0;
  transform:scale(.82) rotateY(-10deg);
}
.planet-detail__close {
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:4;
  padding:.6rem .8rem;
  border:1px solid var(--line);
  background:rgba(0,0,0,.4);
  cursor:pointer;
}
.planet-detail__media {
  position:sticky;
  top:0;
  min-height:calc(100vh - 2.8rem);
}
.planet-detail__media img {
  height:100%;
  object-fit:cover;
}
.planet-detail__media::after {
  position:absolute;
  inset:0;
  content:"";
  background:linear-gradient(90deg,transparent 68%,#080808);
}
.planet-detail__content {
  align-self:center;
  padding:clamp(2rem,5vw,6rem);
}
.planet-detail__meta {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.56rem;
}
.planet-detail h2 { margin-top:1rem; }
.planet-detail__content > p { color:var(--muted); }
.planet-detail dl { margin:3rem 0; }
.planet-detail dl div {
  display:grid;
  grid-template-columns:6rem 1fr;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.planet-detail dt {
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.55rem;
}
.planet-detail dd { margin:0; }
.planet-detail__actions {
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}
.planet-detail__actions a {
  padding:.7rem .9rem;
  border:1px solid var(--line);
}

/* Responsive */
@media (max-width: 980px) {
  .dimension-index { display:none; }
  .identity__shell { grid-template-columns:1fr; min-height:auto; }
  .identity__portrait { width:min(78vw,520px); margin:auto; }
  .identity__satellites {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    margin-top:2rem;
  }
  .identity-satellite { position:static !important; width:auto; flex:1 1 220px; }
  .planet-system { min-height:auto; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .project-planet { position:relative !important; inset:auto !important; width:100%; }
  .capability-engine { aspect-ratio:auto; }
  .capability-engine__core { position:relative; left:auto; top:auto; margin:0 auto 2rem; transform:none; }
  .capability-engine__modules { display:grid; gap:1rem; }
  .capability-module { position:relative !important; inset:auto !important; width:100%; }
  .impact__field { min-height:auto; display:grid; gap:1rem; padding:1rem; }
  .impact-node { position:relative !important; inset:auto !important; }
  .lab__rail { width:auto; display:grid; padding-inline:4vw; }
  .lab-item { width:100%; }
  .planet-detail__shell { inset:.6rem; grid-template-columns:1fr; }
  .planet-detail__media { position:relative; min-height:48vh; }
  .planet-detail__media::after { background:linear-gradient(transparent 60%,#080808); }
}

@media (max-width: 720px) {
  .origin__descriptor { grid-template-columns:1fr; }
  .origin h1 span:last-child { margin-left:0; }
  .origin__gateway { display:none; }
  .origin__telemetry { display:none; }
  .journey__tunnel { min-height:auto; }
  #journey-canvas { display:none; }
  .journey__entries { min-height:auto; display:grid; gap:1rem; }
  .journey-entry { position:relative !important; inset:auto !important; width:100%; }
  .planet-system { grid-template-columns:1fr; }
  .voice-card footer,
  .contact__actions,
  .finale__meta,
  .museum-map__meta { flex-direction:column; }
}

@media (max-width: 520px) {
  .quantum-nav { padding:.8rem; }
  .quantum-mark { width:2.8rem; }
  .origin h1 { font-size:clamp(4.6rem,24vw,7rem); }
  .lab-item { height:52vh; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  #quantum-core,#field-canvas,#journey-canvas,#entry-canvas { display:none !important; }
}
