/* ==========================================================

/* KNK launch validation fixes — 2026-08-27 */
@media (max-width: 1180px) {
  body.page-id-99 .sponsors-impact-heading,
  body.page-id-99 .sponsors-categories-heading,
  body.page-id-150 .sponsors-impact-heading,
  body.page-id-150 .sponsors-categories-heading {
    font-size: 28px !important;
    line-height: 1.15 !important;
    max-width: 22ch;
    margin-inline: auto;
    text-wrap: balance;
  }
}

@media (max-width: 599px) {
  body.page-id-99 .sponsors-impact-heading,
  body.page-id-99 .sponsors-categories-heading,
  body.page-id-150 .sponsors-impact-heading,
  body.page-id-150 .sponsors-categories-heading {
    font-size: 22px !important;
    line-height: 1.15 !important;
    max-width: 20ch;
  }

  body.page-id-95 .travel-transport-card h4 {
/*     font-size: 14px !important; */
    line-height: 1.15 !important;
    text-wrap: balance;
  }

  body.page-id-97 .merchandise-style-heading,
  body.page-id-148 .merchandise-collection-heading {
    font-size: 17px !important;
    line-height: 1.15 !important;
    text-wrap: balance;
  }

  :is(body.page-id-79, body.page-id-137, body.page-id-61, body.page-id-139, body.page-id-49, body.page-id-141, body.page-id-95, body.page-id-146, body.page-id-97, body.page-id-148, body.page-id-99, body.page-id-150, body.page-id-107, body.page-id-158)
  :is(button, a.pill, a.btn, .cta-button, [class*="button"]) {
    min-height: 44px !important;
  }
}

   KA NUI KAI v2.0
   RESPONSIVE SYSTEM
   ----------------------------------------------------------
   Extracted in original cascade order from the approved
   v1.3 / v6.5.2 production stylesheet.

   Contains only production @media rules, including:
   desktop, laptop, tablet, mobile, orientation, touch,
   WordPress admin-bar, reduced-motion, and print overrides.
   ========================================================== */

@media (max-width: 1200px) {
  /* TABLET LANDSCAPE / SMALL LAPTOP
     Original rule order preserved. */

.schedule .section-title h2{
    font-size:clamp(28px,4vw,42px) !important;
  }
.cards{ gap:24px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:440px;
    padding:36px 34px 30px;
  }
  .day li{
    padding-left:56px;
    font-size:18px;
  }
  .day li::before{
    width:34px;
    height:34px;
  }
.schedule .day li::before{
    width:36px !important;
    height:36px !important;
  }
.schedule .section-title h2{
    font-size:clamp(29px,3.2vw,42px) !important;
  }

  .schedule .cards{
    gap:22px;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:382px;
    padding:30px 26px 24px;
  }

  .schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:49px !important;
    font-size:15px !important;
  }

  .schedule .day li::before{
    width:31px !important;
    height:31px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:50px !important;
    padding-left:52px !important;
    font-size:16px !important;
  }

  .schedule .cards .day li::before{
    width:35px !important;
    height:35px !important;
  }
.schedule-page-overview .schedule-page-cards{
    max-width:1080px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1120px,95vw) !important;
    max-width:1120px !important;
    gap:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13.5px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1160px,95vw) !important;
    max-width:1160px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13px !important;
    gap:10px !important;
  }
.sponsors-page .sponsors-impact-heading,
  .sponsors-page .sponsors-categories-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.sponsors-page .experience .section-title > p:last-child{
    width:min(980px,92vw) !important;
    max-width:980px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.mailing-list-page .mailing-expect-heading,
  .mailing-list-page .mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.mailing-list-page .mailing-section .section-title > p:last-child{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.hawaiian-mailing-list-page .hawaiian-mailing-expect-heading,
  .hawaiian-mailing-list-page .hawaiian-mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-mailing-list-page .hawaiian-mailing-signup-copy{
    width:min(920px,92vw) !important;
    max-width:920px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child{
    white-space:normal !important;
  }
.sponsors-page .page-hero > p,
  .sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.merchandise-page .merchandise-coming-heading,
  .merchandise-page .merchandise-collection-heading,
  .merchandise-page .merchandise-style-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }

  .merchandise-page .merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.merchandise-page .page-hero > p{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    white-space:normal !important;
  }
.hawaiian-merchandise-page .hawaiian-merchandise-hero-copy,
  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    white-space:normal !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.travel-page .travel-hero-copy,
  .travel-page .travel-destination-heading,
  .travel-page .travel-destination-copy,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-expect-copy,
  .travel-page .travel-details-heading{
    white-space:normal !important;
  }

  .travel-page .travel-destination-heading,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-details-heading{
    font-size:clamp(30px,5vw,42px) !important;
  }

  .travel-page .travel-hero-copy,
  .travel-page .travel-destination-copy,
  .travel-page .travel-expect-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
  }
.travel-page .travel-transport-card h4{
    white-space:normal !important;
/*     font-size:clamp(22px,4.5vw,30px) !important; */
  }

  .travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .genre.travel-transport-card h4{
/*     font-size:24px !important; */
    white-space:normal !important;
  }
.hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-copy,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    white-space:normal !important;
  }

  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-expect-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.schedule-page .schedule-page-hero > p,
  .schedule-page .schedule-page-updates-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.schedule-page .schedule-page-intro{
    position:static !important;
    left:auto !important;
    transform:none !important;
    width:min(940px,92vw) !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-announcement-copy,
  .lineup-page .lineup-stages-heading{
    white-space:normal !important;
  }

  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-stages-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-stages-copy{
    white-space:normal !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-announcement-copy,
  .hawaiian-lineup-page .haw-lineup-stages-heading,
  .hawaiian-lineup-page .haw-lineup-stages-copy{
    white-space:normal !important;
  }

  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-stages-heading{
    font-size:clamp(28px,4.8vw,40px) !important;
  }

  .hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-hero-copy,
  .festival-page .festival-experience-heading,
  .festival-page .festival-experience-copy,
  .festival-page .festival-vision-heading,
  .festival-page .festival-vision-copy{
    white-space:normal !important;
  }

  .festival-page .festival-experience-heading,
  .festival-page .festival-vision-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .festival-page .festival-hero-copy,
  .festival-page .festival-experience-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-vision-copy,
  .festival-page .festival-sustainability-heading,
  .festival-page .festival-sustainability-copy{
    white-space:normal !important;
  }

  .festival-page .festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    line-height:1.1 !important;
  }
.festival-page .festival-vision-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
    white-space:normal !important;
  }
.hawaiian-festival-page .haw-festival-experience-heading,
  .hawaiian-festival-page .haw-festival-vision-heading,
  .hawaiian-festival-page .haw-festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .hawaiian-festival-page .haw-festival-hero-copy,
  .hawaiian-festival-page .haw-festival-experience-copy,
  .hawaiian-festival-page .haw-festival-vision-copy,
  .hawaiian-festival-page .haw-festival-sustainability-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.contact-page .contact-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(28px,4.6vw,38px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav" !important;
    min-height:0 !important;
    padding:8px 12px !important;
    gap:8px !important;
  }

  .brand{
    grid-area:logo !important;
    transform:none !important;
  }

  .brand,
  .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    width:auto !important;
    min-width:145px !important;
    max-width:180px !important;
    padding:10px 16px !important;
    font-size:12px !important;
  }

  .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;
    padding:10px 14px !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .desktop-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav !important;
    display:none !important;
    position:static !important;
    width:100% !important;
    max-height:calc(100vh - 80px) !important;
    overflow-y:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    margin-top:8px !important;
    padding:16px !important;
    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.3) !important;
  }

  .nav.mobile-open{
    display:flex !important;
  }

  .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-align:center !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .nav > a::after{
    display:none !important;
  }

  .mobile-menu-actions{
    display:flex !important;
    padding-top:16px !important;
    gap:10px !important;
  }
}


