 :root{--cream:#fbf1d9;--paper:#fffaf0;--green:#40543b;--deep:#2e4032;--gold:#b28b4e;--pink:#d98d91;--ink:#473d31;--muted:#817565;--line:#dfc99d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,sans-serif;text-align:center}
.hero{min-height:94vh;padding:72px 22px 85px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#fffaf0 0%,var(--cream) 72%);border:10px solid var(--cream);outline:1px solid var(--line);outline-offset:-18px}
.hero:before,.hero:after{content:"❀";position:absolute;font-size:clamp(150px,25vw,320px);color:#d8bd84;opacity:.12;pointer-events:none}.hero:before{left:-70px;top:15%}.hero:after{right:-70px;bottom:8%}
.lotus-border{position:absolute;top:20px;color:#b98e51;font-size:clamp(18px,4vw,34px);letter-spacing:.12em;opacity:.8}.mantra,.eyebrow,.kicker,.event-type{font-size:10px;letter-spacing:.22em;font-weight:600;color:var(--gold)}
.monogram,.footer-monogram{font-family:"Cormorant Garamond",serif;font-size:58px;color:#c4a05e;margin:25px 0 10px}.monogram span,.footer-monogram span{font-size:20px;color:var(--pink);vertical-align:middle}
h1,h2,h3,.footer-names{font-family:"Cormorant Garamond",serif;font-weight:500}h1{font-size:clamp(66px,12vw,116px);line-height:.95;color:var(--green);margin:14px 0 8px}h1 i{font-weight:400;color:var(--pink)}.names-detail{font-family:"Great Vibes",cursive;font-size:34px;color:#a97866;margin:0}.names-detail span{padding:0 12px;color:var(--gold)}.ornament{color:var(--gold);margin:25px 0}.date{font-size:11px;letter-spacing:.16em;color:var(--green);display:flex;align-items:center;gap:12px}.date b{font-family:"Cormorant Garamond",serif;font-size:48px;font-weight:500}.hero-note{font-family:"Cormorant Garamond",serif;font-size:24px;font-style:italic;color:var(--muted)}.scroll{position:absolute;bottom:26px;color:var(--muted);text-decoration:none;font-size:9px;letter-spacing:.15em}.scroll span{display:block;color:var(--gold);font-size:20px;margin-top:8px}
section{padding:78px 22px}.intro{max-width:760px;margin:auto}.kicker{color:var(--gold)}h2{font-size:clamp(38px,7vw,58px);color:var(--green);margin:10px 0 22px}.intro>p:last-child,.section-lead,.share>p{max-width:650px;margin:0 auto;color:var(--muted);font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1.45}
.countdown-wrap{background:var(--green);color:#fff8e9}.countdown-wrap h2{color:#fff8e9}.countdown-wrap .kicker{color:#e1c58f}.countdown{display:flex;justify-content:center;gap:clamp(18px,5vw,55px);flex-wrap:wrap;margin-top:28px}.countdown div{display:flex;flex-direction:column;min-width:65px;gap:6px}.countdown strong{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,9vw,72px);font-weight:400}.countdown small{font-size:9px;letter-spacing:.2em;color:#e3c996}
.events{background:var(--cream)}.section-lead{margin-bottom:38px}.event-card{position:relative;max-width:650px;margin:22px auto;padding:35px 22px 38px;background:rgba(255,253,247,.82);border:1px solid var(--line);box-shadow:0 8px 28px #66502a0b}.event-number{position:absolute;left:18px;top:16px;color:#c9ac78;font-family:"Cormorant Garamond",serif;font-size:20px}.event-symbol{font-size:27px;color:var(--pink)}.event-type{font-size:9px;margin:10px 0;color:#a9844d}.event-card h3{font-size:39px;color:var(--green);margin:5px}.time{font-family:"Cormorant Garamond",serif;font-size:25px;color:#a77b54;margin:8px}.event-card h4{font-size:14px;color:var(--deep);margin:18px 0 5px}.place{font-size:12px;color:var(--muted);margin:5px}.map-button{display:inline-block;margin-top:18px;padding:13px 17px;border:1px solid var(--gold);text-decoration:none;color:var(--green);font-size:9px;letter-spacing:.13em}.calendar-button,.share-button{margin-top:18px;background:var(--green);border:1px solid var(--green);color:white;padding:16px 22px;font:500 10px Montserrat,sans-serif;letter-spacing:.13em;cursor:pointer}
.family{background:#fffaf0}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:850px;margin:30px auto 0}.family-grid>div{padding:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.family h3{font-size:29px;color:var(--green);margin:5px}.family p{font-family:"Cormorant Garamond",serif;font-size:20px;margin:8px}.family small{font-size:11px;color:var(--muted);line-height:1.7}
.invitation-art{background:var(--cream)}.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:900px;margin:32px auto}.art-grid figure{margin:0;padding:12px;background:#fffdf7;border:1px solid var(--line)}.art-grid img{display:block;width:100%;height:520px;object-fit:contain}.art-grid figcaption{font-family:"Cormorant Garamond",serif;font-size:19px;color:var(--green);padding:10px}
.share{background:#fffaf0}.big-flower{font-size:42px;color:var(--pink)}.share h2{max-width:650px;margin:10px auto}.share-button{margin-top:28px}
footer{background:var(--deep);color:#f5ead4;padding:42px 20px 35px}.footer-monogram{margin:0;color:#dfc18a}.footer-names{font-size:43px;margin:0 0 12px}footer p:not(.footer-names){font-size:9px;letter-spacing:.17em;color:#dfd0b3}footer small{font-size:8px;letter-spacing:.22em;color:#c5ad80}
.music{position:fixed;right:17px;bottom:17px;z-index:8;border:1px solid var(--gold);border-radius:28px;background:#fffaf0ed;color:var(--green);padding:11px 15px;display:flex;gap:8px;align-items:center;box-shadow:0 5px 20px #0001;cursor:pointer;font:500 10px Montserrat,sans-serif}.music span:first-child{font-size:17px;color:var(--gold)}
@media(max-width:620px){.hero{min-height:90vh;padding-top:85px}.family-grid,.art-grid{grid-template-columns:1fr}.art-grid img{height:auto;max-height:620px}.event-card{padding:32px 16px}.date{gap:7px;font-size:9px}.date b{font-size:42px}section{padding:65px 17px}}
