/* ============ ROOT ============ */
:root {
  --accent: #FF6FB5;
  --accent-dark: #E84BA0;
  --deep: #8B6BFF;
  --deep-dark: #6A47E6;
  --neon: #E4FF4A;
  --pink-bg: #FFD9EC;
  --lav-bg: #D9C8FF;
  --sky: #C8DCF5;
  --sky-bg: #E5EEFB;
  --ink: #1A0F2E;
  --ink-2: #1F1B2E;
  --paper: #FFFFFF;
  --grey: #6B6B7A;
  --line: #EAE8F0;
  --radius: 22px;
  --radius-lg: 32px;
  --shadow-pink: 0 18px 50px -12px rgba(255, 111, 181, 0.5);
  --shadow-deep: 0 18px 50px -12px rgba(139, 107, 255, 0.5);
  --shadow-soft: 0 12px 40px -12px rgba(20, 8, 60, 0.18);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Nunito', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink);
  background: #FAFAFB;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; }

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
.container-narrow { max-width: 920px; }

/* ============ HEADER ============ */
.hdr {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.hdr-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.hdr-logos {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.hdr-logo { height: 28px; width: auto; object-fit: contain; }
.hdr-logo-likato { height: 26px; }
.hdr-logo-epil { height: 18px; }
.hdr-logo-lavant { height: 26px; }
.hdr-logo-magnit { height: 18px; }
.hdr-divider {
  width: 1px;
  height: 22px;
  background: var(--line);
}
.hdr-magnit {
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--ink);
  background: var(--neon);
  padding: 5px 10px;
  border-radius: 6px;
}

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.02em;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-pink {
  background: var(--accent);
  color: white;
  box-shadow: var(--shadow-pink), inset 0 0 0 0 var(--accent-dark);
}
.btn-pink:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 60px -12px rgba(255, 45, 135, 0.6);
}
.btn-yellow {
  background: var(--neon);
  color: var(--ink);
  box-shadow: 0 12px 32px -8px rgba(232, 255, 61, 0.5);
}
.btn-yellow:hover { transform: translateY(-2px); }
.btn-dark {
  background: var(--ink);
  color: white;
}
.btn-dark:hover { transform: translateY(-2px); }
.btn-sm { padding: 10px 18px; font-size: 13px; }
.btn-md { padding: 13px 22px; font-size: 14px; }
.btn-xl {
  padding: 22px 36px;
  font-size: 18px;
  border-radius: 999px;
}

.btn-link {
  background: none;
  color: var(--accent);
  font-weight: 800;
  font-size: 14px;
  padding: 0;
  margin-top: 12px;
  text-align: left;
}

/* pulse animation */
.pulse {
  animation: pulse 2.6s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 18px 50px -12px rgba(255, 45, 135, 0.45), 0 0 0 0 rgba(255, 45, 135, 0.6); }
  50% { box-shadow: 0 18px 50px -12px rgba(255, 45, 135, 0.55), 0 0 0 14px rgba(255, 45, 135, 0); }
}

.link-pink { color: var(--accent); font-weight: 800; }

/* ============ MARQUEE ============ */
.marquee {
  background: var(--ink);
  color: white;
  overflow: hidden;
  border-bottom: 1px solid #1A1A1A;
  position: relative;
  z-index: 1;
}
.marquee-track {
  display: flex;
  gap: 48px;
  padding: 10px 0;
  width: max-content;
  animation: marquee 60s linear infinite;
  will-change: transform;
}
.marquee-item {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: #E5E5E5;
}
.marquee-item:first-letter { color: var(--neon); }
@keyframes marquee {
  to { transform: translateX(-33.333%); }
}

/* ============ HERO ============ */
.hero {
  position: relative;
  padding: 56px 0 80px;
  background: linear-gradient(180deg, #E5EEFB 0%, #D9C8FF 100%);
  overflow: hidden;
}
.hero-bg { position: absolute; inset: 0; pointer-events: none; }
.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.55;
}
.blob-1 {
  width: 520px; height: 520px;
  background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
  top: -100px; left: -150px;
  animation: blob-drift 14s ease-in-out infinite;
}
.blob-2 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, var(--deep) 0%, transparent 70%);
  bottom: -200px; right: -150px;
  animation: blob-drift 18s ease-in-out infinite reverse;
}
@keyframes blob-drift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(40px, 30px) scale(1.1); }
}
.grain {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity: 0.06;
  mix-blend-mode: multiply;
}

.hero-grid {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 48px;
  align-items: center;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: white;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--ink);
  margin-bottom: 24px;
  box-shadow: var(--shadow-soft);
}
.hero-pill .dot {
  width: 8px; height: 8px;
  background: #00C853;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.2);
  animation: pulse-dot 1.6s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.2); }
  50% { box-shadow: 0 0 0 8px rgba(0, 200, 83, 0); }
}

