/* === Design tokens — edit here to retheme === */
:root {
  --color-bg:        #0d0d0d;
  --color-surface:   #1a1a1a;
  --color-gold:      #c9a84c;
  --color-gold-light:#e8c97a;
  --color-text:      #f5f0e8;
  --color-muted:     #888;
  --font-display:    'Georgia', serif;
  --font-body:       'Helvetica Neue', Arial, sans-serif;
  --radius:          12px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding: 2.5rem 1.5rem;
  max-width: 420px;
  width: 100%;
  text-align: center;
}

/* Logo */
.logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo {
  width: 200px;
  max-width: 80vw;
  height: auto;
  object-fit: contain;
}

/* Brand text */
.brand-name {
  font-family: var(--font-display);
  font-size: 2rem;
  letter-spacing: 0.12em;
  color: var(--color-gold-light);
  text-transform: uppercase;
}

.tagline {
  font-size: 0.85rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--color-muted);
}

/* Store buttons */
.store-buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  align-items: center;
}

.store-btn img {
  width: 160px;
  height: auto;
  display: block;
}

.store-btn {
  transition: opacity 0.2s;
}

.store-btn:hover { opacity: 0.85; }

/* Hint text shown by JS */
.hint {
  font-size: 0.8rem;
  color: var(--color-muted);
  min-height: 1.2em;
}
