:root{--green:#1A5C1A;--amber:#E89500;--cream:#F5F0E8;--brown:#3D2B1F;--white:#FFFFFF;}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{margin:0;padding:0;background:#FFFFFF;}
html{scroll-behavior:smooth;}
body{font-family:"Poppins",sans-serif;color:#1A5C1A;overflow-x:hidden;}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(1.5rem,4vw,3.5rem);background:var(--green);box-shadow:0 1px 0 rgba(0,0,0,0.15);}
.topbar .logo{display:block;height:48px;width:auto;}
.nav{display:flex;flex:1;justify-content:space-evenly;align-items:center;margin-left:clamp(2rem,6vw,5rem);}
.nav a{font-weight:700;font-size:1.25rem;letter-spacing:0.03em;text-transform:uppercase;color:var(--cream);text-decoration:none;transition:color 0.2s;}
.nav a:hover{color:var(--amber);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{display:block;width:26px;height:3px;border-radius:2px;background:var(--cream);}
.mobile-nav{display:none;flex-direction:column;background:var(--green);box-shadow:0 1px 0 rgba(0,0,0,0.15);}
.mobile-nav a{padding:14px clamp(1.5rem,4vw,3.5rem);font-weight:600;font-size:1.1rem;color:var(--cream);text-decoration:none;border-top:1px solid rgba(255,255,255,0.12);}
.mobile-nav a:hover{color:var(--amber);}
/* ===== Hero carousel (text-free, images only) ===== */
.hero-carousel{position:relative;width:100%;min-height:calc(100svh - 85px);overflow:hidden;}
.carousel-track{position:absolute;inset:0;}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 450ms ease;}
.slide.is-active{opacity:1;visibility:visible;}
/* full-bleed image fills the slide; centered food stays in view, no distortion */
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.slide-caption{position:absolute;top:clamp(12px,3%,28px);left:50%;transform:translateX(-50%);width:auto;max-width:none;margin:0;text-align:center;z-index:4;pointer-events:none;white-space:nowrap;font-family:"Poppins",sans-serif;font-weight:800;line-height:1.05;letter-spacing:-0.01em;color:var(--green);font-size:clamp(26px,4.6vw,54px);}
.slide-caption span{color:var(--amber);font-style:italic;}
.slide-caption br{display:none;}
@media (max-width:700px){
  .slide-caption{top:clamp(12px,5%,38px);font-size:clamp(22px,7vw,34px);white-space:normal;}
  .slide-caption br{display:inline;}
}
/* arrows */
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;color:var(--cream);background:rgba(26,92,26,0.55);cursor:pointer;transition:background-color 0.2s;}
.carousel-arrow:hover{background:var(--amber);}
.carousel-arrow:focus-visible{outline:2px solid var(--cream);outline-offset:2px;}
.carousel-prev{left:clamp(0.75rem,2vw,1.5rem);}
.carousel-next{right:clamp(0.75rem,2vw,1.5rem);}
/* dots */
.carousel-dots{position:absolute;left:50%;bottom:clamp(1rem,3vw,1.8rem);transform:translateX(-50%);z-index:3;display:flex;gap:0.6rem;}
.dot{width:12px;height:12px;padding:0;border:none;border-radius:50%;background:rgba(245,240,232,0.5);cursor:pointer;transition:background-color 0.2s;}
.dot:hover{background:rgba(245,240,232,0.85);}
.dot.is-active{background:var(--amber);}
.dot:focus-visible{outline:2px solid var(--cream);outline-offset:2px;}
/* ===== Brand strip (below the carousel) ===== */
.brand-strip{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);background:var(--green);color:var(--cream);padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,5rem);margin-bottom:clamp(2rem,5vw,3.5rem);}
.brand-zone{text-align:center;}
.brand-zone--right{border-left:1px solid rgba(245,240,232,0.18);}
.brand-craved{font-family:"Poppins",sans-serif;font-weight:800;line-height:1.04;letter-spacing:-0.02em;}
.brand-craved .bz-top{display:block;color:var(--cream);font-size:clamp(1.6rem,3.2vw,2.6rem);}
.brand-craved .bz-accent{display:block;color:var(--amber);font-style:italic;font-size:clamp(2.4rem,5vw,4rem);}
.brand-promise{font-family:"Poppins",sans-serif;font-weight:800;line-height:1.2;letter-spacing:-0.01em;color:var(--cream);font-size:clamp(1.5rem,3vw,2.4rem);}
.brand-promise .bz-accent-inline{color:var(--amber);font-style:italic;}
.menu{padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,5vw,5rem);text-align:center;background:var(--cream);scroll-margin-top:90px;}
.eyebrow{font-weight:700;font-size:0.95rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--amber);margin-bottom:0.6rem;}
.menu-title{font-weight:800;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-0.02em;color:var(--green);margin-bottom:clamp(2.5rem,5vw,3.5rem);}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem);max-width:1200px;margin:0 auto;}
.card{display:flex;flex-direction:column;}
.card-img{width:100%;aspect-ratio:4/5;border-radius:18px;background-color:var(--green);background-size:cover;background-position:center;}
.card-label{font-weight:700;font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--green);margin-top:1rem;}
.waitlist{padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,5vw,5rem);text-align:center;background:#FFFFFF;}
.waitlist-title{font-weight:800;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-0.02em;color:var(--green);margin-bottom:0.8rem;}
.waitlist-sub{font-weight:500;font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--brown);margin-bottom:clamp(1.8rem,4vw,2.5rem);}
.waitlist-form{display:flex;gap:0.8rem;justify-content:center;max-width:520px;margin:0 auto;}
.waitlist-input{flex:1;min-width:0;font-family:inherit;font-size:1.05rem;color:var(--green);padding:1em 1.4em;border:1px solid rgba(0,0,0,0.15);border-radius:999px;outline:none;transition:border-color 0.2s;}
.waitlist-input:focus{border-color:var(--amber);}
.waitlist-input::placeholder{color:rgba(61,43,31,0.5);}
.waitlist-btn{flex-shrink:0;font-family:inherit;font-weight:700;font-size:1.05rem;color:var(--cream);background:var(--green);border:none;border-radius:999px;padding:1em 2.2em;cursor:pointer;transition:background-color 0.2s;}
.waitlist-btn:hover{background:var(--amber);}
.footer{background:var(--green);color:var(--cream);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2rem,4vw,3rem);align-items:start;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,5rem);}
.footer-col h4{font-weight:700;font-size:1.25rem;letter-spacing:-0.01em;color:var(--cream);margin-bottom:1.1rem;}
/* vertical link lists — lighter weight than the headers */
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.footer-links a{font-weight:400;font-size:1rem;color:var(--cream);text-decoration:none;opacity:0.9;transition:opacity 0.2s,color 0.2s;}
.footer-links a:hover{opacity:1;color:var(--amber);}
/* Get in touch: amber uppercase labels, cream values */
.footer-contact{margin-bottom:1.1rem;}
.footer-contact:last-child{margin-bottom:0;}
.contact-label{font-weight:600;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber);margin-bottom:0.3rem;}
.contact-value{font-weight:400;font-size:1rem;color:var(--cream);}
.footer-address{font-style:normal;font-weight:400;font-size:1rem;line-height:1.7;color:var(--cream);opacity:0.9;}
@media(max-width:768px){
  .topbar{padding:16px 1.5rem;}
  .topbar .logo{height:42px;}
  .nav{display:none;}
  .burger{display:flex;}
  body.nav-open .mobile-nav{display:flex;}
  /* hero: sensible mobile height; full-bleed images keep centred food in view */
  .hero-carousel{min-height:60svh;}
  .carousel-arrow{width:40px;height:40px;}
  /* brand strip stacks into a single column on mobile */
  .brand-strip{grid-template-columns:1fr;gap:0;padding:clamp(2rem,7vw,2.75rem) 1.5rem;}
  .brand-zone--right{border-left:none;border-top:1px solid rgba(245,240,232,0.18);margin-top:clamp(1.25rem,5vw,1.75rem);padding-top:clamp(1.25rem,5vw,1.75rem);}
  .cards{grid-template-columns:repeat(2,1fr);max-width:520px;}
  .waitlist-form{flex-direction:column;}
  .footer{grid-template-columns:1fr;gap:2rem;text-align:left;}
}
.kolkata{background:var(--cream);overflow:hidden;padding:clamp(28px,5vw,64px) 0;text-align:center;}
.kolkata-cap{margin:0 auto;padding:0 24px;font-weight:700;font-size:clamp(28px,5.5vw,52px);line-height:1.1;color:var(--green);}
.kolkata-cap span{font-weight:800;font-style:italic;color:var(--amber);}
.kolkata-skyline{display:block;width:100%;max-width:1200px;height:auto;margin:clamp(12px,3vw,32px) auto 0;}
@media (max-width:700px){
  .kolkata{padding:clamp(20px,6vw,40px) 0;}
  .kolkata-cap{font-size:clamp(24px,7vw,34px);}
}
.story{position:relative;background:var(--cream);overflow:hidden;padding:clamp(24px,4vw,56px) 0;}
.story-path{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.story-map{position:absolute;left:50%;transform:translateX(-50%);pointer-events:none;z-index:0;opacity:0.14;}
.story-map--med{top:clamp(-8px,1vw,12px);width:clamp(300px,60vw,460px);height:auto;}
.story-map--india{bottom:clamp(-20px,-1vw,-6px);width:clamp(120px,20vw,185px);height:auto;}
.story-pin{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--amber);border:3px solid var(--cream);transform:translate(-50%,-50%);z-index:2;pointer-events:none;}
.story-accent{position:absolute;z-index:1;pointer-events:none;height:auto;opacity:0.95;}
.story-accent--1{top:3%;right:5%;width:clamp(150px,18vw,230px);transform:rotate(8deg);}
.story-accent--2{top:42%;left:4%;width:clamp(115px,14vw,175px);transform:rotate(-10deg);}
.story-accent--3{top:76%;right:5%;width:clamp(150px,18vw,230px);transform:rotate(-6deg);}
.story-accent--4{bottom:5%;left:5%;width:clamp(120px,14vw,180px);transform:rotate(12deg);}
@media (max-width:700px){
  .story-map{opacity:0.1;}
  .story-pin{width:11px;height:11px;border-width:2px;}
  .story-accent{opacity:0.95;}
  .story-accent--1{width:clamp(100px,26vw,150px);}
  .story-accent--2{width:clamp(82px,20vw,120px);}
  .story-accent--3{width:clamp(100px,26vw,150px);}
  .story-accent--4{width:clamp(86px,21vw,124px);}
}
.story-cap{position:relative;z-index:3;text-align:center;font-weight:600;font-size:clamp(22px,4.5vw,34px);color:var(--green);margin:0 auto;padding:0 24px;}
.story-cap span{font-weight:800;font-style:italic;color:var(--amber);}
.story-cap--start{margin-bottom:clamp(8px,2vw,16px);}
.story-cap--end{margin-top:clamp(72px,13vw,140px);}
.story-panel{position:relative;z-index:1;display:flex;align-items:center;min-height:clamp(300px,42vh,460px);max-width:1200px;margin:0 auto;}
.story-cut{position:absolute;top:50%;transform:translateY(-50%);z-index:0;display:flex;align-items:center;justify-content:center;}
.story-cut img{display:block;width:100%;height:auto;animation:storyFloat 6s ease-in-out infinite;}
.story-panel--left .story-cut{left:-5vw;}
.story-panel--right .story-cut{right:-5vw;}
.story-txt{position:relative;z-index:2;width:100%;padding:0 clamp(24px,6vw,80px);}
.story-panel--left .story-txt{text-align:right;}
.story-panel--right .story-txt{text-align:left;}
.story-pre{margin:0 0 4px;font-size:clamp(16px,2.2vw,26px);font-weight:500;color:var(--brown);line-height:1.2;}
.story-word{margin:0;font-weight:800;font-size:clamp(52px,9.5vw,120px);color:var(--green);line-height:0.9;letter-spacing:-2px;}

