/* ═══════════════════════════════════════════════════════════════════
   SPARKWAY // NIGHT CITY EDITION
   True cyberpunk.net aesthetic — pure black, neon yellow, grain
   ═══════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,600;0,700;0,800;0,900;1,700&family=Share+Tech+Mono&display=swap');

:root {
  --y:    #FF1A1A;
  --yg:   rgba(255,26,26,.6);
  --yd:   rgba(255,26,26,.08);
  --r:    #FF1A1A;
  --rg:   rgba(255,26,26,.6);
  --o:    #3DDBFF;
  --bg:   #000000;
  --bg1:  #080600;
  --bg2:  #0a0800;
  --text: #ffffff;
  --dim:  rgba(255,255,255,.55);
  --mute: rgba(255,255,255,.28);
  --mono: 'Share Tech Mono', 'Courier New', monospace;
  --sans: 'Barlow Condensed', 'Oswald', sans-serif;
  --ease: cubic-bezier(.25,1,.5,1);
  --ease2:cubic-bezier(.16,1,.3,1);
}

*,::before,::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:#000; overscroll-behavior:none }
body {
  background:#000;
  color:#fff;
  font-family: var(--sans);
  overflow-x:hidden;
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;
}
img { max-width:100%; -webkit-user-drag:none; user-select:none }
::selection { background:var(--y); color:#000 }
* { -webkit-tap-highlight-color:transparent }

/* ── HEAVY GRAIN — the most important cyberpunk.net element ──── */
body::after {
  content:'';
  position:fixed;
  inset:-100px;
  width:calc(100% + 200px);
  height:calc(100% + 200px);
  z-index:9999;
  pointer-events:none;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  background-size:200px 200px;
  animation:grainAnim .08s steps(1) infinite;
}
@keyframes grainAnim {
  0%   { transform:translate(0,0) }
  10%  { transform:translate(-2%,-3%) }
  20%  { transform:translate(3%,1%) }
  30%  { transform:translate(-1%,4%) }
  40%  { transform:translate(4%,-2%) }
  50%  { transform:translate(-3%,3%) }
  60%  { transform:translate(2%,-4%) }
  70%  { transform:translate(-4%,1%) }
  80%  { transform:translate(3%,2%) }
  90%  { transform:translate(-2%,-1%) }
  100% { transform:translate(1%,3%) }
}

/* ── SCANLINES ─────────────────────────────────────────────────── */
body::before {
  content:'';
  position:fixed;
  inset:0;
  z-index:9998;
  pointer-events:none;
  background:repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(0,0,0,.22) 2px,
    rgba(0,0,0,.22) 4px
  );
  opacity:.6;
}

/* ── SCROLL PROGRESS ───────────────────────────────────────────── */
.scroll-progress {
  position:fixed; top:0; left:0;
  width:0%; height:4px;
  z-index:10020; pointer-events:none;
  background:linear-gradient(90deg,var(--y),var(--o) 50%,var(--r));
  box-shadow:0 0 20px var(--yg),0 0 40px rgba(255,26,26,.25);
  transition:width .1s linear;
}

/* ── AMBIENT GLOWS ─────────────────────────────────────────────── */
.ambient-glow {
  position:fixed; top:-30%; left:-20%;
  width:80vw; height:80vw;
  background:radial-gradient(circle,rgba(255,26,26,.04) 0,transparent 55%);
  border-radius:50%; z-index:-1; pointer-events:none;
  animation:glowPulse 10s ease-in-out infinite alternate;
}
.ambient-glow-2 {
  position:fixed; bottom:-30%; right:-15%;
  width:90vw; height:90vw;
  background:radial-gradient(circle,rgba(255,26,26,.06) 0,transparent 50%);
  border-radius:50%; z-index:-1; pointer-events:none;
  animation:glowPulse 14s ease-in-out infinite alternate-reverse;
}
@keyframes glowPulse { 0%{opacity:.4;transform:scale(.85)} 100%{opacity:1;transform:scale(1.15)} }

/* ── UTILITIES ─────────────────────────────────────────────────── */
.fade-up { opacity:0; transform:translateY(40px); transition:opacity .8s var(--ease),transform .8s var(--ease) }
.fade-up.visible { opacity:1; transform:none }
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@keyframes blink { 0%,100%{opacity:1}50%{opacity:0} }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none} }
@keyframes pulse  { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)} }
@keyframes slideIn{ from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1} }
.stagger-in { opacity:0; animation:fadeUp .6s var(--ease) forwards }

/* ════════════════════════════════════════════════════════════════════
   NAVIGATION
   ════════════════════════════════════════════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:999;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 60px; padding-top:env(safe-area-inset-top);
  min-height:calc(68px + env(safe-area-inset-top));
  background:rgba(0,0,0,.88);
  border-bottom:2px solid var(--y);
  box-shadow:0 4px 40px rgba(255,26,26,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:all .35s var(--ease);
}
nav.nav-scrolled {
  background:rgba(0,0,0,.97);
  box-shadow:0 4px 40px rgba(255,26,26,.15);
}

/* Logo */
.logo {
  font-family:var(--sans); font-size:32px; font-weight:900;
  letter-spacing:3px; text-transform:uppercase; cursor:pointer;
  color:#fff; position:relative; transition:all .25s;
}
.logo span { color:var(--y); text-shadow:0 0 20px var(--yg) }
.logo::after {
  content:''; position:absolute; left:0; bottom:-14px; right:0;
  height:2px; background:linear-gradient(90deg,var(--y),transparent);
  box-shadow:0 0 10px var(--yg); opacity:0;
  transition:opacity .3s;
}
.logo:hover::after { opacity:1 }

/* Nav links */
.nav-links { display:flex; align-items:center; gap:24px }
.nav-links a {
  color:rgba(255,255,255,.6); text-decoration:none;
  font-size:12px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase;
  transition:all .25s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-5px; left:0;
  width:0; height:2px; background:var(--y);
  box-shadow:0 0 8px var(--yg); transition:width .25s;
}
.nav-links a:hover { color:var(--y) }
.nav-links a:hover::after { width:100% }

/* Dropdown */
.nav-dropdown { position:relative }
.nav-dropdown-label {
  color:rgba(255,255,255,.6); font-size:12px; font-weight:700;
  letter-spacing:3.5px; text-transform:uppercase; cursor:pointer;
  transition:all .25s; display:flex; align-items:center; gap:6px; user-select:none;
}
.nav-dropdown-label .arrow { font-size:9px; transition:transform .25s; opacity:.5 }
.nav-dropdown:hover .nav-dropdown-label { color:var(--y) }
.nav-dropdown:hover .arrow { transform:rotate(180deg); opacity:1; color:var(--y) }
.dropdown-menu {
  display:none; position:absolute; top:calc(100% + 16px); left:50%;
  transform:translateX(-50%);
  background:#000; border:2px solid var(--y);
  padding:8px; min-width:240px; z-index:1100;
  flex-direction:column; gap:2px;
  box-shadow:0 20px 50px rgba(0,0,0,.9),0 0 30px rgba(255,26,26,.1);
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
/* Invisible bridge: keeps .nav-dropdown:hover true while mouse
   travels from the label, through the nav bar bottom, to the panel */
.nav-dropdown::after {
  content:''; position:absolute;
  top:100%; left:-12px; right:-12px; height:60px;
}
.dropdown-menu::before { content:''; position:absolute; top:-16px; left:0; width:100%; height:16px }
.nav-dropdown:hover .dropdown-menu { display:flex; animation:fadeUp .2s var(--ease) forwards }
.dropdown-menu a {
  font-size:11px; font-weight:700; letter-spacing:3px; padding:11px 16px;
  color:rgba(255,255,255,.55); text-decoration:none; text-transform:uppercase;
  transition:all .2s; display:block;
}
.dropdown-menu a::after { display:none!important }
.dropdown-menu a:hover { color:var(--y); background:rgba(255,26,26,.05); padding-left:22px }
.dropdown-divider { height:1px; background:rgba(255,26,26,.15); margin:5px 0 }

/* Lang switch */
.lang-switch {
  display:flex; border:1px solid rgba(255,26,26,.4);
  overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
}
.lang-switch:hover { border-color:var(--y) }
.lang-switch button {
  background:transparent; color:rgba(255,255,255,.45); border:none;
  padding:9px 18px; cursor:pointer;
  font-family:var(--sans); font-size:13px; font-weight:800; letter-spacing:3px;
  transition:all .2s;
}
.lang-switch button.active { background:var(--y); color:#000; font-weight:900 }

/* Mobile nav right */
.nav-right-mobile { display:none; align-items:center; gap:12px }
.lang-switch-nav {
  overflow:hidden; border:1px solid rgba(255,26,26,.35);
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
}
.lang-switch-nav button {
  background:transparent; color:rgba(255,255,255,.45); border:none;
  padding:7px 13px; font-family:var(--sans); font-size:12px;
  font-weight:800; letter-spacing:2px; cursor:pointer; transition:all .2s;
}
.lang-switch-nav button.active { background:var(--y); color:#000 }

/* Hamburger */
.hamburger-wrap { display:flex }
.hamburger {
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  background:transparent; border:2px solid rgba(255,26,26,.35);
  cursor:pointer; padding:8px 10px; min-width:44px; min-height:44px; align-items:center;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:all .25s;
}
.hamburger span { display:block; width:26px; height:2px; background:#fff; transition:all .3s }
.hamburger.open { border-color:var(--y) }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:var(--y) }
.hamburger.open span:nth-child(2) { opacity:0 }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:var(--y) }

/* Mobile menu */
.mobile-menu {
  display:flex; position:fixed; inset:0; z-index:1000;
  flex-direction:column; align-items:center; justify-content:center;
  padding:calc(68px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));
  visibility:hidden; opacity:0; pointer-events:none;
  transition:opacity .3s,visibility .3s;
  background:#000; overflow:hidden; overscroll-behavior:none;
}
.mobile-menu::before {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,26,26,.03) 3px,rgba(255,26,26,.03) 4px);
}
.mobile-menu::after {
  content:''; position:fixed;
  left:50%; top:calc(68px + env(safe-area-inset-top));
  width:min(80vw,340px); height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--y),var(--r),transparent);
  box-shadow:0 0 20px var(--yg);
}
.mobile-menu.open { visibility:visible; opacity:1; pointer-events:auto }
.mobile-menu-panel {
  position:relative; z-index:1; width:min(90vw,480px);
  max-height:calc(100dvh - 110px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y:auto; scrollbar-width:none;
  display:flex; flex-direction:column; align-items:center;
  gap:clamp(8px,2vh,16px); padding:24px 20px;
  border:2px solid var(--y);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  background:#000; box-shadow:0 0 60px rgba(255,26,26,.12),inset 0 0 40px rgba(255,26,26,.03);
}
.mobile-menu-panel::-webkit-scrollbar { display:none }
.mobile-menu-close {
  align-self:flex-end; display:inline-flex; align-items:center; gap:8px;
  min-height:36px; padding:7px 13px;
  border:1px solid rgba(255,26,26,.3); background:transparent; color:#fff;
  font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:3px;
  cursor:pointer; transition:all .2s;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
}
.mobile-menu-close:active { border-color:var(--y); color:var(--y) }
.mobile-menu-close-icon { position:relative; width:14px; height:14px; display:inline-block }
.mobile-menu-close-icon::before,.mobile-menu-close-icon::after {
  content:''; position:absolute; left:50%; top:50%;
  width:16px; height:2px; background:var(--y); box-shadow:0 0 8px var(--yg);
}
.mobile-menu-close-icon::before { transform:translate(-50%,-50%) rotate(45deg) }
.mobile-menu-close-icon::after  { transform:translate(-50%,-50%) rotate(-45deg) }
.mobile-menu a {
  color:rgba(255,255,255,.8); text-decoration:none;
  font-size:clamp(22px,6vw,30px); font-weight:900; letter-spacing:5px; text-transform:uppercase;
  transition:all .25s; text-align:center; padding:6px 14px; min-height:36px;
  display:flex; align-items:center; justify-content:center;
}
.mobile-menu a:hover { color:var(--y); text-shadow:0 0 20px var(--yg) }
.mobile-menu-divider {
  width:60px; height:2px;
  background:linear-gradient(90deg,transparent,var(--y),var(--r),transparent);
  box-shadow:0 0 10px rgba(255,26,26,.4);
}

/* ════════════════════════════════════════════════════════════════════
   HERO — FULL IMMERSION
   ════════════════════════════════════════════════════════════════════ */
.hero {
  min-height:100dvh;
  display:flex; flex-direction:column;
  position:relative; overflow:hidden;
  background:#000;
}

/* Background red mist — the cyberpunk.net signature */
.hero::before {
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 65% 45%, rgba(200,20,0,.55) 0%, rgba(120,10,0,.25) 30%, transparent 65%),
    radial-gradient(ellipse at 20% 80%, rgba(255,26,26,.04) 0%, transparent 45%);
}

/* Horizontal scan line sweep */
.hero::after {
  content:''; position:absolute;
  left:0; right:0; height:3px; z-index:3; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,26,26,.7) 40%,rgba(255,255,255,.9) 50%,rgba(255,26,26,.7) 60%,transparent);
  box-shadow:0 0 20px var(--yg),0 0 50px rgba(255,26,26,.2);
  animation:heroScan 7s ease-in-out infinite 2s;
}
@keyframes heroScan {
  0%   { top:-5%; opacity:0 }
  5%   { opacity:1 }
  90%  { opacity:.8 }
  100% { top:105%; opacity:0 }
}

.hero-left {
  position:relative; z-index:4;
  width:52%; padding:calc(68px + env(safe-area-inset-top) + 60px) 0 80px 80px;
  display:flex; flex-direction:column; justify-content:center; flex:1;
}
/* Vertical yellow stripe */
.hero-left::before {
  content:''; position:absolute; left:0; top:20%; bottom:20%;
  width:4px;
  background:linear-gradient(180deg,transparent,var(--y) 15%,var(--o) 65%,transparent);
  box-shadow:0 0 28px var(--yg),0 0 60px rgba(255,26,26,.1);
}
/* System status line */
.hero-left::after { display:none }

