<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Butter & Sprinkles by Nafisa – Mini Catering & Signature Butter Cake</title>
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500&display=swap" rel="stylesheet"/>
  <script async src="https://tally.so/widgets/embed.js"></script>
  <style>
    :root {
      --cream: #fdf0df;
      --blush: #ffdfdf;
      --brown: #714323;
      --brown-light: #9a6040;
      --brown-dark: #4e2e14;
      --gold: #ffc96a;
      --gold-dark: #e6a830;
      --white: #ffffff;
      --text: #3a2010;
      --text-muted: #8a6040;

      /* Butter Cake palette — warm amber, deeper gold */
      --cake-bg: #2b1a06;
      --cake-gold: #f5c842;
      --cake-amber: #c97c2a;
      --cake-cream: #fef7ec;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      font-family: 'DM Sans', sans-serif;
      background-color: var(--cream);
      color: var(--text);
      overflow-x: hidden;
    }

    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='none'/%3E%3Ccircle cx='1' cy='1' r='0.5' fill='%23714323' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 0;
    }

    /* ════════════════════════════
       NAVBAR
    ════════════════════════════ */
    nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 200;
      height: 62px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 4%;
      background: rgba(10, 6, 2, 0.88);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      transition: background 0.3s, box-shadow 0.3s;
    }
    nav.scrolled {
      background: rgba(10, 6, 2, 0.97);
      box-shadow: 0 2px 24px rgba(0,0,0,0.5);
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      text-decoration: none;
      flex-shrink: 0;
    }
    .nav-logo img {
      height: 40px; width: 40px;
      object-fit: contain;
      border-radius: 50%;
    }
    .nav-logo-text {
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--white);
      white-space: nowrap;
    }
    .nav-logo-text em { font-style: italic; color: var(--gold); font-weight: 400; }

    .nav-center {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
    }
    .nav-links { display: flex; list-style: none; }
    .nav-links a {
      display: flex;
      align-items: center;
      height: 62px;
      padding: 0 0.85rem;
      text-decoration: none;
      color: rgba(255,255,255,0.78);
      font-size: 0.85rem;
      font-weight: 400;
      letter-spacing: 0.01em;
      transition: color 0.2s;
      white-space: nowrap;
    }
    .nav-links a:hover, .nav-links a.active { color: var(--gold); }
    .nav-links a.nav-cake {
      color: var(--gold);
      font-weight: 600;
    }
    .nav-links a.nav-cake:hover { color: #ffd98a; }

    .nav-right { display: flex; align-items: center; gap: 0.8rem; flex-shrink: 0; }
    .nav-search {
      background: none; border: none; cursor: pointer;
      color: rgba(255,255,255,0.65);
      padding: 0.4rem;
      display: flex; align-items: center;
      transition: color 0.2s;
    }
    .nav-search:hover { color: var(--gold); }

    /* ════════════════════════════
       HERO
    ════════════════════════════ */
    .hero {
      position: relative;
      height: 100vh;
      min-height: 620px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
    }

    .hero-video {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      z-index: 0;
      filter: brightness(0.48) saturate(0.85);
    }

    .hero-img-fallback {
      position: absolute;
      inset: 0;
      background: url('images/hero.png') center/cover no-repeat;
      filter: brightness(0.45);
      z-index: 0;
      display: none;
    }

    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(113,67,35,0.4) 0%, rgba(78,46,20,0.65) 100%);
      z-index: 1;
    }

    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 780px;
      padding: 0 5%;
      animation: fadeUp 1s 0.15s ease both;
    }

    .hero-badge {
      display: inline-block;
      background: rgba(255,223,223,0.18);
      border: 1px solid rgba(255,223,223,0.45);
      color: var(--blush);
      font-size: 0.75rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 0.4rem 1.1rem;
      border-radius: 50px;
      margin-bottom: 1.5rem;
      backdrop-filter: blur(6px);
    }

    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.4rem, 6vw, 4.4rem);
      font-weight: 700;
      color: var(--white);
      line-height: 1.15;
      margin-bottom: 1.2rem;
    }
    .hero h1 em { font-style: italic; color: var(--gold); }

    .hero p {
      font-size: clamp(0.95rem, 1.4vw, 1.1rem);
      color: rgba(255,255,255,0.85);
      max-width: 560px;
      margin: 0 auto 2.2rem;
      line-height: 1.75;
      font-weight: 300;
    }

    .hero-btns {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
    }

    .btn-primary {
      display: inline-block;
      background: var(--brown); color: var(--white);
      padding: 0.85rem 2rem; border-radius: 50px;
      text-decoration: none; font-size: 0.95rem; font-weight: 500;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 20px rgba(113,67,35,0.4);
    }
    .btn-primary:hover { background: var(--brown-dark); transform: translateY(-2px); box-shadow: 0 6px 25px rgba(113,67,35,0.5); }

    .btn-ghost {
      border: 2px solid rgba(255,255,255,0.6);
      color: var(--white);
      padding: 0.85rem 2rem; border-radius: 50px;
      text-decoration: none; font-size: 0.95rem; font-weight: 500;
      transition: border-color 0.2s, background 0.2s, transform 0.15s;
      backdrop-filter: blur(4px);
    }
    .btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,0.12); transform: translateY(-2px); }

    /* Cake CTA in hero */
    .btn-cake {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: var(--cake-gold);
      color: var(--cake-bg);
      padding: 0.85rem 2rem; border-radius: 50px;
      text-decoration: none; font-size: 0.95rem; font-weight: 700;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 20px rgba(245,200,66,0.45);
    }
    .btn-cake:hover { background: #ffd85a; transform: translateY(-2px); box-shadow: 0 6px 28px rgba(245,200,66,0.55); }

    .hero-scroll {
      position: absolute;
      bottom: 2rem; left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.4rem;
      color: rgba(255,255,255,0.55);
      font-size: 0.7rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }
    .hero-scroll-line {
      width: 1px; height: 40px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.55), transparent);
      animation: scrollPulse 1.8s ease-in-out infinite;
    }
    @keyframes scrollPulse {
      0%, 100% { opacity: 0.55; height: 40px; }
      50%       { opacity: 1;    height: 55px; }
    }

    .float-wa {
      position: fixed;
      bottom: 1.8rem; right: 1.8rem;
      z-index: 300;
      width: 58px; height: 58px;
      background: #25D366;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 22px rgba(37,211,102,0.5);
      text-decoration: none;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .float-wa:hover { transform: scale(1.12); box-shadow: 0 6px 30px rgba(37,211,102,0.6); }
    .float-wa svg { width: 30px; height: 30px; fill: #fff; }

    /* ════════════════════════════
       SHARED SECTION STYLES
    ════════════════════════════ */
    section { position: relative; z-index: 1; }

    .section-label {
      font-size: 0.72rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--brown);
      font-weight: 500;
      margin-bottom: 0.6rem;
    }
    .section-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.9rem, 4vw, 2.8rem);
      color: var(--brown-dark);
      line-height: 1.25;
    }
    .section-title em { font-style: italic; color: var(--brown); }
    .divider { width: 50px; height: 2px; background: var(--brown); margin: 1.2rem auto; border-radius: 2px; }
    .divider.left { margin: 1.2rem 0; }

    /* ════════════════════════════
       ABOUT
    ════════════════════════════ */
    .about { padding: 6rem 5%; background: var(--cream); }
    .about-inner {
      max-width: 1100px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 5rem; align-items: center;
    }
    .about-img-wrap { position: relative; }
    .about-img-wrap img { width: 100%; border-radius: 16px; object-fit: cover; aspect-ratio: 4/5; display: block; }
    .about-img-badge {
      position: absolute; bottom: -1.5rem; right: -1.5rem;
      background: var(--brown); color: var(--white);
      padding: 1.2rem 1.5rem; border-radius: 12px;
      text-align: center; box-shadow: 0 8px 30px rgba(113,67,35,0.3);
    }
    .about-img-badge strong { display: block; font-size: 2rem; font-family: 'Playfair Display', serif; }
    .about-img-badge span { font-size: 0.75rem; opacity: 0.85; letter-spacing: 0.05em; }
    .about-text p { color: var(--text-muted); line-height: 1.8; margin-top: 1.2rem; font-size: 1rem; }
    .areas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.6rem; }
    .area-tag {
      background: var(--blush); color: var(--brown);
      border: 1px solid rgba(113,67,35,0.15);
      padding: 0.35rem 0.85rem; border-radius: 50px;
      font-size: 0.82rem; font-weight: 500;
    }
    .about-cta { margin-top: 2.5rem; }

    /* ════════════════════════════
       BUTTER CAKE HERO SPOTLIGHT
    ════════════════════════════ */
    .cake-spotlight {
      padding: 0;
      background: var(--cake-bg);
      position: relative;
      overflow: hidden;
    }

    /* Subtle radial glow behind cake image */
    .cake-spotlight::before {
      content: '';
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(201,124,42,0.18) 0%, transparent 70%);
      pointer-events: none;
      z-index: 0;
    }

    .cake-spotlight-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 580px;
      position: relative;
      z-index: 1;
    }

    /* Left: Image side */
    .cake-spotlight-img {
      position: relative;
      overflow: hidden;
    }
    .cake-spotlight-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      min-height: 480px;
      transition: transform 0.7s ease;
    }
    .cake-spotlight-img:hover img {
      transform: scale(1.04);
    }

    /* Bestseller ribbon */
    .cake-ribbon {
      position: absolute;
      top: 2rem;
      left: 0;
      background: var(--cake-gold);
      color: var(--cake-bg);
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 0.45rem 1.4rem 0.45rem 1rem;
      clip-path: polygon(0 0, 100% 0, 92% 50%, 100% 100%, 0 100%);
      z-index: 2;
      box-shadow: 0 2px 12px rgba(0,0,0,0.3);
    }

    /* Right: Text side */
    .cake-spotlight-text {
      padding: 4rem 3.5rem 4rem 4rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .cake-label {
      font-size: 0.72rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--cake-gold);
      font-weight: 600;
      margin-bottom: 0.8rem;
    }

    .cake-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4vw, 3rem);
      color: var(--white);
      line-height: 1.2;
      margin-bottom: 0.5rem;
    }
    .cake-title em {
      font-style: italic;
      color: var(--cake-gold);
    }

    .cake-divider {
      width: 50px; height: 2px;
      background: var(--cake-amber);
      margin: 1.2rem 0;
      border-radius: 2px;
    }

    .cake-spotlight-text p {
      color: rgba(255,255,255,0.72);
      line-height: 1.8;
      font-size: 1rem;
      margin-bottom: 0.8rem;
    }

    /* Flavour pills */
    .cake-flavours {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin: 1.5rem 0;
    }
    .cake-flavour-tag {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(245,200,66,0.3);
      color: var(--cake-gold);
      padding: 0.35rem 0.9rem;
      border-radius: 50px;
      font-size: 0.82rem;
      font-weight: 500;
      letter-spacing: 0.02em;
    }

    /* Trust signals */
    .cake-trust {
      display: flex;
      gap: 1.5rem;
      margin-bottom: 2rem;
      flex-wrap: wrap;
    }
    .cake-trust-item {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      color: rgba(255,255,255,0.6);
      font-size: 0.83rem;
    }
    .cake-trust-item span:first-child {
      font-size: 1rem;
    }

    .cake-ctas {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .btn-cake-order {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: var(--cake-gold);
      color: var(--cake-bg);
      padding: 0.9rem 2.2rem;
      border-radius: 50px;
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 700;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 22px rgba(245,200,66,0.4);
    }
    .btn-cake-order:hover { background: #ffd85a; transform: translateY(-2px); box-shadow: 0 6px 30px rgba(245,200,66,0.5); }

    .btn-cake-ghost {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border: 2px solid rgba(245,200,66,0.4);
      color: rgba(255,255,255,0.8);
      padding: 0.9rem 2rem;
      border-radius: 50px;
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 500;
      transition: border-color 0.2s, background 0.2s, transform 0.15s;
    }
    .btn-cake-ghost:hover { border-color: var(--cake-gold); background: rgba(245,200,66,0.08); transform: translateY(-2px); }

    /* ════════════════════════════
       CAKE VARIANTS STRIP
    ════════════════════════════ */
    .cake-variants {
      background: var(--cake-cream);
      padding: 4rem 5%;
      position: relative;
      z-index: 1;
    }
    .cake-variants-inner {
      max-width: 1100px;
      margin: 0 auto;
    }
    .cake-variants-header {
      text-align: center;
      margin-bottom: 2.5rem;
    }
    .cake-variants-header .section-label {
      color: var(--cake-amber);
    }
    .cake-variants-header .section-title {
      color: var(--brown-dark);
    }
    .cake-variants-header .section-title em {
      color: var(--cake-amber);
    }

    .cake-variants-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.5rem;
    }

    .cake-variant-card {
      background: var(--white);
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 3px 20px rgba(113,67,35,0.09);
      transition: transform 0.25s, box-shadow 0.25s;
      position: relative;
    }
    .cake-variant-card:hover { transform: translateY(-6px); box-shadow: 0 14px 38px rgba(113,67,35,0.16); }

    .cake-variant-card-img {
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
      display: block;
    }

    .cake-variant-card-body {
      padding: 1.2rem 1.4rem 1.5rem;
    }
    .cake-variant-card-name {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem;
      color: var(--brown-dark);
      margin-bottom: 0.35rem;
    }
    .cake-variant-card-desc {
      font-size: 0.85rem;
      color: var(--text-muted);
      line-height: 1.6;
    }

    /* "Popular" badge */
    .cake-popular-badge {
      position: absolute;
      top: 0.8rem; right: 0.8rem;
      background: var(--cake-gold);
      color: var(--brown-dark);
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0.28rem 0.7rem;
      border-radius: 50px;
    }

    .cake-variants-cta {
      text-align: center;
      margin-top: 2.5rem;
    }

    /* ════════════════════════════
       CAKE TESTIMONIAL STRIP
    ════════════════════════════ */
    .cake-testimonial {
      background: linear-gradient(135deg, #3b1f05 0%, #5a2e0a 100%);
      padding: 3.5rem 5%;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cake-testimonial::before {
      content: '"';
      position: absolute;
      font-family: 'Playfair Display', serif;
      font-size: 22rem;
      color: rgba(255,255,255,0.03);
      top: -5rem; left: 2rem;
      line-height: 1;
      pointer-events: none;
    }
    .cake-testimonial-inner {
      max-width: 680px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .cake-testimonial blockquote {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.2rem, 2.5vw, 1.6rem);
      font-style: italic;
      color: var(--white);
      line-height: 1.6;
      margin-bottom: 1.2rem;
    }
    .cake-testimonial-author {
      color: var(--cake-gold);
      font-size: 0.85rem;
      letter-spacing: 0.1em;
      font-weight: 500;
    }
    .cake-stars {
      color: var(--cake-gold);
      font-size: 1.1rem;
      margin-bottom: 1.2rem;
      letter-spacing: 0.1em;
    }

    /* ════════════════════════════
       MENU
    ════════════════════════════ */
    .menu { padding: 6rem 5%; background: var(--blush); }
    .menu-inner { max-width: 1100px; margin: 0 auto; }
    .menu-header { text-align: center; margin-bottom: 3.5rem; }

    /* Tabs for Catering / Cake */
    .menu-tabs {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-bottom: 2.5rem;
    }
    .menu-tab {
      padding: 0.6rem 1.8rem;
      border-radius: 50px;
      border: 2px solid rgba(113,67,35,0.25);
      background: none;
      color: var(--text-muted);
      font-size: 0.9rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.2s;
      font-family: 'DM Sans', sans-serif;
    }
    .menu-tab:hover { border-color: var(--brown); color: var(--brown); }
    .menu-tab.active {
      background: var(--brown);
      border-color: var(--brown);
      color: var(--white);
    }

    .menu-panel { display: none; }
    .menu-panel.active { display: block; }

    .menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
    .menu-card {
      background: var(--white); border-radius: 16px; overflow: hidden;
      box-shadow: 0 2px 16px rgba(113,67,35,0.08);
      transition: transform 0.25s, box-shadow 0.25s;
      position: relative;
    }
    .menu-card:hover { transform: translateY(-6px); box-shadow: 0 12px 35px rgba(113,67,35,0.15); }
    .menu-card-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
    .menu-card-body { padding: 1.2rem 1.3rem 1.4rem; }
    .menu-card-tag { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--brown); font-weight: 600; margin-bottom: 0.4rem; }
    .menu-card-title { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--brown-dark); margin-bottom: 0.5rem; }
    .menu-card-desc { font-size: 0.88rem; color: var(--text-muted); line-height: 1.6; }
    .menu-card-badge {
      position: absolute;
      top: 0.8rem; right: 0.8rem;
      background: var(--cake-gold);
      color: var(--brown-dark);
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.25rem 0.65rem;
      border-radius: 50px;
    }

    .menu-list-wrap { margin-top: 3.5rem; background: var(--white); border-radius: 20px; padding: 2.5rem; box-shadow: 0 2px 20px rgba(113,67,35,0.07); }
    .menu-list-title { font-family: 'Playfair Display', serif; font-size: 1.35rem; color: var(--brown-dark); margin-bottom: 1.5rem; text-align: center; }
    .menu-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0.8rem 2rem; list-style: none; }
    .menu-list li {
      display: flex; align-items: flex-start; gap: 0.6rem;
      font-size: 0.92rem; color: var(--text); line-height: 1.5;
      padding: 0.5rem 0; border-bottom: 1px solid rgba(113,67,35,0.07);
    }
    .menu-list li::before { content: '✦'; color: var(--brown); font-size: 0.6rem; margin-top: 0.3rem; flex-shrink: 0; }

    /* Cake menu panel */
    .cake-menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }

    /* ════════════════════════════
       GALLERY
    ════════════════════════════ */
    .gallery { padding: 6rem 5%; background: var(--cream); }
    .gallery-inner { max-width: 1100px; margin: 0 auto; }
    .gallery-header { text-align: center; margin-bottom: 3rem; }
    .gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
    .gallery-item { overflow: hidden; border-radius: 14px; }
    .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
    .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
    .gallery-item:hover img { transform: scale(1.05); }
    .gallery-item:first-child img { height: 440px; }
    .gallery-item:not(:first-child) img { height: 210px; }

    /* ════════════════════════════
       WHY US
    ════════════════════════════ */
    .why { padding: 5rem 5%; background: var(--brown); }
    .why-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 3fr; gap: 4rem; align-items: center; }
    .why h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.5rem); color: var(--white); line-height: 1.3; }
    .why h2 em { font-style: italic; color: var(--gold); }
    .why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .why-item { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 1.5rem; }
    .why-icon { font-size: 1.6rem; margin-bottom: 0.8rem; }
    .why-item h4 { color: var(--white); font-size: 1rem; margin-bottom: 0.4rem; font-weight: 600; }
    .why-item p { color: rgba(255,255,255,0.65); font-size: 0.88rem; line-height: 1.6; }

    /* ════════════════════════════
       CONTACT
    ════════════════════════════ */
    .contact { padding: 6rem 5%; background: var(--blush); }
    .contact-inner { max-width: 700px; margin: 0 auto; text-align: center; }
    .contact-inner p { color: var(--text-muted); margin-top: 1rem; line-height: 1.7; font-size: 1rem; }
    .contact-card { background: var(--white); border-radius: 20px; padding: 2.5rem; margin-top: 3rem; box-shadow: 0 4px 30px rgba(113,67,35,0.1); }
    .contact-name { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--brown-dark); }
    .contact-sub { color: var(--text-muted); font-size: 0.9rem; margin-top: 0.3rem; }
    .contact-number { display: block; font-family: 'Playfair Display', serif; font-size: 1.8rem; color: var(--brown); margin: 1.2rem 0; text-decoration: none; font-weight: 700; }
    .contact-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 0.5rem; }
    .btn-wa {
      background: #25D366; color: #fff;
      padding: 0.85rem 2rem; border-radius: 50px;
      text-decoration: none; font-size: 0.95rem; font-weight: 500;
      display: inline-flex; align-items: center; gap: 0.5rem;
      transition: background 0.2s, transform 0.15s;
      box-shadow: 0 4px 15px rgba(37,211,102,0.3);
    }
    .btn-wa:hover { background: #128C7E; transform: translateY(-2px); }
    .btn-quote { background: var(--brown); color: #fff; padding: 0.85rem 2rem; border-radius: 50px; text-decoration: none; font-size: 0.95rem; font-weight: 500; transition: background 0.2s, transform 0.15s; }
    .btn-quote:hover { background: var(--brown-dark); transform: translateY(-2px); }

    /* ════════════════════════════
       ORDER CTA STRIP
    ════════════════════════════ */
    .order-strip {
      padding: 5.5rem 5%;
      background: linear-gradient(135deg, var(--brown-dark) 0%, var(--brown) 100%);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .order-strip::before {
      content: '✦';
      position: absolute;
      font-size: 18rem;
      color: rgba(255,255,255,0.03);
      top: -4rem; left: -3rem;
      line-height: 1;
      pointer-events: none;
    }
    .order-strip-label { font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 500; margin-bottom: 0.8rem; }
    .order-strip h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.9rem, 4vw, 2.9rem); color: var(--white); line-height: 1.25; margin-bottom: 1rem; }
    .order-strip h2 em { font-style: italic; color: var(--gold); }
    .order-strip > p { color: rgba(255,255,255,0.7); max-width: 520px; margin: 0 auto 2.8rem; line-height: 1.75; font-size: 1rem; }
    .order-steps { display: flex; justify-content: center; gap: 2.5rem; flex-wrap: wrap; margin-bottom: 3rem; }
    .order-step { display: flex; align-items: flex-start; gap: 0.9rem; max-width: 190px; text-align: left; }
    .order-step-num {
      flex-shrink: 0;
      width: 36px; height: 36px;
      border-radius: 50%;
      border: 2px solid var(--gold);
      color: var(--gold);
      font-family: 'Playfair Display', serif;
      font-size: 1rem; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
    }
    .order-step-text { color: rgba(255,255,255,0.7); font-size: 0.87rem; line-height: 1.5; }
    .order-step-text strong { display: block; color: var(--white); font-size: 0.92rem; margin-bottom: 0.2rem; }

    .btn-order {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      background: var(--gold);
      color: var(--brown-dark);
      padding: 1rem 2.5rem;
      border-radius: 50px;
      text-decoration: none;
      font-size: 1rem;
      font-weight: 700;
      cursor: pointer;
      border: none;
      font-family: 'DM Sans', sans-serif;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 24px rgba(255,201,106,0.4);
    }
    .btn-order:hover { background: #ffd98a; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(255,201,106,0.5); }

    /* ════════════════════════════
       FOOTER
    ════════════════════════════ */
    footer { background: var(--brown-dark); color: rgba(255,255,255,0.6); text-align: center; padding: 2rem 5%; font-size: 0.85rem; }
    footer strong { color: rgba(255,255,255,0.9); }
    .footer-links { margin-top: 0.5rem; display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; }
    .footer-links a { color: rgba(255,255,255,0.5); text-decoration: none; font-size: 0.8rem; transition: color 0.2s; }
    .footer-links a:hover { color: var(--gold); }

    /* ════════════════════════════
       ANIMATIONS
    ════════════════════════════ */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(26px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* ════════════════════════════
       TALLY MODAL
    ════════════════════════════ */
    .modal-backdrop {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 500;
      background: rgba(20, 10, 2, 0.78);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      align-items: center;
      justify-content: center;
      padding: 1.2rem;
    }
    .modal-backdrop.open { display: flex; animation: fadeIn 0.22s ease both; }
    .modal-box {
      background: var(--cream);
      border-radius: 20px;
      width: 100%;
      max-width: 780px;
      height: 88vh;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      box-shadow: 0 24px 64px rgba(0,0,0,0.45);
      animation: slideUp 0.3s ease both;
    }
    .modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1rem 1.4rem;
      border-bottom: 1px solid rgba(113,67,35,0.12);
      flex-shrink: 0;
      background: var(--white);
      gap: 1rem;
    }
    .modal-header-info { min-width: 0; }
    .modal-header-title { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--brown-dark); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .modal-header-sub { font-size: 0.76rem; color: var(--text-muted); margin-top: 0.1rem; }
    .modal-close {
      flex-shrink: 0;
      background: none; border: none; cursor: pointer;
      width: 36px; height: 36px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: var(--text-muted);
      font-size: 1.5rem;
      line-height: 1;
      transition: background 0.2s, color 0.2s;
    }
    .modal-close:hover { background: var(--blush); color: var(--brown); }
    .modal-body { flex: 1; position: relative; overflow: hidden; }
    .modal-body iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
    .modal-wa-prompt {
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 3rem 2rem 2.5rem;
      gap: 0.8rem;
      height: 100%;
      background: var(--cream);
    }
    .modal-wa-prompt.visible { display: flex; }
    .modal-wa-icon { font-size: 4rem; margin-bottom: 0.4rem; }
    .modal-wa-prompt h3 { font-family: 'Playfair Display', serif; font-size: 1.7rem; color: var(--brown-dark); line-height: 1.25; }
    .modal-wa-prompt p { color: var(--text-muted); max-width: 400px; line-height: 1.75; font-size: 0.95rem; }
    .modal-wa-prompt .btn-wa { margin-top: 0.8rem; font-size: 1rem; padding: 0.9rem 2.2rem; }
    .modal-wa-prompt .btn-close-after {
      margin-top: 0.4rem; font-size: 0.85rem; color: var(--text-muted);
      background: none; border: none; cursor: pointer;
      text-decoration: underline; transition: color 0.2s;
    }
    .modal-wa-prompt .btn-close-after:hover { color: var(--brown); }

    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    @keyframes slideUp { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } }

    /* ════════════════════════════
       RESPONSIVE
    ════════════════════════════ */
    @media (max-width: 900px) {
      .nav-center { display: none; }
    }
    @media (max-width: 768px) {
      .hero-content { padding: 0 5%; }
      .hero-video { display: none; }
      .hero-img-fallback { display: block !important; }
      .about-inner { grid-template-columns: 1fr; gap: 3rem; }
      .about-img-badge { bottom: -1rem; right: -0.5rem; }
      .cake-spotlight-inner { grid-template-columns: 1fr; }
      .cake-spotlight-text { padding: 2.5rem 1.8rem 3rem; }
      .cake-spotlight-img img { min-height: 320px; }
      .why-inner { grid-template-columns: 1fr; }
      .why-grid { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: 1fr; }
      .gallery-item:first-child { grid-column: span 1; grid-row: span 1; }
      .gallery-item:first-child img,
      .gallery-item:not(:first-child) img { height: 220px; }
    }
  </style>
</head>
<body>

<!-- ══════════════════════════════════
     NAVBAR
══════════════════════════════════ -->
<nav id="navbar">
  <a href="#" class="nav-logo">
    <img src="images/logo.png" alt="Butter & Sprinkles Logo" onerror="this.style.display='none'"/>
    <div class="nav-logo-text">Butter &amp; <em>Sprinkles</em></div>
  </a>

  <div class="nav-center">
    <ul class="nav-links">
      <li><a href="#" class="active">Home</a></li>
      <li><a href="#about">About</a></li>
      <li><a href="#cake" class="nav-cake">🎂 Butter Cake</a></li>
      <li><a href="#menu">Menus</a></li>
      <li><a href="#gallery">Gallery</a></li>
      <li><a href="#contact">Contact</a></li>
      <li><a href="#order" style="color:var(--gold);font-weight:600;">Order Now</a></li>
    </ul>
  </div>

  <div class="nav-right">
    <button class="nav-search" aria-label="Search">
      <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/>
      </svg>
    </button>
  </div>
</nav>

<!-- ══════════════════════════════════
     HERO
══════════════════════════════════ -->
<section class="hero">
  <div class="hero-img-fallback"></div>
  <video class="hero-video" src="images/hero.mp4" autoplay muted loop playsinline preload="auto" poster="images/hero.png"></video>
  <div class="hero-overlay"></div>

  <div class="hero-content">
    <div class="hero-badge">✦ Mini Catering & Homemade Cakes ✦</div>
    <h1>Food Made with Love,<br/><em>Served with Joy</em></h1>
    <p>From cozy private gatherings to corporate events — Butter &amp; Sprinkles brings warmth and flavour to every celebration across Nilai, Bangi, Sepang &amp; beyond.</p>
    <div class="hero-btns">
      <a href="#menu" class="btn-primary">Explore Our Menu</a>
      <a href="#cake" class="btn-cake">
        🎂 Our Signature Cake
      </a>
      <a href="#order" class="btn-ghost" onclick="openOrderModal()">Place an Order</a>
    </div>
  </div>

  <div class="hero-scroll">
    <div class="hero-scroll-line"></div>
    Scroll
  </div>
</section>

<!-- Floating WhatsApp Button -->
<a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20I'm%20interested%20in%20your%20catering%20services." class="float-wa" target="_blank" rel="noopener" aria-label="Chat on WhatsApp">
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
    <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/>
  </svg>
</a>

<!-- ══════════════════════════════════
     ABOUT
══════════════════════════════════ -->
<section class="about" id="about">
  <div class="about-inner">
    <div class="about-img-wrap">
      <img src="images/roti-jala.jpeg" alt="Roti Jala by Butter & Sprinkles" onerror="this.src='https://placehold.co/500x625/fdf0df/714323?text=Butter+%26+Sprinkles'"/>
      <div class="about-img-badge">
        <strong>❤</strong>
        <span>Made with heart</span>
      </div>
    </div>
    <div class="about-text">
      <div class="section-label">Our Story</div>
      <h2 class="section-title">Homemade Flavours,<br/><em>Catered Just for You</em></h2>
      <div class="divider left"></div>
      <p>Butter &amp; Sprinkles by Nafisa is a small but passionate catering service dedicated to bringing delicious, home-cooked bites to your special moments. Whether it's a family kenduri, an office lunch, or an intimate birthday gathering — we show up with flavour, care, and a beautiful spread.</p>
      <p>Every dish is prepared fresh, with quality ingredients and the kind of love only a home cook can give.</p>
      <div class="areas">
        <span class="area-tag">📍 Nilai</span>
        <span class="area-tag">📍 Sepang</span>
        <span class="area-tag">📍 Salak Tinggi</span>
        <span class="area-tag">📍 KLIA</span>
        <span class="area-tag">📍 Dengkil</span>
        <span class="area-tag">📍 Bangi</span>
        <span class="area-tag">📍 & Nearby Areas</span>
      </div>
      <div class="about-cta">
        <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20I'd%20like%20to%20know%20more%20about%20your%20catering." class="btn-primary" target="_blank" rel="noopener">Chat with Kak Sya</a>
      </div>
    </div>
  </div>
</section>

<!-- ══════════════════════════════════
     BUTTER CAKE — HERO SPOTLIGHT
     Image: images/cake-hero.jpg
     (Full-height moody left panel)
══════════════════════════════════ -->
<section class="cake-spotlight" id="cake">
  <div class="cake-spotlight-inner">

    <!-- LEFT: Cake image -->
    <div class="cake-spotlight-img">
      <div class="cake-ribbon">⭐ Bestseller</div>
      <img
        src="images/cake-hero.jpg"
        alt="Premium Moist Butter Cake by Butter & Sprinkles"
        onerror="this.src='https://placehold.co/600x580/2b1a06/f5c842?text=Premium+Butter+Cake'"
      />
    </div>

    <!-- RIGHT: Text -->
    <div class="cake-spotlight-text">
      <div class="cake-label">✦ Signature Product ✦</div>
      <h2 class="cake-title">Premium Moist<br/><em>Butter Cake</em></h2>
      <div class="cake-divider"></div>
      <p>Buttery, dense, and impossibly moist — our signature butter cake is baked to order using a time-tested recipe that keeps people coming back, box after box.</p>
      <p>Each cake is freshly baked with premium butter, real ingredients, and no shortcuts. Perfect for gifting, dessert tables, or simply treating yourself.</p>

      <!-- Flavour variants -->
      <div class="cake-flavours">
        <span class="cake-flavour-tag">Classic Butter</span>
        <span class="cake-flavour-tag">Banana Butter</span>
        <span class="cake-flavour-tag">Marble Butter</span>
        <span class="cake-flavour-tag">Chocolate Butter</span>
        </div>

      <!-- Trust signals -->
      <div class="cake-trust">
        <div class="cake-trust-item"><span>🧈</span><span>Premium butter used</span></div>
        <div class="cake-trust-item"><span>🔥</span><span>Baked fresh to order</span></div>
        <div class="cake-trust-item"><span>📦</span><span>Self-collect or delivery</span></div>
      </div>

      <div class="cake-ctas">
        <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20Saya%20nak%20order%20Butter%20Cake.%20Boleh%20share%20details%20dan%20harga%3F%20%F0%9F%8E%82" class="btn-cake-order" target="_blank" rel="noopener">
          🎂 Order via WhatsApp
        </a>
        <a href="#cake-variants" class="btn-cake-ghost">
          See All Flavours
        </a>
      </div>
    </div>

  </div>
</section>

<!-- ══════════════════════════════════
     CAKE TESTIMONIAL
══════════════════════════════════ -->
<div class="cake-testimonial">
  <div class="cake-testimonial-inner">
    <div class="cake-stars">★★★★★</div>
    <blockquote>"Kek butter ni memang tak tipu — lembap, wangi, dan tak manis sangat. Semua orang di rumah suka. Dah order berkali-kali!"</blockquote>
    <div class="cake-testimonial-author">— Pelanggan setia dari Nilai</div>
  </div>
</div>

<!-- ══════════════════════════════════
     CAKE VARIANTS / FLAVOUR CARDS
     Images: images/cake-classic.jpg
              images/cake-banana.jpg
              images/cake-marble.jpg
              images/cake-choc.jpg
══════════════════════════════════ -->
<section class="cake-variants" id="cake-variants">
  <div class="cake-variants-inner">
    <div class="cake-variants-header">
      <div class="section-label" style="color:var(--cake-amber);">Choose Your Flavour</div>
      <h2 class="section-title">Our Butter Cake <em>Flavours</em></h2>
      <div class="divider"></div>
    </div>

    <div class="cake-variants-grid">

      <!-- Card 1: Classic -->
      <div class="cake-variant-card">
        <span class="cake-popular-badge">Most Popular</span>
        <img class="cake-variant-card-img"
          src="images/cake-classic.jpg"
          alt="Classic Butter Cake"
          onerror="this.src='https://placehold.co/400x400/fef7ec/714323?text=Classic+Butter'"/>
        <div class="cake-variant-card-body">
          <div class="cake-variant-card-name">Classic Butter</div>
          <div class="cake-variant-card-desc">The original. Rich, golden, and moist — a timeless bake that never disappoints.</div>
        </div>
      </div>

      <!-- Card 2: Banana -->
      <div class="cake-variant-card">
        <img class="cake-variant-card-img"
          src="images/cake-banana.jpg"
          alt="Banana Butter Cake"
          onerror="this.src='https://placehold.co/400x400/fef7ec/2d6b3a?text=Banana+Butter'"/>
        <div class="cake-variant-card-body">
          <div class="cake-variant-card-name">Banana Butter</div>
          <div class="cake-variant-card-desc">Fragrant banana woven through our signature butter base. A Malaysian favourite with a twist.</div>
        </div>
      </div>

      <!-- Card 3: Marble -->
      <div class="cake-variant-card">
        <img class="cake-variant-card-img"
          src="images/cake-marble.jpg"
          alt="Marble Butter Cake"
          onerror="this.src='https://placehold.co/400x400/fef7ec/4e2e14?text=Marble+Butter'"/>
        <div class="cake-variant-card-body">
          <div class="cake-variant-card-name">Marble Butter</div>
          <div class="cake-variant-card-desc">Swirls of vanilla and chocolate in every slice. As beautiful as it is delicious.</div>
        </div>
      </div>

      <!-- Card 4: Chocolate -->
      <div class="cake-variant-card">
        <img class="cake-variant-card-img"
          src="images/cake-choc.jpg"
          alt="Chocolate Butter Cake"
          onerror="this.src='https://placehold.co/400x400/fef7ec/3b1a00?text=Chocolate+Butter'"/>
        <div class="cake-variant-card-body">
          <div class="cake-variant-card-name">Chocolate Butter</div>
          <div class="cake-variant-card-desc">Deep cocoa richness meets our moist butter crumb. For the chocolate lover in every family.</div>
        </div>
      </div>

    </div>

    <div class="cake-variants-cta">
      <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20Saya%20nak%20tanya%20pasal%20Butter%20Cake%20-%20boleh%20share%20harga%20dan%20saiz%20available%3F%20%F0%9F%8E%82" class="btn-cake-order" target="_blank" rel="noopener">
        Ask About Pricing & Sizes
      </a>
    </div>
  </div>
</section>

<!-- ══════════════════════════════════
     MENU — Tabbed: Catering / Cake
══════════════════════════════════ -->
<section class="menu" id="menu">
  <div class="menu-inner">
    <div class="menu-header">
      <div class="section-label">What We Offer</div>
      <h2 class="section-title">Our <em>Full Menu</em></h2>
      <div class="divider"></div>
      <p style="color:var(--text-muted);max-width:480px;margin:0 auto;line-height:1.7;font-size:0.95rem;">Mini catering spreads and our signature bakes — fresh, made-with-love, for every occasion.</p>
    </div>

    <!-- Tab controls -->
    <div class="menu-tabs">
      <button class="menu-tab active" onclick="switchTab('catering')">🍽️ Catering Menu</button>
      <button class="menu-tab" onclick="switchTab('cake')">🎂 Butter Cake</button>
    </div>

    <!-- CATERING PANEL -->
    <div class="menu-panel active" id="panel-catering">
      <div class="menu-grid">
        <div class="menu-card">
          <img class="menu-card-img" src="images/roti-jala.jpeg" alt="Roti Jala" onerror="this.src='https://placehold.co/400x300/fdf0df/714323?text=Roti+Jala'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Main Savoury</div>
            <div class="menu-card-title">Roti Jala with Kari</div>
            <div class="menu-card-desc">Served with your choice of Kari Ayam, Kambing, or Daging. A timeless Malaysian classic.</div>
          </div>
        </div>
        <div class="menu-card">
          <img class="menu-card-img" src="images/cucur-udang.jpeg" alt="Cucur Udang" onerror="this.src='https://placehold.co/400x300/fdf0df/714323?text=Cucur+Udang'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Savoury Snack</div>
            <div class="menu-card-title">Cucur Udang</div>
            <div class="menu-card-desc">Crispy prawn fritters paired with our signature sambal kacang. Always a crowd favourite.</div>
          </div>
        </div>
        <div class="menu-card">
          <img class="menu-card-img" src="images/waffle.jpeg" alt="Mini Waffle" onerror="this.src='https://placehold.co/400x300/fdf0df/714323?text=Mini+Waffle'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Sweet Treat</div>
            <div class="menu-card-title">Mini Waffle</div>
            <div class="menu-card-desc">Bite-sized, golden waffles — perfect for dessert tables, tea parties, and sweet spreads.</div>
          </div>
        </div>
        <div class="menu-card">
          <img class="menu-card-img" src="images/kek-batik.jpg" alt="Kek Batik" onerror="this.src='https://placehold.co/400x300/fdf0df/714323?text=Kek+Batik'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Dessert</div>
            <div class="menu-card-title">Kek Batik</div>
            <div class="menu-card-desc">Available in Classic, Chocolate Ganache, or Indulgence. Rich, fudgy, and utterly irresistible.</div>
          </div>
        </div>
      </div>

      <div class="menu-list-wrap">
        <div class="menu-list-title">Full Catering Menu</div>
        <ul class="menu-list">
          <li>Roti Jala + Kari Ayam / Kambing / Daging</li>
          <li>Cucur Udang + Sambal Kacang</li>
          <li>Mini Mantao + Ayam Buttermilk</li>
          <li>Mini Martabak + Kuah Kari</li>
          <li>Mini Waffle</li>
          <li>Mini Strudel</li>
          <li>Cheese Tart</li>
          <li>Kek Batik Classic / Chocolate Ganache / Indulgence</li>
          <li>Apple Pie</li>
          <li>Dadih Susu Segar</li>
          <li>Nasi Tomato + Ayam Masak Merah + Acar</li>
          <li>Nasi Putih (Basmathi) + Ayam Berempah + Kuah Kari + Ulam</li>
        </ul>
      </div>
    </div>

    <!-- CAKE PANEL -->
    <div class="menu-panel" id="panel-cake">
      <div class="cake-menu-grid">

        <div class="menu-card">
          <span class="menu-card-badge">⭐ Bestseller</span>
          <img class="menu-card-img"
            src="images/cake-classic.jpg"
            alt="Classic Butter Cake"
            onerror="this.src='https://placehold.co/400x300/fef7ec/714323?text=Classic+Butter+Cake'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Signature Cake</div>
            <div class="menu-card-title">Classic Butter Cake</div>
            <div class="menu-card-desc">Golden, rich, and irresistibly moist. The one people always ask for again.</div>
          </div>
        </div>

        <div class="menu-card">
          <img class="menu-card-img"
            src="images/cake-banana.jpg"
            alt="Banana Butter Cake"
            onerror="this.src='https://placehold.co/400x300/fef7ec/2d6b3a?text=Banana+Butter+Cake'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Signature Cake</div>
            <div class="menu-card-title">Banana Butter Cake</div>
            <div class="menu-card-desc">A fragrant banana twist on our classic — soft, aromatic, and uniquely Malaysian.</div>
          </div>
        </div>

        <div class="menu-card">
          <img class="menu-card-img"
            src="images/cake-marble.jpg"
            alt="Marble Butter Cake"
            onerror="this.src='https://placehold.co/400x300/fef7ec/4e2e14?text=Marble+Butter+Cake'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Signature Cake</div>
            <div class="menu-card-title">Marble Butter Cake</div>
            <div class="menu-card-desc">Swirled vanilla and chocolate batter baked into one stunning, flavourful loaf.</div>
          </div>
        </div>

        <div class="menu-card">
          <img class="menu-card-img"
            src="images/cake-choc.jpg"
            alt="Chocolate Butter Cake"
            onerror="this.src='https://placehold.co/400x300/fef7ec/3b1a00?text=Chocolate+Butter+Cake'"/>
          <div class="menu-card-body">
            <div class="menu-card-tag">Signature Cake</div>
            <div class="menu-card-title">Chocolate Butter Cake</div>
            <div class="menu-card-desc">Deep cocoa richness in our signature moist butter base. Pure indulgence in every slice.</div>
          </div>
        </div>

      </div>

      <div class="menu-list-wrap" style="margin-top:2.5rem;">
        <div class="menu-list-title">Cake Details & Ordering</div>
        <ul class="menu-list">
          <li>Available in loaf size (small, medium, large)</li>
          <li>Baked fresh — order 2 days in advance</li>
          <li>Self-collect or delivery (Nilai, Bangi, Sepang area)</li>
          <li>Suitable for gifting, kenduri & dessert tables</li>
          <li>Flavours: Classic, Banana, Marble, Chocolate</li>
          <li>WhatsApp Kak Sya for custom orders & pricing</li>
        </ul>
        <div style="text-align:center;margin-top:2rem;">
          <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20Saya%20nak%20order%20Butter%20Cake.%20Boleh%20share%20harga%20dan%20saiz%3F%20%F0%9F%8E%82" class="btn-cake-order" target="_blank" rel="noopener">
            🎂 Order Butter Cake
          </a>
        </div>
      </div>
    </div>

  </div>
</section>

<!-- ══════════════════════════════════
     GALLERY
══════════════════════════════════ -->
<section class="gallery" id="gallery">
  <div class="gallery-inner">
    <div class="gallery-header">
      <div class="section-label">Our Work</div>
      <h2 class="section-title">A Peek at Our <em>Spreads</em></h2>
      <div class="divider"></div>
    </div>
    <div class="gallery-grid">
      <div class="gallery-item">
        <img src="images/gallery1.jpeg" alt="Catering Spread 1" onerror="this.src='https://placehold.co/700x440/ffdfdf/714323?text=Gallery'"/>
      </div>
      <div class="gallery-item">
        <img src="images/gallery2.jpg" alt="Catering Spread 2" onerror="this.src='https://placehold.co/350x210/fdf0df/714323?text=Gallery'"/>
      </div>
      <div class="gallery-item">
        <img src="images/gallery3.jpg" alt="Catering Spread 3" onerror="this.src='https://placehold.co/350x210/ffdfdf/714323?text=Gallery'"/>
      </div>
      <div class="gallery-item">
        <img src="images/gallery4.jpeg" alt="Catering Spread 4" onerror="this.src='https://placehold.co/350x210/ffdfdf/714323?text=Gallery'"/>
      </div>
      <div class="gallery-item">
        <img src="images/gallery5.jpeg" alt="Catering Spread 5" onerror="this.src='https://placehold.co/350x210/ffdfdf/714323?text=Gallery'"/>
      </div>
      <div class="gallery-item">
        <img src="images/gallery6.jpeg" alt="Catering Spread 6" onerror="this.src='https://placehold.co/350x210/ffdfdf/714323?text=Gallery'"/>
      </div>
    </div>
  </div>
</section>

<!-- ══════════════════════════════════
     WHY US
══════════════════════════════════ -->
<section class="why">
  <div class="why-inner">
    <div>
      <h2>Why Choose <em>Butter &amp; Sprinkles?</em></h2>
    </div>
    <div class="why-grid">
      <div class="why-item">
        <div class="why-icon">🍽️</div>
        <h4>Fresh &amp; Homemade</h4>
        <p>Every dish and cake is prepared fresh, using quality ingredients. No shortcuts, just love.</p>
      </div>
      <div class="why-item">
        <div class="why-icon">📍</div>
        <h4>Local Delivery</h4>
        <p>Covering Nilai, Bangi, Sepang, KLIA, Dengkil, Salak Tinggi, and all nearby areas.</p>
      </div>
      <div class="why-item">
        <div class="why-icon">🎂</div>
        <h4>Cake Orders Too!</h4>
        <p>Beyond catering — order our signature premium moist butter cake for any occasion or as a gift.</p>
      </div>
      <div class="why-item">
        <div class="why-icon">💬</div>
        <h4>Easy Ordering</h4>
        <p>Just drop us a WhatsApp message to get a personalised quote or cake order in minutes.</p>
      </div>
    </div>
  </div>
</section>

<!-- ══════════════════════════════════
     CONTACT
══════════════════════════════════ -->
<section class="contact" id="contact">
  <div class="contact-inner">
    <div class="section-label">Get in Touch</div>
    <h2 class="section-title">Ready to <em>Book or Order?</em></h2>
    <div class="divider"></div>
    <p>Catering enquiry or butter cake order — just drop Kak Sya a message and she'll get back to you with everything you need!</p>
    <div class="contact-card">
      <div class="contact-name">Kak Sya</div>
      <div class="contact-sub">Butter &amp; Sprinkles by Nafisa — Mini Catering & Signature Cakes</div>
      <a href="tel:+60136100589" class="contact-number">+60 13-610 0589</a>
      <div class="contact-btns">
        <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20I'm%20interested%20in%20your%20mini%20catering%20service.%20Can%20I%20get%20a%20quote%3F" class="btn-wa" target="_blank" rel="noopener">
          <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
            <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/>
          </svg>
          WhatsApp Catering
        </a>
        <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20Saya%20nak%20order%20Butter%20Cake.%20Boleh%20share%20harga%20dan%20saiz%3F%20%F0%9F%8E%82" class="btn-cake-order" style="padding:0.85rem 1.8rem;font-size:0.95rem;" target="_blank" rel="noopener">
          🎂 Order Cake
        </a>
        <button class="btn-quote" onclick="openOrderModal()">Order Form</button>
      </div>
    </div>
  </div>
</section>

<!-- ══════════════════════════════════
     ORDER CTA STRIP
══════════════════════════════════ -->
<section class="order-strip" id="order">
  <div class="order-strip-label">✦ Place Your Order ✦</div>
  <h2>Ready to <em>Place an Order?</em></h2>
  <p>Fill in our quick order form — it only takes 2 minutes. Once done, send us a WhatsApp and Kak Sya will get back to you with your personalised quote!</p>

  <div class="order-steps">
    <div class="order-step">
      <div class="order-step-num">1</div>
      <div class="order-step-text">
        <strong>Fill the Form</strong>
        Share your event details, menu choices, and date.
      </div>
    </div>
    <div class="order-step">
      <div class="order-step-num">2</div>
      <div class="order-step-text">
        <strong>Send WhatsApp</strong>
        Notify Kak Sya that your form has been submitted.
      </div>
    </div>
    <div class="order-step">
      <div class="order-step-num">3</div>
      <div class="order-step-text">
        <strong>Get Your Quote</strong>
        Kak Sya will reply with a personalised price for you.
      </div>
    </div>
  </div>

  <button class="btn-order" onclick="openOrderModal()">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>
    Fill Order Form
  </button>
</section>

<!-- ══════════════════════════════════
     TALLY FORM MODAL
══════════════════════════════════ -->
<div class="modal-backdrop" id="orderModal" role="dialog" aria-modal="true" aria-label="Order Form">
  <div class="modal-box">
    <div class="modal-header">
      <div class="modal-header-info">
        <div class="modal-header-title">Butter &amp; Sprinkles — Mini Catering Order</div>
        <div class="modal-header-sub">Fill in your details and we'll prepare a quote for you 🍽️</div>
      </div>
      <button class="modal-close" onclick="closeOrderModal()" aria-label="Close">&times;</button>
    </div>
    <div class="modal-body" id="modalFormBody">
      <iframe
        data-tally-src="https://tally.so/r/QKYylA?transparentBackground=1"
        width="100%" height="100%"
        frameborder="0" marginheight="0" marginwidth="0"
        title="BUTTER & SPRINKLES – MINI CATERING ORDER"
        id="tallyFrame"
      ></iframe>
    </div>
    <div class="modal-wa-prompt" id="waPrompt">
      <div class="modal-wa-icon">🎉</div>
      <h3>Thank You!<br/>Your Order is Submitted</h3>
      <p>Your order form has been received. Now, please send Kak Sya a WhatsApp message to let her know you've submitted your form and to request your price quotation!</p>
      <a href="https://wa.me/60136100589?text=Hi%20Kak%20Sya!%20Saya%20telah%20mengisi%20borang%20pesanan%20Butter%20%26%20Sprinkles.%20Boleh%20saya%20dapatkan%20sebut%20harga%20untuk%20tempahan%20saya%3F%20Terima%20kasih!%20%F0%9F%8D%BD%EF%B8%8F" class="btn-wa" target="_blank" rel="noopener">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
          <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/>
        </svg>
        WhatsApp Kak Sya Now
      </a>
      <button class="btn-close-after" onclick="closeOrderModal()">Close this window</button>
    </div>
  </div>
</div>

<!-- ══════════════════════════════════
     FOOTER
══════════════════════════════════ -->
<footer>
  <strong>Butter &amp; Sprinkles by Nafisa</strong> — Mini Catering &amp; Signature Butter Cake
  <div class="footer-links">
    <a href="#about">About</a>
    <a href="#cake">Butter Cake</a>
    <a href="#menu">Menu</a>
    <a href="#gallery">Gallery</a>
    <a href="#order">Order Now</a>
    <a href="#contact">Contact</a>
    <a href="https://wa.me/60136100589" target="_blank" rel="noopener">WhatsApp</a>
  </div>
  <p style="margin-top:1rem;font-size:0.75rem;opacity:0.5;">© 2025 Butter &amp; Sprinkles by Nafisa. All rights reserved.</p>
</footer>

<!-- ══════════════════════════════════
     SCRIPTS
══════════════════════════════════ -->
<script>
  /* ── Navbar scroll effect ── */
  const nav = document.getElementById('navbar');
  window.addEventListener('scroll', () => {
    nav.classList.toggle('scrolled', window.scrollY > 60);
  });

  /* ── Active nav link on scroll ── */
  const sections = document.querySelectorAll('section[id]');
  const navLinks = document.querySelectorAll('.nav-links a[href^="#"]');
  const sectionObserver = new IntersectionObserver((entries) => {
    entries.forEach(e => {
      if (e.isIntersecting) {
        navLinks.forEach(a => a.classList.remove('active'));
        const match = document.querySelector(`.nav-links a[href="#${e.target.id}"]`);
        if (match) match.classList.add('active');
      }
    });
  }, { threshold: 0.4 });
  sections.forEach(s => sectionObserver.observe(s));

  /* ── Fade-in on scroll ── */
  const fadeObserver = new IntersectionObserver((entries) => {
    entries.forEach(e => {
      if (e.isIntersecting) {
        e.target.style.animation = 'fadeUp 0.7s ease both';
        fadeObserver.unobserve(e.target);
      }
    });
  }, { threshold: 0.1 });

  document.querySelectorAll(
    '.menu-card, .why-item, .gallery-item, .about-img-wrap, .about-text, .contact-card, .cake-variant-card'
  ).forEach(el => {
    el.style.opacity = '0';
    fadeObserver.observe(el);
  });

  /* ── Video fallback ── */
  const video    = document.querySelector('.hero-video');
  const fallback = document.querySelector('.hero-img-fallback');
  if (video) {
    video.addEventListener('error', () => { video.style.display = 'none'; fallback.style.display = 'block'; });
    video.addEventListener('canplay', () => { fallback.style.display = 'none'; });
    document.addEventListener('click', () => { if (video.paused) video.play().catch(() => {}); }, { once: true });
  }

  /* ── Menu tabs ── */
  function switchTab(tab) {
    document.querySelectorAll('.menu-tab').forEach(t => t.classList.remove('active'));
    document.querySelectorAll('.menu-panel').forEach(p => p.classList.remove('active'));
    document.getElementById('panel-' + tab).classList.add('active');
    event.currentTarget.classList.add('active');
  }

  /* ── ORDER MODAL ── */
  const modal    = document.getElementById('orderModal');
  const waPrompt = document.getElementById('waPrompt');
  const formBody = document.getElementById('modalFormBody');

  function openOrderModal() {
    waPrompt.classList.remove('visible');
    formBody.style.display = 'block';
    modal.classList.add('open');
    document.body.style.overflow = 'hidden';
    if (window.Tally) window.Tally.loadEmbeds();
  }

  function closeOrderModal() {
    modal.classList.remove('open');
    document.body.style.overflow = '';
  }

  modal.addEventListener('click', (e) => { if (e.target === modal) closeOrderModal(); });
  document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeOrderModal(); });

  /* ── Tally form submit ── */
  window.addEventListener('message', (e) => {
    if (e.data && e.data.type === 'tally-form-submitted') {
      formBody.style.display = 'none';
      waPrompt.classList.add('visible');
    }
  });
</script>
</body>
</html>
