.journey{background:var(--bg);color:var(--ink)}.journey-hero{padding:clamp(4rem,6vw,6.5rem) 0 clamp(3rem,5vw,5rem)}.journey-shell{width:min(1100px,100% - clamp(2rem,6vw,6rem));margin:0 auto}.journey-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:var(--text-xs);color:var(--ink-tertiary)}.journey-optional{margin:var(--space-2xs) 0 var(--space-sm);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-secondary)}.journey-optional-note{margin:calc(var(--space-sm) * -.5) 0 var(--space-md);max-width:52ch;color:var(--ink-secondary);font-size:var(--text-sm)}.journey-title{margin:var(--space-sm) 0 var(--space-md);font-size:clamp(2.4rem,4vw,3.6rem)}.journey-lede{max-width:50ch;font-size:var(--text-lg);color:var(--ink-secondary)}.journey-actions{margin-top:var(--space-md)}.journey-toc{margin-top:var(--space-md);gap:var(--space-xs);display:grid}.journey-toc-label{text-transform:uppercase;letter-spacing:.16em;font-size:var(--text-xs);color:var(--ink-tertiary);margin:0}.journey-toc-list{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.journey-toc-link{border:1px solid var(--edge-subtle);background:var(--surface-1);min-height:44px;color:var(--ink);touch-action:manipulation;border-radius:999px;align-items:center;padding:.35rem .75rem;font-weight:600;text-decoration:none;transition:border-color .2s,transform .2s;display:inline-flex}.journey-toc-link:hover,.journey-toc-link:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, var(--edge-subtle));transform:translateY(-1px)}.journey-scroll-hint{margin-top:var(--space-sm);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-tertiary)}.journey-scroll-indicator{border:1px solid var(--edge-subtle);width:42px;height:42px;margin-top:var(--space-sm);color:var(--accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.journey-scroll-indicator span{background:currentColor;border-radius:999px;width:6px;height:10px}.journey-instructions{margin:var(--space-sm) 0 0;gap:var(--space-2xs);color:var(--ink-secondary);font-size:var(--text-sm);max-width:48ch;padding:0;list-style:none;display:grid}.journey-instructions li{gap:var(--space-xs);align-items:flex-start;display:flex}.journey-instructions li:before{content:"•";color:var(--accent);font-size:var(--text-lg);line-height:1}.journey-legend{margin-top:var(--space-xl);gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.journey-legend-item{padding:var(--space-md);border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--edge-subtle)}.journey-legend-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-tertiary);display:block}.journey-legend-value{margin-top:var(--space-2xs);font-weight:500;display:block}.journey-track{min-height:260vh;position:relative}.journey-guide{padding:0 0 clamp(3.5rem,6vw,5rem)}.journey-guide-header{gap:var(--space-sm);max-width:60ch;display:grid}.journey-guide-title{margin:0}.journey-guide-lede{color:var(--ink-secondary);margin:0}.journey-guide-list{margin:var(--space-xl) 0 0;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:0;list-style:none;display:grid}.journey-guide-item{padding:var(--space-md);border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--edge-subtle);color:var(--ink-secondary);transition:border-color .2s,transform .2s}.journey-guide-item:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--edge-subtle));transform:translateY(-2px)}.journey-guide-item[data-active]{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}.journey-guide-kicker{margin:0 0 var(--space-xs);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-tertiary)}.journey-guide-step-title{margin:0 0 var(--space-xs);font-size:var(--text-md);color:var(--ink)}.journey-guide-detail{font-size:var(--text-sm);color:var(--ink-tertiary);margin:0}.journey-stage{--journey-progress:0;--journey-glow:color-mix(in srgb, var(--accent) 20%, transparent);--journey-velocity:0;--journey-overlay-color:var(--accent);--journey-overlay-secondary:var(--accent-sage);height:100svh;min-height:100vh;position:sticky;top:0}.journey-progress{background:color-mix(in srgb, var(--edge) 70%, transparent);z-index:5;border-radius:999px;width:min(180px,45vw);height:6px;position:absolute;top:1.25rem;right:1.5rem;overflow:hidden}.journey-progress-bar{height:100%;width:calc(var(--journey-progress) * 100%);background:linear-gradient(90deg, var(--accent), var(--accent-sage));border-radius:inherit;transition:width .15s ease-out;display:block}.journey-viewport{border-top:1px solid var(--edge-subtle);border-bottom:1px solid var(--edge-subtle);background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%);perspective:1200px;height:100%;min-height:100svh;position:relative;overflow:hidden}@supports (min-height:100dvh){.journey-stage{height:100dvh;min-height:100dvh}.journey-viewport{min-height:100dvh}}.journey-fallback{place-items:center;gap:var(--space-sm);padding:var(--space-lg);text-align:center;color:var(--ink-secondary);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-1) 75%, transparent), color-mix(in srgb, var(--surface-2) 75%, transparent));z-index:2;transition:opacity var(--duration-normal) ease;display:grid;position:absolute;inset:0}.journey-fallback img{border-radius:var(--radius);border:1px solid var(--edge);width:min(420px,70%);height:auto;box-shadow:var(--shadow-sm)}.journey-fallback .mono{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}[data-journey][data-journey-ready=true] .journey-fallback{opacity:0;pointer-events:none}.journey-system{z-index:1;pointer-events:none;position:absolute;inset:0}.journey-system-svg{width:100%;height:100%;color:var(--journey-overlay-color)}.journey-node-system{opacity:.85;transition:opacity .4s}.journey-system-node{fill:color-mix(in srgb, currentColor 60%, transparent)}.journey-node-link{stroke:color-mix(in srgb, currentColor 45%, transparent);stroke-width:1.5px;stroke-linecap:round}.journey-world{z-index:0;background:var(--bg);transform:translateY(calc(var(--journey-progress) * -20px));position:absolute;inset:0}.journey-field,.journey-stream,.journey-signal,.journey-hero-object,.journey-nodes{z-index:2}.journey-field{color:var(--journey-overlay-color);background:radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--journey-overlay-color) 20%, transparent), transparent 60%);opacity:calc(.18 + (var(--journey-progress) * .3));filter:blur(10px);transform:translateY(calc(var(--journey-progress) * 30px)) scale(1.05);mix-blend-mode:screen;pointer-events:none;position:absolute;inset:-25%;mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%)}.journey-stream{display:none}.journey-signal{color:var(--journey-overlay-color);opacity:calc(.2 + (var(--journey-progress) * .4));transform:translateY(calc(var(--journey-progress) * -20px));pointer-events:none;position:absolute;inset:18% 8%}.journey-signal svg{width:100%;height:auto}.journey-signal-base{stroke-linecap:round;stroke-linejoin:round}.journey-signal-trace{stroke-dasharray:.08 .16;stroke-linecap:round;animation:5.5s linear infinite journey-signal}.journey-signal-node{filter:drop-shadow(0 0 10px color-mix(in srgb, currentColor 45%, transparent));animation:3.8s ease-out infinite journey-pulse}.journey-voronoi{background:var(--surface-1);opacity:.4;transform:scale(calc(1 + (var(--journey-progress) * .2)));border-radius:var(--radius);transition:opacity .6s;position:absolute;inset:-15%}.journey-constellation{display:none}.journey-depth{background-image:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent) 5%, transparent) 100%);opacity:calc(.15 + (var(--journey-progress) * .25));transform:translateY(calc(var(--journey-progress) * 25px));pointer-events:none;position:absolute;inset:0}.journey-aurora{display:none}.journey-orbits{background-image:repeating-radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--edge-strong) 40%, transparent) 0 1px, transparent 1px 26px);opacity:calc(.2 + (var(--journey-progress) * .25));transform:rotate(calc(var(--journey-progress) * 6deg));pointer-events:none;position:absolute;inset:-20%;mask-image:radial-gradient(circle at 50% 40%,#000 0 55%,#0000 70%)}.journey-grid{background-image:linear-gradient(90deg, color-mix(in srgb, var(--edge-subtle) 45%, transparent) 1px, transparent 1px), linear-gradient(180deg, color-mix(in srgb, var(--edge-subtle) 45%, transparent) 1px, transparent 1px);background-size:calc(70px - (var(--journey-progress) * 18px)) calc(70px - (var(--journey-progress) * 18px));background-position:calc(var(--journey-progress) * 40px) calc(var(--journey-progress) * 40px);opacity:0;transition:opacity .6s,background-position .8s;position:absolute;inset:0}.journey-city{gap:var(--space-sm);opacity:0;transform:translateY(calc(40px - (var(--journey-progress) * 30px))) scale(calc(.96 + (var(--journey-progress) * .04)));grid-template-columns:repeat(6,minmax(0,1fr));transition:opacity .6s,transform .6s;display:grid;position:absolute;inset:auto 10% 10%}.journey-city span{background:color-mix(in srgb, var(--surface-3) 80%, transparent);border:1px solid var(--edge-subtle);border-radius:calc(var(--radius) / 1.5);height:clamp(40px,8vw,90px);box-shadow:inset 0 0 20px color-mix(in srgb, var(--ink-tertiary) 10%, transparent);display:block}.journey-fog{background:radial-gradient(circle at center, transparent 40%, color-mix(in srgb, var(--bg) 85%, transparent) 70%);pointer-events:none;position:absolute;inset:0}.journey-hero-object{transform:translate(-50%, -50%) scale(calc(1 + (var(--journey-progress) * .2)));width:min(70vw,520px);color:var(--accent);transition:color .4s;position:absolute;top:50%;left:50%}.journey-hero-object svg{width:100%;height:auto;overflow:visible}.journey-hero-curve{stroke-width:2.5px}.journey-hero-trace{stroke-dasharray:6 14;stroke-opacity:.35;animation:6s linear infinite journey-dash}.journey-hero-axis{stroke-opacity:.18}.journey-hero-rings{transform-origin:210px 98px;animation:10s linear infinite journey-ring}.journey-hero-pulse{opacity:.7;transform-origin:280px 110px;animation:3.6s ease-out infinite journey-pulse}.journey-hero-node{filter:drop-shadow(0 0 8px color-mix(in srgb, currentColor 40%, transparent))}.journey-nodes{transform:translate(-50%, -50%) scale(calc(.92 + (var(--journey-progress) * .12)));opacity:0;pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);transition:opacity .6s;display:grid;position:absolute;top:50%;left:50%}.journey-progress{gap:var(--space-sm);z-index:3;pointer-events:auto;display:grid;position:absolute;top:50%;right:clamp(1.5rem,4vw,3rem);transform:translateY(-50%)}.journey-progress-title{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-tertiary)}.journey-progress-list{padding:0 0 0 var(--space-md);gap:var(--space-sm);margin:0;list-style:none;display:grid;position:relative}.journey-progress-list:before{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--accent) 70%, transparent) 0%, color-mix(in srgb, var(--accent) 70%, transparent) calc(var(--journey-progress) * 100%), color-mix(in srgb, var(--edge-subtle) 70%, transparent) calc(var(--journey-progress) * 100%), color-mix(in srgb, var(--edge-subtle) 70%, transparent) 100%);border-radius:999px;width:2px;position:absolute;top:.4rem;bottom:.4rem;left:4px}.journey-progress-item{gap:var(--space-xs);color:var(--ink-tertiary);grid-template-columns:auto 1fr;align-items:center;display:grid}.journey-progress-dot{border:1px solid var(--edge-subtle);background:var(--bg);border-radius:999px;width:8px;height:8px}.journey-progress-meta{gap:2px;display:grid}.journey-progress-text{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em}.journey-progress-link{color:inherit;align-items:center;gap:var(--space-2xs);text-decoration:none;display:inline-flex}.journey-progress-link:hover{color:var(--ink)}.journey-progress-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.journey-progress-years{font-size:var(--text-xs);color:var(--ink-tertiary)}.journey-progress-item[data-active]{color:var(--ink)}.journey-progress-item[data-active] .journey-progress-dot{background:color-mix(in srgb, var(--accent) 70%, transparent);border-color:color-mix(in srgb, var(--accent) 70%, transparent);transform:scale(1.1)}.journey-progress-item[data-active] .journey-progress-years{color:var(--ink-secondary)}.journey-telemetry{gap:var(--space-sm);width:min(260px,42vw);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--edge-subtle);pointer-events:none;z-index:3;display:grid;position:absolute;top:50%;left:clamp(1.5rem,4vw,3rem);transform:translateY(-50%)}.journey-telemetry-header{gap:var(--space-2xs);display:grid}.journey-telemetry-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-tertiary)}.journey-telemetry-note{font-size:var(--text-sm);color:var(--ink-secondary)}.journey-telemetry-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.journey-telemetry-item{gap:var(--space-2xs);display:grid}.journey-telemetry-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-tertiary)}.journey-telemetry-value{font-size:var(--text-sm);color:var(--ink)}.journey-telemetry-bar{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 40%, transparent), color-mix(in srgb, var(--accent-sage) 40%, transparent));border-radius:999px;height:6px;position:relative;overflow:hidden}.journey-telemetry-bar:after{content:"";top:50%;left:calc(var(--journey-progress) * 100%);background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.journey-node{border-radius:var(--radius);border:1px solid var(--edge-strong);background:color-mix(in srgb, var(--surface-1) 70%, transparent);width:clamp(90px,12vw,130px);height:clamp(90px,12vw,130px);box-shadow:var(--shadow-xs);cursor:pointer;touch-action:manipulation;position:relative}.journey-node-dot{border-radius:calc(var(--radius) / 1.5);border:1px solid var(--edge-subtle);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 25%, transparent), transparent 60%);position:absolute;inset:12px}.journey-node-stat{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-1) 85%, transparent);border:1px solid var(--edge-subtle);font-size:var(--text-xs);color:var(--ink-secondary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;bottom:-2.2rem;left:50%;transform:translate(-50%)}.journey-node:hover{outline:2px solid var(--accent);outline-offset:2px}.journey-node:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 4px var(--focus-ring-outer)}.journey-node:focus-visible .journey-node-stat,.journey-node:hover .journey-node-stat{opacity:1}.journey-node[data-active=true]{outline:2px solid var(--accent);outline-offset:2px}.journey-node[data-active=true] .journey-node-stat{opacity:1}.journey-hud{pointer-events:none;z-index:3;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:clamp(1.5rem,4vw,3rem)}.journey-hud-block{background:color-mix(in srgb, var(--surface-1) 72%, transparent);border:1px solid var(--edge-subtle);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-xs);max-width:240px}.journey-hud-scale{text-align:right;align-self:flex-end}.journey-hud-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-tertiary);margin:0}.journey-hud-value{margin:var(--space-2xs) 0 0;font-family:var(--font-mono);font-size:var(--text-sm)}.journey-hud-stage{align-self:flex-start}.journey-caption{left:50%;bottom:calc(clamp(1.5rem, 5vw, 3rem) + env(safe-area-inset-bottom,0px));padding:var(--space-xs) var(--space-md);border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--edge-subtle);font-size:var(--text-sm);color:var(--ink-secondary);z-index:3;position:absolute;transform:translate(-50%)}.journey-notes{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,6vw,6rem)}.journey-notes-title{margin-bottom:var(--space-lg)}.journey-notes-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.journey-note{padding:var(--space-md);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-1) 80%, transparent);border:1px solid var(--edge-subtle);color:var(--ink-secondary)}.journey-note-title{margin-top:0;margin-bottom:var(--space-xs);color:var(--ink)}.journey-stage[data-stratum=molecular] .journey-grid,.journey-stage[data-stratum=molecular] .journey-city{opacity:0}.journey-stage[data-stratum=molecular] .journey-field{opacity:.28}.journey-stage[data-stratum=molecular] .journey-stream{opacity:.08}.journey-stage[data-stratum=molecular] .journey-signal{opacity:.3}.journey-stage[data-stratum=molecular] .journey-hero-object{color:var(--accent)}.journey-stage[data-stratum=clinical]{--journey-overlay-color:var(--accent-sage);--journey-overlay-secondary:var(--accent)}.journey-stage[data-stratum=clinical] .journey-grid{opacity:.45}.journey-stage[data-stratum=clinical] .journey-nodes{opacity:1;pointer-events:auto}.journey-stage[data-stratum=clinical] .journey-stream{opacity:.32}.journey-stage[data-stratum=clinical] .journey-signal{opacity:.55}.journey-stage[data-stratum=clinical] .journey-hero-object{color:var(--accent-sage)}.journey-stage[data-stratum=defense]{--journey-overlay-color:var(--accent);--journey-overlay-secondary:var(--ink)}.journey-stage[data-stratum=defense] .journey-grid{opacity:.32}.journey-stage[data-stratum=defense] .journey-nodes{opacity:.6;pointer-events:auto}.journey-stage[data-stratum=defense] .journey-stream{opacity:.26}.journey-stage[data-stratum=defense] .journey-signal{opacity:.42}.journey-stage[data-stratum=defense] .journey-hero-object{color:var(--accent)}.journey-stage[data-stratum=defense] .journey-city{opacity:.45;transform:translateY(20px)scale(.98)}.journey-stage[data-stratum=institution] .journey-grid{opacity:.18}.journey-stage[data-stratum=institution]{--journey-overlay-color:var(--ink);--journey-overlay-secondary:var(--accent)}.journey-stage[data-stratum=institution] .journey-city{opacity:1;transform:translateY(0)scale(1)}.journey-stage[data-stratum=institution] .journey-signal{opacity:.2}.journey-stage[data-stratum=institution] .journey-hero-object{color:var(--ink)}@media (width<=720px){.journey-track{min-height:360vh}.journey-legend{grid-template-columns:1fr}.journey-actions{flex-direction:column;align-items:flex-start}.journey-scroll-hint{letter-spacing:.12em}.journey-guide-list{grid-template-columns:1fr}.journey-node{width:clamp(70px,24vw,90px);height:clamp(70px,24vw,90px)}.journey-progress{right:auto;left:var(--space-lg);top:auto;bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px));transform:none}.journey-progress-list{gap:var(--space-sm);flex-wrap:wrap;padding-left:0;display:flex}.journey-progress-list:before{display:none}.journey-progress-item{grid-template-columns:auto auto}.journey-progress-text{font-size:var(--text-xs)}.journey-progress-years{display:none}.journey-hud{inset:var(--space-lg);gap:var(--space-sm);justify-content:flex-start;align-items:flex-start}.journey-hud-block{max-width:100%}.journey-telemetry{top:auto;left:50%;bottom:calc(clamp(4.5rem, 10vw, 6.5rem) + env(safe-area-inset-bottom,0px));width:min(90vw,360px);transform:translate(-50%)}.journey-caption{text-align:center;width:min(90vw,420px)}}@media (prefers-reduced-motion:reduce){.journey-hero-object,.journey-voronoi,.journey-constellation,.journey-depth,.journey-city,.journey-grid,.journey-nodes,.journey-field,.journey-stream,.journey-signal{transition:none}.journey-hero-trace,.journey-hero-rings,.journey-hero-pulse,.journey-signal-trace,.journey-signal-node,.journey-stream{animation:none}}@keyframes journey-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-80px}}@keyframes journey-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes journey-pulse{0%{opacity:.65;transform:scale(.6)}70%{opacity:.1;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}@keyframes journey-stream{0%{background-position:0 0,0 0}to{background-position:220px -220px,0 0}}@keyframes journey-signal{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}