@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap');

:root {
  --ink: #0D2036;
  --navy: #143251;
  --navy-soft: #2C4A6E;
  --gold: #CB9032;
  --gold-light: #E3B65C;
  --cream: #F6F1E4;
  --paper: #FFFFFF;
  --ink-text: #23303D;
  --stone: #DED5BE;
  --mist: #9FB3C8;
  --display: 'Space Grotesk', sans-serif;
  --body: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: var(--body); background: var(--ink); color: #fff; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.wrap { max-width: 1000px; margin:0 auto; padding:0 28px; }

header.site { background: rgba(13,32,54,0.9); backdrop-filter: blur(6px); border-bottom:1px solid rgba(159,179,200,0.15); position:sticky; top:0; z-index:50; }
header.site .bar { display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1000px; margin:0 auto; }
.brand { display:flex; align-items:center; gap:10px; }
.brand img { height:38px; width:auto; border-radius:10px; background:#fff; padding:6px; }
.brand-word { font-family:var(--display); font-weight:700; font-size:18px; }
.brand-word .navy { color:#fff; }
.brand-word .gold { color:var(--gold); margin-left:0.08em; }
.badges-pill { display:flex; align-items:center; gap:8px; background:rgba(203,144,50,0.12); border:1px solid rgba(203,144,50,0.35); padding:8px 14px; border-radius:20px; font-family:var(--mono); font-size:12.5px; color:var(--gold-light); }

.eyebrow { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.1em; color: var(--gold-light); text-transform: uppercase; display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.eyebrow::before { content:""; width:7px; height:7px; background: var(--gold-light); display:inline-block; }

h1,h2,h3 { font-family: var(--display); font-weight:700; line-height:1.2; }
.btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-weight:600; font-size:14.5px; padding:13px 24px; border-radius:8px; border:none; cursor:pointer; text-decoration:none; transition:transform .15s ease; }
.btn-gold { background: var(--gold); color: var(--ink); }
.btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); }
.btn-outline { border:1.5px solid var(--mist); color:#fff; background:none; }
.btn-outline:hover { border-color: var(--gold); color: var(--gold-light); transform: translateY(-2px); }
.btn:disabled { opacity:0.5; cursor:default; transform:none; }

.hero { padding: 60px 0 40px; text-align:center; }
.hero h1 { font-size: 38px; color:#fff; }
.hero h1 .gold { color: var(--gold-light); }
.hero p { color: var(--mist); font-size:16px; max-width:520px; margin:16px auto 0; }

.module-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:22px; margin:50px 0; }
.module-card { background: rgba(255,255,255,0.04); border:1px solid rgba(159,179,200,0.18); border-radius:16px; padding:28px; transition: transform .15s ease, border-color .15s ease; position:relative; overflow:hidden; }
.module-card:hover { transform: translateY(-3px); border-color: rgba(203,144,50,0.4); }
.module-card .ic { font-size:30px; margin-bottom:14px; display:block; }
.module-card h3 { font-size:19px; color:#fff; margin-bottom:8px; }
.module-card p { font-size:14px; color:var(--mist); margin-bottom:18px; }
.module-card .badge-earned { position:absolute; top:20px; right:20px; background:var(--gold); color:var(--ink); font-family:var(--mono); font-size:11px; font-weight:700; padding:4px 10px; border-radius:12px; }
.module-card .meta { display:flex; gap:14px; font-family:var(--mono); font-size:11.5px; color:#6b7f96; margin-bottom:18px; }

.card { background: rgba(255,255,255,0.04); border:1px solid rgba(159,179,200,0.18); border-radius:16px; padding:30px; }

footer.site { padding:40px 0 60px; text-align:center; }
footer.site p { font-size:12.5px; color:#6b7f96; }
footer.site a { color: var(--gold-light); }
footer.site .links { margin-top:10px; }
footer.site .links a { margin: 0 8px; }

@media (max-width: 720px) {
  .module-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
