.banner {
    width: 100%;
    flex-grow: 1;
    background-image: url('../images/landing-banner-hires-compressed.jpg');
    background-size: cover;
    background-position: center top; /* or 50% 15% */
}
.logo {
    width: 175px;
    display: block;
    aspect-ratio: 1 / 1;
}
.logo img {
    width: 100%;
    box-sizing: content-box;
    object-fit: contain;
    display: block;
}
.page-section {
    padding: 0 3rem;
    max-width: 1000px;
}
.KGSA-container {
    display: flex;
}
.KGSA-container img {
    width: 50%;
    object-fit: cover;
    border-radius: 10px;
}
#KGSA-caption-mobile { display: none; }
#KGSA-caption-desktop { display: inline-block; }

/* Footer */
.footer {
    background-color: #d2baee;
    color: var(--light-txt);
    padding: 50px 20px 20px 20px;
    margin-top: 100px;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto;
}
.footer-section h4 {
    color: var(--accent-txt);
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 10px;
    margin-bottom: 25px;
}

.footer-link {
    display: block;
    color: var(--accent-txt);
    text-decoration: none;
    margin-bottom: 15px;
    transition: color 0.2s ease;
}

.footer-link:hover {
    text-decoration: underline;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
    margin-top: 40px;
    padding-top: 15px;
}

/* scroll margin */
#about, #services, #testimonials {
    scroll-margin-top: 100px;
}

/* dymanic resizing */
@media screen and (max-width: 1150px) {
    #title { font-size: 35px; }
    #subtitle { font-size: 18px; }
    #nav a { font-size: 20px; }
}
@media screen and (max-width: 900px) {
    #title-container { margin-top: 20px; }
    #quote { font-size: 20px; }
    #nav a { font-size: 16px; }
    .page-section { padding: 0px 1rem; }
    .logo-footer-section {
        display: none;
    }
}
@media screen and (max-width: 750px) {
    #logo { width: 75px; margin-left: 0px; }
    #title { font-size: 25px; }
    #title-container { 
        margin-top: 0px; 
        display: flex; 
        flex-direction: column; 
        justify-content: center;
    }
    #subtitle { display: none; }
    #quote { 
        font-size: 20px; 
        margin-top: 10px;
        margin-left: 10px;
    }
    .banner {
        background-position: left 65% top 15%;
    }
    .KGSA-container {
        flex-direction: column;
    }
    .KGSA-container img {
        margin: 0px 0px 10px 0px;
        width: 100%;
    }
    #KGSA-caption-mobile { display: inline-block; }
    #KGSA-caption-desktop { display: none; }
}
@media screen and (max-width: 450px) {
    #title { font-size: 20px; }
    #title-container { 
        margin-top: 0px; 
        margin-left: 15px;
        display: flex; 
        flex-direction: column; 
        justify-content: center;
    }
}