:root {
    --gk-primary: #f7a501;
    --gk-primary-pressed: #dd9001;
    --gk-ink: #23251d;
    --gk-body: #4d4f46;
    --gk-charcoal: #33342d;
    --gk-mute: #6c6e63;
    --gk-hairline: #bfc1b7;
    --gk-hairline-soft: #dcdfd2;
    --gk-canvas: #eeefe9;
    --gk-surface-soft: #e5e7e0;
    --gk-surface-card: #ffffff;
    --gk-surface-doc: #fcfcfa;
    --gk-surface-dark: #23251d;
    --gk-link-teal: #1078a3;
    --gk-blue-soft: #dceaf6;
    --gk-green-soft: #d9eddf;
    --gk-red-soft: #f7d6d3;
    --gk-purple-soft: #e7d8ee;
}

* { box-sizing: border-box; }

body {
    font-family: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;
    background: var(--gk-canvas);
    color: var(--gk-body);
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--gk-ink);
    font-weight: 700;
}

a { color: var(--gk-link-teal); text-decoration: none; }
a:hover { text-decoration: underline; }

.gk-nav {
    background: var(--gk-canvas);
    border-bottom: 1px solid var(--gk-hairline);
    height: 64px;
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 50;
}

.gk-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.gk-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: var(--gk-ink);
    font-size: 18px;
}

.gk-brand-mark {
    background: var(--gk-primary);
    color: var(--gk-ink);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
}

.gk-nav-links {
    gap: 28px;
    align-items: center;
}

.gk-nav-links a {
    color: var(--gk-ink);
    font-weight: 600;
    font-size: 15px;
}

.gk-nav-links a.active { color: var(--gk-primary-pressed); }
.gk-nav-links a:hover { text-decoration: none; color: var(--gk-primary-pressed); }

.gk-cta {
    background: var(--gk-primary);
    color: var(--gk-ink);
    font-weight: 700;
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 9999px;
    align-items: center;
}
.gk-cta:hover { background: var(--gk-primary-pressed); text-decoration: none; color: var(--gk-ink); }

.gk-burger {
    background: none;
    border: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
}
.gk-burger span { width: 22px; height: 2px; background: var(--gk-ink); display: block; }

.gk-mobile-menu {
    display: none;
    flex-direction: column;
    background: var(--gk-canvas);
    border-bottom: 1px solid var(--gk-hairline);
    padding: 12px 24px 20px;
}
.gk-mobile-menu.open { display: flex; }
.gk-mobile-menu a { color: var(--gk-ink); font-weight: 600; padding: 10px 0; border-bottom: 1px solid var(--gk-hairline-soft); }

.gk-hero {
    padding: 64px 0 48px;
}

.gk-hero-eyebrow {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--gk-mute);
}

.gk-hero h1 {
    font-size: 36px;
    font-weight: 700;
    max-width: 720px;
}

.gk-hero p {
    max-width: 620px;
    font-size: 17px;
}

.gk-card {
    background: var(--gk-surface-card);
    border: 1px solid var(--gk-hairline);
    border-radius: 6px;
    padding: 24px;
    height: 100%;
}

.gk-card h3 { font-size: 18px; margin-top: 12px; }

.gk-card-cat {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    color: var(--gk-primary-pressed);
    letter-spacing: 0.04em;
}

.gk-card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 6px;
}

.gk-section-title {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.6px;
    margin-bottom: 24px;
}

.gk-breadcrumb {
    margin: 20px 0 0;
}
.gk-breadcrumb .breadcrumb {
    font-size: 14px;
    background: none;
    padding: 0;
    margin: 0;
}

.gk-article-container { padding-bottom: 64px; }

.gk-article { padding: 24px 0; }
.gk-article-cat {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    color: var(--gk-primary-pressed);
}
.gk-article h1 { font-size: 30px; margin: 8px 0 12px; }
.gk-article-lead { font-size: 17px; color: var(--gk-charcoal); }
.gk-article-image {
    width: 100%;
    max-height: 380px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--gk-hairline);
    margin: 16px 0 24px;
}
.gk-article h2 { font-size: 21px; margin-top: 32px; }
.gk-article p { font-size: 16px; margin-bottom: 16px; }

.gk-toc {
    background: var(--gk-surface-doc);
    border: 1px solid var(--gk-hairline);
    border-radius: 6px;
    padding: 20px;
    margin: 20px 0;
}
.gk-toc-title { text-transform: uppercase; font-size: 12px; font-weight: 700; color: var(--gk-mute); margin-bottom: 8px; }
.gk-toc ul { list-style: none; padding: 0; margin: 0; }
.gk-toc li { margin-bottom: 6px; }
.gk-sticky-toc { position: sticky; top: 84px; }

