/* =========================================================================
   Maharaja Furniture & Interior Decor — Common Stylesheet
  Design system: warm ivory / sage / walnut / brass
   Type: Cormorant Garamond (display) + Manrope (body/UI)
   ========================================================================= */

:root{
  --gold:        #b4935a;
  --gold-light:  #dfc99b;
  --gold-deep:   #876c3f;
  --brown-deep:  #29312c;
  --brown:       #465247;
  --brown-mid:   #71806f;
  --cream:       #f4f1e9;
  --beige:       #ded9cc;
  --maroon:      #9b604b;
  --ink:         #2c302c;
  --white:       #fffefa;

  --font-display: "Cormorant Garamond", "Georgia", serif;
  --font-body: "Manrope", "Segoe UI", sans-serif;

  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 24px;

  --shadow-soft: 0 18px 50px -20px rgba(41,49,44,.24);
  --shadow-gold: 0 10px 30px -8px rgba(180,147,90,.38);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

h1,h2,h3,h4,.font-display{font-family:var(--font-display); color:var(--brown-deep); font-weight:600;}
h1{font-weight:700;}
.lead{color:#5d675d;}
a{color:inherit; text-decoration:none;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:3px solid var(--gold-light); outline-offset:2px;
}
::selection{background:var(--gold-light); color:var(--brown-deep);}

.container-xl{max-width:1280px;}

.text-gold{color:var(--gold) !important;}
.bg-cream{background:var(--cream) !important;}
.bg-beige{background:var(--beige) !important;}
.bg-brown{background:var(--brown-deep) !important;}
.section{padding:5.5rem 0;}
@media (max-width:767.98px){.section{padding:3.5rem 0;}}

.section-tag{
  font-family:var(--font-display);
  font-style:italic;
  color:var(--gold-deep);
  font-size:1.15rem;
  display:inline-block;
  margin-bottom:.4rem;
  position:relative;
  padding-left:2.4rem;
}
.section-tag::before{
  content:"";
  position:absolute; left:0; top:50%; width:2rem; height:1px;
  background:var(--gold-deep); transform:translateY(-50%);
}
.section-title{font-size:clamp(1.9rem,3.4vw,2.9rem); line-height:1.15; margin-bottom:.6rem;}
.section-sub{color:#5d675d; max-width:640px;}
.divider-motif{width:70px; height:18px; margin:1.1rem auto; opacity:.85;}

/* ---------- buttons ---------- */
.btn{border-radius:2px; font-family:var(--font-body); font-weight:600; letter-spacing:.02em; padding:.75rem 1.7rem; transition:transform .35s var(--ease), box-shadow .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease); border-width:1.5px;}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-deep)); border:1px solid var(--gold-deep); color:var(--brown-deep);}
.btn-gold:hover{transform:translateY(-2px); box-shadow:var(--shadow-gold); color:var(--brown-deep); background:linear-gradient(135deg,var(--gold),var(--gold-light) 55%,var(--gold));}
.btn-outline-cream{border:1.5px solid rgba(247,240,227,.65); color:var(--cream); background:transparent;}
.btn-outline-cream:hover{background:rgba(247,240,227,.12); color:var(--white); transform:translateY(-2px);}
.btn-outline-brown{border:1.5px solid var(--brown-mid); color:var(--brown-deep); background:transparent;}
.btn-outline-brown:hover{background:var(--brown-deep); color:var(--cream); transform:translateY(-2px);}
.btn-whatsapp{background:#25D366; color:#0b2e17; border:1px solid #128C4A; font-weight:700;}
.btn-whatsapp:hover{background:#22c05f; color:#0b2e17; transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(37,211,102,.6);}
.btn-lg{padding:.95rem 2.2rem; font-size:1.02rem;}
.btn i,.btn svg{vertical-align:-2px;}

/* =========================================================================
   HEADER / NAVBAR
   ========================================================================= */
.site-header{
  position:sticky; top:0; z-index:1040;
  background:rgba(41,49,44,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(196,154,79,.25);
  transition:background .3s var(--ease);
}
.topbar{
  background:#202722;
  color:#fff;
  font-size:.82rem;
  border-bottom:1px solid rgba(196,154,79,.18);
}
.topbar a{color:#fff;}


.navbar-brand{display:flex; align-items:center; gap:.65rem;}
.brand-mark{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold-light); font-family:var(--font-display); font-size:1.35rem;
  position:relative;
}
.brand-mark::before,.brand-mark::after{content:""; position:absolute; inset:-5px; border:1px solid rgba(196,154,79,.35); border-radius:50%;}
.brand-name{font-family:var(--font-display); color:var(--cream); font-size:2rem; line-height:1.05; font-weight:700;}
.brand-name small{display:block; font-family:var(--font-body); font-size:.62rem; letter-spacing:.14em; color:var(--gold-light); font-weight:600; text-transform:uppercase;}

.main-nav .nav-link{
  color:var(--beige) !important; font-weight:600; font-size:.92rem;
  padding:.5rem 1rem !important; position:relative;
}
.main-nav .nav-link::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:.25rem; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);
}
.main-nav .nav-link:hover::after,.main-nav .nav-link.active::after{transform:scaleX(1);}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--gold-light) !important;}

