:root{
  --orange:#F2891E;
  --orange-deep:#D9700F;
  --green:#2F5233;
  --green-dark:#1E3A22;
  --brown:#3B2418;
  --cream:#FFF9EE;
  --cream2:#FDEFD6;
  --chili:#C0392B;
  --ink:#2A1D14;
  --steel:#7A6E5E;
}
*{box-sizing:border-box;}
body{font-family:'Work Sans',sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden;}
h1,h2,h3,.brand{font-family:'Fraunces',serif;}
.brand{font-style:italic;font-weight:700;color:var(--brown);}
a{text-decoration:none;}

/* ---------- NAV ---------- */
.navbar{background:var(--cream);padding:14px 0;transition:.3s;border-bottom:3px solid transparent;}
.navbar.scrolled{box-shadow:0 4px 20px rgba(59,36,24,.1);border-bottom-color:var(--orange);}
.navbar .nav-link{color:var(--ink);font-weight:500;margin:0 10px;position:relative;}
.navbar .nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--orange);transition:.3s;}
.navbar .nav-link:hover::after{width:100%;}
.nav-logo{height:52px;width:auto;}
.btn-order{background:var(--chili);color:#fff;border-radius:30px;padding:8px 24px;font-weight:600;transition:.3s;}
.btn-order:hover{background:var(--green);color:#fff;transform:translateY(-2px);}

/* ---------- HERO ---------- */
.hero{background:linear-gradient(160deg,var(--cream) 0%,var(--cream2) 55%,#F7DDA9 100%);padding:150px 0 100px;position:relative;overflow:hidden;}
.hero .eyebrow{color:var(--chili);letter-spacing:.5px;font-weight:600;}
.hero h1{font-size:3.3rem;line-height:1.12;font-weight:700;color:var(--brown);}
.hero h1 em{color:var(--orange-deep);font-style:italic;}
.hero p.lead{color:var(--steel);max-width:480px;}
.blob{position:absolute;border-radius:50%;opacity:.35;}
.b1{width:340px;height:340px;background:var(--orange);top:-100px;right:6%;animation:float 8s ease-in-out infinite;}
.b2{width:200px;height:200px;background:var(--green);bottom:-60px;right:28%;opacity:.2;animation:float 10s ease-in-out infinite reverse;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-25px);}}
.hero-logo-wrap{width:340px;margin:0 auto;position:relative;animation:popIn 1s cubic-bezier(.2,.8,.2,1);}
@keyframes popIn{from{opacity:0;transform:scale(.75) rotate(-8deg);}to{opacity:1;transform:scale(1) rotate(0);}}
.hero-logo-wrap img{width:100%;filter:drop-shadow(0 25px 40px rgba(59,36,24,.25));}
.btn-turmeric{background:var(--orange);color:#fff;border-radius:30px;padding:12px 30px;font-weight:700;transition:.3s;display:inline-block;}
.btn-turmeric:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(217,112,15,.4);color:#fff;}
.btn-outline-brown{border:2px solid var(--brown);color:var(--brown);border-radius:30px;padding:12px 28px;font-weight:600;display:inline-block;}
.btn-outline-brown:hover{background:var(--brown);color:#fff;}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.reveal.show{opacity:1;transform:translateY(0);}

/* ---------- ABOUT ---------- */
.section-label{color:var(--chili);font-weight:600;letter-spacing:.3px;}
.about-img{width:100%;aspect-ratio:1/1;border-radius:22px;background:linear-gradient(160deg,var(--orange),var(--brown));position:relative;}
.about-img::after{content:'🌿';position:absolute;font-size:3rem;bottom:-18px;left:-18px;background:var(--cream);border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.15);}
.stat-num{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:700;color:var(--green);}

/* ---------- SERVICES ---------- */
.service-card{background:#fff;border-radius:18px;padding:34px 26px;height:100%;border-bottom:4px solid transparent;transition:.35s;}
.service-card:hover{border-bottom-color:var(--orange);transform:translateY(-8px);box-shadow:0 20px 40px rgba(59,36,24,.12);}
.service-icon{width:56px;height:56px;border-radius:14px;background:var(--green);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:18px;}

/* ---------- WHY LOVE ---------- */
.why{background:linear-gradient(160deg,var(--green-dark),var(--green));color:var(--cream);}
.why-item{border-left:3px solid var(--orange);padding-left:18px;}
.why-item h5{color:var(--orange);font-family:'Fraunces',serif;}

/* ---------- SOCIAL ---------- */
.post-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.06);transition:.3s;}
.post-card:hover{transform:translateY(-6px);}
.post-media{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:2.6rem;}
.post-media.m1{background:linear-gradient(135deg,var(--orange),var(--chili));}
.post-media.m2{background:linear-gradient(135deg,var(--green),#4C7A52);}
.post-media.m3{background:linear-gradient(135deg,var(--chili),var(--brown));}
.post-media.m4{background:linear-gradient(135deg,#4C7A52,var(--orange));}
.post-body{padding:14px 16px;font-size:.9rem;}
.post-handle{font-weight:700;color:var(--brown);}

/* ---------- REVIEWS ---------- */



.reviews-section {

    position: relative;

    padding: 100px 0 90px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(239,100,29,.08),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(239,100,29,.08),
            transparent 30%
        ),
        #fff1d8;
}


/* Decorative circle */

.reviews-section::before {

    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    border: 1px solid rgba(239,100,29,.12);

    border-radius: 50%;

    left: -220px;
    top: -200px;

}


/* ========================================
   HEADING
======================================== */

.reviews-heading {

    text-align: center;

    margin-bottom: 55px;
}


.review-label {

    display: inline-block;

    color: #ef641d;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    margin-bottom: 12px;
}


.reviews-heading h2 {

    margin: 0;

    color: #20160f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(40px, 5vw, 58px);

    font-weight: 500;

    line-height: 1.1;
}


.reviews-heading h2 span {

    color: #ef641d;

    font-style: italic;
}


.reviews-heading p {

    margin: 15px auto 0;

    color: #756c61;

    font-size: 16px;

}


/* ========================================
   SLIDER
======================================== */

.reviews-slider {

    position: relative;

    max-width: 1100px;

    margin: auto;

    overflow: hidden;

    padding: 10px 0 30px;
}


.reviews-track {

    display: flex;

    transition:
        transform .7s cubic-bezier(.22,.61,.36,1);
}


.review-slide {

    min-width: 100%;

    display: flex;

    justify-content: center;

    padding: 0 70px;
}


/* ========================================
   REVIEW CARD
======================================== */

.review-card {

    position: relative;

    width: 100%;

    max-width: 760px;

    min-height: 330px;

    padding: 45px 55px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: #ffffff;

    border-radius: 25px;

    border: 1px solid rgba(0,0,0,.04);

    box-shadow:
        0 20px 60px rgba(79,48,20,.10);

    transition: .4s ease;
}


.review-card:hover {

    transform: translateY(-6px);

    box-shadow:
        0 30px 70px rgba(79,48,20,.15);
}


/* ========================================
   QUOTE
======================================== */

.quote-icon {

    position: absolute;

    right: 35px;

    top: 20px;

    font-size: 85px;

    line-height: 1;

    color: rgba(239,100,29,.08);

    font-family: Georgia, serif;
}


/* ========================================
   STARS
======================================== */

.stars {

    color: #ef641d;

    font-size: 20px;

    letter-spacing: 4px;

    margin-bottom: 25px;
}


/* ========================================
   REVIEW TEXT
======================================== */

.review-text {

    position: relative;

    z-index: 2;

    max-width: 650px;

    margin: 0 0 30px;

    color: #171717;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;

    line-height: 1.55;
}


/* ========================================
   USER
======================================== */

.review-user {

    display: flex;

    align-items: center;

    gap: 14px;
}


.user-avatar {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: white;

    background:
        linear-gradient(
            135deg,
            #ef641d,
            #ff8a35
        );

    font-weight: 700;

    font-size: 15px;
}


.review-user h4 {

    margin: 0 0 3px;

    color: #171717;

    font-size: 16px;

    font-weight: 700;
}


.review-user span {

    color: #999;

    font-size: 13px;
}


/* ========================================
   NAVIGATION BUTTONS
======================================== */

.review-btn {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 52px;

    height: 52px;

    border-radius: 50%;

    border: 1px solid rgba(239,100,29,.25);

    background: white;

    color: #ef641d;

    font-size: 19px;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    z-index: 10;

    transition: .3s ease;

    box-shadow:
        0 8px 25px rgba(0,0,0,.08);
}


.review-btn:hover {

    color: white;

    background: #ef641d;

    border-color: #ef641d;

    transform:
        translateY(-50%)
        scale(1.08);
}


.review-prev {

    left: 0;
}


.review-next {

    right: 0;
}


/* ========================================
   DOTS
======================================== */

.review-dots {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 9px;

    margin-top: 10px;
}


.review-dot {

    width: 9px;

    height: 9px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: #d8c5aa;

    cursor: pointer;

    transition: .3s ease;
}


.review-dot.active {

    width: 28px;

    border-radius: 20px;

    background: #ef641d;
}


/* ========================================
   RESPONSIVE
======================================== */

@media(max-width: 767px) {

    .reviews-section {

        padding: 70px 0;
    }


    .reviews-heading {

        margin-bottom: 35px;
    }


    .reviews-heading h2 {

        font-size: 38px;
    }


    .review-slide {

        padding: 0 10px;
    }


    .review-card {

        min-height: 350px;

        padding: 35px 28px;

        border-radius: 20px;
    }


    .review-text {

        font-size: 20px;

        line-height: 1.5;
    }


    .review-btn {

        width: 42px;

        height: 42px;

        font-size: 15px;
    }


    .review-prev {

        left: 5px;
    }


    .review-next {

        right: 5px;
    }


    .quote-icon {

        right: 20px;

        font-size: 65px;
    }

}


/* ---------- CONTACT ---------- */
.map-box{border-radius:20px;overflow:hidden;height:100%;min-height:420px;position:relative;background:linear-gradient(160deg,var(--green),var(--green-dark));}
.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);font-size:2.4rem;animation:bounce 1.8s infinite;}
@keyframes bounce{0%,100%{transform:translate(-50%,-100%);}50%{transform:translate(-50%,-115%);}}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,249,238,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,249,238,.06) 1px,transparent 1px);background-size:32px 32px;}
.form-control{border-radius:10px;border:1px solid #e8d9bd;padding:12px 14px;}
.form-control:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,137,30,.2);}
.btn-submit{background:var(--chili);color:#fff;border-radius:30px;padding:12px 34px;font-weight:700;border:none;transition:.3s;}
.btn-submit:hover{background:var(--green);}

/* ---------- FOOTER ---------- */

    .md-footer {
      position: relative;
      overflow: hidden;
      color: #fff8f0;
      background:
        radial-gradient(circle at 10% 15%, rgba(232, 161, 91, 0.18), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(232, 161, 91, 0.14), transparent 25%),
        linear-gradient(135deg, #3a2118 0%, #4a2b20 52%, #2c1914 100%);
      padding: 75px 0 0;
    }

    .md-footer::before,
    .md-footer::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(232, 161, 91, 0.16);
      border-radius: 50%;
      pointer-events: none;
      animation: mdFloat 12s ease-in-out infinite;
    }

    .md-footer::before {
      width: 330px;
      height: 330px;
      top: -210px;
      right: -100px;
    }

    .md-footer::after {
      width: 260px;
      height: 260px;
      bottom: 95px;
      left: -180px;
      animation-delay: -4s;
    }

    .md-footer-container {
      position: relative;
      z-index: 2;
    }

    .md-footer-brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      color: #fff8f0;
      text-decoration: none;
      margin-bottom: 22px;
    }

    .md-brand-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 52px;
      height: 52px;
      border-radius: 16px;
      color: #3a2118;
      background: linear-gradient(135deg, #f7d7b4, #e8a15b);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
      font-size: 24px;
      transform: rotate(-7deg);
      transition: transform .35s ease;
    }

    .md-footer-brand:hover .md-brand-icon {
      transform: rotate(0deg) scale(1.08);
    }

    .md-brand-name {
      font-family: Georgia, serif;
      font-size: clamp(25px, 3vw, 34px);
      line-height: 1.05;
      font-weight: 700;
    }

    .md-brand-subtitle {
      display: block;
      color: #e8a15b;
      font-family: "Poppins", Arial, sans-serif;
      font-size: 10px;
      letter-spacing: 2.4px;
      text-transform: uppercase;
      margin-top: 7px;
      font-weight: 700;
    }

    .md-footer-description {
      max-width: 410px;
      color: #d9bca9;
      font-size: 14px;
      line-height: 1.9;
      margin-bottom: 25px;
    }

    .md-footer-heading {
      position: relative;
      display: inline-block;
      color: #fff8f0;
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 25px;
      padding-bottom: 12px;
    }

    .md-footer-heading::after {
      content: "";
      position: absolute;
      width: 35px;
      height: 3px;
      left: 0;
      bottom: 0;
      border-radius: 30px;
      background: #e8a15b;
      transition: width .3s ease;
    }

    .md-footer-column:hover .md-footer-heading::after {
      width: 65px;
    }

    .md-footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .md-footer-links li {
      margin-bottom: 13px;
    }

    .md-footer-links a {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: #d9bca9;
      text-decoration: none;
      font-size: 14px;
      transition: color .3s ease, transform .3s ease;
    }

    .md-footer-links a i {
      color: #e8a15b;
      font-size: 11px;
      transition: transform .3s ease;
    }

    .md-footer-links a:hover {
      color: #fff;
      transform: translateX(5px);
    }

    .md-footer-links a:hover i {
      transform: translateX(3px);
    }

    .md-contact-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .md-contact-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 18px;
      color: #d9bca9;
      font-size: 14px;
      line-height: 1.7;
    }

    .md-contact-list i {
      flex: 0 0 19px;
      color: #e8a15b;
      font-size: 17px;
      margin-top: 3px;
    }

    .md-contact-list a {
      color: inherit;
      text-decoration: none;
      transition: color .3s ease;
    }

    .md-contact-list a:hover {
      color: #fff;
    }

    .md-social-title {
      color: #fff8f0;
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 15px;
    }

    .md-social-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .md-social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 43px;
      height: 43px;
      border: 1px solid rgba(255, 235, 214, 0.15);
      border-radius: 50%;
      color: #fff8f0;
      background: rgba(255, 255, 255, 0.055);
      text-decoration: none;
      transition: all .35s ease;
    }

    .md-social-link:hover {
      color: #3a2118;
      background: #e8a15b;
      border-color: #e8a15b;
      transform: translateY(-6px) rotate(8deg);
      box-shadow: 0 10px 20px rgba(232, 161, 91, .18);
    }

    .md-footer-cta {
      position: relative;
      margin-top: 42px;
      padding: 25px 28px;
      border: 1px solid rgba(255, 235, 214, 0.15);
      border-radius: 18px;
      background: linear-gradient(100deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      backdrop-filter: blur(8px);
    }

    .md-footer-cta h5 {
      color: #fff8f0;
      font-size: 18px;
      margin-bottom: 7px;
      font-weight: 700;
    }

    .md-footer-cta p {
      color: #d9bca9;
      font-size: 13px;
      margin: 0;
    }

    .md-footer-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 12px 19px;
      color: #3a2118;
      background: #e8a15b;
      border: 1px solid #e8a15b;
      border-radius: 50px;
      text-decoration: none;
      font-size: 13px;
      font-weight: 700;
      transition: all .3s ease;
      white-space: nowrap;
    }

    .md-footer-btn:hover {
      color: #3a2118;
      background: #f7d7b4;
      border-color: #f7d7b4;
      transform: translateY(-3px);
      box-shadow: 0 8px 20px rgba(0,0,0,.18);
    }

    .md-footer-bottom {
      margin-top: 55px;
      padding: 23px 0;
      border-top: 1px solid rgba(255, 235, 214, 0.15);
    }

    .md-copyright,
    .md-bottom-link {
      color: #d9bca9;
      font-size: 12px;
      margin: 0;
    }

    .md-bottom-link {
      text-decoration: none;
      transition: color .3s ease;
    }

    .md-bottom-link:hover {
      color: #e8a15b;
    }

    .md-reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity .75s ease, transform .75s ease;
    }

    .md-reveal.md-visible {
      opacity: 1;
      transform: translateY(0);
    }

    @keyframes mdFloat {
      0%, 100% {
        transform: translateY(0) rotate(0deg);
      }
      50% {
        transform: translateY(20px) rotate(8deg);
      }
    }

    @media (max-width: 991.98px) {
      .md-footer {
        padding-top: 55px;
      }

      .md-footer-cta {
        margin-top: 25px;
      }
    }

    @media (max-width: 575.98px) {
      .md-footer {
        padding-top: 45px;
      }

      .md-footer-cta {
        padding: 22px;
      }

      .md-footer-btn {
        width: 100%;
        margin-top: 18px;
      }

      .md-footer-bottom {
        text-align: center;
      }

      .md-bottom-link {
        display: inline-block;
        margin-top: 10px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
      }
    }

    /* ==============================
   MAIN SECTION
============================== */

