@font-face{font-family:Studio;src:url('assets/regular.ttf')}@font-face{font-family:Studio;src:url('assets/bold.ttf');font-weight:700}:root{--paper:#f6f4ef;--ink:#1a1d1b;--muted:#60645f;--gold:#8b6d37;--line:#d9d8d0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Studio,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}a{color:inherit}header,main,footer{max-width:1280px;margin:auto}header{padding:26px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:17px;letter-spacing:2px;font-weight:bold}.brand img{width:48px;height:52px;object-fit:contain;background:#080808;border-radius:3px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px}.contact{font-size:13px;text-decoration:none}.hero{padding:64px 32px 45px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:bold;color:var(--gold);line-height:1.8}h1{font-size:clamp(45px,6.5vw,88px);line-height:1.03;letter-spacing:-4px;margin:28px 0;font-weight:700}h1 em{font-family:Georgia,serif;font-weight:normal;color:var(--gold)}.intro{display:flex;justify-content:space-between;align-items:flex-end;color:var(--muted);line-height:1.7}.intro p{margin:0}.intro span{font-size:12px;text-transform:capitalize}.next{margin-top:35px;background:#202720;color:#fff;padding:24px 28px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:24px}.next small{color:#d7c59d;letter-spacing:2px;font-size:9px}.next h3{margin:9px 0 6px;font-size:23px}.next p{font-size:12px;color:#d9dfd6;margin:0}.count{display:flex;gap:20px;text-align:center}.count strong{font-size:30px;display:block}.count span{font-size:10px;color:#d7c59d}.program{padding:34px 32px 60px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center}h2{font-size:36px;letter-spacing:-1.2px;margin:8px 0 25px}.tabs{display:flex;border:1px solid var(--line);border-radius:5px;padding:4px;gap:3px}.tabs button{border:0;background:none;padding:11px 14px;border-radius:3px;font-size:12px}.tabs .active{background:var(--ink);color:white}.filters{display:flex;gap:14px;padding:22px 0 10px}.filters label{font-size:10px;text-transform:uppercase;letter-spacing:1px;display:grid;gap:8px;min-width:190px}.search{flex:1}input,select{width:100%;padding:13px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:4px;font-size:14px;min-width:0}#sync{font-size:11px;color:var(--muted);margin:12px 0 25px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden;transition:transform .18s}.card:hover{transform:translateY(-4px)}.poster{height:300px;background:#ece9df;display:flex;align-items:center;justify-content:center;position:relative}.poster img{width:100%;height:100%;object-fit:contain}.poster.logo{background:radial-gradient(ellipse at top,#454036,#151b17)}.poster.logo img{width:100px;height:100px;object-fit:contain;border-radius:12px;box-shadow:0 20px 50px #0006}.date{position:absolute;left:16px;top:16px;background:var(--paper);padding:10px 13px;text-align:center;font-size:10px;border-radius:3px;box-shadow:0 3px 20px #0002}.date strong{display:block;font-size:25px;margin-bottom:3px}.card-body{padding:23px}.card-body small{font-size:10px;letter-spacing:1.5px;color:var(--gold);text-transform:uppercase}.card h3{font-size:23px;line-height:1.2;margin:12px 0 17px}.card p{font-size:13px;color:var(--muted);line-height:1.7;margin:6px 0}.card button{background:none;border:0;border-top:1px solid var(--line);padding:17px 0 0;width:100%;text-align:left;margin-top:17px;display:flex;justify-content:space-between;color:var(--ink)}.empty{padding:50px;border:1px dashed var(--line);grid-column:1/-1;text-align:center;color:var(--muted)}.closing{padding:60px 32px;background:#eae7de;border-top:1px solid var(--line)}.closing span{font-size:10px;letter-spacing:3px}.closing h2{font-family:Georgia,serif;font-weight:normal;font-size:42px;line-height:1.2;margin:25px 0}.closing p{font-size:11px;color:var(--muted)}footer{padding:30px 32px;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--muted)}.month-head{display:flex;align-items:center;gap:15px}.month-head h3{flex:1;text-transform:capitalize;font-size:21px}.month-head button{padding:10px;border:1px solid var(--line);background:white;border-radius:3px}.legend{display:flex;gap:18px;font-size:11px;flex-wrap:wrap}.legend span:nth-child(1){color:#32634d}.legend span:nth-child(2){color:#8a5e23}.legend span:nth-child(3){color:#705786}.hint{font-size:12px;color:var(--muted);line-height:1.6}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;padding:12px 0;font-size:11px;color:var(--muted)}.day{min-height:95px;text-align:left;border:1px solid #d0dfd3;background:#edf4ed;padding:12px;color:#294d37;border-radius:3px}.day.booked{background:#f3ebdc;border-color:#dfccaa;color:#715420}.day.off{background:#efe9f4;border-color:#d5c7e1;color:#61427b}.day.past{background:#eeede9;border-color:var(--line);color:#76796f}.day strong{font-size:19px}.day small{display:block;margin-top:10px;font-size:10px;line-height:1.4}.day.selected{outline:2px solid var(--ink)}#dayDetails{margin-top:20px;padding:22px;border:1px solid var(--line);background:#fff;font-size:14px;line-height:1.7}#dayDetails:empty{display:none}dialog{border:0;border-radius:6px;padding:0;width:min(700px,94vw);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#101710bb;backdrop-filter:blur(5px)}#close{position:absolute;right:12px;top:12px;z-index:2;border:0;border-radius:50%;width:38px;height:38px;background:white;color:#111;font-size:25px}#detailContent{padding:35px}#detailContent img{display:block;max-width:100%;max-height:50vh;object-fit:contain;margin:0 auto 25px}#detailContent h2{margin-top:15px}#detailContent p{line-height:1.7;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:flex-start;flex-direction:column}.filters label{min-width:0;flex:1}.poster{height:280px}}@media(max-width:560px){header{padding:18px}.brand{font-size:13px}.contact{font-size:11px}.hero{padding:40px 20px 30px}h1{letter-spacing:-2px}.intro{display:block;font-size:14px}.intro span{display:block;margin-top:20px}.next{padding:22px;flex-direction:column;align-items:flex-start}.count{gap:30px}.program{padding:25px 20px 40px}.tabs{width:100%}.tabs button{flex:1;font-size:11px;padding:11px 6px}.filters{flex-wrap:wrap}.filters .search{order:3;flex-basis:100%}.grid{grid-template-columns:1fr;gap:20px}.poster{height:340px}.card h3{font-size:25px}.day{min-height:69px;padding:7px 4px}.day strong{font-size:16px}.day small{font-size:8px;margin-top:5px}.days{gap:3px}.month-head{gap:7px}.month-head h3{font-size:17px}.closing{padding:40px 20px}.closing h2{font-size:35px}footer{padding:25px 20px;flex-direction:column}#detailContent{padding:25px}.brand img{width:38px;height:42px}}

/* Black Bull — monochrome editorial edition */
:root{color-scheme:dark;--paper:#090909;--ink:#f5f5f3;--muted:#a6a6a6;--gold:#c1c1bd;--line:#292929}
body{background:var(--paper);-webkit-font-smoothing:antialiased}header{padding:25px 32px}.brand{letter-spacing:2.8px}.brand img{width:58px;height:64px;background:#000}.brand small{color:#aaa}.contact{padding:11px 15px;border:1px solid #393939;border-radius:2px;background:#111}.contact:hover{background:#222}.hero{position:relative;overflow:hidden;padding-top:64px;padding-bottom:45px}.hero-mark{position:absolute;right:45px;top:44px;width:195px;height:215px;object-fit:contain;opacity:.9;pointer-events:none}h1{font-size:clamp(43px,6vw,76px);line-height:1.08;letter-spacing:-3.5px;max-width:900px;margin:32px 0}h1 em{color:#bdbdb9;font-style:normal;font-family:Studio,Arial,sans-serif;font-weight:bold}.eyebrow{color:#b9b9b5;font-size:10px;letter-spacing:2.8px}.intro{margin-top:30px;max-width:100%}.next{background:#141414;border:1px solid #363636;border-radius:3px;margin-top:38px;padding:26px 30px}.next small,.count span{color:#b7b7b2}.next h3{color:white;font-size:25px}.next p{color:#aaa}.count{gap:0}.count>div{min-width:92px;padding:0 20px;border-left:1px solid #363636}.count strong{font-size:34px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.count span{letter-spacing:1.5px;font-size:9px}.section-head{align-items:center}.section-head h2{font-size:32px;margin-bottom:12px}.program{padding-top:34px}.tabs{background:#111;border-color:#333}.tabs button{color:#aaa;padding:12px 16px}.tabs button.active{background:#f1f1ed;color:#111}.filters{margin-top:16px;padding:19px;border:1px solid #292929;background:#101010;border-radius:3px}.filters label{color:#bdbdb8;font-size:9px;letter-spacing:1.7px}input,select{background:#191919;border-color:#393939;color:#f5f5f0;border-radius:2px;padding:12px;font-size:13px}input::placeholder{color:#949494}input:focus,select:focus{outline:2px solid #aaa}#sync{color:#999;font-size:11px;margin:16px 0 26px;line-height:1.6}.grid{gap:24px}.card{background:#131313;border-color:#303030;border-radius:3px}.card:hover{border-color:#777;transform:translateY(-3px)}.poster{height:330px;background:#0d0d0d;border-bottom:1px solid #292929;padding:10px}.poster.logo{background:linear-gradient(145deg,#232323,#0d0d0d);padding:0}.poster.logo img{width:112px;height:112px;box-shadow:0 16px 48px #0009;border-radius:7px}.date{color:#111;background:#f0f0ec;box-shadow:none;border-radius:2px;padding:10px 13px;letter-spacing:1px}.date strong{font-size:24px;letter-spacing:-1px}.card-body{padding:24px}.card-body small{color:#bfbfb8;font-size:9px;letter-spacing:2px}.card h3{color:white;font-size:23px;letter-spacing:-.5px;min-height:55px}.card p{color:#aaa;font-size:12px}.card button{color:#eaeae6;font-size:12px;border-color:#363636;min-height:44px}.card button:hover{color:white}.empty{border-color:#333;background:#111;color:#b5b5b0;border-radius:3px}.closing{position:relative;background:#101010;padding:45px 32px;min-height:235px}.closing h2{font-family:Studio,Arial,sans-serif;font-weight:bold;font-size:30px;letter-spacing:-1px;color:#d6d6d1;margin:22px 0}.closing span{color:#a5a5a0;letter-spacing:3px}.closing p{color:#92928d}.footer-mark{position:absolute;right:40px;top:45px;width:125px;height:140px;object-fit:contain}footer{border-top:1px solid var(--line);color:#a6a6a0;padding:24px 32px}.month-head{margin-top:25px}.month-head button{color:#eee;background:#171717;border-color:#444;min-width:40px}.month-head h3{color:#eee}.legend span:nth-child(1){color:#c5c5bf}.legend span:nth-child(2){color:#fff}.legend span:nth-child(3){color:#adadad}.hint{color:#aaa}.day{border:1px solid #343434;background:#171717;color:#d1d1cc;min-height:102px}.day:hover{border-color:#aaa}.day.booked{background:#ededE8;color:#121212;border-color:#ededE8}.day.off{background:repeating-linear-gradient(135deg,#303030,#303030 7px,#292929 7px,#292929 14px);color:#eee;border-color:#555}.day.past{background:#101010;color:#888;border-color:#242424}.day.selected{outline:2px solid #fff;outline-offset:1px}#dayDetails{background:#151515;border-color:#444;color:#ddd;border-radius:3px}dialog{background:#141414;color:#f5f5f0;border:1px solid #454545;border-radius:4px}dialog::backdrop{background:#000c}#close{background:#ecece8;color:#111}#detailContent .eyebrow{color:#bbb}#detailContent h2{font-size:32px}#detailContent p{color:#bbb}
@media(max-width:1050px){.hero-mark{width:140px;height:154px;right:32px;top:60px}h1{font-size:62px;max-width:730px}.hero .eyebrow{max-width:70%}}
@media(max-width:850px){.hero-mark{width:105px;height:116px;top:55px;right:27px}h1{font-size:54px;letter-spacing:-2px;max-width:620px}.section-head{align-items:flex-start}.poster{height:310px}.next{padding:24px}.count>div{min-width:70px;padding:0 13px}.count strong{font-size:29px}}
@media(max-width:560px){header{padding:16px 20px}.brand img{width:45px;height:50px}.brand{font-size:12px;gap:9px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1.5px}.contact{font-size:10px;padding:9px}.hero{padding:34px 20px 28px}.hero-mark{position:static;display:block;width:100px;height:110px;opacity:1;margin:0 auto 27px}.hero .eyebrow{max-width:100%;font-size:8px;letter-spacing:2px;text-align:center}h1{font-size:43px;letter-spacing:-2px;line-height:1.12;margin-top:23px}.intro{font-size:13px;margin-top:22px}.intro span{font-size:10px;margin-top:18px}.next{margin-top:28px;padding:22px;gap:25px}.next h3{font-size:24px}.count{width:100%;border-top:1px solid #383838;padding-top:18px}.count>div{flex:1;padding:0 10px;min-width:0}.count>div:first-child{border-left:0}.count strong{font-size:32px}.section-head h2{font-size:27px}.tabs button{padding:12px 8px}.filters{padding:14px;gap:12px}.filters label{font-size:8px;letter-spacing:1.2px}.poster{height:350px}.card h3{min-height:0}.closing{padding:36px 20px;min-height:220px}.closing h2{font-size:25px;max-width:75%}.closing span{font-size:8px}.footer-mark{width:68px;height:76px;right:20px;top:70px}.day{min-height:76px}.day small{font-size:8px}footer{padding:24px 20px}.month-head h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
html{scroll-behavior:smooth;scroll-padding-top:20px}.top-nav{max-width:1280px;margin:auto;padding:16px 32px;border-bottom:1px solid #292929;display:flex;gap:30px}.top-nav a{font-size:12px;color:#bbb;text-decoration:none}.top-nav a:hover{color:white}.community{padding:55px 32px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;border-top:1px solid #333;background:#111}.community h2{font-size:38px;line-height:1.12}.community p{color:#b9b9b9;font-size:14px;line-height:1.7;max-width:550px}.discord-cta{display:inline-block;padding:17px 22px;background:#efefea;color:#111;text-decoration:none;font-size:13px;font-weight:bold;border-radius:3px;margin-top:12px}.discord-cta:hover{background:white}.community .community-note{font-size:11px;color:#aaa;margin-top:18px}.community-stats{border:1px solid #363636;padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.community-stats img{width:65px;height:70px;object-fit:contain}.community-stats strong{display:block;font-size:48px;letter-spacing:-2px;margin:15px 0 5px}.community-stats span{font-size:12px;color:#aaa}.community-stats #discordStatus{font-size:10px;margin-bottom:0}.community-stats button{margin-top:25px;background:white;color:black;padding:12px 17px;border:0;border-radius:3px}.community-stats #installHint{font-size:11px;margin-top:20px}.bottom-nav{display:none}@media(max-width:560px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.top-nav{padding:13px 20px;gap:0;justify-content:space-between}.top-nav a{font-size:10px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#111f;border-top:1px solid #444;padding:10px 8px calc(10px + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav a{display:flex;flex:1;align-items:center;flex-direction:column;gap:4px;color:#eee;font-size:23px;text-decoration:none;min-height:45px}.bottom-nav span{font-size:10px}.community{padding:35px 20px;grid-template-columns:1fr;gap:25px}.community h2{font-size:31px}.discord-cta{width:100%;text-align:center}.community-stats{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.home-hero{position:relative;min-height:620px;display:flex;align-items:center;background:#111;overflow:hidden}.home-cover,.home-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-cover{object-position:center 48%}.home-shade{background:linear-gradient(90deg,#000e 0%,#0008 55%,#0002),linear-gradient(0deg,#000b,transparent 40%)}.home-copy{position:relative;padding:65px 48px 100px;z-index:1;max-width:1000px}.home-copy .eyebrow{color:#ddd}.home-copy h1{font-size:clamp(42px,5.2vw,68px);letter-spacing:-3px;line-height:1.12}.home-copy h1 em{color:white}.home-copy>p:not(.eyebrow){color:#ddd;font-size:15px;line-height:1.8}.home-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.home-actions a{padding:15px 21px;text-decoration:none;font-size:12px;font-weight:bold;border:1px solid #ccc;border-radius:2px;min-height:46px}.button-light{background:#fff;color:#111}.button-outline{background:#0006;color:white}.cover-caption{position:absolute;bottom:24px;left:48px;right:48px;display:flex;justify-content:space-between;gap:15px;color:#ccc;font-size:10px;letter-spacing:1px}.cover-caption a{text-decoration:none;color:white}.home-intro{padding:55px 32px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-bottom:1px solid #292929}.home-intro h2{font-size:34px;line-height:1.15;margin-bottom:0}.home-intro>p{font-size:14px;color:#aaa;line-height:1.9;max-width:470px}.home-count{padding:28px 32px 35px}.home-date{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#aaa;font-size:11px}.home-date>span{font-size:9px;letter-spacing:2px}.home-count .next{margin-top:18px}.photo-section,.social-section{padding:48px 32px;border-top:1px solid #292929}.photo-section .section-head>p{font-size:12px;color:#aaa;line-height:1.8}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.photo-tile{position:relative;padding:0;border:1px solid #333;border-radius:3px;background:#111;overflow:hidden;color:white;text-align:left}.photo-tile:first-child{grid-column:span 2}.photo-tile img{width:100%;height:240px;display:block;object-fit:cover;transition:transform .25s}.photo-tile:hover img{transform:scale(1.035)}.photo-tile span{display:flex;justify-content:space-between;padding:15px;font-size:11px;gap:12px;color:#ccc}.photo-tile b{font-weight:normal}.gallery-more{display:block;padding:14px 22px;margin:25px auto 0;background:#151515;border:1px solid #555;color:white;border-radius:3px;font-size:12px}.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:25px}.social-grid a{padding:25px 20px;border:1px solid #353535;text-decoration:none;background:#111;border-radius:3px;min-width:0}.social-grid a:hover{border-color:#aaa}.social-grid a>span{display:flex;justify-content:space-between;font-size:11px;color:#bbb}.social-grid strong{display:block;font-size:15px;margin-top:28px;overflow-wrap:anywhere}.social-grid p{font-size:11px;line-height:1.6;color:#aaa;margin-top:10px}#photoViewer{width:min(1250px,97vw);padding:50px 15px 12px;background:#090909}#photoFull{display:block;max-height:74vh;max-width:100%;margin:auto;object-fit:contain}.photo-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:white;font-size:30px;min-width:44px;min-height:40px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.photo-controls p{font-size:12px;color:#ccc;text-align:center;line-height:1.5}.photo-controls button{background:#171717;color:white;border:1px solid #444;border-radius:3px;width:48px;height:44px;flex-shrink:0}@media(max-width:850px){.home-copy{padding-left:32px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-intro{gap:25px}.cover-caption{left:32px;right:32px}}@media(max-width:560px){.home-hero{min-height:590px;align-items:flex-end}.home-cover{object-position:60% center}.home-shade{background:linear-gradient(0deg,#000f,#0008 65%,#0002)}.home-copy{padding:55px 20px 85px}.home-copy h1{font-size:41px;letter-spacing:-1.9px}.home-copy .eyebrow{font-size:8px;letter-spacing:1.7px}.home-copy>p:not(.eyebrow){font-size:13px}.home-actions{gap:10px}.home-actions a{font-size:11px;padding:14px}.cover-caption{left:20px;right:20px;bottom:20px;font-size:8px;letter-spacing:0}.home-intro{padding:35px 20px;grid-template-columns:1fr;gap:12px}.home-intro h2{font-size:29px}.home-count{padding:20px}.home-date{font-size:10px}.photo-section,.social-section{padding:35px 20px}.photo-grid{gap:12px;grid-template-columns:1fr}.photo-tile:first-child{grid-column:auto}.photo-tile img{height:auto;aspect-ratio:16/10;object-fit:cover}.social-grid{gap:10px}.social-grid a{padding:20px 14px}.social-grid strong{font-size:13px;margin-top:22px}.social-section h2{font-size:29px}.top-nav{gap:16px;overflow-x:auto;justify-content:flex-start}.top-nav a{white-space:nowrap}.photo-controls p{font-size:10px}}@media(prefers-reduced-motion:reduce){.photo-tile img{transition:none}.photo-tile:hover img{transform:none}}