.story-panel:nth-of-type(1) .story-cut{width:clamp(300px,42vw,560px);}
.story-panel:nth-of-type(2) .story-cut{width:clamp(280px,40vw,520px);}
.story-panel:nth-of-type(3) .story-cut{width:clamp(300px,42vw,560px);}
.story-panel:nth-of-type(4) .story-cut{width:clamp(280px,40vw,520px);}
.story-panel:nth-of-type(5) .story-cut{width:clamp(300px,42vw,560px);}
.story-panel:nth-of-type(6) .story-cut{width:clamp(280px,40vw,520px);}

.story-panel{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.story-panel.is-visible{opacity:1;transform:translateY(0);}
.story-panel:nth-of-type(3) .story-cut img{animation-duration:6.6s;animation-delay:-1s;}
.story-panel:nth-of-type(4) .story-cut img{animation-duration:7s;animation-delay:-2s;}
.story-panel:nth-of-type(5) .story-cut img{animation-duration:5.6s;animation-delay:-3s;}
@keyframes storyFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@media (max-width:768px){
  .story-panel{min-height:clamp(240px,34vh,340px);}
  .story-panel:nth-of-type(1) .story-cut,
  .story-panel:nth-of-type(3) .story-cut,
  .story-panel:nth-of-type(5) .story-cut{width:60vw;}
  .story-panel:nth-of-type(2) .story-cut,
  .story-panel:nth-of-type(4) .story-cut,
  .story-panel:nth-of-type(6) .story-cut{width:56vw;}
  .story-panel--left .story-cut{left:-14vw;}
  .story-panel--right .story-cut{right:-14vw;}
  .story-txt{padding:0 16px;}
  .story-word{font-size:clamp(44px,14vw,72px);letter-spacing:-1px;}
  .story-pre{font-size:clamp(15px,4vw,20px);}
}
@media (prefers-reduced-motion:reduce){
  .story-cut img{animation:none;}
  .story-panel{transition:none;}
}
.menu-page{background:var(--cream);text-align:center;padding:clamp(1rem,3vw,2rem) clamp(1rem,3vw,2rem) clamp(3rem,7vw,5rem);display:flex;flex-direction:column;justify-content:flex-start;}
.menu-page-title{font-weight:800;font-size:clamp(40px,8vw,80px);color:var(--green);margin:6px 0 12px;letter-spacing:-1px;}
.menu-page-sub{font-size:clamp(16px,2.5vw,20px);color:var(--brown);margin:0;}
.menu-page .cards{width:100%;margin-top:clamp(2rem,5vw,3.5rem);}
.order-page{min-height:60vh;display:flex;flex-direction:column;justify-content:center;}
.rest-page{background:var(--cream);padding:clamp(32px,6vw,72px) clamp(20px,5vw,64px);min-height:60vh;}
.rest-eyebrow{text-align:center;color:var(--green);font-weight:800;letter-spacing:0.18em;text-transform:uppercase;font-size:clamp(15px,2.2vw,20px);margin:0 0 10px;}
.rest-title{text-align:center;color:var(--green);font-weight:800;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-0.02em;margin:0 0 clamp(24px,4vw,40px);}
.store-card{max-width:880px;margin:0 auto;background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.06);}
.store-map{width:100%;height:clamp(280px,42vw,420px);border:0;display:block;}
.store-info{padding:clamp(20px,3vw,32px);text-align:center;}
.store-status{display:inline-block;background:var(--amber);color:var(--brown);font-weight:600;font-size:0.85rem;padding:5px 14px;border-radius:999px;margin:0 0 14px;}
.store-name{font-weight:800;color:var(--green);font-size:clamp(1.3rem,2.6vw,1.8rem);margin:0 0 8px;}
.store-addr{color:var(--brown);font-size:clamp(1rem,1.8vw,1.1rem);line-height:1.5;margin:0 0 20px;}
.store-btn{display:inline-block;background:var(--green);color:var(--cream);text-decoration:none;font-weight:700;padding:12px 24px;border-radius:999px;font-size:0.95rem;transition:background .2s;}
.store-btn:hover{background:#16491b;}
