*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f4f1;color:#111;line-height:1.55}a{text-decoration:none;color:inherit}.nav,.container,.formgrid{width:min(1180px,92%);margin:auto}header{position:fixed;inset:0 0 auto;background:#090909ee;color:#fff;z-index:10}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;font-size:25px;line-height:.8;letter-spacing:-1px}.logo small{display:block;font-size:8px;letter-spacing:3px;margin-top:7px}nav{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:bold}nav .cta{border:1px solid #fff;padding:11px 15px}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}.lang{display:flex;gap:5px;align-items:center}.lang button{background:none;border:0;color:#888;font-weight:900;cursor:pointer}.lang button.active{color:#fff}.hero{height:780px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.heroimg{position:absolute;inset:0;background:url('hero-circuit.jpg') center/cover no-repeat;filter:brightness(1.04) saturate(.88) contrast(.96)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#000d,#0009 45%,#0001)}.heroText{position:relative;width:min(1180px,92%);margin:auto;padding-top:80px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:900;margin:0 0 18px}.red{color:#e10600}.hero h1{font-size:clamp(55px,8vw,105px);line-height:.9;letter-spacing:-5px;margin:0 0 25px}.hero h1 i{font-weight:400}.heroText>p:not(.eyebrow){font-size:21px;max-width:580px}.actions{display:flex;gap:12px;margin:30px 0 18px;flex-wrap:wrap}.btn{display:inline-flex;padding:15px 20px;font-weight:900;background:#fff;color:#111}.btn.ghost{background:transparent;color:#fff;border:1px solid #aaa}.notice{font-size:11px;color:#bbb}.ticker{background:#0a0a0a;color:#fff;display:flex;justify-content:space-around;padding:18px 3%;font-size:10px;font-weight:900;letter-spacing:2px}.section{padding:110px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2{font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-3px;margin:0 0 30px}.section h2 i{font-weight:400}.copy{max-width:600px;color:#555;font-size:17px}.copy strong{color:#111}.dark{background:#111;color:#fff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:45px}.race{min-height:430px;padding:20px;display:flex;align-items:end;background-position:center;background-size:cover;position:relative;overflow:hidden;border:1px solid #292929}.race:after{content:'';position:absolute;inset:0;background:linear-gradient(#0000 35%,#000e)}.race>div{position:relative;z-index:1}.race h3{font-size:27px;margin:8px 0}.race p{font-size:12px;color:#ddd;margin:0 0 18px}.race b{font-size:9px;letter-spacing:2px}.race a{display:inline-block;border:1px solid #aaa;padding:8px 13px;font-size:9px;font-weight:900}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:55px}.steps>div{border-top:1px solid #ccc;padding-top:18px}.steps b{font-size:11px;color:#e10600}.steps h3{margin-top:45px}.steps p{color:#666;font-size:14px}.project{background:#e5e5e0}.formgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.formgrid>div:first-child p:not(.eyebrow){color:#666;max-width:520px}form{background:#fff;padding:32px;box-shadow:0 15px 50px #0001}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full-row{display:block}.full-row label{width:100%}label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:900;text-transform:uppercase;margin:17px 0}input,select,textarea{font:inherit;font-size:14px;padding:12px;border:1px solid #ddd;background:#fafafa}textarea{resize:vertical}.consent{flex-direction:row;text-transform:none;font-weight:500}.submit{width:100%;padding:15px;background:#111;color:#fff;border:0;font-weight:900;cursor:pointer}.hp{position:absolute;left:-9999px;width:1px;height:1px}form>small{display:block;color:#888;text-align:center;font-size:9px;margin-top:10px}.vision{background:#111;color:#fff;padding:100px 0;text-align:center}.vision h2{font-size:clamp(40px,6vw,72px);line-height:.9}.vision h2 i{font-weight:400}.vision p:last-child{max-width:650px;margin:auto;color:#aaa}footer{background:#070707;color:#fff;padding:45px 4% 20px}.foot{width:min(1180px,92%);margin:auto;display:flex;justify-content:space-between;padding-bottom:40px}.foot>div:last-child{color:#aaa}footer>small{display:block;width:min(1180px,92%);margin:auto;border-top:1px solid #222;padding-top:15px;color:#666}@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#111;padding:20px;flex-direction:column;align-items:stretch}nav.open{display:flex}.split,.formgrid{grid-template-columns:1fr;gap:40px}.cards,.steps{grid-template-columns:1fr 1fr}}@media(max-width:550px){.hero{height:700px}.cards,.steps,.row{grid-template-columns:1fr}.section{padding:75px 0}.ticker{justify-content:flex-start;gap:35px;overflow:auto}.ticker span{white-space:nowrap}} .thanks{min-height:100vh;background:#111;color:#fff;display:grid;place-items:center}.thanks main{width:min(700px,90%)}.thanks h1{font-size:clamp(55px,8vw,100px);line-height:.9;letter-spacing:-5px}.thanks h1 i{font-weight:400}.thanks p:not(.eyebrow){color:#aaa;font-size:18px;max-width:520px}
.legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.legal-links a{font-size:10px;color:#aaa;border-bottom:1px solid #333;padding-bottom:3px}.legal-links a:hover{color:#fff}.legal-page{min-height:100vh;background:#f4f4f1;color:#222;padding:130px 0 80px}.legal-wrap{width:min(900px,92%);margin:auto}.legal-page h1{font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-3px;margin:0 0 35px}.legal-page h2{font-size:25px;margin:42px 0 12px}.legal-page p,.legal-page li{color:#555;font-size:15px}.legal-page .back{display:inline-block;margin-bottom:35px;font-weight:900;font-size:11px;letter-spacing:1px}.legal-note{background:#fff;border-left:3px solid #e10600;padding:16px 18px;margin:20px 0;color:#555;font-size:13px}.legal-page .logo{color:#111;margin-bottom:30px}.legal-page a{text-decoration:underline}.placeholder{background:#fff4f2;color:#a90000;padding:1px 5px}.legal-lang{font-size:11px;color:#777;margin-top:30px;padding-top:20px;border-top:1px solid #ddd}
.race.monza-card{background-position:62% center}.race.spa-card{background-position:54% center}.race.silverstone-card{background-position:50% center}


/* V9 — responsive Safari/mobile refinement + ALLIV logo */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
.logo-image-link{display:flex;align-items:center;min-width:0}
.logo-image{display:block;width:170px;height:auto;max-width:100%;object-fit:contain}
.footer-logo-image{width:170px}

/* Keep every layout block constrained to the viewport. This is intentionally
   applied on top of V8 rather than changing the desktop composition. */
header,.nav,.hero,.heroText,.ticker,.section,.container,.formgrid,.foot,footer{min-width:0}
.nav,.container,.formgrid,.heroText,.foot,footer>small{max-width:1180px}
.formgrid>*,form,.row>label,label,input,select,textarea{min-width:0;max-width:100%}
input,select,textarea{width:100%}

@media (max-width:900px){
  .nav{width:calc(100% - 32px);max-width:calc(100% - 32px);height:76px}
  .logo-image{width:145px;max-height:54px}
  .heroText{width:calc(100% - 32px);max-width:calc(100% - 32px);padding-top:55px}
  .hero h1{font-size:clamp(43px,12vw,70px);letter-spacing:-3px;max-width:100%}
  .heroText>p:not(.eyebrow){font-size:18px;max-width:100%}
  .actions{max-width:100%}
  .btn{max-width:100%}
  .formgrid{width:calc(100% - 32px);max-width:calc(100% - 32px)}
  form{width:100%;padding:24px 18px}
  input,select,textarea{font-size:14px}
  .consent{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:8px;align-items:start}
  .consent input{width:16px;height:16px;min-width:16px;margin:2px 0 0}
  .consent span{min-width:0}
}

@media (max-width:550px){
  .nav{width:calc(100% - 24px);max-width:calc(100% - 24px);height:72px}
  .logo-image{width:126px;max-height:48px}
  nav{top:72px;left:0;right:0;width:100%;max-width:100%;}
  .hero{width:100%;max-width:100%;height:700px}
  .heroText{width:calc(100% - 24px);max-width:calc(100% - 24px);padding-top:40px}
  .hero h1{font-size:clamp(40px,12.5vw,58px);letter-spacing:-3px;line-height:.92}
  .heroText>p:not(.eyebrow){font-size:17px;line-height:1.45}
  .section{width:100%;max-width:100%;padding:65px 0}
  .container{width:calc(100% - 24px);max-width:calc(100% - 24px)}
  .split,.formgrid,.cards,.steps,.row{grid-template-columns:minmax(0,1fr)}
  .cards{gap:12px}
  .race{min-height:390px}
  .formgrid{gap:30px}
  form{padding:22px 16px}
  label{margin:14px 0}
  label>span{overflow-wrap:anywhere}
  select{font-size:13px;line-height:1.35;padding:11px 10px}
  .consent{font-size:11px;line-height:1.35;grid-template-columns:16px minmax(0,1fr);column-gap:8px}
  .ticker{width:100%;max-width:100%;overflow-x:auto}
  .foot{width:calc(100% - 24px);max-width:calc(100% - 24px);flex-direction:column;gap:28px}
  footer>small{width:calc(100% - 24px);max-width:calc(100% - 24px)}
}


/* V9.1 — consent alignment fix */
.consent{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100% !important;
  margin:17px 0 !important;
}
.consent input[type="checkbox"]{
  flex:0 0 16px !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  margin:2px 0 0 !important;
}
.consent span{
  flex:0 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
  text-align:left !important;
  text-transform:none !important;
}
@media (max-width:550px){
  .consent{font-size:11px;line-height:1.35;gap:8px !important;}
}
