:root{--ivory:#fffbf8;--rose:#ab7284;--rose-dark:#754758;--blush:#f6e6eb;--cream:#f8f0e9;--gold:#ba9b68;--ink:#47363b;--muted:#796e70;--border:#e9dcd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.55}h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.17}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,6.3vw,100px);letter-spacing:-.05em}h2{font-size:clamp(36px,4.3vw,62px);letter-spacing:-.04em}h3{font-size:25px}em{color:var(--rose);font-weight:400}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.announcement{background:var(--rose-dark);color:#fff;text-align:center;font-size:10px;letter-spacing:.26em;padding:10px 12px}.announcement span{padding:0 20px;color:#ebc2d2}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 6.4%;background:#fffcfb;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(100,60,60,.06)}.brand{display:flex;align-items:center;gap:10px;color:var(--rose-dark);font-size:25px;white-space:nowrap}.brand img{height:65px;width:65px;object-fit:contain;border-radius:50%}.brand i{font-size:.8em}.brand small{font-family:'DM Sans';display:block;letter-spacing:.3em;font-size:9px;text-align:center}.header nav{display:flex;gap:28px;font-size:12px;letter-spacing:.04em}.header nav a:hover,.socials a:hover{color:var(--rose)}.header-actions{display:flex;align-items:center;gap:16px}.bag,.menu,.close{border:0;background:transparent;color:var(--rose-dark)}.bag{font-size:29px;position:relative}.bag span{position:absolute;right:-10px;top:0;background:var(--rose);color:#fff;border-radius:99px;font:10px 'DM Sans';width:17px;height:17px;display:grid;place-items:center}.menu{display:none;font-size:24px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:4px;padding:15px 26px;color:white;background:var(--rose);font-weight:700;font-size:12px;letter-spacing:.06em;border:1px solid var(--rose);transition:.2s}.pill:hover{background:var(--rose-dark);transform:translateY(-2px)}.pill.small{padding:12px 19px}.pill.light{background:#fff;color:var(--rose-dark);border-color:white}.full{width:100%}.secondary-link{font-size:12px;letter-spacing:.04em;color:var(--rose-dark);border-bottom:1px solid;padding-bottom:5px;font-weight:700}.eyebrow{font-size:10px;letter-spacing:.21em;color:var(--rose);font-weight:700}.hero{min-height:680px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:linear-gradient(120deg,#fffbf8 0%,#fffbf8 45%,#f7e7e9 100%)}.hero-copy{padding:110px 8% 65px 13%;align-self:center}.hero-copy h1{margin:23px 0}.hero-copy p{color:var(--muted);max-width:450px;font-size:16px;line-height:1.9}.hero-buttons{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:32px}.hero-signoff{margin-top:68px;font-family:Georgia,serif;color:var(--rose);font-style:italic}.hero-visual{position:relative;padding:48px 12% 48px 6%;min-height:680px}.photo{background-image:var(--photo),linear-gradient(135deg,#e5bfc8,#e8ded3);background-position:center;background-size:cover}.hero-photo{height:100%;border-radius:48% 48% 8px 8px;min-height:560px;box-shadow:20px 18px 0 rgba(171,114,132,.13);position:relative}.photo-watermark{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:white;font:italic 27px Georgia;text-shadow:0 1px 8px #5b4250}.hero-seal{position:absolute;right:2%;bottom:12%;background:#fffaf4;padding:29px 20px;text-align:center;border-radius:50%;width:145px;height:145px;font:italic 16px Georgia;color:var(--rose-dark);box-shadow:0 8px 25px #8b64702a;transform:rotate(9deg)}.hero-seal b{font-size:19px}.hero-dots{position:absolute;left:1%;top:4%;font-size:90px;color:#e6bfc9}.marquee-area{padding:86px 0 70px;overflow:hidden}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:0 7%;margin-bottom:38px}.section-intro h2{margin:11px 0 0}.section-intro p{max-width:290px;font-size:13px;color:var(--muted)}.media-marquee{overflow:hidden}.marquee-track{display:flex;gap:18px;width:max-content;animation:glide 55s linear infinite}.media-marquee:hover .marquee-track{animation-play-state:paused}.media-tile{width:230px;height:260px;border-radius:110px 110px 12px 12px;overflow:hidden;position:relative;flex:none;background-size:cover;background-position:center;background-color:#eacdd4}.media-tile:nth-child(3n+2){border-radius:12px 12px 110px 110px}.media-tile:nth-child(4n){border-radius:14px}.media-tile .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;border:1px solid #fff8;border-radius:50%;height:50px;width:50px;display:grid;place-items:center;background:#0004;font-size:24px}.media-tile .tag{position:absolute;bottom:12px;left:12px;background:#fffdf7df;padding:5px 9px;font-size:10px;color:var(--rose-dark);border-radius:3px}@keyframes glide{to{transform:translateX(-50%)}}.marquee-note{text-align:center;color:var(--muted);font-size:11px;padding-top:26px}.section{padding:100px 7%}.centerhead{text-align:center;margin:0 auto 55px}.centerhead h2{margin:13px 0}.centerhead p{color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product{background:#fff;border:1px solid var(--border);padding:10px 10px 20px}.product-img{height:270px;background-size:cover;background-position:center;background-color:#f3dfe2;position:relative}.product-img .product-label{position:absolute;top:12px;left:12px;background:#fffaf5;padding:6px 10px;font-size:10px;color:var(--rose-dark);letter-spacing:.08em}.product-content{padding:22px 15px 0}.product-content h3{font-size:24px;margin:0 0 7px}.product-content p{font-size:12px;color:var(--muted);margin-bottom:12px}.product-price{color:var(--rose-dark);font-weight:700;font-size:14px}.product-actions{display:flex;gap:10px;margin-top:19px;align-items:center}.product-actions button{background:var(--rose);color:#fff;border:0;padding:11px 15px;font-size:12px;font-weight:700;flex:1}.product-actions button.outline{background:white;color:var(--rose);border:1px solid var(--rose);flex:0 0 auto}.pricing-banner{background:var(--blush);margin-top:55px;padding:40px 48px;display:flex;justify-content:space-between;align-items:center;gap:25px}.pricing-banner h3{font-size:35px;margin:10px 0}.pricing-banner p{color:var(--muted);font-size:13px;max-width:620px;margin:0}.custom-section{display:grid;grid-template-columns:1fr 1fr;background:#f9eff1;min-height:560px}.custom-photo{min-height:560px;position:relative}.custom-photo > span{position:absolute;bottom:32px;left:40px;color:white;font:italic 30px Georgia;text-shadow:1px 1px 6px #0007}.custom-copy{padding:80px min(12%,110px);display:flex;flex-direction:column;align-items:start;justify-content:center}.custom-copy h2{margin:16px 0}.custom-copy p{color:var(--muted);font-size:14px;line-height:1.9}.custom-copy .check{margin:6px 0;color:var(--rose-dark);font-size:13px}.custom-copy button{margin-top:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps>div{border-top:1px solid var(--border);padding-top:18px}.steps strong{color:var(--gold);font:italic 35px Georgia}.steps h3{font-size:21px;margin:14px 0}.steps p{font-size:13px;color:var(--muted)}.booking-policy{text-align:center;background:#faf0f1;padding:30px;margin-top:48px;color:var(--rose-dark)}.booking-policy span{font-size:11px;letter-spacing:.13em}.booking-policy p{margin:9px 0 0;font-size:13px}.promise{padding:115px 20px;text-align:center;background:linear-gradient(120deg,#af7a8d,#855267);color:#fff}.promise>span{font-size:10px;letter-spacing:.25em}.promise h2{margin:22px 0 30px}.promise em{color:#f6dbe5}.contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.contact h2{margin:12px 0 20px}.contact p{color:var(--muted);max-width:460px}.socials{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:var(--rose-dark);font-size:13px;font-weight:700}.contact-card{border:1px solid var(--border);padding:52px;text-align:center;background:#fff}.contact-card h3{margin:0 0 10px}.contact-card small{display:block;color:var(--muted);font-size:11px;margin-top:15px}footer{border-top:1px solid var(--border);padding:28px 7%;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}footer a{text-decoration:underline}footer p{margin:0}.footer-brand{display:flex;align-items:center;gap:14px;color:var(--rose-dark);font:italic 17px Georgia}.footer-brand img{width:60px;height:60px;object-fit:contain}.whatsapp{position:fixed;bottom:27px;right:25px;background:#278d59;color:white;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 8px 24px #0003;z-index:25}.overlay{position:fixed;inset:0;background:#30252aba;z-index:30}.drawer,.modal{position:fixed;background:#fffcfa;z-index:31;box-shadow:0 10px 45px #25151e44}.drawer{right:0;top:0;bottom:0;width:min(480px,100vw);display:flex;flex-direction:column;padding:24px 28px}.drawerhead,.modalhead{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--border);padding-bottom:17px}.drawerhead h2,.modalhead h2{font-size:31px;margin:5px 0}.close{font-size:30px;line-height:1}.cartitems{overflow:auto;flex:1;padding-top:20px}.cart-item{border-bottom:1px solid var(--border);padding:18px 0;display:flex;justify-content:space-between;gap:12px}.cart-item h4{margin:0;font-size:15px}.cart-item small{display:block;color:var(--muted);margin:5px 0}.cart-item button{background:transparent;border:0;color:var(--rose);text-decoration:underline;font-size:11px}.drawerfoot{border-top:1px solid var(--border);padding-top:20px}.drawerfoot small{display:block;color:var(--muted);font-size:11px;margin:10px 0 17px}.subtotal{display:flex;justify-content:space-between;gap:15px;font-size:13px}.subtotal strong{font-size:21px;color:var(--rose-dark)}.modal{width:min(680px,calc(100vw - 28px));max-height:90vh;overflow:auto;left:50%;top:50%;transform:translate(-50%,-50%);padding:26px 30px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:23px}.formgrid label{display:flex;flex-direction:column;font-size:12px;color:var(--rose-dark);font-weight:700;gap:7px}.formgrid input:not([type=checkbox]),.formgrid select,.formgrid textarea{width:100%;padding:12px;border:1px solid #e3d4d5;background:white;color:var(--ink);border-radius:3px;outline-color:var(--rose)}.formgrid input[type=file]{font-size:11px}.formgrid small{color:var(--muted);font-size:10px;font-weight:400}.formgrid .wide{grid-column:1/-1}.consent{display:flex!important;flex-direction:row!important;align-items:start;line-height:1.6;font-weight:400!important;color:var(--muted)!important}.consent input{margin-top:4px}.formnotice{font-size:12px;color:#a42d4b}.order-review{background:var(--blush);padding:15px;font-size:12px}.success-content{text-align:center;padding:45px 20px}.success-content h2{font-size:38px}.success-content p{color:var(--muted)}.success-icon{font-size:50px;color:var(--rose)}.success-actions{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}.secondary-button{border:1px solid var(--rose);background:white;color:var(--rose);padding:14px 23px}.option-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.option-wrap select,.option-wrap input{border:1px solid #e3d4d5;padding:9px;background:white;min-width:0}.option-wrap input{width:75px}[hidden]{display:none!important}@media(max-width:1000px){.header{padding:0 4%}.header nav{gap:13px}.brand{font-size:19px}.brand img{width:55px;height:55px}.hero-copy{padding-left:8%}.hero-visual{padding-right:8%}}@media(max-width:760px){.announcement{font-size:8px;letter-spacing:.1em}.announcement span{padding:0 6px}.header{height:72px}.brand{font-size:17px}.brand img{width:48px;height:48px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;box-shadow:0 12px 15px #0001}.header nav.open{display:flex}.header-actions .pill{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 7% 30px}.hero h1{font-size:clamp(48px,10vw,75px)}.hero-signoff{margin-top:30px}.hero-visual{height:430px;min-height:430px;padding:20px 13% 35px}.hero-photo{min-height:0}.hero-seal{right:3%;bottom:8%;width:115px;height:115px;padding:23px 8px;font-size:13px}.section-intro{display:block}.section-intro p{margin-top:17px}.marquee-area{padding:60px 0}.media-tile{width:170px;height:205px}.section{padding:65px 6%}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:14px}.product-img{height:180px}.product-content{padding:12px 4px 0}.product-content h3{font-size:19px}.product-actions{display:block}.product-actions button{width:100%;margin:3px 0}.product-actions button.outline{display:none}.pricing-banner{display:block;padding:28px;margin-top:35px}.pricing-banner .pill{margin-top:24px}.custom-section{grid-template-columns:1fr}.custom-photo{min-height:360px}.custom-copy{padding:60px 7%}.steps{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr;gap:35px}.contact-card{padding:30px}.promise{padding:70px 22px}footer{display:block;text-align:center}.footer-brand{justify-content:center;margin-bottom:18px}.formgrid{grid-template-columns:1fr}.modal{padding:20px}.whatsapp{right:15px;bottom:16px}}@media(max-width:400px){.catalog-grid{grid-template-columns:1fr}.product-img{height:250px}.steps{grid-template-columns:1fr}.hero-buttons{gap:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Version 2 visual direction: original approved Romantic Luxury sample */
:root{--ivory:#fffcf8;--rose:#c97978;--rose-dark:#86494c;--blush:#fbe8e4;--cream:#fff3ed;--gold:#c5a16b;--ink:#4c3534;--muted:#856c68;--border:#eeddd4}
body{background:var(--ivory)}.announcement{background:#f9e6df;color:#8c5a55;font-family:Georgia,serif;letter-spacing:.14em}.announcement span{color:#b9945e}.header{height:83px;background:#fffaf6ef;backdrop-filter:blur(14px);border-bottom:1px solid #e9d9cf}.brand{font-size:24px;color:#ad6c65}.brand img{border-radius:50%;height:66px;width:66px}.header nav{gap:20px}.header nav a{font-family:Georgia,serif;font-size:13px}.pill{border-radius:60px;background:#c97875;border-color:#c97875;letter-spacing:0;font-family:Georgia,serif;font-size:14px;font-weight:400;padding:14px 25px;box-shadow:0 5px 18px #bb777528}.pill:hover{background:#ab645f}.hero{min-height:645px;background:linear-gradient(100deg,#fff9f5 0%,#fff4ed 45%,#f3d8d0 100%);grid-template-columns:49% 51%}.hero-copy{padding:85px 7% 75px 11%;position:relative;z-index:2}.hero-copy h1{font-size:clamp(48px,5.2vw,83px);letter-spacing:-.045em;color:#9b5952;line-height:1.08;margin:30px 0 22px}.hero-copy h1 em{color:#bd8d54;font-style:italic}.hero-copy p{font-family:Georgia,serif;color:#694e4a;font-size:18px;line-height:1.7}.hero-buttons{margin-top:30px}.hero-signoff{margin-top:50px;font-family:Georgia,serif;font-size:15px;color:#9a615e}.hero-visual{min-height:645px;padding:0}.hero-photo{min-height:645px;height:100%;border-radius:0;box-shadow:none;background-position:center 43%}.hero-visual:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff5ee 0%,transparent 22%);pointer-events:none}.hero-seal{z-index:2;right:5%;bottom:5%;border:1px solid #d8ae8c;background:#fff9f0ed}.hero-dots{display:none}.photo-watermark{display:none}.eyebrow{font-size:10px;color:#ac7264}.marquee-area{padding:43px 0 50px;background:#fff5f0}.section-intro{margin-bottom:24px}.section-intro h2{font-size:43px}.media-tile,.media-tile:nth-child(3n+2),.media-tile:nth-child(4n){height:210px;width:190px;border-radius:8px;box-shadow:0 4px 12px #0001}.media-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-tile:has(video){cursor:pointer}.media-tile .play{z-index:2}.media-tile .tag{z-index:3;font-family:Georgia,serif;background:#fffaf4eb}.marquee-track{gap:10px;animation-duration:70s}.marquee-note{padding-top:14px}.section{padding:74px 6%}.centerhead{margin-bottom:36px}.centerhead h2{font-size:clamp(34px,4vw,52px)}.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.product{padding:7px 7px 19px;border-radius:12px;overflow:hidden;box-shadow:0 9px 28px #ba92801a}.product-img{height:215px;border-radius:8px 8px 0 0}.product-content{padding:16px 9px 0}.product-content h3{font-size:21px}.product-content p{min-height:55px;line-height:1.45}.product-price{font-size:12px}.option-wrap{flex-direction:column}.option-wrap select{max-width:100%;font-size:11px}.option-wrap input{width:100%}.product-actions button{background:#c97875;border-radius:50px}.pricing-banner{border-radius:17px;background:linear-gradient(110deg,#fbe2de,#fff1e9);border:1px solid #ecd4cb}.wedding-promo{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.promo-panel{border-radius:18px;min-height:270px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:35px 45px;background-size:cover;background-position:center}.promo-panel h2{font-size:43px;margin:10px 0}.promo-panel p{font-family:Georgia,serif;max-width:330px}.promo-panel .pill{margin-top:10px}.promo-bulk{background:linear-gradient(90deg,#fff1eafa 0%,#fff1eadd 60%,#fff1ea33 100%),url('assets/cupcake_gift.webp') right center/cover}.promo-wedding{background:linear-gradient(90deg,#fff8f0fc 0%,#fff8f0dd 62%,#fff8f022 100%),url('assets/bride.webp') center/cover}.custom-section{background:#fceae6}.custom-photo{background-position:center 42%}.promise{background:linear-gradient(120deg,#b77e7b,#94635d)}.contact-card{border-radius:18px}.wedding-promo .pill{z-index:1}
@media(max-width:1200px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy h1{font-size:clamp(46px,5.7vw,70px)}}
@media(max-width:760px){.header{height:72px}.brand img{width:48px;height:48px}.brand{font-size:17px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6% 36px}.hero-copy h1{font-size:clamp(45px,11vw,65px);margin:20px 0}.hero-copy p{font-size:16px}.hero-signoff{margin-top:25px;font-size:12px}.hero-visual{min-height:390px;height:420px}.hero-photo{min-height:390px;background-position:center 46%}.hero-visual:before{background:linear-gradient(180deg,#fff5ed 0%,transparent 20%)}.hero-seal{right:4%;bottom:6%}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-img{height:190px}.product-content h3{font-size:19px}.wedding-promo{grid-template-columns:1fr;gap:16px}.promo-panel{min-height:240px;padding:30px}.promo-panel h2{font-size:38px}.section{padding:60px 6%}.media-tile,.media-tile:nth-child(3n+2),.media-tile:nth-child(4n){width:156px;height:185px}.section-intro h2{font-size:38px}.brand span{display:none}}
@media(max-width:400px){.catalog-grid{grid-template-columns:1fr}.product-img{height:270px}}

/* October 2026 requested homepage revisions */
.hero-video-frame{height:100%;min-height:645px;position:relative;overflow:hidden;background:#e9cad3}
.hero-video-frame video{display:block;height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-video-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#fff5ee3c,transparent 34%),linear-gradient(0deg,#44242b52,transparent 24%)}
.hero-video-controls{position:absolute;bottom:23px;left:22px;right:22px;z-index:3;display:flex;align-items:center;justify-content:space-between;color:#fff;font:italic 15px Georgia;text-shadow:0 1px 9px #0008}
.hero-video-controls button{width:34px;height:34px;border:1px solid #ffffff85;border-radius:50%;color:#fff;background:#4d263954;font-size:25px;line-height:1}
.hero-video-dots{position:absolute;z-index:4;bottom:68px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
.hero-video-dots button{height:7px;width:7px;border:0;padding:0;border-radius:50%;background:#ffffff80}
.hero-video-dots button[aria-current="true"]{background:#fff;width:20px;border-radius:10px}
.old-price{text-decoration:line-through;color:#9a8988;font-weight:400}
.bulk-savings{background:#eef8f0;color:#277047;border:1px solid #cce8d4;border-radius:8px;padding:9px 10px;margin-top:9px;font-size:12px;line-height:1.5}
.bulk-savings strong{display:block;font-size:14px}
@media(max-width:760px){.hero-video-frame{min-height:390px;height:420px}.hero-video-frame video{object-position:center}.hero-video-controls{bottom:18px}.hero-video-dots{bottom:62px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;overflow-x:auto}}

/* Preserve the complete frame on portrait cake videos, with an elegant blurred backdrop. */
.hero-video-frame.fit-full::before{content:"";position:absolute;inset:-25px;background-image:var(--hero-poster);background-position:center;background-size:cover;filter:blur(22px) brightness(.75);transform:scale(1.05);pointer-events:none}
.hero-video-frame.fit-full video{object-fit:contain;object-position:center center}


/* Custom slideshow section */
.custom-section{background:#fceae6;align-items:stretch}
.custom-slideshow{min-height:560px;position:relative;overflow:hidden;background:linear-gradient(160deg,#e9d6d1,#f8ece7)}
.custom-slide{position:absolute;inset:0}
.custom-slide-image{background-size:cover;background-position:center 38%;transition:opacity .7s ease,transform 5s ease;transform:scale(1.03)}
.custom-slideshow.is-animating .custom-slide-image{opacity:.92}
.custom-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(53,31,38,.08) 0%,rgba(53,31,38,.10) 25%,rgba(53,31,38,.48) 100%);pointer-events:none}
.custom-slide-top{position:absolute;left:24px;right:24px;top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2}
.custom-pill,.custom-counter{display:inline-flex;align-items:center;gap:8px;background:rgba(255,250,246,.88);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.6);padding:9px 14px;border-radius:999px;font-size:11px;letter-spacing:.12em;color:#8e5d57;font-weight:700;text-transform:uppercase}
.custom-slide-copy{position:absolute;left:24px;right:24px;bottom:26px;z-index:2;color:#fff;display:flex;flex-direction:column;gap:6px;text-shadow:0 2px 16px rgba(0,0,0,.28)}
.custom-slide-copy strong{font-family:'Playfair Display',Georgia,serif;font-size:38px;font-weight:500;line-height:1.05;max-width:min(80%,420px)}
.custom-slide-copy span{font-size:16px;font-family:Georgia,serif;font-style:italic}
.custom-slide-dots{position:absolute;right:24px;bottom:24px;z-index:3;display:flex;gap:10px;align-items:center}
.custom-slide-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.55);padding:0;box-shadow:0 0 0 1px rgba(255,255,255,.32)}
.custom-slide-dots button[aria-current='true']{background:#fff;transform:scale(1.15)}
.custom-copy{position:relative;z-index:1}
@media(max-width:760px){
  .custom-slideshow{min-height:420px}
  .custom-slide-top{left:16px;right:16px;top:16px}
  .custom-slide-copy{left:16px;right:16px;bottom:56px}
  .custom-slide-copy strong{font-size:30px;max-width:100%}
  .custom-slide-copy span{font-size:15px}
  .custom-slide-dots{left:16px;right:auto;bottom:18px}
  .custom-pill,.custom-counter{font-size:10px;padding:8px 11px}
}

/* Version 10 caption fix: slideshow labels are not positioned by the old photo caption rule. */
.custom-slideshow .custom-slide-copy { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.custom-slideshow .custom-slide-copy strong { display:block; overflow-wrap:break-word; }
.custom-slideshow .custom-slide-copy span { display:block; position:static; font-size:16px; line-height:1.4; font-style:italic; }
.custom-slideshow .custom-slide-top span { position:static; }
@media(max-width:760px){.custom-slideshow .custom-slide-copy span{font-size:14px}}

/* Custom cake comparison: stable caption layout, without overlapping text. */
.custom-slideshow .custom-slide-copy {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  width:100%;
  max-width:none;
  padding:20px 28px 22px;
  background:linear-gradient(0deg,rgba(42,27,34,.88),rgba(42,27,34,.56));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  text-align:left;
  text-shadow:0 1px 5px rgba(0,0,0,.2);
  box-sizing:border-box;
  isolation:isolate;
}
.custom-slideshow .custom-slide-copy strong {
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  font-size:clamp(22px,2.3vw,34px);
  line-height:1.2;
  font-weight:500;
  overflow-wrap:normal;
  position:static;
}
.custom-slideshow .custom-slide-copy span {
  display:block;
  position:static;
  width:auto;
  margin:0;
  padding:0;
  font-size:14px;
  line-height:1.5;
  font-family:'DM Sans',Arial,sans-serif;
  font-style:normal;
}
.custom-slideshow .custom-slide-dots {
  top:72px;
  bottom:auto;
  left:24px;
  right:auto;
}
.custom-slideshow .custom-slide-image {
  background-size:cover;
  transform:none;
  background-repeat:no-repeat;
}
/* The first Mercedes comparison image benefits from a closer crop. */
.custom-slideshow.first-pair .custom-slide-image {
  background-size:122% auto;
  background-position:center 47% !important;
}
@media(max-width:760px) {
  .custom-slideshow .custom-slide-copy{padding:17px 18px 19px;gap:5px}
  .custom-slideshow .custom-slide-copy strong{font-size:clamp(20px,5vw,28px)}
  .custom-slideshow .custom-slide-copy span{font-size:13px}
  .custom-slideshow .custom-slide-dots{left:16px;top:62px;bottom:auto}
}

/* V11: Romantic-luxury social link cards */
.social-invite{display:flex;align-items:center;gap:13px;margin:29px 0 13px;color:#b47a79;font-size:10px;font-weight:700;letter-spacing:.18em;white-space:nowrap}
.social-invite-line{height:1px;flex:1;background:linear-gradient(90deg,#e5c3b6,#cda890)}
.socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0;color:#765052}
.socials .social-link{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-width:0;min-height:138px;padding:19px 9px 14px;text-align:center;background:linear-gradient(150deg,#fffdfb,#fff4f1);border:1px solid #ecd9d5;border-radius:14px;box-shadow:0 7px 23px #936d6611;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.socials .social-link:hover,.socials .social-link:focus-visible{color:#854d55;transform:translateY(-4px);border-color:#cf9f9e;box-shadow:0 13px 30px #936d6625}
.social-symbol{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#f6e5e5;color:#a66574}
.social-symbol svg{width:23px;height:23px}
.social-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.social-name strong{font-family:Georgia,serif;font-size:16px;font-weight:normal}
.social-name small{font-size:10px;color:#927879;line-height:1.35;font-weight:400}
.social-arrow{position:absolute;right:10px;top:8px;font-size:14px;color:#c49486}
@media(max-width:510px){.socials{gap:7px}.socials .social-link{min-height:122px;padding:14px 6px 12px}.social-name strong{font-size:13px}.social-name small{font-size:9px}.social-symbol{width:36px;height:36px}.social-symbol svg{width:20px;height:20px}.social-invite{font-size:8px;gap:7px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.socials .social-link{transition:none}}

/* V12 - quote form upgrades */
.quote-upload{border:1px dashed #d7a6a0;border-radius:14px;padding:17px;background:#fff8f6;display:grid;gap:8px;color:#965d62}.quote-upload input{background:white;max-width:100%}.quote-upload small,.form-helper{font-size:12px;line-height:1.5;color:#976e6e}.quote-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.quote-thumbnails img{width:86px;height:86px;object-fit:cover;border-radius:10px;border:1px solid #e9cfc9}.formgrid [hidden]{display:none!important}

/* V14: sequence starts on entering viewport. Normal appearance is always visible. */
@keyframes bb-order-step-reveal {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  #how .steps.steps-animate > div {
    animation: bb-order-step-reveal 760ms cubic-bezier(.22,.8,.25,1) both;
  }
  #how .steps.steps-animate > div:nth-child(1) { animation-delay: 0ms; }
  #how .steps.steps-animate > div:nth-child(2) { animation-delay: 320ms; }
  #how .steps.steps-animate > div:nth-child(3) { animation-delay: 640ms; }
  #how .steps.steps-animate > div:nth-child(4) { animation-delay: 960ms; }
}
@media (prefers-reduced-motion: reduce) {
  #how .steps > div { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* V15: reversible scroll-linked animation; normal content remains visible if JS is absent. */
#how .steps.steps-scroll-linked > div { animation: none !important; will-change: opacity, transform; }
@media (prefers-reduced-motion: reduce) {
  #how .steps.steps-scroll-linked > div { opacity: 1 !important; transform: none !important; will-change: auto; }
}


/* V16: preserve original clip detail. Small portrait source videos looked soft
   when enlarged and cropped to cover a wide desktop hero. Never upscale past
   a restrained display width; keep full composition and use a flat brand-toned
   frame instead of blur or a fake high-resolution enlargement. */
.hero-video-frame {
  background: linear-gradient(135deg, #ead7d2 0%, #a97882 50%, #5d3e4a 100%);
  isolation: isolate;
}
.hero-video-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff5ed24, transparent 42%, #24151b24);
  pointer-events: none;
  z-index: 1;
}
.hero-video-frame video,
.hero-video-frame.fit-full video {
  inset: 0 auto 0 50%;
  width: min(100%, 540px);
  max-width: 100%;
  height: 100%;
  transform: translateX(-50%);
  object-fit: contain;
  object-position: center center;
  filter: none;
}
.hero-video-frame.fit-full::before { display: none; }
@media (max-width:760px) {
  .hero-video-frame video,
  .hero-video-frame.fit-full video { width: 100%; }
}

/* V17: Full-bleed video restored: override V16 letterbox constraint. */
.hero-video-frame{background:#e9cad3;isolation:isolate}
.hero-video-frame::before,.hero-video-frame.fit-full::before{display:none}
.hero-video-frame video,.hero-video-frame.fit-full video{display:block;position:absolute;inset:0;width:100%;max-width:none;height:100%;transform:none;object-fit:cover;object-position:center center;filter:none}
@media(max-width:760px){.hero-video-frame video,.hero-video-frame.fit-full video{width:100%;height:100%;object-fit:cover}}

/* V18: original-theme, image-free WhatsApp testimonial marquee */
.testimonials{padding:92px 0 72px;overflow:hidden;background:linear-gradient(180deg,#fffaf6 0%,#fbece9 100%);border-top:1px solid #f2ded7;border-bottom:1px solid #ead4cb}
.testimonials-heading{text-align:center;padding:0 24px 28px;max-width:850px;margin:auto}
.testimonials-heading h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(2.2rem,4vw,4.15rem);line-height:1.16;margin:13px 0;color:#543633}
.testimonials-heading h2 em{color:#c97b80;font-weight:400}
.testimonials-heading p{color:#926d67;font-size:14px;line-height:1.7;margin:0 auto;max-width:650px}
.testimonials-window{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.testimonials-track{display:flex;align-items:stretch;gap:20px;width:max-content;animation:bb-testimonial-marquee 36s linear infinite;padding:19px 0 26px}
.testimonials-track:hover,.testimonials-track:focus-within{animation-play-state:paused}
.testimonial-repeat{display:flex;gap:20px}
.testimonial-card{width:340px;min-height:238px;box-sizing:border-box;display:flex;flex-direction:column;padding:24px;border-radius:20px;background:#fffefd;border:1px solid #eacbc4;box-shadow:0 14px 34px #a66a6a14;color:#593b39;white-space:normal}
.testimonial-top{display:flex;align-items:center;gap:11px}
.review-avatar{width:45px;height:45px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f6dcd7;color:#945d5d;font:italic 23px Georgia,serif}
.review-person{display:flex;flex-direction:column;gap:4px;min-width:0}.review-person strong{font:600 18px 'Playfair Display',Georgia,serif}.review-person small{color:#a57b74;font-size:11px}
.review-whatsapp{margin-left:auto;width:31px;height:31px;color:#248f68}.review-whatsapp svg{width:100%;height:100%}
.testimonial-card p{font:italic 19px/1.48 'Playfair Display',Georgia,serif;margin:19px 0 22px;flex:1;color:#503834}
.testimonial-foot{font-size:11px;color:#a87575;letter-spacing:.055em}.testimonial-foot span{font-size:17px;padding-right:6px;color:#c98185}
.testimonials-hint{text-align:center;margin:12px 16px 0;color:#b07875;font:italic 15px Georgia,serif}
@keyframes bb-testimonial-marquee{to{transform:translateX(calc(-50% - 10px))}}
@media(max-width:760px){.testimonials{padding:64px 0 55px}.testimonial-card{width:290px;min-height:245px;padding:20px}.testimonial-card p{font-size:17px}.testimonials-track{animation-duration:42s}}
@media(prefers-reduced-motion:reduce){.testimonials-track{animation:none;overflow-x:auto;width:auto;padding-left:20px;padding-right:20px}.testimonial-repeat{display:none}}

/* V19: clearly distinguish illustrative placeholder testimonials from real WhatsApp feedback */
.sample-review{border-style:dashed;background:#fffaf8}
.sample-review-mark{margin-left:auto;color:#ba8d85;font-size:28px}
.sample-review .review-person small{font-weight:700;color:#925b5b}
.sample-review .testimonial-foot{font-size:11px;line-height:1.4;color:#915c5e}

/* V22: two seamless image-only cake rows, travelling in opposite directions. */
.double-moments { display:flex; flex-direction:column; gap:14px; }
.double-moments .moments-row { overflow:hidden; width:100%; }
.double-moments .moments-track { display:flex; width:max-content; gap:0; animation-duration:90s; animation-timing-function:linear; animation-iteration-count:infinite; }
.double-moments .moments-group { display:flex; gap:10px; padding-right:10px; flex:none; }
.double-moments .moments-left { animation-name:bb-moments-left; }
.double-moments .moments-right { animation-name:bb-moments-right; animation-duration:103s; }
@keyframes bb-moments-left { from {transform:translateX(0)} to {transform:translateX(-50%)} }
@keyframes bb-moments-right { from {transform:translateX(-50%)} to {transform:translateX(0)} }
.double-moments:hover .moments-track,
.double-moments .moments-track:focus-within { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) {
  .double-moments .moments-track { animation:none !important; }
  .double-moments .moments-row { overflow-x:auto; }
  .double-moments .moments-group[aria-hidden="true"] { display:none; }
}

/* V23: seven unique images per row, displayed more prominently. */
.double-moments { gap:16px; }
.double-moments .media-tile,
.double-moments .media-tile:nth-child(3n+2),
.double-moments .media-tile:nth-child(4n) { width:260px; height:286px; border-radius:12px; }
.double-moments .moments-track.moments-left { animation-duration:57s; }
.double-moments .moments-track.moments-right { animation-duration:64s; }
@media(max-width:760px) {
  .double-moments { gap:11px; }
  .double-moments .media-tile,
  .double-moments .media-tile:nth-child(3n+2),
  .double-moments .media-tile:nth-child(4n) { width:196px; height:224px; border-radius:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .double-moments .moments-track { animation:none !important; }
}

/* V24: persistent luxury-themed social dock */
.floating-social-dock{position:fixed;right:23px;bottom:26px;z-index:25;display:flex;flex-direction:column;align-items:center;gap:11px}
.floating-social-dock .floating-social{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;color:#a66575;background:#fff7f5;border:1px solid #e7c8c7;box-shadow:0 5px 18px #754b5026;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.floating-social-dock .floating-social svg{width:24px;height:24px;display:block}
.floating-social-dock .floating-social:hover,.floating-social-dock .floating-social:focus-visible{transform:translateX(-4px);background:#fae8e7;box-shadow:0 8px 22px #754b5040;outline-offset:3px}
.floating-social-dock .floating-social.whatsapp-float{width:55px;height:55px;background:#278d59;color:#fff;border:1px solid #187b49;box-shadow:0 6px 20px #184e3a45}
.floating-social-dock .whatsapp-float svg{width:30px;height:30px}
@media(max-width:760px){.floating-social-dock{right:12px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));gap:8px}.floating-social-dock .floating-social{width:42px;height:42px}.floating-social-dock .floating-social svg{width:21px;height:21px}.floating-social-dock .floating-social.whatsapp-float{width:49px;height:49px}.floating-social-dock .whatsapp-float svg{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.floating-social-dock .floating-social{transition:none}}

/* V25: official-style social platform colors and recognizable brand icons. */
.floating-social-dock .floating-social{color:#fff;border:2px solid rgba(255,255,255,.93);box-shadow:0 5px 17px rgba(58,34,43,.24);}
.floating-social-dock .floating-social.instagram{background:linear-gradient(35deg,#FEDA75 0%,#FA7E1E 17%,#D62976 49%,#962FBF 76%,#4F5BD5 100%);color:#fff;}
.floating-social-dock .floating-social.facebook{background:#0866FF;color:#fff;}
.floating-social-dock .floating-social.tiktok{background:#010101;color:#fff;}
.floating-social-dock .floating-social.whatsapp-float{background:#25D366;color:white;border:2px solid #fff;}
.floating-social-dock .floating-social:hover,.floating-social-dock .floating-social:focus-visible{filter:brightness(1.06);background-color:inherit;transform:translateX(-4px) scale(1.06);}
.floating-social-dock .floating-social.facebook:hover{background:#0866FF;}
.floating-social-dock .floating-social.tiktok:hover{background:#010101;}
.floating-social-dock .floating-social.whatsapp-float:hover{background:#25D366;}
.floating-social-dock .instagram svg{stroke-width:2.2;}

/* V26: fix a blank stretch in the top/bottom image tracks.
   With four equal groups, moving exactly one group (25%) produces a seamless loop. */
.double-moments .moments-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  min-width: 100%;
  gap: 0;
  will-change: transform;
}
.double-moments .moments-track .moments-group {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 10px;
  padding-right: 10px;
}
.double-moments .moments-track.moments-left { animation-name: bb-moments-left-filled; }
.double-moments .moments-track.moments-right { animation-name: bb-moments-right-filled; }
@keyframes bb-moments-left-filled { from {transform:translateX(0)} to {transform:translateX(-25%)} }
@keyframes bb-moments-right-filled { from {transform:translateX(-25%)} to {transform:translateX(0)} }
@media (prefers-reduced-motion: reduce) {
  .double-moments .moments-track { transform:none !important; }
  .double-moments .moments-track .moments-group[aria-hidden="true"] { display:none; }
}


/* V33: Larger custom slideshow so full cakes stay more visible */
.custom-section{grid-template-columns:56% 44%;min-height:620px;align-items:stretch}
.custom-slideshow,.custom-photo{min-height:620px}
.custom-slideshow .custom-slide-image{background-size:contain !important;background-position:center center !important;background-repeat:no-repeat;background-color:#eaded8}
.custom-slideshow.first-pair .custom-slide-image{background-size:contain !important;background-position:center center !important}
@media(max-width:1000px){.custom-section{grid-template-columns:54% 46%}.custom-slideshow,.custom-photo{min-height:560px}}
@media(max-width:760px){.custom-section{grid-template-columns:1fr}.custom-slideshow,.custom-photo{min-height:420px}}
