:root{
  --ink:#4A1420;
  --ink-soft:#6E2635;
  --gold:#9C6B12;
  --gold-deep:#8A5A0E;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; font-size:118%;}
body{
  font-family:'Cormorant Garamond', serif;
  color:var(--ink);
  background:#F3E7D8;
  overflow:hidden;
}
.label{
  font-family:'Poppins', sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.68rem;
  font-weight:500;
  color:var(--gold-deep);
}
.devanagari{ font-family:'Yatra One', 'Cormorant Garamond', serif; }

.slides{
  height:100vh;
  width:100vw;
  overflow-y:scroll;
  scroll-snap-type:y mandatory;
}
.slide{
  position:relative;
  height:100vh;
  width:100vw;
  scroll-snap-align:start;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:2.5vh 3vw;
}

.frame-box{ position:relative; }

.border-layer{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:fill;
  transform:scale(1.12);
  opacity:0;
  pointer-events:none;
  will-change:transform, opacity;
  z-index:1;
}

.slide.in-view .border-layer{
  opacity:1;
  animation:
      border-enter 1.8s cubic-bezier(.16,.8,.24,1) forwards,
      border-float 6s ease-in-out 1.8s infinite;
}

@keyframes border-enter{
  0%{ opacity:0; transform:scale(1.12); }
  60%{ opacity:1; transform:scale(.985); }
  100%{ opacity:1; transform:scale(1); }
}

@keyframes border-float{
  0%,100%{ transform:scale(1) translate3d(0,0,0); }
  25%{ transform:scale(1.008) translate3d(0,-3px,0); }
  50%{ transform:scale(1.015) translate3d(0,0,0); }
  75%{ transform:scale(1.008) translate3d(0,3px,0); }
}

.overlay{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:78%;
  text-align:center;
  z-index:2;
}

.overlay .rv{
  opacity:0;
  transform:translateY(18px);
  will-change:opacity, transform;
}

.slide.in-view .overlay .rv{
  opacity:1;
  transform:translateY(0);
  transition:
      opacity .9s ease,
      transform .9s cubic-bezier(.16,.8,.24,1);
}

.slide.in-view .overlay .rv1{ transition-delay:.35s; }
.slide.in-view .overlay .rv2{ transition-delay:.55s; }
.slide.in-view .overlay .rv3{ transition-delay:.75s; }
.slide.in-view .overlay .rv4{ transition-delay:.95s; }

.slide.in-view .overlay{
  animation:text-float 7s ease-in-out 2.2s infinite;
}

@keyframes text-float{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-2px); }
}

@media (prefers-reduced-motion: reduce){
  .border-layer,.overlay{ animation:none !important; }
  .overlay .rv{
      opacity:1 !important;
      transform:none !important;
      transition:none !important;
  }
  .border-layer{
      opacity:1 !important;
      transform:scale(1) !important;
  }
}

.eyebrow{ margin-bottom:10px; }
h1.big-title{
  font-family:'Yatra One', serif;
  font-weight:400;
  font-size:clamp(2.1rem, 5.8vw, 3.4rem);
  line-height:1.2;
  color:var(--ink);
}
h2.slide-title{
  font-family:'Cormorant Garamond', serif;
  font-weight:600;
  font-style:italic;
  font-size:clamp(1.5rem, 4vw, 2.2rem);
  color:var(--ink);
  margin-bottom:4px;
}
p.lede{
  font-size:clamp(.85rem,1.7vw,1.05rem);
  color:var(--ink-soft);
  line-height:1.55;
  margin:8px 0;
}
.details-row{ margin:7px 0; }
.details-row .k{
  font-family:'Poppins',sans-serif;
  font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-deep); margin-bottom:2px;
}
.details-row .v{
  font-size:clamp(.85rem,1.8vw,1.05rem); color:var(--ink); font-weight:600;
}
.map-btn{
  display:inline-block;
  margin-top:10px;
  padding:7px 20px;
  border:1px solid var(--gold-deep);
  color:var(--gold-deep);
  text-decoration:none;
  font-family:'Poppins',sans-serif;
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:background .3s, color .3s;
}
.map-btn:hover{ background:var(--gold-deep); color:#fff; }

.names-row{
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
}
.names-row .amp{ color:var(--gold-deep); font-size:1.6rem; }

.regards-list .fam{
  font-size:clamp(.9rem,1.9vw,1.1rem); color:var(--ink); margin:5px 0; font-weight:600;
}
.regards-list .fam small{
  display:block; font-family:'Poppins',sans-serif; font-size:.6rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:400; margin-top:1px;
}

.divider{ width:90px; margin:10px auto; opacity:.85; }

.dots{
  position:fixed; right:16px; top:50%; transform:translateY(-50%);
  z-index:10; display:flex; flex-direction:column; gap:12px;
}
.dot{
  width:8px; height:8px; border-radius:50%;
  border:1px solid var(--gold-deep);
  background:transparent; padding:0; cursor:pointer;
  transition:background .3s, transform .3s;
}
.dot.active{ background:var(--gold-deep); transform:scale(1.3); }

.scroll-hint{
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  font-family:'Poppins',sans-serif; font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-deep); opacity:.8; z-index:3;
  animation:bob 2.4s ease-in-out infinite;
}
@keyframes bob{ 0%,100%{transform:translate(-50%,0);} 50%{transform:translate(-50%,6px);} }

