:root{--blue:#215897;--deep:#154d87;--turquoise:#5cd4ed;--white:#fff;--orange:#f49c34;--line:rgba(255,255,255,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--blue);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-weight:800;margin:0;line-height:1.02;letter-spacing:-.025em}h1{font-size:clamp(4rem,9vw,8rem)}h2{font-size:clamp(2.75rem,5.5vw,5.5rem);margin-bottom:36px}h2:empty{display:none}h3{font-size:2rem;letter-spacing:0}p{margin:0 0 20px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.container{width:min(1220px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:white;color:var(--deep);z-index:100}.skip:focus{top:10px}
header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--blue)}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:90px;height:84px;object-fit:contain}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}nav a{padding:8px 0}nav a:hover,nav a[aria-current=page]:not(.nav-ticket){color:var(--turquoise)}nav .nav-ticket{padding:12px 26px;background:var(--orange);color:#17395a;border-radius:12px;min-height:48px}.nav-ticket:hover{background:#ffb754;color:#17395a}.menu-toggle{display:none}
.hero{position:relative;min-height:680px;height:calc(100svh - 106px);max-height:950px;isolation:isolate;background:var(--deep);overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo{width:58%}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:right center;}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(24,82,143,.08),rgba(22,80,139,.24) 27%,rgba(20,77,135,.82) 48%,#154d87 58%),linear-gradient(0deg,#154d87,transparent 24%)}.hero-inner{height:100%;display:flex;justify-content:flex-end;align-items:center;padding-block:56px}.hero-copy{width:52%;max-width:620px}.eyebrow{color:var(--turquoise);letter-spacing:.22em;font-size:14px;font-weight:700;margin-bottom:28px}.eyebrow:before{content:'';display:inline-block;width:25px;height:2px;background:var(--turquoise);vertical-align:middle;margin-right:14px}.hero h1{font-size:clamp(4.5rem,8.5vw,8.2rem);line-height:.93;margin-bottom:32px;font-weight:900;letter-spacing:-.028em}.hero h1 em{font-style:normal;color:var(--turquoise)}.hero h1 small{font-size:.33em;vertical-align:middle;letter-spacing:.02em}.tagline{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(1.6rem,2.9vw,2.8rem);line-height:1.06;font-weight:800;margin-bottom:30px}.button{background:var(--orange);color:#17395a;border-radius:12px;min-height:56px;padding:15px 28px;display:inline-flex;align-items:center;font-size:16px;font-weight:700}.button:hover{background:#ffb754;transform:translateY(-2px)}
.section{padding:clamp(55px,7vw,100px) 0}.section:nth-child(even){background:var(--deep)}.page-heading{padding:75px 0 80px;background:linear-gradient(135deg,#297bb8,var(--deep));border-bottom:1px solid var(--line)}.show-list{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:rgba(10,58,108,.23)}.show-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding:26px 30px;min-height:116px}.show-row:last-child{border-bottom:0}.show-row:hover{background:rgba(255,255,255,.05)}.date{display:flex;align-items:center;gap:12px;color:var(--turquoise)}.date strong{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-size:3.2rem;line-height:1}.date span{font-size:14px;line-height:1.4;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.show-info p{font-size:16px;color:#d9eeff;margin:6px 0 0}.ticket{background:var(--orange);color:#17395a;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:700;text-align:center;white-space:nowrap}.ticket:hover{background:#ffb754}.text-link{display:inline-block;margin-top:24px;color:var(--turquoise);border-bottom:1px solid currentColor;font-weight:700}.video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#153c63;border:1px solid var(--line)}.video iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.banner{border-radius:18px}.charities{margin-top:36px;border-radius:18px}.original-banner{padding-block:45px}.artist{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.artist-photo img{border-radius:22px}.artist-copy h2{color:var(--turquoise);margin-bottom:26px}.artist-copy p,.artist-copy div{font-size:16px;line-height:1.85}.artist-copy p{margin-bottom:22px}.artist-section .video{margin-top:46px;max-width:900px;margin-inline:auto}.artist-section:nth-child(odd) .artist-photo{order:2}.sponsor-pages{max-width:1000px;margin:auto;display:grid;gap:32px}.sponsor-pages img{border-radius:12px}.ticket-story{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;line-height:1.85;margin-bottom:50px}.ticket-story ul{padding-left:22px}.ticket-story p{margin-bottom:20px}.gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--turquoise) var(--deep);padding-bottom:20px}.gallery figure{flex:0 0 calc((100% - 44px)/3);margin:0;scroll-snap-align:start}.gallery img{aspect-ratio:1;object-fit:contain;border-radius:18px;background:rgba(0,0,0,.12)}.gallery-tools{display:flex;justify-content:flex-end;gap:12px;margin-bottom:24px}.gallery-tools button{border:1px solid var(--line);background:transparent;color:white;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:700}.gallery-tools button:hover{background:var(--turquoise);color:var(--deep)}footer{border-top:1px solid var(--line);background:var(--deep);padding-block:32px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}footer nav{flex-wrap:wrap}
@media(min-width:1600px){.hero-copy{width:51%}}
@media(max-width:1000px){nav{gap:20px}.hero{min-height:620px}.hero-copy{width:58%}.hero h1{font-size:clamp(4rem,9vw,7rem)}.artist{gap:32px;grid-template-columns:.8fr 1.2fr}.show-row{grid-template-columns:130px 1fr auto;gap:18px;padding:24px}.ticket-story{gap:30px}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.header-inner{min-height:92px}.logo{width:76px;height:72px}.menu-toggle{display:block;border:1px solid var(--line);border-radius:10px;color:white;background:transparent;padding:10px 16px;font-size:16px}header nav{display:none;position:absolute;top:92px;left:0;right:0;padding:20px 24px;background:var(--deep);border-bottom:1px solid var(--line);align-items:stretch;gap:12px;font-size:16px}header nav.open{display:flex;flex-direction:column}.hero{height:auto;min-height:760px}.hero-inner{min-height:760px;padding-top:285px;padding-bottom:50px;align-items:flex-end}.hero-copy{width:100%;max-width:none}.hero-photo{width:58%}.hero-photo{width:100%}.hero-photo img{object-position:72% center;opacity:.85}.hero-shade{background:linear-gradient(0deg,#154d87 16%,rgba(21,77,135,.96) 46%,rgba(21,77,135,.24) 80%,rgba(21,77,135,.12))}.hero h1{font-size:clamp(4rem,15vw,6.8rem);line-height:.95;margin-bottom:24px}.eyebrow{margin-bottom:20px}.tagline{font-size:clamp(1.6rem,6.5vw,2.6rem)}h1{font-size:clamp(3.6rem,14vw,6rem)}h2{font-size:clamp(2.4rem,10vw,4rem);margin-bottom:26px}.page-heading{padding-block:50px}.show-row{grid-template-columns:100px minmax(0,1fr);gap:12px 18px;padding:22px 18px}.date strong{font-size:2.6rem}.date{gap:7px}.date span{font-size:14px}.show-info h3{font-size:1.8rem}.show-info p{font-size:14px;line-height:1.5}.ticket{grid-column:2;justify-self:start;min-height:44px}.show-row:last-child .date strong{font-size:2rem}.artist,.ticket-story{grid-template-columns:1fr;gap:30px}.artist-photo{max-width:460px}.artist-section:nth-child(odd) .artist-photo{order:0}.artist-copy h2{margin-bottom:22px}.video-grid{grid-template-columns:1fr;gap:24px}.video{border-radius:12px}.gallery figure{flex-basis:83%}.gallery{gap:18px}.sponsor-pages{gap:20px}.charities{margin-top:24px}.footer-inner{align-items:flex-start;flex-direction:column}footer nav{gap:15px 24px;font-size:14px}.banner,.sponsor-pages img{border-radius:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.reviews-section{background:linear-gradient(135deg,#174e86,#103b67)!important;border-top:1px solid var(--line);padding:72px 0 60px}.reviews-header{margin-bottom:36px}.reviews-header h2{font-size:clamp(2.8rem,5.8vw,5.2rem);line-height:1.04;margin:0;letter-spacing:-.018em}.reviews-header h2 em{color:var(--turquoise);font-style:normal}.reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 8px;align-items:stretch}.reviews-track::-webkit-scrollbar{display:none}.review-card{margin:0;flex:0 0 calc((100% - 24px)/2);min-width:0;scroll-snap-align:start}.original-thumb{border:1px solid #ffffff50;border-radius:16px;overflow:hidden;padding:0;display:block;background:#174e86;color:white;width:100%;text-align:left;box-shadow:0 10px 28px #04254530;cursor:zoom-in}.original-thumb img{width:100%;height:auto;object-fit:contain}.original-thumb span{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;padding:12px 18px;background:#154773}.original-thumb span:after{content:'+';font-size:22px;color:var(--turquoise);line-height:1}.original-thumb:hover{border-color:var(--turquoise)}.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.review-position{font-size:14px;color:#d4edff;font-weight:500}.reviews-controls>div{display:flex;gap:12px}.reviews-controls button,.review-dialog button{border:1px solid #ffffff50;background:transparent;color:white;padding:11px 20px;min-height:46px;border-radius:10px;font-size:14px;font-weight:700}.reviews-controls button:hover,.review-dialog button:hover{color:#163e65;background:var(--turquoise);border-color:var(--turquoise)}.reviews-controls button:disabled{opacity:.4;cursor:default;color:white;background:transparent}.review-dialog{width:min(1300px,calc(100vw - 36px));max-width:none;max-height:92vh;padding:20px;border:1px solid #ffffff55;border-radius:16px;background:#123c65;color:#fff;box-shadow:0 25px 100px #00152770}.review-dialog::backdrop{background:#041a30dc;backdrop-filter:blur(5px)}.review-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;font-size:16px;font-weight:600}.review-dialog-image{max-height:70vh;object-fit:contain;border-radius:7px}.review-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;font-size:14px}.review-dialog button{padding:9px 16px;min-height:44px}
@media(max-width:700px){.reviews-section{padding:50px 0 42px}.reviews-header{margin-bottom:26px}.reviews-header h2{font-size:clamp(2.45rem,9vw,3.4rem)}.reviews-track{gap:16px}.review-card{flex-basis:100%}.reviews-controls{margin-top:20px}.reviews-controls button{padding:11px 16px}.review-dialog{padding:12px;width:calc(100vw - 20px)}.review-dialog-bar{gap:12px;font-size:14px}.review-dialog-image{max-height:65vh}.review-dialog-footer{gap:10px}}

.hero h1.hero-headline{font-size:clamp(3.5rem,6.4vw,6rem);line-height:.98;margin-bottom:30px}
@media(max-width:700px){.hero h1.hero-headline{font-size:clamp(2.6rem,12vw,5rem);line-height:1;margin-bottom:26px}}

.charity-impact h2{margin-bottom:0}.charity-impact .charities{margin-top:30px}

.section.tour-description{background:linear-gradient(90deg,rgba(7,29,58,.90),rgba(7,29,58,.73)),url("/assets/hungry-for-laughs-stage.png") center center/cover no-repeat}.tour-description .ticket-story{margin-bottom:0}.tour-description h2{max-width:1000px}.tour-description strong{color:#fff}
@media(max-width:700px){.section.tour-description{background:linear-gradient(rgba(7,29,58,.83),rgba(7,29,58,.88)),url("/assets/hungry-for-laughs-stage.png") center center/cover no-repeat}}

.ticket-completed,.ticket-completed:hover{background:rgba(255,255,255,.08);color:#d9eeff;box-shadow:inset 0 0 0 1px var(--line)}