.why-love-section {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background:
        radial-gradient(circle at 10% 15%, rgba(232, 161, 91, 0.18), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(232, 161, 91, 0.14), transparent 25%),
        linear-gradient(135deg, #3a2118 0%, #4a2b20 52%, #2c1914 100%);
}


/* Background decorative circles */

.why-love-section::before,
.why-love-section::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 50%;
    pointer-events: none;
}

.why-love-section::before {
    width: 450px;
    height: 450px;
    right: -180px;
    top: -200px;
}

.why-love-section::after {
    width: 300px;
    height: 300px;
    left: -160px;
    bottom: -160px;
}


/* ==============================
   HEADING
============================== */

.section-heading {
    max-width: 700px;
}

.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #ff7417;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.section-tag span {
    width: 35px;
    height: 2px;
    background: #ff7417;
    display: inline-block;
}


.section-heading h2 {
    margin: 14px 0 12px;

    color: #fff;
    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 500;
}


.section-heading h2 em {
    color: #ff7417;
    font-style: normal;
}


.section-heading p {
    max-width: 580px;
    margin: 0;

    color: #aebdaf;
    font-size: 17px;
    line-height: 1.7;
}


/* ==============================
   FEATURE CARDS
============================== */

.love-card {
    position: relative;

    display: flex;
    align-items: flex-start;
    gap: 22px;

    min-height: 190px;
    padding: 32px;

    background: rgba(255,255,255,0.055);

    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 18px;

    overflow: hidden;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        background 0.4s ease,
        box-shadow 0.4s ease;
}