.hero-title {
  font-family: 'Bagel Fat One', 'Unbounded', sans-serif;
  font-weight: 900;
  margin: 0 0 28px;
  line-height: 0.88;
  letter-spacing: -0.01em;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tt-1 {
  font-size: clamp(48px, 7vw, 92px);
  color: var(--ink);
  letter-spacing: 0.005em;
}
.tt-2 {
  display: flex;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap;
}
.tt-2 em {
  font-style: normal;
  font-size: clamp(120px, 22vw, 280px);
  line-height: 0.78;
  font-weight: 900;
  background: linear-gradient(180deg, var(--accent) 0%, var(--deep) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 4px 40px rgba(255, 45, 135, 0.3);
  position: relative;
  filter: drop-shadow(0 8px 30px rgba(123, 44, 255, 0.25));
}
.tt-2-mln {
  font-size: clamp(40px, 6vw, 84px);
  color: var(--ink);
  letter-spacing: 0.005em;
}
.tt-3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: clamp(16px, 1.4vw, 22px);
  color: var(--grey);
  letter-spacing: 0;
  text-transform: lowercase;
  margin-top: 6px;
}

.hero-sub {
  font-size: clamp(15px, 1.2vw, 18px);
  color: var(--ink);
  line-height: 1.55;
  max-width: 560px;
  margin: 0 0 32px;
}
.hero-sub b { font-weight: 800; }
.hero-sub u {
  text-decoration: none;
  background: linear-gradient(180deg, transparent 60%, var(--neon) 60%);
  padding: 0 4px;
  font-weight: 800;
}

.hero-cta-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.hero-counter { display: flex; flex-direction: column; }
.hero-counter-num {
  font-weight: 900;
  font-size: 26px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.hero-counter-lbl {
  font-size: 13px;
  color: var(--grey);
  font-weight: 600;
}

.hero-timer { }
.hero-timer-lbl {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--grey);
  margin-bottom: 10px;
}
.hero-timer-row {
  display: flex;
  gap: 10px;
}
.tile {
  background: var(--ink);
  color: white;
  padding: 12px 16px;
  border-radius: 14px;
  min-width: 72px;
  text-align: center;
}
.tile-v {
  font-family: 'Unbounded', sans-serif;
  font-size: 28px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.tile-l {
  font-size: 10px;
  letter-spacing: 0.1em;
  color: #999;
  margin-top: 4px;
  text-transform: uppercase;
}

/* HERO RIGHT — prize stage */
.hero-right { position: relative; min-height: 540px; }
.prize-stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prize-rays {
  position: absolute;
  width: 600px; height: 600px;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(255, 45, 135, 0.18) 12deg, transparent 24deg, transparent 60deg, rgba(232, 255, 61, 0.2) 72deg, transparent 84deg, transparent 120deg, rgba(123, 44, 255, 0.16) 132deg, transparent 144deg);
  border-radius: 50%;
  animation: spin 28s linear infinite;
  filter: blur(2px);
}
@keyframes spin { to { transform: rotate(360deg); } }

.prize-card {
  position: relative;
  width: 380px;
  padding: 36px 28px 32px;
  border-radius: 28px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--deep) 100%);
  color: white;
  text-align: center;
  box-shadow: 0 30px 80px -20px rgba(123, 44, 255, 0.55);
  z-index: 2;
  transform: rotate(-2deg);
  animation: card-float 6s ease-in-out infinite;
}
@keyframes card-float {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-12px); }
}
.prize-card-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  background: rgba(255, 255, 255, 0.18);
  padding: 6px 14px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 16px;
}
.prize-card-num {
  font-family: 'Unbounded', sans-serif;
  font-size: 76px;
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.01em;
  color: var(--neon);
  text-shadow: 0 4px 24px rgba(232, 255, 61, 0.4);
  font-variant-numeric: tabular-nums;
}
.prize-card-cur {
  font-size: 56px;
  margin-left: 8px;
  vertical-align: 4px;
}
.prize-card-foot {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
  font-weight: 600;
}

.prize-mini {
  position: absolute;
  background: white;
  border-radius: 18px;
  padding: 14px 18px;
  box-shadow: var(--shadow-soft);
  z-index: 3;
}
.prize-mini-1 {
  top: 30px;
  left: -20px;
  transform: rotate(-6deg);
  animation: float-1 5s ease-in-out infinite;
}
.prize-mini-2 {
  bottom: 40px;
  right: -10px;
  transform: rotate(5deg);
  animation: float-1 6s ease-in-out infinite reverse;
}
@keyframes float-1 {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-10px) rotate(-6deg); }
}
.prize-mini-2 { animation-name: float-2; }
@keyframes float-2 {
  0%, 100% { transform: translateY(0) rotate(5deg); }
  50% { transform: translateY(-8px) rotate(5deg); }
}
.pm-num {
  font-family: 'Unbounded', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: 0.01em;
  line-height: 1;
}
.pm-lbl {
  font-size: 11px;
  font-weight: 700;
  color: var(--grey);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 4px;
}

.floaters { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.coin {
  position: absolute;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--neon), #FFD700);
  color: var(--ink);
  font-weight: 900;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(232, 255, 61, 0.5);
  font-family: 'Unbounded', sans-serif;
}
.coin-0 { top: 5%; left: 8%; animation: coin-fl 4s ease-in-out infinite; }
.coin-1 { top: 12%; right: 12%; animation: coin-fl 5s ease-in-out infinite 0.5s; }
.coin-2 { top: 75%; left: 4%; animation: coin-fl 4.5s ease-in-out infinite 1s; }
.coin-3 { top: 80%; right: 22%; animation: coin-fl 5.5s ease-in-out infinite 1.5s; width: 28px; height: 28px; font-size: 14px; }
.coin-4 { top: 25%; left: 80%; animation: coin-fl 4s ease-in-out infinite 2s; width: 30px; height: 30px; font-size: 14px; }
.coin-5 { top: 50%; left: -2%; animation: coin-fl 5s ease-in-out infinite 0.8s; width: 26px; height: 26px; font-size: 12px; }
.coin-6 { top: 92%; left: 50%; animation: coin-fl 4.2s ease-in-out infinite 1.2s; width: 24px; height: 24px; font-size: 12px; }
.coin-7 { top: 0%; left: 50%; animation: coin-fl 4.8s ease-in-out infinite; width: 32px; height: 32px; font-size: 16px; }
.coin-8 { top: 60%; left: 95%; animation: coin-fl 5s ease-in-out infinite 0.3s; width: 28px; height: 28px; font-size: 14px; }
.coin-9 { top: 35%; left: 5%; animation: coin-fl 5.2s ease-in-out infinite 1.8s; width: 22px; height: 22px; font-size: 11px; opacity: 0.7; }
.coin-10 { top: 68%; left: 70%; animation: coin-fl 4.6s ease-in-out infinite 0.6s; width: 26px; height: 26px; font-size: 13px; }
.coin-11 { top: 18%; left: 40%; animation: coin-fl 5s ease-in-out infinite 2.4s; width: 20px; height: 20px; font-size: 10px; opacity: 0.6; }
@keyframes coin-fl {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-18px) rotate(15deg); }
}

