@font-face{font-family:Anton;src:url('assets/fonts/anton.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-semibold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
:root{--cream:#f4edde;--paper:#fbf6ec;--ink:#171612;--red:#b10d0b;--red-hover:#8e0908;--muted:#655e52;--display:Anton,Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;--line:#d1c6b3}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{margin:0;color:var(--ink);background-color:var(--cream);font:400 1rem/1.55 var(--body);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2397876b' opacity='.10' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.22em}button{cursor:pointer}svg{display:block;width:100%;height:100%}h1,h2,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;text-transform:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.show-banner a:focus-visible{outline-color:var(--cream)}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.red{color:var(--red)}.skip-link{position:absolute;left:1rem;top:-6rem;background:var(--ink);color:white;padding:.6rem 1rem;z-index:10}.skip-link:focus{top:.5rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:24px 21px;border-bottom:1px solid var(--line)}
.wordmark{flex-shrink:0;display:block;text-decoration:none;font:400 2.1rem/1.25 var(--display);border-bottom:3px solid var(--red);padding-bottom:3px}.star-rule{display:flex;align-items:center;gap:12px;color:var(--red);font:400 1.6rem/1 var(--body)}.star-rule::before,.star-rule::after{content:'';height:3px;flex:1;background:var(--red)}.wordmark .star-rule{font-size:1rem;gap:7px;margin-bottom:3px}.wordmark .star-rule::before,.wordmark .star-rule::after{height:3px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.9375rem;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--red)}.site-header nav .nav-apply{color:var(--paper);background:var(--red);padding:11px 24px;border:2px solid var(--red);font-family:var(--display);font-size:1.2rem;text-transform:none;letter-spacing:.025em}.nav-apply span{margin-left:12px}.site-header nav .nav-apply:hover{background:var(--red-hover);border-color:var(--red-hover)}
.recruit{text-align:center;padding:42px 0 37px}.hero-rule{max-width:875px;margin:0 auto 20px;gap:18px}.hero-rule::before,.hero-rule::after{height:4px}.recruit h1{font-size:clamp(2.2rem,4.35vw,3.9rem);line-height:1.12;letter-spacing:-.017em}.mobile-break{display:none}.hero-emphasis{font:400 clamp(2rem,3.7vw,3.1rem)/1.2 var(--display);color:var(--red);text-transform:none;margin-top:7px;letter-spacing:-.01em}.intro{max-width:670px;margin:20px auto 0;font-size:1.1875rem;line-height:1.5;text-wrap:pretty}.application{max-width:540px;margin:28px auto 0}.apply-heading{display:flex;align-items:center;gap:20px;margin-bottom:15px}.apply-heading>span{height:3px;background:var(--red);flex:1}.apply-heading h2{font-size:2.65rem;color:var(--red);line-height:1.2}.field-label{display:block;text-align:left;font-size:.9375rem;font-weight:600;margin-bottom:6px}.handle-field{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:4px;background:#fbf6ec80;min-height:56px;transition:box-shadow .15s}.handle-field:focus-within{box-shadow:0 0 0 2px var(--red)}.handle-field>span{font-size:1.6rem;font-weight:600;margin-inline:16px 12px;border-right:1px solid var(--line);padding-right:13px;line-height:1}.handle-field input{border:0;outline:0;background:transparent;min-width:0;width:100%;padding:12px 12px 12px 0;color:var(--ink);font-size:1.125rem}.handle-field input::placeholder{color:#817a6f;opacity:1}.handle-field input:focus-visible{outline:0}.handle-field:has(input[aria-invalid=true]){border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.field-help{text-align:left;font-size:.875rem;color:var(--muted);margin:5px 0 12px}.button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;text-decoration:none;text-transform:none;font:400 1.45rem/1.25 var(--display);padding:13px 18px;border-radius:4px;border:2px solid var(--red);transition:background-color .15s,color .15s,box-shadow .15s}.button>span:last-child:not(:first-child){font-family:var(--body);font-size:2rem;line-height:1}.button-primary{color:var(--paper);background:var(--red);box-shadow:0 3px 0 #760a09}.button-primary:hover{background:var(--red-hover);border-color:var(--red-hover)}.button-primary:disabled{cursor:wait;opacity:.75}.button-secondary{color:var(--red);background:transparent;font-size:1.28rem;gap:15px}.button-secondary:hover{background:#b10d0b0b}.icon{width:28px;height:28px;flex-shrink:0}.or-divider{display:flex;align-items:center;gap:17px;margin:15px 0;color:var(--muted);font-size:.875rem;text-transform:none}.or-divider span{height:1px;flex:1;background:#9c9180}.reassurance{margin-top:17px;font-size:1rem}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-status{font-size:1rem;line-height:1.5;text-align:left;margin-top:14px;padding:12px 14px;border-left:3px solid var(--red);background:var(--paper)}.form-status[data-state=success]{border-color:#2d644a}.form-status[data-state=error]{color:#890d0a}
.clips-section{border-top:1px solid #9d8f79;padding-block:27px 40px}.clips-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:19px}.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:none;line-height:1.5}.clips-heading h2{font-size:2.1rem;line-height:1.25;margin-top:3px}.text-link{color:var(--red);font-weight:600;font-size:.9375rem;text-decoration:none;white-space:nowrap}.text-link:hover{text-decoration:underline}.text-link span:last-child{margin-left:6px}.instagram-feature{display:flex;align-items:center;justify-content:space-between;gap:28px;color:var(--paper);background:var(--ink);text-decoration:none;padding:29px 40px;outline:1px solid var(--red);outline-offset:-7px;border:2px solid var(--ink);transition:background-color .2s}.instagram-feature:hover{background:#28211a}.feature-copy .eyebrow{font-size:.75rem;color:#e1d4be;letter-spacing:.12em}.feature-slogan{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.08;margin-top:11px;letter-spacing:-.015em}.feature-slogan span{color:#e65b51}.feature-action{display:flex;align-items:center;flex-direction:column;gap:7px;flex-shrink:0;font:400 1.4rem/1.35 var(--display);text-transform:none}.feature-action small{font:400 .8125rem var(--body);text-transform:none;color:#dfd3c0}.instagram-badge{width:40px;height:40px;margin-bottom:3px}.reels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.reel-card{border:1px solid var(--ink);padding:16px;background:var(--paper);min-width:0}.reel-card h3{margin:0 0 10px;font-size:1.125rem}.reel-card>a{display:inline-block;color:var(--red);font-weight:600;margin-bottom:12px}.reel-card button{background:var(--ink);color:var(--paper);border:0;padding:12px;font:600 1rem var(--body);width:100%}.reel-card iframe{display:block;width:100%;height:540px;border:0;background:white;margin-top:12px}.reel-card p{font-size:.875rem;color:var(--muted);margin-top:8px}
.show-banner{color:var(--cream);background-color:#10100e;background-image:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.69)),url('assets/upcoming-show-skyline.png');background-size:cover;background-position:center 57%;border-top:7px solid var(--ink);box-shadow:inset 0 3px var(--red);padding:42px 0 24px}.show-inner{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;min-height:223px}.show-date{text-align:center}.show-banner .eyebrow{font-family:var(--display);font-weight:400;font-size:1.2rem;letter-spacing:.015em;line-height:1.25}.show-date time{display:block;font-family:var(--display);line-height:1.1}.show-weekday{display:block;font-size:1.8rem;margin-top:10px}.show-day{display:block;color:#ff5649;font-size:3rem;margin-top:5px}.ordinal{vertical-align:super;font-size:1.3rem;margin-left:2px}.show-time{display:block;font-size:2.3rem;color:#ff5649;margin-top:7px}.show-venue{text-align:center;border-inline:1px solid #d4c7b78c;padding:8px 24px}.show-venue h2{font-size:3.3rem;line-height:1.07}.show-venue h2 span{color:#ff5649;font-size:4rem}.show-venue address{font-style:normal;font-size:.9375rem;text-transform:none;line-height:1.4;font-weight:600;letter-spacing:.1em;margin-top:13px}.show-follow{text-align:center;padding-left:24px}.show-follow>a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:#ff675b;font-family:var(--display);font-size:1.45rem;text-decoration:none;margin-top:18px}.show-follow>a:hover{text-decoration:underline}.show-follow .icon{width:35px;height:35px;flex-basis:100%;margin-bottom:5px}.follow-arrow{font-family:var(--body);font-size:1.4rem}.show-caption{text-align:center;color:#e2d3be;font-size:.8125rem;padding-inline:20px;margin-top:30px}.show-caption span{margin-inline:12px;color:#ff675b}.site-footer{display:flex;justify-content:space-between;gap:15px;padding-block:20px;color:var(--muted);font-size:.8125rem}
#main > .clips-section:first-child{border-top:0;padding-bottom:0}
.clips-heading .wordmark{font:400 2.1rem/1.25 var(--display);margin:0}
@media(max-width:800px){.clips-heading .wordmark{font-size:1.65rem}}
@media(max-width:580px){.clips-heading .wordmark{font-size:1.9rem}}
.site-header{flex-wrap:wrap}
@media(min-width:1450px){.recruit{padding-top:47px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{gap:15px}.wordmark{font-size:1.65rem}.site-header nav{gap:18px;font-size:.875rem}.nav-apply span{margin-left:6px}.site-header nav .nav-apply{padding:9px 16px}.recruit{padding-top:32px}.intro{font-size:1.0625rem;max-width:580px}.show-venue{padding-inline:17px}.show-venue h2{font-size:2.7rem}.show-venue h2 span{font-size:3.3rem}.show-day{font-size:2.7rem}.show-follow{padding-left:17px}.show-follow>a{font-size:1.15rem}.show-banner .eyebrow{font-size:1.1rem}.clips-heading h2{font-size:1.9rem}.instagram-feature{padding:27px 30px}}
@media(max-width:580px){.wrap{width:calc(100% - 36px)}.site-header{flex-wrap:wrap;justify-content:center;padding-block:18px 15px;gap:15px}.wordmark{font-size:1.9rem}.site-header nav{width:100%;justify-content:center;gap:28px}.site-header nav .nav-apply{padding:6px 17px;font-size:1.05rem}.recruit{padding-top:27px;padding-bottom:29px}.hero-rule{margin-bottom:18px}.mobile-break{display:block}.recruit h1{font-size:clamp(2rem,8.3vw,3rem);line-height:1.18}.hero-emphasis{font-size:clamp(1.6rem,6.6vw,2.35rem);margin-top:11px}.intro{margin-top:17px;font-size:1rem;line-height:1.55}.application{margin-top:23px}.apply-heading{gap:15px;margin-bottom:14px}.apply-heading h2{font-size:2.25rem}.button{font-size:1.35rem;min-height:56px}.button-secondary{font-size:1.075rem;gap:11px;padding-inline:10px}.button-secondary .icon{width:24px;height:24px}.button-secondary>span:last-child{font-size:1.6rem}.reassurance{font-size:.9375rem}.clips-section{padding-top:24px;padding-bottom:30px}.clips-heading{display:block}.clips-heading h2{font-size:1.9rem}.clips-heading .text-link{display:inline-block;margin-top:10px}.instagram-feature{padding:26px 23px;gap:20px;align-items:start;flex-direction:column}.feature-slogan{font-size:2.4rem}.feature-action{flex-direction:row;flex-wrap:wrap;gap:10px;font-size:1.15rem}.instagram-badge{width:26px;height:26px;margin:0}.feature-action small{flex-basis:100%;margin-left:36px;margin-top:-4px}.show-banner{padding-block:31px 23px;background-position:65% center}.show-inner{grid-template-columns:1fr;gap:25px}.show-date{display:flex;align-items:center;justify-content:center;gap:24px}.show-date .eyebrow{max-width:70px;text-align:left;font-size:1.35rem}.show-date time{text-align:left}.show-weekday{font-size:1.45rem;margin:0}.show-day{font-size:2.8rem;margin-top:3px}.show-time{font-size:2rem;margin-top:5px}.show-venue{border:0;border-block:1px solid #d4c7b78c;padding-block:24px}.show-venue h2{font-size:3.1rem}.show-venue h2 span{font-size:3.6rem}.show-follow{padding:0}.show-follow .eyebrow br{display:none}.show-follow>a{font-size:1.45rem;margin-top:10px;gap:10px}.show-follow .icon{flex-basis:auto;width:28px;height:28px;margin:0}.show-caption{font-size:.8125rem;line-height:1.6;margin-top:25px}.show-caption span{margin-inline:5px}.site-footer{flex-direction:column;align-items:center;gap:3px;text-align:center}}
.show-date{display:block;text-align:center}
.show-date .eyebrow{max-width:none;text-align:center}
.show-date time{text-align:center}
.show-weekday{margin-top:12px;font-size:2.45rem;color:#ff5649}
.show-date-line{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:10px;margin-top:5px}
.show-date-line .show-day{font-size:2.45rem;margin:0}
.show-date-line .show-time{font-size:2.45rem;margin:0}
.show-dot{color:#ff5649;font:400 1.8rem var(--body)}
.show-tickets{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-top:17px;padding:7px 22px;border:1px solid var(--cream);border-radius:3px;color:var(--cream);text-decoration:none;font:400 1.2rem var(--display)}
.show-tickets:hover{color:var(--ink);background:var(--cream)}
.show-invitation{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:2px solid var(--red);border-radius:5px;padding:40px 30px 23px;background:var(--cream);color:var(--ink);text-align:center;box-shadow:0 15px 70px #0007}
.show-invitation::backdrop{background:#14100ce0}
.dialog-close{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;background:transparent;font:400 1.8rem var(--body);color:var(--ink)}
.invitation-status{font-size:1rem;margin:10px 0 19px;line-height:1.45}
.invitation-status[data-state=preview]{padding:10px;background:var(--paper);border-left:3px solid var(--red);text-align:left}
.show-invitation .star-rule{max-width:260px;margin:0 auto 19px}
.show-invitation h2{font-size:2rem;line-height:1.22;text-wrap:balance}
#invitation-details{margin:19px 0 24px;font-size:1rem;line-height:1.7}
#invitation-details strong{font:400 1.75rem var(--display);color:var(--red);line-height:1.7}
.invitation-ticket-note{margin-top:12px;font-size:.875rem;color:var(--muted)}
.dialog-later{border:0;background:transparent;font:400 .9375rem var(--body);color:var(--muted);text-decoration:underline;text-underline-offset:4px;min-height:44px;margin-top:8px;padding-inline:20px}
body:has(.show-invitation[open]){overflow:hidden}
@media(max-width:400px){.show-invitation{padding-inline:20px}.show-invitation h2{font-size:1.7rem}#invitation-details strong{font-size:1.5rem}}
@media(max-width:800px) and (min-width:581px){.show-date-line{column-gap:7px}.show-weekday,.show-date-line .show-day,.show-date-line .show-time{font-size:1.75rem}.show-date-line .ordinal{font-size:.9rem}.show-dot{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(forced-colors:active){.button,.handle-field,.instagram-feature{border:2px solid ButtonText}.star-rule::before,.star-rule::after{background:CanvasText}.show-banner{background:Canvas;color:CanvasText}}

/* Hover expands a desktop clip; touch scrolling expands the centered clip. */
.hero-question{margin-top:12px;font-size:clamp(1.125rem,2.3vw,1.4rem);line-height:1.4;font-weight:600}
.clips-row-title{margin:0 0 10px;color:var(--red);font:400 1.4rem/1.2 var(--display);letter-spacing:.02em}
.reels-grid{--clip-small:160px;--clip-large:240px;display:flex;gap:12px;align-items:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:10px;min-height:calc(var(--clip-large) * 16 / 9 + 18px);overflow-anchor:none}
.reel-card{display:flex;align-items:center;justify-content:center;flex:0 0 var(--clip-small);max-width:100%;padding:0;border:0;border-radius:0;overflow:visible;background:transparent;transition:flex-basis .22s ease}
.reel-card.is-expanded{flex-basis:var(--clip-large)}
.reel-card video{display:block;width:100%;min-width:0;aspect-ratio:9/16;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:var(--ink)}
.reel-card video:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.reels-grid:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:580px){.reels-grid{--clip-small:144px;--clip-large:208px}}
@media(hover:none),(pointer:coarse){
  .reels-grid{--clip-small:144px;--clip-large:208px;align-items:center;scroll-snap-type:x mandatory;padding-inline:max(0px,calc((100% - var(--clip-large)) / 2))}
  .reel-card,.reel-card.is-expanded{flex-basis:var(--clip-large);max-width:none;height:calc(var(--clip-large) * 16 / 9);scroll-snap-align:center;transition:none}
  .reel-card video{width:var(--clip-small);max-width:100%;transition:width .22s ease}
  .reel-card.is-expanded video{width:var(--clip-large)}
}

/* Show first, then an easy path into the writers room. */
.show-hero{padding-block:26px 34px}
.masthead{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}
.masthead .wordmark{font-size:2.1rem;max-width:100%;flex-shrink:1}
.show-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;margin-top:34px}
.show-hero h1{font-size:clamp(2.6rem,4.6vw,4rem);line-height:1.13;letter-spacing:-.015em;text-wrap:balance}
.hero-booking{border-left:3px solid var(--red);padding-left:28px}
.hero-booking .eyebrow{font-size:.875rem;color:var(--muted);letter-spacing:.06em}
.hero-event-date{font:400 clamp(1.55rem,2.4vw,2rem)/1.3 var(--display);margin-top:6px}
.hero-event-date time span{white-space:nowrap}
.hero-event-venue{font-size:1rem;line-height:1.4;margin-top:8px}
.hero-event-venue span{display:block;color:var(--muted);margin-top:2px}
.hero-tickets{margin-top:20px}
.writers-link{display:block;width:fit-content;max-width:100%;margin:10px auto 0;padding-block:8px;font-size:1rem;font-weight:600;text-align:center;text-underline-offset:4px}
.writers-link:hover{color:var(--red)}
.clips-section{padding-block:22px 0;border-top:1px solid var(--line)}
.clips-row-title{font-size:1.65rem;margin-bottom:14px}
.recruit{padding-block:32px 44px;text-align:left}
.recruit .hero-rule{max-width:none;margin-bottom:30px}
.recruit-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,6vw,72px);align-items:start}
.recruit h2{font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.18;letter-spacing:-.01em}
.recruit .hero-question{margin-top:12px;font-size:1.2rem}
.recruit .hero-emphasis{font-size:1.25rem;line-height:1.4;margin-top:16px;letter-spacing:.015em}
.recruit .intro{margin:14px 0 0;font-size:1.0625rem;line-height:1.65;max-width:520px}
.recruit .application{width:100%;max-width:540px;margin:0}
.recruit .reassurance{text-align:center}
#writers-room:focus-visible{outline:3px solid var(--red);outline-offset:8px}
.show-collection-links{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;margin-top:20px}
.show-collection-links>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:min(100%,360px);border-block:1px solid var(--line);padding:16px 0;text-align:center;text-decoration:none;font:400 1.8rem/1.3 var(--display)}
.show-collection-links>a:hover{color:var(--red);border-color:var(--red)}
@media(max-width:580px){.show-collection-links{flex-direction:column;gap:12px}}
.collection-action{font:600 .875rem/1.5 var(--body);color:var(--red)}
.collection-action>span{margin-left:8px}
.gallery-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-block:24px;border-bottom:1px solid var(--line)}
.gallery-header .wordmark{max-width:100%;flex-shrink:1}
.gallery-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-weight:600}
.gallery-header nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.gallery-header nav a:hover{text-decoration:underline}
.gallery-tickets{padding:10px 20px;background:var(--red);color:var(--paper);border-radius:4px;font:400 1.3rem/1.3 var(--display)}
.gallery-tickets:hover{background:var(--red-hover)}
.gallery-main{padding-block:24px 48px}
.gallery-back{display:inline-block;padding-block:8px;font-size:.9375rem;color:var(--muted)}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:20px;margin:22px 0 28px}
.gallery-heading h1{font-size:clamp(2.7rem,6vw,4.4rem);line-height:1.15}
.gallery-heading p{margin-top:8px;color:var(--muted);font-size:1rem}
.gallery-months{display:flex;flex-wrap:wrap;gap:12px}
.gallery-months a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid var(--line);border-radius:4px;font-weight:600;text-decoration:none}
.gallery-months a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gallery-months a:hover{border-color:var(--red)}
.clip-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
.gallery-card{min-width:0}
.gallery-card>a{display:block;text-decoration:none;border-radius:4px}
.clip-thumbnail{position:relative;aspect-ratio:9/16;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--ink)}
.clip-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.clip-duration{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:3px;background:#171612ed;color:var(--paper);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.clip-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;border:1px solid #ffffff8c;border-radius:50%;background:#171612d9;color:white;transition:transform .18s ease,background-color .18s ease}
.clip-play svg{width:28px;height:28px}
.gallery-card>a:hover .clip-play,.gallery-card>a:focus-visible .clip-play{transform:scale(1.12);background:var(--red)}
.clip-title{font:600 1rem/1.4 var(--body);margin-top:10px;text-wrap:pretty}
.gallery-card>a:hover .clip-title{text-decoration:underline;text-underline-offset:3px}
.clip-player-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:18px;background:var(--cream);color:var(--ink);border:2px solid var(--red);border-radius:6px;box-shadow:0 15px 70px #0007}
.clip-player-dialog::backdrop{background:#14100ce8}
.player-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}
.player-heading h2{font:600 1.1rem/1.4 var(--body);padding-top:8px}
#close-player{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:400 1.8rem/1 var(--body)}
#gallery-player{display:block;width:100%;height:min(70dvh,720px);object-fit:contain;background:var(--ink);border-radius:3px}
body:has(.clip-player-dialog[open]){overflow:hidden}
@media(max-width:900px){.clip-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}}
@media(max-width:580px){.clip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-header .wordmark{font-size:1.9rem}.gallery-header nav{width:100%;justify-content:space-between;gap:12px}.gallery-heading{margin-top:18px;gap:18px}.gallery-months{width:100%}.gallery-months a{flex:1;padding-inline:12px}.show-collection-links>a{font-size:1.5rem}.clip-duration{right:6px;bottom:6px}.gallery-main{padding-top:16px}}
@media(max-width:700px){
  .show-hero-grid{grid-template-columns:1fr;gap:24px;margin-top:26px}
  .show-hero h1{max-width:580px;font-size:clamp(2.15rem,7.5vw,3.2rem);line-height:1.15}
  .hero-booking{padding-left:18px}
  .hero-event-date{font-size:1.65rem}
  .hero-tickets{margin-top:16px}
  .recruit-grid{grid-template-columns:1fr;gap:26px}
  .recruit .application{max-width:none}
  .recruit .intro{max-width:none}
}
@media(max-width:580px){
  .show-hero{padding-block:20px 26px}
  .masthead .wordmark{font-size:1.9rem}
  .masthead .text-link{font-size:.875rem}
  .clips-section{padding-top:20px}
  .recruit{padding-block:25px 32px}
  .recruit .hero-rule{margin-bottom:24px}
  .recruit h2{font-size:clamp(1.85rem,7.5vw,2.6rem)}
}

/* Optional interests in the existing Join the Show form. */
.interest-options{min-width:0;border:0;padding:0;margin:0 0 20px;text-align:left}
.interest-options legend{padding:0}
.interest-options .field-help{margin:0 0 10px}
.interest-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.interest-choices label{display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:4px;font-size:.9375rem;line-height:1.35;cursor:pointer}
.interest-choices input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--red);cursor:pointer}
.interest-choices label:has(input:checked){border-color:var(--red);background:#b9160808}
.interest-options:disabled label{opacity:.65;cursor:wait}
@media(max-width:360px){.interest-choices{grid-template-columns:1fr}}
