@media only screen and (min-width: 0rem) {
	:root {
		--primary: #01a62a;
		--primaryLight: #F4D6BA;
		--primaryShade: #FDF8F4;
		--secondary: #161484;
		--secondaryLight: #D4DFDC;
		--secondaryShade: #F4F7F6;
		--secondaryDark: #031712;
		--headerColor: #1a1a1a;
		--bodyTextColor: #585B5D;
		--bodyTextColorWhite: #E7E7E8;
		--headerFont: "Archivo", sans-serif;
		--bodyFont: "Roboto", Arial, sans-serif;
		--topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
		--headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
		--bodyFontSize: 1rem;
		--sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
	}

	.cs-topper {
		display: block;
		margin-bottom: 0.25rem;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-size: var(--topperFontSize);
		line-height: 1.2em;
		font-weight: 700;
		color: var(--primary);
		text-align: inherit;
	}

	.cs-title {
		position: relative;
		margin: 0 0 1rem 0;
		max-width: 43.75rem;
		font-size: var(--headerFontSize);
		line-height: 1.2em;
		font-weight: 900;
		color: var(--headerColor);
		text-align: inherit;
	}

	.cs-text {
		margin: 0;
		max-width: 40.625rem;
		width: 100%;
		font-size: var(--bodyFontSize);
		line-height: 1.5em;
		color: var(--bodyTextColor);
		text-align: inherit;
	}

	.cs-h3 {
		font-size: var(--headerFontSize);
	}

	.cs-button-solid {
		z-index: 1;
		position: relative;
		display: inline-block;
		background-color: var(--primary);
		width: auto;
		overflow: hidden;
		padding: 0 1.875rem;
		text-decoration: none;
		font-size: 1rem;
		line-height: 3.125em;
		font-weight: bold;
		color: #fff;
		transition: color 0.3s;
		transition-delay: 0.1s;
		text-align: center;
		border-radius: 3rem;
	}

	.cs-button-solid:hover {
		color: #fff;
	}

	.cs-button-solid:hover:before {
		width: 100%;
	}

	.cs-button-solid:before {
		z-index: -1;
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		opacity: 1;
		display: block;
		background-color: #000;
		border-radius: 3rem;
		height: 100%;
		width: 0;
		transition: width 0.3s;
	}

	.cs-hide-on-mobile {
		display: none;
	}
}

@media only screen and (min-width: 64rem) {
	.cs-hide-on-mobile {
		display: block;
	}

	.cs-hide-on-desktop {
		display: none;
	}
}

@media only screen and (min-width: 0rem) {

	body,
	html {
		margin: 0;
		overflow-x: hidden;
		padding: 0;
		font-family: "Roboto", Arial, sans-serif;
		font-size: 100%;
		color: var(--bodyTextColor);
		font-family: var(--bodyFont);
	}

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

	body {
		background-color: #fff;
		transition: background-color 0.3s;
	}

	.container {
		position: relative;
		margin: auto;
		width: 92%;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin: 0;
		color: var(--headerColor);
		font-family: var(--headerFont);
	}

	p,
	li,
	a {
		margin: 0;
		font-size: 1rem;
		line-height: 1.5em;
	}

	p,
	li {
		color: #353535;
	}

	a:hover,
	button:hover {
		cursor: pointer;
	}

	.skip {
		z-index: -1111111;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}

	@font-face {
		font-style: normal;
		font-family: 'Archivo';
		font-weight: 700;
		font-display: swap;
		src: local(""), url('../fonts/archivo-v19-latin-700.woff2') format('woff2'), url('../fonts/archivo-v19-latin-700.woff') format('woff');
	}

	@font-face {
		font-style: normal;
		font-family: 'Archivo';
		font-weight: 400;
		font-display: swap;
		src: local(""), url('../fonts/archivo-v19-latin-regular.woff2') format('woff2'), url('../fonts/archivo-v19-latin-regular.woff') format('woff');
	}

	@font-face {
		font-style: normal;
		font-family: "Roboto";
		font-weight: 400;
		font-display: swap;
		src: local(""), url("../fonts/roboto-v29-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v29-latin-regular.woff") format("woff");
	}

	@font-face {
		font-style: normal;
		font-family: "Roboto";
		font-weight: 700;
		font-display: swap;
		src: local(""), url("../fonts/roboto-v29-latin-700.woff2") format("woff2"), url("../fonts/roboto-v29-latin-700.woff") format("woff");
	}

	@font-face {
		font-style: normal;
		font-family: "Roboto";
		font-weight: 900;
		font-display: swap;
		src: local(""), url("../fonts/roboto-v29-latin-900.woff2") format("woff2"), url("../fonts/roboto-v29-latin-900.woff") format("woff");
	}

	/* Used by the nav links and dropdowns */
	@font-face {
		font-style: normal;
		font-family: "Oswald";
		font-weight: 400;
		font-display: swap;
		src: local(""), url("../fonts/oswald-latin-regular.woff2") format("woff2");
	}

	@font-face {
		font-style: normal;
		font-family: "Oswald";
		font-weight: 600;
		font-display: swap;
		src: local(""), url("../fonts/oswald-latin-600.woff2") format("woff2");
	}

	@font-face {
		font-style: normal;
		font-family: "Oswald";
		font-weight: 700;
		font-display: swap;
		src: local(""), url("../fonts/oswald-latin-700.woff2") format("woff2");
	}
}

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

	body,
	html {
		margin: 0;
		padding: 0;
	}
}

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

	body,
	html {
		font-size: 0.55vw;
	}
}

body,
html {
	margin: 0;
	padding: 0;
}

