/* ─────────── SECTION SCAFFOLDING ─────────── */
section.scene{
  padding: clamp(4rem, 10vh, 8rem) 6vw;
  max-width:1100px; margin:0 auto;
  position:relative;
}

/* scroll-reveal */
.reveal{
  opacity:0; transform: translateY(30px);
  transition: opacity 1.1s ease, transform 1.1s ease;
}
.reveal.show{ opacity:1; transform:none }

/* ─────────── SECTION TITLE ─────────── */
.section-title-wrap{
  text-align:center;
  margin-bottom: 1rem;
  position:relative;
}
h2.section-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(1.6rem, 3vw, 2.4rem);
  color:var(--wine);
  text-align:center;
  margin:0 0 .4rem;
  letter-spacing:.05em;
  position:relative;
  display:inline-block;
  padding: 0 1.8em;
}
h2.section-title::before,
h2.section-title::after{
  content:"✦";
  position:absolute;
  top:50%; transform:translateY(-50%);
  color:var(--gold);
  font-size:.5em;
  opacity:.85;
}
h2.section-title::before{ left:0 }
h2.section-title::after { right:0 }
h2.section-title .kor{
  display:block;
  font-family:var(--kor);
  font-size:.55em;
  letter-spacing:.4em;
  color:var(--gold);
  margin-top:.6em;
}

/* ─────────── 3-TIER FLOURISH (under title) ─────────── */
.flourish{
  display:flex; align-items:center; justify-content:center;
  gap:.8rem;
  margin: 1rem auto 2.6rem;
  color:var(--gold);
  max-width:340px;
}
.flourish .swirl{ width:120px; height:24px; flex:0 0 auto }
.flourish .gem  { width:24px;  height:24px; flex:0 0 auto; filter: drop-shadow(0 0 4px rgba(201,169,97,.5)) }
.flourish .swirl.right{ transform: scaleX(-1) }

/* ─────────── ORNATE SECTION DIVIDER ─────────── */
.section-divider{
  display:flex; align-items:center; justify-content:center;
  gap:1rem;
  max-width:780px;
  margin: 0 auto;
  padding: 1rem 6vw;
  color:var(--gold);
  opacity:.85;
}
.section-divider .line{
  flex:1; height:1px;
  background: linear-gradient(90deg, transparent, var(--gold) 40%, var(--gold) 60%, transparent);
}
.section-divider .motif{
  width:40px; height:40px;
  color:var(--gold);
  animation: glow-pulse 3s ease-in-out infinite alternate;
}

/* ─────────── BAROQUE FRAME CORNER (reused: gallery + video + hero photo) ─────────── */
.frame-corner{
  position:absolute;
  width:80px; height:80px;
  color: var(--gold);
  z-index:5;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.25));
  pointer-events:none;
}
.frame-corner.tl{ top:-10px; left:-10px }
.frame-corner.tr{ top:-10px; right:-10px; transform: scaleX(-1) }
.frame-corner.bl{ bottom:-10px; left:-10px; transform: scaleY(-1) }
.frame-corner.br{ bottom:-10px; right:-10px; transform: scale(-1,-1) }

@media (max-width: 640px){
  .frame-corner{ width:54px; height:54px }
}
