.astro-hero {
  background:
    linear-gradient(120deg, rgba(238,233,223,.96), rgba(238,233,223,.72)),
    url("assets/inner-mongolia.jpg") center/cover;
}
.constellation {
  position:absolute; right:36vw; top:18vh; width:210px; height:180px;
  background:
    radial-gradient(circle at 10% 10%,var(--ink) 0 2px,transparent 3px),
    radial-gradient(circle at 40% 35%,var(--ink) 0 2px,transparent 3px),
    radial-gradient(circle at 75% 20%,var(--ink) 0 2px,transparent 3px),
    radial-gradient(circle at 55% 70%,var(--ink) 0 2px,transparent 3px),
    radial-gradient(circle at 95% 90%,var(--ink) 0 2px,transparent 3px);
  opacity:.45; transform:rotate(-12deg);
}
.constellation:before { content:""; position:absolute; inset:18px 10px; border-top:1px solid var(--ink); border-right:1px solid var(--ink); transform:skewY(20deg) rotate(8deg) }
.origin { background:var(--ink); color:var(--paper); padding:14vh 7vw; display:grid; grid-template-columns:1fr 1.2fr; gap:8vw; align-items:center }
.origin-photo { height:76vh; overflow:hidden }
.origin-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.75) }
.origin-copy h2 { font-size:clamp(52px,8vw,120px); line-height:1.12; letter-spacing:-.07em; margin:5vh 0 }
.origin-copy p { max-width:560px; line-height:2; font-size:15px }
.origin blockquote { margin:6vh 0 0; padding:3vh 0; border-top:1px solid rgba(238,233,223,.35); font-size:20px; line-height:1.8 }
.journey-lab{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;padding:12vh 5vw;background:var(--paper)}
.journey-menu>.section-no{margin-bottom:4vh}
.journey-stop{position:relative;width:100%;display:grid;gap:12px;padding:25px 5px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:.3s}
.journey-stop:last-child{border-bottom:1px solid var(--line)}
.journey-stop span,.journey-stop small{font:10px "Space Mono";letter-spacing:.14em}
.journey-stop b{font:400 clamp(30px,4.5vw,70px) "Noto Serif SC";letter-spacing:-.06em}
.journey-stop:after{content:"＋";position:absolute;right:5px;top:25px;font:18px "Space Mono"}
.journey-stop:hover,.journey-stop.active{padding-left:20px;color:var(--red);background:rgba(255,255,255,.3)}
.journey-stop.active:after{content:"—"}
.journey-viewer{position:sticky;top:100px;margin:0;height:calc(100vh - 140px);min-height:600px;overflow:hidden;background:#0c1515;color:var(--paper)}
.journey-viewer img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:opacity .25s,transform .7s}
.journey-viewer.is-changing img{opacity:0;transform:scale(1.025)}
.journey-viewer figcaption{position:absolute;inset:auto 0 0;padding:8vh 5vw 5vh;background:linear-gradient(transparent,rgba(5,10,10,.92))}
.journey-viewer figcaption span{font:10px "Space Mono";letter-spacing:.18em;color:#d3b273}
.journey-viewer h2{margin:16px 0;font-size:clamp(38px,5vw,76px);line-height:1.08;letter-spacing:-.06em}
.journey-viewer p{max-width:620px;margin:0;line-height:1.9;color:#d3d7d1}
.archive-intro{padding:16vh 5vw 8vh;background:#0c1515;color:var(--paper)}.archive-intro h2{margin:4vh 0 9vh;font-size:clamp(60px,11vw,170px);line-height:1;letter-spacing:-.08em}.archive-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.archive-stats span{padding:3vh 1vw;border-right:1px solid rgba(255,255,255,.25);font:10px "Space Mono";letter-spacing:.14em}.archive-stats b{display:block;margin-bottom:12px;font:400 clamp(32px,5vw,70px) "Noto Serif SC"}.work-filters{position:sticky;top:74px;z-index:8;padding:18px 5vw;display:flex;align-items:center;gap:12px;background:rgba(238,233,223,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.work-filters button{border:1px solid var(--line);background:none;color:var(--ink);border-radius:100px;padding:9px 20px;font:10px "Space Mono";letter-spacing:.12em;cursor:pointer}.work-filters button.active{background:var(--ink);color:var(--paper)}.gallery-status{margin-left:auto;display:flex;gap:8px;align-items:center;font:11px "Space Mono";letter-spacing:.1em}.gallery-status i{font-style:normal;opacity:.35}.gallery-arrows{display:flex;gap:6px}.gallery-arrows button{width:38px;height:38px;padding:0;font-size:17px}.gallery-shell{overflow:hidden;padding:5vw 0 7vw;background:var(--paper)}.work-track{display:flex;gap:2vw;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 5vw 25px;cursor:grab;scrollbar-width:none}.work-track::-webkit-scrollbar{display:none}.work-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.work-card{flex:0 0 min(68vw,980px);margin:0;scroll-snap-align:center;cursor:zoom-in;transition:opacity .3s,transform .3s}.work-card:hover{transform:translateY(-6px)}.work-card img{display:block;width:100%;height:min(65vh,680px);object-fit:contain;background:#101817}.work-card figcaption{padding:16px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font-size:17px}.work-card figcaption span{font:9px "Space Mono";letter-spacing:.12em;text-align:right}.gallery-hint{margin:15px 5vw 0;font:9px "Space Mono";letter-spacing:.16em;opacity:.55}.lightbox{width:min(94vw,1500px);height:92vh;border:0;padding:0;background:#080d0d;color:white}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{width:100%;height:calc(100% - 48px);object-fit:contain}.lightbox p{margin:0;padding:12px 20px;font:11px "Space Mono";letter-spacing:.12em}.lightbox button{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:24px;cursor:pointer}
@media(max-width:800px) {
  .origin { grid-template-columns:1fr }
  .origin-photo { height:60vh }
  .archive-stats{grid-template-columns:1fr 1fr}.work-filters{top:65px;overflow:auto}.gallery-status{margin-left:10px}.gallery-arrows{position:sticky;right:0}.work-card{flex-basis:86vw}.work-card img{height:60vh}
  .constellation { display:none }
  .journey-lab{grid-template-columns:1fr;padding:10vh 22px}
  .journey-viewer{position:relative;top:auto;height:70vh;min-height:520px}
}
