:root{--color-watercolor-blue: #C7E2F2;--color-pale-blue: #EAF5FB;--color-white: #FFFFFF;--color-primary-blue: #526B9C;--color-deep-blue: #354F7D;--color-dark-blue: #233658;--color-card-bg: rgba(255, 255, 255, .92);--color-gold: #D8B653;--color-gold-light: #F7E7B4;--color-gold-dark: #B59336;--color-text: #454545;--color-text-muted: #6B7280;--color-border: rgba(82, 107, 156, .2);--font-script: "Great Vibes", "Alex Brush", cursive;--font-serif: "Playfair Display", "Cinzel", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-arabic: "Amiri", "Traditional Arabic", serif;--shadow-sm: 0 2px 8px rgba(53, 79, 125, .08);--shadow-md: 0 8px 24px rgba(53, 79, 125, .12);--shadow-lg: 0 16px 40px rgba(53, 79, 125, .16);--shadow-glow: 0 0 25px rgba(216, 182, 83, .35);--transition-smooth: all .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background-color:#dceaf5;background-image:url(/assets/watercolor-bg-C3yD7rSD.jpg);background-repeat:repeat-y;background-position:center top;background-size:100% auto;line-height:1.6;overflow-x:hidden;position:relative}body.invitation-locked{overflow:hidden;height:100vh}.main-wrapper{width:100%;max-width:480px;margin:0 auto;background-color:var(--color-white);background-image:url(/assets/watercolor-bg-C3yD7rSD.jpg);background-repeat:repeat-y;background-position:center top;background-size:100% auto;box-shadow:0 0 50px #354f7d2e;min-height:100vh;position:relative;overflow:hidden;padding-bottom:90px}.font-script{font-family:var(--font-script)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.font-arabic{font-family:var(--font-arabic);direction:rtl}.text-center{text-align:center}.tracking-widest{letter-spacing:.25em}.section{padding:60px 24px;position:relative}.section-container{width:100%;position:relative;z-index:2}.section-badge{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary-blue);margin-bottom:8px;font-weight:600}.section-title{font-size:1.85rem;color:var(--color-deep-blue);margin-bottom:16px;font-weight:700;line-height:1.25}.section-lead{font-size:.92rem;color:var(--color-text-muted);max-width:380px;margin:0 auto 32px;line-height:1.65}.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 28px;border-radius:9999px;font-family:var(--font-sans);font-size:.92rem;font-weight:600;cursor:pointer;border:none;outline:none;text-decoration:none;transition:var(--transition-smooth);box-shadow:var(--shadow-sm)}.btn-primary{background:linear-gradient(135deg,var(--color-primary-blue) 0%,var(--color-deep-blue) 100%);color:var(--color-white)}.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px #354f7d4d;filter:brightness(1.08)}.btn-secondary{background:#fffffff2;color:var(--color-deep-blue);border:1px solid rgba(82,107,156,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--color-white);color:var(--color-primary-blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-deep-blue);border:1.5px solid var(--color-primary-blue)}.btn-outline:hover{background:var(--color-primary-blue);color:var(--color-white);transform:translateY(-2px)}.btn-copy{background:var(--color-pale-blue);color:var(--color-deep-blue);border:1px solid rgba(82,107,156,.25);padding:8px 18px;font-size:.85rem}.btn-copy:hover{background:var(--color-primary-blue);color:var(--color-white)}.btn-block{width:100%}@keyframes pulseGlow{0%{box-shadow:0 0 #526b9c80}70%{box-shadow:0 0 0 14px #526b9c00}to{box-shadow:0 0 #526b9c00}}.pulse-btn{animation:pulseGlow 2.5s infinite}.cover-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background-color:var(--color-pale-blue);background-image:url(/assets/watercolor-bg-C3yD7rSD.jpg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .9s cubic-bezier(.77,0,.175,1),opacity .8s ease}.cover-screen.opened{transform:translateY(-100%);pointer-events:none}.flower-corner{position:absolute;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 12px rgba(82,107,156,.12))}.flower-top-left{top:0;left:0;width:170px;max-width:45vw}.flower-top-right{top:0;right:0;width:180px;max-width:48vw}.flower-bottom-left{bottom:0;left:0;width:110px;max-width:32vw}.flower-bottom-right{bottom:0;right:0;width:110px;max-width:32vw}.cover-content{position:relative;z-index:2;width:90%;max-width:400px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:50px 16px 20px;margin-top:16px}.cover-subtitle{font-size:.82rem;font-weight:600;color:var(--color-primary-blue);margin-bottom:18px}.cover-avatar-wrapper{position:relative;margin:6px auto 20px;display:flex;align-items:center;justify-content:center;width:fit-content}.cover-avatar-circle{width:196px;height:276px;border-radius:98px 98px 26px 26px;overflow:hidden;border:4.5px solid #FFFFFF;background:#fff;box-shadow:0 16px 40px #354f7d38,0 0 0 1.5px #d8b653bf;position:relative;z-index:2;margin:0 auto;transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .5s ease}.cover-avatar-circle:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 48px #354f7d47,0 0 0 2px #d8b653f2}.cover-avatar-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.25,1,.5,1);display:block}.cover-avatar-circle:hover .cover-avatar-img{transform:scale(1.05)}.avatar-ring-glow{position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:107px 107px 35px 35px;border:1.5px solid rgba(216,182,83,.55);box-shadow:0 0 26px #d8b65359;pointer-events:none;z-index:1;animation:archPulse 4s ease-in-out infinite alternate}@media(max-height:720px){.cover-avatar-circle{width:172px;height:242px;border-radius:86px 86px 22px 22px}.avatar-ring-glow{top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:94px 94px 30px 30px}}@keyframes archPulse{0%{transform:scale(.99);opacity:.75;border-color:#d8b65366}to{transform:scale(1.015);opacity:1;border-color:#d8b653d9;box-shadow:0 0 28px #d8b65373}}.cover-names{font-size:3.2rem;line-height:1.1;color:var(--color-deep-blue);margin-bottom:6px;text-shadow:0 2px 8px rgba(82,107,156,.15)}.cover-date{font-size:1.05rem;letter-spacing:.25em;color:var(--color-gold-dark);font-weight:600;margin-bottom:24px}.guest-box{background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(82,107,156,.2);border-radius:20px;padding:16px 20px;width:100%;margin-bottom:24px;box-shadow:var(--shadow-sm)}.guest-greeting{font-size:.8rem;color:var(--color-text-muted);margin-bottom:6px}.guest-name-badge{margin:6px 0}.guest-name{font-size:1.35rem;color:var(--color-deep-blue);font-family:var(--font-serif);font-weight:700;word-break:break-word}.guest-disclaimer{font-size:.72rem;color:var(--color-text-muted);font-style:italic;margin-top:6px}.hero-section{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:0 0 32px;overflow:hidden;text-align:center;background:linear-gradient(180deg,transparent 0%,rgba(225,240,252,.25) 45%,rgba(215,235,248,.45) 100%)}.hero-photo-container{width:100%;height:48vh;min-height:310px;max-height:400px;position:relative;overflow:hidden}.hero-photo-img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.hero-photo-gradient-fade{position:absolute;bottom:0;left:0;right:0;height:95px;background:linear-gradient(180deg,#fff0,#e1f0fc4d 40%,#daecf9b3 75%,#d7ebf8f2);pointer-events:none}.hero-text-container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 16px;margin-top:-12px}.hero-pretitle{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:#4f6692;font-weight:600;margin-bottom:2px}.hero-couple-title{font-size:3.1rem;line-height:1.1;color:#4f6692;font-family:var(--font-script);font-weight:400;text-shadow:0 1px 2px rgba(79,102,146,.15);margin-bottom:2px}.hero-wedding-date{font-family:var(--font-serif);font-style:italic;font-size:.95rem;letter-spacing:.05em;color:#35472f;margin-bottom:14px}.countdown-container{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;margin:0 auto 16px}.countdown-card{flex:1;background:linear-gradient(135deg,#ffffffe0,#e4f2fcbf);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(82,107,156,.2);border-radius:18px 5px;padding:9px 4px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 14px #354f7d14;transition:var(--transition-smooth)}.countdown-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #354f7d1f;border-color:#d8b65380}.cd-num{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--color-deep-blue);line-height:1.1}.cd-label{font-size:.68rem;color:var(--color-primary-blue);text-transform:capitalize;letter-spacing:.05em;font-weight:600;margin-top:2px}.btn-calendar-blue{background:linear-gradient(135deg,var(--color-primary-blue) 0%,var(--color-deep-blue) 100%);color:var(--color-white);border-radius:9999px;padding:8px 24px;font-size:.88rem;font-weight:600;display:inline-flex;align-items:center;gap:8px;border:none;box-shadow:0 4px 14px #354f7d33;cursor:pointer;transition:var(--transition-smooth)}.btn-calendar-blue:hover{transform:translateY(-2px);box-shadow:0 6px 18px #354f7d4d;filter:brightness(1.08)}.hero-scroll-indicator{position:relative;z-index:2;margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.8}.mouse-icon{width:20px;height:32px;border:2px solid rgba(255,255,255,.7);border-radius:12px;position:relative}.mouse-icon:after{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:4px;height:6px;background:var(--color-white);border-radius:2px;animation:mouseWheel 1.6s infinite}@keyframes mouseWheel{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,10px);opacity:0}}.scroll-text{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.greeting-section{background:transparent}.bismillah-text{font-size:1.85rem;color:var(--color-deep-blue);margin-bottom:18px;letter-spacing:.05em}.greeting-lead{font-size:.94rem;color:var(--color-text);line-height:1.7;margin-bottom:28px}.quran-card{background:var(--color-card-bg);border:1px solid rgba(216,182,83,.35);border-radius:20px;padding:30px 22px;position:relative;box-shadow:var(--shadow-sm);margin-top:10px}.quran-card-corner{position:absolute;width:14px;height:14px;border-color:var(--color-gold)}.quran-card-corner.tl{top:8px;left:8px;border-top:2px solid;border-left:2px solid}.quran-card-corner.tr{top:8px;right:8px;border-top:2px solid;border-right:2px solid}.quran-card-corner.bl{bottom:8px;left:8px;border-bottom:2px solid;border-left:2px solid}.quran-card-corner.br{bottom:8px;right:8px;border-bottom:2px solid;border-right:2px solid}.arabic-quote{font-size:1.4rem;line-height:2;color:var(--color-dark-blue);margin-bottom:16px}.quote-translation{font-size:.88rem;font-style:italic;color:var(--color-text-muted);line-height:1.65;margin-bottom:14px}.quote-source{font-size:.85rem;font-weight:600;color:var(--color-gold-dark);letter-spacing:.1em}.couple-section{padding-top:20px}.profile-card{display:flex;flex-direction:column;align-items:center;margin:20px 0}.oval-frame-container{position:relative;width:190px;height:260px;margin-bottom:18px}.oval-frame-border{width:100%;height:100%;border-radius:100px;padding:6px;background:linear-gradient(135deg,var(--color-pale-blue) 0%,var(--color-primary-blue) 100%);box-shadow:var(--shadow-md),0 0 0 1px var(--color-gold-light);overflow:hidden}.oval-frame-img{width:100%;height:100%;border-radius:96px;object-fit:cover;transition:transform .6s ease}.bride-img,.groom-img{object-position:center center}.profile-card:hover .oval-frame-img{transform:scale(1.05)}.profile-name{font-size:2.8rem;color:var(--color-deep-blue);line-height:1.2;margin-bottom:6px}.profile-parent-lead{font-size:.82rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-gold-dark);font-weight:600;margin-top:4px}.profile-parents{font-size:.95rem;color:var(--color-text);font-weight:500;margin-top:4px;margin-bottom:14px}.social-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:9999px;background:var(--color-pale-blue);color:var(--color-deep-blue);font-size:.82rem;font-weight:600;text-decoration:none;border:1px solid rgba(82,107,156,.25);transition:var(--transition-smooth)}.social-pill:hover{background:var(--color-primary-blue);color:var(--color-white);transform:translateY(-2px)}.couple-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0}.divider-line{flex:1;max-width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.ampersand{font-size:3.5rem;color:var(--color-gold);line-height:1}.events-section{background:transparent}.events-grid{display:flex;flex-direction:column;gap:32px;margin-top:10px}.event-card{position:relative;background:var(--color-card-bg);border-radius:26px;border:1px solid rgba(82,107,156,.2);box-shadow:var(--shadow-md);overflow:hidden;padding:36px 20px 32px}.card-ornament{position:absolute;bottom:0;width:90px;max-width:25%;pointer-events:none;opacity:.85}.card-orn-left{left:0}.card-orn-right{right:0}.event-card-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.event-icon-circle{width:52px;height:52px;border-radius:50%;background:var(--color-pale-blue);color:var(--color-primary-blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:var(--shadow-sm)}.event-type{font-size:1.6rem;color:var(--color-deep-blue);font-weight:700;margin-bottom:6px}.event-divider-orn{width:48px;height:2px;background:var(--color-gold);margin-bottom:14px;border-radius:2px}.event-day{font-size:.85rem;letter-spacing:.25em;font-weight:700;color:var(--color-gold-dark)}.event-date{font-size:1.25rem;font-weight:700;color:var(--color-dark-blue);margin-bottom:10px}.event-time-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-pale-blue);color:var(--color-deep-blue);padding:6px 16px;border-radius:9999px;font-size:.85rem;font-weight:600;margin-bottom:18px}.event-venue-box{margin-bottom:22px}.venue-lead{font-size:.78rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.1em}.venue-name{font-size:1.05rem;font-weight:700;color:var(--color-dark-blue);margin:4px 0}.venue-address{font-size:.86rem;color:var(--color-text-muted);max-width:320px;line-height:1.5}.event-map-wrapper{width:100%;margin:16px 0 20px;border-radius:18px;overflow:hidden;border:1.5px solid rgba(82,107,156,.22);box-shadow:0 6px 18px #354f7d1a;background-color:var(--color-pale-blue);line-height:0;position:relative}.event-map-wrapper iframe{width:100%;height:220px;border:0;display:block}.story-timeline{position:relative;display:flex;flex-direction:column;gap:32px;margin-top:10px}.story-timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:50%;transform:translate(-50%);width:2px;background:linear-gradient(180deg,var(--color-watercolor-blue),var(--color-primary-blue),var(--color-watercolor-blue))}.story-item{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.story-card{background:var(--color-card-bg);border:1px solid rgba(82,107,156,.18);border-radius:20px;padding:18px;width:100%;max-width:380px;box-shadow:var(--shadow-sm);text-align:center}.story-img-wrapper{width:100%;height:215px;border-radius:14px;overflow:hidden;margin-bottom:14px}.story-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease}.story-card:hover .story-img{transform:scale(1.04)}.story-year-badge{display:inline-block;background:var(--color-primary-blue);color:var(--color-white);padding:4px 14px;border-radius:9999px;font-size:.8rem;font-weight:700;letter-spacing:.1em;margin-bottom:8px}.story-title{font-size:1.15rem;color:var(--color-deep-blue);font-weight:700;margin-bottom:8px}.story-desc{font-size:.86rem;color:var(--color-text);line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px;align-items:start}.gallery-item{position:relative;overflow:hidden;cursor:pointer;border-radius:18px;background:linear-gradient(135deg,#ffffffd9,#ebf4fca6);border:2px solid rgba(255,255,255,.95);box-shadow:0 6px 20px #354f7d14,0 1px 3px #0000000a;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,border-color .35s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px #354f7d29,0 0 0 1px #d8b65366;border-color:#fff}.gallery-item.layout-arch-tall{aspect-ratio:3 / 4.4;border-radius:46px 14px 14px}.gallery-item.layout-leaf-right{aspect-ratio:3 / 4.1;border-radius:14px 46px 14px 14px;margin-top:16px}.gallery-item.layout-leaf-left{aspect-ratio:3 / 4.1;border-radius:32px 10px}.gallery-item.layout-tall{aspect-ratio:3 / 4.4;border-radius:10px 32px}.gallery-item.layout-compact{aspect-ratio:4 / 3.2;border-radius:18px;align-self:center}.gallery-item.layout-banner{grid-column:span 2;aspect-ratio:3 / 2;border-radius:22px;margin:4px 0;box-shadow:0 8px 24px #354f7d1a,inset 0 0 0 1px #d8b6534d}.gallery-item.layout-banner .gallery-img{object-position:center top}.gallery-item.layout-banner-final{grid-column:span 2;aspect-ratio:3 / 2;border-radius:24px;margin-top:4px;box-shadow:0 8px 24px #354f7d1a}.gallery-item.layout-banner-final .gallery-img{object-position:center top}.gallery-item.layout-arch-center{grid-column:span 2;width:100%;max-width:320px;margin:10px auto;aspect-ratio:3 / 4.2;border-radius:64px 64px 20px 20px;box-shadow:0 10px 32px #354f7d24,0 0 0 2px #d8b65359}.gallery-item.layout-arch-center:hover{transform:translateY(-5px) scale(1.02)}.gallery-tag-pill{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border-radius:999px;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-deep-blue);font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 12px #0000001f;border:1px solid rgba(216,182,83,.5);pointer-events:none}.gallery-img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.gallery-item:hover .gallery-img{transform:scale(1.06)}.gallery-overlay-icon{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#23365859,#2336588c);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:var(--color-white)}.gallery-item:hover .gallery-overlay-icon{opacity:1}.lightbox-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:none;align-items:center;justify-content:center}.lightbox-modal.active{display:flex}.lightbox-modal[hidden]{display:none!important}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a1423e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lightbox-wrapper{position:relative;z-index:2;width:92%;max-width:600px;display:flex;align-items:center;justify-content:center}.lightbox-slide{text-align:center;width:100%}.lightbox-img{max-width:100%;max-height:75vh;border-radius:12px;box-shadow:var(--shadow-lg);object-fit:contain;margin:0 auto}.lightbox-caption{color:var(--color-white);font-size:.9rem;margin-top:12px}.lightbox-btn{position:absolute;background:#fff3;color:var(--color-white);border:none;font-size:1.5rem;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.lightbox-btn:hover{background:var(--color-white);color:var(--color-deep-blue)}.lightbox-close{top:-50px;right:0;font-size:1.2rem}.lightbox-prev{left:-20px}.lightbox-next{right:-20px}.gift-cards-list{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.digital-envelope-card{position:relative;border-radius:20px;padding:24px 20px;color:var(--color-white);box-shadow:var(--shadow-md);text-align:left;overflow:hidden}.card-bca{background:linear-gradient(135deg,#005697,#003662)}.card-dana{background:linear-gradient(135deg,#118eea,#0861a5)}.card-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bank-logo-img{height:28px;object-fit:contain;filter:brightness(0) invert(1)}.card-chip-img{height:30px;object-fit:contain}.card-number-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.card-number-val{font-family:monospace,var(--font-sans);font-size:1.35rem;letter-spacing:.15em;font-weight:700;margin:4px 0 10px}.card-holder-name{font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.card-actions{margin-top:16px;display:flex;justify-content:flex-end}.physical-gift-card{background:var(--color-card-bg);border:1px dashed var(--color-primary-blue);border-radius:20px;padding:24px 18px;text-align:center}.gift-icon-badge{color:var(--color-gold);margin-bottom:8px}.physical-gift-title{font-size:1.2rem;color:var(--color-deep-blue);font-weight:700;margin-bottom:8px}.physical-recipient,.physical-phone{font-size:.88rem;color:var(--color-text);font-weight:600}.physical-address{font-size:.85rem;color:var(--color-text-muted);margin:8px 0 16px;line-height:1.5}.invitation-form{background:var(--color-card-bg);border:1px solid rgba(82,107,156,.2);border-radius:22px;padding:26px 20px;box-shadow:var(--shadow-sm);text-align:left}.form-group{margin-bottom:18px}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-deep-blue);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:1.5px solid rgba(82,107,156,.25);border-radius:12px;font-family:var(--font-sans);font-size:.92rem;color:var(--color-text);background:var(--color-white);transition:var(--transition-smooth)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-blue);outline:none;box-shadow:0 0 0 3px #526b9c26}.radio-attendance-group{display:flex;flex-direction:column;gap:10px}.radio-card{display:block;cursor:pointer}.radio-card input{display:none}.radio-card-content{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(82,107,156,.25);background:var(--color-white);transition:var(--transition-smooth)}.radio-circle{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-text-muted);position:relative;transition:var(--transition-smooth)}.radio-card input:checked+.radio-card-content{border-color:var(--color-primary-blue);background:var(--color-pale-blue)}.radio-card input:checked+.radio-card-content .radio-circle{border-color:var(--color-primary-blue);background:var(--color-primary-blue)}.radio-card input:checked+.radio-card-content .radio-circle:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:var(--color-white);border-radius:50%}.char-counter{font-size:.72rem;color:var(--color-text-muted);text-align:right;margin-top:4px}.form-error-msg{display:block;font-size:.75rem;color:#e53e3e;margin-top:4px}.status-alert{margin-top:16px;padding:12px 16px;border-radius:12px;font-size:.88rem;font-weight:500;text-align:center}.status-alert.success{background:#e6fffa;color:#234e52;border:1px solid #B2F5EA}.status-alert.error{background:#fff5f5;color:#742a2a;border:1px solid #FED7D7}.rsvp-section{padding-bottom:50px}.wishes-list-container{margin-top:28px;text-align:left}.wishes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.wishes-count-badge{display:inline-flex;align-items:center;gap:6px;font-size:1.05rem;color:var(--color-deep-blue);font-weight:700;padding:6px 14px;background:#fffc;border-radius:999px;border:1px solid rgba(79,102,146,.15);box-shadow:var(--shadow-sm)}.wishes-feed{display:flex;flex-direction:column;gap:14px;max-height:480px;overflow-y:auto;padding-right:6px}.wish-item-card{background:var(--color-card-bg);border:1px solid rgba(82,107,156,.15);border-radius:16px;padding:16px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}@keyframes wishCardSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.wish-item-card.just-added{animation:wishCardSlideIn .55s cubic-bezier(.16,1,.3,1) forwards;border-color:#d8b653a6;box-shadow:0 6px 20px #526b9c38}.wish-item-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.wish-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-pale-blue),var(--color-primary-blue));color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}.wish-sender-name{font-weight:700;color:var(--color-deep-blue);font-size:.92rem}.wish-header-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.wish-time{font-size:.72rem;color:var(--color-text-muted)}.wish-status-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.wish-status-badge.hadir{background:#e6fffa;color:#234e52;border:1px solid #B2F5EA}.wish-status-badge.tidak-hadir{background:#fff5f5;color:#742a2a;border:1px solid #FED7D7}.wish-message-body{font-size:.86rem;color:var(--color-text);line-height:1.55;white-space:pre-line}.empty-wishes{text-align:center;padding:30px 10px;color:var(--color-text-muted);font-size:.88rem;font-style:italic}.closing-section{padding:0 0 calc(74px + env(safe-area-inset-bottom,0px)) 0;margin-bottom:-90px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;position:relative;overflow:hidden;background:linear-gradient(180deg,#dceaf5,#e1f0fc80 40%,#fff)}.closing-photo-hero{width:100%;height:52vh;min-height:360px;max-height:480px;position:relative;overflow:hidden;background-color:var(--color-deep-blue)}.closing-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 26%;transform:scale(1.2);transform-origin:center 26%;display:block}.closing-photo-fade{position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(180deg,#fff0,#e1f0fc66 40%,#ffffffd9 75%,#fff);pointer-events:none}.closing-content-wrapper{position:relative;z-index:2;padding:0 16px;margin-top:-26px;display:flex;flex-direction:column;align-items:center;width:100%}.closing-card{position:relative;background:#fffffff0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:24px;border:1px solid rgba(216,182,83,.45);box-shadow:0 12px 36px #354f7d1f,0 2px 6px #0000000a;overflow:hidden;padding:22px 20px 18px;width:100%;max-width:420px;margin:0 auto}.closing-card-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.closing-gratitude{font-size:.88rem;color:var(--color-text);max-width:330px;margin:0 auto 10px;line-height:1.55}.closing-salam{font-size:.92rem;font-weight:700;color:var(--color-deep-blue);margin-bottom:14px}.closing-signature{margin-top:2px}.closing-regards{font-size:.76rem;color:var(--color-gold-dark);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.closing-couple-names{font-size:2.7rem;color:var(--color-deep-blue);line-height:1.15;margin:2px 0 3px}.closing-families{font-size:.88rem;color:var(--color-text-muted)}.site-footer{margin-top:18px;padding-top:0;position:relative;z-index:2}.footer-divider{width:48px;height:1.5px;background:var(--color-gold);margin:0 auto 10px;opacity:.6}.footer-copy{font-size:.74rem;color:var(--color-text-muted);margin-bottom:2px}.footer-sub{font-size:.68rem;color:var(--color-primary-blue);margin-top:3px;letter-spacing:.05em}.floating-actions-right{position:fixed;right:14px;top:48%;transform:translateY(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:auto}.fab-circle{width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;flex:0 0 36px;border-radius:50%;background:#4f6692;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #4f669259;transition:var(--transition-smooth)}.fab-circle:hover{transform:scale(1.1);background:#3c5177}.fab-music.playing{animation:pulseMusic 2.5s infinite}@keyframes pulseMusic{0%{box-shadow:0 0 #4f669280}70%{box-shadow:0 0 0 10px #4f669200}to{box-shadow:0 0 #4f669200}}.floating-nav{position:fixed;bottom:16px;left:0;right:0;z-index:10000;display:flex;justify-content:center;pointer-events:none;transition:var(--transition-smooth)}.ud-navmenu-capsule{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#ffffffbf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:9999px;padding:5px 8px;box-shadow:0 4px 18px #4f669233}.ud-nav-circle{width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;flex:0 0 36px;border-radius:50%;background:#fff;color:#4f6692;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 2px 5px #0000001a;transition:var(--transition-smooth);cursor:pointer}.ud-nav-circle svg{width:17px;height:17px;flex-shrink:0}.ud-nav-circle:hover,.ud-nav-circle.active{background:#4f6692;color:#fff;box-shadow:0 4px 10px #4f669266;transform:translateY(-2px)}@supports (padding-bottom: env(safe-area-inset-bottom)){.floating-nav{bottom:calc(16px + env(safe-area-inset-bottom))}}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:100001;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-msg{background:var(--color-deep-blue);color:var(--color-white);padding:10px 22px;border-radius:9999px;font-size:.88rem;font-weight:500;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-10px);animation:toastFade 3s forwards}@keyframes toastFade{0%{opacity:0;transform:translateY(-10px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
