html{scroll-behavior:smooth;overflow-x:clip}
main{min-width:0}
.catalog,.record-feature,.products,.detail>img,.detail>video{width:111.111%;margin-left:-5.555%}
.hero,.overlay{box-sizing:border-box}
.wordmark{font-size:min(32vw,100vh);overflow:hidden}
.line-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex:none}
.utilities{display:flex;align-items:center;gap:18px;margin-left:auto}
header #main-menu{margin-left:auto}
.player{background:#151515;color:#dcdcdc;border-color:#626262}
.player button,.play{background:#1b1b1b;color:#c5c5c5;border:1px solid #626262}
.player input{accent-color:#9a9a9a}
.catalog .overlay>div{width:100%;text-align:center}
.catalog .overlay p{margin-inline:auto}
.track-price{font-size:clamp(26px,4vw,42px);margin-block:12px;color:#d5d5d5}
.record-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.record-actions button{margin:0}
.story p{max-width:58ch}
.story-image,.film-feature{min-height:72svh;text-align:center}
.film-feature{background-position:center}
.film-feature p{margin-inline:auto}
.booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-align:left}
.booking-form label{display:grid;gap:6px}
.booking-form input,.booking-form textarea,.booking-form select{box-sizing:border-box;width:100%;padding:12px;background:#202020;color:#ffffff;border:1px solid #6c6c6c;font:inherit}
.booking-form .wide{grid-column:1/-1}
@media(max-width:760px){header .brand{order:0}.utilities{order:1;position:relative;z-index:2}.menu-toggle{order:2}.menu-open .utilities{color:#ffffff}.record-actions{flex-direction:column}.booking-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Center the contents of each image-led landing panel. */
.hero,.record-feature,.film-feature{align-content:end;justify-items:center;text-align:center}
.hero>*,.record-feature>div,.film-feature>div{width:min(100%,72ch);margin-inline:auto}
.hero p,.record-feature p,.film-feature p{margin-inline:auto}
.hero .button,.record-feature .button,.record-feature button,.film-feature button{padding:14px 24px;font-size:15px}
.button,button{font-size:15px;line-height:1.3;min-height:44px}
.button.secondary{border:1px solid #ffffff;background:transparent;color:#ffffff}
.player button{min-height:40px}
.player input{accent-color:#ffffff}
.player,.play,.track-price{color:#ffffff}
.booking-form{width:100%;max-width:580px;margin:24px auto;grid-template-columns:minmax(0,1fr);text-align:left}
.booking-form label,.booking-form input,.booking-form select,.booking-form textarea,.booking-form button{width:100%}
.booking-form input,.booking-form select,.booking-form textarea{min-height:48px;font-size:16px;border-color:#777777}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #ffffff;outline-offset:2px}
.booking-form button,.cart-summary button{width:100%;background:#ffffff;color:#111111;margin:0;padding:15px}
.account-form label{font-weight:600}
.music-filters{display:flex;align-items:center;justify-content:safe center;gap:20px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;margin:18px auto;padding:4px 0}
.music-filters::-webkit-scrollbar{display:none}
.music-filters a{flex:none;margin:0;padding:10px 0}
.experience-details{text-align:center}
.utility-page{padding-bottom:55px}
.cart-layout{max-width:1080px;margin:28px auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start}
.cart-layout section{padding:24px;text-align:left!important;border:1px solid #555555}
.cart-layout h2{font-size:36px}
.cart-items ul{list-style:none;padding:0;margin:12px 0}
.cart-items li{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:16px 0;border-bottom:1px solid #444444}
.cart-items li p{margin:3px 0 0;color:#cccccc}
.cart-item-end{text-align:right;flex:none}
.cart-layout .text-button{background:none;color:#ffffff;border:0;text-decoration:underline;padding:0;margin:6px 0 0;min-height:36px;font-size:14px}
.subtotal{display:flex;justify-content:space-between;gap:18px;padding:12px 0}
@media(max-width:760px){
  .footer-columns{grid-template-columns:minmax(0,1fr);gap:30px}
  .footer-columns>div{width:100%;padding-bottom:22px;border-bottom:1px solid #555555}
  .cart-layout{grid-template-columns:minmax(0,1fr)}
}
.hero h1,.record-feature h1,.film-feature h1{width:100%;max-width:none}
.hero>div>p{max-width:55ch}
.booking-form .wide{grid-column:auto}

button.play,button.play:hover{background:#fff;color:#161616;border-color:#fff}
.catalog .record-excerpt{display:flex;align-items:baseline;justify-content:center;gap:8px;min-width:0;margin:10px auto;max-width:100%}
.catalog .record-excerpt p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0}
.catalog .record-excerpt a{flex:none;text-decoration:underline;font-size:13px}
.campaign-study{text-align:center}
.campaign-study>div{width:100%;min-width:0}
.campaign-study>div>p{max-width:52ch;margin-inline:auto}
.campaign-study .button,.experience-cta .button{margin-inline:0}
.experience-topics>div{text-align:center}
.experience-topics h2{font-size:clamp(29px,3.5vw,48px)}
.experience-topics p{max-width:32ch;margin-inline:auto}
.experience-cta{text-align:center;margin-top:28px}

.media-hero{position:relative;isolation:isolate;overflow:hidden}
.media-hero .hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;margin:0}
.media-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0006 0%,#0003 40%,#000a 100%);z-index:-1}
.hero.booking-portrait::before{background:linear-gradient(180deg,#0006,#0003 40%,#000a),url('/assets/campaign/NZ8_3878.jpg') center 40%/cover no-repeat}
.campaign-study,.catalog .overlay,.record-feature,.story-image{background-image:linear-gradient(180deg,#0003 20%,#000b),url('/assets/campaign/NZ8_3811.jpg')}
@media(max-width:760px){.hero.booking-portrait::before{background-position:64% center}}
.film-feature.media-hero{margin-inline:-5.555%;min-height:100svh}
.media-hero .motion-control{position:absolute;right:18px;bottom:16px;width:auto;min-height:36px;padding:8px 12px;margin:0;background:#171717;color:#fff;border:1px solid #fff8;font-size:12px}
