@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8faf8;--paper:#fff;--ink:#20372e;--muted:#728078;--line:#e3eae4;--mint:#e8f6eb;--green:#235b42;--lime:#d9efc3;--rose:#fff0ed;--gold:#f6ecd5;--shadow:0 18px 60px rgba(28,62,44,.065);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans',system-ui,-apple-system,sans-serif;margin:0;background:var(--bg);color:var(--ink);line-height:1.5}h1,h2,h3,h4{font-family:Manrope,'DM Sans',sans-serif;line-height:1.14;letter-spacing:-.043em;margin:0}h1{font-size:clamp(2.7rem,6vw,5.65rem);font-weight:800}h2{font-size:clamp(1.7rem,4vw,3.15rem);font-weight:800}h3{font-size:1.2rem;font-weight:800}p{margin:.4rem 0 1rem}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8ac8a2;outline-offset:3px}.shell{width:min(1170px,calc(100% - 38px));margin:auto}.nav{position:sticky;top:0;z-index:60;background:rgba(248,250,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(203,221,210,.66)}.nav>.shell{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:900;letter-spacing:-.05em}.brand-mark{background:var(--green);color:#fff;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;transform:rotate(-10deg);font-size:21px}.nav-links{display:flex;align-items:center;gap:25px;color:#53685d;font-size:.91rem;font-weight:700}.nav-actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid transparent;border-radius:14px;padding:12px 19px;font-size:.9rem;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-align:center;transition:transform .2s,background .2s,box-shadow .2s;white-space:normal}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:white;box-shadow:0 8px 18px #235b421f}.btn-primary:hover{background:#16462e}.btn-secondary{background:white;color:var(--ink);border-color:var(--line)}.btn-warm{background:#ffdbaf;color:#533c20}.btn-sm{padding:9px 14px;font-size:.81rem}.btn-block{width:100%}.mobile-toggle{display:none;border:1px solid var(--line);background:white;border-radius:11px;font-size:1.3rem;padding:6px 11px}.eyebrow{font-size:.76rem;color:#417457;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.tag{display:inline-flex;padding:7px 12px;align-items:center;border-radius:100px;gap:7px;font-size:.72rem;font-weight:800;border:1px solid #d3e7d8;background:#f3fbf2;color:#35654a}.tag.pink{background:#fff1f1;color:#a05d5d;border-color:#f8dddd}.tag.gold{background:#fff8e9;color:#956e2a;border-color:#f7e8c8}.hero{padding:70px 0 88px;display:grid;grid-template-columns:1.08fr .92fr;gap:38px;align-items:center}.hero h1{margin:22px 0 23px}.hero h1 em{font-style:normal;color:#75a68b}.hero-lead{font-size:1.1rem;line-height:1.78;color:#647a6a;max-width:530px}.hero-ctas{display:flex;gap:11px;flex-wrap:wrap;margin:28px 0}.trust{display:flex;gap:19px;flex-wrap:wrap;color:#688072;font-size:.83rem;font-weight:700}.showcase{height:480px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.showcase:before{content:'';position:absolute;width:87%;height:85%;border-radius:35% 60% 46% 45%;background:linear-gradient(145deg,#e4f4de,#f8e6dc);filter:blur(8px);z-index:-1}.phone{width:260px;height:445px;border:8px solid #293b32;border-radius:42px;background:linear-gradient(160deg,#fffdf6,#f9ebe7);box-shadow:0 36px 60px #234b3530,0 6px 18px #fff inset;padding:17px 19px;transform:rotate(-5deg);position:relative;overflow:hidden;text-align:center}.phone .notch{width:87px;height:16px;border-radius:0 0 14px 14px;background:#293b32;position:absolute;top:0;left:calc(50% - 43px)}.phone .receiver{font-size:10px;margin-top:37px;font-weight:800;color:#af7374;letter-spacing:.09em}.phone .giftbox{font-size:80px;margin:28px 0 15px;filter:drop-shadow(0 13px 10px #d88f7739);animation:float 5s ease-in-out infinite}.phone h3{font-size:1.45rem;max-width:190px;margin:auto}.phone p{font-size:.74rem;color:#a18a7f;margin:13px 0 20px}.phone .fakebtn{background:#b86f78;color:white;border-radius:10px;padding:12px;font-size:.75rem;font-weight:800}.floating{position:absolute;border:1px solid #e7e9df;background:#ffffffec;border-radius:17px;padding:15px;box-shadow:var(--shadow);font-size:.82rem;font-weight:800;max-width:186px}.floating.one{top:30px;right:5px;transform:rotate(6deg)}.floating.two{left:0;bottom:64px;transform:rotate(-8deg)}.float-icon{font-size:1.6rem;display:block;margin-bottom:6px}@keyframes float{50%{transform:translateY(-11px) rotate(2deg)}}.section{padding:80px 0}.section-soft{background:linear-gradient(#f0f6ee,#f7f9f4)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.section-header p{color:var(--muted);max-width:530px;margin-top:15px}.filterbar{display:flex;gap:8px;overflow:auto;padding-bottom:17px;scrollbar-width:thin}.chip{border:1px solid var(--line);background:white;padding:9px 15px;border-radius:100px;color:#65776b;font-size:.83rem;white-space:nowrap;font-weight:800}.chip.active,.chip:hover{background:var(--green);color:#fff;border-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.template-card{background:white;border:1px solid var(--line);border-radius:21px;overflow:hidden;transition:transform .2s,box-shadow .2s}.template-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.template-art{height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}.template-art:before,.template-art:after{content:'';position:absolute;width:160px;height:160px;border:1px solid currentColor;border-radius:50%;opacity:.12;right:-37px;top:-55px}.template-art:after{width:220px;height:220px;right:auto;top:auto;left:-108px;bottom:-170px}.template-art .symbol{font-size:3.35rem;line-height:1;filter:drop-shadow(0 8px 8px #00000017);z-index:1}.template-art small{font-size:.63rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;opacity:.7;margin-top:13px;z-index:1}.template-info{padding:16px}.template-info h3{font-size:1rem;letter-spacing:-.025em;margin:5px 0 6px}.template-info p{color:var(--muted);font-size:.78rem;min-height:42px;margin:0 0 12px}.template-info .buttonrow{display:flex;justify-content:space-between;align-items:center;gap:5px}.template-info a{font-weight:800;color:#29694d;font-size:.84rem}.frost{background:#f5f0fb;color:#8f71b1}.blush{background:#fff0ee;color:#cd8392}.creamy{background:#fff7e6;color:#bd9255}.leaf{background:#eef6e9;color:#659e7a}.nighty{background:#233b4d;color:#f4d394}.playful{background:#e7f3fd;color:#6d9de6}.sunny{background:#fff0d3;color:#d8a651}.moody{background:#e8e6f3;color:#756c9c}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.price-card{background:white;border:1px solid var(--line);border-radius:24px;padding:27px;position:relative;display:flex;flex-direction:column;gap:11px}.price-card.featured{border:2px solid #4b9873;box-shadow:0 20px 60px #3f816319;transform:translateY(-6px)}.price-card .amount{font-family:Manrope;font-weight:900;letter-spacing:-.06em;font-size:2.6rem}.price-card .amount small{font-size:1rem}.price-card p{color:var(--muted);font-size:.9rem}.price-card .btn{margin-top:auto}.price-card .feature{font-size:.84rem;padding:7px 0;border-bottom:1px solid #e9eee9;color:#5f7569}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:24px;border-radius:23px;background:white;border:1px solid var(--line)}.step .count{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e8f4e8;color:#3f7652;font-weight:900;margin-bottom:23px}.step p{font-size:.87rem;line-height:1.8;color:var(--muted)}.footer{background:#1e352a;color:#e6f1e7;margin-top:70px;padding:42px 0}.footer .shell{display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap}.footer a{color:#ccdfd3}.footer small{opacity:.65}.banner{border-radius:28px;background:linear-gradient(105deg,#214b35,#3c8260);color:white;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:35px;overflow:hidden}.banner h2{font-size:2.2rem}.banner p{color:#d9e9df}.panel{background:white;border:1px solid var(--line);border-radius:24px;padding:27px;box-shadow:0 12px 44px #204a3510}.panel h2{font-size:1.8rem}.panel h3{margin:0 0 15px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label,.field>span{color:#496354;font-size:.83rem;font-weight:800}.input,.field input,.field select,.field textarea{width:100%;border:1px solid #dce7de;background:#fbfdfb;padding:13px 14px;border-radius:12px;color:#264536;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#77b592;box-shadow:0 0 0 3px #92cd9b24}.field textarea{min-height:105px;resize:vertical}.field input[type=color]{height:48px;padding:4px}.field input[type=file]{background:#eff6ef;border-style:dashed;padding:20px}.formhelp{font-size:.74rem;color:#869589}.note{background:#f0f8f0;padding:15px 18px;border-radius:14px;color:#50705b;font-size:.86rem}.notice{border-radius:14px;padding:12px 16px;margin:16px auto;background:#eaf6e9;border:1px solid #c3e1c9;color:#2c6946}.notice.error{background:#fff0ed;color:#a33f31;border-color:#f2c5bb}.layout2{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.preview{position:sticky;top:94px;align-self:start}.preview-card{min-height:270px;border-radius:22px;padding:35px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.preview-card h3{font-size:2rem}.preview-card .visual{font-size:3.4rem;margin:15px}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px 10px;font-size:.7rem;font-weight:800}.swatch i{width:18px;height:18px;border-radius:50%;display:inline-block}.swatch input{accent-color:var(--green)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat{background:white;border-radius:18px;padding:20px;border:1px solid var(--line)}.stat strong{display:block;font-family:Manrope;font-size:1.75rem;letter-spacing:-.05em}.stat small{color:var(--muted);font-weight:700}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;font-size:.86rem}.table th,.table td{padding:14px;text-align:left;border-bottom:1px solid #edf1ed;vertical-align:middle}.table th{color:#71887a;font-weight:900;font-size:.72rem;letter-spacing:.03em}.pill{display:inline-flex;border-radius:9px;background:#eff4f0;padding:4px 9px;font-size:.72rem;font-weight:800;color:#557360}.pill.green{color:#21794c;background:#e3f7e9}.pill.orange{color:#a07138;background:#fff4e3}.pill.red{color:#a54e45;background:#fff0ed}.page-head{padding:43px 0 23px}.page-head h1{font-size:clamp(2.2rem,4vw,3.5rem);margin:12px 0}.page-head p{color:var(--muted)}.player-cover{width:100%;max-width:460px;min-height:350px;border-radius:29px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;margin:20px auto;box-shadow:var(--shadow)}.player-cover .symbol{font-size:5rem}.player-cover h2{margin:18px 0}.viewer{min-height:73vh;display:grid;place-items:center;padding:34px 0}.viewer-inner{width:min(540px,100%);text-align:center}.viewer-start{background:white;padding:40px 30px;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.viewer-start .envelope{font-size:5rem;margin-bottom:18px;animation:float 4s ease-in-out infinite}.stage{border-radius:32px;padding:30px;min-height:500px;display:none;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.stage.active{display:flex;animation:appear .6s both}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.stage .stage-title{font-size:clamp(1.8rem,6vw,3.25rem);max-width:580px;overflow-wrap:anywhere}.stage .stage-message{font-size:1.08rem;max-width:580px;white-space:pre-wrap;overflow-wrap:anywhere}.carousel-media{max-width:460px;width:100%;max-height:420px;object-fit:contain;border-radius:17px;margin:20px auto;box-shadow:0 12px 40px #00000020}.carousel-dots{display:flex;gap:7px;justify-content:center;margin:15px}.carousel-dots i{width:6px;height:6px;background:currentColor;border-radius:50%;opacity:.3}.carousel-dots i.current{opacity:1;width:20px;border-radius:4px}.actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.story-render{margin:auto;aspect-ratio:9/16;max-height:480px;background:linear-gradient(152deg,#214f3b,#e4b6a1);border-radius:22px;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:35px;text-align:center;box-shadow:0 12px 35px #254e3220}.story-render .big{font-size:2rem;font-weight:900}.story-render .heart{font-size:4rem}.eventhero{text-align:center;border-radius:27px;min-height:460px;padding:52px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;overflow:hidden}.eventhero:after{content:'✦  ✧  ✦';font-size:3rem;letter-spacing:30px;opacity:.13;position:absolute;bottom:18px}.eventhero h1{font-size:clamp(2.4rem,5vw,5rem)}.eventhero p{max-width:550px;white-space:pre-wrap;overflow-wrap:anywhere}.guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.qr-place{display:grid;place-items:center;background:white;padding:16px;border:1px solid #e7eee9;border-radius:16px;width:240px;margin:auto}.qr-place svg{display:block}.muted{color:var(--muted)}.mb20{margin-bottom:20px}.mt20{margin-top:20px}.tiny{font-size:.77rem}.empty{padding:35px;border-radius:18px;background:#eff5ef;text-align:center;color:#718073}.hidden{display:none!important}@media(max-width:950px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:1fr}.showcase{max-width:550px;margin:auto;width:100%}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card:last-child{grid-column:1/-1}.nav-links{gap:12px}}@media(max-width:700px){.nav>.shell{min-height:68px}.nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:#f8faf8;padding:16px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start}.nav-links.open{display:flex}.mobile-toggle{display:block}.nav-actions .btn-secondary{display:none}.hero{padding:35px 0 45px}.showcase{height:400px}.phone{height:380px;width:230px}.floating.one{right:0}.floating.two{left:0}.section{padding:53px 0}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-art{height:135px}.template-info{padding:13px}.template-info h3{font-size:.9rem}.template-info p{font-size:.74rem}.price-grid,.steps,.layout2,.guest-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-header{align-items:start;flex-direction:column}.formgrid{grid-template-columns:1fr}.preview{position:relative;top:auto}.banner{flex-direction:column;text-align:center;padding:30px 20px}.stage{min-height:420px;padding:19px}.nav-actions{gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Invitation / organizer additions */
.invitation{background:var(--inv-bg,#fffaf0);color:var(--inv-ink,#383026);border:1px solid #eee4dc;border-radius:28px;padding:clamp(30px,7vw,80px) clamp(18px,5vw,65px);text-align:center;box-shadow:0 18px 70px #324d3012}
.invitation .eyebrow,.invitation h2{color:var(--inv-accent,#a67933)}
.invitation h1{font-size:clamp(2.4rem,7vw,4.6rem);overflow-wrap:anywhere;margin:18px 0}
.invitation p{font-size:1.02rem;line-height:1.8}
.invite-icon{font-size:5rem;margin:20px 0}
.invite-divider{font-size:2rem;color:var(--inv-accent,#a67933);margin:24px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stat{background:white;border:1px solid #e7e9e5;padding:22px;border-radius:20px;display:flex;flex-direction:column;gap:5px;box-shadow:0 6px 30px #243e3412}
.stat strong{font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.05em;color:#234837}
.stat span{font-size:.85rem;color:#737f76}
.guest-list{display:grid;gap:13px}.guest-item{background:white;border:1px solid #e3e9e5;border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:16px;align-items:center}
.guest-item h3{margin:0}.guest-actions{display:flex;flex-wrap:wrap;gap:7px;max-width:240px}.guest-item .qr-small svg{max-width:85px!important}
.admin-row{border-bottom:1px solid #e9ede8;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 0}
@media(max-width:790px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-item{grid-template-columns:1fr 80px}.guest-actions{grid-column:1/-1;max-width:none}.invitation{border-radius:20px}}
@media(max-width:380px){.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px}}
