:root{--bg: #f0ede8;--bg-alt: #e8e5e0;--text: #1e1b18;--text-muted: #7a7870;--text-faint: #b5b2aa;--accent: #91a5ba;--border: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .2);--color-primary: #91a5ba;--color-secondary: #6b746c;--color-accent: #91a5ba;--gradient-primary: #91a5ba;--gradient-overlay: linear-gradient(to top, rgba(0, 0, 0, .8), transparent);--shadow-primary: #91a5ba66;--shadow-primary-hover: #91a5ba88}body.dark-editorial{--bg: #111110;--bg-alt: #1a1918;--text: #eceae4;--text-muted: #79786f;--text-faint: #3a3937;--border: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .22)}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--text);color:var(--bg)}html{font-family:DM Sans,system-ui,sans-serif;font-size:16px;scroll-behavior:smooth;background:var(--bg);color:var(--text)}body{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);transition:background .4s ease,color .4s ease}@media(pointer:fine){html,body,a,button{cursor:none}}main{flex:1}section{scroll-margin-top:72px}img{display:block;max-width:100%}a{position:relative;color:var(--text);text-decoration:none;transition:color .25s}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s ease}a:hover{color:var(--accent)}a:hover:after{width:100%}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--text);z-index:9999;pointer-events:none;transition:width .1s linear}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);border-radius:50%;display:none}@media(pointer:fine){.cursor-dot,.cursor-ring{display:block}}.cursor-dot{width:5px;height:5px;background:var(--text);transition:transform .1s ease,background .2s}.cursor-dot.pressed{transform:translate(-50%,-50%) scale(.5)}.cursor-ring{width:30px;height:30px;border:1px solid var(--text);opacity:.35;transition:width .25s ease,height .25s ease,opacity .25s ease}.cursor-ring.expanded{width:48px;height:48px;opacity:.2}.easter-toast{position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%) translateY(1.5rem);background:var(--text);color:var(--bg);padding:.7rem 1.5rem;font-size:.8rem;letter-spacing:.04em;z-index:10000;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;white-space:nowrap}.easter-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}header{position:fixed;top:0;left:0;right:0;z-index:500;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .3s ease,background .4s ease;padding:0}header.scrolled{border-bottom-color:var(--border)}header nav{max-width:1400px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem);height:64px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--text)}header nav ul{list-style:none;display:flex;gap:2.5rem;margin:0;padding:0}header nav a{position:relative;text-decoration:none;color:var(--text-muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:color .25s}header nav a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s ease}header nav a:hover{color:var(--accent)}header nav a:hover:after{width:100%}@media(max-width:600px){header nav ul{gap:1.25rem}header nav a{font-size:.7rem}}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}.section-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:500;margin-bottom:1rem;display:block}.btn{display:inline-block;text-decoration:none;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;transition:all .25s ease;border:none;background:none;padding:0;cursor:pointer}.btn-primary{color:var(--text);border-bottom:1px solid var(--text);padding-bottom:2px}.btn-primary:hover{opacity:.55}.btn-secondary{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:2px}.btn-secondary:hover{color:var(--text);border-bottom-color:var(--text)}.btn-small{font-size:.75rem}.btn-outline{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:2px}.btn-outline:hover{color:var(--text);border-bottom-color:var(--text)}.masonry-gallery{columns:3;column-gap:.75rem;padding:0}.masonry-item{break-inside:avoid;margin-bottom:.75rem;overflow:hidden;background:var(--bg-alt);display:flex;flex-direction:column;position:relative}.masonry-image{width:100%;height:auto;display:block;object-fit:cover;transition:transform .5s ease}.masonry-item:hover .masonry-image{transform:scale(1.02)}.masonry-gallery figcaption{padding:.5rem .75rem;font-size:.75rem;color:var(--text-muted);letter-spacing:.02em}@media(max-width:900px){.masonry-gallery{columns:2}}@media(max-width:500px){.masonry-gallery{columns:1}}.page-wrapper{min-height:100vh;background:var(--bg);padding-top:64px}.page-container{max-width:680px;margin:0 auto;padding:3rem clamp(1.5rem,5vw,4rem)}.page-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.page-header h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text);line-height:1.1}.page-header p{color:var(--text-muted);font-size:.9rem;line-height:1.7;margin:0;font-weight:300}.page-nav{margin-bottom:2rem}.page-nav a{color:var(--text-muted);text-decoration:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.page-nav a:hover{color:var(--accent)}.content-card{border-top:1px solid var(--border);padding:1.5rem 0;margin-bottom:0;background:none}.content-card:last-child{border-bottom:1px solid var(--border)}.card-title{font-size:1.1rem;font-weight:600;margin:0 0 .2rem;color:var(--text);letter-spacing:-.01em}.card-meta{font-size:.8rem;color:var(--text-muted);margin-bottom:.6rem;letter-spacing:.02em}.card-venue{font-weight:500;color:var(--text-muted);font-size:.85rem}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.tag-list .tag{color:var(--text-muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);padding:.2rem .5rem;background:none}.performers-list{margin:.6rem 0;color:var(--text-muted);font-size:.875rem;line-height:1.7;font-weight:300}.performers-list strong{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:500;display:block;margin-bottom:.2rem}.performers-list ul{list-style:none;padding:0;margin:0}.performers-list li:before{content:"– ";color:var(--text-faint)}.card-note{border-left:2px solid var(--border);padding:.4rem .75rem;margin:.6rem 0 0;color:var(--text-muted);font-size:.875rem;line-height:1.6;font-weight:300}.isbn-label{font-family:Space Grotesk,monospace;font-size:.8rem;color:var(--text-muted)}.card-blurb{border-left:2px solid var(--border);padding:.4rem .75rem;margin:.6rem 0;color:var(--text-muted);font-size:.875rem;line-height:1.6;font-style:italic;font-weight:300}.card-thoughts{margin-top:.6rem;font-size:.875rem;color:var(--text-muted);line-height:1.7;font-weight:300}.card-thoughts strong{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:500;display:block;margin-bottom:.2rem}.back-link{display:inline-block;margin-top:1rem;color:var(--text-muted);text-decoration:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.back-link:hover{color:var(--accent)}.galleries-main{min-height:100vh;background:var(--bg);padding-top:64px}.galleries-container{max-width:800px;margin:0 auto;padding:3rem clamp(1.5rem,5vw,4rem)}.galleries-section h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin:0 0 2.5rem;color:var(--accent);line-height:1.1}.no-events{color:var(--text-muted);font-size:.9rem;font-weight:300}.event-card{border-top:1px solid var(--border);padding:1.75rem 0;background:none}.event-card:last-child{border-bottom:1px solid var(--border)}.event-card h3{color:var(--text);margin:0 0 .5rem;font-size:1.2rem;font-weight:600;letter-spacing:-.01em}.event-description{color:var(--text-muted);line-height:1.7;margin:0 0 1rem;font-size:.9rem;font-weight:300}.gallery-buttons{display:flex;flex-wrap:wrap;gap:1.25rem}.gallery-btn{display:inline-block;color:var(--text);text-decoration:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;transition:color .2s}.gallery-btn:hover{color:var(--accent)}.slash-page{background:var(--bg);color:var(--text);padding-top:64px}.slash-page .slash-container{max-width:640px;margin:0 auto;padding:3rem clamp(1.5rem,5vw,4rem)}.slash-page .slash-nav{margin-bottom:2.5rem}.slash-page .slash-nav a{color:var(--text-muted);text-decoration:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.slash-page .slash-nav a:hover{color:var(--accent)}.slash-page main h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;line-height:1.1}.slash-page main h2{font-size:1.1rem;font-weight:600;margin:2.5rem 0 .5rem;color:var(--text);letter-spacing:-.01em}.slash-page main p{line-height:1.75;color:var(--text-muted);font-weight:300;font-size:.95rem}.slash-page main ul,.slash-page main ol{padding-left:1.25rem;color:var(--text-muted);line-height:1.8;font-weight:300;font-size:.95rem}.slash-page main a{color:var(--text);text-decoration:none;transition:color .2s}.slash-page main a:hover{color:var(--accent)}.slash-page main hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.slash-page main pre{background:var(--text);color:var(--bg);padding:1.25rem 1.5rem;overflow-x:auto;font-size:.8rem;line-height:1.6;margin:1.25rem 0}.slash-page main pre code{background:none;padding:0;font-size:inherit;color:inherit}.slash-page main code{background:var(--bg-alt);padding:.15em .4em;font-size:.85em;color:var(--text)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes charIn{0%{opacity:0;transform:translateY(60%) skewY(4deg)}to{opacity:1;transform:translateY(0) skewY(0)}}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}
