/* Shared navigation is progressively enhanced; original headers remain as fallback. */
body.lp-rail-ready > header.tmp-header-area-start,body.lp-rail-ready .site-header { display:none !important; }
html:has(.lp-rail-ready) { scrollbar-gutter:stable; }
body.lp-rail-menu-open { overflow:hidden; }
.lp-rail-nav { position:fixed; z-index:10000; top:50%; left:16px; transform:translateY(-50%); width:62px; padding:12px 6px 20px; display:flex; flex-direction:column; align-items:center; gap:22px; border:1px solid #ffffff24; border-radius:36px; background:#101113e8; box-shadow:0 8px 30px #0005; backdrop-filter:blur(16px); }
.lp-rail-brand { display:block; width:44px; height:44px; }
.lp-rail-brand img { width:44px; height:44px; object-fit:contain; }
.lp-rail-toggle { appearance:none; display:flex; align-items:center; flex-direction:column; gap:12px; background:none; color:#e8e5df; border:0; padding:12px 0; width:48px; min-height:90px; font:500 11px/1.4 Montserrat,Arial,sans-serif; letter-spacing:.03em; cursor:pointer; }
.lp-rail-icon { display:flex; flex-direction:column; gap:6px; width:20px; }
.lp-rail-icon i { display:block; height:1px; width:20px; background:currentColor; transition:width .25s; }
.lp-rail-icon i:last-child { width:13px; }
.lp-rail-toggle:hover { color:#ffad45; }
.lp-rail-toggle:hover .lp-rail-icon i:last-child { width:20px; }
.lp-rail-page { writing-mode:vertical-rl; font:500 10px/1.4 Montserrat,Arial,sans-serif; letter-spacing:.1em; color:#a8a7a3; display:flex; align-items:center; gap:12px; }
.lp-rail-page::before { content:""; width:4px; height:4px; border-radius:50%; background:#ff9800; box-shadow:0 0 10px #ff98005c; }
.lp-navigation-dialog { position:fixed; inset:0; box-sizing:border-box; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:radial-gradient(ellipse at 0 100%,#3f291224,transparent 65%),#0a0b0d; color:#f1eee8; overflow-y:auto; }
.lp-navigation-dialog::backdrop { background:#000b; }
.lp-navigation-dialog[open] { animation:lp-nav-reveal .25s ease both; }
.lp-navigation-inner { width:min(1120px,calc(100% - 96px)); min-height:100%; margin:auto; display:flex; flex-direction:column; padding:32px 0; box-sizing:border-box; }
.lp-navigation-top { display:flex; justify-content:space-between; align-items:center; }
.lp-navigation-top img { width:60px; height:60px; object-fit:contain; }
.lp-navigation-close { display:flex; align-items:center; gap:16px; min-height:48px; padding:8px 18px; border:1px solid #ffffff30; border-radius:30px; background:transparent; color:#ddd9d3; cursor:pointer; font:500 13px/1.4 Montserrat,Arial,sans-serif; }
.lp-navigation-close span { font-size:28px; font-weight:300; }
.lp-navigation-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:100px; align-items:center; flex:1; padding:56px 0; }
.lp-navigation-intro > p:first-child { font-size:11px; letter-spacing:.18em; color:#b2aea7; margin:0 0 24px; }
.lp-navigation-intro h2 { font:500 clamp(32px,4vw,54px)/1.12 Poppins,Arial,sans-serif; letter-spacing:-.04em; margin:0 0 28px; color:#f1eee8; }
.lp-navigation-intro h2 span { color:#ff9800; }
.lp-navigation-intro > p:not(:first-child) { font:400 14px/1.8 Montserrat,Arial,sans-serif; color:#a5a39e; }
.lp-navigation-links { display:flex; flex-direction:column; }
.lp-navigation-links a { display:flex; gap:24px; align-items:center; padding:14px 0; border-bottom:1px solid #ffffff16; text-decoration:none; color:#eeeae4; font:500 clamp(36px,5.2vw,68px)/1.2 Poppins,Arial,sans-serif; letter-spacing:-.04em; transition:color .2s; }
.lp-navigation-number { font:400 11px/1.4 Montserrat,Arial,sans-serif; letter-spacing:.06em; color:#777a7d; }
.lp-navigation-arrow { margin-left:auto; font-size:.5em; opacity:0; transform:translate(-5px,5px); transition:opacity .2s,transform .2s; }
.lp-navigation-links a:is(:hover,:focus-visible,[aria-current=page]) { color:#ffad45; }
.lp-navigation-links a:is(:hover,:focus-visible) .lp-navigation-arrow { opacity:1; transform:none; }
.lp-navigation-links a[aria-current=page] .lp-navigation-number { color:#ffad45; }
.lp-navigation-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid #ffffff18; font:400 10px/1.7 Montserrat,Arial,sans-serif; letter-spacing:.08em; color:#92918d; }
.lp-navigation-bottom a { color:#c8c4bc; font-size:12px; text-decoration:none; }
.lp-rail-nav :focus-visible,.lp-navigation-dialog :focus-visible { outline:2px solid #ffad45; outline-offset:5px; }
body:has(.journey-shell):not(.journey-reading) .lp-rail-nav { display:none; }
@keyframes lp-nav-reveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
@media(max-width:1439px) {
 .lp-rail-nav { top:20px; left:24px; transform:none; width:auto; height:62px; padding:8px 14px 8px 8px; flex-direction:row; gap:22px; border-radius:36px; }
 .lp-rail-toggle { width:auto; min-height:44px; flex-direction:row-reverse; padding:8px; gap:14px; font-size:12px; }
 .lp-rail-page { display:none; }
}
@media(max-width:767px) {
 .lp-rail-nav { left:20px; top:18px; }
 .lp-navigation-inner { width:calc(100% - 48px); padding:24px 0; }
 .lp-navigation-layout { grid-template-columns:1fr; gap:0; padding:36px 0; }
 .lp-navigation-intro h2,.lp-navigation-intro > p:not(:first-child) { display:none; }
 .lp-navigation-intro > p:first-child { margin-bottom:12px; }
 .lp-navigation-links a { font-size:clamp(34px,9vw,50px); min-height:64px; padding:10px 0; gap:18px; }
 .lp-navigation-bottom { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .lp-navigation-dialog[open] { animation:none; } .lp-rail-nav *,.lp-navigation-dialog * { transition:none !important; } }
/* Isolate the controls from legacy page-wide layout rules. */
body.lp-rail-ready > header.tmp-header-area-start.header-one.header--sticky { display:none !important; }
body.lp-rail-ready .lp-rail-nav { position:fixed !important; }
.lp-navigation-dialog .lp-navigation-close { width:auto !important; flex:none; border:1px solid #ffffff30 !important; }

/* Lock the root scroller and freeze the document, including touch browsers. */
html.lp-rail-scroll-lock { overflow:hidden !important; overscroll-behavior:none; }
html.lp-rail-scroll-lock body.lp-rail-ready { position:fixed !important; top:var(--lp-menu-scroll-top,0px) !important; left:0; right:0; width:100%; overflow:hidden !important; }
#lp-navigation-dialog { position:fixed !important; inset:0 !important; overscroll-behavior:contain; }

/* One persistent navigation control; assistance lives inside the menu. */
body :is(.scrollToTop,[data-lp-backtop],#lp-quiet-chat-launcher) { display:none!important; }
.lp-navigation-help { margin-top:28px;max-width:300px; }
.lp-navigation-help .lp-navigation-guide { display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:12px 18px;border:1px solid #ff980066;border-radius:999px;background:#ff98000a;color:#ff9800;font:600 14px/1.5 Montserrat,Arial,sans-serif; }
.lp-navigation-help .lp-navigation-guide span { font-size:20px;line-height:1; }
.lp-navigation-help p { margin:10px 0 0;font-size:12px;line-height:1.6;color:#a8a8ae; }
@media(max-width:575px) { .lp-navigation-help { margin-top:18px; } }


@media(min-width:1024px) {
 body.lp-rail-ready:has(.lp-story-edition) {scroll-padding-top:88px}
}
@media(max-width:767px) {body .portfolio-universe .universe-project-toggle {max-width:calc(100% - 48px);font-size:12px;min-height:44px}}