/* ============ SECTIONS ============ */
.sec { padding: 100px 0; position: relative; }
.sec-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 64px;
}
.kicker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--accent);
  margin-bottom: 16px;
}
.kicker-light { color: var(--neon); }
.sec-title {
  font-family: 'Unbounded', sans-serif;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 900;
  margin: 0;
  letter-spacing: 0.005em;
  line-height: 0.95;
  color: var(--ink);
}
.sec-title-light { color: white; }
.sec-title .hl {
  background: linear-gradient(180deg, var(--accent), var(--deep));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sec-title .hl-yellow {
  color: var(--neon);
  text-shadow: 0 0 30px rgba(232, 255, 61, 0.4);
}
.sec-lead {
  margin-top: 16px;
  color: var(--grey);
  font-size: 17px;
  line-height: 1.5;
}

/* ============ HOW IT WORKS ============ */
.sec-how { background: var(--paper); }
.how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  position: relative;
}
.how-card {
  position: relative;
  padding: 36px 28px;
  background: white;
  border: 2px solid var(--line);
  border-radius: var(--radius-lg);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.how-card:hover {
  transform: translateY(-6px);
  border-color: var(--accent);
  box-shadow: 0 24px 60px -16px rgba(255, 45, 135, 0.25);
}
.how-num {
  font-family: 'Unbounded', sans-serif;
  font-size: 84px;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(180deg, var(--accent), var(--deep));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 16px;
}
.how-icon {
  width: 64px; height: 64px;
  color: var(--accent);
  margin-bottom: 20px;
}
.how-icon svg { width: 100%; height: 100%; }
.how-title {
  font-family: 'Unbounded', sans-serif;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 0.01em;
  margin-bottom: 8px;
}
.how-body {
  color: var(--grey);
  font-size: 15px;
  line-height: 1.5;
}
.how-arrow {
  position: absolute;
  top: 50%;
  right: -38px;
  transform: translateY(-50%);
  width: 60px;
  color: var(--accent);
  z-index: 2;
}
.how-arrow svg { width: 100%; }

.how-tip {
  margin-top: 36px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 28px;
  background: var(--neon);
  border-radius: var(--radius);
  flex-wrap: wrap;
}
.how-tip-emoji { font-size: 26px; }
.how-tip > span:nth-child(2) {
  flex: 1;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
}

/* ============ CHANCES ============ */
.sec-chances { background: #FAFAFB; }
.chances-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.chance-card {
  position: relative;
  padding: 32px;
  border-radius: var(--radius-lg);
  min-height: 280px;
  overflow: hidden;
  transition: transform 0.3s ease;
}
.chance-card:hover { transform: translateY(-6px); }
.chance-dark { color: white; }
.chance-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 20px;
}
.chance-n {
  font-family: 'Unbounded', sans-serif;
  font-size: 88px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}
.chance-n-lbl {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.8;
}
.chance-title {
  font-family: 'Unbounded', sans-serif;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.01em;
  margin-bottom: 18px;
}
.chance-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.chance-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15px;
  font-weight: 600;
}
.chk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: white;
  color: var(--accent);
  font-weight: 900;
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}
.chance-dark .chk { background: var(--neon); color: var(--ink); }
.vip-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  background: var(--neon);
  color: var(--ink);
  font-family: 'Unbounded', sans-serif;
  font-size: 18px;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 8px;
  letter-spacing: 0.05em;
  transform: rotate(8deg);
  box-shadow: 0 8px 20px rgba(232, 255, 61, 0.4);
}

/* ============ PRIZES ============ */
.sec-prizes { background: var(--paper); }
.prizes-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 20px;
}
.prize-big {
  position: relative;
  padding: 56px 48px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--accent) 0%, var(--deep) 100%);
  color: white;
  overflow: hidden;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.prize-bg-rays {
  position: absolute;
  inset: 0;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,0.12) 8deg, transparent 16deg, transparent 30deg, rgba(232,255,61,0.18) 38deg, transparent 46deg);
  animation: spin 32s linear infinite;
  opacity: 0.7;
}
.prize-floaters { position: absolute; inset: 0; pointer-events: none; }
.p-coin {
  position: absolute;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--neon), #FFD700);
  color: var(--ink);
  font-weight: 900;
  font-family: 'Unbounded', sans-serif;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}
.p-coin-0 { top: 8%; right: 12%; animation: coin-fl 4s ease-in-out infinite; }
.p-coin-1 { top: 18%; right: 30%; animation: coin-fl 5s ease-in-out infinite 0.5s; width: 28px; height: 28px; font-size: 14px; }
.p-coin-2 { top: 12%; left: 10%; animation: coin-fl 4.5s ease-in-out infinite 1s; width: 24px; height: 24px; font-size: 12px; }
.p-coin-3 { top: 35%; right: 6%; animation: coin-fl 5s ease-in-out infinite 1.5s; }
.p-coin-4 { top: 28%; left: 30%; animation: coin-fl 4s ease-in-out infinite 2s; width: 22px; height: 22px; font-size: 11px; }
.p-coin-5 { top: 6%; left: 45%; animation: coin-fl 5s ease-in-out infinite; width: 30px; height: 30px; font-size: 14px; }
.p-coin-6 { top: 45%; left: 2%; animation: coin-fl 4.5s ease-in-out infinite 0.8s; width: 26px; height: 26px; font-size: 13px; }
.p-coin-7 { top: 22%; right: 50%; animation: coin-fl 5.5s ease-in-out infinite 1.2s; width: 24px; height: 24px; font-size: 12px; }