.header-cta{display:flex; align-items:center; gap:.6rem;}
.navbar-toggler{border:1px solid var(--gold); padding:.4rem .55rem;}
.navbar-toggler-icon-custom{width:22px; height:16px; position:relative; display:block;}
.navbar-toggler-icon-custom span{position:absolute; left:0; width:100%; height:2px; background:var(--gold-light); border-radius:2px;}
.navbar-toggler-icon-custom span:nth-child(1){top:0;}
.navbar-toggler-icon-custom span:nth-child(2){top:7px;}
.navbar-toggler-icon-custom span:nth-child(3){top:14px;}

/* ---- mega menu (desktop) ---- */
.has-mega{position:static;}
.mega-menu{
  position:absolute; left:0; right:0; top:100%;
  background:var(--brown-deep);
  border-top:1px solid rgba(196,154,79,.35);
  border-bottom:2px solid var(--gold);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
  padding:2rem 0;
}
@media (min-width:992px){
  .has-mega:hover .mega-menu,
  .has-mega:focus-within .mega-menu{opacity:1; visibility:visible; transform:translateY(0);}
}
.mega-col-title{font-family:var(--font-display); color:var(--gold-light); font-size:1.05rem; margin-bottom:1rem; padding-bottom:.5rem; border-bottom:1px solid rgba(196,154,79,.25);}
.mega-link{
  display:flex; align-items:center; gap:.7rem;
  padding:.55rem .25rem; color:var(--beige) !important; font-size:.93rem; font-weight:600;
  border-radius:var(--radius-sm); transition:all .25s var(--ease);
}
.mega-link .mega-icon{width:34px; height:34px; border-radius:50%; border:1px solid rgba(196,154,79,.4); display:flex; align-items:center; justify-content:center; color:var(--gold); flex:none;}
.mega-link:hover{color:var(--gold-light) !important; padding-left:.6rem; background:rgba(196,154,79,.08);}
.mega-promo{
  background:linear-gradient(160deg,rgba(196,154,79,.14),rgba(196,154,79,.02));
  border:1px solid rgba(196,154,79,.3); border-radius:var(--radius-md); padding:1.4rem;
}

/* ---- mobile offcanvas (slides from RIGHT) ---- */
.offcanvas-maharaja{
  width:min(88vw,380px);
  background:var(--brown-deep);
  color:var(--beige);
  border-left:1px solid rgba(196,154,79,.3);
}
.offcanvas-maharaja .offcanvas-header{border-bottom:1px solid rgba(196,154,79,.2);}
.offcanvas-maharaja .btn-close{filter:invert(1) grayscale(1) brightness(1.6);}
.mobile-nav .nav-link{color:var(--beige); font-weight:600; padding:.85rem .25rem; border-bottom:1px solid rgba(196,154,79,.12); display:flex; justify-content:space-between; align-items:center;}
.mobile-nav .nav-link:hover,.mobile-nav .nav-link.active{color:var(--gold-light);}
.mobile-submenu{background:rgba(0,0,0,.18); border-radius:var(--radius-sm); margin:.3rem 0 .5rem;}
.mobile-submenu .nav-link{padding:.6rem 1rem; font-weight:500; font-size:.92rem; border-bottom:1px solid rgba(196,154,79,.08);}
.mobile-nav .chev{transition:transform .3s var(--ease);}
.mobile-nav [aria-expanded="true"] .chev{transform:rotate(90deg);}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:center;
  background:var(--brown-deep); overflow:hidden; color:var(--cream);
}
.hero-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.4s ease-in-out;
}
.hero-slide.active{opacity:1;}
.hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(41,49,44,.88) 0%,rgba(41,49,44,.64) 42%,rgba(41,49,44,.28) 100%);
  z-index:1;
}
.hero-content{position:relative; z-index:2;}
.hero .section-tag{color:var(--gold-light);}
.hero-title{
  font-size:clamp(2.5rem,5.6vw,4.6rem); line-height:1.06; color:var(--white);
  margin-bottom:1.1rem;
}
.hero-title em{font-style:italic; color:var(--gold-light);}
.hero-desc{font-size:1.08rem; color:rgba(247,240,227,.85); max-width:560px; margin-bottom:2rem;}
.hero-cta{display:flex; flex-wrap:wrap; gap:.9rem;}
.hero-stats{display:flex; gap:2.2rem; margin-top:3rem; flex-wrap:wrap;}
.hero-stat b{font-family:var(--font-display); font-size:2rem; color:var(--gold-light); display:block; line-height:1;}
.hero-stat span{font-size:.8rem; color:rgba(247,240,227,.7); letter-spacing:.03em;}
.hero-scroll{
  position:absolute; bottom:1.8rem; left:50%; transform:translateX(-50%); z-index:2;
  color:var(--gold-light); font-size:.72rem; letter-spacing:.16em; text-align:center;
}
.hero-scroll .line{width:1px; height:38px; background:linear-gradient(var(--gold-light),transparent); margin:.6rem auto 0; animation:scrollLine 2.2s var(--ease) infinite;}
@keyframes scrollLine{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}