@media only screen and (max-width: 1023px) {
    body.cs-open {
        overflow: hidden;
    }

    body.cs-open #cs-navigation:after {
        width: 100%;
        opacity: 1;
    }

    body.cs-open #cs-navigation .cs-logo img.cs-default {
        display: none;
    }

    body.cs-open #cs-navigation .cs-logo img.cs-scroll {
        display: block;
    }

    body.scroll #cs-navigation:after {
        width: 100%;
    }

    body.scroll #cs-navigation .cs-logo img.cs-default {
        display: none;
    }

    body.scroll #cs-navigation .cs-logo img.cs-scroll {
        display: block;
    }

    body.scroll #cs-navigation .cs-toggle {
        width: 3rem;
        height: 3rem;
        background-color: var(--primary);
        border-radius: 50%;
        transform: rotate(180deg);
    }

    body.scroll #cs-navigation .cs-line {
        background-color: #fff;
    }

    #cs-navigation {
        width: 100%;
        box-sizing: border-box;
        position: fixed;
        z-index: 10000;
    }

    #cs-navigation:before {
        content: "";
        width: 100%;
        height: 0vh;
        background: rgba(0, 0, 0, 0.6);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        position: absolute;
        display: block;
        top: 100%;
        right: 0;
        z-index: -1100;
        opacity: 0;
        transition: height 0.5s, opacity 0.5s;
    }

    #cs-navigation:after {
        content: "";
        width: 0%;
        height: 100%;
        background: #fff;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s, opacity 0.3s;
    }

    #cs-navigation.cs-active:before {
        height: 150vh;
        opacity: 1;
    }

    #cs-navigation.cs-active .cs-ul-wrapper {
        opacity: 1;
        transform: scaleY(1);
        transition-delay: 0.15s;
    }

    #cs-navigation.cs-active .cs-li {
        transform: translateY(0);
        opacity: 1;
    }

    #cs-navigation .cs-container {
        width: 100%;
        padding: 1rem;
        box-sizing: border-box;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    #cs-navigation .cs-logo {
        width: 9.5rem;
        height: auto;
        margin: 0 auto 0 0;
        padding: 0;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 10;
    }

    #cs-navigation .cs-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #cs-navigation .cs-logo img.cs-scroll {
        display: none;
    }

    #cs-navigation .cs-toggle {
        width: 3.5rem;
        height: 3.5rem;
        margin: 0 0 0 auto;
        background-color: #fff;
        border: none;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: background-color 0.3s, border-radius 0.4s, transform 0.5s, width 0.5s, height 0.5s;
    }

    #cs-navigation .cs-active .cs-line1 {
        top: 50%;
        transform: translate(-50%, -50%) rotate(225deg);
    }

    #cs-navigation .cs-active .cs-line2 {
        top: 50%;
        transform-origin: center;
        transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    }

    #cs-navigation .cs-active .cs-line3 {
        bottom: 100%;
        opacity: 0;
    }

    #cs-navigation .cs-box {
        width: clamp(1.5rem, 2vw, 1.75rem);
        height: 1rem;
        position: relative;
    }

    #cs-navigation .cs-line {
        width: 100%;
        height: 2px;
        border-radius: 2px;
        background-color: var(--primary);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: background-color 0.3s;
    }

    #cs-navigation .cs-line1 {
        top: 0;
        transform-origin: center;
        transition: transform 0.5s, top 0.3s, left 0.3s;
        animation-duration: 0.7s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-direction: normal;
    }

    #cs-navigation .cs-line2 {
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        transition: top 0.3s, left 0.3s, transform 0.5s;
        animation-duration: 0.7s;
        animation-timing-function: ease;
        animation-fill-mode: forwards;
        animation-direction: normal;
    }

    #cs-navigation .cs-line3 {
        bottom: 0;
        transition: bottom 0.3s, opacity 0.3s;
    }

    #cs-navigation .cs-ul-wrapper {
        width: 100%;
        height: auto;
        padding-bottom: 3rem;
        opacity: 0;
        background-color: #fff;
        box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
        overflow: hidden;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: -1;
        transform: scaleY(0);
        transform-origin: top;
        transition: transform 0.4s, opacity 0.3s;
    }

    #cs-navigation .cs-ul {
        margin: 0;
        padding: 3rem 0 0 0;
        width: 100%;
        height: auto;
        max-height: 65vh;
        overflow: scroll;
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
    }

    #cs-navigation .cs-li {
        width: 100%;
        text-align: center;
        list-style: none;
        margin-right: 0;
        transform: translateY(-4.375rem);
        opacity: 0;
        transition: transform 0.6s, opacity 0.9s;
    }

    #cs-navigation .cs-li:nth-of-type(1) {
        transition-delay: 0.05s;
    }

    #cs-navigation .cs-li:nth-of-type(2) {
        transition-delay: 0.1s;
    }

    #cs-navigation .cs-li:nth-of-type(3) {
        transition-delay: 0.15s;
    }

    #cs-navigation .cs-li:nth-of-type(4) {
        transition-delay: 0.2s;
    }

    #cs-navigation .cs-li:nth-of-type(5) {
        transition-delay: 0.25s;
    }

    #cs-navigation .cs-li:nth-of-type(6) {
        transition-delay: 0.3s;
    }

    #cs-navigation .cs-li:nth-of-type(7) {
        transition-delay: 0.35s;
    }

    #cs-navigation .cs-li:nth-of-type(8) {
        transition-delay: 0.4s;
    }

    #cs-navigation .cs-li:nth-of-type(9) {
        transition-delay: 0.45s;
    }

    #cs-navigation .cs-li:nth-of-type(10) {
        transition-delay: 0.5s;
    }

    #cs-navigation .cs-li:nth-of-type(11) {
        transition-delay: 0.55s;
    }

    #cs-navigation .cs-li:nth-of-type(12) {
        transition-delay: 0.6s;
    }

    #cs-navigation .cs-li:nth-of-type(13) {
        transition-delay: 0.65s;
    }

    #cs-navigation .cs-li-link {
        font-size: clamp(1rem, 2.5vw, 1.5rem);
        font-family: "Oswald", Arial, sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        line-height: 1.2em;
        text-decoration: none;
        margin: 0;
        color: var(--headerColor);
        display: inline-block;
        position: relative;
    }

    #cs-navigation .cs-li-link.cs-active {
        color: var(--primary);
    }

    #cs-navigation .cs-li-link:hover {
        color: var(--primary);
    }

    #cs-navigation .cs-button-solid {
        display: none;
    }
}

