.download-button { width: auto; margin-top: .625rem; }
.features { grid-template-columns: 1fr; }
.feature-highlight { max-width: 48rem; }
.form-heading { font-size: 1.4375rem; font-weight: 800; letter-spacing: -.05em; margin: 0 0 .375rem; }
.form-intro { color: #625950; font-size: .875rem; line-height: 1.5; margin-bottom: 1.375rem; }

.brand img { display: block; height: auto; width: 8.8rem; }
.brand-header img { width: 8.2rem; }
.brand-footer img { width: 7.3rem; }
footer { grid-template-columns: 1fr auto; }
.hero-copy { position: relative; }
.hero-brand-mark { height: auto; opacity: .11; pointer-events: none; position: absolute; right: 2.2rem; top: -1.6rem; transform: rotate(-8deg); width: 5.75rem; }
.header-actions { align-items: center; display: flex; gap: 1.1rem; }
.header-live { align-items: center; background: var(--ink); color: #fff; display: inline-flex; font: 800 .69rem 'DM Mono', monospace; gap: .55rem; letter-spacing: .055em; padding: .72rem .85rem; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.header-live:hover, .header-live:focus-visible { background: #343a36; transform: translateY(-1px); }
.header-live span:last-child { color: var(--lime); font-size: .58rem; }
.language-switcher select { appearance: none; background: transparent; border: 1px solid #aeb5af; border-radius: 0; color: var(--ink); cursor: pointer; font: 600 .72rem 'DM Mono', monospace; padding: .42rem 1.65rem .42rem .56rem; }
.language-switcher { position: relative; }
.language-switcher::after { content: '⌄'; font-size: .8rem; pointer-events: none; position: absolute; right: .48rem; top: .25rem; }
.language-switcher select:focus { outline: 2px solid var(--ink); outline-offset: 2px; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }

.dash-assists { align-items: center; display: flex; gap: .25rem; margin-left: auto; margin-right: .65rem; }
.dash-race-progress { align-items: center; display: flex; gap: .55rem; margin-left: .2rem; }
.race-position { border-left: 1px solid #39403d; color: #aab2ae; padding-left: .55rem; }
.race-position strong { color: #f3f3eb; font-size: .75rem; letter-spacing: -.06em; }
.dash-assists i { align-items: center; border: 1px solid #3e4843; color: #aab2ae; display: inline-flex; font: 700 .43rem 'DM Mono', monospace; font-style: normal; height: 1.1rem; justify-content: center; min-width: 1.1rem; padding: 0 .15rem; }
.dash-assists .assist-light { color: #f0c94f; font-size: .63rem; }
.dash-assists .assist-abs { color: #ff815f; }
.dash-assists .assist-tcs { color: var(--lime); }
.speed-fuel { align-items: end; display: flex; gap: .8rem; }
.fuel-card { min-width: 4.75rem; padding: .15rem 0 .15rem .65rem; text-align: left; }
.fuel-card strong { display: inline-block; color: #f3f3eb; font: 800 1.65rem/1 Manrope, sans-serif; letter-spacing: -.08em; margin: .32rem 0 .4rem; }
.fuel-card strong span { color: #aab2ae; font: 500 .58rem 'DM Mono', monospace; letter-spacing: 0; margin-left: .18rem; }
.fuel-card small, .race-alert small { color: #aab2ae; display: block; font: 500 .53rem 'DM Mono', monospace; letter-spacing: .06em; }
.fuel-gauge { background: #333c37; height: .29rem; overflow: hidden; }
.fuel-gauge i { background: #f0c94f; display: block; height: 100%; width: 34%; }
.best-lap { color: var(--lime); display: block; font: 500 .57rem 'DM Mono', monospace; letter-spacing: .04em; margin-top: .34rem; }
.track-tyres-row { display: grid; gap: .625rem; grid-template-columns: 1.28fr .72fr; }
.track-tyres-row .track-card { min-width: 0; }
.track-card { overflow: hidden; }
.track-map { height: 5.1rem; left: 50%; overflow: visible; position: absolute; top: .35rem; transform: translateX(-50%); width: min(82%, 15rem); }
.track-map-line, .track-map-shadow { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.track-map-shadow { stroke: rgba(216, 255, 79, .12); stroke-width: 9; }
.track-map-line { stroke: #d8e5dd; stroke-width: 3.4; }
.track-car-halo { fill: rgba(216, 255, 79, .22); }
.track-car { fill: var(--lime); filter: drop-shadow(0 0 4px var(--lime)); }
.tyres-card { border: 1px solid #39403d; min-height: 6.55rem; padding: .65rem; }
.tyre-grid { display: grid; gap: .28rem; grid-template-columns: 1fr 1fr; margin-top: .45rem; }
.tyre { align-items: center; border: 1px solid currentColor; display: flex; justify-content: space-between; padding: .22rem .27rem; }
.tyre b { color: #e6edf0; font: 700 .47rem 'DM Mono', monospace; }
.tyre strong { color: currentColor; font: 800 .69rem 'DM Mono', monospace; letter-spacing: -.04em; }
.tyre-cold { background: rgba(102, 169, 255, .15); color: #66a9ff; }
.tyre-ready { background: rgba(101, 231, 166, .13); color: #65e7a6; }
.tyre-hot { background: rgba(255, 118, 107, .15); color: #ff766b; }
.race-alert { align-items: center; color: #ff815f; display: flex; font: 800 .65rem 'DM Mono', monospace; gap: .5rem; letter-spacing: .01em; margin: .7rem 0 -.15rem; }
.alert-icon { align-items: center; background: var(--orange); border-radius: 50%; color: #151a19; display: inline-flex; flex: 0 0 auto; font: 800 .85rem 'DM Mono', monospace; height: 1.3rem; justify-content: center; width: 1.3rem; }
.race-alert b { color: #f0c94f; font-weight: 500; }
.dash-bottom .suggested-gear { color: #aab2ae; font-size: .5rem; }
.suggested-gear b { color: #ff815f; font: 800 1.15rem/1 Manrope, sans-serif; letter-spacing: -.06em; margin-left: .15rem; }
.suggested-gear small { font-size: .56rem; }
.dashboard [data-tour] { border-radius: 2px; transition: box-shadow .24s ease, background-color .24s ease; }
.dashboard [data-tour].tour-active { background-color: rgba(216, 255, 79, .055); box-shadow: 0 0 0 2px var(--lime), 0 0 18px rgba(216, 255, 79, .28); position: relative; z-index: 3; }
.feature-tour-tooltip { background: var(--lime); box-shadow: 5px 6px 0 rgba(0, 0, 0, .25); color: var(--ink); display: none; font-family: Manrope, sans-serif; left: 1rem; max-width: 14rem; padding: .62rem .72rem; pointer-events: none; position: absolute; top: 1rem; width: max-content; z-index: 6; }
.feature-tour-tooltip.is-visible { display: block; }
.feature-tour-tooltip b { display: block; font-size: .64rem; letter-spacing: -.01em; margin-bottom: .12rem; }
.feature-tour-tooltip span { display: block; font-size: .56rem; line-height: 1.35; }
.social-strip { align-items: center; background: var(--lime); display: flex; gap: 3rem; justify-content: space-between; padding: 2rem max(28px, calc((100vw - 1184px) / 2)); }
.social-strip > div:first-child { max-width: 31rem; }
.social-kicker { display: block; font: 600 .62rem 'DM Mono', monospace; letter-spacing: .13em; margin-bottom: .35rem; }
.social-strip strong { display: block; font-size: clamp(1.2rem, 2.1vw, 1.75rem); letter-spacing: -.045em; line-height: 1.15; }
.social-links { display: flex; gap: .6rem; }
.social-links a { align-items: center; background: var(--ink); color: #fff; display: grid; gap: .05rem; grid-template-columns: 1fr auto; min-width: 10.5rem; padding: .85rem 1rem; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.social-links a:hover, .social-links a:focus-visible { background: #343a36; transform: translateY(-2px); }
.social-links span { font-size: .84rem; font-weight: 800; }
.social-links small { color: #bfc6c1; font: 500 .52rem 'DM Mono', monospace; grid-column: 1; }
.social-links b { color: var(--lime); font-size: 1.2rem; grid-column: 2; grid-row: 1 / span 2; }
.action-demo { align-items: center; background: #101212; color: #f3f4ee; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: .78fr 1.22fr; padding: 112px max(28px, calc((100vw - 1184px) / 2)); scroll-margin-top: 1rem; }
.action-demo-kicker { color: var(--lime); display: block; font: 600 .65rem 'DM Mono', monospace; letter-spacing: .15em; margin-bottom: 1.15rem; }
.action-demo h2 { font-size: clamp(2.65rem, 5vw, 5.4rem); letter-spacing: -.07em; line-height: .95; margin-bottom: 1.4rem; }
.action-demo-copy > p { color: #abb2ae; font-size: .95rem; line-height: 1.7; max-width: 30rem; }
.action-steps { display: grid; gap: .55rem; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 2.2rem 0 0; padding: 0; }
.action-steps li { border-top: 1px solid #39403d; padding-top: .7rem; }
.action-steps span { color: var(--orange); display: block; font: 500 .55rem 'DM Mono', monospace; margin-bottom: .3rem; }
.action-steps strong { font-size: .72rem; }
.action-video-shell { aspect-ratio: 16 / 9; background: #181d1b; box-shadow: 14px 16px 0 var(--lime); overflow: hidden; position: relative; }
.action-video-shell video { background: #080a09; display: block; height: 100%; object-fit: contain; width: 100%; }
.action-video-shell video[hidden] { display: none; }
.action-video-pending { align-items: center; background: radial-gradient(circle at 50% 42%, #303a35 0, #181d1b 62%, #111412 100%); display: flex; flex-direction: column; height: 100%; inset: 0; justify-content: center; padding: 2rem; position: absolute; text-align: center; }
.action-video-pending[hidden] { display: none; }
.action-video-pending::before { background: url('./assets/stint-mark-v1.png') center / contain no-repeat; content: ''; inset: 12%; opacity: .06; position: absolute; }
.action-play { align-items: center; background: var(--lime); border-radius: 50%; color: var(--ink); display: flex; font-size: 1rem; height: 4.5rem; justify-content: center; margin-bottom: 1.25rem; padding-left: .2rem; position: relative; width: 4.5rem; }
.action-video-pending strong { font-size: clamp(1.35rem, 2.4vw, 2rem); letter-spacing: -.045em; position: relative; }
.action-video-pending small { color: #abb2ae; font-size: .76rem; line-height: 1.5; margin-top: .45rem; max-width: 22rem; position: relative; }
.game-support { max-width: 1240px; margin: 0 auto; padding: 112px 28px 118px; }
.support-heading { align-items: end; display: grid; gap: 4rem; grid-template-columns: 1.25fr .75fr; margin-bottom: 3rem; }
.support-kicker { color: #707874; display: block; font: 600 .66rem 'DM Mono', monospace; letter-spacing: .15em; margin-bottom: 1.1rem; }
.support-heading h2 { font-size: clamp(2.35rem, 4.6vw, 4.6rem); letter-spacing: -.065em; line-height: .98; margin: 0; max-width: 48rem; }
.support-heading p { color: var(--muted); font-size: .94rem; line-height: 1.7; margin: 0 0 .25rem; max-width: 29rem; }
.support-grid { display: grid; gap: 1rem; grid-template-columns: 1.18fr 1fr 1fr; }
.game-card { background: #171a19; color: #f4f5ef; min-width: 0; overflow: hidden; position: relative; }
.game-visual { aspect-ratio: 1.2 / 1; background-color: #121514; overflow: hidden; position: relative; }
.game-visual::after { background: linear-gradient(180deg, transparent 57%, rgba(16, 18, 18, .62)); content: ''; inset: 0; pointer-events: none; position: absolute; }
.game-visual img { display: block; height: 100%; object-fit: contain; width: 100%; }
.game-visual-gt7 img { object-fit: cover; transform: scale(1.015); }
.game-visual-f1 { align-items: center; background: radial-gradient(circle at 50% 40%, #303634 0, #171a19 68%); display: flex; padding: 18%; }
.game-visual-f1 img { height: auto; }
.game-visual-iracing { align-items: center; background: radial-gradient(circle at 50% 42%, #303634 0, #171a19 68%); display: flex; padding: 12%; }
.game-card-meta { align-items: end; display: flex; gap: 1rem; justify-content: space-between; min-height: 7.2rem; padding: 1.15rem 1.2rem 1.25rem; }
.game-card-meta > div { min-width: 0; }
.game-index { color: #89918d; display: block; font: 500 .57rem 'DM Mono', monospace; letter-spacing: .12em; margin-bottom: .45rem; }
.game-card h3 { font-size: 1.12rem; letter-spacing: -.035em; margin: 0; }
.support-status { border: 1px solid #69706d; color: #d0d3d0; flex: 0 0 auto; font: 600 .55rem 'DM Mono', monospace; letter-spacing: .08em; padding: .48rem .58rem; text-transform: uppercase; }
.support-status-active { align-items: center; border-color: rgba(216, 255, 79, .5); color: var(--lime); display: inline-flex; gap: .38rem; }
.support-status-active i { background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 3px rgba(216, 255, 79, .12); height: .36rem; width: .36rem; }
.game-card-active { box-shadow: inset 0 -3px 0 var(--lime); }
.game-card-coming { background: #222625; color: #c6cac7; }
.game-card-coming .game-visual img { filter: grayscale(1); opacity: .34; }
.game-card-coming .game-visual::before { background: rgba(14, 17, 16, .2); content: ''; inset: 0; position: absolute; z-index: 1; }
.game-card-coming .game-visual::after { z-index: 2; }
.support-note { border-top: 1px solid var(--line); color: #777e7a; font: 500 .58rem 'DM Mono', monospace; letter-spacing: .06em; margin: 1.4rem 0 0; padding-top: .9rem; text-align: right; }
.telemetry-bars i::before { display: none; }
.telemetry-bars i em { display: block; height: 100%; transition: width .28s ease; }
.telemetry-bars .throttle em { background: var(--lime); width: 92%; }
.telemetry-bars .brake em { background: var(--orange); width: 18%; }
.telemetry-bars .rpm em { background: #f3f3eb; width: 78%; }
.fuel-gauge i { transition: width .6s linear; }
.live { animation: live-pulse 1.15s ease-in-out infinite; }
@keyframes live-pulse { 50% { opacity: .48; } }

@media (prefers-reduced-motion: reduce) {
  .live { animation: none; }
  .track-map animateMotion { display: none; }
  .feature-tour-tooltip { display: none; }
  .dashboard [data-tour].tour-active { background: transparent; box-shadow: none; }
}

@media (max-width: 760px) {
  .download-button { width: 100%; }
  .brand-header img { width: 7rem; }
  .header-actions { gap: .7rem; }
  .header-live { font-size: .6rem; padding: .65rem .7rem; }
  .header-cta { display: none; }
  .language-switcher select { font-size: .63rem; padding: .38rem 1.35rem .38rem .42rem; }
  .hero-brand-mark { right: .2rem; top: -1.3rem; width: 4.5rem; }
  .dash-assists { gap: .14rem; margin-right: .3rem; }
  .dash-race-progress { gap: .3rem; }
  .race-position { padding-left: .3rem; }
  .dash-assists i { min-width: 1rem; padding: 0 .08rem; }
  .speed-fuel { gap: .4rem; }
  .fuel-card { min-width: 4.2rem; padding-left: .35rem; }
  .social-strip { align-items: stretch; flex-direction: column; gap: 1.25rem; padding: 1.6rem 20px; }
  .social-links a { flex: 1; min-width: 0; }
  .action-demo { display: block; padding: 78px 20px 88px; }
  .action-video-shell { box-shadow: 8px 9px 0 var(--lime); margin-top: 2.8rem; }
  .game-support { padding: 76px 20px 82px; }
  .support-heading { display: block; margin-bottom: 2rem; }
  .support-heading p { margin-top: 1.35rem; }
  .support-grid { grid-template-columns: 1fr 1fr; }
  .game-card-active { grid-column: 1 / -1; }
  .game-card-active .game-visual { aspect-ratio: 1.85 / 1; }
  .game-card-meta { align-items: flex-start; flex-direction: column; min-height: 8.2rem; }
}

.cookie-settings {
  appearance: none;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0 0 2px;
}

.cookie-settings:hover,
.cookie-settings:focus-visible { color: var(--ink); }

.cookie-banner {
  position: fixed;
  z-index: 1000;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  max-width: 72rem;
  margin: 0 auto;
  padding: 1.25rem;
  border: 1px solid #39403d;
  background: #151a19;
  color: #f3f4ee;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .3);
}

.cookie-banner[hidden] { display: none; }
.cookie-copy { max-width: 48rem; }
.cookie-copy strong { display: block; margin-bottom: .4rem; font-size: 1rem; }
.cookie-copy p { margin: 0; color: #bdc5c0; font-size: .82rem; line-height: 1.55; }
.cookie-actions { display: flex; flex-shrink: 0; gap: .65rem; }
.cookie-button {
  border: 1px solid #f3f4ee;
  background: transparent;
  color: #f3f4ee;
  cursor: pointer;
  font: 800 .76rem Manrope, sans-serif;
  padding: .8rem 1rem;
}
.cookie-accept { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.cookie-button:hover,
.cookie-button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 760px) {
  .cookie-banner { align-items: stretch; flex-direction: column; gap: 1rem; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {
  .cookie-actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .site-header { padding-inline: 14px; }
  .brand-header img { width: 6.2rem; }
  .header-actions { gap: .4rem; }
  .header-live { font-size: .55rem; padding: .6rem .55rem; }
  .header-live span:last-child { display: none; }
  .track-tyres-row { grid-template-columns: 1fr; }
  .tyres-card { min-height: 0; }
  .social-links { flex-direction: column; }
  .support-grid { display: block; }
  .game-card + .game-card { margin-top: 1rem; }
  .game-card-active .game-visual, .game-visual { aspect-ratio: 1.35 / 1; }
  .game-card-meta { align-items: end; flex-direction: row; min-height: 6.7rem; }
  .support-note { text-align: left; }
  .action-steps { grid-template-columns: 1fr 1fr; }
}

.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.beta-form .privacy-note {
  margin: 14px 0 0;
  color: #6d625b;
  font-size: 10px;
  line-height: 1.5;
}