.hero-frame{
  position:relative; z-index:2; border:1px solid rgba(196,154,79,.4); border-radius:var(--radius-lg);
  padding:.9rem; backdrop-filter:blur(4px); background:rgba(107,68,40,.35);
}
.hero-frame img{border-radius:calc(var(--radius-lg) - 8px);}
.hero-frame .frame-badge{
  position:absolute; bottom:-1.4rem; left:-1.4rem; background:var(--gold);
  color:var(--brown-deep); padding:1rem 1.3rem; border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft); font-family:var(--font-display);
}
.hero-frame .frame-badge b{font-size:1.7rem; display:block; line-height:1;}
.hero-frame .frame-badge span{font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; font-family:var(--font-body); font-weight:700;}

/* ---------- jharokha arch frame (signature motif) ---------- */
.arch-frame{
  position:relative; overflow:hidden;
  border-radius:220px 220px 14px 14px;
  border:2px solid var(--gold);
  box-shadow:var(--shadow-soft);
}
.arch-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.arch-frame::after{
  content:""; position:absolute; inset:9px; border-radius:210px 210px 6px 6px; border:1px solid rgba(247,240,227,.55); pointer-events:none;
}

/* =========================================================================
   MARQUEE
   ========================================================================= */
.marquee-strip{background:var(--brown-deep); color:#fff; overflow:hidden; padding:.85rem 0; border-top:1px solid rgba(196,154,79,.2); border-bottom:1px solid rgba(196,154,79,.2);}
.marquee-track{display:flex; width:max-content; animation:marquee 32s linear infinite; gap:0;}
.marquee-track span{white-space:nowrap; padding:0 2rem; font-family:var(--font-display); font-style:italic; font-size:1.05rem; display:flex; align-items:center; gap:1.2rem;}
.marquee-track span::after{content:"✦"; color:var(--gold);} 

.product-showcase-section{background:linear-gradient(180deg, rgba(196,154,79,.04), rgba(196,154,79,0));}
.product-slider-shell{
  position:relative; overflow:hidden; border-radius:var(--radius-lg); border:1px solid rgba(196,154,79,.22); background:rgba(255,255,255,.46); box-shadow:var(--shadow-soft); padding:1rem;
}
.product-slider{
  display:flex; gap:1rem; width:100%; transition:transform .7s var(--ease); will-change:transform;
}
.product-slide{
  flex:0 0 calc((100% - 2rem) / 3);
  position:relative; overflow:hidden; border-radius:var(--radius-md); background:#e9e2d5; border:1px solid rgba(196,154,79,.2); aspect-ratio:4 / 3;
}
.product-slide img{
  width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease);
}
.product-slide:hover img{transform:scale(1.05);}
.product-slide .product-caption{
  position:absolute; inset:auto 0 0 0; padding:.8rem 1rem .9rem; background:linear-gradient(180deg, transparent 0%, rgba(20,20,20,.78) 100%); color:#fff; font-weight:600; font-size:.85rem; letter-spacing:.02em;
}
@media (max-width:991.98px){
  .product-slide{flex-basis:calc((100% - 1rem) / 2);}
}
@media (max-width:575.98px){
  .product-slide{flex-basis:100%;}
}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* =========================================================================
   ABOUT
   ========================================================================= */
.about-media{position:relative;}
.about-media .arch-frame{max-width:420px; margin-inline:auto;}
.about-media .sub-frame{
  position:absolute; bottom:-2rem; right:-1.5rem; width:52%; border:5px solid var(--cream);
  border-radius:var(--radius-md); box-shadow:var(--shadow-soft); overflow:hidden;
}
@media (max-width:991.98px){.about-media .sub-frame{right:0;}}
.about-media .sub-frame img{display:block; width:100%;}
.about-list{list-style:none; padding:0; margin:1.6rem 0;}
.about-list li{display:flex; gap:.8rem; padding:.6rem 0; border-bottom:1px dashed var(--beige); align-items:flex-start;}
.about-list .chk{width:26px; height:26px; border-radius:50%; background:var(--gold-light); color:var(--brown-deep); display:flex; align-items:center; justify-content:center; flex:none; font-size:.8rem;}

/* =========================================================================
   SERVICES
   ========================================================================= */
.service-card{
  background:var(--white); border-radius:var(--radius-md); overflow:hidden;
  box-shadow:0 14px 34px -18px rgba(43,27,20,.28); height:100%;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  border:1px solid rgba(196,154,79,.15);
}
.service-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-soft);}
.service-media{position:relative; aspect-ratio:4/3; overflow:hidden;}
.service-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.service-card:hover .service-media img{transform:scale(1.08);}
.service-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(41,49,44,.75)); }
.service-num{position:absolute; top:.9rem; left:.9rem; z-index:2; color:var(--gold-light); font-family:var(--font-display); font-size:1.6rem; text-shadow:0 2px 8px rgba(0,0,0,.6);}
.service-body{padding:1.4rem 1.4rem 1.6rem;}
.service-body h3{font-size:1.28rem; margin-bottom:.5rem;}
.service-body p{color:#5d675d; font-size:.92rem; margin-bottom:1rem;}
.service-link{font-weight:700; font-size:.85rem; color:var(--gold-deep); display:inline-flex; align-items:center; gap:.4rem;}
.service-link svg{transition:transform .3s var(--ease);}
.service-card:hover .service-link svg{transform:translateX(4px);}

.process-step{text-align:center; position:relative;}
.process-num{
  width:64px; height:64px; margin:0 auto 1rem; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.5rem; color:var(--gold-deep);
  background:var(--white);
}
.process-connector{position:absolute; top:32px; left:calc(50% + 45px); right:calc(-50% + 45px); height:1px; background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 12px);}
@media (max-width:767.98px){.process-connector{display:none;}}

