/* The supplied franchise mark remains untouched inside a protected center zone. */
.orbit-map { width:100%; max-width:1160px; margin:auto; min-width:0; container-type:inline-size; }
.orbit-stage { position:relative; width:100%; aspect-ratio:1000/640; min-height:420px; isolation:isolate; }
.orbit-paths { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.orbit-path { fill:none; stroke-width:1; vector-effect:non-scaling-stroke; stroke-dasharray:2 7; }
.orbit-path--knox { stroke:#91b7f4; opacity:.5; }
.orbit-path--tate { stroke:#78ad9d; opacity:.52; }
.orbit-path--steele { stroke:#b58a61; opacity:.48; }
.orbit-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:clamp(150px,24cqw,250px); display:flex; flex-direction:column; align-items:center; gap:10px; padding:34px 22px; z-index:3; }
.orbit-center::before { content:""; position:absolute; inset:0 -7%; z-index:-1; background:radial-gradient(ellipse at center,var(--bg,#050b12) 48%,rgba(5,11,18,.96) 68%,rgba(5,11,18,0) 100%); pointer-events:none; }
.orbit-center img { display:block; width:100%; height:auto; filter:none; aspect-ratio:587/342; }
.orbit-center > span { color:#dceaf5; font:clamp(9px,1.9cqw,13px)/1.5 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.34em; text-indent:.34em; }
.orbit-node { position:absolute; transform:translate(-50%,-50%); width:clamp(96px,15cqw,154px); z-index:2; color:#dceaf5!important; text-align:center; text-decoration:none; box-sizing:border-box; perspective:700px; }
.orbit-node--knox { left:40%; top:18%; }
.orbit-node--tate { left:78%; top:80%; }
.orbit-node--steele { left:29%; top:87%; }
.orbit-node-name { display:block; width:max-content; max-width:165px; margin:0 auto 7px; padding:2px 5px; color:#b8cddd; background:rgba(5,11,18,.86); font:clamp(8px,1.3cqw,11px)/1.4 ui-monospace,monospace; }
.orbit-node strong,.orbit-current-title { display:block; width:max-content; max-width:170px; margin:8px auto 0; padding:2px 5px; background:rgba(5,11,18,.88); font:600 clamp(10px,1.7cqw,14px)/1.25 'Space Grotesk',system-ui,sans-serif; }
.orbit-node small { display:block; width:max-content; max-width:160px; margin:1px auto 0; padding:1px 5px; color:#88a6bc; background:rgba(5,11,18,.88); font:clamp(7px,1.05cqw,9px)/1.45 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.08em; }
.orbit-node--knox strong,.orbit-current-title { color:#b5d4f5; }
.orbit-node--tate strong { color:#8fd0b8; }
.orbit-node--steele strong { color:#d0af79; }
.orbit-volume { position:relative; display:block; width:clamp(52px,8.7cqw,88px); aspect-ratio:2/3; margin:auto; transform:perspective(700px) rotateY(-9deg); transform-origin:left center; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.orbit-volume::before { content:""; position:absolute; right:-7%; top:2%; width:9%; height:96%; background:linear-gradient(90deg,#78828a,#d8dde0 55%,#59636b); transform:skewY(34deg); transform-origin:left center; }
.orbit-volume::after { content:""; position:absolute; left:3%; right:-4%; bottom:-3%; height:4%; background:#aab2b7; transform:skewX(54deg); transform-origin:left top; }
.orbit-volume > img,.orbit-book-flip { position:relative; z-index:1; display:block; width:100%; height:100%; }
.orbit-volume > img { object-fit:cover; }
.orbit-node:hover .orbit-volume,.orbit-node:focus-visible .orbit-volume,.orbit-node:focus-within .orbit-volume { transform:perspective(700px) translateY(-5px) rotateY(-3deg); }
.orbit-book-flip { transform-style:preserve-3d; transition:transform .65s cubic-bezier(.16,1,.3,1); }
.orbit-map.show-terms .orbit-book-flip { transform:rotateY(180deg); }
.orbit-book-face { position:absolute; inset:0; display:block; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.orbit-book-face--terms { transform:rotateY(180deg); pointer-events:none; }
.orbit-map.show-terms .orbit-book-face--dark { pointer-events:none; }
.orbit-map.show-terms .orbit-book-face--terms { pointer-events:auto; }
.orbit-book-face img { display:block; width:100%; height:100%; object-fit:cover; }
.orbit-caption { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:54px; margin-top:10px; border-top:1px solid #1e3a54; }
.orbit-caption p { margin:0; color:#7f9bb1; font:10px/1.5 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.12em; }
.orbit-caption > div { display:flex; align-items:center; gap:24px; }
.orbit-caption a { color:#4fc8ff; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.orbit-motion { border:0; background:none; color:#9ab6cf; font:11px/1.5 ui-monospace,monospace; min-height:44px; padding:8px 0; cursor:pointer; }
.orbit-motion:hover { color:#dceaf5; }
.orbit-motion[hidden] { display:none; }
.orbit-map a:focus-visible,.orbit-motion:focus-visible { outline:2px solid #4fc8ff; outline-offset:5px; }
@media(max-width:620px) {
 .orbit-stage { aspect-ratio:auto; min-height:500px; }
 .orbit-center { width:clamp(120px,31cqw,150px); gap:7px; padding:28px 16px; }
 .orbit-node { width:100px; }
 .orbit-volume { width:52px; }
 .orbit-node-name { max-width:112px; font-size:8px; }
 .orbit-node strong,.orbit-current-title { max-width:115px; font-size:10px; }
 .orbit-node small { max-width:112px; font-size:7px; }
 .orbit-caption { align-items:flex-start; padding-top:14px; }
 .orbit-caption > div { flex-direction:column; align-items:flex-end; gap:0; }
}
@media(prefers-reduced-motion:reduce) { .orbit-book-flip,.orbit-volume { transition:none; } }

.universe-page { margin: 0; background: var(--bg); color: var(--ink); font-family: 'Space Grotesk', system-ui, sans-serif; line-height: 1.7; }
.universe-page * { box-sizing: border-box; }
.universe-page main { max-width: 1400px; padding: 72px 32px 32px; margin: auto; }
.universe-page a { color: var(--accent); }
.universe-page [id] { scroll-margin-top: 120px; }
.universe-page h1, .universe-page h2, .universe-page h3 { line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
.universe-page h1 { max-width: 10ch; font-size: clamp(3rem, 6.4vw, 5.6rem); margin: 12px 0 0; line-height:.96; letter-spacing:-.055em; }
.universe-page h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin: 8px 0 28px; }
.universe-page h3 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin: 8px 0; }
.universe-page p { max-width: 65ch; color: var(--muted); }
.universe-kicker { color: var(--accent) !important; font: 11px/1.7 ui-monospace, monospace; letter-spacing: .16em; text-transform: uppercase; }
.universe-hero { padding-bottom: 72px; }
.universe-hero-copy { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:48px 84px; align-items:end; margin-bottom:28px; }
.universe-hero-heading .universe-kicker { margin:0; }
.universe-hero-intro { padding:0 0 8px 24px; border-left:1px solid var(--line); }
.universe-hero-intro p { margin:0; font-size:1.08rem; }
.universe-hero-intro p + p { margin-top:16px; }
.universe-hero .orbit-stage { background-image:radial-gradient(#20364a 1px,transparent 1px); background-size:28px 28px; }

.universe-section { border-top: 1px solid var(--line); padding: 56px 0; }
.universe-current { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.universe-current article { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 26px; align-items: start; }
.universe-current img { display: block; width: 100%; height: auto; }
.universe-current h3 { font-size: 1.55rem; }
.universe-current .universe-kicker { margin-top: 0; }
.universe-current a, .universe-next a, .universe-reading a, .universe-more a { text-underline-offset: 4px; }
.universe-next { display:grid; gap:56px; }
.universe-next article { display:grid; grid-template-columns:clamp(130px,16vw,190px) minmax(0,1fr); gap:36px; align-items:start; border-top:2px solid #6a9f8f; padding-top:28px; }
.universe-next article:last-child { border-color:#a47b54; }
.universe-next .announcement-series { color: var(--ink); margin-top: 8px; }
.universe-next .universe-kicker { margin-top: 0; }
.universe-next-copy { max-width:760px; }
.universe-next--tate h3 { color:#8fd0b8; }
.universe-next--steele h3 { color:#d0af79; }
.concept-book { position:relative; display:block; width:88%; margin:0 auto; perspective:900px; transform:rotateY(-10deg); transform-origin:left center; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.concept-book::before { content:""; position:absolute; right:-7%; top:1.5%; width:9%; height:97%; background:linear-gradient(90deg,#737c81,#e0e2df 58%,#545b60); transform:skewY(34deg); }
.concept-book::after { content:""; position:absolute; left:2%; right:-4%; bottom:-2.6%; height:3.5%; background:#aeb3b3; transform:skewX(54deg); transform-origin:left top; }
.concept-book img { position:relative; z-index:1; display:block; width:100%; height:auto; }
.concept-book:hover { transform:translateY(-5px) rotateY(-4deg); }
.universe-reading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:64px; align-items:start; }
.universe-reading h2 { max-width:12ch; }
.universe-reading-intro > p:not(.universe-kicker) { font-size:1.08rem; }
.reading-paths { border-top:1px solid var(--line); }
.reading-path { padding:18px 0; border-bottom:1px solid var(--line); }
.reading-path span { display:block; margin-bottom:5px; color:#7f9bb1; font:10px/1.5 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.12em; }
.reading-path strong { display:block; color:var(--ink); font-size:1.02rem; }
.reading-path p { margin:5px 0 0; font-size:.92rem; }
.universe-more { display: flex; flex-wrap: wrap; gap: 18px 32px; margin-top: 26px; }
.universe-skip { position: absolute; top: 8px; left: 12px; transform: translateY(-150%); padding: 10px 16px; background: var(--panel); z-index: 101; }
.universe-skip:focus { transform: none; }
.universe-page a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }

@media (max-width: 980px) {
  .universe-hero-copy { grid-template-columns:minmax(0,1fr); gap:26px; }
  .universe-hero-intro { max-width:760px; }
  .universe-current article { grid-template-columns: 85px minmax(0, 1fr); gap: 18px; }
  .universe-reading { grid-template-columns:minmax(0,1fr); gap:36px; }
}
@media (max-width: 680px) {
  .universe-page main { padding: 40px 22px 20px; }
  .universe-hero { padding-bottom: 40px; }
  .universe-page h1 { font-size:clamp(2.75rem,15vw,4.4rem); }
  .universe-hero-copy { margin-bottom:8px; }
  .universe-hero-intro { padding-left:18px; }
  .universe-current { grid-template-columns: 1fr; gap: 36px; }
  .universe-next article { grid-template-columns:98px minmax(0,1fr); gap:22px; }
  .concept-book { width:100%; }
  .universe-section { padding: 40px 0; }
}
