/* Home page controls: one clean action language, with a distinct racing CTA. */
.page-home .header-book,
.page-home main .button,
.page-home .mobile-menu .button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:17px;
  min-height:49px;
  padding:12px 19px;
  border:1px solid #f22c43;
  border-radius:3px;
  clip-path:none;
  background:#ee253d;
  box-shadow:none;
  color:#fff;
  font:600 14px/1.25 var(--body);
  letter-spacing:.005em;
  text-transform:none;
  text-align:left;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.page-home .header-book:hover,
.page-home main .button:hover,
.page-home .mobile-menu .button:hover {
  background:#ff4054;
  border-color:#ff4054;
  color:#fff;
  filter:none;
  box-shadow:0 8px 24px #e5223840;
  transform:translateY(-2px);
}
.page-home .header-book:active,
.page-home main .button:active,
.page-home .mobile-menu .button:active { transform:translateY(0) scale(.98); }
.page-home .hero .hero-actions .brand-button-outline { background:#ee253d;border:1px solid #f22c43;color:#fff; }
.page-home .hero .hero-actions .brand-button-outline:hover { background:#ff4054;border-color:#ff4054; }
.page-home .hero .hero-actions .button:not(.brand-button-outline) { background:#111318c9;border:1px solid #ffffff80;color:#fff; }
.page-home .hero .hero-actions .button:not(.brand-button-outline):hover { background:#272a30;border-color:#fff; }
.page-home .contact-address .button { background:#ee253d;border-color:#f22c43;color:#fff; }
.page-home main .button .arrow { font-size:19px;line-height:1; }

.page-home main .text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  width:fit-content;
  max-width:100%;
  min-height:42px;
  padding:9px 12px 9px 15px;
  border:1px solid #555961;
  border-radius:3px;
  background:#22252a;
  color:#f7f7f8;
  font:600 13px/1.35 var(--body);
  white-space:normal;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s;
}
.page-home main .text-link:hover { background:#30343a;border-color:#ff4157;color:#fff;transform:translateY(-2px); }
.page-home main .text-link:active { transform:translateY(0); }
.page-home main .text-link span[aria-hidden] { display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:2px;background:#f02a42;color:#fff;font:600 17px/1 var(--body); }
.page-home .club-zone-actions .text-link:first-child { color:#fff; }
.page-home .promo-card>.text-link { margin-top:auto; }
.page-home .price-bottom { justify-content:flex-end; }

.page-home .club-gallery-controls button { border:1px solid #aeb5c0;background:#151a20;color:#fff;border-radius:2px;transition:background .2s,transform .2s; }
.page-home .club-gallery-controls button:hover { background:#ee253d;transform:scale(1.05); }
.page-home .club-gallery-thumbs button[aria-pressed=true] { border-color:#ff3c53; }
.page-home .price-zone-tab { border:1px solid #585b60;border-radius:3px;clip-path:none;background:#26292d;color:#eee;transition:background .2s,border-color .2s; }
.page-home .price-zone-tab:hover { background:#3b4047;border-color:#9299a4;color:#fff; }
.page-home .price-zone-tab[aria-selected=true],
.page-home .compact-price-switch button[aria-pressed=true] { background:#e9253e;border-color:#e9253e;color:#fff; }
.page-home .compact-price-switch button { border-radius:2px; }
.page-home :is(a,button):focus-visible { outline:2px solid #fff;outline-offset:4px; }

.page-home .race-banner { min-height:640px;border-top:1px solid #e74e35;background:radial-gradient(ellipse at 77% 62%,#96351f 0%,#4d211b 37%,#1e1317 72%,#0d0d11 100%); }
.page-home .race-banner::before { content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.2;background:repeating-linear-gradient(172deg,transparent 0 68px,#ff6b3a55 69px,transparent 70px 124px);mask-image:linear-gradient(90deg,transparent 37%,#000 100%); }
.page-home .race-banner .race-scene { inset:0 -2% 0 34%; }
.page-home .race-banner.has-3d .race-shade { z-index:1;background:linear-gradient(90deg,#0b0b0cf0 0%,#101014ba 28%,#1c0d1040 56%,transparent 78%); }
.page-home .race-content { min-height:640px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:80px;padding-bottom:80px; }
.page-home .race-content .eyebrow { color:#ffb28f;font:700 13px/1.2 var(--body);letter-spacing:.16em; }
.page-home .race-content h2.home-seo-heading { max-width:650px;margin-top:24px;font:700 clamp(60px,7.2vw,102px)/.98 var(--display);letter-spacing:-.025em; }
.page-home .race-content p:not(.eyebrow) { color:#fff;max-width:500px;margin-top:21px;font:500 clamp(18px,1.8vw,23px)/1.35 var(--body); }
.page-home .race-caption { display:none; }
.page-home .race-cta {
  display:inline-flex;
  align-items:stretch;
  min-height:61px;
  margin-top:38px;
  color:#17110f;
  background:#ff5634;
  clip-path:polygon(0 0,100% 0,calc(100% - 13px) 100%,0 100%);
  font:700 17px/1 var(--display);
  letter-spacing:.01em;
  white-space:nowrap;
  transition:transform .24s,filter .24s;
}
.page-home .race-cta>span:first-child { display:flex;align-items:center;padding:17px 22px 16px 29px;border-left:5px solid #ffe5d6; }
.page-home .race-cta-arrow { display:grid;place-items:center;width:57px;margin-right:13px;background:#141618;color:#fff;font:400 27px/1 Arial,sans-serif;transition:transform .24s; }
.page-home .race-cta:hover { color:#17110f;filter:brightness(1.1);transform:translateX(5px); }
.page-home .race-cta:hover .race-cta-arrow { transform:translateX(4px); }
.page-home .race-cta:active { transform:translateX(2px) scale(.98); }
.page-home .race-cta:focus-visible { clip-path:none; }

.page-home .loyalty-levels { scroll-margin-top:100px;margin-top:48px;padding:32px;border:1px solid #414247;background:#131417; }
.page-home .loyalty-levels-heading { display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px; }
.page-home .loyalty-levels-heading .eyebrow { color:#ff697a;font-size:11px;letter-spacing:.15em; }
.page-home .loyalty-levels-heading h3 { margin:11px 0 0;color:#fff;font:700 clamp(25px,3vw,39px)/1.1 var(--display);text-transform:uppercase; }
.page-home .loyalty-levels-heading>p { max-width:315px;margin:0;color:#bfc0c4;font:400 14px/1.5 var(--body); }
.page-home .loyalty-levels-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px; }
.page-home .loyalty-level { display:flex;flex-direction:column;min-width:0;min-height:265px;padding:18px;border:1px solid #474950;background:#222329;color:#fff; }
.page-home .loyalty-level-top>span { display:block;color:#a7a9b0;font:600 10px/1.2 var(--mono);letter-spacing:.08em; }
.page-home .loyalty-level h4 { margin:19px 0 4px;font:700 clamp(19px,2vw,27px)/1.1 var(--display);text-transform:uppercase;overflow-wrap:anywhere; }
.page-home .loyalty-level-top>p { margin:0;color:#bfc0c4;font:500 13px/1.3 var(--body); }
.page-home .loyalty-level-benefits { margin-top:auto;padding-top:19px; }
.page-home .loyalty-level-primary { display:flex;align-items:baseline;gap:8px;margin-bottom:15px; }
.page-home .loyalty-level-primary strong { color:#ff5269;font:700 clamp(35px,3.7vw,53px)/.9 var(--display); }
.page-home .loyalty-level-primary span { max-width:83px;color:#eee;font:500 11px/1.2 var(--body); }
.page-home .loyalty-level dl { display:grid;gap:6px;margin:0;padding-top:12px;border-top:1px solid #494b51; }
.page-home .loyalty-level dl>div { display:flex;justify-content:space-between;gap:6px;font:400 11px/1.2 var(--body); }
.page-home .loyalty-level dt { color:#aeb0b7; }
.page-home .loyalty-level dd { margin:0;color:#fff;font-weight:700;text-align:right;white-space:nowrap; }
.page-home .loyalty-level-0 { border-top:3px solid #b78568; }
.page-home .loyalty-level-1 { border-top:3px solid #bec5d2; }
.page-home .loyalty-level-2 { border-top:3px solid #e5bc61; }
.page-home .loyalty-level-3 { border-top:3px solid #e4e4eb; }
.page-home .loyalty-level-4 { border-top:3px solid #ff5168;background:#2e252c; }
.page-home .loyalty-level-4 h4 { font-size:clamp(17px,1.65vw,21px);letter-spacing:-.025em; }
.page-home .loyalty-levels-note { margin:18px 0 0;color:#aeb0b7;font:400 12px/1.5 var(--body); }

@media(max-width:1100px) {
  .page-home .loyalty-levels-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media(max-width:767px) {
  .page-home .header-book { display:none; }
  .page-home .header-book,.page-home main .button,.page-home .mobile-menu .button { font-size:13px;min-height:48px;padding:11px 16px; }
  .page-home .hero .hero-actions .button { min-height:48px;font-size:13px;padding:11px 16px; }
  .page-home main .text-link { font-size:12px;padding:8px 10px 8px 12px; }
  .page-home .race-banner { min-height:670px;background:radial-gradient(ellipse at 55% 25%,#752419 0%,#321618 48%,#0d0d11 92%); }
  .page-home .race-banner .race-scene { inset:0 -50% 30% -9%;opacity:.94; }
  .page-home .race-banner.has-3d .race-shade { background:linear-gradient(0deg,#111014fc 0%,#141015d9 33%,#210f1266 70%,transparent 100%); }
  .page-home .race-content { min-height:670px;justify-content:flex-end;padding-top:290px;padding-bottom:66px; }
  .page-home .race-content .eyebrow { font-size:10px; }
  .page-home .race-content h2.home-seo-heading { margin-top:15px;font-size:clamp(40px,11.5vw,58px); }
  .page-home .race-content p:not(.eyebrow) { margin-top:16px;font-size:17px; }
  .page-home .race-cta { margin-top:26px;min-height:55px;font-size:13px; }
  .page-home .race-cta>span:first-child { padding:15px 16px 14px 21px;border-left-width:4px; }
  .page-home .race-cta-arrow { width:45px;margin-right:11px;font-size:23px; }
  .page-home .loyalty-levels { margin-top:32px;padding:18px; }
  .page-home .loyalty-levels-heading { display:block;margin-bottom:20px; }
  .page-home .loyalty-levels-heading>p { margin-top:12px;font-size:13px; }
  .page-home .loyalty-levels-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .page-home .loyalty-level { min-height:232px;padding:13px; }
  .page-home .loyalty-level h4 { font-size:18px; }
  .page-home .loyalty-level-primary { display:block; }
  .page-home .loyalty-level-primary strong { display:block;font-size:38px; }
  .page-home .loyalty-level-primary span { display:block;max-width:none;margin-top:5px; }
  .page-home .loyalty-level dl>div { display:block; }
  .page-home .loyalty-level dd { margin-top:2px;text-align:left; }
}
@media(prefers-reduced-motion:reduce) {
  .page-home .race-cta,.page-home .race-cta-arrow,.page-home main .button,.page-home main .text-link,.page-home .header-book { transition:none; }
}
.page-home main .container:not(.hero-inner) {
  width:100%;
  max-width:none;
  padding-inline:clamp(24px,3vw,64px);
}

