:root{--ink:#0d0d0d;--parchment:#f5f0e8;--parchment-dim:#e8e2d4;--gold:#c9a84c;--gold-dim:#8a6f2e;--silver:#9ca3a8;--surface:#161614;--surface-2:#1e1e1b;--surface-3:#252520;--border:#f5f0e814;--border-hover:#c9a84c4d;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", -apple-system, sans-serif;--radius:4px;--radius-lg:8px;--transition:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--parchment);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-weight:300;line-height:1.6}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);color:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);background:var(--surface-2);border:1px solid var(--border);color:var(--parchment);border-radius:var(--radius);width:100%;transition:border-color var(--transition);outline:none;padding:10px 14px;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input::placeholder,textarea::placeholder{color:var(--silver);opacity:.6}img{max-width:100%;display:block}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body:after{content:"";opacity:.025;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}.masonry-grid{gap:12px;display:flex}.masonry-grid-col{flex-direction:column;gap:12px;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-up{animation:.5s forwards fadeUp}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}
