.board-canvas{width:min(100vw,calc((100svh - 130px)*1.5));top:calc(50% + 14px);container-type:inline-size}
.paper-poster.event-poster{padding:2% 1.4%;gap:5px;justify-content:space-between}.event-poster .poster-date{font:600 clamp(11px,1.1vw,17px)/1.2 'Inter',sans-serif;letter-spacing:.03em}.event-poster strong{font:600 clamp(26px,3.5vw,54px)/.95 'Source Serif 4',sans-serif;max-width:100%;text-transform:uppercase;overflow-wrap:break-word}.event-poster .poster-venue{font:600 clamp(12px,1.2vw,18px)/1.2 'Inter',sans-serif}.poster-venue span{display:block;font-size:.8em;font-weight:400;margin-top:7px}.event-poster .poster-time{font:600 clamp(11px,1.1vw,16px)/1.2 'Inter',sans-serif;letter-spacing:0}
.calendar-open #site-main{display:none}.calendar-open .bar-nav{background:#151515f5}.calendar-open .bar-nav .nav-name{opacity:1;pointer-events:auto}.calendar-open .bar-nav [data-go-scene]{color:var(--color-text)}
#calendar-view{max-width:1240px;margin:auto;padding:140px 32px 100px;color:var(--color-text,#f4e8d4);font-family:var(--font-body,'Inter',sans-serif)}#calendar-view h1{font:600 clamp(48px,6vw,84px)/.95 'Source Serif 4',sans-serif;letter-spacing:-.02em;margin:8px 0 22px}#calendar-view h2{font:600 clamp(30px,3vw,42px)/1.05 'Source Serif 4',sans-serif;letter-spacing:-.01em;margin:0 0 20px}#calendar-view p{font-size:16px;line-height:1.6;color:var(--color-muted,#b9ad9c)}
.calendar-intro{position:static!important;height:auto!important;background:transparent!important;padding:0 0 40px!important;display:flex;align-items:end;justify-content:space-between;border:0!important;gap:24px}.calendar-intro>p{max-width:340px}.calendar-intro h1{max-width:700px}.calendar-month{border:1px solid #887b6c;padding:22px;background:#24211e}.calendar-month-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.calendar-month-head h2{margin:0!important;font-size:32px!important}.calendar-arrow{width:46px;height:46px;border:1px solid #887b6c;border-radius:4px;background:transparent;color:#f4e8d4;font-size:22px}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:10px;font-size:12px;color:#b9ad9c}.month-day{min-height:96px;border-top:1px solid #887b6c;border-left:1px solid #453a31;padding:10px;min-width:0}.month-day:nth-child(7n){border-right:1px solid #453a31}.month-day>span{font-size:13px;color:#b9ad9c}.month-day.has-show{background:#453a31}.month-day a{display:block;color:#f4e8d4;font-size:12px;font-weight:600;line-height:1.3;margin-top:7px;text-decoration:underline;text-underline-offset:3px}.calendar-list{margin-top:50px}.calendar-event-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:25px;border-top:1px solid #887b6c;padding:25px 0;text-decoration:none;color:#f4e8d4}.calendar-event-row:last-child{border-bottom:1px solid #887b6c}.calendar-event-row:hover .event-row-copy strong{color:#f4e8d4}.event-date-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f4e8d4}.event-date-stamp small{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.12em}.event-date-stamp b{font:600 46px/.95 'Source Serif 4',sans-serif}.event-row-copy>strong{display:block;font:600 30px/1.1 'Source Serif 4',sans-serif;margin-bottom:7px}.event-row-copy>span,.event-row-copy>small{display:block;font-size:14px;line-height:1.5;color:#b9ad9c}.event-row-copy>small{font-size:12px;margin-top:5px}.event-row-action{font-size:13px;color:#f4e8d4;font-weight:600}
.calendar-back{display:inline-block;font-size:14px;color:#f4e8d4;margin-bottom:35px}.event-detail{display:grid;grid-template-columns:200px 1fr;gap:50px;padding-bottom:45px;border-bottom:1px solid #887b6c}.event-detail-date{padding:30px 16px;background:#f4e8d4;color:#151515;align-self:start;display:flex;align-items:center;flex-direction:column;gap:14px;border-top:7px solid #f4e8d4}.event-detail-date>b{font:600 100px/.85 'Source Serif 4',sans-serif}.event-detail-date>span{font-size:13px;text-align:center}.event-detail-copy h2{margin-bottom:8px!important}.event-detail-copy address{font-size:16px;line-height:1.6;color:#b9ad9c;font-style:normal}.event-detail-time{font-size:20px!important;font-weight:600;color:#f4e8d4!important;margin:10px 0}.event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:25px}.event-actions a{font-size:14px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #c2a479;padding:12px 18px;border-radius:4px;color:#f4e8d4;font-size:14px;font-weight:600;background:transparent;text-decoration:none}.secondary-button:hover{background:#302b26}.event-actions .text-link{flex-basis:100%;font-size:13px;text-decoration:underline}.event-pending{border-left:3px solid #f4e8d4;padding-left:18px}.event-rsvp{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;padding-top:50px}.event-rsvp form{min-width:0}.event-rsvp input:not([type=checkbox]){width:100%;font-size:16px;min-height:48px;border:1px solid #887b6c;background:#151515;color:#f4e8d4;border-radius:4px;padding:12px}.event-rsvp label{font-size:14px;line-height:1.5;color:#f4e8d4}.event-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.event-form-fields input{margin-top:7px}.event-check{display:flex;align-items:flex-start;gap:12px;margin:20px 0}.event-check input{appearance:auto!important;width:18px!important;height:18px!important;min-height:18px;margin:3px 0 0;flex-shrink:0;accent-color:#f4e8d4}.event-rsvp .form-note{font-size:12px!important;line-height:1.5!important}.event-rsvp .form-note a{color:#f4e8d4;text-decoration:underline}.event-rsvp .preview-delivery{border-left:2px solid #887b6c;padding-left:12px}.event-rsvp .event-form-status{font-size:14px;min-height:25px}.event-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.calendar-loading{padding-top:60px}
@media(min-width:801px){.paper-poster.event-poster{padding:1.5% 1.2%;gap:.3cqw}.event-poster strong{font-size:clamp(25px,3.8cqw,54px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-poster .poster-venue{font-size:clamp(11px,1.3cqw,18px)}.event-poster .poster-date,.event-poster .poster-time{font-size:clamp(9px,1.15cqw,16px)}.event-poster small{font-size:clamp(9px,1cqw,13px);padding:4px 0}.poster-venue span{margin-top:4px}}
@media(max-width:800px){.board-canvas{width:min(850px,200vw);top:47%}.paper-poster.event-poster{padding:13px 9px;gap:3px}.event-poster .poster-date{font-size:10px}.event-poster strong{font-size:clamp(23px,7.8vw,33px)}.event-poster .poster-venue{font-size:12px}.poster-venue span{font-size:10px;margin-top:3px}.event-poster .poster-time{font-size:11px}.event-poster small{font-size:10px;padding:4px 0}.calendar-open .bar-nav .nav-name{display:none}#calendar-view{padding:105px 20px 80px}.calendar-intro{display:block}.calendar-intro>p{font-size:14px!important}.calendar-month{padding:12px}.calendar-month-head h2{font-size:27px!important}.month-day{min-height:62px;padding:5px}.month-day a{font-size:10px;line-height:1.1;overflow-wrap:anywhere}.calendar-weekdays span{padding:8px 3px;font-size:10px}.calendar-event-row{grid-template-columns:48px 1fr;gap:18px;padding:22px 0}.event-date-stamp b{font-size:37px}.event-row-action{grid-column:2;font-size:12px;margin-top:-8px}.event-row-copy>strong{font-size:26px}.event-row-copy>span{font-size:13px}.event-detail{grid-template-columns:1fr;gap:24px}.event-detail-date{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;padding:16px}.event-detail-date>b{font-size:54px}.event-detail-date>span{font-size:12px}.event-rsvp{grid-template-columns:1fr;gap:20px}.event-form-fields{grid-template-columns:1fr}.event-actions{gap:12px}.event-actions>.button{width:100%}.calendar-back{margin-bottom:25px}}
@media(max-width:600px){.month-day a{font-size:0;line-height:0;padding:6px 0}.month-day a::after{content:'Live';font-size:10px;line-height:1.1;font-weight:600}}
@media(max-width:370px){.paper-poster.event-poster{padding:10px 7px}.event-poster .poster-date{font-size:8px}.event-poster strong{font-size:24px}.event-poster .poster-venue{font-size:10px}.poster-venue span,.event-poster .poster-time{font-size:9px}.event-poster small{font-size:8px}}

/* The home-page calendar stays inside the viewport; its close bar never scrolls away. */
body.calendar-modal-open{overflow:hidden}
#calendar-dialog{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:var(--color-bg);color:var(--color-text)}
#calendar-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
#calendar-dialog::backdrop{background:var(--color-bg);backdrop-filter:none}
.calendar-dialog-bar{display:flex;align-items:center;gap:24px;padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));border-bottom:1px solid var(--color-border-soft)}
#calendar-dialog-title{margin:0;font:600 32px/1.1 var(--font-heading);letter-spacing:-.015em}
.calendar-page-link{margin-left:auto;font-size:16px;font-weight:600;white-space:nowrap}
#calendar-dialog .calendar-dialog-close{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:transparent;color:var(--color-text);font:400 34px/1 var(--font-body);cursor:pointer}
#calendar-dialog .calendar-dialog-close:hover,#calendar-dialog .calendar-arrow:hover{background:var(--color-surface)}
#calendar-dialog-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
#calendar-dialog-content.calendar-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,32%);gap:32px}
#calendar-dialog .calendar-month{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;padding:18px}
#calendar-dialog .calendar-month-grid{grid-template-rows:repeat(var(--calendar-weeks,6),minmax(0,1fr));min-height:0}
#calendar-dialog .month-day{min-height:0;padding:8px;overflow:auto}
#calendar-dialog .calendar-list{margin:0;min-width:0;min-height:0;overflow:auto;padding:4px 4px 4px 0}
#calendar-dialog .calendar-list>h2{font-size:32px;margin-bottom:20px}
#calendar-dialog .calendar-event-row{grid-template-columns:48px 68px minmax(0,1fr);gap:14px;padding:22px 0}
#calendar-dialog .event-row-action{display:none}
#calendar-dialog .event-row-venue{font-size:25px}
#calendar-dialog .event-row-location{font-size:14px}
#calendar-dialog .event-row-featuring,#calendar-dialog .event-row-when{font-size:13px}
#calendar-dialog-content h1{font:600 var(--text-h1)/1.05 var(--font-heading);letter-spacing:-.015em;margin:8px 0 22px}
#calendar-dialog-content p{font-size:16px;line-height:1.6;color:var(--color-muted)}
#calendar-dialog-content .eyebrow{font-size:var(--text-eyebrow);color:var(--color-accent)}
#calendar-dialog .event-detail-featuring .event-featuring-label{font-size:14px;margin:0;font-weight:600}
#calendar-dialog .event-check{display:flex}
@media(max-width:1000px){
  #calendar-dialog-content.calendar-overview{grid-template-columns:1fr;display:block}
  #calendar-dialog .calendar-month{height:clamp(320px,calc(100dvh - 140px),580px)}
  #calendar-dialog .calendar-list{margin-top:28px;overflow:visible}
  #calendar-dialog .calendar-event-row{grid-template-columns:48px 80px minmax(0,1fr)}
}
@media(max-width:600px){
  .calendar-dialog-bar{gap:12px;padding:12px 16px}
  #calendar-dialog-title{font-size:26px}
  .calendar-page-link{font-size:13px}
  #calendar-dialog .calendar-dialog-close{flex-basis:44px;width:44px;height:44px}
  #calendar-dialog-content{padding:16px 16px max(24px,env(safe-area-inset-bottom))}
  #calendar-dialog .calendar-month{height:clamp(280px,calc(100dvh - 230px),460px);padding:10px}
  #calendar-dialog .calendar-month-head{gap:8px;margin-bottom:10px}
  #calendar-dialog .calendar-month-head h2{font-size:26px!important}
  #calendar-dialog .calendar-weekdays span{font-size:11px}
  #calendar-dialog .month-day{padding:6px 3px}
  #calendar-dialog .calendar-list>h2{font-size:30px}
  #calendar-dialog .calendar-event-row{grid-template-columns:40px 60px minmax(0,1fr);gap:12px}
  #calendar-dialog .event-row-venue{font-size:24px}
}
