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

body {
    font-family: var(--gg-font);
    color: var(--gg-text);
    background: #374151;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.gg-main {
    flex: 1;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--gg-text-heading);
    font-weight: 700;
    line-height: 1.3;
}

h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }

a {
    color: var(--gg-accent);
    text-decoration: none;
    transition: color 0.15s;
}

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

img {
    max-width: 100%;
    height: auto;
}

.gg-container {
    max-width: var(--gg-max-width);
    margin: 0 auto;
    padding: 0 24px;
}

.gg-section {
    padding: 48px 0;
}

.gg-grid {
    display: grid;
    gap: 24px;
}

.gg-grid-2 { grid-template-columns: repeat(2, 1fr); }
.gg-grid-3 { grid-template-columns: repeat(3, 1fr); }
.gg-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
    .gg-grid-2,
    .gg-grid-3,
    .gg-grid-4 {
        grid-template-columns: 1fr;
    }

    .gg-container {
        padding: 0 16px;
    }

    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.25rem; }
}

/* Program pages: dark body background, no whitespace gaps */
.gg-program-page { background: #0a0e14; }
.gg-program-page .gg-main { padding-bottom: 0; margin-bottom: 0; }

/* Splash page: remove header offset since header is hidden */
.page-id-12 .gg-program-splash { margin-top: 0; padding-top: 0; }

/* Hide program sub-nav on splash page */
.page-id-12 .gg-welcome-nav { display: none; }

/* Support page: hero background with gradient overlay */
.page-id-10,
.page-id-11 {
    background: linear-gradient(rgba(8, 8, 9, 0.51) 0%, rgba(2, 15, 13, 0.59) 100%),
                url('https://program.guidancegate.com/wp-content/uploads/26188.jpg')
                center / cover no-repeat fixed;
}
