
  :root{
    --maroon:#9e3232;
    --maroon-deep:#7a2424;
    --maroon-dark:#5c1a1a;
    --saffron:#d4a02a;
    --saffron-soft:#e8c878;
    --cream:#fdf7ec;
    --cream-2:#f6ebd7;
    --ink:#2a1a18;
    --ink-soft:#5b4a47;
    --line:rgba(154,50,50,.16);
    --shadow:0 18px 50px -22px rgba(92,26,26,.45);
    --display:'Fraunces', Georgia, 'Times New Roman', serif;
    --body:'Mukta', system-ui, sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}

h1, h2, h3, h4, h5 { 
    margin: 0;
}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--body);
    color:var(--ink);
    background:var(--cream);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px}

  /* ---------- decorative spice-dot divider ---------- */
  .divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;color:var(--saffron)}
  .divider::before,.divider::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--saffron))}
  .divider::after{background:linear-gradient(90deg,var(--saffron),transparent)}
  .divider svg{width:22px;height:22px}

  .eyebrow{
    font-family:var(--body);font-weight:600;letter-spacing:.32em;text-transform:uppercase;
    font-size:1.15rem;color:var(--maroon);margin-bottom:14px;display:inline-block;
  }
  h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;color:var(--maroon-dark)}

  /* ---------- top utility / CTA bar (always-visible conversion) ---------- */
  .topbar{
    background:var(--maroon-dark);color:#fbeede;font-size:.86rem;
    position:sticky;top:0;z-index:50;
  }
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;flex-wrap:wrap}
  .topbar a.tel{display:inline-flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.02em}
  .topbar .acts{display:flex;gap:10px}
  .btn{
    display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;
    border-radius:999px;padding:11px 22px;font-size:1.4rem;letter-spacing:.02em;cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
    border:1.5px solid transparent;white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px)}
  .btn-gold{background:var(--saffron);color:#3a2400;box-shadow:0 10px 24px -12px rgba(212,160,42,.9)}
  .btn-gold:hover{background:var(--saffron-soft)}
  .btn-outline-light{border-color:rgba(255,255,255,.55);color:#fbeede}
  .btn-outline-light:hover{background:rgba(255,255,255,.12)}
  .btn-maroon{background:var(--maroon);color:#fff;box-shadow:0 12px 26px -14px rgba(154,50,50,.9)}
  .btn-maroon:hover{background:var(--maroon-deep)}
  .btn-outline{border-color:var(--maroon);color:var(--maroon)}
  .btn-outline:hover{background:var(--maroon);color:#fff}
  .topbar .acts .btn{padding:8px 16px;font-size:.82rem}

  /* ---------- breadcrumb ---------- */
  .crumb{background:var(--cream-2);font-size:.82rem;color:var(--ink-soft)}
  .crumb .wrap{padding-top:12px;padding-bottom:12px}
  .crumb a:hover{color:var(--maroon)}
  .crumb span{color:var(--maroon);font-weight:600}

  /* ---------- HERO ---------- */
  .hero{position:relative;background:var(--maroon-dark);color:#fff;overflow:hidden}
  .hero::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(120% 90% at 85% 10%, rgba(212,160,42,.22), transparent 55%),
      linear-gradient(180deg,#5c1a1a 0%, #7a2424 100%);
  }
  .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:74px 0 84px}
  .hero h1{color:#fff;font-size:clamp(2.3rem,4.6vw,3.7rem);letter-spacing:-.01em}
  .hero h1 em{font-style:italic;color:var(--saffron-soft)}
  .hero p.lead{margin-top:20px;font-size:1.78rem;color:#f3ddd0; font-weight:300}
  .hero .eyebrow{color:var(--saffron-soft)}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
  .hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;font-size:1.4rem;color:#f0d4c6}
  .hero-meta span{display:inline-flex;align-items:center;gap:8px}
  .hero-meta svg{width:17px;height:17px;color:var(--saffron-soft)}
  .hero-photo{position:relative}
  .hero-photo img{
    border-radius:18px;box-shadow:0 30px 70px -28px rgba(0,0,0,.7);
    border:5px solid rgba(255,255,255,.08);aspect-ratio:4/5;object-fit:cover;width:100%;
  }
  .hero-photo .badge{
    position:absolute;bottom:-22px;left:-22px;background:var(--cream);color:var(--maroon-dark);
    border-radius:14px;padding:16px 22px;box-shadow:var(--shadow);text-align:center;
  }
  .hero-photo .badge b{font-family:var(--display);font-size:2.6rem;display:block;line-height:1}
  .hero-photo .badge small{font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}

  /* ---------- reveal animation ---------- */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- trust strip ---------- */
  .trust{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .trust .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:26px 24px}
  .trust .item{text-align:center;padding:6px 4px}
  .trust .item svg{width:26px;height:26px;color:var(--maroon);margin-bottom:6px}
  .trust .item b{display:block;font-family:var(--display);font-size:1.02rem;color:var(--maroon-dark);font-weight:600}
  .trust .item small{font-size:.74rem;color:var(--ink-soft);letter-spacing:.02em}

  /* ---------- sections ---------- */
  section.block{padding:78px 0}
  .sec-head{text-align:center;max-width:77rem;margin:0 auto 50px}
  .sec-head h2{font-size:44px;margin-top:14px}
  .sec-head p{margin-top:16px;color:var(--ink-soft);font-size:1.68rem}

  /* story */
  .story{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
  .story-img{position:relative}
  .story-img img{border-radius:16px;box-shadow:var(--shadow);aspect-ratio:5/4;object-fit:cover;width:100%}
  .story-img .frame{position:absolute;inset:14px;border:1.5px solid var(--saffron);border-radius:12px;pointer-events:none;mix-blend-mode:overlay}
  .story h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
  .story p{margin-top:18px;color:var(--ink-soft);font-size:1.64rem}
  .story p strong{color:var(--maroon-dark);font-weight:600}
  .story .micro-cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}

  /* regions */
  .regions{background:var(--maroon-dark);color:#fff}
  .regions .sec-head h2,.regions .eyebrow{color:#fff}
  .regions .eyebrow{color:var(--saffron-soft)}
  .regions .sec-head p{color:#f0d6c8}
  .region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
  .region-card{
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;
    padding:30px 26px;transition:transform .35s ease,background .35s ease;
  }
  .region-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09)}
  .region-card h3{color:var(--saffron-soft);font-size:2.8rem;font-style:italic}
  .region-card p{color:#ecd3c6;margin-top:12px;font-size:1.57rem}
  .region-card .dishes{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
  .region-card .dishes span{font-size:1.11rem;background:rgba(212,160,42,.16);color:var(--saffron-soft);border-radius:999px;padding:5px 13px}
  .regions .center-cta{text-align:center;margin-top:46px}

  /* why cards */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .why-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;box-shadow:0 14px 40px -30px rgba(92,26,26,.5);transition:transform .35s ease,box-shadow .35s ease}
  .why-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(92,26,26,.5)}
  .why-card .ic{width:50px;height:50px;border-radius:12px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;color:var(--maroon);margin-bottom:18px}
  .why-card .ic svg{width:25px;height:25px}
  .why-card h3{font-size:2rem}
  .why-card p{margin-top:10px;color:var(--ink-soft);font-size:1.552rem}

  /* location */
  .location{background:var(--cream-2)}
  .loc-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:46px;align-items:stretch}
  .loc-info h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
  .loc-info p{margin-top:16px;color:var(--ink-soft);font-size:1.64rem}
  .walk-list{margin-top:26px;display:flex;flex-direction:column;gap:2px}
  .walk-list li{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}
  .walk-list li:last-child{border-bottom:none}
  .walk-list .pin{flex:none;width:40px;height:40px;border-radius:50%;background:var(--maroon);color:#fff;display:flex;align-items:center;justify-content:center}
  .walk-list .pin svg{width:18px;height:18px}
  .walk-list b{display:block;color:var(--maroon-dark);font-family:var(--display);font-size:1.68rem}
  .walk-list small{color:var(--ink-soft);font-size:1.39rem}
  .nap{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px}
  .nap .row{display:flex;gap:14px;align-items:flex-start;padding:9px 0}
  .nap .row svg{width:19px;height:19px;color:var(--maroon);flex:none;margin-top:3px}
  .nap .row b{color:var(--maroon-dark)}
  .nap .row span{color:var(--ink-soft);font-size:1.53rem}
  .nap .nap-cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
  .loc-map{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);min-height:420px;border:5px solid #fff}
  .loc-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}

  /* reviews */
  .reviews{text-align:center}
  .stars{color:var(--saffron);font-size:1.5rem;letter-spacing:.15em;margin-bottom:10px}
  .review-quote{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.6vw,2rem);color:var(--maroon-dark);max-width:46rem;margin:0 auto;line-height:1.4}
  .review-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:36px}
  .review-logos a{
    display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
    border-radius:999px;padding:11px 22px;font-weight:600;color:var(--maroon-dark);font-size:1.49rem;
    transition:transform .25s ease,border-color .25s ease;
  }
  .review-logos a:hover{transform:translateY(-3px);border-color:var(--saffron)}
  .review-logos svg{width:18px;height:18px;color:var(--saffron)}

  /* FAQ */
  .faq{background:var(--cream-2)}
  .faq-list{max-width:80rem;margin:0 auto}
  details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden;transition:box-shadow .3s ease}
  details[open]{box-shadow:0 18px 44px -30px rgba(92,26,26,.5)}
  summary{
    list-style:none;cursor:pointer;padding:20px 56px 20px 24px;font-family:var(--display);
    font-weight:600;font-size:1.75rem;color:var(--maroon-dark);position:relative;
  }
  summary::-webkit-details-marker{display:none}
  summary::after{
    content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
    font-size:1.5rem;color:var(--saffron);font-family:var(--body);transition:transform .3s ease;
  }
  details[open] summary::after{content:"–"}
  details .ans{padding:0 24px 22px;color:var(--ink-soft);font-size:1.6rem}

  /* final CTA */
  .final{position:relative;background:linear-gradient(120deg,var(--maroon-dark),var(--maroon));color:#fff;text-align:center;overflow:hidden}
  .final::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 50% 0%,rgba(212,160,42,.22),transparent 60%)}
  .final .wrap{position:relative;padding:78px 24px}
  .final h2{color:#fff;font-size:clamp(2rem,3.6vw,3rem)}
  .final p{color:#f3ddd0;margin-top:16px;font-size:1.1rem;max-width:36rem;margin-left:auto;margin-right:auto;font-weight:300}
  .final-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}

  /* footer mini */
  .foot{background:var(--maroon-dark);color:#e9cfc2;font-size:.88rem;border-top:1px solid rgba(255,255,255,.08)}
  .foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:26px 24px}
  .foot a:hover{color:var(--saffron-soft)}
  .foot .social{display:flex;gap:14px}
  .foot .social a{display:inline-flex}
  .foot .social svg{width:19px;height:19px}

  /* ---------- responsive ---------- */
  @media(max-width:960px){
    .hero-grid{grid-template-columns:1fr;gap:48px;padding:54px 0 64px}
    .hero-photo{max-width:420px;margin:0 auto}
    .trust .wrap{grid-template-columns:repeat(3,1fr);gap:18px}
    .story,.loc-grid{grid-template-columns:1fr;gap:36px}
    .region-grid,.why-grid{grid-template-columns:1fr}
    .loc-map{order:-1;min-height:320px}
    .loc-map iframe{min-height:320px}
  }
  @media(max-width:560px){
    .topbar .acts{display:none}
    .trust .wrap{grid-template-columns:repeat(2,1fr)}
    .hero-cta .btn,.final-cta .btn{flex:1 1 auto;justify-content:center}
  }