.hero-tag {
  display:inline-flex; align-items:center; gap:10px; margin-bottom:28px;
  padding:8px 18px; border:1px solid rgba(255,26,26,.5);
  color:var(--y); letter-spacing:5px; font-size:10px; font-weight:800;
  text-transform:uppercase; width:fit-content;
  background:rgba(255,26,26,.04);
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.hero-tag::before {
  content:''; width:7px; height:7px; background:var(--y); border-radius:50%;
  box-shadow:0 0 10px var(--yg); animation:blink 1.5s steps(1) infinite; flex-shrink:0;
}

/* MASSIVE HEADLINE */
.hero-title {
  font-family:var(--sans);
  font-size:clamp(90px,11vw,175px);
  line-height:.85; font-weight:900;
  text-transform:uppercase; letter-spacing:-4px;
  margin-bottom:32px;
  background:linear-gradient(160deg,#fff 0%,#f5edcc 30%,var(--y) 58%,var(--o) 82%,var(--r) 110%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 60px rgba(255,26,26,.12));
  animation:titleGlitch 15s ease-in-out infinite;
}
@keyframes titleGlitch {
  0%,91%,100% { clip-path:none; transform:none }
  92% { clip-path:inset(44% 0 50% 0); transform:translateX(-5px) skewX(-3deg) }
  93% { clip-path:none; transform:none }
  94% { clip-path:inset(5% 0 82% 0); transform:translateX(5px) }
  95% { clip-path:none }
  96% { clip-path:inset(70% 0 10% 0); transform:translateX(-3px) }
  97% { clip-path:none; transform:none }
}

.hero-desc {
  font-size:clamp(16px,1.5vw,22px); line-height:1.65;
  color:rgba(255,255,255,.5); max-width:540px;
  margin-bottom:44px; font-weight:300; letter-spacing:.3px;
}

.hero-buttons { display:flex; gap:16px }

/* BIKE — right side */
.hero-right {
  position:absolute; right:0; top:0; bottom:0; width:56%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  z-index:2;
}
/* Targeting brackets */
.hero-right::before {
  content:''; position:absolute; inset:10% 8%;
  z-index:5; pointer-events:none;
  background:
    linear-gradient(90deg,var(--y),transparent 18%) left top /90px 2px no-repeat,
    linear-gradient(90deg,transparent 82%,var(--y)) right top /90px 2px no-repeat,
    linear-gradient(180deg,var(--y),transparent 18%) left top /2px 90px no-repeat,
    linear-gradient(180deg,transparent 82%,var(--y)) left bottom /2px 90px no-repeat,
    linear-gradient(90deg,var(--r),transparent 18%) right bottom /90px 2px no-repeat,
    linear-gradient(90deg,transparent 82%,var(--r)) left bottom /90px 2px no-repeat,
    linear-gradient(180deg,transparent 82%,var(--r)) right top /2px 90px no-repeat,
    linear-gradient(180deg,var(--r),transparent 18%) right bottom /2px 90px no-repeat;
  animation:scopePulse 4s ease-in-out infinite;
  opacity:.8;
}
@keyframes scopePulse { 0%,100%{opacity:.5;transform:scale(.98)} 50%{opacity:1;transform:scale(1)} }
/* Bottom grid floor */
.hero-right::after {
  content:''; position:absolute; bottom:0; left:50%;
  width:130%; aspect-ratio:2/1;
  transform:translateX(-50%) perspective(600px) rotateX(60deg);
  transform-origin:bottom center;
  background:
    repeating-linear-gradient(90deg,rgba(255,26,26,.2) 0 1px,transparent 1px 50px),
    repeating-linear-gradient(0deg,rgba(255,26,26,.12) 0 1px,transparent 1px 50px);
  border-top:1px solid rgba(255,26,26,.3);
  box-shadow:0 0 60px rgba(255,26,26,.12);
  opacity:.55; pointer-events:none; z-index:1;
}

.slider {
  position:relative; width:100%; height:100%;
  z-index:2;
}
.slide { position:absolute; inset:0; opacity:0; transition:opacity 1.4s var(--ease) }
.slide.active { opacity:1 }
.slide img {
  width:100%; height:100%; object-fit:contain; object-position:center 55%;
  padding:calc(68px + env(safe-area-inset-top)) 0 60px;
  filter:brightness(1.2) contrast(1.1) saturate(1.1)
         drop-shadow(0 30px 60px rgba(0,0,0,.95))
         drop-shadow(0 0 40px rgba(255,26,26,.1));
  animation:floatBike 8s ease-in-out infinite;
  -webkit-mask-image:radial-gradient(ellipse at 55% 45%,#000 50%,transparent 80%);
  mask-image:radial-gradient(ellipse at 55% 45%,#000 50%,transparent 80%);
}
@keyframes floatBike { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }

/* HUD telemetry chips */
.hero-telemetry {
  position:absolute; right:4%; bottom:12%;
  z-index:6; display:grid; grid-template-columns:repeat(2,auto); gap:6px;
  pointer-events:none;
}
.hero-chip {
  padding:8px 14px; min-width:110px;
  border:1px solid rgba(255,26,26,.2);
  background:rgba(0,0,0,.6);
  color:rgba(255,255,255,.7); font-size:9px;
  font-family:var(--mono); letter-spacing:2px; text-transform:uppercase;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
  backdrop-filter:blur(6px);
}
.hero-chip strong { color:var(--y); font-weight:700; display:block; font-size:15px; margin-bottom:2px }

/* Stats row */
.hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; max-width:480px; margin-bottom:28px }
.hero-stat {
  border:1px solid rgba(255,26,26,.15); background:rgba(255,26,26,.03);
  padding:12px; text-align:center;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.hero-stat strong { display:block; font-size:24px; font-weight:900; color:#fff }
.hero-stat span   { display:block; margin-top:4px; color:var(--y); font-size:9px; letter-spacing:2.5px; font-family:var(--mono) }

/* HUD system text bottom left */
.hero-system-text {
  position:absolute; left:80px; bottom:28px; z-index:5;
  font-family:var(--mono); font-size:9px; letter-spacing:4px;
  color:rgba(255,26,26,.35); text-transform:uppercase;
  display:flex; gap:20px;
}
.hero-system-text span::before { content:'// ' }

/* ════════════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════════════ */
.btn {
  padding:16px 40px; border:none;
  font-family:var(--sans); font-size:13px; font-weight:800;
  letter-spacing:4px; cursor:pointer; transition:all .3s var(--ease);
  text-transform:uppercase; text-decoration:none; display:inline-block;
  position:relative; overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}
.btn::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition:.4s;
}
.btn:hover::before { left:100% }
.btn-red {
  background:linear-gradient(135deg,var(--y),var(--o) 50%,var(--r));
  color:#000; font-weight:900;
  border:2px solid transparent;
  box-shadow:0 0 30px rgba(255,26,26,.2),inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-red:hover {
  box-shadow:0 0 50px rgba(255,26,26,.5),0 0 100px rgba(255,26,26,.1);
  transform:translateY(-3px) scale(1.02);
}
.btn-dark {
  background:transparent; border:2px solid rgba(255,26,26,.4); color:#fff;
}
.btn-dark:hover { border-color:var(--y); color:var(--y); box-shadow:0 0 20px rgba(255,26,26,.15); transform:translateY(-2px) }

/* ════════════════════════════════════════════════════════════════════
   SECTION SYSTEM — cyberpunk.net style
   ════════════════════════════════════════════════════════════════════ */
.section { padding:120px 80px; position:relative; z-index:2; background:#000 }
.about-section,.contact-section,.reviews-section { padding:120px 80px; position:relative; z-index:2 }
.atelier-section { position:relative; z-index:2; padding:120px 80px; background:#000; overflow:hidden }

/* The "///" prefix — the signature cyberpunk.net move */
.section-tag {
  font-family:var(--mono); color:var(--y); letter-spacing:4px;
  font-size:11px; font-weight:400; text-transform:uppercase;
  margin-bottom:16px; display:flex; align-items:center; gap:12px;
  text-shadow:0 0 10px var(--yg);
}
.section-tag::before {
  content:'///'; font-family:var(--mono); color:var(--y);
  font-size:13px; letter-spacing:2px; font-weight:400;
  text-shadow:0 0 14px var(--yg);
  animation:tagGlow 3s ease-in-out infinite;
}
@keyframes tagGlow { 0%,100%{text-shadow:0 0 14px var(--yg)} 50%{text-shadow:0 0 28px var(--yg),0 0 50px rgba(255,26,26,.3)} }

/* Big section titles */
.section-title {
  font-family:var(--sans);
  font-size:clamp(56px,7.5vw,112px);
  line-height:.88; font-weight:900; text-transform:uppercase;
  letter-spacing:-2px; margin-bottom:64px; color:#fff;
  text-shadow:0 4px 30px rgba(0,0,0,.9);
}
/* Yellow first word effect — first word becomes yellow */
.section-title em {
  font-style:normal; color:var(--y);
  text-shadow:0 0 40px rgba(255,26,26,.3);
}

/* Yellow horizontal divider between sections */
.section+.section::before,
.atelier-section + .section::before,
.about-section::before,
.reviews-section::before,
.contact-section::before {
  content:''; display:block; position:absolute; top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--y) 25%,var(--r) 75%,transparent);
  box-shadow:0 0 20px rgba(255,26,26,.18);
  pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════════
   ATELIER SECTION
   ════════════════════════════════════════════════════════════════════ */
.atelier-shell { position:relative; max-width:1480px; margin:0 auto }
.atelier-kicker { font-family:var(--mono); color:rgba(255,26,26,.5); font-size:10px; letter-spacing:6px; text-transform:uppercase; margin-bottom:12px }
.atelier-title {
  font-family:var(--sans); color:#fff; max-width:1000px;
  font-size:clamp(50px,8vw,130px); line-height:.87; letter-spacing:-3px;
  text-transform:uppercase; font-weight:900; margin-bottom:24px;
}
.atelier-lead { max-width:680px; color:var(--dim); font-size:clamp(16px,1.7vw,22px); line-height:1.65; font-weight:300; margin-bottom:56px; letter-spacing:.2px }
.atelier-gallery { display:grid; grid-template-columns:1.2fr .8fr; gap:2px; min-height:620px }
.atelier-visual { position:relative; overflow:hidden; min-height:620px; background:#050400 }
.atelier-visual img { width:100%; height:100%; object-fit:cover; display:block; filter:contrast(1.05) brightness(.78) saturate(.85); transform:scale(1.03); transition:transform 1.2s var(--ease) }
.atelier-visual:hover img { transform:scale(1) }
.atelier-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.85)); pointer-events:none }
.atelier-caption { position:absolute; left:28px; right:28px; bottom:28px; z-index:2; display:flex; justify-content:space-between; align-items:flex-end; gap:12px }
.atelier-caption strong { font-family:var(--sans); font-size:clamp(28px,4vw,56px); font-weight:900; line-height:1; text-transform:uppercase; color:var(--y); text-shadow:0 0 30px rgba(255,26,26,.3) }
.atelier-caption span { color:rgba(255,255,255,.4); font-size:11px; font-family:var(--mono); letter-spacing:3px }
.atelier-actions { display:grid; gap:2px }
.atelier-action {
  min-height:200px; padding:32px 36px;
  display:flex; flex-direction:column; justify-content:space-between;
  border:none; border-left:3px solid rgba(255,26,26,.12);
  background:rgba(255,26,26,.02); color:#fff; text-decoration:none;
  transition:all .35s var(--ease); cursor:pointer; position:relative; overflow:hidden;
}
.atelier-action::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,var(--y),var(--o));
  box-shadow:0 0 20px var(--yg); transform:scaleY(0); transform-origin:top; transition:transform .35s var(--ease);
}
.atelier-action:hover { background:rgba(255,26,26,.04); transform:translateX(6px) }
.atelier-action:hover::before { transform:scaleY(1) }
.atelier-action small { font-family:var(--mono); color:var(--y); font-size:9px; letter-spacing:5px; text-transform:uppercase }
.atelier-action h3 { font-family:var(--sans); font-size:clamp(24px,2.8vw,40px); font-weight:900; line-height:.96; text-transform:uppercase }
.atelier-action p { color:var(--dim); font-size:15px; line-height:1.5; font-weight:300; max-width:380px }
.atelier-action .arrow { color:var(--y); font-size:28px; font-weight:900 }

/* ════════════════════════════════════════════════════════════════════
   FEATURES
   ════════════════════════════════════════════════════════════════════ */
.features-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px }
.feature {
  background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.1);
  padding:52px 48px; transition:all .35s; position:relative; overflow:hidden;
}
.feature::before {
  content:''; position:absolute; top:-2px; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--y),var(--o));
  box-shadow:0 0 14px var(--yg); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.feature:hover::before { transform:scaleX(1) }
