Replace your entire **Additional CSS** with the optimized version below. It consolidates duplicate rules, preserves the responsive header/footer fixes, prevents mobile menu controls from inheriting button styles, and adds rounded desktop dropdowns with a transparent gap above them. It is based on the stylesheet you provided. 

```css
/* =========================================================
   GCS WEBSITE CUSTOM CSS
   Updated: 2026-07-24
   ========================================================= */

/* Google Fonts must appear before all other rules */
@import url("https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&family=Roboto:wght@300;400;500;700&display=swap");

/*
   Brand colors
   Navy:          #152e52
   Green:         #c2d72e
   Dropdown gray: #738297
*/


/* =========================================================
   GENERAL
   ========================================================= */

/* Remove post metadata */
.entry-meta .byline,
.entry-meta .cat-links,
.entry-meta .posted-on {
    display: none;
}

/* Hide post navigation */
.post-navigation {
    display: none;
}

/* Prevent long titles from overflowing */
.portfolio-entry-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* GeoBusiness responsive content */
@media screen and (max-width: 480px) {
    .geobusiness-geodashboard {
        display: none !important;
    }
}

@media screen and (min-width: 481px) {
    .geobusiness-geodashboard-mobile {
        display: none !important;
    }
}

/* Hide header/navigation on page 21716 */
body.page-id-21716 nav,
body.page-id-21716 .main-navigation,
body.page-id-21716 .site-header {
    display: none !important;
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.entry-title,
.page-title,
.widget-title,
.main-navigation a {
    font-family: "Titillium Web", sans-serif !important;
}

body,
p,
li,
blockquote,
input,
textarea,
select,
.site-description {
    font-family: "Roboto", sans-serif !important;
}


/* =========================================================
   HEADER
   ========================================================= */

/* Keep every header layer navy at all screen sizes */
html body #masthead,
html body .site-header,
html body header.site-header,
html body .site-header-wrapper,
html body .header-wrapper,
html body .header-inner,
html body .site-branding,
html body .site-branding-text,
html body .header-search-block,
html body #masthead .menu-wrapper {
    background: #152e52 !important;
    background-image: none !important;
}

/* Site title */
.site-title a,
.site-title a:visited,
.site-title a:hover,
.site-title a:focus {
    color: #c2d72e !important;
}

/* Site description */
.site-description {
    color: #ffffff !important;
}

/* Header icons and links */
.site-header a,
.site-header button,
.site-header svg {
    color: #ffffff;
}


/* =========================================================
   MAIN NAVIGATION
   ========================================================= */

html body .main-navigation,
html body nav.main-navigation,
html body .main-navigation > div,
html body .main-navigation .menu,
html body .main-navigation .menu-primary-container {
    background: #152e52 !important;
    background-image: none !important;
}

/* Top-level links */
.main-navigation a,
.main-navigation a:visited {
    color: #ffffff !important;
}

/* Only the link receives the hover background */
.main-navigation > div > ul > li > a:hover,
.main-navigation > div > ul > li > a:focus,
.main-navigation > div > ul > li.focus > a,
.main-navigation > div > ul > li:hover > a {
    color: #152e52 !important;
    background: #c2d72e !important;
    border-radius: 8px !important;
}

/* Current page and active ancestors */
.main-navigation > div > ul > li.current-menu-item > a,
.main-navigation > div > ul > li.current_page_item > a,
.main-navigation > div > ul > li.current-menu-ancestor > a,
.main-navigation > div > ul > li.current_page_ancestor > a {
    color: #152e52 !important;
    background: #c2d72e !important;
    border-radius: 8px !important;
}

/* Keep parent list elements transparent */
.main-navigation > div > ul > li,
.main-navigation > div > ul > li:hover,
.main-navigation > div > ul > li.focus,
.main-navigation > div > ul > li.current-menu-item,
.main-navigation > div > ul > li.current-menu-ancestor {
    background: transparent !important;
}

/* Dropdown toggle arrows */
.main-navigation .dropdown-toggle,
.main-navigation .sub-menu-toggle {
    color: #ffffff !important;
}


/* =========================================================
   DESKTOP DROPDOWNS
   ========================================================= */

@media screen and (min-width: 783px) {

    /* Position the dropdown relative to its parent */
    .main-navigation .menu > li {
        position: relative;
    }

    /*
       Transparent space between the top menu button
       and the visible dropdown panel
    */
    .main-navigation .menu > li > .sub-menu {
        background: transparent !important;
        padding-top: 16px !important;
        box-shadow: none !important;
        filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.16));
    }

    /* Dropdown list items form the visible panel */
    .main-navigation .menu > li > .sub-menu > li {
        margin: 0 !important;
        padding: 0 !important;
        background: #738297 !important;
    }

    /* Dropdown links */
    .main-navigation .menu > li > .sub-menu > li > a {
        display: block !important;
        padding: 10px 16px !important;
        background: transparent !important;
        color: #ffffff !important;
        border-radius: 0 !important;
    }

    /* Rounded upper corners */
    .main-navigation .menu > li > .sub-menu > li:first-child,
    .main-navigation .menu > li > .sub-menu > li:first-child > a {
        border-top-left-radius: 10px !important;
        border-top-right-radius: 10px !important;
    }

    /* Rounded lower corners */
    .main-navigation .menu > li > .sub-menu > li:last-child,
    .main-navigation .menu > li > .sub-menu > li:last-child > a {
        border-bottom-left-radius: 10px !important;
        border-bottom-right-radius: 10px !important;
    }

    /* Dropdown hover */
    .main-navigation .menu > li > .sub-menu > li:hover,
    .main-navigation .menu > li > .sub-menu > li.focus {
        background: #c2d72e !important;
    }

    .main-navigation .menu > li > .sub-menu > li:hover > a,
    .main-navigation .menu > li > .sub-menu > li.focus > a,
    .main-navigation .menu > li > .sub-menu > li > a:hover,
    .main-navigation .menu > li > .sub-menu > li > a:focus {
        background: transparent !important;
        color: #152e52 !important;
    }

    /* Dropdown arrow */
    .main-navigation .menu > li > .sub-menu::before {
        top: 8px !important;
        border-bottom-color: #738297 !important;
    }
}


/* =========================================================
   MOBILE MENU BUTTON
   ========================================================= */

.menu-toggle,
.main-navigation .menu-toggle,
button.menu-toggle {
    color: #ffffff !important;
    background: transparent !important;
    border: 2px solid #ffffff !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.menu-toggle:hover,
.menu-toggle:focus,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus {
    color: #152e52 !important;
    background: #c2d72e !important;
    border-color: #c2d72e !important;
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media screen and (max-width: 782px) {

    /* Keep full mobile header navy */
    html body #masthead,
    html body .site-header,
    html body header.site-header,
    html body .site-header-wrapper,
    html body .header-wrapper,
    html body .header-inner,
    html body .site-branding,
    html body .site-branding-text,
    html body #masthead .menu-wrapper,
    html body .main-navigation,
    html body nav.main-navigation,
    html body .main-navigation > div,
    html body .main-navigation .menu,
    html body .main-navigation .menu-primary-container {
        width: 100% !important;
        max-width: none !important;
        background: #152e52 !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    /* Header spacing */
    html body #masthead .header-wrapper,
    html body #masthead .menu-wrapper {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    /* Mobile menu button */
    html body #masthead button.menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 0 18px !important;
        padding: 9px 18px !important;
        color: #152e52 !important;
        background: #ffffff !important;
        border: 1px solid #dddddd !important;
        border-radius: 5px !important;
        box-shadow: none !important;
    }

    html body #masthead button.menu-toggle:hover,
    html body #masthead button.menu-toggle:focus {
        color: #152e52 !important;
        background: #c2d72e !important;
        border-color: #c2d72e !important;
    }

    /* Full-width menu structure */
    .main-navigation,
    .main-navigation ul,
    .main-navigation li,
    .main-navigation .menu,
    .main-navigation .menu-primary-container {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .main-navigation ul,
    .main-navigation .menu {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Mobile list items */
    .main-navigation li {
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #152e52 !important;
    }

    /* Top-level mobile links */
    .main-navigation li > a {
        display: block !important;
        width: 100% !important;
        padding: 12px 54px 12px 16px !important;
        color: #ffffff !important;
        background: #152e52 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    /* Mobile hover */
    .main-navigation li > a:hover,
    .main-navigation li > a:focus {
        color: #152e52 !important;
        background: #c2d72e !important;
    }

    /* Current mobile menu item */
    .main-navigation .current-menu-item > a,
    .main-navigation .current_page_item > a,
    .main-navigation .current-menu-ancestor > a,
    .main-navigation .current_page_ancestor > a {
        color: #152e52 !important;
        background: #c2d72e !important;
    }

    /* Submenu expand/collapse buttons */
    html body .main-navigation button.dropdown-toggle,
    html body .main-navigation .dropdown-toggle,
    html body .main-navigation button.sub-menu-toggle,
    html body .main-navigation .sub-menu-toggle {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #ffffff !important;
        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        font-family: "Roboto", sans-serif !important;
        font-size: 16px !important;
        line-height: 1 !important;
        appearance: none !important;
    }

    /* Toggle on active green parent */
    .main-navigation .current-menu-ancestor > .dropdown-toggle,
    .main-navigation .current-menu-item > .dropdown-toggle,
    .main-navigation .current_page_ancestor > .dropdown-toggle,
    .main-navigation .current_page_item > .dropdown-toggle,
    .main-navigation .current-menu-ancestor > .sub-menu-toggle,
    .main-navigation .current-menu-item > .sub-menu-toggle {
        color: #152e52 !important;
    }

    /* Prevent white toggle boxes */
    html body .main-navigation button.dropdown-toggle:hover,
    html body .main-navigation button.dropdown-toggle:focus,
    html body .main-navigation button.dropdown-toggle:active,
    html body .main-navigation button.sub-menu-toggle:hover,
    html body .main-navigation button.sub-menu-toggle:focus,
    html body .main-navigation button.sub-menu-toggle:active {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }

    /* Mobile submenu */
    .main-navigation .sub-menu,
    .main-navigation ul ul {
        position: static !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #738297 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
    }

    .main-navigation .sub-menu li,
    .main-navigation ul ul li {
        width: 100% !important;
        background: #738297 !important;
        border-radius: 0 !important;
    }

    .main-navigation .sub-menu li a,
    .main-navigation ul ul li a {
        display: block !important;
        width: 100% !important;
        padding: 11px 54px 11px 28px !important;
        color: #ffffff !important;
        background: #738297 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    .main-navigation .sub-menu li:hover > a,
    .main-navigation .sub-menu li a:hover,
    .main-navigation .sub-menu li a:focus,
    .main-navigation ul ul li:hover > a {
        color: #152e52 !important;
        background: #c2d72e !important;
    }

    /* Remove desktop dropdown arrows on mobile */
    .main-navigation .sub-menu::before,
    .main-navigation .sub-menu::after,
    .main-navigation ul ul::before,
    .main-navigation ul ul::after {
        display: none !important;
        content: none !important;
        border: 0 !important;
    }
}


/* =========================================================
   FOOTER
   ========================================================= */

/* Keep every footer layer navy */
html body #colophon,
html body .site-footer,
html body footer.site-footer,
html body .footer,
html body .footer-inner,
html body .footer-area,
html body .footer-widgets,
html body .footer-widget-area,
html body .widget-area,
html body .widget-wrapper,
html body .site-info,
html body .footer-bottom,
html body .gcs-footer-content {
    background: #152e52 !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: #152e52 !important;
}

/* Footer text */
#colophon *,
.site-footer *,
.footer *,
.footer-area *,
.footer-widgets *,
.footer-widget-area *,
.widget-area *,
.widget-wrapper *,
.site-info *,
.gcs-footer-content * {
    color: #ffffff !important;
}

/* Footer links */
#colophon a,
.site-footer a,
.footer a,
.footer-area a,
.footer-widgets a,
.footer-widget-area a,
.widget-area a,
.widget-wrapper a,
.site-info a,
.gcs-footer-content a {
    color: #ffffff !important;
}

#colophon a:hover,
#colophon a:focus,
.site-footer a:hover,
.site-footer a:focus,
.footer a:hover,
.footer-area a:hover,
.footer-widgets a:hover,
.footer-widget-area a:hover,
.widget-area a:hover,
.widget-wrapper a:hover,
.site-info a:hover,
.gcs-footer-content a:hover {
    color: #c2d72e !important;
}

/* Custom footer content */
.gcs-footer-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 20px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.gcs-footer-copyright {
    margin: 0 0 18px !important;
}

.gcs-footer-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 30px;
    margin: 0;
    padding: 0;
}

/* Remove excess footer spacing */
#colophon,
.site-footer,
.footer,
.footer-area,
.footer-widgets,
.footer-widget-area,
.widget-area,
.widget-wrapper,
.site-info {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   HIDE THEME CONTACT / PHONE STRIP
   ========================================================= */

/* Hide duplicate phone/contact information at every width */
html body .contact-info-area,
html body .contact-info,
html body .contact-info-wrapper,
html body .header-contact-info,
html body .footer-contact-info,
html body .site-contact-info,
html body .mobile-contact-info,
html body .contact-details,
html body .contact-info-block,
html body .contact-info-area-wrapper,
html body #page.site > .contact-info-area {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}


/* =========================================================
   MOBILE FOOTER
   ========================================================= */

@media screen and (max-width: 782px) {

    html body #colophon,
    html body .site-footer,
    html body footer.site-footer,
    html body .footer,
    html body .footer-inner,
    html body .footer-area,
    html body .footer-widgets,
    html body .footer-widget-area,
    html body .widget-area,
    html body .widget-wrapper,
    html body .site-info,
    html body .footer-bottom,
    html body .gcs-footer-content {
        width: 100% !important;
        max-width: none !important;
        background: #152e52 !important;
        background-image: none !important;
        color: #ffffff !important;
        box-sizing: border-box !important;
    }

    .gcs-footer-content {
        padding: 24px 16px !important;
    }

    .gcs-footer-contact {
        flex-direction: column;
        gap: 10px;
    }
}


/* =========================================================
   CONTENT BUTTONS
   ========================================================= */

/*
   Do not use a general button selector.
   That would also style mobile navigation controls.
*/

.wp-block-button__link,
.entry-content button:not(.dropdown-toggle):not(.sub-menu-toggle):not(.menu-toggle),
.entry-content input[type="submit"],
.entry-content input[type="button"],
.entry-content input[type="reset"] {
    padding: 12px 28px !important;

    color: #152e52 !important;
    background: #ffffff !important;

    border: 2px solid #152e52 !important;
    border-radius: 8px !important;

    font-family: "Titillium Web", sans-serif !important;
    font-weight: 600;

    box-shadow: 0 3px 8px rgba(21, 46, 82, 0.20);

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Button hover and focus */
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.entry-content button:not(.dropdown-toggle):not(.sub-menu-toggle):not(.menu-toggle):hover,
.entry-content button:not(.dropdown-toggle):not(.sub-menu-toggle):not(.menu-toggle):focus,
.entry-content input[type="submit"]:hover,
.entry-content input[type="submit"]:focus,
.entry-content input[type="button"]:hover,
.entry-content input[type="button"]:focus,
.entry-content input[type="reset"]:hover,
.entry-content input[type="reset"]:focus {
    color: #152e52 !important;
    background: #c2d72e !important;
    border-color: #152e52 !important;
}

/* Button active */
.wp-block-button__link:active,
.entry-content button:not(.dropdown-toggle):not(.sub-menu-toggle):not(.menu-toggle):active,
.entry-content input[type="submit"]:active,
.entry-content input[type="button"]:active,
.entry-content input[type="reset"]:active {
    color: #152e52 !important;
    background: #c2d72e !important;
    border-color: #152e52 !important;
}


/* =========================================================
   HOME PAGE
   ========================================================= */

/* Hide home-page title */
body.page-id-4 .entry-title {
    display: none;
}

/* Preserve a small amount of spacing */
body.page-id-4 .entry-header {
    margin: 0 !important;
    padding: 20px 0 10px !important;
}

/* Page title row */
.page .entry-header {
    display: flex;
    align-items: center;
    gap: 24px;

    max-width: 1200px;      /* Same width as page content */
    margin: 40px auto 30px;
    padding: 0 40px;        /* Same side padding as content */
    box-sizing: border-box;
}

/* Title */
.page .entry-title {
    margin: 0;
    width: auto !important;
    flex: 0 0 auto;

    font-family: "Titillium Web", sans-serif;
    font-size: clamp(42px, 4vw, 60px);
    font-weight: 400;
    color: #152e52;
}

/* Green bar */
.page .entry-header::after {
    content: "";
    flex: 1;
    height: 28px;
    background: #c2d72e;
}

.page .entry-header {
    margin: 40px auto 45px;
}

/* Remove the page title green bar on the Home page only */
body.page-id-4 .entry-header::after {
    display: none !important;
    content: none !important;
}

body.page-id-4 .entry-header {
    display: block !important;
}

/* Full-width alternating homepage rows */
body.page-id-4 {
    overflow-x: hidden;
}

body.page-id-4 .gcs-row-green-left,
body.page-id-4 .gcs-row-green-right {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    gap: 0 !important;
    box-sizing: border-box !important;
}

/* Green left half */
body.page-id-4 .gcs-row-green-left {
    background: linear-gradient(
        to right,
        #9cb92d 0%,
        #9cb92d 50%,
        transparent 50%,
        transparent 100%
    ) !important;
}

/* Green right half */
body.page-id-4 .gcs-row-green-right {
    background: linear-gradient(
        to right,
        transparent 0%,
        transparent 50%,
        #9cb92d 50%,
        #9cb92d 100%
    ) !important;
}

/* Remove backgrounds from individual columns and paragraphs */
body.page-id-4 .gcs-row-green-left > .wp-block-column,
body.page-id-4 .gcs-row-green-right > .wp-block-column,
body.page-id-4 .gcs-row-green-left p,
body.page-id-4 .gcs-row-green-right p {
    background: transparent !important;
}

/* Maintain internal spacing */
body.page-id-4 .gcs-row-green-left > .wp-block-column,
body.page-id-4 .gcs-row-green-right > .wp-block-column {
    padding: 32px 40px !important;
    box-sizing: border-box !important;
}

/* Mobile: stack alternating rows while keeping image columns white */
@media screen and (max-width: 782px) {
    body.page-id-4 .gcs-row-green-left,
    body.page-id-4 .gcs-row-green-right {
        left: 50%;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.page-id-4 .gcs-row-green-left > .wp-block-column,
    body.page-id-4 .gcs-row-green-right > .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
        padding: 28px 24px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    /* Rows with the green panel on the left: first column is green */
    body.page-id-4 .gcs-row-green-left > .wp-block-column:first-child {
        background: #9cb92d !important;
        color: #ffffff !important;
    }

    /* Rows with the green panel on the right: last column is green */
    body.page-id-4 .gcs-row-green-right > .wp-block-column:last-child {
        background: #9cb92d !important;
        color: #ffffff !important;
    }

    /* Keep image and logo columns white at mobile widths */
    body.page-id-4 .gcs-row-green-left > .wp-block-column:last-child,
    body.page-id-4 .gcs-row-green-right > .wp-block-column:first-child {
        background: #ffffff !important;
    }

    body.page-id-4 .gcs-row-green-left figure,
    body.page-id-4 .gcs-row-green-right figure,
    body.page-id-4 .gcs-row-green-left .wp-block-image,
    body.page-id-4 .gcs-row-green-right .wp-block-image {
        background: #ffffff !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.page-id-4 .gcs-row-green-left img,
    body.page-id-4 .gcs-row-green-right img {
        display: block !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        background: #ffffff !important;
    }
}

.gcs-footer{
    text-align:center;
}

.gcs-footer-logo{
    width:180px;
    height:auto;
    margin-bottom:20px;
}

.gcs-footer-tagline{
    font-family:"Titillium Web",sans-serif;
    font-size:34px;
    font-weight:600;
    color:#fff;
    margin-bottom:18px;
}

.gcs-footer-contact{
    margin-bottom:18px;
}

.gcs-footer-copy{
    opacity:.8;
}

/* ==========================================================================
   INDUSTRY PAGE - BUTTON LABELS
   --------------------------------------------------------------------------
   Keep button labels centered at all screen sizes. Allow wrapping only
   between words and prevent words from breaking in the middle.
   ========================================================================== */

.wp-block-button__link,
.button,
.kb-button,
.kadence-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;

    min-height: 56px;      /* same height for all buttons */
    padding: 8px 12px;
}




