code
CSS
/* ============================================= */
/* 1. SETUP & VARIABLES                            */
/* ============================================= */
:root {
    --black: #000000;
    --white: #FFFFFF;
    --gold: #CBB26A;
    --dark-grey: #1a1a1a;
}

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

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--black);
    color: var(--white);
    line-height: 1.7;
    font-size: 16px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Big Shoulder Display', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
}

h1 { font-size: 4rem; margin-bottom: 1rem; }
h2 { font-size: 3rem; margin-bottom: 1.5rem; }
h3 { font-size: 1.5rem; margin-bottom: 1rem; }

p { margin-bottom: 1.5rem; }
a { color: var(--gold); text-decoration: none; transition: color 0.3s ease; }
a:hover { color: var(--white); }
ul { list-style: none; margin-bottom: 1.5rem; }
ul li { padding-left: 1.5rem; position: relative; margin-bottom: 0.5rem; }
ul li::before { content: '•'; color: var(--gold); font-size: 1.5rem; position: absolute; left: 0; top: -5px; }
img { max-width: 100%; display: block; }

/* ============================================= */
/* 2. REUSABLE COMPONENTS & UTILITIES            */
/* ============================================= */
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
section { padding: 5rem 0; }
.text-center { text-align: center; }

.cta-button {
    display: inline-block;
    background-color: var(--gold);
    color: var(--black) !important;
    padding: 0.8rem 1.8rem;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    border: 2px solid var(--gold);
    transition: all 0.3s ease;
}

.cta-button:hover {
    background-color: transparent;
    color: var(--gold) !important;
}

.sub-headline { color: var(--gold); font-size: 1.2rem; font-weight: 700; text-transform: uppercase; margin-bottom: 1.5rem; }
.tagline { font-weight: 700; font-size: 1.2rem; margin-top: 2rem; }

.grid { display: grid; gap: 3rem; align-items: center; }
.grid-2-col { grid-template-columns: 1fr 1fr; }
.grid-4-col { grid-template-columns: repeat(4, 1fr); }

.link-arrow { font-weight: bold; text-transform: uppercase; }
.link-arrow::after { content: ' →'; }

/* ============================================= */
/* 3. HEADER & FOOTER                              */
/* ============================================= */
.main-header {
    padding: 1rem 0;
    background-color: var(--black);
    border-bottom: 1px solid var(--dark-grey);
    position: sticky;
    top: 0;
    z-index: 1000;
}
.main-header .container { display: flex; justify-content: space-between; align-items: center; }
.logo img { height: 50px; }
.main-nav ul { display: flex; gap: 2rem; list-style: none; margin: 0; }
.main-nav a { color: var(--white); font-weight: 700; text-transform: uppercase; font-size: 0.9rem; }

.hamburger { display: none; background: none; border: none; cursor: pointer; }
.hamburger-line { display: block; width: 25px; height: 3px; background-color: var(--white); margin: 5px 0; transition: all 0.3s ease; }

.main-footer {
    background-color: var(--dark-grey);
    padding: 2rem 0;
    text-align: center;
    font-size: 0.9rem;
    color: #aaa;
}
.main-footer .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.footer-nav a { color: #aaa; margin: 0 0.5rem; }

/* ============================================= */
/* 4. PAGE-SPECIFIC SECTIONS                       */
/* ============================================= */
/* Home Page */
.hero-home { background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('images/hero-background.jpg') no-repeat center center/cover; padding: 8rem 0; }
#quote { background-color: var(--dark-grey); }
.bold-quote { font-size: 1.3rem; font-weight: 700; font-style: italic; }
.main-coach-img { margin-bottom: 1.5rem; border: 3px solid var(--gold); }
.image-collage { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.highlight-section { background-color: var(--gold); color: var(--black); }
.highlight-section h2, .highlight-section p { color: var(--black); }
.belief-card { border: 2px solid var(--gold); padding: 2rem; text-align: center; }
.belief-card h3 { color: var(--gold); }
#final-cta { background-color: var(--dark-grey); }

/* Other Pages (e.g., About) */
.page-header { padding: 6rem 0; background-color: var(--dark-grey); }

/* ============================================= */
/* 5. RESPONSIVENESS (MEDIA QUERIES)             */
/* ============================================= */
@media (max-width: 992px) {
    h1 { font-size: 3rem; }
    h2 { font-size: 2.5rem; }
    .grid-2-col, .grid-4-col { grid-template-columns: 1fr; }
    .grid-4-col { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
    section { padding: 3rem 0; }
    .container { padding: 0 1rem; }

    .main-nav {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 71px; /* Height of header */
        left: 0;
        width: 100%;
        background-color: var(--black);
        border-bottom: 1px solid var(--dark-grey);
    }
    .main-nav.active { display: flex; }
    .main-nav ul { flex-direction: column; width: 100%; text-align: center; }
    .main-nav li { padding: 1rem 0; width: 100%; }
    .main-header .cta-button { display: none; }
    .hamburger { display: block; }
    .grid-4-col { grid-template-columns: 1fr; }
    .main-footer .container { flex-direction: column; gap: 1rem; }
}