/*============================
HERO SECTION IMAGE + TEXT BOX
==============================*/
.hero-section {
margin-top: 3px;
margin-bottom: 5px;
display: block;
}

.hero-container {
max-width: 1000px;
margin: 0 auto;
display: flex;
justify-content: center;
gap: 6px;
}

.hero-image {
flex: 0 1 458px;
flex-shrink: 0;
}

.hero-image img {
width: 100%;
height: auto;
display: block;
}

.hero-text-stack {
flex: 0 1 533px;
display: flex;
flex-direction: column;
flex-shrink: 0;
gap: 5px;
}

.text-box-caption img {
width: 100%;
border-color: #543F1E;
border-width: 3.5px;
height: auto;
display: block;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

.text-box {
border-radius: 20px;
border-width: 3.5px;
border-style: solid;
padding: 8px 8px;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
}

.text-box p {
margin: 0;
font-family: 'Sniglet', arial, sans-serif;
line-height: 1.2;
text-align: center;
}

.text-box-1 { background: #F5FDFF; border-color: #4C788C; flex: 1; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-1 p { color: #2e6b4f; font-size: 2.65rem; line-height: 1.1; }

.text-box-2 { background: #fdfce0; border-color: #2e6b4f; flex: .8; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-2 p { color: #2e6b4f; font-size: 2.7rem; line-height: 1.11; }

.text-box-3 { background: #F5FDFF; border-color: #4C788C; margin-top: 7px; flex: .8; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-3 p { color: #4C788C; font-size: 2.7rem; line-height: 1; }

.text-box-4 { background: #F5FDFF; border-color: #4C788C; margin-top: 7px; flex: .8; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-4 p { color: #4C788C; font-size: 2.7rem; line-height: 1; }

/*=========================
Text Boxes and Large Images
==========================*/

.text-box-png img {
width: 100%;
height: auto;
display: block;
margin-top: 2px;
margin-bottom: 7px;
filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9))
drop-shadow(0 0 3px rgba(255, 255, 255, 0.6));
}

#einstein {
--rounded-border-color: #45754A;
}

#reel-still {
--rounded-border-color: #45754A;
}

/* ====================
MOBILE RESPONSIVE
==================== */
@media (max-width: 768px) {

.hero-container {
flex-direction: column;
height: auto;
align-items: center;
max-width: 100%;
padding: 0 2px;
box-sizing: border-box;
gap: 4px;
}

.hero-image {
width: 100%;
flex: none;              
}

.hero-image img {
height: auto; 
object-fit: cover;
}

.hero-text-stack {
width: 100%;
height: auto;
flex: none;
justify-content: center;
margin: 0 auto;
gap: 9px;
}

.hero-text-stack {
display: contents;
}

.text-box {
width: 99%;
height: auto;
min-height: 80px;
padding: 6px 6px;
border-radius: 17px;
border-width: 3px;
}

.text-box-1 {
order: 1;
margin-top: -1px;
margin-bottom: 5px;
}

.hero-image {
order: 2;
}

.text-box-caption {
margin-top: 2px;
margin-bottom: -1px;
order: 3;
}

.text-box-caption img {
border-width: 3px;
}

.text-box-2 {
order: 4;
}

.text-box-3 {
}

.text-box-1 p { font-size: clamp(1.7rem, 5.8vw, 3.4rem); }
.text-box-2 p { font-size: clamp(1.7rem, 5.6vw, 3.6rem); }
.text-box-3 p { font-size: clamp(1.7rem, 5.6vw, 3.6rem); }
.text-box-4 p { font-size: clamp(1.7rem, 5.6vw, 3.6rem); }
}