.fb-slide_one{ aspect-ratio:0.55979; height:min(96vh, 96vw/0.55979); max-width:96vw; }
.fb-two      { aspect-ratio:0.66667; height:min(96vh, 96vw/0.66667); max-width:96vw; }
.fb-three    { aspect-ratio:0.56269; height:min(96vh, 96vw/0.56269); max-width:96vw; }
.fb-four     { aspect-ratio:0.56250; height:min(96vh, 96vw/0.56250); max-width:96vw; }
.fb-five     { aspect-ratio:0.56269; height:min(96vh, 96vw/0.56269); max-width:96vw; }
.fb-six      { aspect-ratio:0.56269; height:min(96vh, 96vw/0.56269); max-width:96vw; }

.slide-1{ background:#EEDCCD; }
.slide-2{ background:#FBEEE1; }
.slide-3{ background:#F8F0E5; }
.slide-4{ background:#F2CDB9; }
.slide-5{ background:#F7E3BD; }
.slide-6{ background:#FBFAF6; }
.slide-7{ background:linear-gradient(160deg,#FBEEE1,#F7E3BD); }

.ov-1{ top:26%; }
.ov-2{ top:30%; }
.ov-3{ top:34%; }
.ov-4{ top:30%; }
.ov-5{ top:18%; }
.ov-6{ top:25%; width:70%; }
.ov-7{ top:50%; transform:translate(-50%,-50%); }

@media (max-width:560px){
  .dots{ right:8px; }
}

@media print{
  body{ overflow:visible; }
  .slides{ height:auto; overflow:visible; }
  .slide{ height:100vh; page-break-after:always; scroll-snap-align:unset; }
  .dots, .scroll-hint{ display:none; }
  .overlay .rv{ opacity:1 !important; transform:none !important; }
  .border-layer{ transform:scale(1) !important; opacity:1 !important; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001s !important; transition-duration:.3s !important; }
}

.parent-name{
  color:var(--gold-deep);
  font-weight:600;
  font-style:normal;
  font-size:1.15em;
}

/* --- FIX for Slide 7 shifting --- */
.ov-7{
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}
.slide.in-view .ov-7{
  animation: text-float-7 7s ease-in-out 2.2s infinite !important;
}
@keyframes text-float-7{
  0%,100%{ transform:translate(-50%,-50%) translateY(0); }
  50%{ transform:translate(-50%,-50%) translateY(-2px); }
}

.phone-copy-wrap{
  display:inline-flex;
  align-items:center;
  gap:2px;
  font-size:.85rem;
  user-select: text;
}
.phone-text{
  user-select: text;
}
.copy-btn{
  border:none;
  background: transparent;
  cursor:pointer;
  color: var(--gold-deep);
  font-size: .9rem;
  padding:2px 4px;
  opacity:.7;
  transition: opacity .2s;
}
.copy-btn:hover{ opacity:1; }
.copy-btn.copied{ color: var(--ink); }


#downloadPdfBtn{
  position:fixed; left:16px; top:16px; z-index:9999;
  padding:9px 16px; border:1px solid var(--gold-deep);
  background:#fff; color:var(--gold-deep);
  font-family:'Poppins',sans-serif;
  font-size:.65rem; letter-spacing:.14em;
  text-transform:uppercase; cursor:pointer;
}

@media print{
  @page { size: A4 portrait; margin:0; }
  html, body { overflow:visible !important; height:auto !important; background:#fff !important; }
  .slides{ display:block !important; height:auto !important; overflow:visible !important; scroll-snap-type:none !important; }
  .slide{ display:flex !important; height:100vh !important; width:100% !important; page-break-after:always !important; break-after:page !important; page-break-inside:avoid !important; }
  .slide:last-child{ page-break-after:auto !important; }
  .dots, .scroll-hint, #downloadPdfBtn{ display:none !important; }
  .border-layer{ opacity:1 !important; transform:scale(1) !important; }
  .overlay .rv{ opacity:1 !important; transform:none !important; }
}

#downloadPdfBtn{
  position:fixed; left:16px; top:16px; z-index:9999;
  padding:9px 16px; 
  border:1px solid var(--gold-deep);
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--gold-deep);
  font-family:'Poppins',sans-serif;
  font-size:.65rem; letter-spacing:.14em;
  text-transform:uppercase; cursor:pointer;
  transition: all 0.3s ease;
}

#downloadPdfBtn:hover{
  background: #fff;
}

/* --- Top Left - PDF --- */
#downloadPdfBtn{
  position:fixed; left:16px; top:16px; z-index:9999;
  padding:9px 16px; 
  border:1px solid var(--gold-deep);
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--gold-deep);
  font-family:'Poppins',sans-serif;
  font-size:.65rem; letter-spacing:.14em;
  text-transform:uppercase; cursor:pointer;
  transition: all 0.3s ease;
}
#downloadPdfBtn:hover{
  background: #fff;
}

/* --- Bottom Right - AUDIO - SAME DESIGN --- */
#audioToggle {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  padding:9px 16px;
  border:1px solid var(--gold-deep);
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--gold-deep);
  font-family:'Poppins',sans-serif;
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition: all 0.3s ease;
}
#audioToggle:hover {
  background: #fff;
}

@media print{
  @page { size: A4 portrait; margin:0; }
  html, body { overflow:visible !important; height:auto !important; background:#fff !important; }
  .slides{ display:block !important; height:auto !important; overflow:visible !important; scroll-snap-type:none !important; }
  .slide{ display:flex !important; height:100vh !important; width:100% !important; page-break-after:always !important; break-after:page !important; page-break-inside:avoid !important; }
  .slide:last-child{ page-break-after:auto !important; }
  .dots, .scroll-hint, #downloadPdfBtn, #audioToggle{ display:none !important; }
  .border-layer{ opacity:1 !important; transform:scale(1) !important; }
  .overlay .rv{ opacity:1 !important; transform:none !important; }
}