@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--red:#C82135;--dark:#3D2428;--cream:#FFF5ED;--pink:#F4C5CD;--pistachio:#B7C68A;--cocoa:#5B392F;--bg:#FFF8F3;--white:#fff;--display:'Manrope',sans-serif;--body:'DM Sans',sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--dark);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.atmosphere{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;background:radial-gradient(ellipse at 90% 8%,rgba(244,197,205,.28),transparent 34%),radial-gradient(ellipse at 5% 75%,rgba(183,198,138,.18),transparent 35%)}#sugarDust{width:100%;height:100%;display:block}.glow-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.18}.orb-a{width:280px;height:280px;background:#ed8b9a;right:-140px;top:26%}.orb-b{width:240px;height:240px;background:#b7c68a;left:-130px;bottom:12%}
.header,main,.footer{position:relative;z-index:1}.header{height:82px;padding:0 clamp(18px,6vw,90px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,248,243,.91);backdrop-filter:blur(15px);border-bottom:1px solid #eadbd3;position:sticky;top:0;z-index:30}.brand img{width:140px;height:62px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:clamp(18px,3vw,40px);font-size:12px;font-weight:800;color:#65464a}.nav a{transition:color .2s}.nav a:hover{color:var(--red)}.nav-social{background:var(--red);color:white!important;padding:12px 17px;border-radius:30px}.nav-toggle{display:none;background:none;border:0;font-size:27px;color:var(--dark)}
.hero{max-width:1600px;margin:auto;min-height:660px;padding:70px clamp(20px,7vw,110px) 80px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:35px;overflow:hidden}.hero-copy{position:relative;z-index:4}.eyebrow{font-family:var(--display);font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--red);margin:0 0 17px;text-transform:uppercase}.eyebrow-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pistachio);margin-right:9px;box-shadow:0 0 0 5px #b7c68a33}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(54px,7vw,96px);line-height:.98;letter-spacing:-.065em;margin:20px 0 24px;max-width:660px;color:var(--dark)}.hero h1 em,.section-heading h2 em,.intro h2 em,.video-head h2 em,.locations-intro h2 em,.social-section h2 em{font-family:var(--serif);font-weight:600;color:var(--red);letter-spacing:-.04em}.hero-sub{font-size:15px;line-height:1.8;color:#765e5c;max-width:430px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:27px;padding:16px 22px;background:var(--red);color:#fff;border-radius:4px;font-family:var(--display);font-size:12px;letter-spacing:.1em;font-weight:800;box-shadow:0 12px 24px #c8213529;transition:transform .25s,box-shadow .25s}.btn-primary:hover{transform:translateY(-4px);box-shadow:0 18px 30px #c8213540}.btn-primary span{font-size:17px}.btn-text{font-size:12px;font-weight:800;color:#74595a}.btn-text span{color:var(--red);padding-left:7px}.hero-signature{display:flex;align-items:center;gap:11px;margin-top:54px;color:#9a7775;font-size:9px;font-weight:800;letter-spacing:.18em}.signature-line{width:34px;height:1px;background:var(--red)}
.hero-visual{height:535px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center}.hero-photo-frame{position:absolute;z-index:1;right:2%;top:3%;width:67%;height:88%;border-radius:48% 48% 12px 12px;overflow:hidden;box-shadow:0 30px 70px #5b392f2c;transform:rotate(3deg);border:10px solid #fff}.hero-photo-frame:after{content:"";position:absolute;inset:0;border:1px solid #fff8;border-radius:inherit;pointer-events:none}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-video-link{position:absolute;z-index:4;left:0;bottom:5%;display:flex;align-items:center;gap:11px;background:#fff;padding:13px 17px;border-radius:40px;box-shadow:0 12px 28px #3d24281a;font-size:9px;letter-spacing:.1em;font-weight:800;color:#74595a}.hero-video-link a{color:var(--red);font-size:10px}.play-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:white;font-size:10px;padding-left:2px}.visual-stamp{position:absolute;z-index:5;right:0;top:4%;border:1px solid var(--red);color:var(--red);width:88px;height:88px;border-radius:50%;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:11px;line-height:1.15;transform:rotate(13deg);background:#fff8f1e8}.visual-stamp b{font-size:12px}
.cake-3d{position:absolute;z-index:3;left:1%;bottom:6%;width:240px;height:185px;transform-style:preserve-3d;transform:perspective(650px) rotateX(54deg) rotateZ(-16deg);cursor:grab;transition:filter .25s;filter:drop-shadow(0 22px 18px #4b2b2a44)}.cake-3d:active{cursor:grabbing}.cake-shadow{position:absolute;left:5%;top:22%;width:90%;height:70%;background:#472c2c;border-radius:50%;transform:translateZ(-30px) translateY(27px);filter:blur(8px)}.cake-side{position:absolute;left:6%;top:19%;width:88%;height:70%;border-radius:50%;background:linear-gradient(90deg,#b77a56,#f2d0aa 22%,#e7b88e 65%,#9e634b);transform:translateZ(-26px);box-shadow:inset 0 -12px 0 #a35e47,inset 0 10px 0 #fff2d9}.cake-top{position:absolute;left:4%;top:0;width:92%;height:80%;border-radius:50%;background:radial-gradient(ellipse at 40% 32%,#fff5dc,#f4d6b4 58%,#d49b75);border:7px solid #fff4df;box-shadow:inset 0 0 0 3px #e9b68f,0 6px 10px #70443b44;transform:translateZ(2px)}.cake-frosting{position:absolute;left:8%;top:5%;width:84%;height:68%;border-radius:50%;border:9px dotted #fff8e9;transform:translateZ(8px);filter:drop-shadow(0 2px 1px #bc8a6c)}.cake-topping{position:absolute;left:25%;top:18%;width:50%;height:38%;border-radius:50%;background:radial-gradient(circle at 25% 30%,#a6b16f 0 6%,transparent 7%),radial-gradient(circle at 60% 60%,#a6b16f 0 7%,transparent 8%),radial-gradient(circle at 72% 28%,#7e8c4f 0 6%,transparent 7%),radial-gradient(ellipse,#8a624e,#6b4339);transform:translateZ(12px)}.cake-berry{position:absolute;z-index:2;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f0b0bd,#a91f39 70%);transform:translateZ(16px);box-shadow:0 3px 4px #6a2735}.berry1{left:37%;top:24%}.berry2{left:56%;top:39%;width:12px;height:12px}.berry3{left:48%;top:18%;width:11px;height:11px}
.intro{max-width:none;padding:95px max(20px,calc((100vw - 1380px)/2));background:#f4e4df;display:grid;grid-template-columns:1fr 1fr 125px;align-items:center;gap:55px;position:relative;overflow:hidden}.intro:after{content:"";position:absolute;right:-100px;top:-180px;width:460px;height:460px;border:1px solid #c8213522;border-radius:50%;box-shadow:0 0 0 35px #c8213507,0 0 0 70px #c8213505;pointer-events:none}.intro-image{height:370px;border-radius:48% 48% 8px 8px;overflow:hidden;box-shadow:0 22px 40px #5b392f24;transform:rotate(-2deg);border:9px solid #fff}.intro-image img{width:100%;height:100%;object-fit:cover}.intro-copy{position:relative;z-index:1}.intro h2,.section-heading h2,.video-head h2,.locations-intro h2,.social-section h2{font-family:var(--display);font-size:clamp(40px,4.7vw,64px);line-height:1.04;letter-spacing:-.055em;margin:0 0 19px}.intro-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#795e5a;max-width:460px}.under-link{display:inline-block;margin-top:17px;padding-bottom:7px;border-bottom:1px solid var(--red);font-size:11px;font-weight:800;color:var(--red)}.under-link span{margin-left:13px}.intro-mark{width:116px;height:116px;border:1px solid var(--red);border-radius:50%;display:grid;align-content:center;text-align:center;color:var(--red);font-family:var(--serif);font-size:20px;line-height:1;transform:rotate(9deg);position:relative;z-index:1}.intro-mark b{font-family:var(--display);font-size:17px}.intro-mark small{font:700 7px var(--body);letter-spacing:.12em;margin-top:5px}
.menu-section{padding:105px clamp(20px,7vw,110px);max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.section-heading h2{margin:0;font-size:clamp(48px,5.8vw,76px)}.section-heading>p{font-size:11px;line-height:1.7;color:#977a75;text-align:right}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.menu-card{background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 18px 44px #563e3512;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;transform-style:preserve-3d}.menu-card:hover{transform:translateY(-7px) rotateX(1deg) rotateY(-1deg);box-shadow:0 25px 48px #563e3524}.menu-card-image{height:350px;min-height:240px;padding:12px;background:#f6e8e2;display:flex;align-items:center;justify-content:center;overflow:hidden}.menu-card-image img{width:100%;height:100%;max-height:420px;object-fit:contain}.menu-card-copy{padding:17px 22px 21px;display:flex;flex-direction:column;justify-content:center}.menu-card-copy .category{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:var(--red);font-weight:800}.menu-card-copy h3{font-family:var(--display);font-size:clamp(22px,2.2vw,31px);line-height:1.12;margin:10px 0;color:var(--dark)}.menu-card-copy p{font-size:11px;line-height:1.7;color:#8d7771}.menu-price{font-family:var(--serif);font-size:31px;color:var(--red);font-weight:700;margin-top:13px}
.video-section{padding:85px clamp(20px,7vw,110px);background:var(--dark);color:var(--cream);display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:30px;position:relative;overflow:hidden}.video-section:before{content:"";position:absolute;left:-150px;bottom:-240px;width:500px;height:500px;border:1px solid #fff2;border-radius:50%;box-shadow:0 0 0 35px #ffffff07,0 0 0 70px #ffffff05}.video-head{position:relative;z-index:1}.video-head .eyebrow{color:var(--pink)}.video-head h2{font-size:clamp(42px,5vw,66px);margin:0}.video-head h2 em{color:var(--pink)}.video-frame{position:relative;z-index:1;aspect-ratio:16/9;background:#1e1517;border:8px solid #fff2;border-radius:8px;overflow:hidden;box-shadow:0 25px 55px #10090a66}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-external{grid-column:2;justify-self:end;color:var(--pink);font-size:11px;font-weight:700;border-bottom:1px solid #f4c5cd88;padding-bottom:5px}
.gallery-section{padding:105px clamp(20px,7vw,110px);max-width:1600px;margin:auto;overflow:hidden}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:43px;height:43px;border:1px solid #d9c4be;border-radius:50%;background:#fff;color:var(--red);font-size:20px;cursor:pointer;transition:background .2s,color .2s}.gallery-controls button:hover{background:var(--red);color:#fff}.gallery-track-wrap{overflow:visible;perspective:1200px}.gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 3px 22px;transform-style:preserve-3d}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 min(31%,380px);scroll-snap-align:center;background:#fff;border-radius:8px;padding:10px;box-shadow:0 16px 36px #4d2d2d18;transition:transform .35s,box-shadow .35s;transform-style:preserve-3d;cursor:pointer;border:0;text-align:left}.gallery-card:hover{transform:translateY(-9px) rotateY(-4deg) scale(1.015);box-shadow:0 25px 44px #4d2d2d28}.gallery-card img{width:100%;height:340px;object-fit:contain;background:#f5e7e2;border-radius:5px}.gallery-card span{display:block;padding:12px 5px 5px;font-family:var(--display);font-size:14px;font-weight:800;color:var(--dark)}.gallery-hint{text-align:center;color:#a18a83;font-size:10px;letter-spacing:.1em;margin-top:10px}
.locations-section{padding:100px clamp(20px,7vw,110px);background:#f1e0d8;display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;position:relative;overflow:hidden}.locations-intro{position:relative}.locations-intro h2{font-size:clamp(42px,5vw,65px)}.locations-intro>p:not(.eyebrow){font-size:13px;color:#806763;line-height:1.7}.locations-logo{width:110px;height:110px;object-fit:contain;border-radius:50%;margin-top:30px;mix-blend-mode:multiply}.locations-list{display:grid;gap:16px}.location-card{background:#fff;border-radius:8px;padding:24px 26px;display:grid;grid-template-columns:42px 1fr;gap:17px;box-shadow:0 12px 28px #563e3510}.location-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-family:var(--serif);font-size:17px}.location-card h3{font-family:var(--display);font-size:24px;margin:0 0 8px}.location-card p{font-size:12px;line-height:1.7;color:#806763;margin:6px 0}.location-card .hours{color:#584044;font-weight:600}.location-card a{display:inline-block;margin-top:8px;color:var(--red);font-size:11px;font-weight:800;border-bottom:1px solid #c8213566;padding-bottom:3px}
.social-section{padding:80px clamp(20px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1600px;margin:auto}.social-section h2{font-size:clamp(38px,4.5vw,58px);margin:0}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:11px;padding:14px 19px;border-radius:50px;border:1px solid #e7d4ce;background:#fff;color:#62474a;font-size:12px;font-weight:800;transition:transform .2s,border-color .2s}.social-link:hover{transform:translateY(-3px);border-color:var(--red)}.social-glyph{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-size:13px}
.promos-section{padding:90px clamp(20px,7vw,110px);background:#fff2ed}.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.promo-card{background:white;border-radius:9px;padding:14px;display:grid;grid-template-columns:.8fr 1fr;gap:20px}.promo-card img{width:100%;height:220px;object-fit:contain;background:#f8e9e5}.promo-card h3{font-family:var(--display);font-size:24px;color:var(--red)}.promo-card p{font-size:12px;line-height:1.7;color:#765e5c}
.footer{background:var(--dark);color:#f9e9e4;padding:27px clamp(18px,6vw,90px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:18px;font-weight:800}.footer-brand img{width:43px;height:43px;object-fit:cover;border-radius:50%}.footer-brand small{display:block;font-family:var(--body);font-size:8px;letter-spacing:.13em;color:#e9b8bd;margin-top:4px}.footer-links{display:flex;gap:10px}.social-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-weight:800}.social-icon.outline{background:transparent;border:1px solid #f4c5cd;color:#f4c5cd}.social-icon.mono{background:transparent;color:#fff;border:1px solid #ffffff55}.social-icon img{width:17px;height:17px;object-fit:contain}.back-plaza{font-size:10px;font-weight:800;color:var(--pink)}.footer>small{font-size:8px;letter-spacing:.14em;color:#c5aeb0}
.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(31,17,20,.96);align-items:center;justify-content:center;padding:55px 70px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(88vw,1100px);max-height:88vh;text-align:center}.lightbox img{display:block;max-width:100%;max-height:78vh;object-fit:contain;margin:auto}.lightbox figcaption{font-size:13px;color:#fcebe7;margin-top:13px}.lightbox button{position:absolute;border:0;border-radius:50%;width:44px;height:44px;background:#ffffff20;color:white;font-size:30px;cursor:pointer}.lb-close{top:20px;right:24px}.lb-prev{left:24px;top:50%}.lb-next{right:24px;top:50%}
.js-reveal{opacity:1;transform:none}.js-reveal.revealed{animation:rise .7s both}@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.sugar-cursor{position:fixed;left:0;top:0;z-index:200;pointer-events:none;color:var(--red);font-size:20px;line-height:1;text-shadow:0 1px 5px #fff;will-change:transform;transition:font-size .15s,color .15s}.sugar-cursor.active{font-size:28px;color:#a8b77b}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:15px}.hero-visual{height:430px}.cake-3d{width:185px;height:145px}.intro{grid-template-columns:.9fr 1fr;gap:30px}.intro-mark{display:none}.menu-card{display:flex;flex-direction:column}.menu-card-image{height:300px;min-height:240px}.menu-card-copy{padding:22px}.locations-section{gap:30px}.gallery-card{flex-basis:42%}}
@media(max-width:650px){.header{height:70px;padding:0 17px}.brand img{width:116px;height:55px}.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;padding:17px 22px 24px;background:#fff8f3;flex-direction:column;align-items:stretch;gap:8px;border-bottom:1px solid #eadbd3}.nav.open{display:flex}.nav a{padding:11px}.nav-social{text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:45px 19px 52px;min-height:auto}.hero h1{font-size:clamp(52px,14vw,72px);max-width:100%;margin:16px 0}.hero-sub{font-size:13px}.hero-signature{margin-top:30px}.hero-visual{height:390px;margin-top:15px}.hero-photo-frame{right:4%;top:2%;width:74%;height:90%;border-width:7px}.cake-3d{left:-1%;bottom:1%;width:170px;height:132px}.visual-stamp{right:1%;top:2%;width:70px;height:70px;font-size:9px}.hero-video-link{left:0;bottom:1%;padding:10px 12px;font-size:8px;gap:7px}.hero-video-link a{font-size:9px}.intro{grid-template-columns:1fr;padding:58px 19px;gap:27px}.intro-image{height:280px;max-width:420px;width:90%;margin:auto}.intro h2{font-size:43px}.intro-copy>p:not(.eyebrow){font-size:13px}.menu-section{padding:68px 19px}.section-heading{align-items:start;gap:12px}.section-heading h2{font-size:51px}.section-heading>p{font-size:10px}.menu-grid{grid-template-columns:1fr;gap:19px}.menu-card{display:flex;flex-direction:column}.menu-card-image{height:250px;min-height:180px;padding:12px}.menu-card-image img{max-height:330px}.menu-card-copy{padding:20px 22px 24px}.menu-card-copy h3{font-size:29px}.menu-price{font-size:28px}.video-section{padding:60px 19px;grid-template-columns:1fr;gap:22px}.video-head h2{font-size:50px}.video-frame{border-width:5px}.video-external{grid-column:1}.gallery-section{padding:68px 19px}.gallery-card{flex:0 0 82%;}.gallery-card img{height:320px}.gallery-controls button{width:37px;height:37px}.gallery-hint{font-size:9px}.locations-section{padding:65px 19px;grid-template-columns:1fr;gap:25px}.locations-intro h2{font-size:50px}.locations-logo{display:none}.location-card{padding:20px 17px;grid-template-columns:34px 1fr;gap:12px}.location-number{width:34px;height:34px}.location-card h3{font-size:22px}.location-card p{font-size:11px}.social-section{padding:60px 19px;display:block}.social-section h2{font-size:46px}.social-links{margin-top:24px}.social-link{font-size:11px;padding:10px 14px}.promo-grid{grid-template-columns:1fr}.promo-card{grid-template-columns:1fr}.footer{justify-content:center;text-align:center;padding:25px 18px}.footer-brand{width:100%;justify-content:center}.footer-links{justify-content:center}.footer>small{width:100%}.lightbox{padding:50px 10px}.lb-prev{left:6px}.lb-next{right:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.atmosphere{display:none}.sugar-cursor{display:none}}
[hidden]{display:none!important}
html[data-display="serif"]{--display:'Playfair Display',Georgia,serif}html[data-display="sans"]{--display:'DM Sans',Arial,sans-serif}html[data-body="serif"]{--body:Georgia,serif}html[data-scale="compact"]{font-size:93%}html[data-scale="large"]{font-size:108%}
