:root{--void:#0a0b11;--cyan:#7fd3ec;--amber:#f0be7c;--text:#e7e4db;--mute:#6a7078;--line:rgba(127,211,236,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--text);font:17px/1.65 Palatino,"Palatino Linotype","Iowan Old Style",Georgia,serif;
  background-image:radial-gradient(1200px 700px at 78% -10%,rgba(127,211,236,.07),transparent 60%),radial-gradient(900px 600px at 10% 30%,rgba(240,190,124,.05),transparent 60%)}
a{color:var(--cyan);text-decoration:none}
h1,h2,h3{font-family:Didot,"Bodoni 72","GFS Didot",serif;font-weight:400;letter-spacing:.005em;hyphens:none;margin:.2em 0 .45em}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.04;max-width:14ch}
h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}
h3{font-size:1.35rem}
.eyebrow{font:600 .72rem/1.2 "Avenir Next",Avenir,"Helvetica Neue",sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--cyan)}
.fine{color:var(--mute);font-size:.82rem}
/* spine */
.spine{position:fixed;left:22px;top:0;bottom:0;width:2px;background:var(--line);z-index:5}
.spine-fill{position:absolute;left:0;top:0;width:2px;height:0;background:linear-gradient(var(--cyan),var(--amber));box-shadow:0 0 12px rgba(127,211,236,.6)}
/* nav */
nav.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 48px 14px 56px;background:rgba(10,11,17,.82);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mark{font:600 .8rem "Avenir Next",Avenir,sans-serif;letter-spacing:.34em;color:var(--text);display:flex;align-items:center;gap:10px}
.mark .core{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px var(--amber)}
.links a{font:500 .74rem "Avenir Next",Avenir,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-left:26px}
.links a:hover{color:var(--cyan)} .links .out{color:#8a8f96}
/* hero */
.hero,.vertebra,footer,.memo{max-width:1080px;margin:0 auto;padding:0 48px 0 72px}
.hero{position:relative;padding-top:12vh;padding-bottom:10vh;min-height:88vh}
.lede{font-size:1.2rem;max-width:40em;color:#d9d5ca}
.orb{position:absolute;right:20px;top:9vh;width:340px;height:340px;pointer-events:none}
.orb .ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(127,211,236,.35);box-shadow:0 0 60px rgba(127,211,236,.12) inset}
.orb .r2{inset:38px;border-color:rgba(127,211,236,.18)}
.orb .amber{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:radial-gradient(circle,#ffe2b5,var(--amber) 40%,transparent 72%);box-shadow:0 0 80px 18px rgba(240,190,124,.35);animation:breathe 6s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.12);box-shadow:0 0 110px 26px rgba(240,190,124,.42)}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:56px 0 14px;border-top:1px solid var(--line);padding-top:26px}
.stats .num{display:block;font:400 2.2rem Didot,"Bodoni 72",serif;color:var(--amber)}
.stats .lbl{font:500 .7rem "Avenir Next",Avenir,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
/* sections */
.vertebra{padding-top:12vh;padding-bottom:4vh;position:relative}
.vertebra::before{content:"";position:absolute;left:-55px;top:calc(12vh + 4px);width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.vertebra p{max-width:42em}
.actions{margin:26px 0}
.btn{display:inline-block;margin:0 12px 12px 0;padding:12px 22px;border:1px solid rgba(127,211,236,.45);border-radius:2px;font:600 .74rem "Avenir Next",Avenir,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.btn:hover{background:rgba(127,211,236,.08)}
.btn.amber{border-color:rgba(240,190,124,.6);color:var(--amber)}
table.value{width:100%;border-collapse:collapse;margin:28px 0 10px;font-size:.98rem}
table.value th{font:600 .7rem "Avenir Next",Avenir,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 0;border-bottom:1px solid var(--line)}
table.value td{padding:11px 0;border-bottom:1px solid rgba(127,211,236,.07)}
table.value td:last-child,table.value th:last-child{text-align:right;font-variant-numeric:tabular-nums}
table.value tr.total td{border-top:1px solid var(--line);font-weight:600;padding-top:14px}
table.value tr.amber td{color:var(--amber);font-size:1.1rem}
/* films */
.films{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:30px}
.film{margin:0}
.film video{width:100%;aspect-ratio:16/9;background:#05060a;border:1px solid var(--line);border-radius:2px}
.film:first-child{grid-column:1/-1}
.film figcaption h3{margin:.25em 0 .2em}
.film figcaption p{margin:0;color:#bdb9ae;font-size:.95rem}
/* library */
.shelf{margin:40px 0}
.shelf-note{color:#bdb9ae;margin:.4em 0 .8em}
ul.docs{list-style:none;margin:0;padding:0;columns:2;column-gap:40px}
ul.docs li{break-inside:avoid}
ul.docs a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(127,211,236,.08);color:var(--text)}
ul.docs a:hover .doc{color:var(--cyan)}
.kind{font:600 .62rem "Avenir Next",Avenir,sans-serif;letter-spacing:.2em;color:var(--mute);padding-top:4px}
/* memorandum */
.memo{padding-top:8vh;padding-bottom:6vh;max-width:860px}
.memo h1{font-size:2.6rem;max-width:none} .memo h2{font-size:2rem;margin-top:1.6em;padding-top:.6em;border-top:1px solid var(--line)} .memo h3{color:var(--amber);margin-top:1.4em}
.memo table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.9rem}
.memo th,.memo td{border-bottom:1px solid rgba(127,211,236,.12);padding:7px 8px 7px 0;text-align:left;vertical-align:top}
.memo th{font:600 .68rem "Avenir Next",Avenir,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.memo strong{color:#f3efe4}
.memo header#title-block-header .subtitle{color:var(--mute)}
footer{padding-top:10vh;padding-bottom:8vh;color:var(--mute);font-size:.8rem;border-top:1px solid var(--line);margin-top:10vh}
footer .sig{font:600 .7rem "Avenir Next",Avenir,sans-serif;letter-spacing:.3em;text-transform:uppercase}
/* login */
.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.gate .orb{position:relative;right:auto;top:auto;width:220px;height:220px;margin-bottom:36px}
.gate input{background:transparent;border:1px solid rgba(127,211,236,.4);color:var(--text);padding:13px 16px;width:280px;font:1rem Palatino,Georgia,serif;border-radius:2px;margin:18px 0 12px}
.gate input:focus{outline:none;border-color:var(--amber)}
.gate button{cursor:pointer;background:transparent}
.gate .err{color:#e08a7a;font-size:.85rem;min-height:1.2em}
@media (max-width:820px){.orb{display:none}.stats{grid-template-columns:repeat(2,1fr)}.films{grid-template-columns:1fr}ul.docs{columns:1}.links a{margin-left:14px;letter-spacing:.12em}nav.top{padding:12px 18px 12px 40px}.hero,.vertebra,footer,.memo{padding-left:44px;padding-right:20px}}
@media (prefers-reduced-motion:reduce){.orb .amber{animation:none}html{scroll-behavior:auto}}
