/* Reysko landing. Dark-first like the app; light palette via media query.
 * Contrast targets (AA): dark — #e2e8f0 on #0f172a 15.4:1, #fbbf24 on
 * #0f172a 10.7:1, #0f172a on #fbbf24 (buttons) 10.7:1; light — #0f172a on
 * #f8fafc 15.4:1, #b45309 (amber-700) on #f8fafc 5.6:1. */
:root {
  --bg: #0f172a; --bg-alt: #1e293b; --fg: #e2e8f0; --fg-muted: #94a3b8;
  --accent: #fbbf24; --accent-fg: #0f172a; --navy: #1e3a8a;
  --link: #93c5fd; --border: #334155; --live: #4ade80; --maxw: 42rem;
}
@media (prefers-color-scheme: light) {
  :root {
    --bg: #f8fafc; --bg-alt: #ffffff; --fg: #0f172a; --fg-muted: #475569;
    --accent: #b45309; --accent-fg: #ffffff;
    --link: #1d4ed8; --border: #cbd5e1; --live: #15803d;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.6; font-size: 1.0625rem;
}
main, .site-footer { max-width: var(--maxw); margin: 0 auto; padding: 0 1.25rem; }
a { color: var(--link); }
h2 { font-size: 1.5rem; margin: 0 0 .75rem; }
h3 { font-size: 1.125rem; margin: 0 0 .25rem; }
section { margin: 3rem 0; }

.skip-link {
  position: absolute; left: -999px; top: 0; background: var(--accent);
  color: var(--accent-fg); padding: .5rem 1rem; z-index: 10;
}
.skip-link:focus { left: 0; }

.wordmark {
  font-style: italic; font-weight: 800; color: var(--accent);
  letter-spacing: -0.02em; margin: 0;
}
.hero { text-align: center; padding-top: 3.5rem; }
.wordmark--hero { font-size: clamp(2.75rem, 8vw, 4rem); }
.tagline { font-size: clamp(1.25rem, 4vw, 1.6rem); font-weight: 700; margin: .5rem 0 0; }
.hero-sub { color: var(--fg-muted); max-width: 36rem; margin: 1rem auto 0; }
.hero-ctas { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }

.btn {
  display: inline-block; padding: .65rem 1.25rem; border-radius: .5rem;
  border: 1px solid var(--border); color: var(--fg);
  text-decoration: none; font-weight: 600; background: var(--bg-alt);
}
.btn--primary { background: var(--accent); color: var(--accent-fg); border-color: transparent; }
.btn:focus-visible, a:focus-visible, button:focus-visible {
  outline: 3px solid var(--accent); outline-offset: 2px;
}

.anchor-nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; padding: 0; justify-content: center; }

.steps { padding-left: 1.25rem; }
.steps li { margin: 1rem 0; }
.steps p, .news-list p { color: var(--fg-muted); margin: .25rem 0 0; }

.city-list { list-style: none; padding: 0; }
.city-list li { margin: .5rem 0; font-size: 1.125rem; }
.badge {
  display: inline-block; font-size: .8rem; font-weight: 700; padding: .1rem .5rem;
  border-radius: 999px; border: 1px solid currentColor; margin-right: .35rem;
}
.badge--live { color: var(--live); }
.badge--soon { color: var(--fg-muted); }

.store-row { display: flex; gap: .75rem; flex-wrap: wrap; }
.store-btn {
  display: inline-block; padding: .65rem 1.25rem; border-radius: .5rem;
  background: var(--bg-alt); border: 1px solid var(--border);
  color: var(--fg); text-decoration: none; font-weight: 600;
}
.store-btn--soon { color: var(--fg-muted); font-style: italic; }

.video-wrap { position: relative; aspect-ratio: 16 / 9; }
.video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: .5rem; }
.placeholder {
  border: 1px dashed var(--border); border-radius: .5rem; padding: 2rem 1rem;
  text-align: center; color: var(--fg-muted);
}

.news-list { list-style: none; padding: 0; }
.news-list li { border-top: 1px solid var(--border); padding: 1rem 0; }
.news-list time { color: var(--fg-muted); font-size: .9rem; }

.contact-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.contact-form input:not(.hp), .contact-form select, .contact-form textarea {
  width: 100%; padding: .6rem .75rem; border-radius: .5rem;
  border: 1px solid var(--border); background: var(--bg-alt); color: var(--fg);
  font: inherit;
}
.contact-form button { font: inherit; cursor: pointer; }
.hp { position: absolute; left: -999px; height: 0; width: 0; opacity: 0; }
.form-status:not(:empty) { font-weight: 600; }

.site-footer { border-top: 1px solid var(--border); margin-top: 3rem; padding-top: 1.5rem; padding-bottom: 2rem; color: var(--fg-muted); }
.legal, .lang-switch { list-style: none; padding: 0; display: flex; gap: 1rem; flex-wrap: wrap; }
.lang-switch [aria-current] { font-weight: 700; color: var(--fg); }
.notfound { text-align: center; padding-top: 4rem; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