.feature:hover { background:rgba(255,26,26,.04) }
.feature h3 { font-family:var(--sans); font-size:clamp(22px,2.2vw,34px); font-weight:900; margin-bottom:16px; color:#fff; display:flex; align-items:center; gap:14px; text-transform:uppercase }
.feature p { font-size:17px; color:var(--dim); line-height:1.75; font-weight:300 }

/* ════════════════════════════════════════════════════════════════════
   BIKES
   ════════════════════════════════════════════════════════════════════ */
.bikes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px }
.bike-card {
  background:#050400; border:none; border-top:2px solid rgba(255,26,26,.08);
  overflow:hidden; transition:all .4s var(--ease); position:relative;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
}
.bike-card::before {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(120deg,transparent 0 42%,rgba(255,26,26,.05) 50%,transparent 58% 100%);
  transform:translateX(-120%); transition:transform .8s var(--ease);
}
.bike-card:hover::before { transform:translateX(120%) }
.bike-card::after {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:10;
  border:2px solid transparent; transition:all .35s;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
}
.bike-card:hover::after { border-color:rgba(255,26,26,.4); box-shadow:inset 0 0 40px rgba(255,26,26,.04) }
.bike-card:hover { box-shadow:0 0 0 1px rgba(255,26,26,.25),0 30px 60px rgba(0,0,0,.8) }
.bike-card img { width:100%; height:480px; object-fit:cover; display:block; background:#050400; transition:transform .8s var(--ease) }
.bike-card.ultra-card img { object-position:center 20% }
.bike-card:hover img { transform:scale(1.06) }
.bike-content {
  padding:36px 40px; position:relative; z-index:2;
  background:linear-gradient(0deg,#000 0,rgba(0,0,0,.9) 72%,transparent 100%);
  margin-top:-80px;
}
.bike-content h3 { font-family:var(--sans); font-size:clamp(34px,3.5vw,54px); font-weight:900; letter-spacing:-1px; margin-bottom:12px; color:#fff; text-transform:uppercase }
.bike-content p { color:var(--dim); font-size:15px; line-height:1.7; margin-bottom:24px; font-weight:300 }
.stats { display:flex; gap:2px; margin-bottom:24px }
.stat { flex:1; background:rgba(255,26,26,.04); padding:16px 12px; text-align:center; border:none; border-top:1px solid rgba(255,26,26,.15); transition:all .3s }
.bike-card:hover .stat { border-top-color:rgba(255,26,26,.35); background:rgba(255,26,26,.06) }
.stat h4 { font-family:var(--sans); font-size:28px; font-weight:900; color:#fff }
.stat span { color:var(--y); letter-spacing:2px; font-size:9px; font-family:var(--mono); margin-top:4px; display:block }
.price-row { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap }
.price { color:#fff; font-family:var(--sans); font-size:44px; font-weight:900; display:flex; align-items:baseline; gap:10px; line-height:1 }
.price span { font-size:16px; color:var(--y); letter-spacing:2px; font-family:var(--mono) }
.rental-options { display:flex; flex-direction:column; gap:7px }
.rental-price { display:flex; align-items:baseline; gap:10px; color:#fff; font-family:var(--sans); font-size:36px; font-weight:900; line-height:1 }
.rental-price span { color:var(--y); font-size:12px; letter-spacing:2.5px; font-family:var(--mono) }
.rental-price.short { font-size:28px; color:rgba(255,255,255,.75) }
.rental-price.weekend { font-size:25px }
.rental-price .rental-save { color:var(--y); font-size:12px; letter-spacing:1.5px }
.rental-note { margin-top:2px; color:rgba(255,255,255,.3); font-size:10px; letter-spacing:2.5px; font-family:var(--mono); text-transform:uppercase }

/* Book button */
.book-btn {
  padding:14px 28px; background:transparent;
  border:2px solid rgba(255,26,26,.5); color:var(--y);
  font-family:var(--sans); font-size:12px; font-weight:800; letter-spacing:4px;
  text-decoration:none; text-transform:uppercase; cursor:pointer;
  transition:all .3s; display:inline-block; text-align:center;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.book-btn:hover { background:var(--y); color:#000; font-weight:900; border-color:var(--y); box-shadow:0 0 30px var(--yg) }
.buy-now-btn { border-color:rgba(255,26,26,.5); color:rgba(255,255,255,.8); background:rgba(255,26,26,.06) }
.buy-now-btn:hover { background:var(--r); color:#fff; border-color:var(--r); box-shadow:0 0 24px rgba(255,26,26,.5) }

/* ════════════════════════════════════════════════════════════════════
   ICONS
   ════════════════════════════════════════════════════════════════════ */
.contact-channel-icon,.feature-icon,.inline-icon {
  --icon-gradient:linear-gradient(135deg,#FF1A1A 0%,#3DDBFF 52%,#FF1A1A 100%);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; color:#fff;
}
.contact-channel-icon,.feature-icon {
  width:50px; height:50px;
  border:1px solid rgba(255,26,26,.2);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
  background:linear-gradient(145deg,rgba(255,26,26,.1),rgba(61,219,255,.06) 54%,rgba(6,5,2,.97));
  box-shadow:0 0 20px rgba(255,26,26,.08);
}
.contact-channel-icon::after,.feature-icon::after,.inline-icon::after {
  content:''; width:55%; height:55%;
  background:var(--icon-gradient);
  -webkit-mask:var(--icon-url) center/contain no-repeat;
  mask:var(--icon-url) center/contain no-repeat;
  filter:drop-shadow(0 0 6px rgba(255,26,26,.4));
}
.inline-icon { width:18px; height:18px; margin-right:8px; vertical-align:-3px }
.inline-icon::after { width:100%; height:100%; background:currentColor; filter:none }
.icon-charge{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2 4 14h6l-1 8 10-13h-6l1-7Z'/%3E%3C/svg%3E")}
.icon-wrench{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 6.5a6 6 0 0 1-7.7 7.3L7 21.1a2.4 2.4 0 0 1-3.4-3.4l7.3-7.3A6 6 0 0 1 18.2 2l-3.7 3.7 3.8 3.8L22 6.5Z'/%3E%3C/svg%3E")}
.icon-bike{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 16.5a3.5 3.5 0 1 0 0 .1Zm13 0a3.5 3.5 0 1 0 0 .1ZM6 14h3.2l2.2-3.2-1.2-2.4H7V6h4.6l1.5 3h2.8l1-2h-2.1V5h4.7v2l-2 4 2.3 3H18l-2.1-2.8h-2.8L10.8 15H9.2A4.9 4.9 0 0 0 6 14Zm7.9-3 1.4 1.9L16.2 11h-2.3Z'/%3E%3C/svg%3E")}
.icon-pin{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8c0 5.4 8 12 8 12s8-6.6 8-12a8 8 0 0 0-8-8Zm0 11.2A3.2 3.2 0 1 1 12 6.8a3.2 3.2 0 0 1 0 6.4Z'/%3E%3C/svg%3E")}
.icon-chat{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 4h16v11H8.8L4 20V4Zm4 5v2h8V9H8Zm0 4h5v-2H8v2Z'/%3E%3C/svg%3E")}
.icon-instagram{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2h8a6 6 0 0 1 6 6v8a6 6 0 0 1-6 6H8a6 6 0 0 1-6-6V8a6 6 0 0 1 6-6Zm4 5.2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Zm6-1.1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4ZM12 9.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z'/%3E%3C/svg%3E")}
.icon-mail{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18v14H3V5Zm2.2 2 6.8 5.2L18.8 7H5.2ZM5 17h14V9.5l-7 5.3-7-5.3V17Z'/%3E%3C/svg%3E")}
.icon-horse{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 19v-6l-2-2 1.6-4.6L8 4h7l5 4v4l-2 2v5h-3v-5h-4v5H8v-6l-2-2-.8 2V19H5Zm5-10h5l1.8 1.5V9L14 7H9.2L7.6 8.2 8 10l2-1Zm7-1.8a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z'/%3E%3C/svg%3E")}
.icon-money{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 9 5H6v5c0 6.5 6 12 6 12s6-5.5 6-12V5h-3l-3-3Zm1 5v1.2c1.6.2 2.8 1 2.8 2.4h-2.3c0-.5-.5-.8-1.4-.8-.8 0-1.3.3-1.3.8 0 .6.7.8 1.9 1.1 1.7.4 3.4 1 3.4 2.9 0 1.5-1.2 2.5-3.1 2.8V19h-2v-1.5c-1.9-.3-3.1-1.4-3.2-3h2.3c.1.7.7 1.1 1.7 1.1 1 0 1.6-.3 1.6-.9 0-.7-.8-.9-2-1.2-1.7-.4-3.1-1-3.1-2.8 0-1.4 1.1-2.4 2.8-2.7V7h2Z'/%3E%3C/svg%3E")}
.icon-help{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 17h2v-2h-2v2Zm1-15a7 7 0 0 0-7 7h3a4 4 0 1 1 6.7 2.9c-1.7 1.5-2.7 2.5-2.7 5.1h3c0-1.3.4-1.8 1.7-3A7 7 0 0 0 12 2Z'/%3E%3C/svg%3E")}
.icon-info{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z'/%3E%3C/svg%3E")}
.icon-id{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18v14H3V5Zm2 2v10h14V7H5Zm2 8h5v-1.2c0-1.4-3.2-1.4-3.2-3.4A1.7 1.7 0 1 1 12.2 10c0 .7-.3 1.2-.8 1.6-.4.4-.8.6-.8 1.1V13H7v2Zm7-5h4V8h-4v2Zm0 4h4v-2h-4v2Z'/%3E%3C/svg%3E")}
.icon-helmet{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 0 0-9 9v5h7l2 2h9v-7a9 9 0 0 0-9-9Zm6 11h-6.8L9 11H6.2A6 6 0 0 1 18 12v2Z'/%3E%3C/svg%3E")}
.icon-bag{--icon-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 6a4 4 0 0 1 8 0h2l2 16H4L6 6h2Zm2 0h4a2 2 0 0 0-4 0Zm-1 5v2h6v-2H9Z'/%3E%3C/svg%3E")}

/* ════════════════════════════════════════════════════════════════════
   ABOUT / REVIEWS / CONTACT
   ════════════════════════════════════════════════════════════════════ */
.about-section,.contact-section,.reviews-section { overflow:hidden }

.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center }
.about-badge { display:inline-block; background:rgba(255,26,26,.06); border:1px solid rgba(255,26,26,.35); padding:9px 20px; color:var(--y); letter-spacing:5px; font-size:10px; font-family:var(--mono); font-weight:400; text-transform:uppercase; margin-bottom:26px; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.about-title { font-family:var(--sans); font-size:clamp(44px,5.5vw,78px); font-weight:900; line-height:.95; text-transform:uppercase; letter-spacing:-1.5px; margin-bottom:44px; color:#fff }
.about-stats-row { display:grid; grid-template-columns:repeat(3,1fr); gap:2px }
.about-stat-box { background:rgba(255,26,26,.03); border:none; border-top:2px solid rgba(255,26,26,.15); padding:32px 16px; text-align:center; transition:all .3s; position:relative; overflow:hidden }
.about-stat-box::before { content:''; position:absolute; top:-2px; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--y),var(--o)); box-shadow:0 0 12px var(--yg); transform:scaleX(0); transform-origin:left; transition:transform .35s }
.about-stat-box:hover::before { transform:scaleX(1) }
.about-stat-box h4 { font-family:var(--sans); font-size:52px; font-weight:900; color:#fff; line-height:1; margin-bottom:8px }
.about-stat-box span { color:var(--y); font-size:9px; font-family:var(--mono); letter-spacing:4px; text-transform:uppercase }
.about-letter { background:rgba(255,26,26,.02); border:1px solid rgba(255,26,26,.15); padding:52px; position:relative; overflow:hidden; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px)) }
.about-letter::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right,var(--y),var(--o),var(--r)) }
.about-letter-header { display:flex; align-items:center; gap:16px; margin-bottom:32px; border-bottom:1px solid rgba(255,26,26,.1); padding-bottom:24px }
.about-letter-logo { font-family:var(--sans); font-size:28px; font-weight:900; letter-spacing:3px; color:#fff }
.about-letter-logo span { color:var(--y) }
.about-letter-sub { color:rgba(255,255,255,.25); font-size:10px; font-family:var(--mono); letter-spacing:5px; margin-top:4px; text-transform:uppercase }
.about-letter p { font-size:18px; line-height:1.85; color:var(--dim); margin-bottom:20px; font-weight:300 }
.about-letter p:last-child { color:rgba(255,255,255,.2); font-style:italic; margin-bottom:0 }
.about-letter strong { color:#fff; font-weight:600 }

/* Reviews */
.reviews-intro { font-size:20px; color:var(--dim); max-width:680px; margin-bottom:56px; line-height:1.7; font-weight:300 }
.reviews-intro strong { color:var(--y) }
.reviews-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px }
.review-card { background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.08); padding:44px; position:relative; transition:all .35s; overflow:hidden }
.review-card::before { content:'"'; position:absolute; top:8px; right:22px; font-size:160px; color:rgba(255,26,26,.04); font-family:Georgia,serif; line-height:1; pointer-events:none; transition:all .4s }
.review-card:hover { background:rgba(255,26,26,.04) }
.review-card:hover::before { color:rgba(255,26,26,.08); transform:scale(1.05) }
.review-stars { display:flex; gap:5px; margin-bottom:18px }
.review-stars span { color:var(--y); font-size:20px }
.review-text { font-size:18px; color:var(--dim); line-height:1.8; margin-bottom:28px; font-weight:300; position:relative; z-index:1 }
.review-author { display:flex; align-items:center; gap:16px }
.review-avatar { width:48px; height:48px; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)); background:linear-gradient(135deg,#1a1400,#3a2800); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:900; flex-shrink:0; border:1px solid rgba(255,26,26,.4); color:var(--y) }
.review-name { font-family:var(--sans); font-size:20px; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:1px }
.review-meta { color:var(--y); font-size:9px; font-family:var(--mono); letter-spacing:3px; margin-top:2px; text-transform:uppercase }

/* Contact */
.contact-intro { font-size:20px; color:var(--dim); max-width:660px; margin-bottom:56px; line-height:1.7; font-weight:300 }
.contact-intro strong { color:#fff; font-weight:600 }
.contact-big-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px }
.contact-channel { background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.08); padding:44px; transition:all .35s; display:flex; flex-direction:column; gap:14px; position:relative }
.contact-channel::before { content:''; position:absolute; top:-2px; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--y),var(--o)); transform:scaleX(0); transform-origin:left; transition:transform .35s }
.contact-channel:hover::before { transform:scaleX(1) }
.contact-channel:hover { background:rgba(255,26,26,.04) }
.contact-channel h3 { font-family:var(--sans); font-size:36px; font-weight:900; color:#fff; text-transform:uppercase }
.contact-channel p { color:var(--dim); font-size:16px; line-height:1.65; flex:1; font-weight:300 }
.contact-channel a.channel-btn { display:inline-flex; align-items:center; justify-content:center; padding:16px 32px; background:linear-gradient(135deg,var(--y),var(--o)); color:#000; text-decoration:none; font-family:var(--sans); font-size:13px; font-weight:900; letter-spacing:3px; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); transition:all .3s; margin-top:6px; box-shadow:0 0 20px rgba(255,26,26,.15) }
.contact-channel a.channel-btn:hover { box-shadow:0 0 40px rgba(255,26,26,.4); transform:translateY(-2px) }
.contact-channel a.channel-btn.dark { background:transparent; border:2px solid rgba(255,26,26,.25); color:rgba(255,255,255,.7); box-shadow:none }
.contact-channel a.channel-btn.dark:hover { border-color:var(--y); color:var(--y); box-shadow:0 0 16px rgba(255,26,26,.12) }
.contact-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px }
.contact-tags span { padding:7px 18px; border:1px solid rgba(255,26,26,.25); color:var(--y); font-size:10px; font-family:var(--mono); letter-spacing:3px; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)); background:rgba(255,26,26,.03) }

/* Events */
.events-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:48px }
.event-card { background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.08); overflow:hidden; transition:all .35s }
.event-card:hover { background:rgba(255,26,26,.04) }
.event-card-top { padding:32px; border-bottom:1px solid rgba(255,26,26,.06); display:flex; align-items:center; gap:20px }
.event-date-box { background:linear-gradient(135deg,var(--r),#7a0000); padding:12px 16px; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); text-align:center; min-width:76px; flex-shrink:0; box-shadow:0 8px 20px rgba(255,26,26,.4),0 0 14px rgba(255,26,26,.1); border:1px solid rgba(255,26,26,.25) }
.event-date-box .day { font-family:var(--sans); font-size:38px; font-weight:900; line-height:1; color:#fff }
.event-date-box .month { font-size:12px; font-family:var(--mono); letter-spacing:3px; color:rgba(255,255,255,.85); margin-top:2px }
.event-title { font-family:var(--sans); font-size:26px; font-weight:900; line-height:1.2; color:#fff; text-transform:uppercase }
.event-subtitle { color:var(--y); font-size:9px; font-family:var(--mono); letter-spacing:3px; margin-top:6px; text-transform:uppercase }
.event-body { padding:32px }
.event-body p { color:var(--dim); font-size:16px; line-height:1.7; font-weight:300 }
.event-soon { display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:10px 22px; border:1px solid rgba(255,26,26,.25); color:#fff; font-size:11px; font-family:var(--mono); letter-spacing:3px; background:rgba(255,26,26,.04); clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)); transition:all .3s; text-transform:uppercase }
.event-card:hover .event-soon { background:var(--y); border-color:var(--y); color:#000; font-weight:700; box-shadow:0 4px 16px rgba(255,26,26,.3) }
.event-soon::before { content:''; width:7px; height:7px; background:#fff; border-radius:50%; animation:pulse 1.5s infinite; flex-shrink:0 }
.event-register-form { margin-top:20px; display:grid; gap:8px }
.event-register-form input,.event-register-form textarea { width:100%; background:rgba(255,26,26,.03); border:1px solid rgba(255,26,26,.15); color:#fff; font-family:var(--sans); font-size:14px; letter-spacing:1px; padding:12px 14px; outline:0; transition:border-color .25s; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.event-register-form textarea { min-height:75px; resize:vertical; line-height:1.5 }
.event-register-form input:focus,.event-register-form textarea:focus { border-color:rgba(255,26,26,.45) }
.event-register-btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 22px; border:1px solid rgba(255,26,26,.35); background:rgba(255,26,26,.06); color:var(--y); font-family:var(--sans); font-size:12px; font-weight:800; letter-spacing:3.5px; text-transform:uppercase; cursor:pointer; transition:all .3s; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.event-register-btn:hover { background:var(--y); color:#000; border-color:var(--y); box-shadow:0 6px 20px rgba(255,26,26,.3) }

/* ════════════════════════════════════════════════════════════════════
   GARAGE / HIDDEN
   ════════════════════════════════════════════════════════════════════ */
.garage-dot,.garage-dots,.garage-header,.garage-item,.garage-item-overlay,.garage-section,.garage-track{display:none!important}

/* ════════════════════════════════════════════════════════════════════
   SHOP OVERLAY
   ════════════════════════════════════════════════════════════════════ */
.shop-overlay { position:fixed; inset:0; z-index:10000; background:#000; transform:translateY(100vh); opacity:0; transition:transform .5s var(--ease),opacity .4s; display:flex; flex-direction:column; overflow:hidden; overscroll-behavior:none }
.shop-overlay.open { transform:translateY(0); opacity:1 }
.shop-nav { position:relative; width:100%; background:#000; display:flex; align-items:center; justify-content:space-between; padding:0 70px; padding-top:env(safe-area-inset-top); flex-shrink:0; min-height:calc(68px + env(safe-area-inset-top)); z-index:2; border-bottom:2px solid var(--y); box-shadow:0 4px 30px rgba(255,26,26,.1) }
.shop-nav::before { content:''; position:absolute; bottom:-2px; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,26,26,.5),rgba(255,26,26,.4),transparent) }
.shop-back { display:flex; align-items:center; gap:10px; background:transparent; border:2px solid rgba(255,26,26,.3); color:rgba(255,255,255,.6); font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; padding:10px 18px; cursor:pointer; transition:all .3s; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); position:relative; z-index:2; flex-shrink:0 }
.shop-back:hover { border-color:var(--y); color:var(--y); box-shadow:0 0 16px rgba(255,26,26,.15); transform:translateX(-3px) }
.shop-back svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s }
.shop-back:hover svg { transform:translateX(-2px) }
.shop-title-nav { position:absolute; left:50%; transform:translateX(-50%); font-family:var(--sans); font-size:22px; font-weight:900; letter-spacing:6px; text-transform:uppercase; pointer-events:none; white-space:nowrap; z-index:1; user-select:none; color:#fff }
.shop-title-nav span { color:var(--y) }
.shop-count { color:var(--y); font-family:var(--mono); font-size:11px; font-weight:400; letter-spacing:3px; background:rgba(255,26,26,.08); padding:8px 16px; clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px)); border:1px solid rgba(255,26,26,.25); position:relative; z-index:2; flex-shrink:0 }
.shop-body { flex:1; overflow-y:auto; overflow-x:hidden; padding:55px 70px 100px; padding-bottom:calc(100px + env(safe-area-inset-bottom)); scroll-behavior:smooth; position:relative; display:flex; flex-direction:column; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain; min-height:0 }
.shop-body::-webkit-scrollbar { width:5px }
.shop-body::-webkit-scrollbar-track { background:#000 }
.shop-body::-webkit-scrollbar-thumb { background:rgba(255,26,26,.3) }
.shop-body::-webkit-scrollbar-thumb:hover { background:var(--y) }
.section-overlay-body { padding:55px 70px 120px; display:flex; flex-direction:column; flex:1; min-height:0 }
.contract-overlay-body,.map-overlay-body { gap:28px }
.garage-overlay-body { padding:60px 0 120px; display:flex; flex-direction:column }

/* Search */
.shop-search-container { width:100%; max-width:740px; margin:36px auto 44px }
.ai-glow-wrap { position:relative; width:100%; padding:2px; background:linear-gradient(90deg,#1a1200,var(--y),#1a0000,var(--o),var(--y)); background-size:300% auto; animation:gradGlow 4s linear infinite; display:flex; align-items:center; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)); box-shadow:0 10px 30px rgba(0,0,0,.5) }
@keyframes gradGlow { 0%{background-position:0 center}100%{background-position:300% center} }
.ai-glow-wrap svg { position:absolute; left:20px; width:20px; height:20px; fill:rgba(255,255,255,.35); z-index:2; transition:all .25s; pointer-events:none }
#shopSearch { width:100%; background:rgba(6,5,0,.98); border:none; color:#fff; padding:18px 20px 18px 56px; font-family:var(--sans); font-size:17px; font-weight:400; letter-spacing:2px; transition:all .3s; outline:0; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)) }
#shopSearch::placeholder { color:rgba(255,255,255,.25); font-weight:300 }
#shopSearch:focus { background:#0a0800 }
.ai-glow-wrap:focus-within svg { fill:var(--y); filter:drop-shadow(0 0 6px var(--yg)) }

/* Filters */
.shop-filters { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:44px }
.filter-btn { background:rgba(255,26,26,.04); border:1px solid rgba(255,26,26,.15); color:rgba(255,255,255,.45); font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:3.5px; padding:9px 22px; cursor:pointer; transition:all .25s; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.filter-btn:hover { border-color:rgba(255,26,26,.45); color:var(--y); background:rgba(255,26,26,.06) }
.filter-btn.active { background:var(--y); border-color:var(--y); color:#000; font-weight:900; box-shadow:0 4px 18px rgba(255,26,26,.3) }
.filter-count { display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:15px; padding:0 4px; background:rgba(255,26,26,.15); font-size:9px; font-weight:800; color:var(--y); margin-left:6px; vertical-align:middle; line-height:1 }
.filter-btn.active .filter-count { background:rgba(0,0,0,.25); color:#000 }

/* Shop grid */
.shop-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; width:100% }
.product-card { background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.08); overflow:hidden; transition:all .35s; display:flex; flex-direction:column; position:relative; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) }
.product-card::before { content:''; position:absolute; inset:0; background:linear-gradient(115deg,transparent 0 42%,rgba(255,26,26,.06) 50%,transparent 58% 100%); transform:translateX(-120%); transition:transform .7s var(--ease); pointer-events:none; z-index:1 }
.product-card:hover::before { transform:translateX(120%) }
.product-card::after { content:''; position:absolute; inset:0; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)); border:1px solid transparent; transition:all .35s; pointer-events:none; z-index:10 }
.product-card:hover { box-shadow:0 0 0 1px rgba(255,26,26,.25) }
.product-card:hover::after { border-color:rgba(255,26,26,.3) }
.product-img { width:100%; height:230px; background:rgba(240,235,225,.96); display:flex; align-items:center; justify-content:center; position:relative; flex-shrink:0; overflow:hidden; padding:12px; border-bottom:1px solid rgba(255,26,26,.08) }
.product-img img { width:100%; height:100%; object-fit:contain; transition:transform .7s var(--ease); mix-blend-mode:multiply }
.product-card:hover .product-img img { transform:scale(1.06) }
.product-img-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; background:#080600; border:1px dashed rgba(255,26,26,.2) }
.product-card:hover .product-img-placeholder { border-color:rgba(255,26,26,.4) }
.product-info { padding:20px 22px; flex:1; display:flex; flex-direction:column; gap:10px; position:relative; z-index:2 }
.product-name { font-family:var(--sans); font-size:17px; font-weight:700; line-height:1.3; color:#fff; flex:1; letter-spacing:.5px; text-transform:uppercase }
.product-desc { font-size:12px; color:rgba(255,255,255,.4); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-weight:300 }
.price-row { display:flex; align-items:baseline; gap:8px; margin-top:auto }
.p-price { font-family:var(--sans); font-size:30px; font-weight:900; color:var(--y) }
.p-old { font-size:15px; color:rgba(255,255,255,.25); text-decoration:line-through }
.product-variants { display:flex; flex-wrap:wrap; gap:5px }
.var-btn { background:rgba(255,26,26,.04); border:1px solid rgba(255,26,26,.12); color:rgba(255,255,255,.45); font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:2px; padding:6px 12px; cursor:pointer; transition:all .2s; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) }
.var-btn:hover { border-color:rgba(255,26,26,.35); color:var(--y) }
.var-btn.sel { background:var(--y); border-color:var(--y); color:#000; font-weight:900 }
.color-row { display:flex; gap:7px; flex-wrap:wrap; align-items:center }
.c-dot { width:22px; height:22px; cursor:pointer; border:2px solid rgba(255,255,255,.2); transition:all .2s; clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px)) }
.c-dot:hover { transform:scale(1.15); border-color:rgba(255,255,255,.5) }
.c-dot.sel { border-color:var(--y); transform:scale(1.2); box-shadow:0 0 10px rgba(255,26,26,.4) }
.buy-btn { display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(15,30,5,.8); border:1px solid rgba(37,211,102,.3); color:#25d366; font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:3px; padding:13px; text-decoration:none; transition:all .3s; margin-top:7px; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)); text-transform:uppercase }
.buy-btn:hover { background:#25d366; color:#fff; border-color:#25d366; box-shadow:0 8px 22px rgba(37,211,102,.35) }
.buy-btn svg { width:17px; height:17px; fill:currentColor; flex-shrink:0 }
.sale-badge { position:absolute; top:10px; left:10px; z-index:3; padding:6px 11px; background:linear-gradient(135deg,var(--y),var(--o)); color:#000; font-family:var(--sans); font-size:10px; font-weight:900; letter-spacing:2px; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.shop-empty { display:none; text-align:center; padding:100px 20px; color:rgba(255,255,255,.2); font-size:22px; font-weight:300; letter-spacing:4px; font-family:var(--mono) }
.shop-empty.show { display:block; animation:fadeUp .6s var(--ease) forwards }

/* ════════════════════════════════════════════════════════════════════
   OVERLAYS: COMING SOON / SALE / MAP / CONTRACT / HELP / NEW HORSES
   ════════════════════════════════════════════════════════════════════ */
.coming-soon-wrap { flex:1; min-height:0; height:100%; overflow:hidden!important; overscroll-behavior:none; -webkit-overflow-scrolling:auto; touch-action:none; justify-content:center }
.coming-soon-wrap .coming-soon-body { min-height:0; height:100%; overflow:hidden; padding:clamp(18px,4vh,40px) 20px }
.sale-overlay-body { justify-content:flex-start; overflow-y:auto!important; overflow-x:hidden; overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch }
.sale-overlay-body .coming-soon-body { min-height:100%; height:auto; overflow:visible; justify-content:center; padding:clamp(24px,5vh,52px) 20px }
.coming-soon-body { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; min-height:100%; padding:40px 20px; text-align:center; gap:26px }
.coming-soon-icon { width:86px; height:86px; clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px)); border:1px solid rgba(255,26,26,.2); background:linear-gradient(145deg,rgba(255,26,26,.1),rgba(61,219,255,.06) 54%,rgba(4,3,0,.97)); box-shadow:0 0 30px rgba(255,26,26,.1); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; flex-shrink:0; animation:floatIcon 3s ease-in-out infinite }
@keyframes floatIcon { 0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)} }
.coming-soon-icon::after { content:''; width:56%; height:56%; background:linear-gradient(135deg,var(--y),var(--o),var(--r)); -webkit-mask:var(--icon-url) center/contain no-repeat; mask:var(--icon-url) center/contain no-repeat }
.coming-soon-tag { color:var(--y); letter-spacing:6px; font-size:11px; font-family:var(--mono); display:flex; align-items:center; gap:10px; text-transform:uppercase }
.coming-soon-tag::before,.coming-soon-tag::after { content:''; width:26px; height:2px; background:var(--y); box-shadow:0 0 8px var(--yg) }
.coming-soon-title { font-family:var(--sans); font-size:88px; line-height:.9; font-weight:900; text-transform:uppercase; color:#fff }
.coming-soon-sub { font-size:18px; color:rgba(255,255,255,.3); font-weight:300; letter-spacing:3px; max-width:460px; line-height:1.7 }
.coming-soon-badge { display:inline-flex; align-items:center; gap:10px; border:1px solid rgba(255,26,26,.25); padding:11px 24px; color:var(--y); letter-spacing:4px; font-size:11px; font-family:var(--mono); background:rgba(255,26,26,.04); clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)); text-transform:uppercase }
.coming-soon-badge::before { content:''; width:7px; height:7px; background:var(--y); border-radius:50%; box-shadow:0 0 10px var(--yg); animation:blink 1.5s steps(1) infinite }

/* Sale */
.sale-bike-card { width:min(920px,100%); margin:0 auto; display:grid; grid-template-columns:minmax(270px,.95fr) 1.05fr; gap:28px; align-items:center; background:rgba(255,26,26,.02); border:1px solid rgba(255,26,26,.15); padding:26px; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px)); box-shadow:0 0 40px rgba(255,26,26,.06) }
.sale-overlay-body .sale-bike-card { max-height:none; overflow:visible }
.sale-bike-card img { width:100%; height:min(40vh,370px); object-fit:cover; background:#050400; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)) }
.sale-bike-kicker { color:var(--y); font-size:10px; font-family:var(--mono); letter-spacing:5px; margin-bottom:9px; text-transform:uppercase }
.sale-bike-card h2 { font-family:var(--sans); font-size:58px; font-weight:900; line-height:.94; margin-bottom:12px; text-transform:uppercase; color:#fff }
.sale-bike-card p { color:var(--dim); font-size:17px; line-height:1.55; margin-bottom:20px; font-weight:300 }
.sale-bike-card .stats { margin-bottom:20px }
.sale-price-row { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap }
.sale-price { font-family:var(--sans); color:#fff; font-size:52px; font-weight:900; line-height:1 }
.sale-price span { color:var(--y); font-size:16px; letter-spacing:3px; margin-left:8px; font-family:var(--mono) }

/* Map */
.map-shell { width:min(1320px,100%); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:2px; min-height:600px }
.gta-map-frame { position:relative; min-height:600px; border:1px solid rgba(255,26,26,.2); background:#050400; overflow:hidden; box-shadow:0 0 40px rgba(255,26,26,.06) }
#sparkMap { position:absolute; inset:0; z-index:1; background:#050400 }
.spark-map { overflow:hidden; isolation:isolate; background:radial-gradient(circle at 70% 22%,rgba(255,26,26,.1),transparent 26%),radial-gradient(circle at 18% 80%,rgba(255,26,26,.1),transparent 30%),#050400 }
.spark-map-grid { position:absolute; inset:0; background:linear-gradient(rgba(255,26,26,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,26,26,.04) 1px,transparent 1px); background-size:44px 44px; opacity:.55 }
.lt-map-svg { position:absolute; inset:0; width:100%; height:100% }
.lt-map-shape { fill:rgba(6,4,0,.92); stroke:rgba(255,26,26,.35); stroke-width:2 }
.lt-map-road { fill:none; stroke:rgba(255,255,255,.12); stroke-width:2; stroke-dasharray:9 11 }
.spark-map-point { cursor:pointer; outline:0 }
.spark-map-point circle { fill:var(--r); stroke:#fff; stroke-width:3; transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 0 14px rgba(255,26,26,.8)); transition:transform .18s,fill .18s }
.spark-map-point.home circle { fill:var(--y); filter:drop-shadow(0 0 18px var(--yg)) }
.spark-map-point.active circle,.spark-map-point:hover circle { transform:scale(1.3) }
.spark-map-point text { fill:#fff; stroke:#000; stroke-width:4px; paint-order:stroke; font-size:17px; font-weight:700; letter-spacing:3px }
.spark-map-card { position:absolute; left:16px; bottom:14px; z-index:2; display:grid; gap:4px; min-width:190px; padding:12px 14px; background:rgba(0,0,0,.8); border:1px solid rgba(255,26,26,.2); clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px)) }
.spark-map-card strong { color:#fff; font-family:var(--sans); font-size:18px; letter-spacing:3px; font-weight:800 }
.spark-map-card span { color:rgba(255,255,255,.35); font-size:10px; font-family:var(--mono); letter-spacing:2px; text-transform:uppercase }
.map-hud { position:absolute; z-index:450; right:10px; top:10px; display:flex; flex-wrap:wrap; gap:5px; pointer-events:none; justify-content:flex-end }
.map-hud span { padding:5px 9px; background:rgba(0,0,0,.7); border:1px solid rgba(255,26,26,.15); color:rgba(255,255,255,.65); font-size:9px; font-family:var(--mono); letter-spacing:2.5px; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) }
.map-panel { border:1px solid rgba(255,26,26,.12); background:rgba(0,0,0,.95); padding:22px; display:flex; flex-direction:column; gap:12px }
.map-panel h3 { font-family:var(--sans); color:#fff; font-size:30px; font-weight:900; text-transform:uppercase }
.map-panel p { color:var(--dim); font-size:15px; line-height:1.55; font-weight:300 }
.city-list { display:grid; gap:6px; margin-top:5px }
.city-btn { display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; border:1px solid rgba(255,26,26,.1); background:rgba(255,26,26,.03); color:rgba(255,255,255,.65); padding:11px 13px; font-family:var(--sans); font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:all .25s; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.city-btn.active,.city-btn:hover { border-color:rgba(255,26,26,.4); background:rgba(255,26,26,.08); color:var(--y) }
.city-btn span { color:rgba(255,255,255,.25); font-size:10px; font-family:var(--mono); letter-spacing:2px }
.map-cta-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto }
.contract-hero,.map-hero { width:min(1320px,100%); margin:0 auto }
.contract-hero p,.map-hero p { max-width:760px; color:var(--dim); font-size:18px; line-height:1.6; font-weight:300 }
.contract-flow { width:min(1320px,100%); margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:2px; align-items:stretch }
.contract-card { border:none; border-top:2px solid rgba(255,26,26,.1); background:rgba(255,26,26,.02); padding:34px; min-height:380px; display:flex; flex-direction:column; justify-content:space-between }
.contract-card.primary { background:rgba(255,26,26,.04); border-top-color:rgba(255,26,26,.25) }
.contract-card h3 { font-family:var(--sans); color:#fff; font-size:clamp(32px,4.5vw,64px); font-weight:900; line-height:.95; text-transform:uppercase; letter-spacing:-1px; margin-bottom:18px }
.contract-card p { color:var(--dim); font-size:17px; line-height:1.6; font-weight:300; margin-bottom:16px }
.contract-steps { display:grid; gap:8px; margin-top:8px }
.contract-step { display:grid; grid-template-columns:42px 1fr; gap:10px; align-items:start; padding:13px; border:1px solid rgba(255,26,26,.08); background:rgba(255,26,26,.03) }
.contract-step strong { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,26,26,.3); color:var(--y); font-family:var(--mono); font-size:16px; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) }
.contract-step h4 { font-family:var(--sans); color:#fff; font-size:19px; font-weight:800; text-transform:uppercase; letter-spacing:1px; margin-bottom:3px }
.contract-step span { color:var(--dim); font-size:13px; line-height:1.45 }
.contract-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px }

/* Help */
.help-overlay-body { gap:26px }
.help-hero { position:relative; overflow:hidden; border:1px solid rgba(255,26,26,.18); padding:clamp(26px,5vw,54px); min-height:250px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.65) 58%,rgba(0,0,0,.2)),url("../../bike4.webp") right center/min(55vw,600px) auto no-repeat,#000; clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px)) }
.help-hero::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px); opacity:.5; pointer-events:none }
.help-hero .section-tag,.help-hero .section-title,.help-hero p { position:relative; z-index:1 }
.help-hero .section-title { margin-bottom:14px }
.help-hero p { max-width:520px; color:var(--dim); font-size:19px; line-height:1.6; font-weight:300 }
.help-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px }
.help-panel { position:relative; overflow:hidden; border:none; border-top:2px solid rgba(255,26,26,.1); background:rgba(255,26,26,.02); padding:clamp(20px,3vw,32px) }
.help-panel h3 { font-family:var(--sans); color:#fff; font-size:clamp(26px,3.8vw,42px); font-weight:900; line-height:.97; text-transform:uppercase; margin-bottom:20px }
.help-panel h3 span { color:var(--y) }
.help-list { display:grid; gap:8px }
.help-item { display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:center; padding:12px; border:1px solid rgba(255,26,26,.07); background:rgba(255,26,26,.02) }
.help-item .feature-icon { width:48px; height:48px }
.help-item strong { display:block; color:#fff; font-family:var(--sans); font-size:16px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:2px }
.help-item p { color:var(--dim); font-size:14px; line-height:1.35; font-weight:300 }

/* ════════════════════════════════════════════════════════════════════
   NEW HORSES
   ════════════════════════════════════════════════════════════════════ */
#newHorsesOverlay .section-overlay-body { padding:0; padding-bottom:calc(54px + env(safe-area-inset-bottom)) }
#newHorsesOverlay .coming-soon-body { display:block; min-height:0; padding:14px 0 0; text-align:left }
.new-horses-shell { width:min(1140px,100%); margin:0 auto }
.new-horse-list { width:100%; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,420px)); gap:2px; justify-content:center }
.new-horse-card { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:100%; background:rgba(255,26,26,.02); border:none; border-top:2px solid rgba(255,26,26,.1); clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px)); transition:all .4s }
.new-horse-card:hover { box-shadow:0 0 0 1px rgba(255,26,26,.25); background:rgba(255,26,26,.04) }
.new-horse-card-media { position:relative; z-index:0; height:310px; background:radial-gradient(circle at 50% 36%,rgba(255,26,26,.08),rgba(4,3,0,.94) 58%,#000 100%); border-bottom:1px solid rgba(255,26,26,.08); overflow:hidden }
.new-horse-card-media img { width:100%; height:100%; object-fit:contain; padding:16px; display:block; transition:transform .8s var(--ease) }
.new-horse-card:hover .new-horse-card-media img { transform:scale(1.05) }
.new-horse-badge { position:absolute; top:14px; left:14px; z-index:2; padding:7px 11px; background:linear-gradient(135deg,var(--y),var(--o)); color:#000; font-family:var(--sans); font-size:10px; font-weight:900; letter-spacing:3px; text-transform:uppercase; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.new-horse-card-body { position:relative; z-index:2; padding:24px; display:flex; flex-direction:column; gap:12px; flex:1 }
.new-horse-card-body h2 { font-family:var(--sans); font-size:38px; font-weight:900; line-height:.97; text-transform:uppercase; letter-spacing:-0.5px; color:#fff }
.new-horse-card-body p { color:var(--dim); font-size:15px; line-height:1.55; font-weight:300 }
.new-horse-mini-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:2px }
.new-horse-mini-specs span { display:flex; flex-direction:column; gap:4px; padding:11px 7px; border:none; border-top:1px solid rgba(255,26,26,.1); background:rgba(255,26,26,.04); color:#fff; font-family:var(--sans); font-size:21px; font-weight:900; text-align:center }
.new-horse-mini-specs small { color:var(--y); font-size:8px; font-family:var(--mono); letter-spacing:2px; text-transform:uppercase }
.new-horse-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:auto }
.new-horse-card-price { font-family:var(--sans); color:#fff; font-size:36px; font-weight:900; line-height:1 }
.new-horse-card-price span { display:block; margin-top:3px; color:var(--y); font-size:10px; font-family:var(--mono); letter-spacing:3px; text-transform:uppercase }
.new-horse-detail { display:none; width:100%; opacity:0; pointer-events:none; text-align:left }
.new-horse-detail.active { display:block; opacity:1; pointer-events:auto; animation:fadeUp .42s var(--ease) both }
.new-horse-detail-top { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:24px }
.new-horse-inline-back { display:inline-flex; align-items:center; gap:9px; background:transparent; border:1px solid rgba(255,26,26,.2); color:rgba(255,255,255,.65); font-family:var(--sans); font-size:11px; font-weight:800; letter-spacing:3px; padding:10px 15px; cursor:pointer; transition:all .25s; clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)); text-transform:uppercase }
.new-horse-inline-back:hover { border-color:var(--y); color:var(--y); transform:translateX(-3px) }
.new-horse-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr); gap:2px; align-items:start }
.new-horse-gallery { display:flex; flex-direction:column; gap:2px }
.new-horse-box-images,.new-horse-main-images { display:grid; gap:2px }
.new-horse-main-images { grid-template-columns:repeat(2,minmax(0,1fr)) }
.new-horse-box-images { grid-template-columns:repeat(3,minmax(0,1fr)) }
.new-horse-photo { position:relative; overflow:hidden; border:none; border-top:1px solid rgba(255,26,26,.08); background:rgba(4,3,0,.97); min-width:0 }
.new-horse-photo img { width:100%; height:auto; object-fit:contain; display:block; padding:12px; transition:transform .8s var(--ease) }
.new-horse-photo:hover img { transform:scale(1.04) }
.new-horse-photo-main { aspect-ratio:1.08/1; display:block; width:100% }
.new-horse-photo-box { aspect-ratio:1.2/1; display:block; width:100%; background:#050300 }
.new-horse-photo-label { position:absolute; left:10px; bottom:10px; z-index:2; color:#fff; font-size:9px; font-family:var(--mono); letter-spacing:2.5px; background:rgba(0,0,0,.75); border:1px solid rgba(255,26,26,.15); padding:5px 8px; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)); text-transform:uppercase }
.new-horse-copy-card { position:sticky; top:24px; padding:26px; border:1px solid rgba(255,26,26,.18); clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px)); background:#000 }
.new-horse-kicker { color:var(--y); font-size:10px; font-family:var(--mono); letter-spacing:5px; margin-bottom:9px; text-transform:uppercase }
.new-horse-copy-card h2 { font-family:var(--sans); font-size:50px; font-weight:900; line-height:.94; margin-bottom:12px; text-transform:uppercase; color:#fff }
.new-horse-lead { color:var(--dim); font-size:16px; line-height:1.6; font-weight:300; margin-bottom:18px }
.new-horse-highlight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:18px 0 }
.new-horse-highlight { border:none; border-top:1px solid rgba(255,26,26,.1); background:rgba(255,26,26,.04); padding:13px }
.new-horse-highlight strong { display:block; font-family:var(--sans); color:#fff; font-size:22px; font-weight:900; line-height:1 }
.new-horse-highlight span { display:block; margin-top:5px; color:var(--y); font-size:9px; font-family:var(--mono); letter-spacing:2px; text-transform:uppercase }
.new-horse-price-block { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:14px; border-top:1px solid rgba(255,26,26,.1) }
.new-horse-price { font-family:var(--sans); color:#fff; font-size:48px; font-weight:900; line-height:1 }
.new-horse-price span { color:var(--y); font-size:13px; font-family:var(--mono); letter-spacing:2.5px; text-transform:uppercase }
.new-horse-content { margin-top:36px; display:grid; gap:2px }
.new-horse-section-card { position:relative; overflow:hidden; padding:26px; border:none; border-top:2px solid rgba(255,26,26,.08); background:rgba(255,26,26,.02) }
.new-horse-section-card h3 { font-family:var(--sans); color:#fff; font-size:24px; font-weight:900; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px }
.new-horse-section-card p { color:var(--dim); font-size:15px; line-height:1.7; font-weight:300 }
.new-horse-list-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2px; list-style:none }
.new-horse-info-list li,.new-horse-list-grid li { color:rgba(255,255,255,.7); font-size:13px; line-height:1.45; padding:11px 13px; border:none; border-top:1px solid rgba(255,26,26,.06); background:rgba(255,26,26,.03) }
.new-horse-info-list li::before,.new-horse-list-grid li::before { content:''; display:inline-block; width:6px; height:6px; margin-right:10px; background:var(--y); box-shadow:0 0 8px var(--yg); vertical-align:middle }
.new-horse-spec-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px }
.new-horse-spec-group { border:none; border-top:1px solid rgba(255,26,26,.08); background:rgba(255,26,26,.03); padding:16px }
.new-horse-spec-group h4 { color:var(--y); font-family:var(--sans); font-size:15px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:11px }
.new-horse-spec-group dl { display:grid; gap:7px }
.new-horse-spec-group div { display:grid; grid-template-columns:minmax(110px,.85fr) minmax(0,1.15fr); gap:9px; border-bottom:1px solid rgba(255,26,26,.04); padding-bottom:7px }
.new-horse-spec-group div:last-child { border-bottom:0; padding-bottom:0 }
.new-horse-spec-group dt { color:rgba(255,255,255,.3); font-size:12px; font-family:var(--mono); letter-spacing:1px }
.new-horse-spec-group dd { color:rgba(255,255,255,.8); font-size:13px; line-height:1.4 }
.new-horse-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px }
.new-horse-info-list { display:grid; gap:2px; list-style:none }

/* ════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════ */
footer {
  padding:80px 80px 36px;
  padding-bottom:calc(36px + env(safe-area-inset-bottom));
  text-align:center; position:relative; z-index:2; overflow:hidden;
  background:#000; border-top:2px solid var(--y);
  box-shadow:0 -4px 40px rgba(255,26,26,.1);
}
footer::before { content:''; position:absolute; left:50%; bottom:-80px; width:min(100vw,500px); height:280px; transform:translateX(-50%); background:url("../../bike6.webp") center bottom/contain no-repeat; opacity:.04; filter:saturate(0); pointer-events:none }
footer::after { content:''; position:absolute; left:50%; top:2px; width:min(700px,85vw); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(255,26,26,.5),rgba(255,26,26,.4),transparent); box-shadow:0 0 20px rgba(255,26,26,.2) }
.footer-social { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(150px,230px)); justify-content:center; gap:2px; margin:0 auto 44px; max-width:820px }
.footer-social a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:60px; color:rgba(255,255,255,.45); text-decoration:none; font-size:11px; font-family:var(--mono); letter-spacing:3.5px; text-transform:uppercase; border:none; border-top:2px solid rgba(255,26,26,.08); padding:13px 15px; transition:all .3s; background:rgba(255,26,26,.02); clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px)) }
.footer-social a:hover { border-top-color:rgba(255,26,26,.4); color:var(--y); background:rgba(255,26,26,.06); transform:translateY(-3px) }
.footer-social svg { width:20px; height:20px; fill:currentColor; flex-shrink:0 }
.footer-links { position:relative; z-index:1; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; margin:0 auto 40px; max-width:1080px }
.footer-links a { color:rgba(255,255,255,.22); text-decoration:none; font-size:10px; font-family:var(--mono); letter-spacing:3.5px; transition:color .25s; cursor:pointer; text-transform:uppercase; white-space:nowrap }
.footer-links a:hover { color:var(--y) }
.footer-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; padding-top:26px; border-top:1px solid rgba(255,26,26,.08) }
.footer-logo { display:inline-flex; align-items:baseline; justify-content:center; gap:clamp(4px,.8vw,10px); font-family:var(--sans); font-size:clamp(22px,3.5vw,34px); font-weight:900; letter-spacing:2px; color:#fff; white-space:nowrap }
.footer-logo .spark { color:var(--y); text-shadow:0 0 20px rgba(255,26,26,.4) }
.footer-logo .lietuva { background:linear-gradient(to right,#fdb913 33%,#006a44 33%,#006a44 66%,#c1272d 66%); -webkit-background-clip:text; -webkit-text-fill-color:transparent }
footer p { color:rgba(255,255,255,.18); font-size:10px; font-family:var(--mono); letter-spacing:3px; position:relative; z-index:1; text-transform:uppercase }
.footer-cookie-link { border:0; background:0 0; color:rgba(255,255,255,.2); font-family:var(--mono); font-size:10px; font-weight:400; letter-spacing:3px; text-transform:uppercase; cursor:pointer; transition:color .25s }
.footer-cookie-link:hover { color:var(--y) }

/* ════════════════════════════════════════════════════════════════════
   COOKIE
   ════════════════════════════════════════════════════════════════════ */
.cookie-consent { position:fixed; left:clamp(14px,3vw,32px); right:clamp(14px,3vw,32px); bottom:clamp(14px,3vw,28px); z-index:10050; display:none; grid-template-columns:minmax(0,1fr) minmax(210px,270px); gap:18px; align-items:start; padding:20px; max-width:1080px; margin:0 auto; background:#000; border:2px solid rgba(255,26,26,.2); clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px)); box-shadow:0 20px 60px rgba(0,0,0,.9),0 0 30px rgba(255,26,26,.06) }
.cookie-consent.is-visible { display:grid }
.cookie-copy strong { display:block; color:#fff; font-family:var(--sans); font-size:17px; font-weight:900; letter-spacing:3px; text-transform:uppercase; margin-bottom:6px }
.cookie-copy p { color:rgba(255,255,255,.35); font-size:12px; line-height:1.55; max-width:680px }
.cookie-settings { display:none; grid-column:1/-1; gap:8px; margin-top:2px; padding-top:12px; border-top:1px solid rgba(255,26,26,.1) }
.cookie-settings.is-open { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) }
.cookie-option { display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:start; padding:12px; border:1px solid rgba(255,26,26,.1); background:rgba(255,26,26,.03); cursor:pointer }
.cookie-option input { width:16px; height:16px; margin-top:2px; accent-color:var(--y) }
.cookie-option strong { display:block; color:#fff; font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:2px }
.cookie-option span { display:block; color:rgba(255,255,255,.3); font-size:11px; line-height:1.35 }
.cookie-actions { display:grid; gap:7px; align-self:stretch }
.cookie-btn { border:1px solid rgba(255,26,26,.15); background:rgba(255,26,26,.04); color:rgba(255,255,255,.65); font-family:var(--sans); font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; padding:11px 14px; cursor:pointer; transition:all .25s; width:100%; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) }
.cookie-btn:hover { border-color:rgba(255,26,26,.4); color:var(--y) }
.cookie-btn.accept { background:linear-gradient(135deg,var(--y),var(--o)); border-color:var(--y); color:#000; font-weight:900 }
.cookie-btn.accept:hover { box-shadow:0 4px 18px rgba(255,26,26,.35) }
.cookie-btn.reject { color:rgba(255,255,255,.4) }
.cookie-btn.save { display:none; border-color:rgba(255,26,26,.25); background:rgba(255,26,26,.06); color:var(--y) }
.cookie-consent.settings-open .cookie-btn.save { display:block }
.cookie-consent.settings-open .cookie-btn.configure { display:none }

/* Focus / misc */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid var(--y); outline-offset:3px; box-shadow:0 0 0 5px rgba(255,26,26,.08),0 0 20px rgba(255,26,26,.15) }
.mobile-command-dock { display:none }

/* ════════════════════════════════════════════════════════════════════
   MOBILE HERO — PROPER FLEX LAYOUT (THE FIX)
   ════════════════════════════════════════════════════════════════════ */
@media(max-width:1200px) {
  .hero { flex-direction:row; flex-wrap:wrap }
  .hero-left { width:52%; padding-right:0 }
  .hero-right { position:relative; width:48%; height:auto; min-height:600px }
  .hero-right::before,.hero-right::after { display:none }
  .slider { height:100%; min-height:600px }
  .slide img { padding-top:calc(68px + env(safe-area-inset-top)); padding-bottom:40px }
  .atelier-gallery,.contract-flow,.map-shell { grid-template-columns:1fr }
  .atelier-visual,.gta-map-frame { min-height:500px }
  .about-grid,.bikes-grid,.contact-big-grid,.events-grid,.features-grid,.reviews-grid { grid-template-columns:1fr }
  .new-horse-hero { grid-template-columns:1fr }
  .new-horse-copy-card { position:relative; top:auto }
  .new-horse-spec-groups { grid-template-columns:1fr }
  .about-stats-row { grid-template-columns:repeat(3,1fr) }
  .shop-grid { grid-template-columns:repeat(2,1fr) }
  .shop-nav,.shop-body,.section-overlay-body { padding-left:32px; padding-right:32px }
}

@media(max-width:980px) {
  nav { padding-left:22px; padding-right:22px; min-height:calc(62px + env(safe-area-inset-top)) }
  .logo { font-size:26px }
  .nav-links { display:none }
  .nav-right-mobile { display:flex }
}

/* ── THE REAL MOBILE HERO FIX ───────────────────────────────── */
@media(max-width:768px) {
  nav { padding-left:16px; padding-right:16px; min-height:calc(58px + env(safe-area-inset-top)) }
  .logo { font-size:22px; letter-spacing:2px }
  .nav-links { display:none }
  .nav-right-mobile { display:flex }

  /* Hero: flex column — bike on top, text below, NO gaps */
  .hero {
    display:flex!important;
    flex-direction:column!important;
    min-height:100dvh;
    padding:0!important;
  }

  /* Bike area: sits at top, padding clears fixed nav */
  .hero-right {
    position:relative!important;
    inset:unset!important;
    order:0!important;
    width:100%!important;
    height:auto!important;
    flex:0 0 auto!important;
    /* top padding pushes bike below fixed nav */
    padding-top:calc(58px + env(safe-area-inset-top))!important;
    overflow:hidden;
    background:
      radial-gradient(ellipse at 50% 75%, rgba(200,20,0,.65) 0%, rgba(90,8,0,.3) 38%, transparent 68%),
      radial-gradient(ellipse at 50% 20%, rgba(255,26,26,.04) 0%, transparent 50%),
      #000;
  }
  /* hide desktop decorations */
  .hero-right::before,.hero-right::after { display:none!important }

  /* Slider: uses aspect ratio so bike is proportional, no dead space */
  .slider {
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 0.82!important;
    filter:none!important;
    flex:none!important;
  }

  /* Slide fills the ratio box */
  .slide {
    position:absolute!important;
    inset:0!important;
    transition:opacity .7s ease!important;
    transform:none!important;
    filter:none!important;
  }
  .slide.active { opacity:1!important; transform:none!important; filter:none!important }

  /* BIKE IMAGE — fills the box cleanly */
  .slide img {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    padding:0!important;
    margin:0!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    filter:brightness(1.22) contrast(1.1) saturate(1.2)
            drop-shadow(0 18px 36px rgba(0,0,0,.95))
            drop-shadow(0 0 20px rgba(255,26,26,.07))!important;
    animation:none!important;
    transform:none!important;
  }

  /* Yellow bottom line under bike */
  .slider::after {
    content:'';
    position:absolute!important;
    bottom:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--y) 30%,var(--r) 70%,transparent);
    box-shadow:0 0 16px rgba(255,26,26,.4);
    z-index:5; pointer-events:none;
  }
  .slider::before { display:none!important }

  /* Hero text: directly below bike, compact */
  .hero-left {
    order:1!important;
    width:100%!important;
    flex:1!important;
    padding:18px 22px calc(78px + env(safe-area-inset-bottom)) 22px!important;
    align-items:center!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .hero-left::before,.hero-left::after { display:none!important }

  .hero-title { font-size:clamp(52px,13vw,80px)!important; letter-spacing:-1px!important; margin-bottom:14px!important; animation:none!important }
  .hero-desc  { font-size:14px!important; margin-bottom:20px!important; text-align:center }
  .hero-tag   { font-size:9px!important; margin-bottom:14px!important; letter-spacing:4px }
  .hero-buttons { flex-direction:column; gap:10px; width:100%; max-width:320px }
  .btn { padding:14px 24px; font-size:12px; width:100% }
  .hero-telemetry,.hero-system-text,.hero-stats { display:none!important }
  .hero::before,.hero::after,body::after { display:none!important }
  body::before { opacity:.3 }
  .ambient-glow,.ambient-glow-2 { animation:none!important }

  /* SECTIONS */
  .section,.atelier-section,.about-section,.contact-section,.reviews-section { padding:72px 22px }
  .atelier-title { font-size:clamp(44px,12vw,76px) }
  .section-title { font-size:clamp(38px,11vw,62px); letter-spacing:-1px; margin-bottom:40px }
  .features-grid { gap:2px }
  .feature { padding:32px 24px }
  .feature h3 { font-size:20px }
  .feature p { font-size:15px }
  .bikes-grid { gap:2px }
  .bike-card img { height:230px; object-fit:contain; padding:8px; background:#050400 }
  .bike-content { padding:24px 26px; margin-top:-44px }
  .bike-content h3 { font-size:30px }
  .bike-content p { font-size:14px }
  .stats { gap:2px }
  .stat { padding:12px 8px }
  .stat h4 { font-size:24px }
  .rental-price { font-size:28px }
  .rental-price.short { font-size:22px }
  .book-btn { padding:13px 18px; font-size:11px; width:100%; text-align:center }
  .price-row { flex-direction:column; align-items:flex-start; gap:12px }
  .about-title { font-size:clamp(36px,11vw,52px) }
  .about-stats-row { grid-template-columns:1fr 1fr; gap:2px }
  .about-stat-box h4 { font-size:42px }
  .about-letter { padding:32px 24px; clip-path:none }
  .about-letter p { font-size:16px }
  .reviews-intro { font-size:17px; margin-bottom:32px }
  .review-card { padding:30px 24px }
  .review-text { font-size:15px }
  .contact-intro { font-size:17px; margin-bottom:32px }
  .contact-channel { padding:30px 24px }
  .contact-channel h3 { font-size:24px }
  .contact-channel p { font-size:14px }
  .contact-channel a.channel-btn { font-size:12px; padding:13px 18px }
  .events-grid { gap:2px }
  .event-card-top { padding:22px; flex-direction:column; align-items:flex-start }
  .event-body { padding:22px }
  .event-title { font-size:20px }
  .help-grid { grid-template-columns:1fr; gap:2px }
  .help-hero { min-height:210px; padding:26px 22px; clip-path:none; background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.97)),url("../../bike4.webp") center/120vw auto no-repeat,#000 }
  .help-panel { padding:22px }
  .sale-bike-card { grid-template-columns:1fr; gap:14px; padding:16px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)) }
  .sale-bike-card img { height:clamp(120px,20vh,190px); object-fit:contain }
  .sale-bike-card h2 { font-size:clamp(34px,10vw,50px) }
  .sale-price { font-size:38px }
  .new-horse-hero { display:flex; flex-direction:column; gap:14px }
  .new-horse-copy-card { order:1; position:relative; top:auto; padding:20px 16px; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)) }
  .new-horse-gallery { order:2 }
  .new-horse-copy-card h2 { font-size:clamp(32px,10vw,48px) }
  .new-horse-lead { font-size:14px }
  .new-horse-price { font-size:40px }
  .new-horse-content { margin-top:12px }
  .new-horse-two-col { grid-template-columns:1fr }
  .new-horse-spec-groups { grid-template-columns:1fr }
  .new-horse-list-grid { grid-template-columns:1fr }
  .new-horse-section-card { padding:16px }
  .new-horse-section-card h3 { font-size:18px }
  .coming-soon-title { font-size:54px }
  .coming-soon-sub { font-size:15px }
  .coming-soon-wrap .coming-soon-title { font-size:clamp(36px,12vw,54px) }
  footer { padding:52px 18px 22px; padding-bottom:calc(106px + env(safe-area-inset-bottom)) }
  .footer-social { grid-template-columns:1fr; max-width:320px; gap:2px; margin-bottom:26px }
  .footer-social a { min-height:52px; clip-path:none }
  .footer-links { gap:7px 14px; margin-bottom:22px }
  .footer-logo { font-size:clamp(18px,6.5vw,24px) }
  footer::before { display:none }

  /* Mobile command dock */
  .mobile-command-dock {
    position:fixed; left:50%; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:998;
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2px; width:min(88vw,350px); padding:2px;
    border:2px solid var(--y);
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
    background:#000; box-shadow:0 0 30px rgba(255,26,26,.2),0 20px 40px rgba(0,0,0,.9);
    transform:translateX(-50%); transition:opacity .24s,transform .24s,visibility .24s;
  }
  .mobile-command-dock a,.mobile-command-dock button {
    position:relative; z-index:1; min-height:48px;
    border:none; border-top:1px solid rgba(255,26,26,.12);
    background:rgba(4,3,0,.97); color:rgba(255,255,255,.65);
    font-family:var(--sans); font-size:9px; font-weight:700;
    letter-spacing:2.5px; text-transform:uppercase; text-decoration:none;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; cursor:pointer; padding:5px 4px; transition:all .2s;
  }
  .mobile-command-dock a:active,.mobile-command-dock button:active { background:rgba(255,26,26,.08); color:var(--y) }
  .mobile-command-dock .inline-icon { margin:0; width:16px; height:16px; color:var(--y); filter:drop-shadow(0 0 6px rgba(255,26,26,.5)) }
  body.menu-active .mobile-command-dock,body.overlay-active .mobile-command-dock { display:none!important }

  /* Shop on mobile */
  .shop-nav { padding:0 12px; padding-top:env(safe-area-inset-top); min-height:calc(56px + env(safe-area-inset-top)) }
  .shop-back { display:none!important }
  .shop-title-nav { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-size:clamp(12px,3.5vw,16px); letter-spacing:2px; padding-left:16px; max-width:calc(100% - 18px); white-space:nowrap; cursor:pointer; pointer-events:auto; z-index:1 }
  .shop-title-nav::before { content:''; position:absolute; left:0; top:calc(50% - 4px); width:6px; height:6px; border-top:2px solid var(--y); border-left:2px solid var(--y); transform:rotate(-45deg); animation:chevronHint 1.8s ease-in-out infinite; pointer-events:none }
  @keyframes chevronHint { 0%,100%{transform:rotate(-45deg) translate(0,0);opacity:.6}50%{transform:rotate(-45deg) translate(-3px,3px);opacity:1} }
  .shop-count { display:none }
  #shopOverlay .shop-count { display:flex; align-items:center; position:absolute; right:9px; top:50%; transform:translateY(-50%); font-size:8px; padding:4px 7px; z-index:2 }
  .shop-body { padding:clamp(14px,4vw,22px) 14px; padding-bottom:calc(85px + env(safe-area-inset-bottom)) }
  .section-overlay-body { padding:26px 16px 58px }
  .shop-search-container { margin:14px auto 18px }
  #shopSearch { font-size:13px; padding:14px 14px 14px 44px }
  .ai-glow-wrap svg { left:13px; width:17px; height:17px }
  .shop-filters { flex-wrap:wrap!important; overflow-x:visible!important; justify-content:center!important; gap:5px!important; margin-bottom:16px!important; padding:0!important }
  .filter-btn { font-size:9px!important; padding:7px 12px!important; letter-spacing:2px!important; min-height:34px!important; flex-shrink:1!important }
  .shop-grid { grid-template-columns:1fr; gap:2px }
  .product-img { height:190px }
  .book-btn,.btn,.buy-btn,.event-register-btn,.filter-btn { min-height:44px }
  .cookie-consent { grid-template-columns:1fr; gap:10px; padding:14px }
  .cookie-settings.is-open { grid-template-columns:1fr }
  .cookie-btn { font-size:11px }
  .contract-flow { gap:2px }
  .contract-card { padding:20px; min-height:auto; clip-path:none }
  .map-shell { gap:2px; min-height:0 }
  .gta-map-frame { min-height:360px }
  .map-panel { padding:18px }
  .help-overlay-body { gap:2px }
  .help-list { gap:7px }
  .help-item { padding:11px; grid-template-columns:42px 1fr }
  .new-horse-card:hover { transform:none }
  .new-horse-card-media { height:190px }
  .new-horse-card-media img { padding:0; object-fit:cover }
  .new-horse-card-body { padding:18px 16px; gap:10px }
  .new-horse-detail { padding:0 10px }
  .new-horse-inline-back { font-size:10px; padding:7px 11px; clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px)) }
  .new-horses-shell { width:100%; margin:0 }
  .new-horse-list { grid-template-columns:minmax(0,1fr); padding:0 12px }
  .new-horse-card { max-width:400px; width:100%; margin:0 auto }
}

/* tiny phones */
@media(max-width:380px) {
  .hero-right { padding-top:calc(54px + env(safe-area-inset-top))!important }
  .slider { aspect-ratio:1/0.88!important }
  .hero-title { font-size:clamp(44px,13vw,64px)!important }
  .mobile-command-dock { width:min(92vw,340px) }
  .mobile-command-dock a,.mobile-command-dock button { min-height:42px; font-size:8px }
}

/* landscape phones */
@media(max-width:768px) and (orientation:landscape) {
  .hero { flex-direction:row!important }
  .hero-right {
    order:1!important;
    flex:0 0 46%!important;
    width:46%!important;
    height:100dvh!important;
    padding-top:calc(58px + env(safe-area-inset-top))!important;
  }
  .slider { aspect-ratio:unset!important; height:100%!important }
  .hero-left {
    order:0!important;
    flex:0 0 54%!important;
    width:54%!important;
    padding:calc(62px + env(safe-area-inset-top)) 24px 20px 28px!important;
    text-align:left!important;
    align-items:flex-start!important;
  }
}

/* Performance */
@media(max-width:768px) {
  .atelier-action:hover,.bike-card:hover,.product-card:hover { transform:none!important }
  .bike-card:hover img { transform:scale(1.03)!important }
  .shop-overlay { transition:opacity .2s ease,transform .25s ease }
  .bike-card,.contact-channel,.event-card,.new-horse-card,.new-horse-section-card,.product-card,.review-card { contain:paint }
}
@media(max-width:980px) and (max-height:500px) {
  .hero { flex-direction:row!important }
  .hero-right { order:1!important; flex:0 0 50%!important; width:50%!important; height:100dvh!important; padding-top:calc(62px + env(safe-area-inset-top))!important }
  .slider { aspect-ratio:unset!important; height:100%!important }
  .hero-left { order:0!important; flex:0 0 50%!important; padding:calc(66px + env(safe-area-inset-top)) 24px 24px 32px!important }
  .hero-title { font-size:clamp(40px,9vw,72px)!important }
  .hero-buttons { flex-direction:row; gap:10px }
  .btn { width:auto; padding:12px 20px; font-size:11px }
}
@media(prefers-reduced-motion:reduce) { *,::after,::before { animation-duration:0s!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01s!important } }
@supports (-webkit-touch-callout:none) { .mobile-menu-panel,.shop-body,body{-webkit-overflow-scrolling:touch}.hero{min-height:-webkit-fill-available}.mobile-menu,.shop-overlay{min-height:-webkit-fill-available} }
html::before { content:''; position:fixed; top:0; left:0; right:0; height:env(safe-area-inset-top); background:#000; z-index:99998; pointer-events:none }
body,html { overscroll-behavior:none }
@media(max-width:768px) { *{touch-action:manipulation} }

/* ════════════════════════════════════════════════════════════════════
   BUG FIXES — 3 ISSUES
   ════════════════════════════════════════════════════════════════════ */

/* ── FIX 1: NAV GAP ON IOS SCROLL ──────────────────────────────────
   On iOS, backdrop-filter + position:fixed creates scroll bleed.
   On mobile: solid black bg, no blur, extend behind status bar.   */
@media(max-width:980px) {
  nav {
    /* No blur on mobile — eliminates the scroll gap artifact */
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:#000!important;
    /* Extend nav background to the very top of the screen */
    padding-top:env(safe-area-inset-top)!important;
    top:0!important;
    /* Push nav bg behind status bar area */
    margin-top:0!important;
  }
  nav.nav-scrolled {
    background:#000!important;
  }
  /* html::before safe-area bar: make sure it matches nav bg exactly */
  html::before {
    background:#000!important;
    /* Slightly taller to ensure no gap during rubber-band scroll */
    height:calc(env(safe-area-inset-top) + 2px)!important;
  }
}

/* ── FIX 2: BROKEN TEXT — scanlines killing white text on mobile ────
   body::before (scanlines) at 30% creates dark horizontal bands
   every 4px that slice through large letter shapes.
   Solution: hide completely on mobile, keep only on desktop.      */
@media(max-width:768px) {
  body::before {
    display:none!important;
  }
  /* Also ensure animated grain is off (belt and braces) */
  body::after {
    display:none!important;
  }
}

/* Desktop: slightly reduce grain opacity so it enhances, not destroys */
@media(min-width:769px) {
  body::after {
    opacity:.08!important;
  }
  body::before {
    opacity:.45!important;
  }
}

/* ── FIX 3: FOOTER TOO DARK — boost all text contrast ──────────────
   Pure #000 bg + near-invisible text colors. Raise all opacities.  */
footer {
  /* Subtle warm tint so it reads as a space, not a void */
  background:linear-gradient(180deg, #000 0%, #060400 60%, #080500 100%)!important;
}

/* Social links: raise from .45 to .75 */
.footer-social a {
  color:rgba(255,255,255,.75)!important;
  border-top-color:rgba(255,26,26,.18)!important;
}
.footer-social a:hover {
  color:var(--y)!important;
}

/* Nav links: raise from .22 to .58 */
.footer-links a {
  color:rgba(255,255,255,.58)!important;
}
.footer-links a:hover {
  color:var(--y)!important;
}

/* Copyright text: raise from .18 to .45 */
footer p {
  color:rgba(255,255,255,.45)!important;
}

/* Cookie link: raise from .20 to .42 */
.footer-cookie-link {
  color:rgba(255,255,255,.42)!important;
}
.footer-cookie-link:hover {
  color:var(--y)!important;
}

/* Add ambient yellow glow above footer */
footer::before {
  content:'' !important;
  position:absolute!important;
  left:50%; top:0!important; bottom:unset!important;
  width:min(600px,90vw)!important; height:180px!important;
  transform:translateX(-50%)!important;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,26,26,.07) 0%, transparent 70%)!important;
  pointer-events:none!important;
  filter:none!important;
  opacity:1!important;
}

/* Mobile footer: even more contrast */
@media(max-width:768px) {
  .footer-social a {
    color:rgba(255,255,255,.8)!important;
    border-top-color:rgba(255,26,26,.25)!important;
    background:rgba(255,26,26,.04)!important;
  }
  .footer-links a {
    color:rgba(255,255,255,.65)!important;
  }
  footer p {
    color:rgba(255,255,255,.5)!important;
  }
  .footer-cookie-link {
    color:rgba(255,255,255,.48)!important;
  }
  /* Footer logo more visible */
  .footer-logo {
    color:rgba(255,255,255,.95)!important;
  }
}

/* ── BONUS: contact section bottom also too dark ────────────────── */
.contact-section {
  background:linear-gradient(180deg, #000 0%, #060400 100%);
}
.contact-channel {
  background:rgba(255,26,26,.03)!important;
}
.contact-channel:hover {
  background:rgba(255,26,26,.06)!important;
}
/* Boost contact text visibility */
.contact-intro {
  color:rgba(255,255,255,.68)!important;
}
.contact-channel p {
  color:rgba(255,255,255,.6)!important;
}
.contact-channel h3 {
  color:#fff!important;
}

/* ════════════════════════════════════════════════════════════════════
   UPGRADE: FEATURES + FOOTER — INSPIRED REDESIGN
   ════════════════════════════════════════════════════════════════════ */

/* ── FEATURES: numbered, dramatic, always-on yellow left bar ──── */

/* Counter variable for feature numbers */
.features-grid { counter-reset: feat }

.feature {
  counter-increment: feat;
  position:relative;
  overflow:hidden;
  padding:44px 44px 44px 36px!important;
  /* Left yellow accent bar — always visible, not hover-only */
  border-left:3px solid rgba(255,26,26,.18)!important;
  border-top:none!important;
  background:rgba(255,26,26,.015)!important;
  transition:all .4s var(--ease)!important;
}

/* Yellow left bar that grows from bottom on load */
.feature::before {
  content:''!important;
  position:absolute!important;
  left:0!important; bottom:0!important; top:0!important;
  width:3px!important;
  background:linear-gradient(180deg, var(--y), var(--o))!important;
  box-shadow:0 0 20px var(--yg), 0 0 40px rgba(255,26,26,.1)!important;
  transform:scaleY(0)!important;
  transform-origin:bottom!important;
  transition:transform .5s var(--ease)!important;
}
.feature:hover::before { transform:scaleY(1)!important }
.feature:hover { background:rgba(255,26,26,.04)!important; border-left-color:rgba(255,26,26,.4)!important }

/* Big faded counter number in background */
.feature::after {
  content:counter(feat, decimal-leading-zero);
  position:absolute;
  right:24px; top:50%; transform:translateY(-50%);
  font-family:var(--sans); font-size:120px; font-weight:900;
  color:rgba(255,26,26,.04);
  line-height:1; pointer-events:none; user-select:none;
  letter-spacing:-4px;
  transition:all .4s;
}
.feature:hover::after { color:rgba(255,26,26,.07) }

/* Feature title: left accent dot */
.feature h3 {
  font-size:clamp(20px,2.2vw,30px)!important;
  margin-bottom:14px!important;
  color:#fff!important;
  position:relative; z-index:1;
  letter-spacing:1px!important;
}
.feature h3::before {
  content:'';
  display:inline-block;
  width:8px; height:8px;
  background:var(--y);
  box-shadow:0 0 10px var(--yg);
  flex-shrink:0;
  margin-right:16px;
  animation:blink 2.5s ease-in-out infinite;
}
.feature p { position:relative; z-index:1; font-size:16px!important; color:rgba(255,255,255,.6)!important }
.feature .feature-icon { position:relative; z-index:1 }

/* ── MOBILE: full-bleed feature cards with number accent ───────── */
@media(max-width:768px) {
  .features-grid {
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }

  .feature {
    padding:28px 22px 28px 24px!important;
    border-left:4px solid rgba(255,26,26,.22)!important;
    border-bottom:1px solid rgba(255,26,26,.06)!important;
    border-top:none!important;
    background:#000!important;
    position:relative;
    overflow:hidden;
  }

  /* Always-on yellow left glow on mobile */
  .feature::before {
    transform:scaleY(.35)!important;
    opacity:.7;
  }

  /* Smaller counter number */
  .feature::after {
    font-size:80px!important;
    right:16px!important;
    color:rgba(255,26,26,.05)!important;
  }

  /* Feature row: icon left, text right */
  .feature {
    display:grid!important;
    grid-template-columns:56px 1fr!important;
    grid-template-rows:auto auto!important;
    gap:0 16px!important;
    align-items:start!important;
  }
  /* Icon occupies left column, spans both rows */
  .feature .feature-icon, .feature > .contact-channel-icon {
    grid-column:1!important;
    grid-row:1 / 3!important;
    width:56px!important; height:56px!important;
    align-self:center!important;
  }
  .feature h3 {
    grid-column:2!important;
    grid-row:1!important;
    font-size:18px!important;
    margin-bottom:8px!important;
    align-self:end!important;
  }
  .feature h3::before { display:none }
  .feature p {
    grid-column:2!important;
    grid-row:2!important;
    font-size:14px!important;
    line-height:1.6!important;
    color:rgba(255,255,255,.58)!important;
  }
}

/* ── FOOTER: dramatic redesign ─────────────────────────────────── */

/* Social links: full border, yellow glow treatment */
.footer-social a {
  border:1px solid rgba(255,26,26,.15)!important;
  border-top:1px solid rgba(255,26,26,.15)!important;
  background:rgba(255,26,26,.03)!important;
  color:rgba(255,255,255,.8)!important;
  position:relative;
  overflow:hidden;
  font-size:12px!important;
  letter-spacing:4px!important;
}
/* Yellow sweep on hover */
.footer-social a::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,26,26,.06), transparent);
  transform:translateX(-100%);
  transition:transform .5s;
}
.footer-social a:hover::before { transform:translateX(100%) }
.footer-social a:hover {
  border-color:rgba(255,26,26,.5)!important;
  color:var(--y)!important;
  background:rgba(255,26,26,.06)!important;
  box-shadow:0 0 20px rgba(255,26,26,.1)!important;
  transform:none!important;
}

/* Mobile social: stack full-width, bigger, more dramatic */
@media(max-width:768px) {
  .footer-social {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    gap:0!important;
    margin-bottom:32px!important;
  }
  .footer-social a {
    width:100%!important;
    min-height:62px!important;
    clip-path:none!important;
    border-radius:0!important;
    border:none!important;
    border-bottom:1px solid rgba(255,26,26,.12)!important;
    font-size:13px!important;
    letter-spacing:5px!important;
    color:rgba(255,255,255,.85)!important;
    background:rgba(255,26,26,.03)!important;
    padding:0 24px!important;
    justify-content:flex-start!important;
    gap:16px!important;
  }
  .footer-social a svg { width:22px!important; height:22px!important; color:var(--y)!important }
  .footer-social a:hover {
    color:var(--y)!important;
    background:rgba(255,26,26,.07)!important;
    padding-left:32px!important;
  }
  .footer-social a:first-child { border-top:1px solid rgba(255,26,26,.12)!important }

  /* Footer nav links: bigger, spaced, separated */
  .footer-links {
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:4px 0!important;
    padding:0 16px!important;
    margin-bottom:32px!important;
  }
  .footer-links a {
    font-size:11px!important;
    letter-spacing:3px!important;
    color:rgba(255,255,255,.65)!important;
    padding:6px 10px!important;
    position:relative;
  }
  .footer-links a::after {
    content:'·';
    position:absolute; right:-2px; top:50%; transform:translateY(-50%);
    color:rgba(255,26,26,.25); font-size:14px;
  }
  .footer-links a:last-child::after { display:none }

  /* SPARK WAY LITHUANIA — make it glow */
  .footer-logo {
    font-size:clamp(15px,4.4vw,22px)!important;
    letter-spacing:1px!important;
  }
  .footer-logo .spark {
    text-shadow:0 0 24px rgba(255,26,26,.5), 0 0 50px rgba(255,26,26,.15)!important;
  }

  /* Copyright row more spacious */
  .footer-bottom {
    flex-direction:column!important;
    gap:10px!important;
    padding-top:24px!important;
  }
  footer p {
    font-size:11px!important;
    letter-spacing:3px!important;
    color:rgba(255,255,255,.5)!important;
    line-height:1.8!important;
  }
  .footer-cookie-link {
    font-size:10px!important;
    color:rgba(255,26,26,.5)!important;
    letter-spacing:3px!important;
  }
  .footer-cookie-link:hover { color:var(--y)!important }
}

/* Footer top yellow glow bar */
footer {
  border-top:2px solid var(--y)!important;
  box-shadow:0 -6px 40px rgba(255,26,26,.12), 0 -1px 0 rgba(255,26,26,.3)!important;
}

/* Yellow separator between footer sections */
.footer-bottom {
  border-top:1px solid rgba(255,26,26,.15)!important;
}


/* ════════════════════════════════════════════════════════════════════
   ⚡ SPARKWAY — EMPIRE EDITION
   TWO WHEELS EMPIRE × CYBERPUNK.NET × BUGATTI
   The strongest website in the Baltics
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. SCROLLING POWER TICKER — after hero, before bikes ─────── */
#features {
  position: relative;
  overflow: visible;
  padding-top: 0!important;
}
#features::before {
  content: '⚡ SPARKWAY ⚡ BEST IN BALTICS ⚡ ELECTRIC · FAST · PREMIUM ⚡ VILNIUS · KAUNAS · KLAIPĖDA ⚡ SPARKWAY ⚡ BEST IN BALTICS ⚡ ELECTRIC · FAST · PREMIUM ⚡ VILNIUS · KAUNAS · KLAIPĖDA ⚡ ';
  display: block;
  white-space: nowrap;
  overflow: hidden;
  background: var(--y);
  color: #000;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 5px;
  text-transform: uppercase;
  padding: 16px 0;
  margin: 0 -80px 80px;
  animation: empireTicker 28s linear infinite;
  will-change: transform;
  transform-origin: left;
  z-index: 5;
  position: relative;
  box-shadow: 0 0 40px rgba(255,26,26,.25), 0 4px 0 rgba(255,26,26,.5);
}
@keyframes empireTicker {
  from { transform: translateX(0) }
  to   { transform: translateX(-50%) }
}
@media(max-width:768px) {
  #features::before {
    margin: 0 -22px 52px;
    font-size: 11px;
    letter-spacing: 4px;
    padding: 13px 0;
  }
}
@media(prefers-reduced-motion: reduce) {
  #features::before { animation: none }
}

/* ── 2. DIAGONAL SECTION TRANSITIONS ──────────────────────────── */
/* Yellow diagonal blade between hero and bikes */
.hero {
  margin-bottom: 0;
}
.hero::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: -2px !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, var(--y) 20%, var(--r) 80%, transparent) !important;
  box-shadow: 0 0 30px rgba(255,26,26,.4) !important;
  animation: none !important;
  top: auto !important;
  z-index: 10 !important;
}

