:root{--paper:#f8f3e3;--ink:#141310;--red:#D82111;--rule:#28251e;--poster-width:1100px;--grid-width:1340px}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:20px;line-height:1.5}a{color:inherit;text-decoration-thickness:2px;text-underline-offset:5px}a:hover{color:var(--red)}button,a{touch-action:manipulation}button{font:inherit}a:focus-visible,button:focus-visible{outline:4px solid var(--red);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark,.footer-title{font-family:Rockwell,'Rockwell Extra Bold',Georgia,serif;font-weight:900;line-height:1.04}h1{font-size:clamp(48px,7.4vw,110px)}h2{font-size:clamp(40px,5vw,76px)}h3{font-size:clamp(27px,2.7vw,40px)}header{position:relative;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 4vw;border-bottom:2px solid var(--ink);background:var(--paper)}.wordmark{font-size:28px;letter-spacing:-1px;text-decoration:none}nav{display:flex;gap:32px;flex-wrap:wrap}nav a{font-size:19px;font-weight:700;text-decoration:none;padding:6px 0}nav a:hover{text-decoration:underline}.skip{position:absolute;left:20px;top:-100px;z-index:200;background:var(--paper);padding:16px}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.intro{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .8s ease .25s}.intro-logo{width:min(74vw,780px);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.intro.exiting{opacity:0}.intro.exiting .intro-logo{transform:translateY(-45vh) scale(.75)}.crop-logo{position:relative;aspect-ratio:1.9;overflow:hidden}.crop-logo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.home main{opacity:0;transition:opacity 1.2s}.home.ready main{opacity:1}.poster-scene{position:relative;isolation:isolate;margin:auto;padding-top:28px;padding-bottom:75vh;overflow:clip}.poster-board{width:min(100%,var(--poster-width));margin:auto;position:relative;z-index:1}.main-logo{width:92%;margin:auto;aspect-ratio:1.94}.season-dates{position:relative;aspect-ratio:2.97;overflow:hidden;margin:0 2%}.season-dates>img{position:absolute;width:100%;height:auto;top:-112%;mix-blend-mode:multiply}.poster-date-links{position:absolute;inset:30% 0 3%;display:grid;grid-template-columns:repeat(4,1fr)}.month-links{display:flex;flex-direction:column;padding-top:3%}.month-links a{display:block;flex:1;min-height:32px;border:2px solid transparent;border-radius:2px}.month-links a:hover,.month-links a:focus-visible{border-color:var(--red);background:rgba(216,33,17,.07)}.main-tickets{padding:28px 4% 10px;position:relative;z-index:3;text-align:center}.tickets p{margin-bottom:14px}.ticket-price{font-family:Georgia,serif;font-weight:900;font-size:36px}.ticket-price span{font-family:Arial,sans-serif;font-size:20px;font-weight:400}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:var(--paper);border:2px solid var(--red);border-radius:0;min-height:60px;padding:13px 34px;font-size:23px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--ink)}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--red)}.call{margin-top:22px;font-size:22px}.call a{font-weight:800;white-space:nowrap}.seating{font-size:17px;line-height:1.45;max-width:500px;margin:0 auto}.mountain-rest{aspect-ratio:2;overflow:hidden;position:relative}.mountain-rest img{width:100%;position:absolute;top:-100%;mix-blend-mode:multiply}.mountain-sweep{position:absolute;top:0;left:50%;width:min(100%,var(--poster-width));z-index:10;pointer-events:none;visibility:hidden;will-change:transform}.mountain-image{aspect-ratio:2;position:relative;overflow:hidden}.mountain-image img{width:100%;position:absolute;top:-100%}.mountain-fill{height:150vh;background:var(--paper);margin-top:-2px}.mobile-schedule{display:none}.season-section{position:relative;z-index:15;background:var(--paper);border-top:7px solid var(--ink);padding:70px 4vw 90px}.section-heading{max-width:var(--grid-width);margin:auto auto 60px}.eyebrow{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--red)}.section-heading>p:not(.eyebrow){max-width:660px;font-size:23px}.section-heading h2{margin-bottom:26px}.show-times{display:flex;gap:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);margin-top:32px;max-width:650px}.show-times p{margin:0;padding:18px 24px 18px 0;flex:1}.show-times strong{font-family:Georgia,serif;font-size:34px;margin-right:10px}.show-grid{max-width:var(--grid-width);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 35px}.show-card{scroll-margin-top:35px}.show-card:target{outline:5px solid var(--red);outline-offset:12px}.poster-link{display:block;box-shadow:7px 7px 0 var(--ink);text-decoration:none;border:2px solid var(--ink);transition:transform .2s}.poster-link:hover{transform:translateY(-5px)}.coming-poster{aspect-ratio:3/4;padding:26px 20px;border:8px double var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--paper)}.poster-kicker{text-transform:uppercase;font-size:15px;font-weight:700;letter-spacing:2px;border-bottom:2px solid var(--ink);padding-bottom:16px;width:100%}.coming-artist{font-family:Georgia,serif;font-size:clamp(28px,3.3vw,47px);font-weight:900;line-height:1.05;text-transform:uppercase;margin:20px 0}.coming-date{font-size:20px;font-weight:700}.coming-label{font-size:18px;letter-spacing:1px;text-transform:uppercase;color:var(--red);font-weight:800;border-block:2px solid var(--red);padding:10px 0;margin:14px 0}.poster-byline{font-family:Georgia,serif;font-weight:700;font-size:21px;margin:12px 0}.show-poster{width:100%;display:block;height:auto}.card-copy{padding-top:30px}.show-date{font-weight:800;color:var(--red);font-size:21px}.card-copy h3{margin:12px 0}.card-copy h3 a{text-decoration:none}.card-copy>p{font-size:19px}.compact .ticket-price{font-size:29px;margin:24px 0 16px}.compact .ticket-price span{font-size:17px}.compact .button{width:100%}.compact .call{font-size:19px;line-height:1.6}.compact .seating{text-align:left;font-size:16px}.venue-section{background:var(--ink);color:var(--paper);text-align:center;padding:85px 24px;border-block:8px double var(--paper)}.venue-section h2{margin:28px 0}.venue-section .eyebrow{color:#ff8c75}.venue-section .tickets{margin-top:35px}.venue-section .button{box-shadow:4px 4px 0 var(--paper)}footer{padding:65px 24px;text-align:center;border-top:2px solid var(--ink)}.footer-title{font-size:48px;margin-bottom:16px}footer p{margin-bottom:22px}footer a{font-weight:700}.fine{font-size:16px;margin-top:32px}.detail{max-width:var(--grid-width);padding:45px 4vw 85px;margin:auto}.back-link{display:inline-block;margin-bottom:40px;font-weight:700}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.detail-grid .coming-poster{min-height:580px}.detail-grid .coming-artist{font-size:clamp(45px,5vw,75px)}.detail-copy h1{font-size:clamp(46px,5.6vw,78px);margin-bottom:25px}.detail-date{font-family:Georgia,serif;font-size:32px;font-weight:800;color:var(--red)}.timing{border-block:2px solid var(--ink);margin:30px 0;display:flex;gap:25px;padding:20px 0}.timing div{flex:1}.timing dt{font-size:17px}.timing dd{font-size:25px;font-weight:800;margin:5px 0 0}.detail-copy .tickets{border-top:2px solid var(--ink);padding-top:25px}.detail-copy .seating{margin-left:0}.editorial{max-width:1250px;margin:auto;padding:75px 4vw 100px}.editorial>h1{border-bottom:5px solid var(--ink);padding-bottom:35px;margin-bottom:50px}.editorial-body{display:grid;grid-template-columns:1fr 1fr;gap:65px}.editorial-body .crop-logo{align-self:center}.editorial-body h2{font-size:45px}.text-link{display:block;margin-top:32px;font-weight:700}.church-intro{font-size:28px;max-width:680px}.broadcast{background:var(--ink);color:var(--paper);padding:65px;margin:50px 0;border:12px double var(--paper);outline:2px solid var(--ink)}.broadcast .eyebrow{color:#ff8c75}.live-pending{font-size:23px;margin-bottom:0}.broadcast h2{font-size:clamp(38px,5vw,70px)}dialog{background:var(--paper);color:var(--ink);max-width:min(600px,90vw);padding:36px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--red)}dialog::backdrop{background:rgba(0,0,0,.7)}dialog h2{font-size:40px}dialog .phone-big{font-size:32px;font-weight:900;display:block;margin:20px 0}dialog form{margin-top:26px}#placeholder-checkout{font-size:16px}body.dialog-open{overflow:hidden}
@media(min-width:1600px){.show-grid{gap:65px 45px}}@media(max-width:1000px){.show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coming-artist{font-size:42px}.detail-grid{gap:35px}.timing{gap:12px}.timing dd{font-size:22px}nav{gap:22px}.editorial-body{gap:35px}.poster-kicker{font-size:16px}}@media(max-width:650px){body{font-size:19px}header{padding:17px 20px;display:block}.wordmark{display:block;text-align:center;font-size:28px;margin-bottom:14px}nav{justify-content:center;gap:8px 20px}nav a{font-size:17px;padding:8px 0;min-height:40px}.intro-logo{width:94vw}.poster-scene{padding-top:20px;padding-bottom:45vh}.main-logo{width:100%;aspect-ratio:1.86}.season-dates{display:none}.mobile-schedule{display:block;padding:5px 22px}.mobile-schedule h2{text-align:center;font-size:28px;border-block:2px solid var(--ink);padding:15px 0;margin-bottom:12px}.mobile-schedule a{display:grid;grid-template-columns:70px 1fr;gap:10px;border-bottom:1px solid #bbb3a0;padding:13px 0;font-size:19px;text-decoration:none}.mobile-schedule a span:first-child{font-weight:800;color:var(--red)}.main-tickets{padding:25px 20px}.ticket-price{font-size:34px}.ticket-price span{font-size:19px}.main-tickets .button{width:100%}.mountain-rest{aspect-ratio:1.8}.mountain-sweep{width:160%;max-width:none}.mountain-image{aspect-ratio:2}.section-heading{margin-bottom:40px}.section-heading h2{font-size:44px}.section-heading>p:not(.eyebrow){font-size:21px}.season-section{padding:45px 22px 60px}.eyebrow{font-size:16px;letter-spacing:1.3px}.show-times p{padding:16px 8px 16px 0;font-size:17px}.show-times strong{display:block;font-size:30px;margin:0}.show-grid{grid-template-columns:1fr;gap:50px}.coming-poster{padding:28px;aspect-ratio:3/3.7}.coming-artist{font-size:43px}.card-copy h3{font-size:34px}.card-copy{padding-top:26px}.compact .seating{font-size:17px}.compact .call{font-size:20px}.venue-section{padding:55px 22px}.venue-section h2{font-size:45px}.detail{padding:30px 22px 65px}.detail-grid{grid-template-columns:1fr;gap:42px}.detail-grid .coming-poster{min-height:0}.detail-grid .coming-artist{font-size:43px}.detail-copy h1{font-size:48px}.detail-date{font-size:29px}.detail-copy .button{width:100%}.timing dd{font-size:24px}.editorial{padding:45px 22px 65px}.editorial>h1{font-size:58px;padding-bottom:25px;margin-bottom:35px}.editorial-body{grid-template-columns:1fr;gap:30px}.editorial-body h2{font-size:38px}.editorial-body .button{width:100%}.broadcast{padding:30px 20px;margin:35px 0}.church-intro{font-size:23px}.broadcast h2{font-size:38px}.footer-title{font-size:40px}dialog{padding:25px}dialog h2{font-size:32px}dialog .phone-big{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.intro{display:none}.home main{opacity:1}.mountain-sweep{display:none!important}.poster-scene{padding-bottom:30px}.poster-link:hover{transform:none}}
/* Home composition: exact season poster, followed by a split tour layout. */
.home main{opacity:1;transition:none}.home header{background:#171614;color:var(--paper);border-bottom:0}.home header a:hover{color:#ff725f}.resting-poster{background:var(--paper);padding:0}.season-art{position:relative;width:min(100%,var(--poster-width));margin:0 auto;line-height:0}.season-art>img{display:block;width:100%;height:auto}.season-hotspot,.poster-ticket-hotspot,.poster-phone-hotspot{position:absolute;display:block;line-height:1.5;border:2px solid transparent;z-index:2}.season-hotspot:hover,.poster-ticket-hotspot:hover,.poster-phone-hotspot:hover{border-color:var(--red);background:rgba(216,33,17,.05)}.poster-ticket-hotspot{left:26%;top:81.5%;width:47%;height:4.3%}.poster-phone-hotspot{left:31%;top:87.7%;width:39%;height:5.3%}.home .season-section{background:#171614;color:var(--paper);border-top:0;padding:0;position:relative;z-index:1}.tour-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1800px;margin:auto;align-items:start}.tour-left{padding:65px clamp(24px,3.6vw,65px) 80px;border-right:1px solid #4b473e}.tour-left .section-heading{margin:0 0 35px}.tour-left .section-heading h2{font-size:clamp(44px,4.3vw,74px);color:var(--paper)}.tour-left .eyebrow{color:#ff8c75}.tour-left .section-heading>p:not(.eyebrow){font-size:21px}.tour-left .show-times{border-color:#8a806c;max-width:none}.tour-left .show-times strong{display:block}.season-seating{font-size:18px!important;line-height:1.6;margin:24px 0 0}.tour-art{position:sticky;top:0;padding:24px clamp(15px,2vw,36px);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100svh}.tour-art img{display:block;width:100%;height:auto;max-height:calc(100svh - 100px);object-fit:contain}.tour-art>a{font-size:19px;font-weight:700;margin-top:20px}.tour-left .show-grid{display:flex;flex-direction:column;gap:0}.tour-left .show-card{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:28px;border-top:2px solid #8a806c;padding:35px 0;scroll-margin-top:30px}.tour-left .poster-link{box-shadow:none;border:0;align-self:start}.tour-left .poster-link:hover{transform:none;outline:3px solid #ff8c75;outline-offset:5px}.tour-left .card-copy{padding-top:0}.tour-left .show-date{color:#ff8c75;font-size:20px}.tour-left .card-copy h3{font-size:clamp(26px,2.2vw,36px);margin:12px 0 18px}.tour-left .card-copy h3 a:hover{color:#ff8c75}.tour-left .card-copy>p{font-size:18px}.tour-left .compact .ticket-price{font-size:28px;margin-top:22px}.tour-left .ticket-price span{font-size:17px;display:block;margin-top:4px}.tour-left .compact .button{font-size:21px;padding:12px 15px;box-shadow:3px 3px 0 var(--paper)}.tour-left .compact .call{font-size:18px;line-height:1.65}.tour-left .compact .seating{font-size:16px;color:#e4dac5}.tour-left .coming-poster{color:var(--ink);padding:18px 12px;border-width:6px}.tour-left .coming-artist{font-size:clamp(22px,2.4vw,34px);margin:12px 0}.tour-left .poster-kicker{font-size:13px;letter-spacing:1px;padding-bottom:10px}.tour-left .coming-date{font-size:17px}.tour-left .coming-label{font-size:15px;letter-spacing:0;padding:8px 0}.tour-left .poster-byline{font-size:17px}.artist-page-art img{width:100%;height:auto;display:block}.artist-page-art{align-self:start}.home .venue-section{border-top:2px solid #8a806c;background:#171614}.home footer{background:#171614;color:var(--paper);border-color:#8a806c}
@media(max-width:1000px){.tour-layout{grid-template-columns:55% 45%}.tour-left{padding:40px 24px 60px}.tour-left .show-card{grid-template-columns:1fr;gap:22px}.tour-left .poster-link{width:min(100%,340px);margin:auto}.tour-left .card-copy{text-align:center}.tour-left .compact .seating{text-align:center}.tour-left .coming-artist{font-size:38px}.tour-left .poster-kicker{font-size:16px}.tour-left .coming-date{font-size:20px}.tour-left .coming-label{font-size:18px}.tour-left .poster-byline{font-size:21px}.tour-left .card-copy h3{font-size:34px}.tour-left .compact .call{font-size:20px}.tour-left .compact .seating{font-size:17px}.tour-left .ticket-price span{display:inline}.tour-art{padding:20px 12px}}
@media(max-width:650px){.home header{padding:17px 18px}.tour-layout{display:flex;flex-direction:column}.tour-art{position:relative;order:-1;min-height:0;padding:30px 22px;width:100%;border-bottom:1px solid #8a806c}.tour-art img{width:min(100%,310px);height:auto;max-height:none}.tour-art>a{margin-top:16px}.tour-left{width:100%;padding:40px 22px 60px;border-right:0}.tour-left .show-card{padding:32px 0}.tour-left .poster-link{width:100%;max-width:420px}.tour-left .section-heading h2{font-size:48px}.tour-left .section-heading>p:not(.eyebrow){font-size:20px}.tour-left .compact .seating{font-size:17px}.tour-left .show-times strong{font-size:30px}.tour-left .coming-artist{font-size:43px}.tour-left .compact .button{font-size:23px}.tour-left .coming-poster{padding:28px 20px}.tour-left .show-date{font-size:22px}.season-hotspot{border-width:1px}}
/* Deconstructed resting poster and alternating monthly itinerary. */
.home header{position:sticky;top:0;z-index:50}.mountain-scene{height:240svh;background:#171614;position:relative}.poster-sticky{position:sticky;top:var(--header-height,82px);height:calc(100svh - var(--header-height,82px));background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}.deconstructed-poster{position:relative;aspect-ratio:1103/1426;width:min(100%,calc((100svh - var(--header-height,82px))*1103/1426));height:auto;flex-shrink:0}.poster-top{position:absolute;inset:0;clip-path:inset(0 0 36.8% 0);z-index:1}.poster-top>img{width:100%;height:100%;display:block}.poster-mountains{position:absolute;inset:0;z-index:5;will-change:transform;pointer-events:none}.mountain-crop{position:absolute;inset:0;clip-path:inset(63.2% 0 0 0)}.mountain-crop>img{width:100%;height:100%;display:block}.mountain-sheet{position:absolute;top:99.9%;height:160svh;width:400vw;left:50%;transform:translateX(-50%);background:var(--paper)}.poster-mountains a{pointer-events:auto}.monthly-season{background:#171614;color:var(--paper)}.season-wide-heading{text-align:center;padding:65px 24px 55px;border-bottom:1px solid #655c4c}.season-wide-heading h2{font-size:clamp(40px,5vw,76px);margin:20px 0}.season-wide-heading>p:not(.eyebrow){font-size:23px;max-width:980px;margin-left:auto;margin-right:auto}.season-wide-heading .eyebrow{color:#ff8c75}.season-wide-heading .show-times{margin:30px auto 22px;border-color:#8a806c;max-width:850px}.season-wide-heading .show-times p{padding:18px 15px}.season-wide-heading .season-seating{font-size:20px!important;max-width:1000px}.month-section{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1680px;margin:auto;border-bottom:1px solid #655c4c;align-items:start;padding:60px 3vw}.month-itinerary{padding:0 25px;min-width:0}.month-heading{font-size:clamp(34px,3.5vw,52px);color:#ff8c75;margin:0 0 30px;border-bottom:2px solid #8a806c;padding-bottom:18px}.month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.month-art{position:sticky;top:calc(var(--header-height,82px) + 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 24px;align-self:start}.month-art img{width:100%;max-height:calc(100svh - var(--header-height,82px) - 90px);object-fit:contain;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.15))}.month-art a{font-size:19px;font-weight:700;margin-top:20px}.itinerary-right .month-itinerary{grid-column:2;grid-row:1}.itinerary-right .month-art{grid-column:1;grid-row:1}.month-grid .show-card{min-width:0;scroll-margin-top:calc(var(--header-height,82px) + 25px)}.month-grid .poster-link{box-shadow:none;border:0;display:block}.month-grid .poster-link:hover{transform:none;outline:3px solid #ff8c75;outline-offset:5px}.month-grid .card-copy{padding-top:20px}.month-grid .show-date{color:#ff8c75;font-size:19px}.month-grid h3{font-size:clamp(24px,2vw,31px);margin:12px 0}.month-grid .ticket-price{font-size:27px;margin:20px 0 12px}.month-grid .ticket-price span{display:block;font-size:17px;margin-top:4px}.month-grid .button{width:100%;font-size:21px;padding:12px 10px;box-shadow:3px 3px 0 var(--paper)}.month-grid .call{font-size:18px;line-height:1.6}.month-grid .call a{display:block}.month-grid .seating{color:#e4dac5;font-size:16px;text-align:left}.month-grid .coming-poster{padding:18px 10px;color:var(--ink);border-width:6px;aspect-ratio:2/3}.month-grid .coming-artist{font-size:clamp(22px,2vw,30px);margin:12px 0}.month-grid .poster-kicker{font-size:14px;letter-spacing:.5px;padding-bottom:10px}.month-grid .coming-date{font-size:16px}.month-grid .coming-label{font-size:16px;letter-spacing:0;margin:10px 0}.month-grid .poster-byline{font-size:17px;margin:10px 0}
@media(max-width:1000px){.month-section{padding:45px 18px;grid-template-columns:58% 42%}.month-itinerary{padding:0 12px}.month-grid{gap:30px 16px}.month-art{padding:0 12px}.itinerary-right{grid-template-columns:42% 58%}.month-grid .button{font-size:19px}.month-grid .show-date{font-size:18px}.month-grid h3{font-size:25px}.month-grid .call{font-size:17px}.month-grid .coming-artist{font-size:25px}}
@media(max-width:650px){.home .wordmark{font-size:25px;letter-spacing:-.6px}.mountain-scene{height:210svh}.deconstructed-poster{width:min(100%,calc((100svh - var(--header-height,140px))*1103/1426))}.season-wide-heading{padding:40px 20px}.season-wide-heading h2{font-size:38px}.season-wide-heading>p:not(.eyebrow){font-size:20px}.season-wide-heading .season-seating{font-size:18px!important}.season-wide-heading .show-times p{padding:16px 7px;font-size:17px}.season-wide-heading .show-times strong{font-size:30px}.month-section,.itinerary-right{display:flex;flex-direction:column;padding:35px 16px;gap:35px}.month-itinerary{padding:0;width:100%}.month-heading{font-size:35px;margin-bottom:25px}.month-art{position:relative;top:auto;width:100%;padding:0}.month-art img{width:min(100%,360px);max-height:none}.month-grid{gap:30px 16px}.month-grid .card-copy{padding-top:17px}.month-grid h3{font-size:24px;overflow-wrap:break-word}.month-grid .show-date{font-size:18px;line-height:1.5}.month-grid .button{font-size:19px;padding:12px 6px}.month-grid .ticket-price{font-size:26px}.month-grid .call{font-size:17px}.month-grid .seating{font-size:16px}.month-grid .coming-poster{padding:16px 8px}.month-grid .coming-artist{font-size:23px}.month-grid .poster-kicker{font-size:14px;letter-spacing:0}.month-grid .coming-date{font-size:16px}.month-grid .poster-byline{font-size:16px}.month-grid .coming-label{font-size:15px}}
@media(prefers-reduced-motion:reduce){.mountain-scene{height:auto}.poster-sticky{position:relative;top:0}.poster-mountains{transform:none!important}.mountain-sheet{display:none}.poster-top,.poster-mountains{opacity:1!important}}
.month-grid .poster-link{width:min(100%,160px);margin:0 auto}.month-grid .coming-poster{min-height:235px;aspect-ratio:auto;padding:14px 8px}.month-grid .coming-artist{font-size:21px}.month-grid .poster-kicker{font-size:14px}.month-grid .coming-date{font-size:16px}.month-grid .poster-byline{font-size:16px}.month-grid .coming-label{font-size:14px}
/* Complete supplied mountain layer and a direct reveal into the itinerary. */
.mountain-scene{height:180svh;background:transparent;z-index:2;pointer-events:none}.poster-sticky{pointer-events:auto}.poster-top{clip-path:inset(0 0 35% 0)}.mountain-crop{inset:auto 0 0;top:22.5%;height:auto;aspect-ratio:1;clip-path:inset(48% 0 0 0)}.mountain-crop>img{width:100%;height:auto;display:block}.mountain-sheet{top:99.8%}.monthly-season{position:relative;z-index:1;margin-top:calc(-1*(100svh - var(--header-height,82px)))}
.month-section,.itinerary-right{display:block;max-width:none;padding:0;border-bottom:0}.month-divider{border-top:2px solid #8a806c;border-bottom:2px solid #8a806c;width:100%;text-align:center;padding:23px 20px;margin:0}.month-divider h3{color:#ff8c75;font-size:clamp(34px,3.5vw,52px);margin:0}.month-content{display:grid;grid-template-columns:1fr 1fr;max-width:1680px;margin:auto;padding:45px 3vw 55px;align-items:stretch}.itinerary-right .month-content{grid-template-columns:1fr 1fr}.month-art{position:relative;top:auto;align-self:stretch;justify-content:center;padding:0 35px;min-height:0}.month-art img{max-height:620px;width:100%;height:auto}.month-art a{margin-top:22px}.month-grid{gap:30px 24px}.month-grid .card-copy{padding-top:15px;text-align:center}.month-grid h3{margin:10px 0;font-size:clamp(23px,1.9vw,29px)}.card-highlight{font-size:18px;margin:13px 0 16px}.month-grid .show-info{min-height:50px;width:auto;min-width:135px;font-size:20px;padding:9px 18px}.month-grid .show-card{align-self:start}.month-grid .show-date{font-size:19px}.month-grid .poster-link{width:min(100%,160px)}
@media(max-width:1000px){.month-content,.itinerary-right .month-content{grid-template-columns:58% 42%;padding:35px 18px 45px}.itinerary-right .month-content{grid-template-columns:42% 58%}.month-art{padding:0 18px}.month-grid{gap:28px 16px}.month-grid .show-info{min-width:0;width:100%}}
@media(max-width:650px){.mountain-scene{height:180svh}.month-content,.itinerary-right .month-content{display:flex;flex-direction:column;padding:30px 16px 40px;gap:30px}.month-divider{padding:20px 16px}.month-divider h3{font-size:34px}.month-art{padding:0;width:100%}.month-art img{width:min(100%,340px);max-height:none}.month-grid .show-date{font-size:18px}.month-grid h3{font-size:23px}.card-highlight{font-size:17px}.month-grid .show-info{font-size:20px;min-height:52px}}
@media(prefers-reduced-motion:reduce){.mountain-scene{height:auto}.monthly-season{margin-top:0}.poster-sticky{opacity:1!important;visibility:visible!important}}
.poster-top{clip-path:polygon(0 0,100% 0,100% 63.2%,20% 63.2%,20% 60.7%,0 60.7%)}
/* The mountain strip and itinerary share one normal-flow foreground. */
.home{--scene-height:calc(100svh - var(--header-height,82px));--board-width:min(100vw,calc(var(--scene-height)*.96*1103/1426))}.mountain-scene{height:auto;background:var(--paper);pointer-events:auto;position:relative;z-index:auto}.poster-sticky{height:var(--scene-height);top:var(--header-height,82px);opacity:1;visibility:visible;overflow:hidden;align-items:flex-start;z-index:1}.deconstructed-poster{width:var(--board-width);height:auto;aspect-ratio:1103/1426}.poster-top{opacity:1;clip-path:polygon(0 0,100% 0,100% 63.2%,88% 63.2%,88% 64.2%,20% 64.2%,20% 60.7%,0 60.7%)}.mountain-follow{position:relative;z-index:3;margin-top:calc(-1*var(--scene-height) + var(--board-width)*1426/1103*.64);background:transparent}.mountain-strip{width:100%;background:var(--paper);line-height:0}.mountain-window{position:relative;width:var(--board-width);height:calc(var(--board-width)*.52);margin:0 auto;overflow:hidden}.mountain-window>img{position:absolute;left:0;top:calc(-1*var(--board-width)*.48);width:100%;height:auto;display:block}.monthly-season{margin-top:0;position:relative;z-index:auto;opacity:1;transition:none}.mountain-ticket-link,.mountain-phone-link{position:absolute;display:block;border:2px solid transparent;line-height:1.5}.mountain-ticket-link{left:27%;top:57%;width:46%;height:12%}.mountain-phone-link{left:30%;top:72%;width:40%;height:12%}.mountain-ticket-link:hover,.mountain-phone-link:hover{border-color:var(--red);background:rgba(216,33,17,.05)}
@media(prefers-reduced-motion:reduce){.poster-sticky{position:relative;top:0}}
.season-ticket-price{font-family:Georgia,serif;font-size:34px;font-weight:700;line-height:1.2;display:inline-block}
@media(max-width:650px){.season-ticket-price{font-size:30px}}
.show-subtitle{font-size:21px;font-weight:700;margin:8px 0 12px}.detail-copy .show-subtitle{font-size:27px;margin:0 0 22px}
.month-art .blend-art{mix-blend-mode:screen;filter:none}
.season-wide-heading{padding-left:0;padding-right:0}.season-wide-heading>.eyebrow,.season-wide-heading>h2,.season-wide-heading>.season-seating{padding-left:24px;padding-right:24px}.season-wide-heading .show-times{width:100%;max-width:none;margin-left:0;margin-right:0;justify-content:center}.season-wide-heading .show-times p{flex:0 1 283px}
@media(max-width:650px){.season-wide-heading{padding-left:0;padding-right:0}.season-wide-heading>.eyebrow,.season-wide-heading>h2,.season-wide-heading>.season-seating{padding-left:20px;padding-right:20px}.season-wide-heading .show-times p{flex:1}}

/* Balance the visible lettering between the full-width rules. */
.season-wide-heading{padding-bottom:0}
.season-wide-heading .show-times{margin-bottom:0}
.season-wide-heading>.season-seating{max-width:none;margin:0 auto;padding-top:35px;padding-bottom:29px;text-align:center}
.month-divider{display:flex;align-items:center;justify-content:center;padding-top:26px;padding-bottom:20px}
@media(max-width:650px){.season-wide-heading>.season-seating{padding-top:30px;padding-bottom:24px}.month-divider{padding-top:23px;padding-bottom:17px}}

/* Keep each month's artwork centered while its posters scroll beside it. */
@media(min-width:651px){
.month-art{position:sticky;align-self:start;top:max(calc(var(--header-height,82px) + 20px),calc((100svh + var(--header-height,82px) - var(--art-height,500px))/2));}
.month-art img{max-height:min(620px,calc(100svh - var(--header-height,82px) - 110px));object-fit:contain}
}
@media(max-width:650px){.month-art{order:-1;position:relative;top:auto}}

/* Blend the whole sticky artwork layer with the section background. */
.month-art:has(.blend-art){mix-blend-mode:screen}
.month-art .blend-art{mix-blend-mode:normal}

.feature-songs{margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}
.feature-songs h2{font-size:clamp(24px,2.3vw,32px);line-height:1.2;margin-bottom:16px}
.feature-songs ul{margin:0;padding-left:24px}
.feature-songs li{padding:4px 0;font-size:20px}

/* Follow the supplied desert silhouette rather than its rectangular sky. */
.mountain-strip{background:transparent}
.mountain-window{clip-path:polygon(0.00% 31.06%,0.20% 30.87%,0.40% 30.67%,0.60% 30.67%,0.80% 30.87%,1.00% 31.06%,1.20% 31.25%,1.40% 31.25%,1.60% 31.06%,1.80% 30.96%,2.00% 30.77%,2.20% 30.58%,2.40% 30.48%,2.60% 30.29%,2.80% 30.10%,3.00% 29.90%,3.20% 29.62%,3.40% 29.52%,3.60% 29.33%,3.80% 29.42%,4.00% 29.62%,4.20% 29.62%,4.40% 29.62%,4.60% 29.81%,4.80% 30.00%,5.00% 30.19%,5.20% 30.29%,5.40% 30.29%,5.60% 18.75%,5.80% 16.83%,6.00% 16.35%,6.20% 15.87%,6.40% 15.58%,6.60% 15.38%,6.80% 15.19%,7.00% 15.19%,7.20% 15.00%,7.40% 15.10%,7.60% 15.19%,7.80% 15.48%,8.00% 15.77%,8.20% 16.25%,8.40% 16.92%,8.60% 22.31%,8.80% 29.33%,9.00% 29.52%,9.20% 32.88%,9.40% 26.15%,9.60% 25.67%,9.80% 25.38%,10.00% 25.29%,10.20% 25.19%,10.40% 25.29%,10.60% 25.29%,10.80% 25.67%,11.00% 26.25%,11.20% 29.04%,11.40% 29.04%,11.60% 22.50%,11.80% 13.37%,12.00% 8.94%,12.20% 7.40%,12.40% 5.77%,12.60% 5.29%,12.80% 4.71%,13.00% 4.62%,13.20% 4.42%,13.40% 4.23%,13.60% 4.23%,13.80% 4.23%,14.00% 4.23%,14.20% 4.42%,14.40% 4.62%,14.60% 4.90%,14.80% 5.10%,15.00% 5.67%,15.20% 6.44%,15.40% 8.27%,15.60% 27.79%,15.80% 27.79%,16.00% 27.88%,16.20% 27.60%,16.40% 25.67%,16.60% 24.81%,16.80% 24.42%,17.00% 24.23%,17.20% 24.04%,17.40% 23.94%,17.60% 23.94%,17.80% 24.13%,18.00% 24.23%,18.20% 24.42%,18.40% 25.00%,18.60% 25.87%,18.80% 26.92%,19.00% 26.73%,19.20% 26.54%,19.40% 26.54%,19.60% 26.54%,19.80% 26.73%,20.00% 26.54%,20.20% 26.54%,20.40% 26.63%,20.60% 26.73%,20.80% 26.83%,21.00% 26.73%,21.20% 26.44%,21.40% 26.15%,21.60% 25.87%,21.80% 25.67%,22.00% 25.48%,22.20% 25.19%,22.40% 25.00%,22.60% 24.90%,22.80% 24.81%,23.00% 24.81%,23.20% 24.90%,23.40% 25.29%,23.60% 25.48%,23.80% 25.58%,24.00% 25.87%,24.20% 26.15%,24.40% 26.54%,24.60% 26.83%,24.80% 27.21%,25.00% 27.31%,25.20% 27.12%,25.40% 27.02%,25.60% 27.21%,25.80% 27.21%,26.00% 27.02%,26.20% 26.83%,26.40% 26.73%,26.60% 26.54%,26.80% 26.35%,27.00% 26.15%,27.20% 26.15%,27.40% 26.35%,27.60% 26.54%,27.80% 26.54%,28.00% 26.35%,28.20% 25.96%,28.40% 25.77%,28.60% 25.48%,28.80% 25.10%,29.00% 24.81%,29.20% 24.71%,29.40% 24.71%,29.60% 24.42%,29.80% 24.13%,30.00% 23.65%,30.20% 23.17%,30.40% 22.98%,30.60% 22.69%,30.80% 22.40%,31.00% 22.02%,31.20% 21.63%,31.40% 21.35%,31.60% 21.15%,31.80% 21.06%,32.00% 21.15%,32.20% 20.96%,32.40% 20.48%,32.60% 20.19%,32.80% 20.10%,33.00% 19.71%,33.20% 19.52%,33.40% 19.52%,33.60% 19.52%,33.80% 19.62%,34.00% 19.71%,34.20% 19.90%,34.40% 20.00%,34.60% 19.90%,34.80% 19.90%,35.00% 20.10%,35.20% 20.10%,35.40% 20.00%,35.60% 19.81%,35.80% 19.42%,36.00% 19.23%,36.20% 19.13%,36.40% 19.13%,36.60% 19.04%,36.80% 18.94%,37.00% 18.65%,37.20% 18.46%,37.40% 18.17%,37.60% 17.79%,37.80% 17.60%,38.00% 17.31%,38.20% 16.92%,38.40% 16.54%,38.60% 16.06%,38.80% 15.77%,39.00% 15.48%,39.20% 15.19%,39.40% 15.00%,39.60% 15.00%,39.80% 15.00%,40.00% 14.90%,40.20% 14.90%,40.40% 15.00%,40.60% 15.19%,40.80% 15.38%,41.00% 15.77%,41.20% 15.67%,41.40% 15.58%,41.60% 15.67%,41.80% 15.87%,42.00% 16.06%,42.20% 16.25%,42.40% 16.25%,42.60% 16.06%,42.80% 16.06%,43.00% 16.06%,43.20% 15.87%,43.40% 15.58%,43.60% 15.38%,43.80% 15.38%,44.00% 15.19%,44.20% 15.00%,44.40% 15.00%,44.60% 15.19%,44.80% 15.38%,45.00% 15.67%,45.20% 16.06%,45.40% 16.25%,45.60% 16.15%,45.80% 16.15%,46.00% 16.25%,46.20% 16.73%,46.40% 17.12%,46.60% 17.31%,46.80% 17.50%,47.00% 17.40%,47.20% 17.21%,47.40% 17.12%,47.60% 17.12%,47.80% 17.12%,48.00% 17.40%,48.20% 17.79%,48.40% 18.17%,48.60% 17.98%,48.80% 17.98%,49.00% 17.98%,49.20% 18.37%,49.40% 18.85%,49.60% 19.23%,49.80% 19.71%,50.00% 20.38%,50.20% 20.96%,50.40% 21.06%,50.60% 21.25%,50.80% 21.25%,51.00% 21.25%,51.20% 21.63%,51.40% 22.02%,51.60% 22.79%,51.80% 23.37%,52.00% 24.04%,52.20% 24.04%,52.40% 23.94%,52.60% 23.75%,52.80% 23.56%,53.00% 23.37%,53.20% 23.37%,53.40% 23.46%,53.60% 23.75%,53.80% 23.85%,54.00% 24.04%,54.20% 24.13%,54.40% 24.13%,54.60% 23.94%,54.80% 23.85%,55.00% 23.94%,55.20% 24.04%,55.40% 24.23%,55.60% 24.42%,55.80% 24.42%,56.00% 24.42%,56.20% 24.42%,56.40% 24.33%,56.60% 24.13%,56.80% 24.13%,57.00% 24.13%,57.20% 24.04%,57.40% 24.04%,57.60% 24.13%,57.80% 24.42%,58.00% 24.62%,58.20% 24.81%,58.40% 25.10%,58.60% 25.48%,58.80% 25.67%,59.00% 25.67%,59.20% 25.77%,59.40% 26.06%,59.60% 26.25%,59.80% 26.35%,60.00% 26.54%,60.20% 26.63%,60.40% 26.73%,60.60% 26.83%,60.80% 26.83%,61.00% 26.73%,61.20% 26.63%,61.40% 26.54%,61.60% 26.35%,61.80% 26.15%,62.00% 26.15%,62.20% 26.25%,62.40% 26.54%,62.60% 26.63%,62.80% 26.54%,63.00% 26.63%,63.20% 26.73%,63.40% 26.83%,63.60% 26.92%,63.80% 26.54%,64.00% 26.35%,64.20% 26.35%,64.40% 26.35%,64.60% 26.15%,64.80% 26.06%,65.00% 25.87%,65.20% 25.58%,65.40% 25.29%,65.60% 24.90%,65.80% 24.71%,66.00% 24.42%,66.20% 24.33%,66.40% 24.33%,66.60% 24.42%,66.80% 24.62%,67.00% 24.81%,67.20% 25.19%,67.40% 25.58%,67.60% 25.58%,67.80% 25.67%,68.00% 25.67%,68.20% 25.29%,68.40% 25.10%,68.60% 25.00%,68.80% 25.10%,69.00% 25.29%,69.20% 25.77%,69.40% 25.96%,69.60% 26.15%,69.80% 25.96%,70.00% 26.06%,70.20% 26.35%,70.40% 26.92%,70.60% 27.50%,70.80% 28.08%,71.00% 28.27%,71.20% 28.08%,71.40% 28.08%,71.60% 27.88%,71.80% 27.79%,72.00% 27.79%,72.20% 27.88%,72.40% 28.08%,72.60% 28.27%,72.80% 28.46%,73.00% 28.56%,73.20% 28.75%,73.40% 28.65%,73.60% 28.46%,73.80% 28.27%,74.00% 28.27%,74.20% 28.46%,74.40% 28.56%,74.60% 28.75%,74.80% 28.94%,75.00% 28.75%,75.20% 28.85%,75.40% 28.65%,75.60% 28.27%,75.80% 27.98%,76.00% 27.88%,76.20% 27.88%,76.40% 27.88%,76.60% 27.40%,76.80% 26.92%,77.00% 26.54%,77.20% 25.96%,77.40% 25.67%,77.60% 25.29%,77.80% 24.71%,78.00% 24.33%,78.20% 23.85%,78.40% 23.56%,78.60% 23.37%,78.80% 23.37%,79.00% 23.56%,79.20% 23.56%,79.40% 22.88%,79.60% 22.50%,79.80% 22.12%,80.00% 22.02%,80.20% 21.83%,80.40% 21.83%,80.60% 21.92%,80.80% 22.21%,81.00% 22.88%,81.20% 22.98%,81.40% 23.17%,81.60% 22.98%,81.80% 22.98%,82.00% 22.98%,82.20% 23.37%,82.40% 23.75%,82.60% 23.85%,82.80% 23.85%,83.00% 23.56%,83.20% 23.08%,83.40% 22.50%,83.60% 22.31%,83.80% 22.02%,84.00% 21.92%,84.20% 22.02%,84.40% 22.31%,84.60% 22.79%,84.80% 22.88%,85.00% 23.17%,85.20% 23.94%,85.40% 24.71%,85.60% 24.81%,85.80% 25.67%,86.00% 26.63%,86.20% 26.54%,86.40% 26.63%,86.60% 26.92%,86.80% 26.63%,87.00% 26.06%,87.20% 25.67%,87.40% 25.48%,87.60% 25.29%,87.80% 25.29%,88.00% 25.29%,88.20% 22.50%,88.40% 22.50%,88.60% 22.69%,88.80% 22.69%,89.00% 23.08%,89.20% 23.17%,89.40% 23.56%,89.60% 15.38%,89.80% 15.19%,90.00% 14.42%,90.20% 14.33%,90.40% 14.13%,90.60% 13.94%,90.80% 13.75%,91.00% 13.75%,91.20% 10.19%,91.40% 10.10%,91.60% 10.10%,91.80% 10.00%,92.00% 10.10%,92.20% 10.19%,92.40% 10.29%,92.60% 10.67%,92.80% 10.77%,93.00% 11.35%,93.20% 11.35%,93.40% 12.02%,93.60% 12.21%,93.80% 12.60%,94.00% 11.73%,94.20% 11.54%,94.40% 10.96%,94.60% 10.77%,94.80% 10.38%,95.00% 10.10%,95.20% 10.00%,95.40% 9.81%,95.60% 9.81%,95.80% 9.90%,96.00% 9.90%,96.20% 13.27%,96.40% 13.27%,96.60% 13.46%,96.80% 13.46%,97.00% 13.46%,97.20% 13.56%,97.40% 13.75%,97.60% 13.75%,97.80% 14.33%,98.00% 14.62%,98.20% 20.10%,98.40% 30.00%,98.60% 30.19%,98.80% 34.81%,99.00% 35.29%,99.20% 37.31%,99.40% 37.31%,99.60% 37.31%,99.80% 37.31%,100% 37.31%,100% 100%,0 100%)}

/* Match buttons to the soft month and show-date accent. */
.button{background:#ff8c75;border-color:#ff8c75;color:var(--ink)}
.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:4px 4px 0 #ff8c75}
.button:focus-visible{outline-color:#ff8c75}

/* Five-second neon opening, using the unaltered approved logo artwork. */
.neon-entrance{display:none}
.neon-opening .neon-entrance{display:grid;place-items:center;position:fixed;inset:0;z-index:1000;overflow:hidden;background:#080604;animation:neon-reveal 5s linear 2.2s forwards}
.neon-opening body{overflow:hidden}
.neon-room{position:absolute;inset:0;background:url('/assets/neon-room-v2.png') center/cover no-repeat;opacity:.3;animation:room-light 5s linear forwards}
.neon-wall-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,174,52,.16),transparent 62%);opacity:0;animation:sign-power 5s linear forwards}
.neon-sign{position:relative;width:min(76vw,950px);height:min(66vh,660px);overflow:visible;opacity:.035;animation:sign-power 5s linear forwards}
.neon-skip{position:absolute;bottom:24px;right:24px;padding:12px 18px;min-height:44px;background:rgba(0,0,0,.45);border:1px solid #77634b;color:#e6d8c1;font-size:14px;cursor:pointer}
.neon-skip:focus-visible{outline:2px solid #ffbe52;outline-offset:4px}
@keyframes sign-power{0%,18%{opacity:.035}22%,26%{opacity:.85}29%,32%{opacity:.18}36%,41%{opacity:1}44%,47%{opacity:.65}52%,100%{opacity:1}}
@keyframes room-light{0%,18%{opacity:.08}36%,100%{opacity:.48}}
@keyframes neon-reveal{0%,86%{opacity:1}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:650px){.neon-sign{width:94vw;height:60svh}.neon-skip{bottom:20px;right:20px}}
@media(prefers-reduced-motion:reduce){.neon-opening .neon-entrance{display:none}.neon-opening body{overflow:auto}}

/* Load both images before starting; preserve the overlay for repeat playback. */
.neon-opening:not(.neon-ready) .neon-entrance,.neon-opening:not(.neon-ready) .neon-room,.neon-opening:not(.neon-ready) .neon-sign,.neon-opening:not(.neon-ready) .neon-wall-glow{animation-play-state:paused}
.home-brand{display:flex;flex-direction:column;align-items:center;gap:6px}
.neon-play{display:flex;align-items:center;justify-content:center;width:44px;height:32px;min-height:32px;color:#ff8c75;background:transparent;border:1px solid #ff8c75;border-radius:3px;cursor:pointer;padding:4px}
.neon-play:hover{background:#ff8c75;color:var(--ink)}
.neon-play:focus-visible{outline:2px solid #ff8c75;outline-offset:4px}
@media(max-width:650px){.home-brand{margin-bottom:14px;gap:5px}.home-brand .wordmark{margin-bottom:0}.neon-play{height:36px}}
@media(prefers-reduced-motion:reduce){.neon-opening.neon-manual .neon-entrance{display:grid;opacity:1;visibility:visible}.neon-opening.neon-manual .neon-sign{opacity:1}.neon-opening.neon-manual .neon-wall-glow{opacity:1}.neon-opening.neon-manual .neon-room{opacity:.48}}

/* The neon is the poster's own logo pixels, locked to its final coordinates. */
.neon-sign{position:absolute;width:var(--board-width);height:calc(var(--board-width)*555/1103);overflow:hidden;transform:none}
.neon-room{background-position:center;opacity:.65}
.neon-wall-glow{background:radial-gradient(ellipse at 50% 28%,rgba(255,174,52,.2),transparent 60%)}
@keyframes room-light{0%,12%{opacity:.22}24%,100%{opacity:.75}}
@keyframes sign-power{0%,12%{opacity:.035}16%,20%{opacity:.95}23%,25%{opacity:.2}29%,34%{opacity:1}37%,39%{opacity:.6}43%,100%{opacity:1}}


/* A single wordmark and compact play/navigation control on every page. */
header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 4vw}
header .wordmark,.home header .wordmark{display:block;margin:0;text-align:left;font-size:clamp(20px,3vw,28px);letter-spacing:-.6px}
.header-controls{display:flex;position:relative;flex-shrink:0;align-items:center}
.header-controls .neon-play,.header-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;background:transparent;color:#ff8c75;border:1px solid #ff8c75;padding:8px;cursor:pointer}
.header-controls .neon-play{border-radius:3px 0 0 3px}
.header-menu-toggle{border-radius:0 3px 3px 0;border-left:0}
.header-controls button:hover{background:#ff8c75;color:var(--ink)}
.header-menu-toggle:focus-visible{outline:2px solid #ff8c75;outline-offset:4px}
.header-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#171614;color:var(--paper);border:1px solid #655c4c;box-shadow:0 8px 24px #0005;z-index:60}
.header-dropdown[hidden]{display:none}
.header-dropdown a{display:block;white-space:nowrap;padding:12px 14px;min-height:44px;font-size:17px;text-decoration:none}
.header-dropdown a:hover{background:#2b2722;color:#ff8c75}
@media(max-width:650px){header{display:flex;padding:14px 16px}.header-dropdown{min-width:210px}}

/* A fuller, warmly lit saloon remains visible around the fixed neon sign. */
.neon-room{background-position:center bottom}
@keyframes room-light{0%,12%{opacity:.5}24%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.neon-opening.neon-manual .neon-room{opacity:1}}

/* The hanging lamps sit in front of the wall-mounted neon. Match the room's cover crop. */
.neon-foreground-lights{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5;animation:room-light 5s linear forwards}
.neon-opening:not(.neon-ready) .neon-foreground-lights{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.neon-opening.neon-manual .neon-foreground-lights{opacity:1}}

/* Monthly color balance: artwork-led accents and consistent cream information. */
.home .month-divider{border-color:rgba(248,243,227,.32)}
.home .month-divider h3{color:var(--month-accent,var(--paper))}
.home .month-grid .show-date,.home .month-grid h3,.home .month-grid .card-highlight,.home .month-art>a{color:var(--paper)}
.home .month-grid .show-info{background:transparent;color:var(--paper);border:2px solid var(--paper);box-shadow:none}
.home .month-grid .show-info:hover,.home .month-grid .show-info:focus-visible{background:var(--month-accent);border-color:var(--month-accent);color:#171614;box-shadow:none}
.home .month-grid .show-date:hover,.home .month-grid h3 a:hover,.home .month-art>a:hover{color:var(--month-accent)}
.home .month-grid .poster-link:hover,.home .month-grid .show-card:target{outline-color:var(--month-accent)}
.home .month-section a:focus-visible{outline-color:var(--month-accent)}
.home .season-wide-heading .eyebrow,.home .venue-section .eyebrow{color:var(--paper)}
.home .season-wide-heading .show-times{border-color:rgba(248,243,227,.32)}
.home .season-ticket-price{color:var(--paper)}

/* Keep the opening glow on the logo strokes only. */
.neon-wall-glow{display:none}

/* Mobile month flow: heading, show posters, then Jack artwork. */
@media(max-width:650px){.home .month-content{display:flex;flex-direction:column}.home .month-itinerary{order:0}.home .month-art{order:1}}
.header-dropdown .poster-carousel-open{font:inherit;font-size:17px;font-weight:700;line-height:inherit;letter-spacing:inherit;text-transform:none;text-align:left;background:transparent;border:0;color:inherit;padding:12px 14px;min-height:44px;cursor:pointer;width:100%}.header-dropdown .poster-carousel-open:hover{background:#2b2722;color:#ff8c75}
#poster-carousel{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#171613;color:#f8f3e3;overflow:hidden}
#poster-carousel::backdrop{background:#171613}.carousel-stage{position:absolute;inset:0 0 110px}.carousel-neon{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#080604}.carousel-neon[hidden],.carousel-posters[hidden],.carousel-posters figure[hidden]{display:none!important}
.carousel-neon .neon-sign{left:50%;top:10%;transform:translateX(-50%);width:min(90vw,750px);height:auto;aspect-ratio:1103/555}.carousel-neon.playing .neon-sign{animation:sign-power 5s linear forwards}.carousel-neon.playing .neon-room,.carousel-neon.playing .neon-foreground-lights{animation:room-light 5s linear forwards}
.carousel-posters,.carousel-posters figure{height:100%;margin:0}.carousel-posters figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;animation:carousel-in .35s ease}.carousel-posters img{max-width:100%;max-height:calc(100% - 48px);width:auto;object-fit:contain}.carousel-posters figcaption{text-align:center;font-size:18px}
.carousel-controls{position:absolute;bottom:0;left:0;right:0;min-height:110px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:12px;background:#171613}.carousel-controls button{font:inherit;font-size:18px;min-height:44px;padding:9px 18px;border:1px solid #f8f3e3;background:#171613;color:#f8f3e3;cursor:pointer}.carousel-controls button:hover{background:#f8f3e3;color:#171613}.carousel-status{width:100%;margin:0;text-align:center;font-size:16px}.carousel-paused *{animation-play-state:paused!important}body.carousel-open{overflow:hidden}@keyframes carousel-in{from{opacity:0}to{opacity:1}}
@media(max-width:650px){.carousel-controls{gap:6px}.carousel-controls button{font-size:16px;padding:8px 12px}.carousel-posters figcaption{font-size:16px}}
@media(prefers-reduced-motion:reduce){.carousel-posters figure{animation:none}.carousel-neon .neon-sign{animation:none!important;opacity:1}}
.carousel-neon.playing{animation:carousel-neon-fade 5s linear forwards}@keyframes carousel-neon-fade{0%,80%{opacity:1}100%{opacity:0}}

/* Keep the room visible while each poster hangs in its central wall space. */
.carousel-stage{background:#080604 url('/assets/neon-room-v2.png') center/cover no-repeat;overflow:hidden}
.carousel-neon{background:transparent}.carousel-neon .neon-room{display:none}
.carousel-neon .neon-sign{left:var(--wall-center);top:var(--wall-top);width:var(--wall-width);height:var(--wall-height);transform:translateX(-50%)}
.carousel-posters{position:absolute;left:var(--wall-center);top:var(--wall-top);width:var(--wall-width);height:var(--wall-height);transform:translateX(-50%)}
.carousel-posters figure{position:relative;padding:12px;gap:0}.carousel-posters img{max-height:100%;max-width:90%;filter:brightness(.92) sepia(.08);box-shadow:4px 7px 12px #0009,0 0 2px #000;object-fit:contain}.carousel-posters figcaption{position:fixed;top:calc(100dvh - 162px - var(--wall-top));left:50%;transform:translateX(-50%);width:min(90vw,650px);padding:8px 12px;background:#171613e6;color:#f8f3e3}

.carousel-stage{background:#080604}.carousel-camera{position:absolute;inset:0;background:url('/assets/neon-room-v2.png') center/cover no-repeat;transform-origin:var(--wall-center) var(--camera-origin-y)}
.camera-opening .carousel-camera{animation:saloon-zoom 7s ease-in-out forwards}.camera-posters .carousel-camera{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}.camera-close .carousel-camera{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}
@keyframes saloon-zoom{0%,45%{transform:scale(1)}80%,100%{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}}
.camera-opening .carousel-neon.playing{animation:none;opacity:1}.camera-opening .carousel-neon.playing .neon-sign{animation-duration:7s}
.carousel-posters figure{padding:18px}.carousel-marquee{position:relative;height:calc(100% - 30px);max-width:var(--poster-width-limit);display:flex;flex-direction:column;align-items:center;background:#22170f;border:5px double #e8b454;outline:3px dotted #ffdf8a;outline-offset:2px;padding:5px 8px 8px;box-shadow:0 0 8px #ffbc4266,4px 8px 14px #0009}.marquee-title{margin:0 0 5px;padding:3px 12px;text-align:center;color:#251a10;background:#fff0c9;font-family:Georgia,serif;font-weight:bold;letter-spacing:.12em;font-size:12px;line-height:1.2;white-space:nowrap}.carousel-marquee img{min-height:0;max-height:calc(100% - 26px);max-width:100%;box-shadow:none;filter:brightness(.96)}.carousel-marquee figcaption{display:none}
@media(prefers-reduced-motion:reduce){.camera-opening .carousel-camera{animation:none;transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}}
/* Brass display case with individual warm bulbs around the perimeter. */
.carousel-marquee{border:0;outline:0;padding:18px 18px 25px;background:linear-gradient(110deg,#76521c,#e8c778 12%,#b17b2e 45%,#edcf83 75%,#896020);box-shadow:3px 4px 0 #5d3e18,6px 9px 15px #000b;isolation:isolate}
.carousel-marquee img{max-height:100%;order:0;background:#110e09}.marquee-title{position:absolute;bottom:6px;left:22px;right:22px;margin:0;padding:2px 4px;background:#241b12;color:#fff1d1;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.07em;order:1}
.marquee-bulbs{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 0 3px #ffd578)}
.bulbs-top,.bulbs-bottom{left:3px;right:3px;height:12px;background:radial-gradient(circle,#fffbea 0 2px,#ffe7a0 3px,#bd913a 4px,transparent 5px) center/16px 12px repeat-x}.bulbs-top{top:3px}.bulbs-bottom{bottom:3px}
.bulbs-left,.bulbs-right{top:14px;bottom:14px;width:12px;background:radial-gradient(circle,#fffbea 0 2px,#ffe7a0 3px,#bd913a 4px,transparent 5px) center/12px 16px repeat-y}.bulbs-left{left:3px}.bulbs-right{right:3px}
.camera-posters .carousel-posters figure{animation:carousel-in .8s ease}.camera-posters .carousel-neon.neon-to-marquee{animation:neon-to-marquee .8s ease forwards;pointer-events:none}.camera-posters .carousel-neon .neon-sign{animation:none;opacity:1}@keyframes neon-to-marquee{from{opacity:1}to{opacity:0;visibility:hidden}}
.camera-close .carousel-camera{animation:saloon-zoom-out 7s ease-in-out forwards}.camera-close{animation:saloon-return 7s linear forwards}.camera-close .carousel-neon.playing{animation:none;opacity:1}.camera-close .carousel-neon .neon-sign{opacity:1;animation:logo-return 7s ease-in-out forwards}
@keyframes saloon-zoom-out{0%,18%{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}65%,100%{transform:translateY(0) scale(1)}}
@keyframes logo-return{0%,65%{left:var(--wall-center);top:var(--wall-top);width:var(--wall-width);height:var(--wall-height)}85%,100%{left:var(--end-logo-left,var(--wall-center));top:var(--end-logo-top,var(--wall-top));width:var(--end-logo-width,var(--wall-width));height:var(--end-logo-height,var(--wall-height))}}
@keyframes saloon-return{0%,85%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.camera-close .carousel-camera{animation:none;transform:none}.camera-close .carousel-neon .neon-sign{animation:none}.camera-posters .carousel-posters figure{animation:none}}
/* One fixed aperture, based on the season's most common poster ratio. */
.carousel-marquee{width:min(calc((var(--wall-height) - 70px)*1103/1426*1.32825),var(--poster-width-limit));height:auto;aspect-ratio:1103/1426;flex:none;max-width:none;overflow:hidden}
.carousel-marquee img{position:absolute;left:18px;top:18px;width:calc(100% - 36px);height:calc(100% - 43px);max-width:none;max-height:none;object-fit:cover;object-position:center;display:block}
/* Fade the entire overlay so the homepage shows through continuously. */
#poster-carousel,#poster-carousel::backdrop{background:transparent}
.camera-close{animation:none}
#poster-carousel.carousel-finishing{animation:saloon-return 7s linear forwards}
/* Reference-based transparent dark frame placed over each poster. */
.carousel-marquee{padding:0;background:transparent;box-shadow:none;overflow:visible}
.carousel-marquee .marquee-bulbs,.carousel-marquee .marquee-title{display:none}
.carousel-marquee img:not(.marquee-overlay){left:12.7%;top:9.7%;width:74.6%;height:80.2%;filter:none;object-fit:cover;z-index:0}
.carousel-marquee img.marquee-overlay{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;filter:none;z-index:1;pointer-events:none;background:transparent;box-shadow:none}
/* The display case stays mounted; only images inside its aperture change. */
.carousel-posters{display:flex;justify-content:center;align-items:center}
.carousel-posters>.carousel-marquee{position:relative;transform:translateY(-12px)}
.carousel-marquee figure{position:absolute;left:12.7%;top:9.7%;width:74.6%;height:80.2%;padding:0;margin:0;display:block;overflow:hidden;z-index:0}
.carousel-marquee figure img.show-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none;background:transparent}
.marquee-now-showing{position:absolute;top:99%;left:50%;transform:translateX(-50%);width:max-content;max-width:130%;margin:0;padding:3px 7px;color:#dd381b;font-family:Georgia,serif;font-size:clamp(10px,1.2vw,16px);font-weight:900;letter-spacing:.08em;line-height:1.3;text-shadow:0 0 2px #fff3ae,0 0 5px #ffb52f;-webkit-text-stroke:.45px #ffc966;z-index:2;background:#160e09c9;border-radius:2px}
.camera-opening .carousel-camera{animation-duration:4.5s}.camera-opening .carousel-neon.playing .neon-sign{animation-duration:4.5s}
@keyframes saloon-zoom{0%,20%{transform:scale(1)}85%,100%{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}}
.camera-posters .carousel-posters figure{animation:carousel-in .5s ease}
/* Align by moving the room and sign together, with no independent logo motion. */
.camera-close .carousel-neon .neon-sign{animation:none;left:var(--wall-center);top:var(--wall-top);width:var(--wall-width);height:var(--wall-height);opacity:1}
@keyframes saloon-zoom-out{0%,18%{transform:translateY(var(--camera-shift-y)) scale(var(--camera-zoom))}70%,100%{transform:translate(var(--end-camera-x,0px),var(--end-camera-y,0px)) scale(var(--end-camera-scale,1))}}
/* A full-width lower panel attached to the dark marquee casing. */
.marquee-now-showing{box-sizing:border-box;left:2.8%;right:2.8%;top:96%;width:auto;max-width:none;transform:none;margin:0;min-height:22px;padding:6px 4px 5px;text-align:center;white-space:nowrap;background:linear-gradient(180deg,#35291d,#17110b 60%,#292017);border:2px solid #443426;border-top:1px solid #725536;border-radius:0;box-shadow:0 3px 3px #0008,inset 0 0 5px #0008;font-family:Georgia,serif;font-size:clamp(11px,1.2vw,16px);letter-spacing:.12em;line-height:1.2;color:#e54323;-webkit-text-stroke:.4px #ffc966;text-shadow:0 0 3px #ffc966,0 0 6px #b95a1b}
/* Reuse the frame's own dark casing texture for its integrated lower band. */
.marquee-now-showing{display:flex;align-items:center;justify-content:space-between;gap:.7em;padding:7px 8%;background-color:#211b15;background-image:url('/assets/marquee-dark-bulbs.png');background-size:106% 2500%;background-position:center 98%;border:0;border-radius:0;box-shadow:none;letter-spacing:0;top:96%;min-height:26px}
.marquee-now-showing .now-word,.marquee-now-showing .showing-word{display:flex;justify-content:space-between;align-items:center;min-width:0}.marquee-now-showing .now-word{flex:3}.marquee-now-showing .showing-word{flex:7}.marquee-now-showing span span{display:block}
/* Keep light bulbs exclusively on the main frame perimeter. */
.marquee-now-showing{background-image:linear-gradient(180deg,#292018,#211a14 48%,#17120e);background-size:100% 100%;background-position:center}

/* Supplied transparent bulb lettering, with its empty canvas hidden in CSS. */
.marquee-now-showing{display:block;top:96%;left:2.8%;right:2.8%;width:auto;aspect-ratio:1747/177;min-height:0;padding:0;overflow:hidden;background:transparent;border:0;box-shadow:none;transform:none}
.marquee-now-showing>img{position:absolute;display:block;width:114.482%;max-width:none;height:auto;left:-7.212%;top:-514.124%}
/* Keep transparent lettering independent of the poster image rules. */
.carousel-marquee .marquee-now-showing{left:0;right:0;top:98%;background:transparent;border:0;box-shadow:none;border-radius:0}
.carousel-marquee .marquee-now-showing>img{inset:auto;position:absolute;left:-7.212%;top:-514.124%;width:114.482%;height:auto;min-height:0;max-width:none;max-height:none;object-fit:contain;object-position:center;filter:none;background:transparent;box-shadow:none;z-index:0}

.intro-camera{position:absolute;inset:0;display:grid;place-items:center;transform-origin:0 0}
@media(min-width:651px){
 .neon-entrance .neon-room,.carousel-camera{background-position:center top}
 .neon-opening .intro-camera{animation:intro-room-align 5s ease-in-out forwards}
 .neon-opening:not(.neon-ready) .intro-camera{animation-play-state:paused}
 @keyframes intro-room-align{0%,56%{transform:translate(0,0) scale(1)}84%,100%{transform:translate(var(--intro-end-x,0px),var(--intro-end-y,0px)) scale(var(--intro-end-scale,1))}}
}
@media(prefers-reduced-motion:reduce){.neon-opening .intro-camera{animation:none}}

.feature-songs ul{list-style:none;padding-left:0}
.availability-poster{position:relative}.sold-out-banner{position:absolute;left:0;right:0;top:7%;padding:10px 8px;background:#b22f20;color:white;font:bold clamp(20px,2vw,32px)/1.2 Arial,sans-serif;text-align:center;letter-spacing:.08em;z-index:5;pointer-events:none}.sold-out-banner[hidden]{display:none}.show-poster-frame{position:relative}.ticket-unavailable{cursor:default;opacity:.65}

/* House Rules follows the existing venue typography and ruled sections. */
.house-rules{max-width:900px;margin:60px auto 0;padding-top:40px;border-top:2px solid rgba(248,243,227,.32);text-align:left;scroll-margin-top:30px}.house-rules h2{font-size:clamp(32px,4vw,48px);text-align:center}.house-rules dl{margin:0}.house-rules dl>div{padding:18px 0;border-bottom:1px solid rgba(248,243,227,.32)}.house-rules dt{font-weight:800}.house-rules dd{margin:6px 0 0}.house-rules-link{display:inline-block;margin-top:14px;font-weight:700}

.show-order-note{margin-top:22px;font-size:20px;line-height:1.5}.show-order-note p{margin:0 0 8px}.show-order-note a[href^="tel:"]{white-space:nowrap}

/* Cowboy Church live TV — scoped to this page only. */
.church .tv{position:relative;max-width:900px;margin:50px auto 0;padding-top:105px}
.church .tv-antenna{position:absolute;top:0;left:50%;width:130px;height:105px;transform:translateX(-50%)}
.church .tv-antenna-left,.church .tv-antenna-right{position:absolute;bottom:16px;left:62px;width:5px;height:110px;background:linear-gradient(90deg,#57534a,#e9e4d6,#7c7668);border-radius:5px;transform-origin:bottom;transform:rotate(-38deg)}
.church .tv-antenna-right{transform:rotate(38deg)}
.church .tv-antenna-base{position:absolute;bottom:0;left:38px;width:54px;height:24px;border-radius:50% 50% 0 0;background:linear-gradient(#5c5344,#2c251d)}
.church .tv-cabinet{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:18px;padding:24px;border:7px solid #493022;border-radius:34px;background:repeating-linear-gradient(1deg,#744c31 0,#805537 3px,#754c31 5px,#82563a 8px);box-shadow:inset 0 0 0 3px #c0925c,inset 0 -8px 12px #0007,6px 6px 0 var(--paper)}
.church .tv-screen{position:relative;aspect-ratio:16/9;background:#0e0d0b;border:12px solid #2b2925;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 22px #000,0 0 0 2px #b58a54}
.church .tv-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.church .tv-panel{background:#c5af82;border-radius:12px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:14px}
.church .tv-brand{font-size:10px;letter-spacing:2px;font-weight:800;color:#3a3126}
.church .tv-knob{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#777163,#2e2b25);border:4px solid #403b31;position:relative}
.church .tv-knob:after{content:"";position:absolute;left:50%;top:6px;width:5px;height:32px;background:#bdb394;border-radius:4px;transform:translateX(-50%) rotate(-38deg)}
.church .tv-knob-small{width:38px;height:38px}
.church .tv-speaker{width:100%;flex:1;min-height:60px;background:repeating-linear-gradient(0deg,#39392d 0 2px,#b6a277 2px 6px);border-radius:3px}
.church .tv-feet{display:flex;justify-content:space-between;margin:0 70px}
.church .tv-feet span{width:20px;height:18px;background:#3d3025;border-radius:0 0 4px 4px;transform:skew(-13deg)}
.church .tv-feet span:last-child{transform:skew(13deg)}
.church .tv-note{font-size:19px;margin:30px auto 0;max-width:620px}
@media(max-width:650px){.church .tv{padding-top:96px}.church .tv-cabinet{grid-template-columns:1fr;padding:12px;border-width:5px;border-radius:24px}.church .tv-panel{flex-direction:row;padding:10px 14px}.church .tv-knob{width:44px;height:44px;flex-shrink:0}.church .tv-knob:after{height:26px}.church .tv-speaker{min-height:34px}.church .tv-feet{margin:0 40px}}
/* Fit the supplied panel within the existing narrow-phone broadcast padding. */
@media(max-width:450px){.church .tv-panel{padding-inline:8px;gap:8px}.church .tv-speaker{min-width:24px}.church .tv-brand{flex-shrink:0}}

/* Cowboy Church user-selected player; poster and player are mutually exclusive. */
.church [data-church-tv] .tv-screen{min-height:224px}
.church [data-church-tv] .tv-idle,.church [data-church-tv] .tv-player-host{position:absolute;inset:0}
.church [data-church-tv] .tv-idle img{display:block;width:100%;height:100%;object-fit:contain}
.church [data-church-tv] .tv-player-host iframe{border-radius:0;min-height:200px;min-width:200px}
.church [data-church-tv] [hidden]{display:none!important}
.church [data-church-tv] .tv-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.church [data-church-tv] .tv-actions .button{font-size:22px;min-height:52px;white-space:normal;max-width:100%}
.church [data-church-tv] .tv-status{font-size:18px;margin:16px 0 0}
.church [data-church-tv] .tv-status:empty{display:none}
/* Keep the entire mounted native player's rectangular viewport unobscured. */
.church [data-church-tv] .tv-screen:has(.tv-player-host:not([hidden])){border-radius:12px}
/* Cowboy Church TV responsive containment — no forced grid-item minimum. */
.church [data-church-tv],.church [data-church-tv] .tv-cabinet,.church [data-church-tv] .tv-screen,.church [data-church-tv] .tv-panel,.church [data-church-tv] .tv-idle,.church [data-church-tv] .tv-player-host{min-width:0;max-width:100%}
.church [data-church-tv] .tv-screen{width:100%}
.church [data-church-tv] .tv-player-host iframe{min-width:0;max-width:100%}
@media(max-width:650px){
  .church .broadcast:has([data-church-tv]){padding-inline:10px;border-width:8px}
  .church [data-church-tv] .tv-cabinet{grid-template-columns:minmax(0,1fr);padding:8px;border-width:4px}
  .church [data-church-tv] .tv-screen{border-width:8px;min-height:216px}
  .church [data-church-tv] .tv-screen:has(.tv-player-host:not([hidden])){border-radius:8px}
}

/* Cowboy Church native landscape idle art; crop background extensions only. */
.church [data-church-tv] .tv-idle img{object-fit:cover;object-position:center center}

/* Entrance-only seamless room; carousel keeps its original artwork. */
.neon-entrance .intro-camera > .neon-room{inset:auto;left:var(--intro-room-left,-50vw);top:var(--intro-room-top,-50vh);width:var(--intro-room-width,200vw);height:var(--intro-room-height,200vh);background-image:url('/assets/neon-room-full-v2.webp');background-position:center;background-size:100% 100%;background-repeat:no-repeat}

/* Cowboy Church compact cream-page TV layout only. */
.church.editorial{padding-top:24px}
.church>.eyebrow{margin-bottom:8px}
.church>h1{font-size:clamp(42px,5vw,64px);padding-bottom:16px;margin-bottom:16px}
.church .church-intro{font-size:20px;line-height:1.4;margin-bottom:12px}
.church .broadcast:has([data-church-tv]){background:transparent;color:var(--ink);padding:0;border:0;outline:0;margin:8px 0 24px}
.church .broadcast:has([data-church-tv])>.eyebrow{color:var(--ink);margin-bottom:0}
.church [data-church-tv]{margin-top:12px}
@media(max-width:650px){.church.editorial{padding-top:20px}}

/* Cowboy Church walnut console frame only; player/controller unchanged. */
.church [data-church-tv]{padding-top:0;max-width:1000px}
.church [data-church-tv] .tv-cabinet{grid-template-columns:minmax(0,1fr) 112px;gap:18px 20px;padding:22px 24px 20px;border:9px solid #302017;border-radius:10px;background:linear-gradient(90deg,#20140b55,transparent 15%,#10090022 70%,#180d0855),repeating-linear-gradient(2deg,#513424 0px,#583a27 2px,#49301f 4px,#61432f 7px,#533622 10px);box-shadow:inset 0 0 0 2px #956d45,inset 0 3px 5px #d2a06b55,inset 0 -7px 9px #180d0988,0 7px 12px #39281730}
.church [data-church-tv] .tv-screen{width:100%;aspect-ratio:1.82;border:14px solid #a58b5c;border-radius:48px / 38px;background:#14110d;box-shadow:0 0 0 3px #3d2b1e,inset 0 0 0 3px #4b463a,0 2px 7px #1e100a;min-height:228px}
.church [data-church-tv] .tv-idle{border-radius:28px / 22px;overflow:hidden}
.church [data-church-tv] .tv-idle img{object-fit:cover;object-position:center}
.church [data-church-tv] .tv-screen:has(.tv-player-host:not([hidden])){border-radius:14px}
.church [data-church-tv] .tv-panel{min-width:0;padding:18px 12px;gap:24px;border:2px solid #806742;border-radius:4px;background:linear-gradient(90deg,#917c55,#c6b286 48%,#ac9568);box-shadow:inset 0 0 0 2px #d0bc9555,0 0 0 3px #342219;justify-content:flex-start;flex-direction:column}
.church [data-church-tv] .tv-brand{font-size:9px;letter-spacing:1.5px;color:#352e20}
.church [data-church-tv] .tv-console-dial{display:block;width:76px;height:76px;flex-shrink:0;border-radius:50%;border:8px solid #d0bb8c;background:radial-gradient(circle at 35% 25%,#625a49,#28251e 68%);box-shadow:0 0 0 2px #615138,1px 3px 5px #34291f88;position:relative}
.church [data-church-tv] .tv-console-dial:after{content:"";position:absolute;width:7px;height:43px;left:26px;top:8px;border-radius:2px;background:linear-gradient(90deg,#564c38,#d8c99f,#65593f);transform:rotate(-25deg)}
.church [data-church-tv] .tv-console-controls{display:grid;grid-template-columns:repeat(2,26px);gap:22px 16px}
.church [data-church-tv] .tv-console-controls span{display:block;width:26px;height:26px;border-radius:50%;border:3px solid #d1bf92;background:radial-gradient(circle at 35% 25%,#665e4c,#2b281f 70%);box-shadow:0 0 0 1px #685738,1px 2px 3px #34291f88}
.church [data-church-tv] .tv-console-speaker{grid-column:1/-1;height:112px;border:5px solid #3d291b;border-radius:3px;background:repeating-linear-gradient(90deg,#3a302388 0 1px,transparent 1px 4px),repeating-linear-gradient(0deg,#e0ca9755 0 1px,transparent 1px 4px),repeating-linear-gradient(45deg,#a39169 0 2px,#6e6045 2px 4px);box-shadow:inset 0 0 10px #21170c99,0 0 0 1px #a17a4d}
.church [data-church-tv] .tv-feet{height:72px;margin:0 9%;align-items:flex-start}
.church [data-church-tv] .tv-feet span{width:30px;height:72px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#2f1f15,#785234 45%,#3f2a1b);clip-path:polygon(8% 0,100% 0,65% 100%,15% 100%);transform:rotate(12deg);transform-origin:top;box-shadow:none}
.church [data-church-tv] .tv-feet span:last-child{transform:rotate(-12deg);clip-path:polygon(0 0,92% 0,85% 100%,35% 100%)}
@media(max-width:650px){
.church [data-church-tv] .tv-cabinet{grid-template-columns:minmax(0,1fr) 44px;gap:10px 8px;padding:7px;border-width:4px;border-radius:6px}
.church [data-church-tv] .tv-screen{border-width:6px;border-radius:24px / 20px;min-height:212px;aspect-ratio:1.35}
.church [data-church-tv] .tv-idle{border-radius:16px / 12px}
.church [data-church-tv] .tv-screen:has(.tv-player-host:not([hidden])){border-radius:6px}
.church [data-church-tv] .tv-panel{padding:10px 3px;gap:22px;border-width:1px;flex-direction:column}
.church [data-church-tv] .tv-brand{font-size:5px;letter-spacing:.4px}
.church [data-church-tv] .tv-console-dial{width:32px;height:32px;border-width:4px}
.church [data-church-tv] .tv-console-dial:after{width:3px;height:18px;left:10px;top:3px}
.church [data-church-tv] .tv-console-controls{grid-template-columns:repeat(2,12px);gap:14px 8px}
.church [data-church-tv] .tv-console-controls span{width:12px;height:12px;border-width:2px}
.church [data-church-tv] .tv-console-speaker{height:54px;border-width:3px}
.church [data-church-tv] .tv-feet{height:40px;margin-inline:10%}
.church [data-church-tv] .tv-feet span{width:19px;height:40px}
}

/* Cowboy Church photographic console: one image includes cabinet and legs. */
.church [data-church-tv] .tv-photo-frame{position:relative;width:100%;max-width:100%;min-width:0}
.church [data-church-tv] .tv-photo-cabinet{display:block;width:100%;height:auto;max-width:100%;pointer-events:none}
/* Exact 16:9 viewport registered within the photographed glass aperture. */
.church [data-church-tv] .tv-photo-screen{position:absolute;left:11.19791667%;top:8.98437500%;width:69.40104167%;height:54.98046875%;min-width:0;max-width:100%;background:#080807;overflow:hidden;clip-path:polygon(32.739% 0.000%, 23.171% 0.355%, 16.886% 0.710%, 8.349% 1.421%, 2.908% 2.309%, 2.064% 3.197%, 1.220% 4.973%, 0.750% 8.526%, 0.469% 15.631%, 0.094% 33.393%, 0.000% 51.155%, 0.094% 68.917%, 0.563% 86.679%, 0.844% 93.783%, 1.970% 97.336%, 2.814% 98.224%, 10.600% 99.112%, 21.201% 99.645%, 32.364% 100.000%, 70.169% 100.000%, 80.488% 99.645%, 89.681% 99.112%, 97.186% 98.224%, 98.030% 97.336%, 99.156% 93.783%, 99.531% 86.679%, 99.906% 68.917%, 100.000% 51.155%, 99.906% 33.393%, 99.625% 15.631%, 99.343% 8.526%, 98.874% 4.973%, 98.124% 3.197%, 97.092% 2.309%, 91.276% 1.421%, 81.895% 0.710%, 75.891% 0.355%, 65.947% 0.000%)}
.church [data-church-tv] .tv-photo-screen .tv-idle{border-radius:0;overflow:hidden}
.church [data-church-tv] .tv-photo-screen .tv-idle img{object-fit:cover;object-position:center}
.church [data-church-tv] .tv-photo-screen .tv-player-host{overflow:visible}
.church [data-church-tv] .tv-photo-screen .tv-player-host iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;border:0;border-radius:0}
@media(max-width:650px){.church [data-church-tv] .tv-photo-screen .tv-idle{border-radius:0}}

/* Cowboy Church supplied streaming badges; no external Facebook destination. */
.church .church-stream-platforms{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:24px auto 20px;max-width:100%}
.church .church-stream-platform{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:20px;min-width:0}
.church .church-stream-logo{display:block;width:160px;height:160px;max-width:100%;object-fit:contain}
.church .church-shuttle{font-size:20px;line-height:1.5;margin:20px auto 0;max-width:620px}
@media(max-width:450px){.church .church-stream-platforms{gap:20px}.church .church-stream-logo{width:138px;height:138px}}

/* Home carousel: preserve the complete supplied Cowboy Church portrait. */
.carousel-marquee figure[data-carousel-church] .carousel-church-link{position:absolute;inset:0;display:block;width:100%;height:100%}
.carousel-marquee figure[data-carousel-church] img.show-slide{object-fit:contain;object-position:center}
.carousel-marquee figure[data-carousel-church] .carousel-church-link:focus-visible{outline:3px solid #f8f3e3;outline-offset:-3px}

/* Draft 106: a centered, spacious watch/visit column below the unchanged TV. */
.church [data-church-tv] .church-watch-section{max-width:680px;margin:36px auto 0;padding:0 16px;text-align:center;color:var(--ink);background:transparent}
.church .church-service-time{font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.3;margin:0 0 24px}
.church [data-church-tv] .church-watch-section .tv-actions{margin:0;gap:20px}
.church [data-church-tv] .church-watch-section .tv-actions .button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:60px;padding:14px 30px;font-size:24px;line-height:1.25;font-weight:800;background:#ff8c75;color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.church [data-church-tv] .church-watch-section .tv-actions .button:hover{background:#ffa28f}
.church [data-church-tv] .church-watch-section .tv-status{margin:24px auto 0;max-width:560px;line-height:1.5}
.church .church-playback-note{max-width:560px;margin:28px auto 0;font-size:21px;line-height:1.6;text-wrap:pretty}
.church .church-watch-section .church-stream-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;gap:48px;margin:38px auto 18px}
.church .church-watch-section .church-stream-platform{gap:8px;font-size:21px;font-weight:700;line-height:1.4;text-align:center}
.church .church-watch-section .church-stream-logo{width:168px;height:168px;max-width:100%;object-fit:contain;background:transparent}
.church .church-watch-section .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 6px;font-size:21px;font-weight:700;line-height:1.5;margin:0}
.church .church-visit-info{margin:40px auto 0;padding:30px 0 4px;border-top:1px solid #14131040}
.church .church-visit-info .church-shuttle{max-width:560px;font-size:20px;line-height:1.6;margin:0 auto 16px}
@media(max-width:650px){
.church [data-church-tv] .church-watch-section{margin-top:28px;padding-inline:4px}
.church .church-service-time{font-size:27px;margin-bottom:22px}
.church [data-church-tv] .church-watch-section .tv-actions .button{min-width:210px;min-height:58px;padding:14px 24px;font-size:23px}
.church .church-playback-note{font-size:20px;margin-top:26px}
.church .church-watch-section .church-stream-platforms{gap:22px;margin-top:30px}
.church .church-watch-section .church-stream-logo{width:142px;height:142px}
.church .church-watch-section .church-stream-platform{font-size:19px}
.church .church-visit-info{margin-top:32px;padding-top:26px}
}

/* Cowboy Church title area only: deliberate spacing and natural balanced copy. */
.church.editorial>.eyebrow{margin:0 0 28px}
.church.editorial>h1{margin:0 0 22px;padding-bottom:20px}
.church.editorial>.church-intro{width:100%;max-width:760px;margin:0 0 18px;font-size:20px;line-height:1.5;text-wrap:balance;overflow-wrap:normal;word-break:normal}
@media(max-width:650px){
.church.editorial>.eyebrow{margin-bottom:24px}
.church.editorial>h1{margin-bottom:20px;padding-bottom:18px}
.church.editorial>.church-intro{max-width:32ch;margin-bottom:18px}
}

/* Cowboy Church external viewing: the entire logo and label form one link. */
.church .church-watch-section>.church-playback-note{margin:0 auto}
.church .church-watch-section a.church-stream-platform{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;color:var(--ink);text-decoration:none}
.church .church-watch-section a.church-stream-platform>span{text-decoration:underline;text-underline-offset:5px}
.church .church-watch-section a.church-stream-platform:hover,.church .church-watch-section a.church-stream-platform:focus-visible{color:var(--red)}
.church .church-watch-section a.church-stream-platform:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* Cowboy Church working review copy: two centered instruction paragraphs. */
.church .church-watch-instructions{display:grid;gap:10px;max-width:560px;margin:0 auto;text-align:center}
.church .church-watch-instructions>.church-playback-note{max-width:100%;margin:0;text-wrap:balance}

/* Cowboy Church attendance and About Jack: spacious ruled sections, no cards. */
.church .church-watch-section>.church-visit-info{margin:48px auto 0;padding:40px 0 0;border-top:1px solid #14131040;text-align:center}
.church .church-visit-info h2{font-size:clamp(28px,3vw,36px);line-height:1.15;margin:0 0 22px;color:var(--ink)}
.church .church-attendance>p,.church .church-about>p{max-width:560px;margin:0 auto;font-size:21px;line-height:1.65;text-wrap:pretty}
.church .church-venue{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%;margin:28px auto 0;font-style:normal;font-size:22px;line-height:1.6}
.church .church-venue>strong{font-weight:800}
.church .church-attendance-phone{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:12px;padding:8px 6px;font-size:25px;font-weight:800;line-height:1.4;white-space:nowrap}
.church .church-attendance>.church-shuttle{margin:24px auto 0;font-size:20px}
.church .church-about{margin-top:44px;padding-top:36px;border-top:1px solid #14131040}
.church .church-about>h2{font-size:clamp(26px,2.5vw,32px)}
.church .church-about>p{font-size:20px}
.church .church-watch-section .church-about>.text-link{margin-top:20px}
@media(max-width:650px){
.church .church-watch-section>.church-visit-info{margin-top:36px;padding-top:30px}
.church .church-visit-info h2{margin-bottom:20px}
.church .church-attendance>p{font-size:20px}
.church .church-venue{margin-top:24px;font-size:21px}
.church .church-attendance-phone{font-size:24px}
.church .church-about{margin-top:36px;padding-top:30px}
}

/* Cowboy Church: keep the confirmed service time together. */
.church .church-time-token{white-space:nowrap}
.church .church-broadcast-heading,.church .church-service-time{text-wrap:balance}

/* Supplied Creative Monkey Design footer credit. */
footer .design-credit{display:flex;flex-direction:column;align-items:center;gap:24px;margin:32px auto 0}
footer .design-credit-label{margin:0;font-size:14px;line-height:1.5;letter-spacing:.06em}
footer .design-credit-logo-panel{width:244px;max-width:80vw;padding:0;border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:6px}
footer .dc-monkey{width:131px;height:84.75px;margin:0 auto;background:url('/assets/creative-monkey-design-full-cream-lettering.png') 0px -20.04px/131px 131px no-repeat}
footer .dc-words{width:244px;height:15.6px;margin:0 auto;background:url('/assets/creative-monkey-design-full-cream-lettering.png') 0px -200.4px/244px 244px no-repeat}

header a.wordmark{position:relative;top:2px}
.carousel-marquee figure[data-show-id="2026-12-16"] img.show-slide{object-fit:contain;object-position:center}
.carousel-marquee figure[data-show-id="2026-12-23"] img.show-slide{object-fit:contain;object-position:center}
.carousel-marquee figure[data-show-id="2027-01-13"] img.show-slide{object-fit:contain;object-position:center}
.carousel-paused .carousel-posters figure{animation:none!important;opacity:1}
.carousel-paused .carousel-neon.neon-to-marquee{animation:none!important;opacity:0;visibility:hidden}
/* Creative Monkey Design credit on intro and poster carousel (same layout as footer, smaller). */
.stage-credit{position:absolute;left:18px;bottom:16px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;color:#e6d8c1}
.stage-credit-label{margin:0;font-size:11px;line-height:1.3;letter-spacing:.06em}
.stage-dc-monkey{width:79px;height:50.9px;background:url('/assets/creative-monkey-design-full-cream-lettering.png') 0 -12.02px/79px 79px no-repeat}
.stage-dc-words{width:146px;height:9.4px;background:url('/assets/creative-monkey-design-full-cream-lettering.png') 0 -120.24px/146px 146px no-repeat}
.neon-entrance .intro-credit{left:24px;bottom:20px}
@media(max-width:600px){.stage-credit{left:12px;bottom:12px}.neon-entrance .intro-credit{left:16px;bottom:16px}}
/* marquee frame v2 - window widened to the 2550x3300 poster ratio; same bulbs, uniform scale. */
.carousel-marquee{width:min(calc((var(--wall-height) - 70px)*1175/1426*1.32825),var(--poster-width-limit));aspect-ratio:1175/1426}
.carousel-marquee figure{left:12.17%;top:9.4%;width:75.66%;height:80.58%}

/* legacy Ray Price 0.74 art shown whole (contain) until the rebuilt file arrives */
.carousel-marquee figure[data-show-id="2027-03-10"] img.show-slide{object-fit:contain;object-position:center}
/* lettering fits the band (no side clipping on phone) */
.carousel-marquee .marquee-now-showing>img{left:0;top:-449.1%;width:100%}
