:root{--green:#315c45;--deep:#183c2c;--sage:#9cae91;--pink:#dca6b1;--rose:#b96f80;--cream:#fffaf3;--white:#fff;--gold:#c3a06b;--ink:#304238}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Naskh Arabic",serif;overflow-x:hidden}.hidden{display:none!important}
.gate-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:#0d0d0d;transition:opacity .65s ease}.gate-screen.open{opacity:0;pointer-events:none}.envelope-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0d0d0d}
.opening-card{position:relative;z-index:3;width:min(82vw,470px);padding:30px 28px;text-align:center;background:rgba(255,250,243,.93);border:1px solid rgba(195,160,107,.7);box-shadow:0 20px 60px rgba(24,60,44,.26);border-radius:180px 180px 24px 24px;opacity:0;transform:translateY(30px) scale(.95);transition:1s 1.05s}.gate-screen.open .opening-card{opacity:1;transform:none}.opening-card h1{margin:4px 0 8px;font-size:clamp(44px,10vw,78px);color:var(--deep);line-height:1}.opening-card h1 span{display:inline-block}.opening-card h1 b{font-family:"Playfair Display";font-size:.55em;color:var(--rose);margin:0 8px}.basmala{color:var(--green);font-weight:700}.small-title,.eyebrow{letter-spacing:.04em;color:var(--rose);font-weight:700}.opening-card button,.rsvp button,.location a{border:0;border-radius:999px;background:var(--green);color:#fff;padding:13px 24px;font:700 16px inherit;cursor:pointer;text-decoration:none;box-shadow:0 8px 22px rgba(49,92,69,.25)}.gate-tip{position:absolute;bottom:24px;color:#fff;text-shadow:0 2px 8px #183c2c;font-weight:700;z-index:5}.gate-screen.open .gate-tip{opacity:0}.flying-bird{position:absolute;z-index:6;top:13%;right:10%;width:85px;mix-blend-mode:multiply;animation:hover 3s ease-in-out infinite}
.site{overflow:hidden}.section{position:relative;min-height:90vh;padding:100px 6vw;display:grid;place-items:center}.hero{min-height:100svh;background:radial-gradient(circle at 50% 30%,#fff 0,#fff8f5 34%,#e5eadf 100%)}.hanging{position:absolute;top:-15px;left:0;width:100%;height:35vh;object-fit:cover;object-position:top;mix-blend-mode:multiply;opacity:.85}.chandelier{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(360px,58vw);mix-blend-mode:multiply;opacity:.82}.hero-card{position:relative;z-index:2;width:min(720px,90vw);margin-top:90px;padding:60px 38px;text-align:center;background:rgba(255,255,255,.82);border:1px solid rgba(185,111,128,.45);border-radius:48% 48% 28px 28px;box-shadow:0 25px 65px rgba(49,92,69,.16);backdrop-filter:blur(8px)}.hero-card h2{font-size:clamp(54px,11vw,104px);line-height:1;margin:12px 0;color:var(--deep)}.hero-card h2 i{font:italic .55em "Playfair Display";color:var(--rose)}.divider{color:var(--rose);font-size:28px}.invitation{font-size:clamp(20px,3vw,28px);line-height:1.9}.details{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.details span{padding:8px 18px;border:1px solid #ccd6c5;border-radius:999px;background:#f6f8f2}.birdbath{position:absolute;bottom:0;left:2%;width:min(260px,38vw);mix-blend-mode:multiply;opacity:.9}
.verse{background:linear-gradient(rgba(24,60,44,.72),rgba(24,60,44,.78)),url('assets/garden.jpeg') center/cover fixed;color:#fff}.verse-card{width:min(800px,88vw);padding:55px 38px;text-align:center;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.1);backdrop-filter:blur(7px);border-radius:30px}.verse-card p{font-size:clamp(25px,4.4vw,42px);line-height:2}.verse-card small{color:#f4d8de}.vine{position:absolute;top:0;left:0;width:100%;height:180px;object-fit:cover;object-position:top;mix-blend-mode:screen;opacity:.65}.cage{position:absolute;bottom:-5px;right:1%;width:min(300px,43vw);mix-blend-mode:screen;opacity:.7}
.message{grid-template-columns:1fr 1fr;gap:50px;background:#fff}.gloves{width:min(520px,90vw);mix-blend-mode:multiply}.text-panel{max-width:620px}.text-panel h3,.schedule h3,.location h3,.rsvp h3{font-size:clamp(36px,6vw,68px);line-height:1.15;color:var(--deep);margin:8px 0 22px}.text-panel p{font-size:21px;line-height:2}.embroider{position:absolute;bottom:0;right:-30px;width:310px;mix-blend-mode:multiply;opacity:.55}
.schedule{min-height:100svh;background:linear-gradient(180deg,#f9edf1 0%,#fffafd 48%,#f6e9ee 100%);text-align:center;overflow:hidden;padding-top:125px;padding-bottom:125px}.schedule:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.95),transparent 30%),radial-gradient(circle at 80% 78%,rgba(220,166,177,.16),transparent 28%);pointer-events:none}.schedule h3{margin-bottom:4px;color:#9c6a75}.schedule-date{position:relative;z-index:2;margin:0 0 42px;color:var(--green);font-size:22px;font-weight:700;letter-spacing:.12em}.paper-top,.paper-bottom{position:absolute;left:0;width:100%;height:52px;background:#fffafc;filter:drop-shadow(0 8px 9px rgba(116,78,87,.08));z-index:1}.paper-top{top:0;clip-path:polygon(0 36%,8% 18%,16% 46%,25% 22%,34% 48%,43% 24%,52% 45%,61% 20%,70% 47%,80% 19%,90% 45%,100% 24%,100% 0,0 0)}.paper-bottom{bottom:0;transform:rotate(180deg);clip-path:polygon(0 36%,8% 18%,16% 46%,25% 22%,34% 48%,43% 24%,52% 45%,61% 20%,70% 47%,80% 19%,90% 45%,100% 24%,100% 0,0 0)}.timeline{position:relative;z-index:2;width:min(760px,92vw);margin:0 auto;padding:10px 0 30px;direction:ltr}.timeline-line{position:absolute;top:10px;bottom:10px;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(#d6b56d,#b88955,#d6b56d);box-shadow:0 0 0 1px rgba(255,255,255,.8)}.moving-flower{position:absolute;left:50%;top:0;z-index:5;width:44px;height:44px;display:grid;place-items:center;transform:translate(-50%,-10%);font-size:34px;filter:drop-shadow(0 5px 6px rgba(118,70,82,.25));will-change:transform}.timeline-item{position:relative;display:grid;grid-template-columns:1fr 86px 1fr;align-items:center;min-height:125px;direction:rtl}.timeline-item:before{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);background:#caa45d;border:3px solid #fff6f8;box-shadow:0 0 0 1px #caa45d;z-index:3}.timeline-item .timeline-text{max-width:285px;text-align:right}.timeline-item .timeline-text span{display:block;color:#4c4c4c;font-size:23px;font-weight:700;line-height:1.35}.timeline-item .timeline-text small{display:block;margin-top:4px;color:#9a7d84;font-size:16px}.timeline-item time{font-family:Georgia,serif;color:#6e6768;font-size:17px;font-weight:700;direction:ltr}.timeline-item.right .timeline-text{grid-column:1;justify-self:end;padding-right:25px}.timeline-item.right time{grid-column:3;justify-self:start;padding-left:25px}.timeline-item.left .timeline-text{grid-column:3;justify-self:start;padding-left:25px;text-align:left}.timeline-item.left time{grid-column:1;justify-self:end;padding-right:25px}.timeline-item.left:after,.timeline-item.right:after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#d2ad63;font-size:10px}.timeline-item.right:after{left:calc(50% - 43px)}.timeline-item.left:after{left:calc(50% + 34px)}
.location{background:linear-gradient(rgba(255,250,243,.35),rgba(255,250,243,.8)),url('assets/garden.jpeg') center/cover no-repeat}.location-card{width:min(650px,90vw);padding:55px;text-align:center;background:rgba(255,255,255,.9);border-radius:34px;box-shadow:0 25px 70px rgba(24,60,44,.23)}.location-card p{font-size:20px}.location-card a{display:inline-block;margin-top:20px}
.rsvp{min-height:auto;background:#fff;padding-bottom:130px;text-align:center}.rsvp form{display:grid;gap:14px;width:min(620px,92vw);margin-top:26px}.rsvp input,.rsvp select,.rsvp textarea{width:100%;border:1px solid #d9e1d5;background:#fbfcf9;border-radius:16px;padding:16px;font:18px inherit;color:var(--ink)}.rsvp textarea{min-height:120px;resize:vertical}.rsvp-bird{width:110px;mix-blend-mode:multiply;animation:hover 3s ease-in-out infinite}footer{text-align:center;padding:70px 20px;background:var(--deep);color:#fff}footer h3{font-size:48px;margin:8px;color:#f2cdd5}
.reveal{opacity:0;transform:translateY(35px);transition:.9s ease}.reveal.visible{opacity:1;transform:none}@keyframes hover{50%{transform:translateY(-10px) rotate(2deg)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.section{padding:80px 20px;min-height:auto}.opening-card{padding:24px 20px}.opening-card p{margin:7px 0}.hero{min-height:100svh;padding-top:160px}.hanging{height:26vh}.chandelier{width:70vw}.hero-card{margin-top:50px;padding:45px 22px;border-radius:42% 42% 24px 24px}.birdbath{width:42vw}.message{grid-template-columns:1fr;text-align:center}.gloves{order:2}.embroider{width:200px}.timeline-item{grid-template-columns:1fr 62px 1fr;min-height:118px}.timeline-item .timeline-text span{font-size:19px}.timeline-item .timeline-text small{font-size:14px}.timeline-item.right .timeline-text{padding-right:14px}.timeline-item.right time{padding-left:14px}.timeline-item.left .timeline-text{padding-left:14px}.timeline-item.left time{padding-right:14px}.timeline-item time{font-size:14px}.moving-flower{font-size:30px;width:38px;height:38px}.verse{min-height:82vh}.cage{width:45vw}.location-card{padding:38px 22px}}

/* Final visual corrections */
.gate-half img{mix-blend-mode:normal!important}
.hanging,.chandelier,.cage,.gloves,.embroider{mix-blend-mode:normal!important}
.hanging{object-fit:contain!important;object-position:top center!important;height:38vh!important;opacity:1!important}
.chandelier{top:-12px!important;z-index:1;opacity:1!important;width:min(300px,52vw)!important}
.hero-card{z-index:3!important}
.verse{display:flex!important;align-items:center!important;justify-content:center!important;padding-top:90px!important;padding-bottom:90px!important}
.verse-card{position:relative!important;margin:auto!important;z-index:3!important}
.cage{right:2%!important;bottom:0!important;opacity:.92!important}
.gloves{background:transparent!important}
.message .text-panel{display:flex;align-items:center;justify-content:center;text-align:center}
.message .text-panel h3{margin:0;max-width:720px}
@media(max-width:760px){.hanging{height:30vh!important}.chandelier{width:62vw!important}.verse{min-height:82vh!important}.cage{width:42vw!important;opacity:.88!important}}

/* v4 requested layout refinements */
.hero{
  min-height:auto!important;
  padding-top:clamp(210px,28vw,380px)!important;
  padding-bottom:80px!important;
}
.hanging{
  top:0!important;
  left:0!important;
  width:100vw!important;
  max-width:none!important;
  height:clamp(200px,28vw,360px)!important;
  object-fit:cover!important;
  object-position:top center!important;
  opacity:1!important;
}
.chandelier{display:none!important}
.hero-card{margin-top:0!important}
.section-separator{
  position:relative;
  z-index:4;
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
  margin:0;
}
.section-separator img{
  display:block;
  width:min(470px,72vw);
  max-height:115px;
  object-fit:contain;
  filter:drop-shadow(0 5px 9px rgba(49,92,69,.08));
}
.verse{margin-top:0!important}
@media(max-width:760px){
  .hero{padding-top:clamp(155px,44vw,250px)!important;padding-bottom:55px!important}
  .hanging{height:clamp(150px,44vw,240px)!important}
  .section-separator{height:105px}
  .section-separator img{width:min(330px,78vw);max-height:82px}
}

.timeline-item time{font-family:"Noto Naskh Arabic",serif;direction:rtl;white-space:nowrap}
