:root {
    --gf-bg: #070b16;
    --gf-panel: #121b2e;
    --gf-panel-2: #1d2940;
    --gf-text: #f5f7fc;
    --gf-muted: #aab4c7;
    --gf-border: #26324a;
    --gf-accent: #5b3df5;
    --gf-accent-strong: #6c51ff;
    --gf-light-surface: #f7f8fc;
    --gf-light-text: #111827;
    --gf-light-muted: #667085;
}

body {
    background: radial-gradient(circle at 75% 0%, rgba(91, 61, 245, 0.2), transparent 35%), var(--gf-bg);
    color: var(--gf-text);
}

.gf-main {
    display: block;
    padding-inline: var(--wp--custom--layout--page-gutter, clamp(1rem, 2.2vw, 2rem));
}

.gf-main--page {
    padding-block: var(--wp--custom--layout--section-y, clamp(2.5rem, 6vw, 6rem));
}

.gf-main .alignwide {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--wp--style--global--wide-size);
    width: min(100%, var(--wp--style--global--wide-size));
}

.gf-site-header {
    background: var(--gf-light-surface);
    color: var(--gf-light-text);
    min-height: 72px;
    border-bottom: 1px solid #e3e7ef;
    box-shadow: 0 1px 0 rgba(10, 20, 40, 0.03);
}

.gf-site-header a {
    color: var(--gf-light-text);
    text-decoration: none;
}

.gf-site-header .wp-block-navigation-item__content:hover,
.gf-site-header .wp-block-navigation-item__content:focus-visible {
    color: var(--gf-accent);
}

.gf-site-header .wp-block-navigation-item__content {
    transition: color 120ms ease;
}

.gf-site-footer {
    border-top: 1px solid var(--gf-border);
    color: var(--gf-muted);
}

.gf-site-footer .wp-block-navigation__container {
    gap: 0.65rem;
}

.gf-hero {
    min-height: 540px;
}

.gf-hero-copy h1 {
    font-size: clamp(2.75rem, 5vw, 4.5rem);
    line-height: 1.05;
    margin-top: 0;
}

.gf-card {
    background: rgba(18, 27, 46, 0.9);
    border: 1px solid var(--gf-border);
    border-radius: 12px;
    padding: 24px;
    transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.gf-card h3 {
    margin-top: 0;
}

.gf-card:hover,
.gf-card:focus-within {
    border-color: rgba(108, 81, 255, 0.45);
    box-shadow: 0 10px 24px rgba(4, 8, 20, 0.25);
    transform: translateY(-2px);
}

.gf-code-panel {
    background: #0b1120;
    border: 1px solid var(--gf-border);
    border-radius: 12px;
    color: #c9c0ff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    overflow: auto;
    padding: 20px;
}

.gf-proof-chart-shell {
    border: 1px dashed var(--gf-border);
    border-radius: 12px;
    min-height: 260px;
    padding: 24px;
}

.gf-proof-lines {
    display: grid;
    gap: 10px;
}

.gf-proof-line {
    border-radius: 999px;
    height: 2px;
}

.gf-proof-line--forecast {
    background: var(--gf-accent);
}

.gf-proof-line--actual {
    background: repeating-linear-gradient(90deg, #cdd3e2 0, #cdd3e2 8px, transparent 8px, transparent 14px);
}

.gf-final-cta {
    background: linear-gradient(120deg, #121b2e 0%, #1d2940 60%, #2b2a55 100%);
    border: 1px solid var(--gf-border);
    border-radius: 16px;
    padding: 32px;
}

.gf-page-surface {
    background: var(--gf-light-surface);
    border: 1px solid #e3e7ef;
    border-radius: 12px;
    color: var(--gf-light-text);
    box-shadow: 0 12px 28px rgba(7, 11, 22, 0.08);
    padding: var(--wp--custom--layout--surface-pad-lg, clamp(1.25rem, 2.6vw, 2.5rem));
}

.gf-page-surface .wp-block-post-content {
    max-width: none;
}

.gf-page-surface--docs .wp-block-post-content {
    max-width: none;
}

.gf-page-surface .wp-block-post-content > :where(p, ul, ol, blockquote) {
    max-inline-size: 72ch;
}

.gf-page-surface .wp-block-post-content > :where(h1, h2, h3, h4, h5, h6, .wp-block-group, .wp-block-columns, .wp-block-cover, .wp-block-table, .wp-block-image, .wp-block-code, .wp-block-preformatted) {
    max-inline-size: none;
}

.gf-page-surface .wp-block-post-content :where(pre, table) {
    max-width: 100%;
    overflow-x: auto;
}

.gf-doc-intro-band {
    background: #0b1120;
    border: 1px solid var(--gf-border);
    border-radius: 12px;
    color: var(--gf-text);
    padding: var(--wp--custom--layout--surface-pad, clamp(1rem, 2vw, 2rem));
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    border: 1px solid var(--gf-border);
    color: var(--gf-text);
}

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible {
    outline: 2px solid var(--gf-accent-strong);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .gf-hero {
        min-height: 0;
    }

    .gf-final-cta {
        padding: var(--wp--custom--layout--surface-pad, clamp(1rem, 2vw, 2rem));
    }

    .gf-page-surface {
        padding: var(--wp--custom--layout--surface-pad, clamp(1rem, 2vw, 2rem));
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