@media only screen and (max-width: 63.9375rem) {
    #cs-navigation .cs-li {
        text-align: center;
        width: 100%;
        display: block;
    }

    #cs-navigation .cs-dropdown {
        color: var(--bodyTextColorWhite);
        position: relative;
    }

    #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
        height: auto;
        margin: 0.75rem 0 0 0;
        padding: 0.75rem 0;
        opacity: 1;
        visibility: visible;
    }

    #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
        opacity: 1;
    }

    #cs-navigation .cs-dropdown .cs-li-link {
        position: relative;
        transition: opacity 0.3s;
    }

    #cs-navigation .cs-drop-icon {
        width: 0.9375rem;
        height: auto;
        position: absolute;
        top: 50%;
        right: -1.25rem;
        transform: translateY(-50%);
    }

    #cs-navigation .cs-drop-ul {
        width: 100%;
        height: 0;
        margin: 0;
        padding: 0;
        background-color: var(--primary);
        opacity: 0;
        display: flex;
        visibility: hidden;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 0.75rem;
        overflow: hidden;
        transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, visibility 0.3s;
    }

    #cs-navigation .cs-drop-li {
        list-style: none;
    }

    #cs-navigation .cs-li-link.cs-drop-link {
        font-size: clamp(0.875rem, 2vw, 1.25rem);
        color: #fff;
    }
}

@media only screen and (min-width: 64rem) {
    body.scroll #cs-navigation .cs-drop-icon {
        filter: none;
    }

    #cs-navigation .cs-dropdown {
        position: relative;
    }

    #cs-navigation .cs-dropdown:hover {
        cursor: pointer;
    }

    #cs-navigation .cs-dropdown:hover .cs-drop-ul {
        opacity: 1;
        visibility: visible;
        transform: scaleY(1);
    }

    #cs-navigation .cs-dropdown:hover .cs-drop-li {
        opacity: 1;
        transform: translateY(0);
    }

    #cs-navigation .cs-drop-icon {
        width: 0.9375rem;
        height: auto;
        display: inline-block;
    }

    #cs-navigation .cs-drop-ul {
        min-width: 12.5rem;
        margin: 0;
        padding: 0;
        background-color: #fff;
        box-shadow: inset rgba(149, 157, 165, 0.1) 0px 8px 10px;
        opacity: 0;
        border-bottom: 5px solid var(--primary);
        visibility: hidden;
        position: absolute;
        top: 100%;
        z-index: -100;
        overflow: hidden;
        transform: scaleY(0);
        transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
        transform-origin: top;
    }

    #cs-navigation .cs-drop-li {
        font-size: 1rem;
        text-decoration: none;
        list-style: none;
        width: 100%;
        height: auto;
        opacity: 0;
        display: block;
        transform: translateY(-0.625rem);
        transition: opacity 0.6s, transform 0.6s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(1) {
        transition-delay: 0.05s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(2) {
        transition-delay: 0.1s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(3) {
        transition-delay: 0.15s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(4) {
        transition-delay: 0.2s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(5) {
        transition-delay: 0.25s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(6) {
        transition-delay: 0.3s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(7) {
        transition-delay: 0.35s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(8) {
        transition-delay: 0.4s;
    }

    #cs-navigation .cs-drop-li:nth-of-type(9) {
        transition-delay: 0.45s;
    }

    #cs-navigation .cs-li-link.cs-drop-link {
        font-size: 0.875rem;
        font-family: "Oswald", Arial, sans-serif;
        font-weight: 700;
        line-height: 1.5em;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        width: 100%;
        box-sizing: border-box;
        padding: 0.75rem;
        color: var(--headerColor);
        display: block;
        transition: color 0.3s, background-color 0.3s;
    }

    #cs-navigation .cs-li-link.cs-drop-link:hover {
        background-color: #f7f7f7;
    }

    #cs-navigation .cs-li-link.cs-drop-link:before {
        display: none;
    }
}

@media only screen and (min-width: 1024px) {
    body.scroll #cs-navigation {
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    }

    body.scroll #cs-navigation:after {
        height: 100%;
    }

    body.scroll #cs-navigation .cs-li-link {
        color: var(--headerColor);
    }

    body.scroll #cs-navigation .cs-li-link:before {
        background-color: var(--primary);
    }

    body.scroll #cs-navigation .cs-logo img.cs-default {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transform: translateY(-3rem);
    }

    body.scroll #cs-navigation .cs-logo img.cs-scroll {
        display: block;
        position: relative;
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }

    #cs-navigation {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
        position: fixed;
        z-index: 10000;
    }

    #cs-navigation:after {
        content: "";
        width: 100%;
        height: 0%;
        background: #fff;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: -1;
        transition: height 0.3s, opacity 0.3s;
    }

    #cs-navigation .cs-container {
        width: 100%;
        height: 5.8125rem;
        max-width: 80rem;
        margin: auto;
        padding: 0 1rem;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1.5rem;
        position: relative;
    }

    #cs-navigation .cs-toggle {
        display: none;
    }

    #cs-navigation .cs-logo {
        width: auto;
        max-width: 11.5rem;
        height: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 100;
        position: relative;
    }

    #cs-navigation .cs-logo img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    #cs-navigation .cs-logo img.cs-default {
        transition: opacity 0.3s, transform 0.3s;
    }

    #cs-navigation .cs-logo img.cs-scroll {
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: 0;
        left: 0;
        transform: translateY(-6rem);
        transition: opacity 0.3s, transform 0.5s, visibility 0.3s;
    }

    #cs-navigation .cs-ul-wrapper {
        margin: auto;
    }

    #cs-navigation .cs-ul {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: clamp(1.25rem, 2.6vw, 2.25rem);
    }

    #cs-navigation .cs-li {
        list-style: none;
        padding: 2.25rem 0;
        flex: none;
    }

    #cs-navigation .cs-li-link {
        font-family: "Oswald", Arial, sans-serif;
        font-size: 0.875rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        line-height: 1.5em;
        text-decoration: none;
        margin: 0;
        color: var(--bodyTextColorWhite);
        display: block;
        position: relative;
        transition: color 0.3s;
    }

    #cs-navigation .cs-li-link:before {
        content: "";
        width: 0%;
        height: 3px;
        border-radius: 7px;
        background: var(--primary);
        opacity: 1;
        position: absolute;
        display: block;
        bottom: -4px;
        left: 0;
        transition: width 0.3s, background-color 0.3s;
    }

    #cs-navigation .cs-li-link:hover:before {
        width: 100%;
    }

    #cs-navigation .cs-li-link.cs-active:before {
        width: 100%;
    }

    #cs-navigation .cs-nav-button {
        line-height: 2.875rem;
    }
}

