@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@400;500;600&display=swap');
:root{--ivory:#f7f0e6;--ivory2:#fffaf3;--blue:#c1d5e2;--blue2:#e3edf2;--gold:#bf8b48;--gold2:#95652f;--brown:#5d4b3b;--line:#d7c09c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--brown);font-family:Montserrat,Arial,sans-serif;background:var(--ivory)}body.locked{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.cover-screen{position:fixed;inset:0;z-index:1000;background:#efe5d7;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity 1s,visibility 1s}
.cover-screen.hide{opacity:0;visibility:hidden;pointer-events:none}.cover-shine{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.28),transparent 42%);pointer-events:none;z-index:1}
.front-cover{width:100%;height:100%;object-fit:cover}.cover-bottom{position:absolute;z-index:3;bottom:34px;left:50%;transform:translateX(-50%);text-align:center;color:#fff;filter:drop-shadow(0 2px 9px rgba(60,40,20,.65))}
.to-line,.cover-date{font-size:10px;letter-spacing:.28em}.cover-date{margin-top:10px}.open-btn,.btn{border:1px solid var(--gold);background:linear-gradient(135deg,#c89551,#a97035);color:#fffdf8;border-radius:999px;padding:14px 26px;letter-spacing:.13em;font-size:10px;cursor:pointer;box-shadow:0 10px 28px rgba(96,64,30,.22);display:inline-block}
.open-btn{margin:11px 0 0;background:rgba(255,250,243,.95);color:var(--gold2)}.cover-hint{position:absolute;bottom:10px;z-index:3;color:#fff;font-size:8px;letter-spacing:.12em;opacity:.75}
.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:66px;display:flex;align-items:center;justify-content:center;background:rgba(247,240,230,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(191,139,72,.22)}
.brand{position:absolute;left:24px;font:26px 'Cormorant Garamond',serif;color:var(--gold2)}.brand i,.signature i,.footer i{font-size:.65em}.nav nav{display:flex;gap:22px}.nav nav a{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6d5948}.music{position:absolute;right:20px;border:1px solid var(--line);background:var(--ivory2);width:40px;height:40px;border-radius:50%;color:var(--gold2);cursor:pointer}
.hero{min-height:100vh;padding:120px 7%;display:grid;place-items:center;text-align:center;position:relative;background:url("romantic-bg.svg") center/cover fixed;overflow:hidden}
.hero:before,.section.blue:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.82),transparent 50%);pointer-events:none}
.hero-card{position:relative;z-index:2;max-width:800px;padding:45px 30px}.eyebrow,.heading>span{font-size:10px;letter-spacing:.26em;color:var(--gold2)}.hero h1,.heading h2,.names h3,.signature,.footer h2{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--gold2)}
.hero h1{font-size:clamp(68px,11vw,125px);line-height:.72;margin:28px 0}.hero h1 span{display:block;font-size:.45em;line-height:1;margin:20px}.gold-line{color:var(--gold);letter-spacing:.15em}.date{font-size:12px;letter-spacing:.28em;margin:23px}.intro{max-width:620px;margin:0 auto 28px;font-size:13px;line-height:1.9}
.petals{position:absolute;z-index:1;color:rgba(191,139,72,.4);font-size:58px;animation:float 6s ease-in-out infinite}.p1{left:7%;top:22%}.p2{right:8%;top:31%;animation-delay:-2s}.p3{left:14%;bottom:14%;animation-delay:-4s}
.section{position:relative;padding:105px 7%;overflow:hidden}.cream{background:var(--ivory)}.blue{background:linear-gradient(135deg,var(--blue2),var(--blue));}.heading{text-align:center;position:relative;z-index:2;margin-bottom:44px}.heading h2{font-size:clamp(42px,6vw,70px);line-height:.9;margin:12px 0 18px}.heading b{color:var(--gold);font-size:21px}
.couple{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.couple article{padding:35px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,250,243,.25)}.couple small{font-size:9px;letter-spacing:.18em;color:var(--gold2)}.couple h3{font:500 25px 'Cormorant Garamond',serif;line-height:1.25;margin:12px 0 0}.heart{font-size:47px;color:var(--gold)}.names{text-align:center;margin:48px auto 0}.names h3{font-size:clamp(34px,5vw,57px);line-height:.9;margin:8px}.names>div{font:30px 'Cormorant Garamond',serif;color:var(--gold)}
.invitation-frame{max-width:980px;margin:auto;position:relative;padding:16px;background:rgba(255,250,243,.45);border:1px solid rgba(191,139,72,.38);box-shadow:0 25px 70px rgba(74,61,43,.18)}.invitation-frame:before,.invitation-frame:after{content:"";position:absolute;width:70px;height:70px;border:1px solid rgba(191,139,72,.5)}.invitation-frame:before{left:-8px;top:-8px;border-right:0;border-bottom:0}.invitation-frame:after{right:-8px;bottom:-8px;border-left:0;border-top:0}.invitation-frame img{width:100%;display:block}.caption{text-align:center;font-size:10px;letter-spacing:.1em;margin-top:18px;opacity:.75}
.countdown{display:flex;justify-content:center;gap:10px;margin-bottom:44px;position:relative;z-index:2}.countdown div{width:110px;padding:17px 8px;text-align:center;border:1px solid rgba(149,101,47,.28);background:rgba(255,250,243,.4)}.countdown strong{display:block;font:500 42px 'Cormorant Garamond',serif;color:var(--gold2)}.countdown span{font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.events{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;z-index:2}.events article{text-align:center;padding:35px 15px;background:rgba(255,250,243,.48);border:1px solid rgba(149,101,47,.2)}.event-icon{font-size:28px;color:var(--gold2);margin-bottom:12px}.events small{font-size:9px;letter-spacing:.18em}.events h3{font:500 25px 'Cormorant Garamond',serif;margin:10px 0}
.message{text-align:center;background:radial-gradient(circle at 50% 50%,#fffaf3 0,#f7f0e6 55%,#e6eef1 100%)}.message p{max-width:750px;margin:auto;line-height:2;font-size:13px}.signature{font-size:57px;margin-top:35px}
.gallery-card{max-width:1000px;margin:auto;padding:14px;background:rgba(255,250,243,.55);border:1px solid rgba(149,101,47,.25);box-shadow:0 20px 60px rgba(65,60,50,.18)}.gallery-card img{width:100%;display:block}
.location-card{max-width:650px;margin:auto;text-align:center;padding:45px 25px;background:rgba(255,250,243,.7);border:1px solid rgba(149,101,47,.24);box-shadow:0 20px 55px rgba(75,65,52,.1)}.pin{font-size:44px;color:var(--gold2)}.location-card p{font-size:13px;line-height:1.9;margin:12px 0 25px}
#rsvp form{max-width:650px;margin:auto;display:grid;gap:12px;position:relative;z-index:2}#rsvp input,#rsvp select,#rsvp textarea{width:100%;padding:14px 16px;border:1px solid rgba(149,101,47,.28);background:rgba(255,250,243,.8);color:var(--brown);outline:none}#rsvp textarea{resize:vertical}#rsvp .btn{justify-self:center}.result{text-align:center;font-size:12px;line-height:1.8;margin-top:25px}.note{max-width:650px;margin:24px auto 0;text-align:center;font-size:10px;line-height:1.7;opacity:.7}
.footer{text-align:center;padding:105px 20px;background:var(--ivory)}.footer>div{color:var(--gold);font-size:27px}.footer h2{font-size:clamp(55px,9vw,100px);margin:10px}.footer p{font-size:10px;letter-spacing:.25em}
.bokeh{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 65%);filter:blur(4px)}.b1{left:-80px;top:30px}.b2{right:-90px;bottom:30px}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}
@media(max-width:760px){.nav nav{display:none}.section{padding:85px 5%}.couple{grid-template-columns:1fr;gap:10px}.heart{font-size:36px}.events{grid-template-columns:1fr}.countdown div{width:75px;padding:12px 4px}.countdown strong{font-size:31px}.hero h1{font-size:74px}.signature{font-size:45px}.front-cover{object-fit:cover}.cover-bottom{bottom:28px}.invitation-frame{padding:7px}}

/* MEMORY VIDEO */
.memory-video-card{max-width:980px;margin:0 auto 42px;padding:18px;position:relative;background:rgba(255,250,243,.58);border:1px solid rgba(191,139,72,.38);box-shadow:0 24px 65px rgba(64,66,66,.16);backdrop-filter:blur(5px)}
.memory-video-card:before,.memory-video-card:after{content:"";position:absolute;width:72px;height:72px;border:1px solid rgba(191,139,72,.55);pointer-events:none}
.memory-video-card:before{left:-7px;top:-7px;border-right:0;border-bottom:0}
.memory-video-card:after{right:-7px;bottom:-7px;border-left:0;border-top:0}
.video-wrap{position:relative;overflow:hidden;background:#e6edf0;border:7px solid rgba(255,250,243,.92);box-shadow:0 12px 35px rgba(55,57,58,.18)}
.video-wrap video{display:block;width:100%;max-height:680px;object-fit:contain;background:#dce7eb}
.video-play-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:11px 17px;border:1px solid rgba(255,250,243,.8);background:rgba(86,66,43,.58);color:#fffaf3;border-radius:999px;font-size:9px;letter-spacing:.18em;pointer-events:none;opacity:.9;transition:.3s}
.video-wrap:has(video:playing) .video-play-hint{opacity:0}
.video-caption{text-align:center;padding:22px 18px 8px}
.video-caption span{font-size:9px;letter-spacing:.25em;color:var(--gold2)}
.video-caption p{max-width:620px;margin:9px auto 0;font:400 20px/1.45 'Cormorant Garamond',serif;color:var(--brown)}
.video-ornament{text-align:center;color:var(--gold);font-size:24px;line-height:1}
.video-ornament.top{margin:0 0 12px}.video-ornament.bottom{margin:10px 0 0}
@media(max-width:760px){
 .memory-video-card{padding:9px}
 .video-wrap{border-width:4px}
 .video-caption p{font-size:18px}
 .video-play-hint{font-size:7px;padding:9px 12px;white-space:nowrap}
}

/* YOUTUBE MEMORY VIDEO */
.youtube-wrap{aspect-ratio:16/9;background:#dce7eb}
.youtube-wrap iframe{display:block;width:100%;height:100%;border:0}

.rsvp-submit-frame{position:absolute;width:1px;height:1px;left:-9999px;top:-9999px;border:0;opacity:0;pointer-events:none}#rsvp .btn:disabled{cursor:wait}
