/* Contain animated artwork without giving it a sideways page scroll area. */
html,body{max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,aside,fieldset,.wrap,.welcome-content,.story-stage,.story-cards,.portfolio-heading>*{min-width:0}
img,video,iframe{max-width:100%}
.filmstrip{contain:paint;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.film-track,.film-group{flex-shrink:0}
.contact-grid a,.talent-apply a,.legal-copy a,.checkout-unavailable a,.footer-links a{overflow-wrap:anywhere}
.ui-icon{display:inline-block;flex:0 0 auto;width:1.1em;height:1.1em;vertical-align:-.12em}
.mobile-menu{display:none}
.header .desktop-nav{gap:clamp(14px,2vw,32px)}
.esports-teaser{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:70px;border-top:1px solid #5d4a21}
.esports-teaser>img{width:100%;height:auto;max-width:220px}
.esports-teaser h2{font-size:clamp(40px,4.5vw,64px)}
.esports-teaser p:not(.eyebrow){color:var(--muted);max-width:640px;margin:24px 0}

@media(max-width:800px){
 .story-stage,.story-cards{grid-template-columns:minmax(0,1fr)}
 .story-card{min-width:0}
 .motion-item.motion-image.awaiting{transform:translateY(24px) scale(.97)}
 .legal-grid{grid-template-columns:minmax(0,1fr)}
 .esports-teaser{grid-template-columns:110px minmax(0,1fr);gap:28px}
}
@media(max-width:720px){
 .wrap{width:calc(100% - 36px)}
 .header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;min-height:86px;padding:10px 0;gap:12px;z-index:20}
 .header .brand .production-logo{width:64px}
 .header>.button.small{padding:12px;gap:10px;min-height:44px;font-size:13px}
 .header .desktop-nav{display:none}
 .mobile-menu{display:block;font-size:13px}
 .mobile-menu summary{min-height:44px;min-width:54px;display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;border:1px solid #5b574c;border-radius:4px;padding:8px;color:var(--ink)}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{color:var(--yellow);border-color:var(--yellow)}
 .header .mobile-menu nav{position:absolute;left:0;right:0;top:calc(100% - 1px);width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#17171b;border:1px solid #5b574c;padding:12px;box-shadow:0 16px 28px #0009;z-index:25}
 .mobile-menu nav a{padding:10px 8px;min-height:44px;white-space:normal;font-size:14px}
 .header:has(nav[aria-label="Booking navigation"]){grid-template-columns:auto minmax(0,1fr)}
 .header nav[aria-label="Booking navigation"]{order:initial;justify-content:flex-end;gap:8px 16px;font-size:12px}
 .header nav[aria-label="Booking navigation"] a{white-space:normal;min-height:44px;display:flex;align-items:center}
 .welcome{width:100%;min-height:0}
 .welcome-content{width:calc(100% - 36px);padding:22px 0;gap:12px}
 .welcome-content>.eyebrow{font-size:10px;letter-spacing:.12em}
 .welcome-content>h1{font-size:clamp(34px,9.4vw,46px);line-height:1.03;max-width:100%;text-wrap:balance}
 .welcome-content>.welcome-intro{font-size:14px;line-height:1.55;max-width:360px}
 .welcome-content>.welcome-book{font-size:16px;padding:14px 24px;min-height:50px;gap:24px}
 .welcome-content>.welcome-prices{font-size:12px;line-height:1.7}
 .welcome-content>small{font-size:10px;line-height:1.5;max-width:320px}
 .film-frame{width:145px;height:58px}
 .filmstrip{padding:11px 0}
 .welcome-content>.launch-welcome{padding:14px 12px;gap:8px}
 .launch-welcome .eyebrow{font-size:10px;letter-spacing:.08em}
 .launch-welcome h2{font-size:27px;line-height:1.05}
 .launch-welcome p:not(.eyebrow){font-size:12px}
 .launch-welcome small{font-size:10px;line-height:1.5}
 .launch-welcome .button{font-size:12px;gap:10px;min-height:44px}
 .film-motion-toggle{bottom:18px;font-size:10px;padding:6px 9px;min-height:36px}
 .section{padding-top:48px;padding-bottom:48px}
 .esports-teaser{grid-template-columns:minmax(0,1fr);gap:20px}
 .esports-teaser>img{max-width:85px}
 .enquiry-section h2{font-size:clamp(40px,10vw,54px)}
 .section-heading,.portfolio-heading{margin-bottom:28px}
 .rewards,.caster-grid,.contact-grid,.talent-grid,.vod-grid,.journey-list,.faq,.package-grid{grid-template-columns:minmax(0,1fr)}
 .rewards-card,.package-card,.contact-grid article,.talent-apply{min-width:0;padding:24px}
 .contact-grid a{font-size:14px}
 .story-card{padding:24px}
 .story-card h3{font-size:42px}
 .story-heading h2{font-size:48px}
 .story-stage{gap:24px}
 .story-cards{gap:18px}
 .story-card .text-link{display:inline-block;min-height:44px}
 .broadcast-heading{align-items:flex-start;gap:16px}
 .broadcast-title{font-size:34px}
 .broadcast-heading>.text-link{font-size:12px;white-space:normal;flex-shrink:0}
 .twitch-frame{width:100%;min-width:0}
 .booking-layout{padding-top:24px}
 .checkout{padding:18px}
 .package-options b{float:none;display:block;margin:6px 0 0}
 .radio-row{padding:13px;gap:10px}
 .checkout select,.checkout input:not([type=radio]),.checkout textarea{font-size:16px;max-width:100%}
 .checkout .button{max-width:100%;gap:12px}
 .steps li{font-size:12px}
 .legal-intro h1{font-size:clamp(40px,12vw,54px)}
 .legal-callout{padding:18px}
 .legal-contents{gap:12px}
 .legal-contents a{min-height:44px;display:flex;align-items:center}
 footer{gap:20px}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;font-size:13px}
 .footer-links a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){
 .wrap,.welcome-content{width:calc(100% - 28px)}
 .welcome{width:100%}
 .header{gap:8px}
 .header .brand .production-logo{width:58px}
 .header>.button.small{padding:10px;font-size:12px;gap:8px}
 .mobile-menu summary{min-width:48px;padding:6px}
 .welcome-content>h1{font-size:34px}
 .rewards-card,.package-card,.contact-grid article,.talent-apply{padding:18px}
}

.clock-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}.clock-fields input{min-width:0;width:100%}.team-logo-upload{margin:20px 0;padding:18px;border:1px solid #6b5b36;border-radius:10px;min-width:0}.team-logo-upload legend{padding:0 6px;font-weight:700}.team-logo-upload legend small{font-size:12px;color:#cabd8e}.team-logo-upload input[type=file]{font-size:12px;max-width:100%}.team-logo-upload input::file-selector-button{border:1px solid #8a753a;border-radius:4px;padding:8px;background:#ffd000;color:#111;cursor:pointer}.booking-logo-list{display:grid;gap:8px}.ui-icon{display:inline-block;vertical-align:middle;flex-shrink:0}

/* Fixed DD/MM/YYYY fields; the native popup remains available from the icon. */
.date-field{position:relative;display:block;min-width:0;width:100%}
.date-field>input[data-date-display]{width:100%;min-width:0;padding-right:44px;font-variant-numeric:tabular-nums}
.date-field>.date-field-button{position:absolute;right:2px;top:2px;bottom:2px;width:40px;min-height:0;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer}
.date-field>.date-field-button:hover{color:#ffcf24;background:#ffffff0a}
.date-field>.date-field-button:focus-visible{outline:2px solid #ffcf24;outline-offset:-4px}
.date-field>.date-field-button:disabled{opacity:.4;cursor:default}
.date-field>.date-field-picker{position:absolute;right:0;bottom:0;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none}
.clock-fields>[hidden]{display:none!important}
@media(max-width:480px){.clock-fields{grid-template-columns:minmax(0,1fr) 90px;gap:8px}}
