/* Mobile/tablet refinements; the desktop composition remains in style.css. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
input,select,textarea{max-width:100%;min-width:0;border-radius:0}
.field-grid>*{min-width:0}
/* A pinned desktop scene must fill tall viewports; mobile flows naturally below. */
.hero{height:100vh;height:100dvh;min-height:0;max-height:none}
@supports not (aspect-ratio:1/1){.drift-car-motion{height:0;padding-bottom:45.225%}.drift-car-image{position:absolute;inset:0}}
@supports (-webkit-mask-image:linear-gradient(#000,#000)){
 .drift-base-smoke img,.drift-puff img,.drift-rear-smoke img{-webkit-mask-image:radial-gradient(ellipse at 53% 57%,#000 38%,transparent 72%)}
 .drift-wheel-blur{-webkit-mask-image:radial-gradient(ellipse 5.4% 22% at 54.6% 74.3%,#000 75%,transparent 100%),radial-gradient(ellipse 4% 19% at 92.2% 69%,#000 75%,transparent 100%)}
}
@media(max-width:900px){
 .desktop-nav{display:none}
 .menu-toggle{display:block;flex:0 0 44px;width:44px;height:44px}
 .header{gap:12px}
 .header-right{gap:6px}
 .languages{gap:0}
 .languages span{display:none}
 .languages button{min-width:44px;min-height:44px;font-size:12px;padding:10px 6px}
 .mobile-nav{position:fixed;top:85px;left:0;right:0;padding:18px max(20px,env(safe-area-inset-left));gap:0;max-height:calc(100vh - 85px);max-height:calc(100svh - 85px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 35px #0006}
 .mobile-nav a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--line);font-size:16px}
 .mobile-nav a:last-child{border-bottom:0}
 body.menu-open{overflow:hidden}
 .button{min-height:48px}
 .direction-grid{grid-template-columns:1fr}
 .direction-card{display:grid;grid-template-columns:38% minmax(0,1fr)}
 .direction-card>img{height:100%;min-height:240px}
 .direction-card .button{font-size:12px}
 .footer-top>div:not(:first-child)>a{display:flex;align-items:center;min-height:40px}
}
@media(max-width:700px){
 :root{--page-gutter:clamp(16px,5vw,24px)}
 .wrap{width:calc(100% - var(--page-gutter)*2)}
 .header{left:var(--page-gutter);right:var(--page-gutter);height:76px;top:env(safe-area-inset-top);gap:6px}
 .brand{width:clamp(82px,25vw,118px);flex-shrink:0}
 .header-right{flex-shrink:0}
 .mobile-nav{top:calc(76px + env(safe-area-inset-top));max-height:calc(100vh - 76px - env(safe-area-inset-top));max-height:calc(100svh - 76px - env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .hero{height:auto;min-height:0;max-height:none}
 .hero-content{height:auto;min-height:0;padding-top:100px;padding-bottom:20px}
 .hero-copy{position:relative;left:auto;right:auto;bottom:auto;margin-top:calc(96.4vw - 44px);padding-top:24px;background:linear-gradient(transparent,#090b0c 35px);max-width:none}
 .hero-copy h1{font-size:clamp(25px,7.6vw,42px);line-height:1.08}
 .hero-copy p{font-size:15px;line-height:1.5;margin:14px 0 22px}
 .hero-actions{gap:10px}
 .hero-actions .button{min-height:50px;padding:14px 16px;font-size:12px;gap:18px}
 .hero-bottom{position:relative;bottom:auto;margin-top:24px;align-items:center;gap:12px;font-size:9px}
 .hero-bottom a{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px}
 .hero-bottom>span{white-space:nowrap}
 .hero-bottom>span:before{width:24px;margin-right:10px}
 .subhero{padding-top:calc(105px + env(safe-area-inset-top));min-height:0;padding-bottom:26px}
 .subhero h1{font-size:clamp(26px,7.7vw,44px);margin-top:26px;line-height:1.12}
 body[data-route='/partner'] .subhero h1{font-size:clamp(22px,6.6vw,39px)}
 .subhero p{font-size:15px;line-height:1.65;max-width:100%}
 .subhero .hero-actions{margin-top:34px}
 .subhero-caption{gap:14px;font-size:8px;line-height:1.7}
 .subhero-caption>span:last-child{text-align:right}
 .section-heading{padding-left:0;text-align:left;margin-bottom:28px}
 .section-label{position:static;display:block;margin-bottom:16px;font-size:10px}
 .section-label br{display:none}
 .section-label b{display:inline;margin-right:10px}
 .section-heading h2{font-size:clamp(25px,7.3vw,42px);line-height:1.12}
 .section-heading p{font-size:14px;line-height:1.6}
 .history-cards{padding-inline:8px}
 .history-card.active img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .history-card h3{font-size:15px}
 .history-card p{font-size:13px}
 .carousel-arrow{width:44px;height:48px}
 .prev{left:-8px}.next{right:-8px}
 .history-bottom{justify-content:space-between;padding-left:0;gap:12px}
 .history-bottom>.eyebrow{position:static;font-size:9px}
 .dots{gap:4px;flex-shrink:0}
 .dots button{width:27px;height:44px}
 .direction-card{display:flex;flex-direction:column}
 .direction-card>img{height:auto;min-height:0;aspect-ratio:16/8;object-fit:cover}
 .direction-card>div{padding:22px}
 .direction-card h3{font-size:clamp(23px,6vw,29px);margin:8px 0 12px}
 .direction-card p{font-size:15px;line-height:1.65}
 .direction-card .button{font-size:12px;min-height:48px}
 .role-card .button{min-height:48px;font-size:12px}
 .role-card p,.editorial-aside p,.form-intro{font-size:15px;line-height:1.65}
 .field{font-size:14px}
 input,select,textarea{font-size:16px;min-height:50px}
 .date-options{flex-wrap:wrap}
 .date-options label{flex:1;min-width:72px}
 .date-options span{font-size:12px;min-height:46px}
 .ticket-card{display:flex;flex-direction:column}
 .ticket-card>img{height:170px;min-height:0;object-fit:cover}
 .ticket-card>div{padding:20px}
 .ticket-card p{font-size:14px}
 .ticket-card .button{font-size:12px;min-height:48px}
 .perks{font-size:12px}
 .footer-top>div:not(:first-child){font-size:14px;gap:4px}
 .footer-top .eyebrow{font-size:11px}
 .footer-bottom{font-size:11px;padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .contact-row>a{font-size:14px}
 .contact-row small{font-size:10px}
}
@media(max-width:360px){
 .languages button{min-width:42px}
 .header .brand{width:80px}
 .header{left:14px;right:14px}
 .hero-meta>.eyebrow{font-size:7px}
 .hero-meta .event-meta{font-size:9px}
 .history-bottom>.eyebrow{max-width:90px}
 .contact-row>a{grid-template-columns:40px minmax(0,1fr) 20px;gap:10px}
 .contact-row .contact-icon{width:40px;height:40px}
}
@media(max-height:500px) and (orientation:landscape) and (max-width:900px){
 .header{height:70px}
 .mobile-nav{top:70px;max-height:calc(100vh - 70px);max-height:calc(100svh - 70px)}
 .subhero{padding-top:100px}
}
/* A portrait tablet cannot fit the desktop car and copy side by side. */
@media(min-width:701px) and (max-width:900px){
 .hero{height:auto;min-height:0;max-height:none}
 .hero-content{height:auto;min-height:0;padding-top:110px;padding-bottom:24px}
 .hero-copy{position:relative;left:auto;bottom:auto;max-width:none;margin-top:calc(96.4vw - 54px);padding-top:24px;background:linear-gradient(transparent,#090b0c 35px)}
 .hero-copy h1{font-size:42px}
 .hero-copy p{font-size:17px}
 .hero-bottom{position:relative;bottom:auto;margin-top:28px;min-height:44px;align-items:center}
 .drift-scene:after{background:linear-gradient(0deg,#090b0c 17%,transparent 53%)}
 .drift-smoke-trail .drift-puff:nth-child(n+5){display:none}
}
