@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Alex+Brush&display=swap";:root{--color-primary:#6e8264;--color-primary-hover:#5d6e54;--color-bg:#fdfcf8;--color-surface:#fff;--color-surface-dim:#f5f4f0;--color-text:#2a3026;--color-text-light:#5a6355;--color-border:#6e826426;--font-headline:"Playfair Display", serif;--font-body:"Inter", sans-serif;--radius-soft:12px;--radius-full:9999px;--shadow-soft:0 10px 30px -5px #6e826414}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);color:var(--color-text);margin-bottom:.5em;font-weight:500;line-height:1.3}h1{letter-spacing:-.02em;font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.75rem}a{color:var(--color-primary);text-decoration:none;transition:color .3s}a:hover{color:var(--color-primary-hover)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.min-h-screen{min-height:100vh}.btn{border-radius:var(--radius-soft);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;justify-content:center;align-items:center;padding:.75rem 2rem;font-size:.875rem;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover{background-color:var(--color-surface-dim)}.card{background-color:var(--color-surface);border-radius:var(--radius-soft);box-shadow:var(--shadow-soft);padding:2.5rem}.input-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.input-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:.5rem;font-size:.875rem}.input-field{background-color:var(--color-surface-dim);border-radius:var(--radius-soft);font-family:var(--font-body);color:var(--color-text);border:1px solid #0000;width:100%;padding:1rem;font-size:1rem;transition:all .3s}.input-field:focus{background-color:var(--color-surface);border-color:var(--color-border);outline:none;box-shadow:0 0 0 3px #6e82641a}.input-field::placeholder{color:var(--color-text-light);opacity:.6}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.text-center{text-align:center}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}h1{font-size:2.5rem}h2{font-size:2rem}}.glass-panel{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:50;background:#fdfcf8d9;position:sticky;top:0}.envelope-container{perspective:2000px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:500px;margin:1rem auto;display:flex;position:relative}.envelope-wrapper{aspect-ratio:480/320;width:100%;transform-style:preserve-3d;background-color:#0000;transition:transform 1.2s cubic-bezier(.4,0,.2,1);position:relative;transform:rotateY(0)}.envelope-container.flipped .envelope-wrapper{transform:rotateY(180deg)translateY(0)}.envelope-container.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(45px)}.envelope-container.invite-both.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(75px)}.envelope-back-side,.envelope-front-side{backface-visibility:hidden;border-radius:6px;width:100%;height:100%;position:absolute;top:0;left:0}.envelope-container:not(.flipped) .envelope-back-side{opacity:1;visibility:visible;transition:opacity linear,visibility linear}.envelope-container.flipped .envelope-back-side,.envelope-container:not(.flipped) .envelope-front-side{opacity:0;visibility:hidden;transition:opacity 0s linear .6s,visibility 0s linear .6s}.envelope-container.flipped .envelope-front-side{opacity:1;visibility:visible;transition:opacity 0s linear .6s,visibility 0s linear .6s}.envelope-back-side{z-index:2;background-color:#faf9f6;border:1px solid #eae8e3;justify-content:center;align-items:center;display:flex;overflow:hidden;transform:rotateY(0);box-shadow:0 15px 40px #0000001a}.back-content{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex}.guest-name-calligraphy{color:#7a695b;white-space:nowrap;text-align:center;text-shadow:0 1px 2px #00000005;justify-content:center;align-items:center;width:95%;margin-bottom:.5rem;font-family:Alex Brush,cursive;line-height:1.2;display:flex}.tap-hint-back{text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);background-color:#6e826414;border:1px solid #6e826433;border-radius:20px;margin-top:.5rem;padding:.4rem 1rem;font-size:.72rem;font-weight:600}.envelope-front-side{z-index:1;transform-style:preserve-3d;transform:rotateY(180deg)}.envelope-back{z-index:1;background-color:#faf9f6;border:1px solid #eae8e3;border-radius:4px;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.envelope-lining{clip-path:polygon(0 0,100% 0,100% 90%,50% 100%,0 90%);opacity:0;background-color:#c6bbb2;width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.envelope-container.open .envelope-lining{opacity:1}.envelope-front-pocket{z-index:3;pointer-events:none;filter:drop-shadow(0 -5px 6px #0000000d);width:100%;height:100%;position:absolute;top:0;left:0}.envelope-front-pocket svg{width:100%;height:100%;display:block}.envelope-flap-container{z-index:4;transform-origin:top;width:100%;height:50%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;transform:rotateX(0)}.envelope-flap-3d{width:100%;height:100%;transform-style:preserve-3d;position:relative}.flap-face{backface-visibility:hidden;width:100%;height:100%;position:absolute;top:0;left:0}.flap-outer{z-index:2;filter:drop-shadow(0 5px 5px #00000014);transform:rotateX(0)}.flap-inner{z-index:1;transform:rotateX(180deg)}.wax-seal{z-index:10;cursor:pointer;justify-content:center;align-items:center;width:64px;height:64px;transition:opacity .5s;animation:2.5s ease-in-out infinite pulse-seal;display:flex;position:absolute;bottom:-32px;left:calc(50% - 32px)}.wax-seal svg{filter:drop-shadow(0 2px 4px #00000026)}.envelope-container.open .envelope-flap-container{z-index:2;transform:rotateX(-180deg)}.envelope-container.open .wax-seal{opacity:0;pointer-events:none}.envelope-card{aspect-ratio:1.414;z-index:2;box-sizing:border-box;opacity:0;background-color:#faf8f5;border:1px solid #eae5dc;border-radius:3px;width:calc(100% - 32px);transition:transform 1.2s cubic-bezier(.4,0,.2,1),box-shadow 1.2s,opacity .5s;position:absolute;top:2px;left:16px;transform:translateY(-8px)scale(.95);box-shadow:0 2px 10px #0000000d}.envelope-container.open .envelope-card{opacity:1}.envelope-container.card-up .envelope-card{z-index:12;transform:translateY(-30%)scale(1);box-shadow:0 20px 45px #0000002e}.card-border-gold{box-sizing:border-box;border:1px solid #d4af3740;flex-direction:column;padding:.8rem 1rem;display:flex;position:absolute;inset:12px}.card-content-typographer{opacity:0;color:#5a4e44;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;transition:opacity .5s .3s;display:flex}.envelope-container.card-up .card-content-typographer{opacity:1}.typographer-note{color:#c0b8ad;text-align:center;pointer-events:none;opacity:0;width:100%;font-size:.48rem;transition:opacity .5s;position:absolute;bottom:-15px}.envelope-container.card-up .typographer-note{opacity:.8}.real-invitation-img{object-fit:contain;background-color:#faf8f5;border-radius:3px;width:100%;height:100%}.envelope-card.double-card{transition:transform .5s cubic-bezier(.25,1,.5,1),z-index .5s step-end,filter .5s,opacity .5s}.envelope-container.card-up .envelope-card.double-card.active{z-index:12;filter:brightness();opacity:1;pointer-events:auto;transform:translateY(-30%)scale(1);box-shadow:0 20px 45px #0000002e}.envelope-container.card-up .envelope-card.double-card.card-wedding.back{z-index:10;filter:brightness(.75);opacity:.85;cursor:pointer;pointer-events:auto;transform:translateY(-30%)scale(.95)translate(-22px,10px)rotate(-3deg);box-shadow:0 10px 25px #0000001f}.envelope-container.card-up .envelope-card.double-card.card-wedding.back:hover{filter:brightness(.85);opacity:.95;transform:translateY(-30%)scale(.97)translate(-26px,6px)rotate(-3.5deg)}.envelope-container.card-up .envelope-card.double-card.card-mishmara.back{z-index:10;filter:brightness(.75);opacity:.85;cursor:pointer;pointer-events:auto;transform:translateY(-30%)scale(.95)translate(22px,10px)rotate(3deg);box-shadow:0 10px 25px #0000001f}.envelope-container.card-up .envelope-card.double-card.card-mishmara.back:hover{filter:brightness(.85);opacity:.95;transform:translateY(-30%)scale(.97)translate(26px,6px)rotate(3.5deg)}.envelope-container.card-up .envelope-card.double-card.swapping-out{z-index:13;opacity:1;filter:brightness();transition:transform .35s cubic-bezier(.25,1,.5,1);transform:translateY(-30%)scale(1)translate(110%)rotate(6deg)!important}.card-selector-tabs{z-index:110;justify-content:center;gap:.8rem;width:100%;max-width:440px;margin:1.5rem auto 0;display:flex;position:relative}.tab-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-light);cursor:pointer;background-color:#faf8f5;border:1px solid #6e826433;border-radius:20px;padding:.45rem 1.2rem;font-size:.72rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000008}.tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.tab-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6e826440}.envelope-actions-bar{opacity:0;pointer-events:none;z-index:100;justify-content:center;gap:1.2rem;width:100%;max-width:440px;margin:2rem auto 0;transition:all .8s cubic-bezier(.4,0,.2,1) .2s;display:flex;transform:translateY(20px)}.envelope-actions-bar.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.action-bar-button{letter-spacing:.1em;border-radius:var(--radius-soft);cursor:pointer;text-align:center;white-space:nowrap;flex:1;padding:.9rem 2rem;font-size:.82rem;font-weight:600;transition:all .3s}.action-bar-button.enter-btn{border:1.5px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.action-bar-button.enter-btn:hover{background-color:#6e82640f;transform:translateY(-2px)}.action-bar-button.rsvp-btn{color:#faf9f6;background-color:#2f2a26;border:none;box-shadow:0 4px 15px #00000026}.action-bar-button.rsvp-btn:hover{background-color:#1e1a17;transform:translateY(-2px);box-shadow:0 6px 20px #0003}@keyframes pulse-seal{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:.9}50%{opacity:.4}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@media (height<=520px){.envelope-container{margin:.2rem auto}.envelope-container.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(20px)}.envelope-container.invite-both.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(32px)}.envelope-container.card-up .envelope-card,.envelope-container.card-up .envelope-card.double-card.active{transform:translateY(-25%)scale(.72)}.envelope-container.card-up .envelope-card.double-card.card-wedding.back{transform:translateY(-25%)scale(.68)translate(-14px,6px)rotate(-2.5deg)}.envelope-container.card-up .envelope-card.double-card.card-mishmara.back{transform:translateY(-25%)scale(.68)translate(14px,6px)rotate(2.5deg)}.envelope-container.card-up .envelope-card.double-card.swapping-out{transform:translateY(-25%)scale(.72)translate(105%)rotate(6deg)!important}.card-selector-tabs{margin:.5rem auto 0}.envelope-actions-bar{margin:1rem auto 0}}@media (width<=500px){.envelope-container{margin:.5rem auto}.envelope-container.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(35px)}.envelope-container.invite-both.flipped.open .envelope-wrapper{transform:rotateY(180deg)translateY(60px)}.envelope-card{width:calc(100% - 28px);top:2px;left:14px}.envelope-container.card-up .envelope-card,.envelope-container.card-up .envelope-card.double-card.active{transform:translateY(-32%)scale(1)}.envelope-container.card-up .envelope-card.double-card.card-wedding.back{transform:translateY(-32%)scale(.95)translate(-14px,8px)rotate(-3deg)}.envelope-container.card-up .envelope-card.double-card.card-wedding.back:hover{transform:translateY(-32%)scale(.97)translate(-18px,12px)rotate(-3.5deg)}.envelope-container.card-up .envelope-card.double-card.card-mishmara.back{transform:translateY(-32%)scale(.95)translate(16px,8px)rotate(3deg)}.envelope-container.card-up .envelope-card.double-card.card-mishmara.back:hover{transform:translateY(-32%)scale(.97)translate(18px,12px)rotate(3.5deg)}.envelope-container.card-up .envelope-card.double-card.swapping-out{transform:translateY(-32%)scale(1)translate(105%)rotate(6deg)!important}.card-selector-tabs{gap:.6rem;margin:1rem auto 0;padding:0 1rem}.tab-btn{padding:.4rem 1rem;font-size:.68rem}.envelope-actions-bar{gap:.8rem;margin:1.5rem auto 0;padding:0 1rem}.action-bar-button{padding:.75rem 1rem;font-size:.72rem}}
