/*=================
HERO SECTION: IMAGE
===================*/

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

.hero-container {
max-width: 1000px;
height: 515px;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: stretch;
gap: 10px;
}

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

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

/*======================
HERO SECTION: TEXT BOXES
=======================*/

.hero-text-stack {
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
gap: 4px;
}

.text-box {
border-radius: 20px;
border-width: 3.5px;
border-style: solid;
padding: 9px 9px;
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.1;
text-align: center;
}

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

.text-box-1 p { color: #8F6378; font-size: 2.5rem; line-height: 1.1; }

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

.text-box-2 p { color: #755118; font-size: 2.6rem; line-height: 1.15; }

.text-box-3 { background: #FFFFDA; border-color: #4F749A; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.text-box-3 p { color: #4F749A; font-size: 2.6rem; line-height: 1.15; }

.sub-text-box-4 { background: #FCF8FF; border-color: #775CA1; transform: rotate(180deg);
transition: transform 0.6s ease;
cursor: pointer; box-shadow: 0 0 4px 2px rgba(255, 245, 150, 0.84); }

.sub-text-box-4 p { color: #775CA1; font-size: 2.7rem; line-height: 1.15; }

/* Mobile tap */
.sub-text-box-4.flipped {
transform: rotate(0deg);
}

.sub-text-box-4:hover {
transform: rotate(0deg);
}

/* ====================
   Paired IMAGEs
==================== */
.paired-image-section {
margin-top: 5px;
margin-bottom: 7px;
display: block;
}

.paired-image-container {
max-width: 1000px;
width: 100%;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: flex-start;
gap: 10px;
}

.paired-image-left {
flex: 451 1 0;   /* use your calculated width as the grow factor */
min-width: 0;
}

.paired-image-left-caption {
  margin: 0 auto;      /* this does nothing since width isn't constrained */
  height: auto;
  margin-top: 4px;
}

.paired-image-right {
flex: 469 1 0;   /* same here */
min-width: 0;
}

.paired-image-left img,
.paired-image-right img {
width: 100%;
height: auto;
display: block;
}

.pic-1984 {
max-width: 1000px;
width: 100%;
margin: 0 auto;
padding-top: 10px;
padding-bottom: 8px;
}

.pic-1984 img {
width: 100%;
max-width: 100%;
height: auto;
display: block;
}

.pic-1984-caption {
max-width: 1000px;
width: 100%;
margin: 0 auto;
}

.pic-1984-caption img {
width: 100%;
max-width: 100%;
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));
}

/*===============
MOBILE RESPONSIVE
================*/

@media (max-width: 600px) {
    
.hero-container {
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
height: auto;
padding: 0 2px;
box-sizing: border-box;
}
  
.hero-section {
align-items: center;
justify-content: center;
}

.hero-image {
flex: 1 1 auto;
width: 99%;
max-width: none;
justify-content: center;
margin: 0 auto;
padding-right: 0;
}

.hero-text-stack {
width: 100%;
max-width: none;
justify-content: center;
margin: 0 auto;
}

.text-box-1 p { font-size: clamp(1.9rem, 6vw, 2.7rem); }
.text-box-2 p { font-size: clamp(1.9rem, 6vw, 2.6rem); }
.text-box-3 p { font-size: clamp(2rem, 6vw, 2.3rem); }
.sub-text-box-4 p { font-size: clamp(2rem, 6vw, 2.3rem); }


.paired-image-container {
flex-direction: column;
}

.paired-image-left,
.paired-image-right {
flex: none;
width: 100%;
}
}