:root{--bg:#F8F4ED;--ink:#4A4F45;--sage:#6F756A;--sage-d:#565B50;--beige:#C9B8A2;--mint:#B8C4B4;--line:#E4DACB;--card:#FFFDF8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Lato',sans-serif;line-height:1.75;overflow-x:hidden}
.blob{position:fixed;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.b1{width:280px;height:280px;background:#DCE5D4;top:-60px;left:-80px}
.b2{width:320px;height:320px;background:#F2DFD2;bottom:-80px;right:-100px}
.hero,.section,.closing{position:relative;z-index:1}
h1,h2{font-family:'Cormorant Garamond',serif;font-weight:500;margin:0;line-height:1.1}h2{font-size:1.9rem;text-align:center}
img{max-width:100%;display:block}
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.2rem}
.hero h1{font-size:clamp(2.8rem,11vw,4.2rem)}.hero h1 em{font-style:italic;color:var(--sage)}
.eyebrow{letter-spacing:.3em;text-transform:uppercase;font-size:.62rem;color:var(--sage)}
.sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;color:var(--sage)}
.leaves{letter-spacing:.5rem;opacity:.8}.rule{margin:.8rem;color:var(--sage)}
.meta{font-size:.9rem}.parents{width:min(76vw,300px);aspect-ratio:4/5;object-fit:cover;border-radius:150px 150px 18px 18px;border:6px solid #fff;box-shadow:0 18px 40px rgba(111,117,106,.2);margin:1rem auto}
.btn-leaf{border:1px solid var(--sage);color:var(--sage);text-decoration:none;padding:.8rem 2rem;border-radius:999px;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;margin-top:.6rem}
.section{max-width:640px;margin:0 auto;padding:2.8rem 1.2rem}.center{text-align:center}
.label{letter-spacing:.28em;text-transform:uppercase;font-size:.6rem;color:var(--beige);text-align:center}
.text{text-align:center;max-width:54ch;margin:0 auto}.sign{font-family:'Cormorant Garamond',serif;font-style:italic;text-align:center;font-size:1.3rem;color:var(--sage)}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:400px;margin:1.2rem auto 0}
.countdown div{background:#fff;border:1px solid var(--line);border-radius:60px;padding:.6rem .2rem}
.countdown span{font-family:'Cormorant Garamond',serif;font-size:1.7rem;display:block}
.countdown small{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage)}
.countdown-done{grid-column:1/-1;background:var(--card);border:1px solid var(--beige);border-radius:60px;padding:1rem 1.3rem;text-align:center}
.countdown-done p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--sage-d);margin:0}
.map iframe{width:100%;height:240px;border:0;border-radius:18px;filter:sepia(.25)}
.agenda{list-style:none;padding:0;max-width:460px;margin:1rem auto 0;display:grid;gap:.55rem}
.agenda li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:.75rem 1rem;font-size:.92rem;display:grid;grid-template-columns:34px 1fr;gap:.6rem;align-items:start}
.agenda li span{font-size:1.3rem}.agenda strong{font-family:'Cormorant Garamond',serif;font-size:1.1rem}.agenda p{margin:.1rem 0 0;font-size:.85rem;color:#7A8074}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.8rem 1.2rem;box-shadow:0 14px 34px rgba(111,117,106,.12)}
.card-emoji{font-size:2.2rem}
.wishlist{list-style:none;padding:0;margin:1rem auto 0;max-width:400px;display:grid;gap:.5rem;text-align:left}
.wishlist li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.65rem .95rem;font-size:.9rem}
.divider{display:flex;align-items:center;gap:.7rem;max-width:200px;margin:.8rem auto}
.divider span{height:1px;background:var(--beige);flex:1}.divider em{font-style:normal}
.parents-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--sage-d);margin:.4rem 0 0}
.script-big{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:3rem;margin:0;color:var(--sage-d)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.gallery img{aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:4px solid #fff}
.polaroids figure{margin:0;background:#fff;padding:.5rem .5rem 1.6rem;box-shadow:0 10px 24px rgba(111,117,106,.15);transform:rotate(-1.5deg)}
.polaroids figure:nth-child(2){transform:rotate(1.5deg)}
.polaroids figcaption{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.85rem;text-align:center;color:var(--sage)}
#copy-code{cursor:pointer}
h2 em{font-style:italic;color:var(--sage)}
.rsvp{display:grid;gap:.6rem;max-width:380px;margin:1rem auto 0}
.rsvp input,.rsvp select{padding:.8rem 1rem;border:1px solid var(--line);border-radius:999px;font-family:inherit}
.rsvp button{background:var(--sage);color:#fff;border:0;border-radius:999px;padding:.9rem;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;cursor:pointer}
.ok{color:var(--sage);font-style:italic}.closing{text-align:center;padding:3rem 1rem 4rem}
.reveal{opacity:0;transform:translateY(20px);transition:all 1.2s ease}.reveal.visible{opacity:1;transform:none}
