:root {
  --felt: #1B4D3E; --felt-dark: #123528; --paper: #F7F1E1;
  --gold: #C9A227; --gold-deep: #B8901F; --ink: #232323;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { background: var(--felt-dark); }
body {
  background: radial-gradient(1100px 900px at 50% 260px, var(--felt) 0%, var(--felt-dark) 78%)
    no-repeat var(--felt-dark);
  color: var(--paper); font-family: 'Inter', -apple-system, sans-serif;
  line-height: 1.6; min-height: 100vh;
}
.wrap { max-width: 960px; margin: 0 auto; padding: 24px; }
header { text-align: center; padding: 48px 16px 24px; }
header img.logo { width: min(300px, 70vw); filter: drop-shadow(0 16px 40px rgba(0,0,0,.5)); }
h1, h2 { font-family: 'Cinzel', Georgia, serif; color: var(--gold); }
h1 { font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.15; margin-top: 24px; }
h2 { font-size: clamp(1.4rem, 4vw, 2rem); margin: 48px 0 12px; }
.tagline { font-size: clamp(1.05rem, 2.6vw, 1.35rem); opacity: .92; max-width: 640px; margin: 16px auto 0; }
.badges { margin: 32px 0; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.badge {
  display: inline-block; padding: 14px 34px; border-radius: 40px; font-weight: 700;
  text-decoration: none; letter-spacing: .5px;
}
.badge.primary { background: linear-gradient(180deg, var(--gold), var(--gold-deep)); color: var(--ink); }
.badge.ghost { border: 2px solid var(--gold); color: var(--gold); }
.features { display: grid; gap: 40px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin: 48px 0; }
.feature { text-align: center; }
.feature img {
  width: 100%; max-width: 300px; border-radius: 28px;
  border: 3px solid var(--gold-deep); box-shadow: 0 24px 60px rgba(0,0,0,.45);
}
.feature h3 { font-family: 'Cinzel', Georgia, serif; color: var(--gold); margin: 18px 0 6px; font-size: 1.2rem; }
.feature p { opacity: .88; font-size: .98rem; }
.rule { height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); margin: 40px 0; border: 0; }
footer { text-align: center; padding: 32px 16px 48px; font-size: .92rem; opacity: .85; }
footer a { color: var(--gold); text-decoration: none; margin: 0 10px; }
.legal { background: var(--paper); color: var(--ink); border-radius: 16px; padding: 32px; margin: 24px 0; }
.legal h2 { color: var(--felt-dark); margin-top: 32px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { color: var(--felt-dark); margin: 20px 0 6px; }
.legal p, .legal li { margin-bottom: 10px; }
.legal ul { padding-left: 22px; }
.muted { opacity: .7; font-size: .88rem; }
.lang { position: absolute; top: 18px; right: 22px; }
.lang a { color: var(--gold); text-decoration: none; font-weight: 700; }
