@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Mono:wght@400;700&family=Work+Sans:wght@400;500;600&display=swap');

:root { --ink:#090909; --paper:#f0eee8; --signal:#d0021b; --line:rgba(240,238,232,.27); --muted:#a8a59f; }
* { box-sizing:border-box; }
html { background:var(--ink); color:var(--paper); scroll-behavior:smooth; }
body { margin:0; font-family:'Work Sans',Arial,sans-serif; min-width:320px; }
a { color:inherit; }
.page-shell { min-height:100vh; overflow:hidden; position:relative; background:radial-gradient(circle at 79% 22%, #2b1619 0, transparent 25rem),var(--ink); }
.noise { inset:0; opacity:.17; pointer-events:none; position:fixed; z-index:5; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); mix-blend-mode:screen; }
.frame { position:absolute; inset:18px; border:1px solid var(--line); pointer-events:none; }
.site-header, .site-footer { position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:30px 48px; font:11px/1.2 'Space Mono',monospace; letter-spacing:.09em; text-transform:uppercase; }
.eyebrow { color:var(--signal); margin:0; } .index { color:var(--muted); margin:0; }
.hero { min-height:calc(100vh - 140px); position:relative; isolation:isolate; overflow:hidden; display:grid; align-items:center; padding:48px 11vw 76px; }
.hero-brand-background { position:absolute; inset:-8%; z-index:1; background:url('/brand/dissident-presentation.jpg') 67% 36% / cover no-repeat; filter:invert(1) grayscale(1) contrast(1.45); mix-blend-mode:screen; opacity:.20; pointer-events:none; }
shader-bg { z-index:0; }
.hero-scrim { position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(90deg,rgba(9,9,9,.92) 0%,rgba(9,9,9,.78) 43%,rgba(9,9,9,.35) 72%,rgba(9,9,9,.56) 100%),linear-gradient(0deg,rgba(9,9,9,.74) 0%,transparent 45%,rgba(9,9,9,.28) 100%); }
.hero-content { max-width:720px; position:relative; z-index:3; }
.brand-logo { display:block; width:min(100%,620px); max-height:190px; object-fit:contain; object-position:left center; filter:invert(1) grayscale(1) contrast(1.2); margin:0 0 38px; }
.manifesto { color:var(--signal); font:12px/1.4 'Space Mono',monospace; letter-spacing:.08em; max-width:350px; text-transform:uppercase; }
h1 { font:clamp(3.1rem,8.2vw,8.8rem)/.82 'Archivo Black',Impact,sans-serif; letter-spacing:-.06em; margin:18px 0 25px; text-transform:uppercase; }
.intro { color:#d3d0ca; font-size:clamp(1rem,1.5vw,1.22rem); line-height:1.55; max-width:530px; margin:0 0 34px; }
.registration-form { max-width:620px; padding-top:22px; border-top:1px solid var(--line); }
.registration-form label { display:block; font:11px/1.2 'Space Mono',monospace; letter-spacing:.1em; margin-bottom:10px; text-transform:uppercase; }
.form-row { display:flex; gap:10px; } input, button { min-height:58px; border-radius:0; font:600 15px 'Work Sans',sans-serif; } input { border:1px solid #8b8882; background:#ece9e2; color:var(--ink); flex:1; min-width:0; padding:0 17px; } input:focus { outline:3px solid var(--signal); outline-offset:2px; } button { background:var(--signal); border:1px solid var(--signal); color:white; cursor:pointer; padding:0 22px; transition:background .2s,border-color .2s; white-space:nowrap; } button:hover { background:#f01834; border-color:#f01834; } button:focus-visible, a:focus-visible { outline:3px solid var(--paper); outline-offset:3px; } button:disabled { cursor:wait; opacity:.65; }
.form-note,.form-status { font-size:12px; line-height:1.45; margin:11px 0 0; max-width:550px; } .form-note { color:var(--muted); } .form-note a { color:var(--paper); } .form-status { color:var(--signal); font-weight:600; min-height:18px; }
/* Pre-shader orbit decoration retired — hero atmosphere now carried by <shader-bg> + brand background. */
.principles { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin:0 48px; position:relative; z-index:2; } .principles article { min-height:230px; padding:30px; border-right:1px solid var(--line); } .principles article:last-child { border-right:0; } .principles span { color:var(--signal); display:block; font:12px 'Space Mono',monospace; } .principles h2 { font:clamp(1.4rem,2vw,2.1rem)/1 'Archivo Black',sans-serif; letter-spacing:-.04em; margin:14px 0 12px; text-transform:uppercase; } .principles p { color:var(--muted); line-height:1.5; margin:0; max-width:260px; }
.artist-philosophy,.residents,.upcoming-events { border-top:1px solid var(--line); margin:0 48px; padding:0 30px; position:relative; z-index:2; } .artist-philosophy summary,.residents summary,.upcoming-events summary { align-items:center; cursor:pointer; display:flex; justify-content:space-between; list-style:none; min-height:82px; } .artist-philosophy summary::-webkit-details-marker,.residents summary::-webkit-details-marker,.upcoming-events summary::-webkit-details-marker { display:none; } .toggle-mark { color:var(--signal); font:1.55rem/1 'Space Mono',monospace; transition:transform .2s ease; } details[open] > summary .toggle-mark { transform:rotate(45deg); } .disclosure-body { padding:0 0 44px; } .artist-philosophy-copy { max-width:850px; padding-left:calc(25% + 10px); } .artist-philosophy-copy p { color:#e3dfd7; font:clamp(1.15rem,2.1vw,2rem)/1.35 'Work Sans',sans-serif; font-weight:500; letter-spacing:-.02em; margin:0; } .artist-philosophy-copy strong { color:var(--signal); font:inherit; font-weight:600; }
.manifesto-band,.access-band,.charter { border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,3fr); gap:40px; margin:0 48px; padding:clamp(72px,10vw,150px) 30px; position:relative; z-index:2; }
.residents .disclosure-body { padding-left:calc(25% + 10px); } .resident-lines { border-top:1px solid var(--line); } .resident-line { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:22px; grid-template-columns:74px minmax(0,1fr) auto; min-height:96px; padding:10px 0; } .resident-line img { filter:grayscale(1) contrast(1.1); height:74px; object-fit:cover; width:74px; } .resident-line h3 { font:clamp(1.4rem,3vw,3.1rem)/.9 'Archivo Black',Impact,sans-serif; letter-spacing:-.05em; margin:0; text-transform:uppercase; } .resident-line span { color:var(--signal); font:11px/1 'Space Mono',monospace; } .resident-line:hover img { filter:grayscale(0) contrast(1.05); }
.section-label { color:var(--signal); font:11px/1.4 'Space Mono',monospace; letter-spacing:.1em; margin:7px 0 0; text-transform:uppercase; }
.manifesto-copy,.access-copy,.charter-copy { max-width:900px; }
.manifesto-copy h2,.access-copy h2,.charter-copy h2 { font:clamp(2.7rem,6vw,6.8rem)/.9 'Archivo Black',Impact,sans-serif; letter-spacing:-.07em; margin:0 0 32px; text-transform:uppercase; }
.manifesto-copy p,.access-copy p,.charter-copy p { color:#d3d0ca; font-size:clamp(1.05rem,1.7vw,1.4rem); line-height:1.55; margin:0 0 24px; max-width:720px; }
.manifesto-copy .closing-line { color:var(--paper); font-weight:600; }
.access-band { background:var(--paper); color:var(--ink); }
.access-band .section-label { color:var(--signal); }
.access-copy p { color:#45413d; }
.button-link { background:var(--signal); color:#fff; display:inline-flex; align-items:center; justify-content:space-between; gap:42px; font:600 15px 'Work Sans',sans-serif; margin-top:16px; min-height:58px; padding:0 22px; text-decoration:none; text-transform:uppercase; transition:background .2s; }
.button-link:hover { background:#a90016; }
.access-band .button-link:focus-visible { outline-color:var(--ink); }
.charter { align-items:center; background:linear-gradient(110deg,rgba(9,9,9,.93),rgba(9,9,9,.55)),url('/brand/dissident-presentation.jpg') 68% 38% / cover no-repeat; }
.artist-philosophy summary,.residents summary,.upcoming-events summary { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,3fr) auto; gap:40px; } .residents summary h2,.upcoming-events summary h2 { font:clamp(1.7rem,4vw,4.4rem)/.92 'Archivo Black',Impact,sans-serif; letter-spacing:-.06em; margin:0; text-transform:uppercase; } .upcoming-events .disclosure-body { padding-left:calc(25% + 10px); } .featured-event { border:1px solid var(--line); padding:30px; } .event-kicker { color:var(--signal); font:11px/1.4 'Space Mono',monospace; letter-spacing:.1em; text-transform:uppercase; } .featured-event h3 { font:clamp(1.8rem,3vw,3.2rem); margin:22px 0 12px; } .featured-event p { max-width:640px; } .additional-events { border-bottom:1px solid var(--line); margin-top:22px; } .additional-events summary { cursor:pointer; display:flex; justify-content:space-between; min-height:58px; align-items:center; font-family:'Space Mono',monospace; font-size:.76rem; letter-spacing:.08em; } .additional-events summary span { color:var(--signal); font-size:1.25rem; } .additional-events p { color:var(--muted); padding-bottom:18px; }
.js .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.js .reveal.is-visible { opacity:1; transform:none; }
.site-footer { align-items:flex-end; border-top:1px solid var(--line); margin:0 48px; padding:32px 0 42px; } .site-footer p { color:var(--muted); margin:0; max-width:330px; text-transform:none; letter-spacing:0; line-height:1.5; } .site-footer p:first-child { color:var(--paper); letter-spacing:.09em; text-transform:uppercase; }
@media (max-width:760px) { .frame { inset:9px; } .site-header { padding:22px 25px; } .hero { display:block; min-height:0; padding:66px 25px 55px; } .hero-brand-background { inset:-25%; opacity:.16; background-position:62% 32%; } .hero-scrim { background:linear-gradient(90deg,rgba(9,9,9,.9),rgba(9,9,9,.65)),linear-gradient(0deg,rgba(9,9,9,.83),rgba(9,9,9,.28)); } .brand-logo { margin-bottom:28px; max-height:110px; } .hero-content { padding-top:0; } h1 { font-size:clamp(3rem,17vw,5.2rem); } .form-row { display:block; } button { margin-top:10px; width:100%; } .manifesto-band,.access-band,.charter { display:block; margin:0 25px; padding:65px 0; } .artist-philosophy,.residents,.upcoming-events { margin:0 25px; padding:0; } .artist-philosophy summary,.residents summary,.upcoming-events summary { gap:16px; grid-template-columns:minmax(105px,.8fr) minmax(0,2fr) auto; min-height:68px; } .artist-philosophy-copy,.residents .disclosure-body,.upcoming-events .disclosure-body { padding-left:0; } .section-label { margin-bottom:38px; } .principles { display:block; margin:0 25px; } .principles article { border-bottom:1px solid var(--line); border-right:0; min-height:0; padding:25px 0 29px; } .principles h2 { margin:35px 0 8px; } .site-footer { display:block; margin:0 25px; padding:28px 0 35px; } .site-footer p { margin-bottom:18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition-duration:.01ms!important; animation-duration:.01ms!important; } .js .reveal { opacity:1; transform:none; } }
