/* Only the Home. Default HTML is a static, fully usable two-screen fallback. */
.home { background:#070c10; --compass-gold:#d7c797; --compass-ivory:#eee9dc; }
.home .site-header { background:linear-gradient(#070c10f0,#070c1080); backdrop-filter:blur(8px); }
.compass-home { color:var(--compass-ivory); overflow-anchor:none; }
.compass-stage { position:relative; min-height:720px; height:100svh; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 44%,#1e333b60,transparent 62%); }
.compass-contours { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#90aaac; stroke-width:.6; opacity:.13; pointer-events:none; }
.compass-light { position:absolute; inset:0; background:radial-gradient(ellipse at 35% 40%,#baa4760c,transparent 48%); pointer-events:none; }
.compass-instrument { position:absolute; inset:0; pointer-events:none; }
.compass-dial { position:absolute; width:min(95vw,960px); height:100%; left:50%; top:48%; transform:translate(-50%,-50%); fill:none; stroke:var(--compass-gold); }
.compass-ticks { stroke-width:1; opacity:.35; }
.compass-orbit { stroke-width:1; transform-origin:500px 350px; }
.compass-orbit--one { stroke-dasharray:32 18; opacity:.65; }
.compass-orbit--two { stroke-dasharray:18 9 4 19; opacity:.3; transform:rotate(-35deg); }
.compass-orbit--three { stroke-dasharray:42 8; opacity:.17; }
.compass-cross { stroke-width:1; opacity:.5; }
.compass-logo { position:absolute; width:clamp(170px,31vh,260px); aspect-ratio:1; top:45%; left:50%; transform:translate(-50%,-50%); border-radius:50%; overflow:hidden; border:1px solid #d7c79770; box-shadow:0 0 0 8px #d7c79705,0 0 80px #b0c0b610; }
.compass-logo img { width:100%; height:100%; object-fit:cover; }
.compass-identity { position:absolute; top:65%; left:0; width:100%; text-align:center; padding:0 20px; }
.compass-identity h1 { margin:0 0 18px; font:500 clamp(40px,6.8vw,90px)/1.1 Arial,sans-serif; letter-spacing:.16em; overflow:hidden; }
.compass-identity h1 span { display:inline-block; }
.compass-identity p { font:400 15px/1.6 var(--font-body); letter-spacing:.12em; color:#ccd0ca; margin:0; }
.compass-scroll { position:absolute; left:50%; bottom:5%; transform:translateX(-50%); text-decoration:none; font-size:12px; letter-spacing:.09em; padding:12px; white-space:nowrap; color:#c9bd9d; }
.compass-scroll span { display:inline-block; margin-left:18px; }
.compass-navigation { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; padding:70px 6%; margin-top:100svh; background:#070c10; }
.compass-access { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:130px; gap:12px; padding:12px 16px; color:#dddcd2; text-decoration:none; position:relative; border-radius:12px; }
.compass-access__symbol { display:grid; place-items:center; width:58px; height:58px; border:1px solid #caba8d55; border-radius:50%; background:#0d181ed9; box-shadow:0 0 0 6px #d7c79704; transition:transform .25s,border-color .25s,box-shadow .25s; }
.compass-access svg { width:36px; height:36px; fill:none; stroke:#cbbb94; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; }
.compass-access__name { font:500 14px/1.6 var(--font-body); text-transform:uppercase; letter-spacing:.1em; max-width:255px; }
.compass-access__arrow { color:#cbbb94; font-size:18px; line-height:1; }
.compass-access:hover,.compass-access:focus-visible,.compass-access.is-active { color:#fff7df; background:radial-gradient(ellipse,#bdab7312,transparent 70%); }
.compass-access:hover .compass-access__symbol,.compass-access:focus-visible .compass-access__symbol,.compass-access.is-active .compass-access__symbol { transform:scale(1.08); border-color:#e8d59b; box-shadow:0 0 0 7px #d7c7970b,0 0 22px #d7c79724; }
.compass-access:active .compass-access__symbol { transform:scale(.95); background:#534a2b; }
.compass-axes,.compass-needle { display:none; }
.compass-footer { padding:24px 6%; display:flex; justify-content:space-between; gap:20px; font-size:12px; color:#a6ada9; border-top:1px solid #d7c79716; }
.compass-footer a { text-decoration:none; }
/* Progressive enhancement: one instrument remains in view for a natural scroll. */
.compass-enhanced .compass-journey { height:200svh; min-height:1440px; }
.compass-enhanced .compass-stage { position:sticky; top:0; }
.compass-enhanced .compass-navigation { position:absolute; inset:0; margin:0; padding:0; background:none; display:block; opacity:var(--nav-opacity,0); visibility:hidden; pointer-events:none; }
.compass-enhanced .compass-navigation.is-visible { visibility:visible; pointer-events:auto; }
.compass-enhanced .compass-access { position:absolute; width:260px; }
.compass-enhanced .compass-access--north { top:10%; left:50%; transform:translateX(-50%); }
.compass-enhanced .compass-access--east { right:5%; top:48%; transform:translateY(-50%); }
.compass-enhanced .compass-access--south { bottom:3%; left:50%; transform:translateX(-50%); }
.compass-enhanced .compass-access--west { left:5%; top:48%; transform:translateY(-50%); }
.compass-enhanced .compass-logo { top:48%; transform:translate(-50%,-50%) scale(var(--logo-scale,1)); }
.compass-enhanced .compass-identity { opacity:var(--identity-opacity,1); transform:translateY(var(--identity-y,0px)); }
.compass-enhanced .compass-scroll { opacity:var(--identity-opacity,1); }
.compass-enhanced .compass-orbit--one { stroke-dasharray:var(--orbit-dash,32) var(--orbit-gap,18); transform:rotate(var(--orbit-angle,0deg)); }
.compass-enhanced .compass-orbit--two { transform:rotate(var(--orbit-counter,-35deg)); }
.compass-enhanced .compass-contours { transform:scale(var(--contour-scale,1)) rotate(var(--contour-angle,0deg)); }
.compass-enhanced .compass-axes { display:block; position:absolute; inset:0; opacity:var(--nav-opacity,0); pointer-events:none; }
.compass-axes span { position:absolute; left:50%; top:48%; height:1px; background:linear-gradient(90deg,transparent,#b5a77855); transform-origin:left center; }
.compass-axes span.is-active { background:linear-gradient(90deg,transparent,#eddda7); box-shadow:0 0 8px #d7c79766; }
.compass-enhanced .compass-needle { display:block; position:absolute; top:48%; left:50%; width:120px; height:120px; margin:-60px; transform:rotate(var(--needle-angle,0deg)); opacity:var(--nav-opacity,0); transition:transform .45s cubic-bezier(.2,.8,.3,1); }
.compass-needle span { display:block; width:1px; height:120px; background:linear-gradient(#e5d59c,transparent 40%,transparent 60%,#7b8989); margin:auto; }
.compass-enhanced .compass-identity h1 span { animation:compass-letter .75s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(var(--letter)*35ms); }
@keyframes compass-letter { from { transform:translateY(115%) rotate(5deg); opacity:.3; } to { transform:translateY(0) rotate(0); opacity:1; } }
@media(max-width:700px) {
 .compass-stage { height:100svh; min-height:660px; }
 .compass-enhanced .compass-journey { height:200svh; min-height:1320px; }
 .compass-identity { top:64%; }
 .compass-identity h1 { font-size:clamp(32px,9vw,56px); letter-spacing:.1em; }
 .compass-identity p { font-size:12px; letter-spacing:.03em; }
 .compass-logo { width:200px; }
 .compass-dial { width:740px; max-width:none; opacity:.75; }
 .compass-enhanced .compass-access { width:46%; min-height:155px; padding:12px 5px; }
 .compass-enhanced .compass-access--north { top:18%; left:2%; transform:none; }
 .compass-enhanced .compass-access--east { top:18%; right:2%; transform:none; }
 .compass-enhanced .compass-access--south { top:62%; bottom:auto; left:2%; transform:none; }
 .compass-enhanced .compass-access--west { top:62%; left:auto; right:2%; transform:none; }
 .compass-access__name { font-size:12px; letter-spacing:.055em; }
 .compass-access__symbol { width:50px; height:50px; }
 .compass-access svg { width:30px; height:30px; }
 .compass-footer { flex-direction:column; align-items:center; gap:8px; text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
 .compass-home *, .compass-home *::before { animation:none!important; transition:none!important; }
}
/* Static/reduced-motion fallback keeps the identity and all four links visible. */
.compass-home:not(.compass-enhanced) .compass-stage { height:auto; min-height:100svh; }
.compass-home:not(.compass-enhanced) .compass-instrument,.compass-home:not(.compass-enhanced) .compass-contours { height:100svh; }
.compass-home:not(.compass-enhanced) .compass-logo { top:45svh; }
.compass-home:not(.compass-enhanced) .compass-identity { top:65svh; }
.compass-home:not(.compass-enhanced) .compass-scroll { top:86svh; bottom:auto; }
.compass-logo,.compass-identity { z-index:2; }
.compass-navigation { z-index:3; }
.compass-enhanced .compass-needle { width:160px; height:160px; margin:-80px; }
.compass-needle span { height:160px; position:relative; }
.compass-needle span::before { content:''; position:absolute; left:-3px; top:-2px; border-left:3px solid transparent; border-right:3px solid transparent; border-bottom:9px solid #e5d59c; }
.compass-light { animation:compass-breath 16s ease-in-out infinite alternate; animation-play-state:var(--ambient-play,running); }
@keyframes compass-breath { from { opacity:.4; transform:translateX(-12px); } to { opacity:1; transform:translateX(12px); } }