@media only screen and (min-width: 0rem) {
	#banner-310 {
		padding-top: clamp(9rem, 25vw, 12.75rem);
		padding-bottom: clamp(5rem, 13vw, 8.75rem);
		position: relative;
		z-index: 1;
	}

	#banner-310 .cs-container {
		width: 100%;
		max-width: 80rem;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}

	#banner-310 .cs-int-title {
		font-size: clamp(2.4375rem, 4.5vw, 3.0625rem);
		font-weight: 900;
		line-height: 1.2em;
		text-align: center;
		max-width: 43.75rem;
		margin: 0 auto 0.75rem;
		color: var(--bodyTextColorWhite);
		position: relative;
	}

	#banner-310 .cs-breadcrumbs {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		row-gap: 0.375rem;
	}

	#banner-310 .cs-link {
		font-size: clamp(0.875rem, 1.5vw, 1rem);
		line-height: 1.2em;
		text-decoration: none;
		color: var(--bodyTextColorWhite);
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		/* keep each crumb on one line so the chevron stays aligned; the whole row wraps instead */
		white-space: nowrap;
	}

	#banner-310 .cs-link:last-of-type {}

	#banner-310 .cs-link:last-of-type::after {
		display: none;
	}

	#banner-310 .cs-link:after {
		content: "";
		width: 0.4375rem;
		height: 0.75rem;
		margin-left: 0.75rem;
		margin-right: 0.75rem;
		background: url("https://csimg.nyc3.digitaloceanspaces.com/Banners/chevron-right.svg");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	}

	#banner-310 .cs-link.cs-active {
		color: var(--primary);
		/* current page has no chevron after it — let a long title wrap instead of overflowing */
		white-space: normal;
	}

	#banner-310 .cs-background {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		z-index: -1;
	}

	#banner-310 .cs-background:before {
		content: "";
		width: 100%;
		height: 100%;
		background: var(--secondary);
		opacity: 0.87;
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		z-index: 1;
	}

	#banner-310 .cs-background img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
}

@media only screen and (min-width: 0rem) {
	#subscribe-1718 {
		background-color: #1A1A1A;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		position: relative;
		z-index: 1;
	}

	#subscribe-1718 .cs-container {
		width: 100%;
		max-width: 34.375rem;
		margin: auto;
		padding: var(--sectionPadding);
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: clamp(3rem, 6vw, 4rem);
	}

	#subscribe-1718 .cs-content {
		text-align: left;
		width: 100%;
		max-width: 39.375rem;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		position: relative;
		z-index: 1;
	}

	#subscribe-1718 .cs-topper {
		color: var(--primaryLight);
	}

	#subscribe-1718 .cs-title {
		max-width: 20ch;
		color: var(--bodyTextColorWhite);
	}

	#subscribe-1718 .cs-text {
		margin-bottom: 1rem;
		color: var(--bodyTextColorWhite);
		opacity: 0.8;
	}

	#subscribe-1718 .cs-text:last-of-type {
		margin-bottom: 2rem;
	}

	#subscribe-1718 .cs-form {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1rem;
	}

	#subscribe-1718 .cs-input {
		font-size: 1rem;
		width: 100%;
		height: clamp(2.875rem, 5.5vw, 3.5rem);
		margin: 0;
		padding: 0;
		padding-left: 1.25rem;
		border-radius: 3rem;
		border: none;
		box-sizing: border-box;
		display: block;
	}

	#subscribe-1718 .cs-input::placeholder {
		color: #767676;
	}

	#subscribe-1718 .cs-submit {
		width: 100%;
		height: clamp(2.875rem, 5.5vw, 3.5rem);
		border: none;
		color: var(--bodyTextColorWhite);
	}

	#subscribe-1718 .cs-submit:hover {
		cursor: pointer;
	}

	#subscribe-1718 .cs-background {
		width: 100%;
		height: 100vw;
		max-height: 25rem;
		display: block;
		order: -1;
		position: relative;
		z-index: 2;
	}

	#subscribe-1718 .cs-background img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

	#subscribe-1718 .cs-floater {
		width: clamp(12rem, 20vw, 24rem);
		height: auto;
		position: absolute;
		opacity: 0.08;
		right: 0;
		top: 0;
		z-index: -1;
	}
}

@media only screen and (min-width: 48rem) {
	#subscribe-1718 {
		flex-direction: row;
		align-items: stretch;
	}

	#subscribe-1718 .cs-container {
		max-width: 82rem;
		align-items: flex-end;
	}

	#subscribe-1718 .cs-content {
		width: 45vw;
		max-width: 39.375rem;
	}

	#subscribe-1718 .cs-background {
		width: 50%;
		max-height: 100%;
		height: 100%;
		position: absolute;
		right: 50%;
	}

	#subscribe-1718 .cs-submit {
		width: 10.875rem;
	}
}

