:root{--cream:#f7f1e7;--cream-2:#f1e7d7;--blush:#ecdfd0;--beige:#e4d3be;--sand:#d9c3a6;--ink:#2c2620;--ink-soft:#5a5147;--muted:#8a7e6e;--gold:#b48a4a;--gold-light:#c9a56a;--gold-deep:#9a722f;--line:#b48a4a47;--shadow:0 30px 60px -30px #3c2d1973;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--arab:"Amiri", "Traditional Arabic", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:var(--sans);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}body.locked{height:100vh;overflow:hidden}::selection{background:var(--gold);color:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}.wrap{max-width:520px;margin:0 auto;position:relative}@media (width>=768px){.wrap{max-width:760px}}.eyebrow{font-family:var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-deep);font-size:.68rem;font-weight:500}.serif{font-family:var(--serif)}.arab{font-family:var(--arab);direction:rtl}.gold-line{background:linear-gradient(var(--gold), transparent);width:1px;height:60px;margin:0 auto}.divider{color:var(--gold);justify-content:center;align-items:center;gap:14px;margin:14px 0;display:flex}.divider .dot{background:var(--gold);border-radius:50%;width:5px;height:5px;transform:rotate(45deg)}.divider .bar{background:var(--line);width:44px;height:1px}#cover{z-index:200;background:#1c1712;flex-direction:column;justify-content:flex-end;transition:transform 1.15s cubic-bezier(.76,0,.24,1),opacity .8s;display:flex;position:fixed;inset:0;overflow:hidden}#cover .cover-bg{filter:saturate(.95)contrast(1.02);background-position:50% 30%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}#cover .cover-shade{background:linear-gradient(#1c171259 0%,#1c171226 40%,#1c1712d9 100%);position:absolute;inset:0}#cover .cover-grain{opacity:.5;mix-blend-mode:overlay;pointer-events:none;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='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:absolute;inset:0}.cover-inner{z-index:3;text-align:center;color:#fbf6ec;flex-direction:column;justify-content:center;align-items:center;max-width:520px;min-height:100vh;margin:0 auto;padding:clamp(24px,6vh,48px) 24px clamp(30px,8vh,60px);display:flex;position:relative}.cover-eyebrow-wrap{margin-bottom:clamp(12px,3vh,24px)}.cover-eyebrow{color:#dcc79f;letter-spacing:.45em;font-size:.72rem}.cover-names{font-family:var(--serif);letter-spacing:.01em;color:#fbf6ec;text-shadow:0 8px 40px #00000073;font-size:clamp(3.6rem,18vw,6.2rem);font-weight:500;line-height:.94}.cover-amp{color:#dcc79f;margin:4px 0;font-size:.58em;font-style:italic;font-weight:300;display:block}.cover-date{letter-spacing:.4em;text-transform:uppercase;color:#e6d6bd;margin-top:clamp(14px,2.5vh,22px);font-size:clamp(.75rem,2.6vw,.88rem)}.guest-card{border-top:1px solid #f0e1c847;border-bottom:1px solid #f0e1c847;max-width:360px;margin:34px auto 0;padding:18px 12px}.guest-card .lbl{letter-spacing:.34em;text-transform:uppercase;color:#cbb692;font-size:.62rem}.guest-card .nm{font-family:var(--serif);color:#fbf6ec;word-break:break-word;overflow-wrap:break-word;margin-top:6px;font-size:clamp(1.4rem,5.5vw,2.1rem);line-height:1.15}.open-btn{background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));color:#fff;cursor:pointer;font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;border:none;border-radius:100px;align-items:center;gap:12px;margin-top:34px;padding:16px 34px;font-size:.72rem;font-weight:500;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;display:inline-flex;box-shadow:0 20px 40px -12px #9a722fb3}.open-btn:hover{transform:translateY(-4px);box-shadow:0 28px 50px -12px #9a722fd9}.open-btn:active{transform:translateY(-1px)scale(.98)}.open-btn .ic{width:16px;height:16px;transition:transform .5s}.open-btn:hover .ic{transform:translate(4px)}.cover-scrolltease{letter-spacing:.24em;text-transform:uppercase;color:#cbb692;opacity:.85;cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:22px;font-size:.62rem;transition:opacity .3s;display:inline-flex}.cover-scrolltease:hover{opacity:1}.swipe-icon{width:14px;height:14px;animation:1.6s ease-in-out infinite swipeBounce}@keyframes swipeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.reveal-line{display:block;overflow:hidden}.reveal-line>span{display:block;transform:translateY(110%)}.float-controls{right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:160;opacity:0;pointer-events:none;flex-direction:column;gap:10px;transition:opacity .6s,transform .6s;display:flex;position:fixed;transform:translateY(20px)}.float-controls.on{opacity:1;pointer-events:auto;transform:none}.bottom-nav-dock{bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:170;opacity:0;pointer-events:none;max-width:94vw;transition:opacity .5s,transform .5s cubic-bezier(.16,1,.3,1);position:fixed;left:50%;transform:translate(-50%)translateY(30px)}.bottom-nav-dock.on{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.nav-dock-inner{-webkit-backdrop-filter:blur(14px);background:#fbf6eceb;border:1px solid #b48a4a47;border-radius:100px;align-items:center;gap:2px;padding:5px 8px;display:flex;box-shadow:0 10px 30px #2c241d29}.nav-dock-item{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:100px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:52px;padding:6px 12px;transition:all .25s;display:flex}.nav-dock-item:hover{color:var(--ink);background:#b48a4a14}.nav-dock-item.active{color:var(--gold-deep);background:#b48a4a24}.nav-dock-icon svg{stroke:currentColor;width:15px;height:15px;display:block}.nav-dock-label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:500;line-height:1}@media (width<=400px){.nav-dock-item{min-width:44px;padding:5px 7px}.nav-dock-label{font-size:.52rem}}.fbtn{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;width:48px;height:48px;color:var(--gold-deep);box-shadow:var(--shadow);background:#f7f1e7d9;border-radius:50%;justify-content:center;align-items:center;transition:transform .35s,background .35s;display:flex}.fbtn:hover{background:var(--cream);transform:scale(1.08)}.fbtn svg{width:20px;height:20px}.music-bars{align-items:flex-end;gap:2px;height:16px;display:flex}.music-bars span{background:var(--gold-deep);transform-origin:bottom;border-radius:2px;width:2.5px;height:100%;animation:1s ease-in-out infinite eq}.music-bars span:nth-child(2){animation-delay:.2s}.music-bars span:nth-child(3){animation-delay:.4s}.music-bars span:nth-child(4){animation-delay:.15s}.paused .music-bars span{height:30%;animation-play-state:paused}@keyframes eq{0%,to{height:30%}50%{height:100%}}#main{opacity:0;transition:opacity 1s .2s}#main.show{opacity:1}section{padding:110px 0;position:relative}.pad{padding-left:30px;padding-right:30px}.bg-cream{background:var(--cream)}.bg-blush{background:var(--blush)}.bg-beige{background:linear-gradient(180deg, var(--cream-2), var(--blush))}.bg-ink{color:#f2e7d5;background:#221d17}.num-tag{font-family:var(--serif);color:var(--gold);font-size:1rem;font-style:italic}h2.title{font-family:var(--serif);letter-spacing:.01em;font-size:clamp(2.6rem,11vw,3.6rem);font-weight:500;line-height:1.02}.lede{color:var(--ink-soft);max-width:34ch;font-size:1rem;font-weight:300}.ayat{text-align:center}.bismillah-wrap{margin-top:28px;margin-bottom:16px}.bismillah{color:var(--gold-deep);letter-spacing:.05em;font-size:clamp(1.4rem,4.5vw,1.8rem);display:block}.ayat-arabic{color:var(--ink);max-width:min(92%,560px);margin:18px auto 26px;font-size:clamp(1.5rem,5vw,1.95rem);line-height:2.3}.ayat .translate{font-family:var(--serif);color:var(--ink-soft);max-width:44ch;margin:0 auto;font-size:clamp(1.08rem,3.2vw,1.25rem);font-style:italic;line-height:1.7}.ayat-source{letter-spacing:.35em;text-transform:uppercase;color:var(--gold-deep);margin:22px auto 14px;font-size:.68rem;font-weight:600;display:block}.profiles-container{flex-direction:column;align-items:center;margin-top:48px;display:flex}.profile-card{text-align:center;width:100%;max-width:320px}.profile-role{font-family:var(--sans);letter-spacing:.38em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px;font-size:.68rem;font-weight:600}.arch{width:210px;height:285px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:120px 120px 20px 20px;margin:0 auto;position:relative;overflow:hidden}.arch:after{content:"";pointer-events:none;border-radius:120px 120px 20px 20px;position:absolute;inset:0;box-shadow:inset 0 0 0 5px #f7f1e766}.arch img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.arch:hover img{transform:scale(1.04)}.profile-name{font-family:var(--serif);color:var(--ink);margin-top:18px;font-size:clamp(1.9rem,6vw,2.3rem);line-height:1.1}.profile-parents{color:var(--ink-soft);margin-top:10px;font-size:.92rem;font-weight:300;line-height:1.5}.profile-parents .order-text{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-size:.82rem}.profile-parents strong{color:var(--ink);font-weight:500;font-family:var(--serif);font-size:1.05rem}.socials{justify-content:center;gap:12px;margin-top:14px;display:flex}.instagram-btn{border:1px solid var(--line);color:var(--gold-deep);background:#fff6;border-radius:100px;align-items:center;gap:8px;padding:6px 14px;font-size:.76rem;transition:background .3s,color .3s,transform .3s;display:inline-flex}.instagram-btn:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}.instagram-btn svg{flex-shrink:0;width:16px;height:16px}.ig-handle{letter-spacing:.02em;font-weight:500}.amp-divider{justify-content:center;align-items:center;margin:36px 0;display:flex}.amp-big{font-family:var(--serif);color:var(--gold);text-align:center;font-size:3rem;font-style:italic}@media (width>=768px){.profiles-container{flex-direction:row;justify-content:center;align-items:flex-start;gap:20px}.amp-divider{flex-direction:column;margin:80px 20px 0}.amp-line{background:var(--line);width:1px;height:50px}.amp-big{margin:12px 0}}.story-timeline{max-width:680px;margin:0 auto;position:relative}.story-timeline:before{content:"";background:linear-gradient(to bottom, transparent, var(--gold), transparent);pointer-events:none;opacity:.35;width:1px;position:absolute;top:40px;bottom:40px;left:24px}@media (width>=768px){.story-timeline:before{left:50%;transform:translate(-50%)}}.story-item{flex-direction:column;gap:20px;margin-bottom:56px;padding-left:54px;display:flex;position:relative}@media (width>=768px){.story-item{flex-direction:row;align-items:center;gap:40px;margin-bottom:72px;padding-left:0}.story-item .story-photo-wrap,.story-item .story-body{flex:1;width:50%}.story-item.story-item-alt{flex-direction:row-reverse}.story-item.story-item-alt .story-body{text-align:right}}.story-photo-wrap{width:100%}.story-photo{box-shadow:var(--shadow);aspect-ratio:4/3;border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden}.story-photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1);transform:scale(1.04)}.story-photo:hover img{transform:scale(1.08)}.story-chapter-badge{font-family:var(--serif);z-index:2;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2c241d80;border:1px solid #fff3;border-radius:8px;padding:4px 12px;font-size:1.8rem;font-style:italic;line-height:1;position:absolute;top:14px;left:14px}.story-body{position:relative}.story-year-tag{font-family:var(--serif);color:var(--gold);letter-spacing:-.01em;margin-bottom:4px;font-size:clamp(2.4rem,6vw,3.2rem);font-weight:500;line-height:1}.story-body .when{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;font-size:.62rem;font-weight:600}.story-body h3{font-family:var(--serif);color:var(--ink);margin-bottom:10px;font-size:clamp(1.4rem,4vw,1.8rem);font-weight:500;line-height:1.15}.story-body p{color:var(--ink-soft);font-size:.94rem;font-weight:300;line-height:1.65}.marquee{white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;overflow:hidden}.marquee .track{will-change:transform;display:inline-block}.marquee span{font-family:var(--serif);color:var(--gold);padding:0 26px;font-size:clamp(2.2rem,9vw,3.4rem);font-style:italic}.marquee span .sep{color:var(--sand);font-style:normal}.event-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:28px;max-width:540px;margin:36px auto 0;padding:clamp(32px,6vw,48px) clamp(20px,4vw,36px);box-shadow:0 16px 40px #2c241d14}.event-card .ttl{font-family:var(--sans);letter-spacing:.35em;text-transform:uppercase;color:var(--gold-deep);font-size:.72rem;font-weight:600}.event-when{font-family:var(--serif);color:var(--ink);margin-top:12px;font-size:clamp(1.8rem,5.5vw,2.4rem);font-weight:500;line-height:1.15}.event-row{color:var(--ink-soft);justify-content:center;align-items:center;gap:10px;margin-top:12px;font-size:.95rem;display:flex}.event-row svg{width:18px;height:18px;color:var(--gold-deep);flex-shrink:0}.event-quick-actions{justify-content:center;margin-top:18px;display:flex}.action-chip{color:var(--gold-deep);font-family:var(--sans);letter-spacing:.06em;cursor:pointer;background:#b48a4a14;border:1px solid #b48a4a59;border-radius:100px;align-items:center;gap:7px;padding:8px 18px;font-size:.72rem;font-weight:500;transition:all .3s;display:inline-flex}.action-chip svg{width:14px;height:14px}.action-chip:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-2px)}.btn-row{flex-direction:column;gap:12px;margin-top:32px;display:flex}.cal-btn-group{gap:10px;display:flex}.cal-btn-group .btn{letter-spacing:.15em;flex:1;padding:13px 14px;font-size:.65rem}@media (width<=480px){.cal-btn-group{flex-direction:column}}.btn{letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold);border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:.7rem;font-weight:500;transition:all .35s;display:inline-flex}.btn svg{width:16px;height:16px}.btn-solid{background:var(--gold);color:#fff}.btn-solid:hover{background:var(--gold-deep);transform:translateY(-3px);box-shadow:0 8px 24px #9a722f59}.btn-ghost{color:var(--gold-deep);background:0 0}.btn-ghost:hover{background:var(--gold);color:#fff;transform:translateY(-3px)}.count{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.count .unit{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7f1e70d;border:1px solid #f0e1c829;border-radius:20px;min-width:78px;padding:20px 14px;transition:transform .3s,border-color .3s}.count .unit:hover{border-color:#c9a56a66;transform:translateY(-2px)}.count .n{font-family:var(--serif);color:#f6ecd8;font-variant-numeric:tabular-nums;font-size:clamp(2.8rem,8vw,3.8rem);font-weight:400;line-height:1}.count .l{letter-spacing:.28em;text-transform:uppercase;color:#c9b48f;margin-top:10px;font-size:.58rem;font-weight:500}.countdown-passed-card{color:#f3e3c8;background:#f7f1e714;border:1px solid #f0e1c833;border-radius:20px;max-width:440px;margin:24px auto 0;padding:26px 20px;font-size:.95rem;font-weight:300;line-height:1.6}.gal-editorial{flex-direction:column;gap:16px;max-width:740px;margin:0 auto;display:flex}.gal-featured{cursor:pointer;box-shadow:var(--shadow);aspect-ratio:16/10;border:1px solid var(--line);border-radius:22px;margin:0;position:relative;overflow:hidden}.gal-featured img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1)}.gal-featured:hover img{transform:scale(1.05)}.gal-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width>=768px){.gal-grid{grid-template-columns:repeat(3,1fr)}}.gal-thumb{cursor:pointer;box-shadow:var(--shadow);aspect-ratio:1;border:1px solid var(--line);border-radius:16px;margin:0;position:relative;overflow:hidden}.gal-thumb.tall{aspect-ratio:unset;grid-row:span 2;min-height:100%}.gal-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1)}.gal-thumb:hover img{transform:scale(1.07)}.gal-overlay{opacity:0;background:linear-gradient(#0000 50%,#2c262073);justify-content:flex-end;align-items:flex-end;padding:14px;transition:opacity .35s;display:flex;position:absolute;inset:0}.gal-featured:hover .gal-overlay,.gal-thumb:hover .gal-overlay{opacity:1}.gal-zoom-icon{width:32px;height:32px;color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 10px #0003}.gal-zoom-icon svg{width:16px;height:16px}.lightbox{z-index:250;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;touch-action:pan-y;background:#100d0af2;flex-direction:column;justify-content:center;align-items:center;padding:20px;transition:opacity .4s;display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;pointer-events:auto}.lb-header{z-index:10;justify-content:space-between;align-items:center;display:flex;position:absolute;top:18px;left:20px;right:20px}.lb-counter{color:#f3e3c8;font-family:var(--sans);letter-spacing:.12em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:100px;padding:6px 14px;font-size:.82rem}.lb-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:background .3s;display:flex}.lb-close:hover{background:#ffffff40}.lb-img-wrap{flex-direction:column;align-items:center;max-width:90vw;max-height:78vh;display:flex}.lightbox img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:14px;max-width:100%;max-height:74vh;box-shadow:0 40px 80px #000000b3}.lb-caption{color:#ebdcc4;font-size:.85rem;font-family:var(--sans);opacity:.9;letter-spacing:.04em;margin-top:12px}.lb-hint{color:#f3e3c88c;letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-family:var(--sans);position:absolute;bottom:20px}.lb-nav{color:#fff;cursor:pointer;z-index:5;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;transition:background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav:hover{background:#ffffff40}.lb-prev{left:16px}.lb-next{right:16px}@media (width<=600px){.lb-nav{display:none}}.field{text-align:left;margin-bottom:16px}.field label{letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;font-size:.62rem;display:block}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;font-family:var(--sans);color:var(--ink);background:#ffffffb3;border-radius:12px;padding:14px 16px;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #b48a4a26}.field textarea{resize:vertical;min-height:96px}.radio-row{gap:12px;display:flex}.radio-row label{cursor:pointer;border:1px solid var(--line);text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:#ffffff80;border-radius:12px;flex:1;justify-content:center;align-items:center;margin:0;padding:14px;font-size:.72rem;transition:all .3s;display:flex}.radio-row input{display:none}.radio-row label.active{border-color:var(--gold);color:var(--gold-deep);background:#b48a4a29;font-weight:600}.btn-full{justify-content:center;width:100%;margin-top:8px}.guest-stepper{border:1px solid var(--line);background:#ffffffd9;border-radius:14px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex;position:relative}.stepper-btn{border:1px solid var(--line);width:44px;height:44px;color:var(--gold-deep);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:1.4rem;font-weight:500;line-height:1;transition:all .25s;display:flex}.stepper-btn:hover:not(:disabled){background:var(--gold);color:#fff;border-color:var(--gold)}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-value{color:var(--ink);letter-spacing:.02em;font-size:1.35rem;font-weight:600}.rsvp-confirmed-card{border:1px solid var(--line);text-align:center;box-shadow:var(--shadow);background:#ffffffbf;border-radius:24px;padding:36px 24px;animation:.4s ease-out fadeIn}.confirmed-icon{background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex;box-shadow:0 6px 16px #b48a4a59}.confirmed-icon svg{width:24px;height:24px}.confirmed-title{color:var(--ink);font-size:1.8rem;line-height:1.1}.confirmed-name{color:var(--gold-deep);margin-top:4px;font-size:1.05rem;font-weight:600}.confirmed-badge{border:1px solid var(--line);color:var(--ink);letter-spacing:.05em;background:#b48a4a1f;border-radius:100px;margin:14px auto;padding:4px 16px;font-size:.76rem;display:inline-block}.confirmed-msg{font-family:var(--serif);color:var(--ink-soft);max-width:32ch;margin:10px auto 20px;font-size:1.05rem;font-style:italic}.btn-edit-rsvp{border:1px solid var(--gold);color:var(--gold-deep);font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:100px;padding:9px 22px;font-size:.7rem;font-weight:600;transition:all .3s}.btn-edit-rsvp:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}.rsvp-btn-row{gap:12px;margin-top:10px;display:flex}.toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#f2e7d5;letter-spacing:.04em;opacity:0;pointer-events:none;z-index:300;box-shadow:var(--shadow);text-align:center;word-break:break-word;border-radius:100px;max-width:min(420px,90vw);padding:12px 22px;font-size:.82rem;line-height:1.4;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:fixed;transform:translate(-50%)translateY(30px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.wish-locked-card{border:1px dashed var(--gold);text-align:center;background:#ffffffb3;border-radius:20px;margin-bottom:24px;padding:32px 24px}.locked-icon{width:44px;height:44px;color:var(--gold-deep);background:#b48a4a1f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.locked-icon svg{width:22px;height:22px}.locked-title{color:var(--ink);margin-bottom:4px;font-size:1.4rem}.locked-desc{color:var(--ink-soft);max-width:38ch;margin:6px auto 18px;font-size:.88rem;line-height:1.5}.btn-go-rsvp{align-items:center;gap:8px;padding:12px 24px;font-size:.7rem;text-decoration:none;display:inline-flex}.wish-sender-bar{border:1px solid var(--line);background:#fffc;border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.wish-sender-text{flex:1}.sender-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.sender-name{color:var(--ink);margin-top:2px;font-size:1.15rem;line-height:1.1}.wish-list{flex-direction:column;gap:14px;max-height:440px;margin-top:32px;padding-right:4px;display:flex;overflow-y:auto}.wish{border:1px solid var(--line);text-align:left;background:#ffffffb3;border-radius:18px;align-items:flex-start;gap:14px;padding:16px 18px;animation:.4s ease-out wishFadeIn;display:flex}@keyframes wishFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.wish-avatar{background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));color:#fff;width:40px;height:40px;font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 4px 10px #b48a4a40}.wish-content{flex:1;min-width:0}.wish-content .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.wish-content .nm{font-family:var(--serif);color:var(--ink);font-size:1.15rem;font-weight:600}.wish-meta{align-items:center;gap:8px;display:flex}.wish-time{color:var(--muted);font-size:.62rem}.wish .badge{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--line);white-space:nowrap;background:#b48a4a14;border-radius:100px;padding:3px 10px;font-size:.54rem}.badge-absent{color:#b84b38!important;background:#b4503c0f!important;border-color:#b4503c4d!important}.wish p{color:var(--ink-soft);word-break:break-word;margin-top:6px;font-size:.92rem;font-weight:300;line-height:1.5}.wish-list::-webkit-scrollbar{width:5px}.wish-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}.see-all-wishes-btn{letter-spacing:.15em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--gold);background:#fff9;gap:8px;margin:0 auto;padding:12px 24px;font-size:.72rem}.see-all-wishes-btn:hover{background:var(--gold);color:#fff}.wishes-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9990;background:#0c0a08d1;justify-content:center;align-items:center;padding:16px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.wishes-modal-container{background:var(--cream);border:1px solid var(--line);border-radius:24px;flex-direction:column;width:100%;max-width:580px;max-height:88vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000073}.wishes-modal-header{border-bottom:1px solid var(--line);background:#ffffffbf;justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;display:flex}.wishes-modal-title{color:var(--ink);margin-top:2px;font-size:1.55rem;line-height:1.1}.wishes-modal-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);background:#b48a4a1f;border-radius:100px;margin-top:6px;padding:2px 10px;font-size:.65rem;font-weight:600;display:inline-block}.wishes-modal-close{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fffc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;line-height:1;transition:all .2s;display:flex}.wishes-modal-close:hover{background:var(--ink);color:#fff}.wishes-modal-toolbar{border-bottom:1px solid var(--line);background:#ffffff73;padding:14px 24px}.wishes-search-box{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;transition:border-color .3s;display:flex}.wishes-search-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px #b48a4a26}.search-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.wishes-search-box input{font-family:var(--sans);color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:.88rem}.clear-search-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.wishes-filter-pills{gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-pill{border:1px solid var(--line);font-family:var(--sans);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#ffffffb3;border-radius:100px;padding:6px 14px;font-size:.72rem;font-weight:500;transition:all .25s}.filter-pill:hover{background:#fffffff2}.filter-pill.active{background:var(--gold);color:#fff;border-color:var(--gold);font-weight:600}.wishes-modal-body{flex:1;padding:20px 24px;overflow-y:auto}.wishes-full-list{flex-direction:column;gap:12px;display:flex}.wish-card-modal{border:1px solid var(--line);text-align:left;background:#ffffffd9;border-radius:16px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex;box-shadow:0 2px 8px #00000008}.wishes-empty-state{text-align:center;color:var(--ink-soft);padding:40px 20px}.empty-icon{width:42px;height:42px;color:var(--muted);opacity:.6;margin-bottom:12px}.wishes-modal-footer{border-top:1px solid var(--line);background:#ffffffbf;justify-content:flex-end;padding:14px 24px;display:flex}.wishes-modal-footer .btn{padding:10px 22px;font-size:.68rem}.gift-cards-grid{flex-direction:column;gap:20px;max-width:460px;margin:0 auto;display:flex}.gift-card{color:var(--ink);border:1px solid var(--line);text-align:left;background:#fff;border-radius:24px;padding:28px 24px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden;box-shadow:0 14px 36px #2c241d14}.gift-card:hover{border-color:#b48a4a80;transform:translateY(-4px);box-shadow:0 20px 42px #2c241d1f}.gift-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.gift-card-type{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--line);background:#b48a4a14;border-radius:100px;padding:4px 12px;font-size:.62rem;font-weight:500}.bank-logo-flat-wrap{background:0 0;align-items:center;padding:0;display:inline-flex}.bank-logo-flat{object-fit:contain;width:auto;max-height:28px;display:block}.bank-badge{background:#fff;border:1px solid #00000014;border-radius:8px;align-items:center;padding:4px 10px;display:inline-flex;box-shadow:0 2px 6px #0000000f}.bank-badge.dana-badge{background:#118eea;border:none;padding:4px 10px}.bank-badge.bca-badge{background:#0060af;border:none;padding:4px 10px}.bank-badge.mandiri-badge{background:#003d79;border:none;padding:4px 10px}.bank-badge.bni-badge{background:#005e6a;border:none;padding:4px 10px}.bank-badge.generic-badge{color:var(--ink);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--line);background:#b48a4a1f;font-size:.75rem;font-weight:700}.gift-card-body{margin-bottom:8px}.bank-name-label{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:500}.gift-card .no{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:clamp(1.45rem,5vw,1.8rem);font-weight:600}.gift-card .an{color:var(--ink-soft);font-size:.88rem;font-weight:400}.gift-card-footer{margin-top:20px}.copy-btn{border:1px solid var(--gold);color:var(--gold-deep);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#b48a4a14;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.68rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.copy-btn:hover{background:var(--gold);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #b48a4a4d}.copy-btn.copied{color:#fff!important;background:#166534!important;border-color:#166534!important}.copy-btn svg{width:14px;height:14px}.physical-gift-wrapper{width:100%;margin-top:10px}.physical-gift-toggle{border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--sans);letter-spacing:.05em;cursor:pointer;background:#ffffffa6;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.82rem;font-weight:500;transition:all .3s;display:flex}.physical-gift-toggle:hover{background:#ffffffe6}.toggle-left{color:var(--gold-deep);align-items:center;gap:10px;display:flex}.box-icon{width:20px;height:20px}.chevron-icon{width:18px;height:18px;color:var(--muted);transition:transform .3s}.chevron-icon.open{transform:rotate(180deg)}.physical-gift-card{border:1px solid var(--line);text-align:left;background:#ffffffd9;border-top:none;border-radius:0 0 16px 16px;padding:20px 22px;font-size:.88rem;animation:.3s fadeIn}.recipient-row,.phone-row{color:var(--ink);gap:8px;margin-bottom:6px;display:flex}.recipient-row .lbl,.phone-row .lbl{text-transform:uppercase;color:var(--muted);letter-spacing:.1em;font-size:.72rem}.address-box{background:var(--cream);border:1px dashed var(--line);border-radius:10px;margin-top:10px;padding:12px}.address-box .lbl{text-transform:uppercase;color:var(--muted);letter-spacing:.1em;font-size:.72rem}.address-box p{color:var(--ink-soft);margin-top:4px;font-size:.85rem}.physical-copy-btn{background:var(--gold);color:#fff;justify-content:center;width:100%;margin-top:14px}.qris-card{text-align:center;background:#fff}.qris-header-badge{background:0 0;align-items:center;padding:0;display:inline-flex}.qris-sub{letter-spacing:.1em;color:#475569;text-transform:uppercase;margin-left:4px;font-size:.52rem;font-weight:700}.qris-gpn-tag{color:#fff;letter-spacing:.15em;background:#ea1c24;border-radius:6px;padding:4px 8px;font-size:.62rem;font-weight:900}.qris-body{flex-direction:column;align-items:center;margin:14px 0;display:flex}.qris-img-container{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;max-width:210px;margin:0 auto 12px;padding:12px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 16px #2c241d14}.qris-img-container:hover{transform:scale(1.02);box-shadow:0 8px 24px #2c241d1f}.qris-img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.qris-overlay-hint{color:var(--muted);letter-spacing:.05em;margin-top:6px;font-size:.58rem;font-weight:500}.qris-desc{color:var(--muted);max-width:320px;margin:0 auto;font-size:.76rem;font-weight:400;line-height:1.5}.qris-download-btn{margin:0 auto}.qris-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#0a0806e0;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.qris-modal-content{color:#1e293b;text-align:center;background:#fff;border-radius:20px;width:100%;max-width:360px;padding:28px 24px;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp;position:relative;box-shadow:0 24px 48px #00000080}.qris-modal-close{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.4rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:12px;right:14px}.qris-modal-close:hover{background:#e2e8f0}.qris-modal-title{font-family:var(--serif);color:#0f172a;margin-bottom:16px;font-size:1.3rem;font-weight:600}.qris-modal-img{aspect-ratio:1;object-fit:contain;border:1px solid #e2e8f0;border-radius:10px;width:100%;max-width:260px;margin:0 auto}.qris-modal-note{color:#64748b;margin-top:14px;font-size:.75rem;line-height:1.4}#closing{color:#f2e7d5;text-align:center;background:#1c1712;position:relative;overflow:hidden}.closing-bg{filter:saturate(.85)brightness(.45);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.1)}.closing-shade{background:radial-gradient(circle,#1c171280 0%,#1c1712f2 100%);position:absolute;inset:0}#closing .inner{z-index:2;position:relative}.thanks{font-family:var(--serif);color:#ebdcc4;max-width:32ch;margin:0 auto;font-size:1.25rem;font-style:italic;line-height:1.6}.names{font-family:var(--serif);color:#fbf6ec;margin:20px 0 10px;font-size:clamp(2.4rem,8vw,3.4rem);line-height:1}.closing-date{font-family:var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#dcc79f;margin-bottom:8px;font-size:.85rem}.credit{letter-spacing:.32em;text-transform:uppercase;color:#a49175;margin-top:50px;font-size:.6rem}.reveal-el{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}body.reveal-all .reveal-el{opacity:1!important;transform:none!important}.studio-page{background:var(--cream);min-height:100vh;color:var(--ink);font-family:var(--sans);background-image:radial-gradient(at 0 0,#c9a56a14 0,#0000 50%),radial-gradient(at 100% 100%,#c9a56a0f 0,#0000 50%);padding-bottom:90px}.studio-nav{-webkit-backdrop-filter:blur(16px);z-index:100;background:#fdf8f0e0;border-bottom:1px solid #b48a4a26;padding:12px 18px;position:sticky;top:0}.studio-nav-container{justify-content:space-between;align-items:center;max-width:860px;margin:0 auto;display:flex}.studio-back-btn{color:var(--ink-soft);background:#fff9;border:1px solid #b48a4a33;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.studio-back-btn:hover{color:var(--gold-deep);border-color:var(--gold);background:#fff;transform:translate(-2px)}.studio-back-btn .svg-ic{width:15px;height:15px}.studio-brand{align-items:center;gap:8px;display:flex}.studio-brand-names{color:var(--ink);font-size:1.05rem;font-weight:600}.studio-brand-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--gold-deep);color:#fff;border-radius:6px;padding:2px 7px;font-size:.65rem;font-weight:600}.studio-wrapper{max-width:860px;margin:28px auto 0;padding:0 16px}.studio-hero{text-align:center;margin-bottom:24px}.studio-pill-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);background:#b48a4a1f;border:1px solid #b48a4a47;border-radius:30px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 14px;font-size:.74rem;font-weight:600;display:inline-flex}.studio-pill-tag .svg-ic{width:13px;height:13px}.studio-title{color:var(--ink);margin:4px 0 8px;font-size:clamp(1.8rem,5.5vw,2.6rem);font-weight:600;line-height:1.15}.studio-desc{color:var(--muted);max-width:520px;margin:0 auto 20px;font-size:.88rem;line-height:1.5}.studio-progress-card{background:#fff;border:1px solid #b48a4a33;border-radius:16px;margin-bottom:14px;padding:12px 16px;box-shadow:0 4px 16px #2c262008}.progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;display:flex}.progress-lbl{color:var(--ink-soft)}.progress-percent{color:var(--gold-deep);font-weight:700;font-family:var(--serif);font-size:1rem}.progress-bar-bg{background:var(--cream-2);border-radius:10px;height:7px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:10px;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.studio-metrics-bar{background:#fff;border:1px solid #b48a4a33;border-radius:18px;justify-content:space-around;align-items:center;padding:14px 10px;display:flex;box-shadow:0 4px 20px #2c26200a}.metric-item{flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.metric-icon-box{background:var(--cream);width:36px;height:36px;color:var(--ink-soft);border-radius:10px;justify-content:center;align-items:center;display:flex}.metric-icon-box .svg-ic{width:17px;height:17px}.metric-data{text-align:left;flex-direction:column;display:flex}.metric-val{color:var(--ink);font-size:1.4rem;font-weight:700;line-height:1}.metric-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:2px;font-size:.65rem}.metric-divider{background:var(--line);width:1px;height:32px}.metric-success .metric-icon-box{color:#059669;background:#ecfdf5}.metric-success .metric-val{color:#059669}.metric-pending .metric-icon-box{color:#d97706;background:#fffbeb}.metric-pending .metric-val{color:#d97706}.studio-card{background:#fff;border:1px solid #b48a4a33;border-radius:20px;margin-bottom:20px;padding:20px 18px;box-shadow:0 8px 24px #2c262008}@media (width>=640px){.studio-card{border-radius:24px;padding:26px 24px}}.card-header-bar{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.step-badge{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.78rem;font-weight:700;display:flex}.card-section-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:600;line-height:1.2}.card-section-desc{color:var(--muted);margin:3px 0 0;font-size:.78rem}.format-chips-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}@media (width>=640px){.format-chips-grid{grid-template-columns:repeat(4,1fr)}}.format-chip{border:1.5px solid var(--line);background:var(--cream);color:var(--ink);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.format-chip .chip-icon-wrap{width:32px;height:32px;color:var(--ink-soft);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.format-chip .chip-icon-wrap .svg-ic{width:16px;height:16px}.chip-title{font-size:.8rem;font-weight:600;line-height:1.2}.chip-sub{color:var(--muted);margin-top:2px;font-size:.68rem}.format-chip:hover{border-color:var(--gold);background:#fff;transform:translateY(-2px)}.format-chip.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 4px 14px #2c26201f}.format-chip.active .chip-icon-wrap{color:#fff;background:#ffffff26}.format-chip.active .chip-sub{color:#ffffffbf}.custom-editor-box{margin-top:14px;animation:.3s fadeIn}.custom-vars-bar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:.74rem;display:flex}.custom-vars-bar code{background:var(--cream);color:var(--gold-deep);border:1px solid #b48a4a40;border-radius:5px;padding:2px 6px;font-size:.72rem;font-weight:600}.studio-tabs-bar{background:#ebdecd80;border:1px solid #b48a4a33;border-radius:16px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.studio-tab-item{color:var(--ink-soft);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px 10px;font-size:.82rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.studio-tab-item .svg-ic{flex-shrink:0;width:15px;height:15px}.studio-tab-item:hover{color:var(--ink)}.studio-tab-item.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 4px 12px #2c262014}.form-fields-grid{grid-template-columns:1fr;gap:14px;margin-bottom:20px;display:grid}@media (width>=640px){.form-fields-grid{grid-template-columns:1.25fr 1fr}}.field-block{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.label-opt{color:var(--muted);text-transform:none;font-weight:400}.studio-input{border:1px solid var(--line);background:var(--cream);width:100%;font-family:var(--sans);color:var(--ink);border-radius:12px;outline:none;padding:13px 15px;font-size:.9rem;transition:all .2s}.studio-input:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px #b48a4a26}.studio-textarea{resize:vertical;line-height:1.5}.studio-actions-wrap{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=520px){.studio-actions-wrap{grid-template-columns:1.4fr 1fr 1fr 1fr}}.studio-btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.studio-btn .svg-ic{flex-shrink:0;width:16px;height:16px}.studio-btn-wa{color:#fff;background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 6px 18px #25d36640}.studio-btn-wa:hover{background:linear-gradient(135deg,#1eb857,#0d7065);transform:translateY(-2px);box-shadow:0 8px 22px #25d36659}.studio-btn-secondary{background:var(--cream);color:var(--ink);border-color:var(--line)}.studio-btn-secondary:hover{border-color:var(--gold);background:#fff;transform:translateY(-2px)}.studio-btn-outline{color:var(--ink);border-color:var(--line);background:#fff}.studio-btn-outline:hover{border-color:var(--gold-deep);color:var(--gold-deep);transform:translateY(-2px)}.studio-btn-outline.disabled,.studio-btn:disabled{opacity:.45;pointer-events:none;cursor:not-allowed;transform:none!important}.studio-btn-primary{background:var(--ink);color:#fff}.studio-btn-primary:hover{background:#111;transform:translateY(-2px)}.studio-btn-full{width:100%}.phone-simulator-container{background-color:#efeae2;background-image:radial-gradient(#d3c9ba .75px,#0000 .75px),radial-gradient(#d3c9ba .75px,#efeae2 .75px);background-position:0 0,12px 12px;background-repeat:repeat;background-size:24px 24px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #d5cbba;border-radius:20px;margin-top:24px;overflow:hidden;box-shadow:0 10px 30px #0b141a14}.phone-header-bar{color:#fff;background:#008069;align-items:center;gap:12px;padding:12px 16px;display:flex}.phone-avatar-circle{color:#fff;width:38px;height:38px;font-family:var(--serif);background:#fff3;border:1.5px solid #fff9;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.phone-contact-info{flex-direction:column;display:flex}.phone-contact-name{font-size:.88rem;font-weight:600;line-height:1.2}.phone-contact-status{color:#fffc;font-size:.7rem}.phone-chat-body{flex-direction:column;gap:12px;padding:20px 16px;display:flex}.phone-chat-date-pill{color:#54656f;background:#ffffffe6;border-radius:8px;align-self:center;padding:4px 10px;font-size:.68rem;font-weight:500;box-shadow:0 1px 2px #0b141a0f}.phone-bubble-outgoing{background:#d9fdd3;border-radius:12px 12px 2px;align-self:flex-end;max-width:92%;padding:12px 14px;position:relative;box-shadow:0 1.5px 3px #0b141a1f}.phone-bubble-text{color:#111b21;white-space:pre-wrap;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.82rem;line-height:1.5}.phone-bubble-meta{color:#667781;justify-content:flex-end;align-items:center;gap:4px;margin-top:6px;font-size:.64rem;display:flex}.wa-blue-ticks{color:#53bdeb;font-weight:700}.phone-cta-bar{background:#f0f2f5;border-top:1px solid #e0e0e0;padding:12px 16px}.phone-launch-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #25d36640}.phone-launch-btn:hover{background:#1eb857;transform:translateY(-1px)}.phone-launch-btn .svg-ic{width:17px;height:17px}.batch-hint-box{background:var(--cream);color:var(--ink-soft);border:1px solid #b48a4a33;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.78rem;line-height:1.45;display:flex}.batch-hint-box .svg-ic{width:16px;height:16px;color:var(--gold-deep);flex-shrink:0;margin-top:1px}.batch-hint-box code{border:1px solid var(--line);color:var(--gold-deep);background:#fff;border-radius:4px;padding:2px 5px;font-weight:600}.history-search-row{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}@media (width>=640px){.history-search-row{flex-direction:row;justify-content:space-between;align-items:center}}.history-search-input-wrap{width:100%;position:relative}@media (width>=640px){.history-search-input-wrap{max-width:360px}}.history-search-input-wrap .svg-ic{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.history-search-field{height:44px;padding-left:40px!important;padding-right:36px!important;font-size:.85rem!important}.search-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.studio-btn-danger{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;padding:9px 14px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.studio-btn-danger .svg-ic{width:14px;height:14px}.studio-btn-danger:hover{background:#fef2f2}.guest-cards-list{flex-direction:column;gap:12px;display:flex}.luxury-guest-card{background:var(--cream);border:1px solid #b48a4a33;border-radius:16px;padding:16px;transition:all .2s}.luxury-guest-card:hover{border-color:var(--gold);box-shadow:0 4px 16px #2c26200d}.luxury-guest-card.is-sent{background:#ecfdf5b3;border-color:#a7f3d0}.lg-card-main{align-items:center;gap:12px;display:flex}.lg-avatar{width:40px;height:40px;color:var(--gold-deep);font-family:var(--serif);background:#fff;border:1.5px solid #b48a4a4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.lg-name{color:var(--ink);font-size:1.12rem;font-weight:600;line-height:1.2}.lg-phone{color:var(--muted);margin-top:2px;font-size:.74rem}.lg-sent-time{color:#059669;align-items:center;gap:4px;margin-top:4px;font-size:.68rem;font-weight:500;display:inline-flex}.lg-sent-time .svg-ic{width:12px;height:12px}.lg-status-toggle{align-items:center;margin:10px 0;display:flex}.lg-check-container{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.lg-checkbox{cursor:pointer;accent-color:#059669;width:18px;height:18px}.lg-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:3px 9px;font-size:.68rem;font-weight:600}.badge-pending{color:#92400e;background:#fef3c7}.badge-sent{color:#166534;background:#dcfce7}.lg-link-box{background:#fff;border:1px solid #b48a4a2e;border-radius:8px;margin-bottom:10px;padding:6px 10px}.lg-link-box code{color:var(--gold-deep);word-break:break-all;font-size:.72rem}.lg-actions-row{align-items:center;gap:8px;display:flex}.lg-btn{border:1px solid var(--line);height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.lg-btn:hover{background:var(--cream);border-color:var(--gold)}.lg-btn .svg-ic{width:15px;height:15px}.lg-btn-wa{color:#fff;background:#25d366;border-color:#25d366;flex:2}.lg-btn-wa:hover{background:#1eb857;border-color:#1eb857}.lg-btn-del{color:#b91c1c;flex:0 0 40px}.lg-btn-del:hover{background:#fee2e2;border-color:#fca5a5}.studio-empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;font-size:.88rem;display:flex}.studio-empty-state .svg-ic{width:36px;height:36px;color:var(--gold-light)}.studio-empty-state span{color:var(--ink-soft);font-size:.78rem}
