:root { --night:#080a08; --paper:#eee9dc; --gold:#d7b058; --ink:#171812; --mist:#a9aa9f; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--night); color:var(--paper); font-family:"Helvetica Neue","PingFang SC","Hiragino Sans GB",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.nav { height:72px; padding:0 clamp(20px,4vw,64px); border-bottom:1px solid rgba(238,233,220,.3); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; font-size:10px; letter-spacing:.16em; position:absolute; inset:0 0 auto; z-index:5; }
.nav a { text-decoration:none; }
.nav a:last-child { text-align:right; }
.back { font-size:14px; font-weight:800; letter-spacing:-.02em; }
.hero { min-height:100svh; padding:120px clamp(20px,4vw,64px) 48px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.02) 42%,rgba(0,0,0,.86)); z-index:-1; }
.sky { position:absolute; inset:0; background:radial-gradient(circle at 48% 20%,#6f7e6d 0,#2b342c 24%,#0b0e0b 67%); z-index:-2; overflow:hidden; }
.sky::after { content:""; position:absolute; inset:0; opacity:.22; background:repeating-linear-gradient(105deg,transparent 0,transparent 23px,rgba(255,255,255,.45) 24px,transparent 26px); }
.sky i { position:absolute; top:-20%; height:125%; background:linear-gradient(180deg,rgba(255,241,180,.9),rgba(243,197,80,.06) 72%,transparent); filter:blur(10px); mix-blend-mode:screen; transform-origin:top; }
.sky i:nth-child(1) { left:17%; width:18%; transform:rotate(22deg); }
.sky i:nth-child(2) { left:48%; width:7%; opacity:.5; transform:rotate(-13deg); }
.sky i:nth-child(3) { right:11%; width:14%; opacity:.22; transform:rotate(11deg); }
.kicker { font-size:10px; letter-spacing:.2em; text-transform:uppercase; margin:0 0 20px; }
.hero h1 { font-family:Georgia,"Songti SC",serif; font-size:clamp(7rem,26vw,26rem); font-weight:400; line-height:.66; letter-spacing:-.14em; margin:0 0 70px -1.5vw; white-space:nowrap; }
.hero h1 span { color:var(--gold); }
.hero-meta { border-top:1px solid rgba(238,233,220,.65); padding-top:19px; display:grid; grid-template-columns:2fr 1fr; gap:40px; }
.hero-meta p { margin:0; max-width:650px; font-family:Georgia,"Songti SC",serif; font-size:clamp(1rem,1.8vw,1.4rem); line-height:1.55; }
.hero-meta p:last-child { justify-self:end; font-family:inherit; font-size:10px; line-height:1.65; letter-spacing:.12em; text-transform:uppercase; }
.scroll { position:absolute; right:4vw; bottom:45%; font-size:35px; text-decoration:none; }
.section-label { border-top:1px solid rgba(23,24,18,.42); padding-top:13px; display:flex; justify-content:space-between; font-size:10px; letter-spacing:.16em; }
.section-label.light { border-color:rgba(238,233,220,.35); }
.film { background:#101310; padding:clamp(72px,10vw,150px) clamp(20px,4vw,64px); }
.film .section-label { border-color:rgba(238,233,220,.35); }
.screen { margin:clamp(48px,7vw,95px) auto 0; max-width:1280px; background:#000; box-shadow:0 30px 100px rgba(0,0,0,.42); }
.screen video { width:100%; display:block; aspect-ratio:16/9; background:#000; }
.watch-note { text-align:center; margin:18px 0 0; color:var(--mist); font-size:10px; letter-spacing:.15em; }
.story { background:var(--paper); color:var(--ink); padding:clamp(72px,11vw,170px) clamp(20px,4vw,64px); }
.story-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:8vw; margin-top:clamp(60px,8vw,120px); }
.lead { font-family:Georgia,"Songti SC",serif; font-size:clamp(2.7rem,6vw,7rem); line-height:1.08; letter-spacing:-.06em; margin:0; }
.body-copy { align-self:end; max-width:36em; }
.body-copy p { font-family:Georgia,"Songti SC",serif; font-size:1.15rem; line-height:1.8; margin:0 0 1.4em; }
.language { padding:clamp(72px,10vw,150px) clamp(20px,4vw,64px); }
.motifs { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(55px,8vw,105px); border-top:1px solid rgba(238,233,220,.3); border-bottom:1px solid rgba(238,233,220,.3); }
.motifs article { min-height:390px; padding:35px 28px; border-right:1px solid rgba(238,233,220,.3); display:flex; flex-direction:column; }
.motifs article:first-child { border-left:1px solid rgba(238,233,220,.3); }
.motifs b { font-family:Georgia,"Songti SC",serif; font-size:clamp(5rem,9vw,9rem); font-weight:400; line-height:1; color:var(--gold); }
.motifs span { font-size:10px; letter-spacing:.2em; margin-top:8px; }
.motifs p { font-family:Georgia,"Songti SC",serif; line-height:1.65; color:#c8c4b8; margin:auto 0 0; }
.process { background:#b9aa8b; color:var(--ink); padding:clamp(72px,11vw,170px) clamp(20px,4vw,64px); }
.process ol { list-style:none; padding:0; margin:clamp(50px,7vw,100px) 0 0; }
.process li { display:grid; grid-template-columns:70px 1fr; padding:28px 0; border-top:1px solid rgba(23,24,18,.42); }
.process li:last-child { border-bottom:1px solid rgba(23,24,18,.42); }
.process li > span { font-size:10px; letter-spacing:.15em; padding-top:9px; }
.process li div { display:grid; grid-template-columns:1fr 2fr; gap:35px; align-items:start; }
.process h2 { font-family:Georgia,"Songti SC",serif; font-size:clamp(2.3rem,4.5vw,5rem); font-weight:400; letter-spacing:-.05em; margin:0; }
.process p { font-family:Georgia,"Songti SC",serif; max-width:40em; line-height:1.7; margin:9px 0 0; }
.archive { padding:clamp(72px,11vw,170px) clamp(20px,4vw,64px); }
.archive-head { display:grid; grid-template-columns:2fr 1fr; gap:50px; margin:clamp(55px,8vw,110px) 0; }
.archive-head h2 { font-family:Georgia,"Songti SC",serif; font-size:clamp(3rem,7vw,8rem); line-height:.98; letter-spacing:-.065em; font-weight:400; max-width:10em; margin:0; }
.archive-head p { font-family:Georgia,"Songti SC",serif; line-height:1.7; max-width:28em; align-self:end; margin:0; color:#c8c4b8; }
.downloads { border-top:1px solid rgba(238,233,220,.35); }
.downloads a { padding:23px 0; border-bottom:1px solid rgba(238,233,220,.35); display:flex; justify-content:space-between; text-decoration:none; transition:color .2s,padding .2s; }
.downloads a:hover { color:var(--gold); padding-left:12px; padding-right:12px; }
.downloads span { font-family:Georgia,"Songti SC",serif; font-size:1.25rem; }
.downloads small { font-size:10px; letter-spacing:.15em; }
.downloads .all { background:var(--gold); color:var(--ink); margin-top:30px; padding:25px 22px; border:0; }
.downloads .all:hover { color:var(--ink); padding-left:34px; padding-right:34px; }
footer { border-top:1px solid rgba(238,233,220,.35); padding:25px clamp(20px,4vw,64px); display:flex; justify-content:space-between; gap:25px; font-size:10px; letter-spacing:.12em; }
footer a { text-decoration:none; }
@media (max-width:760px) {
  .nav { grid-template-columns:1fr 1fr; }
  .nav > span { display:none; }
  .hero { padding-bottom:28px; }
  .hero h1 { font-size:35vw; margin-bottom:55px; }
  .hero-meta,.story-grid,.archive-head { grid-template-columns:1fr; }
  .hero-meta p:last-child { justify-self:start; }
  .scroll { display:none; }
  .motifs { grid-template-columns:1fr 1fr; }
  .motifs article { min-height:300px; border:1px solid rgba(238,233,220,.3); border-bottom:0; }
  .process li { grid-template-columns:42px 1fr; }
  .process li div { grid-template-columns:1fr; gap:0; }
  footer { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .downloads a { transition:none; } }
