:root{--ink:#0c0c0b;--paper:#e8e4d9;--paper-dim:#b6b1a5;--gray:#7c776e;--title-font:"Playfair Display", Georgia, "Times New Roman", serif;--type-font:"Special Elite", "Courier New", Courier, monospace}*{box-sizing:border-box}html,body{height:100%}body{color:var(--paper);font-family:var(--type-font);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(130% 95% at 50% 32%,#1d1c19 0%,#0d0d0c 55%,#050505 100%) fixed;margin:0}body:before{content:"";pointer-events:none;z-index:50;background:radial-gradient(at 50% 42%,#0000 50%,#0000009e 100%);position:fixed;inset:0}body:after{content:"";opacity:.09;mix-blend-mode:screen;pointer-events:none;z-index:60;background-image:url(/grain.svg);background-size:240px 240px;animation:.8s steps(7,end) infinite film-grain;position:fixed;inset:-80px}@keyframes film-grain{0%{transform:translate(0)}15%{transform:translate(-18px,11px)}30%{transform:translate(13px,-17px)}45%{transform:translate(-9px,-8px)}60%{transform:translate(17px,9px)}75%{transform:translate(-14px,15px)}90%{transform:translate(8px,-12px)}to{transform:translate(0)}}.btn{font-family:var(--type-font);text-transform:uppercase;letter-spacing:.34em;text-indent:.34em;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #e8e4d98c;padding:.95em 1.4em;font-size:1.05rem;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.btn:hover,.btn:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--paper);box-shadow:0 0 34px #e8e4d92e}.btn:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.btn:active{transform:translateY(1px)}.btn--ghost{color:var(--paper-dim);border-color:#e8e4d938;font-size:.92rem}.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--paper-dim);color:var(--ink);border-color:var(--paper-dim);box-shadow:0 0 24px #e8e4d91a}h1,h2{font-family:var(--title-font);color:var(--paper);font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lamp-flicker{0%,to{opacity:1}41%{opacity:.94}44%{opacity:.76}47%{opacity:.97}68%{opacity:.85}71%{opacity:1}}@media (prefers-reduced-motion:reduce){body:after{animation:none}*,:before,:after{animation-duration:1ms!important;animation-iteration-count:1!important}}