.prize-tag {
  position: relative;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  margin-bottom: 18px;
  background: rgba(255,255,255,0.2);
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  align-self: flex-start;
}
.prize-num {
  position: relative;
  font-family: 'Unbounded', sans-serif;
  font-size: clamp(48px, 8vw, 112px);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--neon);
  text-shadow: 0 8px 40px rgba(232, 255, 61, 0.4);
  font-variant-numeric: tabular-nums;
  margin-bottom: 16px;
  white-space: nowrap;
}
.prize-num .cur {
  font-size: 0.6em;
  margin-left: 10px;
  vertical-align: 8%;
}
.prize-desc {
  position: relative;
  font-size: 17px;
  line-height: 1.5;
  opacity: 0.95;
  max-width: 460px;
  margin-bottom: 24px;
}
.prize-big .btn-yellow { align-self: flex-start; position: relative; }

.prize-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.prize-sm {
  position: relative;
  padding: 28px;
  border-radius: var(--radius);
  background: var(--pink-bg);
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.prize-sm-2 { background: var(--lav-bg); }
.prize-sm-club {
  background: var(--ink);
  color: white;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.prize-sm-club:hover { transform: translateY(-4px); }

.prize-sm-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  background: white;
  padding: 5px 12px;
  border-radius: 999px;
  align-self: flex-start;
  color: var(--ink);
  margin-bottom: 16px;
}
.prize-sm-tag-yellow { background: var(--neon); }
.prize-sm-num {
  font-family: 'Unbounded', sans-serif;
  font-size: 56px;
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: 0.005em;
  font-variant-numeric: tabular-nums;
}
.prize-sm-num-club { font-size: 32px; line-height: 1.05; }
.prize-sm-num .cur { font-size: 0.6em; margin-left: 6px; }
.prize-sm-desc {
  font-size: 14px;
  color: var(--grey);
  line-height: 1.5;
  margin-top: 8px;
  max-width: 340px;
}
.prize-sm-club .prize-sm-desc { color: rgba(255,255,255,0.7); }
.prize-sm-icon {
  position: absolute;
  bottom: 18px;
  right: 22px;
  font-size: 64px;
  opacity: 0.4;
}

/* ============ BRANDS ============ */
.sec-brands { background: #FAFAFB; }
.brands-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.brand-card {
  position: relative;
  padding: 36px 32px 32px;
  border-radius: var(--radius-lg);
  color: white;
  overflow: hidden;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.brand-card:hover { transform: translateY(-6px); }
.brand-logo {
  height: 36px;
  width: auto;
  object-fit: contain;
  align-self: flex-start;
  margin-bottom: 24px;
}
.brand-tag {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 12px;
}
.brand-desc {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 24px;
  opacity: 0.95;
}
.brand-product {
  position: absolute;
  bottom: -40px;
  right: -30px;
  width: 200px;
  height: 280px;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.25));
}
.brand-product img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 14px;
  margin-top: auto;
  align-self: flex-start;
  padding: 12px 18px;
  background: rgba(255,255,255,0.18);
  border-radius: 999px;
  backdrop-filter: blur(8px);
  transition: background 0.2s ease;
}
.brand-cta:hover { background: rgba(255,255,255,0.28); }

/* ============ WINNERS ============ */
.sec-winners { background: var(--paper); }
.winners-search {
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
}
.ws-lbl {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--grey);
  margin-bottom: 14px;
}
.ws-row {
  display: flex;
  gap: 10px;
  background: white;
  border: 2px solid var(--line);
  border-radius: 999px;
  padding: 6px 6px 6px 24px;
  align-items: center;
}
.ws-row:focus-within { border-color: var(--accent); }
.ws-input {
  flex: 1;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 16px;
  padding: 12px 0;
  background: transparent;
}
.ws-row .btn-dark { padding: 12px 22px; font-size: 14px; }

.winners-stories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 48px;
}
.story-card {
  position: relative;
  padding: 24px 22px 22px;
  background: white;
  border: 2px solid var(--line);
  border-radius: var(--radius);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.story-card:hover {
  transform: translateY(-4px);
  border-color: var(--accent);
}
.story-tag {
  position: absolute;
  top: -8px;
  right: 14px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: white;
  padding: 4px 10px;
  border-radius: 6px;
}
.story-avatar {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: 'Unbounded', sans-serif;
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 14px;
}
.story-prize {
  font-family: 'Unbounded', sans-serif;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.005em;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 10px;
}
.story-name { font-weight: 800; font-size: 15px; }
.story-meta { font-size: 13px; color: var(--grey); margin-top: 2px; }

.winners-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 24px;
  background: var(--pink-bg);
  border-radius: var(--radius);
  flex-wrap: wrap;
}
.ws-stat { text-align: center; }
.ws-stat b {
  display: block;
  font-family: 'Unbounded', sans-serif;
  font-size: 36px;
  letter-spacing: 0.01em;
  color: var(--ink);
  line-height: 1;
}
.ws-stat span {
  font-size: 13px;
  color: var(--grey);
  font-weight: 600;
  margin-top: 4px;
  display: block;
}
.ws-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(0,0,0,0.1);
}

