:root {
  --bg: #050607;
  --panel: #0b1012;
  --panel-2: #11181b;
  --text: #f4f7f8;
  --muted: #9ca8ad;
  --line: rgba(255, 255, 255, .14);
  --cyan: #00d7ff;
  --red: #ff284c;
  --gold: #ffba52;
  --green: #63ff9d;
  --shadow: 0 28px 90px rgba(0, 0, 0, .42);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); color: var(--text); scroll-behavior: smooth; }
body { margin: 0; font-family: "Segoe UI", Arial, sans-serif; min-height: 100vh; overflow-x: hidden; letter-spacing: 0; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(255, 40, 76, .08) 58% 61%, transparent 61%),
    linear-gradient(25deg, transparent 0 68%, rgba(0, 215, 255, .08) 68% 71%, transparent 71%);
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.loader {
  position: fixed; inset: 0; z-index: 100;
  display: grid; place-items: center;
  background: radial-gradient(circle at 50% 35%, #132126, #050607 58%);
  transition: opacity .55s ease, visibility .55s ease;
}
.loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-logo img { width: 132px; filter: drop-shadow(0 0 22px rgba(0, 215, 255, .28)); animation: pulse 1.6s infinite; }
.loader p { margin: 18px 0 0; font-size: 12px; font-weight: 800; letter-spacing: 5px; color: var(--muted); }
.loader-car { width: min(560px, 78vw); height: 94px; position: relative; margin-top: 20px; perspective: 800px; }
.loader-car span { position: absolute; display: block; background: #f5f7f8; box-shadow: 0 0 28px rgba(0, 215, 255, .7); animation: assemble 1.4s ease-in-out infinite alternate; }
.loader-car span:nth-child(1) { width: 52%; height: 5px; left: 24%; top: 58%; transform: skewX(-22deg); }
.loader-car span:nth-child(2) { width: 28%; height: 5px; left: 35%; top: 30%; transform: skewX(-35deg); animation-delay: .12s; }
.loader-car span:nth-child(3), .loader-car span:nth-child(4) { width: 44px; height: 44px; border-radius: 50%; background: transparent; border: 6px solid #f5f7f8; top: 55%; animation-delay: .24s; }
.loader-car span:nth-child(3) { left: 28%; }
.loader-car span:nth-child(4) { right: 25%; }

.topbar {
  position: fixed; inset: 0 0 auto 0; height: 74px; z-index: 30;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px clamp(18px, 4vw, 58px);
  background: linear-gradient(180deg, rgba(3, 7, 10, .86), rgba(3, 7, 10, .22));
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: 4px; }
.brand img { width: 46px; height: 46px; object-fit: contain; }
.top-actions { display: inline-flex; align-items: center; gap: 9px; }
.lang {
  width: 42px; height: 34px; border: 1px solid var(--line); color: var(--muted);
  background: rgba(255, 255, 255, .04); border-radius: 0; font-weight: 800; font-size: 12px;
}
.lang.active { color: var(--text); border-color: var(--cyan); box-shadow: 0 0 18px rgba(0, 215, 255, .18); }
.hamburger { width: 52px; height: 40px; border: 0; background: transparent; display: grid; gap: 6px; align-content: center; padding: 0; }
.hamburger span { display: block; height: 2px; background: #fff; margin-left: auto; transition: .25s ease; }
.hamburger span:nth-child(1) { width: 40px; }.hamburger span:nth-child(2) { width: 30px; }.hamburger span:nth-child(3) { width: 46px; }
.hamburger.is-open span:nth-child(1) { transform: translateY(8px) rotate(42deg); width: 44px; }
.hamburger.is-open span:nth-child(2) { opacity: 0; }
.hamburger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-42deg); width: 44px; }

.nav-panel {
  position: fixed; inset: 0 0 0 auto; width: min(560px, 100vw); z-index: 25;
  background: linear-gradient(140deg, rgba(5, 17, 21, .98), rgba(2, 8, 10, .98));
  transform: translateX(102%); transition: transform .42s cubic-bezier(.2, .8, .2, 1);
  border-left: 1px solid var(--line); box-shadow: var(--shadow);
}
.nav-panel.is-open { transform: translateX(0); }
.nav-inner { padding: 104px 50px 36px; display: grid; gap: 26px; }
.nav-inner > a { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 10px; text-transform: uppercase; }
.nav-inner small { color: #718087; font-size: 12px; font-weight: 900; }
.nav-inner span { font-size: clamp(28px, 5vw, 42px); line-height: 1; font-weight: 300; }
.nav-inner a:hover span, .nav-mini a:hover { color: var(--cyan); }
.nav-mini { margin-left: 54px; margin-top: 12px; display: grid; gap: 19px; color: #d9e1e4; font-weight: 700; letter-spacing: 2px; font-size: 14px; }

.hero {
  min-height: 94vh; position: relative; display: grid; align-items: end; overflow: hidden;
  background: #050607;
}
.hero-img { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.04); transition: opacity .8s ease, transform 6s ease; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.08) 56%, rgba(0,0,0,.45)), linear-gradient(0deg, #050607, transparent 40%); }
.hero-content { position: relative; z-index: 2; width: min(1180px, calc(100% - 36px)); margin: 0 auto; padding: 132px 0 72px; }
.kicker { color: var(--cyan); font-weight: 900; letter-spacing: 4px; font-size: 12px; text-transform: uppercase; }
h1 { margin: 12px 0 18px; max-width: 820px; font-size: clamp(54px, 11vw, 144px); line-height: .86; text-transform: uppercase; letter-spacing: 0; }
.hero p { max-width: 680px; color: #d4dddf; font-size: clamp(18px, 2vw, 23px); line-height: 1.85; word-spacing: 2px; }
.hero-actions, .row-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.drive-by { position: absolute; z-index: 3; pointer-events: none; opacity: .72; filter: drop-shadow(0 18px 24px rgba(0,0,0,.65)); }
.drive-by img { display: block; width: 250px; height: 105px; object-fit: cover; border-radius: 6px; }
.drive-by-one { right: -280px; bottom: 4%; animation: roadPass 11s 2s ease-in-out infinite; }
.btn {
  min-height: 48px; border: 1px solid rgba(255,255,255,.25); padding: 13px 18px; background: #fff; color: #050607;
  text-transform: uppercase; font-weight: 900; letter-spacing: 1px; position: relative; overflow: hidden;
}
.btn.secondary { background: transparent; color: var(--text); }
.btn.danger { background: var(--red); color: #fff; border-color: var(--red); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.25); }

.section { padding: 92px clamp(18px, 4vw, 58px); position: relative; }
.section.alt { background: linear-gradient(180deg, #080c0e, #0b080b); }
.section-head { display: flex; justify-content: space-between; gap: 22px; align-items: end; max-width: 1220px; margin: 0 auto 34px; }
.section-head h2 { margin: 0; font-size: clamp(34px, 5vw, 70px); text-transform: uppercase; }
.section-head p { margin: 0; max-width: 540px; color: var(--muted); line-height: 1.55; }
.about-grid, .news-grid, .admin-grid, .form-grid { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.panel, .member-card, .news-card, .weather-card, .event-card, .form-box {
  background: linear-gradient(145deg, rgba(0,215,255,.08), rgba(255,255,255,.045) 45%, rgba(255,40,76,.055));
  border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 18px 70px rgba(0,0,0,.22);
}
.panel:hover, .member-card:hover, .news-card:hover, .weather-card:hover, .event-card:hover {
  border-color: rgba(0, 215, 255, .42);
  box-shadow: 0 24px 80px rgba(0, 215, 255, .09), 0 18px 70px rgba(0,0,0,.28);
}
.panel { padding: 24px; }
.panel.big { grid-column: span 7; min-height: 280px; }
.panel.small { grid-column: span 5; }
.stat { display: grid; grid-template-columns: 84px 1fr; gap: 20px; align-items: center; margin: 18px 0; }
.stat strong { font-size: 48px; color: var(--cyan); }
.stat span { color: var(--muted); }
.soon-text {
  margin: 24px 0 18px;
  padding: 18px;
  border-left: 4px solid var(--red);
  background: linear-gradient(90deg, rgba(255, 40, 76, .18), rgba(255, 186, 82, .08));
  color: #fff;
  font-size: clamp(22px, 4vw, 42px);
  line-height: 1.08;
  font-weight: 950;
  text-transform: uppercase;
}

.join-form, .contact-form, .admin-form { display: grid; gap: 12px; }
label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; text-transform: uppercase; font-weight: 800; letter-spacing: 1px; }
input, textarea, select {
  width: 100%; border: 1px solid var(--line); background: rgba(0,0,0,.36); color: var(--text);
  min-height: 46px; padding: 12px 13px; border-radius: 6px; outline: none;
}
textarea { min-height: 120px; resize: vertical; }
input:focus, textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(0,215,255,.12); }
.phone-group span{display:grid;grid-template-columns:minmax(145px,.38fr) 1fr;gap:8px}.phone-group select{min-width:0}.phone-group input{min-width:0}
.password-wrap{position:relative;display:block}.password-wrap input{padding-right:54px}.password-peek{position:absolute;right:10px;top:50%;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.06);color:var(--muted);transform:translateY(-50%);cursor:pointer}.password-peek:hover,.password-peek:focus-visible{color:#fff;border-color:rgba(0,215,255,.7);background:rgba(0,215,255,.12);outline:0}.password-peek svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.members-grid { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.member-card { overflow: hidden; position: relative; }
.member-card img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; display: block; background: #111; }
.member-card .content { padding: 15px; }
.member-card h3 { margin: 0 0 6px; font-size: 24px; text-transform: uppercase; }
.socials { display: flex; flex-wrap: wrap; gap: 9px; margin: 10px 0 12px; }
.social-link {
  display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 10px;
  border: 1px solid var(--line); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 900;
  background: rgba(255,255,255,.055);
}
.social-link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.social-link.instagram { color: #ff6ea8; }
.social-link.tiktok { color: #00f0ff; }
.social-link:hover { transform: translateY(-2px); border-color: currentColor; }
.meta { color: var(--cyan); font-size: 13px; font-weight: 800; display: flex; gap: 12px; flex-wrap: wrap; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.tag { border: 1px solid var(--line); padding: 7px 9px; border-radius: 99px; color: #dce5e8; font-size: 12px; background: rgba(255,255,255,.04); }

.detail, .detail-drawer { position: fixed; inset: auto 0 0; z-index: 88; max-height: 92vh; overflow: auto; background: #080d10; border-top: 1px solid var(--line); transform: translateY(105%); transition: transform .35s ease; box-shadow: var(--shadow); }
.detail.is-open, .detail-drawer.is-open { transform: translateY(0); }
.detail-inner { width: min(1180px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 40px; }
.detail-backdrop{position:fixed;inset:0 0 92vh;background:rgba(0,0,0,.45)}
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; margin-top: 20px; }
.gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }

.map-wrap { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.map-wrap-wide { display: block; }
.cro-map { min-height: 620px; position: relative; overflow: hidden; background: radial-gradient(circle at 40% 35%, rgba(0,215,255,.14), transparent 38%), #070b0d; border: 1px solid var(--line); border-radius: 8px; }
.cro-map-wide { width: 100%; min-height: clamp(480px, 58vw, 720px); aspect-ratio: 16 / 8; }
.cro-shape { position: absolute; inset: 8%; background: linear-gradient(145deg, #132229, #0b1215); clip-path: polygon(45% 3%, 58% 7%, 67% 18%, 62% 31%, 72% 39%, 64% 51%, 69% 65%, 56% 80%, 45% 96%, 38% 82%, 29% 75%, 33% 61%, 24% 48%, 35% 38%, 28% 24%, 39% 16%); border: 1px solid var(--line); }
.pin { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: 24px; height: 24px; border: 0; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 10px rgba(255,40,76,.18), 0 0 30px rgba(255,40,76,.8); transform: translate(-50%, -50%); }
.pin span { position: absolute; left: 50%; top: -17px; transform: translateX(-50%); display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 11px; background: #fff; color: #07090a; font-size: 11px; font-weight: 950; }
.pin::after { content: attr(data-city); position: absolute; left: 50%; top: 34px; transform: translateX(-50%); white-space: nowrap; color: #fff; font-weight: 950; font-size: 13px; text-shadow: 0 2px 8px #000; }
.map-hint { margin: 14px 0 0; color: var(--muted); text-align: center; }
.map-city-panel { position: absolute; z-index: 6; right: 22px; top: 22px; width: min(480px, calc(100% - 44px)); max-height: calc(100% - 44px); overflow: auto; padding: 18px; background: rgba(5,9,11,.96); border: 1px solid rgba(0,215,255,.4); border-radius: 8px; box-shadow: 0 24px 80px rgba(0,0,0,.65); animation: panelIn .3s ease both; }
.map-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.map-panel-head small { color: var(--cyan); text-transform: uppercase; font-weight: 900; }
.map-panel-head h3 { margin: 4px 0 0; font-size: 28px; text-transform: uppercase; }
.map-close { width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #0c1215; color: #fff; font-size: 28px; line-height: 1; }
.city-event-list { display: grid; gap: 10px; }
.city-event-row { display: grid; grid-template-columns: 84px 1fr auto; gap: 12px; align-items: center; padding: 10px; background: rgba(255,255,255,.055); border-radius: 6px; }
.city-event-row img { width: 84px; height: 62px; object-fit: cover; border-radius: 4px; }
.city-event-row strong, .city-event-row span { display: block; }
.city-event-row span { margin-top: 5px; color: var(--gold); font-size: 12px; }
.event-detail-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; }
.event-detail-modal[hidden] { display: none; }
.event-detail-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.78); backdrop-filter: blur(10px); }
.event-card-detail { position: relative; z-index: 1; width: min(780px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 20px; animation: panelIn .35s ease both; }
.event-card-detail > img { aspect-ratio: 16 / 7; }
.event-close { position: sticky; float: right; top: 0; margin: 0 0 -48px; z-index: 3; }
.event-count strong { color: var(--cyan); font-size: 30px; }
.member-attend { display: flex; gap: 10px; align-items: end; flex: 1 1 360px; }
.member-attend label { flex: 1; }
.attending-badge { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 16px; border: 1px solid var(--cyan); color: var(--cyan); font-weight: 900; text-transform: uppercase; }
.event-list { display: grid; gap: 14px; }
.event-card { padding: 16px; display: grid; gap: 10px; }
.event-card img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 6px; }
.event-card h3 { margin: 0; }
.event-date { color: var(--gold); font-weight: 900; }
.event-location { margin: 0; color: var(--cyan); font-weight: 800; }
.event-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.guest-form { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,0,0,.22); }
.attendee-list { display: grid; gap: 8px; padding: 12px; border-top: 1px solid var(--line); }
.attendee-row { display: flex; justify-content: space-between; gap: 12px; padding: 9px 10px; background: rgba(255,255,255,.055); border-radius: 6px; }
.attendee-row span { color: var(--muted); text-align: right; }
.attendee-row-detailed div { display: grid; gap: 3px; }
.attendee-row-detailed small { color: var(--muted); font-size: 12px; }
.attendee-row-detailed a { color: var(--cyan); text-decoration: none; margin-right: 8px; }
.active-user-list { display: grid; gap: 8px; }
.active-user-row { display: grid; grid-template-columns: 14px 1fr; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.045); border-radius: 7px; }
.active-user-row strong, .active-user-row small { display: block; }
.active-user-row small { margin-top: 3px; color: var(--muted); }
.active-dot { width: 11px; height: 11px; border-radius: 50%; background: #ff284c; box-shadow: 0 0 0 3px rgba(255,40,76,.16); }
.active-user-row.is-online .active-dot { background: #48e878; box-shadow: 0 0 0 3px rgba(72,232,120,.16), 0 0 18px rgba(72,232,120,.35); }

.news-grid .news-card, .news-grid .weather-card { padding: 18px; min-height: 160px; }
.news-spaced { margin-bottom: 46px; row-gap: 30px; }
.news-card { grid-column: span 4; }
.weather-card { padding: 18px; }
.news-card h3, .weather-card h3 { margin: 0 0 10px; text-transform: uppercase; }
.weather-stack { max-width: 1220px; margin: 0 auto; display: grid; gap: 28px; }
.weather-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 18px; }
.weather-head small { color: var(--gold); font-weight: 900; text-transform: uppercase; letter-spacing: 1px; }
.weather-area { display: grid; gap: 12px; }
.weather-city {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  color: #fff; font-size: 20px; font-weight: 950; text-transform: uppercase; letter-spacing: 1px;
}
.weather-city span { color: var(--gold); font-size: 12px; font-weight: 900; }
.weather-pair { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 18px; align-items: stretch; }
.weather-title { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.weather-title h3 { margin: 0; font-size: 28px; }
.weather-title span { color: var(--gold); font-weight: 900; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.forecast { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.day { padding: 10px 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 6px; text-align: center; font-size: 12px; color: var(--muted); }
.day.hour { background: linear-gradient(160deg, rgba(0,215,255,.13), rgba(255,40,76,.08)); }
.day strong { display: block; color: var(--text); font-size: 16px; }
.day small { display: block; margin-top: 5px; color: var(--gold); font-size: 11px; font-weight: 800; }
.weather-empty { display: grid; gap: 10px; justify-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.05); }
.weather-empty strong { color: var(--text); text-transform: uppercase; }
.weather-empty span { color: var(--muted); }

.visual-strip {
  display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 18px;
  padding: 26px clamp(18px, 4vw, 58px) 92px; background: #050607;
}
.visual-strip img {
  width: 100%; min-height: 220px; object-fit: cover; border: 1px solid var(--line); border-radius: 8px;
  box-shadow: 0 20px 70px rgba(0,0,0,.26);
}

.members-hero{min-height:58vh;display:grid;align-items:end;padding:132px clamp(18px,7vw,100px) 54px;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.24)),url('/assets/meet-lineup.svg') center/cover}.members-hero>div{width:min(1220px,100%);margin:0 auto}.members-hero span{color:var(--gold);font-weight:950;letter-spacing:4px}.members-hero h1{margin:10px 0 16px}.members-hero p{max-width:720px;color:#dce5e8;font-size:20px;line-height:1.55}.members-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.members-stats strong{min-width:120px;padding:12px 16px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(0,0,0,.34);font-size:30px}.members-stats small{display:block;margin-top:2px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.members-shell{background:#050708}.member-grid-polished{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.garage-card{padding:0;overflow:hidden;background:linear-gradient(155deg,#121b1f,#07090b);border-radius:8px}.garage-cover{position:relative;width:100%;padding:0;border:0;background:#050607;color:#fff;cursor:pointer;overflow:hidden}.garage-cover img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}.garage-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 56%);pointer-events:none}.garage-cover span{position:absolute;left:14px;bottom:14px;z-index:1;padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.45);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:1px}.garage-card:hover .garage-cover img{transform:scale(1.055);filter:saturate(1.12)}.member-body{padding:18px;display:grid;gap:10px}.member-body small{color:var(--cyan);font-weight:950;text-transform:uppercase;letter-spacing:1px}.member-body h3{margin:0;font-size:28px;text-transform:uppercase}.member-body p{margin:0;color:#cbd4d7;line-height:1.55;min-height:72px}.garage-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.garage-card-footer strong{font-size:13px;color:var(--gold);text-transform:uppercase}.garage-detail{position:relative}.detail-close{position:sticky;top:10px;float:right;z-index:4}.garage-detail-hero{display:grid;grid-template-columns:minmax(280px,.92fr) 1.08fr;gap:24px;align-items:center;margin-bottom:24px}.garage-detail-hero>img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.garage-detail-hero span,.garage-car-copy small{color:var(--gold);font-size:12px;font-weight:950;letter-spacing:3px}.garage-detail-hero h2{margin:8px 0 12px;font-size:clamp(38px,7vw,84px);line-height:.95;text-transform:uppercase}.garage-detail-hero p{color:#dce5e8;line-height:1.65}.garage-tags{display:flex;gap:8px;flex-wrap:wrap}.garage-tags em{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--cyan);font-size:12px;font-style:normal;font-weight:900}.garage-car-list{display:grid;gap:18px}.garage-car-panel{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,rgba(0,215,255,.055),rgba(255,255,255,.035))}.garage-car-copy h3{margin:8px 0 10px;font-size:34px;text-transform:uppercase}.garage-car-copy p{color:#dce5e8;line-height:1.65}.garage-car-copy dl{display:grid;gap:10px;margin:16px 0 0}.garage-car-copy dt{color:var(--cyan);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:1px}.garage-car-copy dd{margin:4px 0 0;color:#e8eef0;line-height:1.5}.garage-gallery{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.garage-gallery img:first-child{grid-column:1/-1;aspect-ratio:16/9}
.garage-socials{display:flex;gap:8px;flex-wrap:wrap}.garage-socials .social-link{border-radius:8px}.garage-socials .social-link span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.garage-gallery .downloadable-image:first-child{grid-column:1/-1}.garage-gallery .downloadable-image:first-child img{aspect-ratio:16/9}
.social-tools{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.social-copy,.image-download{min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.06);color:var(--cyan);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.6px}.social-copy:hover,.image-download:hover{border-color:rgba(0,215,255,.65);background:rgba(0,215,255,.1)}
.downloadable-image{position:relative;margin:0;overflow:hidden;border-radius:8px}.downloadable-image img{width:100%;height:100%;object-fit:cover}.image-download{position:absolute;right:8px;bottom:8px;text-decoration:none;background:rgba(5,8,10,.82);color:#fff}
.members-shell .member-grid-polished{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.member-card-compact{min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;overflow:hidden}.member-card-compact .member-compact-main{min-width:0;width:100%;min-height:52px;display:flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;text-align:left}.member-card-compact .member-compact-main h3{max-width:100%;margin:0;overflow:hidden;color:#fff;font-size:22px;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.member-card-compact .member-compact-more{min-height:40px;padding:9px 13px;white-space:nowrap}.member-card-compact:hover .member-compact-main h3{color:var(--cyan)}
.meet-panel-card{display:grid;gap:16px}.meet-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.meet-panel-head h3{margin:8px 0;text-transform:uppercase}.meet-panel-head p{margin:0;color:var(--muted)}.meet-panel-head>strong{color:var(--gold);font-size:28px}.meet-add-form{grid-template-columns:1fr auto;align-items:end}.meet-attendee-list{display:grid;gap:8px}.meet-attendee-row{grid-template-columns:1fr 1fr auto}.meet-admin-page .public-event-form{grid-template-columns:repeat(2,1fr)}.meet-admin-page .public-event-form .wide{grid-column:1/-1}

.history-hero {
  min-height: 76vh; position: relative; display: grid; align-items: end; overflow: hidden; background: #050607;
}
.history-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: saturate(1.25) contrast(1.05); transform: scale(1.03); }
.history-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.18)), linear-gradient(0deg, #050607, transparent 42%);
}
.history-layout { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(22px, 5vw, 54px); align-items: start; }
.history-copy { display: grid; gap: 24px; }
.history-copy p {
  margin: 0; padding: 22px; border-left: 3px solid var(--cyan);
  background: linear-gradient(120deg, rgba(255,255,255,.06), rgba(255,186,82,.06));
  color: #dce5e8; line-height: 1.9; font-size: 17px; border-radius: 8px;
}
.history-copy span { display: block; color: var(--red); font-size: 12px; font-weight: 950; letter-spacing: 3px; margin-bottom: 10px; }
.history-rail { display: grid; gap: 14px; position: sticky; top: 96px; }
.history-rail img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.history-mosaic { max-width: 1220px; margin: 0 auto; display: grid; gap: 26px; }
.history-road { overflow: hidden; }
.drive-by-history { left: -280px; top: 34%; animation: historyPass 14s ease-in-out infinite; }
.history-split img { position: sticky; top: 112px; }
.history-split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 22px; align-items: center; }
.history-split.flip { grid-template-columns: 1.05fr .95fr; }
.history-split.flip img { order: 2; }
.history-split img, .history-double img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.history-text { padding: 24px; border-left: 3px solid var(--cyan); border-radius: 8px; background: linear-gradient(120deg, rgba(255,255,255,.06), rgba(255,186,82,.06)); }
.history-text.solo { max-width: 760px; margin-left: auto; }
.history-text span { display: block; color: var(--red); font-size: 12px; font-weight: 950; letter-spacing: 3px; margin-bottom: 10px; }
.history-text p { margin: 0; color: #dce5e8; line-height: 1.9; font-size: 17px; }
.history-double { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.shop-hero { min-height: 72vh; display: grid; align-items: end; padding: 132px clamp(18px, 7vw, 100px) 64px; background: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.18)), url('/assets/meet-lineup.svg') center/cover; }
.shop-hero > div { width: min(1180px, 100%); margin: 0 auto; }
.shop-hero span { color: var(--gold); font-weight: 950; }
.shop-hero h1 { margin: 10px 0 18px; }
.shop-hero p { max-width: 560px; font-size: 20px; color: #dce5e8; }
.shop-shell { background: #07090a; }
.shop-toolbar { max-width: 1220px; margin: 0 auto 28px; display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.shop-toolbar h2 { margin: 0; font-size: clamp(38px, 6vw, 70px); text-transform: uppercase; }
.shop-toolbar small, .vat-note, .stock-note { display: block; color: var(--muted); font-size: 11px; }
.product-grid { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { overflow: hidden; border: 1px solid var(--line); background: linear-gradient(155deg, #10171a, #08090a); border-radius: 8px; }
.product-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #050607; }
.product-body { padding: 18px; }
.product-body > small { color: var(--cyan); text-transform: uppercase; font-weight: 900; }
.product-body h3 { margin: 7px 0; font-size: 25px; text-transform: uppercase; }
.product-body p { color: var(--muted); min-height: 48px; }
.product-price { display: block; margin-top: 14px; color: #fff; font-size: 28px; }
.product-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 17px; }
.product-options .btn { grid-column: 1 / -1; }
.stock-note { margin-top: 10px; color: var(--gold); }
.cart-drawer { position: fixed; z-index: 80; top: 0; right: 0; width: min(520px, 100%); height: 100vh; overflow: auto; padding: 100px 24px 30px; background: rgba(5,8,10,.98); border-left: 1px solid var(--line); box-shadow: -20px 0 70px rgba(0,0,0,.5); animation: panelIn .3s ease both; }
.cart-head, .cart-total { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cart-head h2 { margin: 0; font-size: 40px; text-transform: uppercase; }
.cart-lines { display: grid; gap: 10px; margin: 24px 0; }
.cart-line { display: grid; grid-template-columns: 1fr auto 34px; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); }
.cart-line small { display: block; color: var(--muted); margin-top: 4px; }
.cart-line button { border: 0; background: transparent; color: var(--red); font-size: 23px; }
.cart-total { padding: 18px 0; border-top: 1px solid var(--line); font-size: 20px; }
.cart-total strong { color: var(--gold); font-size: 28px; }
.shop-auth-grid, .shop-account-grid { max-width: 1220px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.shop-auth-grid .form-box, .shop-account-grid .form-box { padding: 22px; display: grid; gap: 12px; }
.shop-auth-grid h3, .shop-account-grid h3 { margin: 0 0 8px; font-size: 27px; text-transform: uppercase; }
.order-row, .order-manage { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); background: rgba(0,0,0,.22); }
.order-row small, .order-manage small { display: block; color: var(--muted); }

.sponsors { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; color: #050607; }
.sponsor-track { display: flex; gap: 34px; width: max-content; animation: marquee 24s linear infinite; padding: 20px 0; }
.sponsor { min-width: 210px; font-weight: 950; letter-spacing: 2px; text-align: center; }

.club-footer {
  display: flex; justify-content: space-between; gap: 24px; align-items: center;
  padding: 34px clamp(18px, 4vw, 58px); background: #050607; border-top: 1px solid var(--line);
}
.footer-brand { display: inline-flex; align-items: center; gap: 14px; font-size: 22px; font-weight: 950; text-transform: uppercase; }
.club-footer address { color: var(--muted); line-height: 1.7; font-style: normal; text-align: right; }
.club-footer a { color: var(--cyan); font-weight: 900; }
.club-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.club-socials a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.045);color:#fff;transition:transform .2s ease,border-color .2s ease,background .2s ease}.club-socials a:hover{transform:translateY(-2px);border-color:rgba(0,215,255,.65);background:rgba(0,215,255,.1)}.club-socials svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.club-socials.with-text{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;margin:18px 0}.club-socials.with-text a{width:auto;height:auto;min-height:50px;display:flex;justify-content:flex-start;gap:12px;padding:11px 13px;text-decoration:none}.club-socials.with-text span{font-weight:900;text-transform:uppercase;letter-spacing:1px}.footer-brand{flex-wrap:wrap}.footer-brand .club-socials{margin-left:8px}.contact-panel .club-socials a{color:#fff}.panel-switch{border-color:rgba(0,215,255,.45);background:linear-gradient(135deg,rgba(0,215,255,.09),rgba(255,186,82,.05))}
.seized-control{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;border-color:rgba(255,186,82,.48);background:linear-gradient(135deg,rgba(255,186,82,.12),rgba(255,40,76,.08),rgba(0,215,255,.06))}
.seized-control.is-active{border-color:rgba(255,40,76,.8);box-shadow:0 0 0 1px rgba(255,40,76,.22),0 18px 70px rgba(255,40,76,.12)}
.seized-control h3{margin:0 0 8px;text-transform:uppercase}.seized-control p{margin:0;color:var(--muted);line-height:1.55}.seized-form{align-content:center}.seized-form .btn{width:100%}
.shop-is-seized{filter:saturate(.55) contrast(.8);pointer-events:none;user-select:none}
.webshop-seized-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 24%,rgba(255,40,76,.2),transparent 31%),rgba(0,0,0,.82);backdrop-filter:blur(5px);pointer-events:auto;overflow:hidden}
.seized-card{width:min(760px,calc(100vw - 36px));display:grid;justify-items:center;gap:10px;padding:26px 24px 38px;border:3px solid #1264b0;background:linear-gradient(155deg,#07121f,#0b1828 54%,#05080d);text-align:center;box-shadow:0 30px 110px rgba(0,0,0,.78),0 0 0 7px rgba(255,255,255,.08)}
.seized-card img:not(.police-badge){width:min(280px,70vw);filter:drop-shadow(0 0 22px rgba(0,95,170,.48));animation:seizedCar 3s ease-in-out infinite}
.police-badge{width:104px;height:124px;object-fit:contain;margin-top:-4px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
.seized-card span{color:#e8f3ff;font-size:16px;font-weight:950;letter-spacing:3px;text-transform:uppercase}.seized-card h2{margin:0;color:#fff;font-size:clamp(40px,8vw,86px);line-height:.94;text-transform:uppercase}.seized-card p{max-width:560px;margin:0;color:#dce5e8;font-size:18px;line-height:1.55}
.seized-home{margin-top:12px;min-width:260px;text-decoration:none;position:relative;z-index:2}
.seized-tape{position:absolute;left:-16vw;right:-16vw;height:92px;display:grid;place-items:center;border-top:5px solid #125faa;border-bottom:5px solid #125faa;background:repeating-linear-gradient(90deg,#fff 0 38px,#eaf3ff 38px 76px,#1264b0 76px 88px,#fff 88px 126px);color:#10249b;text-shadow:0 1px 0 rgba(255,255,255,.9);font-size:25px;font-weight:950;letter-spacing:4px;white-space:nowrap;text-transform:uppercase;box-shadow:0 12px 50px rgba(0,0,0,.46)}
.seized-tape::before,.seized-tape::after{content:"POLICIJA · STOP POLICIJA · POLICIJA · STOP POLICIJA · POLICIJA";position:absolute;left:0;right:0;height:25px;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#1264b0;font-size:13px;letter-spacing:3px}
.seized-tape::before{top:8px}.seized-tape::after{bottom:8px}
.tape-top{top:6vh;transform:rotate(-8deg)}.tape-bottom{bottom:7vh;transform:rotate(7deg)}
@keyframes seizedCar{0%,100%{transform:translateX(-7px) rotate(-1deg)}50%{transform:translateX(7px) rotate(1deg)}}

.form-grid .form-box { grid-column: span 7; padding: 22px; }
.form-grid .panel { grid-column: span 5; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 100px 18px 40px; background: radial-gradient(circle at 50% 20%, rgba(0,215,255,.13), transparent 38%), #050607; }
.login-box { width: min(460px, 100%); padding: 24px; background: rgba(255,255,255,.07); border: 1px solid var(--line); border-radius: 8px; }
.login-box h1 { font-size: 42px; margin: 0 0 18px; line-height: 1; }

.admin-grid > * { grid-column: span 6; }
.admin-grid .admin-wide { grid-column: 1 / -1; }
.admin-stack { grid-column: span 6; display: grid; gap: 18px; align-content: start; }
.admin-list { display: grid; gap: 10px; max-height: 460px; overflow: auto; }
.list-row { border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: rgba(0,0,0,.22); }
.list-row strong { display: block; }
.list-row small { color: var(--muted); }
.json-editor { min-height: 360px; font-family: Consolas, "Courier New", monospace; font-size: 13px; line-height: 1.45; white-space: pre; overflow: auto; }
.admin-help { color: var(--muted); line-height: 1.55; margin: 0; }

.toast { position: fixed; right: 18px; bottom: 18px; z-index: 60; padding: 13px 16px; max-width: min(420px, calc(100% - 36px)); background: #fff; color: #050607; border-radius: 8px; box-shadow: var(--shadow); transform: translateY(120px); transition: transform .25s ease; font-weight: 800; }
.toast.is-open { transform: translateY(0); }
.cookie-banner {
  position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 70;
  display: flex; justify-content: space-between; align-items: center; gap: 18px;
  max-width: 860px; margin: 0 auto; padding: 16px; border: 1px solid rgba(255,255,255,.2);
  background: rgba(5, 8, 10, .94); color: var(--text); border-radius: 8px; box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}
.cookie-banner strong { text-transform: uppercase; letter-spacing: 2px; }
.cookie-banner p { margin: 4px 0 0; color: var(--muted); line-height: 1.45; }
.cookie-banner .btn { min-height: 42px; }
.cookie-actions, .weather-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.weather-actions .btn { min-height: 44px; }
.reveal {
  opacity: 0;
  transform: translateY(34px) scale(.985);
  transition: opacity .68s ease var(--delay), transform .68s cubic-bezier(.2,.8,.2,1) var(--delay), border-color .25s ease, box-shadow .25s ease;
}
.reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

@keyframes roadPass { 0%, 12% { transform: translate(0,20px) rotate(2deg); opacity: 0; } 20% { opacity: .82; } 34% { transform: translate(-32vw,-18px) rotate(-4deg); } 48% { transform: translate(-65vw,14px) rotate(3deg); } 62%, 100% { transform: translate(calc(-100vw - 360px),-9px) rotate(-2deg); opacity: 0; } }
@keyframes historyPass { 0%, 10% { transform: translate(0,18px) rotate(-2deg); opacity: 0; } 18% { opacity: .65; } 35% { transform: translate(35vw,-16px) rotate(4deg); } 50% { transform: translate(68vw,12px) rotate(-3deg); } 64%, 100% { transform: translate(calc(100vw + 560px),-8px) rotate(2deg); opacity: 0; } }
@keyframes panelIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

@keyframes pulse { 50% { transform: scale(1.05); } }
@keyframes assemble { from { opacity: .25; transform: translateX(-30px) rotateX(30deg); } to { opacity: 1; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (max-width: 860px) {
  .brand span { display: none; }
  .section-head, .map-wrap { display: grid; grid-template-columns: 1fr; }
  .about-grid, .news-grid, .admin-grid, .form-grid { grid-template-columns: 1fr; }
  .panel.big, .panel.small, .news-card, .weather-card, .form-grid .form-box, .form-grid .panel, .admin-grid > * { grid-column: auto; }
  .map-wrap { grid-template-columns: 1fr; }
  .cro-map { min-height: 470px; }
  .weather-lines, .history-layout, .history-split, .history-split.flip, .history-double, .weather-pair, .weather-head, .visual-strip { grid-template-columns: 1fr; }
  .history-split.flip img { order: 0; }
  .history-split img { position: static; }
  .city-event-row { grid-template-columns: 64px 1fr; }
  .city-event-row img { width: 64px; height: 52px; }
  .city-event-row .btn { grid-column: 1 / -1; width: 100%; }
  .member-attend { display: grid; width: 100%; }
  .history-rail { position: static; }
  .forecast { grid-template-columns: repeat(5, minmax(54px, 1fr)); overflow-x: auto; }
  .club-footer, .cookie-banner { display: grid; text-align: left; }
  .club-footer address { text-align: left; }
  .nav-inner { padding: 96px 28px 30px; }
  .nav-inner span { font-size: 31px; }
  .hero-content { padding-bottom: 54px; }
  .product-grid, .shop-auth-grid, .shop-account-grid { grid-template-columns: 1fr; }
  .member-grid-polished, .garage-detail-hero, .garage-car-panel { grid-template-columns: 1fr; }
  .members-hero { min-height: 52vh; padding-top: 112px; }
  .member-body p { min-height: 0; }
  .garage-gallery { grid-template-columns: 1fr; }
  .shop-toolbar { align-items: stretch; display: grid; }
  .order-manage { grid-template-columns: 1fr; }
}

@media (min-width: 861px) and (max-width: 1100px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 861px) and (max-width: 1100px) { .member-grid-polished { grid-template-columns: repeat(2, 1fr); } }

/* Webshop, account and legal surfaces */
.header-account{display:flex;align-items:center;gap:8px}.header-account a,.header-account button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 10px;border:0;background:transparent;color:#fff;font-size:11px;text-transform:uppercase}.header-account a:hover,.header-account button:hover{color:var(--cyan)}.header-account .header-logout{border-left:1px solid rgba(255,255,255,.18);padding-left:14px;color:var(--muted)}.person-icon{width:25px;height:25px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:50%;color:var(--cyan);font-size:9px;box-shadow:inset 0 -7px 0 rgba(0,215,255,.15)}.person-icon.has-image{box-shadow:0 0 0 2px rgba(0,215,255,.16)}.person-icon img{width:100%;height:100%;object-fit:cover}
.discount-car{border:0;background:transparent;cursor:pointer;pointer-events:auto}.discount-car:hover{filter:drop-shadow(0 0 18px rgba(0,215,255,.8))}
.product-card{position:relative;transition:transform .3s ease,border-color .3s ease}.product-card:hover{transform:translateY(-7px);border-color:rgba(255,186,82,.55)}.price-line{display:flex;align-items:end;gap:12px;margin-top:14px}.price-line .product-price{margin:0}.price-line del{color:var(--muted)}.sale-ribbon{position:absolute;z-index:2;left:0;top:18px;padding:9px 22px;background:var(--red);color:#fff;font-weight:950;box-shadow:0 10px 30px rgba(255,40,76,.35)}.sale-copy{display:block;color:var(--red);font-weight:950;text-transform:uppercase;margin:6px 0}.product-more{width:100%;margin-top:15px}
.product-detail-drawer{position:fixed;z-index:82;top:0;right:0;width:min(620px,100%);height:100vh;overflow:auto;padding:90px 26px 36px;background:#070b0d;border-left:1px solid var(--line);box-shadow:-20px 0 80px rgba(0,0,0,.7);animation:panelIn .3s ease both}.product-detail-drawer>img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:8px}.product-detail-drawer>small{display:block;margin-top:18px;color:var(--cyan);font-weight:900;text-transform:uppercase}.product-detail-drawer h2{margin:6px 0 12px;font-size:40px;text-transform:uppercase}.drawer-close{position:absolute;right:22px;top:24px}.checkout-form{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-grid .wide{grid-column:1/-1}
.shop-admin-page{padding-top:128px}.product-admin-list{display:grid;gap:18px}.product-admin-card{display:grid;grid-template-columns:260px 1fr;gap:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,rgba(0,215,255,.06),rgba(255,255,255,.035))}.product-admin-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:#050607}.product-admin-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.product-admin-fields .wide{grid-column:1/-1}.product-admin-actions{display:flex;gap:10px;align-items:end}.check-label{display:flex;align-items:center;gap:9px;min-height:46px}.check-label input{width:20px;min-height:20px}.coupon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coupon-card{display:grid;gap:9px;padding:15px;border:1px solid var(--line);border-radius:7px;background:rgba(0,0,0,.25)}.coupon-card.new{border-color:rgba(255,186,82,.5)}.access-admin-list{display:grid;gap:9px}.access-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:14px;align-items:center;padding:11px;border:1px solid var(--line)}.access-row small{display:block;color:var(--muted)}
.checkout-block{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.checkout-block h3{margin:0;color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:1px}.checkout-form.is-parcel .checkout-home-fields{display:none}.checkout-form.is-address .checkout-parcel-fields{display:none}.payment-options{display:grid;gap:8px}.payment-options label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.04)}.payment-options input{width:18px;height:18px}.payment-help{margin:0;color:var(--muted);line-height:1.45}.parcel-edit-btn{justify-self:start}.parcel-modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:rgba(0,0,0,.62);padding:18px}.parcel-modal-box{position:relative;width:min(440px,100%);display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:8px;background:#070b0d;box-shadow:var(--shadow)}.parcel-modal-box h3{margin:0;text-transform:uppercase}.parcel-modal-box p{margin:0;color:var(--muted)}.order-manage-rich{grid-template-columns:1fr;align-items:stretch}.order-manage-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.order-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;color:var(--muted)}.order-detail-grid strong{color:var(--text)}.order-detail-grid .wide{grid-column:1/-1}.payment-badge{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid rgba(255,186,82,.45);border-radius:999px;color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase}
.admin-user-editor{position:fixed;inset:0;z-index:96;display:grid;place-items:center;padding:22px}.admin-user-box{position:relative;z-index:1;width:min(1080px,100%);max-height:92vh;overflow:auto;display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#070b0d;box-shadow:var(--shadow)}.admin-user-box h2,.admin-user-box h3{margin:0;text-transform:uppercase}.admin-user-box>p{margin:0;color:var(--muted)}.admin-user-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.admin-user-grid .wide{grid-column:1/-1}.cars-edit-list{display:grid;gap:14px}.car-edit-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035)}.car-edit-card legend{padding:0 8px;color:var(--gold);font-weight:900;text-transform:uppercase}.car-edit-card .wide{grid-column:1/-1}.danger-check{color:var(--red);font-weight:900}
.profile-summary{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center}.profile-summary>img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:#050607}.profile-summary h3{margin:0 0 10px;text-transform:uppercase}.profile-summary .row-actions{grid-column:1/-1}.profile-form{grid-template-columns:repeat(2,1fr)}.profile-form .wide{grid-column:1/-1}.profile-form .check-label{align-self:end}
.access-login-grid{width:min(1080px,100%);display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:start}.login-side{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.login-side .form-box{padding:20px;display:grid;gap:10px}.text-link{display:inline-block;margin-top:18px;color:var(--cyan);font-weight:900}
.terms-hero{min-height:62vh;display:grid;align-items:end;padding:140px clamp(18px,7vw,100px) 60px;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.2)),url('/assets/hero-garage.svg') center/cover}.terms-hero>div{width:min(1180px,100%);margin:0 auto}.terms-hero span{color:var(--gold);font-weight:950}.terms-hero h1{margin:10px 0}.terms-shell{max-width:1080px;margin:0 auto}.terms-alert{padding:22px;margin-bottom:30px;border:1px solid var(--red);background:rgba(255,40,76,.12)}.terms-section{display:grid;grid-template-columns:minmax(220px,.7fr) 1.5fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.terms-section h2{margin:0;font-size:25px}.terms-section p{margin:0;color:#d8e0e3;line-height:1.8}.terms-sources{display:grid;gap:10px;padding-top:30px}.terms-sources a,.terms-link{color:var(--cyan)}
.error-page{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;padding:100px 20px 40px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,40,76,.18),transparent 33%),#050607}.error-page>span{color:var(--red);font-weight:950;letter-spacing:6px}.error-page h1{margin:4px 0;font-size:clamp(110px,25vw,280px);color:transparent;-webkit-text-stroke:2px #fff}.error-page h2{margin:0;font-size:clamp(24px,5vw,50px);text-transform:uppercase}.error-road img{width:260px;animation:errorDrive 3.5s ease-in-out infinite}.error-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.error-mini{width:min(520px,100%);padding:25px;border:1px solid var(--red);background:#080c0e;text-align:center;animation:panelIn .3s ease both}.error-mini img{width:210px}.error-mini>span{display:block;color:var(--red);font-weight:950}@keyframes errorDrive{0%,100%{transform:translate(-40px,12px) rotate(3deg)}50%{transform:translate(40px,-12px) rotate(-3deg)}}

@media(max-width:860px){.header-account b{display:none}.product-admin-card,.access-login-grid,.login-side,.terms-section,.profile-summary{grid-template-columns:1fr}.product-admin-fields,.checkout-grid,.coupon-grid,.order-manage-fields,.order-detail-grid,.admin-user-grid,.car-edit-card,.profile-form,.phone-group span{grid-template-columns:1fr}.product-admin-fields .wide,.checkout-grid .wide,.order-detail-grid .wide,.admin-user-grid .wide,.car-edit-card .wide,.profile-form .wide,.profile-summary .row-actions{grid-column:auto}.access-row{grid-template-columns:1fr}.product-detail-drawer h2{font-size:32px}}

/* Polished authentication */
.access-login{align-items:start;background:radial-gradient(circle at 72% 15%,rgba(0,215,255,.12),transparent 32%),radial-gradient(circle at 18% 74%,rgba(255,40,76,.08),transparent 28%),#050708}
.access-login-grid{max-width:1040px;grid-template-columns:minmax(340px,.9fr) minmax(440px,1.1fr);gap:22px}
.access-login .login-box,.access-login .form-box{border-color:rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(18,29,33,.94),rgba(8,11,13,.96));box-shadow:0 24px 80px rgba(0,0,0,.32)}
.access-login .login-box{width:100%;padding:30px;position:sticky;top:100px}
.access-login .login-box h1{font-size:clamp(38px,5vw,58px);margin:10px 0 18px;text-transform:uppercase}
.access-login .login-box p{color:#cbd4d7;line-height:1.6}
.access-login .admin-form{margin-top:24px}.access-login .admin-form .btn{margin-top:5px;width:100%}
.login-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between}
.login-side{display:grid;grid-template-columns:1fr;gap:16px;align-content:start}
.login-side .form-box{align-content:start;padding:25px}
.login-side .form-box h3{margin:0 0 12px;font-size:22px;text-transform:uppercase}
.login-side form[data-form="shop-reset"]{grid-template-columns:1fr auto;align-items:end}
.login-side form[data-form="shop-reset"] h3{grid-column:1/-1}.login-side form[data-form="shop-reset"] .btn{min-width:190px}
.login-side form[data-form="shop-register"]{grid-template-columns:1fr 1fr}
.login-side form[data-form="shop-register"] h3,.login-side form[data-form="shop-register"] button{grid-column:1/-1}
.login-side form[data-form="shop-register"] label:nth-of-type(3){grid-column:1/-1}
.login-side input{background:rgba(0,0,0,.3)}

/* 2CV reward */
.discount-reward{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.82);backdrop-filter:blur(12px)}
.discount-reward-card{position:relative;width:min(520px,100%);padding:28px;text-align:center;overflow:hidden;border:1px solid rgba(0,215,255,.52);border-radius:8px;background:radial-gradient(circle at 50% 0,rgba(0,215,255,.17),transparent 40%),linear-gradient(155deg,#10191d,#07090b 62%);box-shadow:0 30px 100px rgba(0,0,0,.72);animation:rewardIn .45s cubic-bezier(.2,.8,.2,1) both}
.discount-reward-card::before{content:"";position:absolute;inset:0;border-top:3px solid var(--red);pointer-events:none}
.reward-close{position:absolute;right:18px;top:18px}.reward-car{height:118px;display:grid;place-items:center;margin:-6px 0 4px}.reward-car img{width:260px;filter:drop-shadow(0 0 16px rgba(0,215,255,.38));animation:rewardCar 2.8s ease-in-out infinite}
.discount-reward-card>span{display:block;color:var(--cyan);font-size:12px;font-weight:950;letter-spacing:4px}.discount-reward-card h2{margin:6px 0;font-size:clamp(40px,8vw,66px);line-height:1;text-transform:uppercase}.discount-reward-card>p{color:#c9d3d6}.reward-code{width:100%;display:grid;place-items:center;gap:3px;margin:22px 0;padding:17px;border:1px dashed var(--gold);border-radius:7px;background:rgba(255,186,82,.08);color:#fff}.reward-code small{color:var(--gold);font-weight:900;letter-spacing:2px}.reward-code strong{font-size:42px;letter-spacing:5px}.reward-code em{color:var(--muted);font-size:12px;font-style:normal}.reward-code:hover{background:rgba(255,186,82,.15);transform:translateY(-2px)}.reward-note{font-size:12px}.discount-reward-card>.btn{width:100%}
@keyframes rewardIn{from{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:none}}@keyframes rewardCar{0%,100%{transform:translate(-8px,5px) rotate(1deg)}50%{transform:translate(8px,-5px) rotate(-1deg)}}

@media(max-width:760px){.access-login-grid{grid-template-columns:1fr}.access-login .login-box{position:static}.login-side form[data-form="shop-reset"],.login-side form[data-form="shop-register"]{grid-template-columns:1fr}.login-side form[data-form="shop-reset"] h3,.login-side form[data-form="shop-register"] h3,.login-side form[data-form="shop-register"] button,.login-side form[data-form="shop-register"] label:nth-of-type(3){grid-column:auto}}

.drive-by-one{right:28px;bottom:5%;animation:none;opacity:1;padding:8px;width:270px;height:120px}
.drive-by-one img{animation:roadPass 14s linear infinite;opacity:.86;pointer-events:auto}
@keyframes roadPass{0%{transform:translate(0,12px) rotate(2deg);opacity:.82}24%{transform:translate(-28vw,-16px) rotate(-4deg);opacity:.9}50%{transform:translate(-56vw,13px) rotate(3deg);opacity:.9}76%{transform:translate(-84vw,-9px) rotate(-2deg);opacity:.86}100%{transform:translate(calc(-100vw - 320px),8px) rotate(2deg);opacity:.5}}

.map-public-actions{max-width:1220px;margin:0 auto 18px;display:flex;align-items:center;justify-content:flex-end;gap:14px}.map-public-actions p{margin:0;color:var(--muted);font-size:13px}.add-event-btn{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;border-color:var(--red)}.add-event-btn span{font-size:25px;line-height:.7}
.public-event-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px}.public-event-box{position:relative;z-index:2;width:min(780px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:28px;border:1px solid rgba(0,215,255,.45);border-radius:8px;background:linear-gradient(150deg,#111b1f,#07090b 64%);box-shadow:0 30px 100px rgba(0,0,0,.72);animation:panelIn .3s ease both}.public-event-box>.map-close{position:absolute;right:20px;top:20px}.public-event-box h2{margin:8px 0;font-size:clamp(38px,6vw,62px);text-transform:uppercase}.public-event-box>p{max-width:620px;color:var(--muted);line-height:1.55}.public-event-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.public-event-form .wide{grid-column:1/-1}.public-event-form textarea{min-height:130px}
@media(max-width:680px){.map-public-actions{display:grid;justify-content:stretch}.map-public-actions .btn{width:100%}.public-event-form{grid-template-columns:1fr}.public-event-form .wide{grid-column:auto}.public-event-box{padding:24px 18px}}
@media(max-width:640px){.member-card-compact{grid-template-columns:1fr;gap:10px}.member-card-compact .member-compact-main{min-height:auto}.member-card-compact .member-compact-main h3{font-size:22px;white-space:normal}.member-card-compact .member-compact-more{width:100%}}

/* Meet map, onboarding and structured admin */
.map-filter-shell{max-width:1220px;margin:0 auto 18px}.map-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04)}
.cro-map .cro-shape{inset:0;background:none;clip-path:none;border:0;filter:drop-shadow(0 28px 55px rgba(0,0,0,.42))}
.croatia-silhouette{width:100%;height:100%;display:block}.croatia-land{fill:#111d22;stroke:rgba(0,215,255,.38);stroke-width:8;stroke-linejoin:round}.croatia-coast{fill:#0e181d;stroke:rgba(255,186,82,.38);stroke-width:5}.croatia-island{fill:#111d22;stroke:rgba(0,215,255,.26);stroke-width:4}
.region-pin{width:34px;height:34px;transition:transform .2s ease,box-shadow .2s ease}.region-pin:hover,.region-pin:focus-visible{transform:translate(-50%,-50%) scale(1.12);outline:0;box-shadow:0 0 0 13px rgba(255,40,76,.22),0 0 38px rgba(255,40,76,.9)}.region-pin.is-past{background:#69757a;box-shadow:0 0 0 10px rgba(105,117,122,.18),0 0 26px rgba(105,117,122,.62)}.region-pin span{top:50%;transform:translate(-50%,-50%);min-width:25px;height:25px;border-radius:50%;background:#fff}.map-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:24px;color:var(--muted)}.map-empty h3{margin:0 0 8px;color:#fff;text-transform:uppercase}
.region-breakdown{display:grid;gap:14px}.region-city-group{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.04)}.region-city-group header{display:flex;justify-content:space-between;gap:12px;align-items:center}.region-city-group header strong{color:#fff}.region-city-group header span{color:var(--cyan);font-weight:900}.city-event-row.is-past{opacity:.68;filter:saturate(.65)}
.event-organizer{margin:0;color:#dce5e8;font-weight:800}
.admin-meet-form,.club-member-form,.club-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-meet-form .wide,.club-member-form .wide,.club-rule-form .wide{grid-column:1/-1}.admin-inline-editor{border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.22);overflow:hidden}.admin-inline-editor+ .admin-inline-editor{margin-top:10px}.admin-inline-editor summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;cursor:pointer}.admin-inline-editor summary span{color:var(--muted);font-size:13px}.admin-inline-editor .admin-form{padding:14px;border-top:1px solid var(--line)}
.member-admin-toolbar{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px}.club-member-list,.club-rule-list,.admin-meet-list{display:grid;gap:10px}.club-member-row{display:grid;grid-template-columns:1.1fr repeat(3,minmax(120px,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04)}.club-member-row[hidden]{display:none!important}.club-member-row .wide{grid-column:1/-1}.member-row-title strong,.member-row-title small{display:block}.member-row-title small{margin-top:5px;color:var(--muted)}.club-member-row textarea{min-height:74px}
.rules-gate-shell{max-width:980px;margin:0 auto}.rules-gate-form{display:grid;gap:14px}.rule-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,rgba(0,215,255,.08),rgba(255,255,255,.045))}.rule-card h3{margin:5px 0 8px;font-size:24px;text-transform:uppercase}.rule-card p{margin:0;color:#dce5e8;line-height:1.58}.rule-card small{color:var(--gold);font-weight:900}.rule-card.is-accepted{opacity:.78}.accepted-badge{display:inline-flex;margin-top:12px;padding:7px 10px;border:1px solid rgba(99,255,157,.45);border-radius:999px;color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase}.rules-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.rules-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:900px){.map-filters,.admin-meet-form,.club-member-form,.club-rule-form,.club-member-row{grid-template-columns:1fr}.admin-meet-form .wide,.club-member-form .wide,.club-rule-form .wide,.club-member-row .wide{grid-column:auto}.member-admin-toolbar{grid-template-columns:1fr}.rule-card{grid-template-columns:1fr}.rules-actions{display:grid;justify-content:stretch}.map-city-panel{left:14px;right:14px;top:14px;width:auto}.city-event-row{grid-template-columns:64px 1fr}.city-event-row .btn{grid-column:1/-1}.cro-map-wide{min-height:560px;aspect-ratio:auto}}

/* Cinematic garage polish */
:root {
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-snap: cubic-bezier(.2, .8, .2, 1);
  --glow-cyan: 0 0 28px rgba(0, 215, 255, .24);
  --glow-red: 0 0 28px rgba(255, 40, 76, .22);
}

body {
  background:
    radial-gradient(circle at 54% -8%, rgba(0, 215, 255, .12), transparent 34%),
    linear-gradient(180deg, #050607 0%, #080b0d 42%, #050607 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .9;
  background:
    linear-gradient(115deg, transparent 0 51%, rgba(255, 40, 76, .13) 51.4% 52.2%, transparent 52.7%),
    linear-gradient(25deg, transparent 0 66%, rgba(0, 215, 255, .13) 66.3% 67%, transparent 67.6%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 20px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 1px, transparent 1px 26px);
  animation: ambientDrift 22s var(--ease-snap) infinite alternate;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(0, 215, 255, .14) 30%, transparent 43%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px);
  mix-blend-mode: screen;
  transform: translateX(-18%);
  animation: scanSweep 9s var(--ease-snap) infinite;
}

.ambient-stage {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  perspective: 900px;
}

.ambient-road,
.ambient-scan,
.ambient-noise {
  position: absolute;
  inset: 0;
  display: block;
}

.ambient-road {
  top: 46%;
  left: -15%;
  right: -15%;
  height: 72%;
  transform: rotateX(66deg) translateY(14%);
  transform-origin: center top;
  opacity: .42;
  background:
    linear-gradient(90deg, transparent 0 42%, rgba(255,255,255,.18) 42.2% 42.7%, transparent 43% 57%, rgba(255,255,255,.18) 57.3% 57.8%, transparent 58%),
    repeating-linear-gradient(0deg, rgba(0,215,255,.24) 0 2px, transparent 2px 64px);
  filter: blur(.2px);
  animation: roadFlow 1.9s linear infinite;
}

.ambient-scan {
  inset: -25% -12%;
  opacity: .45;
  background:
    linear-gradient(105deg, transparent 0 44%, rgba(255, 186, 82, .12) 48%, transparent 54%),
    linear-gradient(255deg, transparent 0 58%, rgba(255, 40, 76, .08) 62%, transparent 69%);
  animation: lightRig 11s var(--ease-out) infinite alternate;
}

.ambient-noise {
  opacity: .16;
  background-image:
    repeating-radial-gradient(circle at 18% 22%, rgba(255,255,255,.12) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px);
  background-size: 180px 180px, 6px 6px;
  mix-blend-mode: overlay;
}

#app {
  position: relative;
  z-index: 1;
}

.topbar {
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 14px 60px rgba(0,0,0,.26), inset 0 -1px 0 rgba(0,215,255,.08);
}

.brand img {
  transition: transform .28s var(--ease-out), filter .28s ease;
}

.brand:hover img {
  transform: translateY(-2px) scale(1.04);
  filter: drop-shadow(0 0 18px rgba(0,215,255,.36));
}

.lang,
.hamburger,
.header-account a,
.header-account button {
  transition: transform .22s var(--ease-out), border-color .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease;
}

.lang:hover,
.header-account a:hover,
.header-account button:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.075);
}

.hamburger:hover span {
  box-shadow: 0 0 14px rgba(0,215,255,.64);
}

.nav-panel {
  backdrop-filter: blur(18px);
}

.nav-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,215,255,.16), transparent 16%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 12px);
}

.nav-inner > a {
  position: relative;
  transition: transform .26s var(--ease-out), color .26s ease;
}

.nav-inner > a::after {
  content: "";
  position: absolute;
  left: 54px;
  right: 0;
  bottom: -9px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,215,255,.75), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s var(--ease-out);
}

.nav-inner > a:hover,
.nav-inner > a:focus-visible {
  transform: translateX(8px);
}

.nav-inner > a:hover::after,
.nav-inner > a:focus-visible::after {
  transform: scaleX(1);
}

.nav-panel.is-open .nav-inner > a {
  animation: navItemIn .42s var(--ease-out) both;
}

.nav-panel.is-open .nav-inner > a:nth-child(2) { animation-delay: .04s; }
.nav-panel.is-open .nav-inner > a:nth-child(3) { animation-delay: .08s; }
.nav-panel.is-open .nav-inner > a:nth-child(4) { animation-delay: .12s; }
.nav-panel.is-open .nav-inner > a:nth-child(5) { animation-delay: .16s; }
.nav-panel.is-open .nav-inner > a:nth-child(6) { animation-delay: .2s; }

.loader {
  background:
    radial-gradient(circle at 50% 34%, rgba(0,215,255,.22), transparent 30%),
    linear-gradient(180deg, #10181b 0%, #050607 62%);
}

.loader::before,
.loader::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.loader::before {
  opacity: .38;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 38px),
    repeating-linear-gradient(0deg, rgba(0,215,255,.08) 0 2px, transparent 2px 54px);
  animation: loaderGrid 1.8s linear infinite;
}

.loader::after {
  background: linear-gradient(110deg, transparent 0 38%, rgba(255,255,255,.12) 47%, transparent 56%);
  animation: loaderSweep 1.6s var(--ease-snap) infinite;
}

.loader-logo,
.loader-car,
.loader p {
  position: relative;
  z-index: 1;
}

.loader-car span {
  box-shadow: 0 0 28px rgba(0, 215, 255, .7), 0 0 52px rgba(255, 40, 76, .18);
}

.hero,
.history-hero,
.members-hero,
.shop-hero,
.terms-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero::before,
.history-hero::before,
.members-hero::before,
.shop-hero::before,
.terms-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .55;
  background:
    linear-gradient(100deg, transparent 0 34%, rgba(0,215,255,.16) 43%, transparent 52%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 10px);
  mix-blend-mode: screen;
  animation: heroSweep 8s var(--ease-snap) infinite;
}

.hero-img,
.history-bg {
  will-change: transform, opacity;
  animation: heroBreath 18s var(--ease-snap) infinite alternate;
}

.hero-content,
.members-hero > div,
.shop-hero > div,
.terms-hero > div {
  position: relative;
  z-index: 2;
  animation: heroContentIn .78s var(--ease-out) both;
}

.hero-content h1,
.members-hero h1,
.shop-hero h1,
.terms-hero h1,
.history-hero h1 {
  position: relative;
  text-shadow: 0 0 30px rgba(0,215,255,.16), 0 16px 42px rgba(0,0,0,.62);
}

.hero-content h1::after,
.members-hero h1::after,
.shop-hero h1::after,
.terms-hero h1::after,
.history-hero h1::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.08em;
  height: .08em;
  max-width: min(430px, 72vw);
  background: linear-gradient(90deg, var(--red), var(--gold), var(--cyan), transparent);
  box-shadow: var(--glow-cyan);
  transform: scaleX(.78);
  transform-origin: left;
}

.kicker,
.members-hero span,
.shop-hero span,
.terms-hero span,
.garage-detail-hero span,
.garage-car-copy small {
  text-shadow: 0 0 18px rgba(0,215,255,.26);
}

.hero-actions .btn,
.row-actions .btn,
.btn {
  border-radius: 6px;
  touch-action: manipulation;
  transition: transform .22s var(--ease-out), box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.btn::after {
  content: "";
  position: absolute;
  inset: -80% -45%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.5) 48%, transparent 58%);
  transform: translateX(-85%) rotate(8deg);
  transition: transform .46s var(--ease-out);
}

.btn:hover::after,
.btn:focus-visible::after {
  transform: translateX(85%) rotate(8deg);
}

.btn:active,
.garage-cover:active,
.product-more:active {
  transform: translateY(0) scale(.98);
}

.btn.secondary:hover {
  border-color: rgba(0,215,255,.48);
  box-shadow: var(--glow-cyan), 0 14px 30px rgba(0,0,0,.25);
}

.panel,
.member-card,
.news-card,
.weather-card,
.event-card,
.form-box,
.garage-card,
.garage-car-panel,
.product-card,
.product-admin-card,
.coupon-card,
.rule-card,
.city-event-row,
.region-city-group,
.admin-inline-editor,
.club-member-row,
.list-row {
  position: relative;
  border-color: rgba(255,255,255,.13);
  background:
    linear-gradient(145deg, rgba(0,215,255,.09), rgba(255,255,255,.045) 46%, rgba(255,40,76,.065)),
    rgba(5,8,10,.66);
  backdrop-filter: blur(10px);
  transition: transform .26s var(--ease-out), border-color .26s ease, box-shadow .26s ease, background .26s ease, filter .26s ease;
}

.panel::before,
.member-card::before,
.news-card::before,
.weather-card::before,
.event-card::before,
.form-box::before,
.garage-card::before,
.garage-car-panel::before,
.product-card::before,
.product-admin-card::before,
.coupon-card::before,
.rule-card::before,
.city-event-row::before,
.region-city-group::before,
.admin-inline-editor::before,
.club-member-row::before,
.list-row::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.14), transparent 28%, transparent 72%, rgba(0,215,255,.12));
  opacity: 0;
  transition: opacity .26s ease;
}

.panel:hover,
.member-card:hover,
.news-card:hover,
.weather-card:hover,
.event-card:hover,
.garage-card:hover,
.garage-car-panel:hover,
.product-card:hover,
.product-admin-card:hover,
.coupon-card:hover,
.rule-card:hover,
.city-event-row:hover,
.region-city-group:hover,
.admin-inline-editor:hover,
.club-member-row:hover,
.list-row:hover {
  transform: translateY(-5px);
  border-color: rgba(0,215,255,.42);
  box-shadow: 0 24px 80px rgba(0,215,255,.08), 0 20px 70px rgba(0,0,0,.34);
}

.panel:hover::before,
.member-card:hover::before,
.news-card:hover::before,
.weather-card:hover::before,
.event-card:hover::before,
.form-box:hover::before,
.garage-card:hover::before,
.garage-car-panel:hover::before,
.product-card:hover::before,
.product-admin-card:hover::before,
.coupon-card:hover::before,
.rule-card:hover::before,
.city-event-row:hover::before,
.region-city-group:hover::before,
.admin-inline-editor:hover::before,
.club-member-row:hover::before,
.list-row:hover::before {
  opacity: 1;
}

.visual-strip,
.sponsor-track,
.map-wrap,
.cro-map {
  position: relative;
  isolation: isolate;
}

.visual-strip img,
.garage-cover img,
.product-card img,
.event-card img,
.profile-summary > img,
.garage-gallery img,
.history-double img,
.history-split img {
  transition: transform .5s var(--ease-out), filter .5s ease, opacity .5s ease;
}

.visual-strip img:hover,
.garage-card:hover .garage-cover img,
.product-card:hover img,
.event-card:hover img,
.history-double img:hover,
.history-split img:hover {
  transform: scale(1.045);
  filter: saturate(1.18) contrast(1.04);
}

.drive-by-one {
  filter: drop-shadow(0 16px 22px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(0,215,255,.28));
}

.drive-by-one::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 12%;
  bottom: 7px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0,0,0,.52);
  filter: blur(8px);
}

.cro-map {
  box-shadow: inset 0 0 90px rgba(0,215,255,.05), var(--shadow);
}

.cro-map::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(120deg, transparent 0 44%, rgba(255,186,82,.12) 49%, transparent 55%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px);
  opacity: .52;
  animation: mapScan 7s var(--ease-snap) infinite;
}

.region-pin {
  animation: pinPulse 2.8s var(--ease-snap) infinite;
}

.region-pin.is-past {
  animation: none;
}

input,
textarea,
select {
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s var(--ease-out);
}

input:focus,
textarea:focus,
select:focus {
  outline: 2px solid rgba(0,215,255,.26);
  outline-offset: 2px;
  border-color: rgba(0,215,255,.55);
  box-shadow: 0 0 0 4px rgba(0,215,255,.08);
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 2px solid rgba(0,215,255,.72);
  outline-offset: 4px;
}

.reveal {
  opacity: 0;
  transform: translateY(36px) scale(.985);
  filter: blur(8px);
  transition:
    opacity .72s var(--ease-out) var(--delay),
    transform .72s var(--ease-out) var(--delay),
    filter .72s ease var(--delay),
    border-color .25s ease,
    box-shadow .25s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.forecast .day.reveal:nth-child(2),
.product-grid .product-card.reveal:nth-child(2),
.member-grid-polished .garage-card.reveal:nth-child(2),
.news-grid .news-card.reveal:nth-child(2) {
  --delay: 80ms;
}

.forecast .day.reveal:nth-child(3),
.product-grid .product-card.reveal:nth-child(3),
.member-grid-polished .garage-card.reveal:nth-child(3),
.news-grid .news-card.reveal:nth-child(3) {
  --delay: 140ms;
}

@keyframes ambientDrift {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1.01); }
  to { transform: translate3d(1.5%, 1%, 0) scale(1.04); }
}

@keyframes scanSweep {
  0%, 18% { transform: translateX(-38%); opacity: .12; }
  42%, 58% { opacity: .36; }
  100% { transform: translateX(38%); opacity: .12; }
}

@keyframes roadFlow {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 0, 0 64px; }
}

@keyframes lightRig {
  from { transform: translate3d(-3%, -1%, 0) rotate(-1deg); }
  to { transform: translate3d(3%, 2%, 0) rotate(1deg); }
}

@keyframes loaderGrid {
  from { background-position: 0 0, 0 0; }
  to { background-position: 38px 0, 0 54px; }
}

@keyframes loaderSweep {
  from { transform: translateX(-52%); opacity: .16; }
  45% { opacity: .5; }
  to { transform: translateX(52%); opacity: .16; }
}

@keyframes heroSweep {
  0%, 18% { transform: translateX(-22%); opacity: .18; }
  48%, 62% { opacity: .58; }
  100% { transform: translateX(22%); opacity: .18; }
}

@keyframes heroBreath {
  from { transform: scale(1.04) translate3d(0,0,0); filter: saturate(1.02); }
  to { transform: scale(1.095) translate3d(1.4%, -1.2%, 0); filter: saturate(1.15) contrast(1.03); }
}

@keyframes heroContentIn {
  from { opacity: 0; transform: translateY(26px) scale(.985); filter: blur(10px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes navItemIn {
  from { opacity: 0; transform: translateX(28px); }
  to { opacity: 1; transform: none; }
}

@keyframes mapScan {
  from { transform: translateX(-18%); opacity: .22; }
  50% { opacity: .55; }
  to { transform: translateX(18%); opacity: .22; }
}

@keyframes pinPulse {
  0%, 100% { box-shadow: 0 0 0 10px rgba(255,40,76,.18), 0 0 28px rgba(255,40,76,.58); }
  50% { box-shadow: 0 0 0 16px rgba(255,40,76,.08), 0 0 42px rgba(255,40,76,.78); }
}

@media (max-width: 760px) {
  body::after,
  .ambient-scan {
    opacity: .2;
  }

  .ambient-road {
    top: 58%;
    opacity: .28;
  }

  .hero .drive-by,
  .drive-by-one {
    z-index: 1;
    opacity: .42;
  }

  .drive-by-one {
    right: -120px;
    bottom: 2%;
  }

  .drive-by-one img {
    filter: saturate(.9) contrast(.96);
  }

  .hero::before,
  .history-hero::before,
  .members-hero::before,
  .shop-hero::before,
  .terms-hero::before {
    opacity: .34;
  }

  .hero-content h1::after,
  .members-hero h1::after,
  .shop-hero h1::after,
  .terms-hero h1::after,
  .history-hero h1::after {
    max-width: 72vw;
  }

  .panel:hover,
  .member-card:hover,
  .news-card:hover,
  .weather-card:hover,
  .event-card:hover,
  .garage-card:hover,
  .garage-car-panel:hover,
  .product-card:hover,
  .product-admin-card:hover,
  .coupon-card:hover,
  .rule-card:hover,
  .city-event-row:hover,
  .region-city-group:hover,
  .admin-inline-editor:hover,
  .club-member-row:hover,
  .list-row:hover {
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .ambient-stage,
  body::before,
  body::after {
    animation: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
