@font-face{font-family:Jua;src:url('/fonts/jua.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--cream:#ffeac5;--paper:#f5efdf;--ink:#273e43;--dim:#526567;--sky:#172c40}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--sky);color:var(--cream);font:16px/1.85 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #d6a65c;outline-offset:6px;border-radius:4px}p{margin:0 0 1.2em}h1,h2{line-height:1.4;font-weight:500;overflow-wrap:anywhere}button,a,summary{-webkit-tap-highlight-color:transparent}img{max-width:100%}
.scene{position:absolute;inset:0 0 auto;height:100svh;min-height:850px;z-index:-1;overflow:hidden;background:#1e3449}.landscape,.scene-shade{position:absolute;inset:0}.landscape{background:url('/observatory-night.png') center 78%/cover;transform:scale(1.035);animation:breathe 35s ease-in-out infinite alternate}.scene-shade{background:linear-gradient(90deg,#122336d9 0%,#152c3d77 42%,#162b3c0a 85%),linear-gradient(0deg,#162b3c 0%,transparent 35%,#14273a44)}[data-sky=day] .landscape{background-image:url('/mountain-day.png');background-position:center 57%}[data-sky=day] .scene-shade{background:linear-gradient(90deg,#132b35eb,#142d3775 48%,#142d3710),linear-gradient(0deg,#162b3c,transparent 40%)}[data-sky=dawn] .landscape{filter:sepia(.16) saturate(.82) brightness(1.15)}[data-sky=dusk] .landscape{filter:sepia(.15) saturate(.85)}

[data-art=day] .landscape{background-image:url('/mountain-day.png');filter:none}[data-art=dawn] .landscape{background-image:url('/mountain-dawn.png');filter:none}[data-art=night] .landscape{background-image:url('/mountain-night.png');filter:none}[data-art=autumn] .landscape{background-image:url('/mountain-autumn.png');filter:none}[data-art=winter] .landscape{background-image:url('/mountain-winter.png');filter:none}[data-art=twilight] .landscape{background-image:url('/mountain.png');filter:none}
.site-header{position:relative;z-index:5;max-width:1280px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;letter-spacing:.02em}.brand img{border-radius:28%;box-shadow:0 0 20px #ffeac515}.brand span{font-family:Jua,system-ui,sans-serif}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}.safety-link{text-decoration:none}.languages{position:relative}.languages summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px}.languages summary::-webkit-details-marker{display:none}.chevron{opacity:.75;display:block;width:12px;height:12px;flex-shrink:0;align-self:center}.languages>div{position:absolute;right:0;top:calc(100% + 9px);width:190px;padding:10px;background:var(--paper);color:var(--ink);border:1px solid #dacfb5;box-shadow:0 12px 40px #10202a40;border-radius:16px}.languages a{display:block;min-height:42px;padding:7px 12px;text-decoration:none;border-radius:8px}.languages a:hover,.languages a[aria-current]{background:#e6ddc5}
.hero{position:relative;max-width:1280px;min-height:calc(100svh - 115px);margin:auto;padding:64px 48px 130px;display:flex;align-items:center}.hero-copy{max-width:570px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;line-height:1.7;margin-bottom:22px}.hero h1{font-family:Jua,system-ui,sans-serif;font-size:clamp(54px,6.5vw,88px);letter-spacing:-.035em;margin:0 0 22px;text-shadow:0 3px 30px #0d263466}.hero .lead{font-size:clamp(22px,2.3vw,30px);line-height:1.55;letter-spacing:-.025em;margin-bottom:22px;word-break:keep-all}.intro{color:#e8e6d9;max-width:435px;line-height:1.9}.button{display:inline-flex;align-items:center;gap:28px;border:1px solid #ffedc9;padding:13px 24px;background:var(--cream);color:#263d43;text-decoration:none;border-radius:999px;margin:17px 0 15px;font-size:15px;font-weight:600;box-shadow:0 0 36px #ffeac517;transition:background .2s,transform .2s}.button:hover{background:#fff2da;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.note{font-size:12px;color:#d4dacd;letter-spacing:.03em}.scroll-cue{position:absolute;bottom:36px;left:48px;text-decoration:none;border:1px solid #ffeac54d;width:38px;height:54px;border-radius:99px;display:grid;place-items:center;color:#ffeac5b3}
.fireflies i{position:absolute;width:4px;height:4px;background:#ffe9a6;border-radius:50%;box-shadow:0 0 15px 5px #ffe4a14d;animation:float 9s ease-in-out infinite alternate}.fireflies i:nth-child(1){top:42%;left:68%}.fireflies i:nth-child(2){top:53%;left:83%;animation-delay:-4s}.fireflies i:nth-child(3){top:65%;left:57%;animation-delay:-6s}.fireflies i:nth-child(4){top:76%;left:91%;animation-delay:-2s}.fireflies i:nth-child(5){top:27%;left:86%;animation-delay:-7s}.echo-rings{position:absolute;left:72%;top:48%}.echo-rings i{position:absolute;border:1px solid #ffeac557;border-radius:50%;width:34px;height:34px;transform:translate(-50%,-50%);animation:ripple 7s ease-out infinite}.echo-rings i:nth-child(2){animation-delay:2.3s}.echo-rings i:nth-child(3){animation-delay:4.6s}
.paper{color:var(--ink);background-color:var(--paper);background-image:url('/paper.svg');color-scheme:light}.home .paper{position:relative;border-radius:40px 40px 0 0;margin-top:-32px;overflow:hidden}.paper-inner{max-width:1160px;padding:94px 48px;margin:auto}.paper .eyebrow{color:#7a8471}.story-title{font-family:Jua,system-ui,sans-serif;font-size:clamp(28px,3vw,40px);margin:0 0 60px;letter-spacing:-.02em}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.step{display:block;font-family:Georgia,serif;font-style:italic;font-size:40px;line-height:1;color:#8d9d87;margin-bottom:25px}.steps h2{font-size:21px;margin:0 0 14px}.steps p{color:var(--dim);font-size:15px;line-height:1.9}.day-window{height:370px;background:linear-gradient(#f5efdf00,#35554410),url('/observatory-day.png') center 78%/cover;border-top:1px solid #78856326;border-bottom:1px solid #78856326}.details-copy{max-width:840px;padding-top:68px;padding-bottom:76px}.details-copy section{padding:25px 0 20px;border-bottom:1px solid #54695b26}.details-copy h2{font-size:23px;margin:0 0 14px}.details-copy p{color:var(--dim)}.text-links{display:flex;flex-wrap:wrap;gap:30px;margin-top:35px;font-size:14px}
footer{padding:46px 48px 32px;max-width:1280px;margin:auto;color:#c8cfca;font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.footer-brand{font-family:Jua,system-ui,sans-serif;color:var(--cream);font-size:20px;text-decoration:none}footer>div{display:flex;flex-wrap:wrap;gap:24px}footer p{width:100%;font-size:11px;opacity:.65;margin:6px 0 0}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
.policy .scene{position:fixed;height:100vh;min-height:0}.policy .scene-shade{background:#122a3a8a}.policy .landscape{background-position:center}.document-wrap{padding:50px 24px 65px}.document{max-width:830px;margin:auto;padding:55px 70px 65px;border-radius:24px;box-shadow:0 24px 90px #10212c26}.back{display:inline-block;font-size:13px;color:#617268;margin-bottom:25px;text-decoration:none}.document h1{font-family:Jua,system-ui,sans-serif;font-size:clamp(30px,4vw,43px);margin:0 0 22px}.document-intro{font-size:17px;border-bottom:1px solid #7c8c742e;padding-bottom:30px;color:#445c59}.document h2{font-size:21px;margin:32px 0 12px}.document section p{font-size:15px;line-height:1.95;color:#425856;overflow-wrap:anywhere}
@keyframes breathe{to{transform:scale(1.075) translate3d(-.5%,-.5%,0)}}@keyframes float{0%{opacity:.2;transform:translateY(10px)}60%{opacity:.85}100%{opacity:.3;transform:translateY(-12px)}}@keyframes ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}10%{opacity:.5}100%{opacity:0;transform:translate(-50%,-50%) scale(6)}}
@media(min-width:1500px){.scene{min-height:950px}.hero{min-height:calc(100svh - 100px)}}
@media(max-width:760px){.site-header{padding:19px 24px;gap:18px}.site-header nav{gap:18px}.brand{font-size:18px;gap:9px}.brand img{width:34px;height:34px}.safety-link{display:none}.hero{padding:65px 26px 115px;min-height:calc(100svh - 95px);align-items:center}.hero-copy{max-width:490px}.hero h1{font-size:60px}.hero .lead{font-size:25px}.hero .eyebrow{font-size:10px;max-width:290px;line-height:1.9}.intro{max-width:350px;font-size:15px}.scene{min-height:850px}.landscape{background-position:57% center}.scene-shade,[data-sky=day] .scene-shade{background:linear-gradient(90deg,#142b3cd9,#142b3c67),linear-gradient(0deg,#172c40,transparent 35%)}.echo-rings{left:84%;top:69%}.scroll-cue{left:26px;bottom:35px}.home .paper{border-radius:26px 26px 0 0}.paper-inner{padding:65px 26px}.story-title{font-size:30px;margin-bottom:45px}.steps{grid-template-columns:1fr;gap:34px}.steps section{display:grid;grid-template-columns:46px 1fr;column-gap:15px}.steps .step{grid-row:1/3;font-size:30px;margin:4px 0 0}.steps h2{font-size:21px}.steps p{margin:0;max-width:500px}.day-window{height:280px;background-position:center 50%}.details-copy{padding-top:30px;padding-bottom:50px}.details-copy h2{font-size:22px}.details-copy p{font-size:15px}footer{padding:35px 26px 24px;display:block}footer>div{gap:14px 24px;margin:20px 0 24px}.document-wrap{padding:25px 14px 45px}.document{padding:32px 25px 40px;border-radius:20px}.document h1{font-size:32px}.document-intro{font-size:16px}.document section p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.landscape{transform:none}.echo-rings{display:none}.fireflies i{opacity:.55}}

/* Observatory artwork and decorative sky signals, independent of user activity. */
[data-art=observatory-night] .landscape{background-image:url('/observatory-night.png');background-position:center 80%;filter:none}
[data-art=observatory-day] .landscape{background-image:url('/observatory-day.png');background-position:center 80%;filter:none}
.sky-contact{position:absolute;width:30%;max-width:460px;right:12%;top:21%;overflow:visible;opacity:.65}
.sky-contact path{stroke:#e5dfc2;stroke-width:.7;stroke-dasharray:600;stroke-dashoffset:600;animation:contact-line 14s ease-in-out infinite}
.sky-contact circle{fill:#ffeac5;filter:drop-shadow(0 0 5px #ffeac5);animation:contact-stars 7s ease-in-out infinite alternate}
.sky-contact circle:nth-child(3){animation-delay:-2s}.sky-contact circle:nth-child(4){animation-delay:-4s}
.meteor{position:absolute;top:18%;right:16%;width:120px;height:1px;background:linear-gradient(90deg,transparent,#ffeac5);opacity:0;transform:rotate(-30deg);animation:meteor 23s linear infinite}
[data-sky=day] .meteor,[data-sky=dawn] .meteor,[data-sky=dusk] .meteor{display:none}
[data-paused] *,[data-paused] *::before,[data-paused] *::after{animation-play-state:paused!important}
@keyframes contact-line{0%,15%{stroke-dashoffset:600;opacity:0}45%,65%{stroke-dashoffset:0;opacity:.7}90%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes contact-stars{0%{opacity:.25}100%{opacity:.9}}
@keyframes meteor{0%,72%,79%,100%{opacity:0;transform:translate(0,0) rotate(-30deg)}73%{opacity:.8;transform:translate(-30px,18px) rotate(-30deg)}78%{opacity:0;transform:translate(-320px,190px) rotate(-30deg)}}
@media(max-width:760px){.sky-contact{width:44%;right:4%;top:15%;opacity:.35}.meteor{right:5%;top:14%;width:70px}[data-art=observatory-night] .landscape,[data-art=observatory-day] .landscape{background-position:right center}}
@media(prefers-reduced-motion:reduce){.sky-contact path{stroke-dashoffset:0;opacity:.35}.sky-contact circle{opacity:.6}.meteor{display:none}}