@media only screen and (min-width: 64rem) {
	#subscribe-1718 .cs-content {
		position: initial;
	}

	#subscribe-1718 .cs-form {
		flex-direction: row;
	}

	#subscribe-1718 .cs-floater {
		top: 50%;
		right: -12.5rem;
		transform: translateY(-50%);
	}
}

@media only screen and (min-width: 81.25rem) {
	#subscribe-1718 .cs-content {
		width: 100%;
	}

	#subscribe-1718 .cs-background {
		margin-right: 7.375rem;
	}
}

@media only screen and (min-width: 0rem) {
	#contact-1392 {
		padding: var(--sectionPadding);
		padding-bottom: 0;
		background-color: var(--secondaryShade);
		position: relative;
		z-index: 10;
	}

	#contact-1392 .cs-container {
		width: 100%;
		max-width: 36.5rem;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: stretch;
		flex-direction: column;
		column-gap: auto;
		gap: clamp(2rem, 3vw, 3rem);
		position: relative;
	}

	#contact-1392 .cs-content {
		text-align: left;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	#contact-1392 .cs-title {
		max-width: 23ch;
	}

	#contact-1392 .cs-text {
		margin-bottom: 1rem;
	}

	#contact-1392 .cs-text:last-of-type {
		margin-bottom: 2rem;
	}

	#contact-1392 .cs-ul {
		text-align: left;
		width: 100%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
		position: relative;
	}

	#contact-1392 .cs-li {
		list-style: none;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 1.25rem;
	}

	#contact-1392 .cs-li:hover .cs-icon-wrapper {
		transform: scale(1.1);
	}

	#contact-1392 .cs-header {
		font-size: 1.25rem;
		font-weight: 700;
		line-height: 1.2em;
		margin-bottom: 0.75rem;
		color: var(--headerColor);
		display: block;
	}

	#contact-1392 .cs-link {
		font-size: 1rem;
		line-height: 1.5em;
		text-decoration: none;
		color: #585B5D;
		display: block;
		position: relative;
	}

	#contact-1392 .cs-link:hover {
		text-decoration: underline;
	}

	#contact-1392 .cs-icon-wrapper {
		width: 3.75rem;
		height: 3.75rem;
		margin: 0;
		border-radius: 50%;
		border: 1px solid #bababa;
		display: flex;
		justify-content: center;
		align-items: center;
		flex: none;
		transition: transform 0.3s;
	}

	#contact-1392 .cs-icon {
		width: 1.5rem;
		height: auto;
		display: block;
	}

	#contact-1392 .cs-form {
		width: 100%;
		max-width: 39.375rem;
		margin-bottom: calc(clamp(1.875rem, 7vw, 6.25rem)*-1);
		padding: clamp(1.5rem, 5.18vw, 3rem) clamp(1rem, 4vw, 3rem);
		box-sizing: border-box;
		background-color: #fff;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.75rem;
	}

	#contact-1392 .cs-h3 {
		font-size: clamp(1.25rem, 3vw, 2.4375rem);
		line-height: 1.2em;
		font-weight: 700;
		margin: 0 0 0.25rem 0;
		color: var(--headerColor);
	}

	#contact-1392 .cs-label {
		font-size: clamp(0.875rem, 1.5vw, 1rem);
		width: 100%;
		color: var(--headerColor);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 0.25rem;
	}

	#contact-1392 .cs-input {
		font-size: 1rem;
		width: 100%;
		height: 3.5rem;
		padding: 0;
		padding-left: 1.5rem;
		color: var(--headerColor);
		background-color: #F4F7F6;
		border: none;
		box-sizing: border-box;
	}

	#contact-1392 .cs-input::placeholder {
		color: #585B5D;
		opacity: 0.6;
	}

	#contact-1392 .cs-textarea {
		min-height: 7.5rem;
		padding-top: 1.5rem;
		margin-bottom: 0.75rem;
		font-family: inherit;
	}

	#contact-1392 .cs-submit {
		width: 100%;
		min-width: 12.5rem;
		border: none;
	}

	#contact-1392 .cs-submit:hover {
		color: #fff;
		cursor: pointer;
	}
}

@media only screen and (min-width: 48rem) {
	#contact-1392 .cs-container {
		max-width: 80rem;
		flex-direction: row;
		justify-content: space-between;
	}

	#contact-1392 .cs-content {
		width: 47%;
		flex: none;
	}

	#contact-1392 .cs-submit {
		width: auto;
	}
}

@media only screen and (min-width: 64rem) {
	#contact-1392 .cs-form {
		width: 46%;
		max-width: 36.125rem;
	}

	#contact-1392 .cs-submit {
		width: auto;
	}
}

@media only screen and (min-width: 93.75rem) {
	#contact-1392 .cs-graphic {
		display: block;
	}
}