/* Orange top line */

.love-card::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;

    width: 0;
    height: 3px;

    background: linear-gradient(
        90deg,
        #ff7417,
        #ff9b35
    );

    transition: width 0.5s ease;
}


.love-card:hover::before {
    width: 100%;
}


.love-card:hover {
    transform: translateY(-8px);

    background: rgba(255,255,255,0.085);

    border-color: rgba(255,116,23,0.45);

    box-shadow:
        0 20px 50px rgba(0,0,0,0.22),
        0 0 30px rgba(255,116,23,0.05);
}


/* ==============================
   ICON
============================== */

.icon-box {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ff7417;
    font-size: 27px;

    border-radius: 14px;

    background: rgba(255,116,23,0.10);

    border: 1px solid rgba(255,116,23,0.25);

    transition:
        transform 0.4s ease,
        background 0.4s ease;
}


.love-card:hover .icon-box {
    transform: rotate(-8deg) scale(1.1);

    background: rgba(255,116,23,0.18);
}


/* ==============================
   CONTENT
============================== */

.card-content {
    position: relative;
    z-index: 2;
}


.card-content h3 {
    margin: 2px 0 10px;

    color: #ff7417;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 25px;
    font-weight: 500;
}


.card-content p {
    margin: 0;

    max-width: 500px;

    color: #aebdaf;

    font-size: 15px;
    line-height: 1.7;
}


