/* ──────────────────────────────────────────
       TOKENS
    ────────────────────────────────────────── */
    :root {
      --ink:        #1a1208;
      --paper:      #faf8f4;
      --spice:      #c84b0f;
      --gold:       #b8892a;
      --cream:      #f0ebe0;
      --muted:      #6b5f52;
      --border:     #e0d8cc;
      --ff-display: 'Playfair Display', Georgia, serif;
      --ff-body:    'Inter', system-ui, sans-serif;
      --max-w:      1160px;
      --radius:     6px;
      --transition: 0.25s ease;
    }

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

    body {
      font-family: var(--ff-body);
      font-size: 17px;
      line-height: 1.72;
      color: var(--ink);
      background: var(--paper);
      -webkit-font-smoothing: antialiased;
    }

    img { max-width: 100%; height: auto; display: block; }
    a { color: var(--spice); text-decoration: none; }
    a:hover { text-decoration: underline; }

    .container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }

    /* ──────────────────────────────────────────
       BREADCRUMB
    ────────────────────────────────────────── */
    .breadcrumb {
      background: var(--cream);
      border-bottom: 1px solid var(--border);
      padding: 10px 0;
      font-size: 13px;
      color: var(--muted);
    }
    .breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 0; }
    .breadcrumb li + li::before { content: '›'; margin-right: 6px; color: var(--border); }
    .breadcrumb a { color: var(--muted); }
    .breadcrumb a:hover { color: var(--spice); }

    /* ──────────────────────────────────────────
       HERO
    ────────────────────────────────────────── */
    .hero {
      background: var(--ink);
      color: #fff;
      padding: 100px 0 80px;
      position: relative;
      overflow: hidden;
      text-align: center;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background: url('https://images.unsplash.com/photo-1555396273-367ea4eb4db5?w=1600&q=80') center/cover no-repeat;
      opacity: 0.18;
    }
    .hero-inner { position: relative; max-width: 820px; margin: 0 auto; padding: 0 24px; }
    .hero-eyebrow {
      display: inline-block;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid rgba(184,137,42,0.4);
      padding: 4px 14px;
      border-radius: 20px;
      margin-bottom: 24px;
    }
    .hero h1 {
      font-family: var(--ff-display);
      font-size: clamp(2.2rem, 5vw, 3.6rem);
      font-weight: 700;
      line-height: 1.18;
      color: #fff;
      margin-bottom: 22px;
    }
    .hero h1 em { color: var(--gold); font-style: italic; }
    .hero-sub {
      font-size: 1.1rem;
      color: rgba(255,255,255,0.82);
      max-width: 620px;
      margin: 0 auto 40px;
    }
    .btn {
      display: inline-block;
      padding: 14px 34px !important;
      border-radius: var(--radius) !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      transition: opacity var(--transition), transform var(--transition);
      cursor: pointer;
    }
    .btn:hover { opacity: 0.88; transform: translateY(-2px); text-decoration: none; }
    .btn-primary { background: var(--spice) !important; color: #fff; border-color: var(--border) !important;}
    .btn-outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.5) !important; margin-left: 12px; }
    .hero-stats {
      display: flex; justify-content: center; gap: 48px;
      margin-top: 60px;
      padding-top: 40px;
      border-top: 1px solid rgba(255,255,255,0.12);
    }
    .stat-item { text-align: center; }
    .stat-num { font-family: var(--ff-display); font-size: 2rem; color: var(--gold); font-weight: 700; }
    .stat-label { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; text-transform: uppercase; letter-spacing: 0.1em; }

    .calendly-meeting-rest {background-color: #faf8f4;}

    /* ──────────────────────────────────────────
       SECTIONS
    ────────────────────────────────────────── */
    section { padding: 80px 0; }
    .section-label {
      font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--spice); margin-bottom: 12px;
    }
    h2 {
      font-family: var(--ff-display);
      font-size: clamp(1.8rem, 3.5vw, 2.7rem);
      line-height: 1.22;
      color: var(--ink);
      margin-bottom: 18px;
    }
    h3 {
      font-family: var(--ff-display);
      font-size: 1.3rem;
      margin-bottom: 10px;
      color: var(--ink);
    }
    p { margin-bottom: 16px; color: var(--muted); }
    p:last-child { margin-bottom: 0; }

    /* ──────────────────────────────────────────
       INTRO / TWO-COL
    ────────────────────────────────────────── */
    .page-intro {
      background: #fff;
      border-bottom: 1px solid var(--border);
    }
    .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
    .two-col .text-col p { font-size: 1.05rem; }
    .intro-img {
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,0.12);
    }
    .intro-img img { width: 100%; object-fit: cover; aspect-ratio: 4/3; }

    /* ──────────────────────────────────────────
       SERVICES GRID
    ────────────────────────────────────────── */
    .services { background: var(--paper); }
    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 28px;
      margin-top: 48px;
    }
    .service-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 36px 30px;
      transition: box-shadow var(--transition), border-color var(--transition);
    }
    .service-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.08); border-color: var(--spice); }
    .service-icon {
      width: 48px; height: 48px;
      background: var(--cream);
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px;
      font-size: 22px;
    }
    .service-card h3 { font-size: 1.15rem; }
    .service-card p { font-size: 0.95rem; }

    /* ──────────────────────────────────────────
       INDIAN RESTAURANT SPOTLIGHT
    ────────────────────────────────────────── */
    .spotlight {
      background: var(--ink);
      color: #fff;
    }
    .spotlight h2 { color: #fff; }
    .spotlight h2 em { color: var(--gold); font-style: italic; }
    .spotlight p { color: rgba(255,255,255,0.75); }
    .spotlight .two-col { gap: 72px; }
    .spotlight-list { list-style: none; margin-top: 24px; }
    .spotlight-list li {
      padding: 10px 0;
      border-bottom: 1px solid rgba(255,255,255,0.1);
      display: flex; align-items: flex-start; gap: 12px;
      color: rgba(255,255,255,0.82);
      font-size: 0.97rem;
    }
    .spotlight-list li::before { content: '✦'; color: var(--gold); flex-shrink: 0; margin-top: 2px; }
    .spotlight-visual {
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 8px;
      overflow: hidden;
    }
    .spotlight-visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; opacity: 0.9; }

    /* ──────────────────────────────────────────
       TIPS SECTION
    ────────────────────────────────────────── */
    .tips { background: var(--cream); }
    .tips-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
      margin-top: 48px;
    }
    .tip-card {
      background: #fff;
      border-radius: 8px;
      padding: 28px 24px;
      border-left: 4px solid var(--spice);
    }
    .tip-num {
      font-family: var(--ff-display);
      font-size: 2rem;
      color: var(--spice);
      opacity: 0.3;
      font-weight: 700;
      line-height: 1;
      margin-bottom: 10px;
    }
    .tip-card h3 { font-size: 1.05rem; margin-bottom: 8px; }
    .tip-card p { font-size: 0.93rem; }

    /* ──────────────────────────────────────────
       PORTFOLIO ROW
    ────────────────────────────────────────── */
    .portfolio { background: #fff; }
    .portfolio-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      margin-top: 48px;
    }
    .portfolio-item {
      border-radius: 8px;
      overflow: hidden;
      position: relative;
      aspect-ratio: 4/3;
      background: var(--cream);
    }
    .portfolio-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
    .portfolio-item:hover img { transform: scale(1.04); }
    .portfolio-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(26,18,8,0.85), transparent 55%);
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 20px;
      opacity: 0;
      transition: opacity var(--transition);
    }
    .portfolio-item:hover .portfolio-overlay { opacity: 1; }
    .portfolio-overlay span { color: #fff; font-size: 0.9rem; font-weight: 600; }
    .portfolio-overlay small { color: rgba(255,255,255,0.7); font-size: 0.8rem; }

    /* ──────────────────────────────────────────
       PROCESS
    ────────────────────────────────────────── */
    .process { background: var(--paper); }
    .process-steps {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 0;
      margin-top: 56px;
      position: relative;
    }
    .process-steps::after {
      content: '';
      position: absolute;
      top: 28px; left: 14%; right: 14%;
      height: 1px;
      background: var(--border);
      z-index: 0;
    }
    .step { text-align: center; padding: 0 16px; position: relative; z-index: 1; }
    .step-dot {
      width: 56px; height: 56px;
      border-radius: 50%;
      background: #fff;
      border: 2px solid var(--spice);
      margin: 0 auto 20px;
      display: flex; align-items: center; justify-content: center;
      font-family: var(--ff-display);
      font-weight: 700;
      font-size: 1.1rem;
      color: var(--spice);
    }
    .step h3 { font-size: 1rem; margin-bottom: 8px; }
    .step p { font-size: 0.88rem; }

    /* ──────────────────────────────────────────
       TESTIMONIALS
    ────────────────────────────────────────── */
    .testimonials { background: var(--cream); }
    .testi-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 24px;
      margin-top: 48px;
    }
    .testi-card {
      background: #fff;
      border-radius: 8px;
      padding: 32px 28px;
      border: 1px solid var(--border);
    }
    .stars { color: var(--gold); margin-bottom: 16px; font-size: 1rem; letter-spacing: 2px; }
    .testi-quote {
      font-family: var(--ff-display);
      font-style: italic;
      font-size: 1.05rem;
      line-height: 1.6;
      color: var(--ink);
      margin-bottom: 20px;
    }
    .testi-author { display: flex; align-items: center; gap: 14px; }
    .testi-avatar {
      width: 44px; height: 44px; border-radius: 50%;
      background: var(--cream);
      overflow: hidden; flex-shrink: 0;
    }
    .testi-avatar img { width: 100%; height: 100%; object-fit: cover; }
    .testi-name { font-weight: 600; font-size: 0.95rem; }
    .testi-role { font-size: 0.82rem; color: var(--muted); }

    /* ──────────────────────────────────────────
       FAQ
    ────────────────────────────────────────── */
    .faq-section { background: #fff; }
    .faq-wrap { max-width: 820px; margin: 48px auto 0; }
    details {
      border-bottom: 1px solid var(--border);
    }
    summary {
      padding: 22px 0;
      cursor: pointer;
      font-weight: 600;
      font-size: 1.02rem;
      color: var(--ink);
      list-style: none;
      display: flex; justify-content: space-between; align-items: center;
    }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: '+'; font-size: 1.4rem; color: var(--spice); transition: transform var(--transition); }
    details[open] summary::after { transform: rotate(45deg); }
    .faq-answer { padding: 0 0 22px; color: var(--muted); font-size: 0.97rem; }

    /* ──────────────────────────────────────────
       CTA BAND
    ────────────────────────────────────────── */
    .cta-band {
      background: linear-gradient(135deg, var(--spice) 0%, #8b2c00 100%);
      color: #fff;
      text-align: center;
      padding: 80px 24px;
    }
    .cta-band h2 { color: #fff; font-size: clamp(1.8rem, 3vw, 2.6rem); margin-bottom: 16px; }
    .cta-band p { color: rgba(255,255,255,0.85); margin-bottom: 36px; font-size: 1.05rem; }
    .btn-white { background: #fff; color: var(--spice); }
    .btn-white:hover { background: var(--cream); }

    /* ──────────────────────────────────────────
       FOOTER NAV
    ────────────────────────────────────────── */
    .page-footer {
      background: var(--ink);
      color: rgba(255,255,255,0.5);
      padding: 32px 0;
      font-size: 13px;
      text-align: center;
    }
    .page-footer a { color: rgba(255,255,255,0.5); }
    .page-footer a:hover { color: var(--gold); }

    /* ──────────────────────────────────────────
       RESPONSIVE
    ────────────────────────────────────────── */
    @media (max-width: 768px) {
      .two-col { grid-template-columns: 1fr; gap: 36px; }
      .portfolio-grid { grid-template-columns: 1fr 1fr; }
      .hero-stats { gap: 24px; }
      .btn-outline { display: none; }
      .process-steps::after { display: none; }
    }
    @media (max-width: 520px) {
      .portfolio-grid { grid-template-columns: 1fr; }
      .breadcrumb {font-size: 12px;}
      .breadcrumb ol {padding-left: 0;}
    }