
:root{--paper:#f8f6f0;--ink:#27362e;--green:#285646;--dark:#102e29;--gold:#c2a365;--line:#d8d9d0;--muted:#59645f;--mono:'IBM Plex Mono',monospace;--sans:'IBM Plex Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 52px));margin:auto}.site-header{background:var(--dark);color:#fff;border-bottom:3px solid var(--gold)}.navrow{display:flex;align-items:center;gap:24px;min-height:78px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.brand img{width:49px;height:49px;object-fit:contain}.brand small{display:block;font:9px var(--mono);letter-spacing:1.2px;color:#d9d7c9}.navlinks{display:flex;align-items:center;gap:25px;margin-left:auto;text-transform:uppercase;font:11px var(--mono);letter-spacing:.5px}.navlinks a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:10px 16px}.eyebrow{font:11px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--green)}.hero{padding:75px 0 65px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 83% 42%,#eee9dc 0 7%,transparent 7.2%),linear-gradient(90deg,transparent 97%,#e6e3d8 97.2%) 0 0/38px 38px}.hero h1{font-size:clamp(38px,5vw,66px);letter-spacing:-2.5px;line-height:1.07;margin:16px 0;max-width:830px}.hero p{max-width:650px;color:var(--muted);font-size:17px}.gold{color:var(--gold)}.section{padding:54px 0 86px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.section-top strong{font:12px var(--mono)}.outline{border:1px solid var(--line);background:#fff;padding:10px 15px}.panel{background:#fff;border:1px solid var(--line);padding:24px}.filtergrid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:13px;align-items:end}.field label{display:block;font:10px var(--mono);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 12px;outline:none;min-height:45px;border-radius:0;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #28564618}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--dark);color:#fff;border:1px solid var(--dark);padding:13px 18px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.3px}.btn:hover{background:var(--green)}.btn.alt{background:transparent;color:var(--dark);border-color:var(--line)}.btn.alt:hover{border-color:var(--green)}.btn.goldbtn{background:var(--gold);border-color:var(--gold);color:#17231c}.filteractions{display:flex;align-items:center;gap:12px;margin-top:18px}.filteractions .count{margin-left:auto;color:var(--muted);font:11px var(--mono)}.eventgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.eventcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-height:470px}.eventart{height:185px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 55% 47%,#e6e4df 0 26%,transparent 26.3%),repeating-linear-gradient(90deg,transparent 0 30px,#d8d9d066 31px),#f3f1e9}.eventart:after{content:'';position:absolute;width:200px;height:200px;border:1px dashed #90968d;border-radius:50%;top:-20px;right:15px}.articon{font-size:76px;font-weight:600;color:#38473d;opacity:.85}.artlabel,.artdate{position:absolute;top:14px;padding:7px 10px;background:#fff;font:10px var(--mono);z-index:1}.artlabel{left:14px}.artdate{right:14px;background:var(--dark);color:#fff}.eventbody{padding:22px;display:flex;flex-direction:column;flex:1}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{font:10px var(--mono);padding:5px 8px;border:1px solid var(--line);background:#f7f7f2}.pill.active{background:var(--green);color:white;border-color:var(--green)}.eventbody h2{font-size:20px;line-height:1.25;margin:15px 0 9px}.eventbody p{color:var(--muted);margin:0 0 14px}.meta{font-size:12px;color:var(--muted);margin:6px 0}.meta b{color:var(--ink)}.eventbody .btn{margin-top:auto;align-self:start}.pagefooter{background:var(--dark);color:#e7ece8;padding:35px 0}.pagefooter .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;font-size:12px}.pagefooter a{margin-left:17px}.pagefooter a:hover{color:var(--gold)}.back{display:inline-block;font:12px var(--mono);margin-bottom:24px;color:var(--green)}.detailhead{display:grid;grid-template-columns:42% 58%;border:1px solid var(--line);background:#fff}.featureart{min-height:490px;background:radial-gradient(circle at 50% 47%,#e3e0d8 0 26%,transparent 26.3%),repeating-linear-gradient(0deg,transparent 0 39px,#c9ccc380 40px),#eae8df;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.featureart:after{content:'';width:75%;aspect-ratio:1;border:1px dashed #777e77;border-radius:50%;position:absolute}.featureart .articon{font-size:180px}.featureart .stamp{position:absolute;left:24px;bottom:24px;background:var(--dark);color:#fff;padding:12px;font:11px var(--mono);z-index:2}.featureinfo{padding:42px}.featureinfo h1{font-size:clamp(32px,3.5vw,48px);line-height:1.1;letter-spacing:-1.6px;margin:16px 0}.featureinfo>p{color:var(--muted);font-size:16px}.factgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.fact{border:1px solid var(--line);padding:14px;background:#faf9f5}.fact small{display:block;font:10px var(--mono);letter-spacing:1px;color:var(--green);text-transform:uppercase;margin-bottom:6px}.fact strong{font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap}.detailcols{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);gap:22px;margin-top:24px;align-items:start}.stack{display:grid;gap:20px}.contentcard{background:#fff;border:1px solid var(--line);padding:26px}.contentcard h2{font-size:21px;margin:0 0 9px}.contentcard p{color:var(--muted)}.contentcard .sub{font:11px var(--mono);color:var(--green);margin:0 0 18px}.ticketmini{border:1px solid var(--line);padding:16px;margin:10px 0}.ticketmini strong{display:flex;justify-content:space-between}.ticketmini p{font-size:13px;margin:7px 0}.checkoutgrid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:24px;align-items:start}.checkouthead{background:var(--dark);color:#fff;padding:30px}.checkouthead .eyebrow{color:var(--gold)}.checkouthead h1{margin:6px 0;font-size:36px}.checkoutbody{padding:28px}.checkoutbody h2{font-size:21px;margin:12px 0 5px}.checkoutbody .hint{color:var(--muted);margin:0 0 20px}.ticketrow{display:grid;grid-template-columns:1fr 120px;gap:16px;border:1px solid var(--line);padding:19px;margin:12px 0;align-items:center}.ticketrow strong{font-size:17px}.ticketrow p{color:var(--muted);font-size:13px;margin:5px 0}.ticketrow .price{font:12px var(--mono);color:var(--green)}.ticketrow input{width:100%;padding:12px;border:1px solid var(--line)}.totalstrip{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f3f3ee;border:1px solid var(--line);margin:18px 0}.totalstrip strong{font-size:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formgrid .wide{grid-column:1/-1}.attendee{padding:15px;border:1px dashed var(--line);margin:10px 0}.attendee h3{margin:0 0 12px}.consent{display:flex;align-items:flex-start;gap:9px;margin:20px 0;font-size:13px}.sidehead{border-bottom:1px solid var(--line);padding-bottom:15px}.sidehead h2{margin:0}.summaryline{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.summaryline:last-child{border-bottom:0}.notice{padding:13px;border-left:3px solid var(--gold);background:#f7f5ee;font-size:12px;color:var(--muted)}.modalback{position:fixed;inset:0;background:#0b1817b8;display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.modalback.open{display:flex}.modal{background:var(--paper);border:1px solid var(--gold);padding:26px;width:min(500px,100%);max-height:90vh;overflow:auto;box-shadow:0 22px 80px #0005}.modal h2{margin:5px 0}.modal p{color:var(--muted)}.modal .field{margin:12px 0}.modalclose{float:right;background:transparent;border:0;font-size:23px}.empty{padding:50px;text-align:center;background:#fff;border:1px solid var(--line);margin-top:22px}.status{font:12px var(--mono);color:var(--green)}@media(max-width:900px){.eventgrid{grid-template-columns:repeat(2,1fr)}.detailhead,.checkoutgrid,.detailcols{grid-template-columns:1fr}.featureart{min-height:290px}.navlinks{gap:12px;flex-wrap:wrap}.filtergrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.wrap{width:calc(100% - 28px)}.navrow{flex-wrap:wrap;padding:14px 0}.navlinks{margin-left:0;font-size:10px}.eventgrid,.filtergrid,.factgrid,.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.hero{padding:45px 0}.featureinfo{padding:24px}.ticketrow{grid-template-columns:1fr 85px}.checkoutbody{padding:17px}.filteractions{flex-wrap:wrap}.filteractions .count{margin-left:0}}
/* Event artwork as cover images */
.eventart.has-image{height:auto;aspect-ratio:4/3;background:#f6f3ea}
.eventart.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .4s ease}
.eventcard:hover .eventart.has-image img{transform:scale(1.05)}
.featureart.has-image{background:#f6f3ea;min-height:0;aspect-ratio:1/1}
.featureart.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.featureart.has-image{align-self:start}
/* Featured-events slider in the hero (swipe / drag / arrows / dots) */
.hero.has-slider{background:linear-gradient(90deg,transparent 97%,#e6e3d8 97.2%) 0 0/38px 38px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:48px;align-items:center}
.hero-copy{min-width:0}
.event-slider{position:relative;width:100%;max-width:400px;justify-self:end}
.slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid var(--line);background:#fff;box-shadow:12px 12px 0 #e8e3d3;cursor:grab;outline:none}
.slider-track::-webkit-scrollbar{display:none}
.slider-track:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.slider-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;display:block;aspect-ratio:1/1;overflow:hidden;color:inherit}
.slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);pointer-events:none}
.slide-meta{position:absolute;top:12px;left:12px;background:var(--dark);color:#fff;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:7px 10px}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--line);background:#fffefa;color:var(--dark);font:600 16px var(--mono);cursor:pointer;z-index:2;transition:background .15s,color .15s}
.slider-btn:hover{background:var(--dark);color:#fff}
.slider-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.slider-btn.prev{left:-20px}.slider-btn.next{right:-20px}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.slider-dots button{width:26px;height:4px;padding:0;border:0;background:#d6d4c9;cursor:pointer;transition:background .2s,width .2s}
.slider-dots button[aria-selected="true"]{background:var(--gold);width:40px}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.event-slider{justify-self:center}}
@media(max-width:620px){.event-slider{max-width:none}.slider-btn.prev{left:8px}.slider-btn.next{right:8px}.slider-track{box-shadow:8px 8px 0 #e8e3d3}}