/* Atelier section: diagonal top cut */
.atelier-section {
  clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%);
  padding-top: calc(120px + 40px)!important;
  margin-top: -20px;
}
@media(max-width:768px) {
  .atelier-section {
    clip-path: polygon(0 24px, 100% 0, 100% 100%, 0 100%);
    padding-top: calc(72px + 24px)!important;
    margin-top: -12px;
  }
}

/* ── 3. HERO: MAXIMUM IMPACT ───────────────────────────────────── */

/* "BEST IN BALTICS" floating badge — desktop */
@media(min-width:769px) {
  .hero-left {
    position: relative;
  }
  .hero-tag::after {
    content: '';
  }
}

/* Hero title: even bigger, more aggressive */
.hero-title {
  font-size: clamp(96px, 12vw, 190px)!important;
  line-height: .82!important;
  letter-spacing: -5px!important;
  margin-bottom: 28px!important;
}

/* Hero descriptor: monospace quote */
.hero-desc {
  border-left: 3px solid rgba(255,26,26,.4)!important;
  padding-left: 20px!important;
  font-size: clamp(15px,1.4vw,20px)!important;
  font-style: italic!important;
  color: rgba(255,255,255,.55)!important;
  max-width: 480px!important;
}

/* Buttons: more aggressive */
.btn-red {
  font-size: 14px!important;
  letter-spacing: 5px!important;
  padding: 18px 48px!important;
}
.btn-dark {
  font-size: 13px!important;
  letter-spacing: 4px!important;
}