/* =========================================================================
   FEATURED WORK / GALLERY
   ========================================================================= */
.gallery-filters{display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-bottom:2.4rem;}
.gallery-filters .btn{padding:.5rem 1.1rem; font-size:.85rem; border-radius:30px;}
.gallery-tabs{display:flex; justify-content:center; gap:.35rem; margin-bottom:2.4rem;}
.gallery-tab{border:1px solid var(--beige); background:var(--white); color:var(--brown-deep); padding:.75rem 1.5rem; font:600 .9rem var(--font-body); cursor:pointer; transition:all .3s var(--ease);}
.gallery-tab:first-child{border-radius:2px 0 0 2px;}
.gallery-tab:last-child{border-radius:0 2px 2px 0;}
.gallery-tab:hover,.gallery-tab.active{background:var(--brown-deep); border-color:var(--brown-deep); color:var(--cream);}
.gallery-video-card{border:1px solid rgba(196,154,79,.25); border-radius:var(--radius-md); padding:.65rem; box-shadow:var(--shadow-soft);}
.gallery-video-media{position:relative; overflow:hidden; border-radius:calc(var(--radius-md) - 4px);}
.gallery-video-card video{display:block; width:100%; aspect-ratio:9/16; object-fit:cover; background:#1c120c;}
.video-play-icon{position:absolute; top:50%; left:50%; width:58px; height:58px; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; border:1px solid rgba(247,240,227,.8); border-radius:50%; background:rgba(40,26,16,.72); color:var(--gold-light); font-size:2rem; line-height:1; pointer-events:none; transition:transform .3s var(--ease), background-color .3s var(--ease);}
.gallery-video-media:hover .video-play-icon{transform:translate(-50%,-50%) scale(1.08); background:rgba(40,26,16,.88);}
.gallery-video-card h2{color:var(--brown-deep); font-family:var(--font-display); font-size:1.35rem; margin:1rem .45rem .25rem;}
.gallery-video-card p{color:#6b5744; font-size:.88rem; margin:0 .45rem .55rem;}
.gallery-item{position:relative; overflow:hidden; border-radius:var(--radius-md); display:block; margin-bottom:1.5rem;}
.gallery-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease);}
.gallery-item .g-overlay{
  position:absolute; inset:0; background:linear-gradient(0deg,rgba(107,68,40,.88) 0%,rgba(107,68,40,.05) 55%);
  display:flex; align-items:flex-end; padding:1.1rem; opacity:0; transition:opacity .4s var(--ease);
}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item:hover .g-overlay{opacity:1;}
.gallery-item .g-overlay span{color:var(--cream); font-family:var(--font-display); font-size:1.1rem;}
.gallery-item .g-zoom{position:absolute; top:.9rem; right:.9rem; width:38px; height:38px; border-radius:50%; background:rgba(247,240,227,.15); border:1px solid rgba(247,240,227,.4); color:var(--cream); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s var(--ease);}
.gallery-item:hover .g-zoom{opacity:1;}

@media (max-width:767.98px){
  .gallery-tab{flex:1; padding-inline:.9rem;}
}

.g-overlay span,
.modal-title
{display:none; }

/* =========================================================================
   WHY CHOOSE US
   ========================================================================= */
