/* Approved ribbon-heart identity. The original transparent artwork stays intact. */
:root{--wine:#87344e;--rose:#eed5dc;--cream:#fcf7f4;--paper:#fffdfb;--ink:#412630;--muted:#80616c;--line:#ead9df;--brand-blush:#c98591;--shadow:0 20px 60px #87344e0d}
body{background:var(--cream);color:var(--ink)}
.brand{position:relative;display:block;width:290px;height:100px;overflow:hidden;flex-shrink:0}
.brand img.brand-logo{position:absolute;left:0;top:-26px;width:290px;height:145px;max-width:none;object-fit:contain}
.nav{border-color:var(--line);padding:12px 0;gap:22px}
.navlinks>a:not(.btn),.navlinks>.textbtn,.navlinks .language-picker select{color:var(--wine);border-color:#e6ccd5;background:#fffdfb}
.navlinks>a:not(.btn):hover,.navlinks>.textbtn:hover{background:#f7e7ed;border-color:var(--brand-blush)}
.btn,button.primary,.primary{background:var(--wine);border-color:var(--wine);color:#fff9f6;box-shadow:0 5px 16px #87344e12}
.secondary{background:#fffaf9;color:var(--wine);border-color:#dab3bf}
.textbtn,.eyebrow{color:var(--wine)}
.hero{gap:50px;padding-top:60px;padding-bottom:64px}
.hero h1{font-size:clamp(58px,5.5vw,82px);line-height:1.02;letter-spacing:-.04em;color:#482333}
.hero h1 em{color:var(--wine)}
.hero>div>p{color:#80616c;line-height:1.85;max-width:470px}
.hero .badge{background:#f4e3e9;border-color:#e8c8d4;color:#703045;font-size:10px;letter-spacing:.16em;padding:9px 15px}
.hero-actions{align-items:center;gap:22px;flex-wrap:wrap}
.hero-actions .btn{border-radius:16px;font:16px/1.4 Arial,sans-serif;min-height:54px;padding:16px 25px}
.hero-actions .textbtn{font-size:13px}
.hero-art{background:radial-gradient(ellipse,#ecd0db88,transparent 70%)}
.hero-art:after,.hero-art .sticker{display:none}
.keepsake{border-radius:150px 150px 18px 18px;background:#fffdfb;border-color:#ead4dd;box-shadow:0 28px 65px #7c34451c;transform:rotate(4deg)}
.keepsake:before{background:#c9859140;left:calc(50% - 45px)}
.keepsake img{filter:saturate(.75)}
.heart-note{background:var(--wine);border-radius:4px 22px 22px 22px;font:italic 25px/1.2 var(--romantic-font,Georgia);padding:25px;box-shadow:0 14px 30px #87344e22}
.heart-note span{font:9px/1.7 Arial,sans-serif;letter-spacing:.12em;margin-top:12px}
.ribbon{border-color:#e8cfd9;color:#875467;gap:18px}
.section-heading .eyebrow{color:#996476;letter-spacing:.16em}
.section-heading h2,.price-panel h2{color:#532a3d;line-height:1.08}
.card{background:#fffdfb;border:1px solid #ead6df;border-radius:22px;box-shadow:0 6px 22px #87344e04;padding:28px}
.card h3{color:#683046}.card p{color:#80616c}
.step-number{background:#f3e1e8;color:var(--wine);border-color:#e4bfce}
.price-panel{background:linear-gradient(125deg,#f5e5eb,#fff9f6);border:1px solid #e7cbd6;border-radius:28px;box-shadow:none}
.price{color:var(--wine)}
.theme-mini.rosa{background:linear-gradient(140deg,#702640,#a9546c,#cf96a1)}
.editor-main{background:#fffdfb;border-color:#e7d3dc;border-radius:24px;box-shadow:0 12px 48px #87344e06}
.editor-main h2{color:#643047}.editor-actions{background:#fffdfbf5}
.steps button{border-color:#e7ced9;background:#fffbfa;color:#75455a}
.steps button.active{background:var(--wine);border-color:var(--wine);color:#fff8f4}
.steps button.active .num{color:var(--wine);background:#f8e9ef}
.field:focus-within{background:#f8eaf0;box-shadow:0 0 0 8px #f8eaf0}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#ac607b;box-shadow:0 0 0 3px #ac607b1c;background:#fffafb}
.theme-button.selected{outline-color:var(--wine);border-color:var(--wine)}
.step-progress progress::-webkit-progress-value{background:var(--wine)}
.step-progress progress::-moz-progress-bar{background:var(--wine)}
.mobile-preview-toggle{background:#f5e5ed;border-color:#dfb9c9;color:var(--wine)}
.live-preview.rosa,.live-preview:not(.noche):not(.sol){background:linear-gradient(150deg,#63233d,#93435f 70%,#b77c8c)}
.gift-page.rosa{--gift-ink:#fff0f2;background:radial-gradient(ellipse at 95% 5%,#c985913d,transparent 45%),linear-gradient(155deg,#582039,#87344e 60%,#b46d83)}
.gift-page .eyebrow{color:#eac5d1}
.gift-page .gift-top:before,.gift-page .gift-top:after{opacity:.1}
.gift-chapters{border-color:#e5b2c34d;background:#ffffff06;box-shadow:0 20px 45px #32132610}
.gift-chapters a{background:#ffffff08;border-color:#e5b2c359}
.gift-chapters a:hover{background:#ffffff18;border-color:#e6bdcd}
.gift-chapters a[aria-current]{color:#78324c;background:#f9eaf0;border-color:#f9eaf0}
.gift-page .counter>div{border-color:#ecc9d333;background:#ffffff08}
.gift-page .love-item,.gift-page .place-memory{border-color:#ecc9d333;background:#ffffff08;border-radius:18px}
.love-letter summary{border-color:#e6bacb66;background:#ffffff06;border-radius:22px}
.wax-heart{background:radial-gradient(circle at 30% 25%,#edbdca,#bd718c);border-color:#e3a6ba;box-shadow:0 6px 18px #35152922}
.love-letter summary b{border-color:#e6bacb80;color:#f8dbe5}
.love-letter .letter-paper,.gift-page.noche .letter-paper{background:#fff8f6;color:#74384e;box-shadow:0 20px 50px #30102122}
.letter-paper:before{border-color:#e4b7c7}.letter-kicker,.letter-signoff{color:#a55e78}
.envelope{background:#d6a1b2;box-shadow:0 24px 55px #34132525}
.envelope:before{background:#edd0db}.envelope:after{background-color:var(--wine)}
.envelope-insert{background:linear-gradient(#fffaf8,#f8e6ed);border-color:#e5bfcc}.envelope-name{color:#74384e}
.coupon{border-color:#e6bacb77}.coupon.redeemed{opacity:.65}
.music-card{background:#fff8f7;border-color:#e4c1ce;color:#6d3349}.record span{background:#ba718b;border-color:#d69caf}
.gift-footer{border-color:#ebc1ce33;color:#f5d6e0}
.gift-footer .gift-brand{display:block;position:relative;overflow:hidden;width:260px;height:106px;margin:22px auto 0;background:#fff8f5;border-radius:18px}
.gift-brand img{position:absolute;width:240px;height:120px;left:10px;top:-12px;object-fit:contain}
.memory-gallery{background:#2b1823f7;color:#f9e3eb}.memory-gallery::backdrop{background:#2b1823}
.gallery-dots button[aria-pressed=true]:after{background:#dc9ab2}
@media(max-width:1100px){.nav{gap:10px}.hero{gap:28px}}
@media(max-width:700px){.brand{width:260px;height:91px}.brand img.brand-logo{width:260px;height:130px;top:-24px}.nav{padding:8px 0 18px}.hero{padding-top:38px;padding-bottom:40px}.hero h1{font-size:clamp(51px,13.8vw,64px)}.hero-actions .btn{font-size:15px;min-height:50px;padding:14px 20px}.hero>div>p{font-size:14px}.heart-note{font-size:22px;max-width:195px}.card{padding:24px}.gift-chapters{border-radius:22px}.field:focus-within{box-shadow:0 0 0 6px #f8eaf0}}