@media (max-width: 992px) {
  /* TABLET PORTRAIT
     Original rule order preserved. */

.policy-page{
    padding:95px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:30px 22px;
  }

  .related-policies ul{
    columns:1;
  }

  .hero{
    min-height:auto;
    padding:0 0 45px;
    gap:24px;
  }

  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:28px;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
  }

  .hero-buttons{
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  .countdown-box{
    width:90%;
    min-width:0;
    padding:14px 18px;
  }

  section{
    padding:55px 22px;
  }

  .page-hero{
    padding:70px 22px;
  }

  .split,
  .cards,
  .genre-grid,
  .info-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .location ul{
    columns:1;
  }

  .mailing-box{
    flex-direction:column;
    width:100%;
  }

  .copy{
    flex-direction:column;
    text-align:center;
    align-items:center;
  }

  .footer-legal-links{
    margin-top:8px;
    gap:8px 14px;
  }
.policy-accordion summary{
    padding:16px 52px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  .policy-container{
    padding:26px 18px;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:6px;
  }
.topbar{
    padding:8px 12px;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    min-width:145px;
    padding:11px 18px;
    font-size:13px;
  }

  .mobile-menu-btn{
    padding:10px 15px;
    font-size:13px;
  }

  .nav{
    padding:18px;
    border-radius:18px;
  }

  .nav > a{
    font-size:16px;
    padding:15px 10px;
  }

  .mobile-menu-actions .pill{
    max-width:300px;
    font-size:15px;
    padding:14px 20px;
  }
body.admin-bar .topbar{
    top:46px;
  }
.poster-row::before{
    width:78%;
    top:45%;
  }

  .countdown-box{
    min-width:0;
    width:90%;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.genre:hover,
  .genre:focus-visible,
  .day:nth-child(1):hover,
  .day:nth-child(1):focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible,
  .day:nth-child(3):hover,
  .day:nth-child(3):focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:translateY(-6px);
  }
.art-card:hover,
  .art-card:focus-within,
  .mailing-box:focus-within{
    transform:translateY(-6px);
  }

  .mailing-box{
    border-radius:24px;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-8px) scale(1.025) !important;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobile 1.8s ease-in-out infinite !important;
    top:0 !important;
  }

  .poster-row::after{
    display:none;
  }
html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right{
    transform:translateY(20px);
    filter:blur(2px);
  }

  html.knk-reveal-ready .knk-reveal.knk-reveal-scale{
    transform:scale(.97);
  }

  html.knk-reveal-ready .knk-reveal.is-visible{
    transform:none;
    filter:none;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobileGentle 2.4s ease-in-out infinite !important;
    top:0 !important;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }

  .day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.hero{
    padding:0 0 42px;
    gap:18px;
  }

  .poster-row{
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    width:100%;
    padding:0 18px;
    gap:12px;
  }

  .hero-buttons .pill{
    width:100%;
    max-width:320px;
    min-width:0;
    padding:14px 20px;
    font-size:13px;
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
    padding:15px 18px;
    border-radius:16px;
  }

  .countdown-label{
    font-size:10px;
    letter-spacing:1.6px;
  }

  .countdown-date{
    font-size:15px;
    line-height:1.25;
  }

  .wave{
    height:42px;
  }

  .genre-grid,
  .info-grid,
  .cards{
    gap:18px;
  }

  .genre,
  .info-card,
  .day{
    min-height:0;
  }

  .genre{
    min-height:180px;
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:26px 22px;
  }

  .partner-row{
    gap:14px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    padding:12px;
    gap:10px;
  }

  .mailing-box .pill{
    width:100%;
  }

  footer{
    padding:42px 22px 22px;
  }

  .footer-grid{
    gap:24px;
  }
.hero{
    animation-duration:14s;
  }

  .hero::before{
    animation-duration:26s;
    opacity:.42;
  }

  .hero::after{
    opacity:.55;
    animation-duration:20s;
  }

  .poster-row::before{
    opacity:.58;
    animation-duration:14s;
  }

  .experience,
  .schedule,
  .mailing-section,
  .topbar,
  .page-hero::before{
    animation-duration:18s;
  }
.table-scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
.split{
    width:100%;
    max-width:none;
    grid-template-columns:1fr;
    gap:34px;
  }

  .art-card{
    width:min(100%,620px);
    max-width:620px;
    margin:0 auto;
  }

  .split > div:last-child{
    max-width:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.mailing-box{
        width:min(94%,560px);
        border-radius:28px;
        padding:16px;
        display:grid;
        gap:14px;
    }
    .mailing-box .email{
        height:58px;
    }
    .mailing-box .pill{
        width:100%;
        height:54px;
    }
.experience,
  .location,
  .partners,
  .mailing-section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .location-box{
    padding:36px 30px;
  }

  .mailing-box{
    width:min(88%,700px);
  }
.genre-grid{
    grid-template-columns:1fr;
  }

  .genre{
    min-height:190px;
  }

  .location ul{
    grid-template-columns:1fr;
  }

  .location-box{
    padding:30px 22px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    width:min(92%,520px);
    border-radius:24px;
    padding:12px;
  }

  .mailing-box .email{
    height:52px;
  }

  .mailing-box .pill{
    width:100%;
    height:50px;
  }
.schedule{
    background-attachment:scroll;
    animation-duration:32s;
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    transform:none;
    animation:
      knkScheduleBorderGlow 13s ease-in-out infinite;
  }

  .day::after{
    display:none;
  }

  .day:hover,
  .day:focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible{
    transform:translateY(-5px) !important;
  }
.day::before{
    animation-duration:14s;
  }

  .day::after{
    display:none;
  }

  .schedule .section-title h2{
    animation-duration:16s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.7px rgba(0,0,0,.70);
    animation-duration:11s;
  }

  .schedule .section-title h2::after{
    animation-duration:13s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.75px rgba(0,0,0,.80);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }

  .schedule .section-title::before{
    height:42px;
  }
.schedule .section-title h2{
    white-space:normal;
    font-size:clamp(28px,7vw,40px) !important;
    -webkit-text-stroke:1.25px var(--red);
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:knkScheduleBorderGlow 13s ease-in-out infinite;
  }
.schedule{
    padding-top:58px;
    padding-bottom:64px;
  }
  .schedule .section-title{
    margin-bottom:38px;
  }
  .schedule .section-title h2{
    font-size:clamp(28px,7vw,42px) !important;
    white-space:normal;
  }
  .cards{ gap:26px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:0;
    padding:32px 26px 26px;
  }
  .day h4{
    font-size:29px;
  }
  .day li{
    min-height:54px;
    padding-left:54px;
    font-size:17px;
  }
.schedule{
    padding-top:48px;
    padding-bottom:54px;
  }

  .schedule .section-title h2{
    white-space:normal !important;
    font-size:clamp(27px,7vw,40px) !important;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:0;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    white-space:normal !important;
  }
.contact-page .contact-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav";
    min-height:0;
    padding:8px 12px;
    gap:8px;
  }

  .brand{
    transform:none;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    display:inline-flex;
    min-width:0;
    width:auto;
    max-width:180px;
    padding:10px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    display:block;
    padding:10px 14px;
    font-size:12px;
    white-space:nowrap;
  }

  .nav{
    width:100%;
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    margin-top:8px;
    padding:16px;
  }

  .nav > a{
    font-size:15px;
    padding:13px 10px;
  }

  .mobile-menu-actions{
    padding-top:16px;
    gap:10px;
  }

  .mobile-menu-actions .pill{
    max-width:320px;
    padding:13px 18px;
    font-size:14px;
  }

  section{
    padding:56px 24px;
  }

  .page-hero{
    padding:66px 24px;
  }

  .page-hero h1{
    font-size:clamp(34px,7vw,54px);
    line-height:1.05;
  }

  .page-hero p{
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:15px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    max-width:100% !important;
    font-size:clamp(28px,5.5vw,40px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    width:100% !important;
    max-width:none !important;
    font-size:15px !important;
    line-height:1.58 !important;
    white-space:normal !important;
  }

  .split{
    grid-template-columns:1fr;
    gap:32px;
  }

  .art-card{
    width:min(560px,100%);
    margin-left:auto;
    margin-right:auto;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .cards{
    grid-template-columns:1fr;
    gap:20px;
    max-width:680px;
  }

  .genre,
  .info-card{
    min-height:180px;
    padding:22px;
  }

  .genre h4,
  .info-card h4{
    font-size:clamp(21px,3.8vw,27px);
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:30px 26px;
  }

  .location ul{
    columns:1;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .location li{
    position:relative;
    padding:10px 10px 10px 30px;
  }

  .location li::before{
    left:8px;
  }

  .partner-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .mailing-box{
    width:min(680px,100%);
  }

  .policy-page{
    padding:80px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:32px 24px;
  }

  .related-policies ul{
    columns:1;
  }

  footer{
    padding:48px 24px 24px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  .copy{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .footer-legal-links{
    justify-content:center;
  }
.topbar{
    padding:7px 8px;
    gap:6px;
  }

  .nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    max-width:128px;
    padding:8px 10px;
    font-size:10px;
  }

  .mobile-menu-btn{
    padding:8px 10px;
    font-size:11px;
  }

  .nav{
    padding:14px;
  }

  .nav > a{
    font-size:14px;
    padding:12px 8px;
  }

  section{
    padding:44px 16px;
  }

  .page-hero{
    padding:54px 18px;
  }

  .page-hero h1{
    font-size:clamp(30px,9vw,43px);
  }

  .page-hero p{
    font-size:14px !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:14px !important;
    line-height:1.58 !important;
  }

  .hero{
    min-height:auto;
    padding:18px 0 42px;
    gap:22px;
  }

  /*
   * Keep the three homepage posters intact.
   * They remain stacked in their original order on phones.
   */
  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:24px;
    padding:0;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

  .poster-row::before,
  .poster-row::after{
    display:none;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }

  .hero-buttons{
    width:100%;
    padding:0 16px;
    flex-direction:column;
    align-items:center;
  }

  .hero-buttons .pill{
    width:min(320px,100%);
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
  }

  .genre-grid,
  .info-grid,
  .partner-row{
    grid-template-columns:1fr;
  }

  .genre,
  .info-card{
    min-height:165px;
    padding:20px;
  }

  .cards{
    width:100%;
  }

  .day{
    padding:24px 18px;
  }

  .location-box{
    padding:25px 18px;
    border-width:4px;
    border-radius:21px;
  }

  .location li{
    padding:10px 8px 10px 28px;
    font-size:14px;
    line-height:1.4;
  }

  .location li::before{
    left:7px;
  }

  .mailing-box{
    flex-direction:column;
    gap:12px;
    padding:12px;
    border-radius:22px;
  }

  .mailing-box .email,
  .mailing-box .pill{
    width:100%;
  }

  .policy-container{
    padding:26px 18px;
  }

  .policy-accordion summary{
    padding:16px 50px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  footer{
    padding:42px 18px 22px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  footer ul{
    padding-left:0;
    list-style:none;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:7px;
  }

  .footer-legal-links a{
    white-space:normal;
  }
body.admin-bar .topbar{
    top:auto;
  }
/* Reduce excessive experience-card height without redesigning them. */
  .genre,
  .info-card{
    min-height:138px !important;
    padding:18px !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:6px !important;
    font-size:22px !important;
    line-height:1.05 !important;
  }

  /* Tighten the long mobile footer. */
  footer{
    padding-top:34px !important;
    padding-bottom:18px !important;
  }

  .footer-grid{
    gap:18px !important;
  }

  footer h2{
    margin-bottom:9px !important;
  }

  footer a{
    margin:5px 0 !important;
  }

  .copy{
    margin-top:24px !important;
    padding-top:14px !important;
    gap:12px !important;
  }

  .footer-legal-links{
    gap:5px !important;
  }
/* Tighten poster spacing while keeping poster size and order unchanged. */
  .poster-row{
    gap:18px !important;
  }

  .hero{
    gap:18px !important;
    padding-bottom:36px !important;
  }

  .countdown-wrap{
    margin-top:-2px !important;
  }

  .countdown-box{
    padding-top:11px !important;
    padding-bottom:11px !important;
  }

  .countdown-date{
    margin-top:2px !important;
  }

  /* Final experience-card proportion refinement. */
  .genre,
  .info-card{
    min-height:126px !important;
    padding:16px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:2px !important;
    font-size:21px !important;
  }

  /* Schedule card spacing. */
  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .day h4{
    margin-bottom:11px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel tightening. */
  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  .location-box p{
    margin-top:11px !important;
    margin-bottom:11px !important;
  }

  .location ul{
    margin-top:12px !important;
    margin-bottom:18px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Sponsor spacing. */
  .partner-row{
    gap:12px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:17px !important;
    padding-bottom:17px !important;
  }

  .partners .pill{
    min-width:165px !important;
  }

  /* Mailing section spacing. */
  .mailing-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .mailing-section .section-title{
    margin-bottom:18px !important;
  }

  .mailing-box{
    margin-top:16px !important;
  }

  /* Footer final tightening. */
  footer{
    padding-top:30px !important;
    padding-bottom:16px !important;
  }

  .footer-grid{
    gap:15px !important;
  }

  footer h2{
    margin-bottom:7px !important;
  }

  footer a{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .copy{
    margin-top:20px !important;
    padding-top:12px !important;
  }
body.home .poster-row{
/*     grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.home .genre-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .genre{
    min-height:116px !important;
    padding:14px 16px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:20px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:19px !important;
    margin-bottom:10px !important;
  }

  body.home .schedule .day li{
    min-height:40px !important;
    font-size:13px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:60px !important;
    padding:14px 16px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:8px !important;
    padding:10px !important;
  }

  body.home .mailing-box .email,
  body.home .mailing-box .pill{
    width:100% !important;
    margin-bottom:0 !important;
  }

  body.home footer{
    padding:24px 14px 12px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 12px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    text-align:center !important;
  }

  body.home footer .footer-grid > :nth-child(5) form{
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home footer h2{
    margin-bottom:6px !important;
  }

  body.home footer a{
    margin:3px 0 !important;
    font-size:11px !important;
  }

  body.home footer .copy{
    margin-top:14px !important;
    padding-top:8px !important;
    gap:7px !important;
    font-size:10px !important;
    text-align:center !important;
  }

  body.home footer .footer-legal-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:4px 8px !important;
  }
}

@media (max-width: 576px) {
  /* MOBILE
     Original rule order preserved. */

.page-hero h1{
    font-size:34px;
  }

  .section-title h3,
  .split h3,
  .location h3{
    font-size:30px;
  }

  .countdown-date{
    font-size:15px;
  }
.nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    min-width:135px;
    padding:9px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    padding:8px 12px;
    font-size:12px;
  }
.schedule .section-title::before{
    height:42px;
  }
  .schedule .section-title h2{
    font-size:clamp(25px,8.5vw,34px) !important;
  }
  .day h4::after{
    content:"──  ✿  ──";
    font-size:25px;
  }
  .schedule .center-button .pill{
    min-width:0;
    width:100%;
    max-width:310px;
  }
.schedule .day li::before{
    width:32px !important;
    height:32px !important;
  }
.schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:45px !important;
    font-size:14px !important;
  }

  .schedule .day li::before{
    width:28px !important;
    height:28px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:46px !important;
    padding-left:46px !important;
    font-size:14px !important;
  }

  .schedule .cards .day li::before{
    width:30px !important;
    height:30px !important;
  }
section{
    padding-left:13px;
    padding-right:13px;
  }

  .page-hero{
    padding-left:14px;
    padding-right:14px;
  }

  .mobile-header-ticket{
    max-width:110px;
    padding-left:8px;
    padding-right:8px;
    font-size:9px;
  }

  .mobile-menu-btn{
    padding-left:8px;
    padding-right:8px;
    font-size:10px;
  }

  .location-box{
    padding-left:15px;
    padding-right:15px;
  }
}

@media (min-width:901px){

  .topbar{
    grid-template-columns:76px minmax(0,1fr) auto;
    grid-template-areas:"logo nav actions";
    min-height:84px;
    padding:6px 3vw;
    gap:16px;
  }

  .brand{
    grid-area:logo;
    justify-self:start;
    align-self:center;
    transform:translateY(2px);
  }

  .brand,
  .nav-logo{
    width:72px;
    height:72px;
  }

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav;
    display:flex !important;
    position:static;
    width:auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0;
    padding:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }

  .nav > a{
    display:inline-flex;
    width:auto;
    min-height:44px;
    align-items:center;
    justify-content:center;
    color:#fff;
    border:0;
    padding:9px 8px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .desktop-actions{
    grid-area:actions;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:max-content;
  }

  .desktop-actions .pill{
    width:auto;
    padding:10px 14px;
    font-size:11px;
    white-space:nowrap;
  }

  .hero{
    min-height:720px;
    padding:68px 5vw 72px;
    gap:30px;
  }

  .poster-row{
    max-width:1230px;
    gap:16px;
  }
}

@media (min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .hero,
  .hero::before,
  .hero::after,
  .experience,
  .schedule{
    animation:none;
  }

  .pill,
  .day-poster,
  .genre,
  .info-card,
  .day{
    transition:none;
  }

  .pill:hover,
  .pill:focus-visible,
  .pill:active,
  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster,
  .wave{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .genre,
  .genre::before,
  .day,
  .day::before,
  .location-box,
  .partner-logo{
    transition:none !important;
  }

  .genre:hover,
  .genre:focus-visible,
  .day:hover,
  .day:focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .art-card,
  .art-card::before,
  .art-card img,
  .location-box::before,
  .mailing-section,
  .mailing-box,
  .email,
  footer a{
    animation:none !important;
    transition:none !important;
  }

  .art-card:hover,
  .art-card:focus-within,
  .art-card:hover img,
  .art-card:focus-within img,
  .mailing-box:focus-within,
  .email:focus,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }
}

@media(min-width:901px){

  .nav > a{
    position:relative;
    overflow:hidden;
    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease;
  }

  .nav > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--yellow),#fff,var(--yellow));
    transform:translateX(-50%);
    transition:width .28s ease;
    box-shadow:0 0 9px rgba(255,212,90,.52);
  }

  .nav > a:hover,
  .nav > a:focus-visible{
    background:transparent;
    color:var(--yellow);
    transform:translateY(-2px);
    text-shadow:0 0 12px rgba(255,212,90,.34);
  }

  .nav > a:hover::after,
  .nav > a:focus-visible::after{
    width:72%;
  }

  .desktop-actions .pill{
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease;
  }
}

@media(prefers-reduced-motion:reduce){
  .topbar,
  .brand a,
  .nav-logo,
  .nav > a,
  .nav > a::after,
  .mobile-menu-btn,
  .nav.mobile-open,
  .page-hero::before,
  .policy-sidebar a,
  .policy-sidebar a::before,
  .policy-accordion details,
  .policy-accordion summary,
  .policy-accordion summary::after,
  .back-home{
    animation:none !important;
    transition:none !important;
  }

  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  .mobile-menu-btn:hover,
  .mobile-menu-btn:focus-visible,
  .policy-accordion details:hover,
  .policy-accordion details[open],
  .back-home:hover,
  .back-home:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  .pill::before{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
    filter:none !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right,
  html.knk-reveal-ready .knk-reveal.knk-reveal-scale,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    transition:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day-poster,
  .genre,
  .info-card,
  .day,
  .art-card,
  .location-box,
  .partner-logo,
  .pill,
  .brand a,
  .nav > a,
  footer a{
    -webkit-tap-highlight-color:transparent;
  }

  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible,
  .art-card:hover,
  .art-card:focus-within,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible,
  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }

  .pill:hover,
  .pill:focus-visible{
    transform:none;
  }

  .pill:active{
    transform:translateY(1px) scale(.985);
    filter:brightness(.98);
  }

  .day-poster:active{
    transform:translateY(-4px) scale(1.012) !important;
    filter:
      brightness(1.04)
      saturate(1.04)
      drop-shadow(0 24px 30px rgba(0,0,0,.52)) !important;
  }

  .genre:active,
  .info-card:active,
  .day:active,
  .partner-logo:active{
    transform:translateY(-3px) scale(.995) !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  .hero{
    padding:24px 4vw 54px;
    gap:22px;
  }

  .poster-row{
    width:min(760px,100%);
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    flex-direction:row;
    gap:14px;
  }

  .hero-buttons .pill{
    min-width:145px;
  }

  .countdown-box{
    width:min(560px,92%);
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cards{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }

  .day{
    padding:24px 20px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){

  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
  }
}

@media print{

  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    filter:none !important;
    transform:none !important;
  }

  .topbar{
    position:static;
  }

  .hero,
  .page-hero,
  .schedule,
  .partners,
  footer{
    background:#fff !important;
    color:#000 !important;
  }
}

@media(min-width:901px){

  .nav a[aria-current="page"]::after,
  .nav .current-menu-item > a::after,
  .nav .current_page_item > a::after{
    width:72%;
  }
}

@media(prefers-reduced-motion:reduce){

  input,
  textarea,
  select,
  main p a,
  main li a{
    transition:none !important;
  }
}

@media(min-width:901px) and (max-width:1200px){

  .split{
    grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);
    gap:46px;
  }

  .art-card{
    max-width:560px;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    transition:none !important;
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transition:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .genre,
  .partners,
  .mailing-section,
  .experience{
    animation-duration:20s;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none;
  }

  .mailing-box .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .experience,
  .genre,
  .location::before,
  .partners,
  .mailing-section,
  .mailing-box .pill{
    animation:none !important;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:
      knkScheduleBorderGlow 15s ease-in-out infinite;
  }

  .schedule .center-button .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .schedule,
  .schedule::before,
  .day,
  .day::after,
  .schedule .center-button .pill{
    animation:none !important;
  }

  .day:nth-child(2){
    transform:none;
  }
}

@media(hover:none), (pointer:coarse){

  .day:hover::before,
  .day:focus-visible::before{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .day::before,
  .day::after,
  .schedule .section-title h2{
    animation:none !important;
  }

  .schedule .section-title h2{
    background:none;
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    background:#fff;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:#fff;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::before,
  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(min-width:2200px){

  body.home .split{
    width:min(88vw,3200px) !important;
    max-width:3200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(760px,1fr) minmax(820px,1fr) !important;
    gap:110px !important;
  }

  body.home .art-card{
    width:100% !important;
    max-width:900px !important;
  }

  body.home .split > div:last-child{
    width:100% !important;
    max-width:1100px !important;
  }

  body.home .genre-grid{
    width:min(84vw,2800px) !important;
    max-width:2800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .schedule .cards{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .location-box{
    width:min(80vw,2500px) !important;
    max-width:2500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partners .section-title,
  body.home .partners > p{
    width:min(76vw,1900px) !important;
    max-width:1900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
}

@media(min-width:2200px){

  /* ABOUT / FESTIVAL SECTION */

  main > .split{
    width:min(86vw,3400px) !important;
    max-width:3400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:120px !important;
    align-items:center !important;
  }

  main > .split .art-card{
    width:min(100%,1050px) !important;
    max-width:1050px !important;
    justify-self:end !important;
  }

  main > .split > div:last-child{
    width:100% !important;
    max-width:1200px !important;
    justify-self:start !important;
  }

  main > .split > div:last-child h3{
    max-width:100% !important;
    font-size:clamp(64px,4vw,110px) !important;
    line-height:1.02 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  main > .split > div:last-child p{
    max-width:1050px !important;
    font-size:28px !important;
    line-height:1.65 !important;
  }

  /* SPONSOR OPPORTUNITIES SECTION */

  main > .partners{
    text-align:center !important;
  }

  main > .partners .section-title{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  main > .partners > p{
    width:min(72vw,1800px) !important;
    max-width:1800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:26px !important;
  }

  main > .partners .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin:42px auto 40px !important;
    justify-content:center !important;
    align-items:center !important;
  }

  main > .partners .partner-logo{
    min-width:260px !important;
    padding:34px 48px !important;
    font-size:22px !important;
  }

  main > .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:1281px){
  .contact-page .contact-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .contact-page .contact-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.9vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .contact-page .contact-copy{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 20px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .contact-page .contact-email-line{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 22px !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
}

@media(min-width:1281px){
  .vendors-page .vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .vendors-page .vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.8vw,45px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .vendors-page .vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.65vw,42px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1281px){
  .hawaiian-vendors-page .haw-vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.55vw,41px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(30px,2.35vw,38px) !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1200px){

  .topbar{
    padding-left:3vw;
    padding-right:3vw;
  }

  .nav > a{
    padding-left:8px;
    padding-right:8px;
  }

  .footer-grid{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    grid-template-columns:
      minmax(120px,.85fr)
      minmax(145px,.95fr)
      minmax(170px,1.05fr)
      minmax(125px,.8fr)
      minmax(260px,1.35fr);
    gap:32px;
  }

  .copy{
    width:100%;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
  }

  .footer-grid > *{
    min-width:0;
  }
}

@media(min-width:901px) and (max-width:1199px){

  .topbar{
    grid-template-columns:64px minmax(0,1fr) auto;
    min-height:76px;
    padding:6px 18px;
    gap:8px;
  }

  .brand,
  .nav-logo{
    width:62px;
    height:62px;
  }

  .nav{
    gap:0;
  }

  .nav > a{
    min-height:40px;
    padding:8px 5px;
    font-size:10px;
    letter-spacing:0;
  }

  .desktop-actions{
    gap:5px;
  }

  .desktop-actions .pill{
    padding:9px 10px;
    font-size:9px;
  }

  section{
    padding-left:5vw;
    padding-right:5vw;
  }

  .page-hero{
    padding-left:5vw;
    padding-right:5vw;
  }

  .poster-row{
    max-width:1120px;
    gap:14px;
  }

  .split{
    gap:38px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cards{
    gap:20px;
  }

  .day{
    padding:25px 20px;
  }

  .day h4{
    font-size:22px;
  }

  .day li{
    font-size:14px;
  }

  .location-box{
    padding:32px;
  }

  footer{
    padding-left:4vw;
    padding-right:4vw;
  }

  /*
   * Keep the desktop footer in one five-column row on laptops.
   * The earlier 3-column rule caused SOCIAL and the mailing form
   * to drop onto a second row at widths around 1195px.
   */
  .footer-grid{
    grid-template-columns:
      minmax(105px,.80fr)
      minmax(120px,.88fr)
      minmax(145px,1fr)
      minmax(105px,.72fr)
      minmax(215px,1.30fr);
    gap:22px 18px;
    align-items:start;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  footer h2{
    font-size:12px;
  }

  footer a{
    font-size:12px;
  }

  .copy{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:left;
  }

  .footer-legal-links{
    justify-content:flex-end;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
  }

  section{
    padding:36px 18px;
  }

  .page-hero{
    padding:40px 20px;
  }

  .page-hero h1{
    font-size:clamp(30px,5vw,42px);
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(24px,3.8vw,32px) !important;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:13px !important;
    line-height:1.48 !important;
  }

  .split{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:24px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .genre,
  .info-card{
    min-height:150px;
    padding:18px;
  }

  .genre h4,
  .info-card h4{
    font-size:20px;
  }

  .cards{
    grid-template-columns:1fr;
    max-width:620px;
  }

  .location-box{
    width:100%;
    padding:24px 22px;
  }

  .location ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }

  .location li{
    min-width:0;
    padding:9px 8px 9px 27px;
    font-size:12px;
    line-height:1.35;
    white-space:normal;
  }

  .partner-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(orientation:landscape) and (min-width:901px) and (max-width:1366px){

  section{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    white-space:normal !important;
  }

  .location-box{
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
  }

  .location ul{
    columns:2;
  }
}

@media(min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Experience cards: reduce excessive tablet height */
  .genre,
  .info-card{
    min-height:150px;
    padding:20px 22px;
  }

  /* Destination / information panels: slightly tighter internal spacing */
  .location-box{
    padding:26px 24px;
  }

  /* Sponsor cards: one centered row per item at tablet portrait */
  .partner-row{
    grid-template-columns:1fr;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
  }

  .partner-logo{
    width:100%;
  }

  /* Mailing form: preserve breathing room inside the section */
  .mailing-box{
    width:min(620px,88%);
  }

  /* Footer: intentional two-column tablet layout */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 36px;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1;
    max-width:420px;
    width:100%;
  }

  .copy{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Restore a balanced 2 + 1 sponsor layout. */
  .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:720px !important;
    gap:16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-logo{
    width:100% !important;
  }

  .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 8px) !important;
    justify-self:center !important;
  }

  /* Keep input and button aligned on one row. */
  .mailing-box{
    width:min(660px,92%) !important;
    max-width:660px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
  }

  .mailing-box .email{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
  }

  .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap !important;
  }

  /* Two-column footer with centered full-width newsletter row. */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 34px !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:520px !important;
    justify-self:center !important;
    text-align:center !important;
  }

  .footer-grid > :nth-child(5) form{
    align-items:center !important;
  }

  .copy{
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:901px){

  /* Better vertical alignment in split sections. */
  .split{
    align-items:center !important;
  }

  /* Slightly tighter schedule cards. */
  .day{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  .day h4{
    margin-bottom:14px !important;
  }

  .day li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Slightly tighter destination / information panels. */
  .location-box{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .location-box p{
    margin-top:13px !important;
    margin-bottom:13px !important;
  }

  .location ul{
    margin-top:14px !important;
    margin-bottom:22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing and button emphasis. */
  .partner-row{
    align-items:stretch !important;
  }

  .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:70px !important;
  }

  .partners .pill{
    min-width:170px !important;
  }

  /* Tighten mailing section without changing layout. */
  .mailing-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .mailing-section .section-title{
    margin-bottom:28px !important;
  }

  .mailing-box{
    margin-top:22px !important;
  }

  /* Footer alignment and copyright spacing. */
  .footer-grid{
    align-items:start !important;
  }

  footer h2{
    min-height:16px !important;
  }

  .copy{
    margin-top:28px !important;
    padding-top:15px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Tighten stacked homepage poster spacing only on portrait tablets. */
  .poster-row{
    gap:20px !important;
  }

  /* Bring countdown closer to the hero buttons. */
  .countdown-wrap{
    margin-top:-4px !important;
  }

  .countdown-box{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  /* Slightly shorter experience cards and higher titles. */
  .genre,
  .info-card{
    min-height:142px !important;
    padding:18px 20px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:4px !important;
  }

  /* Tighten schedule cards. */
  .day{
    padding:22px 20px !important;
  }

  .day h4{
    margin-bottom:12px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel refinement. */
  .location-box{
    padding:24px 22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing. */
  .partner-row{
    gap:14px !important;
  }

  .partner-logo{
    min-height:64px !important;
  }

  /* Tighten mailing section. */
  .mailing-section{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .mailing-section .section-title{
    margin-bottom:22px !important;
  }

  .mailing-box{
    margin-top:18px !important;
  }

  /* Footer refinement. */
  footer{
    padding-top:42px !important;
  }

  .footer-grid{
    gap:24px 30px !important;
  }

  .copy{
    margin-top:24px !important;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .poster-row{
    gap:14px !important;
  }

  .genre,
  .info-card{
    min-height:136px !important;
  }

  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  footer{
    padding-top:30px !important;
  }
}

@media(min-width:901px){

  body.home .genre-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  body.home .genre{
    min-height:190px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
  }

  body.home .schedule .day{
    min-height:360px !important;
    padding:28px 24px !important;
  }

  body.home .schedule .day h4{
    font-size:22px !important;
    margin-bottom:16px !important;
  }

  body.home .schedule .day li{
    min-height:46px !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,220px)) !important;
    justify-content:center !important;
    gap:24px !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:76px !important;
    padding:20px 24px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    gap:12px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer .copy{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
}

@media(min-width:901px) and (max-width:1100px){

  body.home .genre{
    min-height:170px !important;
    padding:22px !important;
  }

  body.home .schedule .cards{
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:330px !important;
    padding:22px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:18px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
    font-size:13px !important;
  }

  body.home .partner-row{
    grid-template-columns:repeat(3,minmax(0,190px)) !important;
    gap:16px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  body.home .poster-row{
/*     grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:min(62vw,450px) !important;
    max-width:450px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  body.home .genre{
    min-height:132px !important;
    padding:18px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    max-width:680px !important;
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:22px 20px !important;
  }

  body.home .schedule .day h4{
    font-size:21px !important;
    margin-bottom:12px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    max-width:700px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 7px) !important;
    justify-self:center !important;
  }

  body.home .partner-logo{
    min-height:66px !important;
    padding:16px 18px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    width:min(660px,92%) !important;
    gap:10px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer{
    padding-top:34px !important;
    padding-bottom:14px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 28px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:min(500px,100%) !important;
    justify-self:center !important;
    text-align:center !important;
  }

  body.home footer .copy{
    margin-top:18px !important;
    padding-top:10px !important;
    text-align:center !important;
  }
}

@media (max-width:1200px){

  .nav > a{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:9.5px !important;
  }

  .desktop-actions .pill{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  /* Fluid experience grid:
     4 columns where space permits, then 3 before the 992px pivot. */
  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }

  /* Fluid schedule grid:
     3 columns on wider laptops and 2 columns before portrait stacking. */
  .cards{
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  }

  .day{
    min-width:0 !important;
  }

  .day li{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media (max-width:992px){

  .poster-row{
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .nav,
  .nav.mobile-open{
    width:min(720px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-row{
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .cards{
    grid-template-columns:1fr !important;
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .brand,
  .nav-logo{
    width:40px !important;
    height:40px !important;
  }

  .mobile-header-ticket{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .mobile-menu-btn{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .nav,
  .nav.mobile-open{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(720px,calc(100vw - 24px)) !important;
    max-height:calc(100vh - 58px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:1200 !important;
  }
}

@media (min-width:993px){

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .desktop-actions{
    display:flex !important;
  }

  .nav,
  .nav.mobile-open{
    display:flex !important;
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .nav > a{
    width:auto !important;
    border-bottom:0 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:993px) and (max-width:1200px){

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    width:100% !important;
    max-width:320px !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (max-width:576px){

  .poster-row{
    width:100% !important;
    max-width:100% !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    min-height:auto !important;
    padding-top:16px !important;
    padding-bottom:24px !important;
    gap:14px !important;
  }

  .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 32px)) !important;
    max-width:760px !important;
    gap:10px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  .hero-buttons{
    flex-direction:row !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero-buttons .pill{
    width:auto !important;
    min-width:150px !important;
  }

  .countdown-box{
    width:min(420px,calc(100vw - 32px)) !important;
    max-width:420px !important;
  }

  .split{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    gap:24px !important;
  }

  .art-card{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    max-width:295px !important;
  }

  .poster-row .day-poster{
    max-width:295px !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    padding-top:10px !important;
    padding-bottom:16px !important;
    gap:10px !important;
  }

  .hero-buttons{
    gap:8px !important;
    margin-top:6px !important;
  }

  .countdown-wrap{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .countdown-box{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .schedule{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .schedule .cards{
    gap:10px !important;
  }

  .schedule .day{
    padding:14px !important;
  }

  .schedule .day h4{
    margin-bottom:10px !important;
  }

  .schedule .day li{
    min-height:34px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
  }

  .schedule .day li::before{
    width:26px !important;
    height:26px !important;
    transform:scale(.9) !important;
    transform-origin:center !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .mailing-section{
    padding-bottom:34px !important;
  }

  footer{
    padding-top:26px !important;
  }

  .partner-logo{
    min-height:64px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

@media (max-width:576px),
       (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .mailing-section{
    padding-bottom:24px !important;
  }

  footer{
    padding-top:20px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}

@media (max-width:576px){

  .partners .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:14px !important;
  }

  .partners .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    box-sizing:border-box !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;
    width:min(560px,calc(100vw - 32px)) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero .hero-buttons{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (max-width:992px){

  .split{
    width:100% !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .split .art-card{
    width:min(560px,100%) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
  }

  .split > div:last-child{
    width:100% !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;

    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:12px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:center !important;

    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;

    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    grid-column:auto !important;
    flex:1 1 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:68px !important;

    margin:0 !important;
    padding:18px 12px !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
}

@media (min-width:1200px){

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  body .partners .partner-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:min(380px,100%) !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    grid-column:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:74px !important;
    margin:0 !important;
    justify-self:center !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
  }

  body .split .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body .split .art-card{
    max-width:330px !important;
  }

  body .split > div:last-child{
    max-width:430px !important;
  }
}

@media (max-width:782px){

  :root{
    --knk-fixed-header-height:82px;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height);
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 18px);
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
    align-self:center !important;
  }

  body.home main > .split > .art-card img,
  body.home main > section.split > .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body.home main > .split > div:last-child .eyebrow,
  body.home main > .split > div:last-child h3,
  body.home main > .split > div:last-child p,
  body.home main > section.split > div:last-child .eyebrow,
  body.home main > section.split > div:last-child h3,
  body.home main > section.split > div:last-child p{
    text-align:left !important;
  }

  body.home main > .split > div:last-child .pill,
  body.home main > section.split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body.home main > .split,
  body.home main > section.split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    max-width:330px !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    max-width:430px !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:64px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  :root{
    --knk-fixed-header-height:56px;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  :root{
    --knk-fixed-header-height:52px;
  }
}

@media (min-width:901px) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:76px;
  }
}

@media (min-width:1200px){

  :root{
    --knk-fixed-header-height:84px;
  }
}

@media (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape){

  body{
    overflow-x:hidden !important;
  }

  body main,
  body main > section{
    max-width:100% !important;
  }

  body main > section{
    scroll-margin-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body .hero,
  body .split,
  body .experience,
  body .schedule,
  body .location,
  body .partners,
  body .mailing-section{
    width:100% !important;
  }

  body .section-title,
  body .section-title h3,
  body .section-title p{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  body .pill{
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (min-width:1200px){

  body .hero .poster-row{
    width:min(92vw,1500px) !important;
    max-width:1500px !important;
    gap:clamp(18px,1.8vw,28px) !important;
  }

  body .split{
    width:min(92vw,1600px) !important;
    max-width:1600px !important;
    grid-template-columns:minmax(500px,.95fr) minmax(0,1.05fr) !important;
    gap:clamp(40px,4vw,64px) !important;
  }

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 40px)) !important;
    max-width:760px !important;
    gap:16px !important;
    margin-inline:auto !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(1040px,calc(100vw - 48px)) !important;
    max-width:1040px !important;
    gap:36px !important;
    margin-inline:auto !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;
    justify-self:end !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(760px,calc(100vw - 48px)) !important;
    max-width:760px !important;
    gap:18px !important;
    margin:28px auto !important;
  }

  body .partners .partner-logo{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .hero{
    min-height:auto !important;
    padding:
      clamp(26px,5vh,44px)
      12px
      clamp(34px,7vh,54px) !important;
    gap:clamp(18px,4vh,28px) !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;
    gap:12px !important;
    margin-inline:auto !important;
    padding:0 !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }

  body .split,
  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
    margin-inline:auto !important;
  }

  body .split .art-card,
  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:330px !important;
    justify-self:end !important;
  }

  body .split > div:last-child,
  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:430px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;
    gap:14px !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:18px 12px !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }

  body .cards{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    gap:18px !important;
    margin-inline:auto !important;
  }

  body .genre-grid,
  body .info-grid{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    margin-inline:auto !important;
  }
}

@media (orientation:landscape) and (max-height:600px){

  body main > section{
    padding-top:clamp(42px,8vh,64px) !important;
    padding-bottom:clamp(42px,8vh,64px) !important;
  }

  body .hero{
    padding-top:clamp(24px,5vh,38px) !important;
    padding-bottom:clamp(30px,6vh,48px) !important;
  }

  body .section-title{
    margin-bottom:clamp(24px,5vh,34px) !important;
  }

  body .page-hero{
    padding-top:clamp(52px,10vh,76px) !important;
    padding-bottom:clamp(52px,10vh,76px) !important;
  }
}

@media (max-width:950px){

  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    height:auto !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:18px 14px !important;

    overflow-y:auto !important;
    transform:translateX(-110%) !important;
    transition:
      transform .28s ease,
      opacity .22s ease,
      visibility .22s ease !important;

    z-index:100000 !important;
  }

  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    transform:translateX(0) !important;
  }

  /* Prevent any child element from appearing while the panel is closed. */
  body .topbar .nav:not(.mobile-open) *{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body .topbar .nav.mobile-open *{
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

@media (max-width:782px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (min-width:783px) and (max-width:950px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:62px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body .topbar,
  body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;

    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) auto !important;
    grid-template-areas:"logo ticket menu" !important;
    align-items:center !important;

    min-height:62px !important;
    height:62px !important;
    padding:6px 14px !important;
    gap:10px !important;

    z-index:99999 !important;
  }

  body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  body.admin-bar .topbar{
    top:32px !important;
  }

  body .topbar .brand{
    grid-area:logo !important;
    justify-self:start !important;
    width:50px !important;
    height:50px !important;
    margin:0 !important;
    transform:none !important;
  }

  body .topbar .brand a,
  body .topbar .nav-logo{
    width:50px !important;
    height:50px !important;
  }

  body .topbar .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:160px !important;
    max-width:220px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:11px 24px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;

    min-height:44px !important;
    margin:0 !important;
    padding:11px 18px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .desktop-actions{
    display:none !important;
  }

  /* Closed state: absolutely no navigation panel is visible. */
  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:16px !important;
    overflow-y:auto !important;

    background:#06233f !important;
    border-radius:0 0 18px 0 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.35) !important;

    transform:translateX(-110%) !important;
    z-index:100000 !important;
  }

  /* Open state: only the menu button / JavaScript may reveal it. */
  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    transform:translateX(0) !important;
  }

  body .topbar .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

  body .topbar .mobile-menu-actions{
    display:flex !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding:22px 18px 34px !important;
    gap:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(900px,calc(100vw - 44px)) !important;
    max-width:900px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:16px !important;
    justify-content:center !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,76vw) !important;
    max-width:620px !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  :root{
    --knk-fixed-header-height:58px;
  }

  body .topbar,
  body.admin-bar .topbar{
    min-height:58px !important;
    height:58px !important;
    grid-template-columns:50px minmax(0,1fr) auto !important;
    padding:5px 12px !important;
  }

  body .topbar .brand,
  body .topbar .brand a,
  body .topbar .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  body .topbar .mobile-header-ticket{
    min-width:145px !important;
    max-width:190px !important;
    min-height:42px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .topbar .mobile-menu-btn{
    min-height:42px !important;
    padding:10px 14px !important;
    font-size:12px !important;
  }

  body .hero{
    min-height:auto !important;
    padding:18px 10px 28px !important;
    gap:16px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(790px,calc(100vw - 20px)) !important;
    max-width:790px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:10px !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:12px !important;
    justify-content:center !important;
  }

  body .hero .hero-buttons .pill{
    min-width:150px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(560px,78vw) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1199px){

  body .hero{
    padding-top:16px !important;
    padding-bottom:24px !important;
  }

  body .hero .poster-row{
    margin-top:0 !important;
  }

  body main > section:not(.hero){
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}

@media (orientation:portrait) and (min-width:768px) and (max-width:799px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:640px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:800px) and (max-width:879px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:680px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:880px) and (max-width:1024px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:740px !important;
    max-width:calc(100vw - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:600px) and (max-width:767px){

/*   html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;

    grid-template-columns:none !important;
    grid-auto-columns:auto !important;

    width:calc(100vw - 40px) !important;
    max-width:672px !important;
    min-width:0 !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  } */

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;

    flex:0 0 auto !important;
    flex-basis:auto !important;

    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:auto !important;
    max-height:none !important;

    margin-left:auto !important;
    margin-right:auto !important;

    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (orientation:portrait) and (width:600px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:560px !important;
    max-width:560px !important;
  }
}

@media (orientation:portrait) and (width:640px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:600px !important;
    max-width:600px !important;
  }
}

@media (orientation:portrait) and (width:712px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
/*     width:668px !important; */
/*     max-width:668px !important; */
  }
}

@media (max-width:1199px){

  /* Closed menu remains completely hidden. */
  html body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin:0 !important;
    padding:16px !important;

    transform:translateX(-50%) translateY(-10px) !important;

    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.36) !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;

    z-index:100000 !important;
  }

  /* Open menu is centered beneath the fixed header. */
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    left:50% !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;

    transform:translateX(-50%) translateY(0) !important;
  }

  html body .topbar .nav > a,
  html body .topbar .mobile-menu-actions,
  html body .topbar .mobile-menu-actions .pill{
    box-sizing:border-box !important;
  }

  html body .topbar .nav > a{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
  }

  html body .topbar .mobile-menu-actions{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:stretch !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media (orientation:portrait) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,74px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 16px) !important;
  }

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,74px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 62px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,58px) !important;
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 12px) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 58px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 44px) !important;
  }
}

@media (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    padding:14px !important;
  }
}

@media (min-width:1024px) and (max-width:1279px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px 18px !important;
    column-gap:14px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * The 1280px reference does not stretch the navigation edge-to-edge.
   * It uses a centered navigation band with breathing room beside both
   * the logo and the action buttons. This proportional width reproduces it.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    justify-self:center !important;

    width:86% !important;
    max-width:560px !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:8px !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(9.75px,.94vw,11px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px 11px !important;

    font-size:clamp(8.5px,.78vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }

  html body .hero,
  html body.home .hero,
  html body main > .hero{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:auto !important;
    margin:0 !important;
    padding:28px 22px 46px !important;
  }

  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:end !important;

    width:min(1120px,calc(100vw - 44px)) !important;
    max-width:1120px !important;
    min-width:0 !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
    object-fit:contain !important;
  }

  html body .split,
  html body.home .split,
  html body.home main > .split,
  html body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;

    width:min(1120px,calc(100vw - 58px)) !important;
    max-width:1120px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    gap:40px !important;
  }
}

@media (orientation:portrait) and (max-width:1023px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 12px)) !important;
    max-width:520px !important;
    height:auto !important;
    max-height:calc(100dvh - 74px) !important;

    margin:0 !important;
    padding:8px 10px 10px !important;
    gap:0 !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    overflow-y:auto !important;
    transform:translate(-50%,0) !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    transform:translate(-50%,0) !important;
  }

  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    min-height:31px !important;
    height:31px !important;

    margin:0 !important;
    padding:4px 7px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }

  html body .topbar .mobile-menu-actions{
    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:none !important;

    margin:4px 0 0 !important;
    padding:5px 0 0 !important;
    gap:4px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:5px 9px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }
}

@media (orientation:portrait) and (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 8px) !important;
    max-width:calc(100vw - 8px) !important;
    padding:7px 8px 8px !important;
  }

  html body .topbar .nav > a{
    min-height:30px !important;
    height:30px !important;
    padding:4px 6px !important;
    font-size:10px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    min-height:31px !important;
    height:31px !important;
    font-size:10px !important;
  }
}

@media (min-width:1280px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px clamp(28px,3vw,58px) !important;
    column-gap:clamp(18px,1.5vw,28px) !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * Full middle-track navigation:
   * This is the required correction for the large empty gap that remained
   * between MAILING LIST and BUY TICKETS on the desktop-class viewports.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    justify-self:stretch !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 !important;
    padding:0 clamp(16px,1.35vw,26px) !important;
    gap:clamp(10px,.9vw,18px) !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(10px,.72vw,12px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px clamp(12px,.9vw,17px) !important;

    font-size:clamp(8.5px,.64vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(34px,3vw,58px) !important;
    padding-right:clamp(34px,3vw,58px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    padding-left:clamp(18px,1.4vw,28px) !important;
    padding-right:clamp(18px,1.4vw,28px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(18px,1.35vw,24px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 8px !important;
    gap:clamp(16px,1.15vw,23px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    padding:6px 0 !important;

    font-size:clamp(9.5px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(12px,.85vw,16px) !important;
    padding-right:clamp(12px,.85vw,16px) !important;
    font-size:clamp(8.5px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:18px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:15px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9.25px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:11px !important;
    padding-right:11px !important;
    font-size:8.25px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:24px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:clamp(18px,1.1vw,24px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(16px,1.2vw,22px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 4px !important;

    font-size:clamp(9px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.82vw,16px) !important;
    padding-right:clamp(11px,.82vw,16px) !important;
    font-size:clamp(8.25px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:16px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    padding-left:2px !important;
    padding-right:2px !important;
    font-size:9px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:clamp(18px,1.3vw,24px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.5px,.60vw,10.75px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    align-items:center !important;

    column-gap:clamp(18px,1.35vw,26px) !important;

    padding-left:clamp(28px,2.45vw,46px) !important;
    padding-right:clamp(28px,2.45vw,46px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:86% !important;
    max-width:86% !important;
    min-width:0 !important;

    justify-self:center !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 2px !important;

    font-size:clamp(9px,.62vw,10.5px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    margin:0 !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.78vw,15px) !important;
    padding-right:clamp(11px,.78vw,15px) !important;
    font-size:clamp(8.15px,.56vw,9.5px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:18px !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9px !important;
    padding-left:1px !important;
    padding-right:1px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:20px !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:clamp(22px,1.35vw,26px) !important;
    padding-left:clamp(40px,2.5vw,48px) !important;
    padding-right:clamp(40px,2.5vw,48px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.25px,.54vw,10.25px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    position:relative !important;
    overflow:hidden !important;

    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease !important;
  }

  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    content:"" !important;
    display:block !important;

    position:absolute !important;
    left:50% !important;
    bottom:4px !important;

    width:0 !important;
    height:2px !important;

    border-radius:999px !important;
    background:linear-gradient(
      90deg,
      var(--yellow),
      #fff,
      var(--yellow)
    ) !important;

    transform:translateX(-50%) !important;
    transition:width .28s ease !important;

    box-shadow:0 0 9px rgba(255,212,90,.52) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    color:var(--yellow) !important;
    background:transparent !important;
    transform:translateY(-2px) !important;
    text-shadow:0 0 12px rgba(255,212,90,.34) !important;
  }

  html body .topbar nav.nav > a:hover::after,
  html body .topbar nav.nav > a:focus-visible::after,
  html body .topbar .nav > a:hover::after,
  html body .topbar .nav > a:focus-visible::after{
    width:72% !important;
  }
}

@media (min-width:1280px) and (prefers-reduced-motion:reduce){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:10.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1600px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .mobile-menu nav.nav > a,
  html body .mobile-menu .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after,
  html body .mobile-menu nav.nav > a::after,
  html body .mobile-menu .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible,
  html body .mobile-menu nav.nav > a:hover,
  html body .mobile-menu nav.nav > a:focus-visible,
  html body .mobile-menu .nav > a:hover,
  html body .mobile-menu .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    translate:none !important;
    transform:translate3d(-50%,0,0) !important;
    transform-origin:center top !important;

    transition:opacity .18s ease, visibility 0s linear .18s !important;
    will-change:opacity !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
  }

  html body .topbar .nav{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  html body .topbar .nav.mobile-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;

    transition:opacity .18s ease, visibility 0s linear 0s !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    transform:translate3d(-50%,0,0) !important;
  }
}

@media (max-width:1199px) and (prefers-reduced-motion:reduce){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    transition:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  :root{
    --knk-fixed-header-height:76px;
  }

  html body{
    padding-top:76px !important;
  }

  html body.admin-bar{
    padding-top:76px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:76px !important;
    min-height:76px !important;

    margin:0 !important;
    padding:8px 14px !important;
    column-gap:10px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    position:static !important;
    inset:auto !important;

    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:52px !important;
    max-height:52px !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
    translate:none !important;
    transition:none !important;
    animation:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:4px 1px !important;

    font-size:clamp(7px,.78vw,8px) !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    align-items:center !important;
    justify-content:flex-end !important;

    width:max-content !important;
    margin:0 !important;
    gap:5px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    min-height:34px !important;
    height:34px !important;

    margin:0 !important;
    padding:6px 8px !important;

    font-size:6.8px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (max-width:900px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:1 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 30px)) !important;
    max-width:520px !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:10px 14px 12px !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    transform:translateX(-50%) !important;
    translate:none !important;
    transform-origin:center top !important;

    transition:none !important;
    animation:none !important;
    will-change:auto !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    left:50% !important;
    right:auto !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (max-width:480px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    left:15px !important;
    right:15px !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;
    transform:none !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav:not(.mobile-open),
  html body .topbar .nav:not(.mobile-open){
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav *,
  html body .topbar .nav *,
  html body .topbar nav.nav:not(.mobile-open) *,
  html body .topbar .nav:not(.mobile-open) *{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav:not(.mobile-open) > a,
  html body .topbar .nav:not(.mobile-open) > a{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    color:#fff !important;
    background:transparent !important;

    font-size:clamp(7.5px,.82vw,8.5px) !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  /* Restore the approved hover/shimmer underline within this range. */
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* ==========================================================
   HOMEPAGE WAVE BACKGROUND CORRECTION
   ----------------------------------------------------------
   The original clip-path cuts away the upper part of .wave.
   Because the page background is black, that transparent
   clipped area appears as a black strip. Keep the wave
   container cream and clip only an inner gradient layer.
   ========================================================== */

body.home .wave{
  position:relative !important;
  display:block !important;
  height:55px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#fff7e8 !important;
  clip-path:none !important;
}

body.home .wave::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:linear-gradient(135deg,var(--teal),var(--aqua),#fff) !important;
  clip-path:polygon(
    0 35%,
    8% 50%,
    17% 33%,
    27% 60%,
    38% 32%,
    50% 60%,
    62% 35%,
    75% 55%,
    87% 30%,
    100% 55%,
    100% 100%,
    0 100%
  ) !important;
}

@media (max-width:992px){
  body.home .wave{
    height:42px !important;
  }
}

/* v2.5.17: definitive desktop/ultrawide partner layout. Browser zooming out
   increases the CSS viewport and previously activated conflicting legacy
   overrides. Grid keeps a real gap at every desktop width in both languages. */
@media (min-width:1200px){
  main > .partners .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(900px,calc(100vw - 64px)) !important;
    max-width:900px !important;
    gap:clamp(18px,2vw,30px) !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  main > .partners .partner-logo,
  main > .partners .partner-logo:nth-child(1),
  main > .partners .partner-logo:nth-child(2),
  main > .partners .partner-logo:nth-child(3){
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* ==========================================================
   KA NUI KAI v2.0
   RESPONSIVE SYSTEM
   ----------------------------------------------------------
   Extracted in original cascade order from the approved
   v1.3 / v6.5.2 production stylesheet.

   Contains only production @media rules, including:
   desktop, laptop, tablet, mobile, orientation, touch,
   WordPress admin-bar, reduced-motion, and print overrides.
   ========================================================== */

@media (max-width: 1200px) {
  /* TABLET LANDSCAPE / SMALL LAPTOP
     Original rule order preserved. */

.schedule .section-title h2{
    font-size:clamp(28px,4vw,42px) !important;
  }
.cards{ gap:24px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:440px;
    padding:36px 34px 30px;
  }
  .day li{
    padding-left:56px;
    font-size:18px;
  }
  .day li::before{
    width:34px;
    height:34px;
  }
.schedule .day li::before{
    width:36px !important;
    height:36px !important;
  }
.schedule .section-title h2{
    font-size:clamp(29px,3.2vw,42px) !important;
  }

  .schedule .cards{
    gap:22px;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:382px;
    padding:30px 26px 24px;
  }

  .schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:49px !important;
    font-size:15px !important;
  }

  .schedule .day li::before{
    width:31px !important;
    height:31px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:50px !important;
    padding-left:52px !important;
    font-size:16px !important;
  }

  .schedule .cards .day li::before{
    width:35px !important;
    height:35px !important;
  }
.schedule-page-overview .schedule-page-cards{
    max-width:1080px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1120px,95vw) !important;
    max-width:1120px !important;
    gap:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13.5px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1160px,95vw) !important;
    max-width:1160px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13px !important;
    gap:10px !important;
  }
.sponsors-page .sponsors-impact-heading,
  .sponsors-page .sponsors-categories-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.sponsors-page .experience .section-title > p:last-child{
/*     width:min(980px,92vw) !important; */
    max-width:980px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.mailing-list-page .mailing-expect-heading,
  .mailing-list-page .mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.mailing-list-page .mailing-section .section-title > p:last-child{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.hawaiian-mailing-list-page .hawaiian-mailing-expect-heading,
  .hawaiian-mailing-list-page .hawaiian-mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-mailing-list-page .hawaiian-mailing-signup-copy{
    width:min(920px,92vw) !important;
    max-width:920px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child{
    white-space:normal !important;
  }
.sponsors-page .page-hero > p,
  .sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.merchandise-page .merchandise-coming-heading,
  .merchandise-page .merchandise-collection-heading,
  .merchandise-page .merchandise-style-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }

  .merchandise-page .merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.merchandise-page .page-hero > p{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    white-space:normal !important;
  }
.hawaiian-merchandise-page .hawaiian-merchandise-hero-copy,
  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    white-space:normal !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.travel-page .travel-hero-copy,
  .travel-page .travel-destination-heading,
  .travel-page .travel-destination-copy,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-expect-copy,
  .travel-page .travel-details-heading{
    white-space:normal !important;
  }

  .travel-page .travel-destination-heading,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-details-heading{
    font-size:clamp(30px,5vw,42px) !important;
  }

  .travel-page .travel-hero-copy,
  .travel-page .travel-destination-copy,
  .travel-page .travel-expect-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
  }
.travel-page .travel-transport-card h4{
    white-space:normal !important;
/*     font-size:clamp(22px,4.5vw,30px) !important; */
  }

  .travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .genre.travel-transport-card h4{
/*     font-size:24px !important; */
    white-space:normal !important;
  }
.hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-copy,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    white-space:normal !important;
  }

  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-expect-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.schedule-page .schedule-page-hero > p,
  .schedule-page .schedule-page-updates-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.schedule-page .schedule-page-intro{
    position:static !important;
    left:auto !important;
    transform:none !important;
    width:min(940px,92vw) !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-announcement-copy,
  .lineup-page .lineup-stages-heading{
    white-space:normal !important;
  }

  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-stages-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-stages-copy{
    white-space:normal !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-announcement-copy,
  .hawaiian-lineup-page .haw-lineup-stages-heading,
  .hawaiian-lineup-page .haw-lineup-stages-copy{
    white-space:normal !important;
  }

  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-stages-heading{
    font-size:clamp(28px,4.8vw,40px) !important;
  }

  .hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-hero-copy,
  .festival-page .festival-experience-heading,
  .festival-page .festival-experience-copy,
  .festival-page .festival-vision-heading,
  .festival-page .festival-vision-copy{
    white-space:normal !important;
  }

  .festival-page .festival-experience-heading,
  .festival-page .festival-vision-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .festival-page .festival-hero-copy,
  .festival-page .festival-experience-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-vision-copy,
  .festival-page .festival-sustainability-heading,
  .festival-page .festival-sustainability-copy{
    white-space:normal !important;
  }

  .festival-page .festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    line-height:1.1 !important;
  }
.festival-page .festival-vision-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
    white-space:normal !important;
  }
.hawaiian-festival-page .haw-festival-experience-heading,
  .hawaiian-festival-page .haw-festival-vision-heading,
  .hawaiian-festival-page .haw-festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .hawaiian-festival-page .haw-festival-hero-copy,
  .hawaiian-festival-page .haw-festival-experience-copy,
  .hawaiian-festival-page .haw-festival-vision-copy,
  .hawaiian-festival-page .haw-festival-sustainability-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.contact-page .contact-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(28px,4.6vw,38px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav" !important;
    min-height:0 !important;
    padding:8px 12px !important;
    gap:8px !important;
  }

  .brand{
    grid-area:logo !important;
    transform:none !important;
  }

  .brand,
  .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    width:auto !important;
    min-width:145px !important;
    max-width:180px !important;
    padding:10px 16px !important;
    font-size:12px !important;
  }

  .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;
    padding:10px 14px !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .desktop-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav !important;
    display:none !important;
    position:static !important;
    width:100% !important;
    max-height:calc(100vh - 80px) !important;
    overflow-y:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    margin-top:8px !important;
    padding:16px !important;
    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.3) !important;
  }

  .nav.mobile-open{
    display:flex !important;
  }

  .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-align:center !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .nav > a::after{
    display:none !important;
  }

  .mobile-menu-actions{
    display:flex !important;
    padding-top:16px !important;
    gap:10px !important;
  }
}


@media (max-width: 992px) {
  /* TABLET PORTRAIT
     Original rule order preserved. */

.policy-page{
    padding:95px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:30px 22px;
  }

  .related-policies ul{
    columns:1;
  }

  .hero{
    min-height:auto;
    padding:0 0 45px;
    gap:24px;
  }

  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:28px;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
  }

  .hero-buttons{
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  .countdown-box{
    width:90%;
    min-width:0;
    padding:14px 18px;
  }

  section{
    padding:55px 22px;
  }

  .page-hero{
    padding:70px 22px;
  }

  .split,
  .cards,
  .genre-grid,
  .info-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .location ul{
    columns:1;
  }

  .mailing-box{
    flex-direction:column;
    width:100%;
  }

  .copy{
    flex-direction:column;
    text-align:center;
    align-items:center;
  }

  .footer-legal-links{
    margin-top:8px;
    gap:8px 14px;
  }
.policy-accordion summary{
    padding:16px 52px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  .policy-container{
    padding:26px 18px;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:6px;
  }
.topbar{
    padding:8px 12px;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    min-width:145px;
    padding:11px 18px;
    font-size:13px;
  }

  .mobile-menu-btn{
    padding:10px 15px;
    font-size:13px;
  }

  .nav{
    padding:18px;
    border-radius:18px;
  }

  .nav > a{
    font-size:16px;
    padding:15px 10px;
  }

  .mobile-menu-actions .pill{
    max-width:300px;
    font-size:15px;
    padding:14px 20px;
  }
body.admin-bar .topbar{
    top:46px;
  }
.poster-row::before{
    width:78%;
    top:45%;
  }

  .countdown-box{
    min-width:0;
    width:90%;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.genre:hover,
  .genre:focus-visible,
  .day:nth-child(1):hover,
  .day:nth-child(1):focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible,
  .day:nth-child(3):hover,
  .day:nth-child(3):focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:translateY(-6px);
  }
.art-card:hover,
  .art-card:focus-within,
  .mailing-box:focus-within{
    transform:translateY(-6px);
  }

  .mailing-box{
    border-radius:24px;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-8px) scale(1.025) !important;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobile 1.8s ease-in-out infinite !important;
    top:0 !important;
  }

  .poster-row::after{
    display:none;
  }
html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right{
    transform:translateY(20px);
    filter:blur(2px);
  }

  html.knk-reveal-ready .knk-reveal.knk-reveal-scale{
    transform:scale(.97);
  }

  html.knk-reveal-ready .knk-reveal.is-visible{
    transform:none;
    filter:none;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobileGentle 2.4s ease-in-out infinite !important;
    top:0 !important;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }

  .day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.hero{
    padding:0 0 42px;
    gap:18px;
  }

  .poster-row{
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    width:100%;
    padding:0 18px;
    gap:12px;
  }

  .hero-buttons .pill{
    width:100%;
    max-width:320px;
    min-width:0;
    padding:14px 20px;
    font-size:13px;
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
    padding:15px 18px;
    border-radius:16px;
  }

  .countdown-label{
    font-size:10px;
    letter-spacing:1.6px;
  }

  .countdown-date{
    font-size:15px;
    line-height:1.25;
  }

  .wave{
    height:42px;
  }

  .genre-grid,
  .info-grid,
  .cards{
    gap:18px;
  }

  .genre,
  .info-card,
  .day{
    min-height:0;
  }

  .genre{
    min-height:180px;
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:26px 22px;
  }

  .partner-row{
    gap:14px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    padding:12px;
    gap:10px;
  }

  .mailing-box .pill{
    width:100%;
  }

  footer{
    padding:42px 22px 22px;
  }

  .footer-grid{
    gap:24px;
  }
.hero{
    animation-duration:14s;
  }

  .hero::before{
    animation-duration:26s;
    opacity:.42;
  }

  .hero::after{
    opacity:.55;
    animation-duration:20s;
  }

  .poster-row::before{
    opacity:.58;
    animation-duration:14s;
  }

  .experience,
  .schedule,
  .mailing-section,
  .topbar,
  .page-hero::before{
    animation-duration:18s;
  }
.table-scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
.split{
    width:100%;
    max-width:none;
    grid-template-columns:1fr;
    gap:34px;
  }

  .art-card{
    width:min(100%,620px);
    max-width:620px;
    margin:0 auto;
  }

  .split > div:last-child{
    max-width:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.mailing-box{
        width:min(94%,560px);
        border-radius:28px;
        padding:16px;
        display:grid;
        gap:14px;
    }
    .mailing-box .email{
        height:58px;
    }
    .mailing-box .pill{
        width:100%;
        height:54px;
    }
.experience,
  .location,
  .partners,
  .mailing-section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .location-box{
    padding:36px 30px;
  }

  .mailing-box{
    width:min(88%,700px);
  }
.genre-grid{
    grid-template-columns:1fr;
  }

  .genre{
    min-height:190px;
  }

  .location ul{
    grid-template-columns:1fr;
  }

  .location-box{
    padding:30px 22px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    width:min(92%,520px);
    border-radius:24px;
    padding:12px;
  }

  .mailing-box .email{
    height:52px;
  }

  .mailing-box .pill{
    width:100%;
    height:50px;
  }
.schedule{
    background-attachment:scroll;
    animation-duration:32s;
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    transform:none;
    animation:
      knkScheduleBorderGlow 13s ease-in-out infinite;
  }

  .day::after{
    display:none;
  }

  .day:hover,
  .day:focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible{
    transform:translateY(-5px) !important;
  }
.day::before{
    animation-duration:14s;
  }

  .day::after{
    display:none;
  }

  .schedule .section-title h2{
    animation-duration:16s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.7px rgba(0,0,0,.70);
    animation-duration:11s;
  }

  .schedule .section-title h2::after{
    animation-duration:13s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.75px rgba(0,0,0,.80);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }

  .schedule .section-title::before{
    height:42px;
  }
.schedule .section-title h2{
    white-space:normal;
    font-size:clamp(28px,7vw,40px) !important;
    -webkit-text-stroke:1.25px var(--red);
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:knkScheduleBorderGlow 13s ease-in-out infinite;
  }
.schedule{
    padding-top:58px;
    padding-bottom:64px;
  }
  .schedule .section-title{
    margin-bottom:38px;
  }
  .schedule .section-title h2{
    font-size:clamp(28px,7vw,42px) !important;
    white-space:normal;
  }
  .cards{ gap:26px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:0;
    padding:32px 26px 26px;
  }
  .day h4{
    font-size:29px;
  }
  .day li{
    min-height:54px;
    padding-left:54px;
    font-size:17px;
  }
.schedule{
    padding-top:48px;
    padding-bottom:54px;
  }

  .schedule .section-title h2{
    white-space:normal !important;
    font-size:clamp(27px,7vw,40px) !important;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:0;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    white-space:normal !important;
  }
.contact-page .contact-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav";
    min-height:0;
    padding:8px 12px;
    gap:8px;
  }

  .brand{
    transform:none;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    display:inline-flex;
    min-width:0;
    width:auto;
    max-width:180px;
    padding:10px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    display:block;
    padding:10px 14px;
    font-size:12px;
    white-space:nowrap;
  }

  .nav{
    width:100%;
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    margin-top:8px;
    padding:16px;
  }

  .nav > a{
    font-size:15px;
    padding:13px 10px;
  }

  .mobile-menu-actions{
    padding-top:16px;
    gap:10px;
  }

  .mobile-menu-actions .pill{
    max-width:320px;
    padding:13px 18px;
    font-size:14px;
  }

  section{
    padding:56px 24px;
  }

  .page-hero{
    padding:66px 24px;
  }

  .page-hero h1{
    font-size:clamp(34px,7vw,54px);
    line-height:1.05;
  }

  .page-hero p{
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:15px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    max-width:100% !important;
    font-size:clamp(28px,5.5vw,40px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    width:100% !important;
    max-width:none !important;
    font-size:15px !important;
    line-height:1.58 !important;
    white-space:normal !important;
  }

  .split{
    grid-template-columns:1fr;
    gap:32px;
  }

  .art-card{
    width:min(560px,100%);
    margin-left:auto;
    margin-right:auto;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .cards{
    grid-template-columns:1fr;
    gap:20px;
    max-width:680px;
  }

  .genre,
  .info-card{
    min-height:180px;
    padding:22px;
  }

  .genre h4,
  .info-card h4{
    font-size:clamp(21px,3.8vw,27px);
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:30px 26px;
  }

  .location ul{
    columns:1;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .location li{
    position:relative;
    padding:10px 10px 10px 30px;
  }

  .location li::before{
    left:8px;
  }

  .partner-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .mailing-box{
    width:min(680px,100%);
  }

  .policy-page{
    padding:80px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:32px 24px;
  }

  .related-policies ul{
    columns:1;
  }

  footer{
    padding:48px 24px 24px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  .copy{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .footer-legal-links{
    justify-content:center;
  }
.topbar{
    padding:7px 8px;
    gap:6px;
  }

  .nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    max-width:128px;
    padding:8px 10px;
    font-size:10px;
  }

  .mobile-menu-btn{
    padding:8px 10px;
    font-size:11px;
  }

  .nav{
    padding:14px;
  }

  .nav > a{
    font-size:14px;
    padding:12px 8px;
  }

  section{
    padding:44px 16px;
  }

  .page-hero{
    padding:54px 18px;
  }

  .page-hero h1{
    font-size:clamp(30px,9vw,43px);
  }

  .page-hero p{
    font-size:14px !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:14px !important;
    line-height:1.58 !important;
  }

  .hero{
    min-height:auto;
    padding:18px 0 42px;
    gap:22px;
  }

  /*
   * Keep the three homepage posters intact.
   * They remain stacked in their original order on phones.
   */
  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:24px;
    padding:0;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

  .poster-row::before,
  .poster-row::after{
    display:none;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }

  .hero-buttons{
    width:100%;
    padding:0 16px;
    flex-direction:column;
    align-items:center;
  }

  .hero-buttons .pill{
    width:min(320px,100%);
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
  }

  .genre-grid,
  .info-grid,
  .partner-row{
    grid-template-columns:1fr;
  }

  .genre,
  .info-card{
    min-height:165px;
    padding:20px;
  }

  .cards{
    width:100%;
  }

  .day{
    padding:24px 18px;
  }

  .location-box{
    padding:25px 18px;
    border-width:4px;
    border-radius:21px;
  }

  .location li{
    padding:10px 8px 10px 28px;
    font-size:14px;
    line-height:1.4;
  }

  .location li::before{
    left:7px;
  }

  .mailing-box{
    flex-direction:column;
    gap:12px;
    padding:12px;
    border-radius:22px;
  }

  .mailing-box .email,
  .mailing-box .pill{
    width:100%;
  }

  .policy-container{
    padding:26px 18px;
  }

  .policy-accordion summary{
    padding:16px 50px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  footer{
    padding:42px 18px 22px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  footer ul{
    padding-left:0;
    list-style:none;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:7px;
  }

  .footer-legal-links a{
    white-space:normal;
  }
body.admin-bar .topbar{
    top:auto;
  }
/* Reduce excessive experience-card height without redesigning them. */
  .genre,
  .info-card{
    min-height:138px !important;
    padding:18px !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:6px !important;
    font-size:22px !important;
    line-height:1.05 !important;
  }

  /* Tighten the long mobile footer. */
  footer{
    padding-top:34px !important;
    padding-bottom:18px !important;
  }

  .footer-grid{
    gap:18px !important;
  }

  footer h2{
    margin-bottom:9px !important;
  }

  footer a{
    margin:5px 0 !important;
  }

  .copy{
    margin-top:24px !important;
    padding-top:14px !important;
    gap:12px !important;
  }

  .footer-legal-links{
    gap:5px !important;
  }
/* Tighten poster spacing while keeping poster size and order unchanged. */
  .poster-row{
    gap:18px !important;
  }

  .hero{
    gap:18px !important;
    padding-bottom:36px !important;
  }

  .countdown-wrap{
    margin-top:-2px !important;
  }

  .countdown-box{
    padding-top:11px !important;
    padding-bottom:11px !important;
  }

  .countdown-date{
    margin-top:2px !important;
  }

  /* Final experience-card proportion refinement. */
  .genre,
  .info-card{
    min-height:126px !important;
    padding:16px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:2px !important;
    font-size:21px !important;
  }

  /* Schedule card spacing. */
  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .day h4{
    margin-bottom:11px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel tightening. */
  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  .location-box p{
    margin-top:11px !important;
    margin-bottom:11px !important;
  }

  .location ul{
    margin-top:12px !important;
    margin-bottom:18px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Sponsor spacing. */
  .partner-row{
    gap:12px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:17px !important;
    padding-bottom:17px !important;
  }

  .partners .pill{
    min-width:165px !important;
  }

  /* Mailing section spacing. */
  .mailing-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .mailing-section .section-title{
    margin-bottom:18px !important;
  }

  .mailing-box{
    margin-top:16px !important;
  }

  /* Footer final tightening. */
  footer{
    padding-top:30px !important;
    padding-bottom:16px !important;
  }

  .footer-grid{
    gap:15px !important;
  }

  footer h2{
    margin-bottom:7px !important;
  }

  footer a{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .copy{
    margin-top:20px !important;
    padding-top:12px !important;
  }
body.home .poster-row{
    /* grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.home .genre-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .genre{
    min-height:116px !important;
    padding:14px 16px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:20px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:19px !important;
    margin-bottom:10px !important;
  }

  body.home .schedule .day li{
    min-height:40px !important;
    font-size:13px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:60px !important;
    padding:14px 16px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:8px !important;
    padding:10px !important;
  }

  body.home .mailing-box .email,
  body.home .mailing-box .pill{
    width:100% !important;
    margin-bottom:0 !important;
  }

  body.home footer{
    padding:24px 14px 12px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 12px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    text-align:center !important;
  }

  body.home footer .footer-grid > :nth-child(5) form{
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home footer h2{
    margin-bottom:6px !important;
  }

  body.home footer a{
    margin:3px 0 !important;
    font-size:11px !important;
  }

  body.home footer .copy{
    margin-top:14px !important;
    padding-top:8px !important;
    gap:7px !important;
    font-size:10px !important;
    text-align:center !important;
  }

  body.home footer .footer-legal-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:4px 8px !important;
  }
}

@media (max-width: 576px) {
  /* MOBILE
     Original rule order preserved. */

.page-hero h1{
    font-size:34px;
  }

  .section-title h3,
  .split h3,
  .location h3{
    font-size:30px;
  }

  .countdown-date{
    font-size:15px;
  }
.nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    min-width:135px;
    padding:9px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    padding:8px 12px;
    font-size:12px;
  }
.schedule .section-title::before{
    height:42px;
  }
  .schedule .section-title h2{
    font-size:clamp(25px,8.5vw,34px) !important;
  }
  .day h4::after{
    content:"──  ✿  ──";
    font-size:25px;
  }
  .schedule .center-button .pill{
    min-width:0;
    width:100%;
    max-width:310px;
  }
.schedule .day li::before{
    width:32px !important;
    height:32px !important;
  }
.schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:45px !important;
    font-size:14px !important;
  }

  .schedule .day li::before{
    width:28px !important;
    height:28px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:46px !important;
    padding-left:46px !important;
    font-size:14px !important;
  }

  .schedule .cards .day li::before{
    width:30px !important;
    height:30px !important;
  }
section{
    padding-left:13px;
    padding-right:13px;
  }

  .page-hero{
    padding-left:14px;
    padding-right:14px;
  }

  .mobile-header-ticket{
    max-width:110px;
    padding-left:8px;
    padding-right:8px;
    font-size:9px;
  }

  .mobile-menu-btn{
    padding-left:8px;
    padding-right:8px;
    font-size:10px;
  }

  .location-box{
    padding-left:15px;
    padding-right:15px;
  }
}

@media (min-width:901px){

  .topbar{
    grid-template-columns:76px minmax(0,1fr) auto;
    grid-template-areas:"logo nav actions";
    min-height:84px;
    padding:6px 3vw;
    gap:16px;
  }

  .brand{
    grid-area:logo;
    justify-self:start;
    align-self:center;
    transform:translateY(2px);
  }

  .brand,
  .nav-logo{
    width:72px;
    height:72px;
  }

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav;
    display:flex !important;
    position:static;
    width:auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0;
    padding:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }

  .nav > a{
    display:inline-flex;
    width:auto;
    min-height:44px;
    align-items:center;
    justify-content:center;
    color:#fff;
    border:0;
    padding:9px 8px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .desktop-actions{
    grid-area:actions;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:max-content;
  }

  .desktop-actions .pill{
    width:auto;
    padding:10px 14px;
    font-size:11px;
    white-space:nowrap;
  }

  .hero{
    min-height:720px;
    padding:68px 5vw 72px;
    gap:30px;
  }

  .poster-row{
    max-width:1230px;
    gap:16px;
  }
}

@media (min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .hero,
  .hero::before,
  .hero::after,
  .experience,
  .schedule{
    animation:none;
  }

  .pill,
  .day-poster,
  .genre,
  .info-card,
  .day{
    transition:none;
  }

  .pill:hover,
  .pill:focus-visible,
  .pill:active,
  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster,
  .wave{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .genre,
  .genre::before,
  .day,
  .day::before,
  .location-box,
  .partner-logo{
    transition:none !important;
  }

  .genre:hover,
  .genre:focus-visible,
  .day:hover,
  .day:focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .art-card,
  .art-card::before,
  .art-card img,
  .location-box::before,
  .mailing-section,
  .mailing-box,
  .email,
  footer a{
    animation:none !important;
    transition:none !important;
  }

  .art-card:hover,
  .art-card:focus-within,
  .art-card:hover img,
  .art-card:focus-within img,
  .mailing-box:focus-within,
  .email:focus,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }
}

@media(min-width:901px){

  .nav > a{
    position:relative;
    overflow:hidden;
    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease;
  }

  .nav > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--yellow),#fff,var(--yellow));
    transform:translateX(-50%);
    transition:width .28s ease;
    box-shadow:0 0 9px rgba(255,212,90,.52);
  }

  .nav > a:hover,
  .nav > a:focus-visible{
    background:transparent;
    color:var(--yellow);
    transform:translateY(-2px);
    text-shadow:0 0 12px rgba(255,212,90,.34);
  }

  .nav > a:hover::after,
  .nav > a:focus-visible::after{
    width:72%;
  }

  .desktop-actions .pill{
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease;
  }
}

@media(prefers-reduced-motion:reduce){
  .topbar,
  .brand a,
  .nav-logo,
  .nav > a,
  .nav > a::after,
  .mobile-menu-btn,
  .nav.mobile-open,
  .page-hero::before,
  .policy-sidebar a,
  .policy-sidebar a::before,
  .policy-accordion details,
  .policy-accordion summary,
  .policy-accordion summary::after,
  .back-home{
    animation:none !important;
    transition:none !important;
  }

  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  .mobile-menu-btn:hover,
  .mobile-menu-btn:focus-visible,
  .policy-accordion details:hover,
  .policy-accordion details[open],
  .back-home:hover,
  .back-home:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  .pill::before{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
    filter:none !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right,
  html.knk-reveal-ready .knk-reveal.knk-reveal-scale,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    transition:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day-poster,
  .genre,
  .info-card,
  .day,
  .art-card,
  .location-box,
  .partner-logo,
  .pill,
  .brand a,
  .nav > a,
  footer a{
    -webkit-tap-highlight-color:transparent;
  }

  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible,
  .art-card:hover,
  .art-card:focus-within,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible,
  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }

  .pill:hover,
  .pill:focus-visible{
    transform:none;
  }

  .pill:active{
    transform:translateY(1px) scale(.985);
    filter:brightness(.98);
  }

  .day-poster:active{
    transform:translateY(-4px) scale(1.012) !important;
    filter:
      brightness(1.04)
      saturate(1.04)
      drop-shadow(0 24px 30px rgba(0,0,0,.52)) !important;
  }

  .genre:active,
  .info-card:active,
  .day:active,
  .partner-logo:active{
    transform:translateY(-3px) scale(.995) !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  .hero{
    padding:24px 4vw 54px;
    gap:22px;
  }

  .poster-row{
    width:min(760px,100%);
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    flex-direction:row;
    gap:14px;
  }

  .hero-buttons .pill{
    min-width:145px;
  }

  .countdown-box{
    width:min(560px,92%);
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cards{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }

  .day{
    padding:24px 20px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){

  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
  }
}

@media print{

  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    filter:none !important;
    transform:none !important;
  }

  .topbar{
    position:static;
  }

  .hero,
  .page-hero,
  .schedule,
  .partners,
  footer{
    background:#fff !important;
    color:#000 !important;
  }
}

@media(min-width:901px){

  .nav a[aria-current="page"]::after,
  .nav .current-menu-item > a::after,
  .nav .current_page_item > a::after{
    width:72%;
  }
}

@media(prefers-reduced-motion:reduce){

  input,
  textarea,
  select,
  main p a,
  main li a{
    transition:none !important;
  }
}

@media(min-width:901px) and (max-width:1200px){

  .split{
    grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);
    gap:46px;
  }

  .art-card{
    max-width:560px;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    transition:none !important;
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transition:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .genre,
  .partners,
  .mailing-section,
  .experience{
    animation-duration:20s;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none;
  }

  .mailing-box .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .experience,
  .genre,
  .location::before,
  .partners,
  .mailing-section,
  .mailing-box .pill{
    animation:none !important;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:
      knkScheduleBorderGlow 15s ease-in-out infinite;
  }

  .schedule .center-button .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .schedule,
  .schedule::before,
  .day,
  .day::after,
  .schedule .center-button .pill{
    animation:none !important;
  }

  .day:nth-child(2){
    transform:none;
  }
}

@media(hover:none), (pointer:coarse){

  .day:hover::before,
  .day:focus-visible::before{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .day::before,
  .day::after,
  .schedule .section-title h2{
    animation:none !important;
  }

  .schedule .section-title h2{
    background:none;
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    background:#fff;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:#fff;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::before,
  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(min-width:2200px){

  body.home .split{
    width:min(88vw,3200px) !important;
    max-width:3200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(760px,1fr) minmax(820px,1fr) !important;
    gap:110px !important;
  }

  body.home .art-card{
    width:100% !important;
    max-width:900px !important;
  }

  body.home .split > div:last-child{
    width:100% !important;
    max-width:1100px !important;
  }

  body.home .genre-grid{
    width:min(84vw,2800px) !important;
    max-width:2800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .schedule .cards{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .location-box{
    width:min(80vw,2500px) !important;
    max-width:2500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partners .section-title,
  body.home .partners > p{
    width:min(76vw,1900px) !important;
    max-width:1900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
}

@media(min-width:2200px){

  /* ABOUT / FESTIVAL SECTION */

  main > .split{
    width:min(86vw,3400px) !important;
    max-width:3400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:120px !important;
    align-items:center !important;
  }

  main > .split .art-card{
    width:min(100%,1050px) !important;
    max-width:1050px !important;
    justify-self:end !important;
  }

  main > .split > div:last-child{
    width:100% !important;
    max-width:1200px !important;
    justify-self:start !important;
  }

  main > .split > div:last-child h3{
    max-width:100% !important;
    font-size:clamp(64px,4vw,110px) !important;
    line-height:1.02 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  main > .split > div:last-child p{
    max-width:1050px !important;
    font-size:28px !important;
    line-height:1.65 !important;
  }

  /* SPONSOR OPPORTUNITIES SECTION */

  main > .partners{
    text-align:center !important;
  }

  main > .partners .section-title{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  main > .partners > p{
    width:min(72vw,1800px) !important;
    max-width:1800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:26px !important;
  }

  main > .partners .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin:42px auto 40px !important;
    justify-content:center !important;
    align-items:center !important;
  }

  main > .partners .partner-logo{
    min-width:260px !important;
    padding:34px 48px !important;
    font-size:22px !important;
  }

  main > .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:1281px){
  .contact-page .contact-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .contact-page .contact-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.9vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .contact-page .contact-copy{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 20px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .contact-page .contact-email-line{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 22px !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
}

@media(min-width:1281px){
  .vendors-page .vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .vendors-page .vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.8vw,45px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .vendors-page .vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.65vw,42px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1281px){
  .hawaiian-vendors-page .haw-vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.55vw,41px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(30px,2.35vw,38px) !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1200px){

  .topbar{
    padding-left:3vw;
    padding-right:3vw;
  }

  .nav > a{
    padding-left:8px;
    padding-right:8px;
  }

  .footer-grid{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    grid-template-columns:
      minmax(120px,.85fr)
      minmax(145px,.95fr)
      minmax(170px,1.05fr)
      minmax(125px,.8fr)
      minmax(260px,1.35fr);
    gap:32px;
  }

  .copy{
    width:100%;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
  }

  .footer-grid > *{
    min-width:0;
  }
}

@media(min-width:901px) and (max-width:1199px){

  .topbar{
    grid-template-columns:64px minmax(0,1fr) auto;
    min-height:76px;
    padding:6px 18px;
    gap:8px;
  }

  .brand,
  .nav-logo{
    width:62px;
    height:62px;
  }

  .nav{
    gap:0;
  }

  .nav > a{
    min-height:40px;
    padding:8px 5px;
    font-size:10px;
    letter-spacing:0;
  }

  .desktop-actions{
    gap:5px;
  }

  .desktop-actions .pill{
    padding:9px 10px;
    font-size:9px;
  }

  section{
    padding-left:5vw;
    padding-right:5vw;
  }

  .page-hero{
    padding-left:5vw;
    padding-right:5vw;
  }

  .poster-row{
    max-width:1120px;
    gap:14px;
  }

  .split{
    gap:38px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cards{
    gap:20px;
  }

  .day{
    padding:25px 20px;
  }

  .day h4{
    font-size:22px;
  }

  .day li{
    font-size:14px;
  }

  .location-box{
    padding:32px;
  }

  footer{
    padding-left:4vw;
    padding-right:4vw;
  }

  /*
   * Keep the desktop footer in one five-column row on laptops.
   * The earlier 3-column rule caused SOCIAL and the mailing form
   * to drop onto a second row at widths around 1195px.
   */
  .footer-grid{
    grid-template-columns:
      minmax(105px,.80fr)
      minmax(120px,.88fr)
      minmax(145px,1fr)
      minmax(105px,.72fr)
      minmax(215px,1.30fr);
    gap:22px 18px;
    align-items:start;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  footer h2{
    font-size:12px;
  }

  footer a{
    font-size:12px;
  }

  .copy{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:left;
  }

  .footer-legal-links{
    justify-content:flex-end;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
  }

  section{
    padding:36px 18px;
  }

  .page-hero{
    padding:40px 20px;
  }

  .page-hero h1{
    font-size:clamp(30px,5vw,42px);
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(24px,3.8vw,32px) !important;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:13px !important;
    line-height:1.48 !important;
  }

  .split{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:24px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .genre,
  .info-card{
    min-height:150px;
    padding:18px;
  }

  .genre h4,
  .info-card h4{
    font-size:20px;
  }

  .cards{
    grid-template-columns:1fr;
    max-width:620px;
  }

  .location-box{
    width:100%;
    padding:24px 22px;
  }

  .location ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }

  .location li{
    min-width:0;
    padding:9px 8px 9px 27px;
    font-size:12px;
    line-height:1.35;
    white-space:normal;
  }

  .partner-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(orientation:landscape) and (min-width:901px) and (max-width:1366px){

  section{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    white-space:normal !important;
  }

  .location-box{
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
  }

  .location ul{
    columns:2;
  }
}

@media(min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Experience cards: reduce excessive tablet height */
  .genre,
  .info-card{
    min-height:150px;
    padding:20px 22px;
  }

  /* Destination / information panels: slightly tighter internal spacing */
  .location-box{
    padding:26px 24px;
  }

  /* Sponsor cards: one centered row per item at tablet portrait */
  .partner-row{
    grid-template-columns:1fr;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
  }

  .partner-logo{
    width:100%;
  }

  /* Mailing form: preserve breathing room inside the section */
  .mailing-box{
    width:min(620px,88%);
  }

  /* Footer: intentional two-column tablet layout */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 36px;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1;
    max-width:420px;
    width:100%;
  }

  .copy{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Restore a balanced 2 + 1 sponsor layout. */
  .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:720px !important;
    gap:16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-logo{
    width:100% !important;
  }

  .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 8px) !important;
    justify-self:center !important;
  }

  /* Keep input and button aligned on one row. */
  .mailing-box{
    width:min(660px,92%) !important;
    max-width:660px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
  }

  .mailing-box .email{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
  }

  .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap !important;
  }

  /* Two-column footer with centered full-width newsletter row. */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 34px !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:520px !important;
    justify-self:center !important;
    text-align:center !important;
  }

  .footer-grid > :nth-child(5) form{
    align-items:center !important;
  }

  .copy{
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:901px){

  /* Better vertical alignment in split sections. */
  .split{
    align-items:center !important;
  }

  /* Slightly tighter schedule cards. */
  .day{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  .day h4{
    margin-bottom:14px !important;
  }

  .day li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Slightly tighter destination / information panels. */
  .location-box{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .location-box p{
    margin-top:13px !important;
    margin-bottom:13px !important;
  }

  .location ul{
    margin-top:14px !important;
    margin-bottom:22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing and button emphasis. */
  .partner-row{
    align-items:stretch !important;
  }

  .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:70px !important;
  }

  .partners .pill{
    min-width:170px !important;
  }

  /* Tighten mailing section without changing layout. */
  .mailing-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .mailing-section .section-title{
    margin-bottom:28px !important;
  }

  .mailing-box{
    margin-top:22px !important;
  }

  /* Footer alignment and copyright spacing. */
  .footer-grid{
    align-items:start !important;
  }

  footer h2{
    min-height:16px !important;
  }

  .copy{
    margin-top:28px !important;
    padding-top:15px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Tighten stacked homepage poster spacing only on portrait tablets. */
  .poster-row{
    gap:20px !important;
  }

  /* Bring countdown closer to the hero buttons. */
  .countdown-wrap{
    margin-top:-4px !important;
  }

  .countdown-box{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  /* Slightly shorter experience cards and higher titles. */
  .genre,
  .info-card{
    min-height:142px !important;
    padding:18px 20px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:4px !important;
  }

  /* Tighten schedule cards. */
  .day{
    padding:22px 20px !important;
  }

  .day h4{
    margin-bottom:12px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel refinement. */
  .location-box{
    padding:24px 22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing. */
  .partner-row{
    gap:14px !important;
  }

  .partner-logo{
    min-height:64px !important;
  }

  /* Tighten mailing section. */
  .mailing-section{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .mailing-section .section-title{
    margin-bottom:22px !important;
  }

  .mailing-box{
    margin-top:18px !important;
  }

  /* Footer refinement. */
  footer{
    padding-top:42px !important;
  }

  .footer-grid{
    gap:24px 30px !important;
  }

  .copy{
    margin-top:24px !important;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .poster-row{
    gap:14px !important;
  }

  .genre,
  .info-card{
    min-height:136px !important;
  }

  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  footer{
    padding-top:30px !important;
  }
}

@media(min-width:901px){

  body.home .genre-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  body.home .genre{
    min-height:190px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
  }

  body.home .schedule .day{
    min-height:360px !important;
    padding:28px 24px !important;
  }

  body.home .schedule .day h4{
    font-size:22px !important;
    margin-bottom:16px !important;
  }

  body.home .schedule .day li{
    min-height:46px !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,220px)) !important;
    justify-content:center !important;
    gap:24px !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:76px !important;
    padding:20px 24px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    gap:12px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer .copy{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
}

@media(min-width:901px) and (max-width:1100px){

  body.home .genre{
    min-height:170px !important;
    padding:22px !important;
  }

  body.home .schedule .cards{
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:330px !important;
    padding:22px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:18px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
    font-size:13px !important;
  }

  body.home .partner-row{
    grid-template-columns:repeat(3,minmax(0,190px)) !important;
    gap:16px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  body.home .poster-row{
    /* grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:min(62vw,450px) !important;
    max-width:450px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  body.home .genre{
    min-height:132px !important;
    padding:18px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    max-width:680px !important;
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:22px 20px !important;
  }

  body.home .schedule .day h4{
    font-size:21px !important;
    margin-bottom:12px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    max-width:700px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 7px) !important;
    justify-self:center !important;
  }

  body.home .partner-logo{
    min-height:66px !important;
    padding:16px 18px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    width:min(660px,92%) !important;
    gap:10px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer{
    padding-top:34px !important;
    padding-bottom:14px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 28px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:min(500px,100%) !important;
    justify-self:center !important;
    text-align:center !important;
  }

  body.home footer .copy{
    margin-top:18px !important;
    padding-top:10px !important;
    text-align:center !important;
  }
}

@media (max-width:1200px){

  .nav > a{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:9.5px !important;
  }

  .desktop-actions .pill{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  /* Fluid experience grid:
     4 columns where space permits, then 3 before the 992px pivot. */
  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }

  /* Fluid schedule grid:
     3 columns on wider laptops and 2 columns before portrait stacking. */
  .cards{
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  }

  .day{
    min-width:0 !important;
  }

  .day li{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media (max-width:992px){

  .poster-row{
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .nav,
  .nav.mobile-open{
    width:min(720px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-row{
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .cards{
    grid-template-columns:1fr !important;
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .brand,
  .nav-logo{
    width:40px !important;
    height:40px !important;
  }

  .mobile-header-ticket{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .mobile-menu-btn{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .nav,
  .nav.mobile-open{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(720px,calc(100vw - 24px)) !important;
    max-height:calc(100vh - 58px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:1200 !important;
  }
}

@media (min-width:993px){

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .desktop-actions{
    display:flex !important;
  }

  .nav,
  .nav.mobile-open{
    display:flex !important;
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .nav > a{
    width:auto !important;
    border-bottom:0 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:993px) and (max-width:1200px){

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    width:100% !important;
    max-width:320px !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (max-width:576px){

  .poster-row{
    width:100% !important;
    max-width:100% !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    min-height:auto !important;
    padding-top:16px !important;
    padding-bottom:24px !important;
    gap:14px !important;
  }

  .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 32px)) !important;
    max-width:760px !important;
    gap:10px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  .hero-buttons{
    flex-direction:row !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero-buttons .pill{
    width:auto !important;
    min-width:150px !important;
  }

  .countdown-box{
    width:min(420px,calc(100vw - 32px)) !important;
    max-width:420px !important;
  }

  .split{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    gap:24px !important;
  }

  .art-card{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    max-width:295px !important;
  }

  .poster-row .day-poster{
    max-width:295px !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    padding-top:10px !important;
    padding-bottom:16px !important;
    gap:10px !important;
  }

  .hero-buttons{
    gap:8px !important;
    margin-top:6px !important;
  }

  .countdown-wrap{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .countdown-box{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .schedule{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .schedule .cards{
    gap:10px !important;
  }

  .schedule .day{
    padding:14px !important;
  }

  .schedule .day h4{
    margin-bottom:10px !important;
  }

  .schedule .day li{
    min-height:34px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
  }

  .schedule .day li::before{
    width:26px !important;
    height:26px !important;
    transform:scale(.9) !important;
    transform-origin:center !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .mailing-section{
    padding-bottom:34px !important;
  }

  footer{
    padding-top:26px !important;
  }

  .partner-logo{
    min-height:64px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

@media (max-width:576px),
       (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .mailing-section{
    padding-bottom:24px !important;
  }

  footer{
    padding-top:20px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}

@media (max-width:576px){

  .partners .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:14px !important;
  }

  .partners .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    box-sizing:border-box !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;
    width:min(560px,calc(100vw - 32px)) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero .hero-buttons{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (max-width:992px){

  .split{
    width:100% !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .split .art-card{
    width:min(560px,100%) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
  }

  .split > div:last-child{
    width:100% !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;

    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:12px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:center !important;

    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;

    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    grid-column:auto !important;
    flex:1 1 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:68px !important;

    margin:0 !important;
    padding:18px 12px !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
}

@media (min-width:1200px){

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  body .partners .partner-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:min(380px,100%) !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    grid-column:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:74px !important;
    margin:0 !important;
    justify-self:center !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
  }

  body .split .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body .split .art-card{
    max-width:330px !important;
  }

  body .split > div:last-child{
    max-width:430px !important;
  }
}

@media (max-width:782px){

  :root{
    --knk-fixed-header-height:82px;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height);
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 18px);
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
    align-self:center !important;
  }

  body.home main > .split > .art-card img,
  body.home main > section.split > .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body.home main > .split > div:last-child .eyebrow,
  body.home main > .split > div:last-child h3,
  body.home main > .split > div:last-child p,
  body.home main > section.split > div:last-child .eyebrow,
  body.home main > section.split > div:last-child h3,
  body.home main > section.split > div:last-child p{
    text-align:left !important;
  }

  body.home main > .split > div:last-child .pill,
  body.home main > section.split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body.home main > .split,
  body.home main > section.split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    max-width:330px !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    max-width:430px !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:64px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  :root{
    --knk-fixed-header-height:56px;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  :root{
    --knk-fixed-header-height:52px;
  }
}

@media (min-width:901px) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:76px;
  }
}

@media (min-width:1200px){

  :root{
    --knk-fixed-header-height:84px;
  }
}

@media (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape){

  body{
    overflow-x:hidden !important;
  }

  body main,
  body main > section{
    max-width:100% !important;
  }

  body main > section{
    scroll-margin-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body .hero,
  body .split,
  body .experience,
  body .schedule,
  body .location,
  body .partners,
  body .mailing-section{
    width:100% !important;
  }

  body .section-title,
  body .section-title h3,
  body .section-title p{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  body .pill{
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (min-width:1200px){

  body .hero .poster-row{
    width:min(92vw,1500px) !important;
    max-width:1500px !important;
    gap:clamp(18px,1.8vw,28px) !important;
  }

  body .split{
    width:min(92vw,1600px) !important;
    max-width:1600px !important;
    grid-template-columns:minmax(500px,.95fr) minmax(0,1.05fr) !important;
    gap:clamp(40px,4vw,64px) !important;
  }

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 40px)) !important;
    max-width:760px !important;
    gap:16px !important;
    margin-inline:auto !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(1040px,calc(100vw - 48px)) !important;
    max-width:1040px !important;
    gap:36px !important;
    margin-inline:auto !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;
    justify-self:end !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(760px,calc(100vw - 48px)) !important;
    max-width:760px !important;
    gap:18px !important;
    margin:28px auto !important;
  }

  body .partners .partner-logo{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .hero{
    min-height:auto !important;
    padding:
      clamp(26px,5vh,44px)
      12px
      clamp(34px,7vh,54px) !important;
    gap:clamp(18px,4vh,28px) !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;
    gap:12px !important;
    margin-inline:auto !important;
    padding:0 !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }

  body .split,
  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
    margin-inline:auto !important;
  }

  body .split .art-card,
  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:330px !important;
    justify-self:end !important;
  }

  body .split > div:last-child,
  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:430px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;
    gap:14px !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:18px 12px !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }

  body .cards{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    gap:18px !important;
    margin-inline:auto !important;
  }

  body .genre-grid,
  body .info-grid{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    margin-inline:auto !important;
  }
}

@media (orientation:landscape) and (max-height:600px){

  body main > section{
    padding-top:clamp(42px,8vh,64px) !important;
    padding-bottom:clamp(42px,8vh,64px) !important;
  }

  body .hero{
    padding-top:clamp(24px,5vh,38px) !important;
    padding-bottom:clamp(30px,6vh,48px) !important;
  }

  body .section-title{
    margin-bottom:clamp(24px,5vh,34px) !important;
  }

  body .page-hero{
    padding-top:clamp(52px,10vh,76px) !important;
    padding-bottom:clamp(52px,10vh,76px) !important;
  }
}

@media (max-width:950px){

  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    height:auto !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:18px 14px !important;

    overflow-y:auto !important;
    transform:translateX(-110%) !important;
    transition:
      transform .28s ease,
      opacity .22s ease,
      visibility .22s ease !important;

    z-index:100000 !important;
  }

  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    transform:translateX(0) !important;
  }

  /* Prevent any child element from appearing while the panel is closed. */
  body .topbar .nav:not(.mobile-open) *{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body .topbar .nav.mobile-open *{
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

@media (max-width:782px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (min-width:783px) and (max-width:950px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:62px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body .topbar,
  body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;

    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) auto !important;
    grid-template-areas:"logo ticket menu" !important;
    align-items:center !important;

    min-height:62px !important;
    height:62px !important;
    padding:6px 14px !important;
    gap:10px !important;

    z-index:99999 !important;
  }

  body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  body.admin-bar .topbar{
    top:32px !important;
  }

  body .topbar .brand{
    grid-area:logo !important;
    justify-self:start !important;
    width:50px !important;
    height:50px !important;
    margin:0 !important;
    transform:none !important;
  }

  body .topbar .brand a,
  body .topbar .nav-logo{
    width:50px !important;
    height:50px !important;
  }

  body .topbar .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:160px !important;
    max-width:220px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:11px 24px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;

    min-height:44px !important;
    margin:0 !important;
    padding:11px 18px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .desktop-actions{
    display:none !important;
  }

  /* Closed state: absolutely no navigation panel is visible. */
  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:16px !important;
    overflow-y:auto !important;

    background:#06233f !important;
    border-radius:0 0 18px 0 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.35) !important;

    transform:translateX(-110%) !important;
    z-index:100000 !important;
  }

  /* Open state: only the menu button / JavaScript may reveal it. */
  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    transform:translateX(0) !important;
  }

  body .topbar .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

  body .topbar .mobile-menu-actions{
    display:flex !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding:22px 18px 34px !important;
    gap:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(900px,calc(100vw - 44px)) !important;
    max-width:900px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:16px !important;
    justify-content:center !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,76vw) !important;
    max-width:620px !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  :root{
    --knk-fixed-header-height:58px;
  }

  body .topbar,
  body.admin-bar .topbar{
    min-height:58px !important;
    height:58px !important;
    grid-template-columns:50px minmax(0,1fr) auto !important;
    padding:5px 12px !important;
  }

  body .topbar .brand,
  body .topbar .brand a,
  body .topbar .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  body .topbar .mobile-header-ticket{
    min-width:145px !important;
    max-width:190px !important;
    min-height:42px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .topbar .mobile-menu-btn{
    min-height:42px !important;
    padding:10px 14px !important;
    font-size:12px !important;
  }

  body .hero{
    min-height:auto !important;
    padding:18px 10px 28px !important;
    gap:16px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(790px,calc(100vw - 20px)) !important;
    max-width:790px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:10px !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:12px !important;
    justify-content:center !important;
  }

  body .hero .hero-buttons .pill{
    min-width:150px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(560px,78vw) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1199px){

  body .hero{
    padding-top:16px !important;
    padding-bottom:24px !important;
  }

  body .hero .poster-row{
    margin-top:0 !important;
  }

  body main > section:not(.hero){
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}

@media (orientation:portrait) and (min-width:768px) and (max-width:799px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:640px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:800px) and (max-width:879px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:680px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:880px) and (max-width:1024px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:740px !important;
    max-width:calc(100vw - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:600px) and (max-width:767px){

/*   html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;

    grid-template-columns:none !important;
    grid-auto-columns:auto !important;

    width:calc(100vw - 40px) !important;
    max-width:672px !important;
    min-width:0 !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  } */

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;

    flex:0 0 auto !important;
    flex-basis:auto !important;

    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:auto !important;
    max-height:none !important;

    margin-left:auto !important;
    margin-right:auto !important;

    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (orientation:portrait) and (width:600px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:560px !important;
    max-width:560px !important;
  }
}

@media (orientation:portrait) and (width:640px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:600px !important;
    max-width:600px !important;
  }
}

@media (orientation:portrait) and (width:712px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
/*     width:668px !important; */
/*     max-width:668px !important; */
  }
}

@media (max-width:1199px){

  /* Closed menu remains completely hidden. */
  html body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin:0 !important;
    padding:16px !important;

    transform:translateX(-50%) translateY(-10px) !important;

    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.36) !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;

    z-index:100000 !important;
  }

  /* Open menu is centered beneath the fixed header. */
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    left:50% !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;

    transform:translateX(-50%) translateY(0) !important;
  }

  html body .topbar .nav > a,
  html body .topbar .mobile-menu-actions,
  html body .topbar .mobile-menu-actions .pill{
    box-sizing:border-box !important;
  }

  html body .topbar .nav > a{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
  }

  html body .topbar .mobile-menu-actions{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:stretch !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media (orientation:portrait) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,74px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 16px) !important;
  }

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,74px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 62px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,58px) !important;
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 12px) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 58px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 44px) !important;
  }
}

@media (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    padding:14px !important;
  }
}

@media (min-width:1024px) and (max-width:1279px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px 18px !important;
    column-gap:14px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * The 1280px reference does not stretch the navigation edge-to-edge.
   * It uses a centered navigation band with breathing room beside both
   * the logo and the action buttons. This proportional width reproduces it.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    justify-self:center !important;

    width:86% !important;
    max-width:560px !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:8px !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(9.75px,.94vw,11px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px 11px !important;

    font-size:clamp(8.5px,.78vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }

  html body .hero,
  html body.home .hero,
  html body main > .hero{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:auto !important;
    margin:0 !important;
    padding:28px 22px 46px !important;
  }

  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:end !important;

    width:min(1120px,calc(100vw - 44px)) !important;
    max-width:1120px !important;
    min-width:0 !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
    object-fit:contain !important;
  }

  html body .split,
  html body.home .split,
  html body.home main > .split,
  html body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;

    width:min(1120px,calc(100vw - 58px)) !important;
    max-width:1120px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    gap:40px !important;
  }
}

@media (orientation:portrait) and (max-width:1023px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 12px)) !important;
    max-width:520px !important;
    height:auto !important;
    max-height:calc(100dvh - 74px) !important;

    margin:0 !important;
    padding:8px 10px 10px !important;
    gap:0 !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    overflow-y:auto !important;
    transform:translate(-50%,0) !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    transform:translate(-50%,0) !important;
  }

  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    min-height:31px !important;
    height:31px !important;

    margin:0 !important;
    padding:4px 7px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }

  html body .topbar .mobile-menu-actions{
    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:none !important;

    margin:4px 0 0 !important;
    padding:5px 0 0 !important;
    gap:4px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:5px 9px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }
}

@media (orientation:portrait) and (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 8px) !important;
    max-width:calc(100vw - 8px) !important;
    padding:7px 8px 8px !important;
  }

  html body .topbar .nav > a{
    min-height:30px !important;
    height:30px !important;
    padding:4px 6px !important;
    font-size:10px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    min-height:31px !important;
    height:31px !important;
    font-size:10px !important;
  }
}

@media (min-width:1280px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px clamp(28px,3vw,58px) !important;
    column-gap:clamp(18px,1.5vw,28px) !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * Full middle-track navigation:
   * This is the required correction for the large empty gap that remained
   * between MAILING LIST and BUY TICKETS on the desktop-class viewports.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    justify-self:stretch !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 !important;
    padding:0 clamp(16px,1.35vw,26px) !important;
    gap:clamp(10px,.9vw,18px) !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(10px,.72vw,12px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px clamp(12px,.9vw,17px) !important;

    font-size:clamp(8.5px,.64vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(34px,3vw,58px) !important;
    padding-right:clamp(34px,3vw,58px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    padding-left:clamp(18px,1.4vw,28px) !important;
    padding-right:clamp(18px,1.4vw,28px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(18px,1.35vw,24px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 8px !important;
    gap:clamp(16px,1.15vw,23px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    padding:6px 0 !important;

    font-size:clamp(9.5px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(12px,.85vw,16px) !important;
    padding-right:clamp(12px,.85vw,16px) !important;
    font-size:clamp(8.5px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:18px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:15px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9.25px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:11px !important;
    padding-right:11px !important;
    font-size:8.25px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:24px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:clamp(18px,1.1vw,24px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(16px,1.2vw,22px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 4px !important;

    font-size:clamp(9px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.82vw,16px) !important;
    padding-right:clamp(11px,.82vw,16px) !important;
    font-size:clamp(8.25px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:16px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    padding-left:2px !important;
    padding-right:2px !important;
    font-size:9px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:clamp(18px,1.3vw,24px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.5px,.60vw,10.75px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    align-items:center !important;

    column-gap:clamp(18px,1.35vw,26px) !important;

    padding-left:clamp(28px,2.45vw,46px) !important;
    padding-right:clamp(28px,2.45vw,46px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:86% !important;
    max-width:86% !important;
    min-width:0 !important;

    justify-self:center !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 2px !important;

    font-size:clamp(9px,.62vw,10.5px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    margin:0 !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.78vw,15px) !important;
    padding-right:clamp(11px,.78vw,15px) !important;
    font-size:clamp(8.15px,.56vw,9.5px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:18px !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9px !important;
    padding-left:1px !important;
    padding-right:1px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:20px !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:clamp(22px,1.35vw,26px) !important;
    padding-left:clamp(40px,2.5vw,48px) !important;
    padding-right:clamp(40px,2.5vw,48px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.25px,.54vw,10.25px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    position:relative !important;
    overflow:hidden !important;

    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease !important;
  }

  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    content:"" !important;
    display:block !important;

    position:absolute !important;
    left:50% !important;
    bottom:4px !important;

    width:0 !important;
    height:2px !important;

    border-radius:999px !important;
    background:linear-gradient(
      90deg,
      var(--yellow),
      #fff,
      var(--yellow)
    ) !important;

    transform:translateX(-50%) !important;
    transition:width .28s ease !important;

    box-shadow:0 0 9px rgba(255,212,90,.52) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    color:var(--yellow) !important;
    background:transparent !important;
    transform:translateY(-2px) !important;
    text-shadow:0 0 12px rgba(255,212,90,.34) !important;
  }

  html body .topbar nav.nav > a:hover::after,
  html body .topbar nav.nav > a:focus-visible::after,
  html body .topbar .nav > a:hover::after,
  html body .topbar .nav > a:focus-visible::after{
    width:72% !important;
  }
}

@media (min-width:1280px) and (prefers-reduced-motion:reduce){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:10.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1600px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .mobile-menu nav.nav > a,
  html body .mobile-menu .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after,
  html body .mobile-menu nav.nav > a::after,
  html body .mobile-menu .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible,
  html body .mobile-menu nav.nav > a:hover,
  html body .mobile-menu nav.nav > a:focus-visible,
  html body .mobile-menu .nav > a:hover,
  html body .mobile-menu .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    translate:none !important;
    transform:translate3d(-50%,0,0) !important;
    transform-origin:center top !important;

    transition:opacity .18s ease, visibility 0s linear .18s !important;
    will-change:opacity !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
  }

  html body .topbar .nav{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  html body .topbar .nav.mobile-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;

    transition:opacity .18s ease, visibility 0s linear 0s !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    transform:translate3d(-50%,0,0) !important;
  }
}

@media (max-width:1199px) and (prefers-reduced-motion:reduce){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    transition:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  :root{
    --knk-fixed-header-height:76px;
  }

  html body{
    padding-top:76px !important;
  }

  html body.admin-bar{
    padding-top:76px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:76px !important;
    min-height:76px !important;

    margin:0 !important;
    padding:8px 14px !important;
    column-gap:10px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    position:static !important;
    inset:auto !important;

    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:52px !important;
    max-height:52px !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
    translate:none !important;
    transition:none !important;
    animation:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:4px 1px !important;

    font-size:clamp(7px,.78vw,8px) !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    align-items:center !important;
    justify-content:flex-end !important;

    width:max-content !important;
    margin:0 !important;
    gap:5px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    min-height:34px !important;
    height:34px !important;

    margin:0 !important;
    padding:6px 8px !important;

    font-size:6.8px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (max-width:900px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:1 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 30px)) !important;
    max-width:520px !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:10px 14px 12px !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    transform:translateX(-50%) !important;
    translate:none !important;
    transform-origin:center top !important;

    transition:none !important;
    animation:none !important;
    will-change:auto !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    left:50% !important;
    right:auto !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (max-width:480px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    left:15px !important;
    right:15px !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;
    transform:none !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav:not(.mobile-open),
  html body .topbar .nav:not(.mobile-open){
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav *,
  html body .topbar .nav *,
  html body .topbar nav.nav:not(.mobile-open) *,
  html body .topbar .nav:not(.mobile-open) *{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav:not(.mobile-open) > a,
  html body .topbar .nav:not(.mobile-open) > a{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    color:#fff !important;
    background:transparent !important;

    font-size:clamp(7.5px,.82vw,8.5px) !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  /* Restore the approved hover/shimmer underline within this range. */
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* ==========================================================
   HOMEPAGE WAVE BACKGROUND CORRECTION
   ----------------------------------------------------------
   The original clip-path cuts away the upper part of .wave.
   Because the page background is black, that transparent
   clipped area appears as a black strip. Keep the wave
   container cream and clip only an inner gradient layer.
   ========================================================== */

body.home .wave{
  position:relative !important;
  display:block !important;
  height:55px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#fff7e8 !important;
  clip-path:none !important;
}

body.home .wave::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:linear-gradient(135deg,var(--teal),var(--aqua),#fff) !important;
  clip-path:polygon(
    0 35%,
    8% 50%,
    17% 33%,
    27% 60%,
    38% 32%,
    50% 60%,
    62% 35%,
    75% 55%,
    87% 30%,
    100% 55%,
    100% 100%,
    0 100%
  ) !important;
}

@media (max-width:992px){
  body.home .wave{
    height:42px !important;
  }
}

/* v2.5.17: definitive desktop/ultrawide partner layout. Browser zooming out
   increases the CSS viewport and previously activated conflicting legacy
   overrides. Grid keeps a real gap at every desktop width in both languages. */
@media (min-width:1200px){
  main > .partners .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(900px,calc(100vw - 64px)) !important;
    max-width:900px !important;
    gap:clamp(18px,2vw,30px) !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  main > .partners .partner-logo,
  main > .partners .partner-logo:nth-child(1),
  main > .partners .partner-logo:nth-child(2),
  main > .partners .partner-logo:nth-child(3){
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
}

/* Consolidated bilingual mobile/tablet system — 2026-08-27
   One cascade only. Scoped to the fourteen content pages; TV and desktop rules excluded. */
@media (max-width:1180px){
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main,
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main *{
    box-sizing:border-box;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main :is(img,video,iframe){
    max-width:100%;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main img{
    height:auto;
  }

  /* Compact page hierarchy without forcing single-line headings. */
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main .page-hero{
    min-height:0 !important;
    padding:clamp(26px,4vw,44px) clamp(14px,2.4vw,24px) !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main .page-hero h1{
    max-width:min(100%,900px) !important;
    margin-inline:auto !important;
    font-size:clamp(30px,4.2vw,42px) !important;
    line-height:1.02 !important;
    text-wrap:balance;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main .page-hero p{
    width:min(100%,720px) !important;
    margin-inline:auto !important;
    font-size:clamp(14px,1.45vw,16px) !important;
    line-height:1.5 !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150,.page-id-107,.page-id-158
  ) main :is(.section-title,.location-box){
    width:min(calc(100% - 28px),820px) !important;
    max-width:820px !important;
    margin-inline:auto !important;
    padding:clamp(16px,2.3vw,24px) !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150,.page-id-107,.page-id-158
  ) main :is(.section-title,.location-box) > :is(h2,h3,h4){
    max-width:100% !important;
    margin-top:0 !important;
    font-size:clamp(21px,2.5vw,28px) !important;
    line-height:1.12 !important;
    text-wrap:balance;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150,.page-id-107,.page-id-158
  ) main :is(.section-title,.location-box) :is(p,li){
    font-size:clamp(14px,1.35vw,16px) !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere;
  }

  /* Standard visual cards: natural height and one consistent label scale. */
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main :is(.genre-grid,.cards){
    display:grid !important;
    width:min(calc(100%),900px) !important;
    height:auto !important;
    margin-inline:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:12px !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main .genre{
    width:100% !important;
    min-width:0 !important;
    min-height:118px !important;
    height:auto !important;
    aspect-ratio:auto !important;
    padding:14px !important;
    background-size:cover !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main .genre > :is(h2,h3,h4){
    max-width:100% !important;
    margin:0 !important;
/*     font-size:clamp(14px,1.65vw,18px) !important; */
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    text-wrap:balance;
  }

  /* Festival split is an equal, proportional pair. */
  body:is(.page-id-79,.page-id-137) main.festival-page > .split{
    display:grid !important;
    width:min(calc(100% - 28px),900px) !important;
    max-width:900px !important;
    height:auto !important;
    margin-inline:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:16px !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > *{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:100% !important;
    margin:0 !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split .art-card{
    overflow:hidden !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split .art-card :is(img,picture){
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > :not(.art-card){
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:clamp(18px,2.6vw,28px) !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > :not(.art-card) h2{
    font-size:clamp(22px,2.8vw,30px) !important;
    line-height:1.1 !important;
    text-wrap:balance;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > :not(.art-card) p{
    font-size:clamp(14px,1.35vw,16px) !important;
    line-height:1.5 !important;
  }

  /* Sponsor opportunities stay shallow but may grow for translated text. */
  body:is(.page-id-99,.page-id-150) main .partner-row{
    display:grid !important;
    width:min(calc(100% - 28px),900px) !important;
    height:auto !important;
    margin-inline:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  body:is(.page-id-99,.page-id-150) main .partner-logo{
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    height:auto !important;
    padding:10px 12px !important;
    font-size:clamp(13px,1.35vw,16px) !important;
    line-height:1.2 !important;
    overflow-wrap:anywhere;
  }

  body:is(.page-id-99,.page-id-150) main :is(.sponsors-impact-heading,.sponsors-categories-heading),
  body:is(.page-id-97,.page-id-148) main :is(.merchandise-coming-heading,.merchandise-collection-heading,.merchandise-style-heading),
  body:is(.page-id-107,.page-id-158) main :is(.mailing-expect-heading,.section-title > h2){
    max-width:min(100%,760px) !important;
    margin-inline:auto !important;
    font-size:clamp(21px,2.5vw,28px) !important;
    line-height:1.12 !important;
    text-wrap:balance;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  /* Mailing-list information panels remain readable rather than compressed. */
  body:is(.page-id-107,.page-id-158) main.mailing-list-page > .location{
    padding:clamp(28px,4vw,46px) 14px !important;
  }

  body:is(.page-id-107,.page-id-158) main.mailing-list-page .location > :is(.section-title,.location-box){
    width:min(calc(100% - 28px),760px) !important;
  }

  /* Schedule background and posters are separate concerns. */
  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-overview{
    padding:clamp(28px,4vw,48px) 14px !important;
    background-image:
      linear-gradient(rgba(7,19,31,.67),rgba(7,19,31,.74)),
      url("https://staging.kanuikaifestival.com/wp-content/themes/Ka-Nui-Kai-Platinum-Main-Theme-v2.6.0/assets/images/ka-nui-kai-artwork.png") !important;
    background-size:auto,cover !important;
    background-position:0 0,center !important;
    background-repeat:repeat,no-repeat !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-title{
    width:min(calc(100% - 28px),760px) !important;
    margin-inline:auto !important;
    padding:0px !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-title h2,
  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-updates-box h2{
/*     font-size:clamp(21px,2.6vw,28px) !important; */
/*     line-height:1.12 !important; */
/*     text-wrap:balance; */
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-intro,
  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-updates-box :is(p,li){
    font-size:clamp(14px,1.35vw,16px) !important;
    line-height:1.5 !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-cards{
    display:grid !important;
    width:min(calc(100% - 28px),680px) !important;
    height:auto !important;
    margin:20px auto 0 !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:start !important;
    gap:10px !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-card{
    width:100% !important;
    max-width:210px !important;
    height:auto !important;
    aspect-ratio:2 / 3 !important;
    margin-inline:auto !important;
    overflow:hidden !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .knk-schedule-artwork{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    aspect-ratio:2 / 3 !important;
    object-fit:contain !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-updates{
    padding:clamp(28px,4vw,46px) 14px !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-updates-box{
    width:min(calc(100% - 28px),720px) !important;
    margin-inline:auto !important;
    padding:clamp(17px,2.2vw,24px) !important;
  }

  /* Links and controls remain finger-friendly. */
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main :is(a.button,.button,button,input[type="submit"]){
    min-height:44px;
  }
}

/* Phones: two readable columns; landscape may use three when space permits. */
@media (max-width:699px){
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main .page-hero{
    padding:24px 14px !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-49,.page-id-141,.page-id-95,.page-id-146,
    .page-id-97,.page-id-148,.page-id-99,.page-id-150,
    .page-id-107,.page-id-158
  ) main .page-hero h1{
    font-size:clamp(28px,8vw,34px) !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150,.page-id-107,.page-id-158
  ) main :is(.section-title,.location-box){
    width:calc(100% - 24px) !important;
    padding:15px !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150,.page-id-107,.page-id-158
  ) main :is(.section-title,.location-box) > :is(h2,h3,h4),
  body:is(.page-id-99,.page-id-150) main :is(.sponsors-impact-heading,.sponsors-categories-heading),
  body:is(.page-id-97,.page-id-148) main :is(.merchandise-coming-heading,.merchandise-collection-heading,.merchandise-style-heading),
  body:is(.page-id-107,.page-id-158) main :is(.mailing-expect-heading,.section-title > h2){
    font-size:clamp(19px,5.5vw,23px) !important;
    line-height:1.14 !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main :is(.genre-grid,.cards){
/*     width:calc(100% - 24px) !important; */
    grid-template-columns:repeat(1,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main .genre{
/*     min-height:116px !important; */
/*     padding: 14px 16px !important; */
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main .genre > :is(h2,h3,h4){
/*     font-size:clamp(13px,3.7vw,16px) !important; */
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split{
    width:calc(100% - 24px) !important;
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start !important;
    gap:14px !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > *{
    width:min(100%,390px) !important;
    height:auto !important;
    margin-inline:auto !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split .art-card{
/*     aspect-ratio:4 / 3 !important; */
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > :not(.art-card){
    padding:17px !important;
  }

  body:is(.page-id-79,.page-id-137) main.festival-page > .split > :not(.art-card) h2{
    font-size:clamp(21px,6vw,25px) !important;
  }

  body:is(.page-id-99,.page-id-150) main .partner-row{
    width:calc(100% - 24px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body:is(.page-id-99,.page-id-150) main .partner-logo{
    min-height:52px !important;
    padding:9px 10px !important;
    font-size:13px !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-title{
    width:calc(100% - 24px) !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-cards{
    width:min(calc(100% - 24px),390px) !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  body:is(.page-id-49,.page-id-141) main.schedule-page .schedule-page-card{
    max-width:118px !important;
  }
}

@media (min-width:560px) and (max-width:699px) and (orientation:landscape){
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main :is(.genre-grid,.cards){
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Tablet portrait: three columns. Tablet landscape: four. */
@media (min-width:700px) and (max-width:899px){
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main :is(.genre-grid,.cards){
/*     grid-template-columns:repeat(3,minmax(0,1fr)) !important; */
/*     gap:14px !important; */
  }

  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main .genre{
    min-height:126px !important;
  }

  body:is(.page-id-99,.page-id-150) main .partner-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (min-width:900px) and (max-width:1180px){
  body:is(
    .page-id-79,.page-id-137,.page-id-61,.page-id-139,
    .page-id-95,.page-id-146,.page-id-97,.page-id-148,
    .page-id-99,.page-id-150
  ) main :is(.genre-grid,.cards){
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  body:is(.page-id-99,.page-id-150) main .partner-row{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

/* ==========================================================
   KA NUI KAI v2.0
   RESPONSIVE SYSTEM
   ----------------------------------------------------------
   Extracted in original cascade order from the approved
   v1.3 / v6.5.2 production stylesheet.

   Contains only production @media rules, including:
   desktop, laptop, tablet, mobile, orientation, touch,
   WordPress admin-bar, reduced-motion, and print overrides.
   ========================================================== */

@media (max-width: 1200px) {
  /* TABLET LANDSCAPE / SMALL LAPTOP
     Original rule order preserved. */

.schedule .section-title h2{
    font-size:clamp(28px,4vw,42px) !important;
  }
.cards{ gap:24px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:440px;
    padding:36px 34px 30px;
  }
  .day li{
    padding-left:56px;
    font-size:18px;
  }
  .day li::before{
    width:34px;
    height:34px;
  }
.schedule .day li::before{
    width:36px !important;
    height:36px !important;
  }
.schedule .section-title h2{
    font-size:clamp(29px,3.2vw,42px) !important;
  }

  .schedule .cards{
    gap:22px;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:382px;
    padding:30px 26px 24px;
  }

  .schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:49px !important;
    font-size:15px !important;
  }

  .schedule .day li::before{
    width:31px !important;
    height:31px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:50px !important;
    padding-left:52px !important;
    font-size:16px !important;
  }

  .schedule .cards .day li::before{
    width:35px !important;
    height:35px !important;
  }
.schedule-page-overview .schedule-page-cards{
    max-width:1080px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1120px,95vw) !important;
    max-width:1120px !important;
    gap:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13.5px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(1160px,95vw) !important;
    max-width:1160px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .hawaiian-schedule-page .schedule-page-card{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:13px !important;
    gap:10px !important;
  }
.sponsors-page .sponsors-impact-heading,
  .sponsors-page .sponsors-categories-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.sponsors-page .experience .section-title > p:last-child{
/*     width:min(980px,92vw) !important; */
    max-width:980px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.mailing-list-page .mailing-expect-heading,
  .mailing-list-page .mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }
.mailing-list-page .mailing-section .section-title > p:last-child{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.hawaiian-mailing-list-page .hawaiian-mailing-expect-heading,
  .hawaiian-mailing-list-page .hawaiian-mailing-signup-heading{
    white-space:normal !important;
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-mailing-list-page .hawaiian-mailing-signup-copy{
    width:min(920px,92vw) !important;
    max-width:920px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.sponsors-page .partners .section-title > p:last-child{
    white-space:normal !important;
  }
.sponsors-page .page-hero > p,
  .sponsors-page .partners .section-title > p:last-child,
  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.merchandise-page .merchandise-coming-heading,
  .merchandise-page .merchandise-collection-heading,
  .merchandise-page .merchandise-style-heading{
    white-space:normal !important;
    font-size:clamp(30px,5vw,42px) !important;
  }

  .merchandise-page .merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
.merchandise-page .page-hero > p{
    width:min(900px,92vw) !important;
    max-width:900px !important;
    white-space:normal !important;
  }
.hawaiian-merchandise-page .hawaiian-merchandise-hero-copy,
  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    white-space:normal !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.travel-page .travel-hero-copy,
  .travel-page .travel-destination-heading,
  .travel-page .travel-destination-copy,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-expect-copy,
  .travel-page .travel-details-heading{
    white-space:normal !important;
  }

  .travel-page .travel-destination-heading,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-details-heading{
    font-size:clamp(30px,5vw,42px) !important;
  }

  .travel-page .travel-hero-copy,
  .travel-page .travel-destination-copy,
  .travel-page .travel-expect-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:15px !important;
    line-height:1.5 !important;
  }
.travel-page .travel-transport-card h4{
    white-space:normal !important;
/*     font-size:clamp(22px,4.5vw,30px) !important; */
  }

  .travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .travel-details-copy{
    white-space:normal !important;
  }
.travel-page .genre.travel-transport-card h4{
/*     font-size:24px !important; */
    white-space:normal !important;
  }
.hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-copy,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    white-space:normal !important;
  }

  .hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-expect-copy{
    width:100% !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.schedule-page .schedule-page-hero > p,
  .schedule-page .schedule-page-updates-box > p:not(.eyebrow){
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    white-space:normal !important;
  }
.schedule-page .schedule-page-intro{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.schedule-page .schedule-page-intro{
    position:static !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:940px !important;
    margin:16px auto 28px !important;
    padding:0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-announcement-copy,
  .lineup-page .lineup-stages-heading{
    white-space:normal !important;
  }

  .lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-stages-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-stages-copy{
    white-space:normal !important;
  }
.lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }
.hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-announcement-copy,
  .hawaiian-lineup-page .haw-lineup-stages-heading,
  .hawaiian-lineup-page .haw-lineup-stages-copy{
    white-space:normal !important;
  }

  .hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-stages-heading{
    font-size:clamp(28px,4.8vw,40px) !important;
  }

  .hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-hero-copy,
  .festival-page .festival-experience-heading,
  .festival-page .festival-experience-copy,
  .festival-page .festival-vision-heading,
  .festival-page .festival-vision-copy{
    white-space:normal !important;
  }

  .festival-page .festival-experience-heading,
  .festival-page .festival-vision-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
  }

  .festival-page .festival-hero-copy,
  .festival-page .festival-experience-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.festival-page .festival-vision-copy,
  .festival-page .festival-sustainability-heading,
  .festival-page .festival-sustainability-copy{
    white-space:normal !important;
  }

  .festival-page .festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    line-height:1.1 !important;
  }
.festival-page .festival-vision-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
    white-space:normal !important;
  }
.hawaiian-festival-page .haw-festival-experience-heading,
  .hawaiian-festival-page .haw-festival-vision-heading,
  .hawaiian-festival-page .haw-festival-sustainability-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .hawaiian-festival-page .haw-festival-hero-copy,
  .hawaiian-festival-page .haw-festival-experience-copy,
  .hawaiian-festival-page .haw-festival-vision-copy,
  .hawaiian-festival-page .haw-festival-sustainability-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.contact-page .contact-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(29px,4.8vw,40px) !important;
    white-space:normal !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(28px,4.6vw,38px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:min(940px,92vw) !important;
    max-width:940px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav" !important;
    min-height:0 !important;
    padding:8px 12px !important;
    gap:8px !important;
  }

  .brand{
    grid-area:logo !important;
    transform:none !important;
  }

  .brand,
  .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    width:auto !important;
    min-width:145px !important;
    max-width:180px !important;
    padding:10px 16px !important;
    font-size:12px !important;
  }

  .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;
    padding:10px 14px !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .desktop-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav !important;
    display:none !important;
    position:static !important;
    width:100% !important;
    max-height:calc(100vh - 80px) !important;
    overflow-y:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    margin-top:8px !important;
    padding:16px !important;
    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.3) !important;
  }

  .nav.mobile-open{
    display:flex !important;
  }

  .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    text-align:center !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .nav > a::after{
    display:none !important;
  }

  .mobile-menu-actions{
    display:flex !important;
    padding-top:16px !important;
    gap:10px !important;
  }
}


@media (max-width: 992px) {
  /* TABLET PORTRAIT
     Original rule order preserved. */

.policy-page{
    padding:95px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:30px 22px;
  }

  .related-policies ul{
    columns:1;
  }

  .hero{
    min-height:auto;
    padding:0 0 45px;
    gap:24px;
  }

  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:28px;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
  }

  .hero-buttons{
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  .countdown-box{
    width:90%;
    min-width:0;
    padding:14px 18px;
  }

  section{
    padding:55px 22px;
  }

  .page-hero{
    padding:70px 22px;
  }

  .split,
  .cards,
  .genre-grid,
  .info-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .location ul{
    columns:1;
  }

  .mailing-box{
    flex-direction:column;
    width:100%;
  }

  .copy{
    flex-direction:column;
    text-align:center;
    align-items:center;
  }

  .footer-legal-links{
    margin-top:8px;
    gap:8px 14px;
  }
.policy-accordion summary{
    padding:16px 52px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  .policy-container{
    padding:26px 18px;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:6px;
  }
.topbar{
    padding:8px 12px;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    min-width:145px;
    padding:11px 18px;
    font-size:13px;
  }

  .mobile-menu-btn{
    padding:10px 15px;
    font-size:13px;
  }

  .nav{
    padding:18px;
    border-radius:18px;
  }

  .nav > a{
    font-size:16px;
    padding:15px 10px;
  }

  .mobile-menu-actions .pill{
    max-width:300px;
    font-size:15px;
    padding:14px 20px;
  }
body.admin-bar .topbar{
    top:46px;
  }
.poster-row::before{
    width:78%;
    top:45%;
  }

  .countdown-box{
    min-width:0;
    width:90%;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }
.genre:hover,
  .genre:focus-visible,
  .day:nth-child(1):hover,
  .day:nth-child(1):focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible,
  .day:nth-child(3):hover,
  .day:nth-child(3):focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:translateY(-6px);
  }
.art-card:hover,
  .art-card:focus-within,
  .mailing-box:focus-within{
    transform:translateY(-6px);
  }

  .mailing-box{
    border-radius:24px;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-8px) scale(1.025) !important;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobile 1.8s ease-in-out infinite !important;
    top:0 !important;
  }

  .poster-row::after{
    display:none;
  }
html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right{
    transform:translateY(20px);
    filter:blur(2px);
  }

  html.knk-reveal-ready .knk-reveal.knk-reveal-scale{
    transform:scale(.97);
  }

  html.knk-reveal-ready .knk-reveal.is-visible{
    transform:none;
    filter:none;
  }
.day-poster:hover,
  .day-poster:focus-visible{
    animation:knkPosterHoverFlareMobileGentle 2.4s ease-in-out infinite !important;
    top:0 !important;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }

  .day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.hero{
    padding:0 0 42px;
    gap:18px;
  }

  .poster-row{
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    width:100%;
    padding:0 18px;
    gap:12px;
  }

  .hero-buttons .pill{
    width:100%;
    max-width:320px;
    min-width:0;
    padding:14px 20px;
    font-size:13px;
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
    padding:15px 18px;
    border-radius:16px;
  }

  .countdown-label{
    font-size:10px;
    letter-spacing:1.6px;
  }

  .countdown-date{
    font-size:15px;
    line-height:1.25;
  }

  .wave{
    height:42px;
  }

  .genre-grid,
  .info-grid,
  .cards{
    gap:18px;
  }

  .genre,
  .info-card,
  .day{
    min-height:0;
  }

  .genre{
    min-height:180px;
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:26px 22px;
  }

  .partner-row{
    gap:14px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    padding:12px;
    gap:10px;
  }

  .mailing-box .pill{
    width:100%;
  }

  footer{
    padding:42px 22px 22px;
  }

  .footer-grid{
    gap:24px;
  }
.hero{
    animation-duration:14s;
  }

  .hero::before{
    animation-duration:26s;
    opacity:.42;
  }

  .hero::after{
    opacity:.55;
    animation-duration:20s;
  }

  .poster-row::before{
    opacity:.58;
    animation-duration:14s;
  }

  .experience,
  .schedule,
  .mailing-section,
  .topbar,
  .page-hero::before{
    animation-duration:18s;
  }
.table-scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
.split{
    width:100%;
    max-width:none;
    grid-template-columns:1fr;
    gap:34px;
  }

  .art-card{
    width:min(100%,620px);
    max-width:620px;
    margin:0 auto;
  }

  .split > div:last-child{
    max-width:none;
  }
.day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    /* animation:none !important; */
  }
.day-poster:hover,
  .day-poster:focus-visible{
    top:0 !important;
    transform:translateY(-5px) scale(1.018) !important;
  }
.mailing-box{
        width:min(94%,560px);
        border-radius:28px;
        padding:16px;
        display:grid;
        gap:14px;
    }
    .mailing-box .email{
        height:58px;
    }
    .mailing-box .pill{
        width:100%;
        height:54px;
    }
.experience,
  .location,
  .partners,
  .mailing-section{
    padding-top:64px;
    padding-bottom:64px;
  }

  .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .location-box{
    padding:36px 30px;
  }

  .mailing-box{
    width:min(88%,700px);
  }
.genre-grid{
    grid-template-columns:1fr;
  }

  .genre{
    min-height:190px;
  }

  .location ul{
    grid-template-columns:1fr;
  }

  .location-box{
    padding:30px 22px;
  }

  .partner-logo{
    width:100%;
    max-width:300px;
  }

  .mailing-box{
    width:min(92%,520px);
    border-radius:24px;
    padding:12px;
  }

  .mailing-box .email{
    height:52px;
  }

  .mailing-box .pill{
    width:100%;
    height:50px;
  }
.schedule{
    background-attachment:scroll;
    animation-duration:32s;
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    transform:none;
    animation:
      knkScheduleBorderGlow 13s ease-in-out infinite;
  }

  .day::after{
    display:none;
  }

  .day:hover,
  .day:focus-visible,
  .day:nth-child(2):hover,
  .day:nth-child(2):focus-visible{
    transform:translateY(-5px) !important;
  }
.day::before{
    animation-duration:14s;
  }

  .day::after{
    display:none;
  }

  .schedule .section-title h2{
    animation-duration:16s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.7px rgba(0,0,0,.70);
    animation-duration:11s;
  }

  .schedule .section-title h2::after{
    animation-duration:13s;
  }
.schedule .section-title h2{
    -webkit-text-stroke:.75px rgba(0,0,0,.80);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }
.schedule .section-title h2{
    -webkit-text-stroke:1.4px var(--red);
  }

  .schedule .section-title::before{
    height:42px;
  }
.schedule .section-title h2{
    white-space:normal;
    font-size:clamp(28px,7vw,40px) !important;
    -webkit-text-stroke:1.25px var(--red);
  }

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:knkScheduleBorderGlow 13s ease-in-out infinite;
  }
.schedule{
    padding-top:58px;
    padding-bottom:64px;
  }
  .schedule .section-title{
    margin-bottom:38px;
  }
  .schedule .section-title h2{
    font-size:clamp(28px,7vw,42px) !important;
    white-space:normal;
  }
  .cards{ gap:26px; }
  .day,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    min-height:0;
    padding:32px 26px 26px;
  }
  .day h4{
    font-size:29px;
  }
  .day li{
    min-height:54px;
    padding-left:54px;
    font-size:17px;
  }
.schedule{
    padding-top:48px;
    padding-bottom:54px;
  }

  .schedule .section-title h2{
    white-space:normal !important;
    font-size:clamp(27px,7vw,40px) !important;
  }

  .schedule .day,
  .schedule .day:nth-child(1),
  .schedule .day:nth-child(2),
  .schedule .day:nth-child(3){
    min-height:0;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    white-space:normal !important;
  }
.schedule-page-overview{
    padding-top:58px !important;
    padding-bottom:68px !important;
  }

  .schedule-page-overview .schedule-page-title{
    margin-bottom:34px !important;
  }

  .schedule-page-overview .schedule-page-title::before{
    top:34px !important;
    width:110% !important;
  }

  .schedule-page-overview .schedule-page-title::after{
    top:72px !important;
  }

  .schedule-page-overview .schedule-page-title h3{
    white-space:normal !important;
    margin-bottom:26px !important;
    padding:8px 16px 12px !important;
  }

  .schedule-page-overview .schedule-page-intro{
    width:min(680px,94%) !important;
    font-size:15px !important;
    line-height:1.66 !important;
  }

  .schedule-page-overview .schedule-page-cards{
    margin-top:28px !important;
    gap:22px !important;
  }

  .schedule-page-overview .schedule-page-card{
    min-height:0 !important;
  }
.schedule-page-overview .schedule-page-title h3{
    font-size:clamp(32px,6.6vw,48px) !important;
  }

  .schedule-page-overview .schedule-page-title::before{
    top:34px !important;
    width:110% !important;
  }

  .schedule-page-overview .schedule-page-title::after{
    top:16px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(620px,94vw) !important;
    max-width:620px !important;
    grid-template-columns:1fr !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:15px !important;
  }
.hawaiian-schedule-page .schedule-page-cards{
    width:min(620px,94vw) !important;
    max-width:620px !important;
    grid-template-columns:1fr !important;
  }

  .hawaiian-schedule-page .schedule-page-card li{
    font-size:15px !important;
    line-height:1.4 !important;
  }
.sponsors-page .sponsors-impact-heading,
  .sponsors-page .sponsors-categories-heading{
    font-size:clamp(27px,8vw,36px) !important;
    line-height:1.1 !important;
  }
.sponsors-page .experience .section-title > p:last-child{
    width:100% !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.mailing-list-page .mailing-expect-heading,
  .mailing-list-page .mailing-signup-heading{
    font-size:clamp(27px,8vw,36px) !important;
    line-height:1.1 !important;
  }
.mailing-list-page .mailing-section .section-title > p:last-child{
    width:100% !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.hawaiian-mailing-list-page .hawaiian-mailing-expect-heading,
  .hawaiian-mailing-list-page .hawaiian-mailing-signup-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-mailing-list-page .hawaiian-mailing-signup-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.merchandise-page .merchandise-coming-heading,
  .merchandise-page .merchandise-collection-heading,
  .merchandise-page .merchandise-style-heading{
    font-size:clamp(27px,8vw,36px) !important;
    line-height:1.1 !important;
  }

  .merchandise-page .merchandise-style-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.hawaiian-merchandise-page .hawaiian-merchandise-coming-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-collection-heading,
  .hawaiian-merchandise-page .hawaiian-merchandise-style-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-merchandise-page .hawaiian-merchandise-style-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.travel-page .travel-destination-heading,
  .travel-page .travel-information-heading,
  .travel-page .travel-expect-heading,
  .travel-page .travel-details-heading{
    font-size:clamp(27px,8vw,36px) !important;
    line-height:1.1 !important;
  }

  .travel-page .travel-hero-copy,
  .travel-page .travel-destination-copy,
  .travel-page .travel-expect-copy,
  .travel-page .travel-details-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
.travel-page .genre.travel-transport-card h4{
/*     font-size:22px !important; */
    line-height:1.05 !important;
  }
.hawaiian-travel-page .hawaiian-travel-destination-heading,
  .hawaiian-travel-page .hawaiian-travel-information-heading,
  .hawaiian-travel-page .hawaiian-travel-expect-heading,
  .hawaiian-travel-page .hawaiian-travel-details-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-travel-page .hawaiian-travel-hero-copy,
  .hawaiian-travel-page .hawaiian-travel-destination-copy,
  .hawaiian-travel-page .hawaiian-travel-expect-copy,
  .hawaiian-travel-page .hawaiian-travel-details-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.lineup-page .lineup-announcement-heading,
  .lineup-page .lineup-stages-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .lineup-page .lineup-hero-copy,
  .lineup-page .lineup-announcement-copy,
  .lineup-page .lineup-stages-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.hawaiian-lineup-page .haw-lineup-announcement-heading,
  .hawaiian-lineup-page .haw-lineup-stages-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-lineup-page .haw-lineup-hero-copy,
  .hawaiian-lineup-page .haw-lineup-announcement-copy,
  .hawaiian-lineup-page .haw-lineup-stages-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.festival-page .festival-experience-heading,
  .festival-page .festival-vision-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .festival-page .festival-hero-copy,
  .festival-page .festival-experience-copy,
  .festival-page .festival-vision-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.festival-page .festival-sustainability-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .festival-page .festival-vision-copy,
  .festival-page .festival-sustainability-copy{
    width:100% !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.hawaiian-festival-page .haw-festival-experience-heading,
  .hawaiian-festival-page .haw-festival-vision-heading,
  .hawaiian-festival-page .haw-festival-sustainability-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-festival-page .haw-festival-hero-copy,
  .hawaiian-festival-page .haw-festival-experience-copy,
  .hawaiian-festival-page .haw-festival-vision-copy,
  .hawaiian-festival-page .haw-festival-sustainability-copy{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.contact-page .contact-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .contact-page .contact-hero-copy,
  .contact-page .contact-copy,
  .contact-page .contact-email-line{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.vendors-page .vendors-applications-heading,
  .vendors-page .vendors-guidelines-heading{
    font-size:clamp(26px,8vw,35px) !important;
    line-height:1.12 !important;
  }

  .vendors-page .vendors-hero-copy,
  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line,
  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.hawaiian-vendors-page .haw-vendors-applications-heading,
  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .hawaiian-vendors-page .haw-vendors-hero-copy,
  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line,
  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:none !important;
    font-size:14px !important;
    line-height:1.6 !important;
  }
.topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "logo ticket menu"
      "nav nav nav";
    min-height:0;
    padding:8px 12px;
    gap:8px;
  }

  .brand{
    transform:none;
  }

  .nav-logo{
    width:46px;
    height:46px;
  }

  .mobile-header-ticket{
    display:inline-flex;
    min-width:0;
    width:auto;
    max-width:180px;
    padding:10px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    display:block;
    padding:10px 14px;
    font-size:12px;
    white-space:nowrap;
  }

  .nav{
    width:100%;
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    margin-top:8px;
    padding:16px;
  }

  .nav > a{
    font-size:15px;
    padding:13px 10px;
  }

  .mobile-menu-actions{
    padding-top:16px;
    gap:10px;
  }

  .mobile-menu-actions .pill{
    max-width:320px;
    padding:13px 18px;
    font-size:14px;
  }

  section{
    padding:56px 24px;
  }

  .page-hero{
    padding:66px 24px;
  }

  .page-hero h1{
    font-size:clamp(34px,7vw,54px);
    line-height:1.05;
  }

  .page-hero p{
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:15px !important;
    line-height:1.55 !important;
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    max-width:100% !important;
    font-size:clamp(28px,5.5vw,40px) !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    width:100% !important;
    max-width:none !important;
    font-size:15px !important;
    line-height:1.58 !important;
    white-space:normal !important;
  }

  .split{
    grid-template-columns:1fr;
    gap:32px;
  }

  .art-card{
    width:min(560px,100%);
    margin-left:auto;
    margin-right:auto;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .cards{
    grid-template-columns:1fr;
    gap:20px;
    max-width:680px;
  }

  .genre,
  .info-card{
    min-height:180px;
    padding:22px;
  }

  .genre h4,
  .info-card h4{
    font-size:clamp(21px,3.8vw,27px);
  }

  .day{
    padding:26px 22px;
  }

  .location-box{
    padding:30px 26px;
  }

  .location ul{
    columns:1;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .location li{
    position:relative;
    padding:10px 10px 10px 30px;
  }

  .location li::before{
    left:8px;
  }

  .partner-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .mailing-box{
    width:min(680px,100%);
  }

  .policy-page{
    padding:80px 18px 60px;
  }

  .policy-wrap{
    grid-template-columns:1fr;
  }

  .policy-sidebar{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
  }

  .policy-container{
    padding:32px 24px;
  }

  .related-policies ul{
    columns:1;
  }

  footer{
    padding:48px 24px 24px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  .copy{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .footer-legal-links{
    justify-content:center;
  }
.topbar{
    padding:7px 8px;
    gap:6px;
  }

  .nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    max-width:128px;
    padding:8px 10px;
    font-size:10px;
  }

  .mobile-menu-btn{
    padding:8px 10px;
    font-size:11px;
  }

  .nav{
    padding:14px;
  }

  .nav > a{
    font-size:14px;
    padding:12px 8px;
  }

  section{
    padding:44px 16px;
  }

  .page-hero{
    padding:54px 18px;
  }

  .page-hero h1{
    font-size:clamp(30px,9vw,43px);
  }

  .page-hero p{
    font-size:14px !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(25px,7.8vw,34px) !important;
    line-height:1.12 !important;
  }

  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:14px !important;
    line-height:1.58 !important;
  }

  .hero{
    min-height:auto;
    padding:18px 0 42px;
    gap:22px;
  }

  /*
   * Keep the three homepage posters intact.
   * They remain stacked in their original order on phones.
   */
  .poster-row{
    /* grid-template-columns:1fr; */
    width:100%;
    max-width:100%;
    gap:24px;
    padding:0;
  }

  .day-poster{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

  .poster-row::before,
  .poster-row::after{
    display:none;
  }

  .day-poster:nth-child(1),
  .day-poster:nth-child(2),
  .day-poster:nth-child(3){
    animation:none;
  }

  .hero-buttons{
    width:100%;
    padding:0 16px;
    flex-direction:column;
    align-items:center;
  }

  .hero-buttons .pill{
    width:min(320px,100%);
  }

  .countdown-wrap{
    width:100%;
    padding:0 16px;
  }

  .countdown-box{
    width:100%;
    min-width:0;
  }

  .genre-grid,
  .info-grid,
  .partner-row{
    grid-template-columns:1fr;
  }

  .genre,
  .info-card{
    min-height:165px;
    padding:20px;
  }

  .cards{
    width:100%;
  }

  .day{
    padding:24px 18px;
  }

  .location-box{
    padding:25px 18px;
    border-width:4px;
    border-radius:21px;
  }

  .location li{
    padding:10px 8px 10px 28px;
    font-size:14px;
    line-height:1.4;
  }

  .location li::before{
    left:7px;
  }

  .mailing-box{
    flex-direction:column;
    gap:12px;
    padding:12px;
    border-radius:22px;
  }

  .mailing-box .email,
  .mailing-box .pill{
    width:100%;
  }

  .policy-container{
    padding:26px 18px;
  }

  .policy-accordion summary{
    padding:16px 50px 16px 18px;
  }

  .policy-accordion summary::after{
    right:18px;
  }

  .policy-accordion .accordion-content{
    padding:0 18px 18px;
  }

  footer{
    padding:42px 18px 22px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  footer ul{
    padding-left:0;
    list-style:none;
  }

  .footer-legal-links{
    flex-direction:column;
    gap:7px;
  }

  .footer-legal-links a{
    white-space:normal;
  }
body.admin-bar .topbar{
    top:auto;
  }
/* Reduce excessive experience-card height without redesigning them. */
  .genre,
  .info-card{
    min-height:138px !important;
    padding:18px !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:6px !important;
    font-size:22px !important;
    line-height:1.05 !important;
  }

  /* Tighten the long mobile footer. */
  footer{
    padding-top:34px !important;
    padding-bottom:18px !important;
  }

  .footer-grid{
    gap:18px !important;
  }

  footer h2{
    margin-bottom:9px !important;
  }

  footer a{
    margin:5px 0 !important;
  }

  .copy{
    margin-top:24px !important;
    padding-top:14px !important;
    gap:12px !important;
  }

  .footer-legal-links{
    gap:5px !important;
  }
/* Tighten poster spacing while keeping poster size and order unchanged. */
  .poster-row{
    gap:18px !important;
  }

  .hero{
    gap:18px !important;
    padding-bottom:36px !important;
  }

  .countdown-wrap{
    margin-top:-2px !important;
  }

  .countdown-box{
    padding-top:11px !important;
    padding-bottom:11px !important;
  }

  .countdown-date{
    margin-top:2px !important;
  }

  /* Final experience-card proportion refinement. */
  .genre,
  .info-card{
    min-height:126px !important;
    padding:16px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:2px !important;
    font-size:21px !important;
  }

  /* Schedule card spacing. */
  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .day h4{
    margin-bottom:11px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel tightening. */
  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  .location-box p{
    margin-top:11px !important;
    margin-bottom:11px !important;
  }

  .location ul{
    margin-top:12px !important;
    margin-bottom:18px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Sponsor spacing. */
  .partner-row{
    gap:12px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:17px !important;
    padding-bottom:17px !important;
  }

  .partners .pill{
    min-width:165px !important;
  }

  /* Mailing section spacing. */
  .mailing-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .mailing-section .section-title{
    margin-bottom:18px !important;
  }

  .mailing-box{
    margin-top:16px !important;
  }

  /* Footer final tightening. */
  footer{
    padding-top:30px !important;
    padding-bottom:16px !important;
  }

  .footer-grid{
    gap:15px !important;
  }

  footer h2{
    margin-bottom:7px !important;
  }

  footer a{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .copy{
    margin-top:20px !important;
    padding-top:12px !important;
  }
body.home .poster-row{
    /* grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.home .genre-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .genre{
    min-height:116px !important;
    padding:14px 16px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:20px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:19px !important;
    margin-bottom:10px !important;
  }

  body.home .schedule .day li{
    min-height:40px !important;
    font-size:13px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:60px !important;
    padding:14px 16px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:8px !important;
    padding:10px !important;
  }

  body.home .mailing-box .email,
  body.home .mailing-box .pill{
    width:100% !important;
    margin-bottom:0 !important;
  }

  body.home footer{
    padding:24px 14px 12px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 12px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    text-align:center !important;
  }

  body.home footer .footer-grid > :nth-child(5) form{
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home footer h2{
    margin-bottom:6px !important;
  }

  body.home footer a{
    margin:3px 0 !important;
    font-size:11px !important;
  }

  body.home footer .copy{
    margin-top:14px !important;
    padding-top:8px !important;
    gap:7px !important;
    font-size:10px !important;
    text-align:center !important;
  }

  body.home footer .footer-legal-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:4px 8px !important;
  }
}

@media (max-width: 576px) {
  /* MOBILE
     Original rule order preserved. */

.page-hero h1{
    font-size:34px;
  }

  .section-title h3,
  .split h3,
  .location h3{
    font-size:30px;
  }

  .countdown-date{
    font-size:15px;
  }
.nav-logo{
    width:42px;
    height:42px;
  }

  .mobile-header-ticket{
    min-width:135px;
    padding:9px 16px;
    font-size:12px;
  }

  .mobile-menu-btn{
    padding:8px 12px;
    font-size:12px;
  }
.schedule .section-title::before{
    height:42px;
  }
 body.page .schedule .section-title h2{
    font-size:22px !important;
	  -webkit-text-stroke: 0.5px rgba(120, 15, 15, .92) !important;
	         margin-top: 10px !important;
  }
  .day h4::after{
    content:"──  ✿  ──";
    font-size:25px;
  }
  .schedule .center-button .pill{
    min-width:0;
    width:100%;
    max-width:310px;
  }
.schedule .day li::before{
    width:32px !important;
    height:32px !important;
  }
.schedule .day li,
  .schedule .day:nth-child(1) li,
  .schedule .day:nth-child(2) li,
  .schedule .day:nth-child(3) li{
    padding-left:45px !important;
    font-size:14px !important;
  }

  .schedule .day li::before{
    width:28px !important;
    height:28px !important;
  }
.schedule .cards .day li,
  .schedule .cards .day:nth-child(1) li,
  .schedule .cards .day:nth-child(2) li,
  .schedule .cards .day:nth-child(3) li{
    min-height:46px !important;
    padding-left:46px !important;
    font-size:14px !important;
  }

  .schedule .cards .day li::before{
    width:30px !important;
    height:30px !important;
  }
.schedule-page-overview .schedule-page-title::before{
    top:42px !important;
    width:104% !important;
    height:64px !important;
  }

  .schedule-page-overview .schedule-page-title::after{
    top:24px !important;
  }

  .schedule-page-overview .schedule-page-title h3{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .schedule-page-overview .schedule-page-intro{
    width:100% !important;
    padding:0 8px !important;
    font-size:14px !important;
    line-height:1.62 !important;
  }
.schedule-page-overview .schedule-page-title h3{
    font-size:clamp(28px,9vw,38px) !important;
  }
section{
    padding-left:13px;
    padding-right:13px;
  }

  .page-hero{
    padding-left:14px;
    padding-right:14px;
  }

  .mobile-header-ticket{
    max-width:110px;
    padding-left:8px;
    padding-right:8px;
    font-size:9px;
  }

  .mobile-menu-btn{
    padding-left:8px;
    padding-right:8px;
    font-size:10px;
  }

  .location-box{
    padding-left:15px;
    padding-right:15px;
  }
}

@media (min-width:901px){

  .topbar{
    grid-template-columns:76px minmax(0,1fr) auto;
    grid-template-areas:"logo nav actions";
    min-height:84px;
    padding:6px 3vw;
    gap:16px;
  }

  .brand{
    grid-area:logo;
    justify-self:start;
    align-self:center;
    transform:translateY(2px);
  }

  .brand,
  .nav-logo{
    width:72px;
    height:72px;
  }

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .nav,
  .nav.mobile-open{
    grid-area:nav;
    display:flex !important;
    position:static;
    width:auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0;
    padding:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }

  .nav > a{
    display:inline-flex;
    width:auto;
    min-height:44px;
    align-items:center;
    justify-content:center;
    color:#fff;
    border:0;
    padding:9px 8px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .desktop-actions{
    grid-area:actions;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:max-content;
  }

  .desktop-actions .pill{
    width:auto;
    padding:10px 14px;
    font-size:11px;
    white-space:nowrap;
  }

  .hero{
    min-height:720px;
    padding:68px 5vw 72px;
    gap:30px;
  }

  .poster-row{
    max-width:1230px;
    gap:16px;
  }
}

@media (min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .hero,
  .hero::before,
  .hero::after,
  .experience,
  .schedule{
    animation:none;
  }

  .pill,
  .day-poster,
  .genre,
  .info-card,
  .day{
    transition:none;
  }

  .pill:hover,
  .pill:focus-visible,
  .pill:active,
  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster,
  .wave{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero,
  .hero::before,
  .hero::after,
  .poster-row::before,
  .day-poster{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .genre,
  .genre::before,
  .day,
  .day::before,
  .location-box,
  .partner-logo{
    transition:none !important;
  }

  .genre:hover,
  .genre:focus-visible,
  .day:hover,
  .day:focus-visible,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .art-card,
  .art-card::before,
  .art-card img,
  .location-box::before,
  .mailing-section,
  .mailing-box,
  .email,
  footer a{
    animation:none !important;
    transition:none !important;
  }

  .art-card:hover,
  .art-card:focus-within,
  .art-card:hover img,
  .art-card:focus-within img,
  .mailing-box:focus-within,
  .email:focus,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }
}

@media(min-width:901px){

  .nav > a{
    position:relative;
    overflow:hidden;
    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease;
  }

  .nav > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--yellow),#fff,var(--yellow));
    transform:translateX(-50%);
    transition:width .28s ease;
    box-shadow:0 0 9px rgba(255,212,90,.52);
  }

  .nav > a:hover,
  .nav > a:focus-visible{
    background:transparent;
    color:var(--yellow);
    transform:translateY(-2px);
    text-shadow:0 0 12px rgba(255,212,90,.34);
  }

  .nav > a:hover::after,
  .nav > a:focus-visible::after{
    width:72%;
  }

  .desktop-actions .pill{
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease;
  }
}

@media(prefers-reduced-motion:reduce){
  .topbar,
  .brand a,
  .nav-logo,
  .nav > a,
  .nav > a::after,
  .mobile-menu-btn,
  .nav.mobile-open,
  .page-hero::before,
  .policy-sidebar a,
  .policy-sidebar a::before,
  .policy-accordion details,
  .policy-accordion summary,
  .policy-accordion summary::after,
  .back-home{
    animation:none !important;
    transition:none !important;
  }

  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  .mobile-menu-btn:hover,
  .mobile-menu-btn:focus-visible,
  .policy-accordion details:hover,
  .policy-accordion details[open],
  .back-home:hover,
  .back-home:focus-visible{
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  .pill::before{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    top:0 !important;
    transform:none !important;
    filter:none !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.knk-reveal-left,
  html.knk-reveal-ready .knk-reveal.knk-reveal-right,
  html.knk-reveal-ready .knk-reveal.knk-reveal-scale,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    animation:none !important;
    transition:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day-poster,
  .genre,
  .info-card,
  .day,
  .art-card,
  .location-box,
  .partner-logo,
  .pill,
  .brand a,
  .nav > a,
  footer a{
    -webkit-tap-highlight-color:transparent;
  }

  .day-poster:hover,
  .day-poster:focus-visible,
  .genre:hover,
  .genre:focus-visible,
  .info-card:hover,
  .info-card:focus-visible,
  .day:hover,
  .day:focus-visible,
  .art-card:hover,
  .art-card:focus-within,
  .location-box:hover,
  .location-box:focus-within,
  .partner-logo:hover,
  .partner-logo:focus-visible,
  .brand a:hover,
  .brand a:focus-visible,
  .nav > a:hover,
  .nav > a:focus-visible,
  footer a:hover,
  footer a:focus-visible{
    transform:none !important;
  }

  .pill:hover,
  .pill:focus-visible{
    transform:none;
  }

  .pill:active{
    transform:translateY(1px) scale(.985);
    filter:brightness(.98);
  }

  .day-poster:active{
    transform:translateY(-4px) scale(1.012) !important;
    filter:
      brightness(1.04)
      saturate(1.04)
      drop-shadow(0 24px 30px rgba(0,0,0,.52)) !important;
  }

  .genre:active,
  .info-card:active,
  .day:active,
  .partner-logo:active{
    transform:translateY(-3px) scale(.995) !important;
  }

  .poster-row::after{
    display:none !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  .hero{
    padding:24px 4vw 54px;
    gap:22px;
  }

  .poster-row{
    width:min(760px,100%);
    gap:18px;
  }

  .day-poster{
    width:100%;
  }

  .hero-buttons{
    flex-direction:row;
    gap:14px;
  }

  .hero-buttons .pill{
    min-width:145px;
  }

  .countdown-box{
    width:min(560px,92%);
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cards{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }

  .day{
    padding:24px 20px;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){

  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
  }
}

@media print{

  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    filter:none !important;
    transform:none !important;
  }

  .topbar{
    position:static;
  }

  .hero,
  .page-hero,
  .schedule,
  .partners,
  footer{
    background:#fff !important;
    color:#000 !important;
  }
}

@media(min-width:901px){

  .nav a[aria-current="page"]::after,
  .nav .current-menu-item > a::after,
  .nav .current_page_item > a::after{
    width:72%;
  }
}

@media(prefers-reduced-motion:reduce){

  input,
  textarea,
  select,
  main p a,
  main li a{
    transition:none !important;
  }
}

@media(min-width:901px) and (max-width:1200px){

  .split{
    grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);
    gap:46px;
  }

  .art-card{
    max-width:560px;
  }
}

@media(prefers-reduced-motion:reduce){
  .day-poster,
  .day-poster:hover,
  .day-poster:focus-visible{
    transition:none !important;
    animation:none !important;
    top:0 !important;
    transform:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.knk-reveal-ready .knk-reveal,
  html.knk-reveal-ready .knk-reveal.is-visible{
    opacity:1 !important;
    transition:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .genre,
  .partners,
  .mailing-section,
  .experience{
    animation-duration:20s;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none;
  }

  .mailing-box .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .experience,
  .genre,
  .location::before,
  .partners,
  .mailing-section,
  .mailing-box .pill{
    animation:none !important;
  }

  .partner-logo::after,
  .location-box::after,
  .mailing-box::before{
    display:none !important;
  }
}

@media(hover:none), (pointer:coarse){

  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:
      knkScheduleBorderGlow 15s ease-in-out infinite;
  }

  .schedule .center-button .pill{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .schedule,
  .schedule::before,
  .day,
  .day::after,
  .schedule .center-button .pill{
    animation:none !important;
  }

  .day:nth-child(2){
    transform:none;
  }
}

@media(hover:none), (pointer:coarse){

  .day:hover::before,
  .day:focus-visible::before{
    animation:none;
  }
}

@media(prefers-reduced-motion:reduce){

  .day::before,
  .day::after,
  .schedule .section-title h2{
    animation:none !important;
  }

  .schedule .section-title h2{
    background:none;
    color:#fff;
    -webkit-text-fill-color:#fff;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    background:#fff;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:#fff;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title h2{
    animation:none !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
  }

  .schedule .section-title h2::before,
  .schedule .section-title h2::after{
    display:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule,
  .schedule .section-title h2,
  .schedule .section-title::before,
  .schedule .section-title::after,
  .day:nth-child(1),
  .day:nth-child(2),
  .day:nth-child(3){
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .schedule .section-title::before,
  .schedule .section-title::after{
    animation:none !important;
  }
}

@media(prefers-reduced-motion:reduce){

  .schedule-page-overview .schedule-page-title::before,
  .schedule-page-overview .schedule-page-title::after,
  .schedule-page-overview .schedule-page-title h3,
  .schedule-page-overview .schedule-page-card,
  .schedule-page-overview .schedule-page-card::after{
    animation:none !important;
  }
}

@media(min-width:2200px){

  body.home .split{
    width:min(88vw,3200px) !important;
    max-width:3200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(760px,1fr) minmax(820px,1fr) !important;
    gap:110px !important;
  }

  body.home .art-card{
    width:100% !important;
    max-width:900px !important;
  }

  body.home .split > div:last-child{
    width:100% !important;
    max-width:1100px !important;
  }

  body.home .genre-grid{
    width:min(84vw,2800px) !important;
    max-width:2800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .schedule .cards{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .location-box{
    width:min(80vw,2500px) !important;
    max-width:2500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partners .section-title,
  body.home .partners > p{
    width:min(76vw,1900px) !important;
    max-width:1900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
}

@media(min-width:2200px){

  /* ABOUT / FESTIVAL SECTION */

  main > .split{
    width:min(86vw,3400px) !important;
    max-width:3400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:120px !important;
    align-items:center !important;
  }

  main > .split .art-card{
    width:min(100%,1050px) !important;
    max-width:1050px !important;
    justify-self:end !important;
  }

  main > .split > div:last-child{
    width:100% !important;
    max-width:1200px !important;
    justify-self:start !important;
  }

  main > .split > div:last-child h3{
    max-width:100% !important;
    font-size:clamp(64px,4vw,110px) !important;
    line-height:1.02 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  main > .split > div:last-child p{
    max-width:1050px !important;
    font-size:28px !important;
    line-height:1.65 !important;
  }

  /* SPONSOR OPPORTUNITIES SECTION */

  main > .partners{
    text-align:center !important;
  }

  main > .partners .section-title{
    width:min(82vw,2600px) !important;
    max-width:2600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  main > .partners > p{
    width:min(72vw,1800px) !important;
    max-width:1800px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:26px !important;
  }

  main > .partners .partner-row{
    width:min(72vw,2200px) !important;
    max-width:2200px !important;
    margin:42px auto 40px !important;
    justify-content:center !important;
    align-items:center !important;
  }

  main > .partners .partner-logo{
    min-width:260px !important;
    padding:34px 48px !important;
    font-size:22px !important;
  }

  main > .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:1281px){
  .sponsors-page .partners .section-title > p:last-child{
    white-space:nowrap !important;
  }

  .sponsors-page .location-box > p:not(.eyebrow){
    white-space:nowrap !important;
  }
}

@media(min-width:1281px){

  .sponsors-page .page-hero > p{
    width:min(1180px,92vw) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .sponsors-page .partners .section-title > p:last-child{
    width:min(1220px,94vw) !important;
    max-width:1220px !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  .sponsors-page .location-box > p:not(.eyebrow){
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }
}

@media(min-width:1281px){
  .merchandise-page .page-hero > p{
    width:min(1240px,92vw) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
}

@media(min-width:1281px){
  .travel-page .travel-details-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
    white-space:nowrap !important;
  }
}

@media(min-width:1281px){
  .travel-page .travel-details-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){
  .schedule-page .schedule-page-hero > p{
    width:min(1180px,92vw) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  /* Keep the Schedule Updates paragraph inside the bordered panel. */
  .schedule-page .schedule-page-updates-box > p:not(.eyebrow){
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){
  .schedule-page .schedule-page-intro{
    width:min(1240px,94vw) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
}

@media(min-width:1281px){
  .schedule-page .schedule-page-intro{
    width:min(1160px,92vw) !important;
    max-width:1160px !important;
    margin:18px auto 34px !important;
    padding:0 14px !important;
    font-size:13px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
}

@media(min-width:1281px){
  .schedule-page .schedule-page-intro{
    display:block !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:max-content !important;
    max-width:1180px !important;
    margin:20px 0 34px !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
}

@media(min-width:1281px){
  .lineup-page .lineup-hero-copy{
    width:min(1240px,92vw) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .lineup-page .lineup-announcement-heading{
    width:100% !important;
    max-width:1100px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(34px,3vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .lineup-page .lineup-announcement-copy{
    width:min(1260px,94vw) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .lineup-page .lineup-stages-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.85vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .lineup-page .lineup-stages-copy{
    width:100% !important;
    max-width:1100px !important;
    margin-left:0 !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
}

@media(min-width:1281px){
  .lineup-page .lineup-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  /* Keep the final Lineup panel description compact and on one line. */
  .lineup-page .lineup-stages-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){
  /* Keep the hero sentence fully visible and centered on one line. */
  .lineup-page .lineup-hero-copy{
    width:min(1260px,92vw) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  /* Keep the copy beneath ARTISTS TO BE ANNOUNCED cleanly on one line. */
  .lineup-page .lineup-announcement-copy{
    width:min(1280px,94vw) !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
}

@media(min-width:1281px){
  .hawaiian-lineup-page .haw-lineup-hero-copy{
    width:min(1220px,92vw) !important;
    max-width:1220px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .hawaiian-lineup-page .haw-lineup-announcement-heading{
    width:100% !important;
    max-width:1120px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(32px,2.8vw,44px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .hawaiian-lineup-page .haw-lineup-announcement-copy{
    width:min(1280px,94vw) !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .hawaiian-lineup-page .haw-lineup-stages-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.7vw,43px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .hawaiian-lineup-page .haw-lineup-stages-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){
  .festival-page .festival-hero-copy{
    width:min(1180px,92vw) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .festival-page .festival-experience-heading{
    width:100% !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(34px,2.9vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .festival-page .festival-experience-copy{
    width:min(1260px,94vw) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .festival-page .festival-vision-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.9vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .festival-page .festival-vision-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){

  /* BUILT AROUND COMMUNITY description */
  .festival-page .festival-vision-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  /* SUSTAINABILITY & STEWARDSHIP heading */
  .festival-page .festival-sustainability-heading{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:clamp(34px,2.75vw,44px) !important;
    line-height:1.06 !important;
    letter-spacing:-.018em !important;
    white-space:nowrap !important;
  }

  /* Sustainability paragraphs */
  .festival-page .festival-sustainability-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:12.5px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

@media(min-width:1281px){
  .festival-page .festival-vision-copy{
    display:block !important;
    width:100% !important;
/*     max-width:1050px !important; */
    margin:0 0 24px !important;
    padding:0 !important;
    font-size:13px !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    text-align:left !important;
  }
}

@media(min-width:1281px){
  .hawaiian-festival-page .haw-festival-hero-copy{
    width:min(1040px,88vw) !important;
    max-width:1040px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-festival-page .haw-festival-experience-heading{
    width:min(1160px,92vw) !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(34px,2.8vw,45px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-festival-page .haw-festival-experience-copy{
    width:min(1180px,92vw) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-festival-page .haw-festival-vision-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.75vw,44px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:normal !important;
  }

  .hawaiian-festival-page .haw-festival-vision-copy{
    width:100% !important;
    max-width:1040px !important;
    margin:0 0 24px !important;
    font-size:13px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hawaiian-festival-page .haw-festival-sustainability-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.6vw,42px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:normal !important;
  }

  .hawaiian-festival-page .haw-festival-sustainability-copy{
    width:100% !important;
    max-width:1040px !important;
    margin:0 0 22px !important;
    font-size:13px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1281px){
  .contact-page .contact-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .contact-page .contact-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.9vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .contact-page .contact-copy{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 20px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .contact-page .contact-email-line{
    width:100% !important;
    max-width:980px !important;
    margin:0 0 22px !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
  }
}

@media(min-width:1281px){
  .vendors-page .vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .vendors-page .vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(34px,2.8vw,45px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-applications-copy,
  .vendors-page .vendors-notice-copy,
  .vendors-page .vendors-email-line{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .vendors-page .vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.65vw,42px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .vendors-page .vendors-guidelines-copy,
  .vendors-page .vendors-guidelines-note{
    width:100% !important;
    max-width:1040px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1281px){
  .hawaiian-vendors-page .haw-vendors-hero-copy{
    width:min(980px,88vw) !important;
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:14px !important;
    line-height:1.5 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(32px,2.55vw,41px) !important;
    line-height:1.08 !important;
    letter-spacing:-.016em !important;
    white-space:nowrap !important;
  }

  .hawaiian-vendors-page .haw-vendors-applications-copy,
  .hawaiian-vendors-page .haw-vendors-notice-copy,
  .hawaiian-vendors-page .haw-vendors-email-line{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-heading{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(30px,2.35vw,38px) !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
    white-space:normal !important;
  }

  .hawaiian-vendors-page .haw-vendors-guidelines-copy{
    width:100% !important;
    max-width:1020px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:13.5px !important;
    line-height:1.52 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media(min-width:1200px){

  .topbar{
    padding-left:3vw;
    padding-right:3vw;
  }

  .nav > a{
    padding-left:8px;
    padding-right:8px;
  }

  .footer-grid{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    grid-template-columns:
      minmax(120px,.85fr)
      minmax(145px,.95fr)
      minmax(170px,1.05fr)
      minmax(125px,.8fr)
      minmax(260px,1.35fr);
    gap:32px;
  }

  .copy{
    width:100%;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
  }

  .footer-grid > *{
    min-width:0;
  }
}

@media(min-width:901px) and (max-width:1199px){

  .topbar{
    grid-template-columns:64px minmax(0,1fr) auto;
    min-height:76px;
    padding:6px 18px;
    gap:8px;
  }

  .brand,
  .nav-logo{
    width:62px;
    height:62px;
  }

  .nav{
    gap:0;
  }

  .nav > a{
    min-height:40px;
    padding:8px 5px;
    font-size:10px;
    letter-spacing:0;
  }

  .desktop-actions{
    gap:5px;
  }

  .desktop-actions .pill{
    padding:9px 10px;
    font-size:9px;
  }

  section{
    padding-left:5vw;
    padding-right:5vw;
  }

  .page-hero{
    padding-left:5vw;
    padding-right:5vw;
  }

  .poster-row{
    max-width:1120px;
    gap:14px;
  }

  .split{
    gap:38px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cards{
    gap:20px;
  }

  .day{
    padding:25px 20px;
  }

  .day h4{
    font-size:22px;
  }

  .day li{
    font-size:14px;
  }

  .location-box{
    padding:32px;
  }

  footer{
    padding-left:4vw;
    padding-right:4vw;
  }

  /*
   * Keep the desktop footer in one five-column row on laptops.
   * The earlier 3-column rule caused SOCIAL and the mailing form
   * to drop onto a second row at widths around 1195px.
   */
  .footer-grid{
    grid-template-columns:
      minmax(105px,.80fr)
      minmax(120px,.88fr)
      minmax(145px,1fr)
      minmax(105px,.72fr)
      minmax(215px,1.30fr);
    gap:22px 18px;
    align-items:start;
    text-align:left;
  }

  .footer-grid > *{
    min-width:0;
  }

  footer h2{
    font-size:12px;
  }

  footer a{
    font-size:12px;
  }

  .copy{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:left;
  }

  .footer-legal-links{
    justify-content:flex-end;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative;
    top:auto;
  }

  section{
    padding:36px 18px;
  }

  .page-hero{
    padding:40px 20px;
  }

  .page-hero h1{
    font-size:clamp(30px,5vw,42px);
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    font-size:clamp(24px,3.8vw,32px) !important;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    font-size:13px !important;
    line-height:1.48 !important;
  }

  .split{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:24px;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .genre,
  .info-card{
    min-height:150px;
    padding:18px;
  }

  .genre h4,
  .info-card h4{
    font-size:20px;
  }

  .cards{
    grid-template-columns:1fr;
    max-width:620px;
  }

  .location-box{
    width:100%;
    padding:24px 22px;
  }

  .location ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }

  .location li{
    min-width:0;
    padding:9px 8px 9px 27px;
    font-size:12px;
    line-height:1.35;
    white-space:normal;
  }

  .partner-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    text-align:left;
  }
}

@media(orientation:landscape) and (min-width:901px) and (max-width:1366px){

  section{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero{
    padding-left:4vw;
    padding-right:4vw;
  }

  .page-hero p,
  .section-title > p:not(.eyebrow),
  .split p,
  .location-box > p{
    white-space:normal !important;
  }

  .section-title h3,
  .split h3,
  .location h3,
  .location-box h3{
    white-space:normal !important;
  }

  .location-box{
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
  }

  .location ul{
    columns:2;
  }
}

@media(min-width:783px){
  body.admin-bar .topbar{
    top:32px;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Experience cards: reduce excessive tablet height */
  .genre,
  .info-card{
    min-height:150px;
    padding:20px 22px;
  }

  /* Destination / information panels: slightly tighter internal spacing */
  .location-box{
    padding:26px 24px;
  }

  /* Sponsor cards: one centered row per item at tablet portrait */
  .partner-row{
    grid-template-columns:1fr;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
  }

  .partner-logo{
    width:100%;
  }

  /* Mailing form: preserve breathing room inside the section */
  .mailing-box{
    width:min(620px,88%);
  }

  /* Footer: intentional two-column tablet layout */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 36px;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1;
    max-width:420px;
    width:100%;
  }

  .copy{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Restore a balanced 2 + 1 sponsor layout. */
  .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:720px !important;
    gap:16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-logo{
    width:100% !important;
  }

  .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 8px) !important;
    justify-self:center !important;
  }

  /* Keep input and button aligned on one row. */
  .mailing-box{
    width:min(660px,92%) !important;
    max-width:660px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
  }

  .mailing-box .email{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
  }

  .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap !important;
  }

  /* Two-column footer with centered full-width newsletter row. */
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 34px !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:520px !important;
    justify-self:center !important;
    text-align:center !important;
  }

  .footer-grid > :nth-child(5) form{
    align-items:center !important;
  }

  .copy{
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(min-width:901px){

  /* Better vertical alignment in split sections. */
  .split{
    align-items:center !important;
  }

  /* Slightly tighter schedule cards. */
  .day{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  .day h4{
    margin-bottom:14px !important;
  }

  .day li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Slightly tighter destination / information panels. */
  .location-box{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .location-box p{
    margin-top:13px !important;
    margin-bottom:13px !important;
  }

  .location ul{
    margin-top:14px !important;
    margin-bottom:22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing and button emphasis. */
  .partner-row{
    align-items:stretch !important;
  }

  .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:70px !important;
  }

  .partners .pill{
    min-width:170px !important;
  }

  /* Tighten mailing section without changing layout. */
  .mailing-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .mailing-section .section-title{
    margin-bottom:28px !important;
  }

  .mailing-box{
    margin-top:22px !important;
  }

  /* Footer alignment and copyright spacing. */
  .footer-grid{
    align-items:start !important;
  }

  footer h2{
    min-height:16px !important;
  }

  .copy{
    margin-top:28px !important;
    padding-top:15px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  /* Tighten stacked homepage poster spacing only on portrait tablets. */
  .poster-row{
    gap:20px !important;
  }

  /* Bring countdown closer to the hero buttons. */
  .countdown-wrap{
    margin-top:-4px !important;
  }

  .countdown-box{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  /* Slightly shorter experience cards and higher titles. */
  .genre,
  .info-card{
    min-height:142px !important;
    padding:18px 20px !important;
    align-items:center !important;
  }

  .genre h4,
  .info-card h4{
    margin-bottom:4px !important;
  }

  /* Tighten schedule cards. */
  .day{
    padding:22px 20px !important;
  }

  .day h4{
    margin-bottom:12px !important;
  }

  .day li{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  /* Destination panel refinement. */
  .location-box{
    padding:24px 22px !important;
  }

  .location li{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Equal sponsor spacing. */
  .partner-row{
    gap:14px !important;
  }

  .partner-logo{
    min-height:64px !important;
  }

  /* Tighten mailing section. */
  .mailing-section{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .mailing-section .section-title{
    margin-bottom:22px !important;
  }

  .mailing-box{
    margin-top:18px !important;
  }

  /* Footer refinement. */
  footer{
    padding-top:42px !important;
  }

  .footer-grid{
    gap:24px 30px !important;
  }

  .copy{
    margin-top:24px !important;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:950px){

  .poster-row{
    gap:14px !important;
  }

  .genre,
  .info-card{
    min-height:136px !important;
  }

  .day{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .location-box{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  footer{
    padding-top:30px !important;
  }
}

@media(min-width:901px){

  body.home .genre-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  body.home .genre{
    min-height:190px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
  }

  body.home .schedule .day{
    min-height:360px !important;
    padding:28px 24px !important;
  }

  body.home .schedule .day h4{
    font-size:22px !important;
    margin-bottom:16px !important;
  }

  body.home .schedule .day li{
    min-height:46px !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,220px)) !important;
    justify-content:center !important;
    gap:24px !important;
  }

  body.home .partner-logo{
    width:100% !important;
    min-height:76px !important;
    padding:20px 24px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    gap:12px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer .copy{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
}

@media(min-width:901px) and (max-width:1100px){

  body.home .genre{
    min-height:170px !important;
    padding:22px !important;
  }

  body.home .schedule .cards{
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:330px !important;
    padding:22px 16px !important;
  }

  body.home .schedule .day h4{
    font-size:18px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
    font-size:13px !important;
  }

  body.home .partner-row{
    grid-template-columns:repeat(3,minmax(0,190px)) !important;
    gap:16px !important;
  }
}

@media(min-width:601px) and (max-width:900px){

  body.home .poster-row{
/*     grid-template-columns:1fr !important; */
    gap:14px !important;
  }

  body.home .poster-row .day-poster{
    width:min(62vw,450px) !important;
    max-width:450px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  body.home .split{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body.home .genre-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  body.home .genre{
    min-height:132px !important;
    padding:18px !important;
  }

  body.home .schedule .cards{
    grid-template-columns:1fr !important;
    max-width:680px !important;
    gap:16px !important;
  }

  body.home .schedule .day{
    min-height:0 !important;
    padding:22px 20px !important;
  }

  body.home .schedule .day h4{
    font-size:21px !important;
    margin-bottom:12px !important;
  }

  body.home .schedule .day li{
    min-height:42px !important;
  }

  body.home .location ul{
    columns:1 !important;
  }

  body.home .partner-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    max-width:700px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.home .partner-row .partner-logo:nth-child(3):last-child{
    grid-column:1 / -1 !important;
    width:calc(50% - 7px) !important;
    justify-self:center !important;
  }

  body.home .partner-logo{
    min-height:66px !important;
    padding:16px 18px !important;
  }

  body.home .mailing-box{
    display:flex !important;
    flex-direction:row !important;
    width:min(660px,92%) !important;
    gap:10px !important;
  }

  body.home .mailing-box .email{
    flex:1 1 auto !important;
    width:auto !important;
    margin-bottom:0 !important;
  }

  body.home .mailing-box .pill{
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.home footer{
    padding-top:34px !important;
    padding-bottom:14px !important;
  }

/*   body.home footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 28px !important;
    text-align:left !important;
  } */

  body.home footer .footer-grid > :nth-child(5){
    grid-column:1 / -1 !important;
    width:min(500px,100%) !important;
    justify-self:center !important;
    text-align:center !important;
  }

  body.home footer .copy{
    margin-top:18px !important;
    padding-top:10px !important;
    text-align:center !important;
  }
}

@media (max-width:1200px){

  .nav > a{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:9.5px !important;
  }

  .desktop-actions .pill{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  /* Fluid experience grid:
     4 columns where space permits, then 3 before the 992px pivot. */
  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }

  /* Fluid schedule grid:
     3 columns on wider laptops and 2 columns before portrait stacking. */
  .cards{
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  }

  .day{
    min-width:0 !important;
  }

  .day li{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media (max-width:992px){

  .poster-row{
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .nav,
  .nav.mobile-open{
    width:min(720px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .partner-row{
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .cards{
    grid-template-columns:1fr !important;
    width:min(680px,100%) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .topbar,
  body.admin-bar .topbar{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .brand,
  .nav-logo{
    width:40px !important;
    height:40px !important;
  }

  .mobile-header-ticket{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .mobile-menu-btn{
    min-height:40px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .nav,
  .nav.mobile-open{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(720px,calc(100vw - 24px)) !important;
    max-height:calc(100vh - 58px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:1200 !important;
  }
}

@media (min-width:993px){

  .mobile-header-ticket,
  .mobile-menu-btn,
  .mobile-menu-actions{
    display:none !important;
  }

  .desktop-actions{
    display:flex !important;
  }

  .nav,
  .nav.mobile-open{
    display:flex !important;
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .nav > a{
    width:auto !important;
    border-bottom:0 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:993px) and (max-width:1200px){

  .genre-grid,
  .info-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    width:100% !important;
    max-width:320px !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (max-width:576px){

  .poster-row{
    width:100% !important;
    max-width:100% !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    min-height:auto !important;
    padding-top:16px !important;
    padding-bottom:24px !important;
    gap:14px !important;
  }

  .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 32px)) !important;
    max-width:760px !important;
    gap:10px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  .hero-buttons{
    flex-direction:row !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero-buttons .pill{
    width:auto !important;
    min-width:150px !important;
  }

  .countdown-box{
    width:min(420px,calc(100vw - 32px)) !important;
    max-width:420px !important;
  }

  .split{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    gap:24px !important;
  }

  .art-card{
    width:100% !important;
    max-width:320px !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .poster-row{
    max-width:295px !important;
  }

  .poster-row .day-poster{
    max-width:295px !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    padding-top:10px !important;
    padding-bottom:16px !important;
    gap:10px !important;
  }

  .hero-buttons{
    gap:8px !important;
    margin-top:6px !important;
  }

  .countdown-wrap{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }

  .countdown-box{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .schedule{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .schedule .cards{
    gap:10px !important;
  }

  .schedule .day{
    padding:14px !important;
  }

  .schedule .day h4{
    margin-bottom:10px !important;
  }

  .schedule .day li{
    min-height:34px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
  }

  .schedule .day li::before{
    width:26px !important;
    height:26px !important;
    transform:scale(.9) !important;
    transform-origin:center !important;
  }
}

@media (min-width:577px) and (max-width:992px){

  .mailing-section{
    padding-bottom:34px !important;
  }

  footer{
    padding-top:26px !important;
  }

  .partner-logo{
    min-height:64px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

@media (max-width:576px),
       (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .mailing-section{
    padding-bottom:24px !important;
  }

  footer{
    padding-top:20px !important;
  }

  .partner-logo{
    min-height:58px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}

@media (max-width:576px){

  .partners .partner-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:14px !important;
  }

  .partners .partner-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    box-sizing:border-box !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;
    width:min(560px,calc(100vw - 32px)) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:10px !important;
  }

  .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero .hero-buttons{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (max-width:992px){

  .split{
    width:100% !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .split .art-card{
    width:min(560px,100%) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
  }

  .split > div:last-child{
    width:100% !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .hero{
    width:100% !important;
    min-height:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:start !important;

    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:12px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:center !important;

    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;

    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    grid-column:auto !important;
    flex:1 1 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:68px !important;

    margin:0 !important;
    padding:18px 12px !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
}

@media (min-width:1200px){

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  body .partners .partner-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:min(380px,100%) !important;
    max-width:380px !important;
    margin:28px auto !important;
    padding:0 !important;
    gap:14px !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3), body .partners .partner-logo:nth-child(4){
    grid-column:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:74px !important;
    margin:0 !important;
    justify-self:center !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
  }

  body .split .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body .split .art-card{
    max-width:330px !important;
  }

  body .split > div:last-child{
    max-width:430px !important;
  }
}

@media (max-width:782px){

  :root{
    --knk-fixed-header-height:82px;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height);
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 18px);
  }
}

@media (orientation:landscape) and (max-width:1199px){

  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;
    justify-items:stretch !important;

    width:min(1040px,calc(100vw - 40px)) !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:44px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:420px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:end !important;
    align-self:center !important;
  }

  body.home main > .split > .art-card img,
  body.home main > section.split > .art-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:560px !important;

    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    align-self:center !important;
    text-align:left !important;
  }

  body.home main > .split > div:last-child .eyebrow,
  body.home main > .split > div:last-child h3,
  body.home main > .split > div:last-child p,
  body.home main > section.split > div:last-child .eyebrow,
  body.home main > section.split > div:last-child h3,
  body.home main > section.split > div:last-child p{
    text-align:left !important;
  }

  body.home main > .split > div:last-child .pill,
  body.home main > section.split > div:last-child .pill{
    margin-left:0 !important;
    margin-right:auto !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body.home main > .split,
  body.home main > section.split{
    grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
  }

  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    max-width:330px !important;
  }

  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    max-width:430px !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:64px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  html{
    scroll-padding-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (max-width:576px) and (orientation:portrait){

  :root{
    --knk-fixed-header-height:56px;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){

  :root{
    --knk-fixed-header-height:52px;
  }
}

@media (min-width:901px) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:76px;
  }
}

@media (min-width:1200px){

  :root{
    --knk-fixed-header-height:84px;
  }
}

@media (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }
}

@media (orientation:landscape){

  body{
    overflow-x:hidden !important;
  }

  body main,
  body main > section{
    max-width:100% !important;
  }

  body main > section{
    scroll-margin-top:calc(var(--knk-fixed-header-height) + 12px);
  }

  body .hero,
  body .split,
  body .experience,
  body .schedule,
  body .location,
  body .partners,
  body .mailing-section{
    width:100% !important;
  }

  body .section-title,
  body .section-title h3,
  body .section-title p{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  body .pill{
    max-width:100% !important;
  }
}

@media (orientation:landscape) and (min-width:1200px){

  body .hero .poster-row{
    width:min(92vw,1500px) !important;
    max-width:1500px !important;
    gap:clamp(18px,1.8vw,28px) !important;
  }

  body .split{
    width:min(92vw,1600px) !important;
    max-width:1600px !important;
    grid-template-columns:minmax(500px,.95fr) minmax(0,1.05fr) !important;
    gap:clamp(40px,4vw,64px) !important;
  }

  body .partners .partner-row{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(760px,calc(100vw - 40px)) !important;
    max-width:760px !important;
    gap:16px !important;
    margin-inline:auto !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(1040px,calc(100vw - 48px)) !important;
    max-width:1040px !important;
    gap:36px !important;
    margin-inline:auto !important;
  }

  body .split .art-card{
    width:100% !important;
    max-width:420px !important;
    justify-self:end !important;
  }

  body .split > div:last-child{
    width:100% !important;
    max-width:560px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(760px,calc(100vw - 48px)) !important;
    max-width:760px !important;
    gap:18px !important;
    margin:28px auto !important;
  }

  body .partners .partner-logo{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  body .hero{
    min-height:auto !important;
    padding:
      clamp(26px,5vh,44px)
      12px
      clamp(34px,7vh,54px) !important;
    gap:clamp(18px,4vh,28px) !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(680px,calc(100vw - 24px)) !important;
    max-width:680px !important;
    gap:12px !important;
    margin-inline:auto !important;
    padding:0 !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body .hero .hero-buttons,
  body .hero .countdown-wrap{
    width:100% !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,92%) !important;
    min-width:0 !important;
  }

  body .split,
  body.home main > .split,
  body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    align-items:center !important;
    width:min(820px,calc(100vw - 28px)) !important;
    max-width:820px !important;
    gap:24px !important;
    margin-inline:auto !important;
  }

  body .split .art-card,
  body.home main > .split > .art-card,
  body.home main > section.split > .art-card{
    width:100% !important;
    max-width:330px !important;
    justify-self:end !important;
  }

  body .split > div:last-child,
  body.home main > .split > div:last-child,
  body.home main > section.split > div:last-child{
    width:100% !important;
    max-width:430px !important;
    justify-self:start !important;
    text-align:left !important;
  }

  body .split > div:last-child .eyebrow,
  body .split > div:last-child h3,
  body .split > div:last-child p{
    text-align:left !important;
  }

  body .partners .partner-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:min(700px,calc(100vw - 32px)) !important;
    max-width:700px !important;
    gap:14px !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  body .partners .partner-logo,
  body .partners .partner-logo:nth-child(1),
  body .partners .partner-logo:nth-child(2),
  body .partners .partner-logo:nth-child(3){
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:18px 12px !important;
  }

  body .partners > .pill{
    display:flex !important;
    width:max-content !important;
    margin:28px auto 0 !important;
  }

  body .cards{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    gap:18px !important;
    margin-inline:auto !important;
  }

  body .genre-grid,
  body .info-grid{
    width:min(920px,calc(100vw - 28px)) !important;
    max-width:920px !important;
    margin-inline:auto !important;
  }
}

@media (orientation:landscape) and (max-height:600px){

  body main > section{
    padding-top:clamp(42px,8vh,64px) !important;
    padding-bottom:clamp(42px,8vh,64px) !important;
  }

  body .hero{
    padding-top:clamp(24px,5vh,38px) !important;
    padding-bottom:clamp(30px,6vh,48px) !important;
  }

  body .section-title{
    margin-bottom:clamp(24px,5vh,34px) !important;
  }

  body .page-hero{
    padding-top:clamp(52px,10vh,76px) !important;
    padding-bottom:clamp(52px,10vh,76px) !important;
  }
}

@media (max-width:950px){

  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    height:auto !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:18px 14px !important;

    overflow-y:auto !important;
    transform:translateX(-110%) !important;
    transition:
      transform .28s ease,
      opacity .22s ease,
      visibility .22s ease !important;

    z-index:100000 !important;
  }

  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    transform:translateX(0) !important;
  }

  /* Prevent any child element from appearing while the panel is closed. */
  body .topbar .nav:not(.mobile-open) *{
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body .topbar .nav.mobile-open *{
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

@media (max-width:782px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (min-width:783px) and (max-width:950px){

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  :root{
    --knk-fixed-header-height:62px;
  }

  body{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body .topbar,
  body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;

    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) auto !important;
    grid-template-areas:"logo ticket menu" !important;
    align-items:center !important;

    min-height:62px !important;
    height:62px !important;
    padding:6px 14px !important;
    gap:10px !important;

    z-index:99999 !important;
  }

  body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  body.admin-bar .topbar{
    top:32px !important;
  }

  body .topbar .brand{
    grid-area:logo !important;
    justify-self:start !important;
    width:50px !important;
    height:50px !important;
    margin:0 !important;
    transform:none !important;
  }

  body .topbar .brand a,
  body .topbar .nav-logo{
    width:50px !important;
    height:50px !important;
  }

  body .topbar .mobile-header-ticket{
    display:inline-flex !important;
    grid-area:ticket !important;
    justify-self:center !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:160px !important;
    max-width:220px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:11px 24px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .mobile-menu-btn{
    display:block !important;
    grid-area:menu !important;
    justify-self:end !important;

    min-height:44px !important;
    margin:0 !important;
    padding:11px 18px !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .topbar .desktop-actions{
    display:none !important;
  }

  /* Closed state: absolutely no navigation panel is visible. */
  body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    top:var(--knk-fixed-header-height) !important;
    left:0 !important;
    right:auto !important;

    width:min(82vw,420px) !important;
    max-width:420px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height)) !important;

    margin:0 !important;
    padding:16px !important;
    overflow-y:auto !important;

    background:#06233f !important;
    border-radius:0 0 18px 0 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.35) !important;

    transform:translateX(-110%) !important;
    z-index:100000 !important;
  }

  /* Open state: only the menu button / JavaScript may reveal it. */
  body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    transform:translateX(0) !important;
  }

  body .topbar .nav > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:13px 10px 25px 10px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

  body .topbar .mobile-menu-actions{
    display:flex !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar{
    top:46px !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 46px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  body.admin-bar{
    padding-top:var(--knk-fixed-header-height) !important;
  }

  body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height) - 32px) !important;
  }
}

@media (orientation:landscape) and (min-width:951px) and (max-width:1199px){

  body .hero{
    min-height:auto !important;
    padding:22px 18px 34px !important;
    gap:20px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(900px,calc(100vw - 44px)) !important;
    max-width:900px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  body .hero .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:16px !important;
    justify-content:center !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(620px,76vw) !important;
    max-width:620px !important;
  }
}

@media (orientation:landscape) and (max-width:950px){

  :root{
    --knk-fixed-header-height:58px;
  }

  body .topbar,
  body.admin-bar .topbar{
    min-height:58px !important;
    height:58px !important;
    grid-template-columns:50px minmax(0,1fr) auto !important;
    padding:5px 12px !important;
  }

  body .topbar .brand,
  body .topbar .brand a,
  body .topbar .nav-logo{
    width:46px !important;
    height:46px !important;
  }

  body .topbar .mobile-header-ticket{
    min-width:145px !important;
    max-width:190px !important;
    min-height:42px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .topbar .mobile-menu-btn{
    min-height:42px !important;
    padding:10px 14px !important;
    font-size:12px !important;
  }

  body .hero{
    min-height:auto !important;
    padding:18px 10px 28px !important;
    gap:16px !important;
  }

  body .hero .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    width:min(790px,calc(100vw - 20px)) !important;
    max-width:790px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:10px !important;
  }

  body .hero .poster-row .day-poster{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }

  body .hero .hero-buttons{
    width:100% !important;
    margin:0 auto !important;
    gap:12px !important;
    justify-content:center !important;
  }

  body .hero .hero-buttons .pill{
    min-width:150px !important;
    padding:10px 18px !important;
    font-size:12px !important;
  }

  body .hero .countdown-wrap{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  body .hero .countdown-box{
    width:min(560px,78vw) !important;
    min-width:0 !important;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1199px){

  body .hero{
    padding-top:16px !important;
    padding-bottom:24px !important;
  }

  body .hero .poster-row{
    margin-top:0 !important;
  }

  body main > section:not(.hero){
    padding-top:42px !important;
    padding-bottom:42px !important;
	  
    
  }
	body .location, body .experience{
		margin-top: -3px;
	}
}

@media (orientation:portrait) and (min-width:768px) and (max-width:799px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:640px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:800px) and (max-width:879px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:680px !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:880px) and (max-width:1024px){

  body .hero .poster-row,
  body.home .hero .poster-row,
  body.home .poster-row{
    width:740px !important;
    max-width:calc(100vw - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .hero .poster-row .day-poster,
  body.home .hero .poster-row .day-poster,
  body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-fit:contain !important;
  }
}

@media (orientation:portrait) and (min-width:600px) and (max-width:767px){

/*   html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;

    grid-template-columns:none !important;
    grid-auto-columns:auto !important;

    width:calc(100vw - 40px) !important;
    max-width:672px !important;
    min-width:0 !important;

    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  } */

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;

    flex:0 0 auto !important;
    flex-basis:auto !important;

    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:auto !important;
    max-height:none !important;

    margin-left:auto !important;
    margin-right:auto !important;

    object-fit:contain !important;
    object-position:center !important;
  }
}

@media (orientation:portrait) and (width:600px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:560px !important;
    max-width:560px !important;
  }
}

@media (orientation:portrait) and (width:640px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    width:600px !important;
    max-width:600px !important;
  }
}

@media (orientation:portrait) and (width:712px){
  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
/*     width:668px !important; */
/*     max-width:668px !important; */
  }
}

@media (max-width:1199px){

  /* Closed menu remains completely hidden. */
  html body .topbar .nav{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    position:fixed !important;
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin:0 !important;
    padding:16px !important;

    transform:translateX(-50%) translateY(-10px) !important;

    background:#06233f !important;
    border-radius:18px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.36) !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;

    z-index:100000 !important;
  }

  /* Open menu is centered beneath the fixed header. */
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;

    left:50% !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;

    transform:translateX(-50%) translateY(0) !important;
  }

  html body .topbar .nav > a,
  html body .topbar .mobile-menu-actions,
  html body .topbar .mobile-menu-actions .pill{
    box-sizing:border-box !important;
  }

  html body .topbar .nav > a{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
  }

  html body .topbar .mobile-menu-actions{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    align-items:stretch !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media (orientation:portrait) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,74px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 16px) !important;
  }

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,74px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,74px) - 62px) !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav{
    top:var(--knk-fixed-header-height,58px) !important;
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 12px) !important;
  }
}

@media (orientation:landscape) and (max-width:782px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 46px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 58px) !important;
  }
}

@media (orientation:landscape) and (min-width:783px) and (max-width:1199px){

  html body.admin-bar .topbar .nav{
    top:calc(var(--knk-fixed-header-height,58px) + 32px) !important;
    max-height:calc(100vh - var(--knk-fixed-header-height,58px) - 44px) !important;
  }
}

@media (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    padding:14px !important;
  }
}

@media (min-width:1024px) and (max-width:1279px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px 18px !important;
    column-gap:14px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body:not(.admin-bar) .topbar{
    top:0 !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * The 1280px reference does not stretch the navigation edge-to-edge.
   * It uses a centered navigation band with breathing room beside both
   * the logo and the action buttons. This proportional width reproduces it.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    justify-self:center !important;

    width:86% !important;
    max-width:560px !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:8px !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(9.75px,.94vw,11px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px 11px !important;

    font-size:clamp(8.5px,.78vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }

  html body .hero,
  html body.home .hero,
  html body main > .hero{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:auto !important;
    margin:0 !important;
    padding:28px 22px 46px !important;
  }

  html body .hero .poster-row,
  html body.home .hero .poster-row,
  html body.home .poster-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:end !important;

    width:min(1120px,calc(100vw - 44px)) !important;
    max-width:1120px !important;
    min-width:0 !important;

    margin:0 auto !important;
    padding:0 !important;
    gap:16px !important;
  }

  html body .hero .poster-row .day-poster,
  html body.home .hero .poster-row .day-poster,
  html body.home .poster-row .day-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
    object-fit:contain !important;
  }

  html body .split,
  html body.home .split,
  html body.home main > .split,
  html body.home main > section.split{
    display:grid !important;
    grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important;

    width:min(1120px,calc(100vw - 58px)) !important;
    max-width:1120px !important;

    margin-left:auto !important;
    margin-right:auto !important;
    gap:40px !important;
  }
}

@media (orientation:portrait) and (max-width:1023px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 12px)) !important;
    max-width:520px !important;
    height:auto !important;
    max-height:calc(100dvh - 74px) !important;

    margin:0 !important;
    padding:8px 10px 10px !important;
    gap:0 !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    overflow-y:auto !important;
    transform:translate(-50%,0) !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    transform:translate(-50%,0) !important;
  }

  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    min-height:31px !important;
    height:31px !important;

    margin:0 !important;
    padding:4px 7px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }

  html body .topbar .mobile-menu-actions{
    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:none !important;

    margin:4px 0 0 !important;
    padding:5px 0 0 !important;
    gap:4px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    width:100% !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:5px 9px !important;

    font-size:clamp(10px,1.9vw,12px) !important;
    line-height:1 !important;
  }
}

@media (orientation:portrait) and (max-width:430px){

  html body .topbar .nav{
    width:calc(100vw - 8px) !important;
    max-width:calc(100vw - 8px) !important;
    padding:7px 8px 8px !important;
  }

  html body .topbar .nav > a{
    min-height:30px !important;
    height:30px !important;
    padding:4px 6px !important;
    font-size:10px !important;
  }

  html body .topbar .mobile-menu-actions .pill{
    min-height:31px !important;
    height:31px !important;
    font-size:10px !important;
  }
}

@media (min-width:1280px){

  :root{
    --knk-fixed-header-height:84px;
  }

  html{
    scroll-padding-top:98px !important;
  }

  html body{
    padding-top:84px !important;
    overflow-x:hidden !important;
  }

  html body.admin-bar{
    padding-top:84px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:84px !important;
    min-height:84px !important;

    margin:0 !important;
    padding:10px clamp(28px,3vw,58px) !important;
    column-gap:clamp(18px,1.5vw,28px) !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    justify-self:start !important;

    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  /*
   * Full middle-track navigation:
   * This is the required correction for the large empty gap that remained
   * between MAILING LIST and BUY TICKETS on the desktop-class viewports.
   */
  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    justify-self:stretch !important;

    position:static !important;
    inset:auto !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:64px !important;
    max-height:64px !important;

    margin:0 !important;
    padding:0 clamp(16px,1.35vw,26px) !important;
    gap:clamp(10px,.9vw,18px) !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:36px !important;
    height:36px !important;

    margin:0 !important;
    padding:6px 1px !important;

    color:#fff !important;
    background:transparent !important;
    border:0 !important;

    font-size:clamp(10px,.72vw,12px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .nav > a::after{
    display:none !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;

    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;

    width:max-content !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:42px !important;
    height:42px !important;

    margin:0 !important;
    padding:9px clamp(12px,.9vw,17px) !important;

    font-size:clamp(8.5px,.64vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(34px,3vw,58px) !important;
    padding-right:clamp(34px,3vw,58px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    padding-left:clamp(18px,1.4vw,28px) !important;
    padding-right:clamp(18px,1.4vw,28px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(18px,1.35vw,24px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 8px !important;
    gap:clamp(16px,1.15vw,23px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    padding:6px 0 !important;

    font-size:clamp(9.5px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(12px,.85vw,16px) !important;
    padding-right:clamp(12px,.85vw,16px) !important;
    font-size:clamp(8.5px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:18px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:15px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9.25px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:11px !important;
    padding-right:11px !important;
    font-size:8.25px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:24px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    gap:clamp(18px,1.1vw,24px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    column-gap:clamp(16px,1.2vw,22px) !important;
    padding-left:clamp(28px,2.6vw,50px) !important;
    padding-right:clamp(28px,2.6vw,50px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 4px !important;

    font-size:clamp(9px,.66vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    gap:7px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.82vw,16px) !important;
    padding-right:clamp(11px,.82vw,16px) !important;
    font-size:clamp(8.25px,.60vw,9.75px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:28px !important;
    padding-right:28px !important;
    column-gap:16px !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    padding-left:2px !important;
    padding-right:2px !important;
    font-size:9px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    padding-left:clamp(36px,2.8vw,54px) !important;
    padding-right:clamp(36px,2.8vw,54px) !important;
    column-gap:clamp(18px,1.3vw,24px) !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.5px,.60vw,10.75px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar,
  html body.admin-bar .topbar{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) max-content !important;
    align-items:center !important;

    column-gap:clamp(18px,1.35vw,26px) !important;

    padding-left:clamp(28px,2.45vw,46px) !important;
    padding-right:clamp(28px,2.45vw,46px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:86% !important;
    max-width:86% !important;
    min-width:0 !important;

    justify-self:center !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    padding:6px 2px !important;

    font-size:clamp(9px,.62vw,10.5px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    margin:0 !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:clamp(11px,.78vw,15px) !important;
    padding-right:clamp(11px,.78vw,15px) !important;
    font-size:clamp(8.15px,.56vw,9.5px) !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:18px !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:9px !important;
    padding-left:1px !important;
    padding-right:1px !important;
  }

  html body .topbar .desktop-actions .pill{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:8.1px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:20px !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }
}

@media (min-width:1600px){

  html body .topbar,
  html body.admin-bar .topbar{
    column-gap:clamp(22px,1.35vw,26px) !important;
    padding-left:clamp(40px,2.5vw,48px) !important;
    padding-right:clamp(40px,2.5vw,48px) !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:86% !important;
    max-width:86% !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:clamp(9.25px,.54vw,10.25px) !important;
  }
}

@media (min-width:1280px){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    position:relative !important;
    overflow:hidden !important;

    transition:
      color .25s ease,
      transform .25s ease,
      text-shadow .25s ease !important;
  }

  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    content:"" !important;
    display:block !important;

    position:absolute !important;
    left:50% !important;
    bottom:4px !important;

    width:0 !important;
    height:2px !important;

    border-radius:999px !important;
    background:linear-gradient(
      90deg,
      var(--yellow),
      #fff,
      var(--yellow)
    ) !important;

    transform:translateX(-50%) !important;
    transition:width .28s ease !important;

    box-shadow:0 0 9px rgba(255,212,90,.52) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    color:var(--yellow) !important;
    background:transparent !important;
    transform:translateY(-2px) !important;
    text-shadow:0 0 12px rgba(255,212,90,.34) !important;
  }

  html body .topbar nav.nav > a:hover::after,
  html body .topbar nav.nav > a:focus-visible::after,
  html body .topbar .nav > a:hover::after,
  html body .topbar .nav > a:focus-visible::after{
    width:72% !important;
  }
}

@media (min-width:1280px) and (prefers-reduced-motion:reduce){

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (min-width:1280px) and (max-width:1439px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:10.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1440px) and (max-width:1599px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (min-width:1600px){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    font-size:11.5px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .mobile-menu nav.nav > a,
  html body .mobile-menu .nav > a,
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after,
  html body .mobile-menu nav.nav > a::after,
  html body .mobile-menu .nav > a::after{
    transition:none !important;
  }

  html body .topbar nav.nav > a:hover,
  html body .topbar nav.nav > a:focus-visible,
  html body .topbar .nav > a:hover,
  html body .topbar .nav > a:focus-visible,
  html body .mobile-menu nav.nav > a:hover,
  html body .mobile-menu nav.nav > a:focus-visible,
  html body .mobile-menu .nav > a:hover,
  html body .mobile-menu .nav > a:focus-visible{
    transform:none !important;
  }
}

@media (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    left:50% !important;
    right:auto !important;

    width:min(520px,calc(100vw - 32px)) !important;
    max-width:520px !important;
    min-width:0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    translate:none !important;
    transform:translate3d(-50%,0,0) !important;
    transform-origin:center top !important;

    transition:opacity .18s ease, visibility 0s linear .18s !important;
    will-change:opacity !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;
  }

  html body .topbar .nav{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  html body .topbar .nav.mobile-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;

    transition:opacity .18s ease, visibility 0s linear 0s !important;
  }
}

@media (orientation:landscape) and (max-width:1199px){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    width:min(620px,calc(100vw - 28px)) !important;
    max-width:620px !important;
    transform:translate3d(-50%,0,0) !important;
  }
}

@media (max-width:1199px) and (prefers-reduced-motion:reduce){

  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    transition:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  :root{
    --knk-fixed-header-height:76px;
  }

  html body{
    padding-top:76px !important;
  }

  html body.admin-bar{
    padding-top:76px !important;
  }

  html body .topbar,
  html body.admin-bar .topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:99999 !important;

    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) max-content !important;
    grid-template-areas:"logo nav actions" !important;
    align-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:76px !important;
    min-height:76px !important;

    margin:0 !important;
    padding:8px 14px !important;
    column-gap:10px !important;
    row-gap:0 !important;

    overflow:visible !important;
  }

  html body.admin-bar .topbar{
    top:32px !important;
  }

  html body .topbar .brand{
    grid-area:logo !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;

    margin:0 !important;
    transform:none !important;
  }

  html body .topbar .brand a,
  html body .topbar .brand img,
  html body .topbar .nav-logo{
    display:block !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar .nav.mobile-open{
    grid-area:nav !important;
    position:static !important;
    inset:auto !important;

    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:52px !important;
    max-height:52px !important;

    margin:0 !important;
    padding:0 !important;
    gap:0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    overflow:visible !important;
    transform:none !important;
    translate:none !important;
    transition:none !important;
    animation:none !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:32px !important;
    height:32px !important;

    margin:0 !important;
    padding:4px 1px !important;

    font-size:clamp(7px,.78vw,8px) !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  html body .topbar .desktop-actions{
    grid-area:actions !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    align-items:center !important;
    justify-content:flex-end !important;

    width:max-content !important;
    margin:0 !important;
    gap:5px !important;
  }

  html body .topbar .desktop-actions .pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    min-height:34px !important;
    height:34px !important;

    margin:0 !important;
    padding:6px 8px !important;

    font-size:6.8px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  html body .topbar .mobile-header-ticket,
  html body .topbar .mobile-menu-btn,
  html body .topbar .mobile-menu-actions{
    display:none !important;
    visibility:hidden !important;
  }
}

@media (max-width:900px){

  html body .topbar,
  html body.admin-bar .topbar{
    overflow:visible !important;
  }

  html body .topbar nav.nav,
  html body .topbar .nav{
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;

    display:none !important;
    visibility:hidden !important;
    opacity:1 !important;
    pointer-events:none !important;

    width:min(520px,calc(100vw - 30px)) !important;
    max-width:520px !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:10px 14px 12px !important;

    background:#062b4d !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 12px 20px rgba(0,0,0,.28) !important;

    transform:translateX(-50%) !important;
    translate:none !important;
    transform-origin:center top !important;

    transition:none !important;
    animation:none !important;
    will-change:auto !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;
    z-index:100000 !important;
  }

  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    left:50% !important;
    right:auto !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (max-width:480px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav.mobile-open,
  html body .topbar .nav.mobile-open{
    left:15px !important;
    right:15px !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;
    transform:none !important;
    translate:none !important;

    transition:none !important;
    animation:none !important;
  }
}

@media (min-width:901px) and (max-width:1023px){

  html body .topbar nav.nav,
  html body .topbar .nav,
  html body .topbar nav.nav:not(.mobile-open),
  html body .topbar .nav:not(.mobile-open){
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav *,
  html body .topbar .nav *,
  html body .topbar nav.nav:not(.mobile-open) *,
  html body .topbar .nav:not(.mobile-open) *{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .topbar nav.nav > a,
  html body .topbar .nav > a,
  html body .topbar nav.nav:not(.mobile-open) > a,
  html body .topbar .nav:not(.mobile-open) > a{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    color:#fff !important;
    background:transparent !important;

    font-size:clamp(7.5px,.82vw,8.5px) !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  /* Restore the approved hover/shimmer underline within this range. */
  html body .topbar nav.nav > a::after,
  html body .topbar .nav > a::after{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* ==========================================================
   HOMEPAGE WAVE BACKGROUND CORRECTION
   ----------------------------------------------------------
   The original clip-path cuts away the upper part of .wave.
   Because the page background is black, that transparent
   clipped area appears as a black strip. Keep the wave
   container cream and clip only an inner gradient layer.
   ========================================================== */

body.home .wave{
  position:relative !important;
  display:block !important;
  height:55px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#fff7e8 !important;
  clip-path:none !important;
}

body.home .wave::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:linear-gradient(135deg,var(--teal),var(--aqua),#fff) !important;
  clip-path:polygon(
    0 35%,
    8% 50%,
    17% 33%,
    27% 60%,
    38% 32%,
    50% 60%,
    62% 35%,
    75% 55%,
    87% 30%,
    100% 55%,
    100% 100%,
    0 100%
  ) !important;
}

@media (max-width:992px){
  body.home .wave{
    height:42px !important;
  }
}

/* v2.5.17: definitive desktop/ultrawide partner layout. Browser zooming out
   increases the CSS viewport and previously activated conflicting legacy
   overrides. Grid keeps a real gap at every desktop width in both languages. */
@media (min-width:1200px){
  main > .partners .partner-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:min(900px,calc(100vw - 64px)) !important;
    max-width:900px !important;
    gap:clamp(18px,2vw,30px) !important;
    margin:28px auto !important;
    padding:0 !important;
  }

  main > .partners .partner-logo,
  main > .partners .partner-logo:nth-child(1),
  main > .partners .partner-logo:nth-child(2),
  main > .partners .partner-logo:nth-child(3){
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
}