:root{--rose:#8b2f5b;--deep:#3c1730;--cream:#fff9f5;--gold:#c58a42;--ink:#351d2a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,#f8dce7 0,transparent 28%),radial-gradient(circle at 90% 20%,#f4e3c9 0,transparent 25%);opacity:.7}
.hero{min-height:92vh;display:grid;place-items:center;text-align:center;padding:48px 22px;background:linear-gradient(145deg,#4a1838 0%,#8b2f5b 48%,#b75c79 100%);color:white;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.22);border-radius:50%;top:-150px;right:-130px;box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 90px rgba(255,255,255,.025)}
.hero-inner{max-width:780px;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:700;opacity:.8}.hero h1{font:600 clamp(4rem,13vw,8.5rem)/.82 "Cormorant Garamond",serif;margin:28px 0}.hero h1 span{font-style:italic;color:#ffe6a9}.intro{max-width:590px;margin:0 auto 30px;font-size:1.08rem;line-height:1.8;color:#fff3f6}.button{display:inline-block;padding:14px 23px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:white;text-decoration:none;font-weight:700;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);transition:.25s}.button:hover{transform:translateY(-2px);background:rgba(255,255,255,.18)}
.section{max-width:1100px;margin:auto;padding:90px 22px}.message .card{max-width:780px;margin:auto;padding:clamp(30px,6vw,70px);background:white;border-radius:30px;box-shadow:0 24px 70px rgba(67,23,45,.1);text-align:center}.script{font:italic 2rem "Cormorant Garamond",serif;color:var(--rose)}h2{font:600 clamp(2.3rem,5vw,4rem)/1 "Cormorant Garamond",serif;margin:12px 0 25px;color:var(--deep)}.message p:not(.script):not(.closing){font-size:1.04rem;line-height:1.9;color:#684c5a}.closing{font-weight:700;color:var(--rose);font-size:1.2rem;margin-top:28px}
.section-heading{text-align:center;margin-bottom:38px}.section-heading .eyebrow,.video-card .eyebrow{color:var(--rose)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;overflow:hidden;border-radius:18px;background:#eee;position:relative;aspect-ratio:1/1;box-shadow:0 8px 25px rgba(50,20,35,.08)}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.06)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(transparent,rgba(20,5,15,.7));color:white;font-size:.75rem}
.video-card{background:#401b31;color:white;border-radius:30px;padding:clamp(25px,5vw,50px);text-align:center}.video-card h2{color:white}.video-card video{width:100%;max-height:600px;border-radius:18px;background:#160b12}.final{text-align:center}.final-card{padding:70px 25px;border-radius:35px;background:linear-gradient(145deg,#fff,#fdebf1);border:1px solid #f3d5e0}.big-heart{font-size:4rem;color:var(--rose);animation:pulse 1.5s infinite}.final-card p{line-height:1.8;color:#684c5a}.final-card strong{color:var(--rose)}footer{text-align:center;padding:30px;color:#896978;font-size:.8rem}
.hearts{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}.heart{position:absolute;bottom:-30px;animation:float 6s linear forwards;opacity:.7;color:#fff}.heart:after{content:"♥"}@keyframes float{to{transform:translateY(-110vh) rotate(25deg);opacity:0}}@keyframes pulse{50%{transform:scale(1.12)}}
@media(max-width:800px){.gallery{grid-template-columns:repeat(2,1fr)}.section{padding:65px 16px}.hero{min-height:88vh}}@media(max-width:460px){.gallery{gap:9px}.hero h1{font-size:4.4rem}}