/* ── 4. BIKES SECTION: MOTORSPORT CATALOG ─────────────────────── */

/* "CHOOSE YOUR RIDE" section tag and title override */
.bikes-grid {
  gap: 3px!important;
}

/* Bike card: more cinematic */
.bike-card {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)!important;
  border-radius: 0!important;
  transition: all .5s var(--ease)!important;
}
.bike-card:hover {
  transform: scale(1.015)!important;
  z-index: 2!important;
}

/* Bike image: full bleed, more dramatic */
.bike-card img {
  height: 520px!important;
  object-fit: cover!important;
  filter: brightness(1.1) contrast(1.12) saturate(1.08)!important;
  transition: transform 1s var(--ease), filter 1s!important;
}
.bike-card:hover img {
  transform: scale(1.08)!important;
  filter: brightness(1.2) contrast(1.15) saturate(1.12)!important;
}
.bike-card.ultra-card img { object-position: center 25%!important }

/* Bike content: glass panel style */
.bike-content {
  background: linear-gradient(0deg,
    rgba(0,0,0,.98) 0%,
    rgba(0,0,0,.92) 60%,
    rgba(0,0,0,.4) 90%,
    transparent 100%)!important;
  padding: 44px 40px!important;
  margin-top: -110px!important;
}
.bike-content h3 {
  font-size: clamp(38px, 3.8vw, 58px)!important;
  background: linear-gradient(to right, #fff 0%, rgba(255,255,255,.85) 50%, var(--y) 100%)!important;
  -webkit-background-clip: text!important;
  -webkit-text-fill-color: transparent!important;
  letter-spacing: -1px!important;
  text-shadow: none!important;
  filter: none!important;
}

/* Stat blocks: bigger numbers */
.stat h4 {
  font-size: 34px!important;
  font-weight: 900!important;
  letter-spacing: -1px!important;
}

/* Book button: full width on mobile */
@media(max-width:768px) {
  .bike-content { margin-top: -60px!important; padding: 28px 22px!important }
  .bike-content h3 { font-size: 28px!important }
  .bike-card img { height: 280px!important; object-fit: cover!important; object-position: center 30%!important; padding: 0!important }
  .price-row { gap: 16px!important }
  .book-btn, .buy-now-btn { display: block!important; text-align: center!important; width: 100%!important }
}

/* ── 5. SECTION TITLES: large faded background word ─────────────── */
.section-title {
  position: relative!important;
  font-size: clamp(58px, 8vw, 120px)!important;
  letter-spacing: -3px!important;
  line-height: .86!important;
  margin-bottom: 60px!important;
}

/* ── 6. FEATURES SECTION: EMPIRE POWER BLOCKS ───────────────────── */
#features {
  background: #000!important;
}

