/* ==========================================
   HerValentine — Responsive Breakpoints
   ========================================== */

/* Tablet */
@media (max-width: 1024px) {
  .chandelier.ch-left { left: 8%; }
  .chandelier.ch-right { right: 8%; }

  .sun-core { width: 110px; height: 110px; }
  .sun-glow { width: 240px; height: 240px; }

  .final-hearts { gap: 24px; }
  .final-hearts svg { width: 60px; height: 60px; }

  .char-wrap svg,
  .char-wrap .figure-img { transform: scale(0.85); transform-origin: bottom center; }

  .figure-couple-kiss { width: 180px; }
  .figure-couple-dance { width: 180px; }
  .figure-dinner { width: 190px; }
  .dinner-couple-wrap { height: 120px; }
  .figure-old { width: 170px; }
  .bench-couple-wrap { height: 110px; }
}

/* Mobile */
@media (max-width: 640px) {
  #scene-meeting { height: 180vh; }

  #scene-cherry,
  #scene-embrace { height: 130vh; }

  #scene-walking,
  #scene-sunset,
  #scene-dance,
  #scene-dinner,
  #scene-growing { height: 110vh; }

  .scene-text h2 {
    white-space: normal;
    padding: 0 20px;
  }

  /* Hero landing */
  .hero-title { font-size: clamp(2.4rem, 10vw, 3.5rem); }
  .hero-subtitle { font-size: 0.85rem; margin-bottom: 32px; }

  /* Scale characters */
  .char-wrap svg,
  .char-wrap .figure-img { transform: scale(0.7); transform-origin: bottom center; }

  .center-glow { width: 250px; height: 250px; }

  .figure-couple,
  .figure-couple-kiss { width: 150px; height: auto; }

  .figure-couple-sunset { width: 150px; height: auto; }

  .figure-couple-dance { width: 140px; height: auto; }

  .figure-dinner { width: 160px; }
  .dinner-couple-wrap { height: 100px; }
  .dinner-table-svg { width: 280px; height: auto; }

  .figure-old { width: 150px; }
  .bench-couple-wrap { height: 95px; }
  .bench-svg { width: 200px; height: auto; }

  .flower svg { width: 36px; height: 50px; }

  .sun-core { width: 80px; height: 80px; }
  .sun-glow { width: 160px; height: 160px; }

  .cloud { display: none; }
  .chandelier { display: none; }

  .final-hearts { gap: 16px; top: 15%; }
  .final-hearts svg { width: 50px; height: 50px; }
  .final-message { padding: 0 24px; }

  .tree svg { width: 140px; height: 210px; }
  .life-tree svg { width: 200px; height: 270px; }
  .moon-glow { width: 50px; height: 50px; }

  #progress-bar { height: 3px; }

  .bokeh-particle:nth-child(n+12) { display: none; }
}

/* Small phones */
@media (max-width: 375px) {
  .final-text { font-size: 1.4rem; }
  .her-name { font-size: 2rem; }
  .scene-text h2 { font-size: 1.5rem; }

  .hero-title { font-size: 2.2rem; }

  .char-wrap svg,
  .char-wrap .figure-img { transform: scale(0.55); transform-origin: bottom center; }
}

/* Tall phones */
@media (max-width: 640px) and (min-height: 700px) {
  #scene-meeting { height: 200vh; }
  #scene-cherry,
  #scene-embrace { height: 140vh; }
}
