:root{--purple:#2c083d;--purple-2:#55126f;--plum:#7c2b8d;--gold:#e7bd51;--cream:#fffaf2;--white:#fff;--ink:#241629;--muted:#746a77;--line:#eadfeb;--green:#28a745;--shadow:0 24px 70px rgba(38,8,52,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}body.no-scroll{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.skip{position:fixed;left:12px;top:-60px;z-index:999;background:white;padding:10px}.skip:focus{top:12px}
.header{position:fixed;inset:0 0 auto;z-index:50;height:82px;padding:12px 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(22,4,31,.9),rgba(22,4,31,.48));backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:12px;color:white}.brand img{width:55px;height:55px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font-family:"Playfair Display",serif;font-size:1.22rem}.brand small{color:var(--gold);letter-spacing:.08em}.nav{display:flex;align-items:center;gap:26px;color:white}.nav>a:not(.pill){opacity:.82}.nav>a:hover{opacity:1}.pill{padding:10px 18px;border-radius:999px;font-weight:700}.pill-gold{background:var(--gold);color:var(--purple)}.menu-button{display:none;color:white;border:1px solid rgba(255,255,255,.3);background:transparent;border-radius:999px;padding:8px 13px}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:130px 7vw 90px;color:white;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,3,24,.95) 0%,rgba(28,5,39,.75) 46%,rgba(28,5,39,.24) 78%),linear-gradient(0deg,rgba(16,3,23,.35),transparent 40%)}.hero-content{position:relative;z-index:2;max-width:840px}.kicker{display:inline-block;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.kicker.purple{color:var(--purple-2)}.kicker.gold{color:var(--gold)}h1,h2{font-family:"Playfair Display",serif;line-height:1.03;margin:12px 0 22px}h1{font-size:clamp(3.3rem,7.4vw,7.6rem);letter-spacing:-.045em}h2{font-size:clamp(2.35rem,4.7vw,4.8rem);letter-spacing:-.035em}.hero-content>p{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:650px;color:rgba(255,255,255,.82)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{border:0;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;border-radius:999px;font-weight:700;transition:.25s transform,.25s box-shadow}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:var(--purple);box-shadow:0 14px 35px rgba(231,189,81,.24)}.button.ifood{background:#ea1d2c;color:white}.button.ghost{border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.04);color:white}.button.light{background:white;color:var(--purple)}.button.outline-dark{border:1px solid var(--purple);color:var(--purple);background:transparent}.open-card{position:absolute;z-index:3;right:5vw;bottom:7vw;display:flex;align-items:center;gap:13px;padding:14px 18px;border:1px solid rgba(255,255,255,.23);border-radius:18px;background:rgba(32,7,44,.68);backdrop-filter:blur(12px)}.open-card>span{width:11px;height:11px;border-radius:50%;background:#aaa;box-shadow:0 0 0 6px rgba(255,255,255,.08)}.open-card>span.open{background:#56db70}.open-card>span.closed{background:#ff6b6b}.open-card div{display:flex;flex-direction:column}.open-card small{color:rgba(255,255,255,.66)}.scroll-cue{position:absolute;z-index:3;left:50%;bottom:24px;font-size:1.8rem;color:white;animation:bounce 1.8s infinite}@keyframes bounce{50%{transform:translateY(8px)}}
.marquee{display:flex;justify-content:center;gap:22px;align-items:center;flex-wrap:wrap;padding:18px 5vw;background:var(--purple);color:white}.marquee span{font-size:.9rem;font-weight:600}.marquee i{width:5px;height:5px;background:var(--gold);border-radius:50%}.section{padding:105px 7vw}.section.compact{padding-top:15px}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.section-title p{color:var(--muted);max-width:720px;margin-left:auto;margin-right:auto}.section-title.centered{text-align:center;max-width:850px;margin:0 auto 46px}.intro-copy>p{font-size:1.16rem;color:var(--muted)}.mini-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.mini-benefits span{padding:8px 12px;border-radius:999px;background:white;border:1px solid var(--line);font-size:.86rem}
.product-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.product-stack{display:grid;grid-template-rows:1fr 1fr;gap:20px}.product-card{position:relative;min-height:330px;border-radius:30px;overflow:hidden;background:var(--purple);box-shadow:var(--shadow)}.product-card-large{min-height:680px}.product-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.product-card:hover img{transform:scale(1.035)}.card-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,3,28,.94),transparent 63%)}.card-copy{position:absolute;z-index:2;left:29px;right:29px;bottom:25px;color:white}.card-copy span{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}.card-copy h3{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,3rem);margin:5px 0}.card-copy p{margin:0;color:rgba(255,255,255,.77)}.card-copy strong{display:block;color:var(--gold);font-size:1.16rem;margin-top:8px}.text-link{display:inline-block;margin-top:10px;color:white;font-weight:700}
.menu-section{background:white}.tabs{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:34px}.tab{cursor:pointer;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:white;color:var(--purple);font-weight:700}.tab.active{background:var(--purple);color:white}.tab-panel{display:none}.tab-panel.active{display:block}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:1080px;margin:auto}.menu-item{display:flex;justify-content:space-between;gap:20px;padding:25px;border:1px solid var(--line);border-radius:22px;background:white;transition:.25s}.menu-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.menu-item.featured{background:#fffbef;border-color:#e5c66e}.menu-item h3{font-family:"Playfair Display",serif;font-size:1.45rem;margin:2px 0 7px}.menu-item p{margin:0;color:var(--muted)}.menu-item>div:first-child>span{color:var(--purple-2);font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.12em}.menu-item>div:last-child{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;white-space:nowrap}.menu-item strong{color:var(--purple);font-size:1.12rem}.menu-item a{color:var(--purple-2);font-size:.87rem;font-weight:700}.ingredients{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:1080px;margin:45px auto 0}.ingredients div{padding:22px;border-radius:20px;background:var(--cream)}.ingredients b{color:var(--purple)}.ingredients p{margin:6px 0 0;color:var(--muted)}
.events{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:var(--purple);color:white}.events-media img{width:100%;height:100%;object-fit:cover}.events-copy{padding:9vw 7vw 8vw;align-self:center}.events-copy>p{color:rgba(255,255,255,.77);font-size:1.08rem}.events-copy ul{padding:0;list-style:none;margin:28px 0}.events-copy li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid rgba(255,255,255,.1)}.events-copy li:before{content:"✦";position:absolute;left:0;color:var(--gold)}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:15px}.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:22px}.mosaic .wide{grid-column:span 2}
.reviews-section{background:#f7eff8}.review-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.quote{padding:30px;border-radius:24px;background:white;box-shadow:0 12px 35px rgba(54,17,67,.08)}.quote div{color:#ffb800;letter-spacing:.12em}.quote blockquote{font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.45;margin:20px 0}.quote span{color:var(--muted);font-size:.9rem}.review-images{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.review-thumb{padding:0;border:0;background:white;cursor:zoom-in;border-radius:18px;overflow:hidden}.review-thumb img{width:100%;height:235px;object-fit:cover;object-position:top}.promo{background:white}.promo-box{padding:60px;border-radius:32px;background:linear-gradient(135deg,#2b073c,#6a1a80);color:white;display:flex;align-items:center;justify-content:space-between;gap:35px}.promo-box p{color:rgba(255,255,255,.74)}.promo-box h2{max-width:650px}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.contact-card{padding:45px;border-radius:30px;background:white;box-shadow:var(--shadow)}.contact-card address{font-style:normal;font-size:1.15rem;color:var(--muted)}.hours{margin:28px 0}.hours div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.contact-card>p{color:var(--muted)}.map{min-height:620px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.map iframe{width:100%;height:100%;border:0}
.final-cta{padding:115px 7vw;text-align:center;background:#170420;color:white}.final-cta>div{max-width:900px;margin:auto}.final-cta img{width:108px;height:108px;object-fit:cover;border-radius:50%;border:3px solid var(--gold);margin:0 auto 25px}.centered-actions{justify-content:center}
footer{padding:45px 6vw;background:#0f0215;color:white;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:30px;align-items:start}.footer-brand{display:flex;gap:13px;align-items:center}.footer-brand img{width:54px;height:54px;object-fit:cover;border-radius:50%}.footer-brand div{display:flex;flex-direction:column}.footer-brand span,footer small{color:rgba(255,255,255,.58)}.footer-links,.footer-social{display:flex;flex-direction:column;gap:8px}footer a{color:rgba(255,255,255,.72)}footer a:hover{color:var(--gold)}.floating-wa{position:fixed;right:18px;bottom:18px;z-index:45;background:#25d366;color:white;font-weight:700;padding:14px 19px;border-radius:999px;box-shadow:0 15px 35px rgba(0,0,0,.22)}
dialog{border:0;border-radius:26px;padding:0;max-width:min(760px,92vw);box-shadow:0 30px 100px rgba(0,0,0,.38)}dialog::backdrop{background:rgba(18,3,25,.75);backdrop-filter:blur(5px)}.quote-form{position:relative;padding:38px;background:white}.quote-form h2{font-size:2.6rem}.quote-form>p{color:var(--muted)}.close-dialog,.close-image{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:2rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.full-button{width:100%;margin-top:20px}#image-dialog{background:transparent;max-width:min(900px,94vw)}#image-dialog img{max-height:88vh;border-radius:18px}.close-image{color:white;z-index:3;background:rgba(0,0,0,.55);width:42px;height:42px;border-radius:50%;line-height:1}
.reveal{opacity:0;transform:translateY(24px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:960px){.menu-button{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:flex-start;padding:26px 6vw;background:var(--purple)}.nav.open{display:flex}.intro,.product-showcase,.events,.contact{grid-template-columns:1fr}.product-card-large{min-height:560px}.product-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.events-media{height:580px}.review-quotes{grid-template-columns:1fr}.promo-box{align-items:flex-start;flex-direction:column}.map{min-height:480px}footer{grid-template-columns:1fr 1fr}.open-card{right:4vw}.mosaic{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.brand span{display:none}.section{padding:78px 5vw}.hero{padding:120px 5vw 100px;align-items:flex-end}.hero-shade{background:linear-gradient(0deg,rgba(17,3,24,.96) 0%,rgba(28,5,39,.55) 72%,rgba(28,5,39,.2))}.hero-content{padding-bottom:100px}.actions{flex-direction:column}.button{width:100%}.open-card{left:5vw;right:auto;bottom:44px}.scroll-cue{display:none}.product-stack{grid-template-columns:1fr}.product-card,.product-card-large{min-height:440px}.menu-grid,.ingredients{grid-template-columns:1fr}.menu-item{flex-direction:column}.menu-item>div:last-child{align-items:flex-start;gap:8px}.events-media{height:430px}.mosaic{grid-template-columns:1fr;grid-auto-rows:300px}.mosaic .wide{grid-column:auto}.review-images{grid-template-columns:1fr}.review-thumb img{height:300px}.promo-box{padding:35px 25px}.contact-card{padding:30px 24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}footer{grid-template-columns:1fr}.marquee i{display:none}.marquee{gap:12px}.marquee span{padding:4px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue{animation:none}.product-card img{transition:none}}
