:root {
  --bg: #121214;
  --panel: #1C1C20;
  --panel-2: #232329;
  --line: #2E2E34;
  --text: #ECECEF;
  --text-2: #8A8A92;
  --prose: #C8C8CF;
  --accent: #ECECEF;
  --accent-2: #FFFFFF;
  --on-accent: #121214;
  --radius: 6px;
}

body {
  background: var(--bg);
  color: var(--prose);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--text);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.hero {
  background: radial-gradient(circle at 30% 20%, rgba(236, 236, 239, 0.03) 0%, transparent 50%),
              var(--bg);
  border-bottom: 1px solid var(--line);
}

.hero-title {
  font-weight: 700;
  letter-spacing: -0.02em;
}

.card, .feature, .tile, .faq-item, .offer, .access {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: border-color 0.25s, box-shadow 0.25s;
}

.card:hover, .feature:hover, .tile:hover, .access:hover {
  border-color: var(--text-2);
}

.btn {
  border-radius: var(--radius);
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: all 0.2s;
}

.btn-primary {
  background: var(--accent);
  color: var(--on-accent);
  border: 1px solid var(--accent);
}

.btn-primary:hover {
  background: var(--accent-2);
  border-color: var(--accent-2);
  box-shadow: 0 0 0 3px rgba(236, 236, 239, 0.15);
}

.btn-ghost {
  border: 1px solid var(--line);
  color: var(--text);
}

.btn-ghost:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.feature .icon, .access .icon {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--accent);
}

.badge, .offer-badge, .chip {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) / 1.5);
  color: var(--text-2);
  font-weight: 600;
}

.tab {
  border: 1px solid transparent;
  border-radius: var(--radius);
  color: var(--text-2);
  transition: all 0.2s;
}

.tab:hover {
  color: var(--text);
  border-color: var(--line);
}

.tab.active {
  background: var(--panel);
  border-color: var(--line);
  color: var(--text);
}

.faq-q {
  font-weight: 600;
  color: var(--text);
  border-bottom: 1px solid var(--line);
}

.faq-item {
  background: var(--panel);
}

.faq-item:hover .faq-q {
  color: var(--accent);
}

a:not(.btn):not(.tile):not(.tab) {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--line);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.2s;
}

a:not(.btn):not(.tile):not(.tab):hover {
  text-decoration-color: var(--accent);
}

.table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.table th {
  background: var(--panel-2);
  border-bottom: 1px solid var(--line);
  color: var(--text);
  font-weight: 600;
}

.table td {
  border-bottom: 1px solid var(--line);
}

.site-header {
  background: rgba(18, 18, 20, 0.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}

.site-footer {
  background: var(--panel);
  border-top: 1px solid var(--line);
  color: var(--text-2);
}

.offer {
  background: linear-gradient(135deg, var(--panel) 0%, var(--panel-2) 100%);
  border: 1px solid var(--line);
}

.tile.noimg {
  background: var(--panel-2);
  border: 1px solid var(--line);
}

.tile .nm {
  color: var(--text);
  font-weight: 600;
}

.section {
  border-bottom: 1px solid var(--line);
}