.why-section{background:var(--brown-deep); color:var(--cream); position:relative; overflow:hidden;}
.why-section::before{content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(41,49,44,.88),rgba(41,49,44,.62)); pointer-events:none; z-index:0;}
.why-section > .container-xl{position:relative; z-index:1;}
.why-section .section-sub{color:rgba(247,240,227,.75);}
.why-card{
  border:1px solid rgba(196,154,79,.25); border-radius:var(--radius-md); padding:2rem 1.6rem; height:100%;
  background:#fff; transition:all .35s var(--ease);
}
/* .why-card:hover{border-color:var(--gold); transform:translateY(-6px); background:linear-gradient(160deg,rgba(196,154,79,.14),transparent);} */
.why-icon{width:56px; height:56px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; color:var(--gold-light); margin-bottom:1.2rem;}
.why-card h3{color:#181818; font-size:1.2rem;}
.why-card p{color:#4d574e; font-size:.9rem; margin:0;}

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.testi-card{
  background:var(--white); border-radius:var(--radius-md); padding:2rem; box-shadow:0 14px 34px -18px rgba(43,27,20,.28);
  height:100%; border:1px solid rgba(196,154,79,.15); position:relative;
}
.testi-quote{font-family:var(--font-display); font-size:3rem; color:var(--gold-light); line-height:.5; display:block; margin-bottom:.8rem;}
.testi-card p{color:#4d574e; font-style:italic;}
.testi-stars{color:var(--gold); font-size:.85rem; margin-bottom:.7rem; letter-spacing:.15em;}
.testi-person{display:flex; align-items:center; gap:.8rem; margin-top:1.2rem;}
.testi-avatar{width:46px; height:46px; border-radius:50%; background:var(--beige); color:var(--brown-deep); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700;}
.testi-person b{display:block; font-size:.95rem; color:var(--brown-deep);}
.testi-person small{color:#8a7660;}

/* =========================================================================
   FAQ
   ========================================================================= */
.faq-accordion .accordion-item{background:transparent; border:none; border-bottom: 1px solid #5454543b; border-radius:0;}
.faq-accordion .accordion-button{
  background:transparent; font-family:var(--font-display); font-size:1.18rem; color:var(--brown-deep);
  padding:1.4rem .25rem; box-shadow:none;
}
.faq-accordion .accordion-button:not(.collapsed){color:var(--gold-deep); background:transparent; box-shadow:none;}
.faq-accordion .accordion-button::after{filter:sepia(1) saturate(2) hue-rotate(-10deg);}
.faq-accordion .accordion-body{padding:0 .25rem 1.6rem; color:#5d675d;}

/* =========================================================================
   CTA BAND
   ========================================================================= */
.cta-band{
  position:relative; background:linear-gradient(120deg,var(--brown-deep),var(--brown) 60%, var(--maroon));
  color:var(--cream); border-radius:var(--radius-lg); overflow:hidden; padding:3.2rem 2.4rem;
}
.cta-band::before{content:""; position:absolute; inset:0; background:url('../images/textures/damask-pattern.jpg'); background-size:280px; opacity:.10; mix-blend-mode:overlay; pointer-events:none;}
.cta-band > *{position:relative; z-index:1;}
.cta-band h2{color:var(--white);}

/* =========================================================================
   FORMS
   ========================================================================= */
.form-luxe .form-control,.form-luxe .form-select{
  background:var(--white); border:1px solid var(--beige); border-radius:var(--radius-sm);
  padding:.75rem 1rem; font-size:.95rem; color:var(--ink);
}
.form-luxe .form-control:focus,.form-luxe .form-select:focus{border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(196,154,79,.18);}
.form-luxe label{font-size:.82rem; font-weight:700; color:var(--brown-mid); margin-bottom:.35rem; text-transform:uppercase; letter-spacing:.04em;}
.form-card{background:var(--white); border-radius:var(--radius-md); padding:2.2rem; box-shadow:var(--shadow-soft); border:1px solid rgba(196,154,79,.18);}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{
  background:var(--brown-deep);
  background-image: linear-gradient(160deg, rgba(196, 154, 79, .10), transparent 55%), url("../images/textures/damask-pattern.jpg");
  background-size: auto, 260px;
  background-blend-mode: normal, overlay;
  background-repeat: no-repeat, repeat;
  box-shadow: 0 34px 70px -20px rgba(0, 0, 0, .6);
  position:relative;
}

.site-footer a{color:#fff;}
.site-footer a:hover{color:var(--gold-light);}
.site-footer h4{color:var(--gold-light); font-size:1.5rem; margin-bottom:1.1rem;}
.footer-top{padding:4.5rem 0 2.5rem; border-bottom:1px solid rgba(196,154,79,.18);}
.footer-links{list-style:none; padding:0; margin:0;}
.footer-links li{padding:.4rem 0; font-size:.92rem; color:#fff}
.footer-links li a{display:flex; gap:.5rem; align-items:center;}
.footer-bottom{padding:1.3rem 0; font-size:.82rem; text-align:center; color:rgba(247,240,227,.55); background:#341e0e;}
.social-row{display:flex; gap:.7rem;}
.social-row a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(196,154,79,.4); display:flex; align-items:center; justify-content:center;}
.social-row a:hover{background:var(--gold); color:var(--brown-deep) !important; border-color:var(--gold);}

/* =========================================================================
   FLOATING BUTTONS
   ========================================================================= */
.float-actions{position:fixed; right:1.2rem; bottom:1.2rem; z-index:1050; display:flex; flex-direction:column; gap:.75rem; align-items:flex-end;}
.float-btn{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -8px rgba(0,0,0,.45); transition:transform .3s var(--ease);
  color:#fff; font-size:1.5rem; position:relative;
}
.float-btn:hover{transform:scale(1.08);}
.float-btn.whatsapp{background:#25D366;}
.float-btn.call{background:linear-gradient(135deg,var(--gold-light),var(--gold-deep)); color:var(--brown-deep);}
.float-btn.whatsapp::before{
  content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366; animation:pulseRing 2.4s ease-out infinite;
}
@keyframes pulseRing{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(1.7); opacity:0;}}
.float-label{font-size:.68rem; background:var(--brown-deep); color:var(--cream); padding:.2rem .55rem; border-radius:4px; position:absolute; right:66px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .25s;}
.float-btn:hover .float-label{opacity:1;}

/* =========================================================================
   PAGE HEADER (inner pages)
   ========================================================================= */
.page-header{
  position:relative; padding:8.5rem 0 4rem; color:var(--cream); background:var(--brown-deep);
  background-size:cover; background-position:center; overflow:hidden;
}
.page-header h1, .page-header p, .page-header .badge-gold{text-shadow:0 2px 14px rgba(40,26,16,.55);}
.page-header::before{content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(74,51,33,.68),rgba(74,51,33,.32)); z-index:0;}
.page-header > *{position:relative; z-index:1;}
.breadcrumb-luxe{--bs-breadcrumb-divider:'✦'; font-size:.82rem;}
.breadcrumb-luxe a{color:var(--gold-light);}
.breadcrumb-luxe .active{color:rgba(247,240,227,.7);}

/* =========================================================================
   MISC / UTILITIES
   ========================================================================= */
.badge-gold{background:rgba(196,154,79,.15); border:1px solid rgba(196,154,79,.5); color:var(--gold-deep); font-weight:700; padding:.4rem .9rem; border-radius:30px; font-size:.72rem; letter-spacing:.05em;}
.stat-strip{border-top:1px solid var(--beige); border-bottom:1px solid var(--beige);}
.stat-item{text-align:center; padding:2.2rem 0;}
.stat-item b{font-family:var(--font-display); font-size:2.4rem; color:var(--gold-deep); display:block;}
.stat-item span{font-size:.82rem; color:#6b5744; text-transform:uppercase; letter-spacing:.05em;}

.map-frame{border:6px solid var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow-soft); overflow:hidden;}
.contact-info-card{background:var(--brown-deep); color:var(--cream); border-radius:var(--radius-md); padding:2.2rem;}
.contact-info-card .ci-row{display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(196,154,79,.18);}
.contact-info-card .ci-icon{width:44px; height:44px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; color:var(--gold-light); flex:none;}

/* reveal-on-scroll (single orchestrated entrance, IntersectionObserver-driven) */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

/* back to top */
.back-to-top{position:fixed; left:1.2rem; bottom:1.2rem; z-index:1049; width:42px; height:42px; border-radius:50%; background:var(--brown-deep); color:var(--gold-light); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all .3s var(--ease); border:1px solid var(--gold);}
.back-to-top.show{opacity:1; visibility:visible;}

/* preloader */
#preloader{position:fixed; inset:0; background:var(--brown-deep); z-index:2000; display:flex; align-items:center; justify-content:center; transition:opacity .5s ease, visibility .5s ease;}
#preloader .pl-mark{width:64px; height:64px; border:1.5px solid var(--gold); border-radius:50%; position:relative; animation:plspin 1.6s linear infinite;}
#preloader .pl-mark::after{content:"✦"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--gold-light); font-size:1.3rem;}
@keyframes plspin{to{transform:rotate(360deg);}}
#preloader.hide{opacity:0; visibility:hidden;}

@media (max-width:575.98px){
  .hero{min-height:100vh;}
  .float-actions{right:.8rem; bottom:.8rem;}
  .float-btn{width:52px; height:52px; font-size:1.3rem;}
}

/* =========================================================================
   REDESIGN ADD-ONS — image-forward mega menu, hero collage, collections,
   ornate flourishes, angled dividers  (v2)
   ========================================================================= */

/* ---------- ornate corner flourish (recurring signature motif) ---------- */
.flourish{position:relative; display:inline-block;}
.flourish::before,.flourish::after{
  content:""; position:absolute; top:-14px; width:26px; height:26px;
  border-top:1.5px solid var(--gold); opacity:.8;
}
.flourish::before{left:-34px; border-left:1.5px solid var(--gold); border-radius:8px 0 0 0;}
.flourish::after{right:-34px; border-right:1.5px solid var(--gold); border-radius:0 8px 0 0;}
.seal-motif{
  width:74px; height:74px; border-radius:50%; margin:0 auto 1.1rem;
  border:1px solid var(--gold); display:flex; align-items:center; justify-content:center;
  position:relative; color:var(--gold);
}
.seal-motif::before{content:""; position:absolute; inset:6px; border:1px solid rgba(196,154,79,.4); border-radius:50%;}
.seal-motif i{font-size:1.6rem;}

/* ---------- angled section dividers ---------- */
.angle-top{clip-path:polygon(0 3.5vw,100% 0,100% 100%,0 100%);}
.angle-bottom{clip-path:polygon(0 0,100% 0,100% calc(100% - 3.5vw),0 100%);}
.angle-both{clip-path:polygon(0 3.5vw,100% 0,100% calc(100% - 3.5vw),0 100%);}
@media (max-width:767.98px){.angle-top,.angle-bottom,.angle-both{clip-path:none;}}

/* =========================================================================
   MEGA MENU v2 — full-bleed image-tile gallery menu
   ========================================================================= */
.mega-menu-v2{
  position:absolute; left:0; right:0; top:100%;
  background:var(--brown-deep);
  background-image:
    linear-gradient(160deg,rgba(196,154,79,.10),transparent 55%),
    url('../images/textures/damask-pattern.jpg');
  background-size:auto, 260px;
  background-blend-mode:normal, overlay;
  background-repeat:no-repeat, repeat;
  border-top:1px solid rgba(196,154,79,.35);
  border-bottom:3px solid var(--gold);
  box-shadow:0 34px 70px -20px rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transform:translateY(-10px);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  padding:2.4rem 0 2.6rem;
}
@media (min-width:992px){
  .has-mega:hover .mega-menu-v2,
  .has-mega:focus-within .mega-menu-v2{opacity:1; visibility:visible; transform:translateY(0);}
}
.mm-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid rgba(196,154,79,.22);}
.mm-head .mm-title{font-family:var(--font-display); font-style:italic; color:var(--gold-light); font-size:1.4rem;}
.mm-head .mm-view-all{font-size:.78rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--beige) !important; display:inline-flex; align-items:center; gap:.4rem;}
.mm-head .mm-view-all:hover{color:var(--gold-light) !important;}

.mm-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:1rem;}
.mm-tile{
  position:relative; display:block; border-radius:var(--radius-sm); overflow:hidden;
  aspect-ratio:3/4; border:1px solid rgba(196,154,79,.28);
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.mm-tile img{width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease), filter .55s var(--ease); filter:saturate(.85) brightness(.85);}
.mm-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(40,26,16,.88) 5%,rgba(40,26,16,.1) 62%);}
.mm-tile .mm-num{position:absolute; top:.6rem; left:.65rem; z-index:2; font-family:var(--font-display); font-style:italic; font-size:.85rem; color:var(--gold-light); opacity:.85;}
.mm-tile .mm-name{position:absolute; left:.65rem; right:.55rem; bottom:.65rem; z-index:2; color:var(--cream); font-weight:700; font-size:.82rem; line-height:1.2;}
.mm-tile .mm-arrow{position:absolute; right:.55rem; bottom:.65rem; z-index:2; width:24px; height:24px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; color:var(--gold-light); font-size:.7rem; opacity:0; transform:translateX(-6px); transition:all .35s var(--ease);}
.mm-tile:hover{transform:translateY(-6px); border-color:var(--gold); box-shadow:0 18px 34px -14px rgba(0,0,0,.55);}
.mm-tile:hover img{transform:scale(1.12); filter:saturate(1) brightness(1);}
.mm-tile:hover .mm-arrow{opacity:1; transform:translateX(0);}
@media (max-width:1199.98px){.mm-grid{grid-template-columns:repeat(4,1fr);}}

.mm-promo-v2{
  margin-top:1.6rem; padding-top:1.6rem; border-top:1px dashed rgba(196,154,79,.25);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
}
.mm-promo-v2 p{color:rgba(247,240,227,.72); font-size:.88rem; margin:0; max-width:520px;}
.mm-promo-v2 .badge-gold{background:rgba(196,154,79,.16);}

/* ---------- mobile: image chips for the services submenu ---------- */
.mobile-submenu.mobile-submenu-v2 .nav-link{display:flex; align-items:center; gap:.7rem; padding:.55rem .5rem;}
.mobile-submenu.mobile-submenu-v2 .msv2-thumb{width:40px; height:40px; border-radius:6px; overflow:hidden; flex:none; border:1px solid rgba(196,154,79,.4);}
.mobile-submenu.mobile-submenu-v2 .msv2-thumb img{width:100%; height:100%; object-fit:cover;}

/* =========================================================================
   HERO COLLAGE — replaces plain slider on select layout
   ========================================================================= */
.hero-v2{
  position:relative; overflow:hidden; color:var(--cream); min-height:clamp(620px,78vh,860px);
  background-image:url('../images/services/service-interior-designer.jpg'); background-size:cover; background-position:center;
}
.interior-hero-carousel{position:absolute; inset:0; z-index:0;}
.interior-hero-carousel,.interior-hero-carousel .carousel-inner,.interior-hero-carousel .carousel-item{height:100%;}
.interior-hero-carousel .carousel-item img{width:100%; height:100%; object-fit:cover; object-position:center;}
.hero-v2::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,15,10,.84) 0%,rgba(25,15,10,.58) 42%,rgba(25,15,10,.12) 78%),linear-gradient(0deg,rgba(25,15,10,.42),transparent 42%); z-index:1; pointer-events:none;}
.hero-v2 .hero-bg-tex{position:absolute; inset:0; opacity:.06; background-image:url('../images/textures/damask-pattern.jpg'); background-size:340px; z-index:2;}
.hero-v2 .container-xl{position:relative; z-index:3;}
.interior-hero-carousel .carousel-control-prev,.interior-hero-carousel .carousel-control-next{z-index:4; width:8%; opacity:.78;}
.interior-hero-carousel .carousel-control-prev-icon,.interior-hero-carousel .carousel-control-next-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.7));}
.hero-collage{position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:1.1rem; height:100%;}
.hero-collage .hc-main{grid-row:1 / 3; position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(196,154,79,.4);}
.hero-collage .hc-main img{width:100%; height:100%; object-fit:cover;}
.hero-collage .hc-sub{position:relative; border-radius:var(--radius-md); overflow:hidden; border:1px solid rgba(196,154,79,.35);}
.hero-collage .hc-sub img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.hero-collage .hc-sub:hover img{transform:scale(1.08);}
.hero-collage .hc-badge{
  position:absolute; z-index:3; bottom:1.1rem; left:1.1rem; background:rgba(107,68,40,.55); backdrop-filter:blur(6px);
  border:1px solid rgba(196,154,79,.5); color:var(--cream); padding:.55rem .9rem; border-radius:30px; font-size:.76rem; font-weight:700; letter-spacing:.03em;
}
@media (max-width:991.98px){.hero-collage{grid-template-columns:1fr 1fr; height:420px;}}
@media (max-width:575.98px){.hero-collage{grid-template-columns:1fr; height:auto;}
  .hero-collage .hc-main{grid-row:auto; aspect-ratio:4/3;}
  .hero-collage .hc-sub{aspect-ratio:16/10;}
}

