@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Parisienne&display=swap');
:root{--ruby:#86133f;--petal:#f4c5d1;--rose:#d98aa8;--champagne:#e8c982;--plum:#351326;--ivory:#fff8f5;--ink:#351326;--muted:#806776;--line:rgba(134,19,63,.14);--display:'Playfair Display','Didot','Bodoni 72',serif;--script:'Parisienne','Segoe Script',cursive;--body:'DM Sans','Aptos',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);overflow-x:hidden}a{color:inherit}button{font:inherit}.skip{position:absolute;left:-999px;top:8px;padding:12px;background:white;z-index:100}.skip:focus{left:8px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--champagne);outline-offset:4px}
.petal-ribbon{height:9px;background:repeating-linear-gradient(135deg,var(--ruby) 0 14px,var(--rose) 14px 22px,var(--champagne) 22px 25px,var(--ivory) 25px 34px)}
.header{height:82px;padding:0 clamp(18px,6vw,88px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(255,248,245,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(134,19,63,.1)}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:68px;height:68px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px)}.nav a{text-decoration:none;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#684454;transition:color .2s}.nav a:hover{color:var(--ruby)}.nav .nav-order{padding:14px 20px;background:var(--ruby);color:white;border-radius:40px;box-shadow:0 6px 16px rgba(134,19,63,.2)}.nav-order span{margin-left:10px;color:var(--champagne)}.nav-toggle{display:none;border:0;background:none;padding:9px}.nav-toggle span{display:block;width:24px;height:2px;margin:5px;background:var(--ruby)}
.hero{min-height:710px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:2%;padding:70px clamp(24px,8vw,122px) 88px;background:linear-gradient(135deg,#f7d9e0 0%,#fff8f5 48%,#f0c1d0 100%);position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.9),transparent 28%),radial-gradient(circle at 90% 80%,rgba(217,138,168,.24),transparent 35%)}.hero:after{content:"";position:absolute;right:-140px;top:-180px;width:540px;height:540px;border:1px solid rgba(134,19,63,.1);border-radius:50%;box-shadow:0 0 0 35px rgba(134,19,63,.025),0 0 0 75px rgba(134,19,63,.02);z-index:-1}.petal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:590px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--ruby);font-size:9px;letter-spacing:2.2px;font-weight:700}.eyebrow i{display:block;width:23px;height:1px;background:var(--champagne)}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-1.5px;line-height:1.02;margin:22px 0;color:var(--plum)}h1{font-size:clamp(54px,6.2vw,88px)}h1 em,h2 em{font-style:italic;color:var(--ruby)}.hero-copy p{font-size:15px;line-height:1.85;color:#745568;max-width:420px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.btn-primary{display:inline-flex;align-items:center;gap:18px;padding:16px 22px;border-radius:40px;background:var(--ruby);color:#fff;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.5px;box-shadow:0 9px 22px rgba(134,19,63,.2);transition:transform .25s,box-shadow .25s}.btn-primary:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(134,19,63,.26)}.btn-primary span:last-child{color:var(--champagne)}.btn-text{font-size:11px;font-weight:700;text-decoration:none;color:var(--ruby);border-bottom:1px solid var(--rose);padding-bottom:7px}.btn-text span{margin-left:8px;color:var(--rose)}.hero-signature{display:flex;align-items:center;gap:12px;margin-top:55px;color:#98667b;font-size:9px;font-weight:700;letter-spacing:2.5px}.signature-line{height:1px;width:38px;background:var(--champagne)}.signature-heart{font-size:22px;color:var(--ruby)}
.hero-art{position:relative;min-height:530px;display:flex;align-items:center;justify-content:center;padding:12px 15px 28px}.hero-photo-frame{width:min(80%,470px);height:510px;overflow:hidden;border-radius:48% 48% 20px 20px / 28% 28% 20px 20px;box-shadow:0 24px 65px rgba(77,23,49,.22);border:9px solid rgba(255,248,245,.88);position:relative;transform:rotate(2deg);transition:transform .6s}.hero-photo-frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(232,201,130,.8);border-radius:inherit;pointer-events:none}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform 1s}.hero-photo-frame:hover{transform:rotate(0) translateY(-7px)}.hero-photo-frame:hover img{transform:scale(1.04)}.hero-video{position:absolute;right:0;bottom:45px;width:150px;height:105px;border-radius:18px;background:var(--plum);border:5px solid var(--ivory);box-shadow:0 12px 32px rgba(53,19,38,.25);overflow:hidden;z-index:3}.hero-video iframe{width:100%;height:100%;border:0}.video-launch{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--ruby),var(--plum));border:0;color:white;cursor:pointer}.video-launch span{width:35px;height:35px;border-radius:50%;background:var(--champagne);color:var(--ruby);display:grid;place-items:center;padding-left:2px}.video-launch b{font-size:9px;letter-spacing:1px;text-transform:uppercase}.hero-seal{position:absolute;left:3%;top:11%;width:94px;height:94px;border-radius:50%;background:var(--ruby);color:white;border:2px solid var(--champagne);outline:5px solid rgba(255,248,245,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:0 8px 20px rgba(134,19,63,.2);font-size:8px;letter-spacing:1px}.hero-seal b{font-size:25px;color:var(--champagne);line-height:1.1}.hero-caption{position:absolute;right:4%;top:13%;font-family:var(--script);font-size:29px;line-height:.9;color:var(--ruby);transform:rotate(8deg);text-shadow:0 1px 0 white}.hero-caption em{font-style:normal;color:#b15d7b}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:42px;background:rgba(134,19,63,.08);display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,8vw,122px);font-size:8px;font-weight:700;letter-spacing:2px;color:#805268}.hero-bottom b{font-size:15px;color:var(--ruby);margin-left:9px}
.section-pad{padding:104px clamp(22px,8vw,122px)}.menu-section{background:var(--ivory);position:relative}.section-topline{display:flex;align-items:center;justify-content:space-between;color:#a77b8d;font-size:9px;font-weight:700;letter-spacing:2px}.ornament{color:var(--champagne);font-size:25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:24px 0 46px}.kicker{font-size:9px;letter-spacing:2.3px;font-weight:700;color:var(--ruby)}h2{font-size:clamp(44px,5.4vw,72px);margin:13px 0 0}.section-heading p,.gallery-heading p{max-width:300px;margin:0 0 8px;font-size:13px;line-height:1.8;color:#896e7b}.menu-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.menu-card{background:#fff;border-radius:190px 190px 16px 16px;overflow:hidden;box-shadow:0 15px 45px rgba(83,32,58,.09);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;position:relative}.menu-card:nth-child(2){margin-top:42px}.menu-card:nth-child(3){margin-top:84px}.menu-card:hover{transform:translateY(-9px);box-shadow:0 24px 55px rgba(83,32,58,.16)}.menu-image{height:360px;background:linear-gradient(145deg,#f8dfe6,#fff8f5);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.menu-image img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.menu-card:hover .menu-image img{transform:scale(1.035)}.menu-card-body{padding:22px 24px 28px;text-align:center;min-height:130px}.menu-card h3{font-family:var(--display);font-weight:500;font-size:25px;margin:0 0 8px;color:var(--ruby)}.menu-card p{font-size:11px;line-height:1.7;color:#907787;margin:0}.menu-card-number{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--champagne);color:var(--plum);font-family:var(--display);font-size:15px;z-index:2}.menu-footnote{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:58px;color:#95687e;font-family:var(--script);font-size:27px}.flourish{color:var(--ruby);font-size:32px}
.story-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#f4d5df;padding-top:90px;padding-bottom:90px;position:relative;overflow:hidden}.story-section:before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(134,19,63,.1);border-radius:50%;left:-220px;top:-230px;box-shadow:0 0 0 30px rgba(134,19,63,.025),0 0 0 70px rgba(134,19,63,.02)}.story-photo{height:470px;position:relative;border-radius:12px 160px 12px 12px;overflow:hidden;box-shadow:18px 18px 0 rgba(134,19,63,.12);z-index:1}.story-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.photo-stamp{position:absolute;bottom:18px;left:18px;padding:12px 18px;background:var(--ivory);color:var(--ruby);font-size:9px;letter-spacing:2px;line-height:1.2;box-shadow:4px 4px 0 var(--champagne)}.photo-stamp b{font-family:var(--display);font-size:21px;letter-spacing:1px}.story-copy{position:relative;z-index:1}.story-copy h2{font-size:clamp(42px,5vw,66px)}.story-copy p{font-size:14px;line-height:1.9;color:#745568;margin:24px 0}.story-link{display:inline-flex;gap:20px;align-items:center;color:var(--ruby);font-size:11px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ruby);padding-bottom:9px}.story-link span{font-size:18px}.story-scribble{font-family:var(--script);font-size:35px;color:#a44e73;margin-top:45px;transform:rotate(-7deg)}
.gallery-section{background:var(--plum);color:white;overflow:hidden;position:relative}.gallery-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(217,138,168,.18),transparent 36%),radial-gradient(circle at 15% 90%,rgba(134,19,63,.5),transparent 35%);pointer-events:none}.gallery-heading{position:relative;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.gallery-section .kicker{color:var(--champagne)}.gallery-section h2{color:var(--ivory)}.gallery-section h2 em{color:var(--rose)}.gallery-heading p{color:rgba(255,248,245,.66)}.gallery-wrap{overflow:hidden;perspective:1200px;position:relative}.gallery-track{display:flex;align-items:center;gap:22px;transition:transform .65s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}.gallery-card{flex:0 0 min(30vw,330px);height:405px;border:7px solid rgba(255,248,245,.95);border-radius:170px 170px 12px 12px;background:#f8dfe6;box-shadow:0 22px 40px rgba(0,0,0,.3);transform:rotateY(-12deg) scale(.91);opacity:.72;transition:transform .5s,opacity .5s;cursor:pointer;padding:0;overflow:hidden}.gallery-card.active{transform:rotateY(0) scale(1);opacity:1}.gallery-card img{width:100%;height:calc(100% - 48px);object-fit:cover;background:#f8dfe6}.gallery-card span{display:block;height:48px;padding:13px 9px 0;color:var(--ruby);background:var(--ivory);font-family:var(--display);font-size:14px;text-align:center}.gallery-controls{display:flex;align-items:center;gap:16px;margin-top:30px;position:relative}.gallery-controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,248,245,.45);background:transparent;color:white;font-size:22px;cursor:pointer;transition:background .2s}.gallery-controls button:hover{background:var(--rose);color:var(--plum)}#galleryCount{font-family:var(--display);font-size:14px;letter-spacing:1px;color:var(--champagne)}.gallery-note{margin-left:auto;font-size:8px;letter-spacing:2px;color:rgba(255,255,255,.55)}
.location-section{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#f8e7ec;position:relative;overflow:hidden}.location-copy{position:relative;z-index:2}.location-copy h2{font-size:clamp(46px,5vw,68px)}.location-copy h2 em{color:var(--ruby)}.location-copy>p{font-size:13px;color:#856a79;margin:20px 0 28px}.address-card{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-radius:18px;background:var(--ivory);box-shadow:0 12px 35px rgba(134,19,63,.08);max-width:460px}.pin{width:38px;height:38px;flex:none;display:grid;place-items:center;background:var(--ruby);color:white;border-radius:50%;font-size:21px}.address-card b{font-family:var(--display);font-size:22px;color:var(--ruby);font-weight:500}.address-card p{font-size:12px;line-height:1.7;color:#806776;margin:6px 0 12px}.address-card a{font-size:10px;text-decoration:none;font-weight:700;color:var(--ruby);border-bottom:1px solid var(--champagne);padding-bottom:4px}.address-card a span{margin-left:8px}.location-ornament{position:absolute;top:35px;left:50%;font-size:72px;color:rgba(134,19,63,.07);transform:rotate(-18deg)}
.location-art{display:flex;align-items:center;justify-content:center;min-height:380px;position:relative;perspective:1000px}.cake-3d-stage{position:relative;width:min(100%,450px);height:370px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:pan-y;outline:none}.cake-3d-stage:active{cursor:grabbing}.cake-3d{position:relative;width:300px;height:275px;transform-style:preserve-3d;transform:rotateX(-13deg) rotateY(-24deg);transition:transform .18s ease-out;filter:drop-shadow(0 25px 18px rgba(78,24,54,.18))}.cake-3d:before{content:"";position:absolute;left:22px;right:22px;bottom:4px;height:28px;background:linear-gradient(#d4ad70,#9c6c43);border-radius:50%;transform:rotateX(75deg) translateZ(-7px);box-shadow:0 4px 0 #f2d6a0}.cake-board{position:absolute;left:14px;bottom:-2px;width:272px;height:34px;border-radius:50%;background:linear-gradient(180deg,#f3d9a5,#b98652);transform:rotateX(75deg) translateZ(-7px);box-shadow:0 8px 0 rgba(97,53,39,.16)}.cake-lower,.cake-mid,.cake-upper{position:absolute;left:32px;width:236px;border-radius:50%;background:linear-gradient(90deg,#d9a7ad 0%,#fff4f0 14%,#fff 48%,#f3d9d9 86%,#b87990 100%);box-shadow:inset 0 -12px 0 rgba(134,19,63,.08),inset 0 8px 8px rgba(255,255,255,.9);transform-style:preserve-3d}.cake-lower{height:86px;bottom:25px;transform:translateZ(10px)}.cake-mid{height:75px;bottom:100px;left:52px;width:196px;transform:translateZ(20px)}.cake-upper{height:63px;bottom:165px;left:76px;width:148px;transform:translateZ(30px)}.cake-top{position:absolute;left:76px;bottom:205px;width:148px;height:58px;border-radius:50%;background:radial-gradient(ellipse at 45% 35%,#fff 0 45%,#f4dfe1 70%,#d7a0ac 100%);transform:translateZ(31px);box-shadow:0 7px 0 rgba(134,19,63,.12)}.cake-lower:before,.cake-mid:before,.cake-upper:before{content:"";position:absolute;left:0;right:0;top:-4px;height:22px;border-radius:50%;background:linear-gradient(90deg,#fff,#f4d8df 50%,#fff);box-shadow:0 3px 4px rgba(134,19,63,.08)}.cake-lower:after,.cake-mid:after,.cake-upper:after{content:"";position:absolute;left:7px;right:7px;bottom:10px;height:9px;border-top:2px dotted #d2a75d;border-bottom:2px dotted #d2a75d;border-radius:50%;opacity:.9}.cake-lower i,.cake-mid i,.cake-upper i{position:absolute;bottom:-4px;width:22px;height:17px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff 0 25%,#f3d5dc 70%,#c27b91);box-shadow:0 2px 3px rgba(95,31,60,.15)}.cake-lower i:nth-child(1){left:10%}.cake-lower i:nth-child(2){left:25%}.cake-lower i:nth-child(3){left:40%}.cake-lower i:nth-child(4){left:55%}.cake-lower i:nth-child(5){left:70%}.cake-lower i:nth-child(6){left:85%}.cake-mid i:nth-child(1){left:8%}.cake-mid i:nth-child(2){left:24%}.cake-mid i:nth-child(3){left:40%}.cake-mid i:nth-child(4){left:56%}.cake-mid i:nth-child(5){left:72%}.cake-mid i:nth-child(6){left:88%}.cake-upper i:nth-child(1){left:5%}.cake-upper i:nth-child(2){left:23%}.cake-upper i:nth-child(3){left:41%}.cake-upper i:nth-child(4){left:59%}.cake-upper i:nth-child(5){left:77%}.cake-upper i:nth-child(6){left:92%}.cake-flower{position:absolute;z-index:5;color:#b45c85;font-size:29px;text-shadow:0 1px 0 white;transform:translateZ(50px)}.f1{left:30px;bottom:150px}.f2{right:34px;bottom:76px;color:#d29a44}.f3{right:75px;bottom:220px;font-size:23px}.f4{left:75px;bottom:55px;font-size:22px}.cake-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;font-weight:700;letter-spacing:2px;color:#98677e}
.contact-section{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center;background:var(--ruby);color:white;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;right:-160px;top:-220px;width:540px;height:540px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.03),0 0 0 75px rgba(255,255,255,.02)}.contact-card{position:relative;background:#a82b58;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:0 30px 24px;box-shadow:15px 18px 0 rgba(49,10,30,.2);z-index:1}.contact-card-top,.contact-card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#f7d8e3}.contact-card-top{height:48px;border-bottom:1px solid rgba(255,255,255,.18)}.contact-card-top span:last-child{font-size:25px;color:var(--champagne)}.contact-card-main{padding:35px 4px 30px}.contact-card .kicker{color:var(--champagne)}.contact-card h2{font-size:clamp(44px,5vw,68px);color:white}.contact-card h2 em{color:#f4c5d1}.contact-card-main p{font-size:12px;color:rgba(255,255,255,.75);line-height:1.7;margin:20px 0 26px}.btn-light{background:var(--ivory);color:var(--ruby);box-shadow:0 8px 18px rgba(53,19,38,.18)}.btn-light span:last-child{color:var(--ruby)}.wa-icon{font-size:17px}.contact-card-bottom{padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}.contact-side{position:relative;height:440px;border:8px solid var(--ivory);box-shadow:12px 14px 0 var(--champagne);transform:rotate(2deg);border-radius:8px;overflow:hidden}.contact-side img{width:100%;height:100%;object-fit:cover}.contact-side:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(53,19,38,.5),transparent 55%)}.side-caption{position:absolute;bottom:23px;left:20px;z-index:2;color:white;font-family:var(--script);font-size:35px;transform:rotate(-5deg)}.side-caption em{color:#f4c5d1}
.promo-section{background:#f4d5df}.promo-section h2{margin-bottom:25px}.promo-section h2 em{color:var(--ruby)}#promoItems{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.promo-card{padding:12px;background:var(--ivory);border-radius:18px}.promo-card img{width:100%;height:250px;object-fit:contain;background:#f9e6ec}.promo-card h3{font-family:var(--display);font-size:24px;color:var(--ruby)}.promo-card p{font-size:12px;color:#806776}
.footer{background:var(--plum);color:var(--ivory);padding:38px clamp(22px,8vw,122px) 0}.footer-main{display:flex;align-items:center;gap:20px;padding-bottom:30px}.footer-main>img{width:68px;height:68px;object-fit:contain;border-radius:50%}.footer-message{display:flex;flex-direction:column;gap:5px}.footer-message span{font-family:var(--script);font-size:22px;color:var(--rose)}.footer-message b{font-family:var(--display);font-weight:500;font-size:24px}.footer-social{display:flex;gap:9px;margin-left:auto}.footer-social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;text-decoration:none;border:1px solid rgba(255,255,255,.3);color:var(--champagne);font-size:11px;font-weight:700}.footer-wa{font-size:10px;text-decoration:none;padding:11px 15px;border-radius:25px;background:var(--champagne);color:var(--plum);font-weight:700}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:17px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:9px;color:rgba(255,248,245,.58)}.footer-bottom a{color:var(--champagne);text-decoration:none}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:40px;background:#176b43;color:white;text-decoration:none;font-size:11px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.22);border:2px solid var(--ivory);transition:transform .2s}.whatsapp-float:hover{transform:translateY(-4px)}.whatsapp-float .wa-icon{font-size:18px}
.lightbox{position:fixed;inset:0;z-index:70;background:rgba(27,8,20,.95);display:none;align-items:center;justify-content:center;padding:50px 72px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(850px,82vw);max-height:86vh;text-align:center}.lightbox figure img{max-width:100%;max-height:75vh;object-fit:contain}.lightbox figcaption{padding-top:13px;color:white;font-size:12px}.lightbox button{position:absolute;border:0;background:none;color:white;font-size:43px;cursor:pointer}.lb-close{top:18px;right:25px}.lb-prev{left:18px}.lb-next{right:18px}
.ruby-cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;opacity:0;transform:translate(-50%,-50%);color:var(--ruby);font-size:24px;text-shadow:0 2px 5px rgba(255,255,255,.8)}.ruby-cursor span{display:block;transform:rotate(0);transition:transform .25s}.ruby-cursor.hover span{transform:scale(1.3) rotate(35deg);color:#b45c85}.touch-spark{position:fixed;pointer-events:none;z-index:85;color:var(--ruby);font-size:24px;opacity:0;transform:translate(-50%,-50%) scale(.3)}.touch-spark.show{animation:spark .55s ease-out}@keyframes spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-90%) scale(1.5) rotate(35deg)}}
.js-reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.js-reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}
@media(max-width:900px){.header{height:74px}.nav-toggle{display:block;z-index:3}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ivory);padding:22px 24px 28px;box-shadow:0 15px 22px rgba(53,19,38,.12);flex-direction:column;align-items:stretch;gap:22px}.nav.open{display:flex}.nav .nav-order{text-align:center}.hero{grid-template-columns:1fr;padding:62px 26px 78px;gap:25px}.hero-copy{max-width:690px}.hero-art{min-height:490px;max-width:650px;width:100%;margin:auto}.hero-photo-frame{height:455px}.hero-bottom{padding:0 26px}.section-pad{padding:78px 26px}.menu-showcase{gap:15px}.menu-image{height:290px}.menu-card-body{padding:18px 15px 22px}.menu-card h3{font-size:22px}.story-section{gap:6%}.story-photo{height:400px}.gallery-card{flex-basis:42vw;height:370px}.contact-section{grid-template-columns:1fr 1fr;gap:5%}.contact-side{height:380px}.cake-3d-stage{transform:scale(.9)}}
@media(max-width:600px){.header{padding:0 18px}.brand img{width:58px;height:58px}.hero{padding:49px 20px 68px;gap:18px}.hero h1{font-size:57px}.hero-copy p{font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.4px;gap:7px}.eyebrow i{width:14px}.hero-actions{gap:17px;margin-top:24px}.btn-primary{padding:14px 17px;font-size:10px}.hero-signature{margin-top:32px}.hero-art{min-height:400px;padding:0 4px 22px}.hero-photo-frame{width:80%;height:385px;border-width:6px}.hero-video{right:0;bottom:25px;width:118px;height:84px}.hero-seal{width:73px;height:73px;font-size:6px;left:1%;top:9%}.hero-seal b{font-size:20px}.hero-caption{font-size:22px;right:0;top:10%}.hero-bottom{height:37px;padding:0 18px;font-size:7px;letter-spacing:1px}.section-pad{padding:66px 20px}.section-heading,.gallery-heading{display:block}.section-heading p,.gallery-heading p{margin-top:20px}.section-heading h2,.gallery-heading h2{font-size:51px}.menu-showcase{grid-template-columns:1fr;gap:20px}.menu-card{border-radius:150px 150px 14px 14px;max-width:430px;width:100%;margin:0 auto!important}.menu-image{height:360px}.menu-card:nth-child(2){margin-top:0}.menu-card:nth-child(3){margin-top:0}.menu-footnote{font-size:23px;gap:12px;margin-top:36px}.story-section{grid-template-columns:1fr;gap:36px;padding-top:62px;padding-bottom:65px}.story-photo{height:390px;width:100%;border-radius:10px 120px 10px 10px}.story-copy h2{font-size:48px}.story-scribble{margin-top:25px}.gallery-heading{margin-bottom:28px}.gallery-card{flex-basis:82vw;height:350px}.gallery-controls{gap:11px}.gallery-note{font-size:7px;letter-spacing:1px}.location-section{grid-template-columns:1fr;gap:15px}.location-copy h2{font-size:50px}.location-art{min-height:320px}.cake-3d-stage{transform:scale(.83);margin:-15px 0}.contact-section{grid-template-columns:1fr;gap:40px}.contact-card{padding:0 19px 20px}.contact-card h2{font-size:49px}.contact-side{height:330px;margin:0 10px}.footer-main{flex-wrap:wrap;gap:13px}.footer-main>img{width:56px;height:56px}.footer-message{flex:1}.footer-message span{font-size:19px}.footer-social{margin-left:0}.footer-wa{margin-left:auto}.footer-bottom{font-size:8px}.whatsapp-float{right:13px;bottom:13px;padding:11px 14px;font-size:10px}.lightbox{padding:55px 12px}.lightbox figure{max-width:100%;width:100%}.lightbox figure img{max-height:70vh}.lb-prev{left:0}.lb-next{right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.petal-canvas,.ruby-cursor{display:none}.js-reveal{opacity:1;transform:none}.cake-3d{transition:none}}
@media(hover:hover) and (pointer:fine){body{cursor:none}a,button,.gallery-card,.cake-3d-stage{cursor:none}.ruby-cursor{opacity:1}}

.hero-video.vertical{width:142px;height:205px;right:2%;bottom:22px}
.hero-video.vertical iframe{object-fit:cover}
.video-close{position:absolute;right:4px;top:4px;border:0;border-radius:50%;width:25px;height:25px;background:rgba(53,19,38,.82);color:white;font-size:18px;line-height:1;cursor:pointer}
.contact-phone{display:inline-block;margin-top:15px;color:#ffe4ed;font-size:11px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}
.gallery-card img{object-fit:contain;background:linear-gradient(145deg,#f8dfe6,#fff8f5)}
@media(max-width:600px){.hero-video.vertical{width:110px;height:158px;right:0;bottom:16px}}

.hero h1{white-space:pre-line}
.hero-video .video-external{position:absolute;left:6px;right:6px;bottom:5px;text-align:center;background:rgba(53,19,38,.84);color:white;text-decoration:none;padding:5px 3px;font-size:8px;font-weight:700;border-radius:20px}
.hero-video.vertical .video-external{bottom:7px}
.footer-social.social-outline a{background:transparent;border:1px solid var(--champagne)}
.footer-social.social-mono a{background:transparent;border:0;color:var(--ivory)}

:root{--hero-size:clamp(54px,6.2vw,88px);--section-size:clamp(44px,5.4vw,72px);--body-size:15px;--heading-color:#351326;--body-color:#745568}
body{font-size:var(--body-size);color:var(--body-color)}
h1{font-size:var(--hero-size);color:var(--heading-color)}
h2{font-size:var(--section-size);color:var(--heading-color)}

.contact-meta{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:10px;color:#ffe4ed}
.contact-meta a{width:max-content;max-width:100%;color:#ffe4ed;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
