/* American Dive revision 03: source-inspired signup band and four event views. */
.signup-band{background:linear-gradient(100deg,rgba(45,30,20,.91),rgba(25,20,16,.91)),url("/assets/american-dive-bar-interior-1920.webp") center 62%/cover;color:#f8e9d1;padding:64px 0;border-block:1px solid #6f5038}
.signup-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.signup-message h2{font-size:clamp(42px,4.8vw,68px);line-height:1.02}
.signup-message p{font-size:19px;line-height:1.55;margin-top:22px}
.signup-form{background:transparent;border:0;padding:0;color:#f8e9d1}.signup-form h2{font-size:36px;color:#f8e9d1}.signup-form>p{margin:12px 0 24px;color:#e8d7bf}.signup-form label{font:600 16px var(--display);color:#f8e9d1}
.signup-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.signup-form input{background:#241c16;color:#f8e9d1;border:1px solid #9b8063;min-width:0;min-height:48px;width:100%;margin-top:8px;padding:12px;font:400 17px var(--body)}
.signup-form input::placeholder{color:#cdbba3;opacity:1}.signup-form .signup-preview{font:400 15px/1.45 var(--display);margin:13px 0 0;color:#d7c1a5}.signup-form .form-feedback:not(:empty){color:#f8e9d1;border:1px solid #9b8063;padding:12px;margin-top:18px}.signup-band :focus-visible{outline-color:#dfa34c}
.calendar-section{padding:70px 0 80px;background:#17130f}.calendar-heading{text-align:center;margin:0 auto 28px}.calendar-heading h2,.music-intro h1{font-size:clamp(42px,5vw,68px);margin:0}.calendar-heading>p{margin:16px auto}.calendar-source-note{font:400 15px/1.5 var(--display);color:var(--muted);max-width:620px}.calendar-heading h2+p{font-size:20px;color:var(--cream)}
.calendar button{cursor:pointer;font:600 17px var(--display);color:var(--cream);background:#261f18;border:1px solid #645442;min-height:46px;padding:10px 16px;border-radius:0}.calendar button:hover{background:#423025}.calendar button:focus-visible{outline:3px solid var(--focus,#dfa34c);outline-offset:3px}
.calendar-controls[hidden]{display:none}.calendar-tabs{display:flex;justify-content:center;gap:6px;margin-bottom:32px}.calendar-tabs button{min-width:115px;text-transform:uppercase;font-size:16px;letter-spacing:.025em}.calendar-tabs [aria-selected="true"]{background:#a93526;color:#fff6e9;border-color:#a93526;box-shadow:inset 0 -3px 0 #f8e9d1}.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:16px;border-block:1px solid #594835;padding:16px;background:#201a14}.calendar-toolbar h3{text-align:center;margin:0;font-size:28px}.calendar-toolbar button{padding:0;font-size:24px;min-height:44px}.calendar .calendar-reset{display:block;margin:14px auto 24px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:32px;padding:4px 10px;color:var(--muted)}
.show-list{display:grid;gap:18px}.show-card{display:grid;grid-template-columns:200px minmax(0,1fr);background:#251e18;border:1px solid #46392c}.show-art-link{display:block;align-self:stretch;overflow:hidden}.show-art-link img{width:100%;height:100%;min-height:178px;max-height:250px;object-fit:cover;display:block}.show-card-content{padding:28px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:24px;align-items:center}.show-date{font:600 16px/1.15 var(--display);text-transform:uppercase;text-align:center;color:#eaba80;display:grid;gap:4px}.show-date strong{font-size:46px}.show-copy h3{font-size:30px;margin:0 0 9px}.show-copy h3 a{text-decoration:none}.show-copy p{font:400 16px/1.5 var(--body);margin:0;color:var(--cream)}.show-copy .show-description{margin-top:10px;color:var(--muted);font-size:16px}.show-details{display:inline-block;font:600 17px var(--display);text-underline-offset:5px;margin-top:14px;padding:4px 0}.calendar-more{display:block;text-align:center;margin-top:32px;font:600 20px var(--display);text-underline-offset:5px}
.show-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.show-tile{display:block;min-width:0}.show-tile .show-art-link img{aspect-ratio:4/3;height:auto;min-height:0;max-height:none}.show-tile .show-card-content{padding:24px 20px;gap:16px;grid-template-columns:42px minmax(0,1fr);align-items:start}.show-tile .show-date strong{font-size:34px}.show-tile .show-date{font-size:14px}.show-tile .show-copy h3{font-size:26px}.show-tile .show-description{display:none}.show-tile .show-copy p{font-size:15px}
.month-grid{width:100%;table-layout:fixed;border-collapse:collapse}.month-grid th{font:600 16px var(--display);text-transform:uppercase;padding:16px 4px;background:#30271e}.month-grid abbr{text-decoration:none}.month-grid td{border:1px solid #524130;height:110px;vertical-align:top;padding:6px;background:#201a14}.month-grid .calendar-outside{background:#14110e}.calendar .calendar-day,.calendar-number{font:600 17px var(--display);display:flex;gap:7px;align-items:center;justify-content:center;min-height:36px;min-width:36px;padding:5px;background:transparent;border:0}.calendar .calendar-day[aria-pressed="true"]{background:#a93526;color:#fff6e9}.event-dot{display:block;width:5px;height:5px;border-radius:50%;background:#eaba80}.month-show{display:block;font:600 16px/1.2 var(--display);margin:7px 3px 8px;text-decoration:none;overflow-wrap:anywhere}.month-show span{display:block;color:#eaba80;font-size:14px;margin-bottom:4px}.selected-day{margin-top:28px}.selected-day>h3{font-size:25px;margin-bottom:20px}
.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:24px;border:1px solid #524130}.week-strip>div{padding:14px 4px;text-align:center;display:grid;gap:7px;font:600 15px var(--display);color:var(--muted);background:#201a14}.week-strip strong{font-size:24px}.week-strip .week-has-shows{background:#4a261d;color:#f8e9d1}.calendar-empty{text-align:center;padding:45px 20px;background:#251e18}.calendar-empty h3{font-size:30px}.calendar-empty p{max-width:570px;margin:18px auto 25px}.music-intro{text-align:center;padding-block:65px 5px}.music-intro p{margin:22px auto 0;font-size:21px}.music-intro+.calendar-section{padding-top:20px}.music-arrival{text-align:center;padding-block:75px}.music-arrival h2{font-size:48px}.music-arrival p{margin:20px auto}.music-arrival .actions{justify-content:center}
@media(max-width:1050px){.signup-layout{gap:45px}.signup-fields{grid-template-columns:1fr}.show-tiles{gap:16px}.show-tile .show-card-content{grid-template-columns:1fr;gap:18px}.show-tile .show-date{display:flex;align-items:baseline;gap:7px;text-align:left}.show-tile .show-date strong{font-size:27px}.show-card{grid-template-columns:170px minmax(0,1fr)}.show-card-content{padding:24px;gap:18px}.show-copy h3{font-size:28px}}
@media(max-width:700px){.signup-band{padding-block:44px}.signup-layout{grid-template-columns:1fr;gap:35px}.signup-message h2{font-size:44px}.signup-message p{font-size:17px;margin-top:18px}.signup-form h2{font-size:32px}.signup-fields{gap:14px}.signup-form .button{width:100%}.calendar-section{padding-block:48px}.calendar-heading h2,.music-intro h1{font-size:42px}.calendar-heading>p{font-size:17px}.calendar-heading .calendar-source-note{font-size:14px}.calendar-tabs{gap:5px;margin-bottom:24px}.calendar-tabs button{min-width:0;flex:1;padding:10px 5px;font-size:14px}.calendar-toolbar{grid-template-columns:42px 1fr 42px;gap:8px;padding:12px 8px}.calendar-toolbar h3{font-size:23px}.show-card{grid-template-columns:92px minmax(0,1fr)}.show-art-link img{min-height:160px;max-height:none;object-position:center}.show-card-content{grid-template-columns:1fr;gap:10px;padding:16px}.show-date{display:flex;align-items:baseline;gap:6px;font-size:13px}.show-date strong{font-size:23px}.show-copy h3{font-size:25px}.show-copy p{font-size:14px}.show-copy .show-description{display:none}.show-details{font-size:16px;margin-top:10px;min-height:34px}.show-tiles{grid-template-columns:1fr;gap:24px}.show-tile .show-card-content{padding:24px}.show-tile .show-copy h3{font-size:32px}.show-tile .show-art-link img{aspect-ratio:4/3;object-fit:cover}.month-grid td{height:59px;padding:2px}.month-grid th{font-size:12px;padding:13px 0}.calendar .calendar-day,.calendar-number{min-width:0;width:100%;min-height:44px;font-size:16px;gap:3px;padding:2px}.event-dot{width:4px;height:4px}.month-show{display:none}.selected-day>h3{font-size:25px}.week-strip>div{font-size:12px;padding:12px 2px}.week-strip strong{font-size:21px}.music-intro{padding-top:42px}.music-intro p{font-size:18px}.music-arrival{padding-block:48px}.music-arrival h2{font-size:39px}}

.calendar-updated{margin:28px auto 0;text-align:center;color:var(--muted);font:400 14px/1.5 var(--display)}.show-copy .past-show{color:#eaba80;font:600 15px var(--display);margin-top:8px}.calendar-empty .button{color:#fff6e9}.calendar-empty button{display:block;margin:20px auto 0}
