:root{
  --cream:#FFF8F1; --creamdeep:#FBE9D9; --blush:#FDE6EE;
  --rose:#C2185B; --rosedark:#7D0E3E; --plum:#3D0C24;
  --gold:#C9962B; --goldlight:#EFC873;
}
*{scroll-behavior:smooth;}
body{background:var(--cream);}
.skip-link{position:absolute;left:-999px;top:0;background:var(--rose);color:#fff;padding:.5rem 1rem;z-index:999;}
.skip-link:focus{left:0;}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,248,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(61,12,36,.08);}
.nav-link{position:relative;color:var(--plum);}
.nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--rose);transition:width .25s ease;}
.nav-link:hover::after{width:100%;}
.btn-outline{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--rose);color:var(--rose);padding:.5rem 1.1rem;border-radius:999px;font-weight:600;font-size:.85rem;transition:.2s;}
.btn-outline:hover{background:var(--rose);color:#fff;}
.btn-whatsapp{display:inline-flex;align-items:center;gap:.4rem;background:#25D366;color:#fff;padding:.5rem 1.1rem;border-radius:999px;font-weight:600;font-size:.85rem;transition:.2s;}
.btn-whatsapp:hover{filter:brightness(0.92);}

.mobile-menu{max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--cream);border-bottom:1px solid rgba(61,12,36,.08);}
.mobile-menu.open{max-height:320px;}
.mobile-menu a{display:block;padding:.85rem 1.5rem;font-weight:600;color:var(--plum);border-top:1px solid rgba(61,12,36,.06);}

.mobile-bottom-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;}
.mobile-bottom-cta a{flex:1;text-align:center;padding:.85rem 0;font-weight:700;font-size:.9rem;}
.mobile-bottom-cta a:first-child{background:var(--rose);color:#fff;}
.mobile-bottom-cta a:last-child{background:#25D366;color:#fff;}

.floating-whatsapp{position:fixed;right:18px;bottom:78px;z-index:70;background:#25D366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 20px rgba(0,0,0,.2);}
@media(min-width:1024px){.floating-whatsapp{bottom:28px;}}

/* garland divider */
.garland-divider{width:100%;overflow:hidden;line-height:0;margin:0 auto;max-width:1200px;}
.garland-divider svg{width:100%;height:34px;}

/* hero */
.hero-section{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--blush) 0%,var(--cream) 55%,var(--creamdeep) 100%);}
.hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--goldlight);color:var(--rosedark);padding:.3rem .9rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;}
.trust-point{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--plum);}
.trust-point i{color:var(--rose);}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--rose);color:#fff;padding:.85rem 1.7rem;border-radius:999px;font-weight:700;box-shadow:0 10px 24px rgba(194,24,91,.28);transition:.2s;}
.btn-primary:hover{background:var(--rosedark);transform:translateY(-2px);}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1.5px solid var(--rose);color:var(--rose);padding:.85rem 1.7rem;border-radius:999px;font-weight:700;transition:.2s;}
.btn-secondary:hover{background:var(--blush);transform:translateY(-2px);}

.hero-frame{border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(61,12,36,.35);border:6px solid #fff;}
.hero-frame img{width:100%;height:100%;object-fit:cover;display:block;}

/* hero slider */
.hero-slider{position:relative;aspect-ratio:9/7;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;}
.hero-slide.active{opacity:1;position:relative;}
.hero-slide:not(.active){pointer-events:none;}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--rosedark);display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 6px 16px rgba(61,12,36,.2);z-index:5;transition:.2s;}
.hero-slider-arrow:hover{background:var(--rose);color:#fff;}
.hero-slider-arrow.left{left:14px;}
.hero-slider-arrow.right{right:14px;}
.hero-slider-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:5;}
.hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.6);border:1.5px solid rgba(61,12,36,.3);transition:.25s;}
.hero-dot.active{background:var(--rose);border-color:var(--rose);width:22px;border-radius:6px;}

/* desktop / mobile height rules for hero */
@media (min-width: 768px){
  .hero-section, .hero-frame, .hero-slider{ height:100vh; width:100vw; }
  .hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity .5s ease; }
  .hero-slide.active{ opacity:1; z-index:1; }
  .hero-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
}
@media (max-width: 767px){
  .hero-section, .hero-frame, .hero-slider{ height:auto; }
  .hero-slide{ position:relative; display:none; opacity:1; }
  .hero-slide.active{ display:block; }
  .hero-slide img{ width:100%; height:auto; display:block; object-fit:contain; }
}

/* section heading */
.section-eyebrow{color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;}
.section-title{font-family:'Fraunces',serif;font-weight:600;color:var(--rosedark);}

