:root{--sage-light:#7a8b6f;--sage:#6b7c60;--sage-dark:#5c6b52;--sage-deep:#4a5743;--gold:#c9a227;--gold-light:#d4af37;--gold-pale:#f4e6b0;--gold-deep:#a5801a;--cream:#f5efe1;--ink:#2c3327;--font-arabic:"Amiri", "Scheherazade New", serif;--font-display:"Playfair Display", "Cormorant Garamond", serif;--font-serif:"Cormorant Garamond", serif;--font-body:"Montserrat", system-ui, sans-serif;--maxw:760px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--cream);background:var(--sage-dark);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(circle at 25% 15%, #ffffff0f, transparent 45%), radial-gradient(circle at 80% 85%, #0000001f, transparent 55%), linear-gradient(160deg, var(--sage-light) 0%, var(--sage) 45%, var(--sage-dark) 100%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.envelope-overlay{z-index:1000;perspective:1400px;justify-content:center;align-items:center;transition:opacity .9s,visibility .9s;display:flex;position:fixed;inset:0}.envelope-overlay.opened{opacity:0;visibility:hidden;pointer-events:none}.envelope{width:min(78vw,440px);height:min(52vw,300px);transform-style:preserve-3d;position:relative}.envelope-body{background:linear-gradient(160deg,#efe7d3 0%,#e4d8bd 100%);border-radius:8px;position:absolute;inset:0;box-shadow:0 30px 70px #0006,inset 0 0 40px #8c785040}.envelope-fold{background:linear-gradient(120deg,#b4a0788c,#0000 60%);width:50%;height:100%;position:absolute;bottom:0}.envelope-fold-left{clip-path:polygon(0 0,100% 100%,0 100%);left:0}.envelope-fold-right{clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(240deg,#b4a0788c,#0000 60%);right:0}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3;backface-visibility:hidden;background:linear-gradient(#e9dcc0 0%,#dccba6 100%);width:100%;height:58%;transition:transform 1s cubic-bezier(.4,.05,.25,1);position:absolute;top:0;left:0;transform:rotateX(0);box-shadow:0 6px 14px #00000026}.envelope.opening .envelope-flap{z-index:1;transform:rotateX(178deg)}.wax-seal{cursor:pointer;z-index:5;background:0 0;border:none;width:min(34vw,170px);height:min(34vw,170px);padding:0;transition:transform .7s cubic-bezier(.5,-.4,.3,1.4),opacity .6s;animation:2.6s ease-in-out infinite sealPulse;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.wax-seal-svg{filter:drop-shadow(0 8px 16px #00000059);width:100%;height:100%;display:block}.wax-seal:hover{transform:translate(-50%,-50%)scale(1.05)}.envelope.opening .wax-seal{opacity:0;pointer-events:none;animation:none;transform:translate(-50%,-50%)scale(.2)rotate(150deg)}@keyframes sealPulse{0%,to{filter:none}50%{transform:translate(-50%,-52%)}}.seal-monogram{font-family:var(--font-display);letter-spacing:1px;font-size:46px;font-style:italic;font-weight:600}.seal-hint{white-space:nowrap;letter-spacing:3px;text-transform:uppercase;color:var(--cream);opacity:.85;font-size:12px;position:absolute;bottom:-34px;left:50%;transform:translate(-50%)}.envelope.opening .seal-hint{opacity:0}.music-toggle{z-index:1200;width:46px;height:46px;color:var(--gold-light);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#2c3327b3;border:1px solid #d4af3799;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:none;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 14px #0000004d}.music-toggle.visible{display:flex}.music-toggle:hover{transform:scale(1.08)}.music-toggle .ic-off,.music-toggle.muted .ic-on{display:none}.music-toggle.muted .ic-off{display:block}.music-toggle.playing{animation:2s ease-in-out infinite musicGlow}@keyframes musicGlow{0%,to{box-shadow:0 4px 14px #0000004d}50%{box-shadow:0 4px 22px #d4af378c}}.content{opacity:0;transition:opacity 1s .2s}.content.revealed{opacity:1}.watermark{font-family:var(--font-display);color:var(--cream);opacity:.045;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(200px,46vw,560px);font-style:italic;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.section{z-index:1;max-width:var(--maxw);text-align:center;margin:0 auto;padding:clamp(56px,11vh,110px) 24px;position:relative}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.3,1);transform:translateY(38px)}.reveal.in-view{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.section-title{font-family:var(--font-display);color:var(--gold-light);letter-spacing:.5px;margin:0 0 6px;font-size:clamp(28px,5.5vw,42px);font-weight:500}.section-sub{font-family:var(--font-serif);opacity:.85;margin:0 0 34px;font-size:clamp(16px,3vw,20px);font-style:italic}.ornament-divider{justify-content:center;align-items:center;gap:14px;width:min(240px,70%);margin:22px auto;display:flex}.ornament-divider span:not(.diamond){background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.ornament-divider .diamond{color:var(--gold-light);font-size:16px}.ornament-divider.small{width:min(180px,60%);margin:14px auto 30px}.section-intro{padding-top:clamp(70px,14vh,140px)}.assalom{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);margin:0 0 6px;font-size:clamp(12px,2.6vw,15px);font-weight:500}.guest-name{font-family:var(--font-serif);color:var(--cream);margin:0 0 20px;font-size:clamp(18px,3.6vw,24px);font-style:italic}.guest-name strong{color:var(--gold-light);font-weight:600}.bismillah{font-family:var(--font-arabic);color:var(--gold-pale);text-shadow:0 2px 10px #00000040;margin:0 0 8px;font-size:clamp(30px,8vw,58px);line-height:1.9}.couple-names{font-family:var(--font-display);color:var(--cream);letter-spacing:1px;margin:4px 0 26px;font-size:clamp(38px,9vw,72px);font-weight:500}.couple-names .amp{color:var(--gold-light);padding:0 .12em;font-size:.8em;font-style:italic}.invite-text{font-family:var(--font-serif);color:var(--cream);opacity:.95;max-width:620px;margin:0 auto 18px;font-size:clamp(18px,3.6vw,24px);line-height:1.75}.invite-text strong{color:var(--gold-light);font-weight:600}.scroll-hint{color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;opacity:.85;flex-direction:column;align-items:center;gap:8px;margin-top:40px;font-size:12px;display:flex}.scroll-hint .arrow{font-size:20px;animation:1.8s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.laurel{opacity:.55;background-position:50%;background-repeat:no-repeat;background-size:contain;width:46px;height:220px;position:absolute;top:50%;transform:translateY(-50%)}.laurel-left{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 200'%3E%3Cg fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M28 8 C18 60 18 140 28 192'/%3E%3Cg%3E%3Cpath d='M28 30 q-16 -4 -22 -16'/%3E%3Cpath d='M28 55 q-16 -3 -22 -15'/%3E%3Cpath d='M28 80 q-16 -2 -22 -14'/%3E%3Cpath d='M28 105 q-16 -1 -22 -13'/%3E%3Cpath d='M28 130 q-16 0 -22 -12'/%3E%3Cpath d='M28 155 q-16 1 -22 -11'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");left:10px}.laurel-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 200'%3E%3Cg fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M28 8 C18 60 18 140 28 192'/%3E%3Cg%3E%3Cpath d='M28 30 q-16 -4 -22 -16'/%3E%3Cpath d='M28 55 q-16 -3 -22 -15'/%3E%3Cpath d='M28 80 q-16 -2 -22 -14'/%3E%3Cpath d='M28 105 q-16 -1 -22 -13'/%3E%3Cpath d='M28 130 q-16 0 -22 -12'/%3E%3Cpath d='M28 155 q-16 1 -22 -11'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");right:10px;transform:translateY(-50%)scaleX(-1)}@media (width<=640px){.laurel{display:none}}.ayah-a{background:linear-gradient(160deg,#4a57438c,#2c33278c)}.ayah-b{background:linear-gradient(160deg,#5c6b5280,#4a574380)}.section-ayah{max-width:100%}.ayah-panel{max-width:var(--maxw);background:#0000001a;border:1px solid #d4af3759;border-radius:6px;margin:0 auto;padding:clamp(32px,6vw,56px);box-shadow:inset 0 0 60px #00000026}.ayah-arabic{font-family:var(--font-arabic);color:var(--gold-pale);text-shadow:0 2px 8px #00000040;margin:0 0 22px;font-size:clamp(22px,5vw,34px);line-height:2.15}.ayah-arabic.large{font-size:clamp(30px,8vw,52px);line-height:1.8}.ayah-translation{font-family:var(--font-serif);color:var(--cream);margin:0 0 8px;font-size:clamp(18px,3.6vw,24px);font-style:italic}.ayah-ref{letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);opacity:.8;margin:0;font-size:13px}.countdown{flex-wrap:wrap;justify-content:center;gap:clamp(10px,3vw,28px);margin-bottom:30px;display:flex}.cd-cell{flex-direction:column;align-items:center;gap:10px;display:flex}.ring{border:2px solid var(--gold);background:radial-gradient(circle at 50% 40%,#d4af371f,#0000002e);border-radius:50%;justify-content:center;align-items:center;width:clamp(72px,18vw,108px);height:clamp(72px,18vw,108px);display:flex;box-shadow:0 0 0 4px #d4af371f,inset 0 2px 12px #00000040}.cd-num{font-family:var(--font-display);color:var(--gold-light);font-size:clamp(26px,6vw,42px);font-weight:500}.cd-label{letter-spacing:2px;text-transform:uppercase;opacity:.85;font-size:12px}.countdown-done{font-family:var(--font-display);color:var(--gold-light);font-size:clamp(24px,5vw,34px)}.wedding-date{font-family:var(--font-serif);color:var(--cream);margin:8px 0 20px;font-size:clamp(18px,3.4vw,22px);font-style:italic}.calendar-card{background:#0000001f;border:1px solid #d4af3759;border-radius:14px;max-width:340px;margin:0 auto 24px;padding:20px 22px;box-shadow:0 10px 28px #00000038}.calendar-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.cal-month{font-family:var(--font-display);color:var(--gold-light);letter-spacing:1px;font-size:20px}.cal-year{font-family:var(--font-serif);color:var(--cream);opacity:.8;font-size:18px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-wd{letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);opacity:.7;padding-bottom:6px;font-size:11px}.cal-day{color:var(--cream);border-radius:50%;padding:7px 0;font-size:14px}.cal-day.empty{visibility:hidden}.cal-day.is-wedding{background:linear-gradient(160deg, var(--gold-light), var(--gold-deep));color:var(--ink);font-weight:700;box-shadow:0 4px 12px #d4af3766}.timeline{text-align:left;max-width:460px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(#0000,#d4af3780,#0000);width:2px;position:absolute;top:8px;bottom:8px;left:76px}.timeline-item{grid-template-columns:64px 20px 1fr;align-items:center;gap:10px;margin-bottom:22px;display:grid}.timeline-time{font-family:var(--font-display);color:var(--gold-light);text-align:right;font-size:18px}.timeline-dot{background:var(--gold-light);border-radius:50%;justify-self:center;width:12px;height:12px;box-shadow:0 0 0 4px #d4af3733}.timeline-title{font-family:var(--font-serif);color:var(--cream);font-size:clamp(17px,3.4vw,21px)}.venue-pin{color:var(--gold-light);margin-bottom:8px}.venue-card{background:#0000001a;border:1px solid #d4af3759;border-radius:6px;max-width:480px;margin:0 auto 28px;padding:26px 20px}.venue-name{font-family:var(--font-display);color:var(--gold-light);margin:0 0 8px;font-size:clamp(22px,4.5vw,30px)}.venue-address{font-family:var(--font-serif);margin:0 0 6px;font-size:clamp(17px,3.4vw,21px)}.venue-time{letter-spacing:1px;opacity:.9;margin:0;font-size:15px}.map-wrap{border:3px solid var(--gold);aspect-ratio:16/10;border-radius:6px;max-width:620px;margin:0 auto 26px;overflow:hidden;box-shadow:0 12px 30px #0000004d}.map-wrap iframe{border:0;width:100%;height:100%;display:block}.btn-gold{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--ink);background:linear-gradient(160deg, var(--gold-light), var(--gold-deep));cursor:pointer;border:none;border-radius:40px;padding:13px 30px;font-size:14px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 6px 18px #0000004d}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.gallery{grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:0 auto;display:grid}@media (width<=560px){.gallery{grid-template-columns:repeat(2,1fr)}}.gallery-item{aspect-ratio:1;cursor:pointer;background:#00000026;border:2px solid #d4af3766;border-radius:6px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-item:hover img{transform:scale(1.08)}.gallery-placeholder{color:#f5efe199;background:repeating-linear-gradient(45deg,#ffffff08 0 10px,#0000000d 10px 20px);flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.gallery-placeholder svg{opacity:.5}.gallery-placeholder span{letter-spacing:1px;font-size:11px}.contact-cards{flex-direction:column;gap:14px;max-width:440px;margin:0 auto 26px;display:flex}.contact-card{text-align:left;background:#0000001f;border:1px solid #d4af374d;border-radius:14px;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;transition:transform .2s,background .2s;display:flex}.contact-card:hover{background:#0003;transform:translateY(-2px)}.contact-ic{width:44px;height:44px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-ic.phone{background:linear-gradient(160deg,#a7c796,#7f9e6e)}.contact-ic.telegram{background:linear-gradient(160deg,#7fbde0,#3f9fd4)}.contact-ic.instagram{background:linear-gradient(160deg,#e6a3c9,#b15c98)}.contact-info{flex-direction:column;display:flex}.contact-label{letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);font-size:11px}.contact-value{font-family:var(--font-serif);color:var(--cream);font-size:20px}.contact-family{font-family:var(--font-serif);color:var(--cream);opacity:.9;font-size:clamp(17px,3.4vw,21px)}.contact-family em{color:var(--gold-light);font-style:italic}.wish-heart{color:var(--gold-light);margin-bottom:10px}.wish-form{flex-direction:column;gap:12px;max-width:480px;margin:0 auto 10px;display:flex}.wish-input,.wish-textarea{width:100%;font-family:var(--font-body);color:var(--cream);resize:vertical;background:#00000024;border:1px solid #d4af3759;border-radius:12px;padding:14px 16px;font-size:15px}.wish-input::placeholder,.wish-textarea::placeholder{color:#f5efe180}.wish-input:focus,.wish-textarea:focus{border-color:var(--gold-light);outline:none}.wish-submit{margin-top:4px}.wish-list{text-align:left;flex-direction:column;gap:14px;max-width:520px;margin:0 auto;display:flex}.wish-item{background:#0000001a;border:1px solid #d4af372e;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.wish-avatar{width:42px;height:42px;font-family:var(--font-display);color:var(--ink);background:linear-gradient(160deg, var(--gold-light), var(--gold-deep));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.wish-name{font-family:var(--font-display);color:var(--gold-light);margin-bottom:2px;font-size:18px}.wish-text{font-family:var(--font-serif);color:var(--cream);font-size:18px;line-height:1.4}.footer{text-align:center;z-index:1;padding:60px 24px 90px;position:relative}.footer-seal{margin-bottom:14px}.footer-monogram{font-family:var(--font-display);font-size:30px;font-style:italic;font-weight:600}.footer-text{font-family:var(--font-display);color:var(--gold-light);margin:0 0 4px;font-size:clamp(22px,4.5vw,30px)}.footer-family{font-family:var(--font-serif);margin:0 0 10px;font-size:19px;font-style:italic}.footer-date{letter-spacing:3px;opacity:.75;margin:0;font-size:13px}.lightbox{z-index:1500;background:#141812eb;justify-content:center;align-items:center;padding:30px;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox-img{border:3px solid var(--gold);border-radius:6px;max-width:92vw;max-height:88vh;box-shadow:0 20px 60px #0009}.lightbox-close{color:var(--gold-light);cursor:pointer;background:0 0;border:none;font-size:40px;line-height:1;position:absolute;top:20px;right:26px}
