/*==============================
CONTACT PAGE: HERO SECTION IMAGE 
===============================*/

.hero-section {
margin-top: 3px;
margin-bottom: 5px;
}

.hero-container {
max-width: 1000px;
margin: 0 auto;
display: flex;
align-items: stretch;
gap: 7px;
}

.hero-image {
flex: 0 0 auto;
width: 60%;
overflow: visible;
}

.hero-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 20px;
}

/*========================
FAQ + CONTACT FORM SECTION
==========================*/

.contact-stack {
flex: 1;
display: flex;
flex-direction: column;
gap: 9px;
min-width: 0;
}
 
.contact-box {
border-radius: 20px;
border-width: 3.25px;
border-style: solid;
padding: 18px 22px;
box-sizing: border-box;
box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84);
}
 
.contact-box h2 {
font-family: 'Sniglet', arial, sans-serif;
font-size: 1.5rem;
margin: 0 0 12px 0;
letter-spacing: 0.03em;
}
 
  /* --- FAQ box: reuses text-box-2 palette --- */
.faq-box {
background: #edf0c7;
border-color: #2f7c25;
}

.faq-box h2 { color: #77611d; }
 
.faq-item {
border-bottom: 2px solid rgba(119, 97, 29, 0.25);
}
  
.faq-item:last-child { border-bottom: none; }
 
.faq-question {
width: 100%;
text-align: left;
background: none;
border: none;
cursor: pointer;
padding: 10px 0;
font-family: 'Sniglet', arial, sans-serif;
font-size: 1.05rem;
color: #2f7c25;
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
}

.faq-question .icon {
flex-shrink: 0;
font-size: 1.2rem;
transition: transform 0.3s ease;
}
  
.faq-question[aria-expanded="true"] .icon {
transform: rotate(45deg);
}
 
.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease, padding 0.3s ease;
font-family: 'Sniglet', arial, sans-serif;
font-size: 0.95rem;
line-height: 1.5;
color: #4d5ca8;
}
  
.faq-answer p { margin: 0 0 10px 0; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-item.open .faq-answer {
max-height: 400px;
padding-bottom: 12px;
}
 
  /* --- Form box: reuses text-box-1 palette --- */
.form-box {
background: #dfe7f7;
border-color: #4d5ca8;
flex: 1;
}

.form-box h2 { color: #4d5ca8; }
 
.contact-form {
display: flex;
flex-direction: column;
gap: 12px;
}

.contact-form label {
font-family: 'Sniglet', arial, sans-serif;
font-size: 0.85rem;
font-weight: 600;
color: #4d5ca8;
margin-bottom: 4px;
display: block;
}
  
.contact-form input,
.contact-form textarea {
width: 100%;
box-sizing: border-box;
border: 3.25px solid #4d5ca8;
border-radius: 12px;
padding: 8px 12px;
font-family: 'Sniglet', arial, sans-serif;
font-size: 0.95rem;
background: #fffef7;
color: #5a3b1e;
}
  
.contact-form input:focus,
.contact-form textarea:focus {
outline: 3px solid #33396b;
outline-offset: 1px;
}
  
.contact-form textarea {
resize: vertical;
min-height: 90px;
}

.contact-form button {
width: 100%;
box-sizing: border-box;
font-family: 'Sniglet', arial, sans-serif;
font-size: 1rem;
background-color: #4d5ca8;
color: #dfe7f7;
border: none;
border-radius: 20px;
padding: 10px 24px;
cursor: pointer;
transition: background-color 0.2s ease;
}
  
.contact-form button:hover {
background-color: #edf1b8;
color: #b33b1e;
border: 3.25px solid #b33b1e;
}
  
.image-link img {
display: block;
max-width: 100%;
height: auto;
transition: transform 0.3s ease;
}

.image-link:hover img {
transform: scale(1.02);
}

.social-nav {
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1000px;
margin: 0px auto;
padding: 2px;
gap: 5px;
}

.social-nav a {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
}

.social-nav img {
width: auto;
height: auto;
max-width: 100%;
object-fit: contain;
display: block;
}

.social-nav a:hover img {
transform: scale(1.03);
}

.social-icon {
height: 110px;
display: flex;
justify-content: center;
align-items: center;
}

.social-icon img {
width: auto;
max-width: 100%;
object-fit: contain;
display: block;
}

/* =======
MOBILE CSS
========= */

@media (max-width: 768px) {
.hero-container {
flex-direction: column;
}

.hero-image { 
width: 100%;
aspect-ratio: 1 / 1;
}
}