.language-switch{display:flex;align-items:center;gap:7px;margin-left:16px;flex-shrink:0;font-size:12px;letter-spacing:.08em}.language-switch a{padding:12px 2px;text-decoration:none;opacity:.65}.language-switch a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:5px}.language-switch span{opacity:.35}.language-switch a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
html[lang=en] .hero h1{font-size:clamp(42px,5.8vw,88px)}
@media(max-width:700px){.language-switch{margin-left:auto;margin-right:12px;gap:5px;font-size:11px}html[lang=en] .hero h1{font-size:43px}html[lang=en] .header>.messenger-links{display:none}}
@media(min-width:701px){.header>#navigation{margin-left:32px;margin-right:auto}}
/* Persistent navigation; one shared height also offsets anchors and the calculator. */
:root{--header-height:72px}
html{scroll-padding-top:var(--header-height)}
.header{position:sticky;top:0;height:var(--header-height);z-index:30;border-bottom:1px solid transparent;transition:border-color .2s}
.header.is-scrolled{border-bottom-color:var(--line)}
.hero{height:calc(100svh - var(--header-height))}
@media(max-width:700px){:root{--header-height:64px}.header nav{top:var(--header-height);max-height:calc(100svh - var(--header-height));overflow-y:auto}.header nav .messenger-links{display:flex;flex-direction:column;margin-top:8px}.header nav .messenger-links a{padding:12px}}
@media(min-width:701px){.header nav .mobile-nav-contact{display:none}}
/* NOVASTAGE shares the editorial grid, with its own identity and blue accent. */
body[data-page=tuning]{--accent:#2d6d9f}
.nova-logo{display:inline-flex;align-items:center;gap:10px;letter-spacing:-1px;font-size:25px}
.nova-logo>span:last-child{font-weight:600}
.nova-mark{display:block;position:relative;width:36px;height:36px;overflow:hidden;flex:0 0 36px}
.nova-mark img{position:absolute;width:55px;height:55px;max-width:none;left:-9px;top:-10px;object-fit:contain}
@media(min-width:701px){.header nav{gap:22px;font-size:11px}.header .nova-logo{font-size:23px}}
@media(max-width:1050px) and (min-width:701px){.header>.messenger-links{display:none}}
@media(max-width:700px){.nova-logo{font-size:20px;gap:6px}.nova-mark{width:28px;height:30px;flex-basis:28px}.nova-mark img{width:44px;height:44px;left:-8px;top:-7px}}
/* Full-bleed mobile photography, with personalised plates inside the crop. */
@media(max-width:700px){
 .hero.home,.hero.tuning{height:calc(100svh - var(--header-height));min-height:660px;max-height:950px;background:#202821}
 .hero.home .hero-image,.hero.tuning .hero-image{object-position:39% center;transform:none!important;will-change:auto}
 .hero.home .hero-shade,.hero.tuning .hero-shade{background:linear-gradient(180deg,rgba(7,17,20,.83) 0%,rgba(7,17,20,.5) 32%,transparent 61%,rgba(7,17,20,.45) 100%)}
 .hero.home .hero-content,.hero.tuning .hero-content{padding:28px 6% 0;max-width:100%}
 .hero.home h1,.hero.tuning h1,html[lang=en] .hero.home h1,html[lang=en] .hero.tuning h1{font-size:38px;line-height:1.04;letter-spacing:-1.6px;margin:16px 0}
 .hero.home .hero-desc,.hero.tuning .hero-desc{font-size:12px;line-height:1.5;margin-bottom:16px;max-width:340px}
 .hero.home .button,.hero.tuning .button{min-height:44px;padding:12px 16px;font-size:11px}
 .hero.tuning .hero-catalog-link{display:flex;align-items:center;width:max-content;max-width:100%;margin:10px 0 0;padding:11px 14px;min-height:44px;border:1px solid #b9ccdd80;background:#152635e8;color:#fff;font-size:11px;backdrop-filter:blur(8px)}
 .hero.tuning .hero-catalog-link:hover{background:#294b67}
 .hero.home .hero-bottom,.hero.tuning .hero-bottom{bottom:18px}
}
@media(max-width:700px){
 .hero.home .hero-image,.hero.tuning .hero-image{width:auto;max-width:none;height:100%;aspect-ratio:3/2;left:38%;right:auto;top:0;object-fit:fill;transform:translateX(-34%)!important}
 .hero.home .hero-image{transform:translateX(-41%)!important}
}
/* Small-screen audit: never compress result sections into overlapping rows. */
@media(max-width:700px){
 .menu-toggle{min-width:44px;min-height:44px}
 .header nav.open{overscroll-behavior:contain}
}
@media(min-width:601px) and (max-width:700px){
 .menu-toggle{display:block;border:0;background:none;font-size:25px;width:44px;height:44px}
 .header nav{display:none;position:absolute;left:0;right:0;top:var(--header-height);padding:20px 6%;background:var(--paper);flex-direction:column;gap:12px}
 .header nav.open{display:flex}
 .header .header-cta{display:none}
}

/* Keep restart reachable alongside back and help on narrow screens. */
/* Model cards keep the silhouette above the text, but the implicit grid row was
   sizing to the card's 88px min-height instead of its content: the caption fell
   outside the card and the next row's illustration was drawn over it - 11
   overlaps per screen in groups like BMW M. Give the row room for the whole card. */
/* Text-only choices stay compact; each mobile view has one scrolling surface. */
/* One mobile document scroll and a single-row action tray. */