/* =========================================================================
  INTERIOR DESIGN FEATURE
  ========================================================================= */
.interior-design-section{background:var(--white);}
.interior-design-media{position:relative; padding:.75rem .75rem 0 0;}
.interior-design-media::before{content:""; position:absolute; inset:0 0 .75rem .75rem; border:1px solid var(--gold); z-index:0;}
/* .interior-design-media img{position:relative; z-index:1; display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--radius-sm);} */
.interior-design-stamp{position:absolute; z-index:2; right:-.5rem; bottom:1.1rem; background:var(--brown-deep); color:var(--cream); padding:.7rem 1rem; font-size:.78rem; font-weight:700; letter-spacing:.04em; box-shadow:0 12px 24px rgba(40,26,16,.22);}
.interior-design-stamp i{color:var(--gold-light); margin-right:.35rem;}
.interior-design-features{display:grid; gap:1rem;}
.interior-design-features > div{display:flex; align-items:flex-start; gap:.85rem;}
.interior-design-features i{width:40px; height:40px; flex:none; display:flex; align-items:center; justify-content:center; border:1px solid rgba(196,154,79,.7); border-radius:50%; color:var(--gold-deep); font-size:1.05rem;}
.interior-design-features b,.interior-design-features small{display:block;}
.interior-design-features b{color:var(--brown-deep); margin-bottom:.15rem;}
.interior-design-features small{color:#6b5744; line-height:1.45;}
@media (max-width:575.98px){.interior-design-media{padding-right:.45rem;}.interior-design-media::before{inset:0 0 .45rem .45rem;}.interior-design-stamp{right:-.2rem;}}

/* =========================================================================
   COLLECTIONS SHOWCASE — masonry image grid
   ========================================================================= */
.collections-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; grid-auto-flow:dense; gap:1rem;}
.coll-tile{position:relative; border-radius:var(--radius-md); overflow:hidden; display:block; border:1px solid rgba(196,154,79,.18);}
.coll-tile img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.coll-tile:hover img{transform:scale(1.09);}
.coll-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(40,26,16,.78) 0%,rgba(40,26,16,0) 55%);}
.coll-tile .coll-label{position:absolute; left:1rem; bottom:1rem; z-index:2; color:var(--cream);}
.coll-tile .coll-label .tag{display:block; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:.15rem;}
.coll-tile .coll-label .name{font-family:var(--font-display); font-size:1.15rem; font-weight:700;}
.coll-tile .coll-plus{position:absolute; top:.8rem; right:.8rem; z-index:2; width:32px; height:32px; border-radius:50%; background:rgba(247,240,227,.14); border:1px solid rgba(247,240,227,.4); color:var(--cream); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s var(--ease);}
.coll-tile:hover .coll-plus{opacity:1;}
.coll-span-2{grid-column:span 2;}
.coll-row-2{grid-row:span 2;}
@media (max-width:991.98px){.collections-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px;} .coll-span-2{grid-column:span 2;}}
@media (max-width:575.98px){.collections-grid{grid-template-columns:1fr; grid-auto-rows:200px;} .coll-span-2,.coll-row-2{grid-column:span 1; grid-row:span 1;}}