/* ============ CLUB ============ */
.sec-club {
  position: relative;
  background: linear-gradient(135deg, #1A0F3F 0%, #2D0F5C 50%, #4A1E8C 100%);
  color: white;
  overflow: hidden;
}
.club-bg { position: absolute; inset: 0; pointer-events: none; }
.club-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
}
.club-orb-1 {
  width: 500px; height: 500px;
  background: var(--accent);
  opacity: 0.4;
  top: -150px; right: -150px;
  animation: blob-drift 16s ease-in-out infinite;
}
.club-orb-2 {
  width: 400px; height: 400px;
  background: var(--deep);
  opacity: 0.5;
  bottom: -100px; left: -100px;
  animation: blob-drift 20s ease-in-out infinite reverse;
}
.club-inner { position: relative; text-align: center; }
.club-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 56px 0 48px;
}
.club-card {
  padding: 32px 28px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  backdrop-filter: blur(12px);
  text-align: left;
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.club-card:hover {
  transform: translateY(-4px);
  border-color: rgba(232, 255, 61, 0.4);
}
.club-emoji { font-size: 40px; margin-bottom: 16px; }
.club-t {
  font-family: 'Unbounded', sans-serif;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.005em;
  margin-bottom: 8px;
}
.club-d {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255,255,255,0.7);
}
.club-cta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.club-foot {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}
.club-foot b { color: var(--neon); font-weight: 800; }

/* ============ FAQ ============ */
.sec-faq { background: #FAFAFB; }
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  background: white;
  border: 2px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 28px;
  cursor: pointer;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.faq-item:hover { border-color: var(--accent); }
.faq-open { border-color: var(--accent); }
.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-weight: 800;
  font-size: 17px;
  color: var(--ink);
}
.faq-plus {
  position: relative;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.faq-plus span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: var(--accent);
  border-radius: 1px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-plus span:nth-child(2) { transform: translate(-50%, -50%) rotate(90deg); }
.faq-open .faq-plus span:nth-child(2) { transform: translate(-50%, -50%) rotate(0deg); }

.faq-a-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-open .faq-a-wrap { grid-template-rows: 1fr; }
.faq-a {
  overflow: hidden;
  font-size: 15px;
  color: var(--grey);
  line-height: 1.55;
}
.faq-open .faq-a {
  padding-top: 14px;
}

.faq-foot {
  text-align: center;
  margin-top: 32px;
  font-size: 16px;
  color: var(--grey);
}

/* ============ FOOTER ============ */
.ftr {
  background: var(--ink);
  color: white;
  padding: 60px 0 30px;
}
.ftr-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.4fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.ftr-logo { height: 40px; width: auto; margin-bottom: 20px; }
.ftr-brands { display: flex; gap: 20px; align-items: center; }
.ftr-brands img { height: 18px; width: auto; opacity: 0.7; }
.ftr-h {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--neon);
  margin-bottom: 16px;
}
.ftr-col a { display: block; padding: 4px 0; font-size: 14px; color: rgba(255,255,255,0.7); }
.ftr-col a:hover { color: white; }
.ftr-col p { font-size: 13px; color: rgba(255,255,255,0.7); line-height: 1.5; margin: 0 0 8px; }
.ftr-small { font-size: 12px !important; opacity: 0.5; }
.ftr-bot {
  padding-top: 24px;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}

