

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --mango: #F5A623;
    --mango-deep: #E07B00;
    --mango-light: #FFF3D6;
    --leaf: #2A5C2E;
    --cream: #FFFBF0;
    --dark: #1A1208;
    --mid: #5C4010;
    --text: #2C1A00;
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--text); overflow-x: hidden; }

  /* HERO */
  .hero {
    min-height: 100vh; background: var(--dark); position: relative;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    overflow: hidden; padding: 2rem;
  }
  .hero-bg {
    position: absolute; inset: 0;
    background:
      radial-gradient(ellipse 80% 60% at 20% 80%, rgba(245,166,35,0.18) 0%, transparent 60%),
      radial-gradient(ellipse 60% 50% at 80% 20%, rgba(42,92,46,0.25) 0%, transparent 60%),
      radial-gradient(ellipse 100% 80% at 50% 50%, rgba(245,166,35,0.06) 0%, transparent 70%);
  }
  .hero-rings { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
  .ring { position: absolute; border-radius: 50%; border: 1px solid rgba(245,166,35,0.12); }
  .ring-1 { width: 500px; height: 500px; animation: pulse 6s ease-in-out infinite; }
  .ring-2 { width: 700px; height: 700px; animation: pulse 6s ease-in-out infinite 1s; }
  .ring-3 { width: 900px; height: 900px; animation: pulse 6s ease-in-out infinite 2s; }
  @keyframes pulse { 0%,100% { opacity:0.4; transform:scale(1); } 50% { opacity:1; transform:scale(1.02); } }
  .floating-mangos { position: absolute; inset: 0; pointer-events: none; }
  .mango-blob { position: absolute; font-size: 3rem; animation: float linear infinite; opacity: 0.15; }
  .mango-blob:nth-child(1) { left:5%; top:10%; animation-duration:8s; font-size:2rem; }
  .mango-blob:nth-child(2) { left:90%; top:20%; animation-duration:10s; animation-delay:-3s; }
  .mango-blob:nth-child(3) { left:15%; top:75%; animation-duration:7s; animation-delay:-1s; font-size:4rem; }
  .mango-blob:nth-child(4) { left:80%; top:70%; animation-duration:9s; animation-delay:-5s; font-size:2.5rem; }
  .mango-blob:nth-child(5) { left:50%; top:5%; animation-duration:11s; animation-delay:-2s; }
  @keyframes float { 0%{transform:translateY(0) rotate(0deg);} 33%{transform:translateY(-20px) rotate(10deg);} 66%{transform:translateY(10px) rotate(-5deg);} 100%{transform:translateY(0) rotate(0deg);} }
  .hero-content { position:relative; z-index:2; text-align:center; max-width:860px; }
  .hero-eyebrow {
    display:inline-block; font-size:11px; letter-spacing:0.25em; text-transform:uppercase;
    color:var(--mango); border:1px solid rgba(245,166,35,0.4); padding:6px 20px;
    border-radius:99px; margin-bottom:2rem; animation:fadeUp 0.8s ease both;
  }
  .hero-title { font-family:'Playfair Display',serif; font-size:clamp(3.5rem,9vw,8rem); font-weight:900; line-height:0.9; color:#fff; margin-bottom:0.5rem; animation:fadeUp 0.8s ease 0.15s both; }
  .hero-title .accent { color:var(--mango); font-style:italic; display:block; }
  .hero-sub { font-family:'Playfair Display',serif; font-size:clamp(1.2rem,3vw,2rem); font-weight:700; color:rgba(255,255,255,0.5); letter-spacing:0.3em; text-transform:uppercase; margin-bottom:2.5rem; animation:fadeUp 0.8s ease 0.3s both; }
  .hero-desc { font-size:1rem; color:rgba(255,255,255,0.6); line-height:1.8; max-width:520px; margin:0 auto 3rem; font-weight:300; animation:fadeUp 0.8s ease 0.45s both; }
  .hero-cta { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; animation:fadeUp 0.8s ease 0.6s both; }
  .btn-primary { background:var(--mango); color:var(--dark); font-family:'DM Sans',sans-serif; font-weight:500; font-size:0.9rem; letter-spacing:0.05em; padding:14px 36px; border-radius:99px; border:none; cursor:pointer; text-decoration:none; transition:all 0.25s ease; display:inline-block; }
  .btn-primary:hover { background:var(--mango-deep); transform:translateY(-2px); }
  .btn-outline { background:transparent; color:#fff; font-family:'DM Sans',sans-serif; font-weight:500; font-size:0.9rem; letter-spacing:0.05em; padding:14px 36px; border-radius:99px; border:1px solid rgba(255,255,255,0.3); cursor:pointer; text-decoration:none; transition:all 0.25s ease; display:inline-block; }
  .btn-outline:hover { border-color:var(--mango); color:var(--mango); transform:translateY(-2px); }
  .hero-scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,0.3); font-size:10px; letter-spacing:0.2em; text-transform:uppercase; animation:fadeUp 1s ease 1s both; }
  .scroll-line { width:1px; height:40px; background:linear-gradient(to bottom,rgba(245,166,35,0.6),transparent); animation:scrollLine 2s ease-in-out infinite; }
  @keyframes scrollLine { 0%{transform:scaleY(0);transform-origin:top;} 50%{transform:scaleY(1);transform-origin:top;} 51%{transform:scaleY(1);transform-origin:bottom;} 100%{transform:scaleY(0);transform-origin:bottom;} }
  @keyframes fadeUp { from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:translateY(0);} }

  /* MARQUEE */
  .marquee-wrap { background:var(--mango); padding:14px 0; overflow:hidden; white-space:nowrap; }
  .marquee-track { display:inline-flex; animation:marquee 20s linear infinite; }
  .marquee-item { font-size:12px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--dark); padding:0 2rem; }
  .marquee-dot { color:var(--dark); opacity:0.4; }
  @keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* INTRO */
  .intro { padding:7rem 2rem; max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
  .intro-label { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--mango-deep); margin-bottom:1.5rem; }
  .intro-title { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:900; line-height:1.1; color:var(--dark); margin-bottom:1.5rem; }
  .intro-title em { color:var(--mango-deep); font-style:italic; }
  .intro-body { font-size:1rem; line-height:1.85; color:var(--mid); font-weight:300; margin-bottom:2rem; }
  .intro-stats { display:flex; gap:2.5rem; }
  .stat-num { font-family:'Playfair Display',serif; font-size:2.5rem; font-weight:900; color:var(--dark); line-height:1; }
  .stat-lbl { font-size:11px; letter-spacing:0.1em; color:var(--mid); margin-top:4px; }
  .visual-card { background:var(--dark); border-radius:24px; padding:3rem 2.5rem; position:relative; overflow:hidden; }
  .visual-card::before { content:''; position:absolute; top:-50px; right:-50px; width:200px; height:200px; background:radial-gradient(circle,rgba(245,166,35,0.3) 0%,transparent 70%); border-radius:50%; }
  .visual-price-tag { position:absolute; top:1.5rem; right:1.5rem; background:var(--mango); color:var(--dark); font-size:12px; font-weight:500; padding:6px 14px; border-radius:99px; }
  .visual-emoji { font-size:4rem; margin-bottom:1.5rem; display:block; animation:float 4s ease-in-out infinite; }
  .visual-dish-name { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:900; color:#fff; margin-bottom:0.5rem; }
  .visual-dish-sub { font-size:0.85rem; color:rgba(255,255,255,0.4); font-weight:300; }
  .visual-dots { display:flex; gap:6px; margin-top:2rem; }
  .dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.2); cursor:pointer; transition:all 0.3s; }
  .dot.active { background:var(--mango); width:20px; border-radius:3px; }

  /* HIGHLIGHT STRIP */
  .highlight-strip { background:var(--mango); padding:5rem 2rem; display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap; }
  .highlight-item { text-align:center; }
  .highlight-num { font-family:'Playfair Display',serif; font-size:3.5rem; font-weight:900; color:var(--dark); line-height:1; }
  .highlight-lbl { font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(26,18,8,0.6); margin-top:4px; }
  .highlight-div { width:1px; height:60px; background:rgba(26,18,8,0.2); }

  /* MENU */
  .menu-section { background:var(--dark); padding:7rem 2rem; position:relative; overflow:hidden; }
  .menu-section::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,transparent,var(--mango),transparent); }
  .section-header { text-align:center; max-width:600px; margin:0 auto 4rem; }
  .section-eyebrow { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--mango); margin-bottom:1rem; }
  .section-title { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3rem); font-weight:900; color:#fff; line-height:1.1; }
  .section-title em { color:var(--mango); font-style:italic; }
  .menu-grid { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
  .menu-card { background:rgba(255,255,255,0.04); border:1px solid rgba(245,166,35,0.1); border-radius:20px; padding:1.75rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; transition:all 0.3s ease; }
  .menu-card:hover { background:rgba(245,166,35,0.08); border-color:rgba(245,166,35,0.4); transform:translateY(-4px); }
  .menu-card-left { flex:1; }
  .menu-card-cat { font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--mango); opacity:0.7; margin-bottom:6px; }
  .menu-card-name { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:#fff; line-height:1.3; }
  .menu-card-price { font-size:1.3rem; font-weight:700; color:var(--mango); white-space:nowrap; }
  .menu-card-sub{
    color: #fff;
    margin-top: 10px;
    font-size: 14px;
  }
  .menu-card-price span { font-size:0.75rem; font-weight:400; color:rgba(255,255,255,0.4); display:block; text-align:right; }
  .limited-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(245,166,35,0.15); border:1px solid rgba(245,166,35,0.3); color:var(--mango); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; padding:5px 14px; border-radius:99px; margin-bottom:3rem; }
  .limited-dot { width:6px; height:6px; border-radius:50%; background:var(--mango); animation:blink 1.5s ease-in-out infinite; }
  @keyframes blink { 0%,100%{opacity:1;} 50%{opacity:0.2;} }
  .category-bar { display:flex; justify-content:center; gap:0.75rem; margin-bottom:3rem; flex-wrap:wrap; }
  .cat-btn { font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; padding:8px 22px; border-radius:99px; border:1px solid rgba(245,166,35,0.3); color:rgba(255,255,255,0.5); background:transparent; cursor:pointer; transition:all 0.25s; }
  .cat-btn.active, .cat-btn:hover { background:var(--mango); color:var(--dark); border-color:var(--mango); }

  /* FOOTER */
  .footer { background:var(--dark); border-top:1px solid rgba(245,166,35,0.15); padding:4rem 2rem 2rem; text-align:center; }
  .footer-brand { font-family:'Playfair Display',serif; font-size:2.5rem; font-weight:900; color:var(--mango); margin-bottom:0.5rem; }
  .footer-tagline { font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:2.5rem; }
  .footer-links { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; margin-bottom:3rem; }
  .footer-link { font-size:13px; color:rgba(255,255,255,0.4); text-decoration:none; letter-spacing:0.05em; transition:color 0.2s; }
  .footer-link:hover { color:var(--mango); }
  .footer-copy { font-size:12px; color:rgba(255,255,255,0.2); padding-top:2rem; border-top:1px solid rgba(255,255,255,0.05); }

  @media(max-width:768px) {
    .intro { grid-template-columns:1fr; gap:3rem; }
    .intro-visual { order:-1; }
    .highlight-div { display:none; }
  }

  /* LOCATIONS */
