
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e8;color:#4a392c;font-family:"Noto Naskh Arabic","Tahoma","Arial",sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}.hidden{display:none}.loader{position:fixed;inset:0;z-index:99;background:radial-gradient(circle at top,#fffaf0,#e7dcc9 65%,#cdbb9e);display:grid;place-content:center;text-align:center;perspective:1200px}.tap-text{margin-top:24px;letter-spacing:.5px;color:#6b4d35}.envelope-scene{width:min(86vw,420px);height:270px;position:relative;transform-style:preserve-3d}.env-back,.env-left,.env-right,.env-flap{position:absolute;inset:0;border-radius:12px;background-image:url('assets/envelope.png');background-size:cover;background-position:center;box-shadow:0 25px 70px rgba(78,48,24,.25)}.env-back{filter:brightness(1.05)}.env-left{clip-path:polygon(0 0,50% 55%,0 100%);transform-origin:left;transition:1.3s cubic-bezier(.2,.8,.2,1)}.env-right{clip-path:polygon(100% 0,50% 55%,100% 100%);transform-origin:right;transition:1.3s cubic-bezier(.2,.8,.2,1)}.env-flap{clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top;z-index:4;transition:1.2s cubic-bezier(.2,.8,.2,1);filter:brightness(.96)}.env-paper{position:absolute;left:11%;right:11%;bottom:18px;height:205px;border-radius:18px;background:#fffaf1 url('assets/paper.png') center/cover;display:grid;align-content:center;gap:8px;text-align:center;color:#5b3a22;box-shadow:0 22px 55px rgba(0,0,0,.22);transform:translateY(70px) scale(.92);opacity:.4;z-index:2;transition:1.4s cubic-bezier(.2,.8,.2,1)}.env-paper b{font-size:34px;font-family:Georgia,serif}.mini-title{font-size:16px}.wax{position:absolute;left:50%;top:52%;translate:-50% -50%;z-index:8;width:84px;height:84px;border:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#8d5a3e,#4e2617);color:#e8d0a9;font-family:Georgia,serif;font-size:25px;box-shadow:0 10px 22px rgba(46,21,8,.35);cursor:pointer;line-height:.8}.wax small{font-size:13px}.loader.open .env-flap{transform:rotateX(178deg);filter:brightness(1.12)}.loader.open .env-left{transform:rotateY(-28deg)}.loader.open .env-right{transform:rotateY(28deg)}.loader.open .env-paper{transform:translateY(-96px) scale(1);opacity:1}.loader.fade{animation:fadeOut .9s ease forwards}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.music-btn{position:fixed;z-index:50;left:18px;bottom:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(133,101,60,.35);background:rgba(255,250,241,.86);backdrop-filter:blur(8px);font-size:22px;color:#8b683e;box-shadow:0 10px 35px rgba(0,0,0,.12)}.music-btn.playing{animation:pulse 1.4s infinite}@keyframes pulse{50%{transform:scale(1.08)}}.site{background:#f7f0e6}.panel{min-height:100svh;position:relative;overflow:hidden}.hero{display:grid;place-items:center;text-align:center;padding:88px 20px;background:#efe4d3}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.95}.cloud{position:absolute;background:url('assets/clouds.jpg') center/cover;width:60vw;height:32vh;opacity:.42;filter:blur(.3px);border-radius:45%}.cloud-a{left:-10%;bottom:-5%}.chandelier{position:absolute;top:-68px;left:50%;translate:-50% 0;width:min(470px,72vw);mix-blend-mode:multiply;opacity:.65}.hero-content{position:relative;z-index:2;max-width:760px;padding:46px 28px;border:1px solid rgba(148,112,67,.28);border-radius:28px;background:linear-gradient(rgba(255,250,242,.58),rgba(255,250,242,.34));backdrop-filter:blur(2px);box-shadow:0 35px 90px rgba(79,54,28,.12)}.eyebrow,.section-tag{display:inline-block;font-size:15px;color:#9a7142;letter-spacing:1px;margin-bottom:10px}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,12vw,112px);line-height:.92;margin:10px 0;color:#54351f;text-shadow:0 5px 22px rgba(255,255,255,.9)}.hero h1 span{font-size:.55em;color:#b58a4e}.hero-sub{font-size:clamp(18px,3.5vw,24px);max-width:620px;margin:0 auto 22px}.date-card{margin:20px auto 28px;width:max-content;min-width:240px;padding:16px 32px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(164,128,75,.26);box-shadow:0 12px 34px rgba(90,59,27,.12)}.date-card small{display:block;color:#9a7142}.date-card strong{font-size:25px}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;background:linear-gradient(135deg,#c69b5e,#76502c);color:#fff;font-weight:700;border:0;box-shadow:0 18px 36px rgba(112,76,41,.22);cursor:pointer}.outline{background:transparent;color:#785535;border:1px solid #b99562;box-shadow:none}.nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;justify-content:center;align-items:center;padding:10px;background:rgba(255,250,241,.83);backdrop-filter:blur(12px);border-bottom:1px solid rgba(149,112,67,.16);overflow-x:auto}.nav a{white-space:nowrap;padding:9px 14px;border-radius:999px;color:#6e4e31}.nav a:hover{background:#eadac2}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding:100px min(8vw,90px)}.image-stack{position:relative;min-height:520px}.image-stack img{position:absolute;border-radius:32px;object-fit:cover;box-shadow:0 30px 80px rgba(54,38,21,.22)}.image-stack img:first-child{inset:0 16% 18% 0;width:72%;height:72%}.image-stack img:last-child{left:0;bottom:0;width:58%;height:52%;border:10px solid #f7f0e6}.text-card,.ornament,.dua-card,.rsvp-wrap{background:rgba(255,250,241,.9);border:1px solid rgba(157,120,74,.22);border-radius:34px;padding:clamp(26px,5vw,54px);box-shadow:0 30px 90px rgba(84,55,30,.1)}h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,6vw,58px);line-height:1.12;margin:0 0 18px;color:#553820}p{font-size:18px;line-height:1.9}.soft{min-height:auto;padding:110px 24px;display:grid;place-items:center;background:linear-gradient(90deg,rgba(255,250,240,.9),rgba(246,238,224,.8)),url('assets/paper.png') center/cover}.ornament{max-width:850px;text-align:center;position:relative}.ornament:before,.ornament:after{content:"";position:absolute;width:120px;height:120px;background:url('assets/peacock-arch.jpg') center/cover;border-radius:50%;opacity:.16;filter:sepia(.2)}.ornament:before{right:-36px;top:-36px}.ornament:after{left:-36px;bottom:-36px}.plan{padding:100px min(8vw,90px);background:linear-gradient(#f7f0e6,#efe2ce)}.section-head{text-align:center;margin-bottom:44px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.time-item{padding:28px;border-radius:28px;background:#fffaf2;border:1px solid rgba(145,107,60,.18);box-shadow:0 18px 50px rgba(54,36,18,.08)}.time-item span{color:#a77b43;font-weight:700}.time-item h3{font-size:24px;margin:12px 0 8px;color:#5d3b20}.time-item p{font-size:16px;margin:0}.gallery{min-height:80svh;display:grid;place-items:center;text-align:center;color:#fff;background:#2c211a}.gallery:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(39,27,16,.78),rgba(39,27,16,.24))}.ceiling{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.84}.gallery-text{position:relative;z-index:2;max-width:760px;padding:34px}.gallery-text h2{color:#fff}.dua{padding:110px 22px;background:linear-gradient(rgba(247,240,230,.9),rgba(247,240,230,.9)),url('assets/clouds.jpg') center/cover;display:grid;place-items:center}.dua-card{max-width:850px;text-align:center}.arabic{font-family:"Times New Roman",serif;font-size:clamp(29px,5vw,46px);line-height:1.85;color:#614021}.location-art img{width:100%;height:560px;object-fit:cover;border-radius:36px;box-shadow:0 35px 90px rgba(54,38,21,.18)}.rsvp{padding:110px 22px;background:linear-gradient(rgba(80,54,31,.62),rgba(80,54,31,.74)),url('assets/stairs.png') center/cover fixed;display:grid;place-items:center}.rsvp-wrap{max-width:720px;width:100%}.rsvp-wrap h2{text-align:center}form{display:grid;gap:16px}label{display:grid;gap:8px;color:#6a4a2e;font-weight:700}input,select,textarea{width:100%;border:1px solid rgba(145,107,60,.25);border-radius:18px;padding:15px 16px;background:#fffdf7;color:#4a392c;font:inherit;outline:none}textarea{min-height:115px;resize:vertical}.full{width:100%;font:inherit;margin-top:6px}footer{position:relative;min-height:560px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#241a14}footer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64}footer:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(33,23,15,.9),rgba(33,23,15,.25))}footer div{position:relative;z-index:2;padding:22px}footer h2{color:#fff;font-size:clamp(46px,10vw,90px)}.reveal{opacity:0;transform:translateY(34px);transition:1s ease}.reveal.in{opacity:1;transform:none}@media(max-width:900px){.split{grid-template-columns:1fr;padding:72px 18px}.timeline{grid-template-columns:1fr 1fr}.image-stack{min-height:440px}.location-art img{height:430px}.nav{justify-content:flex-start}.rsvp{background-attachment:scroll}}@media(max-width:560px){.hero{padding:70px 14px}.hero-content{padding:34px 18px;border-radius:24px}.date-card{min-width:200px;padding:13px 24px}.timeline{grid-template-columns:1fr}.image-stack{min-height:360px}.image-stack img:first-child{width:78%;height:70%;right:4%}.image-stack img:last-child{width:64%;height:50%;border-width:6px}.text-card,.ornament,.dua-card,.rsvp-wrap{border-radius:26px;padding:24px}.chandelier{top:-45px}.music-btn{width:44px;height:44px}.envelope-scene{height:245px}.location-art img{height:340px}p{font-size:16px}.nav a{font-size:14px;padding:8px 12px}}