/* ==============================
   NUMBER
============================== */

.card-number {
    position: absolute;

    right: 22px;
    bottom: -10px;

    color: rgba(255,255,255,0.035);

    font-size: 90px;
    line-height: 1;

    font-weight: 800;

    pointer-events: none;

    transition:
        color 0.4s ease,
        transform 0.4s ease;
}


.love-card:hover .card-number {
    color: rgba(255,116,23,0.07);
    transform: translateY(-5px);
}


/* ==============================
   SCROLL ANIMATION
============================== */

.reveal {
    opacity: 0;
    transform: translateY(45px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}


.reveal.show {
    opacity: 1;
    transform: translateY(0);
}


/* Stagger cards */

.col-lg-6:nth-child(1) .love-card {
    transition-delay: 0.05s;
}

.col-lg-6:nth-child(2) .love-card {
    transition-delay: 0.15s;
}

.col-lg-6:nth-child(3) .love-card {
    transition-delay: 0.25s;
}

.col-lg-6:nth-child(4) .love-card {
    transition-delay: 0.35s;
}


/* ==============================
   RESPONSIVE
============================== */

@media (max-width: 767px) {

    .why-love-section {
        padding: 70px 0;
    }

    .section-heading h2 {
        font-size: 40px;
    }

    .love-card {
        padding: 25px 20px;
        min-height: auto;
    }

    .icon-box {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        font-size: 22px;
    }

    .card-content h3 {
        font-size: 21px;
    }

    .card-content p {
        font-size: 14px;
    }

    .card-number {
        font-size: 65px;
    }
}

        /* ========================================
           MAIN SECTION
        ======================================== */

        .dosa-menu-section {
            background: radial-gradient(circle at 10% 15%, rgba(232, 161, 91, 0.18), transparent 28%), radial-gradient(circle at 90% 80%, rgba(232, 161, 91, 0.14), transparent 25%), linear-gradient(135deg, #fff9ee 0%, #fbe9c9 52%, #edddbf 100%);
            padding: 80px 0;
            min-height: 100vh;
        }

        .menu-heading {
            text-align: center;
            margin-bottom: 50px;
        }

        .menu-heading .small-title {
            color: #EF641D;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            margin-bottom: 10px;
        }

        .menu-heading h2 {
            color: #000;
            font-size: 42px;
            font-weight: 800;
            margin: 0;
        }

        .menu-heading h2 span {
            color: #EF641D;
        }

        .menu-heading p {
            color: #aaa;
            margin-top: 12px;
            font-size: 15px;
        }


        /* ========================================
           MENU CARD
        ======================================== */

        .dosa-card {
            position: relative;
            height: 100%;
            
            border: 1px solid #573624;
            border-radius: 16px;
            padding: 20px;
            overflow: hidden;

            transition:
                transform 0.4s ease,
                border-color 0.4s ease,
                box-shadow 0.4s ease;
        }

        .dosa-card:hover {
            transform: translateY(-8px);
            border-color: #EF641D;

            box-shadow:
                0 20px 45px rgba(0, 0, 0, 0.45);
        }


        /* ========================================
           IMAGE AREA
        ======================================== */

        .dosa-image-box {
            position: relative;
            width: 100%;
            height: 290px;
            overflow: hidden;
            border-radius: 12px;
            cursor: pointer;
            background: #292824;
        }

        .dosa-image-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;

            transition:
                transform 0.6s cubic-bezier(.2,.8,.2,1),
                filter 0.4s ease;
        }

        .dosa-card:hover .dosa-image-box img {
            transform: scale(1.08);
        }


        /* Dark image overlay */

        .dosa-image-overlay {
            position: absolute;
            inset: 0;

            display: flex;
            align-items: center;
            justify-content: center;

            background: rgba(0, 0, 0, 0);

            transition: background 0.4s ease;
        }

        .dosa-card:hover .dosa-image-overlay {
            background: rgba(0, 0, 0, 0.25);
        }


        /* Zoom icon */

        .zoom-icon {
            width: 48px;
            height: 48px;

            display: flex;
            align-items: center;
            justify-content: center;

            border-radius: 50%;

            background: #ffb000;
            color: #111;

            font-size: 20px;

            opacity: 0;
            transform: scale(0.5);

            transition:
                opacity 0.3s ease,
                transform 0.3s ease;
        }

        .dosa-card:hover .zoom-icon {
            opacity: 1;
            transform: scale(1);
        }


        /* ========================================
           CARD CONTENT
        ======================================== */

        .dosa-content {
            padding-top: 18px;
        }

        .dosa-title-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
        }

        .dosa-title {
            color: #45271D;
            font-size: 19px;
            font-weight: 700;
            margin: 0;
            line-height: 1.3;
        }

        .dosa-price {
            color: #EF641D;
            font-size: 17px;
            font-weight: 800;
            white-space: nowrap;
        }

        .dosa-description {
            color: #333;
            font-size: 14px;
            line-height: 1.6;
            margin: 8px 0 0;
        }


        /* ========================================
           IMAGE LIGHTBOX
        ======================================== */

        .image-lightbox {
            position: fixed;
            inset: 0;

            z-index: 99999;

            display: flex;
            align-items: center;
            justify-content: center;

            padding: 30px;

            background: rgba(0, 0, 0, 0.92);
            backdrop-filter: blur(8px);

            opacity: 0;
            visibility: hidden;

            transition:
                opacity 0.35s ease,
                visibility 0.35s ease;
        }

        .image-lightbox.active {
            opacity: 1;
            visibility: visible;
        }


        /* Lightbox image */

        .lightbox-image {
            max-width: 90vw;
            max-height: 85vh;

            width: auto;
            height: auto;

            object-fit: contain;

            border-radius: 12px;

            box-shadow:
                0 30px 80px rgba(0, 0, 0, 0.7);

            transform: scale(0.75);

            transition:
                transform 0.4s cubic-bezier(.2,.8,.2,1);
        }

        .image-lightbox.active .lightbox-image {
            transform: scale(1);
        }


        /* Close button */

        .lightbox-close {
            position: absolute;

            top: 25px;
            right: 30px;

            width: 48px;
            height: 48px;

            display: flex;
            align-items: center;
            justify-content: center;

            border: 1px solid rgba(255,255,255,0.25);
            border-radius: 50%;

            background: rgba(255,255,255,0.08);
            color: #ffffff;

            font-size: 24px;

            cursor: pointer;

            transition:
                background 0.3s ease,
                color 0.3s ease,
                transform 0.3s ease;
        }

        .lightbox-close:hover {
            background: #ffb000;
            color: #111;
            transform: rotate(90deg);
        }


        /* Lightbox caption */

        .lightbox-caption {
            position: absolute;

            bottom: 25px;
            left: 50%;

            transform: translateX(-50%);

            color: #ffffff;

            font-size: 17px;
            font-weight: 600;

            background: rgba(0,0,0,0.65);

            padding: 10px 20px;

            border-radius: 30px;
        }


        /* ========================================
           RESPONSIVE
        ======================================== */

        @media (max-width: 991px) {

            .dosa-menu-section {
                padding: 60px 0;
            }

            .menu-heading h2 {
                font-size: 35px;
            }

            .dosa-image-box {
                height: 220px;
            }
        }


        @media (max-width: 767px) {

            .dosa-menu-section {
                padding: 50px 0;
            }

            .menu-heading {
                margin-bottom: 35px;
            }

            .menu-heading h2 {
                font-size: 30px;
            }

            .dosa-card {
                padding: 15px;
            }

            .dosa-image-box {
                height: 230px;
            }

            .dosa-title {
                font-size: 17px;
            }

            .dosa-price {
                font-size: 16px;
            }

            .dosa-description {
                font-size: 13px;
            }

            .lightbox-image {
                max-width: 94vw;
                max-height: 75vh;
            }

            .lightbox-close {
                top: 15px;
                right: 15px;
            }
        }
        .hero-logo-wrap img {
  transition: opacity 0.5s ease-in-out;
}
