:root {
  --ink: #020611;
  --paper: #eceae3;
  --muted: #a5a6aa;
  --line: rgba(235, 236, 240, .15);
  --blue: #183d9a;
  --blue-deep: #071331;
  --gold: #d5b276;
  --accent: #c9d4dc;
  --portal-pos: left center;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: "DM Sans", sans-serif; }
button, input { font: inherit; }
button, a { color: inherit; }
button { border: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .75rem 1rem; color: var(--ink); background: var(--paper); transform: translateY(-160%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.topbar { position: fixed; z-index: 50; top: 0; left: 0; right: 0; height: 5rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 2.2rem; background: rgba(2,6,17,.78); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.lei-signature { display: flex; align-items: baseline; gap: 1rem; width: max-content; text-decoration: none; }
.lei-signature strong { font: 400 1.55rem/1 "Instrument Serif", serif; letter-spacing: .05em; }
.lei-signature span, .axis-mark { color: #94969b; font-size: .62rem; text-transform: uppercase; letter-spacing: .18em; }
.axis-mark { margin: 0; }
.axis-mark i { margin: 0 .48rem; color: var(--gold); font-style: normal; }
.arnone-signature { justify-self: end; display: flex; align-items: center; gap: .62rem; text-decoration: none; }
.arnone-signature img:first-child { width: 1.9rem; height: 1.9rem; object-fit: contain; transition: transform .35s; }
.arnone-signature img:last-child { width: 4.1rem; opacity: .9; filter: drop-shadow(0 0 .65rem rgba(255,255,255,.08)); transition: opacity .35s, transform .35s, filter .35s; }
.arnone-signature:hover img:first-child { transform: scale(1.07); }
.arnone-signature:hover img:last-child, .arnone-signature:focus-visible img:last-child { opacity: 1; filter: drop-shadow(0 0 .8rem rgba(255,255,255,.16)); transform: translateX(.1rem); }

.hub-shell { min-height: 100svh; height: 100svh; padding-top: 5rem; display: grid; grid-template-columns: 1fr 0fr; overflow: hidden; transition: grid-template-columns .9s cubic-bezier(.22,.8,.2,1); }
.portals { min-width: 0; height: 100%; display: flex; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 40%, #112b62 0, #081733 38%, #030a1b 68%, #01040b 100%); }
.portals::after { content: ""; position: absolute; inset: 0; z-index: 8; pointer-events: none; background: radial-gradient(circle at 50% 43%, transparent 15%, rgba(0,3,12,.68) 105%); }
.portals-intro { position: absolute; z-index: 12; top: 1.5rem; left: 2.2rem; right: 2.2rem; display: flex; justify-content: space-between; align-items: start; pointer-events: none; transition: opacity .4s; }
.portals-intro p { margin: 0; color: rgba(255,255,255,.68); font: 400 .72rem/1.45 "DM Sans", sans-serif; text-transform: uppercase; letter-spacing: .17em; }
.portals-intro span { color: #77797f; font-size: .6rem; letter-spacing: .17em; text-transform: uppercase; }
.concept-rail { position: absolute; z-index: 12; left: 0; right: 0; bottom: 0; min-height: 2.7rem; display: grid; grid-template-columns: 1fr 1.55fr .75fr; align-items: center; background: rgba(2,7,20,.76); border-top: 1px solid var(--line); backdrop-filter: blur(14px); pointer-events: none; transition: opacity .35s; }
.concept-rail span { height: 100%; display: flex; align-items: center; padding: 0 1.45rem; color: rgba(255,255,255,.43); border-right: 1px solid var(--line); font-size: .57rem; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.concept-rail span:last-child { border-right: 0; }
.concept-rail b { margin-right: .7rem; color: #d7d6d2; font-weight: 500; }

.portal { --accent: #ccd5db; --portal-pos: left center; flex: 1 1 0; min-width: 0; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; border-right: 1px solid var(--line); cursor: pointer; isolation: isolate; outline: none; transition: flex .8s cubic-bezier(.22,.8,.2,1), opacity .5s, background-color .5s; }
.portal:last-child { border-right: 0; }
.portal-business { --accent: #e3c487; --portal-pos: center center; }
.portal-institutional { --accent: #c3cfdb; --portal-pos: right center; }
.portal::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(150deg, transparent 20%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 76%); opacity: 0; transition: opacity .5s; }
.portal-image { position: absolute; z-index: -1; inset: 0; background: linear-gradient(to bottom, rgba(3,11,30,.2), rgba(1,5,16,.76)), url("assets/lei-concept.png") var(--portal-pos) / auto 100% no-repeat; filter: grayscale(1) contrast(1.13) brightness(.38); opacity: .28; transform: scale(1.06); transition: filter .9s, opacity .9s, transform 1.1s cubic-bezier(.22,.8,.2,1); }
.portal-glyph { position: relative; z-index: 2; color: transparent; font: 400 clamp(18rem, 32vw, 37rem)/.75 "Instrument Serif", serif; letter-spacing: -.06em; -webkit-text-stroke: 1px rgba(255,255,255,.66); background: linear-gradient(rgba(255,255,255,.14), rgba(255,255,255,.04)), url("assets/lei-concept.png") var(--portal-pos) / auto 88vh no-repeat; background-clip: text; -webkit-background-clip: text; filter: grayscale(1) brightness(.88) contrast(1.18); transform: translateY(-1vh) scale(.93); transition: filter .8s, transform .8s cubic-bezier(.22,.8,.2,1), -webkit-text-stroke-color .5s, opacity .4s; }
.portal-institutional .portal-glyph { letter-spacing: 0; }
.portal-index { position: absolute; z-index: 4; top: 6.5rem; left: 1.5rem; color: rgba(255,255,255,.32); font-size: .62rem; letter-spacing: .2em; }
.portal-copy { position: absolute; z-index: 4; left: 2rem; bottom: 4.7rem; }
.portal-copy p { margin: 0; font: 400 clamp(2rem, 2.8vw, 3.2rem)/1 "Instrument Serif", serif; }
.portal-copy span { display: block; max-height: 0; margin-top: 0; overflow: hidden; color: #b8b7b2; font-size: .76rem; opacity: 0; transform: translateY(.5rem); transition: all .4s; }
.portal-arrow { position: absolute; z-index: 4; right: 2rem; bottom: 5.1rem; width: 2.45rem; height: 2.45rem; border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent); border-radius: 50%; transition: border-color .35s, background-color .35s, transform .35s; }
.portal-arrow::before { content: ""; position: absolute; top: .72rem; right: .7rem; width: .65rem; height: .65rem; border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); }
.portal-arrow::after { content: ""; position: absolute; top: 1.17rem; left: .68rem; width: 1.05rem; height: 1px; background: var(--accent); transform: rotate(-45deg); transform-origin: center; }
.portal:hover .portal-arrow, .portal:focus-visible .portal-arrow { background: color-mix(in srgb, var(--accent) 10%, transparent); border-color: var(--accent); transform: translate(.12rem,-.12rem); }
.portals:has(.portal:hover) .portal:not(:hover), .portals:has(.portal:focus-visible) .portal:not(:focus-visible) { flex: .73; opacity: .58; }
.portal:hover, .portal:focus-visible { flex: 1.5; }
.portal:hover::before, .portal:focus-visible::before { opacity: 1; }
.portal:hover .portal-image, .portal:focus-visible .portal-image { filter: grayscale(0) contrast(1.07) brightness(.62) saturate(.8); opacity: .48; transform: scale(1); }
.portal:hover .portal-glyph, .portal:focus-visible .portal-glyph { filter: grayscale(0) brightness(1.08) saturate(.85); -webkit-text-stroke-color: var(--accent); transform: translateY(-1.5vh) scale(1.02); }
.portal:hover .portal-copy span, .portal:focus-visible .portal-copy span { max-height: 2rem; margin-top: .55rem; opacity: 1; transform: none; }
.portal:focus-visible { box-shadow: inset 0 0 0 2px var(--accent); }

.content-panel { min-width: 0; position: relative; overflow: auto; background: radial-gradient(circle at 82% 15%, #173681 0, #0b1c4c 26%, #071330 58%, #04091b 100%); opacity: 0; visibility: hidden; transform: translateX(3rem); transition: opacity .5s .18s, transform .75s cubic-bezier(.22,.8,.2,1), visibility 0s .9s; }
.content-panel::before { content: ""; position: fixed; inset: 5rem 0 0 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 4.5rem 4.5rem; mask-image: linear-gradient(to bottom, #000, transparent 80%); }
.content-watermark { position: absolute; top: 6rem; right: -7rem; width: min(45vw, 38rem); opacity: .035; pointer-events: none; transform: rotate(-7deg); }
.content-watermark img { width: 100%; }
.panel-close { position: sticky; z-index: 6; top: 1.5rem; float: right; margin: 1.5rem 2rem 0 0; padding: .45rem 0; color: #b9c0d5; background: transparent; border-bottom: 1px solid rgba(255,255,255,.28); text-transform: uppercase; letter-spacing: .14em; font-size: .64rem; cursor: pointer; }
.panel-close span { margin-left: .7rem; font-size: 1rem; }
.content-heading { clear: both; max-width: 54rem; padding: clamp(3.5rem, 8vh, 6.5rem) clamp(2rem, 5vw, 5.5rem) 2rem; }
.eyebrow { margin: 0 0 1.2rem; color: var(--accent); text-transform: uppercase; letter-spacing: .2em; font-size: .67rem; }
.content-heading h1 { margin: 0; font: 400 clamp(3.5rem, 6.3vw, 7rem)/.88 "Instrument Serif", serif; letter-spacing: -.035em; }
.content-heading h1 em { color: var(--accent); font-weight: 400; }
#axis-description { max-width: 40rem; margin: 1.6rem 0 0; color: #b8bed0; font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.65; }
.axis-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: .8rem 1.5rem; margin-top: 2rem; }
.axis-destination { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 1.8rem; padding: .9rem 0; color: var(--paper); border-top: 1px solid var(--accent); border-bottom: 1px solid rgba(255,255,255,.16); text-decoration: none; text-transform: uppercase; letter-spacing: .15em; font-size: .72rem; transition: color .3s, gap .3s; }
.axis-destination i, .card-arrow { position: relative; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border: 1px solid color-mix(in srgb, var(--accent) 54%, transparent); border-radius: 50%; }
.axis-destination i::before, .card-arrow::before { content: ""; position: absolute; top: .46rem; right: .44rem; width: .48rem; height: .48rem; border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); }
.axis-destination i::after, .card-arrow::after { content: ""; position: absolute; top: .82rem; left: .43rem; width: .8rem; height: 1px; background: var(--accent); transform: rotate(-45deg); }
.axis-destination:hover, .axis-destination:focus-visible { gap: 2.25rem; color: var(--accent); outline: none; }
.axis-autonomous { display: flex; min-width: min(18rem, 100%); flex-direction: column; justify-content: center; padding: .72rem 1rem; border: 1px solid rgba(255,255,255,.16); color: var(--paper); text-decoration: none; transition: border-color .25s, background .25s; }
.axis-autonomous span { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.axis-autonomous small { color: #929aad; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.axis-autonomous:hover, .axis-autonomous:focus-visible { border-color: var(--accent); background: rgba(255,255,255,.045); outline: none; }
.content-tabs { display: flex; gap: 2rem; margin: 0 clamp(2rem, 5vw, 5.5rem); border-bottom: 1px solid rgba(255,255,255,.16); overflow-x: auto; scrollbar-width: none; }
.content-tabs button { position: relative; flex: 0 0 auto; padding: 1rem 0 .9rem; color: #8f98af; background: transparent; text-transform: uppercase; letter-spacing: .15em; font-size: .65rem; cursor: pointer; }
.content-tabs button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--accent); transform: scaleX(0); transition: transform .3s; }
.content-tabs button[aria-selected="true"] { color: var(--paper); }
.content-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.content-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin: 1.6rem clamp(2rem, 5vw, 5.5rem) 1.2rem; }
.content-toolbar p { margin: 0; color: #aab1c4; font: italic 1.08rem/1.3 "Instrument Serif", serif; }
.search-box { display: flex; align-items: center; width: min(16rem, 45%); border-bottom: 1px solid rgba(255,255,255,.2); }
.search-box input { width: 100%; padding: .6rem 0; color: var(--paper); background: transparent; border: 0; outline: 0; font-size: .75rem; }
.search-box input::placeholder { color: #7f879d; }
.search-box span:last-child { color: var(--accent); font-size: 1.1rem; }
.cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 clamp(2rem, 5vw, 5.5rem); background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.13); }
.card { min-height: 13.5rem; position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 1.6rem; color: inherit; background: rgba(5,13,36,.79); text-align: left; cursor: pointer; transition: background .35s, transform .35s; }
.card:hover, .card:focus-visible { z-index: 2; background: rgba(25,57,137,.72); outline: 1px solid rgba(213,178,118,.65); }
.card small { color: var(--accent); text-transform: uppercase; letter-spacing: .17em; font-size: .58rem; }
.card h3 { max-width: 25rem; margin: auto 0 .6rem; font: 400 clamp(1.55rem, 2.2vw, 2.3rem)/1 "Instrument Serif", serif; }
.card p { margin: 0; color: #9fa7bb; font-size: .76rem; line-height: 1.55; }
.card .card-arrow { position: absolute; top: 1.4rem; right: 1.5rem; }
.empty-state { margin: 2rem clamp(2rem, 5vw, 5.5rem); color: #aab1c4; }
.governance-note { display: grid; grid-template-columns: minmax(10rem, .42fr) 1fr; gap: 1.4rem; margin: 2rem clamp(2rem, 5vw, 5.5rem) 0; padding: 1.15rem 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.08); }
.governance-note strong { color: var(--accent); font: 400 1.15rem/1.25 "Instrument Serif", serif; }
.governance-note p { margin: 0; color: #9fa7b9; font-size: .78rem; line-height: 1.65; }
.panel-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 2.4rem clamp(2rem, 5vw, 5.5rem) 4rem; }
.panel-footer button, .panel-footer a { background: transparent; text-decoration: none; color: #b5bdcf; text-transform: uppercase; letter-spacing: .15em; font-size: .64rem; cursor: pointer; }
.panel-footer span { margin-left: .7rem; color: var(--accent); }

body.workspace-open .hub-shell { grid-template-columns: clamp(17rem, 27vw, 25rem) minmax(0, 1fr); }
body.workspace-open .content-panel { opacity: 1; visibility: visible; transform: none; transition-delay: .18s, .05s, 0s; }
body.workspace-open .portals { flex-direction: column; }
body.workspace-open .portals-intro { opacity: 0; }
body.workspace-open .concept-rail { opacity: 0; }
body.workspace-open .portal { width: 100%; flex: 1 1 0; justify-content: flex-start; padding-left: 2rem; border-right: 0; border-bottom: 1px solid var(--line); }
body.workspace-open .portal:last-child { border-bottom: 0; }
body.workspace-open .portal-glyph { font-size: clamp(8rem, 13vw, 12rem); line-height: .65; background-size: auto 100vh; transform: translateY(0); }
body.workspace-open .portal-copy { left: 42%; bottom: 50%; transform: translateY(50%); }
body.workspace-open .portal-copy p { font-size: clamp(1.4rem, 2vw, 2rem); }
body.workspace-open .portal-copy span { display: none; }
body.workspace-open .portal-index { top: 1.2rem; right: 1.2rem; left: auto; }
body.workspace-open .portal-arrow { right: 1.3rem; bottom: 1.2rem; }
body.workspace-open .portal[aria-pressed="false"] { opacity: .47; }
body.workspace-open .portal[aria-pressed="true"] { flex: 1.45; opacity: 1; background: rgba(25,55,135,.16); }
body.workspace-open .portal[aria-pressed="true"]::before { opacity: 1; }
body.workspace-open .portal[aria-pressed="true"] .portal-image { filter: grayscale(0) contrast(1.05) brightness(.58) saturate(.8); opacity: .48; transform: scale(1); }
body.workspace-open .portal[aria-pressed="true"] .portal-glyph { filter: grayscale(0) brightness(1.07) saturate(.85); -webkit-text-stroke-color: var(--accent); }

.identity-code { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8.5rem) clamp(2rem, 7vw, 8rem); background: radial-gradient(circle at 78% 30%, rgba(23,53,126,.27), transparent 37%), #070a12; border-top: 1px solid rgba(144,163,214,.2); }
.identity-code::before { content: "A"; position: absolute; top: -14rem; right: -2rem; color: transparent; font: 400 min(62vw, 58rem)/1 "Instrument Serif", serif; -webkit-text-stroke: 1px rgba(117,142,210,.07); pointer-events: none; transform: rotate(-7deg); }
.identity-heading { position: relative; z-index: 1; display: grid; grid-template-columns: .7fr 1.35fr 1fr; gap: 2rem; align-items: end; padding-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.identity-heading > p, .concept-title > span, .identity-spine > div > span { margin: 0; color: var(--gold); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.identity-heading h2 { margin: 0; font: 400 clamp(3.5rem, 6.5vw, 7rem)/.88 "Instrument Serif", serif; letter-spacing: -.035em; }
.identity-heading h2 em { color: #9ba9cb; font-weight: 400; }
.identity-heading > span { max-width: 22rem; color: #9299aa; font-size: .86rem; line-height: 1.65; }
.identity-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.14); }
.identity-grid article { min-width: 0; display: grid; grid-template-columns: .72fr 1.28fr; gap: 2rem; padding: clamp(2rem, 4vw, 4rem); background: rgba(6,11,26,.74); }
.identity-grid article + article { border-left: 1px solid rgba(255,255,255,.14); }
.concept-title h3 { margin: .8rem 0 0; font: 400 clamp(3.4rem, 6vw, 6.5rem)/.8 "Instrument Serif", serif; letter-spacing: -.035em; }
.concept-title h3 i { display: block; margin-top: .65rem; color: #7788b3; font-size: .42em; font-weight: 400; }
.sui-list, .high-list { border-top: 1px solid rgba(255,255,255,.16); }
.sui-list > div, .high-list > div { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; padding: 1.15rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.sui-list b, .high-list b { color: var(--gold); font: 400 1.25rem/1 "Instrument Serif", serif; }
.sui-list p, .high-list p { margin: 0; color: #8f97aa; font-size: .78rem; line-height: 1.5; }
.sui-list strong, .high-list strong { display: block; margin-bottom: .22rem; color: #dedfe3; font-size: .68rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.identity-spine { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.35fr; gap: clamp(3rem, 7vw, 8rem); align-items: end; padding-top: clamp(4rem, 8vw, 7rem); }
.identity-spine h3 { margin: .85rem 0 .9rem; font: 400 clamp(2.4rem, 4.2vw, 4.6rem)/.9 "Instrument Serif", serif; }
.identity-spine > div p { max-width: 30rem; margin: 0; color: #8f97aa; font-size: .88rem; line-height: 1.7; }
.identity-spine blockquote { margin: 0; padding-left: clamp(2rem, 5vw, 5rem); border-left: 1px solid rgba(213,178,118,.5); }
.identity-spine blockquote p { margin: 0 0 .6rem; color: var(--gold); font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; }
.identity-spine blockquote strong { display: block; max-width: 42rem; font: 400 clamp(2.2rem, 4.3vw, 4.8rem)/.96 "Instrument Serif", serif; letter-spacing: -.025em; }

.ecosystem { min-height: 92vh; display: grid; grid-template-columns: .85fr 1.15fr; padding: clamp(5rem, 10vw, 9rem) clamp(2rem, 7vw, 8rem); background: radial-gradient(circle at 18% 22%, #0d2048 0, #060e22 35%, #020610 78%); border-top: 1px solid rgba(117,142,210,.18); }
.ecosystem-heading > p { margin: 0 0 2rem; color: var(--gold); text-transform: uppercase; letter-spacing: .2em; font-size: .65rem; }
.ecosystem-heading h2 { margin: 0; font: 400 clamp(3.5rem, 6.8vw, 7.5rem)/.88 "Instrument Serif", serif; letter-spacing: -.035em; }
.ecosystem-heading h2 em { color: #8695ba; font-weight: 400; }
.connection-list { align-self: center; border-top: 1px solid #2c2e33; }
.connection-list button { width: 100%; display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 1rem; align-items: center; padding: 2.2rem 0; color: inherit; background: transparent; border-bottom: 1px solid #2c2e33; text-align: left; cursor: pointer; }
.connection-list button span { color: #8c8f96; font-size: .67rem; text-transform: uppercase; letter-spacing: .15em; }
.connection-list button strong { font: 400 clamp(1.4rem, 2.3vw, 2.5rem)/1 "Instrument Serif", serif; transition: color .3s, transform .3s; }
.connection-list button i { color: var(--gold); font-style: normal; font-size: .62rem; letter-spacing: .15em; }
.connection-list button:hover strong { color: var(--gold); transform: translateX(.5rem); }
.site-footer { min-height: 9rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 2.2rem; background: #020611; border-top: 1px solid var(--line); color: #8c8e93; text-transform: uppercase; letter-spacing: .15em; font-size: .62rem; }
.site-footer img { width: 2rem; }
.site-footer p { margin: 0; }
.site-footer p span { margin: 0 .8rem; color: var(--gold); }
.site-footer a { justify-self: end; text-underline-offset: .4rem; }

@media (max-width: 860px) {
  .topbar { height: 4.5rem; padding: 0 1.1rem; }
  .lei-signature span, .axis-mark { display: none; }
  .hub-shell { min-height: calc(100svh - 0px); height: auto; padding-top: 4.5rem; display: block; overflow: visible; }
  .portals { height: calc(100svh - 4.5rem); flex-direction: column; }
  .portals-intro { top: 1rem; left: 1rem; right: 1rem; }
  .portals-intro p { font-size: .56rem; }
  .concept-rail { display: none; }
  .portal { width: 100%; flex: 1 1 0; justify-content: flex-start; padding-left: 6vw; border-right: 0; border-bottom: 1px solid var(--line); }
  .portal-glyph { font-size: clamp(8.5rem, 37vw, 12rem); line-height: .65; background-size: auto 100vh; transform: none; }
  .portal-copy { left: 45%; bottom: 50%; transform: translateY(50%); }
  .portal-copy p { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .portal-copy span { display: none; }
  .portal-index { top: 1rem; right: 1rem; left: auto; }
  .portal-arrow { right: 1rem; bottom: 1rem; width: 2.2rem; height: 2.2rem; background: rgba(3,10,27,.34); backdrop-filter: blur(6px); }
  .portal-arrow::before { top: .62rem; right: .61rem; }
  .portal-arrow::after { top: 1.06rem; left: .57rem; }
  .portals:has(.portal:hover) .portal:not(:hover), .portals:has(.portal:focus-visible) .portal:not(:focus-visible) { flex: .72; }
  .portal:hover, .portal:focus-visible { flex: 1.35; }
  body.workspace-open .hub-shell { display: block; }
  body.workspace-open .portals { height: 12rem; flex-direction: row; position: sticky; top: 4.5rem; z-index: 20; }
  body.workspace-open .portal { padding: 0; justify-content: center; border-right: 1px solid var(--line); border-bottom: 0; }
  body.workspace-open .portal-glyph { font-size: 6.4rem; }
  body.workspace-open .portal-copy, body.workspace-open .portal-index, body.workspace-open .portal-arrow { display: none; }
  body.workspace-open .portal[aria-pressed="true"] { flex: 1.2; }
  .content-panel { min-height: calc(100svh - 4.5rem); opacity: 1; visibility: visible; display: none; transform: none; }
  body.workspace-open .content-panel { display: block; }
  .panel-close { top: 1rem; margin: 1rem 1.3rem 0 0; }
  .content-heading { padding: 5rem 1.35rem 1.6rem; }
  .content-heading h1 { font-size: clamp(3.3rem, 15vw, 5.5rem); }
  .axis-actions { display: grid; }
  .axis-destination, .axis-autonomous { width: 100%; }
  .governance-note { grid-template-columns: 1fr; margin-inline: 1.35rem; }
  .content-tabs { gap: 1.5rem; margin: 0 1.35rem; }
  .content-toolbar { align-items: flex-start; flex-direction: column; margin: 1.4rem 1.35rem 1rem; }
  .search-box { width: 100%; }
  .cards { grid-template-columns: 1fr; margin: 0 1.35rem; }
  .card { min-height: 11.5rem; }
  .panel-footer { padding: 2rem 1.35rem 3rem; }
  .identity-code { padding: 5.5rem 1.35rem; }
  .identity-heading { grid-template-columns: 1fr; gap: 1.4rem; padding-bottom: 3.5rem; }
  .identity-heading h2 { font-size: clamp(3.7rem, 17vw, 5.8rem); }
  .identity-grid { grid-template-columns: 1fr; }
  .identity-grid article { grid-template-columns: 1fr; gap: 2rem; padding: 2rem 1.4rem; }
  .identity-grid article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .identity-spine { grid-template-columns: 1fr; gap: 3.5rem; padding-top: 4.5rem; }
  .identity-spine blockquote { padding-left: 1.4rem; }
  .ecosystem { grid-template-columns: 1fr; gap: 5rem; padding: 6rem 1.35rem; }
  .connection-list button { grid-template-columns: 1fr auto; }
  .connection-list button strong { grid-column: 1 / -1; grid-row: 2; }
  .connection-list button i { grid-column: 2; grid-row: 1; }
  .site-footer { grid-template-columns: auto 1fr; gap: 1rem; padding: 2rem 1.35rem; }
  .site-footer p { justify-self: end; text-align: right; line-height: 2; }
  .site-footer a { display: none; }
}

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

/* Secondary document access, visible on desktop and mobile. */
.site-footer .footer-links { display: flex; flex-direction: column; align-items: flex-end; gap: .85rem; justify-self: end; }
.site-footer .presentation-download { display: inline-block; color: #a2a5ac; font-size: .8125rem; letter-spacing: .02em; text-transform: none; }
.site-footer .presentation-download:hover { color: var(--gold); }
.site-footer .presentation-download:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media (max-width: 700px) { .site-footer .footer-links { grid-column: 1 / -1; justify-self: center; align-items: center; } }

.presentation-section { padding: 2rem 2.2rem 3rem; background: #020611; }
.presentation-reader { max-width: 1200px; margin: auto; border: 1px solid #333945; border-radius: 10px; overflow: hidden; background: #080e19; }
.presentation-reader summary { cursor: pointer; padding: 1.4rem 1.6rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; color: #ddd0a9; font-size: 1rem; list-style: none; }
.presentation-reader summary::-webkit-details-marker { display: none; }
.presentation-reader[open] .reader-toggle { transform: rotate(45deg); }
.reader-toggle { font-size: 1.5rem; transition: transform .2s; }
.reader-body { padding: 0 1.2rem 1rem; }
.reader-intro, .reader-help { color: #b8becb; font-size: .875rem; line-height: 1.6; }
.reader-toolbar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; padding: 1rem 0; }
.reader-toolbar button, .reader-toolbar a, #reader-retry { background: #141d2b; color: #e9e3d5; border: 1px solid #495163; padding: .6rem .8rem; border-radius: 5px; font: inherit; font-size: .875rem; cursor: pointer; text-decoration: none; }
.reader-toolbar button:disabled { opacity: .4; cursor: default; }
.reader-toolbar label { display: flex; gap: .4rem; align-items: center; color: #c8ccd5; font-size: .875rem; }
.reader-toolbar select { background: #141d2b; border: 1px solid #495163; border-radius: 4px; color: #fff; padding: .45rem; font-size: .875rem; }
#reader-status { color: #aeb6c5; font-size: .8125rem; min-height: 1.25rem; }
.reader-stage { overflow: auto; max-height: min(78vh,1000px); background: #01050c; padding: 12px; border-radius: 5px; }
.reader-sheet { position: relative; margin: auto; }
.reader-sheet canvas { display: block; }
.reader-links { position: absolute; inset: 0; }
.reader-hotspot { position: absolute; display: block; border: 0; margin: 0; padding: 0; background: transparent; cursor: pointer; border-radius: 0; }
.reader-hotspot:hover { background: rgba(221,192,122,.14); box-shadow: inset 0 0 0 1px #b6a16b; }
.reader-hotspot:focus-visible { outline: 3px solid #e5c783; outline-offset: -2px; }
.reader-video { width: min(94vw,1100px); max-width: 1100px; padding: 1rem; border: 1px solid #625535; border-radius: 10px; background: #080e19; color: #ece7dc; }
.reader-video::backdrop { background: rgba(0,0,0,.85); }
.reader-video header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.reader-video h2 { font-size: 1rem; font-weight: 500; }
.reader-video header button { border: 1px solid #625535; padding: .6rem .8rem; color: #fff; background: transparent; border-radius: 5px; cursor: pointer; font-size: .875rem; }
.reader-video-screen { aspect-ratio: 16/9; width: 100%; background: #000; }
.reader-video-screen iframe { width: 100%; height: 100%; border: 0; }
.reader-video p { margin: .9rem 0 0; font-size: .875rem; }
.reader-video a { color: #ddd0a9; }
.presentation-reader:fullscreen { max-width: none; width: 100%; height: 100%; overflow: auto; }
.presentation-reader:fullscreen .reader-stage { max-height: calc(100vh - 225px); }
@media (max-width:700px) { .presentation-section { padding: 1.5rem 1rem 2rem; } .presentation-reader summary { padding: 1rem; } .reader-body { padding: 0 .65rem .75rem; } .reader-toolbar { gap: .5rem; } .reader-toolbar label { order: -1; } .reader-stage { padding: 8px; max-height: 72vh; } .reader-video { width: 96vw; padding: .7rem; } }

.reader-page-videos { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.reader-page-videos[hidden] { display:none; }
.reader-page-videos p { width:100%; margin:0; font-size:13px; color:#b8c3d3; }
.reader-page-videos button { min-height:44px; padding:12px 16px; border:1px solid #786449; border-radius:8px; background:#142033; color:#ead1a6; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.reader-page-videos button:hover,.reader-page-videos button:focus-visible { background:#22344e; outline:2px solid #e8c795; }

.reader-revision {display:inline-block;font-size:12px;color:#e8c795;margin-bottom:8px;}
