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

:root {
    --bg: #121110;
    --surface: #1A1816;
    --primary: #E8E4DF;
    --secondary: #6B6560;
    --accent: #D4A053;
    --accent-dim: #8A6A35;
    --card: #2A2724;
    --radius: 16px;
}

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

body {
    font-family: 'IBM Plex Mono', monospace;
    background: var(--bg);
    color: var(--primary);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.container {
    max-width: 680px;
    margin: 0 auto;
    padding: 60px 24px 120px;
}

/* Header */
.site-header {
    text-align: center;
    margin-bottom: 60px;
}

.site-header h1 {
    font-weight: 300;
    font-size: 4rem;
    letter-spacing: -2px;
    color: var(--primary);
    margin-bottom: 8px;
}

.site-header .tagline {
    font-weight: 300;
    font-size: 1rem;
    color: var(--secondary);
}

.site-header .accent-line {
    width: 60px;
    height: 2px;
    background: var(--accent);
    margin: 24px auto 0;
    border-radius: 1px;
}

/* Navigation */
nav {
    text-align: center;
    margin-bottom: 48px;
}

nav a {
    font-weight: 300;
    font-size: 0.85rem;
    color: var(--secondary);
    text-decoration: none;
    margin: 0 16px;
    transition: color 0.2s;
}

nav a:hover { color: var(--accent); }

/* Content */
h2 {
    font-weight: 400;
    font-size: 1.4rem;
    color: var(--primary);
    margin: 40px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--card);
}

h3 {
    font-weight: 400;
    font-size: 1.1rem;
    color: var(--primary);
    margin: 28px 0 12px;
}

p, li {
    font-weight: 300;
    font-size: 0.9rem;
    color: var(--secondary);
    margin-bottom: 12px;
}

ul { list-style: none; padding-left: 0; }
ul li::before {
    content: "—";
    color: var(--accent-dim);
    margin-right: 8px;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.card {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 32px;
    margin: 24px 0;
}

.card p { margin-bottom: 8px; }

/* Landing page hero */
.hero {
    text-align: center;
    padding: 80px 0 60px;
}

.hero h1 {
    font-weight: 300;
    font-size: 5rem;
    letter-spacing: -3px;
    margin-bottom: 16px;
}

.hero .subtitle {
    font-weight: 300;
    font-size: 1.1rem;
    color: var(--secondary);
    max-width: 440px;
    margin: 0 auto 40px;
}

.cta-button {
    display: inline-block;
    font-family: 'IBM Plex Mono', monospace;
    font-weight: 400;
    font-size: 0.9rem;
    color: var(--bg);
    background: var(--accent);
    padding: 14px 32px;
    border-radius: 12px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.cta-button:hover { opacity: 0.85; text-decoration: none; }

.features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 48px 0;
}

.feature {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 24px;
}

.feature h3 {
    font-weight: 400;
    font-size: 0.95rem;
    margin: 0 0 8px;
    color: var(--accent);
}

.feature p {
    font-size: 0.8rem;
    margin: 0;
}

.effective-date {
    font-size: 0.8rem;
    color: var(--accent-dim);
    margin-bottom: 32px;
}

footer {
    text-align: center;
    padding: 48px 0 24px;
    border-top: 1px solid var(--card);
    margin-top: 60px;
}

footer p {
    font-size: 0.8rem;
    color: var(--secondary);
}

@media (max-width: 600px) {
    .hero h1 { font-size: 3.5rem; }
    .features { grid-template-columns: 1fr; }
    .container { padding: 40px 20px 80px; }
}