.locations-sec{
  padding:7rem 2rem;
  background:var(--dark);
  position:relative;
  overflow:hidden;
}

.locations-head{
  max-width:760px;
  margin:0 auto 4rem;
  text-align:center;
}

.locations-desc{
  margin-top:1.5rem;
  color:rgba(255,255,255,0.6);
  line-height:1.9;
  font-weight:300;
}

.locations-grid{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem;
}

.location-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(245,166,35,0.12);
  border-radius:28px;
  overflow:hidden;
  transition:all .35s ease;
}

.location-card:hover{
  transform:translateY(-6px);
  border-color:rgba(245,166,35,0.35);
}

.location-top{
  padding:2rem;
}

.location-badge{
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--mango);
  color:var(--dark);
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.5rem;
  font-size:1rem;
}

.location-city{
  font-family:'Playfair Display',serif;
  font-size:2rem;
  color:#fff;
  margin-bottom:1rem;
  line-height:1.1;
}

.location-addr{
  color:rgba(255,255,255,0.6);
  line-height:1.9;
  font-weight:300;
  font-size:1rem;
}

.location-map{
  width:100%;
  height:320px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,0.08);
}

.location-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:grayscale(100%) contrast(1.1);
}

/* MOBILE */
@media(max-width:900px){

  .locations-grid{
    grid-template-columns:1fr;
  }

  .location-city{
    font-size:1.7rem;
  }

  .location-map{
    height:260px;
  }

}