.features-grid {
  grid-template-columns: repeat(2,1fr)!important;
  gap: 3px!important;
}
@media(max-width:768px) {
  .features-grid { grid-template-columns: 1fr!important }
}

.feature {
  padding: 52px 44px!important;
  background: rgba(255,26,26,.02)!important;
  border-top: none!important;
  border-left: none!important;
  border-bottom: 3px solid rgba(255,26,26,.08)!important;
  min-height: 280px!important;
  display: flex!important;
  flex-direction: column!important;
  justify-content: space-between!important;
  transition: all .4s var(--ease)!important;
}
.feature:hover {
  background: rgba(255,26,26,.05)!important;
  border-bottom-color: var(--y)!important;
}
.feature:hover::before { transform: scaleX(1)!important }

/* Feature icon: larger */
.feature .feature-icon,
.feature > .contact-channel-icon {
  width: 60px!important; height: 60px!important;
  margin-bottom: 20px!important;
  border: 1px solid rgba(255,26,26,.2)!important;
}

.feature h3 {
  font-size: clamp(22px, 2.5vw, 34px)!important;
  margin-bottom: 16px!important;
  color: #fff!important;
  letter-spacing: 0!important;
}
/* Remove the counter number from mobile (but keep on desktop) */
.feature::after {
  font-size: 100px!important;
  right: 20px!important;
  color: rgba(255,26,26,.05)!important;
}
.feature p { font-size: 17px!important; color: rgba(255,255,255,.55)!important; font-weight: 300!important }

/* ── 7. ATELIER SECTION: EMPIRE TREATMENT ──────────────────────── */
.atelier-section {
  background: #050300!important;
  position: relative!important;
}
/* Yellow top accent */
.atelier-section::after {
  content: ''!important;
  position: absolute!important; top: 0!important; left: 0!important; right: 0!important;
  height: 4px!important;
  background: linear-gradient(90deg, var(--y), var(--o) 50%, var(--r))!important;
  box-shadow: 0 4px 30px rgba(255,26,26,.3)!important;
}

.atelier-title {
  font-size: clamp(48px, 7.5vw, 118px)!important;
  line-height: .85!important;
  letter-spacing: -3px!important;
  font-weight: 900!important;
  font-style: italic!important;
  text-transform: none!important;
}

.atelier-gallery {
  gap: 3px!important;
}

/* Atelier action cards: more dramatic */
.atelier-action {
  min-height: 220px!important;
}
.atelier-action h3 {
  font-size: clamp(28px, 2.8vw, 44px)!important;
  letter-spacing: -0.5px!important;
}

/* ── 8. ABOUT / REVIEWS / CONTACT: EMPIRE UPGRADE ─────────────── */
.about-section {
  background: #000!important;
  position: relative!important;
}
.about-section::after {
  content: ''!important;
  position: absolute!important;
  top: 0!important; left: 0!important; right: 0!important;
  height: 1px!important;
  background: linear-gradient(90deg, transparent, rgba(255,26,26,.3) 40%, rgba(255,26,26,.3) 60%, transparent)!important;
}

.about-title {
  font-size: clamp(48px, 6vw, 88px)!important;
  letter-spacing: -2px!important;
  line-height: .9!important;
}

.about-stat-box h4 {
  font-size: 64px!important;
  font-weight: 900!important;
  letter-spacing: -2px!important;
  line-height: 1!important;
}

.about-letter {
  background: rgba(255,26,26,.025)!important;
  border-color: rgba(255,26,26,.18)!important;
}
.about-letter p {
  font-size: 19px!important;
  line-height: 1.9!important;
}

/* Reviews: more dramatic */
.reviews-section {
  background: linear-gradient(180deg, #000 0%, #040200 100%)!important;
  position: relative!important;
}
.review-text {
  font-size: 20px!important;
  line-height: 1.75!important;
  font-style: italic!important;
}

/* ── 9. CONTACT: EMPIRE CHANNELS ──────────────────────────────── */
.contact-section {
  position: relative!important;
}
.contact-channel h3 {
  font-size: 40px!important;
  letter-spacing: -0.5px!important;
}
.contact-channel a.channel-btn {
  font-size: 14px!important;
  padding: 18px 36px!important;
  letter-spacing: 4px!important;
}

/* ── 10. SECTION DIVIDER LINES ─────────────────────────────────── */
/* Yellow horizontal power lines between every section */
.section {
  position: relative!important;
}

/* ── 11. SCROLL PROGRESS: thicker, more prominent ──────────────── */
.scroll-progress {
  height: 4px!important;
  box-shadow: 0 0 30px var(--yg), 0 0 60px rgba(255,26,26,.2)!important;
}

/* ── 12. NAV: EMPIRE IDENTITY ──────────────────────────────────── */
nav {
  border-bottom: 2px solid var(--y)!important;
}
.logo {
  font-size: 34px!important;
  letter-spacing: 2px!important;
}
@media(max-width:768px) {
  .logo { font-size: 24px!important }
}

/* ── 13. FOOTER: EMPIRE STANDARD ──────────────────────────────── */
footer {
  padding-top: 100px!important;
  padding-bottom: calc(44px + env(safe-area-inset-bottom))!important;
}
@media(max-width:768px) {
  footer { padding-bottom: calc(110px + env(safe-area-inset-bottom))!important }
}

.footer-logo {
  font-size: clamp(16px, 3.2vw, 26px)!important;
  letter-spacing: 1.5px!important;
  font-weight: 900!important;
  text-shadow: none!important;
}
.footer-logo .spark {
  color: var(--y)!important;
  text-shadow: 0 0 30px rgba(255,26,26,.5), 0 0 60px rgba(255,26,26,.15)!important;
}

/* Footer: ambient yellow glow above */
footer::before {
  background: radial-gradient(ellipse at 50% 0%, rgba(255,26,26,.1) 0%, transparent 65%)!important;
  height: 300px!important;
  opacity: 1!important;
  filter: none!important;
}

/* ── 14. MOBILE COMMAND DOCK: EMPIRE POWER DOCK ────────────────── */
@media(max-width:768px) {
  .mobile-command-dock {
    border: 2px solid var(--y)!important;
    box-shadow: 0 0 40px rgba(255,26,26,.25), 0 20px 60px rgba(0,0,0,.9)!important;
    background: #000!important;
  }
  .mobile-command-dock a,
  .mobile-command-dock button {
    font-size: 10px!important;
    letter-spacing: 3px!important;
    color: rgba(255,255,255,.8)!important;
    background: #000!important;
  }
  .mobile-command-dock .inline-icon {
    width: 18px!important; height: 18px!important;
    filter: drop-shadow(0 0 8px rgba(255,26,26,.6))!important;
  }
}

/* ── 15. SHOP OVERLAY: EMPIRE CATALOG ──────────────────────────── */
.shop-overlay {
  background: #000!important;
}
.shop-nav {
  border-bottom: 2px solid var(--y)!important;
  background: #000!important;
}
.shop-grid {
  gap: 3px!important;
}
.product-card:hover {
  transform: scale(1.02)!important;
  z-index: 2!important;
  box-shadow: 0 0 0 2px var(--y), 0 30px 60px rgba(0,0,0,.8)!important;
}
.product-card:hover::after {
  border-color: var(--y)!important;
}

/* ── 16. GLOBAL TYPOGRAPHY REFINEMENT ─────────────────────────── */

/* All mono text gets slightly more weight for legibility */
.section-tag {
  font-size: 12px!important;
  letter-spacing: 5px!important;
  margin-bottom: 18px!important;
}

/* Buttons globally sharper */
.btn {
  letter-spacing: 5px!important;
  font-weight: 900!important;
}
.book-btn, .buy-now-btn {
  letter-spacing: 4px!important;
}

/* Links in content: yellow highlight on hover */
.contact-channel a:not(.channel-btn):hover,
.atelier-action:hover small,
.footer-links a:hover {
  color: var(--y)!important;
}

/* ── 17. KEYFRAME: EMPIRE POWER GLOW ───────────────────────────── */
@keyframes empireGlow {
  0%, 100% { box-shadow: 0 0 20px rgba(255,26,26,.2) }
  50%       { box-shadow: 0 0 40px rgba(255,26,26,.5), 0 0 80px rgba(255,26,26,.1) }
}

/* Btn-red: pulsing empire glow */
.btn-red {
  animation: empireGlow 3s ease-in-out infinite!important;
}
.btn-red:hover {
  animation: none!important;
  box-shadow: 0 0 60px rgba(255,26,26,.6), 0 0 120px rgba(255,26,26,.2)!important;
}

/* ── 18. EMPIRE SECTION SPACING ─────────────────────────────────── */
.section {
  padding: 100px 80px!important;
}
.about-section, .reviews-section, .contact-section {
  padding: 100px 80px!important;
}
@media(max-width:768px) {
  .section, .about-section, .reviews-section, .contact-section,
  .atelier-section {
    padding: 64px 22px!important;
  }
  #features {
    padding: 0 22px 64px!important;
  }
}

