
/* --- Layout & Typography --- */

.us-contact-page {
    max-width: 100%;
    margin: 0 auto;
    padding: 60px 20px;
    color: #000;
}

@media (min-width: 992px) {
	.us-contact-page {
    max-width: 80%;
    }
}


.us-contact-page p {
    font-size: 18px;

}

.us-contact-page a {
text-transform: uppercase;
letter-spacing: 1px;
}

.us-text-center { text-align: center; }
.us-uppercase { text-align: center; }



/* --- Top Header Section --- */
.us-main-header-wrap {
    max-width: 900px;
    margin: 0 auto 80px;
}

.us-main-header-wrap p {
    line-height: 1.6;
    margin-top: 20px;
}

.us-main-header-wrap h2 {

    font-size: 31px;
    margin: 0 auto 30px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 25px;
    
    }

.us-main-header-wrap h3 {
letter-spacing: .5px;
    line-height: 1.16em;
    margin-bottom: 15px;
    text-align: center;
    font-size: 2.8ch;
    
    }

.us-main-header-wrap h4 {
    font-size: 21px;
    display: block;
    margin: 20px 0;
    font-family: var(--font-sans);
    letter-spacing: 1.5px;
	}


/* --- 4-Column Info Grid --- */
.us-info-grid-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 80px;
}

.us-info-card {
    display: flex;
    flex-direction: column;
    text-align: center;
}
.us-info-card h3 {
    border-bottom: 1px solid #ddd;
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1600 - 300)));
    line-height: 1.31;
    padding-bottom: 7px;
    margin-bottom: 15px;
}


/* --- Dividers --- */
.us-horizontal-divider {
    height: 1px;
    background-color: #000;
    width: 100%;
    margin: 60px 0;
    opacity: 0.2;
}

/* --- Form Section --- */
.us-form-section-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}


@media (max-width: 1024px) {
.us-form-section-wrap {
    width: 99%;
    }
}


.us-form-section-wrap h2 {
    font-size: 31px;
    letter-spacing: 2px;
}


/* Styling WPForms to match Mockup */
.us-form-section-wrap .wpforms-form .wpforms-submit-container {
    text-align: center;
    padding-top: 20px;
}

.us-form-section-wrap .wpforms-form button[type=submit] {
    background: #000;
    color: #fff;
    text-transform: uppercase;
    padding: 15px 60px;
    border: none;
    font-weight: 600;
    letter-spacing: 1px;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.us-form-section-wrap .wpforms-form button[type=submit]:hover {
    opacity: 0.8;
}


/* --- Staff & Management Contacts --- */
.us-staff-grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    margin: 60px 0;
}

.us-contact-entry {
    margin-bottom: 70px;
    text-align: center;
}

.us-contact-entry a {
	display: block;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.us-contact-entry h6 {
	font-family: "Proxima Nova", arial, sans-serif;
	text-transform: capitalize !important;
	display:block;
    font-size: inherit !important;
	margin: 10px 0;
}

.us-contact-entry .flex-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
}

.us-contact-entry h4 {
    text-align: center;
    line-height: 1.4;
    border-bottom: 1px solid #d9d9d9;
    padding-bottom: 5px;
    padding-bottom: 10px;
    margin: 0 auto 30px;
   
}
@media (min-width: 992px) {
.us-contact-entry h4 {
    width: fit-content;
}

}


/* --- Press Section --- */
.us-press-container {
   padding: 3em 0;
}

.us-press-container h3 {
text-align: center; line-height: 1.4;border-bottom: 1px solid #000; padding-bottom: 5px; margin: 0 auto 30px; max-width: 70%; }


.us-press-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 900px;
    margin: 40px auto 0;
}

.us-press-link-group {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

/* --- Animation States --- */
.us-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), 
                transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.us-reveal.us-is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- Responsive --- */
@media (max-width: 1024px) {
    .us-info-grid-row { grid-template-columns: 1fr 1fr; }
    .us-staff-grid-layout { gap: 40px; }
}

@media (max-width: 768px) {
    .us-info-grid-row, 
    .us-staff-grid-layout, 
    .us-press-grid { 
        grid-template-columns: 1fr; 
    }
}

/* --- Info Card Link Underline Animation --- */
.us-info-card a, .us-press-link-group a, .us-contact-page a {
    text-transform: uppercase;
    font-family: "Gotham Book";
    letter-spacing: 2px;
    font-size: 12px;
    text-decoration: none;
    padding-bottom: 5px;
    position: relative;
    display: block;
    margin: 10px auto 0;
    width: fit-content;
    font-weight: 900 !important;
    color: #000;
    border-bottom: 1px solid;
    margin-bottom: 15px;
}


.us-info-card a:after,
.us-press-link-group a:after, .us-contact-page a:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px; /* Align perfectly with the base border */
	width: 0;
	height: 1.5px; /* The "Thicker" height */
	background-color: #000;
	transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.us-info-card a:hover:after,
.us-press-link-group a:hover:after, .us-contact-page a:hover:after {
	width: 100%;
}