:root{--gold:#c9a24b;--gold-soft:#e6cf92;--gold-bright:#f3dfa0;--ink:#e9dcc0;--bg-gradient:radial-gradient(circle at 50% -10%, #17241f 0%, #111d18 45%, #0a1310 100%);--page-bg:radial-gradient(circle at 50% 30%, #0e1712, #070d0b 82%);--card-bg:#ffffff0d;--card-border:#c9a24b52;--drawer-bg:linear-gradient(160deg, #16211c 0%, #0a110e 100%);--btn-surface:#00000052;--chip-bg:#0000008c;--vignette:#00000080;--shadow:0 24px 60px #00000073;--font-serif:"Playfair Display", serif;--font-script:"Great Vibes", cursive;--font-sans:"Inter", system-ui, sans-serif;--font-arabic:"Amiri", serif;--font-deva:"Tiro Devanagari Hindi", serif}html[lang=hi]{--font-serif:"Playfair Display", "Tiro Devanagari Hindi", serif;--font-sans:"Inter", "Tiro Devanagari Hindi", system-ui, sans-serif;--font-script:"Tiro Devanagari Hindi", serif}[data-theme=light]{--gold:#a9792f;--gold-soft:#c19a51;--gold-bright:#8a6526;--ink:#5a4a37;--bg-gradient:radial-gradient(circle at 50% -10%, #fdf8ef 0%, #f5ecd9 55%, #ecdcbe 100%);--page-bg:radial-gradient(circle at 50% 30%, #f3e8d3, #e7d6b6 85%);--card-bg:#ffffff9e;--card-border:#a9792f59;--drawer-bg:linear-gradient(160deg, #fbf4e6 0%, #efe1c6 100%);--btn-surface:#ffffffb8;--chip-bg:#ffffffd9;--vignette:#785a2824;--shadow:0 24px 60px #785a2833}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-gradient);height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow:hidden}body{justify-content:center;align-items:center;padding:0;display:flex}.phone{background:var(--bg-gradient);width:100vw;max-width:430px;height:100dvh;position:relative;overflow:hidden}@media (width>=480px){body{background:var(--page-bg)}.phone{border:1px solid #c9a24b59;border-radius:34px;height:min(900px,96dvh);box-shadow:0 40px 120px #0009,inset 0 0 0 6px #0003}}.phone:before{content:"";z-index:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23c9a24b' stroke-opacity='0.12' stroke-width='1'%3E%3Cpath d='M48 6L58 38L90 48L58 58L48 90L38 58L6 48L38 38Z'/%3E%3Ccircle cx='48' cy='48' r='15'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(circle at 50% 18%,#c9a24b29,#0000 42%),radial-gradient(circle at 50% 100%,#c9a24b1f,#0000 55%),radial-gradient(circle at 20% 22%,#e6cf9217 1.5px,#0000 2px),radial-gradient(circle at 80% 78%,#e6cf9217 1.5px,#0000 2px);background-repeat:repeat,no-repeat,no-repeat,repeat,repeat;background-size:96px 96px,auto,auto,44px 44px,44px 44px;position:absolute;inset:0}.phone:after{content:"";z-index:3;pointer-events:none;box-shadow:inset 0 0 120px 30px var(--vignette);position:absolute;inset:0}#app:before{content:"";z-index:3;pointer-events:none;border:1px solid #c9a24b52;border-radius:20px;position:absolute;inset:26px;box-shadow:inset 0 0 0 4px #c9a24b0f}#petals{z-index:1;pointer-events:none;will-change:transform;position:absolute;inset:-24px}.corner{z-index:4;pointer-events:none;border:2px solid var(--gold);opacity:.55;width:62px;height:62px;position:absolute}.corner.tl{border-bottom:none;border-right:none;border-radius:18px 0 0;top:14px;left:14px}.corner.tr{border-bottom:none;border-left:none;border-radius:0 18px 0 0;top:14px;right:14px}.corner.bl{border-top:none;border-right:none;border-radius:0 0 0 18px;bottom:14px;left:14px}.corner.br{border-top:none;border-left:none;border-radius:0 0 18px;bottom:14px;right:14px}#app{z-index:2;position:absolute;inset:0}.screen{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;padding:72px 28px 84px;display:none;position:absolute;inset:0;overflow-y:auto}.screen.active{display:flex}.eyebrow{font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:.62rem;font-weight:500}.invite-line{font-family:var(--font-serif);color:var(--gold-soft);opacity:.92;max-width:30ch;margin:0 auto 18px;font-size:.98rem;font-style:italic;line-height:1.5}.invite-line:empty{display:none}.section-title{font-family:var(--font-serif);letter-spacing:.3px;color:var(--gold-bright);margin-bottom:18px;font-size:clamp(1.9rem,8vw,2.6rem);font-weight:600;line-height:1.25}.section-title:after,.ornament-divider{content:"";background-color:var(--gold);opacity:.85;width:128px;height:14px;margin:12px auto 0;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Crect x='6' y='6.4' width='40' height='1.2'/%3E%3Crect x='74' y='6.4' width='40' height='1.2'/%3E%3Ccircle cx='6' cy='7' r='1.8'/%3E%3Ccircle cx='114' cy='7' r='1.8'/%3E%3Cpath d='M60 1L64 7L60 13L56 7Z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Crect x='6' y='6.4' width='40' height='1.2'/%3E%3Crect x='74' y='6.4' width='40' height='1.2'/%3E%3Ccircle cx='6' cy='7' r='1.8'/%3E%3Ccircle cx='114' cy='7' r='1.8'/%3E%3Cpath d='M60 1L64 7L60 13L56 7Z'/%3E%3C/svg%3E") 50%/contain no-repeat}@keyframes shimmer{to{background-position:200%}}.btn{border:1px solid var(--gold-soft);color:#2b1f06;line-height:1.15;font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#b9863b,#e6cf92 45%,#fff6da 50%,#e6cf92 55%,#b9863b);border-radius:40px;justify-content:center;align-items:center;margin-top:28px;padding:13px 32px;font-size:.72rem;font-weight:600;transition:transform .25s,box-shadow .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #c9a24b59,inset 0 1px 1px #ffffff80}.btn:after{content:"";background:linear-gradient(100deg,#0000,#ffffffbf,#0000);width:60%;height:100%;animation:4.5s ease-in-out infinite sheen;position:absolute;top:0;left:-120%;transform:skew(-20deg)}@keyframes sheen{0%,60%{left:-120%}to{left:130%}}.btn:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 16px 34px #c9a24b80}.btn:active{transform:scale(.97)}.btn-ghost{color:var(--gold);box-shadow:none;background:0 0;border-color:#c9a24b99}.btn-ghost:after{display:none}.btn-yes{color:#fff;background:linear-gradient(135deg,#16694c,#2e9e73);border-color:#2e9e73;box-shadow:0 10px 24px #16694c66}.btn-yes:after{display:none}.link{color:var(--gold);letter-spacing:1px;cursor:pointer;background:0 0;border-bottom:1px solid #0000;margin-top:10px;font-size:.74rem;text-decoration:none;display:inline-block}.link:hover{border-bottom-color:var(--gold)}.divider{color:var(--gold);align-items:center;gap:12px;width:70%;margin:16px 0;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.divider span{font-size:1.1rem}.ornament-top,.ornament-bottom{background:radial-gradient(circle at 50% 100%, var(--gold) 0 2px, transparent 2px) 0 0/24px 24px repeat-x;opacity:.7;width:120px;height:26px;margin-bottom:14px}.ornament-bottom{margin-top:20px;margin-bottom:0;transform:rotate(180deg)}.crescent{filter:drop-shadow(0 0 16px #f3dfa0a6);width:74px;height:74px;margin-bottom:18px;animation:4s ease-in-out infinite floaty;position:relative}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.crescent:before{content:"";box-shadow:14px 6px 0 0 var(--gold-bright);background:0 0;border-radius:50%;position:absolute;inset:0}.crescent:after{content:"✦";color:var(--gold-bright);text-shadow:0 0 10px #f3dfa0e6;font-size:1.2rem;position:absolute;top:0;right:-8px}.crescent.small{width:54px;height:54px;margin-bottom:10px}.guest-card{box-shadow:var(--shadow), inset 0 0 24px #c9a24b14;-webkit-backdrop-filter:blur(8px);background:linear-gradient(160deg,#c9a24b24,#ffffff08);border:1px solid #c9a24b73;border-radius:14px;max-width:320px;margin-top:20px;padding:16px 26px;position:relative}.guest-card:before,.guest-card:after{content:"❖";color:var(--gold);opacity:.8;font-size:.8rem;position:absolute;top:50%;transform:translateY(-50%)}.guest-card:before{left:8px}.guest-card:after{right:8px}.guest-pre{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-size:.58rem;font-weight:500;display:block}.guest-name{font-family:var(--font-serif);color:var(--gold-bright);margin:2px 0;font-size:1.5rem;font-weight:600;line-height:1.35;display:block}.guest-family{font-family:var(--font-serif);letter-spacing:.3px;color:var(--gold);margin:-2px 0 4px;font-size:.9rem;font-style:italic;display:block}.guest-family:empty{display:none}.guest-suf{font-family:var(--font-serif);color:var(--ink);opacity:.85;font-size:.82rem;font-style:italic;display:block}.bismillah{font-family:var(--font-arabic);color:var(--gold);opacity:.85;direction:rtl;margin-bottom:4px;font-size:clamp(1.1rem,5vw,1.4rem);line-height:1.9}.bismillah-meaning{font-family:var(--font-serif);color:var(--ink);opacity:.85;max-width:320px;font-size:.95rem;font-style:italic}.intro-names{font-family:var(--font-serif);background:linear-gradient(100deg,#b9863b,#f3dfa0 45%,#fff6da 50%,#f3dfa0 55%,#b9863b) 0 0/200%;color:#0000;filter:drop-shadow(0 2px 10px #c9a24b59);-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;padding:.04em .1em .12em;font-size:2rem;font-weight:600;line-height:1.3;animation:5s linear infinite shimmer;overflow:visible}.hint{letter-spacing:2px;color:var(--gold);margin-top:22px;font-size:.72rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.hero-photo{border:2px solid var(--gold);width:150px;height:150px;box-shadow:0 0 0 6px #c9a24b26, 0 0 0 12px #c9a24b0f, var(--shadow);background-position:50%;background-size:cover;border-radius:50%;margin:8px 0 26px;position:relative;overflow:hidden}.hero-video{object-fit:cover;width:100%;height:100%;display:none;position:absolute;inset:0}.names{font-family:var(--font-serif);letter-spacing:.3px;color:var(--gold-bright);background:linear-gradient(100deg, var(--gold) 0%, var(--gold-bright) 40%, #fff6da 50%, var(--gold-bright) 60%, var(--gold) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.3rem,11vw,3.2rem);font-weight:600;line-height:1.15;animation:6s linear infinite shimmer}.parents{font-family:var(--font-serif);color:var(--ink);opacity:.8;margin-top:2px;font-size:.82rem}.parents:empty{display:none}.amp{font-family:var(--font-serif);color:var(--gold);margin:6px 0;font-size:1.5rem;font-style:italic}html[lang=hi] .names{line-height:1.25}html[lang=hi] .parents{margin-top:8px;line-height:1.5}html[lang=hi] #brideParents{margin-top:15px}html[lang=hi] .names{-webkit-text-fill-color:var(--gold-bright);color:var(--gold-bright);background:0 0;animation:none}.date-line{font-family:var(--font-serif);letter-spacing:2px;color:var(--gold);border-top:1px solid #c9a24b66;border-bottom:1px solid #c9a24b66;margin-top:18px;padding:8px 0;font-size:1.05rem}.quran-arabic{font-family:var(--font-arabic);color:var(--gold-bright);direction:rtl;max-width:360px;margin-bottom:18px;font-size:clamp(1.4rem,6.5vw,1.9rem);line-height:2}.quran-translation{font-family:var(--font-serif);color:var(--ink);max-width:360px;font-size:1.1rem;font-style:italic;line-height:1.55}.quran-ref{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:12px;font-size:.72rem}.story-photo{width:100%;max-width:300px;height:150px;box-shadow:var(--shadow);background-position:50%;background-size:cover;border:1px solid #c9a24b66;border-radius:14px;margin:6px 0 26px}.story-card{background:var(--card-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--card-border);max-width:360px;box-shadow:var(--shadow);border-radius:16px;padding:22px 20px}.story-card p{font-family:var(--font-sans);color:var(--ink);margin-bottom:12px;font-size:1rem;font-weight:400;line-height:1.7}.story-card p:last-child{margin-bottom:0}.blessing{max-width:340px;font-family:var(--font-serif);color:var(--gold-soft);margin-top:18px;font-size:1rem;line-height:1.6}.blessing-ref{font-family:var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-top:8px;font-size:.64rem;display:block}.blessing.typing:after{content:"▍";color:var(--gold-soft);animation:1s step-end infinite caretBlink}@keyframes caretBlink{50%{opacity:0}}.hub-hint{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--gold);opacity:.85;margin:4px 0 18px;font-size:.68rem}.home-hero{aspect-ratio:4/3;width:100%;max-width:340px;box-shadow:var(--shadow);background-position:50%;background-size:cover;border:1px solid #c9a24b66;border-radius:22px;align-items:flex-end;margin-bottom:20px;display:flex;position:relative;overflow:hidden}.home-hero .hero-video{object-fit:cover;width:100%;height:100%;display:none;position:absolute;inset:0}.home-hero-overlay{text-align:center;background:linear-gradient(#0000 0%,#04140e59 40%,#04140ee6 100%);width:100%;padding:24px 18px 20px;position:relative}.home-hero-overlay .names{font-size:clamp(2rem,10vw,2.8rem)}.home-hero-overlay .amp{margin:2px 0}.home-hero-overlay .date-line{margin-top:12px;font-size:.95rem}.tiles{grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:340px;display:grid}.tile{aspect-ratio:1;cursor:pointer;box-shadow:var(--shadow);background-position:50%;background-size:cover;border:1px solid #c9a24b66;border-radius:20px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.tile:after{content:"";background:linear-gradient(#0000,#04140e26 45%,#04140ed9);position:absolute;inset:0}.tile:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 20px 44px #00000080}.tile-label{z-index:1;font-family:var(--font-serif);color:var(--gold-bright);text-shadow:0 2px 10px #0009;font-size:1.1rem;font-style:italic;font-weight:600;position:absolute;bottom:14px;left:0;right:0}.tile:first-child{aspect-ratio:16/7;grid-column:1/-1}.events-grid{grid-template-columns:1fr;gap:12px;width:100%;max-width:340px;display:grid}.event-box{text-align:left;border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(8px);cursor:pointer;min-height:158px;box-shadow:var(--shadow);border-radius:18px;flex-direction:row;align-items:stretch;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.event-box:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 40px #0006}.event-box,.family-card{position:relative}.event-box:before,.event-box:after,.family-card:before,.family-card:after{content:"";pointer-events:none;border:1px solid var(--gold);opacity:.55;z-index:2;width:14px;height:14px;position:absolute}.event-box:before,.family-card:before{border-bottom:none;border-right:none;border-radius:6px 0 0;top:6px;left:6px}.event-box:after,.family-card:after{border-top:none;border-left:none;border-radius:0 0 6px;bottom:6px;right:6px}.event-box-img{background-position:50%;background-size:cover;flex-shrink:0;width:130px;position:relative}.event-box-body{flex-direction:column;flex:1;justify-content:center;padding:12px 16px;display:flex}.event-box-body h4{font-family:var(--font-serif);color:var(--gold-bright);font-size:1.25rem;font-weight:600}.event-box-body .ev-when{font-family:var(--font-sans);letter-spacing:.3px;color:var(--ink);opacity:.85;margin-top:3px;font-size:.74rem}.event-box-body .ev-where{font-family:var(--font-sans);color:var(--gold);opacity:.95;margin-top:5px;font-size:.7rem;line-height:1.35}.event-box-arrow{color:var(--gold);align-self:center;margin-left:auto;padding-right:14px;font-size:1.2rem}.detail-banner{aspect-ratio:1536/1034;border:1px solid var(--card-border);width:100%;max-width:360px;box-shadow:var(--shadow);background-position:50%;background-size:cover;border-radius:20px;margin-bottom:18px;overflow:hidden}.ed-when{font-family:var(--font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:.8rem}.ed-venue{text-align:center;margin-top:18px}.ed-venue-name{font-family:var(--font-serif);color:var(--ink);margin-bottom:12px;font-size:1.1rem}.ed-map{margin-top:0;padding:10px 24px;font-size:.68rem}.events-list{gap:14px;width:100%;max-width:360px;display:grid}.event-card{text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow);background:#ffffff0a;border:1px solid #c9a24b4d;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.event-ico{border:1px solid var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.7rem;display:flex}.event-body h4{font-family:var(--font-serif);color:var(--gold-bright);font-size:1.3rem}.event-body .ev-when{color:var(--ink);opacity:.85;margin:2px 0;font-size:.78rem}.event-body .ev-venue{font-family:var(--font-serif);font-size:.98rem}.event-body .link{margin-top:4px}.family-list{gap:14px;width:100%;max-width:360px;display:grid}.family-card{text-align:left;background:var(--card-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;transition:transform .25s,border-color .25s;display:flex}.family-card:hover{border-color:var(--gold);transform:translateY(-3px)}.family-avatar{border:1px solid var(--gold);background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;width:54px;height:54px}.family-avatar.mono{font-family:var(--font-serif);letter-spacing:1px;color:var(--gold-bright);background:linear-gradient(160deg,#c9a24b38,#ffffff08);justify-content:center;align-items:center;font-size:1rem;display:flex}.family-body h4{font-family:var(--font-serif);color:var(--gold-bright);font-size:1.15rem;line-height:1.2}.family-body .fam-rel{letter-spacing:1px;color:var(--ink);opacity:.8;font-size:.74rem}.countdown{gap:10px;display:flex}.cd-box{background:var(--card-bg);border:1px solid var(--card-border);min-width:66px;box-shadow:var(--shadow);perspective:320px;border-radius:12px;padding:14px 8px}.cd-box span{font-family:var(--font-serif);color:var(--gold-bright);transform-style:preserve-3d;will-change:transform;font-size:1.9rem;font-weight:600;display:block}.cd-box small{letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-size:.58rem}.rsvp-sub{font-family:var(--font-serif);max-width:320px;margin-bottom:22px;font-size:1.15rem}.rsvp-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.rsvp-actions .btn{margin-top:0}.signoff{font-family:var(--font-serif);margin-top:28px;font-size:1rem}.signoff .script{font-family:var(--font-script);color:var(--gold-bright);word-spacing:.18em;margin-top:4px;padding-bottom:.12em;font-size:2rem;line-height:1.5;display:inline-block}html[lang=hi] .signoff .script{font-family:var(--font-serif);letter-spacing:normal;word-spacing:.12em;font-size:1.5rem}.music-btn{z-index:12;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:42px;height:42px;color:var(--gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:transform .3s;display:flex;position:absolute;top:20px;left:20px}.music-btn:hover{transform:scale(1.1)}.music-eq{justify-content:center;align-items:flex-end;gap:2px;height:14px;display:none}.music-eq i{background:var(--gold);transform-origin:bottom;border-radius:1px;width:2.5px;height:40%;animation:.9s ease-in-out infinite eqBar;display:block}.music-eq i:nth-child(2){animation-delay:.18s}.music-eq i:nth-child(3){animation-delay:.36s}.music-btn.playing .music-icon{display:none}.music-btn.playing .music-eq{display:flex}@keyframes eqBar{0%,to{height:30%}50%{height:100%}}.theme-btn{z-index:12;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:42px;height:42px;color:var(--gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:transform .3s;display:flex;position:absolute;top:20px;left:70px}.theme-btn:hover{transform:scale(1.1)rotate(12deg)}.lang-btn{z-index:12;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:42px;height:42px;color:var(--gold);font-family:var(--font-sans);letter-spacing:.5px;cursor:pointer;border-radius:21px;justify-content:center;align-items:center;padding:0 10px;font-size:.8rem;font-weight:600;transition:transform .3s;display:flex;position:absolute;top:20px;left:120px}.lang-btn:hover{transform:scale(1.06)}.menu-btn{z-index:30;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;transition:transform .3s;display:flex;position:absolute;top:20px;right:20px}.menu-btn span{background:var(--gold);border-radius:2px;width:18px;height:2px;transition:transform .3s,opacity .3s;display:block}.menu-btn:hover{transform:scale(1.08)}.menu-btn.active span:first-child{transform:translateY(6px)rotate(45deg)}.menu-btn.active span:nth-child(2){opacity:0}.menu-btn.active span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-drawer{z-index:29;background:var(--drawer-bg);border-left:1px solid var(--card-border);width:74%;max-width:300px;height:100%;padding:76px 26px 26px;transition:transform .4s cubic-bezier(.3,.8,.2,1);position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px #0006}.nav-drawer.open{transform:translate(0)}.nav-close{width:34px;height:34px;color:var(--gold);cursor:pointer;background:0 0;border:1px solid #c9a24b80;border-radius:50%;font-size:.9rem;position:absolute;top:20px;right:20px}.nav-title{font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:18px;font-size:.62rem;font-weight:600}.nav-drawer ul{list-style:none}.nav-drawer li{font-family:var(--font-serif);color:var(--ink);cursor:pointer;border-bottom:1px solid #c9a24b24;padding:13px 0;font-size:1.25rem;transition:color .25s,padding-left .25s}.nav-drawer li:hover{color:var(--gold-bright);padding-left:8px}.nav-backdrop{z-index:28;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#00000080;transition:opacity .35s;position:absolute;inset:0}.nav-backdrop.show{opacity:1;pointer-events:auto}.back-btn{z-index:12;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--gold);font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;border-radius:30px;padding:9px 18px 9px 14px;font-size:.66rem;font-weight:600;transition:opacity .3s,transform .3s,background .25s;position:absolute;bottom:22px;left:22px;transform:translateY(10px)}.back-btn.show{opacity:1;pointer-events:auto;transform:translateY(0)}.back-btn:hover{background:#c9a24b2e}.reveal{opacity:0}.splash{z-index:60;background:var(--bg-gradient);flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .8s,visibility .8s;display:flex;position:absolute;inset:0}.splash.hide{opacity:0;visibility:hidden}.splash-monogram-wrap{justify-content:center;align-items:center;width:126px;height:126px;display:flex;position:relative}.splash-ring{border:1px solid #c9a24b4d;border-top-color:var(--gold-bright);border-radius:50%;width:168px;height:168px;margin:-84px 0 0 -84px;animation:1.5s linear infinite splashSpin;position:absolute;top:50%;left:50%}@keyframes splashSpin{to{transform:rotate(360deg)}}.splash-monogram{background:radial-gradient(circle,#c9a24b29,#0000 72%);border:1px solid #c9a24b80;border-radius:50%;justify-content:center;align-items:center;width:126px;height:126px;display:flex;position:relative;box-shadow:0 0 40px #c9a24b2e}.splash-monogram span,.splash-names{font-family:var(--font-serif);background:linear-gradient(100deg,#b9863b,#f3dfa0 45%,#fff6da 50%,#f3dfa0 55%,#b9863b) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:600;animation:4s linear infinite shimmer}.splash-monogram span{letter-spacing:1px;padding:0 .06em;font-size:1.9rem}.splash-names{letter-spacing:1px;padding-bottom:.1em;font-size:1.25rem;font-style:italic}.splash-progress{background:#c9a24b33;border-radius:3px;width:160px;height:3px;margin-top:8px;overflow:hidden}.splash-progress span{background:linear-gradient(90deg, var(--gold), var(--gold-bright));width:0%;height:100%;transition:width .35s;display:block}.envelope{z-index:55;background:var(--bg-gradient);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:34px;transition:opacity .6s,visibility .6s;display:flex;position:absolute;inset:0}.envelope.hide{opacity:0;visibility:hidden;pointer-events:none}.env-glow{filter:blur(6px);background:radial-gradient(circle,#c9a24b47,#0000 70%);border-radius:50%;width:320px;height:320px;animation:3s ease-in-out infinite envGlow;position:absolute}@keyframes envGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.env-body{perspective:1000px;filter:drop-shadow(0 26px 50px #0000008c);width:300px;height:200px;position:relative}.env-back{z-index:1;border:1px solid var(--gold);background:linear-gradient(160deg,#1d2b24,#0f1813);border-radius:12px;position:absolute;inset:0}.env-card{z-index:2;border:1px solid var(--gold);background:linear-gradient(160deg,#fbf4e6,#efe1c6);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:150px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 10px 24px #00000059}.env-card-eyebrow{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:#b0863b;font-size:.52rem}.env-card-names{font-family:var(--font-serif);color:#9c6f22;font-size:1.5rem;font-weight:600}.env-card-sub{font-family:var(--font-serif);letter-spacing:.5px;color:#9c6f22;opacity:.95;font-size:.95rem;font-style:italic}.env-front{z-index:4;border:1px solid var(--gold);clip-path:polygon(0 100%,0 20%,50% 60%,100% 20%,100% 100%);background:linear-gradient(160deg,#223229,#131e18);border-radius:12px;position:absolute;inset:0}.env-flap{z-index:6;border:1px solid var(--gold);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:hidden;background:linear-gradient(160deg,#2b3e32,#17241d);height:62%;position:absolute;top:0;left:0;right:0}.env-seal{z-index:8;cursor:pointer;color:#3a2a06;width:58px;height:58px;font-family:var(--font-serif);letter-spacing:-1px;background:radial-gradient(circle at 34% 30%,#e0b25a,#9c6f22 70%);border:2px solid #f3dfa0;border-radius:50%;justify-content:center;align-items:center;margin:-29px 0 0 -29px;font-size:1.05rem;font-weight:700;animation:2.4s ease-in-out infinite sealPulse;display:flex;position:absolute;top:38%;left:50%;box-shadow:0 6px 16px #00000073,inset 0 2px 4px #ffffff73}@keyframes sealPulse{0%,to{box-shadow:0 6px 16px #00000073,inset 0 2px 4px #ffffff73,0 0 #c9a24b80}50%{box-shadow:0 6px 16px #00000073,inset 0 2px 4px #ffffff73,0 0 0 12px #c9a24b00}}.env-seal:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(120deg,#0000 34%,#ffffffb3 50%,#0000 66%) 0 0/220% 100%;border-radius:50%;animation:3.4s ease-in-out infinite sealShine;position:absolute;inset:0}@keyframes sealShine{0%{background-position:160% 0}55%,to{background-position:-60% 0}}.env-hint{z-index:2;font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-size:.7rem;animation:2s ease-in-out infinite pulse;position:relative}.progress-dots{z-index:12;background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #c9a24b47;border-radius:22px;align-items:center;gap:8px;padding:7px 13px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.p-dot{border:1px solid var(--gold);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0;transition:width .3s,background .3s,box-shadow .3s}.p-dot.active{background:var(--gold-bright);width:22px;box-shadow:0 0 8px var(--gold-soft);border-radius:5px}.event-box-img,.family-avatar,.story-photo,.detail-banner,.home-hero,.tile,.hero-photo{background-color:#c9a24b14;transition:filter .6s,transform .6s}.img-loading{filter:blur(14px);transform:scale(1.03)}.palette-btn{z-index:12;border:1px solid var(--gold);background:var(--btn-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:42px;height:42px;color:var(--gold);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;transition:transform .3s;display:flex;position:absolute;top:20px;right:74px}.palette-btn:hover{transform:scale(1.1)rotate(20deg)}.ed-map-embed{border:1px solid var(--card-border);width:100%;max-width:360px;height:158px;box-shadow:var(--shadow);border-radius:16px;margin:6px auto 14px;overflow:hidden}.ed-map-embed iframe{border:0;width:100%;height:100%;display:block}.ed-map-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.ed-directions{margin-top:0;padding:11px 28px;display:inline-block}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important}.names{-webkit-text-fill-color:var(--gold-bright);color:var(--gold-bright);background:0 0}.env-seal:after{display:none}}@media (width<=360px){.cd-box{min-width:58px}.cd-box span{font-size:1.5rem}.hero-photo{width:128px;height:128px}}
