:root{--bg: #ffffff;--bg-soft: #faf8f5;--bg-soft-2: #f3efe8;--gold: #b8941f;--gold-light: #c9a227;--gold-bright: #d4b84a;--gold-dim: #8c7330;--ink: #2c2618;--ink-soft: #5c5345;--ink-faint: #8a8274;--line: rgba(184, 148, 31, .32);--line-soft: rgba(184, 148, 31, .16);--ivory: #fdfbf7;--ivory-2: #f5f0e6;--ivory-3: #ebe3d2;--ivory-ink: #4a3f22;--on-gold: #ffffff;--section-pad: 104px;--content-max: 660px;--desktop-bp: 769px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}html,body{min-height:100%}body{background:transparent;color:var(--ink);font-family:Tajawal,sans-serif;font-weight:300;overflow-x:hidden}#bg-video{position:fixed;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;pointer-events:none}#bg-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 30%,rgba(201,162,39,.07) 0%,transparent 55%),linear-gradient(#ffffffe6,#fdfbf7f0)}h1,h2,h3,.display{font-family:Aref Ruqaa,serif;font-weight:700;color:var(--gold);line-height:1.4}::selection{background:#c9a22740;color:var(--ink)}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.ornament{width:1px;height:54px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);margin:0 auto}.ornament.short{height:30px}.rule{height:1px;width:100%;background:var(--line)}.eyebrow{font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.42em;color:var(--gold);text-transform:uppercase}.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto;color:var(--gold)}.divider:before,.divider:after{content:"";height:1px;width:60px;background:linear-gradient(to var(--d, right),transparent,var(--gold))}.divider:before{--d: left}.divider .gem{width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--gold);background:radial-gradient(circle,var(--gold-light),transparent)}.kicker{font-family:Cinzel,serif;font-size:.62rem;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:10px}#intro{position:fixed;inset:0;z-index:80;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity 1s ease,visibility 1s ease}#intro.gone{opacity:0;visibility:hidden;pointer-events:none}#intro video{width:100%;height:100%;object-fit:cover}#intro:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 30px #0009}.intro-frame{content:"";position:absolute;inset:16px;pointer-events:none;border:1px solid var(--line)}.intro-tap{position:absolute;inset:0;z-index:2;border:none;padding:0;margin:0;background:transparent;cursor:pointer}.site-music{position:fixed;top:max(22px,env(safe-area-inset-top,22px));left:max(22px,env(safe-area-inset-left,22px));z-index:90;width:42px;height:42px;border-radius:50%;background:#ffffffd1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);color:var(--gold-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease,color .3s ease;box-shadow:0 2px 12px #2c261814}.site-music:hover{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}.site-music svg{width:20px;height:20px}@media(prefers-reduced-motion:reduce){#intro{transition-duration:.2s}}#gate{position:fixed;inset:0;z-index:50;width:100%;height:100%;min-height:100dvh;min-height:100svh;background:#000;transition:opacity .9s ease,visibility .9s ease}#gate.opened{opacity:0;visibility:hidden;pointer-events:none}.env-canvas{position:absolute;inset:0;overflow:hidden}.env-frame{position:absolute;inset:0;--ring-x: 50%;--ring-y: 52%;--ring-size: 11vw}.env-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:opacity .45s ease}.env-intro-video,.env-loop-video,.env-open-video{opacity:0;pointer-events:none}.env-intro-video.visible,.env-loop-video.visible,.env-open-video.visible{opacity:1;pointer-events:auto}.env-tap-layer{position:absolute;inset:0;z-index:4;border:none;padding:0;margin:0;background:transparent;cursor:pointer}.env-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 28%)}.ring-btn{position:absolute;top:var(--ring-y);left:var(--ring-x);width:var(--ring-size);min-width:44px;max-width:64px;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;z-index:5;padding:0;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.ring-btn:hover,.ring-btn:focus-visible{border-color:#ead08af2;box-shadow:0 0 28px #c9a227bf;transform:translate(-50%,-50%) scale(1.08)}#gate .gate-cta{position:absolute;bottom:max(28px,env(safe-area-inset-bottom,28px));left:50%;transform:translate(-50%);z-index:6;margin:0;padding:12px 20px;border:none;background:transparent;font-family:inherit;font-size:.88rem;color:var(--gold-light);text-shadow:0 2px 16px rgba(0,0,0,.9);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:opacity .4s ease}#gate .gate-cta:hover{color:var(--gold-bright)}.gate-cta{margin-top:30px;font-size:.82rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:8px;transition:opacity .4s ease}.gate-cta.hide{opacity:0}.pulse-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:pulse 1.8s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.particles{position:absolute;inset:0;pointer-events:none;overflow:visible}.spark{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-light);top:44%;left:50%;opacity:0;animation:spark-burst 1s ease-out forwards}@keyframes spark-burst{0%{opacity:1;transform:translate(-50%,-50%) translate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) scale(.3)}}main{max-width:660px;margin:0 auto;position:relative;opacity:0;visibility:hidden;transition:opacity 1s ease}main.ready{opacity:1;visibility:visible}section{padding:104px 26px;text-align:center;position:relative}.framed{border:1px solid var(--line-soft);margin:0 18px}#hero{position:relative;min-height:100dvh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:max(28px,env(safe-area-inset-top,0px)) 20px max(24px,env(safe-area-inset-bottom,0px));box-sizing:border-box;background:radial-gradient(circle at 50% 8%,rgba(201,162,39,.06) 0%,transparent 60%)}.hero-inner{width:100%;max-width:540px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(16px,3.8vh,32px)}#hero .eyebrow{font-family:Aref Ruqaa,serif;font-size:clamp(1.35rem,5.5vh,2rem);letter-spacing:.06em;text-transform:none;font-weight:700;line-height:1.5}#hero .quran-verse{font-size:clamp(1.05rem,3.6vh,1.4rem);line-height:2;margin:0;max-width:100%}#hero .divider{margin:0}#hero .divider:before,#hero .divider:after{width:clamp(48px,14vw,72px)}#hero .hero-sub{margin:0;font-size:clamp(1rem,3vh,1.15rem);line-height:1.8;max-width:100%}.hero-names{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.12em .35em;font-size:clamp(2.6rem,11vh,5rem);line-height:1.1;margin:0}.hero-name{white-space:nowrap}.hero-amp{display:inline;font-size:.48em;color:var(--gold);font-weight:700;line-height:1;vertical-align:baseline}#hero .parents-row{margin:0;font-size:clamp(.82rem,2.6vh,.95rem);line-height:1.65;gap:12px 28px;max-width:100%}.hero-scroll{position:absolute;bottom:max(20px,env(safe-area-inset-bottom,20px));left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:52px;height:52px;color:var(--gold-dim);text-decoration:none;opacity:.85;animation:hero-scroll-bounce 2.2s ease-in-out infinite}.hero-scroll svg{width:32px;height:32px}@keyframes hero-scroll-bounce{0%,to{transform:translate(-50%) translateY(0);opacity:.55}50%{transform:translate(-50%) translateY(7px);opacity:.95}}@media(max-height:700px){.hero-inner{gap:14px}#hero .eyebrow{font-size:clamp(1.15rem,4.8vh,1.5rem)}#hero .quran-verse{font-size:clamp(.92rem,3.2vh,1.1rem);line-height:1.85}.hero-names{font-size:clamp(2.1rem,9vh,3.2rem)}}.quran-verse{font-family:Aref Ruqaa,serif;font-size:1.08rem;line-height:2.3;color:var(--gold-dim);max-width:470px;margin:18px auto 0}.hero-sub{color:var(--ink-soft);font-size:1rem;line-height:1.9;max-width:440px;margin-inline:auto}.hero-names{line-height:1.2}.hero-amp{color:var(--gold)}.parents-row{display:flex;align-items:center;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin-top:22px;color:var(--ink-soft);font-size:.85rem}.date-block{font-size:1.5rem;letter-spacing:.04em;margin:20px 0 6px}.date-sub{color:var(--ink-soft);font-size:.94rem;font-weight:400}.countdown-wrap{position:relative;margin-top:48px;padding:38px 0 6px}.countdown{display:flex;justify-content:center;gap:6px;position:relative}.countdown .unit{min-width:64px}.countdown .num{font-family:Cinzel,serif;font-weight:600;font-size:2.35rem;color:var(--gold-dim);display:block}.countdown .sep{font-family:Cinzel,serif;font-size:1.85rem;font-weight:600;color:var(--gold-dim);align-self:flex-start;margin-top:4px}.countdown .label{font-size:.74rem;color:var(--ink);font-weight:500;letter-spacing:.1em;margin-top:8px;display:block}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}.detail-card{background:var(--bg-soft);padding:40px 22px;transition:background .3s ease}.detail-card:hover{background:var(--bg-soft-2)}.detail-card .ic{width:46px;height:46px;margin:0 auto 18px;border:1px solid var(--gold-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold)}.detail-card .ic svg{width:22px;height:22px}.detail-card h3{font-size:1.12rem;margin-bottom:8px}.detail-card p{color:var(--ink-soft);font-size:.88rem;line-height:1.85}@media(max-width:520px){.details-grid{grid-template-columns:1fr}}.timeline{margin-top:50px;position:relative;text-align:right}.timeline:before{content:"";position:absolute;top:8px;bottom:8px;right:23px;width:1px;background:var(--line)}.tl-item{display:flex;align-items:flex-start;gap:20px;padding:18px 0;position:relative}.tl-ic{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold-dim);background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--gold);z-index:1}.tl-ic svg{width:22px;height:22px}.tl-body{padding-top:4px}.tl-time{font-family:Cinzel,serif;color:var(--gold);font-size:.95rem;letter-spacing:.05em}.tl-title{font-family:Aref Ruqaa,serif;color:var(--ink);font-size:1.05rem;margin-top:2px}.tl-desc{color:var(--ink-soft);font-size:.82rem;margin-top:3px}.venue-card{margin-top:44px;border:1px solid var(--line);background:var(--bg-soft);overflow:hidden}.venue-img{height:200px;width:100%;background:linear-gradient(0deg,#ffffff59,#fdfbf726),repeating-linear-gradient(45deg,#f3efe8 0 12px,#ebe6dc 12px 24px);display:flex;align-items:center;justify-content:center;color:var(--gold-dim);font-family:Cinzel,serif;letter-spacing:.3em;font-size:.7rem;border-bottom:1px solid var(--line)}.venue-body{padding:34px 24px 38px}.venue-body h3{font-size:1.5rem}.venue-body p{color:var(--ink-soft);font-size:.9rem;line-height:1.85;margin-top:10px}.map-btn{display:inline-flex;align-items:center;gap:8px;margin-top:22px;background:transparent;color:var(--gold-dim);text-decoration:none;padding:13px 34px;font-size:.82rem;letter-spacing:.12em;border:1px solid var(--gold);font-family:Cinzel,serif;transition:background .3s ease,color .3s ease}.map-btn:hover{background:var(--gold);color:var(--on-gold)}footer{padding:70px 26px 60px;text-align:center}footer .display{font-size:1.7rem;margin-bottom:8px}footer .sign{color:var(--ink-soft);font-size:.85rem}footer .heart-sm{color:var(--gold);margin:14px auto 0;width:22px;height:22px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.spark{display:none}}