/* quick category icons */
.quick-cat{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;flex:0 0 auto;width:96px;}
.quick-cat .icon-circle{width:64px;height:64px;border-radius:50%;background:var(--blush);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--rose);border:1px solid var(--goldlight);transition:.2s;}
.quick-cat:hover .icon-circle{background:var(--rose);color:#fff;transform:translateY(-4px);}
.quick-cat span{font-size:.78rem;font-weight:700;color:var(--plum);}

/* featured banner grid */
.feature-card{position:relative;border-radius:20px;overflow:hidden;min-height:230px;box-shadow:0 14px 30px -10px rgba(61,12,36,.25);}
.feature-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease;}
.feature-card:hover img{transform:scale(1.07);}
.feature-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(61,12,36,.82) 0%,rgba(61,12,36,.15) 55%,rgba(61,12,36,0) 100%);}
.feature-card .content{position:absolute;left:0;right:0;bottom:0;padding:1.25rem;color:#fff;}
.feature-card .content .desc{font-size:.8rem;opacity:.85;max-width:90%;}
.feature-card .explore{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.78rem;font-weight:700;color:var(--goldlight);}

/* popular category grid (image-card style, no horizontal scroll) */
.cat-rating{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--plum);white-space:nowrap;}
.cat-rating i{color:var(--gold);}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;}
@media(min-width:640px){.cat-grid{gap:1rem;}}
@media(min-width:768px){.cat-grid{grid-template-columns:repeat(4,1fr);gap:1.2rem;}}
@media(min-width:1024px){.cat-grid{grid-template-columns:repeat(6,1fr);}}
.cat-card{display:block;border-radius:16px;overflow:hidden;position:relative;background:#fff;border:1px solid rgba(61,12,36,.07);box-shadow:0 8px 18px -10px rgba(61,12,36,.22);transition:.25s ease;}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 16px 26px -12px rgba(61,12,36,.3);border-color:rgba(194,24,91,.2);}
.cat-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.cat-label{display:block;text-align:center;padding:.55rem .3rem;font-size:.72rem;font-weight:700;color:var(--plum);line-height:1.25;}
@media(min-width:768px){.cat-label{font-size:.85rem;padding:.7rem .4rem;}}

/* horizontal scroll (still used by testimonials / quick-cat bar) */
.hscroll{display:flex;gap:1.1rem;overflow-x:auto;padding-bottom:.75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.hscroll::-webkit-scrollbar{height:6px;}
.hscroll::-webkit-scrollbar-thumb{background:var(--goldlight);border-radius:99px;}
.hscroll > *{scroll-snap-align:start;}

/* service / product cards */
.svc-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 24px -10px rgba(61,12,36,.18);transition:.3s ease;border:1px solid rgba(61,12,36,.06);position:relative;}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--rose));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:2;}
.svc-card:hover::before{transform:scaleX(1);}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 36px -14px rgba(61,12,36,.28);border-color:rgba(194,24,91,.18);}
.svc-card .img-wrap{position:relative;height:190px;overflow:hidden;}
.svc-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.svc-card:hover .img-wrap img{transform:scale(1.08);}
.svc-card .img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(61,12,36,.35) 0%,rgba(61,12,36,0) 45%);opacity:0;transition:opacity .3s ease;}
.svc-card:hover .img-wrap::after{opacity:1;}
.svc-card .discount-badge{position:absolute;top:10px;left:10px;background:var(--rose);color:#fff;font-size:.7rem;font-weight:800;padding:.28rem .6rem;border-radius:999px;box-shadow:0 4px 10px rgba(194,24,91,.35);letter-spacing:.02em;}
.svc-card .rating-badge{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(2px);color:var(--plum);font-size:.72rem;font-weight:700;padding:.22rem .55rem;border-radius:999px;display:flex;align-items:center;gap:.25rem;box-shadow:0 4px 10px rgba(61,12,36,.15);}
.svc-card .rating-badge i{color:var(--gold);}
.svc-card .body{padding:1rem 1.1rem 1.2rem;}
.svc-card h4{font-weight:700;font-size:.93rem;color:var(--plum);line-height:1.35;min-height:2.5em;}
.svc-card .price-row{display:flex;align-items:baseline;gap:.5rem;margin:.5rem 0 .8rem;padding-top:.6rem;border-top:1px dashed rgba(61,12,36,.12);}
.svc-card .price{color:var(--rosedark);font-weight:800;font-size:1.12rem;}
.svc-card .mrp{color:#ad9aa0;text-decoration:line-through;font-size:.78rem;}
.svc-card .btn-row{display:flex;gap:.55rem;}
.svc-card .btn-row a{flex:1;text-align:center;font-size:.76rem;font-weight:700;padding:.55rem 0;border-radius:999px;transition:.2s ease;}
.svc-card .view-btn{border:1.5px solid var(--rose);color:var(--rose);background:#fff;}
.svc-card .view-btn:hover{background:var(--blush);}
.svc-card .book-btn{background:var(--rose);color:#fff;box-shadow:0 8px 16px -4px rgba(194,24,91,.4);}
.svc-card .book-btn:hover{background:var(--rosedark);transform:translateY(-1px);}
.view-all-btn{display:inline-flex;align-items:center;gap:.35rem;color:var(--rosedark);font-weight:700;font-size:.85rem;border-bottom:2px solid var(--gold);padding-bottom:2px;}

/* why choose */
.why-card{background:#fff;border-radius:18px;padding:1.6rem 1.3rem;text-align:center;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);}
.why-card .icon{width:58px;height:58px;border-radius:50%;background:var(--blush);color:var(--rose);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto .9rem;}

/* how it works */
.step-card{position:relative;background:#fff;border-radius:18px;padding:1.6rem 1.3rem;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);}
.step-num{font-family:'Fraunces',serif;font-weight:600;font-size:2.1rem;color:var(--goldlight);}
.step-card i{color:var(--rose);font-size:1.3rem;}

/* gallery */
.gallery-item{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;break-inside:avoid;margin-bottom:1rem;}
.gallery-item img{width:100%;display:block;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .tag{position:absolute;left:8px;bottom:8px;background:rgba(61,12,36,.75);color:#fff;font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;}
.masonry{column-count:2;column-gap:1rem;}
@media(min-width:768px){.masonry{column-count:3;}}
@media(min-width:1024px){.masonry{column-count:4;}}

.lightbox{position:fixed;inset:0;background:rgba(61,12,36,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:2rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:12px;}
.lightbox-close{position:absolute;top:20px;right:26px;color:#fff;font-size:2rem;cursor:pointer;}

/* testimonials */
.testi-card{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);flex:0 0 300px;}
.testi-card .stars{color:var(--gold);font-size:.85rem;}
.testi-card .quote{font-size:.88rem;color:var(--plum);opacity:.85;margin:.6rem 0;line-height:1.55;}
.testi-card .who{font-weight:700;font-size:.85rem;color:var(--rosedark);}
.testi-card .occ{font-size:.72rem;color:#9a8a8f;}

/* about */
.about-img{border-radius:24px;overflow:hidden;box-shadow:0 24px 50px -18px rgba(61,12,36,.3);}
.about-list li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;padding:.4rem 0;}
.about-list i{color:var(--rose);}

/* service areas */
.area-chip{background:#fff;border:1px solid var(--goldlight);color:var(--plum);font-weight:600;font-size:.82rem;padding:.5rem 1rem;border-radius:999px;}

/* faq */
.faq-item{background:#fff;border-radius:14px;box-shadow:0 6px 18px -10px rgba(61,12,36,.15);overflow:hidden;}
.faq-q{width:100%;text-align:left;padding:1.1rem 1.3rem;font-weight:700;font-size:.92rem;color:var(--plum);display:flex;justify-content:space-between;align-items:center;}
.faq-q i{color:var(--rose);transition:transform .25s;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 1.3rem;font-size:.85rem;color:#5a4650;}
.faq-item.open .faq-a{max-height:220px;padding-bottom:1.1rem;}

/* contact form */
.form-input{width:100%;border:1.5px solid rgba(61,12,36,.15);background:#fff;border-radius:12px;padding:.7rem 1rem;font-size:.88rem;}
.form-input:focus{outline:none;border-color:var(--rose);}
.contact-card{background:#fff;border-radius:16px;padding:1.2rem 1.3rem;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);display:flex;gap:.9rem;align-items:flex-start;}
.contact-card i{color:var(--rose);font-size:1.3rem;}

/* footer */
.footer-section{background:var(--plum);color:#fff;}
.footer-heading{font-family:'Fraunces',serif;font-weight:600;margin-bottom:.9rem;color:var(--goldlight);}
.footer-links li{margin-bottom:.55rem;font-size:.85rem;color:rgba(255,255,255,.75);}
.footer-links a:hover{color:var(--goldlight);}
.footer-social{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.footer-social:hover{background:var(--rose);}

::selection{background:var(--rose);color:#fff;}

/* ===== inner pages (about / services / contact) ===== */
.page-banner{position:relative;padding:3.2rem 0 2.6rem;background:linear-gradient(135deg,var(--blush) 0%,var(--cream) 55%,var(--creamdeep) 100%);border-bottom:1px solid rgba(61,12,36,.06);overflow:hidden;}
.page-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--goldlight) 0%,transparent 70%);opacity:.5;}
.page-banner h1{font-family:'Fraunces',serif;font-weight:600;color:var(--rosedark);font-size:1.9rem;}
@media(min-width:768px){.page-banner h1{font-size:2.6rem;}}
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--plum);opacity:.75;margin-bottom:.7rem;}
.breadcrumb a{color:var(--rose);}
.breadcrumb i{font-size:.7rem;opacity:.6;}

.stat-card{background:#fff;border-radius:18px;padding:1.5rem 1.2rem;text-align:center;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);}
.stat-card .num{font-family:'Fraunces',serif;font-weight:600;font-size:1.9rem;color:var(--rosedark);}
.stat-card .lbl{font-size:.78rem;font-weight:700;color:var(--plum);opacity:.7;margin-top:.25rem;}

.cta-banner{background:linear-gradient(135deg,var(--rose),var(--rosedark));border-radius:24px;padding:2.4rem 1.6rem;text-align:center;color:#fff;box-shadow:0 24px 44px -18px rgba(125,14,62,.45);}
.cta-banner h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;}
@media(min-width:768px){.cta-banner h3{font-size:1.9rem;}}
.cta-banner p{opacity:.9;font-size:.9rem;margin-top:.5rem;}
.cta-banner .btn-primary{background:#fff;color:var(--rosedark);box-shadow:none;margin-top:1.3rem;}
.cta-banner .btn-primary:hover{background:var(--goldlight);color:var(--rosedark);}

.value-card{background:#fff;border-radius:18px;padding:1.6rem 1.3rem;box-shadow:0 10px 24px -10px rgba(61,12,36,.15);}
.value-card .icon{width:52px;height:52px;border-radius:14px;background:var(--blush);color:var(--rose);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.9rem;}

/* ===== gallery filters ===== */
.filter-chip{background:#fff;border:1px solid rgba(61,12,36,.12);color:var(--plum);font-weight:700;font-size:.8rem;padding:.5rem 1.1rem;border-radius:999px;transition:.2s;cursor:pointer;}
.filter-chip:hover{border-color:var(--rose);color:var(--rose);}
.filter-chip.active{background:var(--rose);border-color:var(--rose);color:#fff;}

/* ===== product detail page ===== */
.prod-image-wrap{border-radius:18px;overflow:hidden;box-shadow:0 14px 30px -12px rgba(61,12,36,.25);border:1px solid rgba(61,12,36,.06);}
.prod-image-wrap img{width:100%;display:block;}

.inclusion-box{background:#eef6ff;border:1px solid #cfe4fb;border-radius:16px;padding:1.3rem 1.4rem;}
.inclusion-box h3{font-family:'Fraunces',serif;font-weight:600;color:var(--plum);font-size:1.05rem;margin-bottom:.7rem;}
.inclusion-box ul{list-style:none;padding:0;margin:0;}
.inclusion-box li{display:flex;align-items:flex-start;gap:.5rem;font-size:.86rem;color:#2a5f92;font-weight:600;padding:.35rem 0;border-top:1px dashed #cfe4fb;}
.inclusion-box li:first-child{border-top:none;}
.inclusion-box li i{color:var(--rose);margin-top:.15rem;}

.prod-panel{background:#fff;border:1px solid rgba(61,12,36,.08);border-radius:18px;padding:1.6rem;box-shadow:0 10px 24px -12px rgba(61,12,36,.15);}
.prod-panel h2{font-family:'Fraunces',serif;font-weight:600;color:var(--plum);font-size:1.25rem;}
.prod-price{font-family:'Fraunces',serif;font-weight:700;color:var(--rosedark);font-size:1.6rem;margin-top:.2rem;}

.prod-icon-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1.3rem 0 1.4rem;padding:1rem 0;border-top:1px solid rgba(61,12,36,.08);border-bottom:1px solid rgba(61,12,36,.08);}
.prod-icon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;}
.prod-icon i{width:42px;height:42px;border-radius:12px;background:var(--blush);color:var(--rose);display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:1px solid var(--goldlight);}
.prod-icon span{font-size:.66rem;font-weight:700;color:var(--plum);opacity:.8;line-height:1.2;}

.prod-desc{font-size:.86rem;color:var(--plum);opacity:.8;margin-bottom:1.3rem;line-height:1.55;}
.prod-field{margin-bottom:1rem;}
.prod-field label{display:block;font-size:.76rem;font-weight:700;color:var(--plum);opacity:.75;margin-bottom:.4rem;}
.prod-field .form-input::placeholder{color:var(--rose);opacity:.7;}
.prod-field input.form-input[type="text"].pincode-input{border-color:var(--rose);}

.trust-list{list-style:none;padding:0;margin:0;}
.trust-list li{display:flex;align-items:flex-start;gap:.45rem;font-size:.76rem;font-weight:600;color:var(--rose);padding:.3rem 0;}
.trust-list li i{margin-top:.1rem;font-size:.7rem;color:var(--gold);}