.gk-callout {
    padding: 16px 20px;
    border-radius: 6px;
    font-size: 15px;
    margin: 32px 0;
}
.gk-callout-blue { background: var(--gk-blue-soft); }
.gk-callout-green { background: var(--gk-green-soft); }
.gk-callout-red { background: var(--gk-red-soft); }
.gk-callout-purple { background: var(--gk-purple-soft); }

.gk-faq { margin: 32px 0; }
.gk-faq-item {
    background: var(--gk-surface-card);
    border: 1px solid var(--gk-hairline);
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.gk-faq-item summary { font-weight: 700; cursor: pointer; color: var(--gk-ink); }
.gk-faq-item p { margin: 12px 0 0; }

.gk-related { margin-top: 48px; }
.gk-related-title { font-size: 20px; margin-bottom: 20px; }
.gk-related-card {
    display: block;
    background: var(--gk-surface-card);
    border: 1px solid var(--gk-hairline);
    border-radius: 6px;
    padding: 16px;
    height: 100%;
    color: var(--gk-body);
}
.gk-related-card:hover { text-decoration: none; border-color: var(--gk-primary); }
.gk-related-card img { width: 100%; height: 120px; object-fit: cover; border-radius: 6px; margin-bottom: 10px; }
.gk-related-cat { text-transform: uppercase; font-size: 11px; font-weight: 700; color: var(--gk-primary-pressed); }
.gk-related-card h3 { font-size: 15px; margin: 6px 0 0; color: var(--gk-ink); }

.gk-sidebar-cat {
    display: block;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 6px;
    color: var(--gk-body);
    font-weight: 600;
    font-size: 14px;
    border: 1px solid transparent;
}
.gk-sidebar-cat.active, .gk-sidebar-cat:hover {
    background: var(--gk-surface-card);
    border-color: var(--gk-hairline);
    color: var(--gk-ink);
    text-decoration: none;
}

.gk-footer {
    background: var(--gk-canvas);
    border-top: 1px solid var(--gk-hairline);
    padding: 48px 0 24px;
    margin-top: 64px;
}
.gk-footer-heading { text-transform: uppercase; font-size: 12px; font-weight: 700; color: var(--gk-mute); margin-bottom: 12px; }
.gk-footer-links li { margin-bottom: 8px; }
.gk-footer-links a { color: var(--gk-body); font-size: 14px; }
.gk-footer-rule { border-color: var(--gk-hairline); margin: 32px 0 16px; }
.gk-footer-disclaimer { font-size: 12px; color: var(--gk-mute); max-width: 900px; }
.gk-footer-copy { font-size: 12px; color: var(--gk-mute); margin-top: 12px; }

.gk-page { padding: 48px 0 64px; }
.gk-page h1 { font-size: 30px; margin-bottom: 20px; }
.gk-page h2 { font-size: 21px; margin-top: 28px; }
.gk-page p { font-size: 16px; margin-bottom: 14px; }

.gk-form label { font-weight: 600; color: var(--gk-ink); font-size: 14px; }
.gk-form .form-control {
    border: 1px solid var(--gk-hairline);
    border-radius: 6px;
    padding: 8px 12px;
    height: 42px;
    margin-bottom: 16px;
}
.gk-form .form-control:focus { border-color: #2c84e0; box-shadow: 0 0 0 3px rgba(59,130,246,0.25); }
.gk-form button {
    background: var(--gk-primary);
    color: var(--gk-ink);
    font-weight: 700;
    border: none;
    border-radius: 6px;
    padding: 10px 24px;
    height: 44px;
}
.gk-form button:hover { background: var(--gk-primary-pressed); }
.gk-form-message { margin-top: 16px; font-weight: 600; }

.gk-cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--gk-ink);
    color: #fff;
    padding: 18px 24px;
    display: none;
    z-index: 100;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.gk-cookie-banner.show { display: flex; }
.gk-cookie-banner p { margin: 0; font-size: 14px; max-width: 640px; }
.gk-cookie-actions { display: flex; gap: 10px; }
.gk-cookie-actions button {
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}
.gk-cookie-accept { background: var(--gk-primary); color: var(--gk-ink); }
.gk-cookie-reject { background: transparent; color: #fff; border: 1px solid #ffffff55 !important; }

@media (max-width: 991px) {
    .gk-nav-links { display: none; }
}