/* ── 19. HERO MOBILE: EMPIRE TREATMENT ─────────────────────────── */
@media(max-width:768px) {
  .hero-title {
    font-size: clamp(56px, 14vw, 82px)!important;
    letter-spacing: -2px!important;
    line-height: .85!important;
    margin-bottom: 12px!important;
  }
  .hero-desc {
    font-size: 14px!important;
    padding-left: 14px!important;
    border-left-width: 2px!important;
    margin-bottom: 20px!important;
    font-style: normal!important;
  }
  .hero-buttons {
    gap: 10px!important;
  }
  .btn {
    padding: 14px 28px!important;
    font-size: 12px!important;
    letter-spacing: 4px!important;
  }
}

/* ── 20. FINAL POLISH: BORDER RADIUS = 0 EVERYWHERE ─────────────── */
/* True industrial feel — no soft corners */
* {
  border-radius: 0!important;
}
/* Exception: circular elements */
.review-avatar,
.about-stat-box,
.hero-tag::before,
.event-soon::before,
.coming-soon-badge::before {
  border-radius: 50%!important;
}

/* ═══════════════════════════════════════════════════════════════════
   IMMERSIVE REDESIGN — Radian-style premium feel
   ═══════════════════════════════════════════════════════════════════ */

/* 1. Reduce grain & scanlines for a cleaner, premium look */
body::after  { opacity:.045!important }
body::before { opacity:.18!important }

/* ── HERO: FULL-BLEED IMMERSIVE ─────────────────────────────────── */

/* Expand the image panel to cover the whole hero */
.hero-right {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  z-index:2!important;
}

/* Replace targeting-bracket pseudo with a left-to-right dark gradient */
.hero-right::before {
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.9) 0%,
    rgba(0,0,0,.6) 40%,
    transparent 75%
  )!important;
  inset:0!important;
  z-index:5!important;
  animation:none!important;
}

/* Tone down the grid floor */
.hero-right::after { opacity:.15!important }

/* Full-bleed slide images — no radial mask, use cover */
.slide img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:65% 28%!important;
  padding:0!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:brightness(.68) contrast(1.12) saturate(1.05)!important;
  animation:floatBike 12s ease-in-out infinite!important;
}

/* Keep hero-left in normal flow, sitting above the full-bleed image */
.hero-left {
  position:relative!important;
  z-index:10!important;
  width:52%!important;
  max-width:860px!important;
  padding:calc(68px + env(safe-area-inset-top) + 80px) 0 120px 80px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  flex:1!important;
}

/* Strengthen left-side dark gradient for text legibility */
.hero::before {
  background:
    linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.72) 30%, rgba(0,0,0,.22) 60%, transparent 82%),
    radial-gradient(ellipse at 72% 50%, rgba(180,12,0,.32) 0%, rgba(100,6,0,.12) 30%, transparent 60%),
    radial-gradient(ellipse at 15% 80%, rgba(255,26,26,.04) 0%, transparent 38%)!important;
  z-index:3!important;
}

/* Scan line sits just above the gradient */
.hero::after { z-index:4!important }

/* Mobile: stack vertically, image behind, text overlay at bottom */
@media(max-width:768px) {
  .hero-right { width:100%!important }
  .hero-left {
    width:100%!important;
    max-width:none!important;
    padding:calc(68px + env(safe-area-inset-top) + 32px) 22px 88px!important;
    justify-content:flex-end!important;
    min-height:100dvh!important;
  }
  .hero-right::before {
    background:linear-gradient(
      0deg,
      rgba(0,0,0,.95) 0%,
      rgba(0,0,0,.65) 52%,
      rgba(0,0,0,.18) 100%
    )!important;
  }
  .slide img { object-position:62% 18%!important }
}

/* ── SPOTLIGHT SECTIONS (Radian-style full-bleed feature panels) ── */

.spotlight {
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#000;
}

.spotlight + .spotlight {
  border-top:1px solid rgba(255,26,26,.07);
}

.spotlight-bg {
  position:absolute;
  inset:0;
  z-index:1;
}

.spotlight-bg img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  filter:brightness(.48) contrast(1.1) saturate(.9);
  transition:transform 1.4s cubic-bezier(.25,1,.5,1);
}

.spotlight:hover .spotlight-bg img { transform:scale(1.04) }

.spotlight-overlay {
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.72) 38%,
    rgba(0,0,0,.25) 75%,
    transparent 100%
  );
}

.spotlight-alt .spotlight-overlay {
  background:linear-gradient(
    270deg,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.72) 38%,
    rgba(0,0,0,.25) 75%,
    transparent 100%
  );
}

.spotlight-content {
  position:relative;
  z-index:3;
  padding:100px 80px;
  max-width:780px;
}

.spotlight-alt .spotlight-content {
  margin-left:auto;
  text-align:right;
}

/* The giant stat number — Radian's signature */
.spotlight-stat {
  font-family:var(--sans);
  font-size:clamp(120px,19vw,270px);
  line-height:.72;
  font-weight:900;
  letter-spacing:-8px;
  color:var(--y);
  text-shadow:0 0 90px rgba(255,26,26,.22),0 0 180px rgba(255,26,26,.08);
  margin-bottom:12px;
  display:block;
}

.spotlight-unit {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:7px;
  color:rgba(255,26,26,.65);
  text-transform:uppercase;
  margin-bottom:34px;
  display:block;
}

.spotlight-title {
  font-family:var(--sans);
  font-size:clamp(42px,6vw,92px);
  line-height:.9;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-2px;
  color:#fff;
  margin-bottom:22px;
}

.spotlight-desc {
  font-size:clamp(15px,1.45vw,20px);
  color:rgba(255,255,255,.55);
  line-height:1.72;
  font-weight:300;
  max-width:520px;
}

.spotlight-alt .spotlight-desc { margin-left:auto }

/* Hover: brighten image + subtle yellow edge glow */
.spotlight:hover .spotlight-bg img {
  filter:brightness(.68) contrast(1.12) saturate(1.0);
}

.spotlight::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:4;
  box-shadow:inset 0 0 0 0 rgba(255,26,26,0);
  transition:box-shadow .35s ease;
  pointer-events:none;
}

.spotlight:hover::after {
  box-shadow:inset 0 0 0 2px rgba(255,26,26,.55), inset 0 0 60px rgba(255,26,26,.06);
}

@media(max-width:768px) {
  .spotlight {
    min-height:75vh;
    align-items:flex-end;
  }
  .spotlight-content { padding:60px 24px 80px }
  .spotlight-alt .spotlight-content { margin-left:0; text-align:left }
  .spotlight-stat { font-size:clamp(84px,22vw,130px); letter-spacing:-4px }
  .spotlight-title { font-size:clamp(32px,10vw,56px) }
  .spotlight-desc { max-width:none }
  .spotlight-overlay,
  .spotlight-alt .spotlight-overlay {
    background:linear-gradient(
      0deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.7) 55%,
      rgba(0,0,0,.2) 100%
    )!important;
  }

  /* ── MOBILE BUG FIXES ── */

  /* Fix contact channel overflow — empire CSS sets 40px h3 + 18px 36px btn globally */
  .contact-channel h3 { font-size:22px!important; letter-spacing:0!important }
  .contact-channel a.channel-btn {
    font-size:11px!important;
    padding:12px 18px!important;
    letter-spacing:2px!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .contact-channel { padding:22px 18px!important }
  .contact-intro { font-size:15px!important; margin-bottom:24px!important }

  /* Bike card images: taller + better focal point on mobile */
  .bike-card img { height:300px!important; object-position:center 28%!important }
  .bike-card.ultra-card img { object-position:center 22%!important }

  /* Tighten bike content on mobile */
  .bike-content h3 { font-size:22px!important; letter-spacing:1px!important }
  .stat h4 { font-size:22px!important }
}

/* ════════════════════════════════════════════════════════════════════
   ⚡ FEATURES + FOOTER — RADIAN-INSPIRED POLISH × RED CYBER ACCENT
   (final block — wins the cascade)
   ════════════════════════════════════════════════════════════════════ */

/* Section ambient: red glow top-right, yellow bottom-left */
#features {
  background:
    radial-gradient(ellipse at 82% 6%, rgba(255,26,26,.06) 0%, transparent 46%),
    radial-gradient(ellipse at 8% 100%, rgba(255,26,26,.035) 0%, transparent 46%),
    #000 !important;
}

.features-grid {
  grid-template-columns:repeat(2,1fr)!important;
  gap:2px!important;
}

/* ── Card ── */
.feature {
  position:relative!important;
  padding:50px 46px 46px!important;
  min-height:288px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
  background:linear-gradient(158deg, rgba(255,26,26,.028) 0%, rgba(255,26,26,.014) 62%, transparent 100%)!important;
  border:none!important;
  overflow:hidden!important;
  transition:transform .45s var(--ease), background .45s, box-shadow .45s!important;
  /* cyber notch top-right */
  clip-path:polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%)!important;
}

/* Top accent: yellow → orange → red, sweeps in on hover */
.feature::before {
  content:''!important;
  position:absolute!important;
  top:0!important; left:0!important; right:0!important; bottom:auto!important;
  height:3px!important; width:100%!important;
  background:linear-gradient(90deg, var(--y), var(--o) 55%, var(--r))!important;
  box-shadow:0 0 18px rgba(255,26,26,.3), 0 0 34px rgba(255,26,26,.14)!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  transition:transform .55s var(--ease)!important;
  z-index:3!important;
}
.feature:hover::before { transform:scaleX(1)!important }

/* Big number watermark, bottom-right, clipped by card */
.feature::after {
  content:counter(feat, decimal-leading-zero)!important;
  position:absolute!important;
  right:16px!important; bottom:-26px!important; top:auto!important; left:auto!important;
  transform:none!important;
  font-family:var(--sans)!important; font-size:138px!important; font-weight:900!important;
  line-height:1!important; letter-spacing:-7px!important;
  color:transparent!important;
  -webkit-text-stroke:1px rgba(255,26,26,.09)!important;
  pointer-events:none!important; user-select:none!important;
  transition:-webkit-text-stroke .45s, color .45s!important;
  z-index:0!important;
}
.feature:hover::after { -webkit-text-stroke:1px rgba(255,26,26,.2)!important }

/* Hover: lift + red-tinged depth */
.feature:hover {
  transform:translateY(-5px)!important;
  background:linear-gradient(158deg, rgba(255,26,26,.05) 0%, rgba(255,26,26,.032) 70%, transparent 100%)!important;
  box-shadow:0 26px 54px rgba(0,0,0,.6), 0 0 0 1px rgba(255,26,26,.12), inset 0 0 70px rgba(255,26,26,.035)!important;
}

/* Icon */
.feature .feature-icon,
.feature > .contact-channel-icon {
  width:58px!important; height:58px!important;
  margin-bottom:28px!important;
  border:1px solid rgba(255,26,26,.18)!important;
  position:relative!important; z-index:2!important;
  transition:border-color .4s, box-shadow .4s!important;
}
.feature:hover .feature-icon,
.feature:hover > .contact-channel-icon {
  border-color:rgba(255,26,26,.4)!important;
  box-shadow:0 0 26px rgba(255,26,26,.14)!important;
}

/* Title — icon stacks on top, then title text (handles long titles cleanly) */
.feature h3 {
  font-family:var(--sans)!important;
  font-size:clamp(21px,2.05vw,28px)!important;
  font-weight:900!important;
  letter-spacing:.5px!important;
  line-height:1.12!important;
  text-transform:uppercase!important;
  color:#fff!important;
  margin-bottom:15px!important;
  position:relative!important; z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  text-align:left!important;
  width:100%!important;
}
.feature h3::before { display:none!important }  /* drop the blinking dot */
.feature .feature-icon { align-self:flex-start!important }

/* Description */
.feature p {
  font-size:16px!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.55)!important;
  font-weight:300!important;
  position:relative!important; z-index:2!important;
  text-align:left!important;
  width:100%!important;
  max-width:92%!important;
}

@media(max-width:768px) {
  .features-grid {
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
  }
  .feature {
    min-height:0!important;
    padding:32px 24px!important;
    clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%)!important;
  }
  /* always-on partial accent line on mobile */
  .feature::before { transform:scaleX(.42)!important; opacity:.85!important }
  .feature::after { font-size:96px!important; right:12px!important; bottom:-18px!important }
  .feature .feature-icon,
  .feature > .contact-channel-icon { width:50px!important; height:50px!important; margin-bottom:18px!important }
  .feature h3 { font-size:18px!important; margin-bottom:10px!important }
  .feature p { font-size:14px!important; line-height:1.62!important; max-width:100%!important }
}

/* ── FOOTER: deeper red cyber accent ── */
footer {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,26,26,.07) 0%, transparent 52%),
    #000 !important;
  border-top:2px solid var(--y)!important;
}
/* Brighter top gradient seam (yellow → red) */
footer::after {
  background:linear-gradient(90deg, transparent, rgba(255,26,26,.7) 30%, rgba(255,26,26,.6) 60%, transparent)!important;
  box-shadow:0 0 24px rgba(255,26,26,.25), 0 0 40px rgba(255,26,26,.12)!important;
}
/* Social: red edge on hover */
.footer-social a:hover {
  border-color:rgba(255,26,26,.45)!important;
  color:var(--y)!important;
  box-shadow:0 0 24px rgba(255,26,26,.1), inset 0 0 30px rgba(255,26,26,.04)!important;
}
@media(max-width:768px) {
  .footer-social a:hover { box-shadow:inset 0 0 30px rgba(255,26,26,.06)!important }
}

/* ════════════════════════════════════════════════════════════════════
   🤖 SPARK AI — assistant widget (red cyber theme)
   ════════════════════════════════════════════════════════════════════ */
.spark-ai-fab {
  position:fixed; right:24px; bottom:24px; z-index:996;
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 20px 13px 15px;
  background:linear-gradient(135deg,#1a0303,#000);
  border:1.5px solid rgba(255,26,26,.5);
  color:#fff; font-family:var(--sans); font-weight:800; font-size:13px;
  letter-spacing:2px; text-transform:uppercase; cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  box-shadow:0 0 30px rgba(255,26,26,.28),0 14px 40px rgba(0,0,0,.6);
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s,opacity .25s;
}
.spark-ai-fab:hover { transform:translateY(-3px); border-color:var(--r);
  box-shadow:0 0 46px rgba(255,26,26,.45),0 18px 50px rgba(0,0,0,.7) }
.spark-ai-fab-ic { width:24px; height:24px; display:inline-flex; color:var(--r);
  filter:drop-shadow(0 0 8px rgba(255,26,26,.6)) }
.spark-ai-fab-ic svg { width:100%; height:100%; fill:currentColor }
.spark-ai-fab-pulse { position:absolute; top:-4px; right:-4px; width:13px; height:13px; border-radius:50%;
  background:#3DDBFF; box-shadow:0 0 10px rgba(61,219,255,.8); animation:sparkPulse 2.2s infinite }
@keyframes sparkPulse {
  0%   { box-shadow:0 0 0 0 rgba(61,219,255,.55) }
  70%  { box-shadow:0 0 0 12px rgba(61,219,255,0) }
  100% { box-shadow:0 0 0 0 rgba(61,219,255,0) }
}

.spark-ai-panel {
  position:fixed; right:24px; bottom:24px; z-index:1000;
  width:min(384px,calc(100vw - 36px)); height:min(564px,calc(100dvh - 130px));
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,rgba(12,4,4,.98),rgba(0,0,0,.99));
  border:1.5px solid rgba(255,26,26,.4);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  box-shadow:0 0 60px rgba(255,26,26,.2),0 30px 80px rgba(0,0,0,.85);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  transform:translateY(24px) scale(.95); opacity:0; pointer-events:none;
  transform-origin:bottom right; transition:transform .34s var(--ease),opacity .28s;
  overflow:hidden;
}
.spark-ai-panel.open { transform:none; opacity:1; pointer-events:auto }

.spark-ai-head { position:relative; flex-shrink:0; display:flex; align-items:center; gap:12px;
  padding:16px 14px 15px; border-bottom:1px solid rgba(255,26,26,.18);
  background:linear-gradient(90deg,rgba(255,26,26,.09),transparent) }
.spark-ai-head::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg,var(--r),var(--o) 55%,transparent) }
.spark-ai-ava { width:42px; height:42px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--r),#3DDBFF); border-radius:50%;
  box-shadow:0 0 22px rgba(255,26,26,.4) }
.spark-ai-ava svg { width:22px; height:22px; fill:#fff }
.spark-ai-meta { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0 }
.spark-ai-meta strong { font-family:var(--sans); font-size:17px; font-weight:900; letter-spacing:1px; color:#fff; text-transform:uppercase }
.spark-ai-meta strong span { color:var(--r) }
.spark-ai-stat { display:flex; align-items:center; gap:7px; font-family:var(--sans); font-size:11px; letter-spacing:.5px; color:rgba(255,255,255,.5) }
.spark-ai-stat i { width:8px; height:8px; border-radius:50%; background:#28e07a; box-shadow:0 0 8px #28e07a; flex-shrink:0 }
.spark-ai-x { width:32px; height:32px; flex-shrink:0; background:transparent; border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.7); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  border-radius:6px; transition:all .2s }
.spark-ai-x:hover { border-color:var(--r); color:var(--r) }
.spark-ai-x svg { width:16px; height:16px }

.spark-ai-msgs { flex:1; overflow-y:auto; overflow-x:hidden; padding:18px 14px; display:flex; flex-direction:column;
  gap:11px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain }
.spark-ai-msgs::-webkit-scrollbar { width:4px }
.spark-ai-msgs::-webkit-scrollbar-thumb { background:rgba(255,26,26,.3); border-radius:4px }
.spark-ai-msg { max-width:85%; padding:11px 14px; font-family:var(--sans); font-size:14.5px; line-height:1.5;
  letter-spacing:.2px; white-space:pre-line; animation:sparkMsgIn .3s var(--ease) }
@keyframes sparkMsgIn { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:none } }
.spark-ai-msg.bot { align-self:flex-start; background:rgba(255,255,255,.06); color:rgba(255,255,255,.9);
  border-left:2px solid var(--r); clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%) }