@media(max-width:600px){

  .locations-sec{
    padding:5rem 1.2rem;
  }

  .location-top{
    padding:1.5rem;
  }

  .location-map{
    height:220px;
  }

}

/* FAQ SECTION */
.faq-sec{
  padding:7rem 2rem;
  background:var(--cream);
}

.faq-head{
  max-width:720px;
  margin:0 auto 4rem;
  text-align:center;
}

.faq-desc{
  margin-top:1.5rem;
  color:var(--mid);
  line-height:1.9;
  font-weight:300;
}

.faq-wrap{
  max-width:950px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.faq-item{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.06);
  transition:all .3s ease;
}

.faq-item:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(0,0,0,0.05);
}

.faq-question{
  width:100%;
  background:none;
  border:none;
  outline:none;
  padding:1.8rem 2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  text-align:left;
}

.faq-question span{
  font-size:1.1rem;
  font-weight:500;
  color:var(--dark);
  line-height:1.5;
}

.faq-icon{
  min-width:42px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--mango-light);
  position:relative;
  transition:all .3s ease;
}

.faq-icon::before,
.faq-icon::after{
  content:'';
  position:absolute;
  background:var(--mango-deep);
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  transition:all .3s ease;
}

.faq-icon::before{
  width:16px;
  height:2px;
}

