:root{--ivory:#f7efdf;--paper:#fffaf1;--ink:#493521;--muted:#846f58;--gold:#b8873d;--gold-light:#edd29b;--night:#171109;--line:rgba(184,135,61,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Cairo',sans-serif;overflow-x:hidden}body.locked{overflow:hidden}button,a{font:inherit}button{border:0}a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.13;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.sparkles{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.spark{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 12px var(--gold-light);animation:floatSpark var(--dur) linear infinite;opacity:0}@keyframes floatSpark{10%{opacity:.55}100%{transform:translate3d(var(--drift),110vh,0) rotate(180deg);opacity:0}}
.opening{min-height:100svh;position:fixed;inset:0;overflow:hidden;display:grid;place-items:center;align-content:center;gap:16px;padding:24px;background:#151007;z-index:80}.gate{position:absolute;inset-block:0;width:50.1%;overflow:hidden;z-index:1;transition:transform 1.5s cubic-bezier(.72,0,.18,1);will-change:transform}.gate-left{left:0}.gate-right{right:0}.gate-img{position:absolute;inset:0;background-size:cover;background-position:center}.gate-img--mirror{transform:scaleX(-1)}.gate::after{content:"";position:absolute;inset-block:0;width:2px;background:linear-gradient(180deg,transparent,var(--gold-light),transparent);box-shadow:0 0 18px rgba(237,210,155,.5)}.gate-left::after{right:0}.gate-right::after{left:0}.gate-veil{position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 45%,rgba(104,75,35,.05),rgba(10,7,4,.74) 70%)}.gate-light{position:absolute;z-index:2;inset:-10% 48%;opacity:0;background:radial-gradient(ellipse,rgba(255,239,198,.95),transparent 70%);filter:blur(8px);transition:inset 1.2s ease,opacity 1.2s ease}.opening.open .gate-left{transform:translateX(-102%)}.opening.open .gate-right{transform:translateX(102%)}.opening.open .gate-light{inset:-10% -20%;opacity:.62}.opening-copy{text-align:center;position:relative;z-index:3;color:#f9edd2;text-shadow:0 2px 20px #000}.opening-kicker{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(28px,7vw,42px);letter-spacing:.08em;color:var(--gold-light);display:block}.opening-ornament{display:block;color:var(--gold-light);margin:5px 0}.opening-copy p{font-family:'Aref Ruqaa',serif;font-size:22px;margin:0}.seal-button{position:relative;z-index:3;width:min(170px,42vw);aspect-ratio:1;border-radius:50%;cursor:pointer;color:#fff0c6;background:radial-gradient(circle at 32% 26%,rgba(255,245,216,.42),transparent 30%),radial-gradient(circle at 48% 45%,#ddb765,#a6752d 58%,#6f4b19);box-shadow:0 18px 45px rgba(0,0,0,.55),inset 0 3px 8px rgba(255,255,255,.23),inset 0 -8px 15px rgba(59,34,4,.32);animation:sealPulse 2.3s ease-in-out infinite;transition:transform .25s}.seal-button:active{transform:scale(.96)}.seal-button:focus-visible{outline:3px solid #fff;outline-offset:7px}.seal-shine{position:absolute;inset:10%;border-radius:50%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 45%,transparent 60%);transform:translateX(-80%);animation:shine 3.3s ease-in-out infinite}.seal-svg{position:absolute;inset:10%;width:80%;height:80%;filter:drop-shadow(0 2px 1px rgba(70,42,7,.55))}@keyframes sealPulse{50%{box-shadow:0 18px 52px rgba(0,0,0,.58),0 0 26px rgba(237,210,155,.32),inset 0 3px 8px rgba(255,255,255,.23),inset 0 -8px 15px rgba(59,34,4,.32)}}@keyframes shine{0%,35%{transform:translateX(-90%);opacity:0}50%{opacity:1}70%,100%{transform:translateX(90%);opacity:0}}.open-hint{position:relative;z-index:3;color:#f5e6c7;margin:3px 0 0;font-size:13px;letter-spacing:.02em;animation:hint 1.8s ease-in-out infinite}@keyframes hint{50%{opacity:.55;transform:translateY(3px)}}
.site{min-height:100vh}.nav{position:fixed;inset:0 0 auto;z-index:50;height:68px;padding:max(10px,env(safe-area-inset-top)) clamp(16px,4vw,52px) 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;transition:background .35s,backdrop-filter .35s,border-color .35s}.nav.scrolled{background:rgba(20,14,8,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(237,210,155,.16)}.nav-date{justify-self:start;font-family:'Cormorant Garamond',serif;letter-spacing:.1em;font-size:13px}.nav-brand{font-family:'Aref Ruqaa',serif;font-size:24px;text-decoration:none}.music-toggle{justify-self:end;width:40px;height:40px;border-radius:50%;cursor:pointer;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(10px)}.music-toggle.muted{opacity:.62}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;background-size:cover;background-position:center;overflow:hidden}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translateX(-100%);animation:heroLight 9s ease-in-out infinite}@keyframes heroLight{50%,100%{transform:translateX(100%)}}.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,8,4,.5),rgba(15,9,4,.32) 40%,rgba(12,8,4,.68))}.hero-copy{position:relative;z-index:2;text-align:center;color:#fff;padding:100px 18px 42px}.hero-kicker{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-light);font-size:clamp(20px,5vw,30px);letter-spacing:.1em}.hero-date{display:block;margin:7px 0 20px;font-family:'Cormorant Garamond',serif;letter-spacing:.26em;font-size:14px;color:#f3e2ba}.hero-names{display:flex;flex-direction:column;align-items:center;line-height:.88}.hero-names span{font-family:'Aref Ruqaa',serif;font-size:clamp(66px,15vw,116px);text-shadow:0 4px 28px rgba(0,0,0,.36)}.hero-names b{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-light);font-weight:400;font-size:46px;margin:3px 0}.hero-invite{font-family:'Amiri',serif;color:#f9edd5;font-size:clamp(16px,3.7vw,21px);margin:25px 0 28px}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:#f6e7c9;font-size:12px;gap:2px}.scroll-cue i{font-style:normal;font-size:29px;animation:bob 1.5s infinite}@keyframes bob{50%{transform:translateY(7px)}}
.details-section{padding:105px 20px;background:linear-gradient(180deg,#eadabd,#f8f0e1)}.section-heading{text-align:center;margin-bottom:45px}.section-heading small{font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.32em;color:var(--gold)}.section-heading h2{font-family:'Aref Ruqaa',serif;font-size:clamp(38px,7vw,58px);font-weight:400;margin:7px 0 10px}.heading-line{display:block;width:74px;height:1px;margin:auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.details-grid{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;direction:rtl}.detail-card{position:relative;min-height:178px;padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 45px rgba(90,58,20,.08);overflow:hidden;transition:transform .35s,box-shadow .35s}.detail-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.detail-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(90,58,20,.14)}.detail-icon{font-size:27px;color:var(--gold)}.detail-card h3{font-family:'Aref Ruqaa',serif;font-size:24px;font-weight:400;margin:11px 0 8px}.detail-card p{margin:0;color:var(--muted);line-height:1.85;font-size:14px}
.countdown-section{position:relative;padding:105px 20px;background-size:cover;background-position:center 25%;color:#fbf5eb;overflow:hidden}.countdown-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,8,4,.69),rgba(13,8,4,.88))}.countdown-section>*:not(.countdown-veil){position:relative;z-index:1}.section-heading.light h2{color:#fbf5eb}.section-heading.light small{color:var(--gold-light)}.countdown-grid{max-width:680px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;direction:ltr}.tablet{direction:rtl;text-align:center;padding:1.35rem .7rem;border-radius:12px;background:linear-gradient(155deg,rgba(58,45,29,.94),rgba(20,13,7,.97));border:1px solid rgba(232,201,138,.3);box-shadow:inset 0 2px 7px rgba(0,0,0,.58),0 14px 35px rgba(0,0,0,.34)}.tablet--days{grid-column:1/-1;padding:1.8rem 1rem}.tablet-latin{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;letter-spacing:.22em;font-size:.7rem;color:var(--gold-light);margin-bottom:.45rem}.tablet strong{display:block;font-family:'Cormorant Garamond',serif;font-weight:500;color:#fff8e9}.tablet--days strong{font-size:clamp(3rem,10vw,4.5rem)}.tablet:not(.tablet--days) strong{font-size:clamp(2rem,7vw,2.8rem)}.tablet-ar{display:block;margin-top:.3rem;font-size:.72rem;color:#d9c6a0}.count-caption{text-align:center;color:#d9c6a0;font-size:12px;margin:30px 0 0}
.venue-section{padding:105px clamp(20px,6vw,90px);display:grid;grid-template-columns:minmax(270px,.8fr) minmax(360px,1.35fr);gap:55px;align-items:center;max-width:1250px;margin:auto}.venue-copy small{font-family:'Cormorant Garamond',serif;color:var(--gold);letter-spacing:.25em}.venue-copy h2{font-family:'Aref Ruqaa',serif;font-size:clamp(42px,7vw,68px);font-weight:400;margin:5px 0 10px}.venue-copy p{color:var(--muted);line-height:1.9}.venue-note{font-size:14px;max-width:460px}.venue-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 21px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;color:var(--gold);background:transparent;transition:.3s}.action-button.primary,.action-button:hover{background:var(--gold);color:#fff}.directions-button{position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(184,135,61,.22);animation:directionsGlow 2.8s ease-in-out infinite}.directions-button span{display:inline-block;animation:directionsArrow 1.8s ease-in-out infinite}.directions-button::after{content:"";position:absolute;inset:-40% auto -40% -35%;width:28%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:directionsShine 3.2s ease-in-out infinite}@keyframes directionsGlow{50%{box-shadow:0 12px 34px rgba(184,135,61,.42)}}@keyframes directionsArrow{50%{transform:translate(3px,-3px)}}@keyframes directionsShine{0%,55%{left:-35%;opacity:0}65%{opacity:1}85%,100%{left:110%;opacity:0}}.venue-art{aspect-ratio:.78;background-size:cover;background-position:center;border-radius:26px;border:1px solid rgba(184,134,63,.4);box-shadow:0 28px 70px rgba(60,38,14,.24);position:relative}.venue-art::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.36);border-radius:18px}
.share-section{text-align:center;padding:90px 20px;background:#efe1c7;border-block:1px solid rgba(184,135,61,.16)}.share-ornament{color:var(--gold);font-size:26px}.share-section h2{font-family:'Aref Ruqaa',serif;font-size:40px;font-weight:400;margin:8px 0}.share-section p{color:var(--muted)}.share-button{cursor:pointer;padding:12px 27px;border-radius:999px;background:var(--ink);color:#fff;margin-top:12px}.share-status{min-height:24px;font-size:12px;margin:10px 0 0!important}
.closing{position:relative;text-align:center;padding:120px 20px 135px;background-size:cover;background-position:center 15%;overflow:hidden}.closing-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,6,.62),rgba(20,13,6,.76))}.closing>*:not(.closing-veil){position:relative;z-index:1}.closing-flower{color:var(--gold-light);font-size:24px}.closing p{font-family:'Amiri',serif;font-size:21px;color:#f7ecd6}.closing-names{margin-top:17px;display:flex;justify-content:center;align-items:center;gap:16px}.closing-names span{font-family:'Aref Ruqaa',serif;font-size:50px;color:#fdf6e8}.closing-names b{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:36px;font-weight:400;color:var(--gold-light)}.closing small{display:block;color:#dfcda9;letter-spacing:.2em;margin-top:20px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:800px){.details-grid{grid-template-columns:repeat(2,1fr)}.venue-section{grid-template-columns:1fr}.venue-copy{text-align:center}.venue-note{margin-inline:auto}.venue-actions{justify-content:center}.venue-art{aspect-ratio:16/10}.nav{grid-template-columns:1fr auto 1fr}.nav-date{font-size:10px}.nav-brand{font-size:20px}}
@media(max-width:480px){.opening{padding-inline:14px}.seal-button{width:44vw}.hero-names span{font-size:72px}.details-section,.countdown-section{padding-block:85px}.details-grid{gap:10px}.detail-card{padding:25px 10px}.detail-card h3{font-size:21px}.countdown-grid{gap:8px}.tablet{padding-inline:.35rem}.venue-section{padding:85px 18px}.venue-actions{flex-direction:column}.action-button{width:100%}.closing-names span{font-size:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ================================
   VELOURA THEME 02 — ROYAL PALACE
   ================================ */
body[data-theme="royal-palace"]{
  --ivory:#f7f0e5;--paper:#fffaf3;--ink:#34161d;--muted:#81656b;
  --gold:#c49a4a;--gold-light:#f5df9f;--night:#17060c;--line:rgba(196,154,74,.34);
  background:radial-gradient(circle at 50% -10%,#fff8eb 0,#f4eadc 48%,#eadcc9 100%);
}
body[data-theme="royal-palace"] .grain{opacity:.08;mix-blend-mode:soft-light}
body[data-theme="royal-palace"] .opening{background:#14040a}
body[data-theme="royal-palace"] .opening::before,
body[data-theme="royal-palace"] .opening::after{content:"";position:absolute;top:0;bottom:0;width:16%;z-index:2;pointer-events:none;background:linear-gradient(90deg,#250710,#67152a 42%,#340812 74%,#14040a);box-shadow:inset -20px 0 35px rgba(0,0,0,.45),18px 0 45px rgba(0,0,0,.35);transition:transform 1.45s cubic-bezier(.72,0,.18,1)}
body[data-theme="royal-palace"] .opening::before{left:0;border-right:1px solid rgba(245,223,159,.45)}
body[data-theme="royal-palace"] .opening::after{right:0;transform:scaleX(-1);border-right:1px solid rgba(245,223,159,.45)}
body[data-theme="royal-palace"] .opening.open::before{transform:translateX(-110%)}
body[data-theme="royal-palace"] .opening.open::after{transform:scaleX(-1) translateX(-110%)}
body[data-theme="royal-palace"] .gate{width:50%;filter:saturate(.55) sepia(.22) brightness(.52) contrast(1.08)}
body[data-theme="royal-palace"] .gate-img{transform:scale(1.08)}
body[data-theme="royal-palace"] .gate-img--mirror{transform:scale(-1.08,1.08)}
body[data-theme="royal-palace"] .gate-veil{background:radial-gradient(circle at 50% 40%,rgba(196,154,74,.05),rgba(23,6,12,.82) 67%),linear-gradient(180deg,rgba(38,5,15,.25),rgba(10,2,5,.58))}
body[data-theme="royal-palace"] .opening-copy{border:1px solid rgba(245,223,159,.36);padding:28px 38px 32px;clip-path:polygon(9% 0,91% 0,100% 18%,100% 82%,91% 100%,9% 100%,0 82%,0 18%);background:rgba(25,4,10,.38);backdrop-filter:blur(3px)}
body[data-theme="royal-palace"] .opening-kicker{font-style:normal;text-transform:uppercase;font-size:clamp(19px,4vw,28px);letter-spacing:.24em}
body[data-theme="royal-palace"] .opening-ornament{font-size:22px;text-shadow:0 0 18px rgba(245,223,159,.75)}
body[data-theme="royal-palace"] .seal-button{background:radial-gradient(circle at 38% 28%,#f8df87 0,#bf8d31 30%,#7c4c12 66%,#3f2206 100%);box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 7px rgba(112,21,43,.72),0 0 0 9px rgba(245,223,159,.32)}
body[data-theme="royal-palace"] .seal-button::before{content:"♛";position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:35px;color:var(--gold-light);text-shadow:0 3px 10px #000;z-index:4}
body[data-theme="royal-palace"] .open-hint{letter-spacing:.04em}
body[data-theme="royal-palace"] .nav{background:rgba(255,250,243,.82);border-bottom:1px solid rgba(196,154,74,.25);backdrop-filter:blur(14px)}
body[data-theme="royal-palace"] .nav-brand{font-family:'Cormorant Garamond','Aref Ruqaa',serif;letter-spacing:.04em}
body[data-theme="royal-palace"] .hero{min-height:100svh;background-position:center 42%;filter:none}
body[data-theme="royal-palace"] .hero::before{content:"";position:absolute;inset:5.5% 5%;z-index:1;border:1px solid rgba(245,223,159,.6);box-shadow:inset 0 0 0 7px rgba(32,4,12,.18);clip-path:polygon(5% 0,95% 0,100% 8%,100% 92%,95% 100%,5% 100%,0 92%,0 8%);pointer-events:none}
body[data-theme="royal-palace"] .hero-veil{background:linear-gradient(180deg,rgba(28,3,11,.48),rgba(35,4,14,.62)),radial-gradient(circle at 50% 43%,rgba(196,154,74,.2),transparent 42%)}
body[data-theme="royal-palace"] .hero-copy::before{content:"♛";display:block;font-size:32px;color:var(--gold-light);margin-bottom:12px;text-shadow:0 0 22px rgba(245,223,159,.5)}
body[data-theme="royal-palace"] .hero-kicker{font-style:normal;letter-spacing:.24em;text-transform:uppercase}
body[data-theme="royal-palace"] .hero-names span{font-family:'Aref Ruqaa',serif;text-shadow:0 5px 26px rgba(0,0,0,.7)}
body[data-theme="royal-palace"] .details-section{background:linear-gradient(180deg,#fffaf3,#f3e7d8)}
body[data-theme="royal-palace"] .detail-card{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(246,234,216,.88));border:1px solid rgba(196,154,74,.36);box-shadow:0 18px 50px rgba(71,30,35,.1);clip-path:polygon(7% 0,93% 0,100% 12%,100% 88%,93% 100%,7% 100%,0 88%,0 12%)}
body[data-theme="royal-palace"] .detail-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(196,154,74,.22);clip-path:inherit;pointer-events:none}
body[data-theme="royal-palace"] .detail-icon{font-size:22px;color:#7d1932}
body[data-theme="royal-palace"] .countdown-section{background-position:center 30%}
body[data-theme="royal-palace"] .countdown-veil{background:linear-gradient(180deg,rgba(31,4,12,.83),rgba(56,8,22,.84)),radial-gradient(circle at center,rgba(196,154,74,.22),transparent 50%)}
body[data-theme="royal-palace"] .tablet{background:linear-gradient(160deg,rgba(255,250,238,.95),rgba(222,203,166,.92));border-color:rgba(245,223,159,.72);box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 0 5px rgba(90,15,34,.08);clip-path:polygon(10% 0,90% 0,100% 12%,100% 88%,90% 100%,10% 100%,0 88%,0 12%)}
body[data-theme="royal-palace"] .tablet strong{color:#6e1630}
body[data-theme="royal-palace"] .venue-section{background:linear-gradient(135deg,#f8efe3,#efe0cf)}
body[data-theme="royal-palace"] .venue-art{border-radius:4px;border:7px solid #6d1630;outline:1px solid var(--gold);outline-offset:7px;box-shadow:0 30px 80px rgba(65,20,32,.28);filter:saturate(.72) sepia(.15)}
body[data-theme="royal-palace"] .venue-art::after{inset:10px;border-radius:0;border-color:rgba(245,223,159,.55)}
body[data-theme="royal-palace"] .action-button.primary{background:linear-gradient(135deg,#7d1932,#4a0a1b);border-color:#a36f32;box-shadow:0 13px 28px rgba(91,18,39,.25)}
body[data-theme="royal-palace"] .closing-veil{background:linear-gradient(180deg,rgba(34,3,12,.7),rgba(20,2,8,.88))}
body[data-theme="royal-palace"] .closing::before{content:"";position:absolute;inset:24px;z-index:1;border:1px solid rgba(245,223,159,.42);clip-path:polygon(4% 0,96% 0,100% 8%,100% 92%,96% 100%,4% 100%,0 92%,0 8%)}
body[data-theme="royal-palace"] .closing-flower{font-size:34px}
body[data-theme="royal-palace"] .closing-names span{font-family:'Aref Ruqaa',serif}
@media(max-width:480px){body[data-theme="royal-palace"] .opening-copy{padding:23px 24px 27px}body[data-theme="royal-palace"] .hero::before{inset:3.5% 3%}body[data-theme="royal-palace"] .detail-card{clip-path:polygon(5% 0,95% 0,100% 9%,100% 91%,95% 100%,5% 100%,0 91%,0 9%)}}
