@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300&family=Inter:wght@300;400;500&display=swap";html{scroll-behavior:smooth}body{margin:0}:root{--cream:#f7f3ec;--cream-dark:#efe9dd;--ink:#2a2520;--ink-soft:#6b5e52;--gold:#b08d57;--gold-dark:#8a6b3d;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300}.invitation{max-width:720px;margin:0 auto;padding:0 1.5rem;animation:.8s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.envelope-stage{background:linear-gradient(135deg,#f7f3ec 0%,#e8dfc8 100%);flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:2rem;animation:.6s stageIn;display:flex}@keyframes stageIn{0%{opacity:0}to{opacity:1}}.envelope{cursor:pointer;width:min(380px,85vw);height:min(260px,58vw);transform-style:preserve-3d;perspective:1500px;transition:transform .4s;position:relative}.envelope:hover{transform:translateY(-6px)}.env-back,.env-body,.env-flap{border-radius:4px;position:absolute;inset:0}.env-back{background:linear-gradient(135deg,#c9a76e,#a07f4c);box-shadow:0 20px 40px #503c1e40,0 8px 16px #503c1e26}.env-body{z-index:3;clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);background:linear-gradient(135deg,#d4b582,#b8945a)}.env-flap{z-index:4;clip-path:polygon(0 0,50% 55%,100% 0);transform-origin:top;backface-visibility:hidden;background:linear-gradient(135deg,#b8945a,#9a7a44);transition:transform .8s cubic-bezier(.7,0,.3,1)}.env-seal{z-index:5;width:60px;height:60px;font-family:var(--serif);color:#f7f3ec;background:radial-gradient(circle at 35% 35%,#d4604a,#8a2c1e);border-radius:50%;justify-content:center;align-items:center;font-style:italic;transition:transform .3s,opacity .3s;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 8px #0000004d,inset -2px -2px 6px #0000004d}.env-seal span{align-items:center;gap:2px;font-size:1.1rem;line-height:1;display:flex}.env-seal small{font-size:.7em}.env-card{background:var(--cream);border:1px solid var(--cream-dark);z-index:2;flex-direction:column;justify-content:center;align-items:center;padding:1rem;transition:transform 1s cubic-bezier(.5,0,.2,1);display:flex;position:absolute;inset:8% 6%}.env-card .overline{margin-bottom:.8rem;font-size:.65rem}.env-names{font-family:var(--serif);color:var(--ink);font-size:clamp(1.5rem,5vw,2.2rem);font-style:italic}.env-guest{font-family:var(--serif);color:var(--gold-dark);margin-top:.6rem;font-size:1rem;font-style:italic}.env-hint{font-family:var(--serif);color:var(--gold-dark);letter-spacing:.1em;font-size:1.1rem;font-style:italic;animation:2s infinite bounce}.envelope-stage.open .env-flap{transform:rotateX(180deg)}.envelope-stage.open .env-seal{opacity:0;transition-delay:0s;transform:translate(-50%,-50%)scale(0)}.envelope-stage.open .env-card{transition-delay:.4s;transform:translateY(-80%)scale(1.05);box-shadow:0 30px 60px #503c1e4d}.envelope-stage.open{animation:.6s 1s forwards stageOut}@keyframes stageOut{to{opacity:0}}section{text-align:center;border-bottom:1px solid var(--cream-dark);padding:6rem 0}section:last-of-type{border-bottom:none}.overline{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:1.5rem;font-size:.75rem}h1,h2{font-family:var(--serif);color:var(--ink);font-weight:400}.hero{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:4rem 0;display:flex;position:relative}.names{flex-direction:column;gap:.5rem;margin:1rem 0 2rem;font-size:clamp(3.5rem,12vw,6.5rem);font-style:italic;font-weight:300;line-height:1;display:flex}.names .amp{color:var(--gold);font-size:.5em;font-style:normal}.date{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 2rem;display:flex}.date-weekday{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);padding-left:.4em;font-size:.7rem}.date-row{align-items:baseline;gap:1.25rem;display:flex}.date-month,.date-year{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);font-size:.85rem;font-weight:400}.date-day{font-family:var(--serif);color:var(--gold-dark);font-size:2.8rem;font-style:italic;font-weight:400;line-height:1}.greeting{font-family:var(--serif);color:var(--ink-soft);max-width:480px;margin-top:2.5rem;font-size:1.35rem;font-style:italic}.greeting strong{color:var(--gold-dark);font-style:normal;font-weight:500}.scroll-hint{color:var(--gold);font-size:1.5rem;animation:2s infinite bounce;position:absolute;bottom:2rem}@keyframes bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}.countdown h2{margin-bottom:2rem;font-size:2rem;font-style:italic}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:480px;margin:0 auto;display:grid}.countdown-grid>div{flex-direction:column;gap:.5rem;display:flex}.countdown-grid span{font-family:var(--serif);color:var(--gold-dark);font-size:clamp(2.5rem,8vw,3.5rem);font-weight:300;line-height:1}.countdown-grid label{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem}.venue h2{margin-bottom:.75rem;font-size:2.5rem;font-style:italic}.venue-address{color:var(--ink-soft);font-family:var(--serif);margin-bottom:2.5rem;font-size:1.15rem}.venue-schedule{justify-content:center;align-items:center;gap:2.5rem;margin-bottom:2.5rem;display:flex}.venue-sep{font-family:var(--serif);color:var(--gold);font-size:2rem}.venue-label{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem;font-size:.7rem}.venue-time{font-family:var(--serif);color:var(--gold-dark);font-size:1.75rem;font-style:italic}.btn{letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold-dark);cursor:pointer;background:0 0;padding:.9rem 2rem;font-size:.8rem;text-decoration:none;transition:all .3s;display:inline-block}.btn:hover{background:var(--gold);color:var(--cream)}.btn-primary{background:var(--gold);color:var(--cream);padding:1rem 2.5rem}.btn-primary:hover{background:var(--gold-dark);border-color:var(--gold-dark)}.hero-photo{object-fit:cover;border:4px solid var(--cream);filter:sepia(.05);border-radius:50%;width:clamp(160px,32vw,220px);height:clamp(160px,32vw,220px);margin-bottom:2.5rem;box-shadow:0 8px 28px #503c1e2e}.program-list{flex-direction:column;gap:1.1rem;max-width:420px;margin:0 auto;padding:0;list-style:none;display:flex}.program-list li{font-family:var(--serif);align-items:center;gap:1rem;display:flex}.program-time{color:var(--gold-dark);text-align:right;min-width:70px;font-size:1.5rem;font-style:italic}.program-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:6px;height:6px}.program-title{color:var(--ink);font-size:1.15rem}.lodging-list{flex-direction:column;gap:.75rem;max-width:480px;margin:0 auto;padding:0;list-style:none;display:flex}.lodging-list a{border:1px solid var(--cream-dark);color:var(--ink);font-family:var(--serif);background:#fff;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 1.5rem;font-size:1.15rem;text-decoration:none;transition:border-color .2s;display:flex}.lodging-list a:hover{border-color:var(--gold)}.lodging-note{color:var(--ink-soft);font-size:.85rem;font-family:var(--sans);letter-spacing:.05em}.gift-iban{border:1px solid var(--cream-dark);background:#fff;flex-direction:column;align-items:center;gap:.6rem;max-width:480px;margin:1rem auto 0;padding:1.5rem;display:flex}.gift-label{font-family:var(--serif);color:var(--ink-soft);font-size:1rem;font-style:italic}.gift-iban code{letter-spacing:.05em;color:var(--ink);padding:.5rem 0;font-family:Courier New,monospace;font-size:.95rem}.gift-iban button{letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold-dark);cursor:pointer;font-size:.7rem;font-family:var(--sans);background:0 0;padding:.6rem 1.5rem}.gift-iban button:hover{background:var(--gold);color:var(--cream)}.dress h2,.rsvp h2,.program h2,.lodging h2,.gift h2{margin-bottom:1.5rem;font-size:2.5rem;font-style:italic}.lodging strong{color:var(--gold-dark);font-weight:500;font-family:var(--serif);font-style:italic}.lodging .btn{margin-top:1rem}.dress p,.rsvp p,.lodging p{max-width:480px;color:var(--ink-soft);font-family:var(--serif);margin:0 auto 2rem;font-size:1.2rem;line-height:1.6}.rsvp strong{color:var(--gold-dark);font-weight:500}.rsvp-photo{aspect-ratio:4/5;object-fit:cover;object-position:center;background:#fff;width:min(420px,88%);margin:0 auto 3rem;padding:12px 12px 60px;transition:transform .4s;display:block;transform:rotate(-1.5deg);box-shadow:0 12px 32px #503c1e38,0 2px 6px #503c1e1f}.rsvp-photo:hover{transform:rotate(0)scale(1.02)}footer{text-align:center;padding:5rem 0 6rem}.ornament{color:var(--gold);justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.ornament-line{background:var(--gold);opacity:.6;width:60px;height:1px;display:block}.signature-names{font-family:var(--serif);color:var(--ink);letter-spacing:.02em;font-size:1.6rem;font-style:italic}footer .signature{font-family:var(--sans);color:var(--ink-soft);letter-spacing:.35em;text-transform:uppercase;margin-top:.75rem;font-size:.7rem}.admin{max-width:760px;margin:0 auto;padding:3rem 1.5rem}.admin h1{font-family:var(--serif);margin-bottom:.5rem;font-size:2.5rem;font-style:italic;font-weight:400}.admin-hint{color:var(--ink-soft);margin-bottom:1.5rem;font-size:.9rem}.admin textarea{width:100%;min-height:180px;font-family:var(--sans);border:1px solid var(--cream-dark);resize:vertical;color:var(--ink);background:#fff;border-radius:6px;outline:none;padding:1rem;font-size:1rem}.admin textarea:focus{border-color:var(--gold)}.admin-count{color:var(--gold-dark);letter-spacing:.15em;text-transform:uppercase;margin:1rem 0 2rem;font-size:.85rem}.admin-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.admin-list li{border:1px solid var(--cream-dark);background:#fff;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.admin-name{font-family:var(--serif);color:var(--ink);font-size:1.15rem}.admin-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-actions button,.admin-actions a{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--cream-dark);background:var(--cream);color:var(--ink-soft);cursor:pointer;border-radius:4px;padding:.55rem 1rem;font-size:.75rem;text-decoration:none;transition:all .2s}.admin-actions button:hover,.admin-actions a:hover{border-color:var(--gold);color:var(--gold-dark)}.admin-actions .admin-wa{color:#fff;background:#25d366;border-color:#25d366}.admin-actions .admin-wa:hover{color:#fff;background:#1eb854;border-color:#1eb854}
