/* PP Neue York + PP Editorial Old, Web License order PPF-#124994 */
@font-face{font-family:"NY Title";src:url(fonts/PPNeueYork-CondensedExtrabold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"NY Body";src:url(fonts/PPNeueYork-NormalRegular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"NY Body";src:url(fonts/PPNeueYork-NormalBold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"NY Editorial";src:url(fonts/PPEditorialOld-Regular.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"NY Editorial";src:url(fonts/PPEditorialOld-LightItalic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{--bg:#141a23;--mid:#1C2430;--ink:#E6E0D6;--mute:#9a958c;--merlot:#4B1E23;--red:#a8474f;--gold:#8A5A2B;--gold-l:#c08a52;--olive:#6B6F4E;--line:#2a3340}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 "NY Body",Inter,system-ui,sans-serif}
h1,h2,h3{font-family:"NY Title",Oswald,sans-serif;font-weight:800;letter-spacing:-.01em;margin:0}
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8vh 6vw;overflow:hidden;
 background:radial-gradient(ellipse at 70% 20%,rgba(138,90,43,.22),transparent 55%),radial-gradient(ellipse at 50% 120%,rgba(75,30,35,.55),transparent 60%),var(--bg)}
.grain{position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kalanit{width:64px;margin-bottom:2.5rem;animation:bloom 4s ease-out both}
@keyframes bloom{from{opacity:0;transform:scale(.6) translateY(20px)}to{opacity:1;transform:none}}
.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:var(--gold-l)}
.hero h1{font-size:clamp(2.6rem,7vw,6rem);line-height:1.02;margin:1rem 0}
.hero h1 em{font-family:"NY Editorial","Instrument Serif",serif;font-weight:400;color:var(--gold-l)}
.sub{color:var(--mute);max-width:36rem}
.cta{margin-top:2.5rem;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:.8rem 2.2rem;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;transition:.3s}
.cta:hover{border-color:var(--gold-l);color:var(--gold-l)}
.toc{position:sticky;top:0;z-index:5;display:flex;gap:1.4rem;overflow-x:auto;padding:1rem 6vw;background:rgba(20,26,35,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);scrollbar-width:none}
.toc a{white-space:nowrap;color:var(--mute);text-decoration:none;font-size:.78rem;letter-spacing:.06em}
.toc a.on,.toc a:hover{color:var(--ink)}
.seq{padding:14vh 6vw 6vh;border-bottom:1px solid var(--line)}
.seq-head{display:grid;grid-template-columns:5rem 1fr;gap:2rem;max-width:1200px;margin:0 auto 3rem}
.num{font-family:"NY Editorial","Instrument Serif",serif;font-size:3.5rem;color:var(--gold-l);line-height:1}
.seq h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.vo{font-family:"NY Editorial","Instrument Serif",serif;font-style:italic;font-size:clamp(1.05rem,1.6vw,1.3rem);color:#d9d3c8;white-space:pre-line;margin:1rem 0 0;border-left:2px solid var(--merlot);padding-left:1.2rem}
.meta{color:var(--mute);font-size:.85rem;margin-top:1rem}
.meta b{color:var(--gold-l);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;margin-right:.5rem}
.frames{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;max-width:1200px;margin:0 auto}
.frame{position:relative;aspect-ratio:16/9;background:var(--mid);overflow:hidden;cursor:zoom-in}
.frame .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s ease}
.frame .img.q{background-size:200% 200%}
.frame:hover .img{transform:scale(1.03)}
.frame .tag{position:absolute;left:10px;bottom:8px;font-size:.68rem;letter-spacing:.14em;color:rgba(236,230,220,.75);text-shadow:0 1px 4px #000}
.frame.empty{cursor:default;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line)}
.frame.empty span{color:#56606e;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.frame.arch{border:1px solid rgba(138,90,43,.8)}
.frame.arch span{color:var(--gold-l);padding:0 1.5rem;text-align:center;line-height:1.5}
.notes{background:transparent;padding:14vh 6vw;max-width:1200px;margin:0 auto}
.notes h2{font-size:2.4rem;margin-bottom:2rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;color:#cfc7bb}
.cols strong{color:var(--gold-l);font-weight:700}
footer{background:var(--merlot);text-align:center;padding:6vh 6vw 8vh;border-top:1px solid var(--line);color:#d4c7bd;font-size:.82rem}
footer .fine{font-size:.72rem;opacity:.7}
.lightbox{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4vw}
.lightbox[hidden]{display:none}
.lbimg{width:min(92vw,160vh);aspect-ratio:16/9;background-size:cover;background-position:center}
.lbimg.q{background-size:200% 200%}
.lightbox p{color:var(--mute);font-size:.8rem;letter-spacing:.12em}
.lightbox button{position:absolute;top:18px;right:26px;background:none;border:0;color:var(--ink);font-size:2.2rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:640px){.seq-head{grid-template-columns:1fr;gap:.5rem}.num{font-size:2.4rem}}

.frame .sid{position:absolute;top:8px;left:10px;font:500 .7rem/1 "JetBrains Mono",monospace;background:rgba(20,26,35,.75);color:#E6E0D6;padding:4px 6px;letter-spacing:.04em}
.lightbox p{font-family:"JetBrains Mono",monospace}

.shot{margin:0}
.shot figcaption{display:flex;gap:.7rem;align-items:baseline;padding:.6rem 0 0;font-size:.78rem;color:var(--mute);line-height:1.4}
.shot .sid{position:static;background:none;padding:0;color:var(--gold-l);font:700 .74rem/1.4 "JetBrains Mono",monospace;letter-spacing:.04em;flex:none}
.shot.arch .frame{outline:1px solid rgba(138,90,43,.8)}
.frame .tag{display:none}

.script{padding:14vh 6vw;max-width:900px;margin:0 auto;border-bottom:1px solid var(--line)}
.script h2{font-size:clamp(2rem,4vw,3rem);margin:.6rem 0 3rem}
.vl{display:grid;grid-template-columns:4.5rem 1fr;gap:1.4rem;margin:0 0 1.6rem;font-family:"NY Editorial","Instrument Serif",serif;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.55;color:#ddd6ca}
.vl .tc{font:700 .74rem/2.2 "JetBrains Mono",monospace;color:var(--gold-l);letter-spacing:.04em}
@media(max-width:640px){.vl{grid-template-columns:1fr;gap:.2rem}}

.vl.rv>span:last-child{border-left:2px solid var(--gold-l);padding-left:1rem}
.ur{display:block;margin-top:.4rem;font:700 .66rem/1 "JetBrains Mono",monospace;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-l);opacity:.85}
