@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#fff9f5;--pink:#f6e1e5;--rose:#ae576f;--wine:#71344a;--ink:#493239;--muted:#857178;--line:#dfc7cc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:4px}::selection{background:#eabfcb}img{display:block;max-width:100%}.announcement{display:flex;justify-content:space-between;align-items:center;background:var(--wine);color:#fff1ed;padding:10px 6%;font-size:9px;letter-spacing:1px}.announce-right{font-size:8px;letter-spacing:1.7px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:30px;background:var(--paper);border-bottom:1px solid #ead8d9;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px;height:64px;border-radius:50%;object-fit:cover}.brand>span{font:38px/.8 var(--serif);letter-spacing:1px;color:var(--wine)}.brand small{display:block;font:7px/1 var(--sans);letter-spacing:2.9px;margin-top:12px}.header-end{display:flex;align-items:center;gap:22px}nav{display:flex;gap:33px;font-size:11px}nav a{border-bottom:1px solid transparent;padding:6px 0}nav a:hover{border-color:var(--rose)}.language{display:flex;align-items:center;gap:6px;font-size:9px}.language button{border:0;background:transparent;padding:6px 2px;color:#927b84;font-size:9px}.language button[aria-pressed=true]{color:var(--wine);font-weight:700;border-bottom:1px solid}.small-contact{border:1px solid var(--line);border-radius:30px;padding:12px 19px;font-size:10px}.hero{height:700px;position:relative;background:#f7e8e6;overflow:hidden}.hero-background{position:absolute;inset:0;background:url('/assets/lovella-hero.webp') 60% center/cover no-repeat;will-change:transform;animation:enter-image 1.5s ease both}.hero-background:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff6f04d,transparent 65%)}.hero-copy{position:relative;z-index:2;padding:80px 0 0 7%;width:55%}.eyebrow{display:block;font-size:9px;letter-spacing:2.2px;color:var(--rose);font-weight:600}h1{font:400 clamp(62px,6.5vw,105px)/.94 var(--serif);letter-spacing:-3px;margin:30px 0;color:var(--wine)}em{font-weight:400;color:var(--rose)}.hero-copy>p{font-size:12px;line-height:1.9;max-width:315px;color:#836b73;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-radius:40px;padding:16px 22px;font-size:11px;border:1px solid transparent;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button b{font-weight:400;font-size:17px}.solid{background:var(--wine);color:var(--paper)}.outline{border-color:var(--wine);color:var(--wine)}.hero-secondary{display:block;font-size:10px;color:var(--wine);margin-top:20px;width:max-content;border-bottom:1px solid #ab7b88;padding-bottom:6px}.hero-signature{font-size:9px;color:#997481;margin-top:36px;display:flex;align-items:center;gap:12px}.hero-signature em{font:italic 28px var(--serif)}.hero-signature>span{font-size:25px;transform:rotate(-15deg)}.photo-note{position:absolute;right:5%;bottom:17px;font-size:7px;color:#765764;z-index:2}.hero-corner{position:absolute;top:45px;right:5%;width:105px;height:105px;border:1px solid #ad778b;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--wine);transform:rotate(12deg);background:#fff8f355}.hero-corner span{font-size:6px;letter-spacing:1px}.hero-corner b{font:36px/1 var(--serif);font-weight:400}.ribbon{display:flex;justify-content:center;align-items:center;gap:50px;padding:22px 5%;background:#f4d9e0;font-size:8px;letter-spacing:1.7px;white-space:nowrap;overflow:hidden;color:#935369}.ribbon i{font-style:normal;font-size:18px}.section-pad{padding:90px 7%}h2{font:400 clamp(44px,4.6vw,71px)/1 var(--serif);letter-spacing:-1.4px;margin:20px 0 25px}p{line-height:1.8}.intro{text-align:center;max-width:950px;margin:auto;padding-bottom:60px}.intro>p{max-width:530px;margin:0 auto;font-size:12px;color:var(--muted);line-height:1.9}.tiny-bow{color:#b36781;font-size:38px;margin-top:22px}.collection{padding-top:35px}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:34px}.section-top h2{margin-bottom:0}.collection-controls{display:flex;gap:8px;margin-bottom:5px}.collection-controls button{background:none;border:1px solid #d7b6c0;border-radius:25px;color:var(--wine);font-size:9px;padding:10px 15px}.collection-controls button[aria-pressed=true]{background:var(--wine);color:var(--paper);border-color:var(--wine)}.cake-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.cake-card{display:block;transform-style:preserve-3d;transition:transform .25s}.cake-card[hidden]{display:none}.cake-img{height:325px;position:relative;overflow:hidden;border-radius:140px 140px 5px 5px;background:#e6cbd4}.cake-img img{height:100%;width:100%;object-fit:cover;filter:brightness(1.16);transition:transform .6s}.cake-card:nth-child(4) .cake-img img{filter:brightness(1.5)}.cake-card:hover img{transform:scale(1.04)}.cake-img>span{position:absolute;bottom:15px;left:15px;font-size:6px;letter-spacing:1px;padding:7px 9px;color:var(--wine);background:#fff8f3dc;border-radius:12px}.cake-caption{position:relative;padding:17px 0 15px;border-bottom:1px solid var(--line)}.cake-caption h3{font:500 25px/1.05 var(--serif);margin:0 20px 8px 0;color:var(--wine)}.cake-caption>span{position:absolute;right:0;top:17px;font-size:13px}.cake-caption p{font-size:9px;color:var(--muted);line-height:1.7;margin:0}.source-note{font-size:8px;color:#99838b;margin-top:20px;line-height:1.7}.flavors{background:#f5e6e8;display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.flavor-photo{position:relative}.flavor-photo>img{width:100%;height:570px;object-fit:cover;border-radius:5px 160px 5px 5px;filter:brightness(1.1)}.flavor-seal{position:absolute;right:-35px;bottom:30px;width:110px;height:110px;border-radius:50%;background:var(--paper);border:1px solid #c793a4;display:flex;align-items:center;justify-content:center;flex-direction:column;font:28px/.9 var(--serif);color:var(--wine);transform:rotate(-8deg)}.flavor-seal em{font-size:32px}.flavor-copy>p{font-size:11px;color:#89717c;max-width:350px}.flavor-list{list-style:none;padding:0;margin:25px 0}.flavor-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #d9b9c3;padding:16px 0;font-size:11px}.flavor-list i{font-style:normal;font-size:8px;color:var(--rose)}.text-link{font-size:10px;border-bottom:1px solid;padding-bottom:6px;color:var(--wine)}.how{padding-bottom:80px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps b{font:italic 34px var(--serif);color:#c08b9b;font-weight:400}.steps h3{font:500 30px var(--serif);color:var(--wine);margin:15px 0 10px}.steps p{font-size:11px;color:var(--muted);max-width:250px}.order{background:#f3dfe4;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.order-copy>p{font-size:12px;color:#8b6c78;max-width:320px}.location{display:flex;align-items:center;gap:15px;margin-top:40px;font-size:11px;color:var(--wine)}.location>span{font-size:30px}.location small{display:block;font-size:8px;margin-top:7px;color:var(--muted)}.order-form{padding:32px;background:var(--paper);border-radius:120px 120px 8px 8px;padding-top:65px;border:1px solid #ddbdc7;box-shadow:0 18px 40px #9a5f6d08}.form-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px;color:var(--wine);margin-bottom:28px}.form-top b{font-size:20px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:9px;color:var(--wine);line-height:1.5}label>span{display:block;margin:15px 0 8px}input,select,textarea{display:block;min-width:0;width:100%;padding:11px 10px;background:#fffdf9;border:1px solid #dbc7cc;border-radius:4px;font-size:10px;color:#614452;resize:vertical}input,select{height:42px}.order-form>.button{width:100%;margin-top:20px}.form-note{font-size:8px;color:#93828a;line-height:1.7}.message-result{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.message-result[hidden]{display:none}.message-result>label{font-size:11px}.message-result>textarea{margin:10px 0}.message-result>p{font-size:9px;color:var(--wine)}.faq{max-width:1000px;margin:auto}.faq h2{font-size:48px;margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{font-size:12px;color:var(--wine);cursor:pointer;list-style:none;position:relative;padding-right:30px}.faq summary:after{content:'+';position:absolute;right:0;font-size:18px;top:-5px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:11px;color:var(--muted);max-width:640px;padding-right:20px}.closing{text-align:center;padding:60px 6%;background:#eed0da;border-top:1px solid #e5bac8}.closing>span{font:48px var(--serif);color:var(--rose)}.closing h2{font-size:50px;margin:15px 0 25px;color:var(--wine)}.closing>a{font-size:11px;border-bottom:1px solid;padding-bottom:6px}footer{padding:45px 7% 25px;background:var(--paper);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px}.footer-word{font:38px/.8 var(--serif);color:var(--wine)}.footer-word small{display:block;font:7px/1 var(--sans);letter-spacing:2px;margin-top:12px}footer>p,footer>a:not(.footer-word){font-size:10px;color:var(--muted)}.preview-disclosure{grid-column:1/-1;font-size:7px;color:#99868c;line-height:1.7;border-top:1px solid #eddde1;padding-top:20px}.floating-contact{position:fixed;right:20px;bottom:20px;background:var(--wine);color:var(--paper);border:1px solid #ffffff85;border-radius:35px;padding:13px 18px;display:flex;align-items:center;gap:13px;z-index:30;box-shadow:0 5px 25px #693e4a20}.floating-contact b{font-size:10px;font-weight:500}.floating-contact>span{font-size:19px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes enter-image{from{opacity:.4;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.hero{height:850px}.hero-copy{padding-top:105px}.cake-img{height:400px}}@media(max-width:1050px){header{gap:15px;padding:0 4%}.header-end{gap:12px}nav{gap:16px;font-size:10px}.hero-copy{padding-left:6%;width:56%}h1{font-size:75px}.hero-background{background-position:62% center}.cake-grid{grid-template-columns:repeat(2,1fr);gap:30px}.cake-img{height:390px}.flavors{gap:8%}.flavor-photo>img{height:500px}.order{gap:6%}.section-pad{padding-left:6%;padding-right:6%}.steps{gap:25px}.steps h3{font-size:27px}}
@media(max-width:650px){.announcement{font-size:7px;padding:8px 5%}.announce-right{font-size:6px;letter-spacing:.8px}header{height:82px;padding:0 5%;gap:10px}.brand img{width:48px;height:48px}.brand>span{font-size:29px}.brand small{font-size:5px;letter-spacing:2px;margin-top:9px}nav{display:none}.header-end{gap:13px}.language{font-size:8px;gap:4px}.language button{font-size:8px}.small-contact{font-size:9px;padding:9px 12px}.hero{height:850px;background:#f8e9e6}.hero-background{top:310px;height:540px;background-size:auto 540px;background-position:73% center}.hero-background:after{background:linear-gradient(#f8e9e6,transparent 25%)}.hero-copy{padding:32px 6% 0;width:100%}.eyebrow{font-size:7px;letter-spacing:1.7px}h1{font-size:65px;line-height:.93;letter-spacing:-2px;margin:22px 0 15px}.hero-copy>p{font-size:10px;line-height:1.8;max-width:300px;margin:0 0 18px}.button{padding:13px 18px;font-size:10px;gap:25px}.hero-secondary{display:inline-block;margin:0 0 0 15px;font-size:8px}.hero-signature{margin-top:19px;font-size:8px}.hero-signature em{font-size:23px}.hero-signature>span{font-size:20px}.hero-corner{top:410px;right:6%;width:73px;height:73px}.hero-corner span{font-size:4px}.hero-corner b{font-size:27px}.photo-note{bottom:12px;right:6%;left:6%;font-size:6px;text-align:right}.ribbon{justify-content:flex-start;gap:23px;padding:17px 5%;font-size:7px;letter-spacing:1px}.ribbon i{font-size:15px}.section-pad{padding:60px 6%}h2{font-size:48px;letter-spacing:-1px}.intro>p{font-size:11px}.intro h2{font-size:43px}.collection{padding-top:10px}.section-top{display:block;margin-bottom:25px}.collection-controls{margin-top:25px;flex-wrap:wrap}.collection-controls button{font-size:9px;padding:9px 14px}.cake-grid{gap:24px 15px}.cake-img{height:245px;border-radius:90px 90px 4px 4px}.cake-img>span{font-size:5px;left:7px;bottom:10px;letter-spacing:.5px;padding:5px 7px}.cake-caption{padding-top:14px}.cake-caption h3{font-size:23px;margin-right:12px}.cake-caption p{font-size:8px}.cake-caption>span{font-size:11px;top:15px}.source-note{font-size:7px}.flavors{grid-template-columns:1fr;gap:40px}.flavor-photo>img{height:440px;border-radius:5px 125px 5px 5px}.flavor-seal{right:-6px;bottom:25px;width:90px;height:90px;font-size:25px}.flavor-seal em{font-size:28px}.flavor-copy>p{font-size:11px}.steps{grid-template-columns:1fr;gap:26px}.steps article{display:grid;grid-template-columns:45px 1fr;column-gap:12px;padding-top:17px}.steps article b{grid-row:1/3;font-size:30px}.steps h3{font-size:29px;margin:3px 0 5px}.steps p{margin:0;max-width:none;font-size:11px}.order{grid-template-columns:1fr;gap:35px}.order h2{font-size:52px}.order-copy>p{font-size:11px}.location{margin-top:25px}.order-form{padding:55px 22px 24px;border-radius:90px 90px 7px 7px}.form-row{gap:12px}.form-top{font-size:7px;letter-spacing:1px;margin-bottom:14px}.form-note{font-size:8px}.faq h2{font-size:42px}.faq summary{font-size:11px}.faq details p{font-size:10px}.closing{padding:45px 6%}.closing h2{font-size:39px}.closing>a{font-size:10px}footer{padding:40px 6% 95px;grid-template-columns:1fr auto;gap:20px}footer>p{grid-column:1/-1;grid-row:2;font-size:9px}.preview-disclosure{font-size:7px}.floating-contact{bottom:14px;right:14px;padding:10px 14px;gap:10px}.floating-contact b{font-size:9px}.floating-contact>span{font-size:18px}}
@media(max-width:370px){h1{font-size:57px}.hero-secondary{margin-left:8px;font-size:7px}.cake-grid{grid-template-columns:1fr}.cake-img{height:360px}.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-background{transform:none!important}.cake-card{transform:none!important}}

/* Hearts travel independently onto the cake as the visitor scrolls. */
.love-scroll{position:relative;height:185svh}.love-scroll .hero{position:sticky;top:0;height:100svh;min-height:640px}.heart-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.sugar-heart{position:absolute;left:0;top:0;width:30px;height:30px;object-fit:contain;will-change:transform,opacity;filter:drop-shadow(1px 2px 1px #77301330);transform-origin:center;pointer-events:none}.hearts-loaded .hero-background{background-image:url('/assets/lovella-cake-plain-hearts-v1.webp');animation:none;transform:none!important}.heart-scroll-hint{position:absolute;left:7%;bottom:24px;display:flex;align-items:center;gap:15px;color:#9a6274;font-size:7px;letter-spacing:1.7px;z-index:4}.heart-scroll-hint>span:last-child{font-size:15px}.heart-progress{position:absolute;bottom:0;left:7%;height:2px;width:120px;background:#dcb7c3;z-index:4}.heart-progress>span{display:block;width:0;height:100%;background:#a24e69}.love-scroll:not(.hearts-loaded){height:auto}.love-scroll:not(.hearts-loaded) .hero{position:relative}.love-scroll .hero-copy{z-index:3}.love-scroll .photo-note{z-index:4}.love-scroll .hero-corner{z-index:4}
@media(max-width:650px){.love-scroll{height:175svh}.love-scroll .hero{height:100svh;min-height:820px}.love-scroll .hero-background{top:310px;height:calc(100% - 310px);background-size:auto 100%;background-position:73% center}.heart-scroll-hint{left:6%;bottom:28px;font-size:5px;letter-spacing:1px}.heart-progress{left:6%;width:85px}.love-scroll .photo-note{bottom:10px;font-size:5px}.love-scroll .hero-signature{margin-top:12px}.sugar-heart{filter:drop-shadow(1px 1px 1px #77301320)}}
@media(prefers-reduced-motion:reduce){.love-scroll{height:auto}.love-scroll .hero{position:relative}.heart-scroll-hint,.heart-progress{display:none}.sugar-heart{will-change:auto}.heart-layer{overflow:hidden}}

/* Lovella favorites, menu and founder update */
.hero-copy h1{font-size:clamp(58px,5.9vw,92px);max-width:660px}.cake-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.cake-img{height:auto;aspect-ratio:4/5}.cake-img img,.cake-card:nth-child(4) .cake-img img{filter:none}.menu-section{background:#f5e6e8}.menu-heading{max-width:700px;margin-bottom:40px}.menu-heading>p{font-size:13px;color:var(--muted)}.menu-columns{display:grid;grid-template-columns:1.15fr .8fr 1.15fr;gap:24px}.menu-panel{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:12px}.menu-panel h3{font:500 31px var(--serif);color:var(--wine);margin:0 0 20px}.menu-panel table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.menu-panel th{font-size:10px;color:var(--muted);font-weight:500}.menu-panel td,.menu-panel th{padding:14px 0;border-bottom:1px solid var(--line)}.menu-panel td:last-child,.menu-panel th:last-child{text-align:right;padding-left:12px}.menu-list{list-style:none;padding:0;margin:0;font-size:12px}.menu-list li{padding:10px 0;border-bottom:1px solid var(--line)}.pricing-note{font-size:11px;line-height:1.8;color:var(--muted)}.deposit-note{margin-top:25px;padding:20px;border:1px solid #d6afbd;border-radius:10px;font-size:13px;color:var(--wine)}.desserts{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;background:#fff9f5}.desserts p{font-size:12px;color:var(--muted);max-width:380px}.dessert-menu>div{font:500 29px var(--serif);padding:16px 0;border-bottom:1px solid var(--line);color:var(--wine)}.meet-alo{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#f5e6e8}.alo-photo img{width:100%;max-height:700px;object-fit:cover;object-position:center 25%;border-radius:180px 180px 12px 12px}.alo-copy p{font-size:13px;color:#78606a;line-height:1.95}.alo-signature{margin-top:25px;font-size:12px;color:var(--wine)}.alo-signature em{display:block;font:italic 40px var(--serif);margin-top:8px}.form-row>label{min-width:0}input[type=date]{min-height:44px;max-width:100%;appearance:none;-webkit-appearance:none}.order-form{min-width:0}.hero-copy>p{max-width:380px}
@media(max-width:1050px){.menu-columns{grid-template-columns:1fr 1fr}.menu-panel:last-child{grid-column:1/-1}.filling-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.cake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.hero-copy h1{font-size:clamp(49px,12vw,69px);max-width:100%;margin:18px 0}.hero-copy>p{font-size:11px;max-width:340px}.love-scroll .hero-background{top:350px;height:calc(100% - 350px)}.hero-secondary{margin:13px 0 0;display:block;font-size:10px}.hero-signature{display:none}.menu-columns{grid-template-columns:1fr}.menu-panel:last-child{grid-column:auto}.menu-panel{padding:24px}.menu-panel h3{font-size:29px}.menu-panel table,.menu-list{font-size:13px}.filling-list{gap:0 18px}.desserts,.meet-alo{grid-template-columns:1fr;gap:35px}.alo-photo{max-width:420px;margin:auto}.alo-photo img{max-height:570px}.alo-copy p{font-size:13px}.cake-grid{gap:26px 15px}.cake-caption h3{font-size:23px}.cake-caption p{font-size:10px}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.order-form label{font-size:11px}.order-form input,.order-form select,.order-form textarea{font-size:12px}.cake-img{border-radius:90px 90px 5px 5px}.deposit-note{font-size:12px}}
@media(max-width:370px){.form-row{grid-template-columns:1fr}.hero-copy h1{font-size:46px}}

.photo-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:55px 65px 25px;border:0;background:#21171ded;color:#fff9f5;overflow:hidden}.photo-viewer::backdrop{background:#21171d}.photo-viewer[open]{display:flex;align-items:center;justify-content:center}.photo-viewer figure{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.photo-viewer figure img{max-width:100%;max-height:calc(100% - 40px);width:auto;height:auto;object-fit:contain;border-radius:5px}.photo-viewer figcaption{font:22px var(--serif);text-align:center}.photo-close,.photo-prev,.photo-next{position:absolute;border:1px solid #ffffff70;background:#38232e90;color:white;display:grid;place-items:center;border-radius:50%;width:44px;height:44px;font:32px Arial;z-index:2}.photo-close{right:18px;top:14px}.photo-prev{left:12px;top:calc(50% - 22px)}.photo-next{right:12px;top:calc(50% - 22px)}body.viewing-photo{overflow:hidden}.cake-card .cake-img{cursor:zoom-in}@media(max-width:650px){.photo-viewer{padding:66px 12px 65px}.photo-prev,.photo-next{top:auto;bottom:12px}.photo-prev{left:calc(50% - 56px)}.photo-next{right:calc(50% - 56px)}.photo-viewer figcaption{font-size:21px}}

.ribbon{display:block;padding:24px 0;overflow:hidden}.ribbon-track{display:flex;width:max-content;animation:sweet-ticker 42s linear infinite}.ribbon-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex:none}.ribbon-group span{font-size:11px;letter-spacing:2px}.ribbon-group i{font-size:30px;line-height:1}.ribbon:hover .ribbon-track,.ribbon:focus-within .ribbon-track{animation-play-state:paused}.footer-social{display:flex;gap:18px;font-size:11px;color:var(--wine)}.message-result #send-whatsapp{margin:10px 0 15px}.message-result>.outline{font-size:10px}@keyframes sweet-ticker{to{transform:translateX(-50%)}}@media(max-width:650px){.ribbon{padding:20px 0}.ribbon-group{gap:30px;padding-right:30px}.ribbon-group span{font-size:10px;letter-spacing:1.4px}.ribbon-group i{font-size:25px}.ribbon-track{animation-duration:36s}}@media(prefers-reduced-motion:reduce){.ribbon{overflow-x:auto}.ribbon-track{animation:none}.ribbon-group[aria-hidden]{display:none}}

.quote-link{color:var(--wine);text-decoration:underline;text-underline-offset:4px;font-weight:600}.quote-link:hover{color:var(--rose)}

/* Trial: cake and heart layer move together, leaving text stable. */
.love-scroll.hearts-loaded .hero-background{transform:translate3d(var(--camera-x,0px),var(--camera-y,0px),0) scale(var(--camera-scale,1))!important;transform-origin:74% 54%;will-change:transform}.love-scroll .hero-copy{position:relative}.love-scroll .heart-progress{width:150px}@media(max-width:650px){.love-scroll.hearts-loaded .hero-background{transform-origin:65% 58%}}@media(prefers-reduced-motion:reduce){.love-scroll.hearts-loaded .hero-background{transform:none!important;will-change:auto}}
