:root {
	--leader-height: 400px;
	--color-highlight: var(--color-yellow);
}

.custom-mobile-sticky {
    display: none !important;
}

.cb-box__type-embed {
	margin: 0;
}
.cb-box__inner-col {
	padding: var(--spacing-4);
}

.prose h2 {
	margin-top: 0;
}
.prose p {
	margin-bottom: var(--spacing-6);
}
.contact-map {
	margin-top: var(--spacing-6);
	padding-top: 0;
}
.contact-form {
    margin-top: 4rem!important;
}

/* --- MOBILE LAYOUT FIXES --- */

/* Force the grid to strictly use 1 column on mobile and prevent it from stretching */
.grid {
	display: grid;
	grid-template-columns: 100%;
	max-width: 100vw;
	overflow-x: hidden;
}

/* Prevent the text container from exceeding the screen width */
.prose {
	max-width: 100%;
	overflow-wrap: break-word; /* Prevents long emails/URLs from breaking the layout */
}

/* If you have an embedded Google Map, this stops its default 600px width from breaking mobile */
.contact-map iframe,
.cb-box__type-embed iframe {
	width: 100% !important;
	max-width: 100%;
}

@media screen and (min-width: 40rem) {
	:root {
		--leader-height: 400px;
	}
}

@media screen and (min-width: 72rem) {
	.grid {
		grid-template-columns: 1fr 1fr;
	}
	.contact-form {
	    margin: var(--spacing-10) 0;
	}
}

/* --- MOBILE FORM REORDERING --- */
@media screen and (max-width: 39.99rem) {

	.leader-text a{
		font-size: 20px;
	}
    .contact-form {
        /* Pushes the form to the very top of the grid container */
        order: -1; 
        
        /* Reduces the huge 4rem gap since the form is now at the top of the page */
        margin-top: 1rem !important; 
    }

    .cb-box__inner-col,
    .prose {
        /* Ensures the text, contact info, and map fall below the form */
        order: 2; 
        
        /* Adds breathing room between the bottom of the form and the text */
        margin-top: 2rem; 
    }
}