@media only screen and (min-width: 0rem) {
    #cs-footer-1782 {
        padding: var(--sectionPadding);
        padding-bottom: clamp(1.875rem, 5vw, 3.125rem);
        position: relative;
        overflow: hidden;
        z-index: 1;
    }

    /* Faint building photo behind the footer, washed out so the contact details
       stay the focus. Mirrors the hero's treatment. */
    #cs-footer-1782 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    #cs-footer-1782 .cs-background:before {
        content: "";
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.95) 60%, rgba(255, 255, 255, 0.97) 100%);
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
        pointer-events: none;
    }

    #cs-footer-1782 .cs-background img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center bottom;
        position: absolute;
        top: 0;
        left: 0;
    }

    #cs-footer-1782 .cs-container {
        display: grid;
        grid-template-columns: 1fr;
        margin: auto;
        max-width: 34.375rem;
        width: 100%;
        gap: clamp(2rem, 7vw, 3rem);
    }

    #cs-footer-1782 .cs-logo-group {
        position: relative;
        width: 100%;
    }

    #cs-footer-1782 .cs-logo {
        display: block;
        margin: 0 0 1rem 0;
        height: auto;
        width: 13.125rem;
    }

    #cs-footer-1782 .cs-text {
        opacity: 0.8;
        margin: 0 0 clamp(1.5rem, 4vw, 2rem);
        max-width: 44rem;
        color: #000
    }

    #cs-footer-1782 .cs-logo-img {
        height: auto;
        width: 100%;
    }

    #cs-footer-1782 .cs-contact {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    /* Each phone number / email gets its own line instead of wrapping as one
       run-on string */
    #cs-footer-1782 .cs-contact-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.375rem;
    }

    #cs-footer-1782 .cs-topper {
        margin-bottom: 0.25rem;
        text-transform: none;
        font-size: 1rem;
    }

    #cs-footer-1782 .cs-contact-link {
        text-decoration: none;
        font-size: 1.125rem;
        line-height: 1.3em;
        font-weight: 700;
        color: var(--headerColor);
        display: block;
    }

    /* The office address is a sentence, not a label, so it reads better at
       body weight */
    #cs-footer-1782 .cs-contact-info:last-of-type .cs-contact-link {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.5em;
    }

    #cs-footer-1782 .cs-header {
        position: relative;
        display: block;
        margin: 0 0 clamp(1rem, 4vw, 1.5rem) 0;
        font-size: 1.5625rem;
        line-height: 1.5em;
        font-weight: 700;
        color: #000
    }

    #cs-footer-1782 .cs-ul {
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 0;
        gap: 0.75rem;
    }

    #cs-footer-1782 .cs-li {
        list-style: none;
    }

    #cs-footer-1782 .cs-link {
        opacity: 0.8;
        display: inline-flex;
        align-items: flex-start;
        text-decoration: none;
        font-size: 1rem;
        line-height: 1.5em;
        color: #000;
        transition: color 0.3s;
        text-align: left;
        gap: 0.5rem;
    }

    #cs-footer-1782 .cs-link:hover {
        color: var(--secondary);
    }

    #cs-footer-1782 .cs-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        border-top: 1px solid #e8e8e8;
        margin: clamp(3.75rem, 7vw, 5rem) auto 0;
        max-width: 80rem;
        width: 100%;
        padding-top: 1.5rem;
        gap: 0.5rem;
    }

    #cs-footer-1782 .cs-credit, #cs-footer-1782 .cs-made-by, #cs-footer-1782 .cs-credit-link {
        text-decoration: none;
        font-size: 1rem;
        line-height: 1.5em;
        color: var(--bodyTextColor);
    }

    #cs-footer-1782 .cs-credit-link {
        position: relative;
        display: inline;
        text-decoration: none;
        font-weight: 700;
    }

    #cs-footer-1782 .cs-credit-link:hover {
        color: var(--primary);
    }

    #cs-footer-1782 .cs-credit-link {
        position: relative;
        display: inline-block;
        margin: 0;
        width: auto;
        text-decoration: none;
        font-size: 1rem;
        line-height: 1.5em;
    }

    #cs-footer-1782 .cs-credit-link:hover {
        color: var(--primary);
    }

    #cs-footer-1782 .cs-bottom-links {
        display: flex;
        width: 100%;
    }

    #cs-footer-1782 .cs-bottom-link {
        display: flex;
        align-items: center;
    }

    #cs-footer-1782 .cs-bottom-link:hover {
        color: var(--primary);
    }

    #cs-footer-1782 .cs-bottom-link:last-of-type:before {
        content: "";
        opacity: 1;
        display: block;
        margin: 0 0.75rem;
        background: currentColor;
        height: 0.875rem;
        width: 1px;
    }

    #cs-footer-1782 .cs-map {
        z-index: 1;
        position: relative;
        display: block;
        height: 12.5rem;
        width: 100%;
    }

    #cs-footer-1782 .cs-table {
        border: 1px solid #dadada;
        margin-top: 0.5rem;
        background-color: #f7f7f7;
        width: 100%;
    }

    #cs-footer-1782 .cs-table tr {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid #dadada;
        padding: 1rem 1.5rem;
        font-size: 1rem;
        line-height: 1.5em;
        font-weight: 400;
    }

    #cs-footer-1782 .cs-table tr:last-of-type {
        border: none;
    }

    #cs-footer-1782 .cs-table th, #cs-footer-1782 .cs-table td {
        font-size: 1rem;
        line-height: 1.5em;
        font-weight: 400;
    }

    #cs-footer-1782 .cs-table td {
        text-align: right;
    }

    #cs-footer-1782 .cs-socials {
        display: flex;
        gap: 0.75rem;
        margin: 0 0 clamp(1.5rem, 4vw, 2rem);
    }

    #cs-footer-1782 .cs-social {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        background: var(--primary);
        color: #fff;
        transition: background 0.3s;
        flex-shrink: 0;
    }

    #cs-footer-1782 .cs-social:hover {
        background: var(--secondary);
    }

    #cs-footer-1782 .cs-social svg {
        width: 1.125rem;
        height: 1.125rem;
        fill: currentColor;
    }
}

@media only screen and (min-width: 48rem) {
    #cs-footer-1782 .cs-container {
        grid-template-columns: repeat(12, 1fr);
        max-width: 80rem;
    }

    #cs-footer-1782 .cs-logo-group {
        grid-column: span 12;
    }

    #cs-footer-1782 .cs-links {
        grid-column: span 3;
    }

    #cs-footer-1782 .cs-times {
        grid-column: span 7 / -1;
    }

    #cs-footer-1782 .cs-contact {
        flex-direction: row;
    }

    #cs-footer-1782 .cs-bottom {
        flex-wrap: nowrap;
        justify-content: center;
    }

    #cs-footer-1782 .cs-credit {
        text-align: center;
    }

    #cs-footer-1782 .cs-bottom-links {
        justify-content: flex-end;
    }
}

@media only screen and (min-width: 1024px) {
    #cs-footer-1782 .cs-logo-group {
        grid-column: 1 / 6;
    }

    #cs-footer-1782 .cs-contact {
        flex-direction: column;
    }

    #cs-footer-1782 .cs-links {
        grid-column: 6 / 9;
    }

    #cs-footer-1782 .cs-times {
        grid-column: 9 / 13;
    }
}

