        :root {
            /*
             * REPLACE THESE WITH THE EXACT EXISTING MAC BRAND COLORS.
             * I don't want to "improve" or reinterpret the logo colors.
             */
            --mac-primary: #6c7954;
            --mac-secondary: #8f5d42;

            /*
             * These neutrals are site colors, not logo changes.
             * We can tune these considerably.
             */
            --mac-cream: #f7f5ef;
            --mac-warm: #ece8dd;
            --mac-dark: #252820;
            --mac-muted: #666a60;
            --mac-white: #ffffff;

            --mac-section-space: 7rem;
        }

        body {
            color: var(--mac-dark);
            background: var(--mac-white);
            font-family: Arial, Helvetica, sans-serif;
            line-height: 1.65;
        }

        h1,
        h2,
        h3,
        h4,
        .display-font {
            font-family: Georgia, "Times New Roman", serif;
            font-weight: 400;
            line-height: 1.08;
        }

        a {
            color: inherit;
        }

        .section-space {
            padding-top: var(--mac-section-space);
            padding-bottom: var(--mac-section-space);
        }

        .eyebrow {
            margin-bottom: 1rem;
            color: var(--mac-primary);
            font-size: .78rem;
            font-weight: 700;
            letter-spacing: .14em;
            text-transform: uppercase;
        }

        .section-title {
            max-width: 760px;
            font-size: clamp(2.25rem, 5vw, 4.5rem);
        }

        .section-intro {
            max-width: 700px;
            color: var(--mac-muted);
            font-size: 1.1rem;
        }

        /* -----------------------------------
           HEADER
        ----------------------------------- */

        .navbar {
            background: rgba(255,255,255,.96);
            border-bottom: 1px solid rgba(0,0,0,.07);
        }

        .navbar-brand img {
            width: auto;
            height: 58px;
        }

        .navbar .nav-link {
            padding-left: .9rem !important;
            padding-right: .9rem !important;
            font-size: .95rem;
        }

        .navbar .nav-link:hover {
            color: var(--mac-primary);
        }

        .btn-mac {
            padding: .8rem 1.35rem;
            color: #fff;
            background: var(--mac-primary);
            border: 1px solid var(--mac-primary);
            border-radius: 0;
        }

        .btn-mac:hover {
            color: #fff;
            background: var(--mac-dark);
            border-color: var(--mac-dark);
        }

        .btn-outline-mac {
            padding: .8rem 1.35rem;
            color: var(--mac-dark);
            background: transparent;
            border: 1px solid var(--mac-dark);
            border-radius: 0;
        }

        .btn-outline-mac:hover {
            color: #fff;
            background: var(--mac-dark);
        }

        /* -----------------------------------
           HERO
        ----------------------------------- */

        .hero {
            min-height: 82vh;
            display: flex;
            align-items: stretch;
            background: var(--mac-cream);
        }

        .hero-copy {
            display: flex;
            align-items: center;
            min-height: 70vh;
            padding-top: 6rem;
            padding-bottom: 6rem;
        }

        .hero h1 {
            max-width: 750px;
            margin-bottom: 1.75rem;
            font-size: clamp(3.1rem, 7vw, 6.4rem);
        }

        .hero-lead {
            max-width: 620px;
            color: var(--mac-muted);
            font-size: clamp(1.1rem, 1.8vw, 1.35rem);
        }

         /* -----------------------------------
           SHORT INTRO
        ----------------------------------- */

        .intro-statement {
            background: var(--mac-white);
        }

        .intro-statement p {
            max-width: 920px;
            margin: 0 auto;
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(1.8rem, 3.5vw, 3.25rem);
            line-height: 1.3;
            text-align: center;
        }

        /* -----------------------------------
           PROGRAMS
        ----------------------------------- */

        .programs {
            background: var(--mac-cream);
        }

        .program {
            padding: 2rem 0;
            border-top: 1px solid rgba(0,0,0,.13);
        }

        .program:last-child {
            border-bottom: 1px solid rgba(0,0,0,.13);
        }

        .program-age {
            color: var(--mac-muted);
            font-size: .9rem;
            letter-spacing: .04em;
        }

        .program-name {
            margin: 0;
            font-size: clamp(1.65rem, 3vw, 2.5rem);
        }

        .program-description {
            max-width: 550px;
            margin: 0;
            color: var(--mac-muted);
        }

        .program-link {
            text-decoration: none;
        }

        .program-link:hover .program-name {
            color: var(--mac-primary);
        }

        /* -----------------------------------
           MONTESSORI FEATURE
        ----------------------------------- */

        .montessori-image {
            min-height: 620px;
            background:
                url('/images/montessori-work.jpg')
                center center / cover no-repeat;
        }

        .feature-copy {
            padding: 5rem;
        }

        .feature-copy h2 {
            margin-bottom: 2rem;
            font-size: clamp(2.5rem, 5vw, 4.5rem);
        }

        .feature-copy p {
            max-width: 600px;
            color: var(--mac-muted);
            font-size: 1.08rem;
        }

        /* -----------------------------------
           CAMPUS
        ----------------------------------- */

        .campus {
            background: var(--mac-dark);
            color: #fff;
        }

        .campus-image {
            width: 100%;
            min-height: 580px;
            object-fit: cover;
        }

        .campus p {
            color: rgba(255,255,255,.75);
        }

        /* -----------------------------------
           FAMILY RESOURCES
        ----------------------------------- */

        .family-resources {
            background: var(--mac-warm);
        }

        .resource-link {
            display: block;
            padding: 1.5rem 0;
            border-top: 1px solid rgba(0,0,0,.15);
            text-decoration: none;
        }

        .resource-link:last-child {
            border-bottom: 1px solid rgba(0,0,0,.15);
        }

        .resource-link:hover {
            color: var(--mac-primary);
        }

        /* -----------------------------------
           TOUR
        ----------------------------------- */

        .tour-cta {
            background: var(--mac-primary);
            color: #fff;
        }

        .tour-cta h2 {
            max-width: 850px;
            margin-left: auto;
            margin-right: auto;
            font-size: clamp(2.6rem, 6vw, 5.25rem);
        }

        .tour-cta p {
            max-width: 660px;
            margin-left: auto;
            margin-right: auto;
            color: rgba(255,255,255,.85);
            font-size: 1.1rem;
        }

        .tour-cta .btn {
            color: var(--mac-dark);
            background: #fff;
            border-color: #fff;
        }

        /* -----------------------------------
           FOOTER
        ----------------------------------- */

        footer {
            padding: 4rem 0;
            color: rgba(255,255,255,.68);
            background: #1d1f19;
            font-size: .92rem;
        }

        footer h6 {
            color: #fff;
            font-size: .78rem;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        footer a {
            color: rgba(255,255,255,.75);
            text-decoration: none;
        }

        footer a:hover {
            color: #fff;
        }

        @media (max-width: 991.98px) {

            :root {
                --mac-section-space: 5rem;
            }

            .hero-image {
                min-height: 500px;
            }

            .feature-copy {
                padding: 4rem 1.5rem;
            }

            .montessori-image {
                min-height: 500px;
            }

        }

        @media (max-width: 767.98px) {

            .hero-copy {
                min-height: auto;
                padding-top: 4rem;
                padding-bottom: 4rem;
            }

            .hero h1 {
                font-size: 3.4rem;
            }

            .hero-image {
                min-height: 430px;
            }

            .program-description {
                margin-top: 1rem;
            }

        }