/* Updated: make the opening envelope large and almost full-screen */
.loader{
  padding:clamp(10px, 2vw, 28px);
  align-items:center;
}
.envelope-scene{
  width:min(96vw, calc(88svh * 0.562));
  height:auto;
  aspect-ratio:1012/1800;
  max-height:88svh;
}
.env-back,.env-left,.env-right,.env-flap{
  border-radius:clamp(12px, 3vw, 24px);
}
.env-paper{
  left:10%;
  right:10%;
  bottom:7%;
  height:48%;
  border-radius:clamp(16px, 3vw, 30px);
  transform:translateY(34%) scale(.92);
  opacity:0 !important;
}
.loader.open .env-paper{
  transform:translateY(-42%) scale(1);
  opacity:1 !important;
}
.wax{
  width:clamp(72px, 13vw, 118px);
  height:clamp(72px, 13vw, 118px);
  font-size:clamp(23px, 4.2vw, 38px);
}
.wax small{font-size:clamp(11px, 2vw, 17px)}
.env-paper b{font-size:clamp(30px, 7vw, 62px)}
.mini-title{font-size:clamp(14px, 3vw, 24px)}
.tap-text{font-size:clamp(15px, 2.6vw, 22px);margin-top:clamp(14px, 2vh, 28px)}
@media(max-width:560px){
  .envelope-scene{
    width:min(97vw, calc(90svh * 0.562));
    height:auto;
    aspect-ratio:1012/1800;
    max-height:90svh;
  }
}


/* Updated: remove brown seal button and make whole envelope clickable */
.envelope-scene{cursor:pointer;outline:none}
.envelope-scene:focus-visible{box-shadow:0 0 0 4px rgba(182,143,92,.35);border-radius:24px}
.wax{display:none !important}

/* Updated: keep the invitation paper hidden until the envelope opens */