@media only screen and (min-width: 81.25rem) {
    #cs-footer-1782 .cs-logo-group {
        grid-column: span 4;
    }

    #cs-footer-1782 .cs-links {
        grid-column: 7 / 9;
    }
}


@media only screen and (min-width: 0rem) {
    #banner-1448 {
        z-index: 1;
        position: relative;
        overflow: hidden;
        padding: var(--sectionPadding);
        background-color: var(--primary);
        padding-top: clamp(9.5rem, 30vw, 13.875rem);
    }

    #banner-1448 .cs-container {
        z-index: 1;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin: auto;
        max-width: 80rem;
        width: 100%;
        text-align: center;
        gap: 3rem;
    }

    #banner-1448 .cs-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.75rem;
    }

    #banner-1448 .cs-int-title {
        position: relative;
        margin: 0;
        font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
        line-height: 1.2em;
        font-weight: 900;
        color: var(--bodyTextColorWhite);
        text-align: inherit;
    }

    #banner-1448 .cs-breadcrumbs {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #banner-1448 .cs-link {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        font-size: 1rem;
        line-height: 1.2em;
        color: var(--bodyTextColorWhite);
    }

    #banner-1448 .cs-link:last-of-type {
    }

    #banner-1448 .cs-link:last-of-type::after {
        display: none;
    }

    #banner-1448 .cs-link:after {
        position: relative;
        content: "";
        display: block;
        margin: 0 1rem;
        background: url("/assets/svgs/grey-chevron.svg");
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        height: 0.75rem;
        width: 0.4375rem;
    }

    #banner-1448 .cs-link.cs-active {
        color: var(--secondary);
    }

    #banner-1448 .cs-picture {
        z-index: 1;
        position: relative;
        display: none;
        justify-content: center;
        align-items: flex-end;
        height: 29.8125em;
        width: 55.375em;
        overflow: hidden;
        font-size: min(2.2vw, 1em);
    }

    #banner-1448 .cs-picture img {
        max-height: 22.625em;
        height: auto;
        width: 100%;
        object-fit: contain;
    }

    #banner-1448 .cs-picture:before {
        z-index: -1;
        position: absolute;
        top: 11.25em;
        left: 50%;
        content: "";
        opacity: 1;
        transform: translateX(-50%);
        display: block;
        border-radius: 50%;
        background: #e8e8e8;
        height: 41.3125em;
        width: 41.3125em;
    }
}

@media only screen and (min-width: 48rem) {
    #banner-1448 {
        padding-bottom: 6.25rem;
    }

    #banner-1448 .cs-container {
        position: initial;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }

    #banner-1448 .cs-content {
        align-items: flex-start;
        width: 50%;
        text-align: left;
    }

    #banner-1448 .cs-picture {
        position: absolute;
        bottom: 0;
        right: 0;
        font-size: min(1.3vw, 1em);
    }

    #banner-1448:before {
        background: url("/assets/images/grid3.png");
    }
}

@media only screen and (min-width: 81.25rem) {
    #banner-1448 .cs-picture {
        left: 50%;
        right: auto;
        margin-left: -1.875rem;
    }
}

@media only screen and (min-width: 0rem) {
    body.dark-mode #banner-1448 {
        background-color: rgba(0, 0, 0, 0.4);
    }

    body.dark-mode #banner-1448 .cs-int-title, body.dark-mode #banner-1448 .cs-link {
        color: var(--bodyTextColorWhite);
    }

    body.dark-mode #banner-1448 .cs-link {
        opacity: 0.8;
    }

    body.dark-mode #banner-1448 .cs-link.cs-active {
        opacity: 1;
        color: var(--bodyTextColorWhite);
    }

    body.dark-mode #banner-1448 .cs-picture:before {
        background-color: var(--dark);
        filter: brightness(40%);
    }

    body.dark-mode #banner-1448:before {
        opacity: 0.1;
    }
}

@media only screen and (min-width: 0rem) {
    /* No background-color here: the .cs-background overlay supplies the green, and
       an opaque fill would paint over the photo sitting at z-index -1. */
    #cta-1693 {
        position: relative;
        overflow: hidden;
        padding: var(--sectionPadding);
    }

    #cta-1693 .cs-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: auto;
        max-width: 80rem;
        width: 100%;
        gap: clamp(3rem, 6vw, 4rem);
    }

    #cta-1693 .cs-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: center;
        gap: 1.5rem;
    }

    #cta-1693 .cs-title {
        margin: 0;
        max-width: 25ch;
        color: #fff;
    }

    #cta-1693 .cs-button-solid {
        background-color: var(--bodyTextColorWhite);
        color: var(--primary);
    }

    #cta-1693 .cs-button-solid:hover {
        color: var(--bodyTextColorWhite);
    }

    #cta-1693 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    /* Mobile keeps the band almost fully green so the headline stays readable
       over the photo; the desktop rule below opens the right side up. */
    #cta-1693 .cs-background:before {
        content: "";
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, var(--primary) 0%, var(--primary) 55%, rgba(1, 166, 42, 0.88) 100%);
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
        pointer-events: none;
    }

    #cta-1693 .cs-background img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center right;
        position: absolute;
        top: 0;
        left: 0;
    }
}

@media only screen and (min-width: 48rem) {
    /* Solid green behind the copy, easing off toward the right so the technician
       reads through the tint */
    #cta-1693 .cs-background:before {
        background: linear-gradient(90deg, var(--primary) 0%, var(--primary) 42%, rgba(1, 166, 42, 0.9) 62%, rgba(1, 166, 42, 0.62) 100%);
    }
}

@media only screen and (min-width: 48rem) {
    #cta-1693 .cs-content {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }
}

/* ===== Homepage nav: dark text over the light hero =====
   Only index.html carries body.cs-home. Every other page has a dark banner
   where the default light nav text already reads well. */