/* ============ STICKY MOBILE ============ */
.sticky-mob {
  position: fixed;
  bottom: -100px;
  left: 12px;
  right: 12px;
  display: none;
  gap: 8px;
  padding: 10px;
  background: white;
  border-radius: 18px;
  box-shadow: 0 -8px 30px rgba(0,0,0,0.15);
  z-index: 80;
  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.sticky-mob .btn-pink { flex: 2; }
.sticky-mob .btn-dark { flex: 1; }
.sticky-mob-on { bottom: 12px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 980px) {
  .container { padding: 0 20px; }
  .hdr-mobile-hide { display: none; }
  .hdr-divider-mobile-hide { display: none; }
  .hdr-cta { padding: 10px 16px; font-size: 13px; }

  .hero { padding: 32px 0 60px; }
  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-right { min-height: 380px; }
  .prize-stage { min-height: 380px; }
  .prize-card { width: 280px; padding: 26px 20px; }
  .prize-card-num { font-size: 56px; }
  .prize-mini { display: none; }

  .sec { padding: 64px 0; }
  .sec-head { margin-bottom: 40px; }

  .how-grid, .chances-grid, .brands-grid, .club-grid, .prizes-grid {
    grid-template-columns: 1fr;
  }
  .how-arrow { display: none; }
  .winners-stories { grid-template-columns: repeat(2, 1fr); }
  .ftr-grid { grid-template-columns: 1fr 1fr; gap: 28px; }

  .sticky-mob { display: flex; }

  .tile { min-width: 56px; padding: 10px 12px; }
  .tile-v { font-size: 22px; }

  .prize-big { padding: 36px 28px; min-height: 360px; }
  .prize-num { font-size: clamp(56px, 14vw, 88px); }
}

@media (max-width: 600px) {
  .winners-stories { grid-template-columns: 1fr; }
  .ftr-grid { grid-template-columns: 1fr; }
  .hdr-logo-magnit { display: none; }
}

/* hero intensity tweak */
.hero-calm .blob { opacity: 0.3; }
.hero-calm .floaters { opacity: 0.5; }
.hero-calm .prize-rays { opacity: 0.5; }
.hero-calm .pulse { animation: none; }


/* ============ HERO V2 — balanced layout ============ */
.hero-v2 { padding: 48px 0 72px; }
.hero-v2-inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.hero-title-v2 {
  font-family: 'Unbounded', sans-serif;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 0.92;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.htv-line { display: block; }
.htv-line-1 {
  font-size: clamp(56px, 9vw, 132px);
  color: var(--ink);
}
.htv-line-2 {
  display: flex;
  align-items: baseline;
  gap: 18px;
  flex-wrap: wrap;
}
.htv-3 {
  font-size: clamp(140px, 22vw, 260px);
  background: linear-gradient(135deg, #FF6FB5 0%, #8B6BFF 60%, #6A47E6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 0.85;
  filter: drop-shadow(0 8px 30px rgba(139, 107, 255, 0.3));
}
.htv-mln {
  font-size: clamp(56px, 9vw, 132px);
  color: var(--ink);
}
.htv-line-3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 1.5vw, 22px);
  letter-spacing: 0;
  color: var(--grey);
  margin-top: 8px;
}

.hero-prizes-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  align-items: stretch;
}
.hpr-card {
  position: relative;
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  overflow: hidden;
}
.hpr-card-main {
  background: linear-gradient(135deg, #FF6FB5 0%, #8B6BFF 100%);
  color: white;
  box-shadow: var(--shadow-pink);
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hpr-tag {
  display: inline-block;
  align-self: flex-start;
  background: rgba(255,255,255,0.2);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  margin-bottom: 14px;
}
.hpr-num {
  font-family: 'Unbounded', sans-serif;
  font-weight: 900;
  font-size: clamp(40px, 5.5vw, 76px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--neon);
  text-shadow: 0 4px 24px rgba(228, 255, 74, 0.4);
  white-space: nowrap;
}
.hpr-num .nowrap { white-space: nowrap; }
.hpr-num .cur { font-size: 0.7em; vertical-align: 8px; }
.hpr-foot {
  margin-top: 10px;
  font-weight: 700;
  font-size: 14px;
  opacity: 0.9;
  letter-spacing: 0.04em;
}
.hpr-coins {
  position: absolute;
  inset: 0;
  pointer-events: none;
  font-family: 'Unbounded', sans-serif;
  font-weight: 900;
  color: var(--neon);
}
.hpr-coin {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--neon);
  color: var(--ink);
  font-size: 18px;
  box-shadow: 0 4px 14px rgba(228,255,74,0.5);
}
.hpr-coin-0 { top: 14px; left: 18%; animation: coin-float 4s ease-in-out infinite; }
.hpr-coin-1 { top: 18px; left: 42%; width: 26px; height: 26px; font-size: 13px; animation: coin-float 5s ease-in-out infinite 0.3s; }
.hpr-coin-2 { top: 14px; right: 18%; width: 30px; height: 30px; font-size: 15px; animation: coin-float 4.5s ease-in-out infinite 0.6s; }
.hpr-coin-3 { bottom: 16px; right: 22%; width: 28px; height: 28px; font-size: 14px; animation: coin-float 5.5s ease-in-out infinite 0.9s; }
.hpr-coin-4 { bottom: 18px; right: 44%; width: 24px; height: 24px; font-size: 12px; animation: coin-float 4.2s ease-in-out infinite 1.2s; }
.hpr-coin-5 { bottom: 16px; right: 64%; width: 22px; height: 22px; font-size: 11px; opacity: 0.9; animation: coin-float 6s ease-in-out infinite 1.5s; }
@keyframes coin-float {
  0%,100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-10px) rotate(8deg); }
}

.hpr-side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
}
.hpr-card-mini {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 92px;
}
.hpr-card-pink {
  background: var(--pink-bg);
  color: var(--ink);
  box-shadow: 0 8px 24px -8px rgba(255, 111, 181, 0.3);
}
.hpr-card-lav {
  background: var(--lav-bg);
  color: var(--ink);
  box-shadow: 0 8px 24px -8px rgba(139, 107, 255, 0.3);
}
.hpr-mini-num {
  font-family: 'Unbounded', sans-serif;
  font-weight: 900;
  font-size: clamp(32px, 3.4vw, 44px);
  line-height: 1;
  letter-spacing: -0.02em;
}
.hpr-mini-num .cur-sm { font-size: 0.7em; vertical-align: 4px; }
.hpr-mini-lbl {
  margin-top: 8px;
  font-weight: 700;
  font-size: 13px;
  color: var(--ink-2);
  opacity: 0.75;
  letter-spacing: 0.02em;
}

