.section{
padding:70px 20px;
max-width:900px;
margin:auto;
}

.section h2{
margin-bottom:25px;
font-family:'Great Vibes', cursive;
font-size:clamp(46px, 5.8vw, 74px);
font-weight:400;
line-height:0.92;
letter-spacing:0.01em;
color:#4f473f;
text-shadow:0 10px 24px rgba(91, 77, 65, 0.1);
}

.section p{
font-size:16px;
line-height:1.7;
margin-bottom:10px;
}

.section-kicker{
display:none;
font-size:12px;
letter-spacing:0.3em;
text-transform:uppercase;
color:#6c7b67;
margin-bottom:10px;
}

.story-media,
.timeline-media,
.schedule-media{
background:rgba(255,255,255,0.6);
border:1px solid rgba(88,102,79,0.14);
border-radius:28px;
padding:14px;
box-shadow:0 18px 35px rgba(45,58,39,0.08);
}

.story-media img,
.story-media video,
.timeline-media img,
.timeline-media video{
width:100%;
display:block;
border-radius:20px;
object-fit:cover;
}

.timeline-media video,
.story-media video{
max-height:360px;
}

.media-placeholder{
min-height:260px;
display:grid;
place-items:center;
border:1px dashed rgba(71,87,62,0.35);
border-radius:20px;
background:linear-gradient(135deg, rgba(252,248,239,0.92), rgba(241,234,215,0.78));
color:#586149;
font-size:14px;
letter-spacing:0.12em;
text-transform:uppercase;
}

.divider{
height:90px;
background:url('/images/floral-divider.png') center no-repeat;
background-size:contain;
opacity:0.8;
}

@media (max-width:768px){

.section h2{
font-size:clamp(44px, 13vw, 62px);
}

.section-kicker{
letter-spacing:0.22em;
}

.media-placeholder{
min-height:200px;
}

}