@media only screen and (min-width: 64rem) {
    body.cs-home #cs-navigation .cs-li-link {
        color: var(--headerColor);
    }

    body.cs-home #cs-navigation .cs-li-link:before {
        background: var(--primary);
    }
}

/* ===== Products mega dropdown =====
   Grafted onto the existing .cs-dropdown so nav.js, hover, .cs-active and the
   open/close transitions all still drive it. Everything is scoped to .cs-mega
   so the Services and Projects dropdowns are untouched. */

/* Mobile: the grid stacks; the panel inherits the green .cs-drop-ul styling. */
@media only screen and (max-width: 63.9375rem) {
    #cs-navigation .cs-mega .cs-mega-grid {
        list-style: none;
        width: 100%;
        margin: 0;
        padding: 0.5rem 0;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    #cs-navigation .cs-mega .cs-mega-ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    #cs-navigation .cs-mega-category-title {
        display: block;
        text-align: center;
        font-family: "Oswald", Arial, sans-serif;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #fff;
        opacity: 0.65;
        margin-bottom: 0.25rem;
    }

    #cs-navigation .cs-mega .cs-mega-icon,
    #cs-navigation .cs-mega .cs-drop-desc {
        display: none;
    }

    #cs-navigation .cs-mega .cs-drop-name {
        color: #fff;
    }

    #cs-navigation .cs-mega-promo {
        width: 100%;
        box-sizing: border-box;
        margin-top: 0.5rem;
        padding: 1.25rem;
        text-align: center;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 0.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #cs-navigation .cs-mega-promo-title {
        font-family: "Archivo", sans-serif;
        font-weight: 700;
        color: #fff;
    }

    #cs-navigation .cs-mega-promo-text {
        font-size: 0.8125rem;
        line-height: 1.5;
        color: #fff;
        opacity: 0.8;
        margin: 0.5rem 0 1rem;
    }

    #cs-navigation .cs-mega-promo-btn {
        text-decoration: none;
        font-family: "Oswald", Arial, sans-serif;
        font-weight: 700;
        font-size: 0.8125rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--primary);
        background-color: #fff;
        padding: 0.5rem 1.25rem;
        border-radius: 0.25rem;
    }
}

/* Desktop: the narrow single column becomes a right-aligned multi-column panel. */
@media only screen and (min-width: 64rem) {
    #cs-navigation .cs-mega .cs-drop-ul {
        min-width: 0;
        width: max-content;
        max-width: calc(100vw - 2rem);
        left: 50%;
        right: auto;
        transform: translateX(-50%) scaleY(0);
        padding: 1.75rem;
        overflow: visible;
    }

    /* Keep the horizontal centering while the scaleY open animation runs */
    #cs-navigation .cs-mega.cs-dropdown:hover .cs-drop-ul,
    #cs-navigation .cs-mega.cs-dropdown.cs-active .cs-drop-ul {
        transform: translateX(-50%) scaleY(1);
    }

    #cs-navigation .cs-mega .cs-mega-grid {
        list-style: none;
        display: grid;
        grid-template-columns: max-content max-content 13rem;
        gap: 0.5rem 2rem;
        align-items: start;
    }

    #cs-navigation .cs-mega-category-title {
        display: block;
        font-family: "Oswald", Arial, sans-serif;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--primary);
        margin: 0 0 0.75rem 0.75rem;
    }

    #cs-navigation .cs-mega .cs-mega-ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 11.5rem;
        gap: 0 1.5rem;
    }

    /* Pipeline group has the most items — flow it into two columns so the
       menu grows wider instead of taller */
    #cs-navigation .cs-mega .cs-mega-category:first-child .cs-mega-ul {
        grid-template-columns: 11.5rem 11.5rem;
    }

    #cs-navigation .cs-mega .cs-drop-li {
        width: 100%;
        opacity: 1;
        transform: none;
    }

    #cs-navigation .cs-mega .cs-li-link.cs-drop-link {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        width: 100%;
        box-sizing: border-box;
        padding: 0.5rem 0.75rem;
        white-space: normal;
        text-transform: none;
        border-radius: 0.375rem;
        transition: background-color 0.2s;
    }

    #cs-navigation .cs-mega .cs-li-link.cs-drop-link:hover {
        background-color: var(--secondaryShade);
    }

    #cs-navigation .cs-mega-icon {
        flex: none;
        margin-top: 0.15rem;
        color: var(--primary);
    }

    #cs-navigation .cs-drop-name {
        display: block;
        font-family: "Archivo", Arial, sans-serif;
        font-size: 0.875rem;
        font-weight: 700;
        line-height: 1.3;
        color: var(--headerColor);
    }

    #cs-navigation .cs-drop-desc {
        display: block;
        font-family: "Roboto", Arial, sans-serif;
        font-size: 0.75rem;
        font-weight: 400;
        line-height: 1.35;
        color: var(--bodyTextColor);
        margin-top: 0.1rem;
    }

    #cs-navigation .cs-mega-promo {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.25rem;
        background-color: var(--secondaryShade);
        border-radius: 0.5rem;
    }

    #cs-navigation .cs-mega-promo-title {
        font-family: "Archivo", Arial, sans-serif;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.3;
        color: var(--headerColor);
    }

    #cs-navigation .cs-mega-promo-text {
        font-size: 0.8125rem;
        line-height: 1.5;
        color: var(--bodyTextColor);
        margin: 0.5rem 0 1rem;
    }

    #cs-navigation .cs-mega-promo-btn {
        margin-top: auto;
        text-decoration: none;
        font-family: "Oswald", Arial, sans-serif;
        font-size: 0.8125rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #fff;
        background-color: var(--primary);
        padding: 0.5rem 1.25rem;
        border-radius: 0.25rem;
        transition: background-color 0.2s;
    }

    #cs-navigation .cs-mega-promo-btn:hover {
        background-color: var(--secondary);
    }
}
