@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&display=swap');

:root {
    --primary: #fa520f;
    --primary-deep: #cc3a05;
    --on-primary: #ffffff;
    --sunshine-300: #ffd06a;
    --sunshine-500: #ffb83e;
    --sunshine-700: #ffa110;
    --sunshine-800: #ff8105;
    --sunshine-900: #ff8a00;
    --yellow-saturated: #ffd900;
    --cream: #fff8e0;
    --cream-light: #fffaeb;
    --cream-deeper: #fff0c2;
    --beige-deep: #e6d5a8;
    --block-5: #ffe295;
    --block-6: #ffd900;
    --block-7: #ff8105;
    --ink: #1f1f1f;
    --ink-tint: #3d3d3d;
    --charcoal: #2c2c2c;
    --slate: #4a4a4a;
    --steel: #6a6a6a;
    --stone: #8a8a8a;
    --muted: #a8a8a8;
    --hairline: #e5e5e5;
    --hairline-soft: #ededed;
    --hairline-strong: #c7c7c7;
    --canvas: #ffffff;
    --surface: #fafafa;
    --surface-cream: #fff8e0;
    --surface-cream-soft: #fffaeb;
    --surface-code: #1c1c1e;
    --on-dark: #ffffff;
    --on-dark-muted: #a8a8a8;
    --on-cream: #1f1f1f;
    --footer-cream: #fff8e0;
    --link: #fa520f;

    --font-display: 'PP Editorial Old', 'Times New Roman', Georgia, serif;
    --font-ui: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --font-code: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

    --rounded-xs: 4px;
    --rounded-sm: 6px;
    --rounded-md: 8px;
    --rounded-lg: 12px;
    --rounded-xl: 16px;
    --rounded-xxl: 20px;
    --rounded-full: 9999px;

    --spacing-xxs: 4px;
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 20px;
    --spacing-xl: 24px;
    --spacing-xxl: 32px;
    --spacing-xxxl: 40px;
    --spacing-section-sm: 48px;
    --spacing-section: 64px;
    --spacing-section-lg: 96px;
    --spacing-hero: 120px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--surface);
    color: var(--ink);
    font-family: var(--font-ui);
    -webkit-font-smoothing: antialiased;
    line-height: 1.55;
}

.hero-display {
    font-family: var(--font-display);
    font-size: 84px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.5px;
    color: var(--ink);
}

.display-lg {
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 400;
    line-height: 1.10;
    letter-spacing: -1px;
    color: var(--ink);
}

.heading-1 {
    font-family: var(--font-display);
    font-size: 52px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.5px;
    color: var(--ink);
}

.heading-4 {
    font-family: var(--font-ui);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.30;
    color: var(--ink);
    margin-bottom: var(--spacing-sm);
}

.subtitle {
    font-family: var(--font-ui);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.50;
    color: var(--ink-tint);
}

.body-md {
    font-family: var(--font-ui);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--ink);
}

.body-sm {
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.50;
    color: var(--steel);
}

.micro {
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.40;
    color: var(--steel);
}

.micro-uppercase {
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.40;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: var(--spacing-md);
}

.top-nav {
    background-color: var(--canvas);
    height: 64px;
    border-bottom: 1px solid var(--hairline-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-content {
    width: 100%;
    max-width: 1280px;
    padding: 0 var(--spacing-xxl);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
}

.hero-band-sunset {
    background: linear-gradient(135deg, var(--sunshine-700) 0%, var(--sunshine-900) 60%, var(--primary) 100%);
    padding: var(--spacing-hero) var(--spacing-xxl);
    color: var(--ink);
}

.hero-container {
    max-width: 1280px;
    margin: 0 auto;
}

.hero-text {
    max-width: 680px;
}

.hero-text .subtitle {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-xxl);
}

.button-primary {
    background-color: var(--primary);
    color: var(--on-primary);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.30;
    padding: 10px 20px;
    border-radius: var(--rounded-md);
    text-decoration: none;
    display: inline-block;
    border: none;
    cursor: pointer;
}

.button-primary:active {
    background-color: var(--primary-deep);
}

.button-dark {
    background-color: var(--ink);
    color: var(--on-dark);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.30;
    padding: 10px 20px;
    border-radius: var(--rounded-md);
    text-decoration: none;
    display: inline-block;
    border: none;
    cursor: pointer;
}

.button-secondary {
    background-color: transparent;
    color: var(--ink);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.30;
    padding: 10px 20px;
    border-radius: var(--rounded-md);
    border: 1px solid var(--ink);
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.button-row {
    display: flex;
    gap: var(--spacing-md);
}

.main-content {
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--spacing-section-lg) var(--spacing-xxl);
}

.section-title {
    margin-bottom: var(--spacing-section);
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-section-lg);
}

.card-feature {
    background-color: var(--canvas);
    border-radius: var(--rounded-lg);
    padding: var(--spacing-xxl);
    border: 1px solid var(--hairline-soft);
}

.cta-banner-cream {
    background-color: var(--cream);
    color: var(--ink);
    border-radius: var(--rounded-lg);
    padding: var(--spacing-section);
    border: 1px solid var(--beige-deep);
}

.code-block {
    background-color: var(--surface-code);
    border-radius: var(--rounded-md);
    overflow: hidden;
}

.code-block-header {
    background-color: var(--surface-code);
    color: var(--on-dark-muted);
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.40;
    padding: var(--spacing-xs) var(--spacing-md);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.code-content {
    color: var(--on-dark);
    font-family: var(--font-code);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.50;
    padding: var(--spacing-md);
}

.sunset-stripe-band {
    background: linear-gradient(to right, var(--primary), var(--sunshine-700), var(--sunshine-500), var(--yellow-saturated), var(--cream));
    padding: var(--spacing-lg) 0;
    width: 100%;
}

.footer-region {
    background-color: var(--footer-cream);
    padding: var(--spacing-section) var(--spacing-xxl);
}

.footer-grid {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-section);
}

.footer-col p {
    margin-bottom: var(--spacing-xs);
}

.legal-footer {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: var(--spacing-xl);
}

@media (max-width: 1023px) {
    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-display {
        font-size: 64px;
    }
}

@media (max-width: 767px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .hero-display {
        font-size: 40px;
    }
    .heading-1 {
        font-size: 40px;
    }
    .hero-band-sunset {
        padding: var(--spacing-section) var(--spacing-md);
    }
    .main-content {
        padding: var(--spacing-section) var(--spacing-md);
    }
    .nav-content {
        padding: 0 var(--spacing-md);
    }
    .footer-region {
        padding: var(--spacing-section) var(--spacing-md);
    }
}