*{box-sizing:border-box;margin:0;padding:0}
:root{--dark:#171217;--dark2:#24191f;--cream:#fff8fa;--rose:#bd5b76;--rose2:#e49aac;--text:#38292f;--muted:#806a72;--line:#ead1d8}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:Georgia,"Times New Roman",serif;overflow-x:hidden}
.hidden{display:none!important}
button{font:inherit}
.welcome{min-height:100svh;background:radial-gradient(circle at 50% 25%,#3a2029 0,#171217 48%,#0f0c0f 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;transition:opacity .8s}
.floating-heart{font-size:86px;color:#e49aac;animation:pulse 1.8s infinite;margin-bottom:10px}
.mini,.label{font:10px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:var(--rose);margin-bottom:18px}
.mini{color:#e7b7c2}
.welcome h1{font-size:clamp(72px,17vw,150px);font-weight:400;line-height:.85;margin-bottom:25px}
.welcome-sub{font-size:21px;line-height:1.7;color:#d7c7cc;margin-bottom:38px}
.button{border:0;border-radius:999px;padding:16px 27px;background:var(--rose);color:#fff;cursor:pointer;box-shadow:0 14px 35px #bd5b7640;transition:.25s}
.button:hover{transform:translateY(-3px);box-shadow:0 18px 42px #bd5b7655}
.cover{height:100svh;min-height:650px;position:relative;display:grid;place-items:center;color:#fff;overflow:hidden}
.cover-img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.58)}
.shade{position:absolute;inset:0;background:linear-gradient(140deg,#0003,#0005 50%,#120b0ecc)}
.cover-content{position:relative;z-index:2;text-align:center;max-width:750px;padding:25px}
.light{color:#ffd7e1}
.cover h2{font-size:clamp(75px,15vw,150px);font-weight:400;line-height:.82;margin:15px 0 28px}
.cover h2 em{font-style:italic;color:#f2b2c2}
.cover-content>p:last-child{font-size:20px;line-height:1.6}
.section{max-width:950px;margin:auto;padding:105px 24px}
.section h2{font-size:clamp(42px,7vw,72px);font-weight:400;line-height:1.03;margin-bottom:28px}
.section h2 em{font-style:italic;color:var(--rose)}
.story-card{background:#fff;border:1px solid #f0dce2;padding:50px clamp(25px,7vw,70px);box-shadow:0 25px 70px #4a1f2b12;margin:45px 0 35px;font-size:20px;line-height:1.8}
.card-icon{font-size:45px;margin-bottom:20px}
.story-card p{margin-bottom:20px}
.quotes{display:grid;gap:12px;margin:30px 0}
.quotes div{background:#fff2f5;border-left:3px solid var(--rose);padding:13px 18px;font-style:italic}
.batidora-line{font-size:25px;background:#2b2025;color:#fff;padding:22px;margin:30px 0;text-align:center;border-radius:4px}
.last{color:var(--rose)}
.story-photo{width:100%;height:min(60vw,580px);min-height:320px;object-fit:cover;border-radius:20px}
.excuses{background:#fff}
.intro-text{font-size:19px;line-height:1.7;color:var(--muted);max-width:680px;margin-bottom:45px}
.excuse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.excuse{padding:32px;background:var(--cream);border:1px solid #f0dce2;min-height:200px}
.excuse span{font:10px Arial,sans-serif;letter-spacing:3px;color:var(--rose)}
.excuse h3{font-size:27px;font-weight:400;margin:16px 0 10px}
.excuse p{line-height:1.65;color:var(--muted)}
.photos{background:var(--cream);max-width:1100px}
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}
.photo-grid figure{margin:0}
.photo-grid img{display:block;width:100%;height:430px;object-fit:cover;border-radius:18px;transition:transform .5s}
.photo-grid figure:nth-child(2n) img{height:520px}
.photo-grid figure:hover img{transform:scale(1.015)}
.photo-grid figcaption{font-size:15px;line-height:1.6;color:var(--muted);padding:14px 4px}
.home-section{background:var(--dark);color:#fff;padding:115px 24px}
.home-inner{max-width:900px;margin:auto;text-align:center}
.home-inner h2{font-size:clamp(45px,8vw,82px);font-weight:400;line-height:1.02;margin-bottom:10px}
.home-inner>p:nth-of-type(2){font-size:24px;color:#d9c8ce;margin-bottom:45px}
.home-photo{display:block;width:100%;height:min(65vw,600px);min-height:330px;object-fit:cover;border-radius:20px;filter:brightness(.9);margin-bottom:45px}
.home-text{font-size:21px;line-height:1.9;color:#d7c7cc}
.home-text strong{color:#f2b2c2}
.months{text-align:center;background:#fff}
.counter{display:flex;justify-content:center;gap:clamp(25px,8vw,90px);margin:45px 0 25px}
.counter div{display:flex;flex-direction:column}
.counter strong{font-size:clamp(50px,10vw,90px);font-weight:400;color:var(--rose)}
.counter span{font:10px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
.counter-note{color:var(--muted);font-style:italic}
.message{max-width:900px}
.message-card{background:#fff;padding:55px clamp(25px,7vw,75px);box-shadow:0 25px 70px #4a1f2b12}
.message-card h2{font-size:60px;font-weight:400;margin-bottom:35px}
.letter{font-size:19px;line-height:2;color:#604d55}
.letter p{margin-bottom:22px}
.letter strong{color:var(--rose)}
.signature{text-align:right;margin-top:40px}
.proposal{background:linear-gradient(145deg,#291b21,#130f12);color:#fff;text-align:center;padding:130px 20px}
.proposal-inner{max-width:900px;margin:auto}
.proposal h2{font-size:clamp(55px,9vw,100px);font-weight:400;line-height:.98;margin:15px 0 30px}
.proposal h2 em{color:#efacbc}
.proposal-inner>p:nth-of-type(2){font-size:22px;color:#d8c8cd;margin-bottom:38px}
.proposal-reveal{margin-top:60px;animation:rise 1s ease}
.ring{font-size:85px;animation:pulse 1.4s infinite}
.proposal-reveal>p{font-size:23px;color:#e8d8dd}
.proposal-reveal h3{font-size:clamp(48px,8vw,78px);font-weight:400;line-height:1.02;color:#f0b2c0;margin:15px 0 22px}
.final-line{font-size:18px!important}
footer{text-align:center;padding:80px 20px 55px}
.final-photo{display:block;width:min(100%,1000px);height:min(60vw,650px);min-height:320px;object-fit:cover;border-radius:22px;margin:0 auto 45px}
footer h2{font-size:45px;font-weight:400;margin-bottom:10px}
footer>p:not(.label){color:var(--muted);font-size:17px}
.heart{color:var(--rose);font-size:38px;margin-top:30px}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(max-width:650px){
 .welcome h1{font-size:78px}.cover h2{font-size:82px}.cover-content>p:last-child{font-size:17px}
 .section{padding:78px 20px}.story-card{padding:35px 22px;font-size:18px}
 .excuse-grid,.photo-grid{grid-template-columns:1fr}.photo-grid img,.photo-grid figure:nth-child(2n) img{height:410px}
 .home-section{padding:90px 20px}.home-inner>p:nth-of-type(2){font-size:19px}
 .counter{gap:24px}.counter strong{font-size:48px}.counter span{letter-spacing:2px}
 .message-card{padding:42px 24px}.message-card h2{font-size:50px}.letter{font-size:17px}
 .proposal{padding:100px 20px}
}