.spark-ai-msg.user { align-self:flex-end; background:linear-gradient(135deg,var(--r),#c01010); color:#fff;
  font-weight:500; clip-path:polygon(0 0,100% 0,100% 100%,9px 100%,0 calc(100% - 9px)) }
.spark-ai-typing { align-self:flex-start; display:inline-flex; gap:5px; padding:14px 16px;
  background:rgba(255,255,255,.06); border-left:2px solid var(--r) }
.spark-ai-typing i { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.5); animation:sparkDot 1.2s infinite }
.spark-ai-typing i:nth-child(2) { animation-delay:.2s }
.spark-ai-typing i:nth-child(3) { animation-delay:.4s }
@keyframes sparkDot { 0%,60%,100% { opacity:.3; transform:translateY(0) } 30% { opacity:1; transform:translateY(-4px) } }
.spark-ai-msg-actions { display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; margin-top:-2px }
.spark-ai-actbtn { display:inline-flex; align-items:center; gap:8px; padding:10px 16px;
  background:linear-gradient(135deg,#25d366,#128c4b); color:#fff; text-decoration:none;
  font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:1px; text-transform:uppercase;
  border-radius:7px; transition:transform .2s,box-shadow .2s }
.spark-ai-actbtn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(37,211,102,.4) }
.spark-ai-actbtn svg { width:16px; height:16px; fill:currentColor }

.spark-ai-chips { display:flex; gap:7px; padding:10px 14px 4px; overflow-x:auto; flex-shrink:0; scrollbar-width:none }
.spark-ai-chips::-webkit-scrollbar { display:none }
.spark-ai-chip { white-space:nowrap; padding:8px 14px; background:rgba(255,26,26,.06);
  border:1px solid rgba(255,26,26,.3); color:rgba(255,255,255,.8); font-family:var(--sans); font-size:12px;
  font-weight:600; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all .2s;
  flex-shrink:0; border-radius:20px }
.spark-ai-chip:hover { background:var(--r); border-color:var(--r); color:#fff }

.spark-ai-inrow { display:flex; gap:8px; padding:12px 14px; flex-shrink:0; border-top:1px solid rgba(255,26,26,.15) }
.spark-ai-inrow input { flex:1; min-width:0; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  color:#fff; padding:12px 14px; font-family:var(--sans); font-size:14px; letter-spacing:.4px; outline:none;
  border-radius:8px; transition:border-color .2s }
.spark-ai-inrow input:focus { border-color:var(--r) }
.spark-ai-inrow input::placeholder { color:rgba(255,255,255,.35) }
.spark-ai-send { width:46px; flex-shrink:0; background:linear-gradient(135deg,var(--r),#c01010); border:none;
  color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; border-radius:8px;
  transition:transform .2s,box-shadow .2s }
.spark-ai-send:hover { transform:scale(1.06); box-shadow:0 0 20px rgba(255,26,26,.4) }
.spark-ai-send svg { width:20px; height:20px; fill:currentColor }

.spark-ai-contacts { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:0 14px 14px; flex-shrink:0 }
.spark-ai-cta { height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px;
  color:#fff; transition:transform .2s,box-shadow .2s }
.spark-ai-cta:hover { transform:translateY(-2px) }
.spark-ai-cta svg { width:22px; height:22px; fill:currentColor }
.spark-ai-cta.wa   { background:linear-gradient(135deg,#25d366,#128c4b) }
.spark-ai-cta.wa:hover   { box-shadow:0 8px 20px rgba(37,211,102,.4) }
.spark-ai-cta.call { background:linear-gradient(135deg,#2ecc71,#27ae60) }
.spark-ai-cta.call:hover { box-shadow:0 8px 20px rgba(46,204,113,.4) }
.spark-ai-cta.mail { background:linear-gradient(135deg,var(--r),#c01010) }
.spark-ai-cta.mail:hover { box-shadow:0 8px 20px rgba(255,26,26,.4) }
.spark-ai-cta.ig   { background:linear-gradient(135deg,#3DDBFF,#1f9fd0) }
.spark-ai-cta.ig:hover   { box-shadow:0 8px 20px rgba(61,219,255,.4) }

/* Hide while mobile menu / overlays are open */
body.menu-active .spark-ai-fab, body.overlay-active .spark-ai-fab,
body.menu-active .spark-ai-panel, body.overlay-active .spark-ai-panel { display:none!important }
/* When chat is open, hide the FAB + mobile dock */
body.spark-ai-open .spark-ai-fab { opacity:0; pointer-events:none; transform:scale(.85) }

@media(max-width:768px) {
  .spark-ai-fab { right:14px; bottom:calc(88px + env(safe-area-inset-bottom)); padding:11px 16px 11px 13px; font-size:12px }
  .spark-ai-panel { right:8px; left:8px; bottom:8px; width:auto; height:min(80dvh,calc(100dvh - 80px)) }
  body.spark-ai-open .mobile-command-dock { display:none!important }
}

/* ════════════════════════════════════════════════════════════════════
   📱 MOBILE — HIGH-GRAPHICS POLISH (punchier imagery + depth)
   ════════════════════════════════════════════════════════════════════ */
@media(max-width:768px) {
  /* Smooth, crisp photo scaling on retina phones */
  .bike-card img, .slide img, .spotlight-bg img,
  .new-horse-card img, .product-img img {
    image-rendering:auto;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }

  /* Bike product photos: richer, more vivid — they pop off the black */
  .bike-card img {
    filter:brightness(1.04) contrast(1.1) saturate(1.12)!important;
  }

  /* Spotlight backgrounds: a touch brighter + more saturated so the bike reads */
  .spotlight-bg img {
    filter:brightness(.58) contrast(1.16) saturate(1.08)!important;
  }
  /* Spotlight stat number: stronger red neon glow */
  .spotlight-stat {
    text-shadow:0 0 40px rgba(255,26,26,.45), 0 0 90px rgba(255,26,26,.18)!important;
  }

  /* Hero bike: brighter + crisper on mobile for more impact */
  .slide img {
    filter:brightness(.78) contrast(1.16) saturate(1.1)!important;
  }
  /* Hero title: stronger red→blue glow */
  .hero-title {
    text-shadow:0 0 50px rgba(255,26,26,.28), 0 0 100px rgba(61,219,255,.12)!important;
  }

  /* Command dock: deeper glass + red glow for premium feel */
  .mobile-command-dock {
    backdrop-filter:blur(20px) saturate(1.2)!important;
    -webkit-backdrop-filter:blur(20px) saturate(1.2)!important;
    box-shadow:0 0 40px rgba(255,26,26,.22), 0 20px 60px rgba(0,0,0,.92)!important;
  }

  /* Feature icon glow: red→blue cyber pulse on mobile */
  .feature .feature-icon {
    box-shadow:0 0 20px rgba(255,26,26,.1)!important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   FOOTER TYPOGRAPHY — warmer, cleaner (drop the terminal mono look)
   ════════════════════════════════════════════════════════════════════ */
.footer-links a,
footer p,
.footer-cookie-link {
  font-family:var(--sans)!important;
  letter-spacing:1.5px!important;
  text-transform:uppercase!important;
}
.footer-links a {
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:1.8px!important;
}
footer p {
  font-size:11px!important;
  font-weight:500!important;
}
.footer-cookie-link {
  font-size:12px!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:1.8px!important;
}
.footer-social a {
  font-family:var(--sans)!important;
  font-weight:700!important;
  letter-spacing:2px!important;
}
@media(max-width:768px) {
  .footer-links a { font-size:12px!important; letter-spacing:1.5px!important }
  footer p { font-size:11px!important; letter-spacing:1px!important }
  .footer-cookie-link { font-size:12px!important; letter-spacing:1.5px!important; text-transform:uppercase!important }
  .footer-social a { letter-spacing:2.5px!important }
}

/* ════════════════════════════════════════════════════════════════════
   SELL YOUR BIKE — autoplius-style listing form (→ WhatsApp)
   ════════════════════════════════════════════════════════════════════ */
.sell-intro {
  font-size:17px; color:rgba(255,255,255,.6); max-width:680px; line-height:1.7;
  font-weight:300; margin-bottom:40px;
}
.sell-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:780px; width:100%; }
.sell-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.sell-field.full { grid-column:1 / -1; }
.sell-field label {
  font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--y);
}
.sell-field input,
.sell-field select,
.sell-field textarea {
  width:100%; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14);
  color:#fff; padding:14px 16px; font-family:var(--sans); font-size:15px; letter-spacing:.4px;
  outline:none; border-radius:8px; transition:border-color .2s, box-shadow .2s;
}
.sell-field textarea { resize:vertical; min-height:118px; }
.sell-field select {
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:42px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF1A1A' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
.sell-field input:focus,
.sell-field select:focus,
.sell-field textarea:focus { border-color:var(--y); box-shadow:0 0 0 3px rgba(255,26,26,.12); }
.sell-field input::placeholder,
.sell-field textarea::placeholder { color:rgba(255,255,255,.32); }
.sell-field.invalid input,
.sell-field.invalid select { border-color:var(--r); box-shadow:0 0 0 3px rgba(255,26,26,.18); }
.sell-note {
  display:flex; align-items:center; gap:12px; padding:14px 16px;
  background:rgba(61,219,255,.05); border:1px solid rgba(61,219,255,.22); border-radius:8px;
  color:rgba(255,255,255,.62); font-size:13.5px; letter-spacing:.3px; line-height:1.5;
}
.sell-note svg { width:22px; height:22px; fill:#3DDBFF; flex-shrink:0; }
.sell-submit {
  margin-top:4px; padding:18px; background:linear-gradient(135deg,var(--r),#c01010); color:#fff;
  border:none; font-family:var(--sans); font-size:15px; font-weight:900; letter-spacing:3px;
  text-transform:uppercase; cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  transition:transform .2s, box-shadow .2s;
}
.sell-submit:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(255,26,26,.35); }
.sell-error {
  display:none; color:var(--r); font-size:13px; letter-spacing:1px; font-family:var(--sans);
  text-transform:uppercase; margin-top:-4px;
}
.sell-error.show { display:block; }
@media(max-width:768px) {
  .sell-form { grid-template-columns:1fr; gap:15px; }
  .sell-intro { font-size:15px; margin-bottom:26px; }
  .sell-submit { font-size:14px; letter-spacing:2px; }
}

/* ════════════════════════════════════════════════════════════════════
   MODIFY YOUR BIKE — service packages
   ════════════════════════════════════════════════════════════════════ */
.modify-intro {
  font-size:17px; color:rgba(255,255,255,.6); max-width:700px; line-height:1.7;
  font-weight:300; margin-bottom:44px;
}
.modify-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:2px; max-width:980px; margin-bottom:42px;
}
.modify-card {
  position:relative; overflow:hidden; padding:38px 36px 34px;
  background:linear-gradient(158deg, rgba(255,26,26,.03) 0%, rgba(255,26,26,.012) 60%, transparent 100%);
  display:flex; flex-direction:column; gap:14px;
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
  transition:transform .4s var(--ease), background .4s, box-shadow .4s;
}
.modify-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--r), var(--o) 55%, var(--r));
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.modify-card:hover::before { transform:scaleX(1); }
.modify-card:hover {
  transform:translateY(-4px);
  background:linear-gradient(158deg, rgba(255,26,26,.06) 0%, rgba(61,219,255,.03) 70%, transparent 100%);
  box-shadow:0 24px 50px rgba(0,0,0,.6), inset 0 0 60px rgba(61,219,255,.03);
}
.modify-card-ic {
  width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,26,26,.25); border-radius:10px; color:var(--r);
  box-shadow:0 0 20px rgba(255,26,26,.12);
}
.modify-card-ic svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.6; }
.modify-card h3 {
  font-family:var(--sans); font-size:clamp(20px,2vw,26px); font-weight:900; letter-spacing:.5px;
  text-transform:uppercase; color:#fff;
}
.modify-card p { font-size:15px; line-height:1.65; color:rgba(255,255,255,.55); font-weight:300; flex:1; }
.modify-card .modify-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.modify-card .modify-tags span {
  padding:6px 12px; border:1px solid rgba(61,219,255,.25); color:#3DDBFF; font-size:10px;
  font-family:var(--sans); letter-spacing:1.5px; text-transform:uppercase; border-radius:14px;
  background:rgba(61,219,255,.04);
}
.modify-cta {
  display:flex; flex-direction:column; align-items:flex-start; gap:18px; max-width:980px;
  padding:34px 36px; background:linear-gradient(135deg, rgba(255,26,26,.07), rgba(0,0,0,.4));
  border:1px solid rgba(255,26,26,.25);
  clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.modify-cta h3 {
  font-family:var(--sans); font-size:clamp(24px,3vw,38px); font-weight:900; letter-spacing:-.5px;
  text-transform:uppercase; color:#fff;
}
.modify-cta p { font-size:15px; line-height:1.65; color:rgba(255,255,255,.6); font-weight:300; max-width:620px; }
@media(max-width:768px) {
  .modify-grid { grid-template-columns:1fr; }
  .modify-card { padding:28px 24px; }
  .modify-intro { font-size:15px; margin-bottom:30px; }
}

/* ════════════════════════════════════════════════════════════════════
   ✦ CUSTOM CURSOR (desktop / fine-pointer only)
   ════════════════════════════════════════════════════════════════════ */
@media (pointer:fine) {
  body.sw-cursor { cursor:none; }
  body.sw-cursor a, body.sw-cursor button, body.sw-cursor [role="button"],
  body.sw-cursor .spark-ai-chip, body.sw-cursor label, body.sw-cursor select { cursor:none; }
  /* keep a real caret in text fields */
  body.sw-cursor input[type="text"], body.sw-cursor input[type="email"],
  body.sw-cursor input[type="search"], body.sw-cursor input:not([type]),
  body.sw-cursor textarea { cursor:text; }
}
.sw-cursor-dot, .sw-cursor-ring {
  position:fixed; top:0; left:0; pointer-events:none; z-index:100000; border-radius:50%;
  will-change:transform; transition:opacity .25s;
}
.sw-cursor-dot {
  width:7px; height:7px; background:var(--r);
  box-shadow:0 0 10px rgba(255,26,26,.9), 0 0 22px rgba(255,26,26,.4);
  transition:width .18s, height .18s, background .18s, opacity .25s;
}
.sw-cursor-ring {
  width:34px; height:34px; border:1.5px solid rgba(255,26,26,.45);
  transition:width .25s, height .25s, border-color .25s, background .25s, opacity .25s;
}
body.sw-hover .sw-cursor-ring {
  width:56px; height:56px; border-color:var(--r);
  background:rgba(255,26,26,.06);
  box-shadow:0 0 24px rgba(255,26,26,.18);
}
body.sw-hover .sw-cursor-dot { background:#3DDBFF; box-shadow:0 0 12px rgba(61,219,255,.9); }
body.sw-down .sw-cursor-ring { width:26px; height:26px; }

/* ════════════════════════════════════════════════════════════════════
   ✦ CINEMATIC INTRO LOADER (index)
   Auto-fades via CSS so it can never block the page, even without JS.
   ════════════════════════════════════════════════════════════════════ */
.sw-intro {
  position:fixed; inset:0; z-index:100002; background:#000;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px;
  animation:swIntroOut .7s ease 1.7s forwards;
}
.sw-intro[style*="display: none"], .sw-intro[style*="display:none"] { display:none!important; }
.sw-intro::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(255,26,26,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 80%, rgba(61,219,255,.06) 0%, transparent 50%);
}
.sw-intro-logo {
  position:relative; font-family:var(--sans); font-weight:900; font-size:clamp(40px,9vw,86px);
  letter-spacing:4px; color:#fff; text-transform:uppercase; line-height:1;
  opacity:0; transform:translateY(14px); animation:swLogoIn .8s var(--ease) .15s forwards;
}
.sw-intro-logo span { color:var(--r); text-shadow:0 0 30px rgba(255,26,26,.6); }
.sw-intro-logo::after {
  content:''; position:absolute; left:-8%; top:0; bottom:0; width:36%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform:skewX(-18deg); animation:swSheen 1.5s ease .5s 1 both;
}
.sw-intro-bar {
  position:relative; width:min(220px,52vw); height:2px; background:rgba(255,255,255,.12); overflow:hidden;
  opacity:0; animation:swLogoIn .6s var(--ease) .35s forwards;
}
.sw-intro-bar::after {
  content:''; position:absolute; inset:0 100% 0 0;
  background:linear-gradient(90deg, var(--r), var(--o) 55%, #3DDBFF);
  animation:swBar 1.5s var(--ease) .35s forwards; box-shadow:0 0 16px rgba(255,26,26,.5);
}
.sw-intro-tag {
  font-family:var(--mono); font-size:11px; letter-spacing:6px; color:rgba(255,255,255,.4);
  text-transform:uppercase; opacity:0; animation:swLogoIn .6s var(--ease) .5s forwards;
}
@keyframes swIntroOut { to { opacity:0; visibility:hidden; pointer-events:none; } }
@keyframes swLogoIn { to { opacity:1; transform:none; } }
@keyframes swSheen { 0% { left:-40%; } 100% { left:120%; } }
@keyframes swBar { to { inset:0 0 0 0; } }
@media (prefers-reduced-motion:reduce) {
  .sw-intro { animation:swIntroOut .3s ease .2s forwards; }
  .sw-intro-logo, .sw-intro-bar, .sw-intro-tag { animation:none; opacity:1; transform:none; }
}

/* ════════════════════════════════════════════════════════════════════
   ✦ HERO ENTRANCE + SECTION / CARD POLISH (additive)
   ════════════════════════════════════════════════════════════════════ */
/* Hero content rises in on load */
.hero-left .hero-tag { animation:swRise .7s var(--ease) .15s both; }
.hero-left .hero-title { animation:swRise .8s var(--ease) .28s both; }
.hero-left .hero-buttons { animation:swRise .8s var(--ease) .42s both; }
@keyframes swRise { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }

/* Smoother, deeper card interactions */
.bike-card, .product-card, .new-horse-card, .review-card, .event-card {
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .35s !important;
}
.bike-card:hover { box-shadow:0 30px 70px rgba(0,0,0,.7), 0 0 0 1px rgba(255,26,26,.25), 0 0 50px rgba(255,26,26,.08) !important; }
.product-card:hover { transform:translateY(-5px) !important; box-shadow:0 22px 48px rgba(0,0,0,.6), 0 0 0 1px rgba(255,26,26,.18) !important; }

/* Button shine sweep */
.btn, .book-btn, .channel-btn, .sell-submit { position:relative; overflow:hidden; }
.btn::after, .book-btn::after, .channel-btn::after, .sell-submit::after {
  content:''; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent);
  transform:skewX(-18deg); transition:left .6s var(--ease); pointer-events:none;
}
.btn:hover::after, .book-btn:hover::after, .channel-btn:hover::after, .sell-submit:hover::after { left:130%; }

/* Nav links: subtle lift */
.nav-links a { transition:color .25s, transform .25s; }
.nav-links a:hover { transform:translateY(-1px); }

/* ════════════════════════════════════════════════════════════════════
   ✦ SPARK AI — proactive nudge bubble
   ════════════════════════════════════════════════════════════════════ */
.spark-ai-nudge {
  position:fixed; right:24px; bottom:84px; z-index:997;
  max-width:232px; padding:12px 16px; text-align:left; line-height:1.4;
  background:linear-gradient(135deg,#1a0303,#000); border:1.5px solid rgba(255,26,26,.5);
  color:#fff; font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.4px; cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  box-shadow:0 0 26px rgba(255,26,26,.25),0 14px 36px rgba(0,0,0,.6);
  opacity:0; transform:translateY(10px) scale(.96); transform-origin:bottom right; pointer-events:none;
  transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.spark-ai-nudge.show { opacity:1; transform:none; pointer-events:auto; }
.spark-ai-nudge::after {
  content:''; position:absolute; right:26px; bottom:-7px; width:12px; height:12px; background:#000;
  border-right:1.5px solid rgba(255,26,26,.5); border-bottom:1.5px solid rgba(255,26,26,.5);
  transform:rotate(45deg);
}
body.spark-ai-open .spark-ai-nudge, body.menu-active .spark-ai-nudge, body.overlay-active .spark-ai-nudge { display:none!important; }
@media(max-width:768px) {
  .spark-ai-nudge { right:14px; bottom:calc(150px + env(safe-area-inset-bottom)); max-width:200px; font-size:12px; }
}