/* ---------- why-section with background image ---------- */
.why-section.why-v2{position:relative; background:var(--brown-deep);}
.why-section.why-v2 .why-bg{position:absolute; inset:0; background-size:cover; background-position:center; opacity:.28; z-index:0;}
.why-section.why-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, #000000 0%, rgb(0 0 0 / 95%) 40%, #000000 100%);
    z-index: 0;
}
.why-section.why-v2 > .container-xl{position:relative; z-index:1;}

/* ---------- testimonial with project thumbnail ---------- */
.testi-card.testi-v2{padding:0; overflow:hidden;}
.testi-v2 .testi-thumb{aspect-ratio:16/9; overflow:hidden;}
.testi-v2 .testi-thumb img{width:100%; height:100%; object-fit:cover;}
.testi-v2 .testi-body{padding:1.6rem;}

/* ---------- footer image strip ---------- */
.footer-strip{display:grid; grid-template-columns:repeat(6,1fr); gap:2px; line-height:0;}
.footer-strip a{display:block; aspect-ratio:1/1; overflow:hidden; position:relative;}
.footer-strip a img{width:100%; height:100%; object-fit:cover; filter:sepia(.25) saturate(1.1); transition:transform .5s var(--ease), filter .5s var(--ease);}
.footer-strip a:hover img{transform:scale(1.1); filter:sepia(0) saturate(1);}
@media (max-width:575.98px){.footer-strip{grid-template-columns:repeat(4,1fr);}}



/* Custom Css */
@media (min-width: 992px) {
    .py-lg-5 {
        padding-top: 7rem !important;
        padding-bottom: 7rem !important;
    }
}

.footer-top p.small {
    color: #fff;
}