@font-face{font-family:Kalam;src:url('/assets/Kalam-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--green:#008d36;--ink:#20241f;--paper:#f8f7f2;--line:#d5d8cc;--purple:#a52679;--yellow:#ffe300}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-width:0;color:var(--ink);background:var(--paper);font:17px/1.6 Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:800;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,6.2vw,88px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:23px;letter-spacing:-.025em}p{margin-bottom:1em}a{color:inherit;text-decoration:none;border:0}a:hover{text-decoration:underline;text-underline-offset:5px}img{max-width:100%;display:block}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px}.wrap{width:calc(100% - 112px);max-width:1220px;margin-inline:auto}.draft-bar{padding:7px 24px;background:#e8ecdf;color:#434b3b;text-align:center;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.12em}.draft-bar span{font-weight:400;letter-spacing:.03em}.site-header{max-width:1440px;padding:22px 56px;margin:auto;display:flex;align-items:center;gap:40px;background:var(--paper)}.brand{flex-shrink:0}.brand img{width:170px;height:auto}.site-header nav{display:flex;gap:27px;margin-left:auto;align-items:center}.site-header nav a{font-size:15px;font-weight:600;padding:10px 0}.site-header nav a[aria-current]{box-shadow:0 3px var(--green)}.header-invite{font-size:15px;font-weight:bold;padding:12px 19px;background:var(--ink);color:white}.header-invite span{margin-left:14px}.menu-toggle{display:none}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;margin-bottom:23px;line-height:1.6}.hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding-top:38px;padding-bottom:55px}.hero h1{margin-bottom:25px;line-height:1.03}.hero h1 em{color:var(--green);font-family:Kalam,cursive;font-size:1.15em;font-style:normal;letter-spacing:-.045em}.hero-description{line-height:1.65;font-size:18px;max-width:450px;margin-bottom:27px}.button-primary,.button-yellow{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 22px;background:var(--green);color:#fff;font-size:15px;font-weight:bold;line-height:1.5;border:0;border-radius:0;box-shadow:none;white-space:normal}.button-primary:hover{background:#006e29;color:#fff;text-decoration:none}.small-note{font-size:12px;margin:13px 0 0;line-height:1.5;color:#555e51}.hero-photo{position:relative;margin:0 0 0 15px;transform:rotate(2deg)}.hero-photo>img{width:100%;height:440px;object-fit:cover}.hero-photo figcaption{background:white;padding:13px 17px;font-size:12px;letter-spacing:.02em}.photo-label{position:absolute;right:-12px;bottom:53px;width:135px;height:135px;border-radius:50%;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;text-align:center;font:700 27px/1.05 Kalam,cursive;transform:rotate(-10deg)}.next-meeting{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:30px;padding:25px 30px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);background:#eeefe6}.next-label{font-size:11px;font-weight:700;letter-spacing:.1em}.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);margin-right:8px}.next-meeting h2{font-size:25px;letter-spacing:-.035em;margin-bottom:7px}.next-meeting p{font-size:14px;line-height:1.6;margin:0}.next-meeting>a{font-size:14px;font-weight:bold;text-decoration:underline;text-underline-offset:5px}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:100px}.welcome h2{line-height:1.12}.green{color:var(--green)}.welcome-copy .intro{font-size:23px;line-height:1.45;letter-spacing:-.025em}.welcome-copy>p{font-size:16px}.first-visit{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}.first-visit h3{font-size:20px;margin-bottom:10px}.first-visit p{font-size:16px}.first-visit a{font-size:15px;font-weight:bold;color:var(--green)}.dates-section{background:#e9ede2;padding:65px 0 55px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{font-size:40px}.text-link{font-size:14px;font-weight:bold;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.date-row{display:grid;grid-template-columns:100px 1fr 30px;gap:25px;align-items:center;padding:23px 0;border-top:1px solid #bdc7b5}.date-row:last-child{border-bottom:1px solid #bdc7b5}.date-row:hover{text-decoration:none}.date-row:hover h3{text-decoration:underline;text-underline-offset:5px}.date-row time{text-align:center;border-right:1px solid #bdc7b5;padding-right:23px}.date-row time b{display:block;font-size:44px;font-weight:800;line-height:1;color:var(--green);letter-spacing:-.06em}.date-row time span{font-size:11px;font-weight:bold;letter-spacing:.03em}.date-row h3{font-size:25px;margin-bottom:7px}.date-row p{font-size:14px;margin:0}.row-arrow{font-size:28px}.rhythm{font-size:13px;max-width:740px;margin:25px 0 0;color:#525c4b}.festival{background:var(--purple);color:white;margin-block:90px;padding:46px 55px 50px;clip-path:polygon(0 3%,100% 0,100% 97%,0 100%)}.festival-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.festival .eyebrow{color:var(--yellow);margin:0}.festival-note{font-size:12px;line-height:1.3;text-align:right;color:var(--yellow)}.festival h2,.festival h1{font:700 clamp(54px,6vw,86px)/1.2 Kalam,cursive;letter-spacing:-.04em;margin:16px 0 0}.festival-subtitle{color:var(--yellow);font-size:25px;font-weight:bold;margin:0 0 30px;letter-spacing:-.02em}.festival-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.festival-date{font-size:23px;font-weight:bold;line-height:1.4;margin-bottom:12px}.festival-bottom p:not(.festival-date){font-size:15px}.button-yellow{background:var(--yellow);color:#252019;margin-top:7px}.festival-program{border-top:3px solid var(--yellow);padding-top:23px}.festival-program h3{font-size:32px;color:var(--yellow);margin-bottom:16px}.festival-partner{opacity:.85;margin-top:24px}.impressions{padding-bottom:80px}.photo-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.photo-strip img{width:100%;height:300px;object-fit:cover}.photo-strip figure:nth-child(2){margin-top:35px}.photo-strip figcaption{font-size:13px;padding-top:12px}.closing{border-top:1px solid var(--line);padding:55px 0 65px;display:flex;align-items:center;justify-content:space-between;gap:30px}.closing h2{font-size:35px;line-height:1.3}.closing em{font-family:Kalam,cursive;color:var(--green);font-style:normal}.site-footer{background:var(--ink);color:#fff;padding:50px max(56px,calc((100vw - 1220px)/2));display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;font-size:13px}.footer-name{font-size:21px;line-height:1.1;display:block;letter-spacing:.025em}.footer-name b{display:block;font-size:27px}.site-footer p{margin-top:16px;color:#c8d0c0}.site-footer>div>a:not(.footer-name){display:block;margin-bottom:9px}.site-footer small{display:block;margin-top:25px;color:#c8d0c0;font-size:11px}.page-heading{padding-block:45px 35px}.page-heading h1{font-size:clamp(38px,5vw,66px);max-width:850px}.page-heading>p:last-child{font-size:19px;margin:22px 0 0;max-width:700px}.legacy .wrapper{padding:35px 0;background:none;box-shadow:none}.legacy .container{width:calc(100% - 112px);max-width:1220px}.legacy p{font-weight:400;line-height:1.65}.legacy h3{margin-bottom:16px;font-size:25px}.legacy .event-list{margin:0}.legacy .event-list>section{border-top:1px solid var(--line);padding:30px 0;margin:0;scroll-margin-top:25px}.legacy .box.post{margin:0;display:block}.legacy .box.post:after{content:'';display:block;clear:both}.legacy .box.post .image{max-width:300px;aspect-ratio:4/3}.legacy .box.post .inner{margin-left:34%}.legacy .box.post h3{line-height:1.3}.legacy .event-date{color:var(--green)}.legacy .faq-box{margin-top:45px;background:#e9ede2;border:0;border-radius:0;padding:30px}.legacy .calendar-feed-box{border-radius:0;border:1px solid var(--line);background:none}.legacy .button{border-radius:0;background:var(--green);background-image:none;box-shadow:none;font-size:15px;color:white;padding:12px 20px;line-height:1.5;height:auto}.legacy .contact-discord,.legacy .contact-card,.legacy .timeline__content{border-radius:0;box-shadow:none}.legacy .contact-card{background:transparent}.legacy .contact-icon{color:var(--green)}.legacy .gallery-grid{column-count:3}.legacy .major:after{display:none}.legacy .major{text-align:left;padding:0}.legacy .timeline__item{animation:none}.legacy .timeline__content h3{font-size:21px}.legacy ul{line-height:1.6}.legacy .image{border-radius:0}.program-list{padding-left:20px;margin-bottom:30px}.program-list li{padding:12px 0}.festival-detail{margin-top:35px;margin-bottom:0}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.legacy .lightbox{z-index:1000}
@media(min-width:1500px){.site-header{max-width:1332px}}
@media(max-width:1050px){.wrap,.legacy .container{width:calc(100% - 64px)}.site-header{padding:20px 32px;gap:25px}.site-header nav{gap:18px}.brand img{width:140px}.header-invite{display:none}.hero{gap:18px}.hero h1{font-size:65px}.hero-photo>img{height:400px}.hero-description{font-size:16px}.button-primary{gap:15px;font-size:14px}.welcome{gap:45px}.next-meeting{grid-template-columns:160px 1fr;gap:20px}.next-meeting>a{grid-column:2}.festival{padding:45px 35px}.site-footer{padding:45px 32px}.desktop-break{display:none}}
@media(max-width:720px){body{font-size:16px;line-height:1.6}.wrap,.legacy .container{width:calc(100% - 40px)}.draft-bar{font-size:9px;padding:7px 5px;letter-spacing:.08em}.site-header{padding:17px 20px;flex-wrap:wrap;gap:12px}.brand img{width:125px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:10px 14px;width:auto;height:auto;font-size:15px}.site-header nav{display:none;flex-basis:100%;margin:0;padding-top:12px}.site-header nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}.site-header nav a{padding:12px;border-bottom:1px solid var(--line)}.site-header nav a[aria-current]{box-shadow:none;color:var(--green)}.hero{grid-template-columns:1fr;padding-top:22px;padding-bottom:35px;gap:28px}.eyebrow{font-size:10px;margin-bottom:18px}.hero h1{font-size:62px;max-width:420px;margin-bottom:18px}.hero-description{font-size:17px;max-width:390px}.small-note{font-size:12px}.hero-photo{margin:5px 6px 0;transform:rotate(1.5deg)}.hero-photo>img{height:270px}.hero-photo figcaption{padding:10px 12px;font-size:11px}.photo-label{width:100px;height:100px;font-size:23px;right:-9px;bottom:38px}.next-meeting{grid-template-columns:1fr;padding:22px;gap:14px}.next-meeting>a{grid-column:auto}.next-meeting h2{font-size:25px}.next-meeting p{font-size:14px}.welcome{grid-template-columns:1fr;padding-block:60px;gap:28px}.welcome h2{font-size:42px}.welcome-copy .intro{font-size:21px}.dates-section{padding-block:42px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:34px}.section-heading .text-link{display:inline-block;margin-top:18px}.date-row{grid-template-columns:65px 1fr 18px;gap:13px;padding:22px 0}.date-row time{padding-right:10px}.date-row time b{font-size:35px}.date-row time span{font-size:9px}.date-row h3{font-size:22px}.date-row p{font-size:13px;line-height:1.5}.row-arrow{font-size:23px}.festival{margin-block:50px;padding:40px 24px;clip-path:polygon(0 1%,100% 0,100% 99%,0 100%)}.festival-top{align-items:start}.festival .eyebrow{font-size:9px}.festival-note{font-size:10px}.festival h2,.festival h1{font-size:49px;line-height:1.2;margin-top:25px}.festival-subtitle{font-size:20px;margin-top:7px}.festival-bottom{grid-template-columns:1fr;gap:30px}.festival-date{font-size:22px}.festival-program h3{font-size:28px}.festival-partner{margin-bottom:0}.button-yellow{padding:13px 16px;font-size:14px}.photo-strip{grid-template-columns:1fr;gap:25px}.photo-strip img{height:240px}.photo-strip figure:nth-child(2){margin-top:0}.impressions{padding-bottom:45px}.closing{display:block;padding-block:40px}.closing h2{font-size:28px;margin-bottom:25px}.site-footer{padding:35px 20px;grid-template-columns:1fr 1fr;gap:28px 20px}.site-footer>div:first-child{grid-column:1/-1}.site-footer p{margin-bottom:0}.page-heading{padding-block:30px 20px}.page-heading h1{font-size:43px}.page-heading>p:last-child{font-size:17px}.legacy .wrapper{padding-block:22px}.legacy .box.post .image{float:none;max-width:100%;width:100%;aspect-ratio:8/3;margin:15px 0}.legacy .box.post .inner{margin-left:0}.legacy .box.post h3{font-size:23px}.legacy .event-list section+section:before{display:none}.legacy .event-list section+section{margin:0;padding-top:28px}.legacy .faq-box{padding:22px}.legacy .calendar-feed-box{padding:22px}.legacy .gallery-grid{column-count:2}.legacy .contact-grid{grid-template-columns:1fr}.legacy .contact-discord{padding:22px}.legacy .timeline__content{padding:18px}.legacy h3{font-size:23px}.legacy .calendar-feed-actions{width:100%}.legacy .calendar-feed-actions .button{white-space:normal}.festival-detail{margin-top:20px;margin-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.schedule{padding-top:15px;padding-bottom:50px}.schedule-event{display:grid;grid-template-columns:100px 1fr;gap:35px;border-top:1px solid var(--line);padding:30px 0;scroll-margin-top:25px}.schedule-event>time{text-align:center;padding-top:5px}.schedule-event>time b{display:block;font-size:54px;line-height:1;font-weight:800;letter-spacing:-.055em;color:var(--green)}.schedule-event>time span{font-size:12px;font-weight:bold}.schedule-event h2{font-size:29px;margin-bottom:12px;letter-spacing:-.03em}.schedule-meta{font-size:16px;line-height:1.65;margin-bottom:8px}.event-map-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}.schedule-event details{margin-top:16px;font-size:15px;max-width:760px}.schedule-event summary{cursor:pointer;font-weight:bold;padding:6px 0}.schedule-event details p{margin:12px 0;line-height:1.65}.schedule-event>div>p:last-child{margin-top:14px}.visit-info{padding:40px;background:#e9ede2}.visit-info h2{font-size:38px;margin-bottom:30px}.faq-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.faq-columns h3{font-size:21px;margin-bottom:10px}.faq-columns p{font-size:16px;margin-bottom:25px}.calendar-download{padding-block:50px 65px;display:flex;gap:30px;align-items:center;justify-content:space-between}.calendar-download h2{font-size:29px;margin-bottom:13px}.calendar-download p{font-size:15px;margin:0}.calendar-download small{font-size:11px}.calendar-download .button-primary{flex-shrink:0}.program-list{overflow-wrap:anywhere}.button-primary,.button-yellow{max-width:100%;overflow-wrap:anywhere}
@media(max-width:720px){.hero h1{font-size:clamp(43px,13.2vw,62px)}.schedule-event{grid-template-columns:57px 1fr;gap:15px;padding-block:25px}.schedule-event>time b{font-size:37px}.schedule-event>time span{font-size:9px}.schedule-event h2{font-size:24px;overflow-wrap:anywhere}.schedule-meta{font-size:14px}.schedule-event .text-link{white-space:normal}.visit-info{padding:26px}.faq-columns{grid-template-columns:1fr;gap:0}.calendar-download{display:block}.calendar-download .button-primary{margin-top:25px}.welcome-copy{min-width:0}.hero-description{max-width:100%}}
.welcome>*{min-width:0}
@media(max-width:720px){.welcome{grid-template-columns:minmax(0,1fr)}.welcome h2{font-size:clamp(32px,10vw,42px);overflow-wrap:break-word}}
.legacy .gallery-grid img{height:auto}

/* First modern layout retained; original club copy replaces all campaign slogans. */
.hero h1 { font-size: clamp(44px,5vw,68px); line-height: 1.05; margin-bottom: 24px; }
.original-copy p { font-size: 17px; line-height: 1.7; letter-spacing: 0; margin-bottom: 24px; }
.hero .original-copy { max-width: 540px; }
.hero-photo>img { height: 490px; }
.welcome { align-items: center; }
.welcome h2 { font-size: 38px; line-height: 1.2; margin-bottom: 22px; }
.section-photo { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.regular-schedule { margin-top: 32px; max-width: 850px; }
.regular-schedule h3 { margin-bottom: 16px; font-size: 23px; }
.regular-schedule .regular-dates { padding-left: 22px; font-size: 16px; }
.regular-schedule li { margin-bottom: 8px; }
.festival h2 { margin-bottom: 30px; }
.join-section { padding-top: 0; padding-bottom: 80px; }
@media(max-width:720px) {
  .hero h1 { font-size: 49px; }
  .hero-photo>img { height: 280px; }
  .welcome h2 { font-size: 32px; overflow-wrap: normal; }
  .welcome { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .welcome>* { min-width: 0; }
  .original-copy p { font-size: 16px; line-height: 1.7; }
  .join-section { padding-bottom: 50px; }
}
