:root{
  --ivory:#fffaf1;
  --cream:#f8ead7;
  --blush:#e9b7ad;
  --rose:#b96f68;
  --rose-dark:#884943;
  --champagne:#e8c78f;
  --gold:#b98542;
  --bronze:#795034;
  --ink:#3d281d;
  --leaf:#697b56;
  --glass:rgba(255,250,241,.78);
  --line:rgba(154,104,57,.24);
  --shadow:0 28px 80px rgba(64,39,20,.24);
  --soft-shadow:0 14px 38px rgba(83,50,24,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Naskh Arabic','Noto Kufi Arabic',Tahoma,Arial,sans-serif;
  background:radial-gradient(circle at top,#fff8ec 0,#f7e4cc 46%,#f4d8bb 100%);
  color:var(--ink);overflow-x:hidden;min-height:100vh;
}
button,input,textarea,select{font:inherit}
a{color:inherit}.hidden,.hidden-field{display:none!important}
.ambient,.sparkles{position:fixed;inset:0;pointer-events:none}.ambient{z-index:0;overflow:hidden}.ambient span{position:absolute;width:42vmin;height:42vmin;border-radius:50%;filter:blur(28px);opacity:.2;animation:floatBlob 18s ease-in-out infinite}.ambient span:nth-child(1){background:#fff;top:4%;left:-14%}.ambient span:nth-child(2){background:#e8b8ab;right:-18%;top:32%;animation-delay:-5s}.ambient span:nth-child(3){background:#f4d38f;left:10%;bottom:-16%;animation-delay:-9s}.sparkles{z-index:80;opacity:.5;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(198,139,72,.45) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(224,151,142,.42) 0 1.4px,transparent 2.2px);background-size:120px 190px,170px 150px,230px 260px;animation:sparkleDrift 22s linear infinite}

/* First page */
.intro{min-height:100svh;position:relative;display:grid;place-items:center;padding:18px;overflow:hidden;cursor:pointer}.intro-bg{position:absolute;inset:0;background:linear-gradient(rgba(255,246,231,.38),rgba(98,61,35,.18)),url('../images/garden-bg.jpg') center/cover;transform:scale(1.06);filter:saturate(1.04) contrast(.96)}.intro-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.05),rgba(255,249,239,.58) 55%,rgba(68,43,23,.3)),linear-gradient(to top,var(--cream),transparent 35%)}.castle-stage{position:relative;z-index:4;width:min(94vw,480px);height:min(84svh,760px);display:grid;place-items:center;perspective:1200px}.royal-gate{position:absolute;inset:0;border-radius:52% 52% 32px 32px;box-shadow:var(--shadow);background:url('../images/gate.jpg') center/cover;overflow:hidden}.royal-gate:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,251,244,.85);border-radius:51% 51% 26px 26px}.gate-glow{position:absolute;inset:11% 14% 7%;border-radius:48% 48% 18px 18px;background:radial-gradient(circle at 50% 38%,rgba(255,252,236,.9),rgba(250,227,194,.3) 38%,rgba(129,80,45,.1) 75%);filter:blur(.2px);transition:opacity 1.5s ease}.gate-leaf{position:absolute;top:16%;bottom:10%;width:31%;border:2px solid rgba(83,48,31,.38);background:linear-gradient(90deg,rgba(45,27,18,.1),rgba(255,245,225,.22),rgba(54,31,19,.2));box-shadow:inset 0 0 35px rgba(43,24,14,.18);transition:transform 2.15s cubic-bezier(.17,.88,.2,1),filter 1.5s ease}.gate-leaf:before{content:"";position:absolute;inset:12px;border:1px solid rgba(69,39,25,.35);border-radius:46% 46% 10px 10px;background:repeating-linear-gradient(90deg,transparent 0 25%,rgba(64,37,24,.2) 26% 28%,transparent 29% 52%)}.gate-leaf:after{content:"❦";position:absolute;top:22%;left:50%;transform:translateX(-50%);font-size:60px;color:rgba(80,45,28,.55)}.gate-left{left:18%;transform-origin:left center;border-radius:56% 12px 12px 14px}.gate-right{right:18%;transform-origin:right center;border-radius:12px 56% 14px 12px}.intro.opened .gate-left{transform:rotateY(-116deg) translateX(-5px);filter:brightness(.95)}.intro.opened .gate-right{transform:rotateY(116deg) translateX(5px);filter:brightness(.95)}.intro.opened .gate-glow{opacity:1}.intro.gone{display:none}
.envelope{position:relative;z-index:7;width:min(82vw,355px);height:305px;display:grid;place-items:end center;filter:drop-shadow(0 22px 35px rgba(70,42,23,.22));transition:transform 1.45s ease,opacity 1.1s ease}.envelope-pocket{position:absolute;left:0;right:0;bottom:0;height:190px;border-radius:24px;background:linear-gradient(155deg,#fff9ef,#f1d7b8 60%,#e6bfa1);border:1px solid rgba(132,87,45,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.envelope-pocket:before,.envelope-pocket:after{content:"";position:absolute;bottom:0;border-style:solid}.envelope-pocket:before{left:0;border-width:95px 178px 0 0;border-color:transparent rgba(255,247,234,.55) transparent transparent}.envelope-pocket:after{right:0;border-width:95px 0 0 178px;border-color:transparent transparent transparent rgba(214,151,123,.28)}.envelope-flap{position:absolute;left:1px;right:1px;bottom:92px;height:162px;background:linear-gradient(180deg,#fff8ed,#e9c8aa);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:22px 22px 0 0;transform-origin:50% 0;transition:transform 1.5s cubic-bezier(.19,.86,.24,1);z-index:6}.wax-seal{position:absolute;z-index:10;bottom:82px;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle,#c98278,#8c443e);border:4px solid rgba(255,236,205,.58);color:#fff5e8;font-size:24px;box-shadow:0 8px 18px rgba(82,40,27,.26)}.invitation-card{position:absolute;z-index:5;bottom:55px;width:86%;min-height:235px;text-align:center;padding:24px 20px 26px;background:linear-gradient(#fffdf8,#fff1df);border:1px solid var(--line);border-radius:28px 28px 20px 20px;box-shadow:var(--soft-shadow);transition:transform 1.4s ease}.invitation-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(189,137,72,.28);border-radius:22px;pointer-events:none}.overline,.subtitle{font-family:'Noto Kufi Arabic',sans-serif;color:var(--gold);font-weight:700;letter-spacing:.02em}.invitation-card h1,.hero h1,footer h3{font-family:'Aref Ruqaa','Noto Naskh Arabic',serif;font-weight:700;color:var(--bronze)}.invitation-card h1{font-size:46px;line-height:1.15;margin:8px 0}.invitation-card h1 span,.hero h1 span{color:var(--rose-dark)}.invitation-card p:not(.overline){line-height:1.9;color:#654431}.invitation-card strong{display:block;margin-top:10px;color:var(--gold);font-size:20px}.intro.opened .envelope-flap{transform:rotateX(168deg)}.intro.opened .invitation-card{transform:translateY(-96px)}.intro.opened .envelope{transform:translateY(-12px) scale(.98);opacity:0;transition-delay:1.55s}.open-btn{position:absolute;bottom:32px;z-index:12;border:0;cursor:pointer;border-radius:999px;padding:15px 30px;min-width:230px;background:linear-gradient(135deg,#fffaf0,#f1d7b7 54%,#bf7b71);color:#5f351f;font-weight:800;box-shadow:0 18px 38px rgba(69,40,20,.25),inset 0 0 0 1px rgba(255,255,255,.75)}.open-btn span{position:relative}.open-btn:before{content:"";position:absolute;inset:3px;border-radius:999px;border:1px solid rgba(255,255,255,.75)}.scroll-hint{position:absolute;z-index:6;bottom:10px;color:#72442e;font-size:13px;background:rgba(255,250,242,.66);padding:6px 14px;border-radius:999px;backdrop-filter:blur(8px)}

/* Main */
.top-nav{position:sticky;top:0;z-index:60;display:flex;justify-content:center;gap:8px;padding:10px;background:rgba(255,250,242,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.top-nav a{text-decoration:none;color:#5d3a26;border:1px solid transparent;border-radius:999px;padding:8px 14px;font-family:'Noto Kufi Arabic',sans-serif;font-size:13px;font-weight:700;white-space:nowrap}.top-nav a:hover{background:#fff6e8;border-color:var(--line)}.panel{position:relative;z-index:1;padding:86px 20px;overflow:hidden}.panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 12% 16%,rgba(234,181,171,.22),transparent 25%),radial-gradient(circle at 88% 82%,rgba(205,151,84,.18),transparent 28%)}.panel:after{content:"❦";position:absolute;left:18px;bottom:4px;color:rgba(158,99,66,.13);font-size:120px;line-height:1}.hero{min-height:92svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(255,247,232,.70),rgba(255,239,215,.88)),url('../images/garden-bg.jpg') center/cover}.section-ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--rose);font-size:21px;margin:0 auto 14px}.section-ornament:before,.section-ornament:after{content:"";height:1px;width:96px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.section-ornament.small:before,.section-ornament.small:after{width:66px}.hero h1{font-size:clamp(56px,15vw,96px);line-height:1;margin:8px 0 12px}.lead,.section-intro{max-width:670px;text-align:center;margin:0 auto;color:#684735;line-height:2}.date-pill{margin:20px 0 24px;padding:10px 22px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,241,.82);color:var(--bronze);font-weight:800;box-shadow:var(--soft-shadow)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(68px,92px));gap:10px;justify-content:center}.countdown div{min-height:88px;background:rgba(255,250,241,.86);border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--soft-shadow)}.countdown span{font-size:30px;font-weight:800;color:var(--bronze);line-height:1}.countdown small{font-family:'Noto Kufi Arabic',sans-serif;font-size:11px;color:#76513a;margin-top:6px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:34px;max-width:1100px;margin:auto}.text-box{background:var(--glass);border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--soft-shadow);backdrop-filter:blur(12px)}h2{font-family:'Aref Ruqaa','Noto Naskh Arabic',serif;font-weight:700;font-size:clamp(40px,9vw,62px);line-height:1.25;text-align:center;color:var(--bronze);margin-bottom:14px}.text-box p,.panel p{line-height:2;color:#684735}.decorated-frame{position:relative;border:12px solid #fff7e8;outline:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.decorated-frame:before,.decorated-frame:after{content:"";position:absolute;z-index:2;width:135px;height:135px;background:radial-gradient(circle at 45% 45%,#e7b0a8 0 13%,transparent 14%),radial-gradient(circle at 65% 50%,#f8d8cf 0 10%,transparent 11%),radial-gradient(circle at 52% 68%,#c7837b 0 9%,transparent 10%),radial-gradient(circle at 40% 62%,#73835e 0 5%,transparent 6%);background-size:62px 62px;opacity:.9;filter:drop-shadow(0 8px 10px rgba(61,40,25,.12))}.decorated-frame:before{top:-22px;right:-22px}.decorated-frame:after{bottom:-34px;left:-28px;transform:rotate(180deg)}.storybook-art{height:420px;border-radius:36px;background:linear-gradient(rgba(255,248,235,.04),rgba(255,240,220,.22)),url('../images/couple.jpg') center/cover}.soft-light{position:absolute;inset:0;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.35),transparent 21%),linear-gradient(to top,rgba(255,247,230,.36),transparent 48%)}.gallery-section{background:linear-gradient(180deg,#fff7eb,#f8e1c9)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1050px;margin:28px auto 0;align-items:center}.gallery-card{position:relative;border:0;background:linear-gradient(#fffaf0,#f1d8bc);padding:10px;border-radius:30px;box-shadow:var(--soft-shadow);cursor:pointer;transform:translateZ(0);transition:transform .35s ease,box-shadow .35s ease}.gallery-card:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 22px 48px rgba(83,50,24,.19)}.gallery-card:after{content:"";position:absolute;inset:9px;border:1px solid rgba(177,118,72,.28);border-radius:23px;pointer-events:none}.gallery img{width:100%;height:220px;object-fit:cover;border-radius:22px;display:block}.gallery-card.tall img{height:285px}.events{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:950px;margin:28px auto 0}.events:before{content:"";position:absolute;left:7%;right:7%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.events div{position:relative;z-index:1;text-align:center;background:rgba(255,250,241,.9);border:1px solid var(--line);border-radius:26px;padding:22px 14px;box-shadow:var(--soft-shadow)}.events i{display:grid;place-items:center;margin:0 auto 10px;width:44px;height:44px;border-radius:50%;background:#fff7e9;border:1px solid var(--line);font-style:normal;color:var(--rose-dark);box-shadow:0 8px 18px rgba(76,45,22,.1)}.events b{display:block;color:var(--gold);font-size:20px}.events span{display:block;margin-top:4px;color:#64432f}.venue-card{height:360px;border-radius:36px;background:linear-gradient(180deg,#f7ddbf,#fff7ea)}.venue-arch{position:absolute;inset:34px 52px 75px;border:3px solid rgba(117,76,44,.35);border-bottom:0;border-radius:50% 50% 0 0;background:linear-gradient(rgba(255,250,240,.22),rgba(255,245,230,.66)),url('../images/garden-bg.jpg') center/cover}.venue-card p{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-family:'Aref Ruqaa',serif;font-size:42px;color:var(--bronze)}.map-btn{display:inline-block;text-decoration:none;margin-top:20px;border-radius:999px;background:linear-gradient(135deg,#fff7e8,#eccbab 58%,#c78277);color:#603824;padding:13px 24px;font-weight:800;box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.65)}.rsvp form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:28px auto 0}.rsvp input,.rsvp textarea,.rsvp select{width:100%;padding:14px 15px;border-radius:16px;border:1px solid var(--line);background:rgba(255,250,241,.92);color:var(--ink);outline:none;box-shadow:0 8px 20px rgba(78,47,25,.07)}.rsvp input:focus,.rsvp textarea:focus,.rsvp select:focus{border-color:rgba(185,111,104,.58);box-shadow:0 0 0 4px rgba(185,111,104,.12)}.rsvp textarea{grid-row:span 2;min-height:120px;resize:vertical}.rsvp button{border:0;cursor:pointer;border-radius:999px;background:linear-gradient(135deg,#dca292,#b96059);color:white;padding:14px 26px;font-weight:800;box-shadow:0 16px 32px rgba(124,64,52,.22)}.thanks{text-align:center;margin-top:16px;color:var(--rose-dark);font-weight:800}.guest-log{max-width:760px;margin:20px auto 0;background:rgba(255,250,241,.7);border:1px solid var(--line);border-radius:18px;padding:12px 16px}.guest-log summary{cursor:pointer;font-weight:800;color:#6f452e}.guest-list{display:grid;gap:10px;margin-top:12px}.guest-item{background:#fff8eb;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.guest-item b{color:var(--rose-dark)}footer{position:relative;z-index:1;text-align:center;padding:70px 18px;background:linear-gradient(#f8e3cb,#efd0ac);color:var(--bronze)}footer h3{font-size:54px;margin-top:6px}.music-toggle{position:fixed;bottom:16px;left:16px;z-index:100;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:rgba(255,248,235,.94);color:var(--bronze);box-shadow:0 12px 30px rgba(60,35,15,.18);font-size:20px;cursor:pointer}.lightbox{position:fixed;inset:0;z-index:120;display:none;place-items:center;background:rgba(38,24,16,.78);padding:24px}.lightbox.show{display:grid}.lightbox img{max-width:min(94vw,900px);max-height:86svh;border-radius:26px;border:10px solid #fff7e9;box-shadow:var(--shadow);object-fit:contain}.lightbox button{position:absolute;top:18px;left:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff7e9;color:var(--ink);font-size:30px;cursor:pointer}


/* Updated closed-envelope and real-photo design */
.invitation-card{
  opacity:0;
  transform:translateY(54px) scale(.96);
  pointer-events:none;
}
.intro.opened .invitation-card{
  opacity:1;
  transform:translateY(-96px) scale(1);
}
.envelope-flap{z-index:8;}
.envelope-pocket{z-index:7;}
.wax-seal{z-index:11;}
.intro.opened .envelope-flap{z-index:4;}
.intro.opened .envelope-pocket{z-index:7;}
.intro.opened .wax-seal{opacity:0;transform:scale(.75);transition:opacity .35s ease,transform .35s ease;}
.real-photo{overflow:hidden;background:#f4dfc8;}
.real-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%;}
.whatsapp-btn{background:linear-gradient(135deg,#34b76b,#188b4d)!important;display:flex;align-items:center;justify-content:center;gap:10px;}
.whatsapp-btn:before{content:"☎";font-size:20px;}

/* Floral framing for the real-wedding gallery */
.gallery-section{
  isolation:isolate;
  min-height:720px;
}
.gallery-section > :not(.gallery-side-flowers){
  position:relative;
  z-index:2;
}
.gallery-side-flowers{
  position:absolute;
  top:0;
  bottom:0;
  width:min(28vw,360px);
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
  z-index:1;
  opacity:.98;
}
.gallery-side-flowers-left{left:0;object-position:left center;}
.gallery-side-flowers-right{right:0;object-position:right center;}

@media (max-width: 900px){
  .gallery-side-flowers{width:180px;opacity:.7;}
}
@media (max-width: 600px){
  .gallery-section{padding-left:14px;padding-right:14px;}
  .gallery-side-flowers{width:105px;opacity:.48;}
}


/* Floral decoration added across all main sections */
.intro,
.hero,
.story,
.timeline,
.location,
.rsvp,
footer{
  isolation:isolate;
}

.intro::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    url('../images/gallery-flowers-left.png') left top / min(22vw,260px) auto no-repeat,
    url('../images/gallery-flowers-right.png') right top / min(22vw,260px) auto no-repeat;
  opacity:.42;
}

.hero::before,
.story::before,
.timeline::before,
.location::before,
.rsvp::before,
footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    url('../images/gallery-flowers-left.png') left center / min(24vw,300px) 100% no-repeat,
    url('../images/gallery-flowers-right.png') right center / min(24vw,300px) 100% no-repeat,
    radial-gradient(circle at 12% 16%,rgba(234,181,171,.16),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(205,151,84,.12),transparent 30%);
  opacity:.94;
}

.hero > *,
.story > *,
.timeline > *,
.location > *,
.rsvp > *,
footer > *{
  position:relative;
  z-index:1;
}

.story,
.timeline,
.location,
.rsvp,
footer{
  padding-left: max(20px, 7vw);
  padding-right: max(20px, 7vw);
}

footer::before{
  background:
    url('../images/gallery-flowers-left.png') left bottom / min(20vw,250px) auto no-repeat,
    url('../images/gallery-flowers-right.png') right bottom / min(20vw,250px) auto no-repeat;
  opacity:.82;
}

@media (max-width: 900px){
  .hero::before,
  .story::before,
  .timeline::before,
  .location::before,
  .rsvp::before,
  footer::before{
    background:
      url('../images/gallery-flowers-left.png') left center / 170px 100% no-repeat,
      url('../images/gallery-flowers-right.png') right center / 170px 100% no-repeat,
      radial-gradient(circle at 12% 16%,rgba(234,181,171,.12),transparent 28%),
      radial-gradient(circle at 88% 82%,rgba(205,151,84,.10),transparent 30%);
    opacity:.82;
  }
  .intro::before{
    background:
      url('../images/gallery-flowers-left.png') left top / 150px auto no-repeat,
      url('../images/gallery-flowers-right.png') right top / 150px auto no-repeat;
    opacity:.32;
  }
}

@media (max-width: 600px){
  .hero::before,
  .story::before,
  .timeline::before,
  .location::before,
  .rsvp::before,
  footer::before{
    background:
      url('../images/gallery-flowers-left.png') left center / 95px 100% no-repeat,
      url('../images/gallery-flowers-right.png') right center / 95px 100% no-repeat,
      radial-gradient(circle at 12% 16%,rgba(234,181,171,.08),transparent 30%),
      radial-gradient(circle at 88% 82%,rgba(205,151,84,.08),transparent 30%);
    opacity:.56;
  }
  .intro::before{
    background:
      url('../images/gallery-flowers-left.png') left top / 88px auto no-repeat,
      url('../images/gallery-flowers-right.png') right top / 88px auto no-repeat;
    opacity:.24;
  }
}

/* Dark emerald green and gold luxury theme */
:root{
  --ivory:#fff8e7;
  --cream:#f7ecd2;
  --blush:#c6a15b;
  --rose:#d4af37;
  --rose-dark:#9a7720;
  --champagne:#efd58a;
  --gold:#d4af37;
  --bronze:#f0d77a;
  --ink:#fff7df;
  --leaf:#143f32;
  --glass:rgba(8,48,37,.82);
  --line:rgba(225,190,90,.38);
  --shadow:0 28px 80px rgba(0,16,11,.46);
  --soft-shadow:0 14px 38px rgba(0,18,12,.32);
}

body{
  background:
    radial-gradient(circle at 50% 0%,rgba(37,105,79,.55),transparent 35%),
    linear-gradient(180deg,#0d3a2c 0%,#082b21 48%,#041f18 100%);
  color:var(--ivory);
}

.ambient span:nth-child(1){background:#d4af37;opacity:.10}
.ambient span:nth-child(2){background:#1f6a50;opacity:.22}
.ambient span:nth-child(3){background:#efd58a;opacity:.10}
.sparkles{
  opacity:.36;
  background-image:
    radial-gradient(circle,rgba(255,244,197,.9) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(212,175,55,.55) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(255,255,255,.28) 0 1.4px,transparent 2.2px);
}

.intro-bg{
  background:
    linear-gradient(rgba(4,34,25,.50),rgba(2,24,18,.68)),
    url('../images/garden-bg.jpg') center/cover;
  filter:saturate(.82) contrast(1.08) brightness(.72);
}
.intro-vignette{
  background:
    radial-gradient(circle at 50% 38%,rgba(240,215,122,.10),rgba(3,37,27,.25) 46%,rgba(1,18,13,.74)),
    linear-gradient(to top,#041f18,transparent 36%);
}
.royal-gate{box-shadow:0 30px 90px rgba(0,0,0,.58)}
.royal-gate:before{border-color:rgba(239,213,138,.72)}
.gate-glow{
  background:radial-gradient(circle at 50% 38%,rgba(255,244,199,.70),rgba(212,175,55,.18) 40%,rgba(4,37,27,.10) 75%);
}
.open-btn,.map-btn{
  background:linear-gradient(135deg,#f6e6ad,#d4af37 54%,#8e6b13);
  color:#123428;
  border:1px solid rgba(255,242,190,.78);
  box-shadow:0 15px 34px rgba(0,19,13,.38),inset 0 1px 0 rgba(255,255,255,.45);
}
.scroll-hint{color:#f7e9bc;text-shadow:0 2px 10px rgba(0,0,0,.55)}

.top-nav{
  background:rgba(5,37,28,.90);
  border-bottom:1px solid rgba(212,175,55,.35);
  box-shadow:0 8px 24px rgba(0,15,10,.18);
}
.top-nav a{color:#f7e8b4}
.top-nav a:hover{background:rgba(212,175,55,.14);border-color:rgba(212,175,55,.48)}

.panel:before{
  background:
    radial-gradient(circle at 12% 16%,rgba(212,175,55,.10),transparent 27%),
    radial-gradient(circle at 88% 82%,rgba(51,126,96,.28),transparent 30%);
}
.hero{
  background:
    linear-gradient(rgba(4,43,32,.82),rgba(3,31,23,.92)),
    url('../images/garden-bg.jpg') center/cover;
}
.story{background:linear-gradient(135deg,#0b3b2d,#06281f)}
.gallery-section{background:linear-gradient(180deg,#0d4031,#05271e)}
.timeline{background:linear-gradient(135deg,#072c22,#0e4534)}
.location{background:linear-gradient(135deg,#0c3d2e,#06261d)}
.rsvp{background:linear-gradient(180deg,#0a382b,#041f18)}

.subtitle,.lead,.section-intro,.text-box p,.panel p,.events span,.venue-card p,.thanks,footer p{
  color:#f5e9c6;
}
h1,h2,.section-ornament,.events b,footer h3{color:#e4c55f}
.section-ornament:before,.section-ornament:after{background:linear-gradient(90deg,transparent,#d4af37,transparent)}
.date-pill{
  background:rgba(7,44,33,.88);
  color:#f1d675;
  border-color:rgba(212,175,55,.45);
}
.countdown div,.events div{
  background:linear-gradient(145deg,rgba(11,65,49,.94),rgba(5,39,29,.96));
  border-color:rgba(212,175,55,.34);
  box-shadow:0 14px 34px rgba(0,16,11,.30);
}
.countdown span,.countdown small{color:#f1d675}
.events i{
  background:#0c4433;
  border-color:rgba(212,175,55,.44);
  color:#f2d877;
}
.events:before{background:linear-gradient(90deg,transparent,#d4af37,transparent)}

.text-box{
  background:linear-gradient(145deg,rgba(12,65,49,.90),rgba(5,38,28,.92));
  border-color:rgba(212,175,55,.38);
  box-shadow:0 18px 46px rgba(0,16,11,.34);
}
.decorated-frame{
  border-color:#d8b956;
  outline-color:rgba(255,232,157,.42);
  box-shadow:0 24px 62px rgba(0,14,10,.46);
}
.decorated-frame:before,.decorated-frame:after{filter:sepia(.65) saturate(1.5) hue-rotate(345deg) drop-shadow(0 8px 10px rgba(0,0,0,.25))}
.real-photo{background:#0b3b2d}

.gallery-card{
  background:linear-gradient(145deg,#d9bd64,#8b6a17);
  box-shadow:0 16px 38px rgba(0,15,10,.38);
}
.gallery-card:after{border-color:rgba(255,244,195,.52)}
.gallery-card:hover{box-shadow:0 24px 52px rgba(0,13,9,.48)}
.gallery-side-flowers{filter:sepia(.72) saturate(1.45) hue-rotate(348deg) brightness(.86) contrast(1.08)}

.venue-card{background:linear-gradient(180deg,#153f32,#082b21)}
.venue-arch{
  border-color:rgba(212,175,55,.55);
  background:
    linear-gradient(rgba(4,44,33,.35),rgba(3,31,23,.66)),
    url('../images/garden-bg.jpg') center/cover;
}
.venue-card p{color:#efd878}

.rsvp input,.rsvp textarea,.rsvp select{
  background:rgba(255,248,226,.96);
  color:#17382d;
  border-color:rgba(212,175,55,.58);
}
.rsvp input::placeholder,.rsvp textarea::placeholder{color:#6d7568}
.rsvp input:focus,.rsvp textarea:focus,.rsvp select:focus{
  border-color:#d4af37;
  box-shadow:0 0 0 4px rgba(212,175,55,.16);
}
.rsvp button,.whatsapp-btn{
  background:linear-gradient(135deg,#e8cf73,#d4af37 55%,#8f6c13)!important;
  color:#123428!important;
  border:1px solid rgba(255,242,190,.70)!important;
}

footer{
  background:linear-gradient(180deg,#082b21,#031b14);
  color:#efd878;
  border-top:1px solid rgba(212,175,55,.30);
}
.music-toggle{
  background:#0b3e2f;
  color:#f0d36e;
  border-color:rgba(212,175,55,.55);
}
.lightbox{background:rgba(1,18,13,.90)}
.lightbox img{border-color:#d4af37}
.lightbox button{background:#d4af37;color:#0b3428}

/* Put a dark emerald veil behind the floral decorations */
.hero::before,.story::before,.timeline::before,.location::before,.rsvp::before,footer::before{
  background-color:rgba(3,31,23,.12);
  background-blend-mode:screen,screen,normal,normal;
}
