@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&display=swap');
:root{--gold:#d9b65d;--gold2:#f5d98a;--cream:#f7f2e5;--muted:#aab9aa;--green:#2ac66b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(ellipse at 50% 0,#173b27,#07180e 40%,#030906 100%);color:var(--cream);font-family:'DM Sans',sans-serif}button,input{font:inherit}.ambient{position:fixed;z-index:-1;width:360px;height:360px;border-radius:50%;filter:blur(95px);opacity:.13;pointer-events:none;animation:ambient 18s ease-in-out infinite alternate}.a1{background:#1dbd62;top:10%;left:-220px}.a2{background:#d9b65d;right:-230px;top:55%;animation-delay:-8s}
.welcome-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#143b25,#06140b 58%,#020604);padding:22px;overflow:hidden}.welcome-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,#d9b65d08 48%,transparent 70%);animation:sweep 8s ease-in-out infinite}.welcome-card{position:relative;width:min(420px,100%);padding:35px 27px 28px;text-align:center;border:1px solid #d9b65d55;border-radius:30px;background:linear-gradient(145deg,#143722ed,#06140df2);box-shadow:0 35px 90px #000b,inset 0 1px #ffffff20;backdrop-filter:blur(20px);animation:float 6s ease-in-out infinite}.brand-mark{font-size:43px;color:var(--gold)}.brand{font:600 43px 'Playfair Display';color:#f9f3df}.brand span{color:#81c86b}.sub{font-size:9px;letter-spacing:4px;color:#d9d4bd}.welcome-card p{font:italic 23px 'Playfair Display';margin:25px 0 7px}.tagline{font-size:10px;color:var(--gold);letter-spacing:2px;margin-bottom:20px}.welcome-card form{display:grid;gap:11px}.welcome-card input{padding:15px 17px;border-radius:14px;border:1px solid #d9b65d50;background:#ffffff08;color:#fff;outline:0}.welcome-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d9b65d15}.welcome-card button{padding:16px;border:1px solid #8fdb88;border-radius:15px;background:linear-gradient(100deg,#087a3c,#21b75e);color:white;font-weight:700;letter-spacing:.6px;box-shadow:0 9px 28px #00883d35;transition:.25s}.welcome-card button:hover{transform:translateY(-3px);box-shadow:0 14px 34px #00883d55}.welcome-card button span{margin-left:12px}.welcome-card small{display:block;color:#91a194;margin-top:15px;font-size:10px}.welcome-leaf{position:absolute;color:#5eae5b30;font-size:130px;animation:leaf 9s ease-in-out infinite}.leaf-a{top:8%;left:7%}
.hero{position:relative;isolation:isolate;min-height:560px;padding:24px 22px 18px;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#1b492c,#0b2516 34%,#041009 75%)}.hero:before{content:"";position:absolute;inset:-5%;z-index:-2;background:radial-gradient(ellipse at 50% 55%,#1e5935aa,transparent 58%),linear-gradient(140deg,#06130b,#0b2818 50%,#030906);transform:translate3d(var(--px,0),var(--py,0),0) scale(1.08);transition:transform .2s}.hero-top{max-width:1150px;margin:auto;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.mini-brand{font:600 23px 'Playfair Display'}.mini-brand span{color:var(--gold);font-size:29px;vertical-align:middle}.lang{background:#ffffff08;color:#fff;border:1px solid #ffffff25;border-radius:30px;padding:9px 14px}.lang span{color:var(--gold)}.hero-copy{position:relative;z-index:2;max-width:720px;margin:105px auto 65px;text-align:center;transform:translate3d(var(--textx,0),var(--texty,0),0);transition:transform .2s}.eyebrow{letter-spacing:3px;font-size:10px;color:var(--gold);font-weight:700}.hero-copy h1{font:500 clamp(52px,12vw,94px) 'Playfair Display';line-height:.97;letter-spacing:-2px;margin:20px 0}.hero-copy h1 em{font-weight:500;color:var(--gold2);text-shadow:0 8px 45px #d9b65d25}.hero-copy p{color:#c1cfbf;font-size:14px}.scroll-cue{display:inline-flex;align-items:center;gap:15px;margin-top:30px;padding:13px 20px;border:1px solid #d9b65d55;border-radius:40px;text-decoration:none;font-size:10px;letter-spacing:1.6px;color:var(--gold2);background:#07180d77;transition:.3s}.scroll-cue:hover{background:#d9b65d;color:#07130b;transform:translateY(-3px)}.scroll-cue b{font-size:18px;animation:bob 1.8s infinite}.orbit{position:absolute;border:1px solid #d9b65d17;border-radius:50%;left:50%;top:52%;transform:translate(-50%,-50%);pointer-events:none}.orbit-one{width:min(78vw,700px);height:min(78vw,700px);animation:orbit 42s linear infinite}.orbit-two{width:min(60vw,520px);height:min(60vw,520px);border-style:dashed;animation:orbit 58s linear infinite reverse}.floating{position:absolute;color:#8bc778;font-size:65px;opacity:.45;text-shadow:0 0 35px #4d9b4d55;pointer-events:none;animation:leaf 8s ease-in-out infinite}.fl1{top:23%;left:10%}.fl2{top:37%;right:12%;font-size:40px;color:var(--gold);animation-delay:-2s}.fl3{bottom:15%;right:18%;font-size:54px;animation-delay:-5s}.hero-bottom{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#7f9a83;font-size:9px;letter-spacing:2px}.hero-bottom i{color:var(--gold);padding:0 10px;font-style:normal}
main{max-width:1180px;margin:auto;padding:20px 20px 85px}.section-heading{text-align:center;padding:44px 0 25px}.section-heading h2{font:500 clamp(34px,7vw,55px) 'Playfair Display';margin:13px 0}.section-heading h2 em{color:var(--gold2)}.section-heading p{font-size:13px;color:var(--muted)}.search-wrap{display:flex;align-items:center;gap:10px;margin:15px auto 20px;max-width:660px;padding:0 20px;border:1px solid #ffffff1b;border-radius:17px;background:#0c2518d9;box-shadow:0 18px 40px #0004}.search-wrap span{font-size:26px;color:var(--gold)}.search-wrap input{width:100%;padding:17px 0;border:0;background:transparent;color:#fff;outline:0}.categories{display:flex;gap:9px;overflow:auto;padding:9px 0 26px;scrollbar-width:none}.cat{white-space:nowrap;border:1px solid #ffffff1c;background:#ffffff06;color:#c5d0c4;border-radius:30px;padding:11px 17px;font-size:12px;transition:.25s}.cat.active{background:linear-gradient(120deg,#d9b65d,#f4d98b);color:#07130b;border-color:transparent;font-weight:700;box-shadow:0 6px 20px #d9b65d20}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:19px;perspective:1000px}.food-card{background:linear-gradient(145deg,#102b1b,#07150d);border:1px solid #ffffff13;border-radius:23px;overflow:hidden;cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;box-shadow:0 18px 45px #0004;transform-style:preserve-3d;will-change:transform}.food-card:hover{border-color:#d9b65d70;box-shadow:0 26px 55px #0008;transform:translateY(-7px) rotateX(1deg)}.food-image{height:205px;background:radial-gradient(circle at 50% 35%,#285337,#0a1c11);position:relative;overflow:hidden}.food-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#07140c8c);pointer-events:none}.food-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .5s}.food-card:hover .food-image img{transform:scale(1.08);filter:saturate(1.08)}.placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#d9b65d70;gap:5px}.placeholder span{font-size:42px}.placeholder b{font:500 17px 'Playfair Display'}.badge{position:absolute;top:13px;left:13px;z-index:2;background:#d9b65d;color:#07130b;padding:7px 10px;border-radius:30px;font-size:9px}.veg-chip{position:absolute;bottom:12px;right:12px;z-index:2;border:1px solid #ffffff55;background:#07150dbb;border-radius:20px;padding:6px 9px;font-size:8px;letter-spacing:.8px}.veg-chip i,.veg-dot{color:#31c56a}.food-info{padding:17px 18px 16px}.food-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.food-title h3{font:600 22px 'Playfair Display';margin:0}.veg-dot{font-size:11px}.food-info p{color:#9cac9d;font-size:12px;line-height:1.55;min-height:38px;margin:10px 0 15px}.food-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff10;padding-top:13px}.food-foot strong{font-size:20px;color:var(--gold2)}.food-foot span{font-size:8px;letter-spacing:1px;color:#88ae88}.empty-state{text-align:center;padding:50px;color:var(--muted)}footer{text-align:center;border-top:1px solid #ffffff12;padding:35px 15px 45px;background:#02080555}.footer-mark{font-size:34px;color:var(--gold)}.footer-brand{font:500 30px 'Playfair Display'}.footer-brand+p{font-size:9px;letter-spacing:3px;color:var(--gold)}footer small{color:#829483}.modal{display:none;position:fixed;inset:0;background:#000c;backdrop-filter:blur(12px);z-index:60;padding:18px;place-items:center}.modal.open{display:grid;animation:fade .25s}.modal-card{max-width:560px;width:100%;max-height:90vh;overflow:auto;background:linear-gradient(145deg,#102b1b,#06130b);border:1px solid #d9b65d55;border-radius:28px;position:relative;box-shadow:0 35px 100px #000;animation:modalIn .4s}.close{position:absolute;right:13px;top:13px;z-index:3;width:39px;height:39px;border:1px solid #ffffff35;border-radius:50%;background:#031008b8;color:#fff;font-size:25px}.modal-card img{width:100%;max-height:330px;object-fit:cover}.modal-body{padding:25px}.modal-body h2{font:500 37px 'Playfair Display';margin:7px 0}.modal-body p{color:#aab9aa;line-height:1.7}.modal-body .price{font-size:27px;color:var(--gold2);font-weight:700}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes leaf{0%,100%{translate:0 0;rotate:0}50%{translate:10px -22px;rotate:8deg}}@keyframes ambient{to{transform:translate(90px,70px) scale(1.15)}}@keyframes sweep{0%,100%{transform:translateX(-60%)}50%{transform:translateX(60%)}}@keyframes orbit{to{rotate:360deg}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:700px){.hero{min-height:650px}.hero-copy{margin-top:130px}.food-image{height:220px}}@media(max-width:480px){.hero{min-height:520px}.hero-copy{margin-top:95px}.hero-copy h1{letter-spacing:-1px}.hero-bottom{font-size:7px;letter-spacing:1px}.food-image{height:190px}.section-heading{padding-top:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* WebGL thali stage: real Three.js canvas behind the hero typography */
.hero #foodScene{position:absolute;z-index:0;right:max(-3%,calc((100vw - 1380px)/2));top:90px;width:min(58vw,760px);height:490px;pointer-events:none;opacity:.96;filter:drop-shadow(0 28px 42px #0008);mask-image:radial-gradient(ellipse at center,#000 38%,#000b 62%,transparent 78%)}
.hero .hero-top,.hero .hero-copy,.hero .hero-bottom{z-index:3}
.hero .scene-vignette{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#06130b 0%,#06130bda 29%,transparent 67%),linear-gradient(0deg,#06130b88,transparent 35%)}
.scene-caption{position:absolute;right:8%;bottom:70px;z-index:3;font-size:9px;letter-spacing:2px;color:#b7c9b3;display:flex;align-items:center;gap:9px}
.scene-dot{width:6px;height:6px;border-radius:50%;background:#4bd47a;box-shadow:0 0 12px #4bd47a;display:inline-block}
.food-card{transform-style:preserve-3d;will-change:transform}
.food-card .food-info{transform:translateZ(18px)}
.food-card .food-image img{transform:translateZ(8px) scale(1.015)}
.food-card:hover .food-image img{transform:translateZ(12px) scale(1.07)}
@media(max-width:760px){.hero #foodScene{width:100vw;height:330px;top:150px;right:-28%;opacity:.42}.hero .scene-vignette{background:linear-gradient(90deg,#06130b88,transparent),linear-gradient(0deg,#06130b 0%,transparent 70%)}.scene-caption{right:18px;bottom:57px;font-size:7px;letter-spacing:1px}.hero-copy{margin-top:100px}.hero-copy h1{ text-shadow:0 5px 35px #020906}}
@media(prefers-reduced-motion:reduce){.hero #foodScene{display:none}}