.hero-bottom-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.hero-timer-v2 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero-timer-v2 .hero-timer-lbl {
  font-size: 12px;
  font-weight: 700;
  color: var(--grey);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.hero-timer-v2 .hero-timer-row {
  display: flex;
  gap: 10px;
}

@media (max-width: 900px) {
  .hero-v2 { padding: 28px 0 56px; }
  .hero-prizes-row { grid-template-columns: 1fr; }
  .hpr-side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .hero-bottom-row { gap: 20px; }
}
@media (max-width: 560px) {
  .hpr-side { grid-template-columns: 1fr; }
  .htv-line-2 { gap: 8px; }
}

/* ============================================================ */
/* ============ MOBILE OPTIMIZATIONS (полноценная мобильная)===== */
/* ============================================================ */
/* Цель: страница должна быть полностью комфортной на телефонах
   от 320px до 480px шириной. Точечно фиксим всё, что осталось
   крупным/широким/неудобным после базовых @media выше. */

/* Глобальные мобильные правила: тач-таргеты, плотность текста,
   отключение тяжёлых анимаций для слабых девайсов. */
@media (max-width: 980px) {
  /* Кнопки: гарантируем тач-таргет 44px высотой - требование iOS HIG. */
  .btn { min-height: 44px; padding: 12px 20px; font-size: 14px; }
  .btn-md { padding: 12px 18px; font-size: 14px; min-height: 44px; }
  .btn-xl { padding: 18px 28px; font-size: 16px; min-height: 52px; }
  .btn-sm { padding: 10px 16px; font-size: 13px; min-height: 40px; }

  /* Header: лого помельче, чтоб всё влезло. */
  .hdr-inner { padding: 10px 16px; gap: 10px; }
  .hdr-logo { height: 22px; }
  .hdr-logo-likato { height: 22px; }

  /* Marquee: чуть тише, шрифт меньше. */
  .marquee-track { gap: 28px; }
  .marquee-item { font-size: 12px; }

  /* Hero V2: компактнее, без лишних отступов. */
  .hero-v2 { padding: 24px 0 56px; }
  .hero-v2-inner { padding: 0 16px; gap: 24px; }

  /* Футер: компактные отступы. */
  .ftr { padding: 44px 0 24px; }
  .container { padding: 0 16px; }

  /* Sec: разумные вертикальные отступы. */
  .sec { padding: 48px 0; }
  .sec-head { margin-bottom: 32px; }
  .sec-title { font-size: clamp(28px, 7vw, 44px); }
  .sec-lead { font-size: 15px; }

  /* How: внутренности карточек поменьше. */
  .how-card { padding: 28px 22px; }
  .how-num { font-size: 64px; }
  .how-title { font-size: 24px; }
  .how-icon { width: 52px; height: 52px; margin-bottom: 14px; }

  /* Chances: тоже компактнее. */
  .chance-card { padding: 24px; min-height: auto; }
  .chance-n { font-size: 64px; }
  .chance-title { font-size: 22px; }

  /* Prizes: коллапс в одну колонку. */
  .prizes-grid { grid-template-columns: 1fr; }
  .prize-big { padding: 32px 24px; min-height: 320px; }
  .prize-num { font-size: clamp(48px, 13vw, 80px) !important; }
  .prize-side { gap: 14px; }
  .prize-sm { padding: 22px; }
  .prize-sm-num { font-size: 40px; }
  .prize-sm-icon { font-size: 44px; bottom: 12px; right: 14px; }

  /* Brands: карточки повыше, продукты не вылезают. */
  .brand-card { padding: 28px 22px 24px; min-height: 300px; }
  .brand-product { width: 140px; height: 200px; bottom: -20px; right: -16px; }
  .brand-logo { height: 28px; margin-bottom: 16px; }
  .brand-desc { font-size: 14px; margin-bottom: 16px; }

  /* Winners: stats в столбик, divider скрываем. */
  .winners-stats { gap: 16px; padding: 20px 16px; }
  .ws-stat b { font-size: 28px; }
  .ws-stat-divider { display: none; }
  .ws-row { padding: 4px 4px 4px 18px; }
  .ws-input { font-size: 15px; padding: 10px 0; }
  .ws-row .btn-dark { padding: 10px 16px; font-size: 13px; }

  /* Club: отступы и тайтлы. */
  .club-card { padding: 24px 22px; }
  .club-t { font-size: 22px; }
  .club-emoji { font-size: 32px; margin-bottom: 12px; }
  .club-grid { margin: 36px 0 32px; gap: 12px; }

  /* FAQ: padding пожиже, шрифт-вопрос поменьше. */
  .faq-item { padding: 18px 20px; }
  .faq-q { font-size: 15px; }
  .faq-a { font-size: 14px; }

  /* Footer: 1 колонка проще читать. */
  .ftr-grid { grid-template-columns: 1fr; gap: 24px; padding-bottom: 28px; }

  /* Sticky-mob: гарантируем, что не перекрывает контент. */
  .sticky-mob {
    padding: 10px 14px;
    gap: 8px;
  }
  .sticky-mob .btn { font-size: 13px; padding: 12px 14px; min-height: 44px; }

  /* Декор: убираем тяжёлые блюры/coins для производительности. */
  .floaters, .prize-floaters, .hpr-coins { opacity: 0.5; }
  .blob { opacity: 0.3; filter: blur(60px); }
  .grain { opacity: 0.04; }
}

/* Маленькие телефоны (≤480) - iPhone SE/Mini, бюджетные андроиды. */
@media (max-width: 480px) {
  /* Контейнеры ещё уже. */
  .container { padding: 0 14px; }
  .hdr-inner { padding: 8px 14px; gap: 8px; }
  .hero-v2-inner { padding: 0 14px; }

  /* Header: оставляем только likato + epil, остальное скрываем. */
  .hdr-logo-lavant { display: none; }
  .hdr-divider:nth-of-type(2) { display: none; }
  .hdr-cta { padding: 10px 14px; font-size: 12px; min-height: 40px; }
  .hdr-logo { height: 20px; }
  .hdr-logo-likato { height: 20px; }

  /* Hero V2: главное - чтоб гигантская цифра помещалась. */
  .htv-line-1 { font-size: clamp(36px, 11vw, 56px); }
  .htv-3 { font-size: clamp(96px, 30vw, 140px); }
  .htv-mln { font-size: clamp(36px, 11vw, 56px); }
  .htv-line-3 { font-size: 14px; }
  .hero-prizes-row { gap: 14px; }
  .hpr-card { padding: 20px 22px; }
  .hpr-card-main { min-height: 160px; }
  .hpr-tag { font-size: 10px; padding: 5px 10px; margin-bottom: 10px; }
  .hpr-num { font-size: clamp(34px, 11vw, 56px); white-space: normal; line-height: 1; }
  .hpr-foot { font-size: 12px; }
  .hpr-card-mini { padding: 18px 20px; min-height: 78px; }
  .hpr-mini-num { font-size: clamp(26px, 8vw, 36px); }
  .hpr-mini-lbl { font-size: 12px; }

  /* Hero timer */
  .tile { min-width: 50px; padding: 8px 10px; }
  .tile-v { font-size: 18px; }
  .tile-l { font-size: 9px; }
  .hero-timer-lbl { font-size: 10px; }

  /* Sec headers: ещё чуть мельче. */
  .sec { padding: 40px 0; }
  .sec-head { margin-bottom: 24px; }
  .sec-title { font-size: clamp(24px, 8vw, 36px); }
  .kicker { font-size: 11px; margin-bottom: 12px; }

  /* How */
  .how-card { padding: 22px 18px; }
  .how-num { font-size: 52px; margin-bottom: 12px; }
  .how-title { font-size: 20px; }
  .how-body { font-size: 14px; }
  .how-tip { padding: 16px 18px; gap: 12px; }
  .how-tip-emoji { font-size: 22px; }
  .how-tip > span:nth-child(2) { font-size: 14px; }

  /* Prizes */
  .prize-big { padding: 28px 20px; min-height: 280px; }
  .prize-tag { font-size: 11px; padding: 5px 12px; margin-bottom: 14px; }
  .prize-desc { font-size: 15px; margin-bottom: 18px; }
  .prize-sm { padding: 20px 18px; }
  .prize-sm-num { font-size: 36px; }
  .prize-sm-num-club { font-size: 24px; }
  .prize-sm-desc { font-size: 13px; }
  .prize-sm-tag { font-size: 10px; padding: 4px 10px; margin-bottom: 12px; }
  .prize-sm-icon { font-size: 36px; opacity: 0.3; }

  /* Brands: продукт вообще убираем, чтоб не лез поверх. */
  .brand-card { padding: 24px 20px; min-height: 220px; }
  .brand-product { display: none; }
  .brand-tag { font-size: 11px; }
  .brand-desc { font-size: 14px; }
  .brand-cta { padding: 10px 14px; font-size: 13px; min-height: 40px; }

  /* Winners */
  .winners-search { margin-bottom: 32px; }
  .ws-lbl { font-size: 11px; margin-bottom: 10px; }
  .winners-stories { gap: 12px; margin-bottom: 32px; }
  .story-card { padding: 20px 18px 18px; }
  .story-prize { font-size: 22px; }
  .story-name { font-size: 14px; }
  .story-meta { font-size: 12px; }
  .story-avatar { width: 40px; height: 40px; font-size: 18px; margin-bottom: 12px; }
  .winners-stats { padding: 18px 14px; gap: 14px; flex-direction: column; }
  .ws-stat b { font-size: 26px; }
  .ws-stat span { font-size: 12px; }

  /* Club */
  .club-card { padding: 22px 18px; }
  .club-t { font-size: 20px; }
  .club-d { font-size: 14px; }
  .club-grid { margin: 28px 0 24px; }
  .club-cta-row { gap: 14px; }
  .club-foot { font-size: 13px; }

  /* FAQ */
  .faq-item { padding: 16px 18px; }
  .faq-q { font-size: 14px; gap: 12px; }
  .faq-a { font-size: 13px; }
  .faq-open .faq-a { padding-top: 12px; }

  /* Footer: компактнее */
  .ftr { padding: 36px 0 20px; }
  .ftr-grid { gap: 20px; padding-bottom: 22px; }
  .ftr-logo { height: 32px; margin-bottom: 14px; }
  .ftr-brands { gap: 14px; flex-wrap: wrap; }
  .ftr-h { font-size: 11px; margin-bottom: 12px; }
  .ftr-col a { font-size: 13px; }
  .ftr-col p { font-size: 12px; }
  .ftr-bot { font-size: 11px; }

  /* Sticky-mob */
  .sticky-mob {
    left: 8px;
    right: 8px;
    bottom: -120px;
    padding: 8px 10px;
    gap: 6px;
    border-radius: 16px;
  }
  .sticky-mob-on { bottom: 8px; }
  .sticky-mob .btn { font-size: 12px; padding: 10px 12px; gap: 6px; }

  /* Hide декор на мобильных - дёшево по производительности и чище визуально. */
  .blob, .grain, .floaters, .prize-rays { display: none; }
  .hpr-coins { opacity: 0.35; }
  .hpr-coin { transform: scale(0.75); }
}

/* Очень узкие экраны (≤380) - iPhone SE 1st gen, старые бюджетные. */
@media (max-width: 380px) {
  .container { padding: 0 12px; }
  .hdr-inner { padding: 8px 12px; }
  .hero-v2-inner { padding: 0 12px; }

  /* Окончательно скрываем доп. лого. */
  .hdr-logo-epil { display: none; }
  .hdr-cta { font-size: 11px; padding: 8px 12px; }

  /* Hero титл: даём ещё чуть меньше, чтоб не вылезал. */
  .htv-line-1, .htv-mln { font-size: 32px; }
  .htv-3 { font-size: 84px; }
  .htv-line-3 { font-size: 13px; }

  /* Sec */
  .sec-title { font-size: 24px; }

  /* Prize big номер - принципиально важно для wow-эффекта. */
  .prize-num { font-size: 44px !important; white-space: normal; line-height: 1; }
  .prize-num .cur { display: block; margin-left: 0; font-size: 0.5em; }

  /* Brands */
  .brand-card { min-height: 200px; }

  /* Winners */
  .ws-row { flex-direction: column; padding: 8px; gap: 8px; border-radius: 16px; }
  .ws-input { padding: 8px 12px; width: 100%; text-align: center; }
  .ws-row .btn-dark { width: 100%; }
}

/* Альбомная ориентация (низкие экраны) - пользователь играл и
   повернул телефон. Не растягиваем hero на весь экран. */
@media (max-height: 480px) and (orientation: landscape) {
  .hero-v2 { padding: 16px 0 32px; }
  .sec { padding: 32px 0; }
  .htv-line-1, .htv-mln { font-size: 32px; }
  .htv-3 { font-size: 84px; }
}

/* Безопасные зоны iOS (notch/home indicator) - sticky-mob уважает. */
@supports (padding: max(0px)) {
  .sticky-mob {
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
}

/* Уважаем системную настройку "уменьшить движение" - выключаем
   тяжёлые анимации для пользователей с reduce-motion. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .marquee-track { animation: none; }
}
