/* V15.4 — Cinematic intensity pass: stronger, faster, section-specific */
.cinematic-section .section-title h2,
.cinematic-section > h2,
.cinematic-section .section-header h2,
.cinematic-section .section-head h2,
.cinematic-section #timelineTitle {
  opacity:0;
  transform:translate3d(0,34px,0) scale(.96);
  filter:blur(10px);
  transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1),filter .72s ease;
}
.cinematic-section .section-title::after,
.cinematic-section .gold-line {
  opacity:0; transform:scaleX(0); transform-origin:center;
  transition:opacity .35s ease,transform .72s cubic-bezier(.16,1,.3,1);
  transition-delay:.22s;
}
.cinematic-section.is-visible .section-title h2,
.cinematic-section.is-visible > h2,
.cinematic-section.is-visible .section-header h2,
.cinematic-section.is-visible .section-head h2,
.cinematic-section.is-visible #timelineTitle { opacity:1; transform:none; filter:none; }
.cinematic-section.is-visible .section-title::after,
.cinematic-section.is-visible .gold-line { opacity:1; transform:scaleX(1); }

/* Kicker / eyebrow */
.cinematic-section .section-kicker,
.cinematic-section .section-title > p:first-of-type {
  opacity:0; transform:translateY(16px); filter:blur(5px);
  transition:opacity .48s ease,transform .58s cubic-bezier(.16,1,.3,1),filter .5s ease;
  transition-delay:.08s;
}
.cinematic-section.is-visible .section-kicker,
.cinematic-section.is-visible .section-title > p:first-of-type { opacity:1;transform:none;filter:none; }

/* Body copy */
.cinematic-section .story-content,
.cinematic-section .place-content,
.cinematic-section .message-content,
.cinematic-section .dress-content,
.cinematic-section .countdown-inner,
.cinematic-section .section-copy {
  opacity:0; transform:translateY(20px);
  transition:opacity .62s ease,transform .72s cubic-bezier(.16,1,.3,1);
  transition-delay:.34s;
}
.cinematic-section.is-visible .story-content,
.cinematic-section.is-visible .place-content,
.cinematic-section.is-visible .message-content,
.cinematic-section.is-visible .dress-content,
.cinematic-section.is-visible .countdown-inner,
.cinematic-section.is-visible .section-copy { opacity:1;transform:none; }

/* Cards stagger */
.cinematic-section .parent-card,
.cinematic-section .schedule-item,
.cinematic-section .timeline-card { opacity:0; transform:translateY(28px) scale(.97); filter:blur(3px); transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1),filter .55s ease; }
.cinematic-section.is-visible .parent-card,
.cinematic-section.is-visible .schedule-item,
.cinematic-section.is-visible .timeline-card { opacity:1;transform:none;filter:none; }
.cinematic-section.is-visible .parent-card:nth-child(1),.cinematic-section.is-visible .schedule-item:nth-child(1),.cinematic-section.is-visible .timeline-card:nth-child(1){transition-delay:.34s}
.cinematic-section.is-visible .parent-card:nth-child(2),.cinematic-section.is-visible .schedule-item:nth-child(2),.cinematic-section.is-visible .timeline-card:nth-child(2){transition-delay:.48s}
.cinematic-section.is-visible .parent-card:nth-child(3),.cinematic-section.is-visible .schedule-item:nth-child(3),.cinematic-section.is-visible .timeline-card:nth-child(3){transition-delay:.62s}
.cinematic-section.is-visible .parent-card:nth-child(4),.cinematic-section.is-visible .schedule-item:nth-child(4),.cinematic-section.is-visible .timeline-card:nth-child(4){transition-delay:.76s}

/* Date: stronger reveal */
#evento.is-visible .date-day { animation:dateRise .8s cubic-bezier(.16,1,.3,1) .28s both; }
#evento.is-visible .date-month { animation:dateReveal .72s ease .46s both; }
#evento.is-visible .date-time { animation:dateReveal .72s ease .62s both; }
@keyframes dateRise{from{opacity:0;transform:translateY(32px) scale(.88);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes dateReveal{from{opacity:0;transform:translateY(14px);letter-spacing:.28em}to{opacity:1;transform:none;letter-spacing:normal}}

/* Dress: elegant word gets a restrained golden cinematic emphasis */
#dress.is-visible .dress-word,#vestimenta.is-visible .dress-word { animation:dressReveal 1.05s cubic-bezier(.16,1,.3,1) .45s both; }
@keyframes dressReveal{from{opacity:0;transform:scale(.88);filter:blur(8px);text-shadow:0 0 0 transparent}65%{opacity:1;transform:scale(1.025);text-shadow:0 0 28px rgba(255,215,120,.45)}to{opacity:1;transform:scale(1);filter:none;text-shadow:0 0 14px rgba(255,215,120,.22)}}

/* Timeline line and gallery imagery */
#timeline.is-visible .gold-line { transition-delay:.18s; }
#timeline.is-visible .timeline-track { animation:trackIn .9s cubic-bezier(.16,1,.3,1) .35s both; }
@keyframes trackIn{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:none}}
#galeria.is-visible .gallery-grid img { animation:galleryIn .7s cubic-bezier(.16,1,.3,1) both; }
#galeria.is-visible .gallery-grid img:nth-child(2n){animation-delay:.08s}.royal-gallery.is-visible .gallery-grid img:nth-child(3n){animation-delay:.16s}
@keyframes galleryIn{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

/* Finale */
.finale.is-visible > * { animation:finaleIn .8s cubic-bezier(.16,1,.3,1) both; }
.finale.is-visible > *:nth-child(2){animation-delay:.16s}.finale.is-visible > *:nth-child(3){animation-delay:.32s}.finale.is-visible > *:nth-child(4){animation-delay:.48s}
@keyframes finaleIn{from{opacity:0;transform:translateY(26px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}

@media (max-width:600px){
  .cinematic-section .section-title h2,.cinematic-section > h2,.cinematic-section .section-header h2,.cinematic-section .section-head h2,#timelineTitle{transform:translate3d(0,24px,0) scale(.975);filter:blur(7px);transition-duration:.58s,.68s,.62s}
  .cinematic-section .parent-card,.cinematic-section .schedule-item,.cinematic-section .timeline-card{transform:translateY(20px) scale(.985);}
}
@media (prefers-reduced-motion:reduce){
  .cinematic-section *,.cinematic-section::before,.cinematic-section::after{animation:none!important;transition:none!important;filter:none!important;transform:none!important;}
  .cinematic-section .section-title h2,.cinematic-section > h2,.cinematic-section .section-header h2,.cinematic-section .section-head h2,#timelineTitle,.cinematic-section .section-kicker,.cinematic-section .section-title > p:first-of-type,.cinematic-section .story-content,.cinematic-section .place-content,.cinematic-section .message-content,.cinematic-section .dress-content,.cinematic-section .countdown-inner,.cinematic-section .section-copy,.cinematic-section .parent-card,.cinematic-section .schedule-item,.cinematic-section .timeline-card,.cinematic-section .gold-line{opacity:1;}
}