.faq-icon::after{
  width:2px;
  height:16px;
}

.faq-item.active .faq-icon::after{
  opacity:0;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}

.faq-answer p{
  padding:0 2rem 2rem;
  color:var(--mid);
  line-height:1.9;
  font-weight:300;
}

.faq-item.active .faq-answer{
  max-height:300px;
}
.menu-img{
  width: 25%;
    border-radius: 10px;
}

/* MOBILE */
@media(max-width:768px){

  .faq-sec{
    padding:5rem 1.2rem;
  }

  .faq-question{
    padding:1.4rem;
  }

  .faq-answer p{
    padding:0 1.4rem 1.5rem;
  }

  .faq-question span{
    font-size:1rem;
  }

}

/* ABOUT SEASON */
.about-season{
  max-width:1200px;
  margin:auto;
  padding:7rem 2rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}

.about-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,5vw,4rem);
  line-height:1.1;
  color:var(--dark);
  margin-bottom:1.5rem;
  font-weight:900;
}

.about-title em{
  color:var(--mango-deep);
  font-style:italic;
}

.about-text{
  font-size:1rem;
  line-height:1.9;
  color:var(--mid);
  margin-bottom:2.5rem;
}

.about-stats{
  display:flex;
  gap:2rem;
  flex-wrap:wrap;
  margin-bottom:2.5rem;
}

.about-stat h3{
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  color:var(--mango-deep);
  margin-bottom:.3rem;
}

.about-stat span{
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mid);
}

.about-btn{
  display:inline-block;
  background:var(--mango);
  color:var(--dark);
  padding:15px 34px;
  border-radius:60px;
  text-decoration:none;
  font-weight:600;
  transition:.3s;
}

.about-btn:hover{
  background:var(--mango-deep);
  transform:translateY(-3px);
}

.about-right{
  position:relative;
}

.about-img{
  width:100%;
  height:650px;
  object-fit:cover;
  border-radius:30px;
  display:block;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
}


/* SEASON STORY */
.season-story{
  padding:7rem 2rem;
  background:#fff;
  position:relative;
  overflow:hidden;
}

.season-story-wrap{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:flex-start;
}

.season-mini{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--mango-deep);
  margin-bottom:1.2rem;
  font-weight:700;
}

.season-heading{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.5rem,5vw,4.8rem);
  line-height:1.05;
  color:var(--dark);
  font-weight:900;
}

.season-heading em{
  color:var(--mango-deep);
  font-style:italic;
}

.season-story-right p{
  font-size:1.05rem;
  line-height:2;
  color:var(--mid);
  margin-bottom:2rem;
  font-weight:300;
}

.season-story-right p:last-child{
  margin-bottom:0;
}

/* MOBILE */
@media(max-width:900px){

  .season-story{
    padding:5rem 1.5rem;
  }

  .season-story-wrap{
    grid-template-columns:1fr;
    gap:2rem;
  }

  .season-heading{
    font-size:2.7rem;
  }

  .season-story-right p{
    font-size:1rem;
    line-height:1.9;
  }

}
/* MOBILE */
@media(max-width:900px){

  .about-season{
    grid-template-columns:1fr;
    gap:3rem;
  }

  .about-img{
    height:450px;
  }

}